@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-opsz-normal-BjhtXyW2.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-opsz-normal-BQn1nviT.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:normal;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-opsz-normal-s-izfB6B.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-vietnamese-opsz-italic-DTr-ymY4.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-ext-opsz-italic-CSPGnFdO.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Newsreader Variable;font-style:italic;font-display:swap;font-weight:200 800;src:url(/assets/newsreader-latin-opsz-italic-kJKFiXvB.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-ext-wght-normal-DjL33-gN.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-cyrillic-wght-normal-BEAKL7Jp.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-vietnamese-wght-normal-6IgcOCM7.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-ext-wght-normal-DC-KSUi6.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-ext-wght-normal-X_5orZeX.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-cyrillic-wght-normal-DiZS0aHC.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-symbols2-wght-normal-CO5SzqOn.woff2)format("woff2-variations");unicode-range:U+2000-2001,U+2004-2008,U+200A,U+23B8-23BD,U+2500-259F}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-vietnamese-wght-normal-DadHysG0.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-ext-wght-normal-Bwz-egvJ.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Geist Mono Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ivory:#f8f7f4;--ink:#24272d;--violet:#7048e8;--ink-body:#42464e;--ink-muted:#676b74;--ink-faint:#9a9da4;--surface:#f1efea;--rule:#24272d24;--rule-strong:#24272d4d;--construct:#24272d57;--grid-line:#24272d09;--violet-hover:#5d37d9;--violet-tint:#7048e81a;--on-violet:#fbfaf8;--dark-bg:var(--ink);--dark-text:#f3f2ee;--dark-body:#c4c6cc;--dark-muted:#9a9ea7;--dark-rule:#f8f7f421;--lavender:#b3a1ff;--error:#b42318;--focus:var(--violet);--font-serif:"Newsreader Variable", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-sans:"Geist Variable", "Segoe UI", system-ui, -apple-system, sans-serif;--font-mono:"Geist Mono Variable", ui-monospace, "SF Mono", Consolas, monospace;--fs-display:clamp(2.75rem, 1.55rem + 8.1vw, 9.25rem);--fs-h2:clamp(2rem, 1.2rem + 3.8vw, 4.9rem);--fs-h3:clamp(1.5rem, 1.22rem + 1.15vw, 2.2rem);--fs-h4:clamp(1.3rem, 1.15rem + .6vw, 1.7rem);--fs-lead:clamp(1.13rem, 1.02rem + .42vw, 1.38rem);--fs-body:1.0625rem;--fs-small:.9375rem;--fs-label:.78rem;--lh-tight:.98;--lh-heading:1.06;--lh-body:1.6;--tracking-display:-.025em;--tracking-label:.14em;--s-1:.25rem;--s-2:.5rem;--s-3:.75rem;--s-4:1rem;--s-5:1.5rem;--s-6:2rem;--s-7:3rem;--s-8:4rem;--s-9:6rem;--section-y:clamp(5.5rem, 3rem + 9vw, 11rem);--max:1280px;--margin:clamp(1.25rem, .6rem + 3.6vw, 4rem);--gutter:clamp(1rem, .6rem + 1.4vw, 1.75rem);--cols:12;--stroke-hair:1px;--stroke-line:1.25px;--node-r:4.5px;--dur-micro:.18s;--dur-ui:.24s;--dur-reveal:.62s;--dur-reveal-long:.9s;--ease-out:cubic-bezier(.16, .84, .24, 1);--ease-in-out:cubic-bezier(.65, 0, .3, 1);--ease-draw:cubic-bezier(.55, .05, .25, 1);--header-h:4.5rem}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 1rem)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--ivory);color:var(--ink-body);font-family:var(--font-sans);font-size:var(--fs-body);line-height:var(--lh-body);font-feature-settings:"ss01", "cv11";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;overflow-x:clip}h1,h2,h3,h4,p,ul,ol,figure,dl,dd{margin:0}ul,ol{padding:0;list-style:none}img,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}a{color:inherit;text-decoration:none}::selection{background:var(--violet);color:var(--on-violet)}:focus{outline:none}:focus-visible{outline:2px solid var(--focus);outline-offset:3px;border-radius:2px}.dark :focus-visible{outline-color:var(--lavender)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.skip-link{left:var(--margin);z-index:100;background:var(--ink);color:var(--ivory);font-size:var(--fs-small);transition:transform var(--dur-ui) var(--ease-out);padding:.65rem 1rem;position:fixed;top:.75rem;transform:translateY(-160%)}.skip-link:focus-visible{transform:none}.container{width:100%;max-width:calc(var(--max) + var(--margin) * 2);padding-inline:var(--margin);margin-inline:auto}.grid{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gutter);display:grid}.section{padding-block:var(--section-y);position:relative}.display,.h2,.h3{font-family:var(--font-serif);font-optical-sizing:auto;color:var(--ink);letter-spacing:var(--tracking-display);text-wrap:balance;font-weight:380}.display{font-size:var(--fs-display);line-height:var(--lh-tight);font-weight:360}.h2{font-size:var(--fs-h2);line-height:var(--lh-heading)}.h3{font-size:var(--fs-h3);letter-spacing:-.012em;line-height:1.15}.dark .display,.dark .h2,.dark .h3{color:var(--dark-text)}em,.italic{font-style:italic}.display em,.h2 em{letter-spacing:-.03em;font-weight:330}.lead{font-size:var(--fs-lead);color:var(--ink-body);text-wrap:pretty;line-height:1.55}.dark .lead{color:var(--dark-body)}.label{font-family:var(--font-mono);font-size:var(--fs-label);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-muted);font-weight:450;line-height:1.4}.dark .label{color:var(--dark-muted)}.accent{color:var(--violet)}.dark .accent{color:var(--lavender)}.ln{display:block}.ln>span{display:inline-block}.drafting-grid{pointer-events:none;background-image:linear-gradient(to right, var(--grid-line) 1px, transparent 1px), linear-gradient(to bottom, var(--grid-line) 1px, transparent 1px);background-size:var(--grid-step,96px) var(--grid-step,96px);background-position:var(--grid-x,0) var(--grid-y,0);-webkit-mask-image:radial-gradient(ellipse at var(--grid-focus,70% 45%), #000 0%, #0000008c 38%, transparent 72%);-webkit-mask-image:radial-gradient(ellipse at var(--grid-focus,70% 45%), #000 0%, #0000008c 38%, transparent 72%);mask-image:radial-gradient(ellipse at var(--grid-focus,70% 45%), #000 0%, #0000008c 38%, transparent 72%);position:absolute;inset:0}.js [data-reveal~=lines] .ln{margin:0 -.12em -.1em 0;padding:0 .12em .1em 0;overflow:hidden}.js [data-reveal~=lines] .ln>span{transition:transform var(--dur-reveal-long) var(--ease-out);transition-delay:calc(var(--i,0) * 85ms + var(--d,0s));transform:translateY(108%)}.js [data-reveal~=lines].is-in .ln>span{transform:none}.js [data-reveal~=fade]{opacity:0;transition:opacity var(--dur-reveal) var(--ease-out), transform var(--dur-reveal) var(--ease-out);transition-delay:var(--d,0s);transform:translateY(.9rem)}.js [data-reveal~=fade].is-in{opacity:1;transform:none}.js [data-reveal~=stagger]>*{opacity:0;transition:opacity var(--dur-reveal) var(--ease-out), transform var(--dur-reveal) var(--ease-out);transition-delay:calc(var(--i,0) * 70ms + var(--d,0s));transform:translateY(1.1rem)}.js [data-reveal~=stagger].is-in>*{opacity:1;transform:none}.js [data-reveal~=draw] .draw{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset 1.4s var(--ease-draw);transition-delay:calc(var(--i,0) * .16s + var(--d,0s))}.js [data-reveal~=draw].is-in .draw{stroke-dashoffset:0}.js [data-reveal~=draw] .pop{opacity:0;transform-box:fill-box;transform-origin:50%;transition:opacity .4s var(--ease-out), transform .6s var(--ease-out);transition-delay:var(--d,0s);transform:scale(.2)}.js [data-reveal~=draw].is-in .pop{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.js [data-reveal] *,.js [data-reveal]{transition:none!important}.js [data-reveal~=lines] .ln>span,.js [data-reveal~=fade],.js [data-reveal~=stagger]>*,.js [data-reveal~=draw] .pop{opacity:1;transform:none}.js [data-reveal~=draw] .draw{stroke-dashoffset:0}}.wordmark{font-family:var(--font-serif);font-optical-sizing:auto;letter-spacing:-.022em;color:var(--ink);white-space:nowrap;font-weight:470;line-height:1}.wordmark__dot{color:var(--violet)}.action{--arrow-shift:0px;letter-spacing:-.005em;white-space:nowrap;transition:background-color var(--dur-ui) var(--ease-out), color var(--dur-ui) var(--ease-out), background-size var(--dur-ui) var(--ease-out);align-items:center;gap:.8rem;font-size:.98rem;font-weight:500;line-height:1;display:inline-flex}.action .arrow{transform:translateX(var(--arrow-shift));transition:transform var(--dur-ui) var(--ease-out);flex:none}.action:hover{--arrow-shift:4px}.action--primary{background:var(--violet);color:var(--on-violet);border-radius:999px;padding:1.05rem 1.5rem 1.05rem 1.6rem}.action--primary:hover{background:var(--violet-hover)}.action--primary:active{transform:translateY(1px)}.action--primary:focus-visible{outline-offset:4px;border-radius:999px}.action--quiet{color:var(--ink);background-image:linear-gradient(var(--violet), var(--violet)), linear-gradient(var(--rule-strong), var(--rule-strong));transition:background-size .42s var(--ease-out), color var(--dur-ui) var(--ease-out);background-position:0 100%,0 100%;background-repeat:no-repeat;background-size:0% 1.5px,100% 1px;padding:1.05rem 0 .95rem}.action--quiet:hover{background-size:100% 1.5px,100% 1px}.chapter{color:var(--ink);align-items:center;gap:.85rem;margin-bottom:clamp(2.25rem,1.25rem + 3.5vw,4rem);display:flex}.chapter--dark{color:var(--dark-text)}.chapter__tick{background:currentColor;width:1.5rem;height:1px;position:relative}.chapter__tick:after{content:"";background:var(--violet);border-radius:50%;width:6px;height:6px;position:absolute;top:-2.5px;right:-3px}.chapter--dark .chapter__tick:after{background:var(--lavender)}.site-header{z-index:50;height:var(--header-h);transition:background-color .32s var(--ease-out), box-shadow .32s var(--ease-out), backdrop-filter .32s var(--ease-out);position:fixed;inset:0 0 auto}.site-header.is-scrolled{-webkit-backdrop-filter:saturate(1.2)blur(12px);backdrop-filter:saturate(1.2)blur(12px);box-shadow:0 1px 0 var(--rule);background:#f8f7f4db}.site-header.is-open{background:var(--ivory);box-shadow:0 1px 0 var(--rule)}.site-header .wordmark,.site-header .wordmark__dot,.menu-toggle{transition:color .32s var(--ease-out)}.site-header.is-dark.is-scrolled{box-shadow:0 1px 0 var(--dark-rule);background:#24272dd6}.site-header.is-dark .wordmark,.site-header.is-dark .menu-toggle{color:var(--dark-text)}.site-header.is-dark .wordmark__dot{color:var(--lavender)}.site-header.is-dark .site-nav__link{color:var(--dark-body)}.site-header.is-dark .site-nav__link:hover,.site-header.is-dark .site-nav__link[aria-current]{color:var(--dark-text)}.site-header.is-dark .site-nav__link:after{background:var(--lavender)}.site-header.is-dark :focus-visible{outline-color:var(--lavender)}.site-header__inner{align-items:center;gap:clamp(1.5rem,3vw,3rem);height:100%;display:flex}.site-header__brand{padding-block:.4rem;font-size:1.6rem}.site-header__brand:focus-visible{outline-offset:6px}.site-nav{margin-left:auto}.site-nav ul{gap:clamp(1.25rem,2.4vw,2.4rem);display:flex}.site-nav__link{color:var(--ink-body);transition:color var(--dur-ui) var(--ease-out);padding-block:.5rem;font-size:.95rem;display:inline-block;position:relative}.site-nav__link:after{content:"";background:var(--violet);transform-origin:100%;height:1.5px;transition:transform .38s var(--ease-out);position:absolute;bottom:.2rem;left:0;right:0;transform:scaleX(0)}.site-nav__link:hover,.site-nav__link[aria-current]{color:var(--ink)}.site-nav__link:hover:after,.site-nav__link[aria-current]:after{transform-origin:0;transform:scaleX(1)}.site-header__cta{padding:.8rem 1.15rem .8rem 1.3rem;font-size:.92rem}.menu-toggle{color:var(--ink);align-items:center;gap:.7rem;margin-left:auto;padding:.6rem 0;font-size:.95rem;font-weight:500;display:none}.menu-toggle__icon{width:20px;height:10px;position:relative}.menu-toggle__icon span{width:100%;height:1.5px;transition:transform .32s var(--ease-out), top .32s var(--ease-out);background:currentColor;position:absolute;left:0}.menu-toggle__icon span:first-child{top:0}.menu-toggle__icon span:last-child{top:calc(100% - 1.5px)}.menu-toggle[aria-expanded=true] .menu-toggle__icon span{top:calc(50% - .75px)}.menu-toggle[aria-expanded=true] .menu-toggle__icon span:first-child{transform:rotate(45deg)}.menu-toggle[aria-expanded=true] .menu-toggle__icon span:last-child{transform:rotate(-45deg)}.mobile-menu{inset:var(--header-h) 0 0 0;background:var(--ivory);padding-block:1.5rem 3rem;position:fixed;overflow-y:auto}.mobile-menu[hidden]{display:none}.mobile-menu__list li{animation:menu-in .52s var(--ease-out) both;animation-delay:calc(var(--i) * 45ms)}.mobile-menu__list a{border-bottom:1px solid var(--rule);font-family:var(--font-serif);letter-spacing:-.02em;color:var(--ink);padding:1rem 0;font-size:clamp(2rem,1.5rem + 3vw,2.75rem);line-height:1.1;display:block}.mobile-menu__list a[aria-current]{color:var(--violet)}@keyframes menu-in{0%{opacity:0;transform:translateY(.75rem)}}html.menu-open{overflow:hidden}@media (max-width:959.98px){.site-nav,.site-header__cta{display:none}.menu-toggle{display:inline-flex}}@media (prefers-reduced-motion:reduce){.mobile-menu__list li{animation:none}.action,.action .arrow,.site-nav__link:after{transition:none}}.hero{--indent:calc(var(--fs-display) * .92);padding-top:calc(var(--header-h) + clamp(2.5rem, 8vh, 6.5rem));isolation:isolate;flex-direction:column;padding-bottom:clamp(1rem,3vh,2.5rem);display:flex;position:relative;overflow-x:clip}.hero__grid{--grid-step:88px;--grid-focus:74% 42%;z-index:-1}.hero__inner{grid-template-columns:repeat(var(--cols), minmax(0, 1fr));column-gap:var(--gutter);--geo-top:clamp(3rem, 9vh, 6.5rem);--geo-w:min(47cqw, 640px);min-height:calc(var(--geo-top) + var(--geo-w) * .84);flex:1;grid-template-rows:auto auto auto 1fr;display:grid;position:relative;container-type:inline-size}.hero__geo{z-index:-1;top:var(--geo-top);right:calc(var(--margin) * -.35 - max(0px, (100vw - 1440px) * .25));width:var(--geo-w);pointer-events:none;position:absolute}.hero-geo{width:100%;height:auto;overflow:visible}.hero__descriptor{color:var(--ink);grid-column:1/-1;align-items:center;gap:.85rem;display:flex}.hero__tick{background:var(--ink);width:2.25rem;height:1px;position:relative}.hero__tick:after{content:"";background:var(--violet);border-radius:50%;width:6px;height:6px;position:absolute;top:-2.5px;right:-3px}.hero__title{grid-column:1/span 11;margin-top:clamp(1.5rem,3vh,2.5rem)}.hero__title em{font-weight:330}.hero__line--2{padding-left:var(--indent)}.hero__body{margin-top:clamp(2rem,4.5vh,3.25rem);margin-left:var(--indent);grid-column:1/span 6;max-width:34rem}.hero__copy{color:var(--ink-body)}.hero__actions{flex-wrap:wrap;align-items:center;gap:1rem 2rem;margin-top:2.25rem;display:flex}.js .hero__line{margin:0 -.14em -.1em 0;padding:0 .14em .1em 0;overflow:hidden}.js .hero__line>span{animation:rise 1.05s var(--ease-out) both;animation-delay:calc(60ms + var(--i) * .11s)}.js .hero__descriptor{animation:fade .7s var(--ease-out) both}.js .hero__body{animation:lift .9s var(--ease-out) both .42s}@keyframes rise{0%{transform:translateY(108%)}}@keyframes fade{0%{opacity:0}}@keyframes lift{0%{opacity:0;transform:translateY(.9rem)}}.hero-geo path,.hero-geo circle{fill:none}.hg-draw{stroke:var(--construct);stroke-width:1px;stroke-dasharray:1;stroke-dashoffset:0}.js .hg-draw{animation:draw .82s var(--ease-draw) both;animation-delay:var(--t,0s)}.hg-axis{stroke:#24272d3d}.js .hg-axis{animation-duration:.9s}.hg-arc{stroke:var(--ink);stroke-opacity:.58;stroke-width:1.25px}.js .hg-arc{animation-duration:1.15s}.hg-radius{stroke:var(--ink);stroke-opacity:.5}.js .hg-radius{animation-duration:.42s}.hg-guide{stroke:var(--construct)}.js .hg-guide{animation-duration:.52s}.hg-unit path,.hg-tick{stroke:var(--construct);stroke-width:1px}.hg-leg{stroke:#24272d52;stroke-dasharray:2 5}.hg-nodes circle{stroke:#24272d80;stroke-width:1px;fill:var(--ivory)!important}.hg-labels text{font-family:var(--font-mono);letter-spacing:.04em;fill:var(--ink-muted);font-size:13px}.js .hg-fade{animation:fade .52s var(--ease-out) both;animation-delay:var(--t,0s)}.hg-point__dot{fill:var(--violet)!important}.hg-point__ring{stroke:var(--violet);stroke-opacity:.45;stroke-width:1px}.hg-point circle{transform-box:fill-box;transform-origin:50%}.js .hg-point__dot{animation:pop .62s var(--ease-out) both 1.3s}.js .hg-point__ring{animation:ring .9s var(--ease-out) both 1.4s}@keyframes draw{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}@keyframes pop{0%{opacity:0;transform:scale(0)}}@keyframes ring{0%{opacity:0;transform:scale(.35)}}.philosophy{padding-top:clamp(3.5rem,2rem + 5vw,7rem)}.philosophy__head{align-items:end;row-gap:2rem}.philosophy__title{grid-column:1/span 7}.philosophy__copy{grid-column:9/span 4}.workflow{margin-top:clamp(3.5rem,2rem + 6vw,6.5rem)}.workflow__figure{position:relative}.workflow__svg{width:100%;height:auto;overflow:visible}.workflow__svg text{font-family:var(--font-sans);font-size:var(--fs);fill:var(--ink)}.wf-conn{fill:none;stroke:var(--ink);stroke-opacity:.5;stroke-width:1.2px;stroke-dasharray:1}.wf-out{fill:none;stroke:var(--ink);stroke-opacity:.85;stroke-width:1.5px;stroke-dasharray:1}.wf-cap{fill:none;stroke:var(--ink);stroke-width:1.5px}.wf-output circle{fill:var(--ivory);stroke:var(--ink);stroke-width:1.2px}.wf-node__ring{fill:var(--ivory);stroke:var(--ink);stroke-opacity:.75;stroke-width:1.2px}.wf-node__fill{fill:var(--ink)}.workflow__svg .wf-node text{fill:var(--ink-body)}.wf-stub{fill:none;stroke:var(--ink-faint);stroke-width:1px;stroke-dasharray:2 4}.wf-control__orbit{fill:none;stroke:var(--construct);stroke-width:1px;stroke-dasharray:1}.wf-control__ring{fill:none;stroke:var(--violet);stroke-opacity:.5;stroke-width:1px}.wf-control__dot{fill:var(--violet)}.workflow__stages{gap:1.25rem var(--gutter);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:clamp(2rem,4vw,3rem);display:grid}.wf-stage{text-align:left;color:var(--ink-muted);align-content:start;gap:.45rem;padding:1.35rem 0 .25rem;display:grid;position:relative}.wf-stage__bar{background:var(--rule);height:1px;position:absolute;inset:0 0 auto;overflow:hidden}.wf-stage__bar:after{content:"";background:var(--violet);transform-origin:0;height:2px;transition:transform .6s var(--ease-out);position:absolute;inset:0;transform:scaleX(0)}.wf-stage[aria-pressed=true] .wf-stage__bar{overflow:visible}.wf-stage[aria-pressed=true] .wf-stage__bar:after{transform:scaleX(1)}.wf-stage__num{transition:color var(--dur-ui) var(--ease-out)}.wf-stage[aria-pressed=true] .wf-stage__num{color:var(--violet)}.wf-stage__title{font-family:var(--font-serif);font-size:var(--fs-h4);letter-spacing:-.012em;color:var(--ink-muted);transition:color var(--dur-ui) var(--ease-out);line-height:1.15}.wf-stage[aria-pressed=true] .wf-stage__title,.wf-stage:hover .wf-stage__title{color:var(--ink)}.wf-stage__text{font-size:var(--fs-small);color:var(--ink-muted);max-width:22rem;line-height:1.55}.wf-stage:focus-visible{outline-offset:6px}.services__head{align-items:end;row-gap:1.75rem;margin-bottom:clamp(3rem,6vw,5rem)}.services__title{grid-column:1/span 7}.services__intro{color:var(--ink-body);grid-column:9/span 4}.svc-list{border-bottom:1px solid var(--rule)}.svc{position:relative}.svc__rule{background:var(--rule);height:1px;position:absolute;inset:0 0 auto}.svc__rule:after{content:"";background:var(--violet);transform-origin:0;transition:transform .7s var(--ease-out);position:absolute;inset:0;transform:scaleX(0)}.svc:hover .svc__rule:after,.svc.is-open .svc__rule:after{transform:scaleX(1)}.svc__heading{font:inherit}.svc__trigger{column-gap:var(--gutter);text-align:left;grid-template-columns:4.5rem minmax(0,5.2fr) minmax(0,4.6fr) 2.5rem;align-items:baseline;width:100%;padding:clamp(1.5rem,2.6vw,2.15rem) 0;display:grid}.svc__trigger:focus-visible{outline-offset:-2px}.svc__num{transition:color var(--dur-ui) var(--ease-out)}.svc.is-open .svc__num,.svc__trigger:hover .svc__num{color:var(--violet)}.svc__title{font-family:var(--font-serif);font-size:var(--fs-h3);letter-spacing:-.018em;color:var(--ink);transition:transform .42s var(--ease-out);line-height:1.12}.svc__trigger:hover .svc__title{transform:translate(.35rem)}.svc__summary{font-size:var(--fs-small);color:var(--ink-muted);line-height:1.55}.svc__toggle{place-self:center end;width:18px;height:18px;position:relative}.svc__toggle span{background:var(--ink);width:100%;height:1.3px;transition:transform .42s var(--ease-out), background-color var(--dur-ui);position:absolute;top:calc(50% - .65px);left:0}.svc__toggle span:last-child{transform:rotate(90deg)}.svc.is-open .svc__toggle span{background:var(--violet)}.svc.is-open .svc__toggle span:last-child{transform:rotate(0)}.svc__panel{transition:grid-template-rows .56s var(--ease-in-out);grid-template-rows:0fr;display:grid}.svc.is-open .svc__panel{grid-template-rows:1fr}.svc__panel-inner{column-gap:var(--gutter);min-height:0;margin-left:calc(4.5rem + var(--gutter));opacity:0;transition:opacity .3s var(--ease-out), transform .5s var(--ease-out);grid-template-columns:minmax(0,5.2fr) minmax(0,4.6fr) 2.5rem;display:grid;overflow:hidden;transform:translateY(-.4rem)}.svc.is-open .svc__panel-inner{opacity:1;transition-delay:.14s;transform:none}.svc__detail,.svc__tools{padding-bottom:2.4rem}.svc__detail-label{margin-bottom:.9rem}.svc__detail li{font-size:var(--fs-small);color:var(--ink-body);margin-bottom:.55rem;padding-left:1.5rem;position:relative}.svc__detail li:before{content:"";border:1px solid var(--ink-muted);border-radius:50%;width:7px;height:7px;position:absolute;top:.62em;left:0}.svc__tools p:not(.label){font-size:var(--fs-small);color:var(--ink-body)}.svc__link{font-size:var(--fs-small);color:var(--violet);transition:background-size .36s var(--ease-out);background:linear-gradient(currentColor,currentColor) 0 100%/0% 1px no-repeat;margin-top:1.25rem;font-weight:500;display:inline-block}.svc__link:hover{background-size:100% 1px}.method{position:relative}.method__panel{background:var(--dark-bg);color:var(--dark-body);padding-block:var(--section-y);position:relative;overflow:hidden}.method__grid{--grid-line:#f8f7f406;--grid-step:88px;--grid-focus:20% 70%}.method__inner{position:relative}.method__head{align-items:end;row-gap:2rem}.method__title{grid-column:1/span 8}.stairs{margin-top:clamp(4rem,2rem + 7vw,7.5rem);position:relative}.stairs__svg{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.stairs__track{fill:none;stroke:#f8f7f429;stroke-width:1px}.stairs__progress{fill:none;stroke:var(--lavender);stroke-width:1.5px}.stairs__node{fill:var(--dark-bg);stroke:var(--dark-muted);stroke-width:1.2px;transition:fill .28s var(--ease-out), stroke .28s var(--ease-out)}.stairs__node.is-reached{fill:var(--lavender);stroke:var(--lavender)}.stairs__marker{will-change:transform;pointer-events:none;background:#b3a1ff29;border-radius:50%;width:26px;height:26px;position:absolute;top:0;left:0;box-shadow:inset 0 0 0 1px #b3a1ff66}.stairs__dot{background:var(--lavender);border-radius:50%;position:absolute;inset:8px}.stairs__list{column-gap:var(--gutter);grid-template-columns:repeat(11,minmax(0,1fr));row-gap:clamp(1.75rem,3vw,2.75rem);display:grid;position:relative}.stair{--num:clamp(2.4rem, 1.6rem + 2.6vw, 3.6rem);--on:0;grid-column:var(--col) / span 3;grid-row:var(--row);padding-left:clamp(1.75rem,2.5vw,2.5rem);position:relative}.stair__anchor{left:0;top:calc(var(--num) * .56);width:2px;height:2px;position:absolute;transform:translate(-50%,-50%)}.stair__num{font-family:var(--font-serif);font-size:var(--num);letter-spacing:-.02em;color:color-mix(in oklab, var(--lavender) calc(var(--on) * 100%), var(--dark-muted));font-weight:340;line-height:1;display:block}.stair__title{font-family:var(--font-serif);font-size:var(--fs-h4);letter-spacing:-.012em;color:var(--dark-text);opacity:calc(.62 + var(--on) * .38);margin-top:.8rem;font-weight:400;line-height:1.15}.stair__text{font-size:var(--fs-small);color:var(--dark-body);max-width:21rem;opacity:calc(.7 + var(--on) * .3);margin-top:.5rem;line-height:1.55}.about__layout{row-gap:clamp(2.5rem,5vw,4rem)}.about__title{grid-area:1/1/auto/span 8}.about__figure{grid-area:1/9/span 2/span 4;place-self:start end;width:100%;max-width:340px}.about__geo{width:100%;height:auto;overflow:visible}.ag-circle{fill:none;stroke:var(--ink);stroke-opacity:.42;stroke-width:1px}.ag-node{fill:var(--ivory);stroke:#24272d8c;stroke-width:1px}.ag-tag{font-family:var(--font-mono);letter-spacing:.14em;fill:var(--ink-muted);font-size:11px}.ag-ring{fill:none;stroke:var(--violet);stroke-opacity:.45;stroke-width:1px}.ag-point{fill:var(--violet)}.about__copy{grid-area:2/2/auto/span 6;gap:1.35rem;display:grid}.about__copy p:not(.lead){max-width:36rem}.about__copy .lead{color:var(--ink)}.contact{isolation:isolate}.contact__grid{--grid-step:88px;--grid-focus:96% 6%;z-index:-1}.contact__layout{row-gap:3.5rem}.contact__intro{grid-column:1/span 6}.contact__copy{max-width:30rem;margin-top:1.75rem}.form{gap:1.6rem var(--gutter);grid-column:8/span 5;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;display:grid}.field{flex-direction:column;min-width:0;display:flex}.field--wide{grid-column:1/-1}.field__label{color:var(--ink);transition:color var(--dur-ui);font-size:.9rem;font-weight:500}.field__optional{color:var(--ink-muted);font-weight:400}.field input,.field textarea{border:0;border-bottom:1px solid var(--rule-strong);width:100%;color:var(--ink);appearance:none;transition:border-color var(--dur-ui) var(--ease-out), box-shadow var(--dur-ui) var(--ease-out), background-color var(--dur-ui) var(--ease-out);background:0 0;border-radius:0;margin-top:.25rem;padding:.6rem .1rem;font-size:1.05rem;line-height:1.5}.field textarea{resize:vertical;min-height:8rem;line-height:1.55}.field input:hover,.field textarea:hover{border-bottom-color:var(--ink-muted)}.field input:focus,.field textarea:focus{border-bottom-color:var(--violet);box-shadow:0 1.5px 0 0 var(--violet);background-color:#7048e809;outline:none}.field:focus-within .field__label{color:var(--violet)}.field__line{display:none}.field__hint{color:var(--ink-muted);margin-top:.45rem;font-size:.85rem}.field__error{color:var(--error);margin-top:.45rem;font-size:.875rem}.field.has-error input,.field.has-error textarea{border-bottom-color:var(--error)}.field.has-error input:focus,.field.has-error textarea:focus{box-shadow:0 1.5px 0 0 var(--error)}.form__hp{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form__footer{flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:flex-end;gap:1.5rem 2.5rem;margin-top:.5rem;display:flex}.form__privacy{max-width:30rem;color:var(--ink-muted);flex:18rem;font-size:.85rem;line-height:1.55}.form__submit{flex:none}.form__submit[aria-disabled=true]{cursor:progress}.form__submit.is-sending,.form__submit.is-sending:hover{background:var(--violet);--arrow-shift:0px}.form__status{font-size:var(--fs-small);color:var(--ink);grid-column:1/-1;min-height:1.5em}.form__status:empty{display:none}.form__status--failed{color:var(--error)}.form__status a{color:inherit;text-underline-offset:.18em;text-decoration:underline}.form__status:focus-visible{outline-offset:4px}.footer{border-top:1px solid var(--rule);padding:clamp(3.5rem,7vw,5.5rem) 0 2rem}.footer__top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:2.5rem;display:flex}.footer__mark{font-size:clamp(3rem,1.6rem + 6vw,6.5rem);font-weight:420}.footer__line{color:var(--ink-muted);margin-top:1rem}.footer__nav ul{flex-wrap:wrap;gap:.75rem 1.75rem;display:flex}.footer__nav a{font-size:var(--fs-small);color:var(--ink-body);background:linear-gradient(var(--violet), var(--violet)) 0 100% / 0% 1.5px no-repeat;transition:background-size .36s var(--ease-out), color var(--dur-ui);padding-bottom:.2rem}.footer__nav a:hover{color:var(--ink);background-size:100% 1.5px}.footer__base{flex-wrap:wrap;justify-content:space-between;gap:.75rem 2rem;margin-top:clamp(2.5rem,5vw,4rem);display:flex}.footer__top-link:hover{color:var(--violet)}@media (max-width:1100px){.hero__inner{--geo-w:min(50cqw, 560px);--geo-top:7rem}.svc__trigger{grid-template-columns:3.5rem minmax(0,1fr) minmax(0,.9fr) 2rem}.svc__panel-inner{margin-left:calc(3.5rem + var(--gutter));grid-template-columns:minmax(0,1fr) minmax(0,.9fr) 2rem}}@media (max-width:900px){.philosophy__title,.philosophy__copy,.services__title,.services__intro,.method__title,.contact__intro,.form{grid-column:1/-1}.philosophy__copy,.services__intro{max-width:34rem}.about__title{grid-column:1/span 9}.about__figure{grid-column:9/span 4;max-width:220px}.about__copy{grid-column:1/span 10}.form{max-width:40rem}}@media (max-width:860px){.hero__geo{width:min(64%,440px);margin-top:1rem;margin-right:calc(var(--margin) * -.6);grid-area:4/1/auto/-1;place-self:end;position:relative;top:auto;right:auto}.hero__inner{min-height:0}.hero__title,.hero__body{grid-column:1/-1}}@media (max-width:760px){.stairs__list{grid-template-columns:minmax(0,1fr);row-gap:2.75rem}.stair{grid-area:auto/1/auto/-1;padding-left:2.5rem}.stair__text{max-width:30rem}}@media (max-width:680px){.workflow__stages{grid-template-columns:minmax(0,1fr);gap:0}.wf-stage{grid-template-columns:2.25rem minmax(0,1fr);column-gap:.75rem;padding-block:1.1rem}.wf-stage__num{grid-row:1;padding-top:.35rem}.wf-stage__title,.wf-stage__text{grid-column:2}.svc__trigger{grid-template-columns:2.5rem minmax(0,1fr) 1.5rem;row-gap:.6rem}.svc__num{grid-row:1}.svc__toggle{grid-area:1/3}.svc__summary{grid-area:2/2/auto/3}.svc__panel-inner{margin-left:calc(2.5rem + var(--gutter));grid-template-columns:minmax(0,1fr)}.svc__tools{padding-top:0}.svc__detail{padding-bottom:1.5rem}.about__title,.about__copy{grid-column:1/-1}.about__figure{grid-area:auto/1/auto/-1;justify-self:start;max-width:260px}.contact__layout{row-gap:2.25rem}.contact__copy{margin-top:1.25rem}.form{grid-template-columns:minmax(0,1fr);row-gap:1.15rem}.field textarea{min-height:6.5rem}.field__hint,.field__error{margin-top:.3rem}.form__footer{gap:1.25rem;margin-top:.75rem}}@media (max-width:560px){.hero{--indent:0px;min-height:0}.hero__tick{width:1.25rem}.hero__descriptor{letter-spacing:.1em;gap:.7rem}.hero__geo{width:calc(100% + var(--margin));max-width:440px;margin-top:2.5rem;margin-right:calc(var(--margin) * -1);opacity:1;grid-area:4/1/auto/-1;justify-self:end;position:relative;top:auto;right:auto}.hero__line--2{padding-left:0}.form__footer{flex-direction:column;align-items:stretch}.form__privacy{flex:none}.form__submit{justify-content:space-between}}@media (prefers-reduced-motion:reduce){.js .hero__line>span,.js .hero__descriptor,.js .hero__body,.js .hg-draw,.js .hg-fade,.js .hg-point__dot,.js .hg-point__ring{animation:none}.svc__panel,.svc__panel-inner,.svc__rule:after,.svc__title,.svc__toggle span,.wf-stage__bar:after,.stairs__node{transition:none}.svc__trigger:hover .svc__title{transform:none}}
