/* facilities.css */
.facilities-page{background:#f5f8fd;color:#0b2a50}.facilities-page main{overflow:hidden}
.facilities-hero{position:relative;min-height:720px;color:#fff;overflow:hidden;background:#061a39}.facilities-hero__image{position:absolute;inset:0;background:url('../img/facilities/college-building.jpg') center/cover no-repeat;transform:scale(1.03)}.facilities-hero__shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,19,43,.96) 0%,rgba(4,28,61,.88) 40%,rgba(5,52,88,.62) 70%,rgba(5,91,104,.50) 100%)}.facilities-hero__grid{position:absolute;inset:0;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.08) 1px,transparent 1px);background-size:44px 44px}
.facilities-hero__inner{position:relative;z-index:2;min-height:720px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:52px;padding:65px 0}.facilities-kicker{display:inline-flex;align-items:center;gap:10px;color:#c9eff7;font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.facilities-kicker i{width:32px;height:3px;border-radius:3px;background:#55e0ee}.facilities-hero h1{margin:18px 0 20px;max-width:800px;font-size:clamp(52px,6vw,84px);line-height:.95;letter-spacing:-.055em;font-weight:950}.facilities-hero h1 span{background:linear-gradient(90deg,#6be8ff,#5ce7d1,#9a85ff,#ff7bc5);-webkit-background-clip:text;background-clip:text;color:transparent}.facilities-hero__copy>p{max-width:740px;margin:0;color:#d6e4ef;font-size:19px;line-height:1.72}.facilities-hero__actions{display:flex;gap:11px;flex-wrap:wrap;margin-top:30px}.facilities-hero__facts{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.facilities-hero__facts span{min-width:150px;padding:13px 15px;border-radius:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(10px)}.facilities-hero__facts strong,.facilities-hero__facts b{display:block}.facilities-hero__facts strong{font-size:24px;color:#6ce9f0}.facilities-hero__facts b{margin-top:3px;color:#dceaf3;font-size:12px;line-height:1.35;font-weight:700}
.facilities-hero__mosaic{display:grid;grid-template-columns:1fr 1fr;gap:13px}.mosaic-card{margin:0;overflow:hidden;border-radius:24px;border:1px solid rgba(255,255,255,.18);box-shadow:0 20px 50px rgba(0,0,0,.22);background:rgba(255,255,255,.08)}.mosaic-card img{display:block;width:100%;height:220px;object-fit:cover}.mosaic-card--a{transform:translateY(28px)}.mosaic-card--b{transform:translateY(-8px)}.mosaic-card--c{transform:translateY(-8px)}.mosaic-card--d{transform:translateY(28px)}
.facilities-intro{background:#fff}.facilities-intro__grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:50px;align-items:center}.facility-pill-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.facility-pill-grid span{min-height:92px;display:flex;align-items:center;padding:18px 20px;border:1px solid #dce7f2;border-radius:20px;background:#f8fbff;font-weight:800;line-height:1.35;box-shadow:0 8px 22px rgba(17,52,98,.04)}
.facility-gallery{background:#f5f8fd}.gallery-filters{display:flex;gap:9px;flex-wrap:wrap;margin:28px 0}.gallery-filters button{border:1px solid #d5e2ef;background:#fff;color:#32526f;border-radius:999px;padding:10px 15px;font-weight:800;cursor:pointer;transition:.2s}.gallery-filters button:hover,.gallery-filters button.is-active{background:#0f67dd;color:#fff;border-color:#0f67dd;box-shadow:0 8px 22px rgba(15,103,221,.18)}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.gallery-card{position:relative;overflow:hidden;min-height:270px;border-radius:22px;background:#dbe8f4;cursor:pointer;box-shadow:0 12px 30px rgba(15,47,82,.08)}.gallery-card img{display:block;width:100%;height:100%;min-height:270px;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}.gallery-card:hover img{transform:scale(1.045)}.gallery-card__shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(2,17,38,.82) 100%)}.gallery-card__info{position:absolute;left:17px;right:17px;bottom:15px;color:#fff}.gallery-card__info span{display:inline-block;margin-bottom:6px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#76e8ef;font-weight:900}.gallery-card__info h3{margin:0;font-size:18px;line-height:1.17}.gallery-card--wide{grid-column:span 2}.gallery-card--wide img{min-height:300px}
.practice-spaces{background:#fff}.practice-feature{display:grid;grid-template-columns:.9fr 1.1fr;gap:40px;align-items:center;padding:38px;border-radius:30px;color:#fff;background:radial-gradient(circle at 90% 20%,rgba(58,231,255,.23),transparent 25%),linear-gradient(135deg,#04162e,#0b4787 57%,#0b727e);box-shadow:0 24px 65px rgba(6,43,92,.17)}.practice-feature__copy h2{margin:8px 0 13px;font-size:clamp(34px,4.2vw,54px);line-height:1;letter-spacing:-.045em}.practice-feature__copy>p{margin:0;color:#d5e4ee;font-size:16px;line-height:1.68}.practice-points{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}.practice-points span{padding:13px 14px;border-radius:16px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.11);font-size:13px;font-weight:800}.practice-feature__photos{display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:10px}.practice-feature__photos figure{margin:0;overflow:hidden;border-radius:20px;border:1px solid rgba(255,255,255,.13)}.practice-feature__photos figure:first-child{grid-row:span 2}.practice-feature__photos img{display:block;width:100%;height:100%;min-height:185px;object-fit:cover}
.digital-spaces{background:#f5f8fd}.digital-spaces__layout{display:grid;grid-template-columns:1.1fr .9fr;gap:45px;align-items:center}.digital-spaces__photos{display:grid;grid-template-columns:1fr 1fr;gap:12px}.digital-spaces__photos figure{margin:0;overflow:hidden;border-radius:24px;box-shadow:0 12px 32px rgba(15,47,82,.08)}.digital-spaces__photos figure:first-child{transform:translateY(18px)}.digital-spaces__photos figure:last-child{transform:translateY(-18px)}.digital-spaces__photos img{display:block;width:100%;height:390px;object-fit:cover}.digital-spaces__copy .button{margin-top:18px}
.student-environment{background:#fff}.student-space-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}.space-card{overflow:hidden;border:1px solid #dce7f2;border-radius:24px;background:#fff;box-shadow:0 10px 28px rgba(17,52,98,.05)}.space-card>img{display:block;width:100%;height:220px;object-fit:cover}.space-card>div{padding:20px}.space-card span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:13px;color:#fff;background:linear-gradient(135deg,#2d70ff,#20bed4);font-size:12px;font-weight:950}.space-card h3{margin:15px 0 7px;font-size:21px;line-height:1.15}.space-card p{margin:0;color:#657a92;font-size:14px;line-height:1.62}
.accessibility-section{background:#f5f8fd}.accessibility-card{display:grid;grid-template-columns:1.05fr .95fr;overflow:hidden;border-radius:28px;background:linear-gradient(135deg,#071a34,#0b527b);color:#fff;box-shadow:0 22px 55px rgba(7,45,87,.15)}.accessibility-card figure{margin:0}.accessibility-card img{display:block;width:100%;height:100%;min-height:360px;object-fit:cover}.accessibility-card>div{padding:38px;display:flex;flex-direction:column;justify-content:center}.accessibility-card h2{margin:8px 0 10px;font-size:clamp(33px,4vw,50px);line-height:1;letter-spacing:-.04em}.accessibility-card p{margin:0;color:#d4e4ef;font-size:16px;line-height:1.65}
.facilities-cta{background:#fff}.facilities-cta__box{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:40px;border-radius:28px;color:#fff;background:linear-gradient(135deg,#061831,#0a4e8b);box-shadow:0 21px 55px rgba(8,48,104,.17)}.facilities-cta h2{margin:8px 0 9px;font-size:clamp(33px,4vw,50px);line-height:1;letter-spacing:-.04em}.facilities-cta p{margin:0;max-width:780px;color:#d0dfed;font-size:16px;line-height:1.62}.facilities-cta__actions{display:flex;gap:10px;flex-wrap:wrap;flex:0 0 auto}
.facility-lightbox{width:min(1100px,94vw);padding:0;border:0;border-radius:24px;background:#06172d;color:#fff;box-shadow:0 40px 90px rgba(0,0,0,.45)}.facility-lightbox::backdrop{background:rgba(0,8,20,.78);backdrop-filter:blur(5px)}.facility-lightbox figure{margin:0}.facility-lightbox figure img{display:block;width:100%;max-height:78vh;object-fit:contain;background:#020b16}.facility-lightbox figcaption{display:flex;gap:12px;align-items:baseline;justify-content:space-between;padding:16px 20px}.facility-lightbox figcaption strong{font-size:18px}.facility-lightbox figcaption span{color:#a9bed2;font-size:13px}.facility-lightbox__close,.facility-lightbox__nav{position:absolute;z-index:5;border:0;cursor:pointer;color:#fff;background:rgba(5,20,42,.72);backdrop-filter:blur(9px);box-shadow:0 8px 20px rgba(0,0,0,.18)}.facility-lightbox__close{right:14px;top:14px;width:42px;height:42px;border-radius:50%;font-size:28px}.facility-lightbox__nav{top:50%;transform:translateY(-50%);width:46px;height:62px;border-radius:16px;font-size:36px}.facility-lightbox__nav--prev{left:14px}.facility-lightbox__nav--next{right:14px}
.reveal{opacity:0;transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:none;transition:opacity .7s cubic-bezier(.18,.8,.25,1),transform .7s cubic-bezier(.18,.8,.25,1)}
@media(max-width:1160px){.facilities-hero__inner,.facilities-intro__grid,.practice-feature,.digital-spaces__layout,.accessibility-card{grid-template-columns:1fr}.facilities-hero__mosaic{max-width:650px}.gallery-grid{grid-template-columns:repeat(3,1fr)}.student-space-grid{grid-template-columns:1fr 1fr}.facilities-cta__box{display:block}.facilities-cta__actions{margin-top:20px}}
@media(max-width:820px){.gallery-grid{grid-template-columns:1fr 1fr}.gallery-card--wide{grid-column:span 1}.practice-feature__photos{grid-template-columns:1fr 1fr;grid-template-rows:auto}.practice-feature__photos figure:first-child{grid-row:auto;grid-column:span 2}.digital-spaces__photos img{height:300px}.facility-pill-grid{grid-template-columns:1fr}.practice-points{grid-template-columns:1fr}.student-space-grid{grid-template-columns:1fr}}
@media(max-width:680px){.facilities-hero{min-height:auto}.facilities-hero__inner{min-height:auto;padding:50px 0}.facilities-hero h1{font-size:clamp(43px,12vw,62px)}.facilities-hero__mosaic{display:none}.gallery-grid{grid-template-columns:1fr}.gallery-card img,.gallery-card--wide img{min-height:260px}.practice-feature,.accessibility-card>div,.facilities-cta__box{padding:26px 22px}.practice-feature__photos{grid-template-columns:1fr}.practice-feature__photos figure:first-child{grid-column:auto}.digital-spaces__photos{grid-template-columns:1fr}.digital-spaces__photos figure:first-child,.digital-spaces__photos figure:last-child{transform:none}.digital-spaces__photos img{height:260px}.facility-lightbox figcaption{display:block}.facility-lightbox figcaption span{display:block;margin-top:5px}.facility-lightbox__nav{width:40px;height:54px}}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1!important;transform:none!important}.gallery-card img{transition:none}}
