@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;font-stretch:75% 100%;src:url(/_astro/instrument-sans-latin-ext-wdth-normal.C5E2Gvlv.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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;font-stretch:75% 100%;src:url(/_astro/instrument-sans-latin-wdth-normal.BVScPF0l.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{--bg:#f6f5f2;--surface:#fff;--ink:#0e1726;--muted:#5b6375;--line:#dedcd6;--accent:#ff5b2e;--accent-ink:#c2410c;--btn-bg:#0e1726;--btn-fg:#f6f5f2;--radius:6px;--font:"Instrument Sans Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--ease:cubic-bezier(.16, 1, .3, 1)}@media (prefers-color-scheme:dark){:root{--bg:#0d1220;--surface:#151b2c;--ink:#f1efea;--muted:#a3a9b7;--line:#273049;--accent:#ff6a40;--accent-ink:#ff8a66;--btn-bg:#f1efea;--btn-fg:#0d1220}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;scroll-padding-top:88px}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--bg);color:var(--ink);font:400 17px/1.6 var(--font);font-variation-settings:"wdth" 100;-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--accent);color:#0e1726}h1,h2,h3{letter-spacing:-.025em;text-wrap:balance;margin:0;font-weight:640;line-height:1.08}h2{font-size:clamp(30px,4vw,46px)}p{text-wrap:pretty;margin:0}a{color:inherit;text-underline-offset:.2em;text-decoration-thickness:1px}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}img{max-width:100%;height:auto;display:block}.wrap{width:min(1200px,100% - 32px);margin-inline:auto}.skip{background:var(--btn-bg);color:var(--btn-fg);border-radius:var(--radius);z-index:20;padding:10px 14px;position:absolute;top:-60px;left:16px}.skip:focus{top:12px}.ico{width:1em;height:1em;display:inline-flex}.ico svg{fill:currentColor;width:100%;height:100%}.btn{white-space:nowrap;background:var(--btn-bg);color:var(--btn-fg);border:1px solid var(--btn-bg);font:600 16px/1 var(--font);border-radius:var(--radius);cursor:pointer;transition:transform .2s var(--ease), background-color .2s var(--ease), box-shadow .2s var(--ease);align-items:center;gap:10px;padding:15px 22px;text-decoration:none;display:inline-flex}.btn .ico{transition:transform .26s var(--ease)}.btn:hover{box-shadow:0 6px 18px -8px color-mix(in srgb, var(--ink) 55%, transparent)}.btn:hover .ico{transform:translate(3px)}.btn:active{transform:translateY(1px)scale(.99)}.btn:disabled{opacity:.6;cursor:progress}.btn-ghost{color:var(--ink);border-color:var(--line);background:0 0}.btn-ghost:hover{border-color:var(--ink);box-shadow:none}.btn-sm{padding:11px 16px;font-size:15px}.nav{z-index:10;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(10px);border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);position:sticky;top:0}.nav-in{justify-content:space-between;align-items:center;gap:24px;height:68px;display:flex}.brand{color:var(--ink);display:block}.logo{width:auto;height:28px;display:block}.nav nav{gap:32px;margin-left:auto;font-size:15px;font-weight:500;display:flex}.nav nav a{color:var(--muted);text-decoration:none;transition:color .16s}.nav nav a:hover{color:var(--ink)}.hero{grid-template-columns:1.05fr 1fr;align-items:center;gap:56px;min-height:min(100dvh - 68px,760px);padding-block:56px 72px;display:grid}.hero h1{letter-spacing:-.035em;max-width:13ch;font-size:clamp(40px,5.6vw,72px);line-height:1.02}.lead{color:var(--muted);max-width:40ch;margin-top:24px;font-size:clamp(18px,1.6vw,21px)}.ctas{flex-wrap:wrap;gap:12px;margin-top:36px;display:flex}.hero-art{aspect-ratio:1/.86;position:relative}.shot{border-radius:var(--radius);box-shadow:0 1px 0 color-mix(in srgb, var(--ink) 8%, transparent), 0 24px 48px -24px #0e172673;outline:1px solid color-mix(in srgb, var(--ink) 10%, transparent);position:absolute}.shot-a{width:86%;top:6%;right:0}.shot-b{width:66%;bottom:0;left:0}.slab{background:var(--accent);border-radius:0 999px 999px 0;width:44%;height:6%;min-height:18px;position:absolute;top:0;left:22%}.hero-art{isolation:isolate;--mx:0;--my:0}.hero-art:before{content:"";z-index:-1;background-image:radial-gradient(color-mix(in srgb, var(--ink) 22%, transparent) 1px, transparent 1.5px);background-size:18px 18px;position:absolute;inset:-10% -6% -10% 8%;-webkit-mask:radial-gradient(closest-side,#000 30%,#0000);mask:radial-gradient(closest-side,#000 30%,#0000)}.shot,.slab{transition:translate .7s var(--ease)}.shot-a{translate:calc(var(--mx) * -18px) calc(var(--my) * -12px)}.shot-b{translate:calc(var(--mx) * 26px) calc(var(--my) * 18px)}.slab{translate:calc(var(--mx) * -34px) 0}.w{white-space:pre;display:inline-block}@media (prefers-reduced-motion:no-preference){.w{animation:rise .9s var(--ease) calc(var(--i) * 55ms) both}.hero-copy>:not(h1){animation:rise .9s var(--ease) .38s both}.hero-copy>.ctas{animation-delay:.46s}.slab{animation:slide 1s var(--ease) .12s both}.shot-a{animation:slide 1s var(--ease) .2s both}.shot-b{animation:slide 1s var(--ease) .3s both}}@keyframes rise{0%{transform:translateY(18px)}}@keyframes slide{0%{transform:translate(-28px)}}.services{padding-block:72px 96px}.svc-list{margin-top:40px}.svc{border-top:1px solid var(--line);grid-template-columns:1fr 1.6fr 1.2fr;gap:40px;padding-block:36px;display:grid}.svc h3{font-size:clamp(24px,2.4vw,32px)}.svc p{color:var(--muted);max-width:46ch}.svc ul{gap:8px;margin:0;padding:0;font-size:15px;font-weight:500;list-style:none;display:grid}.svc li{align-items:baseline;gap:12px;display:flex}.svc li:before{content:"";background:var(--accent);border-radius:0 4px 4px 0;flex:none;width:14px;height:4px;transform:translateY(-3px)}.work{background:var(--surface);border-block:1px solid var(--line);padding-block:96px}.work-grid{grid-template-columns:1.4fr 1fr;align-items:start;gap:48px;margin-top:48px;display:grid}.case-side{margin-top:120px}.case-img{border-radius:var(--radius);outline:1px solid var(--line);display:block;overflow:hidden}.case-img img{transition:transform .6s var(--ease)}.case-img:hover img{transform:scale(1.02)}.case h3{margin-top:24px;font-size:24px}.case h3 a{align-items:center;gap:8px;text-decoration:none;display:inline-flex}.case h3 a .ico{width:.8em;height:.8em;color:var(--accent-ink);transition:transform .2s var(--ease)}.case h3 a:hover .ico{transform:translate(2px,-2px)}.case p{color:var(--muted);max-width:52ch;margin-top:10px}.case .stack{color:var(--ink);margin-top:14px;font-size:14px;font-weight:600}.process{padding-block:112px}.steps{grid-template-columns:repeat(4,1fr);gap:32px;margin:48px 0 0;padding:0;list-style:none;display:grid}.bar{height:8px;width:calc(40% + var(--i) * 15%);background:var(--ink);border-radius:0 999px 999px 0;margin-bottom:28px;display:block}.steps li:first-child .bar{background:var(--accent)}.steps h3{font-size:26px}.steps p{color:var(--muted);margin-top:10px}.svc{isolation:isolate;position:relative}.svc h3{transition:translate .4s var(--ease)}@media (hover:hover){.svc:before{content:"";z-index:-1;background:color-mix(in srgb, var(--accent) 9%, transparent);transform-origin:0;transition:transform .55s var(--ease);border-radius:0 999px 999px 0;position:absolute;inset:0 -20px;transform:scaleX(0)}.svc:hover:before{transform:scaleX(1)}.svc:hover h3{translate:12px}}.statement{view-timeline:--st;padding-block:40px 120px}.statement p{letter-spacing:-.03em;text-wrap:balance;max-width:24ch;margin-inline:auto;font-size:clamp(30px,4.4vw,60px);font-weight:600;line-height:1.12}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.statement span{animation:linear both lit --st;animation-range:cover calc(12% + var(--i) * 1.5%) cover calc(16% + var(--i) * 1.5%)}@keyframes lit{0%{color:color-mix(in srgb, var(--ink) 18%, var(--bg))}}}}.flow{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-top:40px;padding:28px;box-shadow:0 30px 60px -40px #0e172666}.flow-tabs{flex-wrap:wrap;gap:8px;display:flex}.flow-tabs button{font:600 14px/1 var(--font);color:var(--muted);border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:999px;padding:10px 16px;transition:color .2s,background-color .2s,border-color .2s}.flow-tabs button:hover{color:var(--ink);border-color:var(--ink)}.flow-tabs button[aria-selected=true]{background:var(--btn-bg);border-color:var(--btn-bg);color:var(--btn-fg)}.flow-panel{--p:1;margin-top:36px;position:relative}.flow-panel ol{grid-template-columns:repeat(4,1fr);gap:16px;margin:0;padding:0;list-style:none;display:grid;position:relative}.flow-panel li{text-align:center;justify-items:center;gap:14px;display:grid}.flow-line{background:var(--line);height:2px;position:absolute;top:27px;left:12.5%;right:12.5%}.flow-fill{background:var(--accent);transform:scaleX(var(--p));transform-origin:0;transition:transform .85s var(--ease);position:absolute;inset:0}.node{background:var(--bg);border:2px solid var(--line);width:56px;height:56px;color:var(--muted);transition:background-color .4s var(--ease), border-color .4s var(--ease), color .4s, transform .5s var(--ease);border-radius:50%;place-items:center;display:grid;position:relative}.node svg{fill:currentColor;width:24px;height:24px}.label{color:var(--muted);max-width:18ch;font-size:15px;font-weight:600;transition:color .4s}.flow-panel li.on .node{background:var(--btn-bg);border-color:var(--btn-bg);color:var(--btn-fg)}.flow-panel li.on .label{color:var(--ink)}.flow-panel li.now .node{transform:scale(1.08)}.flow-panel li.now .node:after{content:"";border:2px solid var(--accent);animation:ping 1.1s var(--ease) both;border-radius:50%;position:absolute;inset:-2px}@keyframes ping{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.7)}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.case-img{animation:linear both wipe view();animation-range:entry 5% cover 35%}.case-img img{animation:linear both settle view();animation-range:entry 5% cover 45%}.bar{transform-origin:0;animation:linear both grow view();animation-range:entry 30% cover 40%}.nav{animation:linear both shade scroll();animation-range:0 140px}@keyframes wipe{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes settle{0%{scale:1.12}}@keyframes grow{0%{transform:scaleX(0)}}@keyframes shade{to{box-shadow:0 10px 30px -20px #0e172680}}}}.auto{padding-block:24px 112px}.auto .sub{color:var(--muted);max-width:60ch;margin-top:16px}.auto-grid{grid-template-columns:repeat(2,1fr);gap:56px 64px;margin-top:48px;display:grid}.auto-group h3{align-items:center;gap:12px;font-size:22px;display:flex}.auto-group h3:before{content:"";background:var(--accent);border-radius:0 999px 999px 0;width:22px;height:8px}.auto-group ul{margin:18px 0 0;padding:0;list-style:none}.auto-group li{border-top:1px solid var(--line);color:var(--muted);padding-block:14px}.auto-group li strong{color:var(--ink);font-weight:600}.faq{grid-template-columns:1fr 1.6fr;align-items:start;gap:64px;padding-block:0 112px;display:grid}details{border-top:1px solid var(--line)}details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;justify-content:space-between;gap:24px;padding-block:22px;font-size:19px;font-weight:600;list-style:none;display:flex}summary::-webkit-details-marker{display:none}.plus{flex:none;width:14px;height:14px;margin-top:6px;position:relative}.plus:before,.plus:after{content:"";height:2px;transition:transform .26s var(--ease);background:currentColor;border-radius:2px;position:absolute;inset:6px 0 auto}.plus:after{transform:rotate(90deg)}details[open] .plus:after{transform:rotate(0)}details p{color:var(--muted);max-width:60ch;padding-bottom:22px}.contact{background:var(--surface);border-top:1px solid var(--line);padding-block:104px}.contact-in{grid-template-columns:1fr 1.1fr;align-items:start;gap:72px;display:grid}.contact-copy p{color:var(--muted);max-width:42ch;margin-top:18px}.contact-copy .mail{color:var(--ink);font-weight:500}.mail a{color:var(--accent-ink)}.form{gap:20px;display:grid}.field{gap:8px;display:grid}label{font-size:15px;font-weight:600}.opt{color:var(--muted);font-weight:400}input,textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius);width:100%;padding:13px 14px;transition:border-color .16s,box-shadow .16s}textarea{resize:vertical;min-height:140px}input:hover,textarea:hover{border-color:color-mix(in srgb, var(--ink) 35%, var(--line))}input:focus,textarea:focus{border-color:var(--ink);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 35%, transparent);outline:none}[aria-invalid=true]{border-color:#c0362c}.form .btn{justify-self:start}.status{min-height:1.6em;font-size:15px;font-weight:500}.status[data-kind=error]{color:#c0362c}.status[data-kind=ok]{color:var(--ink)}@media (prefers-color-scheme:dark){[aria-invalid=true]{border-color:#ff7a6e}.status[data-kind=error]{color:#ff8e84}}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.foot{padding-block:40px}.foot-in{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;font-size:14px;display:flex}.logo-foot{height:22px;color:var(--ink)}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){.reveal{animation:linear both reveal view();animation-range:entry entry 45%}@keyframes reveal{0%{opacity:0;transform:translateY(28px)}}}}@media (width<=960px){.hero{grid-template-columns:1fr;gap:48px;min-height:0;padding-block:40px 56px}.svc{grid-template-columns:1fr;gap:14px}.work-grid,.contact-in{grid-template-columns:1fr;gap:56px}.case-side{margin-top:0}.auto-grid,.faq{grid-template-columns:1fr;gap:40px}.flow-panel ol{grid-template-columns:1fr;gap:22px}.flow-panel li{text-align:left;grid-template-columns:56px 1fr;place-items:center start}.flow-line{width:2px;height:auto;inset:28px auto 28px 27px}.flow-fill{transform:scaleY(var(--p));transform-origin:top}.steps{grid-template-columns:1fr 1fr;gap:40px 24px}}@media (width<=640px){.nav nav{display:none}.logo{height:22px}.steps{grid-template-columns:1fr}.services,.work,.process,.contact{padding-block:72px}.btn-sm{padding:10px 12px;font-size:14px}}
