/* Shared palette and motion for every generated route. */
:root,[data-theme="light"]{--surface:#fff;--canvas:#f8faff;--soft:#eef2f8;--elevated:#fff;--ink:#152440;--muted:#566580;--accent:#3159ee;--accent-solid:#3159ee;--line:#d8e1ef;--blue-soft:#e9efff;--secondary:#14766a;--glass:rgba(248,250,255,.88);--shadow:0 18px 55px #162c5710;--radius:24px;--ease:cubic-bezier(.22,1,.36,1);--quick:180ms;--ui:320ms;--reveal:680ms;color-scheme:light;background:var(--canvas);color:var(--ink)}
[data-theme="dark"]{--surface:#111d31;--canvas:#0a1425;--soft:#16253d;--elevated:#1a2b46;--ink:#edf3ff;--muted:#a4b5cf;--accent:#95adff;--accent-solid:#4468f4;--line:#2a3c57;--blue-soft:#1a2d50;--secondary:#79d3c4;--glass:rgba(10,20,37,.91);--shadow:0 18px 55px #0003;color-scheme:dark}
html{scroll-behavior:smooth;scroll-padding-top:110px;scrollbar-gutter:stable}body{background:var(--canvas);overflow-x:clip}main{min-height:45vh}::selection{background:var(--accent-solid);color:#fff}h1,h2,h3{text-wrap:balance}h2{font-size:clamp(2rem,3.7vw,3.45rem);font-weight:650;line-height:1.13}.container{width:min(1360px,calc(100% - 96px))}.section{padding-block:104px}.eyebrow{display:flex;align-items:center;gap:12px;font-size:.8125rem;letter-spacing:.13em}.utility{background:var(--canvas);font-size:.8125rem;border:0}.utility>.container{min-height:38px}.utility a{transition:color var(--quick)}
/* A floating, translucent navigation bar with quiet scroll feedback. */
.site-header{position:sticky;top:0;background:var(--glass);backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);border-color:transparent;transition:background var(--ui),border-color var(--ui),box-shadow var(--ui)}.site-header.is-scrolled{border-color:transparent;box-shadow:0 7px 30px #0718330a}.header-inner{min-height:92px;gap:20px;transition:min-height var(--ui) var(--ease)}.is-scrolled .header-inner{min-height:76px}.brand strong{font-size:1.55rem;letter-spacing:-.055em}.brand img{border-radius:8px}.brand small{font-size:.75rem;letter-spacing:.015em}.desktop-nav{gap:23px;font-size:.875rem}.desktop-nav>a,.nav-group>a{position:relative}.header-actions{gap:8px}.icon-button{transition:background var(--quick),color var(--quick),transform var(--ui) var(--ease);width:44px;height:44px}.icon-button:hover{transform:translateY(-2px);background:var(--blue-soft)}.nav-group{position:relative;display:flex;align-items:center;gap:3px}.nav-expand{border:0;background:transparent;color:var(--muted);padding:8px 2px;display:flex;border-radius:6px}.nav-expand .icon{width:15px;transition:transform var(--ui)}.nav-group.is-open .nav-expand .icon{transform:rotate(180deg)}.nav-dropdown{position:absolute;top:calc(100% + 10px);left:-30px;width:300px;padding:24px;background:var(--elevated);box-shadow:var(--shadow);border:0;border-radius:20px;opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);transform-origin:top left;transition:opacity var(--ui),transform var(--ui) var(--ease),visibility var(--ui);z-index:25}.nav-dropdown:before{content:"";position:absolute;inset:-20px 0 auto;height:20px}.nav-group.is-open .nav-dropdown{opacity:1;visibility:visible;transform:none}.nav-dropdown a{display:flex;justify-content:space-between;align-items:center;padding:13px 10px;border-radius:10px;transition:background var(--quick),padding var(--ui)}.nav-dropdown a:hover{background:var(--blue-soft);padding-left:15px}.nav-dropdown .eyebrow{font-size:.75rem;margin-bottom:10px}
.theme-toggle{position:relative;border:0;background:var(--surface);overflow:hidden}.theme-toggle svg{position:absolute;width:21px;height:21px;transition:transform 420ms var(--ease),opacity 250ms}.theme-moon{opacity:0;transform:translateY(25px) rotate(-70deg)}[data-theme="dark"] .theme-sun{opacity:0;transform:translateY(-25px) rotate(70deg)}[data-theme="dark"] .theme-moon{opacity:1;transform:none}.theme-changing,.theme-changing body,.theme-changing .site-header,.theme-changing .program-card,.theme-changing .news-card,.theme-changing .page-sidebar,.theme-changing .resource-tile,.theme-changing .filter-bar,.theme-changing .resource-group{transition:background-color 320ms,color 320ms,border-color 320ms}
.button{border-radius:100px;background:var(--accent-solid);padding:16px 25px;gap:22px;min-height:55px;font-size:.9375rem;box-shadow:0 5px 16px #3159ee18;transition:transform var(--ui) var(--ease),background var(--quick),box-shadow var(--ui),border-color var(--quick)}.button:hover{background:#2449d4;transform:translateY(-3px);box-shadow:0 10px 26px #3159ee30}.button:active{transform:translateY(0) scale(.975)}.button .icon,.text-link .icon,.program-bottom .icon,.document-link>.icon:last-child,.quick-links>a>.icon:last-child,.resource-tile>.icon:last-child,.student-resources>a>.icon:last-child{transition:transform var(--ui) var(--ease)}.button:hover .icon,.text-link:hover .icon,.program-card:hover .program-bottom .icon,.document-link:hover>.icon:last-child,.quick-links>a:hover>.icon:last-child,.resource-tile:hover>.icon:last-child,.student-resources>a:hover>.icon:last-child{transform:translateX(4px)}.button.secondary{box-shadow:none;background:var(--surface)}.button.compact{border-radius:100px;font-size:.875rem;padding:12px 18px}.text-link{font-size:.9375rem}.text-link:hover{text-decoration:none}
/* Oversized editorial type, real campus photography, asymmetric framing. */
.home-page main{background:radial-gradient(ellipse 65% 650px at 78% 5%,var(--blue-soft),transparent 80%)}.hero{position:relative;grid-template-columns:1.04fr 1fr;gap:20px;padding-block:46px 64px;align-items:stretch}.hero-copy{position:relative;z-index:3;padding:25px 0;align-self:center}.hero .eyebrow{margin-bottom:26px}.institution{font-size:.9375rem;max-width:360px;margin-bottom:27px;color:var(--muted);line-height:1.6}.hero h1{font-size:clamp(4rem,7.7vw,7.4rem);font-weight:650;line-height:1.03;letter-spacing:-.075em;margin-bottom:18px}.hero h1 .hero-word{font-size:1em;color:var(--ink);line-height:inherit;letter-spacing:inherit;white-space:normal}.hero h1 .future{color:var(--accent)}.hero-subtitle{font-size:clamp(1.5rem,2.2vw,2rem);letter-spacing:-.045em;margin-bottom:21px;line-height:1.2}.hero-description{font-size:1rem;max-width:450px;margin-bottom:30px}.hero-visual{min-height:635px;border-radius:150px 28px 28px 28px;margin-top:5px;box-shadow:var(--shadow);isolation:isolate;background:#263b42;transform:translateZ(0)}.hero-photo{height:106%;top:-3%;transform:translate3d(var(--photo-x,0px),var(--photo-y,0px),0) scale(1.035);transition:transform 900ms var(--ease);object-position:45% center}.hero-visual:after{inset:28% 0 0;background:linear-gradient(transparent,#081c36d9)}.media-caption{position:absolute;top:34px;right:30px;z-index:3;background:#ffffffd9;color:#172844;border-radius:50px;padding:10px 17px;font-size:.75rem;font-weight:650;letter-spacing:.08em;backdrop-filter:blur(12px)}.photo-label{bottom:34px;left:32px;right:32px;max-width:340px}.photo-label>span{font-size:1.65rem;letter-spacing:-.035em;line-height:1.25}.photo-label small{font-size:.8125rem;margin-top:15px}.hero-note{top:auto;right:22px;bottom:164px;min-width:185px;padding:22px;border:0;border-radius:20px;background:#f5f8ffeb;color:#152440;backdrop-filter:blur(14px);transform:rotate(3deg);box-shadow:0 12px 50px #0002;transition:transform 450ms var(--ease),background var(--ui)}.hero-note>span{font-size:.75rem;color:#3159ee}.hero-note strong{font-size:1.03rem}.hero-note:hover{transform:rotate(0) translateY(-5px);background:white;color:#152440}.hero-note .icon{width:18px;color:#3159ee}.quick-links{position:relative;z-index:4;padding:0;border:0;border-radius:22px;background:var(--surface);box-shadow:var(--shadow);gap:0}.quick-links>a{padding:28px;gap:18px;transition:background var(--ui)}.quick-links>a:first-child{border-radius:22px 0 0 22px}.quick-links>a:last-child{border-radius:0 22px 22px 0}.quick-links>a:hover{background:var(--blue-soft)}.quick-links strong{font-size:1rem}.quick-links small{font-size:.8125rem}.quick-links>a>.icon:first-child{width:40px;height:40px;padding:8px;background:var(--blue-soft);border-radius:12px}
/* Shared card families. */
.program-grid{gap:20px}.program-card{position:relative;background:var(--surface);border:0;padding:32px;box-shadow:0 2px 4px #10255003;transition:transform 450ms var(--ease),border-color var(--ui),box-shadow 450ms var(--ease),background var(--ui)}.program-card:hover{transform:translateY(-7px);box-shadow:var(--shadow);border-color:transparent}.program-1{background:var(--blue-soft)}.program-2{background:var(--soft)}.program-label{font-size:.8125rem;border:0;background:var(--surface)}.program-art{position:relative;height:148px;justify-content:space-between;align-items:center}.program-code{font-size:6rem;font-weight:550;letter-spacing:-.085em;color:var(--accent);opacity:.23;line-height:1}.program-art>.icon{width:54px;height:54px;stroke-width:1.1;transition:transform 550ms var(--ease)}.program-card:hover .program-art>.icon{transform:rotate(-7deg) translateY(-3px)}.program-2 .program-art{color:var(--secondary)}.program-card h3{font-size:1.8rem;letter-spacing:-.04em}.program-card p{font-size:1rem}.program-card .eyebrow{font-size:.75rem;letter-spacing:.055em}.program-card .program-bottom{font-size:.875rem;line-height:1.5}.program-footnote{font-size:.875rem}.news-section{background:linear-gradient(180deg,var(--soft),var(--canvas));border:0;border:0}.news-grid{gap:26px}.news-card{display:flex;flex-direction:column;padding:12px 12px 25px;border:0;background:var(--surface);border-radius:24px;transition:transform 420ms var(--ease),box-shadow 420ms,border-color var(--ui)}.news-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:transparent}.news-image{border-radius:16px;margin-bottom:22px}.news-image img{transition:transform 700ms var(--ease)}.news-card:hover .news-image img{transform:scale(1.045)}.news-card .news-meta,.news-card h3,.news-card>.text-link{margin-inline:14px}.news-meta{font-size:.8125rem;gap:8px 16px;align-items:center}.news-meta span{padding:4px 8px;border-radius:30px;background:var(--blue-soft)}.news-card h3{font-size:1.45rem;line-height:1.33}.news-card>.text-link{margin-top:auto;align-self:flex-start;padding-top:12px}.student-feature{gap:85px}.student-feature p:not(.eyebrow){font-size:1rem}.student-resources{padding:10px 26px;background:var(--surface);border:0;border-radius:24px}.student-resources>a{font-size:1rem;transition:padding var(--ui) var(--ease),color var(--ui)}.student-resources>a:first-child{border:0}.student-resources>a:last-child{border:0}.student-resources>a:hover{padding-left:8px}.admission-banner{padding:64px;border-radius:32px;background:linear-gradient(115deg,#2544b8,#3159ee 60%,#547bf3);position:relative;overflow:hidden}.admission-banner h2{font-size:clamp(2rem,4vw,3.6rem)}.admission-banner p:not(.eyebrow){font-size:1rem}.admission-banner .button{background:#fff;color:#183679}.contact-teaser>div:last-child{font-size:1rem}.contact-teaser>div:last-child>*{min-height:44px}
/* Inner pages share the same typographic rhythm and depth. */
.page-heading{padding-block:34px 62px;position:relative;margin-bottom:35px;border:0}.page-heading h1{font-size:clamp(2.5rem,5.1vw,5rem);letter-spacing:-.055em;max-width:1150px}.is-article .page-heading h1{font-size:clamp(2.2rem,4.1vw,4.2rem);max-width:1000px}.breadcrumbs{font-size:.8125rem;margin-bottom:44px}.breadcrumbs a{transition:color var(--quick)}.breadcrumbs a:hover{text-decoration:none}.page-lead{font-size:1.125rem;max-width:760px}.content-columns{gap:60px;grid-template-columns:minmax(0,1fr) 280px}.page-sidebar{background:var(--surface);border-radius:22px;position:sticky;top:105px}.page-sidebar>a{font-size:.9375rem;transition:padding var(--ui),color var(--quick)}.page-sidebar>a:hover{padding-left:7px}.sidebar-help{background:var(--blue-soft);border-radius:14px;padding:20px;margin:24px -8px -8px}.sidebar-help p{font-size:.875rem}.subheading{font-size:1.9rem}.document-link{padding:21px 18px;border:0;border-radius:15px;margin-block:9px;background:var(--surface);transition:transform var(--ui) var(--ease),background var(--ui),border-color var(--ui)}.document-link:hover{transform:translateX(4px);background:var(--blue-soft);border-color:transparent}.document-link strong{font-size:1rem;line-height:1.55}.document-link small{font-size:.8125rem}.document-link>.icon:first-child{width:42px;height:42px;padding:10px;border-radius:12px;background:var(--blue-soft);transition:transform var(--ui)}.document-link:hover>.icon:first-child{transform:rotate(-5deg)}.document-catalog>.document-row:first-child{border:0}.resource-group{background:var(--surface);border-radius:18px;padding-inline:22px;transition:border-color var(--ui),background var(--ui)}.resource-group:has(summary:hover){border-color:transparent}.resource-group summary{font-size:1rem;min-height:72px}.resource-group summary>.icon{transition:transform var(--ui) var(--ease)}.resource-group>div{transform-origin:top}.resource-group[open]>div{animation:accordion-in 350ms var(--ease)}.resource-group .document-link:last-child{border:0}.resource-tile{background:var(--surface);border-radius:22px;padding:29px;transition:transform 420ms var(--ease),box-shadow var(--ui),border-color var(--ui)}.resource-tile:hover{transform:translateY(-5px);border-color:transparent;box-shadow:var(--shadow)}.resource-tile p{font-size:.9375rem}.resource-tile h2{font-size:1.4rem}.resource-tile>.icon:first-child{width:46px;height:46px;padding:10px;background:var(--blue-soft);border-radius:14px}.resource-tiles{gap:18px}.admission-intro{background:var(--blue-soft);border:0;border-radius:30px;gap:0}.admission-intro>div{padding:48px}.admission-intro p:not(.eyebrow){font-size:1rem}.admission-intro>img{border-radius:100px 0 0 0}.steps{gap:20px}.steps>div{background:var(--surface);border:0;border-radius:20px;padding:28px}.steps>div>span{width:43px;height:43px}.steps p{font-size:1rem}.info-banner{border:0;border-radius:18px;padding:26px}.info-banner p{font-size:.9375rem}.inline-cta{background:var(--blue-soft);border:0;padding:40px}.inline-cta p{font-size:1rem}.about-intro>img{border-radius:70px 22px 22px 22px}.about-intro p:not(.eyebrow){font-size:1rem}.facts{padding-block:42px}.facts strong{font-size:clamp(3rem,5vw,5rem)}.facts span{font-size:.9375rem}.contact-details h2{font-size:1.7rem}.contact-details p{font-size:1rem}.location-photo{border-radius:70px 22px 22px 22px}.filter-bar{background:var(--surface);border:0;padding:12px;border-radius:20px;box-shadow:0 6px 20px #10255005}.search-field{background:var(--canvas);border-radius:12px}.select-field select{background:var(--canvas);border-radius:12px;font-size:.9375rem}.results-status{font-size:.875rem}.search-result{padding:27px;border:0;background:var(--surface);border-radius:18px;margin-block:12px;transition:border-color var(--ui),transform var(--ui) var(--ease)}.search-result:hover{border-color:transparent;transform:translateX(3px)}.search-result p{font-size:1rem}.search-result>small{font-size:.8125rem}.search-result h2{font-size:1.45rem}.pagination>a{border-radius:50px;background:var(--surface);transition:background var(--quick),transform var(--ui)}.pagination>a:hover{transform:translateY(-3px);background:var(--blue-soft)}.pagination>a[aria-current]{background:var(--accent-solid)}.article-meta{font-size:.9375rem}.share-button{padding:12px 18px;border:0;border-radius:50px;background:var(--surface);font-size:.875rem;transition:background var(--quick)}.share-button:hover{background:var(--blue-soft)}.article-prose{max-width:780px;font-size:1.0625rem}.article-prose p{line-height:1.9}.article-hero{border-radius:24px}.prose img{border-radius:16px}.prose blockquote{border-radius:0 16px 16px 0}.prose .embedded-resource{padding:25px;transition:background var(--ui),border-color var(--ui)}.prose .embedded-resource:hover{background:var(--blue-soft);border-color:transparent}.prose td,.prose th{background:var(--surface);color:var(--ink)}.prose th{background:var(--soft)}.table-scroll{border-radius:14px}.empty-state{border:0}
.footer{background:#0b172a;padding-top:75px;position:relative;overflow:hidden}.footer-partners{padding-bottom:58px}.footer-partners-heading{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.footer-partners-heading .eyebrow{color:#91aaff;margin:0}.footer-partners-heading h2{color:#edf3ff;font-size:clamp(1.7rem,3vw,2.7rem);margin:0}.footer-partners-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.footer-partner{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:14px;min-height:150px;padding:18px 16px;background:#12223a;border:0;border-radius:18px;color:#edf3ff;transition:transform 320ms var(--ease),background 220ms,box-shadow 320ms}.footer-partner:nth-child(1){background:linear-gradient(145deg,#183d68,#235b8e)}.footer-partner:nth-child(2){background:linear-gradient(145deg,#173e45,#1f716d)}.footer-partner:nth-child(3){background:linear-gradient(145deg,#1c3f70,#3159a1)}.footer-partner:nth-child(4){background:linear-gradient(145deg,#3c2d60,#62458b)}.footer-partner:nth-child(5){background:linear-gradient(145deg,#294a37,#3c7951)}.footer-partner:nth-child(6){background:linear-gradient(145deg,#4b3a24,#8a672f)}.footer-partner:nth-child(7){background:linear-gradient(145deg,#563629,#9a5b36)}.footer-partner:hover{transform:translateY(-5px);filter:brightness(1.1);box-shadow:0 14px 35px #0003;text-decoration:none}.footer-partner img{width:46px;height:46px;object-fit:contain;border-radius:11px;background:#fff;padding:5px}.footer-partner span:not(.footer-partner-arrow){font-size:.78rem;line-height:1.35;font-weight:600}.footer-partner-arrow{position:absolute;right:14px;top:14px;color:#dce7ff;font-size:1rem}.footer-grid{gap:50px}.footer-grid>div>a:not(.brand){font-size:.9375rem;min-height:38px}.footer p{font-size:.9375rem}.footer h3{font-size:.9375rem;color:#edf3ff}.socials{font-size:.875rem;gap:8px}.socials a{padding:8px 12px;border:0;border-radius:40px;transition:background var(--ui),transform var(--ui)}.socials a:hover{background:#253856;transform:translateY(-3px)}.footer-signature{font-size:clamp(3.1rem,10vw,10rem);font-weight:600;line-height:1.1;letter-spacing:-.065em;padding-bottom:38px;color:#7897e3}.footer-bottom{font-size:.8125rem;border-color:transparent}.back-top{position:fixed;right:25px;bottom:25px;background:var(--surface);border:0;color:var(--accent);box-shadow:var(--shadow);z-index:15;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity var(--ui),transform var(--ui),visibility var(--ui)}.back-top .icon{transform:rotate(-90deg)}.back-top.visible{visibility:visible;opacity:1;transform:none}
/* Motion is progressive enhancement: text is visible without JavaScript. */
@keyframes enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes media-in{from{opacity:0;clip-path:inset(0 0 8% 0 round 100px 24px 24px 24px)}to{opacity:1;clip-path:inset(0 round 150px 28px 28px 28px)}}@keyframes accordion-in{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){.site-header{animation:enter 450ms var(--ease) both}.hero-copy>*{animation:enter 700ms var(--ease) both}.hero-copy>:nth-child(2){animation-delay:50ms}.hero-copy>:nth-child(3){animation-delay:110ms}.hero-copy>:nth-child(4){animation-delay:160ms}.hero-copy>:nth-child(5){animation-delay:210ms}.hero-copy>:nth-child(6){animation-delay:250ms}.hero-visual{animation:media-in 850ms var(--ease) 100ms both}.page-heading h1,.page-lead{animation:enter 650ms var(--ease) both}.page-lead{animation-delay:80ms}.reveal-pending{opacity:0;transform:translateY(24px)}.reveal-pending.reveal-card{transform:translateY(30px) scale(.985)}.reveal-pending.reveal-media{transform:scale(.97);clip-path:inset(0 0 6% 0 round 22px)}.reveal-pending.reveal-line{transform:translateX(-14px)}.reveal-in{animation:enter var(--reveal) var(--ease) both;animation-delay:var(--stagger,0ms)}.reveal-in.reveal-media{animation:media-soft 800ms var(--ease) both}@keyframes media-soft{from{opacity:0;transform:scale(.97);clip-path:inset(0 0 6% 0 round 22px)}to{opacity:1;transform:none;clip-path:inset(0 round 22px)}}@view-transition{navigation:auto}::view-transition-old(root){animation:120ms ease-out both dissolve}::view-transition-new(root){animation:260ms var(--ease) both enter}@keyframes dissolve{to{opacity:0}}}
@media(min-width:1001px) and (max-width:1200px){.container{width:calc(100% - 48px)}.desktop-nav{gap:14px;font-size:.8125rem}.header-inner{gap:12px}.header-actions{gap:4px}.brand small{display:none}.hero-visual{min-height:570px}.hero h1{font-size:7.6vw}.hero .button{font-size:.875rem;gap:12px;padding:14px 18px}.hero-note{bottom:170px}.program-card{padding:25px}}
@media(max-width:1000px){.container{width:calc(100% - 48px)}.desktop-nav{display:none}.header-inner{min-height:82px}.hero{gap:24px}.hero h1{font-size:7.7vw}.hero-visual{min-height:570px;border-top-left-radius:100px}.hero-note{min-width:170px;right:16px}.hero-description br{display:none}.hero .button{font-size:.875rem;padding:14px 18px;gap:12px}.quick-links>a{padding:23px 18px;gap:12px}.quick-links strong{font-size:.875rem}.quick-links small{font-size:.75rem}.program-card{padding:25px}.program-card h3{font-size:1.5rem}.program-art{height:115px}.program-code{font-size:4.5rem}.program-art>.icon{width:40px;height:40px}.content-columns{gap:30px;grid-template-columns:minmax(0,1fr) 235px}.footer-grid{grid-template-columns:1.5fr 1fr 1fr;gap:30px}.menu-toggle{position:relative;display:flex;flex-direction:column;gap:6px}.menu-toggle span{width:20px;height:2px;background:currentColor;transition:transform var(--ui) var(--ease)}.menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{position:absolute;top:100%;left:0;right:0;width:100%;max-height:calc(100dvh - 80px);overflow-y:auto;overscroll-behavior:contain;padding:20px 32px 35px;background:var(--canvas);border:0;box-shadow:0 25px 45px #06142b20;opacity:0;transform:translateY(-12px);transition:opacity var(--ui),transform 420ms var(--ease)}.mobile-nav.is-open{opacity:1;transform:none}.mobile-nav a{font-size:1.125rem;line-height:1.4;padding:16px 4px;opacity:0;transform:translateY(12px);transition:opacity var(--ui),transform 420ms var(--ease);transition-delay:0ms}.mobile-nav.is-open a{opacity:1;transform:none;transition-delay:calc(var(--menu-index,0)*25ms)}.menu-open .site-header{background:var(--canvas)}.resource-tile{padding:25px}.admission-banner{padding:46px}.admission-intro>div{padding:32px}}
@media(max-width:720px){.container{width:calc(100% - 36px)}.section{padding-block:64px}.utility{font-size:.75rem}.utility>.container{min-height:32px}.header-inner,.is-scrolled .header-inner{min-height:74px;gap:8px}.brand{gap:7px}.brand strong{font-size:1.3rem}.brand img{width:38px;height:38px}.header-actions{gap:4px}.header-actions .button.compact{display:none}.header-actions>.icon-button{width:40px;height:40px}.header-actions>.theme-toggle{display:inline-flex!important}.hero{grid-template-columns:1fr;gap:28px;padding-block:28px 35px}.hero-copy{padding:0}.hero .eyebrow{margin-bottom:18px;font-size:.75rem}.institution{font-size:.875rem;margin-bottom:23px}.hero h1{font-size:clamp(3.75rem,13.2vw,5.6rem);line-height:1.02;margin-bottom:17px}.hero h1 br:first-child{display:block}.hero-subtitle{font-size:1.6rem;margin-bottom:17px}.hero-description{font-size:1rem;margin-bottom:24px;max-width:450px}.hero .button{font-size:.875rem;padding:14px 18px;min-height:52px;gap:15px}.hero-visual{min-height:430px;border-radius:85px 22px 22px 22px;margin:0}.photo-label{left:24px;bottom:26px;right:24px;max-width:280px}.photo-label>span{font-size:1.5rem}.hero-note{right:18px;bottom:148px;padding:18px;min-width:165px}.hero-note strong{font-size:.9375rem;margin-top:10px}.media-caption{top:25px;right:20px;font-size:.75rem;padding:8px 12px}.quick-links{gap:0;border-radius:20px}.quick-links>a{padding:22px;border:0;border:0;gap:16px}.quick-links>a:first-child{border-radius:20px 20px 0 0}.quick-links>a:last-child{border:0;border-radius:0 0 20px 20px}.quick-links strong{font-size:1rem}.quick-links small{font-size:.8125rem}.section-heading{margin-bottom:28px;gap:16px}.section-heading .text-link{font-size:.875rem}.program-grid,.news-grid{gap:20px}.program-card{padding:27px}.program-card h3{font-size:1.85rem}.program-art{height:122px}.program-code{font-size:5.5rem}.program-art>.icon{width:48px;height:48px}.program-card p{font-size:1rem}.news-image{aspect-ratio:1.5}.news-card h3{font-size:1.4rem}.news-meta{font-size:.8125rem}.student-feature{gap:32px}.student-resources{padding:8px 22px}.student-resources>a{font-size:.9375rem}.admission-banner{padding:35px 26px;border-radius:24px;gap:24px}.admission-banner p:not(.eyebrow){font-size:1rem}.contact-teaser>div:last-child{gap:12px;font-size:.9375rem}.page-heading{padding-block:24px 35px;margin-bottom:28px}.page-heading h1{font-size:2.65rem;line-height:1.12}.is-article .page-heading h1{font-size:2.25rem}.breadcrumbs{font-size:.8125rem;margin-bottom:28px;gap:8px}.page-lead{font-size:1rem}.content-columns{grid-template-columns:1fr;gap:38px}.page-sidebar{position:static}.subheading{font-size:1.7rem}.document-link{padding:17px 13px;gap:12px;min-height:86px}.document-link strong{font-size:.9375rem}.document-link small{font-size:.8125rem}.document-link>.icon:first-child{width:35px;height:35px;padding:7px}.resource-group{padding-inline:16px}.resource-group summary{font-size:.9375rem}.resource-tile{padding:22px 18px}.resource-tile h2{font-size:1.3rem}.resource-tile p{font-size:.875rem}.resource-tile>.icon:last-child{right:17px}.resource-tiles{gap:14px}.steps>div{padding:27px 23px 24px 76px}.steps>div>span{left:22px;top:24px;width:36px;height:36px}.steps h3{font-size:1.25rem}.steps p{font-size:.9375rem}.admission-intro>div{padding:30px 25px}.admission-intro>img{border-radius:60px 0 0 0}.info-banner{padding:21px}.info-banner p{font-size:.875rem}.about-intro>img{border-radius:50px 20px 20px 20px}.facts{gap:18px}.facts span{font-size:.8125rem}.facts strong{font-size:3rem}.contact-details h2{font-size:1.5rem}.filter-bar{padding:10px;gap:10px}.filter-bar .button{font-size:.875rem;padding:12px 20px}.results-status{font-size:.875rem}.article-meta{font-size:.8125rem;gap:12px}.share-button{font-size:.8125rem;padding:10px 14px}.share-status{flex-basis:100%}.share-status:empty{display:none}.article-prose{font-size:1rem}.search-result{padding:22px}.search-result h2{font-size:1.3rem}.footer{padding-top:50px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px}.footer-grid>div:last-child{display:block}.footer-signature{font-size:12vw;padding-bottom:28px}.footer p,.footer-grid>div>a:not(.brand){font-size:.875rem}.footer-bottom{font-size:.75rem;line-height:1.65}.back-top{right:16px;bottom:16px}.mobile-nav{padding-inline:24px}}
@media(max-width:380px){.hero h1{font-size:12.8vw}.hero .button{font-size:.8125rem;gap:9px;padding-inline:14px}.hero-visual{min-height:385px}.header-actions>a.icon-button{display:none}.program-card h3{font-size:1.65rem}.facts{grid-template-columns:1fr;gap:20px}.facts>div{flex-direction:column;gap:8px;align-items:center}.facts strong{margin:0}.facts span{max-width:180px}}
@media(max-width:720px){.footer-partners{padding-bottom:42px}.footer-partners-heading{display:block;margin-bottom:18px}.footer-partners-heading h2{margin-top:8px}.footer-partners-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.footer-partner{min-height:132px;padding:14px 12px}.footer-partner img{width:38px;height:38px}.footer-partner span:not(.footer-partner-arrow){font-size:.72rem}}
@media(max-width:720px){.facts strong{font-size:clamp(140px,38vw,250px)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-pending{opacity:1!important;transform:none!important;clip-path:none!important}*,*:before,*:after{animation:none!important;transition:none!important}.hero-photo{transform:none}.hero-note{transform:none}::view-transition-group(*),::view-transition-new(*),::view-transition-old(*){animation:none!important}}
@media print{.site-header,.utility,.back-top,.footer,.page-sidebar{display:none!important}body{background:white;color:black}.reveal-pending{opacity:1!important;transform:none!important}.container{width:100%}.content-columns{display:block}}

/* Keep the homepage transparent so the floating nebula remains the only background layer. */
.home-page main{background:transparent!important;animation:none!important}

@keyframes homepage-nebula-surge{0%{background-position:0% 15%,100% 0%,80% 100%,15% 85%,50% 45%}25%{background-position:25% 0%,78% 22%,100% 72%,0% 62%,62% 30%}55%{background-position:72% 18%,100% 64%,70% 100%,22% 100%,35% 66%}80%{background-position:100% 58%,56% 100%,18% 82%,0% 28%,70% 48%}100%{background-position:78% 100%,8% 72%,0% 35%,32% 0%,45% 78%}}
html:has(.home-page) body{background:radial-gradient(ellipse 34% 42% at 0% 12%,#a855f766,transparent 72%),radial-gradient(ellipse 40% 36% at 100% 8%,#ec489963,transparent 72%),radial-gradient(ellipse 38% 44% at 92% 92%,#22c55e5c,transparent 74%),radial-gradient(ellipse 34% 40% at 8% 88%,#facc1558,transparent 72%),radial-gradient(ellipse 52% 46% at 50% 48%,#3b82f65c,transparent 76%),var(--canvas);background-size:220% 220%;animation:homepage-nebula-surge 22s ease-in-out infinite alternate}
@media(prefers-reduced-motion:reduce){html:has(.home-page) body{animation:none;background-position:50% 50%}}

/* The base stays dark; only luminous nebula clouds move above it. */
html:has(.home-page) body{background:var(--canvas)!important;animation:none!important}
html:has(.home-page) body:before,html:has(.home-page) body:after{z-index:0;mix-blend-mode:screen;pointer-events:none}
html:has(.home-page) body:before{filter:blur(24px);opacity:.96;animation:homepage-nebula-float 24s ease-in-out infinite alternate}
html:has(.home-page) body:after{filter:blur(36px);opacity:.9;animation:homepage-nebula-glow 31s ease-in-out infinite alternate}
html:has(.home-page) :is(.site-header,main,.footer,.utility){position:relative;z-index:1}
.back-top{position:fixed!important;right:25px;bottom:25px;z-index:300!important}
@media(max-width:720px){.back-top{right:16px;bottom:16px}}
/* Keep the floating header visible while the page scrolls. */
.site-header{position:fixed!important;top:12px;left:50%;width:min(1320px,calc(100% - 48px));margin:0;transform:translateX(-50%)!important;z-index:200!important}
.site-header + main{padding-top:112px}
@media(max-width:720px){.site-header{top:max(8px,env(safe-area-inset-top));left:10px;right:10px;width:auto;transform:none!important}.site-header + main{padding-top:98px}}
/* Remove the warp layer and soften the viewport edges with a simple blur fade. */
main:after,.footer:after{display:none!important;animation:none!important}
html:before,html:after{content:"";position:fixed;left:0;right:0;z-index:8;pointer-events:none;backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);opacity:.42}
html:before{top:0;height:16vh;background:linear-gradient(to bottom,color-mix(in srgb,var(--canvas) 76%,transparent),transparent);mask-image:linear-gradient(to bottom,#000,transparent);-webkit-mask-image:linear-gradient(to bottom,#000,transparent)}
html:after{bottom:0;height:18vh;background:linear-gradient(to top,color-mix(in srgb,var(--canvas) 76%,transparent),transparent);mask-image:linear-gradient(to top,#000,transparent);-webkit-mask-image:linear-gradient(to top,#000,transparent)}
@media(prefers-reduced-motion:reduce){html:before,html:after{backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(max-width:1000px){.site-header .mobile-nav,.menu-open .site-header .mobile-nav{background:var(--surface)!important;background-color:var(--surface)!important;background-image:none!important;background-blend-mode:normal!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;z-index:40;isolation:isolate;box-shadow:0 18px 42px color-mix(in srgb,var(--page-hue,220) 24%,#07152c 45%)}}
@media(max-width:1000px){.menu-open .site-header{background:var(--surface)!important;background-color:var(--surface)!important}}
@media(max-width:1000px){.site-header,.menu-open .site-header{position:sticky;z-index:200!important;isolation:isolate}.site-header .mobile-nav,.menu-open .site-header .mobile-nav{position:absolute;z-index:201!important}.home-page main{position:relative;z-index:1}}
@media(min-width:1001px){.menu-open .site-header{position:sticky;z-index:200!important;isolation:isolate}.menu-open .site-header .mobile-nav{position:absolute;z-index:201!important}}

/* A subtle horizon warp at the bottom of every page. */
@keyframes page-warp-drift{0%{transform:translate3d(-2%,8%,0) rotate(-2deg) scale(1)}50%{transform:translate3d(3%,2%,0) rotate(2deg) scale(1.08)}100%{transform:translate3d(-1%,-3%,0) rotate(-1deg) scale(1.03)}}
main:after{content:"";position:fixed;left:-18%;right:-18%;bottom:-27vh;height:48vh;z-index:0;pointer-events:none;border-radius:50% 50% 0 0;background:radial-gradient(ellipse at 50% 72%,#000000cf 0 19%,#00000088 31%,transparent 57%),conic-gradient(from 210deg at 50% 72%,transparent 0 18%,color-mix(in srgb,var(--accent) 20%,transparent) 28%,color-mix(in srgb,var(--secondary) 18%,transparent) 38%,transparent 51%,color-mix(in srgb,#8b5cf6 16%,transparent) 67%,transparent 80%);filter:blur(22px);mix-blend-mode:screen;opacity:.5;transform-origin:50% 75%;animation:page-warp-drift 18s ease-in-out infinite alternate}
@media(prefers-reduced-motion:reduce){main:after{animation:none}}

/* Softer card reveals: a short lift instead of a full pop-in. */
@keyframes card-soft-in{from{opacity:0;transform:translate3d(0,12px,0) scale(.995)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@media(prefers-reduced-motion:no-preference){.reveal-in.reveal-card{animation:card-soft-in 900ms cubic-bezier(.2,.72,.28,1) both;animation-delay:var(--stagger,0ms)}.program-card,.news-card,.resource-tile,.document-link,.search-result{transition-duration:650ms}.program-card:hover,.resource-tile:hover{transform:translateY(-3px)}.news-card:hover{transform:translateY(-3px)}}

@media(prefers-reduced-motion:no-preference){.reveal-in.reveal-line{animation-name:line-in}.reveal-in.reveal-card{animation-name:card-in}@keyframes line-in{from{opacity:0;transform:translateX(-14px)}to{opacity:1;transform:none}}@keyframes card-in{from{opacity:0;transform:translateY(30px) scale(.985)}to{opacity:1;transform:none}}}

@media(prefers-reduced-motion:no-preference){.reveal-in.reveal-card{animation-name:card-soft-in;animation-duration:900ms;animation-timing-function:cubic-bezier(.2,.72,.28,1)}}

/* Visible, lightweight warp ring at the bottom of the viewport. */
main:after{left:-10%;right:-10%;bottom:-8vh;height:42vh;background:radial-gradient(ellipse at 50% 108%,#050813d9 0 18%,#101831aa 25%,transparent 47%),radial-gradient(ellipse at 50% 106%,transparent 20%,#60a5fa55 26%,#a855f744 32%,transparent 49%),conic-gradient(from 205deg at 50% 108%,transparent 0 17%,#22d3ee38 26%,transparent 38%,#f472b633 54%,transparent 69%,#facc1530 79%,transparent 88%);filter:blur(12px);opacity:.68;animation:page-warp-drift 21s ease-in-out infinite alternate;will-change:transform}
main:after{display:none}
.footer:after{content:"";position:absolute;left:-10%;right:-10%;bottom:-15vh;height:48vh;pointer-events:none;border-radius:50% 50% 0 0;background:radial-gradient(ellipse at 50% 108%,#050813d9 0 18%,#101831aa 25%,transparent 47%),radial-gradient(ellipse at 50% 106%,transparent 20%,#60a5fa55 26%,#a855f744 32%,transparent 49%),conic-gradient(from 205deg at 50% 108%,transparent 0 17%,#22d3ee38 26%,transparent 38%,#f472b633 54%,transparent 69%,#facc1530 79%,transparent 88%);filter:blur(12px);opacity:.52;animation:page-warp-drift 21s ease-in-out infinite alternate;will-change:transform}
.footer>*{position:relative;z-index:1}
.footer-bottom.home-stage{opacity:1!important;transform:none!important;clip-path:none!important;will-change:auto}
@media(max-width:720px){.council-stats strong{height:1.04em;display:flex;align-items:flex-end;justify-content:center;line-height:1;overflow:visible}.council-stats span{display:flex;align-items:flex-start;justify-content:center}}

/* A slow, layered nebula for the homepage. */
@keyframes homepage-nebula-float{0%{transform:translate3d(-3%,-2%,0) scale(1)}30%{transform:translate3d(4%,2%,0) scale(1.08)}62%{transform:translate3d(1%,-4%,0) scale(1.03)}100%{transform:translate3d(-4%,3%,0) scale(1.1)}}
@keyframes homepage-nebula-glow{0%{transform:translate3d(3%,2%,0) scale(1.04) rotate(0deg);opacity:.55}50%{transform:translate3d(-4%,-2%,0) scale(1.14) rotate(5deg);opacity:.82}100%{transform:translate3d(2%,-4%,0) scale(1.06) rotate(-4deg);opacity:.62}}
html:has(.home-page) body:before{inset:-28vh -24vw;background:radial-gradient(ellipse 32% 38% at 10% 18%,#a855f748,transparent 72%),radial-gradient(ellipse 38% 32% at 83% 12%,#ec489947,transparent 72%),radial-gradient(ellipse 34% 42% at 92% 75%,#22c55e3d,transparent 74%),radial-gradient(ellipse 30% 36% at 18% 88%,#facc1540,transparent 72%),radial-gradient(ellipse 46% 38% at 52% 48%,#3b82f644,transparent 76%);filter:blur(10px);animation:homepage-nebula-float 30s ease-in-out infinite alternate}
html:has(.home-page) body:after{inset:-24vh -20vw;background:radial-gradient(ellipse 25% 30% at 27% 35%,#f472b640,transparent 70%),radial-gradient(ellipse 30% 34% at 72% 62%,#6366f145,transparent 72%),radial-gradient(ellipse 24% 30% at 48% 90%,#84cc1638,transparent 70%);filter:blur(22px);animation:homepage-nebula-glow 38s ease-in-out infinite alternate}

/* Borderless surfaces: tone and soft shadows provide separation. */
:root,[data-theme="light"]{--card:#eff3f9;--card-hover:#e8eef8;--card-shadow:0 8px 28px #182f5710;--card-shadow-hover:0 16px 38px #182f571c}
[data-theme="dark"]{--card:#101e33;--card-hover:#16263e;--card-shadow:0 10px 30px #00000030;--card-shadow-hover:0 18px 40px #00000048}
:is(.program-card,.news-card,.quick-links,.student-resources,.resource-tile,.page-sidebar,.resource-group,.document-link,.search-result,.filter-bar,.empty-state,.info-banner,.inline-cta,.admission-intro,.steps>div){background:var(--card);box-shadow:var(--card-shadow)}
:is(.program-card,.news-card,.resource-tile,.document-link,.search-result):hover{background:var(--card-hover);box-shadow:var(--card-shadow-hover)}
:is(.nav-dropdown,.mobile-nav){background:var(--card);box-shadow:var(--card-shadow-hover)}
:is(.theme-toggle,.share-button,.back-top,.pagination>a,.button.secondary){background:var(--card);box-shadow:var(--card-shadow)}
.program-label{background:var(--blue-soft)}.program-code{font-size:clamp(3.5rem,5.5vw,5rem);letter-spacing:-.06em;opacity:.65}.program-bottom{padding-top:24px}
.eyebrow:before,.program-card:after,.page-heading:after{content:none}
.socials a{background:#192b44;box-shadow:0 5px 16px #0002}
.prose table{border-collapse:separate;border-spacing:0 5px}.prose td,.prose th{background:var(--card)}.prose tr:nth-child(even) td{background:var(--soft)}
.student-resources>a,.page-sidebar>a,.mobile-nav a{border-radius:12px}.student-resources>a:hover,.page-sidebar>a:hover,.mobile-nav a:hover{background:var(--blue-soft)}
.search-field,.select-field select{background:var(--canvas);box-shadow:inset 0 2px 6px #07183306}.search-field{border-radius:50px}
/* A full search field stays available at every screen size. */
.header-inner{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;column-gap:32px;row-gap:0;padding-block:12px 0;min-height:0}
.site-header .brand{grid-column:1;grid-row:1;gap:4px}.site-header .brand img{width:96px;height:72px;border-radius:0;object-fit:contain}.site-header .brand small{display:block}
.header-search{grid-column:2;grid-row:1;display:flex;align-items:center;gap:6px;width:100%;min-width:0;max-width:700px;justify-self:center;border-radius:100px;background:var(--card);box-shadow:var(--card-shadow);padding:4px 18px 4px 8px;transition:background var(--ui),box-shadow var(--ui)}
.header-search:hover,.header-search:focus-within{background:var(--card-hover);box-shadow:var(--card-shadow-hover)}
.header-search button{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;background:transparent;color:var(--muted);border:0;border-radius:50%;appearance:none;-webkit-appearance:none;cursor:pointer}
.header-search button:hover{color:var(--accent);background:var(--blue-soft)}.header-search .icon{width:20px;height:20px}
.header-search input{width:100%;min-width:0;background:transparent;color:var(--ink);font:inherit;font-size:1rem;padding:11px 2px;border:0;border-radius:24px;appearance:none;-webkit-appearance:none;box-shadow:none}.header-search input::placeholder{color:var(--muted);opacity:1}
.header-search input:focus,.header-search input:focus-visible,.header-search button:focus,.header-search button:focus-visible,.search-field input:focus-visible{outline:none;box-shadow:none}
.header-search button:focus-visible{color:var(--accent);background:var(--blue-soft)}
.search-field:focus-within,.header-search:focus-within{outline:none;background:var(--card-hover);box-shadow:0 8px 30px color-mix(in srgb,var(--accent) 18%,transparent)}
.search-field input{appearance:none;-webkit-appearance:none}
.header-actions{grid-column:3;grid-row:1}.desktop-nav{grid-column:1/-1;grid-row:2;justify-content:center;gap:32px}.desktop-nav>a,.nav-group>a{padding-block:18px}
.is-scrolled .header-inner{min-height:0}.is-scrolled .desktop-nav>a,.is-scrolled .nav-group>a{padding-block:12px}
@media(max-width:1000px){.header-inner{padding-block:10px;column-gap:18px}.site-header .brand small{display:none}.site-header .brand img{width:84px;height:64px}.header-actions .button.compact{display:none}.mobile-nav{max-height:calc(100dvh - 84px)}.desktop-nav{display:none}}
@media(max-width:720px){.header-inner,.is-scrolled .header-inner{grid-template-columns:1fr auto;min-height:0;gap:10px;padding-block:8px 14px}.site-header .brand{justify-self:start}.site-header .brand img{width:84px;height:64px}.site-header .brand strong{font-size:1.4rem}.header-actions{grid-column:2}.header-search{grid-column:1/-1;grid-row:2;max-width:none;min-height:48px}.header-search input{font-size:1rem}.mobile-nav{max-height:calc(100dvh - 148px)}.program-code{font-size:4rem}}

/* Links use color and motion feedback without underlines in any state. */
a:any-link,a:any-link *{text-decoration-line:none!important}

/* A quiet, slowly drifting atmospheric background in the college palette. */
/* Homepage invitation: luminous blue folds, with real selectable copy. */
.future-invitation{padding-block:28px}
.future-banner{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;gap:32px;min-height:290px;padding:64px 56px;border-radius:32px;background:#08183f;color:#fff;box-shadow:0 20px 65px #1449cf25;transition:box-shadow 550ms,transform 550ms cubic-bezier(.22,1,.36,1)}
.future-art{position:absolute;inset:0;z-index:-1;overflow:hidden;border-radius:inherit;background:linear-gradient(115deg,#2544b8,#3159ee 60%,#547bf3);box-shadow:inset 0 0 0 1px #8daaff8a,inset 0 0 28px #458cff42}
.future-art:before,.future-art:after{display:none}
.future-art:before{content:"";position:absolute;width:74%;height:200%;left:42%;top:21%;border-radius:50%;transform:rotate(-27deg);background:linear-gradient(115deg,#7ce9ff 1%,#2785e8 10%,#1a43b8 28%,#14226a 60%);box-shadow:-2px -2px 12px #9fedffb0}
.future-art:after{content:"";position:absolute;width:56%;height:240%;left:68%;top:-108%;border-radius:45%;transform:rotate(29deg);background:linear-gradient(95deg,#7bd7ff 0%,#4665e4 8%,#263bb2 35%,#12358f 80%);box-shadow:-2px 0 12px #b3efffb0}
.future-copy{position:relative;max-width:80%;z-index:1}
.future-copy h2{font-family:"Arial Black",Arial,sans-serif;font-size:clamp(1.8rem,3vw,3rem);font-weight:900;letter-spacing:-.025em;line-height:1.2;color:#fff;margin:0 0 14px;text-wrap:balance}
.future-copy p{font-size:clamp(1rem,1.5vw,1.35rem);font-weight:400;color:#d5def5;line-height:1.6;margin:0}
.future-arrow{flex:0 0 110px;display:flex;justify-content:center;color:#fff;transition:transform 650ms cubic-bezier(.22,1,.36,1)}
.future-arrow .icon{width:110px;height:72px;stroke-width:1.5;filter:drop-shadow(0 0 10px #e7f6ff38)}
.future-star{position:absolute;background:#fff;clip-path:polygon(50% 0,58% 32%,68% 42%,100% 50%,68% 58%,58% 68%,50% 100%,42% 68%,32% 58%,0 50%,32% 42%,42% 32%);pointer-events:none}
.future-star-large{width:88px;height:88px;left:14px;top:-36px}
.future-star-small{width:48px;height:48px;left:59%;top:28px;opacity:.9}
.future-banner:hover{color:#fff;box-shadow:0 22px 80px #285bed40;transform:translateY(-3px)}
.future-banner:hover .future-arrow{transform:translateX(10px)}
.future-banner:focus-visible{outline:3px solid var(--accent);outline-offset:8px}
@media(max-width:720px){.future-invitation{padding-block:20px}.future-banner{min-height:300px;padding:54px 26px 28px;border-radius:26px;flex-wrap:wrap;gap:22px}.future-copy{max-width:100%}.future-copy h2{font-size:clamp(1.65rem,6.6vw,2.5rem)}.future-copy p{font-size:1rem;max-width:280px}.future-arrow{flex-basis:100%;justify-content:flex-end}.future-arrow .icon{width:74px;height:44px}.future-star-large{width:64px;height:64px;top:-24px;left:14px}.future-star-small{width:30px;height:30px;left:auto;right:28px;top:25px}.future-art:before{left:28%;top:50%;width:140%}.future-art:after{left:85%;width:100%}}
@media(prefers-reduced-motion:reduce){.future-banner,.future-arrow{transition:none}.future-banner:hover,.future-banner:hover .future-arrow{transform:none}}
@media print{.future-art,.future-star{display:none}.future-banner{box-shadow:none;background:none}.future-copy h2,.future-copy p,.future-arrow{color:#000}}
/* Main section titles only; news listings and articles retain their typography. */
.core-page .page-heading h1,.core-page .schedule-heading h1{font-family:"Arial Black",Arial,sans-serif;font-weight:900;letter-spacing:-.035em;line-height:1.12;overflow-wrap:anywhere}
/* Quiet luminous tables, with a clear reading track across each row. */
main .table-scroll{border-radius:20px;padding:6px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 9%,var(--card)),var(--card) 65%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 16%,transparent),0 10px 32px color-mix(in srgb,var(--accent) 6%,transparent);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--accent) 42%,var(--muted)) transparent;transition:box-shadow 350ms ease;max-width:100%;overscroll-behavior-x:contain}
main .table-scroll:focus-visible{outline:2px solid var(--accent);outline-offset:4px;box-shadow:0 0 24px color-mix(in srgb,var(--accent) 15%,transparent)}
main .table-scroll table{width:100%;border-collapse:separate;border-spacing:0 3px;line-height:1.6}
main .table-scroll :is(th,td){padding:16px 18px;vertical-align:top;color:var(--ink);transition:background-color 240ms,box-shadow 240ms;background:color-mix(in srgb,var(--card) 88%,var(--surface))}
main .table-scroll tr:nth-child(even) td{background:color-mix(in srgb,var(--blue-soft) 36%,var(--card))}
main .table-scroll th{background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 17%,var(--card)),color-mix(in srgb,var(--accent) 6%,var(--card)));color:var(--ink);font-weight:700;padding:16px 12px;box-shadow:inset 0 -1px 0 color-mix(in srgb,var(--accent) 24%,transparent)}
main .table-scroll tr>:first-child{border-radius:12px 0 0 12px}main .table-scroll tr>:last-child{border-radius:0 12px 12px 0}
main .table-scroll tr>:only-child{border-radius:12px}
main .table-scroll tr:focus-within>td{background:color-mix(in srgb,var(--accent) 11%,var(--card))}
@media(hover:hover){
 main .table-scroll tbody tr:hover>td{background:color-mix(in srgb,var(--accent) 9%,var(--card))}
main .table-scroll tbody td:hover{background:color-mix(in srgb,var(--accent) 15%,var(--card));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 38%,transparent),0 0 18px color-mix(in srgb,var(--accent) 12%,transparent)}

/* Social support: calm blue and teal table with a clean reading rhythm. */
.social-support-page main .table-scroll{padding:0;background:transparent;border:0;border-radius:18px;box-shadow:none;overflow-x:auto}
.social-support-page main .table-scroll table{border-collapse:separate;border-spacing:0 8px;min-width:640px}
.social-support-page main .table-scroll td{padding:16px 20px;background:#102947;color:#e8f3ff;border:0;box-shadow:none;line-height:1.55}
.social-support-page main .table-scroll tr:nth-child(even) td{background:#123451}
.social-support-page main .table-scroll tr:first-child td{background:#1b4660;color:#b9ecf0;font-weight:700}
.social-support-page main .table-scroll tr td:first-child{border-radius:14px 0 0 14px;font-weight:650;color:#72d8df}
.social-support-page main .table-scroll tr td:last-child{border-radius:0 14px 14px 0;color:#d4f0ff;font-variant-numeric:tabular-nums}
.social-support-page main .table-scroll tbody tr:hover td,.social-support-page main .table-scroll tbody td:hover{background:#18546a;box-shadow:none}
 main .schedule-mobile-lesson:hover{background:color-mix(in srgb,var(--accent) 10%,var(--card))}
}
main .schedule-day{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 14%,transparent),0 7px 22px color-mix(in srgb,var(--accent) 5%,transparent)}
main .schedule-day>h3{background:linear-gradient(110deg,color-mix(in srgb,var(--accent) 16%,var(--card)),transparent);border-radius:12px;padding:12px}
main .schedule-mobile-lesson{border-radius:12px;transition:background-color 250ms,box-shadow 250ms}
main .schedule-mobile-lesson:active{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--accent) 30%,transparent);background:color-mix(in srgb,var(--accent) 10%,var(--card))}
@media(max-width:720px){main .table-scroll :is(th,td){padding:13px 14px;font-size:.875rem;min-width:120px}}
@media print{main .table-scroll,main .schedule-table-scroll{overflow:visible;box-shadow:none;background:none}main .table-scroll :is(th,td){background:none;color:#000}}
.cosmic-backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none;overflow:hidden;contain:strict;opacity:.38}
.location-photo.panorama-frame{min-height:480px;background:var(--card);box-shadow:var(--card-shadow);isolation:isolate}
.location-photo.panorama-frame>iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:var(--card)}
.location-photo.panorama-frame>div{z-index:2;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:#142332d9}
@media(max-width:720px){.location-photo.panorama-frame{min-height:360px}}
@media(prefers-reduced-motion:reduce){.location-photo.panorama-frame>iframe{scroll-behavior:auto}}
.cosmic-backdrop>div{position:absolute;inset:-5%;pointer-events:none}
.cosmic-nebula{background:radial-gradient(ellipse at 72% 28%,#a8c6ef16,transparent 48%),radial-gradient(ellipse at 42% 53%,#80b8c629,transparent 47%),linear-gradient(151deg,transparent 22%,#83aeca09 33%,#c7dbe724 43%,#a6c3d71c 48%,#1539680a 53%,#8caaca15 60%,transparent 75%);filter:blur(18px);animation:cosmic-nebula-breathe 44s ease-in-out infinite alternate}
.cosmic-dust{background:url('/cosmos.svg') center/cover no-repeat;opacity:.85;animation:cosmic-drift 105s ease-in-out infinite alternate}
.cosmic-glints{background-image:radial-gradient(circle at 18% 65%,#d2e4eea0 0 .55px,transparent 1.8px),radial-gradient(circle at 43% 52%,#e9e1f09c 0 .6px,transparent 2px),radial-gradient(circle at 66% 39%,#c6e6ea99 0 .5px,transparent 1.7px),radial-gradient(circle at 82% 25%,#e3ebfa80 0 .65px,transparent 2px),radial-gradient(circle at 55% 47%,#c4dfeb90 0 .5px,transparent 1.8px),radial-gradient(circle at 32% 59%,#ebf0ef80 0 .45px,transparent 1.6px);opacity:.28;animation:cosmic-shimmer 19s ease-in-out infinite alternate}
[data-theme="dark"] .cosmic-backdrop{opacity:.9}
[data-theme="dark"] .cosmic-nebula{background:radial-gradient(ellipse at 76% 18%,#06152e45,transparent 57%),radial-gradient(ellipse at 28% 78%,#09192d30,transparent 56%),linear-gradient(151deg,transparent 22%,#82aec80b 33%,#b8d2e21e 43%,#849eb31c 48%,#04142d24 53%,#7ea8b415 60%,transparent 75%)}
@keyframes cosmic-drift{from{transform:translate3d(-8px,5px,0);opacity:.75}to{transform:translate3d(14px,-9px,0);opacity:.95}}
@keyframes cosmic-nebula-breathe{from{transform:translate3d(-1.5%,-1%,0) scale(1.01);opacity:.72}to{transform:translate3d(2%,1.5%,0) scale(1.07);opacity:1}}
@keyframes cosmic-shimmer{0%{opacity:.14;transform:translate3d(-3px,2px,0) scale(.995)}45%{opacity:.42}100%{opacity:.24;transform:translate3d(5px,-4px,0) scale(1.012)}}
@media(prefers-reduced-motion:reduce){.cosmic-nebula,.cosmic-dust,.cosmic-glints{animation:none!important}}
@media print{.cosmic-backdrop{display:none}}
body{isolation:isolate;position:relative}
body:before,body:after{content:"";position:fixed;inset:-18vh -15vw;z-index:-1;pointer-events:none;will-change:transform;background-repeat:no-repeat}
body:before{background:radial-gradient(ellipse at 16% 25%,#25b9b530,transparent 48%),radial-gradient(ellipse at 82% 65%,#548ced30,transparent 52%),radial-gradient(ellipse at 50% 95%,#102b6620,transparent 50%);animation:atmosphere-drift 38s ease-in-out infinite alternate}
body:after{background:radial-gradient(ellipse at 70% 18%,#ffffff85,transparent 45%),radial-gradient(ellipse at 25% 80%,#59b9d225,transparent 50%);animation:atmosphere-glow 46s ease-in-out infinite alternate}
[data-theme="dark"] body:before{background:radial-gradient(ellipse at 16% 25%,#159d9c25,transparent 48%),radial-gradient(ellipse at 82% 65%,#3575d72b,transparent 52%),radial-gradient(ellipse at 50% 95%,#17376b50,transparent 50%)}
[data-theme="dark"] body:after{opacity:.65;background:radial-gradient(ellipse at 70% 18%,#c9e7ff0d,transparent 45%),radial-gradient(ellipse at 25% 80%,#299ca52b,transparent 50%)}
.home-page main{background:transparent}.news-section{background:color-mix(in srgb,var(--soft) 58%,transparent)}
@keyframes atmosphere-drift{from{transform:translate3d(-3%,-2%,0) scale(1)}to{transform:translate3d(5%,4%,0) scale(1.09)}}
@keyframes atmosphere-glow{from{transform:translate3d(3%,2%,0) scale(1.06);opacity:.5}to{transform:translate3d(-4%,-3%,0) scale(1);opacity:.85}}
.site-header .brand{max-width:385px;gap:10px}.site-header .brand>span{min-width:0}.site-header .brand strong{font-size:1rem;line-height:1.35;letter-spacing:-.02em;font-weight:650;display:block;text-wrap:balance}.site-header .brand img{flex:0 0 96px}.header-inner{column-gap:24px;grid-template-columns:minmax(270px,385px) minmax(180px,1fr) auto}.institution{max-width:420px}.institution-parent{display:inline-block;margin-top:8px;color:var(--muted)}
/* Full image compositions, including text on posters, remain visible. */
.news-image{aspect-ratio:16/10;height:auto;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--blue-soft) 60%,var(--card));overflow:hidden}
.news-image img{width:100%;height:100%;object-fit:contain;object-position:center}.news-card:hover .news-image img{transform:none}.news-card{padding-bottom:24px}.news-card h3{margin-bottom:22px}.news-card .news-meta{margin-bottom:16px}
/* Editorial rhythm: readable prose, generous photo spreads and real headings. */
.article-container{max-width:1160px}.is-article .page-heading{max-width:1160px;padding-bottom:26px;margin-bottom:10px}.is-article .page-heading h1{max-width:1040px;font-size:clamp(2.25rem,4.5vw,4.6rem);line-height:1.1}.is-article .breadcrumbs{margin-bottom:32px}
.editorial-section>a{display:inline-block;margin:5px 8px 5px 0;overflow-wrap:anywhere}.editorial-section a[href*="/hashtag/"]{display:inline-block;padding:6px 12px;margin:5px 6px 5px 0;background:var(--blue-soft);border-radius:18px;font-size:.82rem;line-height:1.6}
.article-meta{padding:18px 0 28px;gap:20px;margin-bottom:24px}.article-meta time{font-variant-numeric:tabular-nums}.article-meta>span:not(.share-status){padding:7px 13px;background:var(--blue-soft);border-radius:30px}
.article-prose{max-width:none}.editorial-flow{display:grid;gap:36px}.editorial-section{width:min(100%,780px);margin-inline:auto;padding:32px 38px;background:color-mix(in srgb,var(--card) 88%,transparent);box-shadow:var(--card-shadow);border-radius:26px}
.editorial-section:first-child{background:transparent;box-shadow:none;padding-top:0}.editorial-section>p:last-child,.editorial-section>ul:last-child,.editorial-section>ol:last-child{margin-bottom:0}.article-prose .article-introduction{font-size:clamp(1.15rem,1.7vw,1.4rem);font-weight:500;line-height:1.75;color:var(--ink);letter-spacing:-.015em}
.article-prose p{line-height:1.85;color:var(--muted);text-wrap:pretty}.article-prose strong,.article-prose b{color:var(--ink)}.article-prose h2,.article-prose h3{margin-top:0}.article-prose li{padding:10px 5px 10px 10px;margin-bottom:6px}.article-prose li::marker{color:var(--accent)}.article-prose blockquote{padding:24px 28px;border-radius:20px;background:var(--blue-soft);font-size:1.12rem}
.editorial-gallery{display:flex;flex-direction:column;gap:24px;align-items:stretch}.editorial-gallery.photo-grid{display:flex;flex-direction:column}.editorial-photo{min-width:0;overflow:hidden;border-radius:24px;background:color-mix(in srgb,var(--card) 85%,transparent);box-shadow:var(--card-shadow);padding:12px}
.editorial-photo :is(p,figure,a){margin:0;display:block}.article-prose .editorial-photo img{display:block;margin:0 auto;width:100%;height:auto;max-height:720px;object-fit:contain;border-radius:16px}.article-prose .single-photo img,.article-prose .editorial-photo:last-child:nth-child(odd) img{height:auto;max-height:720px;object-fit:contain}.article-prose figcaption{padding:14px 10px 4px;line-height:1.6}.article-hero{height:auto;max-height:660px;object-fit:contain;background:var(--card);padding:12px;box-shadow:var(--card-shadow);margin-bottom:40px}.article-back{display:flex;justify-content:center;padding:25px;margin-top:38px;background:var(--card);border-radius:50px;width:fit-content;margin-inline:auto}
@media(max-width:1000px){.header-inner{grid-template-columns:minmax(260px,360px) minmax(160px,1fr) auto;column-gap:14px}.site-header .brand img{flex-basis:84px}.site-header .brand strong{font-size:.9rem}}
@media(max-width:720px){.header-inner,.is-scrolled .header-inner{grid-template-columns:minmax(0,1fr) auto;gap:10px}.site-header .brand{max-width:100%;gap:4px}.site-header .brand img{width:64px;height:58px;flex-basis:64px}.site-header .brand strong{font-size:.77rem;line-height:1.35;text-wrap:pretty}.header-actions{gap:2px}.header-actions>.icon-button{width:36px;height:40px}.editorial-flow{gap:24px}.editorial-section{padding:24px 20px;border-radius:22px}.editorial-section:first-child{padding-inline:4px}.editorial-gallery.photo-grid{grid-template-columns:1fr}.editorial-gallery{gap:16px}.editorial-photo{padding:8px;border-radius:20px}.article-prose .editorial-photo img{height:auto;max-height:620px;border-radius:14px}.article-meta{gap:10px;font-size:.75rem}.article-meta .share-button{margin-left:0}.article-hero{padding:8px;margin-bottom:28px}.is-article .page-heading h1{font-size:2.2rem}.institution-parent{margin-top:6px}}
@media(prefers-reduced-motion:reduce){body:before,body:after{animation:none;will-change:auto}}
@media print{body:before,body:after{display:none}.editorial-section,.editorial-photo{box-shadow:none;background:transparent;break-inside:avoid}}

/* Student council: full roster on desktop, focused role tabs on phones. */
/* Shared council-style tables; schedule tables never receive this wrapper class. */
main .warm-table-scroll{padding:0!important;border:0!important;border-radius:0;background:transparent!important;box-shadow:none!important;overflow-x:auto;max-width:100%;scrollbar-color:#c6a44e transparent;transition:none}
main .warm-table-scroll:focus-visible{outline:2px solid #c6a44e;outline-offset:4px;box-shadow:none}
main .warm-table-scroll table{width:100%;border-collapse:separate!important;border-spacing:0 6px!important;background:transparent!important;border:0!important;box-shadow:none!important;line-height:1.6}
main .warm-table-scroll :is(thead,tbody,tfoot){background:transparent!important;border:0!important;box-shadow:none!important}
main .warm-table-scroll tr,main .warm-table-scroll tr:hover{background:linear-gradient(105deg,#f2c96b21,#dfb44912)!important;border:0!important;box-shadow:none!important;transition:none}
main .warm-table-scroll thead tr{background:linear-gradient(115deg,#f2c96b2b,#d9913814)!important}
main .warm-table-scroll table :is(th,td),main .warm-table-scroll table tr:nth-child(even) td,main .warm-table-scroll table tr:hover>:is(th,td),main .warm-table-scroll table tr:focus-within>td,main .warm-table-scroll table td:hover{padding:18px 20px;background:transparent!important;color:var(--ink);border:0!important;box-shadow:none!important;transition:none}
main .warm-table-scroll table th{font-weight:700;text-align:left}
main .warm-table-scroll table tr>:first-child{border-radius:16px 0 0 16px}
main .warm-table-scroll table tr>:last-child{border-radius:0 16px 16px 0}
main .warm-table-scroll table tr>:only-child{border-radius:16px}
main .warm-table-scroll a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}
@media(max-width:720px){main .warm-table-scroll table :is(th,td){padding:13px 14px;font-size:.875rem}}
@media print{main .warm-table-scroll tr,main .warm-table-scroll thead tr{background:transparent!important}main .warm-table-scroll table :is(th,td){color:#000}}
html:has(.council-page){--canvas:#fff9e9;--surface:#fffdf4;--card:#fff9e9;--soft:#f6edcf;--elevated:#fff7df;--ink:#342a17;--muted:#756443;--accent:#996913;--accent-solid:#96620e;--line:#e4d5aa;--blue-soft:#f6e8bd;--glass:#fff9e9ed;background:var(--canvas)}
html[data-theme="dark"]:has(.council-page){--canvas:#191711;--surface:#262219;--card:#29251b;--soft:#302a1c;--elevated:#393021;--ink:#fff6df;--muted:#cbbb98;--accent:#ebc461;--accent-solid:#9a6b18;--line:#55482c;--blue-soft:#3b3019;--glass:#211c14ed}
html:has(.council-page) body{background:var(--canvas);color:var(--ink)}
html:has(.council-page) body:before{background:radial-gradient(ellipse at 16% 25%,#e0b64725,transparent 48%),radial-gradient(ellipse at 82% 65%,#bd87312b,transparent 52%)}
html:has(.council-page) body:after{background:radial-gradient(ellipse at 70% 18%,#f9dd9218,transparent 45%),radial-gradient(ellipse at 25% 80%,#d4a73c20,transparent 50%)}
html:has(.council-page) .cosmic-nebula{background:radial-gradient(ellipse at 35% 60%,#efc75b25,transparent 55%),radial-gradient(ellipse at 78% 20%,#d69a3320,transparent 50%)}
html:has(.council-page) .cosmic-dust{filter:sepia(1);opacity:.45}
html:has(.council-page) :is(.site-header,.mobile-nav,.footer){background:var(--surface)}
html:has(.council-page) .footer :is(a,p,h3,strong,span,.footer-bottom){color:var(--accent)}
html:has(.council-page) .footer .footer-signature{background:linear-gradient(180deg,#ffe599,#d6a43c);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
html:has(.council-page) .footer a:hover{color:var(--ink)}
html:has(.council-page) :is(.council-activity,.council-cta) :is(h2,h3,p){color:var(--accent)}
.council-page{max-width:1320px}
.council-intro{position:relative;isolation:isolate;display:grid;gap:0;padding:13px;overflow:hidden;border-radius:34px;background:radial-gradient(circle at 86% 88%,#e9a44e33,transparent 34%),radial-gradient(circle at 15% 95%,#ffcf6a1f,transparent 35%),linear-gradient(145deg,color-mix(in srgb,var(--card) 90%,#6a441b 10%),color-mix(in srgb,var(--card) 78%,#b76c24 22%));box-shadow:0 30px 90px color-mix(in srgb,#c77a2c 17%,transparent),inset 0 0 0 1px color-mix(in srgb,#ffc56d 22%,transparent)}
.council-intro:before{content:"";position:absolute;inset:0;z-index:-1;background-image:radial-gradient(circle at 12% 22%,#fff2d5 0 1px,transparent 1.7px),radial-gradient(circle at 37% 76%,#ffc970 0 1px,transparent 1.8px),radial-gradient(circle at 72% 39%,#fff 0 .8px,transparent 1.6px);background-size:190px 170px,240px 210px,150px 130px;opacity:.24}
@font-face{font-family:"Council Numerals";src:url('/assets/fonts/council-numerals.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
/* Display numerals keep every factual statistic consistent across inner pages. */
.display-number,.facts strong{font-family:"Council Numerals",sans-serif;font-weight:400;font-stretch:normal;font-variation-settings:normal;line-height:.9;letter-spacing:-.025em;font-variant-numeric:lining-nums proportional-nums}
.facts strong{display:block;background:linear-gradient(180deg,color-mix(in srgb,var(--accent) 88%,white),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}
.facts>div{text-align:center;align-items:center}.facts strong{font-size:clamp(220px,26vw,365px)}.fact-number-link{display:block;color:inherit;text-decoration:none;transition:filter var(--quick),transform var(--ui) var(--ease)}.fact-number-link:hover{text-decoration:none;filter:brightness(1.12);transform:translateY(-2px)}
.useful-links-list{list-style:none;padding-left:0}.useful-links-list li{display:flex;align-items:center;gap:16px;margin:12px 0;padding:12px 0}.useful-link-icon{flex:0 0 46px;width:46px;height:46px;object-fit:contain;border-radius:11px;background:#fff;padding:5px;margin:0!important}.useful-links-list li a{line-height:1.45}
.prose img#material-base-gallery{scroll-margin-top:120px}
.article-prose .editorial-gallery.photo-grid{display:block;column-count:2;column-gap:clamp(10px,1.6vw,22px);column-fill:balance}.article-prose .editorial-gallery.photo-grid .editorial-photo{display:inline-block;width:100%;margin:0 0 clamp(10px,1.6vw,22px);padding:0;break-inside:avoid;vertical-align:top}.article-prose .editorial-gallery.photo-grid .editorial-photo img{width:100%;height:auto;max-height:none;object-fit:contain;border-radius:clamp(10px,1.5vw,20px)}
@media(max-width:520px){.article-prose .editorial-gallery.photo-grid{column-count:1}.article-prose .editorial-gallery.photo-grid .editorial-photo{margin-bottom:14px}}
.article-prose .editorial-photo{padding:0;background:transparent;box-shadow:none;border-radius:clamp(10px,1.5vw,20px)}.article-prose .editorial-photo img{border-radius:clamp(10px,1.5vw,20px)}.article-prose .article-hero{padding:0;background:transparent;box-shadow:none;border-radius:clamp(14px,2vw,24px)}
@keyframes home-gradient-drift{0%{background-position:0% 18%}35%{background-position:78% 8%}68%{background-position:100% 82%}100%{background-position:18% 100%}}
.home-page main{background:radial-gradient(ellipse 48% 34% at 8% 10%,color-mix(in srgb,#a855f7 26%,transparent),transparent 72%),radial-gradient(ellipse 46% 38% at 92% 16%,color-mix(in srgb,#ec4899 22%,transparent),transparent 72%),radial-gradient(ellipse 52% 44% at 82% 78%,color-mix(in srgb,#22c55e 18%,transparent),transparent 74%),radial-gradient(ellipse 44% 36% at 18% 88%,color-mix(in srgb,#facc15 16%,transparent),transparent 72%),radial-gradient(ellipse 62% 48% at 50% 48%,color-mix(in srgb,#3b82f6 18%,transparent),transparent 78%),var(--canvas);background-size:180% 180%;animation:home-gradient-drift 34s ease-in-out infinite alternate;will-change:background-position}
@media(prefers-reduced-motion:reduce){.home-page main{animation:none;background-position:50% 50%}}
.council-intro-copy{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.7fr);align-items:center;gap:32px;padding:28px 36px 14px}
.council-intro-copy h2{font-family:"Arial Black",Arial,sans-serif;font-size:clamp(2rem,3.4vw,3.5rem);line-height:1.08;letter-spacing:-.045em;margin:22px 0 38px;background:linear-gradient(180deg,#fff2cc 5%,#ffd179 58%,#d78b30 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.council-intro-copy>div>p:not(.eyebrow){max-width:490px;color:var(--ink);font-size:clamp(1rem,1.5vw,1.3rem);font-weight:300;line-height:1.4;letter-spacing:-.035em;margin:0}
.council-intro-copy .eyebrow{color:#e8a746}
.council-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:24px;width:100%;margin:0}
.council-stats>div{display:flex;flex-direction:column;align-items:center;min-width:0;background:none;border:0;box-shadow:none;padding:0}
.council-stats strong{order:0;display:block;font-family:"Council Numerals",sans-serif;font-size:clamp(220px,26vw,365px);font-weight:400;font-stretch:normal;font-variation-settings:normal;line-height:1.03;letter-spacing:0;text-align:center;transform:none;margin:0;background:linear-gradient(180deg,#e2d338 8%,#dbc331 65%,#be632f 100%);-webkit-background-clip:text;background-clip:text;color:transparent}
.council-stats span{order:1;display:block;width:100%;min-height:2.6em;color:#bf7338;font-size:clamp(.85rem,1.4vw,1.2rem);font-weight:600;line-height:1.3;letter-spacing:-.035em;text-align:center;white-space:normal;margin:5px 0 0}
.council-intro-media{position:relative;margin:0;overflow:hidden;border-radius:25px;background:#3b2e25;box-shadow:0 18px 55px #2d170f55,inset 0 0 0 1px #ffe3b344;transition:transform 500ms cubic-bezier(.22,1,.36,1),box-shadow 500ms}
.council-intro-media:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,#fff1d526,transparent 30%,transparent 72%,#dc8a2d1d)}
.council-intro-media img{display:block;width:100%;height:auto;aspect-ratio:1.414;object-fit:contain}
.council-intro:hover .council-intro-media{transform:translateY(-3px);box-shadow:0 24px 70px #b86f3152,inset 0 0 0 1px #ffe3b35c}
.council-board{margin:70px 0 62px;--council-accent:#638cff}
.council-board-heading{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:27px}
.council-board-title{display:flex;align-items:center;gap:18px;min-width:0}
.council-board-title>img{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 0 18px color-mix(in srgb,#f2c94c 32%,transparent))}
.council-board-title .eyebrow{margin-bottom:8px}
.council-board-heading h3{font-family:"Arial Black",Arial,sans-serif;font-size:clamp(1.8rem,3vw,3rem);line-height:1.1;letter-spacing:-.04em;margin:0}
.council-board-heading>p{margin:0;white-space:nowrap;color:var(--muted);font-size:.88rem}
.council-board-heading>p strong{font-size:1.1rem;color:var(--ink)}
.council-board-heading>p span{padding-inline:7px;color:var(--accent)}
.council-desktop{overflow:visible;border-radius:0;background:transparent;box-shadow:none}
.council-table{width:100%;border-collapse:separate;border-spacing:0 6px;table-layout:fixed;font-size:.9rem;background:transparent;border:0;box-shadow:none}
.council-table th{padding:19px 24px;background:linear-gradient(115deg,color-mix(in srgb,#f2c96b 17%,transparent),color-mix(in srgb,#d99138 8%,transparent));color:var(--muted);font-size:.73rem;text-transform:uppercase;letter-spacing:.08em;text-align:left;font-weight:650}
.council-table th:first-child{border-radius:18px 0 0 18px}.council-table th:last-child{border-radius:0 18px 18px 0}
.council-table th:first-child{width:78px}.council-table th:nth-child(2){width:48%}
.council-table td{padding:20px 24px;vertical-align:middle;background:transparent!important;border:0!important;box-shadow:none!important}
.council-table tbody tr{--row-accent:#638cff;position:relative;background:linear-gradient(105deg,#f2c96b21,#dfb44912);transition:none}
.council-table tbody tr+tr{box-shadow:none}
.council-table tbody tr:hover{background:linear-gradient(105deg,#f2c96b21,#dfb44912)}
.council-table th{border:0;box-shadow:none;color:var(--ink)}
.council-table tbody td:first-child{border-radius:16px 0 0 16px}.council-table tbody td:last-child{border-radius:0 16px 16px 0}
.council-table tbody tr td:first-child{position:relative}
.council-table tbody tr td:first-child:before{display:none}
.council-table td:nth-child(2){display:flex;align-items:center;gap:18px}
.council-number{font-variant-numeric:tabular-nums;color:var(--row-accent);font-weight:750}
.council-role-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 43px;width:43px;height:43px;border-radius:0;color:var(--row-accent);background:transparent;box-shadow:none}
.council-role-icon .icon{width:22px;height:22px;stroke-width:1.7}
.council-role{font-size:.94rem;line-height:1.55;letter-spacing:-.015em}
.council-members{list-style:none!important;margin:0!important;padding:0!important;display:grid;gap:10px}
.council-members li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:15px;align-items:center;margin:0!important;padding:0!important}
.council-members strong{font-size:.88rem;line-height:1.45;text-transform:none}
.council-members span{padding:6px 10px;border-radius:20px;background:color-mix(in srgb,var(--row-accent) 10%,var(--card));color:color-mix(in srgb,var(--row-accent) 76%,var(--ink));font-size:.7rem;font-weight:700;white-space:nowrap}
.council-tone-1{--row-accent:#f2c75c!important}.council-tone-2{--row-accent:#55d992!important}.council-tone-3{--row-accent:#31c9d5!important}.council-tone-4{--row-accent:#668cff!important}.council-tone-5{--row-accent:#f2c75c!important}.council-tone-6{--row-accent:#55d992!important}
.council-mobile{display:none}
.council-activity{padding:25px 0 70px}
.council-section-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:28px}
.council-section-heading h2{font-family:"Arial Black",Arial,sans-serif;font-size:clamp(2rem,3.6vw,3.45rem);line-height:1.08;letter-spacing:-.05em}
.council-activity-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.council-activity-grid article{position:relative;min-height:285px;padding:31px;border-radius:25px;background:color-mix(in srgb,var(--card) 91%,transparent);box-shadow:0 18px 52px color-mix(in srgb,var(--accent) 7%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--accent) 8%,transparent);overflow:hidden;transition:transform 350ms cubic-bezier(.22,1,.36,1),background-color 350ms}
.council-activity-grid article:before{content:"";position:absolute;width:150px;height:150px;right:-60px;top:-65px;border-radius:50%;background:var(--activity-color);filter:blur(45px);opacity:.18}
.council-activity-grid article:nth-child(1){--activity-color:#f1c45d}.council-activity-grid article:nth-child(2){--activity-color:#ef9f4a}.council-activity-grid article:nth-child(3){--activity-color:#f4d77a}
.council-activity-grid article>span{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:17px;color:var(--activity-color);background:color-mix(in srgb,var(--activity-color) 13%,var(--card));box-shadow:0 0 25px color-mix(in srgb,var(--activity-color) 17%,transparent)}
.council-activity-grid article>span .icon{width:27px;height:27px}
.council-activity-grid h3{font-size:1.4rem;letter-spacing:-.035em;margin:43px 0 13px}
.council-activity-grid p{color:var(--muted);font-size:.88rem;line-height:1.7;max-width:340px}
.council-activity-grid article:hover{transform:translateY(-5px);background:color-mix(in srgb,var(--card) 87%,var(--activity-color) 13%)}
.council-cta{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:27px;padding:36px 40px;border-radius:27px;background:linear-gradient(120deg,color-mix(in srgb,#d99138 18%,var(--card)),color-mix(in srgb,#f2c96b 12%,var(--card)));box-shadow:0 22px 60px color-mix(in srgb,#d99138 12%,transparent)}
.council-cta>span{display:flex;align-items:center;justify-content:center;width:60px;height:60px;border-radius:19px;color:#f5c96a;background:color-mix(in srgb,#e7a443 17%,var(--card));box-shadow:0 0 30px color-mix(in srgb,#e7a443 22%,transparent)}
.council-cta>span .icon{width:28px;height:28px}.council-cta .eyebrow{margin-bottom:7px}.council-cta h2{font-size:1.65rem;margin-bottom:6px}.council-cta p:not(.eyebrow){font-size:.84rem;color:var(--muted)}

@media(max-width:720px){
 .council-page-heading h1{font-size:clamp(1.8rem,9.4vw,2.15rem);overflow-wrap:normal;word-break:normal;letter-spacing:-.045em}
 .council-page{width:100%;padding-inline:20px;overflow:hidden}
 .council-intro{gap:0;min-height:0;padding:8px;border-radius:27px}
 .council-intro-copy{grid-template-columns:1fr;gap:19px;padding:23px 16px 18px}
 .council-intro-copy h2{font-size:clamp(1.65rem,8vw,3.35rem);margin-bottom:20px}
 .council-intro-copy>div>p:not(.eyebrow){font-size:.9rem;line-height:1.7}
 .council-stats{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:12px;width:100%;margin:0}
 .council-stats>div{align-items:center}.council-stats strong{font-size:clamp(140px,38vw,250px);line-height:1.03;letter-spacing:0;transform:none}.council-stats span{min-height:2.6em;font-size:clamp(.65rem,2.7vw,.95rem);margin-top:5px}
 .council-intro-media{width:100%;border-radius:20px;transform:none}
 .council-board{margin:50px 0 45px}
 .council-board-heading{display:block;margin-bottom:23px}
 .council-board-title{gap:13px}.council-board-title>img{width:54px;height:54px}.council-board-title .eyebrow{margin-bottom:6px}
 .council-board-heading h3{font-size:2rem}
 .council-board-heading>p{margin-top:13px;font-size:.78rem}
 .council-desktop{display:none}
 .council-mobile{display:block;border-radius:0;background:transparent;box-shadow:none;overflow:hidden}
 .council-mobile-hint{padding:20px 20px 13px;margin:0!important;font-size:.76rem;color:var(--muted)}
 .council-tabs{display:grid;gap:8px;padding:0 10px 11px}
 .council-tab{--row-accent:#638cff;width:100%;display:grid;grid-template-columns:43px minmax(0,1fr) 19px;align-items:center;gap:14px;text-align:left;padding:14px 10px;border:0;border-radius:18px;background:transparent;color:var(--ink);transition:background-color 220ms ease,transform 220ms cubic-bezier(.22,1,.36,1)}
 .council-tab,.council-tab+.council-tab{background:linear-gradient(105deg,#f2c96b21,#dfb44912);box-shadow:none}
 .council-tab:active{transform:scale(.985);background:color-mix(in srgb,var(--row-accent) 9%,transparent)}
 .council-tab>.icon{width:18px;color:var(--muted)}
 .council-tab-copy{min-width:0;display:block}
 .council-tab-copy small{display:block;color:var(--row-accent);font-size:.64rem;font-weight:750;letter-spacing:.08em;margin-bottom:4px}
 .council-tab-copy strong{display:block;font-size:.86rem;line-height:1.45;letter-spacing:-.01em}
 .council-role-icon{width:43px;height:43px;flex-basis:43px}
 .council-mobile-detail{padding:13px 18px 23px}
 .council-back{display:inline-flex;align-items:center;gap:9px;border:0;background:transparent;color:var(--muted);padding:9px 3px 18px;font-size:.8rem;font-weight:650}
 .council-back>.icon{width:18px;transform:rotate(180deg)}
 .council-panel{--row-accent:#638cff;padding:25px 22px 22px;border-radius:22px;background:linear-gradient(145deg,color-mix(in srgb,#f2c96b 14%,transparent),color-mix(in srgb,var(--row-accent) 8%,transparent));box-shadow:none}
 .council-panel-mark{display:flex;align-items:center;justify-content:space-between;color:var(--row-accent);font-size:.72rem;font-weight:750;margin-bottom:27px}
 .council-panel .eyebrow{color:var(--row-accent);font-size:.63rem;margin-bottom:10px}
 .council-panel h4{font-family:"Arial Black",Arial,sans-serif;font-size:1.35rem;line-height:1.35;letter-spacing:-.035em;margin:0 0 27px;color:var(--ink)}
 .council-panel .council-members{gap:10px}
 .council-panel .council-members li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0!important}
 .council-panel .council-members li+li{box-shadow:inset 0 1px color-mix(in srgb,var(--row-accent) 14%,transparent)}
 .council-panel .council-members strong{font-size:.9rem}
 .council-panel .council-members span{font-size:.68rem}
 .council-activity{padding:15px 0 48px}
 .council-section-heading{display:block;margin-bottom:21px}.council-section-heading h2{font-size:2rem}
 .council-activity-grid{grid-template-columns:1fr;gap:12px}
 .council-activity-grid article{min-height:0;padding:23px;border-radius:21px}
 .council-activity-grid article>span{width:47px;height:47px;border-radius:15px}.council-activity-grid article>span .icon{width:23px;height:23px}
 .council-activity-grid h3{margin:25px 0 10px;font-size:1.25rem}
 .council-cta{grid-template-columns:auto minmax(0,1fr);gap:17px;padding:25px 22px;border-radius:23px}
 .council-cta>span{width:49px;height:49px;border-radius:16px}.council-cta h2{font-size:1.35rem}.council-cta .button-row{grid-column:1/-1}.council-cta .button{flex:1;padding-inline:16px;gap:12px;font-size:.78rem}
}
@media(prefers-reduced-motion:reduce){.council-tab,.council-table tbody tr,.council-intro-media{transition:none}.council-intro:hover .council-intro-media{transform:none}}
@media print{.council-mobile{display:none!important}.council-desktop{display:block;box-shadow:none}.council-table tbody tr{background:#fff}.council-role-icon{box-shadow:none}}

/* The photograph sets each card's proportions instead of a fixed image slot. */
.news-grid{display:flex;flex-wrap:wrap;align-items:stretch;gap:26px}
.news-grid>.news-card{flex:var(--photo-weight,1) 1 var(--photo-basis,280px);min-width:220px;max-width:650px;height:auto;align-self:stretch;padding:0 0 24px;overflow:hidden}
.news-card .news-image{display:block;flex-shrink:0;width:100%;height:auto;aspect-ratio:auto;min-height:0;background:transparent;border-radius:24px;margin:0 0 22px}
.news-card .news-image img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:initial;border-radius:24px;transform:none}
.news-card .news-meta,.news-card h3,.news-card>.text-link{margin-inline:24px}.news-card>.text-link{margin-top:0;padding-top:8px}.news-card h3{font-size:clamp(1.2rem,1.7vw,1.55rem)}
@media(max-width:720px){.news-grid{gap:20px}.news-grid>.news-card{flex-basis:calc(50% - 10px);min-width:210px;max-width:100%}.news-card .news-meta,.news-card h3,.news-card>.text-link{margin-inline:20px}}
@media(max-width:480px){.news-grid>.news-card{flex-basis:100%;min-width:0}.news-card h3{font-size:1.4rem}}

/* Photos set width and natural height; excerpts fill the remaining row height. */
.news-grid>.news-card h3{flex:none;display:block;padding-bottom:0}
.news-grid>.news-card>.text-link{flex:none;margin-top:0}
.news-excerpt{position:relative;flex:1 0 6em;min-height:6em;margin:0 24px 22px;color:var(--muted);font-size:1rem;line-height:1.5;overflow:hidden}
.news-excerpt>span{position:absolute;inset:0 0 auto;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--excerpt-lines,4);overflow:hidden;overflow-wrap:anywhere}
@media(max-width:720px){.news-excerpt{margin-inline:20px}}
@media(min-width:721px){
 .site-header{width:min(1320px,calc(100% - 48px));top:12px;margin:12px auto 0;border-radius:999px;overflow:visible;box-shadow:var(--card-shadow)}
 .site-header .header-inner,.site-header.is-scrolled .header-inner{display:flex;width:100%;min-height:88px;margin:0;padding:12px 24px;gap:24px;align-items:center}
 .site-header .desktop-nav{display:none}
 .site-header .brand{flex:0 1 355px;min-width:0;max-width:none;gap:12px;align-items:center}
 .site-header .brand img{width:72px;height:56px;flex:0 0 72px}
 .site-header .brand strong{font-size:.875rem;line-height:1.35;text-wrap:pretty}
 .site-header .header-search{flex:1 1 320px;width:auto;min-width:120px;max-width:none;min-height:48px;margin:0}
 .site-header .header-actions{flex:0 0 auto;margin:0;gap:6px;align-items:center}
 .site-header .header-actions>.icon-button{width:44px;height:44px;flex:0 0 44px;display:inline-flex}
 .site-header .mobile-nav{position:absolute;left:auto;right:0;top:calc(100% + 12px);width:min(420px,100%);max-height:calc(100dvh - 124px);overflow-y:auto;margin:0;padding:18px 24px;border-radius:28px;background:var(--card);box-shadow:var(--card-shadow-hover);z-index:30}
 .site-header .mobile-nav a{padding:14px 12px;border-radius:14px}
}
@media(min-width:721px) and (max-width:1100px){
 .site-header .header-inner,.site-header.is-scrolled .header-inner{gap:14px;padding-inline:20px}
 .site-header .brand{flex-basis:290px;gap:8px}
 .site-header .brand img{width:56px;height:48px;flex-basis:56px}
 .site-header .header-actions>.button.compact{display:none}
}

/* Compact floating header, including safe areas in iPhone landscape mode. */
.menu-locked{overflow:hidden}
.menu-locked body{overflow:clip}
.menu-backdrop{position:fixed;inset:0;z-index:19;border:0;background:#06142b24;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);touch-action:none}
.menu-open::after{display:none}
.menu-open main,.menu-open .footer{filter:none}
.skip-link:not(:focus-visible){clip-path:inset(50%);width:1px;height:1px;overflow:hidden;padding:0;white-space:nowrap}
@media(max-width:720px){
 .site-header{position:sticky;top:max(8px,env(safe-area-inset-top));z-index:20;width:auto;margin:8px max(10px,env(safe-area-inset-right)) 0 max(10px,env(safe-area-inset-left));border-radius:44px;background:var(--glass);box-shadow:var(--card-shadow);overflow:visible}
 .site-header .header-inner,.site-header.is-scrolled .header-inner{display:flex;width:100%;min-height:80px;margin:0;padding:10px 12px;gap:8px;align-items:center}
 .site-header .brand{flex:1 1 auto;min-width:0;max-width:none;gap:7px}
 .site-header .brand img{width:44px;height:44px;flex:0 0 44px}
 .site-header .brand strong{font-size:.75rem;line-height:1.3;letter-spacing:-.015em;text-wrap:pretty}
 .site-header .header-actions{flex:0 0 auto;gap:0;margin:0}
 .site-header .header-actions>.icon-button{display:inline-flex;width:40px;height:44px;flex:0 0 40px}
 .site-header .header-actions>.button.compact{display:none}
 .site-header .language-toggle{font-size:.75rem}
 .site-header .mobile-nav{position:absolute;top:calc(100% + 10px);left:0;right:0;width:100%;margin:0;padding:16px;border-radius:28px;max-height:calc(100dvh - 130px - env(safe-area-inset-top) - env(safe-area-inset-bottom));background:var(--card);box-shadow:var(--card-shadow-hover);overflow-y:auto;overscroll-behavior:contain}
 .site-header .mobile-nav .header-search{width:100%;max-width:none;min-height:48px;margin:0 0 12px;flex-shrink:0}
 .site-header .mobile-nav .header-search input{width:100%;min-width:0;font-size:16px}
 .site-header .mobile-nav>a{padding:14px 12px;font-size:1rem;border-radius:14px}
}
@media(prefers-reduced-motion:reduce){.site-header .mobile-nav,.site-header .mobile-nav a{transition:none}}

/* The anniversary artwork includes lettering: keep its complete 16:9 frame. */
img.campus-anniversary{object-fit:contain;object-position:center}
.hero-visual:has(>.campus-anniversary){display:grid;grid-template-columns:minmax(0,1fr) auto;align-self:center;min-height:0;height:auto;border-radius:28px;background:var(--card);overflow:hidden}
.hero-visual:has(>.campus-anniversary):after{display:none}
.hero-visual>.campus-anniversary{position:static;grid-column:1/-1;grid-row:1;width:100%;height:auto;aspect-ratio:16/9;transform:none;border-radius:0}
.hero-visual:has(>.campus-anniversary) .media-caption{position:static;grid-column:1/-1;grid-row:2;justify-self:start;margin:20px 24px 0;backdrop-filter:none;background:var(--blue-soft);color:var(--accent)}
.hero-visual:has(>.campus-anniversary) .photo-label{position:static;grid-column:1;grid-row:3;max-width:none;margin:22px 12px 24px 24px;color:var(--ink)}
.hero-visual:has(>.campus-anniversary) .photo-label>span{font-size:1.4rem}
.hero-visual:has(>.campus-anniversary) .hero-note{position:relative;inset:auto;grid-column:2;grid-row:3;align-self:center;min-width:0;margin:20px 24px 24px 12px;padding:16px;transform:none;background:var(--blue-soft);color:var(--ink);box-shadow:none;backdrop-filter:none}
:is(.about-intro,.admission-intro,.location-photo)>img.campus-anniversary{width:100%;height:auto;min-height:0;max-height:none;aspect-ratio:16/9;align-self:center;border-radius:24px}
.location-photo:has(>.campus-anniversary){min-height:0;align-self:center;border-radius:24px;background:var(--card)}
.location-photo:has(>.campus-anniversary)>div{position:static;margin:0;padding:20px 24px;background:var(--card);color:var(--ink)}
.home-page .hero-visual .hero-note{top:clamp(18px,2vw,28px);right:clamp(18px,2vw,28px);bottom:auto}
/* Broad two-line headline, with the soft metallic shading in the references. */
.home-page .hero-copy{min-width:0;container-type:inline-size}
.home-page .hero h1{font-family:"Arial Black",Arial,sans-serif;font-weight:900;font-size:clamp(3rem,7.7vw,7.5rem);font-size:clamp(3rem,17cqi,7.5rem);line-height:1.18;letter-spacing:-.025em;padding:0;width:100%;max-width:100%;margin-bottom:24px}
.home-page .hero h1>br{display:none}
 .home-page .hero h1 .hero-word{display:block;width:fit-content;max-width:100%;white-space:nowrap;--headline-color:var(--ink);color:var(--headline-color)}
 .home-page .hero h1 .future{--headline-color:var(--accent)}
 .home-page .hero h1 .together{--headline-color:#e477e8;font-size:.8em;letter-spacing:-.04em}
 .home-page .hero-subtitle{font-family:"Arial Black",Arial,sans-serif;font-weight:900;letter-spacing:-.025em;--headline-color:var(--ink);color:var(--headline-color)}
@supports (-webkit-background-clip:text) or (background-clip:text){
  .home-page .hero h1 .hero-word,.home-page .hero-subtitle{background:linear-gradient(to bottom,var(--headline-color) 22%,var(--headline-color) 40%,color-mix(in srgb,var(--headline-color) 64%,var(--canvas)) 72%,color-mix(in srgb,var(--headline-color) 23%,var(--canvas)) 100%);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}
 }
@media(max-width:720px){.home-page .hero h1{font-size:16.3vw;font-size:18cqi;line-height:1.2;letter-spacing:-.03em;width:calc(100% + 20px);max-width:none;margin-left:-10px;margin-bottom:26px}}
@media(max-width:1000px){
 .hero-visual:has(>.campus-anniversary){grid-template-columns:1fr}
 .hero-visual:has(>.campus-anniversary) .hero-note{grid-column:1;grid-row:4;margin:0 20px 20px}
 .hero-visual:has(>.campus-anniversary) .photo-label{margin:20px}
}
.legal-links{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px 20px}
.footer .legal-links a{color:#bdc8d5;font-size:.75rem}.footer .legal-links a:hover{color:#fff}
.legal-page{max-width:980px}.legal-policy{max-width:none;padding:clamp(24px,4vw,48px);border-radius:28px;background:color-mix(in srgb,var(--card) 92%,transparent);box-shadow:var(--card-shadow)}
.legal-policy h2{margin-top:1.7em}.legal-policy h2:first-of-type{margin-top:1.1em}.legal-policy li{margin-bottom:12px}.legal-policy code{font-size:.88em;overflow-wrap:anywhere}.legal-updated{padding-bottom:20px;border-bottom:1px solid color-mix(in srgb,var(--muted) 18%,transparent)}
.legal-action-status{min-height:1.5em;margin-top:14px;color:var(--accent)}
.form-privacy-note{margin-top:16px;font-size:.82rem!important;line-height:1.65}.form-privacy-note a{display:inline!important;font-size:inherit!important;color:var(--accent)}
.map-consent{display:grid;place-items:center;background:color-mix(in srgb,var(--card) 88%,var(--blue-soft))}
.location-photo.panorama-frame>.map-consent-panel{position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:15px;padding:clamp(25px,5vw,54px);background:linear-gradient(145deg,color-mix(in srgb,var(--card) 96%,transparent),color-mix(in srgb,var(--blue-soft) 82%,var(--card)));color:var(--ink)}
.map-consent-panel>.contact-icon{position:static;color:var(--accent)}.map-consent-panel h2{font-size:clamp(1.55rem,3vw,2.25rem)}.map-consent-panel p{max-width:560px;color:var(--muted);line-height:1.65}.map-consent-panel>a{color:var(--accent);font-size:.82rem}
@media(max-width:720px){.footer-bottom{align-items:flex-start}.legal-links{justify-content:flex-start}.legal-policy{padding:24px 20px;border-radius:22px}.location-photo.panorama-frame>.map-consent-panel{padding:26px 22px}.map-consent-panel .button{font-size:.82rem}}
@keyframes search-item-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.search-result,.news-card{animation:search-item-in 360ms var(--ease) both}
@media(prefers-reduced-motion:reduce){.search-result,.news-card{animation:none}}
@keyframes typed-letter-in{from{opacity:0;transform:translate3d(0,.3em,0) scale(.76);filter:blur(5px)}55%{opacity:.92;transform:translate3d(0,-.025em,0) scale(1.02);filter:blur(.5px)}to{opacity:1;transform:none;filter:none}}
@keyframes typed-letter-out{from{opacity:1;transform:none;filter:blur(0)}to{opacity:0;transform:translate3d(var(--scatter-x),var(--scatter-y),0) rotate(var(--scatter-r)) scale(.35);filter:blur(5px)}}
.header-search,.search-field{position:relative}
.typed-echo{position:absolute;pointer-events:none;white-space:pre;overflow:hidden;color:var(--ink);font:inherit;font-size:1rem;line-height:1.2}
.header-search .typed-echo{left:58px;right:52px;top:50%;transform:translateY(-50%)}
.search-field .typed-echo{left:51px;right:15px;top:50%;transform:translateY(-50%)}
.has-typed-text>input{color:transparent!important;-webkit-text-fill-color:transparent;caret-color:var(--ink)}
.typed-letter-new{display:inline-block;animation:typed-letter-in 500ms cubic-bezier(.22,.75,.18,1) calc(var(--typed-index)*30ms) both;will-change:transform,opacity,filter}
.typed-letter-removing{display:inline-block;animation:typed-letter-out 520ms cubic-bezier(.35,.05,.7,.2) both;will-change:transform,opacity,filter}
@media(prefers-reduced-motion:reduce){.typed-letter-new,.typed-letter-removing{animation:none;opacity:1;transform:none;filter:none}}

/* Route palettes, assigned during generation before the first paint. */
html[data-page-palette]{--canvas:hsl(var(--page-hue) 35% 97%);--surface:hsl(var(--page-hue) 35% 99%);--card:hsl(var(--page-hue) 34% 94%);--card-hover:hsl(var(--page-hue) 38% 90%);--soft:var(--card);--elevated:var(--surface);--ink:hsl(var(--page-hue) 28% 17%);--muted:hsl(var(--page-hue) 17% 39%);--accent:hsl(var(--page-hue) 65% 34%);--accent-solid:hsl(var(--page-hue) 65% 34%);--secondary:var(--accent);--line:hsl(var(--page-hue) 25% 82%);--blue-soft:hsl(var(--page-hue) 44% 90%);--glass:hsl(var(--page-hue) 35% 97% / .94);--shadow:0 18px 55px hsl(var(--page-hue) 40% 20% / .08);--card-shadow:0 8px 28px hsl(var(--page-hue) 40% 20% / .06);--card-shadow-hover:0 16px 38px hsl(var(--page-hue) 40% 20% / .12);background:var(--canvas)}
html[data-page-palette][data-theme="dark"]{--canvas:hsl(var(--page-hue) 22% 8%);--surface:hsl(var(--page-hue) 23% 12%);--card:hsl(var(--page-hue) 23% 14%);--card-hover:hsl(var(--page-hue) 27% 18%);--ink:hsl(var(--page-hue) 36% 95%);--muted:hsl(var(--page-hue) 20% 72%);--accent:hsl(var(--page-hue) 70% 73%);--accent-solid:hsl(var(--page-hue) 58% 36%);--line:hsl(var(--page-hue) 22% 27%);--blue-soft:hsl(var(--page-hue) 32% 20%);--glass:hsl(var(--page-hue) 23% 12% / .94)}
html[data-page-palette] body{background:var(--canvas);color:var(--ink)}
html[data-page-palette] body:before{background:radial-gradient(ellipse at 16% 25%,hsl(var(--page-hue) 70% 55% / .14),transparent 48%),radial-gradient(ellipse at 82% 65%,hsl(var(--page-hue) 60% 45% / .16),transparent 52%)}
html[data-page-palette] body:after{background:radial-gradient(ellipse at 70% 18%,hsl(var(--page-hue) 80% 80% / .09),transparent 45%),radial-gradient(ellipse at 25% 80%,hsl(var(--page-hue) 60% 55% / .12),transparent 50%)}
html[data-page-palette] .cosmic-nebula{background:radial-gradient(ellipse at 35% 60%,hsl(var(--page-hue) 60% 65% / .14),transparent 55%),radial-gradient(ellipse at 78% 20%,hsl(var(--page-hue) 60% 45% / .12),transparent 50%)}
html[data-page-palette] .cosmic-dust{filter:sepia(1) hue-rotate(calc((var(--page-hue) - 45) * 1deg));opacity:.45}
html[data-page-palette] :is(.site-header,.mobile-nav,.footer){background:var(--surface)}
html[data-page-palette] :is(.page-heading h1,.subheading,.section-heading h2){color:var(--accent)}
html[data-page-palette] :is(.search-field,.header-search,.icon-button,.theme-toggle){background:var(--card);color:var(--ink)}
html[data-page-palette] .button{background:var(--accent-solid);color:#fff;box-shadow:0 8px 24px hsl(var(--page-hue) 55% 45% / .15)}
html[data-page-palette] .button.secondary{background:var(--blue-soft);color:var(--ink)}
html[data-page-palette] :is(.admission-banner,.future-banner,.future-art){background:linear-gradient(120deg,hsl(var(--page-hue) 50% 22%),hsl(var(--page-hue) 60% 40%));box-shadow:none}
html[data-page-palette] :is(.program-card,.news-card,.resource-tile,.editorial-section,.page-sidebar,.info-banner){background:linear-gradient(125deg,var(--card),var(--surface))}
html[data-page-palette] .footer :is(a,p,h3,strong,span,.footer-bottom){color:var(--muted)}
html[data-page-palette] .footer :is(h3,a:hover){color:var(--accent)}
html[data-page-palette] .footer-signature{background:linear-gradient(180deg,var(--ink),var(--accent));background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
html[data-page-palette] main .warm-table-scroll{scrollbar-color:var(--accent) transparent}
html[data-page-palette] main .warm-table-scroll :is(tr,tr:hover){background:linear-gradient(105deg,hsl(var(--page-hue) 65% 58% / .13),hsl(var(--page-hue) 60% 45% / .07))!important}
html[data-page-palette] main .warm-table-scroll thead tr{background:linear-gradient(115deg,hsl(var(--page-hue) 65% 58% / .2),hsl(var(--page-hue) 60% 45% / .12))!important}
html[data-page-palette] main .warm-table-scroll:focus-visible{outline-color:var(--accent)}

/* Individual page identities and richer content surfaces. */
.program-card.program-0{--program-hue:28}
.program-card.program-1{--program-hue:173}
.program-card.program-2{--program-hue:279}
html body main .program-grid .program-card{--accent:hsl(var(--program-hue) 65% 36%);--program-base:hsl(var(--program-hue) 58% 94%);background:radial-gradient(ellipse at 90% 5%,hsl(var(--program-hue) 80% 60% / .25),transparent 62%),var(--program-base);color:var(--ink)}
html[data-theme="dark"] body main .program-grid .program-card{--accent:hsl(var(--program-hue) 85% 75%);--program-base:hsl(var(--program-hue) 38% 15%)}
html body main .program-card .program-label{background:hsl(var(--program-hue) 65% 55% / .17);color:var(--accent)}
html body main .program-card :is(.program-code,.program-art>.icon,.program-top>.icon,.program-bottom>.icon){color:var(--accent);opacity:1}
html body main .program-card .program-code{opacity:.8}
html[data-page-palette]{--canvas:hsl(var(--page-hue) 56% 96%);--card:hsl(var(--page-hue) 52% 91%);--card-hover:hsl(var(--page-hue) 58% 86%);--blue-soft:hsl(var(--page-hue) 60% 86%)}
html[data-page-palette][data-theme="dark"]{--canvas:hsl(var(--page-hue) 36% 9%);--surface:hsl(var(--page-hue) 36% 13%);--card:hsl(var(--page-hue) 42% 17%);--card-hover:hsl(var(--page-hue) 46% 22%);--blue-soft:hsl(var(--page-hue) 45% 23%);--accent:hsl(var(--page-hue) 85% 74%)}
html[data-page-palette] .page-heading{position:relative;isolation:isolate;border-radius:30px;margin-top:24px;margin-bottom:28px;padding:clamp(24px,4vw,52px);background:radial-gradient(ellipse at 95% 10%,hsl(var(--page-companion) 85% 60% / .28),transparent 60%),linear-gradient(120deg,hsl(var(--page-hue) 80% 55% / .18),hsl(var(--page-companion) 65% 55% / .06));box-shadow:0 22px 64px hsl(var(--page-hue) 70% 35% / .09)}
html[data-page-palette] .page-heading h1{max-width:100%;text-wrap:balance}
html[data-page-palette] .breadcrumbs{margin-bottom:25px}
html[data-page-palette] .cosmic-nebula{background:radial-gradient(ellipse at 18% 35%,hsl(var(--page-hue) 85% 60% / .28),transparent 58%),radial-gradient(ellipse at 85% 75%,hsl(var(--page-companion) 85% 55% / .19),transparent 55%)}
html[data-page-palette] .section-explorer{display:flex;gap:10px;overflow-x:auto;padding:4px 0 16px;margin-bottom:24px;scrollbar-width:thin;scrollbar-color:var(--accent) transparent;scroll-snap-type:x proximity}
html[data-page-palette] .section-explorer a{display:flex;align-items:center;flex:0 0 auto;max-width:min(340px,82vw);min-height:46px;padding:11px 18px;border-radius:16px;background:var(--card);color:var(--ink);font-size:.85rem;line-height:1.4;scroll-snap-align:start;transition:background 200ms,color 200ms}
html[data-page-palette] .section-explorer a:is(:hover,[aria-current]){background:var(--accent-solid);color:#fff}
html[data-page-palette] main :is(h2,h3)[id]{scroll-margin-top:125px}
html[data-page-palette] :is(.editorial-section,.resource-group,.resource-tile,.news-card,.document-row,.contact-details>div,.steps>div,.search-result){--card-hue:var(--page-hue);background:linear-gradient(135deg,hsl(var(--card-hue) 75% 55% / .18),hsl(var(--page-companion) 65% 50% / .05)),var(--surface);border:0;border-radius:24px;box-shadow:0 12px 38px hsl(var(--card-hue) 60% 30% / .07)}
html[data-page-palette] :is(.resource-group,.document-row,.search-result){margin-block:12px;padding:18px 24px}
html[data-page-palette] .contact-details>div{padding:28px 26px 28px 70px}
html[data-page-palette] .contact-details .contact-icon{left:25px;top:30px}
html[data-page-palette] :is(.document-link,.page-sidebar>a,.student-resources>a){border-radius:14px;transition:background 200ms,color 200ms}
html[data-page-palette] :is(.document-link,.page-sidebar>a,.student-resources>a):hover{background:var(--blue-soft);color:var(--accent)}
html[data-page-palette] .resource-group[open]{background:linear-gradient(135deg,hsl(var(--page-companion) 75% 55% / .17),transparent),var(--surface)}
html[data-page-palette] :is(.news-meta span,.program-label,.article-meta>span,.pagination a[aria-current]){background:var(--blue-soft);color:var(--accent)}
html[data-page-palette] .news-section{background:linear-gradient(180deg,hsl(var(--page-companion) 65% 55% / .08),transparent)}
html[data-page-palette] .news-placeholder{background:linear-gradient(135deg,var(--blue-soft),var(--card));color:var(--accent)}
html[data-page-palette] .footer-signature{background-image:linear-gradient(115deg,var(--accent),hsl(var(--page-companion) 80% 65%))}
html[data-page-palette] .interior-arrived{animation:interior-arrive 650ms cubic-bezier(.22,.61,.36,1)}
@keyframes interior-arrive{from{opacity:.65;translate:0 14px}to{opacity:1;translate:0 0}}
@media(hover:hover) and (prefers-reduced-motion:no-preference){html[data-page-palette] .interior-card:hover{box-shadow:0 16px 42px hsl(var(--card-hue) 70% 45% / .19)}}
@media(max-width:720px){html[data-page-palette] .page-heading{padding:25px 21px;border-radius:24px}html[data-page-palette] :is(.resource-group,.document-row,.search-result){padding:15px 18px}html[data-page-palette] .interior-arrived{animation-duration:450ms}}
@media(prefers-reduced-motion:reduce){html[data-page-palette] .interior-arrived{animation:none}}

.footer-grid .socials>a.social-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex:0 0 auto;width:auto;min-height:44px;height:44px;padding:0 16px;border:0;border-radius:999px;color:#f5f7fa;background:color-mix(in srgb,var(--surface) 13%,transparent);box-shadow:0 5px 16px #0002;transition:transform 280ms var(--ease),box-shadow 280ms var(--ease),background-color 280ms var(--ease),filter 280ms var(--ease)}
.footer-grid .socials>a.social-link:hover{color:#fff;transform:translateY(-3px);filter:saturate(1.08);box-shadow:0 9px 24px #0003}
.footer-grid .socials>a.social-link--instagram{background:linear-gradient(115deg,#feda75 0%,#fa7e1e 28%,#d62976 58%,#962fbf 80%,#4f5bd5 100%)}
.footer-grid .socials>a.social-link--telegram{background:rgb(34 158 217 / 15%)}
.footer-grid .socials>a.social-link--facebook{background:rgb(24 119 242 / 15%)}
.social-icon{width:21px;height:21px;flex:0 0 21px;fill:currentColor;transition:transform 280ms var(--ease)}
.social-link--telegram .social-icon{color:#29a9e8}
.social-link--facebook .social-icon{color:#1877f2}
.social-link:hover .social-icon{transform:scale(1.08)}
.social-link-label{font-size:.8125rem;font-weight:600;white-space:nowrap}

/* News uses one photo at a time and frosted violet glass for every card. */
.news-card,html[data-page-palette] .news-card{background:linear-gradient(140deg,hsl(278 52% 54% / .2),hsl(316 46% 48% / .1)),color-mix(in srgb,var(--surface) 68%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:0;box-shadow:inset 0 0 42px hsl(286 78% 72% / .035),0 12px 38px hsl(278 56% 24% / .1)}
.news-card:hover,html[data-page-palette] .news-card:hover{background:linear-gradient(140deg,hsl(278 58% 58% / .27),hsl(316 52% 52% / .15)),color-mix(in srgb,var(--surface) 62%,transparent);box-shadow:inset 0 0 48px hsl(286 78% 72% / .055),0 18px 48px hsl(278 64% 22% / .2)}
.news-section,html[data-page-palette] .news-section{background:linear-gradient(180deg,hsl(278 62% 50% / .075),transparent 82%)}
.news-card .news-image{position:relative;display:block;width:100%;height:auto;aspect-ratio:16/10;overflow:hidden;border-radius:24px;margin:0 0 22px;background:transparent}
.news-card .news-collage{display:grid;width:100%;height:100%;gap:5px;background:color-mix(in srgb,var(--surface) 36%,transparent)}
.news-collage-item{display:block;min-width:0;min-height:0;overflow:hidden;background:color-mix(in srgb,var(--surface) 62%,transparent)}
.news-collage-item img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;transition:transform 420ms var(--ease),filter 260ms}
.news-collage-item:hover img{transform:scale(1.035);filter:brightness(1.08)}
.news-collage--1{grid-template-columns:1fr}
.news-collage--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.news-collage--3,.news-collage--4{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}
.news-collage--3 .news-collage-item:first-child{grid-row:span 2}
.news-collage--3 .news-collage-item:nth-child(2),.news-collage--3 .news-collage-item:nth-child(3){grid-column:2}
.news-collage--3 .news-collage-item:nth-child(2){grid-row:1}.news-collage--3 .news-collage-item:nth-child(3){grid-row:2}
.news-photo-carousel,.news-photo-stage{position:relative;width:100%;height:100%;overflow:hidden;border-radius:inherit}
.news-photo-stage{touch-action:pan-y;user-select:none;cursor:grab}
.news-photo-slide{position:absolute;inset:0;margin:0}
.news-photo-slide[hidden]{display:none}
.news-photo-link{display:block;width:100%;height:100%;overflow:hidden}
.news-photo-slide img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:inherit;-webkit-user-drag:none}
.news-photo-slide figcaption{position:absolute;right:12px;bottom:12px;max-width:75%;padding:7px 10px;border-radius:999px;background:#130c20c9;color:#fff;font-size:.72rem;backdrop-filter:blur(12px)}
.news-photo-stage::before,.news-photo-stage::after{content:"";position:absolute;z-index:1;top:0;bottom:0;width:clamp(44px,10%,88px);pointer-events:none}
.news-photo-stage::before{left:0;background:linear-gradient(90deg,#100919a8,transparent)}
.news-photo-stage::after{right:0;background:linear-gradient(270deg,#100919a8,transparent)}
.news-photo-arrow{position:absolute;z-index:2;top:50%;width:48px;height:58px;padding:0;display:grid;place-items:center;transform:translateY(-50%);border:0;border-radius:0;background:transparent!important;color:#fff;font-size:2rem;font-weight:350;line-height:1;text-shadow:0 1px 9px #090513c9;transition:opacity .2s,color .2s}
.news-photo-arrow:hover{background:transparent!important;color:#f1d9ff;transform:translateY(-50%)}
.news-photo-arrow[data-news-step="-1"]{left:0}
.news-photo-arrow[data-news-step="1"]{right:0}
.news-photo-arrow:disabled{display:none}
.news-photo-count{position:absolute;z-index:2;top:12px;right:12px;padding:6px 10px;border-radius:999px;background:#130c20bd;color:#fff;font-size:.73rem;font-weight:650;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.news-photo-enter{animation:news-photo-arrive 360ms cubic-bezier(.2,.75,.25,1) both}
@keyframes news-photo-arrive{from{opacity:.45}to{opacity:1}}
.article-prose .news-editorial-carousel{width:100%;aspect-ratio:16/10;max-height:min(65vh,560px);min-height:230px;margin:24px 0;border-radius:clamp(14px,1.5vw,22px)}
.article-prose .news-editorial-carousel .news-photo-stage{background:transparent}
.article-prose .news-editorial-carousel .news-photo-slide img{object-fit:contain}
.article-prose .news-editorial-carousel .news-photo-slide figcaption{bottom:16px}
@media(max-width:720px){.news-card .news-image{margin-bottom:17px;border-radius:20px}.news-card .news-meta,.news-card h3,.news-card>.text-link{margin-inline:20px}.news-excerpt{margin-inline:20px}.news-photo-arrow{width:42px;height:48px}.news-photo-count{top:9px;right:9px}.article-prose .news-editorial-carousel{min-height:200px;max-height:60vh;margin:18px 0}}
@media(prefers-reduced-motion:reduce){.news-photo-enter{animation:none}.news-photo-arrow{transition:none}}
@media print{html[data-page-palette] .section-explorer{display:none}html[data-page-palette] .interior-card{box-shadow:none;background:none}}

/* Site-wide frosted glass for content cards and grouped resource panels. */
:root,[data-theme="light"]{--card-glass:color-mix(in srgb,var(--surface) 58%,transparent);--card-glass-hover:color-mix(in srgb,var(--surface) 70%,transparent)}
[data-theme="dark"]{--card-glass:color-mix(in srgb,var(--surface) 38%,transparent);--card-glass-hover:color-mix(in srgb,var(--surface) 50%,transparent)}
:is(.program-card,.news-card,.quick-links,.student-resources,.resource-tile,.page-sidebar,.sidebar-help,.resource-group,.document-link,.document-row,.search-result,.filter-bar,.empty-state,.info-banner,.inline-cta,.admission-intro,.steps>div,.footer-partner,.editorial-section,.contact-details>div,.library-intro,.library-book,.library-portfolio-slide,.library-document,.library-event,.library-source-note,.schedule-sidebar,.schedule-main,.schedule-week td){
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 4%,transparent),transparent 68%),var(--card-glass)!important;
  backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
  border:0!important;
  box-shadow:0 10px 32px color-mix(in srgb,var(--ink) 5%,transparent)!important;
}
:is(.program-card,.news-card,.resource-tile,.document-link,.document-row,.search-result,.footer-partner,.library-book,.library-portfolio-slide,.library-document,.library-event,.schedule-week td):hover{
  background:linear-gradient(135deg,color-mix(in srgb,var(--accent) 7%,transparent),transparent 68%),var(--card-glass-hover)!important;
  box-shadow:0 14px 38px color-mix(in srgb,var(--ink) 8%,transparent)!important;
}
:is(.student-resources>a,.page-sidebar>a,.quick-links>a,.section-explorer>a){background:transparent;transition:background 260ms,color 260ms}
:is(.student-resources>a,.page-sidebar>a,.quick-links>a,.section-explorer>a):hover{background:color-mix(in srgb,var(--accent) 9%,transparent)}
.schedule-week td{background:color-mix(in srgb,var(--lesson-color,var(--accent)) 9%,var(--card-glass))!important}
.schedule-lesson{background:color-mix(in srgb,var(--lesson-color) 11%,var(--card-glass))!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}

/* Align the college fact figures to one baseline and give them a soft accent glow. */
.facts>div{display:grid;grid-template-rows:clamp(230px,26vw,365px) auto;align-items:end;justify-items:center}
.facts .fact-number-link{display:flex;align-items:flex-end;justify-content:center;width:100%;height:100%;overflow:visible}
.facts strong,.council-stats strong{filter:drop-shadow(0 0 9px color-mix(in srgb,var(--accent) 62%,transparent)) drop-shadow(0 0 27px color-mix(in srgb,var(--accent) 38%,transparent))}
@media(max-width:720px){.facts>div{grid-template-rows:clamp(150px,38vw,250px) auto}.facts strong{font-size:clamp(140px,38vw,250px)}}

/* All site galleries use the library's fixed, centered photo window. */
.news-photo-stage{display:grid;place-items:center;isolation:isolate;background:color-mix(in srgb,var(--surface) 42%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:clamp(16px,2vw,26px)}
.news-photo-stage::before,.news-photo-stage::after{display:none}
.news-photo-slide{position:absolute;inset:0;display:grid;place-items:center;width:100%;height:100%;padding:clamp(30px,4vw,58px);box-sizing:border-box;overflow:hidden}
.news-photo-slide[hidden]{display:none!important}
.news-photo-link,.news-photo-open{display:grid;place-items:center;width:100%;height:100%;max-width:100%;max-height:100%;margin:0;padding:0;border:0;background:transparent;overflow:hidden}
.news-photo-open{cursor:zoom-in}
.news-photo-slide img,.article-prose .news-photo-slide img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;object-position:center;border-radius:clamp(10px,1.5vw,20px)}
.news-photo-arrow{width:44px;height:54px;background:transparent!important;color:#f8f8fa;font-size:2.15rem;text-shadow:0 1px 3px #0009,0 0 8px #0007}
.news-photo-arrow:hover{color:#fff;background:transparent!important}
.news-photo-count{top:14px;right:14px;background:color-mix(in srgb,var(--surface) 76%,transparent);text-shadow:0 1px 7px #0008}
.news-photo-enter{animation:none}
.article-prose .news-editorial-carousel,.prose .site-editorial-carousel{width:100%;height:clamp(260px,48vw,600px);min-height:0;max-height:70vh;margin:22px 0 30px;aspect-ratio:auto;border-radius:clamp(16px,2vw,26px)}
.prose .site-editorial-carousel .news-photo-stage{height:100%}
.site-photo-lightbox{position:fixed;inset:0;width:100vw;height:100dvh;max-width:none;max-height:none;margin:0;padding:clamp(44px,7vh,70px) clamp(12px,5vw,62px);border:0;background:#06120ff2;color:#fff;overflow:hidden}
.site-photo-lightbox::backdrop{background:#020806e8;backdrop-filter:blur(14px)}
.site-photo-lightbox[open]{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:clamp(8px,2vw,28px)}
.site-photo-lightbox-media{min-width:0;min-height:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}
.site-photo-lightbox-media img{display:block;max-width:100%;max-height:calc(100% - 58px);width:auto;height:auto;object-fit:contain;transform-origin:center;transition:transform .2s ease;touch-action:pan-x pan-y}
.site-photo-lightbox button{border:0;background:color-mix(in srgb,var(--surface) 78%,transparent);color:#fff;font:inherit;cursor:pointer}
.site-photo-lightbox-arrow{width:44px;height:54px;background:transparent!important;font-size:2.15rem!important;text-shadow:0 1px 8px #0009}
.site-photo-lightbox-close{position:absolute;top:12px;right:18px;width:44px;height:44px;border-radius:50%;font-size:2rem!important}
.site-photo-lightbox-tools{display:flex;gap:8px;margin-top:12px}
.site-photo-lightbox-tools button{min-width:42px;height:42px;padding:0 10px;border-radius:999px}
.site-photo-lightbox button:disabled{opacity:.3;cursor:default}
@media(max-width:720px){.article-prose .news-editorial-carousel,.prose .site-editorial-carousel{height:min(50vh,380px);min-height:220px;margin:16px 0 24px}.news-photo-slide{padding:36px}.news-photo-arrow{width:38px;height:46px;font-size:1.9rem}.site-photo-lightbox{padding:52px 8px 20px}.site-photo-lightbox[open]{grid-template-columns:34px minmax(0,1fr) 34px;gap:4px}.site-photo-lightbox-arrow{width:32px;font-size:1.8rem!important}}
@media(prefers-reduced-motion:reduce){.site-photo-lightbox-media img{transition:none}}
.article-hero-carousel{width:100%;height:clamp(260px,48vw,620px);max-height:70vh;margin-bottom:40px;border-radius:clamp(16px,2vw,26px)}
@media(max-width:720px){.article-hero-carousel{height:min(50vh,380px);min-height:220px;margin-bottom:26px}}
.news-card-carousel .news-photo-slide{padding:0}
.news-card-carousel .news-photo-slide img{border-radius:inherit;object-fit:contain}
.news-card-carousel .news-photo-count{display:none}
/* Legacy photographs keep their captions and order while opening the shared viewer. */
.prose img:not(.news-photo-carousel img):not(a img){display:block;max-width:100%;max-height:min(70vh,700px);width:auto;height:auto;margin:18px auto;object-fit:contain;border-radius:clamp(12px,1.5vw,22px);cursor:zoom-in}
