/* ==========================================================================
   ADI YOGPEETH — SECTION 05
   CAMPUS / ACCOMMODATION / AMENITIES — PREMIUM V2
   Global design-system alignment:
   Cormorant Garamond + Manrope
   Forest / Ivory / Sand / Terracotta / Sage / Gold / Charcoal
   ========================================================================== */

.ayp-campus {
    --campus-forest: var(--color-forest, #173F35);
    --campus-ivory: var(--color-ivory, #FAF8F3);
    --campus-sand: var(--color-sand, #F4EFE6);
    --campus-terracotta: var(--color-terracotta, #B86A4B);
    --campus-sage: var(--color-sage, #829487);
    --campus-gold: var(--color-gold, #B79A63);
    --campus-charcoal: var(--color-charcoal, #252825);

    --campus-paper: var(--campus-ivory);
    --campus-deep: #12362E;
    --campus-line: rgba(183,154,99,.30);
    --campus-white: #FFFDF8;

    position: relative;
    overflow: hidden;
    background: var(--campus-paper);
    color: var(--campus-charcoal);
    font-family: var(--font-body, var(--font-body));
}

.ayp-campus *,
.ayp-campus *::before,
.ayp-campus *::after { box-sizing: border-box; }

.ayp-campus img { display:block; max-width:100%; }
.ayp-campus button,
.ayp-campus a { -webkit-tap-highlight-color:transparent; }

.ayp-campus-kicker {
    margin:0 0 9px;
    color:var(--campus-gold);
    font-family:var(--font-body, var(--font-body));
    font-size:10px;
    font-weight:800;
    letter-spacing:.18em;
    line-height:1.3;
    text-transform:uppercase;
}

/* HERO */
.ayp-campus-hero {
    position:relative;
    min-height:650px;
    display:grid;
    grid-template-columns:minmax(420px,45%) 1fr;
    isolation:isolate;
    background:var(--campus-paper);
}

.ayp-campus-hero-copy {
    position:relative;
    z-index:4;
    display:flex;
    flex-direction:column;
    justify-content:flex-start;
    align-self:stretch;
    padding:clamp(34px,4.2vw,64px) clamp(28px,5.5vw,96px) 210px;
}

.ayp-campus-eyebrow {
    display:flex;
    align-items:center;
    gap:9px;
    margin:0 0 25px;
    color:var(--campus-gold);
    font-family:var(--font-body, var(--font-body));
    font-size:10px;
    font-weight:800;
    letter-spacing:.17em;
    text-transform:uppercase;
}

.ayp-campus-eyebrow-mark { position:relative; width:20px; height:20px; }
.ayp-campus-eyebrow-mark::before,
.ayp-campus-eyebrow-mark::after {
    content:"";
    position:absolute;
    inset:3px;
    border:1px solid currentColor;
    border-radius:100% 0;
    transform:rotate(45deg);
}
.ayp-campus-eyebrow-mark::after { inset:7px 4px 1px 10px; }

.ayp-campus-hero-copy h2 {
    position:relative;
    z-index:2;
    max-width:620px;
    margin:0;
    color:var(--campus-forest);
    font-family:var(--font-display, var(--font-display));
    font-size:clamp(48px,5.4vw,86px);
    font-weight: var(--font-weight-semibold);
    letter-spacing:-.055em;
    line-height:.88;
}

.ayp-campus-hero-copy h2 em,
.ayp-campus-nearby-head h3 em {
    color:var(--campus-gold);
    font-weight: var(--font-weight-regular);
}

.ayp-campus-rule {
    display:flex;
    align-items:center;
    gap:12px;
    width:min(270px,75%);
    margin:28px 0 25px;
    color:var(--campus-gold);
}
.ayp-campus-rule span { height:1px; flex:1; background:currentColor; opacity:.75; }
.ayp-campus-rule i { font-size:15px; font-style:normal; }

.ayp-campus-intro {
    max-width:560px;
    margin:0;
    color:#46534D;
    font-family:var(--font-body, var(--font-body));
    font-size:clamp(14px,1.05vw,17px);
    line-height:1.72;
}

/* PILLARS */
.ayp-campus-pillars {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    max-width:620px;
    margin-top:38px;
    border-top:1px solid var(--campus-line);
    border-bottom:1px solid var(--campus-line);
}
.ayp-campus-pillar {
    min-width:0;
    padding:17px 13px 16px;
    text-align:center;
    border-right:1px solid var(--campus-line);
}
.ayp-campus-pillar:first-child { padding-left:0; }
.ayp-campus-pillar:last-child { padding-right:0; border-right:0; }

.ayp-campus-pillar-icon {
    display:grid;
    place-items:center;
    height:34px;
    margin-bottom:8px;
    color:var(--campus-gold);
}
.ayp-campus-pillar-icon svg {
    width:30px; height:30px; fill:none; stroke:currentColor;
    stroke-width:1.25; stroke-linecap:round; stroke-linejoin:round;
}
.ayp-campus-pillar strong {
    display:block;
    color:var(--campus-forest);
    font-family:var(--font-display, var(--font-display));
    font-size:12px;
    font-weight: var(--font-weight-semibold);
    line-height:1.25;
}

/* MANDALA */
.ayp-campus-hero-art {
    position:absolute;
    z-index:1;
    left:8%;
    top:7%;
    width:min(410px,30vw);
    color:rgba(183,154,99,.14);
    pointer-events:none;
}
.ayp-campus-hero-art svg { width:100%; height:auto; }

/* HERO IMAGE */
.ayp-campus-hero-media {
    position:relative;
    min-height:650px;
    overflow:hidden;
}
.ayp-campus-hero-media img {
    width:100%; height:100%; object-fit:cover; object-position:center;
}
.ayp-campus-hero-fade {
    position:absolute; inset:0;
    background:
        linear-gradient(90deg,var(--campus-paper) 0%,rgba(250,248,243,.72) 8%,rgba(250,248,243,0) 32%),
        linear-gradient(0deg,rgba(0,0,0,.12),transparent 25%);
    pointer-events:none;
}

/* SPACES */
.ayp-campus-spaces {
    position:relative;
    padding:46px 0 36px;
    background:
        radial-gradient(circle at 15% 15%,rgba(183,154,99,.10),transparent 28%),
        radial-gradient(circle at 88% 80%,rgba(183,154,99,.06),transparent 30%),
        linear-gradient(135deg,#12382F,#173F35 52%,#10352D);
    color:var(--campus-white);
}

.ayp-campus-section-head {
    max-width:760px;
    margin:0 auto 25px;
    padding:0 20px;
    text-align:center;
}
.ayp-campus-head-flourish {
    display:flex; align-items:center; justify-content:center; gap:11px;
    margin-bottom:9px; color:#CDB27C;
}
.ayp-campus-head-flourish i { width:65px; height:1px; background:currentColor; opacity:.58; }
.ayp-campus-head-flourish b { font-size:15px; font-weight: var(--font-weight-regular); }

.ayp-campus-section-head .ayp-campus-kicker { margin-bottom:6px; color:#CDB27C; }
.ayp-campus-section-head h3 {
    margin:0;
    color:#FFF9EF;
    font-family:var(--font-display, var(--font-display));
    font-size:clamp(28px,2.7vw,43px);
    font-weight: var(--font-weight-medium);
    letter-spacing:-.035em;
    line-height:1;
}
.ayp-campus-section-note {
    max-width:500px;
    margin:10px auto 0;
    color:rgba(255,253,247,.68);
    font-family:var(--font-body, var(--font-body));
    font-size:12px;
    line-height:1.55;
}

/* GALLERY */
.ayp-campus-slider { position:relative; width:100%; }
.ayp-campus-track-window {
    width:min(1280px,calc(100% - 130px));
    margin:0 auto;
    overflow:hidden;
}
.ayp-campus-track {
    display:flex; gap:15px; width:max-content;
    transform:translate3d(0,0,0);
    will-change:transform;
}
.ayp-campus-card {
    width:clamp(225px,19vw,285px);
    flex:0 0 clamp(225px,19vw,285px);
    overflow:hidden;
    border:1px solid rgba(183,154,99,.72);
    border-radius:12px;
    background:var(--campus-paper);
    color:var(--campus-charcoal);
    box-shadow:0 15px 35px rgba(0,0,0,.20);
}
.ayp-campus-card-image { position:relative; height:clamp(180px,15vw,225px); overflow:hidden; background:#D8D0BD; }
.ayp-campus-card-image img {
    width:100%; height:100%; object-fit:cover;
    transition:transform .65s cubic-bezier(.2,.7,.2,1);
}
.ayp-campus-card:hover .ayp-campus-card-image img { transform:scale(1.045); }

.ayp-campus-card-type {
    position:absolute; left:10px; top:10px;
    padding:5px 8px;
    border:1px solid rgba(255,255,255,.55);
    border-radius:100px;
    background:rgba(23,63,53,.78);
    color:#FFF9ED;
    font-family:var(--font-body, var(--font-body));
    font-size:7px; font-weight:800; letter-spacing:.13em;
    text-transform:uppercase; backdrop-filter:blur(5px);
}
.ayp-campus-card-body {
    min-height:62px;
    display:flex; align-items:center; justify-content:space-between; gap:10px;
    padding:12px 15px;
}
.ayp-campus-card-body h4 {
    margin:0;
    color:var(--campus-forest);
    font-family:var(--font-display, var(--font-display));
    font-size:18px; font-weight: var(--font-weight-semibold); line-height:1.12;
}
.ayp-campus-card-arrow { flex:0 0 auto; color:var(--campus-gold); font-size:19px; }

/* CONTROLS */
.ayp-campus-arrow {
    position:absolute; z-index:5; top:50%;
    width:43px; height:43px;
    display:grid; place-items:center;
    transform:translateY(-50%);
    border:1px solid var(--campus-gold);
    border-radius:50%;
    background:rgba(18,56,47,.22);
    color:#D4BC88;
    cursor:pointer;
    transition:background .2s ease,color .2s ease,transform .2s ease;
}
.ayp-campus-arrow:hover { background:var(--campus-gold); color:var(--campus-forest); }
.ayp-campus-arrow:focus-visible,
.ayp-campus-autoplay:focus-visible,
.ayp-campus-dot:focus-visible,
.ayp-campus-button:focus-visible {
    outline:2px solid var(--campus-gold);
    outline-offset:3px;
}
.ayp-campus-arrow span { font-size:22px; line-height:1; }
.ayp-campus-arrow-prev { left:17px; }
.ayp-campus-arrow-next { right:17px; }

.ayp-campus-slider-meta {
    width:min(1280px,calc(100% - 130px));
    margin:15px auto 0;
    display:flex; align-items:center; justify-content:center; gap:22px;
}
.ayp-campus-dots { display:flex; align-items:center; justify-content:center; gap:7px; }
.ayp-campus-dot {
    width:7px; height:7px; padding:0; border:0; border-radius:50%;
    background:rgba(255,255,255,.35); cursor:pointer;
}
.ayp-campus-dot.is-active {
    width:9px; height:9px; background:#D4BC88;
    box-shadow:0 0 0 3px rgba(183,154,99,.14);
}
.ayp-campus-autoplay {
    display:inline-flex; align-items:center; gap:6px; padding:0;
    border:0; background:none; color:rgba(255,253,247,.58);
    font-family:var(--font-body, var(--font-body));
    font-size:9px; letter-spacing:.08em; text-transform:uppercase; cursor:pointer;
}
.ayp-campus-autoplay-icon { color:#D4BC88; }

/* NEARBY */
.ayp-campus-nearby {
    position:relative;
    overflow:hidden;
    padding:50px 20px 39px;
    background:
        linear-gradient(
            180deg,
            #F7F3EA 0%,
            #FBF9F4 100%
        );
    text-align:center;
}

.ayp-campus-nearby-head {
    position:relative;
    z-index:2;
    max-width:680px;
    margin:0 auto 28px;
}

.ayp-campus-nearby-head .ayp-campus-kicker {
    margin-bottom:7px;
}

.ayp-campus-nearby-head h3 {
    margin:0;
    color:var(--campus-forest);
    font-family:var(--font-display,var(--font-display));
    font-size:clamp(29px,2.8vw,44px);
    font-weight: var(--font-weight-medium);
    letter-spacing:-.035em;
    line-height:1.02;
}

.ayp-campus-nearby-head > p:last-child {
    max-width:550px;
    margin:11px auto 0;
    color:#5A655F;
    font-family:var(--font-body,var(--font-body));
    font-size:12px;
    line-height:1.55;
}


/* Four independent glass cards */
.ayp-campus-nearby-grid {
    position:relative;
    z-index:2;
    width:min(1080px,100%);
    margin:0 auto;
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:18px;
    border:0;
}

.ayp-campus-nearby-item {
    position:relative;
    min-height:175px;
    padding:25px 18px 21px;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    border:1px solid rgba(255,255,255,.92);
    border-radius:18px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.88),
            rgba(255,255,255,.58)
        );

    box-shadow:
        0 18px 38px rgba(23,63,53,.09),
        0 5px 15px rgba(23,63,53,.05),
        inset 0 1px 0 rgba(255,255,255,.98);

    -webkit-backdrop-filter:blur(17px) saturate(120%);
    backdrop-filter:blur(17px) saturate(120%);

    overflow:hidden;

    transition:
        transform .25s cubic-bezier(.2,.7,.2,1),
        box-shadow .25s ease,
        border-color .25s ease;
}

.ayp-campus-nearby-item::before {
    content:"";
    position:absolute;
    top:0;
    left:22%;
    right:22%;
    height:2px;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(183,154,99,.68),
        transparent
    );
}

.ayp-campus-nearby-item::after {
    content:"";
    position:absolute;
    width:125px;
    height:125px;
    top:-72px;
    right:-48px;
    border-radius:50%;
    background:rgba(255,255,255,.40);
    pointer-events:none;
}

.ayp-campus-nearby-item:hover {
    transform:translateY(-6px);
    border-color:rgba(183,154,99,.35);
    box-shadow:
        0 25px 48px rgba(23,63,53,.13),
        0 8px 20px rgba(23,63,53,.07),
        inset 0 1px 0 rgba(255,255,255,1);
}

.ayp-campus-nearby-item:last-child {
    border-right:1px solid rgba(255,255,255,.92);
}

.ayp-campus-nearby-icon {
    position:relative;
    z-index:2;
    width:46px;
    height:46px;
    margin:0 auto 11px;
    display:grid;
    place-items:center;

    border:1px solid rgba(183,154,99,.48);
    border-radius:50%;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.92),
            rgba(247,243,234,.66)
        );

    color:var(--campus-gold);

    box-shadow:
        0 7px 16px rgba(23,63,53,.07),
        inset 0 1px 0 rgba(255,255,255,.98);
}

.ayp-campus-nearby-icon svg {
    width:25px;
    height:25px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.35;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.ayp-campus-nearby-item h4 {
    position:relative;
    z-index:2;
    margin:0 0 5px;
    color:var(--campus-forest);
    font-family:var(--font-display,var(--font-display));
    font-size:20px;
    font-weight: var(--font-weight-semibold);
}

.ayp-campus-nearby-item p {
    position:relative;
    z-index:2;
    max-width:205px;
    margin:0 auto;
    color:#5A655F;
    font-family:var(--font-body,var(--font-body));
    font-size:11px;
    line-height:1.45;
}

/* DECOR */
.ayp-campus-nearby-art {
    position:absolute; z-index:1; width:150px;
    color:rgba(183,154,99,.12); pointer-events:none;
}
.ayp-campus-nearby-art svg { width:100%; height:auto; fill:none; stroke:currentColor; stroke-width:1; }
.ayp-campus-nearby-art-left { left:-45px; bottom:-45px; }
.ayp-campus-nearby-art-right { right:-45px; top:-25px; transform:scaleX(-1); }

/* CTA */
.ayp-campus-nearby-cta {
    position:relative; z-index:3; width:100%;
    display:flex; align-items:center; justify-content:center;
    margin:27px auto 0; text-align:center;
}
.ayp-campus-nearby-cta .ayp-campus-button {
    display:inline-flex; align-items:center; justify-content:center; gap:22px;
    min-width:235px; min-height:45px; margin:0 auto; padding:11px 22px;
    border:1px solid var(--campus-forest); border-radius:6px;
    background:var(--campus-forest); color:#FFFDF7;
    font-family:var(--font-body, var(--font-body));
    font-size:10px; font-weight:800; letter-spacing:.1em;
    text-decoration:none; text-transform:uppercase;
    box-shadow:0 8px 22px rgba(23,63,53,.12);
    transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.ayp-campus-nearby-cta .ayp-campus-button:hover {
    background:var(--campus-gold); border-color:var(--campus-gold);
    color:var(--campus-forest); transform:translateY(-2px);
    box-shadow:0 10px 25px rgba(23,63,53,.18);
}
.ayp-campus-nearby-cta .ayp-campus-button span { color:#D4BC88; font-size:18px; line-height:1; }
.ayp-campus-nearby-cta .ayp-campus-button:hover span { color:var(--campus-forest); }

/* 1280 LAPTOP */
@media (min-width:901px) and (max-width:1300px) {
    .ayp-campus-hero { min-height:560px; grid-template-columns:minmax(380px,45%) 1fr; }
    .ayp-campus-hero-media { min-height:560px; }
    .ayp-campus-hero-copy { padding:45px 42px; }
    .ayp-campus-hero-copy h2 { font-size:clamp(46px,5.1vw,70px); }
    .ayp-campus-intro { font-size:13px; line-height:1.62; }
    .ayp-campus-pillars { margin-top:28px; }
    .ayp-campus-spaces { padding-top:38px; padding-bottom:31px; }
    .ayp-campus-section-head { margin-bottom:21px; }
    .ayp-campus-section-head h3 { font-size:38px; }
    .ayp-campus-section-note { margin-top:8px; }
    .ayp-campus-track-window { width:calc(100% - 120px); }
    .ayp-campus-card { width:235px; flex-basis:235px; }
    .ayp-campus-card-image { height:195px; }
    .ayp-campus-card-body { min-height:59px; padding:11px 14px; }
    .ayp-campus-card-body h4 { font-size:17px; }
    .ayp-campus-arrow-prev { left:14px; }
    .ayp-campus-arrow-next { right:14px; }
    .ayp-campus-slider-meta { width:calc(100% - 120px); margin-top:12px; }
    .ayp-campus-nearby { padding-top:42px; padding-bottom:33px; }
    .ayp-campus-nearby-head { margin-bottom:23px; }
    .ayp-campus-nearby-head h3 { font-size:38px; }
    .ayp-campus-nearby-grid { width:min(1020px,100%); gap:15px; }
    .ayp-campus-nearby-item { min-height:158px; padding:16px 14px 14px; }
    .ayp-campus-nearby-icon { width:42px; height:42px; margin-bottom:8px; }
    .ayp-campus-nearby-icon svg { width:23px; height:23px; }
    .ayp-campus-nearby-item h4 { font-size:19px; }
    .ayp-campus-nearby-item p { font-size:10px; line-height:1.4; }
    .ayp-campus-nearby-cta { padding-bottom:15px; }
    .ayp-campus-nearby-cta .ayp-campus-button { min-width:220px; min-height:42px; padding:10px 20px; font-size:9px; }
}

/* TABLET / MOBILE */
@media (max-width:900px) {
    .ayp-campus-hero { min-height:auto; display:flex; flex-direction:column; }
    .ayp-campus-hero-copy { order:1; min-height:510px; padding:55px 22px 38px; }
    .ayp-campus-hero-media { order:2; min-height:330px; height:330px; }
    .ayp-campus-hero-fade {
        background:
            linear-gradient(180deg,var(--campus-paper) 0%,rgba(250,248,243,0) 27%),
            linear-gradient(0deg,rgba(0,0,0,.18),transparent 35%);
    }
    .ayp-campus-hero-art { top:2%; left:30%; width:290px; opacity:.7; }
    .ayp-campus-eyebrow { margin-bottom:20px; }
    .ayp-campus-hero-copy h2 { max-width:360px; font-size:clamp(50px,14vw,72px); line-height:.88; }
    .ayp-campus-rule { margin:22px 0 19px; }
    .ayp-campus-intro { max-width:520px; font-size:13px; line-height:1.68; }
    .ayp-campus-pillars { margin-top:27px; }
    .ayp-campus-pillar { padding:13px 5px 12px; }
    .ayp-campus-pillar-icon { height:28px; margin-bottom:5px; }
    .ayp-campus-pillar-icon svg { width:25px; height:25px; }
    .ayp-campus-pillar strong { font-size:10px; }

    .ayp-campus-spaces { padding:38px 0 34px; }
    .ayp-campus-section-head { margin-bottom:22px; }
    .ayp-campus-section-head h3 { font-size:clamp(27px,8vw,38px); line-height:1.02; }
    .ayp-campus-section-note { padding:0 14px; margin-top:8px; font-size:11px; }
    .ayp-campus-slider { padding:0 0 1px; }
    .ayp-campus-track-window { width:100%; padding:0 22px; overflow:hidden; touch-action:pan-y; }
    .ayp-campus-track { gap:12px; }
    .ayp-campus-card { width:calc(100vw - 72px); max-width:365px; flex-basis:calc(100vw - 72px); border-radius:13px; }
    .ayp-campus-card-image { height:225px; }
    .ayp-campus-card-body { min-height:62px; padding:11px 14px; }
    .ayp-campus-card-body h4 { font-size:18px; }

    .ayp-campus-arrow { width:42px; height:42px; top:auto; bottom:-65px; transform:none; }
    .ayp-campus-arrow-prev { left:22px; }
    .ayp-campus-arrow-next { right:22px; }
    .ayp-campus-slider-meta { width:100%; min-height:43px; margin-top:14px; padding:0 22px; justify-content:center; }
    .ayp-campus-autoplay { position:absolute; right:22px; min-height:44px; }

    .ayp-campus-nearby { padding:43px 18px 35px; }
    .ayp-campus-nearby-head { margin-bottom:23px; }
    .ayp-campus-nearby-head h3 { font-size:clamp(28px,8vw,39px); }
    .ayp-campus-nearby-head > p:last-child { margin-top:9px; font-size:11px; line-height:1.5; }
    .ayp-campus-nearby-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
    .ayp-campus-nearby-item { min-height:155px; padding:17px 12px 15px; }
    .ayp-campus-nearby-item:nth-child(2),
    .ayp-campus-nearby-item:nth-child(4) { border-right:1px solid rgba(255,255,255,.92); }
    .ayp-campus-nearby-item:nth-child(-n+2) { border-bottom:0; }
    .ayp-campus-nearby-icon { width:43px; height:43px; margin-bottom:9px; }
    .ayp-campus-nearby-item h4 { margin-bottom:4px; font-size:18px; }
    .ayp-campus-nearby-item p { font-size:10px; line-height:1.42; }
    .ayp-campus-nearby-cta { width:100%; margin:22px auto 0; justify-content:center; }
    .ayp-campus-nearby-cta .ayp-campus-button { min-width:210px; min-height:44px; }
}

@media (max-width:480px) {
    .ayp-campus-hero-copy { min-height:485px; padding:47px 18px 30px; }
    .ayp-campus-hero-copy h2 { font-size:52px; }
    .ayp-campus-pillars { grid-template-columns:repeat(4,1fr); margin-top:23px; }
    .ayp-campus-pillar strong { font-family:var(--font-body, var(--font-body)); font-size:8px; font-weight: var(--font-weight-bold); }
    .ayp-campus-pillar-icon svg { width:22px; height:22px; }
    .ayp-campus-hero-media { height:285px; min-height:285px; }

    .ayp-campus-spaces { padding:34px 0 30px; }
    .ayp-campus-section-head { margin-bottom:20px; }
    .ayp-campus-section-head h3 { font-size:30px; }
    .ayp-campus-section-note { font-size:10.5px; }
    .ayp-campus-track-window { padding:0 18px; }
    .ayp-campus-card { width:calc(100vw - 50px); flex-basis:calc(100vw - 50px); }
    .ayp-campus-card-image { height:215px; }
    .ayp-campus-card-body { min-height:60px; }
    .ayp-campus-arrow-prev { left:13px; }
    .ayp-campus-arrow-next { right:13px; }
    .ayp-campus-autoplay { right:18px; }

    .ayp-campus-nearby { padding:38px 12px 32px; }
    .ayp-campus-nearby-head { margin-bottom:20px; }
    .ayp-campus-nearby-head h3 { font-size:30px; }
    .ayp-campus-nearby-grid { grid-template-columns:1fr; gap:10px; }
    .ayp-campus-nearby-item,
    .ayp-campus-nearby-item:nth-child(-n+2) {
        min-height:145px;
        padding:15px 12px;
        border-right:1px solid rgba(255,255,255,.92);
        border-bottom:1px solid rgba(255,255,255,.92);
    }
    .ayp-campus-nearby-item:last-child { border-bottom:1px solid rgba(255,255,255,.92); }
    .ayp-campus-nearby-cta { margin-top:20px; }
    .ayp-campus-nearby-cta .ayp-campus-button { min-width:205px; min-height:44px; }
}

@media (max-width:360px) {
    .ayp-campus-hero-copy { min-height:460px; }
    .ayp-campus-hero-copy h2 { font-size:47px; }
    .ayp-campus-intro { font-size:12px; }
    .ayp-campus-pillar strong { font-size:7px; }
    .ayp-campus-card { width:calc(100vw - 42px); flex-basis:calc(100vw - 42px); }
    .ayp-campus-card-image { height:200px; }
    .ayp-campus-nearby-head h3 { font-size:27px; }
    .ayp-campus-nearby-cta .ayp-campus-button { min-width:195px; padding-left:17px; padding-right:17px; font-size:9px; }
}

@media (prefers-reduced-motion:reduce) {
    .ayp-campus-track,
    .ayp-campus-card-image img,
    .ayp-campus-button,
    .ayp-campus-nearby-item { transition:none !important; }
    .ayp-campus-card:hover .ayp-campus-card-image img { transform:none; }
}

/* ========================================================================== 
   FACILITIES / AMENITIES — FULL-WIDTH GLASS OVERLAY
   Replaces the four hero pillars without changing the main hero layout.
   ========================================================================== */

.ayp-campus-amenities {
    position: absolute;
    z-index: 10;
    left: 0;
    right: 0;
    bottom: 22px;
    padding: 0 24px;
    pointer-events: none;
}

.ayp-campus-amenities-inner {
    width: min(1360px, 100%);
    margin: 0 auto;
    padding: 18px 20px 20px;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 18px;
    background:
        linear-gradient(135deg,
            rgba(18, 54, 46, .78),
            rgba(23, 63, 53, .60));
    box-shadow:
        0 18px 55px rgba(0, 0, 0, .18),
        inset 0 1px 0 rgba(255, 255, 255, .22);
    -webkit-backdrop-filter: blur(18px) saturate(125%);
    backdrop-filter: blur(18px) saturate(125%);
    pointer-events: auto;
}

.ayp-campus-amenities-heading {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 14px;
    padding-bottom: 13px;
    border-bottom: 1px solid rgba(255, 255, 255, .18);
}

.ayp-campus-amenities-kicker {
    flex: 0 0 auto;
    color: #D4BC88;
    font-family: var(--font-body, var(--font-body));
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}

.ayp-campus-amenities-heading h3 {
    margin: 0;
    color: #FFFDF7;
    font-family: var(--font-display, var(--font-display));
    font-size: 25px;
    font-weight: var(--font-weight-medium);
    letter-spacing: -.025em;
    line-height: 1;
}

.ayp-campus-amenities-heading p {
    margin: 0 0 0 auto;
    color: rgba(255, 253, 247, .70);
    font-family: var(--font-body, var(--font-body));
    font-size: 10px;
    line-height: 1.45;
    text-align: right;
}

.ayp-campus-amenities-grid {
    display: grid;
    grid-template-columns: repeat(8, minmax(0, 1fr));
}

.ayp-campus-amenity {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 66px;
    padding: 7px 13px;
    border-right: 1px solid rgba(255, 255, 255, .14);
    transition: background .2s ease, transform .2s ease;
}

.ayp-campus-amenity:first-child { padding-left: 4px; }
.ayp-campus-amenity:last-child {
    padding-right: 4px;
    border-right: 0;
}

.ayp-campus-amenity:hover {
    background: rgba(255, 255, 255, .055);
    transform: translateY(-1px);
}

.ayp-campus-amenity-icon {
    flex: 0 0 38px;
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(212, 188, 136, .75);
    border-radius: 50%;
    background: rgba(255, 255, 255, .055);
    color: #D4BC88;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .12);
}

.ayp-campus-amenity-icon svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.35;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.ayp-campus-amenity-copy {
    min-width: 0;
    display: block;
}

.ayp-campus-amenity-copy strong {
    display: block;
    color: #FFFDF7;
    font-family: var(--font-body, var(--font-body));
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .045em;
    line-height: 1.3;
}

.ayp-campus-amenity-copy small {
    display: block;
    margin-top: 3px;
    color: rgba(255, 253, 247, .58);
    font-family: var(--font-body, var(--font-body));
    font-size: 7.5px;
    line-height: 1.35;
}

/* Give the photograph a little more vertical presence behind the overlay. */
.ayp-campus-hero-media {
    min-height: 720px;
}

.ayp-campus-hero {
    min-height: 720px;
}

@media (min-width: 901px) and (max-width: 1300px) {
    .ayp-campus-hero,
    .ayp-campus-hero-media { min-height: 650px; }

    .ayp-campus-amenities { padding: 0 18px; bottom: 18px; }
    .ayp-campus-amenities-inner { padding: 15px 15px 16px; }
    .ayp-campus-amenities-heading { gap: 13px; margin-bottom: 10px; padding-bottom: 10px; }
    .ayp-campus-amenities-heading h3 { font-size: 22px; }
    .ayp-campus-amenities-heading p { font-size: 9px; }
    .ayp-campus-amenity { gap: 7px; min-height: 59px; padding: 5px 8px; }
    .ayp-campus-amenity-icon { flex-basis: 31px; width: 31px; height: 31px; }
    .ayp-campus-amenity-icon svg { width: 17px; height: 17px; }
    .ayp-campus-amenity-copy strong { font-size: 7.5px; }
    .ayp-campus-amenity-copy small { display: none; }
}

@media (max-width: 900px) {
    .ayp-campus-hero,
    .ayp-campus-hero-media { min-height: 640px; }

    .ayp-campus-amenities {
        bottom: 16px;
        padding: 0 14px;
    }

    .ayp-campus-amenities-inner {
        padding: 14px 12px 12px;
        border-radius: 15px;
    }

    .ayp-campus-amenities-heading {
        display: block;
        margin-bottom: 10px;
        padding-bottom: 9px;
    }

    .ayp-campus-amenities-kicker { display: block; margin-bottom: 5px; }
    .ayp-campus-amenities-heading h3 { font-size: 23px; }
    .ayp-campus-amenities-heading p {
        margin: 5px 0 0;
        max-width: 390px;
        font-size: 9px;
        text-align: left;
    }

    .ayp-campus-amenities-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .ayp-campus-amenity {
        min-height: 61px;
        padding: 7px 8px;
    }

    .ayp-campus-amenity:nth-child(4) { border-right: 0; }
    .ayp-campus-amenity:nth-child(-n + 4) {
        border-bottom: 1px solid rgba(255, 255, 255, .14);
    }

    .ayp-campus-amenity-icon {
        flex-basis: 32px;
        width: 32px;
        height: 32px;
    }

    .ayp-campus-amenity-icon svg { width: 18px; height: 18px; }
    .ayp-campus-amenity-copy strong { font-size: 7.5px; }
    .ayp-campus-amenity-copy small { display: none; }
}

@media (max-width: 480px) {
    .ayp-campus-hero,
    .ayp-campus-hero-media { min-height: 610px; }

    .ayp-campus-amenities {
        bottom: 12px;
        padding: 0 10px;
    }

    .ayp-campus-amenities-inner {
        padding: 11px 9px 9px;
        border-radius: 13px;
    }

    .ayp-campus-amenities-heading { margin-bottom: 7px; padding-bottom: 7px; }
    .ayp-campus-amenities-heading h3 { font-size: 20px; }
    .ayp-campus-amenities-heading p { font-size: 8px; }

    .ayp-campus-amenity {
        min-height: 55px;
        gap: 5px;
        padding: 5px 5px;
    }

    .ayp-campus-amenity:first-child { padding-left: 2px; }
    .ayp-campus-amenity:last-child { padding-right: 2px; }

    .ayp-campus-amenity-icon {
        flex-basis: 27px;
        width: 27px;
        height: 27px;
    }

    .ayp-campus-amenity-icon svg { width: 15px; height: 15px; }
    .ayp-campus-amenity-copy strong { font-size: 6.5px; letter-spacing: .02em; }
}

@media (prefers-reduced-motion: reduce) {
    .ayp-campus-amenity { transition: none; }
}


/* ==========================================================================
   FACILITIES / AMENITIES — FULL-WIDTH WHITE GLASS OVERLAY
   ========================================================================== */

.ayp-campus-amenities {
    position:absolute;
    z-index:10;
    left:0;
    right:0;
    bottom:22px;
    padding:0 24px;
    pointer-events:none;
}

.ayp-campus-amenities-inner {
    position:relative;
    width:min(1360px,100%);
    margin:0 auto;
    padding:18px 20px 20px;

    border:1px solid rgba(255,255,255,.90);
    border-radius:18px;

    background:
        linear-gradient(
            135deg,
            rgba(255,255,255,.94),
            rgba(250,248,243,.78)
        );

    box-shadow:
        0 22px 55px rgba(18,54,46,.16),
        0 8px 22px rgba(18,54,46,.08),
        inset 0 1px 0 rgba(255,255,255,.98);

    -webkit-backdrop-filter:blur(20px) saturate(125%);
    backdrop-filter:blur(20px) saturate(125%);

    pointer-events:auto;
}

.ayp-campus-amenities-inner::before {
    content:"";
    position:absolute;
    top:0;
    left:7%;
    right:7%;
    height:1px;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(183,154,99,.70),
        transparent
    );
}

.ayp-campus-amenities-heading {
    display:flex;
    align-items:center;
    gap:18px;
    margin-bottom:14px;
    padding-bottom:13px;
    border-bottom:1px solid rgba(23,63,53,.12);
}

.ayp-campus-amenities-kicker {
    flex:0 0 auto;
    color:#A58243;
    font-family:var(--font-body,var(--font-body));
    font-size:8px;
    font-weight:800;
    letter-spacing:.16em;
    text-transform:uppercase;
}

.ayp-campus-amenities-heading h3 {
    margin:0;
    color:#173F35;
    font-family:var(--font-display,var(--font-display));
    font-size:25px;
    font-weight: var(--font-weight-medium);
    letter-spacing:-.025em;
    line-height:1;
}

.ayp-campus-amenities-heading p {
    margin:0 0 0 auto;
    color:rgba(37,40,37,.62);
    font-family:var(--font-body,var(--font-body));
    font-size:10px;
    line-height:1.45;
    text-align:right;
}

.ayp-campus-amenities-grid {
    display:grid;
    grid-template-columns:repeat(8,minmax(0,1fr));
}

.ayp-campus-amenity {
    min-width:0;
    display:flex;
    align-items:center;
    gap:10px;
    min-height:66px;
    padding:7px 13px;
    border-right:1px solid rgba(23,63,53,.11);
    transition:background .2s ease,transform .2s ease;
}

.ayp-campus-amenity:first-child {
    padding-left:4px;
}

.ayp-campus-amenity:last-child {
    padding-right:4px;
    border-right:0;
}

.ayp-campus-amenity:hover {
    background:rgba(255,255,255,.55);
    transform:translateY(-1px);
}

.ayp-campus-amenity-icon {
    flex:0 0 38px;
    width:38px;
    height:38px;
    display:grid;
    place-items:center;

    border:1px solid rgba(165,130,67,.48);
    border-radius:50%;

    background:rgba(255,255,255,.62);
    color:#A58243;

    box-shadow:
        0 5px 13px rgba(23,63,53,.07),
        inset 0 1px 0 rgba(255,255,255,.95);
}

.ayp-campus-amenity-icon svg {
    width:21px;
    height:21px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.35;
    stroke-linecap:round;
    stroke-linejoin:round;
}

.ayp-campus-amenity-copy {
    min-width:0;
    display:block;
}

.ayp-campus-amenity-copy strong {
    display:block;
    color:#173F35;
    font-family:var(--font-body,var(--font-body));
    font-size:9px;
    font-weight:800;
    letter-spacing:.045em;
    line-height:1.3;
}

.ayp-campus-amenity-copy small {
    display:block;
    margin-top:3px;
    color:rgba(37,40,37,.56);
    font-family:var(--font-body,var(--font-body));
    font-size:7.5px;
    line-height:1.35;
}


/* More image visible behind the glass panel */
.ayp-campus-hero,
.ayp-campus-hero-media {
    min-height:720px;
}


@media (min-width:901px) and (max-width:1300px) {

    .ayp-campus-hero-copy {
        padding:42px 42px 190px;
    }

    .ayp-campus-hero,
    .ayp-campus-hero-media {
        min-height:650px;
    }

    .ayp-campus-amenities {
        padding:0 18px;
        bottom:18px;
    }

    .ayp-campus-amenities-inner {
        padding:15px 15px 16px;
    }

    .ayp-campus-amenities-heading {
        gap:13px;
        margin-bottom:10px;
        padding-bottom:10px;
    }

    .ayp-campus-amenities-heading h3 {
        font-size:22px;
    }

    .ayp-campus-amenities-heading p {
        font-size:9px;
    }

    .ayp-campus-amenity {
        gap:7px;
        min-height:59px;
        padding:5px 8px;
    }

    .ayp-campus-amenity-icon {
        flex-basis:31px;
        width:31px;
        height:31px;
    }

    .ayp-campus-amenity-icon svg {
        width:17px;
        height:17px;
    }

    .ayp-campus-amenity-copy strong {
        font-size:7.5px;
    }

    .ayp-campus-amenity-copy small {
        display:none;
    }
}


@media (max-width:900px) {

    .ayp-campus-hero-copy {
        justify-content:flex-start;
        min-height:510px;
        padding:42px 22px 205px;
    }

    .ayp-campus-hero,
    .ayp-campus-hero-media {
        min-height:640px;
    }

    .ayp-campus-amenities {
        bottom:16px;
        padding:0 14px;
    }

    .ayp-campus-amenities-inner {
        padding:14px 12px 12px;
        border-radius:15px;
    }

    .ayp-campus-amenities-heading {
        display:block;
        margin-bottom:10px;
        padding-bottom:9px;
    }

    .ayp-campus-amenities-kicker {
        display:block;
        margin-bottom:5px;
    }

    .ayp-campus-amenities-heading h3 {
        font-size:23px;
    }

    .ayp-campus-amenities-heading p {
        margin:5px 0 0;
        max-width:390px;
        font-size:9px;
        text-align:left;
    }

    .ayp-campus-amenities-grid {
        grid-template-columns:repeat(4,minmax(0,1fr));
    }

    .ayp-campus-amenity {
        min-height:61px;
        padding:7px 8px;
    }

    .ayp-campus-amenity:nth-child(4) {
        border-right:0;
    }

    .ayp-campus-amenity:nth-child(-n+4) {
        border-bottom:1px solid rgba(23,63,53,.11);
    }

    .ayp-campus-amenity-icon {
        flex-basis:32px;
        width:32px;
        height:32px;
    }

    .ayp-campus-amenity-icon svg {
        width:18px;
        height:18px;
    }

    .ayp-campus-amenity-copy strong {
        font-size:7.5px;
    }

    .ayp-campus-amenity-copy small {
        display:none;
    }
}


@media (max-width:480px) {

    .ayp-campus-hero-copy {
        min-height:485px;
        padding:36px 18px 210px;
    }

    .ayp-campus-hero,
    .ayp-campus-hero-media {
        min-height:610px;
    }

    .ayp-campus-amenities {
        bottom:12px;
        padding:0 10px;
    }

    .ayp-campus-amenities-inner {
        padding:11px 9px 9px;
        border-radius:13px;
    }

    .ayp-campus-amenities-heading {
        margin-bottom:7px;
        padding-bottom:7px;
    }

    .ayp-campus-amenities-heading h3 {
        font-size:20px;
    }

    .ayp-campus-amenities-heading p {
        font-size:8px;
    }

    .ayp-campus-amenity {
        min-height:55px;
        gap:5px;
        padding:5px;
    }

    .ayp-campus-amenity:first-child {
        padding-left:2px;
    }

    .ayp-campus-amenity:last-child {
        padding-right:2px;
    }

    .ayp-campus-amenity-icon {
        flex-basis:27px;
        width:27px;
        height:27px;
    }

    .ayp-campus-amenity-icon svg {
        width:15px;
        height:15px;
    }

    .ayp-campus-amenity-copy strong {
        font-size:6.5px;
        letter-spacing:.02em;
    }
}


@media (prefers-reduced-motion:reduce) {
    .ayp-campus-amenity {
        transition:none;
    }
}

