@font-face{font-family:"Inter";font-style:normal;font-weight:400;font-display:swap;src:url("inter-400.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:500;font-display:swap;src:url("inter-500.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:600;font-display:swap;src:url("inter-600.woff2") format("woff2")}
@font-face{font-family:"Inter";font-style:normal;font-weight:700;font-display:swap;src:url("inter-700.woff2") format("woff2")}
:root{
  --char:#000000;
  --red:#ff4328;
  --cream:#fffefa;
  --ink:#000000;
  --grey:#fffefa;
  --white:#fffefa;
  --orange:#ff4328;
  --sub:#000000;
  --sub-d:#fffefa;
  --line:#000000;
  --pad:max(22px,env(safe-area-inset-left));
  --max:1200px;
  --nav:52px;
  --ease:cubic-bezier(.22,.8,.2,1);
  --font:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Inter","Helvetica Neue",Arial,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:var(--nav)}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--font);font-size:17px;line-height:1.47;letter-spacing:-.022em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;overflow-x:clip}
body.menu-open{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
h1,h2,h3,p,ul,ol{margin:0}
ul,ol{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--orange);outline-offset:4px;border-radius:4px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:var(--white);padding:10px 16px;font-size:15px;border-radius:8px}
.skip:focus{top:12px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.nav{position:fixed;inset:0 0 auto;z-index:60;height:var(--nav);color:var(--cream);transition:color .4s var(--ease),background-color .4s var(--ease)}
.nav::after{content:"";position:absolute;inset:auto 0 0;height:1px;background:currentColor;opacity:0;transition:opacity .4s}
.nav.is-scrolled{background:rgba(0,0,0,.82);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px)}
.nav.is-scrolled::after{opacity:.1}
.nav.is-light{color:var(--ink)}
.nav.is-light.is-scrolled{background:rgba(255,254,250,.86)}
.nav.is-clear,.nav.is-clear.is-scrolled,.nav.is-light.is-clear.is-scrolled{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.nav.is-clear::after{opacity:0}
.nav-in{max-width:var(--max);height:100%;margin:0 auto;padding:0 var(--pad);display:flex;align-items:center;gap:36px}
.brand{position:relative;display:block;width:77px;height:21px;flex:none}
.brand img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:left center;transition:opacity .4s var(--ease)}
.brand .on-light{opacity:0}
.is-light .brand .on-light{opacity:1}
.is-light .brand .on-dark{opacity:0}
.links{display:flex;gap:32px;margin-left:auto;font-size:13px}
.links a{opacity:.8;transition:opacity .2s}
.links a:hover,.links a[aria-current=page]{opacity:1}
.links a[aria-current=page]{font-weight:600}
.nav-cta{display:inline-flex;align-items:center;gap:8px;height:30px;padding:0 14px;border-radius:15px;background:currentColor;font-size:13px;font-weight:500}
.nav-cta span{color:var(--char)}
.is-light .nav-cta span{color:var(--white)}
.nav-cta::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--orange)}
.burger{display:none;width:44px;height:44px;margin-left:auto;margin-right:-12px;position:relative}
.burger i{position:absolute;left:13px;right:13px;height:1.5px;background:currentColor;transition:transform .4s var(--ease),top .4s var(--ease)}
.burger i:first-child{top:18px}
.burger i:last-child{top:25px}
.burger[aria-expanded=true] i:first-child{top:21.5px;transform:rotate(45deg)}
.burger[aria-expanded=true] i:last-child{top:21.5px;transform:rotate(-45deg)}
.menu{position:fixed;inset:0;z-index:55;background:var(--char);color:var(--cream);padding:calc(var(--nav) + 28px) var(--pad) 36px;display:flex;flex-direction:column;visibility:hidden;opacity:0;transition:opacity .35s var(--ease),visibility 0s linear .35s}
.menu-open .menu{visibility:visible;opacity:1;transition:opacity .35s var(--ease)}
.menu a{font-size:32px;font-weight:600;letter-spacing:-.035em;padding:10px 0;transform:translateY(-8px);opacity:0;transition:transform .45s var(--ease),opacity .45s var(--ease)}
.menu-open .menu a{transform:none;opacity:1}
.menu-open .menu a:nth-child(2){transition-delay:.04s}
.menu-open .menu a:nth-child(3){transition-delay:.08s}
.menu-open .menu a:nth-child(4){transition-delay:.12s}
.menu .menu-cta{margin-top:auto;font-size:19px;display:flex;align-items:center;gap:12px;letter-spacing:-.01em}
.menu .menu-cta::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--orange)}
.menu-open .nav{color:var(--cream);background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.menu-open .nav::after{opacity:0}
.menu-open .nav .brand .on-light{opacity:0}
.menu-open .nav .brand .on-dark{opacity:1}

.pill{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:50px;padding:0 26px 0 22px;border-radius:25px;font-size:17px;font-weight:500;white-space:nowrap;transition:transform .3s var(--ease),background-color .3s}
.pill:active{transform:scale(.97)}
.pill.ink{background:var(--ink);color:var(--white)}
.pill.ink:hover{background:var(--ink)}
.pill.cream{background:var(--cream);color:var(--ink)}
.pill.cream:hover{background:var(--white)}
.pill .bdot{width:8px;height:8px;border-radius:50%;background:var(--orange);flex:none}
.link{color:inherit;font-size:17px;white-space:nowrap;border-bottom:1px solid currentColor;padding-bottom:2px;transition:opacity .2s}
.link:hover{opacity:.65}

.story{position:relative;color:var(--cream)}
.stage{position:relative}
.dot,.fx{display:none}
.scene{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;padding:calc(var(--nav) + 48px) var(--pad) 72px;background:var(--bg,var(--char));color:var(--fg,var(--cream))}
.s-intro{--bg:var(--char)}
.s-red{--bg:var(--red);--fg:var(--white)}
.s-who{--bg:var(--char)}
.s-method{--bg:var(--cream);--fg:var(--ink)}
.s-call{--bg:var(--cream);--fg:var(--ink)}
.s-end{--bg:var(--cream);--fg:var(--ink)}
.anchor{display:inline-block;border-radius:50%;background:var(--orange)}

.s-intro{flex-direction:column;text-align:center}
.s-intro h1{font-size:clamp(42px,7.6vw,112px);line-height:1;letter-spacing:-.05em;font-weight:700;max-width:12ch}
.s-intro h1 .ln{display:block}
.s-intro .period{width:.19em;height:.19em;margin-left:.05em;vertical-align:baseline}
.s-intro .intro-sub{margin-top:clamp(24px,3vw,36px);font-size:clamp(17px,1.6vw,21px);color:var(--sub-d);letter-spacing:-.015em;max-width:34ch}
.hint{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;font-size:12px;color:var(--sub-d);letter-spacing:0}
.hint::after{content:"";width:1px;height:36px;background:linear-gradient(currentColor,transparent);animation:drip 2.2s var(--ease) infinite}
@keyframes drip{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

.s-red{text-align:left}
.s-red .lines{position:relative;width:min(100%,1000px)}
.s-red .line{font-size:clamp(40px,6.6vw,96px);line-height:1.02;letter-spacing:-.048em;font-weight:600}
.s-red .line+.line{margin-top:.6em}

.s-who .who{width:min(100%,var(--max));display:grid;grid-template-columns:1fr 1fr;gap:40px 64px;align-items:center}
.s-who h2{font-size:clamp(44px,6.4vw,92px);line-height:.98;letter-spacing:-.05em;font-weight:700}
.s-who .who-note{margin-top:28px;font-size:clamp(17px,1.5vw,20px);color:var(--sub-d);max-width:30ch}
.s-who .who-note b{color:var(--cream);font-weight:600}
.who-list li{display:flex;align-items:center;gap:22px;padding:clamp(10px,1.4vw,16px) 0;font-size:clamp(30px,3.8vw,54px);line-height:1.05;letter-spacing:-.04em;font-weight:600;transition:opacity .45s var(--ease),transform .45s var(--ease)}
.who-list .mark{width:14px;height:14px;flex:none}

.s-method{flex-direction:column}
.method{width:min(100%,var(--max));display:grid;grid-template-columns:5fr 6fr;gap:40px 64px;align-items:center}
.method h2{font-size:clamp(44px,6.4vw,92px);line-height:.98;letter-spacing:-.05em;font-weight:700}
.st-wrap{position:relative;margin-top:clamp(28px,4vw,48px)}
.st{padding:18px 0;border-top:1px solid var(--ink)}
.st .k{font-size:14px;font-weight:600;color:var(--red);font-variant-numeric:tabular-nums}
.st h3{margin-top:6px;font-size:clamp(26px,2.8vw,40px);line-height:1.05;letter-spacing:-.04em;font-weight:600}
.st p{margin-top:10px;font-size:clamp(16px,1.3vw,19px);line-height:1.45;color:var(--ink);max-width:36ch}
.wheel{position:relative;width:min(100%,560px);aspect-ratio:1;justify-self:center}
.wheel svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.wheel .track{fill:none;stroke:var(--ink);stroke-width:.6}
.wheel .seg{fill:none;stroke:var(--orange);stroke-width:13;stroke-linecap:butt}
.wheel .seg:nth-child(odd){stroke:var(--red)}
.hub{position:absolute;left:21%;top:21%;width:58%;aspect-ratio:1;display:grid;place-items:center}
.hub .anchor{position:absolute;inset:0}
.hub span{position:relative;font-size:clamp(22px,2.6vw,36px);font-weight:700;letter-spacing:-.04em;color:var(--ink)}
.wl{position:absolute;transform:translate(-50%,-50%);font-size:clamp(11px,1vw,14px);font-weight:500;white-space:nowrap;color:var(--ink);transition:color .4s var(--ease)}
.wl b{font-weight:600;margin-right:4px}

.s-call{flex-direction:column;text-align:center}
.s-call h2{font-size:clamp(56px,11vw,168px);line-height:.95;letter-spacing:-.06em;font-weight:700}
.s-call p{margin:24px 0 36px;font-size:clamp(17px,1.6vw,21px);color:var(--ink);max-width:32ch}

.s-end{flex-direction:column;text-align:center}
.endmark{position:relative;width:clamp(240px,42vw,600px);aspect-ratio:565/155}
.endmark img{position:absolute;left:23.186%;top:0;width:76.814%;height:100%}
.endmark .anchor{position:absolute;left:0;bottom:0;width:17.876%;aspect-ratio:1}
.end-meta{margin-top:clamp(28px,3.4vw,44px);display:flex;gap:28px;font-size:14px;color:var(--ink);letter-spacing:0}

.motion .story{height:var(--story,820svh)}
.motion .stage{position:sticky;top:0;height:100svh;overflow:hidden;background:var(--char)}
.motion .scene{position:absolute;inset:0;min-height:0;background:none;opacity:0;visibility:hidden;will-change:opacity,transform}
.motion .anchor{background:transparent}
.motion .anchor.landed{background:var(--orange)}
.motion .dot{display:block;position:absolute;left:0;top:0;width:600px;height:600px;margin:-300px 0 0 -300px;border-radius:50%;background:var(--orange);z-index:2;pointer-events:none;opacity:0;transition:opacity .9s var(--ease) .2s}
.motion.ready .dot{opacity:1}
.motion .scene{z-index:3}
.motion .s-red{z-index:3}
.motion .fx{display:block;position:absolute;inset:0;pointer-events:none;z-index:1}
.grid-l{background:none}
.grid-d{background:none}
.rings svg{position:absolute;right:-18vmin;bottom:-30vmin;width:90vmin;height:90vmin;fill:none;stroke:#fffefa;stroke-width:.6}
.motion .who-list li{color:transparent;-webkit-text-stroke:1px var(--cream)}
.motion .who-list li.on{color:var(--cream);-webkit-text-stroke:0;transform:translateX(6px)}
.motion .st-wrap{min-height:200px}
.motion .st{position:absolute;inset:0 0 auto;opacity:0;transform:translateY(14px);transition:opacity .45s var(--ease),transform .45s var(--ease)}
.motion .st.on{opacity:1;transform:none}
.motion .wl.on{color:var(--orange)}
.motion .s-intro h1 .ln{opacity:0;transform:translateY(.4em);transition:opacity 1s var(--ease),transform 1.1s var(--ease)}
.motion.ready .s-intro h1 .ln{opacity:1;transform:none}
.motion.ready .s-intro h1 .ln:nth-child(2){transition-delay:.08s}
.motion.ready .s-intro h1 .ln:nth-child(3){transition-delay:.16s}
.motion .intro-sub{opacity:0;transition:opacity 1s var(--ease) .5s}
.motion.ready .intro-sub{opacity:1}
.measuring .scene,.measuring .scene *{transform:none!important;transition:none!important}
.motion .s-red .line{position:absolute;left:0;top:50%;margin:0;transform:translateY(-50%)}
.motion .s-red .lines{height:3.2em;font-size:clamp(40px,6.6vw,96px)}
.motion .s-red .line{font-size:1em}

.sec{padding:clamp(96px,13vw,170px) var(--pad)}
.sec-in{max-width:var(--max);margin:0 auto}
.center{text-align:center}
.white{background:var(--white)}
.grey{background:var(--grey)}
.dark{background:var(--char);color:var(--cream)}
.kicker{font-size:clamp(17px,1.5vw,21px);font-weight:600;color:var(--orange);letter-spacing:-.015em;margin-bottom:12px}
.big{font-size:clamp(40px,6vw,80px);line-height:1.04;letter-spacing:-.05em;font-weight:700}
.lead{margin:22px auto 0;max-width:40ch;font-size:clamp(19px,1.9vw,24px);line-height:1.35;letter-spacing:-.02em;color:var(--sub);font-weight:500}
.dark .lead{color:var(--sub-d)}
.studio-art{margin:clamp(56px,8vw,104px) auto 0;width:min(100%,760px)}
.studio-art img{width:100%;height:auto}
.facts{margin:clamp(64px,8vw,104px) auto 0;max-width:900px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}
.facts div{padding:22px 12px 0}
.facts dt{font-size:14px;color:var(--sub)}
.facts dd{margin:6px 0 0;font-size:clamp(21px,2vw,28px);font-weight:600;letter-spacing:-.03em}
.p-rows{margin-top:clamp(48px,6vw,80px);border-top:1px solid var(--line)}
.p-row{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:clamp(24px,3vw,40px) 4px;border-bottom:1px solid var(--line)}
.p-row .name{font-size:clamp(36px,6vw,88px);line-height:1;letter-spacing:-.05em;font-weight:700;transition:transform .5s var(--ease)}
.p-row .name::after{content:"";display:inline-block;width:.16em;height:.16em;margin-left:.06em;border-radius:50%;background:var(--orange);transform:scale(0);transition:transform .45s var(--ease)}
.p-row:hover .name{transform:translateX(10px)}
.p-row:hover .name::after{transform:scale(1)}
.p-row .role{font-size:15px;color:var(--sub);text-align:right}
.sec-foot{margin-top:40px}
.cta-actions{margin-top:40px;display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:center}

.foot{background:var(--grey);color:var(--sub);font-size:12px;line-height:1.4;letter-spacing:-.01em;padding:22px var(--pad) 26px}
.foot-in{max-width:var(--max);margin:0 auto}
.foot-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.foot-top img{width:62px;height:auto}
.foot-links{display:flex;flex-wrap:wrap;gap:8px 24px}
.foot a:hover{color:var(--ink)}
.foot-bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding-top:14px}

.p-hero{padding:calc(var(--nav) + clamp(80px,12vw,160px)) var(--pad) clamp(64px,8vw,112px);background:var(--white)}
.p-hero h1{font-size:clamp(52px,10vw,144px);line-height:.94;letter-spacing:-.055em;font-weight:700}
.p-hero h1 .anchor{width:.17em;height:.17em;margin-left:.04em}
.partner{padding:clamp(80px,11vw,150px) var(--pad)}
.partner-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:4fr 8fr;gap:32px 48px;align-items:start}
.partner .tag{font-size:15px;font-weight:500;color:var(--sub);padding-top:16px}
.partner.dark .tag{color:var(--sub-d)}
.partner h2{font-size:clamp(48px,8vw,120px);line-height:.94;letter-spacing:-.055em;font-weight:700}
.partner-cols{margin-top:clamp(36px,5vw,60px);display:grid;grid-template-columns:1fr 1fr;gap:32px 48px}
.partner-cols p{font-size:clamp(18px,1.5vw,21px);line-height:1.45;max-width:38ch}
.partner-cols dl{margin:0;border-top:1px solid var(--line)}
.partner-cols dl div{display:flex;justify-content:space-between;gap:16px;padding:13px 0;border-bottom:1px solid var(--line);font-size:16px}
.dark .partner-cols dl,.dark .partner-cols dl div{border-color:var(--cream)}
.partner-cols dt{color:var(--sub)}
.dark .partner-cols dt{color:var(--sub-d)}
.partner-cols dd{margin:0;text-align:right}
.partner .link{display:inline-block;margin-top:32px}

@media (max-width:900px){
  .s-who .who,.method{grid-template-columns:1fr}
  .s-who .who{gap:28px}
  .method{gap:20px;align-content:center}
  .wheel{width:min(64vw,44svh);order:2}
  .method>div:first-child{display:contents}
  .method h2{order:1}
  .st-wrap{order:3;margin-top:0}
  .wl{display:none}
  .motion .st-wrap{min-height:150px}
  .facts{grid-template-columns:1fr}
  .facts div{padding:16px 0;border-bottom:1px solid var(--line)}
  .partner-grid,.partner-cols{grid-template-columns:1fr}
  .partner .tag{padding-top:0}
}
@media (max-width:820px){
  .links,.nav-cta{display:none}
  .burger{display:block}
}
@media (max-width:600px){
  .s-who h2,.method h2{font-size:clamp(40px,11vw,56px)}
  .who-list li{font-size:clamp(28px,8.4vw,40px);gap:16px;padding:8px 0}
  .who-list .mark{width:11px;height:11px}
  .s-who .who-note{margin-top:20px}
  .st h3{font-size:26px}
  .p-row{flex-direction:column;align-items:start;gap:8px}
  .p-row .role{text-align:left}
  .pill{width:100%}
  .cta-actions{flex-direction:column}
  .end-meta{flex-direction:column;gap:6px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition-duration:.01ms!important;animation:none!important}
}
