
:root{
  --lime:#E5FF71; --ash:#363A3C; --gray:#E1E8EC; --white:#fff; --deep:#2A2D2F; --mist:#C9D3D9; --ink:#24282A;
  --body:rgba(36,40,42,.76); --pad:48px; --max:1344px; --r:28px; --rc:12px; --ease:cubic-bezier(.23,1,.32,1);
  --top:168px; --sec:128px; --gap:48px; --measure:34em;
  --sans:Geist,"Geist Fallback",system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;accent-color:var(--ash);caret-color:var(--ash);background:var(--gray)}
body{font-family:var(--sans);color:var(--ink);background:var(--gray);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:clip}
::selection{background:var(--lime);color:var(--ink)}
img,canvas{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
h1,h2,h3{text-wrap:balance}
p,li{text-wrap:pretty}
.wrap{max-width:var(--max);margin:0 auto;padding:0 var(--pad)}
.layer{position:absolute;inset:0}
.layer canvas{width:100%;height:100%}
.pl{font-weight:300}
:focus-visible{outline:2px solid var(--ash);outline-offset:3px;border-radius:4px}
.night :focus-visible,footer :focus-visible{outline-color:var(--lime)}
.vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.skip{position:absolute;left:12px;top:-80px;z-index:60;display:inline-flex;align-items:center;min-height:44px;background:var(--ash);color:#fff;padding:0 16px;border-radius:var(--rc);font-size:15px;font-weight:500}
main:focus{outline:none}
:where([id]){scroll-margin-top:104px}
.nw{white-space:nowrap}
.skip:focus{top:12px}
.layer img,.layer>img{width:100%;height:100%}
.btn{display:inline-flex;align-items:center;gap:10px;height:50px;padding:0 24px;border-radius:var(--rc);font:500 16px/1 var(--sans);letter-spacing:-.01em;transition:background-color .2s var(--ease),transform .2s var(--ease);cursor:pointer;border:0;white-space:nowrap}
.btn:active{transform:scale(.97)}
.btn-ash{background:var(--ash);color:#fff}.btn-ash:hover{background:var(--ink)}
.btn-lime{background:var(--lime);color:var(--ink)}.btn-lime:hover{background:#F0FFA8}
.arr{width:14px;height:10px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s var(--ease)}
.btn:hover .arr{transform:translateX(3px)}
.tl{font-weight:500;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px;text-decoration-color:rgba(36,40,42,.35);transition:text-decoration-color .2s}
.tl:hover{text-decoration-color:var(--ink)}
.night .tl{text-decoration-color:rgba(255,255,255,.4)}.night .tl:hover{text-decoration-color:#fff}
.ext{display:inline-block;width:9px;height:9px;margin-left:5px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;vertical-align:.05em}
.nav{position:fixed;top:12px;left:0;right:0;z-index:50;pointer-events:none}
.nav .bar{pointer-events:auto;position:relative;display:flex;align-items:center;gap:36px;height:62px;width:calc(100% - 24px);max-width:calc(var(--max) - 2 * var(--pad) + 48px);margin:0 auto;padding:0 9px 0 24px;border-radius:21px}
.nav .bar::before{content:"";position:absolute;inset:0;border-radius:inherit;background:#fff;box-shadow:inset 0 0 0 1px rgba(54,58,60,.07),0 10px 30px -18px rgba(54,58,60,.35);opacity:0;transition:opacity .3s var(--ease);z-index:-1}
.nav.solid .bar::before,.nav.open .bar::before{opacity:1}
.nav.dark .bar::before{background:var(--deep);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 10px 30px -18px rgba(0,0,0,.5);opacity:1}
.logo{position:relative;display:block;flex:none;width:142px;height:18px}
.logo::after{content:"";position:absolute;inset:-13px -8px}
.logo img{position:absolute;inset:0;width:100%;height:100%}
.logo .lw{opacity:0}.nav.dark .logo .lb{opacity:0}.nav.dark .logo .lw{opacity:1}
.nav .bar>nav{margin-left:auto}
.nav ul{display:flex;gap:30px;list-style:none;margin-left:auto;font-size:16px;letter-spacing:-.005em}
.nav ul a{display:inline-flex;align-items:center;min-height:44px;opacity:.82;transition:opacity .2s}
.nav ul a:hover,.nav ul a[aria-current]{opacity:1}
.nav ul a[aria-current]{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:8px}
.nav.dark ul a{color:#fff}
.nav .btn{height:44px;padding:0 18px;font-size:15px}
.nav.dark .btn{background:var(--lime);color:var(--ink)}
.nav .bar>.btn[aria-current]{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1px rgba(54,58,60,.28)}
.nav .bar>.btn[aria-current]:hover{box-shadow:inset 0 0 0 1px var(--ink)}
.nav.dark .bar>.btn[aria-current]{color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4)}
.menu{display:none;margin-left:auto;height:44px;padding:0 14px;border:0;border-radius:var(--rc);background:transparent;font:500 15px/1 var(--sans);color:inherit;cursor:pointer}
.nav.dark .menu{color:#fff}
.mpanel{display:none}
.head{padding:var(--top) 0 0}
.head h1{font-weight:500;font-size:clamp(48px,6.15vw,88px);line-height:.98;letter-spacing:-.047em;max-width:12em}
.head .lede{margin-top:28px;max-width:34em;font-size:21px;line-height:1.5;color:var(--body);letter-spacing:-.005em}
.head .ctas{margin-top:36px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
h2{font-weight:500;font-size:clamp(36px,3.9vw,56px);line-height:1.02;letter-spacing:-.04em}
.sec{padding:var(--sec) 0}
.sec-white{background:#fff}
.sec-night{background:var(--ash);color:#fff}
.sub{margin-top:16px;max-width:36em;font-size:19px;line-height:1.5;color:var(--body)}
.sec-night .sub{color:rgba(255,255,255,.66)}
.split{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:48px;align-items:start}
.split>h2{position:sticky;top:120px;font-size:clamp(28px,2.6vw,38px);letter-spacing:-.03em}
.prose p{font-size:20px;line-height:1.6;color:var(--body);max-width:36em}
.prose p+p{margin-top:1.1em}
.prose .big{font-weight:500;font-size:clamp(28px,2.7vw,40px);line-height:1.16;letter-spacing:-.03em;color:var(--ink);max-width:22em;margin-bottom:1.1em}
.stats{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--mist)}
.stat{padding:34px 24px 8px;text-align:center}
.stat+.stat{border-left:1px solid var(--mist)}
.stat b{display:block;font-weight:500;font-size:clamp(56px,7vw,112px);line-height:.88;letter-spacing:-.06em;font-variant-numeric:tabular-nums;white-space:nowrap}
.stat b small{font-size:.66em;font-weight:400;letter-spacing:-.04em;margin-left:.03em}
.stat b .pre{font-weight:400;font-size:.66em;margin-right:.03em;vertical-align:.2em}
.stat>span{display:block;margin:20px auto 0;font-size:17px;line-height:1.4;color:var(--body);max-width:22em}
.stat sup{font-size:.24em;font-weight:400;line-height:0;vertical-align:1.6em;margin-left:.04em}
.fnote{margin-top:28px;font-size:15px;line-height:1.5;color:rgba(36,40,42,.68);max-width:760px}
.face{position:relative;flex:none;width:84px;height:92px;border-radius:var(--rc);overflow:hidden;background:var(--lime)}
.face img{position:absolute;bottom:0;width:130%;max-width:none;height:auto;left:calc(50% - var(--fx) / 400 * 100%);filter:grayscale(1) contrast(1.03)}
.ini{display:flex;align-items:center;justify-content:center;font-weight:500;font-size:22px;letter-spacing:-.02em;color:var(--ink);background:#fff}
.sec-white .ini{background:var(--gray)}
.todo{display:inline;padding:1px 6px;border-radius:6px;background:rgba(54,58,60,.07);outline:1px dashed rgba(54,58,60,.45);outline-offset:-1px;font-size:.9em;font-weight:450;color:rgba(36,40,42,.8);font-style:normal}
.night .todo,.sec-night .todo{background:rgba(255,255,255,.08);outline-color:rgba(255,255,255,.4);color:rgba(255,255,255,.8)}
.todo::before{content:"TODO ";font-weight:600;letter-spacing:.02em}
.close{position:relative;overflow:hidden;background:var(--ash);color:#fff}
.close .wrap{display:flex;flex-direction:column;min-height:clamp(840px,calc(100svh - 96px),980px);padding-top:clamp(132px,15svh,168px);padding-bottom:72px}
.close .copy{position:relative;z-index:2;width:min(44vw,620px)}
.close h2{font-size:clamp(38px,4.4vw,68px);line-height:1;letter-spacing:-.045em}
.close .ctas{margin-top:40px;display:flex;align-items:center;gap:28px;flex-wrap:wrap}
.close .mail{margin-top:22px;font-size:16px;color:rgba(255,255,255,.66)}
.close .mail a{color:#fff;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;text-decoration-color:rgba(255,255,255,.4)}
.close .mail a:hover{text-decoration-color:#fff}
.horizon{position:relative;margin-top:auto;--r:240px;--t:576px;--sx:67%;--lift:1.2}
.sk{position:relative;z-index:1;width:100%;height:auto}
.lockup{position:relative}
.horizon .sk,.lockup .sk{width:88.65%}
.horizon .ring,.lockup .ring{right:0;top:0;z-index:1;width:7.44%;margin-top:-3.1%}
.ring{position:absolute;aspect-ratio:1;pointer-events:none}
.ring i{position:absolute;inset:0;-webkit-mask:var(--m) center/100% 100% no-repeat;mask:var(--m) center/100% 100% no-repeat;rotate:var(--r0);animation:ring-turn var(--t) linear infinite}
.ring .r3{--r0:-254deg;--t:90s;--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 .21 420 420'%3E%3Cpath d='M210 6.20996C322.666 6.20996 414 97.5439 414 210.21L413.996 211.529C413.286 323.588 322.226 414.21 210 414.21C97.3339 414.21 6 322.876 6 210.21H54C54 296.366 123.844 366.21 210 366.21C295.483 366.21 364.908 297.454 365.987 212.227L366 210.21C366 124.054 296.156 54.21 210 54.21V6.20996Z'/%3E%3C/svg%3E");background:conic-gradient(from 270deg,rgba(229,255,113,0),#fff 79.6deg,#E5FF71 114.2deg,rgba(229,255,113,0))}
.ring .r2{--r0:-3deg;--t:60s;--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 .21 420 420'%3E%3Cpath d='M66 210.21C66 130.681 130.471 66.21 210 66.21L211.861 66.2217C290.532 67.2183 354 131.302 354 210.21C354 289.739 289.529 354.21 210 354.21L210 306.21C263.019 306.21 306 263.229 306 210.21C306 157.605 263.688 114.882 211.241 114.218L210 114.21C156.981 114.21 114 157.191 114 210.21L66 210.21Z'/%3E%3C/svg%3E");background:conic-gradient(from 180deg,rgba(229,255,113,0),#fff 79.6deg,#E5FF71 114.2deg,rgba(229,255,113,0))}
.ring .r1{--r0:-276deg;--t:40s;--m:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 .21 420 420'%3E%3Cpath d='M294 210.21C294 256.602 256.392 294.21 210 294.21L208.914 294.203C163.023 293.622 126 256.239 126 210.21C126 163.818 163.608 126.21 210 126.21L210 174.21C190.118 174.21 174 190.328 174 210.21C174 229.782 189.618 245.706 209.071 246.198L210 246.21C229.882 246.21 246 230.092 246 210.21L294 210.21Z'/%3E%3C/svg%3E");background:conic-gradient(from 90deg,#fff,#fff .32deg,#E5FF71 29.55deg,rgba(229,255,113,0) 268.88deg,#fff)}
@keyframes ring-turn{to{rotate:calc(var(--r0) - 360deg)}}
@media (prefers-reduced-motion:reduce){.ring i{animation:none}}
.horizon .sun{position:absolute;left:calc(var(--sx) - var(--t) / 2);bottom:calc(100% + var(--lift) * var(--r) - var(--t) / 2);width:var(--t);height:var(--t);pointer-events:none}
.horizon .sun img{width:100%;height:100%;max-width:none}
@media (max-width:1239px){.horizon{--r:190px;--t:476px;--sx:72%}}
.coda{background:var(--ash)}
.coda .wrap{padding-top:96px;padding-bottom:72px}
a[href^="mailto:"]{white-space:nowrap}
footer{background:var(--ash);color:rgba(255,255,255,.7);padding:8px 0 28px;font-size:15px}
.legal{padding-top:12px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;align-items:center;gap:8px 16px;flex-wrap:wrap}
.legal nav{display:flex;flex-wrap:wrap;gap:0 28px}
.legal a{display:inline-flex;align-items:center;min-height:44px;transition:color .2s}
.legal a:hover,.legal a[aria-current]{color:#fff}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{transition-duration:0s!important;animation-duration:0s!important}}
@media (max-width:1100px){
  .split{grid-template-columns:1fr;gap:28px}.split>h2{position:static}
}
@media (max-width:860px){
  :root{--pad:20px;--r:22px}
  .nav{top:8px}.nav .bar{height:56px;width:calc(100% - 16px);padding:0 6px 0 14px;border-radius:18px;gap:8px}
  .nav .bar>nav,.nav ul{display:none}.nav .bar>.btn{display:none}
  .menu{display:block}
  .mpanel{display:block;pointer-events:auto;width:calc(100% - 16px);margin:6px auto 0;border-radius:18px;background:#fff;box-shadow:inset 0 0 0 1px rgba(54,58,60,.07),0 18px 40px -20px rgba(54,58,60,.4);padding:10px 14px 16px;opacity:0;transform:translateY(-6px);visibility:hidden;transition:opacity .2s var(--ease),transform .25s var(--ease),visibility 0s .25s}
  .nav.open .mpanel{opacity:1;transform:none;visibility:visible;transition:opacity .2s var(--ease),transform .25s var(--ease)}
  .mpanel a:not(.btn){display:block;padding:14px 4px;min-height:44px;font-size:20px;font-weight:500;letter-spacing:-.02em;border-bottom:1px solid var(--gray)}
  .mpanel a:not(.btn)[aria-current]{text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:6px}
  .mpanel .btn{margin-top:16px;width:100%;justify-content:center}
  :root{--top:128px;--sec:80px;--gap:28px}
  .head{padding-top:var(--top)}
  .head h1{font-size:46px;letter-spacing:-.045em}
  .head .lede{font-size:18px;margin-top:20px}
  h2{font-size:34px}
  .sub{font-size:17px}
  .prose p{font-size:18px}
  .stats{grid-template-columns:1fr}.stat,.stat+.stat{padding:24px 0 18px;border-left:0}.stat+.stat{border-top:1px solid var(--mist)}
  .stat b{font-size:64px}
  .close .wrap{min-height:0;padding-top:96px;padding-bottom:56px}
  .close .copy{width:auto}
  .close h2{font-size:36px}.close .mail{font-size:15px}
  .horizon{--r:210px;--t:480px;--sx:63%;--lift:1.55;margin-top:calc((1 + var(--lift)) * var(--r) + 30px + 48px)}
  .coda .wrap{padding-top:64px;padding-bottom:56px}
  .legal{flex-direction:column;align-items:flex-start}
  .legal nav{gap:0 24px}
}
@media (max-width:560px){ .horizon{--r:132px;--t:324px} }
