@font-face{font-family:"Host Grotesk";src:url(/assets/fonts/host-grotesk.woff2) format("woff2");font-weight:300 800;font-display:swap}
:root{--bg:#07080A;--fg:#ECEEF1;--soft:#8E929A;--line:#24262B;--wash:#14161A;--sans:"Host Grotesk",system-ui,-apple-system,"Segoe UI",sans-serif}
*{box-sizing:border-box}
html{background:var(--bg);-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--fg);font:400 18px/1.45 var(--sans);-webkit-font-smoothing:antialiased}
h1,h2,h3,p,dl,dd,figure,ul{margin:0}
ul{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
:focus-visible{outline:2px solid var(--fg);outline-offset:3px}
figure img,figure video{display:block;width:100%;height:100%;object-fit:cover}
.w{width:100%;max-width:1480px;margin-inline:auto;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}
@media (min-width:760px){.w{padding-left:max(32px,env(safe-area-inset-left));padding-right:max(32px,env(safe-area-inset-right))}}

.bar{position:sticky;top:0;z-index:10;background:rgba(7,8,10,.94);padding-top:env(safe-area-inset-top)}
.bar .w{display:flex;justify-content:space-between;align-items:center;height:68px}
.brand svg{display:block;width:clamp(128px,11vw,152px);height:auto;fill:currentColor}
.bar nav{display:flex;gap:clamp(18px,2.4vw,32px);font-size:16px}
.bar nav a:hover,.bar nav a[aria-current]{color:var(--soft)}

.btn{display:inline-block;background:var(--fg);color:var(--bg);border-radius:999px;padding:13px 22px;font-size:16px;white-space:nowrap}
.btn:hover{background:#fff}
.more{font-size:16px;border-bottom:1px solid currentColor;padding-bottom:1px;justify-self:start;align-self:start;width:max-content;max-width:100%}

/* home */
.hero{display:grid;gap:clamp(22px,3vw,40px);padding-top:clamp(28px,5vw,72px)}
h1{font:400 clamp(38px,6.4vw,96px)/1.04 var(--sans);letter-spacing:-.038em;max-width:13.5em;text-wrap:balance}
.herosub{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px 40px}
.herosub p{font-size:clamp(18px,1.6vw,22px);line-height:1.3;max-width:30em;text-wrap:pretty}
.film{aspect-ratio:4/5;background:var(--wash);overflow:hidden}
@media (min-width:760px){.film{aspect-ratio:16/8}}

.nums{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 20px;padding-block:clamp(52px,7vw,104px)}
@media (min-width:880px){.nums{grid-template-columns:repeat(4,minmax(0,1fr))}}
.nums div{display:grid;gap:6px;align-content:start;min-width:0}
.nums b{font:400 clamp(38px,4.8vw,72px)/1 var(--sans);letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.nums span{font-size:16px;line-height:1.32;color:var(--soft);max-width:15em}

.sec{padding-bottom:clamp(64px,8vw,120px)}
.sh{font:400 16px/1.4 var(--sans);color:var(--soft);border-top:1px solid var(--line);padding-top:14px;margin-bottom:clamp(24px,3vw,44px)}
.evs{display:grid;gap:44px 20px}
@media (min-width:760px){.evs{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ev{display:grid;gap:8px;align-content:start;min-width:0}
.ev figure,.wk figure{overflow:hidden;background:var(--wash)}
.ev figure{aspect-ratio:8/5;margin-bottom:8px}
.ev img,.wk img{transition:transform .8s cubic-bezier(.2,.7,.2,1)}
@media (hover:hover){.ev:hover img,.wk a:hover img{transform:scale(1.03)}}
.ev h3,.rows h3{font:400 clamp(25px,2.7vw,40px)/1.1 var(--sans);letter-spacing:-.026em}
.ev p{color:var(--soft);max-width:30em;margin-bottom:6px}

.rows li{display:grid;gap:4px 24px;border-top:1px solid var(--line);padding-block:clamp(16px,2vw,26px)}
.rows li:first-child{border-top:0;padding-top:0}
@media (min-width:880px){.rows li{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rows p{color:var(--soft);max-width:30em;padding-top:.25em}

.logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (min-width:760px){.logos{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (min-width:1120px){.logos{grid-template-columns:repeat(6,minmax(0,1fr))}}
.logos li{height:clamp(82px,9vw,126px);display:flex;align-items:center;justify-content:center;padding:clamp(12px,2vw,28px)}
.logos img{filter:brightness(0) invert(.92);display:block;width:100%;height:100%;max-width:140px;max-height:42px;object-fit:contain}
.note{margin-top:clamp(12px,1.6vw,20px);font-size:16px;color:var(--soft)}

/* inner pages */
.ptitle{display:grid;gap:14px;padding-block:clamp(40px,6vw,92px) clamp(28px,4vw,56px);justify-items:start}
.ptitle>p:not(.crumb){font-size:clamp(20px,2vw,28px);line-height:1.24;letter-spacing:-.012em;color:var(--soft);max-width:30em;text-wrap:pretty}
.crumb{font-size:16px;color:var(--soft)}
.crumb a:hover{color:var(--fg)}
.wide{aspect-ratio:4/3;overflow:hidden}
.wide img{background:var(--wash)}
@media (min-width:760px){.wide{aspect-ratio:16/8}}
.worklist{display:grid;gap:clamp(56px,7vw,104px);padding-bottom:clamp(64px,8vw,120px)}
.wk{display:grid;gap:16px}
.wk figure{aspect-ratio:4/3}
@media (min-width:760px){.wk figure{aspect-ratio:16/8}}
.wkt{display:grid;gap:10px;justify-items:start}
@media (min-width:880px){.wkt{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:24px}.wkt h2{grid-row:1/3}.wkt p{grid-column:2}.wkt .more{grid-column:2}}
.wkt h2{font:400 clamp(28px,3.4vw,50px)/1.06 var(--sans);letter-spacing:-.03em}
.wkt p{color:var(--soft);max-width:30em}
.csgrid{display:grid;gap:44px;padding-block:clamp(40px,5vw,72px)}
@media (min-width:960px){.csgrid{grid-template-columns:minmax(0,1fr) minmax(0,2fr);column-gap:clamp(40px,6vw,96px)}.csgrid aside{position:sticky;top:90px;align-self:start}}
.csgrid>*{min-width:0}
aside{display:grid;gap:22px}
.facts{font-size:16px}
.facts div{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-block:9px}
.facts div:last-child{border-bottom:1px solid var(--line)}
.facts dt{color:var(--soft)}
.facts dd{text-align:right}
.csmain{display:grid;gap:clamp(36px,4vw,60px);min-width:0}
.csmain.solo{padding-block:clamp(40px,5vw,72px) clamp(64px,8vw,120px);max-width:1040px;margin-inline:0}
.cs{display:grid;gap:14px}
.cs h2{font:400 clamp(25px,2.7vw,40px)/1.1 var(--sans);letter-spacing:-.026em}
.cs p{font-size:clamp(18px,1.5vw,21px);line-height:1.42;max-width:34em;text-wrap:pretty}
.cs .rows p{font-size:17px;color:var(--soft)}
.cs .rows h3{font-size:21px;letter-spacing:-.012em}
.plain{display:grid}
.plain li{border-top:1px solid var(--line);padding-block:10px;font-size:18px}
.time{display:grid}
.time li{display:grid;grid-template-columns:96px minmax(0,1fr);gap:16px;border-top:1px solid var(--line);padding-block:12px}
.time span{color:var(--soft);font-variant-numeric:tabular-nums}
.time p{font-size:18px}
.gal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(6px,1vw,14px);padding-bottom:clamp(44px,6vw,88px)}
@media (min-width:880px){.gal{grid-template-columns:repeat(3,minmax(0,1fr))}}
.gal figure{aspect-ratio:3/2;overflow:hidden;background:var(--wash)}
.nextp{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;border-top:1px solid var(--line);padding-block:20px 72px;margin-top:0}
.nextp span{color:var(--soft)}
.nextp a{font-size:clamp(22px,2.4vw,34px);letter-spacing:-.02em}
.routes{display:grid;gap:14px;padding-bottom:clamp(72px,10vw,150px)}
@media (min-width:760px){.routes{grid-template-columns:repeat(2,minmax(0,1fr))}}
.rt{display:grid;gap:32px;background:var(--wash);padding:clamp(22px,3vw,40px);align-content:space-between;min-height:clamp(200px,24vw,320px);min-width:0}
.rt:hover{background:#1C1E23}
.rt h2{font:400 clamp(25px,2.7vw,40px)/1.1 var(--sans);letter-spacing:-.026em;text-wrap:balance}

.close{border-top:1px solid var(--line);padding-block:clamp(72px,10vw,150px)}
.one{display:block;width:16px;height:16px;background:var(--fg);transform:rotate(45deg);margin:0 0 clamp(26px,3vw,42px) 3px}
.close h2{font:400 clamp(38px,6.4vw,96px)/1.04 var(--sans);letter-spacing:-.038em;margin-bottom:clamp(24px,3vw,40px)}
.foot{padding-block:0 calc(26px + env(safe-area-inset-bottom))}
main+.foot{padding-top:44px}
.foot .w{display:grid;gap:28px;border-top:0}
.foot .fcols{display:flex;gap:18px clamp(40px,8vw,120px);flex-wrap:wrap}
.foot .fcols div{display:grid;gap:5px;font-size:16px}
.foot a:hover{color:var(--soft)}
.legal{display:flex;justify-content:space-between;gap:16px;color:var(--soft);font-size:15px}
@media (prefers-reduced-motion:reduce){.ev img,.wk img{transition:none}}

.crowd{position:relative;aspect-ratio:4/5;background:#07080A;overflow:hidden;max-width:100%}
@media (min-width:760px){.crowd{aspect-ratio:16/8}}
.crowd canvas{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:pan-y}
.crowd .ov{position:absolute;left:0;right:0;bottom:0;padding:clamp(4px,1vw,12px) 0;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;pointer-events:none}
.crowd .cn{font-size:clamp(46px,8.6vw,132px);line-height:.9;letter-spacing:-.045em;font-variant-numeric:tabular-nums}
.crowd .ca{color:var(--soft);font-size:16px;max-width:15em;line-height:1.25;text-align:right}
