/* Art-directed layouts for the campus, facilities and activity routes. */
.experience-page {--experience-ink:var(--color-purple-950);--experience-accent:var(--color-purple-600);--experience-lilac:var(--color-purple-100)}
.experience-page .experience-hero {position:relative}
.experience-page .experience-hero .inner-hero-copy {max-width:760px}
.experience-page .experience-hero h1 {max-width:12ch;text-wrap:balance}
.experience-page .experience-hero .answer-intro {max-width:54ch}
.experience-page .experience-hero .inner-link {margin-top:1.5rem}
.experience-page .inner-link span {display:inline-block;transition:transform .22s ease}
.experience-page .inner-link:hover span {transform:translate(3px,-2px)}
.experience-scroll-cue {position:absolute;left:var(--gutter);bottom:1.25rem;display:flex;gap:1rem;align-items:center;color:var(--muted);font-size:.63rem;letter-spacing:.12em;text-transform:uppercase}
.experience-scroll-cue span {color:var(--color-ved-yellow);font-size:1rem}
.experience-intro {grid-template-columns:.7fr 1fr;column-gap:8vw;row-gap:2rem}
.experience-intro .chapter-label {grid-column:1/-1}
.experience-intro h2 {max-width:13ch}
.experience-intro>p:last-child {max-width:44ch;color:var(--muted)}

/* Accessible sports and activity category explorer. */
.activity-explorer {background:var(--color-purple-950);color:var(--color-surface)}
.explorer-heading {display:grid;grid-template-columns:1fr minmax(240px,.55fr);align-items:end;gap:4rem}
.explorer-heading h2 {max-width:12ch;margin-bottom:0;color:var(--color-surface)}
.explorer-heading>p {max-width:38ch;margin:0 0 .35rem;color:var(--color-purple-200);line-height:1.7}
.activity-explorer .chapter-label {color:var(--color-purple-300)}
.activity-tabs {display:flex;gap:1.7rem;margin:3.5rem 0 0;border-bottom:1px solid rgba(255,255,255,.25);overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--color-purple-500) transparent}
.activity-tabs button {flex:0 0 auto;min-height:56px;padding:.4rem 0 .9rem;border:0;border-bottom:2px solid transparent;background:none;color:var(--color-purple-200);font:600 .78rem/1.35 var(--body);text-align:left;cursor:pointer;transition:color .2s,border-color .2s}
.activity-tabs button span {margin-right:.6rem;color:var(--color-ved-yellow);font-size:.64rem;letter-spacing:.08em}
.activity-tabs button[aria-selected="true"] {border-color:var(--color-ved-yellow);color:var(--color-surface)}
.activity-tabs button:hover {color:var(--color-surface)}
.activity-tabs button:focus-visible,.campus-gallery-open:focus-visible,.campus-lightbox button:focus-visible {outline:3px solid var(--color-ved-yellow);outline-offset:4px}
.activity-panel {display:grid;grid-template-columns:minmax(230px,.65fr) minmax(0,1.35fr);gap:clamp(2rem,6vw,6rem);padding-top:3.4rem}
.activity-panel[hidden] {display:none}
.activity-panel-intro {align-self:start;position:sticky;top:6rem}
.activity-panel-intro h3 {margin:.5rem 0 1rem;color:var(--color-surface);font:400 clamp(2.2rem,4vw,4.15rem)/1.03 var(--display);letter-spacing:-.035em}
.activity-panel-intro h3 em {color:var(--color-purple-300)}
.activity-panel-intro>p:last-child {max-width:32ch;color:var(--color-purple-200);font-size:.9rem;line-height:1.7}
.activity-index {color:var(--color-ved-yellow)!important;font-size:.65rem!important;letter-spacing:.13em;text-transform:uppercase}
.activity-entry-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.25)}
.activity-entry {position:relative;min-height:156px;padding:1.25rem 1.2rem 1.25rem 0;border-bottom:1px solid rgba(255,255,255,.25)}
.activity-entry:nth-child(even) {padding-left:1.2rem;border-left:1px solid rgba(255,255,255,.25)}
.activity-entry>span,.leadership-activity>span {color:var(--color-ved-yellow);font-size:.63rem;letter-spacing:.1em}
.activity-entry h4 {margin:.65rem 0 .4rem;color:var(--color-surface);font:400 clamp(1.45rem,2.6vw,2.3rem)/1.1 var(--display)}
.activity-entry p {max-width:33ch;margin:0;color:var(--color-purple-200);font-size:.78rem;line-height:1.6}
.leadership-activity {align-self:center;padding:2rem clamp(1.5rem,4vw,4rem);border-left:1px solid rgba(255,255,255,.35)}
.leadership-activity h4 {margin:.5rem 0 1rem;color:var(--color-surface);font:400 clamp(4rem,9vw,8rem)/.95 var(--display)}
.leadership-activity>p:last-child {max-width:38ch;color:var(--color-purple-200);line-height:1.7}

/* Featured practice: editorial columns rather than repeated activity cards. */
.activity-features {background:var(--color-background)}
.activity-features>h2 {max-width:11ch}
.activity-feature-grid {display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(2rem,4vw,4rem) clamp(1rem,2.8vw,2.8rem);align-items:start;margin-top:3rem}
.activity-feature {min-width:0}
.activity-feature:nth-child(1),.activity-feature:nth-child(4) {grid-column:span 7}
.activity-feature:nth-child(2),.activity-feature:nth-child(3) {grid-column:span 5;margin-top:6rem}
.activity-feature:nth-child(4) {margin-top:-2rem}
.feature-art {position:relative;min-height:clamp(220px,28vw,390px);margin-bottom:1.5rem;overflow:hidden;background:var(--color-lavender-soft)}
.feature-art::before,.feature-art::after,.feature-art span,.feature-art i,.feature-art b {position:absolute;display:block;content:""}
.feature-art-robotics {background:linear-gradient(135deg,var(--color-purple-100),var(--color-purple-200))}
.feature-art-robotics::before {inset:17% 24%;border:1px solid rgba(50,25,71,.5);transform:rotate(45deg)}
.feature-art-robotics::after {inset:27% 33%;border:1px solid var(--color-purple-600);border-radius:50%}
.feature-art-robotics span {left:47%;top:12%;width:9%;height:76%;border-left:1px solid var(--color-purple-600);border-right:1px solid var(--color-purple-600);transform:rotate(45deg)}
.feature-art-robotics i {left:15%;top:49%;width:70%;height:1px;background:var(--color-purple-600);transform:rotate(-25deg)}
.feature-art-robotics b {left:48%;top:47%;width:14px;height:14px;border-radius:50%;background:var(--color-ved-yellow);box-shadow:0 0 0 12px rgba(255,201,40,.16)}
.feature-art-basketball {background:var(--color-ved-yellow)}
.feature-art-basketball::before {width:42%;aspect-ratio:1;top:18%;left:29%;border:1px solid var(--color-purple-950);border-radius:50%}
.feature-art-basketball::after {width:64%;height:1px;left:18%;top:50%;background:var(--color-purple-950);transform:rotate(-32deg)}
.feature-art-basketball span {width:1px;height:78%;left:50%;top:11%;background:var(--color-purple-950);transform:rotate(-32deg)}
.feature-art-basketball i {width:28%;height:1px;right:7%;bottom:22%;background:var(--color-surface);transform:rotate(-42deg)}
.feature-art-basketball b {width:24%;height:15%;left:38%;top:42%;border:1px solid var(--color-purple-950);border-radius:50%;transform:rotate(-32deg)}
.feature-art-dance {background:var(--color-purple-800)}
.feature-art-dance::before {inset:18% 35%;border:1px solid rgba(255,255,255,.7);border-radius:50%;transform:rotate(28deg) scaleX(.52)}
.feature-art-dance::after {inset:18% 35%;border:1px solid var(--color-ved-yellow);border-radius:50%;transform:rotate(-28deg) scaleX(.52)}
.feature-art-dance span {width:44%;height:1px;left:28%;top:50%;background:rgba(255,255,255,.75);transform:rotate(23deg)}
.feature-art-dance i {width:13px;height:13px;left:49%;top:25%;border-radius:50%;background:var(--color-ved-yellow)}
.feature-art-dance b {width:7%;height:7%;left:46%;top:58%;border:1px solid var(--color-surface);border-radius:50%}
.feature-art-ncc {background:linear-gradient(120deg,var(--color-background-deep),var(--color-lavender-soft))}
.feature-art-ncc::before {width:45%;height:45%;left:27%;top:25%;border:1px solid var(--color-purple-800);transform:rotate(45deg)}
.feature-art-ncc::after {width:24%;height:24%;left:38%;top:36%;border:1px solid var(--color-ved-green);border-radius:50%}
.feature-art-ncc span {width:72%;height:1px;left:14%;top:51%;background:var(--color-gold);transform:rotate(-18deg)}
.feature-art-ncc i {width:1px;height:74%;left:50%;top:13%;background:rgba(50,25,71,.5);transform:rotate(22deg)}
.feature-art-ncc b {width:12px;height:12px;left:49%;top:48%;border-radius:50%;background:var(--color-ved-yellow)}
.activity-feature .chapter-label {margin-bottom:.8rem}
.activity-feature h3 {margin:0 0 .8rem;color:var(--color-purple-950);font:400 clamp(2rem,4vw,3.6rem)/1.04 var(--display)}
.activity-feature h3 em {color:var(--color-purple-600)}
.activity-feature>p:last-child {max-width:42ch;color:var(--muted);font-size:.9rem;line-height:1.7}
.activity-development {background:var(--color-purple-100)}
.development-layout {display:grid;grid-template-columns:1fr minmax(300px,.8fr);gap:10vw}
.development-layout h2 {max-width:11ch}
.development-copy>p:first-child {max-width:42ch;color:var(--muted);line-height:1.7}
.development-copy ul {margin:2rem 0;padding:0;list-style:none;border-top:1px solid var(--color-border)}
.development-copy li {padding:.85rem .2rem;border-bottom:1px solid var(--color-border);color:var(--color-purple-950);font:400 clamp(1.15rem,2vw,1.55rem)/1.3 var(--display)}
.development-copy .development-note {font-size:.73rem;color:var(--muted)}

/* Campus visit prompt gallery and keyboard-accessible lightbox. */
.campus-introduction {padding-block:clamp(5rem,9vw,9rem)}
.campus-discovery {background:var(--color-background-deep)}
.campus-discovery-heading {display:grid;grid-template-columns:1fr minmax(260px,.55fr);align-items:end;gap:5rem}
.campus-discovery-heading h2 {max-width:11ch;margin:0}
.campus-discovery-heading>p {max-width:40ch;margin:0 0 .5rem;color:var(--muted);line-height:1.7}
.campus-gallery {display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(2rem,4vw,4rem);align-items:start;margin-top:4rem}
.campus-study {min-width:0}
.campus-study:nth-child(2) {margin-top:8rem}
.campus-study:nth-child(3) {grid-column:1;max-width:78%;margin-top:-4rem}
.campus-study-art {position:relative;min-height:clamp(240px,34vw,450px);margin-bottom:1.4rem;overflow:hidden;background:var(--color-purple-200)}
.campus-study:nth-child(2) .campus-study-art {min-height:clamp(210px,27vw,360px)}
.campus-study:nth-child(3) .campus-study-art {min-height:clamp(200px,24vw,320px)}
.campus-study-art::before,.campus-study-art::after,.campus-study-art span,.campus-study-art i,.campus-study-art b {position:absolute;display:block;content:""}
.campus-art-learning {background:linear-gradient(145deg,var(--color-purple-100),var(--color-purple-200))}
.campus-art-learning::before {inset:13% 15% 24%;border:1px solid rgba(50,25,71,.6);background:linear-gradient(90deg,transparent 49%,rgba(50,25,71,.3) 49% 50%,transparent 50%),linear-gradient(0deg,transparent 49%,rgba(50,25,71,.3) 49% 50%,transparent 50%),rgba(255,255,255,.22)}
.campus-art-learning::after {width:56%;height:8%;left:14%;bottom:17%;background:var(--color-purple-800);transform:skew(-20deg)}
.campus-art-learning span {width:12%;height:24%;left:34%;bottom:0;border:1px solid var(--color-ved-green);border-bottom:0;border-radius:50% 50% 0 0}
.campus-art-learning i {width:1px;height:26%;left:20%;bottom:0;background:var(--color-purple-600)}
.campus-art-learning b {width:1px;height:26%;left:61%;bottom:0;background:var(--color-purple-600)}
.campus-art-shared {background:var(--color-purple-800)}
.campus-art-shared::before {width:48%;height:48%;left:26%;top:20%;border:1px solid rgba(255,255,255,.8);border-radius:50%}
.campus-art-shared::after {width:64%;height:1px;left:18%;top:50%;background:var(--color-ved-yellow);transform:rotate(-23deg)}
.campus-art-shared span {width:31%;height:31%;left:35%;top:29%;border:1px solid rgba(255,255,255,.7);transform:rotate(45deg)}
.campus-art-shared i {width:9px;height:9px;left:48%;top:47%;border-radius:50%;background:var(--color-ved-yellow)}
.campus-art-shared b {width:1px;height:78%;left:50%;top:11%;background:rgba(255,255,255,.35)}
.campus-art-outdoor {background:linear-gradient(160deg,var(--color-purple-200) 0 58%,var(--color-ved-green) 58%)}
.campus-art-outdoor::before {width:24%;aspect-ratio:1;right:15%;top:13%;border-radius:50%;background:var(--color-ved-yellow)}
.campus-art-outdoor::after {width:76%;height:1px;left:12%;bottom:24%;background:rgba(255,255,255,.8);transform:rotate(-7deg)}
.campus-art-outdoor span {width:32%;height:40%;bottom:18%;left:14%;border:1px solid rgba(50,25,71,.55);border-bottom:0;border-radius:50% 50% 0 0}
.campus-art-outdoor i {width:1px;height:48%;left:53%;bottom:17%;background:rgba(255,255,255,.6)}
.campus-art-outdoor b {width:22%;height:1px;left:45%;bottom:30%;background:rgba(255,255,255,.7);transform:rotate(18deg)}
.campus-study .chapter-label {margin-bottom:.6rem}
.campus-study h3 {margin:.25rem 0 .7rem;color:var(--color-purple-950);font:400 clamp(1.7rem,3vw,2.8rem)/1.05 var(--display)}
.campus-study>p:not(.chapter-label) {max-width:42ch;color:var(--muted);font-size:.84rem;line-height:1.7}
.campus-gallery-open {min-height:44px;padding:.65rem 0;border:0;border-bottom:1px solid var(--color-purple-600);background:none;color:var(--color-purple-950);font:600 .76rem var(--body);cursor:pointer}
.campus-gallery-open span {display:inline-block;margin-left:.5rem;transition:transform .2s}
.campus-gallery-open:hover span {transform:translate(3px,-3px)}
.campus-lightbox {width:min(900px,calc(100vw - 2rem));max-width:none;max-height:min(92vh,900px);padding:clamp(1rem,3vw,2rem);border:0;background:var(--color-background);color:var(--color-text);box-shadow:0 20px 90px rgba(36,19,51,.32)}
.campus-lightbox::backdrop {background:rgba(26,16,34,.78);backdrop-filter:blur(3px)}
.lightbox-bar,.lightbox-controls {display:flex;align-items:center;justify-content:space-between;gap:1rem}
.lightbox-bar .chapter-label {margin:0}
.campus-lightbox button {min-height:44px;padding:.5rem .75rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-purple-950);font:600 .75rem var(--body);cursor:pointer}
.lightbox-close span {margin-left:.5rem;font-size:1.2rem}
.lightbox-art {min-height:min(48vh,480px);margin:1.2rem 0;background:var(--color-purple-100)}
.lightbox-caption {max-width:62ch}
.lightbox-caption .chapter-label {margin-bottom:.45rem;color:var(--color-purple-600)}
.lightbox-caption h3 {margin:.3rem 0;color:var(--color-purple-950);font:400 clamp(2rem,5vw,3.5rem)/1 var(--display)}
.lightbox-caption>p:last-child {color:var(--muted);line-height:1.6}
.lightbox-controls {margin-top:1.3rem;padding-top:1rem;border-top:1px solid var(--color-border)}
.lightbox-controls button:first-child {margin-right:auto}

/* Facilities: factual family questions and native, keyboard-ready disclosures. */
.facility-editorial {display:grid;grid-template-columns:1fr .8fr;gap:10vw;align-items:end;background:var(--color-background)}
.facility-editorial-heading h2 {max-width:11ch}
.facility-editorial-copy {max-width:48ch}
.facility-editorial-copy>p:first-child {color:var(--muted);line-height:1.75}
.facility-editorial-note {margin:1.5rem 0;color:var(--color-purple-600);font-size:.75rem;line-height:1.6}
.facility-editorial-copy .inner-link {margin-top:1rem}
.safety-topics {background:var(--color-purple-950);color:var(--color-surface)}
.safety-topics .chapter-label {color:var(--color-purple-300)}
.safety-topics-layout {display:grid;grid-template-columns:1fr .65fr;gap:8vw;align-items:end}
.safety-topics-layout h2 {max-width:11ch;color:var(--color-surface)}
.safety-topics-layout>p {max-width:39ch;margin-bottom:.5rem;color:var(--color-purple-200);line-height:1.7}
.safety-topic-list {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:3rem;border-top:1px solid rgba(255,255,255,.25)}
.safety-topic-list article {min-height:170px;padding:1.35rem 1.4rem 1.35rem 0;border-bottom:1px solid rgba(255,255,255,.25)}
.safety-topic-list article:nth-child(even) {padding-left:1.4rem;border-left:1px solid rgba(255,255,255,.25)}
.safety-topic-list article>span {color:var(--color-ved-yellow);font-size:.64rem;letter-spacing:.1em}
.safety-topic-list h3 {margin:.65rem 0 .45rem;color:var(--color-surface);font:400 clamp(1.45rem,2.5vw,2rem)/1.12 var(--display)}
.safety-topic-list article>p {max-width:42ch;margin:0;color:var(--color-purple-200);font-size:.8rem;line-height:1.65}
.family-information {background:var(--color-background-deep)}
.family-information>h2 {max-width:12ch}
.family-information-intro {max-width:54ch;color:var(--muted);line-height:1.7}
.family-faq-list {margin:2.5rem 0 0;border-top:1px solid var(--color-border)}
.family-faq-list details {border-bottom:1px solid var(--color-border)}
.family-faq-list summary {display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:70px;padding:.8rem 0;color:var(--color-purple-950);font:400 clamp(1.15rem,2.1vw,1.55rem)/1.25 var(--display);cursor:pointer;list-style:none}
.family-faq-list summary::-webkit-details-marker {display:none}
.family-faq-list summary span {flex:none;color:var(--color-purple-600);font:400 1.4rem var(--body);transition:transform .2s}
.family-faq-list details[open] summary span {transform:rotate(45deg)}
.family-faq-list details>p {max-width:68ch;margin:0;padding:0 2.5rem 1.2rem 0;color:var(--muted);font-size:.88rem;line-height:1.7}
.family-faq-list a {color:var(--color-purple-800);text-underline-offset:3px}
.experience-cta {display:block;background:var(--color-purple-950);color:var(--color-surface)}
.experience-cta .chapter-label {color:var(--color-purple-300)}
.experience-cta h2 {max-width:12ch;color:var(--color-surface)}
.experience-cta h2 em {color:var(--color-purple-300)}
.experience-cta>p:not(.chapter-label) {max-width:45ch;color:var(--color-purple-200)}
.experience-cta .inner-link {display:inline-block;margin:1.2rem 1.5rem 0 0;padding:.7rem 0;border-color:var(--color-purple-300);color:var(--color-surface)}

@media(max-width:900px) {
 .activity-panel {grid-template-columns:1fr;gap:2rem}
 .activity-panel-intro {position:static}
 .activity-panel-intro h3 br {display:none}
 .explorer-heading,.campus-discovery-heading,.facility-editorial,.safety-topics-layout {grid-template-columns:1fr;gap:1.5rem}
 .campus-study:nth-child(2) {margin-top:5rem}
 .campus-study:nth-child(3) {max-width:90%;margin-top:-1rem}
 .development-layout {gap:5vw}
}
@media(max-width:680px) {
 .experience-page .experience-hero .inner-hero-copy {max-width:none}
 .experience-page .experience-hero h1 {font-size:clamp(3.1rem,13vw,4.8rem)}
 .experience-scroll-cue {position:static;margin-top:1.5rem}
 .experience-intro {display:block}
 .experience-intro>p:last-child {margin-top:1rem}
 .explorer-heading h2 {margin-bottom:.7rem}
 .activity-tabs {gap:1.2rem;margin-top:2.5rem}
 .activity-tabs button {min-height:62px;max-width:72vw;font-size:.7rem}
 .activity-panel {padding-top:2rem}
 .activity-entry-grid {grid-template-columns:1fr}
 .activity-entry {min-height:0;padding:1rem 0}
 .activity-entry:nth-child(even) {padding-left:0;border-left:0}
 .activity-entry h4 {font-size:1.65rem}
 .leadership-activity {padding:1.5rem 0;border-left:0;border-top:1px solid rgba(255,255,255,.35)}
 .activity-feature-grid {display:block;margin-top:2rem}
 .activity-feature {margin:0 0 3.5rem!important}
 .feature-art {min-height:260px}
 .development-layout {display:block}
 .development-copy {margin-top:1.5rem}
 .campus-discovery-heading {display:block}
 .campus-discovery-heading>p {margin-top:1rem}
 .campus-gallery {display:block;margin-top:2.5rem}
 .campus-study,.campus-study:nth-child(2),.campus-study:nth-child(3) {max-width:none;margin:0 0 2.8rem}
 .campus-study-art,.campus-study:nth-child(2) .campus-study-art,.campus-study:nth-child(3) .campus-study-art {min-height:clamp(240px,75vw,340px)}
 .campus-lightbox {padding:1rem}
 .lightbox-art {min-height:34vh}
 .facility-editorial {display:block}
 .facility-editorial-copy {margin-top:1rem}
 .safety-topics-layout {display:block}
 .safety-topics-layout>p {margin-top:1rem}
 .safety-topic-list {grid-template-columns:1fr;margin-top:2rem}
 .safety-topic-list article,.safety-topic-list article:nth-child(even) {min-height:0;padding:1rem 0;border-left:0}
 .family-faq-list summary {min-height:68px}
 .family-faq-list details>p {padding-right:0}
 .experience-cta .inner-link {display:block;width:max-content;margin-right:0}
}
@media(prefers-reduced-motion:reduce) {
 .experience-page *, .experience-page *::before, .experience-page *::after {scroll-behavior:auto;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}
}
