/* September 2026 refinements: shared colour, photography and interaction system. */
html{overflow-x:clip}
:root{--navy:#08445c;--cream:#f5f5e9}
[hidden]{display:none!important}
.hero-stamp{font-size:clamp(15px,2.1vw,33px)}
.orbit-seal .seal-peacock{height:52%;width:32%;object-fit:contain;filter:brightness(0);transform:rotate(calc(var(--seal-turn,0deg)*-1))}
.world-menu-body nav a>span::after{display:none}
.world-menu-body nav a{color:var(--paper)}
.world-menu-body nav a:hover,.world-menu-body nav a:focus-visible{color:var(--lime)}
.world-menu-body nav a[aria-current=page]{color:var(--lime)}
.world-menu-top .club-logo,.world-menu-bottom{color:var(--paper)}
.lineup .mini-marquee .lineup-ticker-track{display:flex;width:max-content;animation:lineup-loop 50s linear infinite;transform:none}
.lineup-ticker-track>span{flex:none;white-space:nowrap}
@keyframes lineup-loop{to{transform:translateX(-50%)}}
/* Subtle tiled original peacocks; content always remains on the top plane. */
.lineup,.partners,.committee-tree,.sponsor-wizard,.policy-sheet{position:relative;isolation:isolate}
.lineup::after,.partners::after,.committee-tree::after,.sponsor-wizard::after,.policy-sheet::after{content:'';position:absolute;inset:0;z-index:-1;background:url('assets/brand/peacock-blue.png') 20px 20px/115px 222px repeat;opacity:.014;pointer-events:none}
.impact,.sponsors-page #reach{background:var(--navy);color:var(--paper)}
.impact-heading h2,.sponsors-page #reach h2{color:var(--paper)}
.impact-heading h2 .impact-accent,.sponsors-page #reach .brand-accent{color:var(--lime)}
.impact-grid strong,.stat__num{color:var(--paper);transition:color .3s,transform .6s var(--motion-ease)}
.impact-grid>div,.sponsors-page #reach .stat{border-color:#f5f5e940}
.impact-grid>div:nth-child(3n+2) strong,.sponsors-page #reach .stat:nth-child(even) .stat__num{color:var(--blue)}
.impact-grid>div:hover strong,.impact-grid>div:focus strong,.sponsors-page #reach .stat:hover .stat__num{color:var(--lime)}
.impact-grid>div:nth-child(2n):hover strong{color:#f58dd0}
.inner-hero{background:var(--navy);color:var(--paper)}
.inner-page .inner-hero .inner-intro{color:var(--paper)}
.inner-hero::before{background-image:url('assets/brand/peacock-white.png');background-size:150px 290px;background-repeat:repeat;opacity:.04;inset:0;transform:rotate(-12deg) scale(1.4)}
.inner-heading .page-stamp{color:var(--ink)}
.sticker-finale{background:var(--navy);color:var(--paper)}
.finale-actions .button{color:var(--ink)}
.physics-sticker{width:max-content;max-width:none;font-size:clamp(20px,2.5vw,39px);padding:.35em .55em .45em;line-height:1.1}
.community-panel h2{color:var(--paper)}
.community-panel .community-copy{color:var(--navy)}
.feature-copy.blue-bright{background:var(--navy);color:var(--paper)}
.split__text{background:var(--navy);color:var(--paper)}
.split__text .brand-accent{color:var(--lime)!important}
/* Keep logo details at rest, reveal full colour on pointer and keyboard focus. */
.partner-grid img,.partner-grid img[src]{filter:grayscale(1);opacity:.83;transition:filter .28s,opacity .28s,transform .4s var(--motion-ease)}
.partner-grid a:hover img,.partner-grid a:focus-visible img,.partner-grid a:hover img[src]{filter:none;opacity:1;transform:scale(1.09)}
.partner-grid a{border-radius:10px;transition:background .3s}
.partner-grid a:hover,.partner-grid a:focus-visible{background:var(--paper)}
/* Photography moves as a continuous ribbon, without vinyl or record sleeves. */
.photo-ribbon{overflow:hidden;padding:35px 0 45px}
.photo-ribbon-track{display:flex;width:max-content;animation:photo-flow 42s linear infinite}
.photo-ribbon-track>div{display:flex;gap:24px;padding-right:24px}
.memory-photo{position:relative;display:block;flex:none;width:clamp(240px,28vw,430px);aspect-ratio:4/5;overflow:hidden;border-radius:14px;color:var(--paper)}
.memory-photo:nth-child(even){margin-top:40px}
.memory-photo img{height:100%;width:100%;object-fit:cover;transition:transform .7s var(--motion-ease)}
.memory-photo::after{content:'';position:absolute;inset:45% 0 0;background:linear-gradient(transparent,#000b)}
.memory-photo>span{position:absolute;z-index:1;bottom:7%;left:7%;right:7%;font:italic 900 clamp(30px,3.5vw,52px)/1 var(--display);letter-spacing:-.06em}
.memory-photo:hover img{transform:scale(1.06)}
.photo-ribbon:hover .photo-ribbon-track,.photo-ribbon:focus-within .photo-ribbon-track{animation-play-state:paused}
@keyframes photo-flow{to{transform:translateX(-50%)}}
.sponsor-orbit{position:relative;isolation:isolate;overflow:hidden;height:clamp(420px,48vw,710px);margin:-30px 0 50px;background:var(--paper)}
.sponsor-orbit-stage{position:absolute;inset:0}
.orbit-message{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;flex-direction:column;text-align:center;pointer-events:none}
.orbit-message>span{font-size:12px;letter-spacing:.16em;margin-bottom:20px;color:var(--blue-core)}
.orbit-message p{font:italic 900 clamp(45px,6vw,96px)/.95 var(--display);letter-spacing:-.065em}
.orbit-message em{color:var(--blue-core)}
.sponsor-orbit-logo{position:absolute;left:50%;top:50%;width:clamp(78px,11vw,166px);height:clamp(70px,8vw,115px);display:grid;place-items:center;padding:16px;background:var(--paper);border:1px solid #08445c25;border-radius:16px;box-shadow:0 9px 25px #08445c12;will-change:transform}
.sponsor-orbit-logo img{max-height:75px;max-width:100%;object-fit:contain}
.sponsor-orbit-logo:hover{background:var(--paper);border-color:var(--blue)}
.sponsor-orbit-logo:focus-visible{z-index:200!important;opacity:1!important}
/* A choice-first sponsorship conversation. */
.sponsor-wizard{padding:32px;border:1px solid #08445c35;border-radius:22px;background:var(--paper);min-width:0;align-self:start}
.wizard-progress{display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--blue-core);margin-bottom:32px}
.wizard-progress>div{height:4px;background:#08445c20;width:100%;overflow:hidden;border-radius:4px}
.wizard-progress i{display:block;width:25%;height:100%;background:var(--blue-core);transition:width .4s}
.sponsor-wizard fieldset{border:0;margin:0;padding:0;min-width:0}
.sponsor-wizard legend{font:italic 900 clamp(28px,3vw,44px)/1.04 var(--display);letter-spacing:-.055em;max-width:100%;margin-bottom:16px}
.sponsor-wizard fieldset>p{font-size:16px;line-height:1.4;margin-bottom:22px}
.wizard-choices{display:grid;gap:12px}
.wizard-choices label{position:relative;cursor:pointer}
.wizard-choices input{position:absolute;opacity:0;width:1px;height:1px}
.wizard-choices span{display:block;padding:18px 42px 18px 18px;border:1px solid #08445c40;border-radius:12px;transition:background .2s,border-color .2s,transform .2s;position:relative}
.wizard-choices span::after{content:'↗';position:absolute;right:16px;top:17px}
.wizard-choices b{font-size:19px;display:block}
.wizard-choices small{font-size:14px;line-height:1.4;display:block;margin-top:7px}
.wizard-choices input:checked+span{background:var(--navy);color:var(--paper);border-color:var(--navy)}
.wizard-choices input:checked+span::after{content:'✓';color:var(--lime)}
.wizard-choices input:focus-visible+span{outline:3px solid var(--blue);outline-offset:3px}
.wizard-choices label:hover span{border-color:var(--blue-core)}
.wizard-actions{display:flex;justify-content:space-between;gap:15px;margin-top:28px;align-items:center}
.wizard-back{background:none;padding:12px 0;font-size:15px}
.wizard-back:disabled{opacity:.3;cursor:default}
.wizard-actions .button{font-size:16px}
.wizard-review{margin:0}.wizard-review>div{padding:14px 0;border-bottom:1px solid #08445c25}.wizard-review dt{font-size:12px;color:var(--blue-core)}.wizard-review dd{margin:6px 0 0;font-size:18px;overflow-wrap:anywhere}
.wizard-note{margin-top:22px;font-size:13px!important}
.sponsor-wizard .field input{font:inherit;width:100%;padding:13px 10px;border:1px solid #08445c50;border-radius:8px;background:#fff;color:var(--ink)}
.sponsor-wizard .field label{font-size:14px;display:block;margin-bottom:8px}
.form__status{font-size:15px;line-height:1.4;margin-top:18px}.form__status.err{color:#a61944}.form__status.ok{color:#075c3d}
/* Real individual portraits arranged by the team's hierarchy. */
.committee-tree{padding:5px 0 30px}
.committee-generation{position:relative;padding:30px 0 46px;margin:0}
.committee-generation+.committee-generation::before{content:'';position:absolute;left:50%;top:-22px;height:52px;width:2px;background:var(--blue-core)}
.generation-heading{position:relative;width:max-content;max-width:100%;margin:0 auto 32px;text-align:center;background:var(--paper);padding:0 18px}
.generation-heading>span{display:block;color:var(--blue-core);font-size:12px;letter-spacing:.15em;margin-bottom:8px}
.generation-heading h3{font:italic 900 clamp(23px,3vw,40px)/1.05 var(--display);letter-spacing:-.045em}
.committee-people{display:flex;flex-wrap:wrap;justify-content:center;gap:30px 22px;max-width:1080px;margin:auto;position:relative;padding-top:25px;border-top:1px solid #0e76a455}
.committee-generation:nth-child(-n+2) .committee-people{max-width:440px}
.committee-person{position:relative;width:calc(20% - 22px);min-width:135px;text-align:center}
.committee-person::before{content:'';position:absolute;top:-25px;left:50%;height:25px;border-left:1px solid #0e76a455}
.committee-person img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%;border:5px solid var(--paper);outline:1px solid #0e76a455;transition:transform .45s var(--motion-ease),border-color .3s}
.committee-person:hover img{transform:translateY(-7px) rotate(-3deg);border-color:var(--blue)}
.committee-person h4{font:700 16px/1.15 var(--body);margin:14px 0 5px;letter-spacing:-.02em}
.committee-person p{font-size:12px;line-height:1.3;color:var(--blue-core)}
.committee-generation:nth-child(-n+2) .committee-person{width:calc(50% - 22px);max-width:195px}
/* One cross-document curtain works even without native View Transitions. */
@view-transition{navigation:none}
.page-curtain{position:fixed;inset:0;z-index:2147483000;background:var(--navy);display:grid;place-items:center;pointer-events:none;transform:translateY(101%);visibility:hidden}
.page-curtain img{width:65px;height:125px;object-fit:contain}
html.route-arriving .page-curtain{transform:translateY(0);visibility:visible}
html.route-arriving{background:var(--navy)}
html.route-arriving body{visibility:hidden}
@media(max-width:720px){
 .hero-stamp{font-size:14px;right:22px}
 .physics-sticker{font-size:21px;padding:.4em .6em}
 .photo-ribbon-track>div{gap:14px;padding-right:14px}.memory-photo{width:65vw}.photo-ribbon-track{animation-duration:35s}
 .sponsor-orbit{height:440px;margin-top:0}.sponsor-orbit-logo{width:88px;height:75px;padding:12px}.sponsor-orbit-logo img{max-height:52px}.orbit-message p{font-size:42px}
 .sponsor-wizard{padding:23px 18px}.wizard-progress{margin-bottom:24px}.wizard-choices b{font-size:17px}
 .committee-people{gap:25px 14px}.committee-person{width:calc(33.333% - 14px);min-width:0}.committee-person h4{font-size:13px}.committee-person p{font-size:10px}.committee-generation{padding-bottom:36px}.generation-heading h3{font-size:25px}
 .impact-heading h2{font-size:clamp(34px,9vw,46px)}
}
@media(prefers-reduced-motion:reduce){.photo-ribbon{overflow-x:auto}.photo-ribbon-track{animation:none}.photo-ribbon-track>div[aria-hidden]{display:none}.sponsor-orbit{height:auto;margin:30px 16px}.orbit-message{position:relative;padding:30px 0}.sponsor-orbit-stage{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:10px}.sponsor-orbit-logo{position:relative;inset:auto;transform:none!important;opacity:1!important;width:100%;height:80px}.page-curtain{display:none}}


.community-panel .reveal-words .word{color:var(--paper)}

/* One cream surface for every partner; white-only artwork uses a dark ink treatment. */
.partner-grid a{background:var(--paper)}
.partner-grid img.sponsor-logo--mono,.partner-grid a:hover img.sponsor-logo--mono,.partner-grid a:focus-visible img.sponsor-logo--mono,.sponsor-orbit-logo img.sponsor-logo--mono{filter:brightness(0);opacity:.85}
.partner-grid a:hover img.sponsor-logo--mono,.partner-grid a:focus-visible img.sponsor-logo--mono{opacity:1}
