@font-face{font-family:Artfct Display;src:url('/assets/space-grotesk.ttf') format('truetype');font-display:swap;font-weight:300 700}
@font-face{font-family:Artfct Mono;src:url('/assets/geist-mono.woff2') format('woff2');font-display:swap;font-weight:100 900}
:root{--paper:#d7d7d5;--ink:#111214;--line:rgba(17,18,20,.28);--gutter:clamp(24px,3.15vw,64px);color-scheme:light;color:var(--ink);background:var(--paper)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.45;background:var(--paper);-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}button,a,summary{touch-action:manipulation}button{cursor:pointer}p,h1,h2,h3{margin:0}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:6px}::selection{background:var(--ink);color:var(--paper)}
.site-header{position:fixed;inset:0 0 auto;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:25px var(--gutter);min-height:84px;transition:transform .35s ease,background .3s ease;isolation:isolate}.site-header.is-scrolled{background:rgba(215,215,213,.92);backdrop-filter:blur(12px)}.site-header.is-hidden{transform:translateY(-105%)}.brand{display:flex;align-items:center;min-height:36px;position:relative;z-index:3}.brand img{display:block;width:132px;height:auto}.site-nav{display:flex;align-items:center;justify-content:space-between;gap:clamp(36px,5.8vw,112px)}.site-nav a{position:relative;padding:10px 0;font-size:13px;line-height:1.4;text-transform:uppercase}.site-nav a::after{content:"";position:absolute;bottom:5px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.site-nav a:hover::after,.site-nav a:focus-visible::after{transform:scaleX(1)}.menu-toggle{min-width:44px;min-height:44px;display:none;border:0;background:transparent;padding:12px 0;text-transform:uppercase;font-size:13px;z-index:3}.skip-link{position:fixed;z-index:40;top:12px;left:12px;padding:12px;background:var(--paper);transform:translateY(-200%)}.skip-link:focus{transform:none}
.hero{height:130svh;min-height:900px;position:relative;--hero-progress:0;--hero-mark-1-x:.86;--hero-mark-1-y:.31;--hero-mark-2-x:.24;--hero-mark-2-y:.84;--hero-mark-size:160px}.hero-stage{position:sticky;top:0;height:100svh;min-height:650px;isolation:isolate;overflow:hidden}.hero-glow{position:absolute;inset:0;z-index:-1;background:radial-gradient(ellipse 27% 76% at 47% 35%,rgba(250,250,247,.7),transparent 85%),radial-gradient(ellipse 38% 54% at 82% 64%,rgba(179,183,182,.32),transparent 90%);transform:translateY(calc(var(--hero-progress)*-40px))}.hero-title{position:absolute;left:var(--gutter);top:25vh;width:max-content;max-width:calc(100% - var(--gutter)*2);font-family:Artfct Display,Arial,sans-serif;font-size:clamp(56px,min(7.5vw,12.5vh),144px);font-weight:400;line-height:.98;letter-spacing:-.045em;text-transform:uppercase;transform:translateY(calc(var(--hero-progress)*-35px));z-index:3}.hero-line{display:block;white-space:nowrap}.hero-intro{position:absolute;right:var(--gutter);bottom:14.5vh;width:29%;max-width:340px;font-size:clamp(14px,1.14vw,18px);line-height:1.4;z-index:3;transform:translateY(calc(var(--hero-progress)*-15px))}#hero-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}.hero-fallback{position:absolute;inset:0;pointer-events:none;z-index:2}.hero-fallback img{position:absolute;width:170px;opacity:.45;filter:brightness(0) invert(1);transform:translate(-50%,-50%) rotate(-18deg)}.hero-fallback img:first-child{left:calc(var(--hero-mark-1-x)*100%);top:calc(var(--hero-mark-1-y)*100%)}.hero-fallback img:last-child{left:calc(var(--hero-mark-2-x)*100%);top:calc(var(--hero-mark-2-y)*100%);transform:translate(-50%,-50%) rotate(25deg)}.hero.scene-ready .hero-fallback{display:none}.scroll-link{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;gap:5px;align-items:center;text-transform:uppercase;font-size:11px;line-height:1.3;z-index:4;padding:10px;white-space:nowrap}.scroll-link span{font-size:17px}
.section-shell{position:relative;padding:clamp(90px,11vw,190px) var(--gutter);scroll-margin-top:0}.section-label{display:table;border:1px solid currentColor;border-radius:50px;padding:5px 13px;margin-bottom:40px;font-size:12px;line-height:1.3}.display-heading{font-family:Artfct Display,Arial,sans-serif;text-transform:uppercase;font-size:clamp(38px,5.05vw,88px);font-weight:400;line-height:1.05;letter-spacing:-.045em;max-width:1250px}.about{background:radial-gradient(ellipse 20% 25% at 88% 35%,rgba(248,248,245,.5),transparent 90%)}.about-columns{display:grid;grid-template-columns:1fr 1fr;gap:14%;margin:72px 0 0 22%}.about-lead{font-size:clamp(21px,2.1vw,34px);line-height:1.2;letter-spacing:-.035em}.body-copy{font-size:16px;line-height:1.5;max-width:480px}.body-copy p+p{margin-top:24px}.approach{margin:120px 0 0 22%}.approach-row{display:grid;grid-template-columns:1fr 1fr;gap:14%;padding:32px 0}.approach-row h3{font-size:clamp(21px,2.1vw,34px);font-weight:400;line-height:1.15;letter-spacing:-.035em;max-width:400px}.approach-row p{font-size:16px;line-height:1.5;max-width:480px}.services{padding-top:80px;background:radial-gradient(ellipse 30% 24% at 16% 44%,rgba(183,186,183,.25),transparent 95%)}.service-list{margin-top:80px}.service{border-top:1px solid var(--line)}.service:last-child{border-bottom:1px solid var(--line)}.service summary{display:grid;grid-template-columns:70px 1fr 32px;gap:20px;align-items:baseline;cursor:pointer;list-style:none;padding:30px 0;min-height:104px}.service summary::-webkit-details-marker{display:none}.service-icon{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;font-size:clamp(24px,2.2vw,32px);line-height:1;align-self:center}.service h3{font-family:Artfct Display,Arial,sans-serif;font-weight:400;font-size:clamp(24px,3vw,48px);line-height:1.12;letter-spacing:-.04em}.service-toggle{position:relative;width:22px;height:22px;align-self:center}.service-toggle::before,.service-toggle::after{content:"";position:absolute;top:10px;left:0;right:0;height:1px;background:currentColor}.service-toggle::after{transform:rotate(90deg);transition:transform .2s ease}.service[open] .service-toggle::after{transform:rotate(0deg)}.service[open] summary{min-height:0;padding-bottom:16px}.service-body{padding:0 52px 32px 90px}.service-body p{max-width:540px;font-size:17px;line-height:1.5}.contact{min-height:78svh;padding-top:90px;padding-bottom:130px;background:radial-gradient(ellipse 30% 60% at 65% 80%,rgba(248,248,245,.55),transparent 90%)}.contact-title{font-family:Artfct Display,Arial,sans-serif;text-transform:uppercase;font-size:clamp(42px,7.4vw,132px);line-height:1.03;font-weight:400;letter-spacing:-.045em}.contact-row{display:flex;align-items:flex-start;justify-content:space-between;gap:64px;margin-top:80px}.contact-row p{max-width:300px;font-size:17px;line-height:1.4}.contact-details address{margin-top:22px;font-size:14px;line-height:1.55;font-style:normal}.contact-email{font-size:clamp(26px,3.6vw,64px);line-height:1.4;letter-spacing:-.04em;border-bottom:1px solid currentColor;transition:opacity .2s ease}.contact-email:hover{opacity:.6}.site-footer{margin:0 var(--gutter);border-top:1px solid var(--line);padding:24px 0;display:flex;justify-content:space-between;align-items:center;font-size:12px;line-height:1.4}.site-footer a{padding:10px 0;text-decoration:underline;text-underline-offset:4px}
.about.section-shell{padding-block:clamp(64px,7vw,112px)}.about-summary{max-width:44ch;font-size:clamp(20px,2.1vw,30px);line-height:1.35;letter-spacing:-.02em}
@media(min-width:1800px){.section-shell{padding-inline:max(var(--gutter),calc((100vw - 1680px)/2))}}
@media(max-width:1000px){.hero{--hero-mark-1-x:.89;--hero-mark-size:130px}.hero-title{top:28vh;font-size:min(7.8vw,12.5vh)}.hero-intro{width:35%;bottom:15vh;font-size:15px}.site-nav{gap:38px}.about-columns,.approach{margin-left:10%}.about-columns,.approach-row{gap:10%}}
@media(max-width:760px){:root{--gutter:24px}.site-header{padding:17px var(--gutter);min-height:72px}.brand img{width:116px}.menu-toggle{display:block}.site-nav{position:fixed;inset:0;height:100svh;padding:130px var(--gutter) 60px;overflow-y:auto;overscroll-behavior:contain;z-index:2;background:var(--paper);display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:20px;visibility:hidden;transform:translateY(-105%);transition:transform .35s ease,visibility .35s;pointer-events:none}.site-nav a{font-family:Artfct Display,Arial,sans-serif;font-size:clamp(32px,8vw,58px);line-height:1.1;letter-spacing:-.05em}.site-header.menu-open .site-nav{visibility:visible;transform:none;pointer-events:auto}body.menu-open{overflow:hidden}.hero{height:115svh;min-height:860px;--hero-mark-1-x:.88;--hero-mark-1-y:.15;--hero-mark-2-x:.2;--hero-mark-2-y:.79;--hero-mark-size:100px}.hero-stage{min-height:720px}.hero-title{top:max(220px,29vh);font-size:8.5vw;letter-spacing:-.045em}.hero-intro{width:43%;max-width:280px;bottom:16vh;font-size:14px}.hero-fallback img{width:var(--hero-mark-size)}.section-shell{padding-top:90px;padding-bottom:90px}.section-label{margin-bottom:30px}.display-heading{font-size:clamp(34px,6.6vw,52px)}.about-columns{margin:42px 0 0;gap:8%}.about-lead{font-size:23px}.body-copy,.approach-row p{font-size:15px}.approach{margin:60px 0 0}.approach-row{gap:8%;padding:24px 0}.approach-row h3{font-size:24px}.service-list{margin-top:50px}.service summary{grid-template-columns:32px 1fr 22px;gap:14px;padding:25px 0;min-height:92px}.service h3{font-size:28px}.service-body{padding:0 36px 28px 46px}.service-body p{font-size:16px}.contact{min-height:auto}.contact-title{font-size:clamp(40px,7.2vw,68px)}.contact-row{margin-top:48px;gap:28px;align-items:flex-start;flex-direction:column}.contact-email{font-size:38px}.contact-row p{font-size:16px}.site-footer{font-size:11px}}
@media(max-width:520px){:root{--gutter:20px}.hero{height:100svh;min-height:780px;--hero-mark-1-x:.79;--hero-mark-1-y:.16;--hero-mark-2-x:.23;--hero-mark-2-y:.81;--hero-mark-size:90px;--hero-copy-top:max(220px,26svh)}.hero-stage{min-height:780px;position:relative}.hero-title{top:var(--hero-copy-top);font-size:9.2vw;line-height:1.02}.hero-intro{left:var(--gutter);right:auto;top:calc(var(--hero-copy-top) + 28.2vw + 32px);bottom:auto;width:calc(100% - var(--gutter)*2);max-width:340px;font-size:14px;line-height:1.4}.scroll-link{left:var(--gutter);transform:none;align-items:flex-start;padding-left:0;bottom:24px}.about-columns{display:block}.about-lead{font-size:25px;max-width:350px}.body-copy{margin:28px 0 0;font-size:15px}.approach{margin-top:55px}.approach-row{display:block;padding:25px 0}.approach-row h3{font-size:25px;max-width:300px}.approach-row p{margin:16px 0 0;font-size:15px}.display-heading{font-size:8.9vw;line-height:1.08}.service h3{font-size:25px}.service summary{grid-template-columns:24px 1fr 18px;gap:10px}.service-toggle{width:18px;height:18px}.service-body{padding-left:34px;padding-right:24px}.contact-title{font-size:10.6vw;line-height:1.09}.contact-row{margin-top:38px}.contact-email{font-size:clamp(26px,8.5vw,42px)}.contact-row p{max-width:280px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero{height:auto;min-height:100svh}.hero-stage{position:relative}.hero-title,.hero-intro,.hero-glow{transform:none;opacity:1}*,*::before,*::after{transition:none!important}}
