@font-face{font-family:ArchivoExpanded;src:url('assets/fonts/Archivo-Expanded-Black.ttf') format('truetype');font-weight:900;font-display:swap}
@font-face{font-family:IBMPlex;src:url('assets/fonts/IBM-Plex-Sans-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:IBMPlex;src:url('assets/fonts/IBM-Plex-Sans-SemiBold.ttf') format('truetype');font-weight:600;font-display:swap}

:root{
  --night:#111426;
  --paper:#f3eee5;
  --lime:#d4ff3f;
  --coral:#ff5b62;
  --ink:#111426;
  --muted:#6d6c73;
  --shell:min(1440px,calc(100vw - 64px));
  --space:clamp(92px,12vw,180px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--night)}
body{margin:0;color:var(--ink);background:var(--paper);font-family:IBMPlex,Arial,sans-serif;font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,video{display:block;max-width:100%}
button,a{font:inherit}
a{color:inherit}
figure{margin:0}
.skip-link{position:fixed;z-index:1000;top:10px;left:10px;transform:translateY(-160%);padding:10px 14px;background:var(--lime);color:var(--night);font-weight:600;text-decoration:none}
.skip-link:focus{transform:none}
.shell{width:var(--shell);margin-inline:auto;position:relative}
.split-copy>*,.principles>*,.identity-grid>*,.key-grid>*,.row-heading>*,.stories-wrap>*,.profile-system>*,.motion-grid>*,.ticket-showcase>*,.device-stage>*,.banner-stage>*,.sign-grid>*,.finale-grid>*{min-width:0}
.section-dark{background:var(--night);color:var(--paper)}
.section-light{background:#fff;color:var(--ink)}
.section-paper{background:var(--paper);color:var(--ink)}

.site-header{position:fixed;z-index:100;top:0;left:0;width:100%;height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 32px;color:var(--paper);background:linear-gradient(180deg,rgba(17,20,38,.9),rgba(17,20,38,0));transition:background .25s ease,border-color .25s ease}
.site-header.scrolled{background:rgba(17,20,38,.96);border-bottom:1px solid rgba(243,238,229,.14);backdrop-filter:blur(12px)}
.brand{display:block;width:148px}
.brand img{width:100%;height:auto}
.site-nav{display:flex;align-items:center;gap:30px;font-weight:600;font-size:.86rem;text-transform:uppercase;letter-spacing:.08em}
.site-nav a{text-decoration:none}
.site-nav a:not(.nav-cta){position:relative}
.site-nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;bottom:-5px;width:100%;height:2px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .2s ease}
.site-nav a:hover::after,.site-nav a:focus-visible::after{transform:scaleX(1)}
.nav-cta{padding:11px 15px;color:var(--night);background:var(--lime)}
.menu-toggle{display:none;border:0;background:none;color:inherit;text-transform:uppercase;font-weight:600;letter-spacing:.08em}

.hero{min-height:100svh;position:relative;display:flex;align-items:stretch;overflow:hidden}
.hero-media,.hero-shade{position:absolute;inset:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:61% center;filter:saturate(.84) contrast(1.04)}
.hero-shade{background:linear-gradient(90deg,rgba(17,20,38,.98) 0%,rgba(17,20,38,.94) 38%,rgba(17,20,38,.18) 72%,rgba(17,20,38,.04) 100%)}
.hero-content{z-index:2;display:flex;flex-direction:column;padding:clamp(120px,15vh,170px) 0 120px}
.eyebrow{margin:0 0 24px;color:var(--lime);font-weight:600;font-size:.8rem;letter-spacing:.13em;text-transform:uppercase}
.eyebrow.ink{color:var(--ink)}
.hero-logo{width:min(650px,60vw);margin-top:4vh}
.hero-bottom{margin-top:auto;display:grid;grid-template-columns:minmax(420px,1.5fr) minmax(300px,.7fr);gap:64px;align-items:end}
.hero h1,.display,.type-display{font-family:ArchivoExpanded,Arial,sans-serif;font-weight:900;letter-spacing:-.045em;text-transform:uppercase}
.hero h1{margin:0;font-size:clamp(3.2rem,5vw,6rem);line-height:.9}
.hero-intro{margin:0 0 6px;max-width:540px;font-size:clamp(1.05rem,1.5vw,1.45rem);line-height:1.45}
.hero-meta{position:absolute;z-index:3;bottom:0;left:0;width:100%;display:grid;grid-template-columns:repeat(4,1fr);background:var(--lime);color:var(--night);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.hero-meta span{padding:18px 32px;border-right:1px solid rgba(17,20,38,.25)}

.numbered-section{position:relative;overflow:hidden}
.section-index{position:absolute;top:35px;right:clamp(24px,4vw,70px);font-family:ArchivoExpanded;font-size:clamp(5rem,15vw,14rem);line-height:1;color:rgba(17,20,38,.055);pointer-events:none}
.section-index.light{color:rgba(243,238,229,.055)}
.intro,.concept,.identity,.key-visual,.social,.motion,.access,.editorial,.digital,.signage{padding:var(--space) 0}
.split-copy{display:grid;grid-template-columns:1fr;gap:56px;align-items:start}
.display{margin:0;font-size:clamp(2rem,2.7vw,2.35rem);line-height:1;max-width:1160px;overflow-wrap:normal;word-break:normal;hyphens:none}
.body-copy{width:min(100%,760px);justify-self:end;padding-top:0;font-size:clamp(1.05rem,1.5vw,1.3rem)}
.body-copy>p{margin:0 0 50px}
.project-facts{margin:0;border-top:1px solid rgba(17,20,38,.25)}
.project-facts div{display:grid;grid-template-columns:100px 1fr;gap:18px;padding:17px 0;border-bottom:1px solid rgba(17,20,38,.18)}
.project-facts dt{font-size:.76rem;text-transform:uppercase;letter-spacing:.1em;font-weight:600}
.project-facts dd{margin:0}

.section-heading{margin-bottom:64px;max-width:1120px}
.section-heading.wide{max-width:1200px}
.lead{margin:32px 0 0;max-width:760px;color:rgba(243,238,229,.72);font-size:clamp(1.05rem,1.45vw,1.35rem)}
.lead.ink{color:rgba(17,20,38,.72)}
.artifact{background:rgba(255,255,255,.03)}
.artifact img{width:100%;height:auto}
.artifact figcaption,.poster-main figcaption,.poster-pair figcaption,.ticket-showcase figcaption,.sign-grid figcaption{padding:14px 0;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:rgba(243,238,229,.56)}
.artifact-wide{margin-top:78px}
.principles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:70px;background:rgba(243,238,229,.16)}
.principle{min-height:300px;padding:38px;background:var(--night)}
.principle span{display:block;margin-bottom:72px;color:var(--lime);font-family:ArchivoExpanded;font-size:1.2rem}
.principle h3{margin:0 0 16px;font-family:ArchivoExpanded;font-size:clamp(1.55rem,2vw,2.15rem);line-height:.95;text-transform:uppercase;overflow-wrap:normal;word-break:normal;hyphens:none}
.principle p{margin:0;color:rgba(243,238,229,.65)}

.logo-stage{display:grid;grid-template-columns:1fr 1fr;margin:72px 0}
.logo-panel{display:grid;place-items:center;min-height:420px;padding:60px}
.logo-panel.dark{background:var(--night)}
.logo-panel.light{background:white}
.logo-panel img{width:min(500px,90%)}
.identity-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:90px}
.palette{display:grid;grid-template-columns:1fr 1fr;min-height:500px}
.swatch{display:flex;min-width:0;flex-direction:column;justify-content:space-between;padding:24px;border:1px solid rgba(17,20,38,.12);font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;overflow-wrap:anywhere}
.swatch strong{font-size:1rem}.swatch.night{background:var(--night);color:var(--paper)}.swatch.moon{background:var(--paper)}.swatch.lime{background:var(--lime)}.swatch.coral{background:var(--coral)}
.type-specimen{display:flex;flex-direction:column;justify-content:space-between;padding:42px;background:white;border:1px solid rgba(17,20,38,.12)}
.type-display{margin:0;font-size:clamp(3.4rem,6vw,7rem);line-height:.84}
.type-info{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid rgba(17,20,38,.18);padding-top:24px}
.type-info p{margin:0;font-size:.9rem}.type-info strong{text-transform:uppercase;letter-spacing:.05em}
.moodboard figcaption{color:rgba(17,20,38,.55)}

.key-grid{display:grid;grid-template-columns:.9fr 1fr;gap:clamp(40px,6vw,90px);align-items:start}
.key-grid .display{font-size:clamp(1.7rem,1.9vw,2rem)}
.sticky-copy{position:sticky;top:140px}
.micro-list{display:flex;flex-direction:column;gap:0;margin-top:50px;border-top:1px solid rgba(17,20,38,.2)}
.micro-list span{padding:15px 0;border-bottom:1px solid rgba(17,20,38,.14);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}
.poster-main img{width:100%;box-shadow:0 32px 70px rgba(17,20,38,.16)}
.poster-main figcaption{color:rgba(17,20,38,.52)}
.outdoor{padding:var(--space) 0}
.row-heading{display:grid;grid-template-columns:1.2fr .7fr;gap:80px;max-width:none;align-items:end}
.poster-pair{display:grid;grid-template-columns:1fr 1fr;gap:5vw;align-items:end;margin-top:80px}
.poster-pair figure{display:flex;flex-direction:column;align-items:center}.poster-pair img{max-height:1100px;width:auto;box-shadow:0 25px 70px rgba(0,0,0,.25)}

.feed-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.feed-grid img{width:100%;height:auto}
.stories-wrap{display:grid;grid-template-columns:.42fr 1fr;gap:7vw;align-items:center;margin:130px 0}
.story-copy h3,.profile-copy h3,.banner-heading h3{font-family:ArchivoExpanded;margin:12px 0 20px;font-size:clamp(1.5rem,1.8vw,2.15rem);line-height:1;text-transform:uppercase;overflow-wrap:normal;word-break:normal;hyphens:none}
.story-copy p,.profile-copy p{max-width:410px}
.big-number{font-family:ArchivoExpanded;font-size:clamp(2.75rem,4vw,5rem);line-height:.88;color:var(--coral)}
.story-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.profile-system{display:grid;grid-template-columns:1.3fr .55fr 1.3fr;gap:50px;align-items:center;padding:64px;border-top:1px solid rgba(17,20,38,.16);border-bottom:1px solid rgba(17,20,38,.16)}
.profile-avatar{text-align:center}.profile-avatar img{border-radius:50%}.profile-avatar span{display:block;margin-top:12px;font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}
.highlight-row{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.highlight-row figure{text-align:center}.highlight-row img{border-radius:50%}.highlight-row figcaption{margin-top:10px;font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}
.event-cover{margin-top:110px}.event-cover figcaption{color:rgba(17,20,38,.55)}

.motion-grid{display:grid;grid-template-columns:minmax(320px,.62fr) 1fr;gap:clamp(70px,12vw,180px);align-items:center}
.video-shell{max-width:520px;margin-inline:auto;padding:14px;background:#050713;box-shadow:0 35px 100px rgba(0,0,0,.38)}
.video-shell video{width:100%;aspect-ratio:9/16;background:black}
.motion-stats{display:grid;grid-template-columns:repeat(3,1fr);margin-top:60px;border-top:1px solid rgba(243,238,229,.22)}
.motion-stats div{padding:20px 12px 0 0}.motion-stats dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:rgba(243,238,229,.52)}.motion-stats dd{margin:7px 0 0;font-weight:600}

.ticket-showcase{display:grid;grid-template-columns:.45fr 1fr;gap:60px;align-items:start;margin-top:80px}
.digital-ticket{padding:35px;background:var(--night)}
.digital-ticket figcaption{color:rgba(243,238,229,.58)}
.ticket-details{display:grid;gap:50px;padding-top:50px}.ticket-details figure{padding:26px;background:var(--paper)}.ticket-details figcaption{color:rgba(17,20,38,.55)}

.program-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;align-items:start;margin-top:80px}
.program-grid img{width:100%;box-shadow:0 12px 28px rgba(17,20,38,.12)}
.map-stage{margin-top:100px;padding:clamp(24px,5vw,70px);background:#fff}
.map-stage img{width:100%}
.map-stage figcaption{display:flex;justify-content:space-between;gap:30px;margin-top:28px;padding-top:22px;border-top:1px solid rgba(17,20,38,.2)}
.map-stage figcaption strong{font-family:ArchivoExpanded;font-size:2rem;text-transform:uppercase}.map-stage figcaption span{max-width:430px}

.device-stage{display:grid;grid-template-columns:1fr 300px;gap:50px;align-items:end;margin-top:90px}
.browser-frame{padding:0 10px 10px;background:#070915;box-shadow:0 32px 80px rgba(0,0,0,.34)}
.browser-bar{height:42px;display:flex;align-items:center;gap:7px;padding:0 6px;color:rgba(243,238,229,.55);font-size:.72rem}.browser-bar i{width:8px;height:8px;border-radius:50%;background:rgba(243,238,229,.3)}.browser-bar span{margin-left:12px}
.browser-frame iframe{display:block;width:100%;height:720px;border:0;background:white}
.phone-frame{position:relative;padding:16px 8px 9px;border:2px solid rgba(243,238,229,.28);border-radius:32px;background:#050713;box-shadow:0 32px 80px rgba(0,0,0,.35)}
.phone-frame iframe{display:block;width:100%;height:610px;border:0;border-radius:20px;background:white}.phone-speaker{position:absolute;z-index:2;top:7px;left:50%;transform:translateX(-50%);width:70px;height:5px;border-radius:10px;background:#292c3c}
.lime-link{display:inline-flex;gap:20px;align-items:center;margin-top:42px;padding:17px 20px;background:var(--lime);color:var(--night);font-weight:600;text-decoration:none;text-transform:uppercase;letter-spacing:.04em}.lime-link:hover span{transform:translate(3px,-3px)}.lime-link span{transition:transform .2s ease}
.banner-heading{margin-top:150px;max-width:750px}.banner-stage{display:grid;grid-template-columns:300px 1fr 300px;gap:40px;align-items:center;margin-top:60px}.banner-stage img{justify-self:center;box-shadow:0 18px 44px rgba(0,0,0,.25)}.banner-wide{width:100%}

.sign-grid{display:grid;grid-template-columns:1.25fr .8fr .9fr;gap:55px;align-items:end;margin-top:90px}.sign-grid figure{display:flex;flex-direction:column;align-items:center}.sign-grid img{max-height:880px;width:auto;box-shadow:0 24px 70px rgba(17,20,38,.16)}.sign-grid figcaption{color:rgba(17,20,38,.55)}

.finale{position:relative;padding:170px 0 100px;overflow:hidden}
.finale-line{position:absolute;top:0;left:0;white-space:nowrap;font-family:ArchivoExpanded;font-size:clamp(4rem,10vw,10rem);line-height:1;color:transparent;-webkit-text-stroke:1px rgba(212,255,63,.45);transform:translateX(-4%)}
.finale-grid{display:grid;grid-template-columns:1.15fr .6fr;gap:100px;margin-top:70px}.finale-copy{font-size:1.15rem}.finale-copy>p:first-child{font-size:1.35rem}.finale-copy ul{list-style:none;margin:42px 0;padding:0;border-top:1px solid rgba(243,238,229,.2)}.finale-copy li{padding:13px 0;border-bottom:1px solid rgba(243,238,229,.17)}.project-note{margin-top:45px;color:rgba(243,238,229,.48);font-size:.82rem;text-transform:uppercase;letter-spacing:.08em}.final-logo{margin-top:130px;border-top:1px solid rgba(243,238,229,.2);padding-top:80px}.final-logo img{width:min(740px,80vw)}
.site-footer{display:flex;justify-content:space-between;gap:20px;padding:25px 32px;background:var(--lime);color:var(--night);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.07em}.site-footer a{text-decoration:none}

.reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}

@media (max-width:1100px){
  :root{--shell:min(100% - 44px,960px)}
  .hero-bottom,.split-copy,.row-heading,.key-grid,.motion-grid,.finale-grid{grid-template-columns:1fr}
  .hero-bottom{gap:32px}.hero-intro{max-width:660px}.body-copy{max-width:680px}.principles{grid-template-columns:repeat(2,minmax(0,1fr))}.principle:last-child{grid-column:1/-1}.sticky-copy{position:static}.key-grid{gap:70px}.poster-main{max-width:720px;margin-inline:auto}.row-heading{gap:30px}.row-heading .lead{margin-top:0}.profile-system{grid-template-columns:1fr 240px}.highlight-row{grid-column:1/-1}.device-stage{grid-template-columns:1fr 260px}.browser-frame iframe{height:580px}.phone-frame iframe{height:530px}.banner-stage{grid-template-columns:260px 1fr 260px}.sign-grid{gap:28px}.finale-grid{gap:40px}
}

@media (max-width:900px){
  .identity-grid,.profile-system{grid-template-columns:1fr}
}

@media (max-width:760px){
  :root{--shell:calc(100% - 32px);--space:84px}
  .site-header{height:68px;padding:0 16px}.brand{width:120px}.menu-toggle{display:flex;align-items:center;gap:10px;cursor:pointer}.menu-toggle i{display:block;width:20px;height:2px;background:currentColor;box-shadow:0 6px currentColor}.site-nav{position:absolute;top:68px;left:0;width:100%;display:none;flex-direction:column;align-items:stretch;gap:0;padding:14px 16px 20px;background:var(--night);border-top:1px solid rgba(243,238,229,.14)}.site-nav.open{display:flex}.site-nav a{padding:14px 8px}.nav-cta{text-align:center;margin-top:8px}.site-nav a:not(.nav-cta)::after{display:none}
  .hero{min-height:820px}.hero-media img{object-position:66% center}.hero-shade{background:linear-gradient(180deg,rgba(17,20,38,.96) 0%,rgba(17,20,38,.86) 56%,rgba(17,20,38,.6) 100%)}.hero-content{padding:110px 0 165px}.hero-logo{width:min(490px,88vw);margin-top:7vh}.hero h1{font-size:clamp(2.1rem,9vw,3rem);line-height:.94}.hero-meta{grid-template-columns:1fr 1fr}.hero-meta span{padding:12px 16px;font-size:.72rem;border-bottom:1px solid rgba(17,20,38,.2)}
  .display{font-size:clamp(1.55rem,6.8vw,2rem);line-height:1.05}.key-grid .display{font-size:clamp(1.55rem,6.8vw,2rem)}#intro-title,#identity-title,#key-title,#social-title,#digital-title{font-size:1.25rem;line-height:1.12}.story-copy h3,.profile-copy h3,.banner-heading h3{font-size:1.3rem;line-height:1.05}.principle h3{font-size:1.35rem}.section-index{top:20px;right:16px}.lead{font-size:1rem}.project-facts div{grid-template-columns:82px 1fr}.body-copy{width:100%;justify-self:stretch}
  .principles{grid-template-columns:1fr}.principle:last-child{grid-column:auto}.principle{min-height:240px}.principle span{margin-bottom:38px}.logo-stage,.identity-grid{grid-template-columns:1fr}.logo-panel{min-height:270px;padding:40px}.palette{min-height:390px}.type-specimen{min-height:420px;padding:28px}.type-info{grid-template-columns:1fr}.artifact-wide{margin-top:48px}
  .poster-pair{gap:22px}.poster-pair img{max-height:620px}.feed-grid{gap:5px}.stories-wrap{grid-template-columns:1fr;gap:45px;margin:85px 0}.story-copy p{max-width:600px}.story-grid{gap:6px}.profile-system{grid-template-columns:1fr;padding:34px 20px;gap:34px}.profile-avatar{max-width:220px;margin:auto}.highlight-row{grid-template-columns:repeat(4,1fr);gap:7px}.highlight-row figcaption{font-size:.58rem}.event-cover{margin-top:70px}
  .motion-grid{gap:65px}.video-shell{max-width:360px}.motion-stats{grid-template-columns:1fr}.motion-stats div{padding:15px 0;border-bottom:1px solid rgba(243,238,229,.15)}
  .ticket-showcase{grid-template-columns:1fr;gap:30px}.digital-ticket{max-width:420px;margin:auto}.ticket-details{padding-top:0;gap:30px}.program-grid{grid-template-columns:repeat(2,1fr);gap:7px}.map-stage{margin-top:65px}.map-stage figcaption{flex-direction:column}.map-stage figcaption strong{font-size:1.5rem}
  .device-stage{grid-template-columns:1fr}.browser-frame iframe{height:440px}.phone-frame{width:260px;margin:auto}.phone-frame iframe{height:530px}.banner-heading{margin-top:100px}.banner-stage{grid-template-columns:1fr;gap:34px}.banner-wide{grid-row:1}.sign-grid{grid-template-columns:1fr 1fr;gap:24px}.sign-grid figure:first-child{grid-row:span 2}.sign-grid img{max-height:620px}.finale{padding-top:130px}.finale-grid{margin-top:45px}.final-logo{margin-top:80px;padding-top:55px}.site-footer{flex-direction:column}
}

@media (max-width:470px){
  .hero{min-height:820px}.hero-logo{width:92vw}.hero-meta span{padding:10px;font-size:.65rem}.project-facts div{grid-template-columns:92px 1fr;gap:14px}.swatch{padding:14px;font-size:.68rem}.swatch strong{font-size:.82rem}.type-display{font-size:clamp(2.45rem,14vw,3rem)}.poster-pair{grid-template-columns:1fr}.poster-pair img{max-height:none;width:100%}.profile-system{padding-inline:0}.sign-grid{grid-template-columns:1fr}.sign-grid figure:first-child{grid-row:auto}.sign-grid img{max-height:none;width:100%}.browser-frame iframe{height:350px}.program-grid{gap:4px}
}

@media (max-width:340px){
  #intro-title,#identity-title,#key-title,#social-title,#digital-title{font-size:1.15rem}
  .principle h3{font-size:1.2rem}
}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.site-header,.site-nav a::after{transition:none}}
