.skip[data-astro-cid-rllkihpd]{position:absolute;left:-9999px;top:0;z-index:99;background:var(--fg);color:var(--page);padding:var(--s-3) var(--s-4);border-radius:var(--r-sm)}.skip[data-astro-cid-rllkihpd]:focus{left:var(--s-4);top:var(--s-4)}.nav[data-astro-cid-rllkihpd]{--nav-pad-y: .75vw;position:fixed;z-index:40;top:calc(3.4vw - var(--nav-pad-y));left:0;right:0;display:flex;justify-content:center;pointer-events:none}.nav-bar[data-astro-cid-rllkihpd]{pointer-events:auto;display:flex;align-items:center;gap:clamp(20px,4.4vw,70px);padding:var(--nav-pad-y) 1.6vw;border-radius:var(--r-md);background:#090e188c;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(14px) saturate(135%);-webkit-backdrop-filter:blur(14px) saturate(135%);transition:transform .42s var(--ease)}.nav[data-astro-cid-rllkihpd].is-away .nav-bar[data-astro-cid-rllkihpd]{transform:translateY(calc(-100% - 3.4vw - 10px))}.nav-w[data-astro-cid-rllkihpd]{flex:none;display:block;align-self:center;width:clamp(22px,1.9vw,30px);color:var(--fg);--tap-floor: 26px}.nav[data-astro-cid-rllkihpd] a[data-astro-cid-rllkihpd]{font-size:clamp(14px,1.35vw,19px);color:var(--fg);opacity:.94;display:inline-flex;gap:.4em;align-items:flex-start;transition:opacity var(--dur) var(--ease)}.nav[data-astro-cid-rllkihpd] a[data-astro-cid-rllkihpd]:hover,.nav[data-astro-cid-rllkihpd] a[data-astro-cid-rllkihpd][aria-current=page]{opacity:1}.nav[data-astro-cid-rllkihpd] sup[data-astro-cid-rllkihpd]{font-family:var(--font-mono);font-size:.55em;letter-spacing:.06em;color:var(--fg-muted);top:0;vertical-align:super}@media(max-width:820px){.nav[data-astro-cid-rllkihpd]{display:none}}@media(prefers-reduced-motion:reduce){.nav-bar[data-astro-cid-rllkihpd]{transition:none}}main[data-astro-cid-rllkihpd]{display:block}@font-face{font-family:Clash Grotesk;src:url(/fonts/clash-grotesk-400.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Clash Grotesk;src:url(/fonts/clash-grotesk-500.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Clash Grotesk;src:url(/fonts/clash-grotesk-600.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Clash Grotesk;src:url(/fonts/clash-grotesk-700.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Chakra Petch;src:url(/fonts/ChakraPetch-500.woff2) format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Chakra Petch;src:url(/fonts/ChakraPetch-600.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Chakra Petch;src:url(/fonts/ChakraPetch-700.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Fragment Mono;src:url(/fonts/FragmentMono-Regular.woff2) format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Bold.woff2) format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Clash Display;src:url(/fonts/ClashDisplay-Semibold.woff2) format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Clash Display;src:url(/fonts/clash-display-500.woff2) format("woff2");font-weight:500;font-display:swap}:root{--font-display: "Clash Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-body: "Chakra Petch", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Fragment Mono", ui-monospace, Menlo, monospace;--font-accent: "Clash Display", Georgia, serif}:root{--t-mega: clamp(146px, 97.71px + 12.38vw, 276px);--t-display: clamp(64px, 43.2px + 5.33vw, 120px);--t-section: clamp(50px, 38.86px + 2.86vw, 80px);--t-card: clamp(32px, 25.31px + 1.71vw, 50px);--t-lead: clamp(17px, 15.14px + .48vw, 22px);--t-body: 16px;--t-label: clamp(12px, 11.26px + .19vw, 14px);--tr-mega: -.05em;--tr-display: -.045em;--tr-section: -.03em;--tr-card: -.025em;--tr-body: -.01em;--tr-label: .1em;--lh-mega: .8;--lh-display: .85;--lh-section: .9;--lh-card: .9;--lh-body: 1.5;--lh-label: 1.1}.t-mega,.t-display,.t-section,.t-card{font-family:var(--font-display);text-wrap:balance;margin:0}.t-mega{font-size:var(--t-mega);font-weight:800;line-height:var(--lh-mega);letter-spacing:var(--tr-mega)}.t-mega-box{overflow-x:clip;max-width:100%}.t-display{font-size:var(--t-display);font-weight:800;line-height:var(--lh-display);letter-spacing:var(--tr-display)}.t-section{font-size:var(--t-section);font-weight:700;line-height:var(--lh-section);letter-spacing:var(--tr-section)}.t-card{font-size:var(--t-card);font-weight:700;line-height:var(--lh-card);letter-spacing:var(--tr-card)}.t-lead{font-family:var(--font-body);font-size:var(--t-lead);font-weight:400;line-height:1.45;letter-spacing:var(--tr-body);margin:0;max-width:60ch}.t-body{font-family:var(--font-body);font-size:var(--t-body);font-weight:400;line-height:var(--lh-body);letter-spacing:var(--tr-body);margin:0;max-width:66ch}.t-label{font-family:var(--font-mono);font-size:var(--t-label);font-weight:400;line-height:var(--lh-label);letter-spacing:var(--tr-label);text-transform:uppercase;margin:0}.t-num{font-variant-numeric:tabular-nums}:root{--accent-h: 18;--accent-s: 84%;--accent-l: 47%;--r-scale: .6;--page: #080A0B;--surface: #121215;--surface-2: #1B1B1F;--surface-3: #F1F1EE;--fg: #F2F2F0;--fg-warm: #DEDEDA;--fg-muted: #9C9EA6;--fg-dim: #8A8C94;--fg-faint: #797B83;--fg-on-pale: #111110;--fg-muted-on-pale:#5C5E58;--hair-on-pale: rgba(10, 10, 10, .12);--accent: hsl(var(--accent-h) var(--accent-s) var(--accent-l));--accent-deep: hsl(var(--accent-h) var(--accent-s) calc(var(--accent-l) - 12%));--accent-tint: hsl(var(--accent-h) var(--accent-s) var(--accent-l) / .1);--accent-ghost: hsl(var(--accent-h) var(--accent-s) var(--accent-l) / .04);--hair: rgba(255, 255, 255, .1);--border: rgba(255, 255, 255, .16);--border-strong: rgba(255, 255, 255, .34);--dot: var(--accent);--bad: #F0454A;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 20px;--s-6: 24px;--s-8: 32px;--s-10: 40px;--s-14: 56px;--s-18: 72px;--s-24: 96px;--s-36: 144px;--section-y: clamp(72px, 8vw, 144px);--section-y-loose: clamp(96px, 11vw, 200px);--block-y: clamp(40px, 4.5vw, 72px);--eyebrow-gap: var(--s-5);--container: 1400px;--gutter: clamp(18px, 3.2vw, 40px);--frame: clamp(10px, 1.4vw, 20px);--r-xs: calc(4px * var(--r-scale));--r-sm: calc(8px * var(--r-scale));--r-md: calc(14px * var(--r-scale));--r-lg: calc(22px * var(--r-scale));--ease: cubic-bezier(.16, .8, .3, 1);--dur: .42s}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--page);color:var(--fg);color-scheme:dark;font-family:var(--font-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:clip}img,svg,video{display:block;max-width:100%}a{color:inherit;text-decoration:none}:where(a,button):focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--r-xs)}.shell{max-width:var(--container);margin-inline:auto;padding-inline:var(--gutter)}.eyebrow{display:inline-flex;align-items:center;gap:var(--s-2);font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:var(--tr-label);text-transform:uppercase;color:var(--fg-dim)}.eyebrow:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--dot);flex:none}.eyebrow.is-rule:before{width:22px;height:1px;border-radius:0;background:var(--border-strong)}.index{font-family:var(--font-mono);font-size:var(--t-label);letter-spacing:var(--tr-label);color:var(--accent)}.hair{height:1px;background:var(--hair);border:0;margin:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.sec{position:relative;background:var(--page);padding:var(--section-y) 0;container-type:inline-size}.wrap{width:min(82cqw,1700px);margin-inline:auto;padding-inline:var(--s-6)}@media(max-width:720px){.wrap{width:100%;padding-inline:var(--s-6)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.grained{position:relative;isolation:isolate;overflow:hidden}.grained:after{content:"";position:absolute;inset:0;pointer-events:none;border-radius:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='m'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncR type='linear' slope='2.5' intercept='-0.96'/%3E%3CfeFuncG type='linear' slope='2.5' intercept='-0.96'/%3E%3CfeFuncB type='linear' slope='2.5' intercept='-0.96'/%3E%3CfeFuncA type='linear' slope='0' intercept='1'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23m)'/%3E%3C/svg%3E");background-size:260px 260px;mix-blend-mode:overlay;opacity:var(--grain-img, .15);animation:img-grain .6s steps(1,end) infinite}@keyframes img-grain{0%{background-position:0px 0}10%{background-position:-37px 0}20%{background-position:58px 0}30%{background-position:-72px 0}40%{background-position:29px 0}50%{background-position:-14px 0}60%{background-position:81px 0}70%{background-position:-59px 0}80%{background-position:43px 0}90%{background-position:-88px 0}}@media(prefers-reduced-motion:reduce){.grained:after{animation:none}}@media(max-width:600px){.grained:after{display:none}}.btn--rule{position:relative}.btn--rule:before{content:"";position:absolute;top:0;right:0;width:6px;height:6px;border-top:1px solid currentColor;border-right:1px solid currentColor;transition:transform var(--dur) var(--ease)}.btn--rule:hover:before{transform:translate(3px,-3px)}@media(prefers-reduced-motion:reduce){.btn--rule:before{transition:none}.btn--rule:hover:before{transform:none}}.veil{position:fixed;inset:0;z-index:9999;background:var(--page);pointer-events:none;opacity:0;transition:opacity .5s cubic-bezier(.16,1,.3,1)}html.js .veil{opacity:1}html.js.veil-up .veil{opacity:0}html.js.veil-out .veil{opacity:1;transition-duration:.35s}@media(prefers-reduced-motion:reduce){.veil{display:none}}.s-tap{position:relative;--tap-floor: 46px}.s-tap:after{content:"";position:absolute;top:min(0px,calc((100% - var(--tap-floor)) / 2));bottom:min(0px,calc((100% - var(--tap-floor)) / 2));left:min(0px,calc((100% - var(--tap-floor)) / 2));right:min(0px,calc((100% - var(--tap-floor)) / 2));z-index:1}:root{--arr-lines-dur: .8s;--arr-lines-ease: cubic-bezier(.165, .84, .44, 1);--arr-lines-gap: 50ms;--arr-chars-dur: .5s;--arr-chars-ease: cubic-bezier(.25, .46, .45, .94);--arr-chars-gap: 30ms;--arr-rise-dur: .7s;--arr-rise-ease: cubic-bezier(.33, 1, .68, 1);--arr-rise-cap: 113px;--arr-draw-dur: .6s;--arr-draw-ease: cubic-bezier(.77, 0, .175, 1);--arr-gap: .1s}[data-arrive]{--arr-d: calc(var(--arr-delay, 0ms) + var(--arr-k, 0) * var(--arr-gap))}[data-arrive=rise].arr-wait{opacity:0;transform:translateY(min(101%,var(--arr-rise-cap)))}[data-arrive=rise].arr-in{opacity:1;transform:none;transition:opacity var(--arr-rise-dur) var(--arr-rise-ease) var(--arr-d),transform var(--arr-rise-dur) var(--arr-rise-ease) var(--arr-d)}[data-arrive=draw]{transform-origin:0 50%}[data-arrive=draw].arr-wait{transform:scaleX(0)}[data-arrive=draw].arr-in{transform:none;transition:transform var(--arr-draw-dur) var(--arr-draw-ease) var(--arr-d)}[data-arrive=lines].arr-wait:not(.arr-split){opacity:0}.arr-w{display:inline-block}.arr-lm{display:block;clip-path:inset(calc(var(--arr-mx, 0px) * -1) -100vw)}.arr-l{display:block;white-space:nowrap}[data-arrive=lines].arr-wait .arr-l{opacity:0;transform:translateY(100%)}[data-arrive=lines].arr-in .arr-l{opacity:1;transform:none;transition:opacity var(--arr-lines-dur) var(--arr-lines-ease) calc(var(--arr-d) + var(--arr-i, 0) * var(--arr-lines-gap)),transform var(--arr-lines-dur) var(--arr-lines-ease) calc(var(--arr-d) + var(--arr-i, 0) * var(--arr-lines-gap))}.arr-cw{display:inline-block;white-space:nowrap}.arr-c{display:inline-block}[data-arrive=chars].arr-wait .arr-c{opacity:0;transform:translateY(101%)}[data-arrive=chars].arr-in .arr-c{opacity:1;transform:none;transition:opacity var(--arr-chars-dur) var(--arr-chars-ease) calc(var(--arr-d) + var(--arr-i, 0) * var(--arr-chars-gap)),transform var(--arr-chars-dur) var(--arr-chars-ease) calc(var(--arr-d) + var(--arr-i, 0) * var(--arr-chars-gap))}@media(prefers-reduced-motion:reduce){[data-arrive].arr-wait,[data-arrive].arr-in,[data-arrive] .arr-l,[data-arrive] .arr-c{opacity:1!important;transform:none!important;transition:none!important}}
