@font-face{font-family:Geist;src:url(../assets/fonts/Geist-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:Geist Mono;src:url(../assets/fonts/GeistMono-Variable.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap}:root{--bg:#fff;--bg-subtle:#fafafa;--bg-muted:#f2f2f2;--bg-hover:#ebebeb;--fg:#171717;--fg-muted:#666;--fg-subtle:#737373;--rule:#ebebeb;--rule-strong:#c9c9c9;--cross:#a8a8a8;--ok:#297a3a;--ok-dot:#46a758;--wait-dot:#ffb224;--danger:#cb2a2f;--brand-a:#1e30f3;--brand-b:#e21e80;--brand:linear-gradient(100deg, var(--brand-a) 0%, var(--brand-b) 100%);--link:#1e30f3;--focus:#1e30f3;--shadow-card:0 1px 2px #0000000a;--shadow-float:0 2px 2px #0000000a, 0 8px 16px -4px #0000000f;--radius-sm:6px;--radius:12px;--radius-pill:9999px;--font-sans:"Geist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--container:1200px;--pad:clamp(20px, 4vw, 48px);--section-y:clamp(64px, 9vw, 120px);--header-h:64px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#0a0a0a;--bg-subtle:#000;--bg-muted:#1a1a1a;--bg-hover:#1f1f1f;--fg:#ededed;--fg-muted:#a1a1a1;--fg-subtle:#8f8f8f;--rule:#262626;--rule-strong:#3d3d3d;--cross:#5a5a5a;--ok:#62c073;--ok-dot:#46a758;--danger:#ff6166;--link:#8b97ff;--focus:#6f7dff;--shadow-card:0 0 0 1px #ffffff05;--shadow-float:0 8px 24px -8px #0009;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 16px)}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background:var(--bg);color:var(--fg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;font-size:16px;line-height:1.5}img,svg,video{max-width:100%;display:block}img{height:auto}a{color:inherit;text-decoration:none}p{text-wrap:pretty;margin:0}ul,ol{margin:0;padding:0;list-style:none}h1,h2,h3,h4{text-wrap:balance;margin:0;font-weight:600}button,input,select,textarea{font:inherit;color:inherit}::selection{background:#1e30f32e}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}.mono{font-family:var(--font-mono)}.tnum{font-variant-numeric:tabular-nums}.visually-hidden{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{z-index:100;background:var(--fg);color:var(--bg);border-radius:var(--radius-sm);padding:10px 14px;font-size:14px;font-weight:500;transition:top .15s;position:absolute;top:-48px;left:16px}.skip-link:focus{top:12px}.display{letter-spacing:-.055em;font-size:clamp(2.5rem,1.35rem + 4.6vw,4.5rem);line-height:1.02}.h2{letter-spacing:-.048em;font-size:clamp(2rem,1.35rem + 2.4vw,3rem);line-height:1.06}.h3{letter-spacing:-.025em;font-size:1.25rem;line-height:1.3}.h4{letter-spacing:-.01em;font-size:1rem;line-height:1.4}.lead{color:var(--fg-muted);max-width:60ch;font-size:clamp(1.0625rem,.98rem + .35vw,1.25rem);line-height:1.6}.copy{color:var(--fg-muted);line-height:1.6}.label{color:var(--fg-muted);font-size:14px;font-weight:500;line-height:20px}.small{color:var(--fg-muted);font-size:14px;line-height:20px}.text-link{color:var(--link);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.text-link:hover{text-decoration-thickness:2px}.btn{border-radius:var(--radius-pill);letter-spacing:-.01em;white-space:nowrap;cursor:pointer;border:0;justify-content:center;align-items:center;gap:8px;height:44px;padding:0 20px;font-size:15px;font-weight:500;line-height:1;transition:background-color .15s,box-shadow .15s,color .15s,filter .15s,transform .15s;display:inline-flex}.btn svg{flex:none;width:16px;height:16px}.btn-sm{height:36px;padding:0 14px;font-size:14px}.btn-brand{color:#fff;background:var(--brand);box-shadow:inset 0 1px #ffffff2e,0 1px 2px #1e30f32e}.btn-brand:hover{filter:saturate(1.15)brightness(1.06)}.btn-brand:active{transform:translateY(1px)}.btn-primary{color:var(--bg);background:var(--fg)}.btn-primary:hover{background:color-mix(in srgb, var(--fg) 86%, var(--bg))}.btn-secondary{color:var(--fg);background:var(--bg);box-shadow:inset 0 0 0 1px var(--rule-strong)}.btn-secondary:hover{background:var(--bg-muted)}.btn-ghost{color:var(--fg-muted);background:0 0}.btn-ghost:hover{color:var(--fg);background:var(--bg-muted)}.btn[disabled]{opacity:.6;cursor:progress}.site-header{z-index:50;background:var(--bg);background:color-mix(in srgb, var(--bg) 82%, transparent);-webkit-backdrop-filter:saturate(180%)blur(12px);backdrop-filter:saturate(180%)blur(12px);border-bottom:1px solid var(--rule);position:sticky;top:0}.header-inner{max-width:var(--container);height:var(--header-h);padding-inline:var(--pad);align-items:center;gap:20px;margin-inline:auto;display:flex}.brand{letter-spacing:-.03em;align-items:center;gap:10px;font-size:17px;font-weight:600;display:inline-flex}.brand svg{width:26px;height:26px}.nav{gap:2px;margin-left:12px;display:flex}.nav a{border-radius:var(--radius-pill);color:var(--fg-muted);padding:6px 12px;font-size:14px;transition:color .15s,background-color .15s}.nav a:hover{color:var(--fg);background:var(--bg-muted)}.nav a[aria-current=page]{color:var(--fg)}.header-actions{align-items:center;gap:8px;margin-left:auto;display:flex}.header-phone{color:var(--fg-muted);border-radius:var(--radius-pill);padding:6px 10px;font-size:14px}.header-phone:hover{color:var(--fg);background:var(--bg-muted)}.menu-toggle{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:40px;height:40px;margin-right:-8px;display:none}.menu-toggle svg{width:22px;height:22px}.menu-toggle .icon-close,.menu-toggle[aria-expanded=true] .icon-open{display:none}.menu-toggle[aria-expanded=true] .icon-close{display:block}.mobile-menu{display:none}@media (width<=960px){.nav,.header-phone,.header-actions .btn{display:none}.menu-toggle{margin-left:auto;display:inline-flex}.mobile-menu{top:var(--header-h);z-index:49;height:calc(100vh - var(--header-h));height:calc(100dvh - var(--header-h));background:var(--bg);overscroll-behavior:contain;padding:12px var(--pad) 32px;display:block;position:fixed;left:0;right:0;overflow-y:auto}.mobile-menu[hidden]{display:none}@media (prefers-reduced-motion:no-preference){.mobile-menu:not([hidden]){animation:.18s ease-out both menu-in}}@keyframes menu-in{0%{opacity:0;transform:translateY(-6px)}}.mobile-menu a:not(.btn){letter-spacing:-.02em;border-bottom:1px solid var(--rule);padding:14px 0;font-size:17px;font-weight:500;display:block}.mobile-menu .btn{width:100%;height:48px;margin-top:20px}.mobile-menu .mobile-contact{gap:4px;margin-top:16px;display:grid}}.frame{max-width:var(--container);border-inline:1px solid var(--rule);margin-inline:auto}.section{padding:var(--section-y) var(--pad);border-top:1px solid var(--rule);position:relative}.section:first-child{border-top:0}.section.tight{padding-block:clamp(40px,6vw,64px)}.section.flush{padding:0}.cross-tl,.cross-tr,.section.crossed:before,.section.crossed:after{content:"";pointer-events:none;background:linear-gradient(var(--cross), var(--cross)) center / 1px 100% no-repeat, linear-gradient(var(--cross), var(--cross)) center / 100% 1px no-repeat;width:21px;height:21px;position:absolute}.section.crossed:before{top:-11px;left:-11px}.section.crossed:after{top:-11px;right:-11px}.cross-tl{top:-11px;left:-11px}.cross-tr{top:-11px;right:-11px}@media (width<=720px){.frame{border-inline:0}.section.crossed:before,.section.crossed:after{display:none}}.section-head{gap:16px;max-width:720px;margin-bottom:clamp(40px,5vw,64px);display:grid}.section-head.center{text-align:center;justify-items:center;margin-inline:auto}.section-head .lead{max-width:58ch}.hero{padding-top:clamp(56px,8vw,104px);padding-bottom:clamp(56px,8vw,96px);overflow:hidden}.hero-grid{grid-template-columns:1fr;align-items:center;gap:clamp(48px,6vw,72px);display:grid}@media (width>=1024px){.hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,1fr)}}.hero-copy{gap:24px;display:grid}.hero-copy .lead{max-width:52ch}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}.hero-facts{border-top:1px solid var(--rule);grid-template-columns:repeat(3,minmax(0,max-content));gap:0;margin-top:16px;padding-top:20px;display:grid}.hero-facts li{border-left:1px solid var(--rule);align-content:start;gap:2px;padding-inline:24px;display:grid}.hero-facts li:first-child{border-left:0;padding-left:0}.hero-facts strong{letter-spacing:-.03em;white-space:nowrap;font-size:18px;font-weight:600}.hero-facts span{color:var(--fg-muted);font-size:13px;line-height:18px}@media (width<=520px){.hero-facts li{padding-inline:14px}.hero-facts strong{font-size:16px}}.build{position:relative}.build-window{width:100%;height:auto;overflow:visible}.build-window .w-frame{fill:var(--bg);stroke:var(--rule-strong)}.build-window .w-bar{fill:var(--bg-subtle)}.build-window .w-rule{stroke:var(--rule)}.build-window .w-dot{fill:var(--rule-strong)}.build-window .w-url{fill:var(--bg-muted)}.build-window .w-url-text{fill:var(--fg-subtle);font-family:var(--font-mono);font-size:10.5px}.build-window .ink{fill:var(--fg)}.build-window .ink-2{fill:var(--rule-strong)}.build-window .ink-3{fill:var(--bg-hover)}.build-window .card{fill:var(--bg-subtle);stroke:var(--rule)}.build-window .outline{fill:none;stroke:var(--rule-strong)}.build-window .cursor{fill:var(--fg);stroke:var(--bg);stroke-width:1.5px}.build-window .ripple{fill:none;stroke:var(--brand-b);stroke-width:1.5px;opacity:0}.build-window .sun{fill:#fff;opacity:.9}.build-window .hill{fill:#fff;opacity:.55}.build-window .hill-2{fill:#fff;opacity:.8}.build-status{color:var(--fg-muted);justify-content:space-between;align-items:center;gap:12px;margin-top:14px;font-size:13px;display:flex}.build-status .mono{font-size:12px}.status{display:inline-grid;position:relative}.status>span{white-space:nowrap;grid-area:1/1;justify-self:end;align-items:center;gap:8px;display:inline-flex}.status i{border-radius:50%;width:8px;height:8px;display:inline-block}.status .s-wait i{background:var(--wait-dot)}.status .s-live i{background:var(--ok-dot);box-shadow:0 0 0 3px color-mix(in srgb, var(--ok-dot) 22%, transparent)}.status .s-wait{opacity:0}@media (prefers-reduced-motion:no-preference){.build .grow{transform-box:fill-box;transform-origin:0;animation:.7s cubic-bezier(.16,1,.3,1) both grow}.build .fade{animation:.6s ease-out both fade}.build .pop{transform-box:fill-box;transform-origin:50%;animation:.5s cubic-bezier(.34,1.56,.64,1) both pop}.build .rise{animation:.7s cubic-bezier(.16,1,.3,1) both rise}.build .cursor-g{animation:1.1s cubic-bezier(.65,0,.35,1) 2.7s both cursor}.build .ripple{transform-box:fill-box;transform-origin:50%;animation:.7s ease-out 3.8s both ripple}.build .press{transform-box:fill-box;transform-origin:50%;animation:.25s ease-in-out 3.75s both press}.status .s-wait{opacity:1;animation:.3s 3.9s both status-out}.status .s-live{animation:.4s 3.95s both status-in}.d1{animation-delay:.15s!important}.d2{animation-delay:.25s!important}.d3{animation-delay:.35s!important}.d4{animation-delay:.6s!important}.d5{animation-delay:.75s!important}.d6{animation-delay:1.05s!important}.d7{animation-delay:1.15s!important}.d8{animation-delay:1.4s!important}.d9{animation-delay:1.5s!important}.d10{animation-delay:1.6s!important}.d11{animation-delay:1.95s!important}.d12{animation-delay:2.08s!important}.d13{animation-delay:2.21s!important}}@keyframes grow{0%{transform:scaleX(0)}}@keyframes fade{0%{opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.85)}}@keyframes rise{0%{opacity:0;transform:translateY(10px)}}@keyframes cursor{0%{opacity:0;transform:translate(150px,120px)}15%{opacity:1}}@keyframes ripple{0%{opacity:.9;transform:scale(.6)}to{opacity:0;transform:scale(2.4)}}@keyframes press{50%{transform:scale(.94)}}@keyframes status-out{to{opacity:0}}@keyframes status-in{0%{opacity:0;transform:translateY(4px)}}.clients{gap:20px;display:grid}.clients-list{flex-wrap:wrap;align-items:center;gap:12px 40px;display:flex}.clients-list[aria-hidden=true]{display:none}@media (prefers-reduced-motion:no-preference){.marquee{margin-top:4px;display:flex;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000);mask-image:linear-gradient(90deg,#0000,#000 8% 92%,#0000)}.marquee .clients-list,.marquee .clients-list[aria-hidden=true]{flex-wrap:nowrap;flex:none;gap:56px;padding-right:56px;animation:32s linear infinite marquee;display:flex}.marquee:hover .clients-list{animation-play-state:paused}}@keyframes marquee{to{transform:translate(-100%)}}.clients-list li{letter-spacing:-.04em;color:var(--fg-subtle);white-space:nowrap;font-size:19px;font-weight:600}.cells{background:var(--rule);border-block:1px solid var(--rule);margin-inline:calc(var(--pad) * -1);grid-template-columns:1fr;gap:1px;display:grid}.section>.cells:last-child{margin-bottom:calc(var(--section-y) * -1);border-bottom:0}.cell{background:var(--bg);padding:clamp(28px, 3.5vw, 40px) var(--pad);align-content:start;gap:14px;display:grid}@media (width>=720px){.cells.cols-2,.cells.cols-3,.cells.cols-4{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.cells.cols-3{grid-template-columns:repeat(3,1fr)}.cells.cols-4{grid-template-columns:repeat(4,1fr)}.cell{padding-inline:clamp(28px,3vw,40px)}}.icon-box{background:var(--bg-subtle);width:44px;height:44px;box-shadow:inset 0 0 0 1px var(--rule);color:var(--fg);border-radius:11px;place-items:center;display:grid}.icon-box svg{width:22px;height:22px}.cell .copy{font-size:15px}.ticks{gap:8px;margin-top:4px;display:grid}.ticks li{color:var(--fg-muted);align-items:baseline;gap:10px;font-size:14px;display:flex}.ticks li:before{content:"";width:14px;height:14px;color:var(--fg);background:currentColor;flex:none;transform:translateY(2px);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 50%/contain no-repeat}.steps{grid-template-columns:1fr;gap:0;display:grid;position:relative}@media (width>=1024px){.steps{grid-template-columns:repeat(4,1fr);gap:32px}}.step{align-content:start;gap:12px;display:grid;position:relative}.step-num{font-family:var(--font-mono);color:var(--fg-subtle);font-size:13px}.step .copy{font-size:15px}.step-node{align-items:center;height:22px;display:flex;position:relative}.step-node:before{content:"";background:var(--bg);width:11px;height:11px;box-shadow:inset 0 0 0 2px var(--fg);z-index:1;border-radius:50%;position:relative}@media (width<=1023px){.step{gap:8px;padding:0 0 36px 36px}.step:last-child{padding-bottom:0}.step-node{position:absolute;top:0;left:0}.step:before{content:"";background:var(--rule-strong);width:1px;position:absolute;top:22px;bottom:0;left:5px}.step:last-child:before{display:none}}.steps-line{background:var(--rule-strong);height:1px;display:none;position:absolute;top:10px;left:0;right:0;overflow:hidden}@media (width>=1024px){.steps-line{display:block}}.steps-line i{background:linear-gradient(90deg, transparent, var(--brand-a) 55%, var(--brand-b));opacity:0;border-radius:2px;width:72px;height:3px;position:absolute;top:-1px;left:0}@media (prefers-reduced-motion:no-preference){.steps-line i{animation:7s cubic-bezier(.45,0,.55,1) 1s infinite travel}}@keyframes travel{0%{opacity:0;transform:translate(-80px)}4%{opacity:1}38%{opacity:1}42%{opacity:0;transform:translate(100vw)}to{opacity:0;transform:translate(100vw)}}.projects{grid-template-columns:1fr;gap:20px;display:grid}@media (width>=720px){.projects{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.projects.three{grid-template-columns:repeat(3,1fr)}}.project{background:var(--bg);border-radius:var(--radius);box-shadow:0 0 0 1px var(--rule), var(--shadow-card);flex-direction:column;transition:box-shadow .2s;display:flex;position:relative;overflow:hidden}.project:hover{box-shadow:0 0 0 1px var(--rule-strong), var(--shadow-float)}.project-media{aspect-ratio:16/9;background:var(--bg-muted);border-bottom:1px solid var(--rule);overflow:hidden}.project-media img{object-fit:cover;object-position:top center;width:100%;height:100%}.project-body{gap:8px;padding:20px 22px 22px;display:grid}.project-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.project-top .h4{letter-spacing:-.025em;font-size:17px}.project-meta{color:var(--fg-muted);font-size:14px}.project .copy{font-size:15px}.project-link{font-family:var(--font-mono);color:var(--fg);align-items:center;gap:6px;margin-top:6px;font-size:13px;display:inline-flex}.project-link svg{width:13px;height:13px;color:var(--fg-subtle);transition:transform .15s}.project-link:after{content:"";position:absolute;inset:0}.project-link:hover svg{transform:translate(2px,-2px)}.project-archived{font-family:var(--font-mono);color:var(--fg-subtle);margin-top:6px;font-size:13px}.dot-label{color:var(--fg-muted);white-space:nowrap;align-items:center;gap:6px;font-size:13px;display:inline-flex}.dot-label i{background:var(--ok-dot);border-radius:50%;width:7px;height:7px}.dot-label.off i{background:var(--rule-strong)}.section-foot{justify-content:center;margin-top:40px;display:flex}.filters{border-radius:var(--radius-pill);background:var(--bg-muted);flex-wrap:wrap;gap:2px;margin-bottom:32px;padding:3px;display:inline-flex}.filters button{cursor:pointer;border-radius:var(--radius-pill);color:var(--fg-muted);background:0 0;border:0;padding:7px 14px;font-size:14px;font-weight:500;transition:color .15s,background-color .15s,box-shadow .15s}.filters button:hover{color:var(--fg)}.filters button[aria-pressed=true]{color:var(--fg);background:var(--bg);box-shadow:0 0 0 1px var(--rule), var(--shadow-card)}.filters .count{font-family:var(--font-mono);color:var(--fg-subtle);margin-left:4px;font-size:12px}@media (width<=480px){.filters{scrollbar-width:none;flex-wrap:nowrap;max-width:100%;overflow-x:auto}.filters::-webkit-scrollbar{display:none}.filters button{white-space:nowrap}.filters .long{display:none}}@media (width<=360px){.filters button{padding:7px 9px;font-size:13px}.filters .count{margin-left:3px}}.split{grid-template-columns:1fr;align-items:start;gap:clamp(40px,6vw,80px);display:grid}@media (width>=1024px){.split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.split-copy{gap:20px;display:grid}.benefits{grid-template-columns:1fr;gap:28px 32px;margin-top:16px;display:grid}@media (width>=560px){.benefits{grid-template-columns:repeat(2,1fr)}}.benefit{align-content:start;gap:8px;display:grid}.benefit svg{width:20px;height:20px;margin-bottom:4px}.benefit .copy{font-size:15px}.panel{background:var(--bg-subtle);border-radius:var(--radius);box-shadow:0 0 0 1px var(--rule);gap:20px;padding:clamp(24px,3vw,36px);display:grid}.panel-head{gap:6px;display:grid}.checklist{gap:0;display:grid}.checklist li{border-top:1px solid var(--rule);grid-template-columns:22px 1fr;align-items:start;gap:12px;padding:14px 0;display:grid}.checklist li:first-child{border-top:0;padding-top:4px}.checklist .check{color:#fff;background:var(--brand);border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.checklist .check svg{width:12px;height:12px}.checklist strong{letter-spacing:-.01em;font-size:15px;font-weight:500;display:block}.checklist span{color:var(--fg-muted);font-size:14px;display:block}.about-media{align-self:stretch}.gallery{top:calc(var(--header-h) + 32px);grid-template-columns:1fr 1fr;gap:12px;margin:0;display:grid;position:sticky}.gallery img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);width:100%;box-shadow:0 0 0 1px var(--rule);background:var(--bg-muted)}.gallery img:first-child{aspect-ratio:16/10;grid-column:1/-1}.values{border-top:1px solid var(--rule);gap:0;margin-top:8px;display:grid}.values li{border-bottom:1px solid var(--rule);grid-template-columns:40px 1fr;align-items:start;gap:16px;padding:18px 0;display:grid}.values .icon-box{border-radius:9px;width:36px;height:36px}.values .icon-box svg{width:18px;height:18px}.values strong{letter-spacing:-.01em;font-weight:500;display:block}.values span{color:var(--fg-muted);font-size:14px;display:block}.toolkit{gap:10px;margin-top:8px;display:grid}.toolkit div{grid-template-columns:110px 1fr;gap:16px;font-size:14px;display:grid}.toolkit dt{color:var(--fg-subtle);font-family:var(--font-mono);padding-top:1px;font-size:12.5px}.toolkit dd{color:var(--fg);margin:0}@media (width<=480px){.toolkit div{grid-template-columns:1fr;gap:2px}}.faq{border-top:1px solid var(--rule);max-width:820px;margin-inline:auto}.faq details{border-bottom:1px solid var(--rule)}.faq summary{cursor:pointer;letter-spacing:-.02em;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;font-size:17px;font-weight:500;list-style:none;display:flex}.faq summary::-webkit-details-marker{display:none}.faq summary svg{width:18px;height:18px;color:var(--fg-muted);flex:none;transition:transform .2s}.faq details[open] summary svg{transform:rotate(45deg)}.faq summary:hover svg{color:var(--fg)}.faq .answer{color:var(--fg-muted);max-width:70ch;padding:0 48px 24px 0;line-height:1.65}.band{--band-fg:#ededed;--band-muted:#a1a1a1;--band-rule:#ffffff2e;isolation:isolate;color:var(--band-fg);background:#0a0a0a;position:relative;overflow:hidden}.band:before,.band:after{content:"";z-index:-1;pointer-events:none;position:absolute;inset:0}.band:before{background:radial-gradient(45% 95% at 100% 100%,#e21e8042,#0000 70%),radial-gradient(40% 85% at 78% 0,#1e30f33d,#0000 70%)}.band:after{background-image:linear-gradient(#ffffff12 1px,#0000 1px),linear-gradient(90deg,#ffffff12 1px,#0000 1px);background-position:-1px -1px;background-size:48px 48px;-webkit-mask-image:radial-gradient(55% 110% at 100%,#000,#0000 80%);mask-image:radial-gradient(55% 110% at 100%,#000,#0000 80%)}.band .lead{color:var(--band-muted)}.band-inner{grid-template-columns:1fr;align-items:end;gap:32px;display:grid}@media (width>=900px){.band-inner{grid-template-columns:minmax(0,1.3fr) auto}}.band-copy{gap:16px;display:grid}.band-actions{flex-wrap:wrap;gap:12px;display:flex}.band .btn-secondary{color:var(--band-fg);box-shadow:inset 0 0 0 1px var(--band-rule);background:#0a0a0a66}.band .btn-secondary:hover{background:#ffffff14}.band-contact{color:var(--band-muted);flex-wrap:wrap;gap:8px 24px;margin-top:8px;font-size:14px;display:flex}.band-contact a:hover{color:var(--band-fg)}@media (prefers-color-scheme:dark){.band{background:#000}}.page-head{gap:20px;padding-top:clamp(56px,8vw,96px);padding-bottom:clamp(40px,6vw,64px);display:grid}.crumbs{color:var(--fg-subtle);gap:8px;font-size:14px;display:flex}.crumbs a:hover{color:var(--fg)}.contact-grid{grid-template-columns:1fr;align-items:start;gap:clamp(40px,6vw,72px);display:grid}@media (width>=1024px){.contact-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}}.contact-ways{border-top:1px solid var(--rule);gap:0;margin-top:8px;display:grid}.contact-ways li{border-bottom:1px solid var(--rule)}.contact-ways>li>a,.contact-ways .row{grid-template-columns:40px 1fr auto;align-items:center;gap:16px;padding:18px 0;display:grid}.contact-ways .icon-box{border-radius:10px;width:40px;height:40px}.contact-ways .icon-box svg{width:18px;height:18px}.contact-ways strong{letter-spacing:-.01em;font-weight:500;display:block}.contact-ways strong+span{color:var(--fg-muted);font-size:14px;display:block}.contact-ways .go{width:16px;height:16px;color:var(--fg-subtle);transition:transform .15s,color .15s}.contact-ways>li>a:hover .go{color:var(--fg);transform:translate(2px)}.contact-ways strong a{color:inherit}.contact-ways strong a:hover{text-underline-offset:3px;text-decoration:underline}.form-card{background:var(--bg);border-radius:var(--radius);box-shadow:0 0 0 1px var(--rule), var(--shadow-float);padding:clamp(24px,3.5vw,40px)}.form{gap:18px;display:grid}.form-row{grid-template-columns:1fr;gap:18px;display:grid}@media (width>=640px){.form-row{grid-template-columns:1fr 1fr}}.field{gap:8px;display:grid}.field label{font-size:14px;font-weight:500}.field .opt{color:var(--fg-subtle);font-weight:400}.input{background:var(--bg);width:100%;height:42px;color:var(--fg);border-radius:var(--radius-sm);box-shadow:inset 0 0 0 1px var(--rule-strong);border:0;padding:0 12px;font-size:15px;transition:box-shadow .15s}textarea.input{resize:vertical;height:auto;min-height:150px;padding:10px 12px;line-height:1.5}select.input{appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4 6l4 4 4-4' fill='none' stroke='%238f8f8f' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:36px}.input::placeholder{color:var(--fg-subtle)}.input:hover{box-shadow:inset 0 0 0 1px var(--fg-subtle)}.input:focus{box-shadow:inset 0 0 0 1px var(--fg), 0 0 0 4px color-mix(in srgb, var(--focus) 18%, transparent);outline:none}.field.invalid .input{box-shadow:inset 0 0 0 1px var(--danger)}.field .error{color:var(--danger);font-size:13px;display:none}.field.invalid .error{display:block}.hp{width:1px;height:1px;overflow:hidden;position:absolute!important;left:-9999px!important}.form-foot{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-top:4px;display:flex}.form-note{color:var(--fg-muted);max-width:42ch;font-size:13px}.form-status{border-radius:var(--radius-sm);padding:14px 16px;font-size:14px;line-height:1.5;display:none}.form-status.ok{background:color-mix(in srgb, var(--ok-dot) 12%, var(--bg));color:var(--ok);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--ok-dot) 35%, transparent);display:block}.form-status.err{background:color-mix(in srgb, var(--danger) 8%, var(--bg));color:var(--danger);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--danger) 30%, transparent);display:block}.prose{max-width:72ch;color:var(--fg-muted);gap:18px;line-height:1.7;display:grid}.prose h2{color:var(--fg);letter-spacing:-.025em;margin-top:20px;font-size:1.25rem}.prose ul{gap:8px;padding-left:20px;list-style:outside;display:grid}.prose strong{color:var(--fg);font-weight:500}.prose a{color:var(--link);text-underline-offset:3px;text-decoration:underline}.updated{font-family:var(--font-mono);color:var(--fg-subtle);font-size:13px}.site-footer{border-top:1px solid var(--rule)}.footer-grid{padding:clamp(48px, 6vw, 72px) var(--pad);grid-template-columns:1fr;gap:40px;display:grid}@media (width>=720px){.footer-grid{grid-template-columns:repeat(3,1fr)}.footer-brand{grid-column:1/-1}}@media (width>=1100px){.footer-grid{grid-template-columns:1.5fr 1fr 1fr 1.1fr 1.1fr}.footer-brand{grid-column:auto}}.footer-brand{align-content:start;gap:14px;display:grid}.footer-brand p{color:var(--fg-muted);max-width:32ch;font-size:14px}.footer-col{align-content:start;gap:12px;font-size:14px;display:grid}.footer-col h2{color:var(--fg);letter-spacing:0;font-size:13px;font-weight:500}.footer-col a,.footer-col p,.footer-col button{color:var(--fg-muted)}.footer-col a:hover,.footer-col button:hover{color:var(--fg)}.footer-bottom{padding:20px var(--pad);border-top:1px solid var(--rule);color:var(--fg-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 24px;font-size:13px;display:flex}.footer-bottom nav{flex-wrap:wrap;gap:8px 20px;display:flex}.footer-bottom a:hover,.footer-bottom button:hover{color:var(--fg)}.link-button{cursor:pointer;font:inherit;color:inherit;background:0 0;border:0;padding:0}.status-line{align-items:center;gap:8px;display:inline-flex}.status-line i{background:var(--ok-dot);border-radius:50%;width:8px;height:8px}.consent{z-index:60;left:max(16px, env(safe-area-inset-left,0px));bottom:max(16px, env(safe-area-inset-bottom,0px));background:var(--bg);width:min(420px,100vw - 32px);color:var(--fg);border-radius:var(--radius);box-shadow:0 0 0 1px var(--rule), var(--shadow-float);gap:14px;padding:20px;display:grid;position:fixed}.consent[hidden]{display:none}.consent p{color:var(--fg-muted);font-size:14px;line-height:1.55}.consent p strong{color:var(--fg);font-weight:500}.consent-actions{justify-content:flex-end;gap:8px;display:flex}@media (prefers-reduced-motion:no-preference){.consent:not([hidden]){animation:.35s cubic-bezier(.16,1,.3,1) both rise}}@media print{.site-header,.consent,.band,.site-footer{display:none}.frame{border:0}}.grad{background:var(--brand);color:#0000;-webkit-box-decoration-break:clone;box-decoration-break:clone;-webkit-background-clip:text;background-clip:text;padding-bottom:.06em}.service{isolation:isolate;position:relative}.service-art{margin-bottom:6px}.vignette{border-radius:10px;width:100%;height:auto;display:block}.vignette .v-frame{fill:var(--bg-subtle);stroke:var(--rule)}.vignette .v-dot{fill:var(--rule-strong)}.vignette .v-rule{stroke:var(--rule);fill:none}.vignette .v-rule-c{stroke:var(--bg-hover)}.vignette .v-ink{fill:var(--fg)}.vignette .v-ink2{fill:var(--rule-strong)}.vignette .v-ink-stroke{stroke:var(--fg)}.vignette .v-card{fill:var(--bg);stroke:var(--rule)}.vignette .v-bg{fill:var(--bg)}.vignette .v-mono{font-family:var(--font-mono);fill:var(--fg);font-size:9px}.vignette .v-mono.s{fill:var(--fg-subtle);font-size:8px}.vignette .v-type{font-family:var(--font-sans,Geist), sans-serif;letter-spacing:-.05em;fill:var(--fg);font-size:30px;font-weight:600}.vignette .badge text{font-family:var(--font-mono);fill:#fff;font-size:7.5px}.vignette .bar.ok{fill:var(--ok-dot);opacity:.35}.vignette .ring{stroke-dasharray:100;stroke-dashoffset:0;transform-origin:50%;transform:rotate(-90deg)}.vignette .drop{opacity:0}.vignette .tick{stroke-dasharray:100;stroke-dashoffset:0}.vignette .badge .b1{opacity:0}.vignette g,.vignette rect,.vignette path,.vignette circle{transform-box:fill-box}.service:before{content:"";z-index:-1;opacity:0;background:radial-gradient(260px circle at var(--mx,50%) var(--my,30%), color-mix(in srgb, var(--brand-b) 9%, transparent), color-mix(in srgb, var(--brand-a) 5%, transparent) 40%, transparent 70%);transition:opacity .3s;position:absolute;inset:0}.service:hover:before{opacity:1}.more{margin-top:2px}.more summary{cursor:pointer;color:var(--fg);align-items:center;gap:6px;padding:4px 0;font-size:14px;font-weight:500;list-style:none;display:inline-flex}.more summary::-webkit-details-marker{display:none}.more summary svg{width:14px;height:14px;color:var(--fg-muted);transition:transform .2s}.more[open] summary svg{transform:rotate(45deg)}.more p{color:var(--fg-muted);margin:6px 0 0;font-size:14px;line-height:1.6}.more[open] p{animation:.25s ease-out more-in}@keyframes more-in{0%{opacity:0;transform:translateY(-4px)}}.step-tag{font-family:var(--font-mono);color:var(--fg-muted);border-radius:var(--radius-pill);box-shadow:inset 0 0 0 1px var(--rule);background:var(--bg-subtle);justify-self:start;margin-top:4px;padding:3px 9px;font-size:12px}@media (prefers-reduced-motion:no-preference){.vignette .va{animation-duration:7s;animation-iteration-count:infinite;animation-delay:calc(var(--d,0) * .35s);animation-play-state:paused;animation-fill-mode:both}.in .vignette .va,.service:hover .vignette .va{animation-play-state:running}.vignette .build{animation-name:v-build}.vignette .cursor{animation-name:v-cursor;animation-delay:0s}.vignette .drop{animation-name:v-drop;animation-delay:0s}.vignette .badge{transform-origin:50%;animation-name:v-badge;animation-delay:0s}.vignette .badge .b1{opacity:1;animation:7s infinite both v-b1;animation-play-state:inherit}.vignette .badge .b2{animation:7s infinite both v-b2;animation-play-state:inherit}.vignette .typing{animation-name:v-type;animation-timing-function:steps(15,end);animation-delay:0s}.vignette .rise{animation-name:v-rise;animation-delay:0s}.vignette .r1,.vignette .r2{animation-name:v-down;animation-delay:0s}.vignette .ring{animation-name:v-ring;animation-delay:0s}.vignette .tick{animation-name:v-tick;animation-delay:0s}.vignette .bar{animation-name:v-bar;animation-duration:2.4s;animation-delay:calc(var(--d,0) * .2s)}.vignette .fill{transform-origin:0;animation-name:v-fill;animation-delay:0s}.vignette .draw{stroke-dasharray:100;animation-name:v-draw}.vignette .pop{animation-name:v-pop;animation-delay:calc(2s + var(--d,0) * .2s);transform-origin:50%}.vignette .wave{animation-name:v-wave;animation-duration:2.1s;animation-delay:calc(var(--d,0) * .25s);transform-origin:0}.vignette .grow{transform-origin:bottom;animation-name:v-grow;animation-delay:calc(var(--d,0) * .25s)}.vignette .line{stroke-dasharray:100;animation-name:v-draw;animation-delay:1.4s}}@keyframes v-build{0%{opacity:0;transform:translateY(5px)}8%,86%{opacity:1;transform:none}95%,to{opacity:0}}@keyframes v-cursor{0%,22%{opacity:0;transform:translate(60px,10px)}30%{opacity:1}42%{transform:none}46%{transform:scale(.85)}50%,86%{opacity:1;transform:none}95%,to{opacity:0}}@keyframes v-drop{0%,15%{opacity:0;transform:none}20%{opacity:1;transform:none}42%{opacity:1;transform:translate(118px,-22px)scale(.5)}46%,to{opacity:0;transform:translate(118px,-22px)scale(.3)}}@keyframes v-badge{0%,42%{transform:none}46%{transform:scale(1.35)}52%,to{transform:none}}@keyframes v-b1{0%,44%{opacity:1}46%,92%{opacity:0}96%,to{opacity:1}}@keyframes v-b2{0%,44%{opacity:0}46%,92%{opacity:1}96%,to{opacity:0}}@keyframes v-type{0%{transform:translate(0)}30%,88%{transform:translate(90px)}96%,to{transform:translate(0)}}@keyframes v-rise{0%,35%{transform:none}50%,88%{transform:translateY(-40px)}98%,to{transform:none}}@keyframes v-down{0%,35%{transform:none}50%,88%{transform:translateY(20px)}98%,to{transform:none}}@keyframes v-ring{0%{stroke-dashoffset:100px}45%,88%{stroke-dashoffset:0}98%,to{stroke-dashoffset:100px}}@keyframes v-tick{0%,45%{stroke-dashoffset:100px}55%,88%{stroke-dashoffset:0}96%,to{stroke-dashoffset:100px}}@keyframes v-bar{0%,to{opacity:.35}20%{opacity:1}45%{opacity:.35}}@keyframes v-fill{0%{transform:scaleX(0)}60%,88%{transform:scaleX(1)}98%,to{transform:scaleX(0)}}@keyframes v-draw{0%{stroke-dashoffset:100px}25%,86%{stroke-dashoffset:0}96%,to{stroke-dashoffset:100px}}@keyframes v-pop{0%{opacity:0;transform:scale(.3)}6%,60%{opacity:1;transform:none}70%,to{opacity:0;transform:scale(.6)}}@keyframes v-wave{0%{opacity:0;transform:translate(-4px)}30%{opacity:1}70%,to{opacity:0;transform:translate(6px)}}@keyframes v-grow{0%{transform:scaleY(.15)}25%,86%{transform:scaleY(1)}96%,to{transform:scaleY(.15)}}@media (prefers-reduced-motion:no-preference){.js .reveal{opacity:0;transition:opacity .6s,transform .6s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 70ms);transform:translateY(14px)}.js .reveal.in{opacity:1;transform:none}}.benefit svg{transition:transform .25s cubic-bezier(.3,1.6,.5,1),color .2s}.benefit:hover svg{color:var(--brand-b);transform:translateY(-2px)scale(1.12)}.project-media img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}.project:hover .project-media img{transform:scale(1.035)}.quiz{grid-template-columns:1fr;align-items:center;gap:clamp(32px,5vw,64px);display:grid}@media (width>=960px){.quiz{grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr)}}.quiz-copy{gap:16px;display:grid}.checks{gap:8px;margin-top:8px;display:grid}.checks label{cursor:pointer;box-shadow:inset 0 0 0 1px var(--rule);background:var(--bg);border-radius:10px;align-items:center;gap:12px;padding:12px 14px;font-size:15px;transition:box-shadow .2s,background-color .2s;display:flex}.checks label:hover{background:var(--bg-subtle)}.checks input{opacity:0;width:1px;height:1px;position:absolute}.checks .box{width:20px;height:20px;box-shadow:inset 0 0 0 1.5px var(--rule-strong);color:#fff;border-radius:6px;flex:none;place-items:center;transition:background .2s,box-shadow .2s;display:grid}.checks .box svg{opacity:0;width:13px;height:13px;transition:opacity .2s,transform .25s cubic-bezier(.3,1.6,.5,1);transform:scale(.5)}.checks input:checked+.box{background:var(--brand);box-shadow:none}.checks input:checked+.box svg{opacity:1;transform:none}.checks input:checked~span:last-child{color:var(--fg)}.checks label:has(input:checked){box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--brand-a) 40%, var(--rule))}.checks input:focus-visible+.box{outline:2px solid var(--focus);outline-offset:2px}.quiz-result{text-align:center;background:var(--bg-subtle);box-shadow:inset 0 0 0 1px var(--rule);border-radius:16px;justify-items:center;gap:12px;padding:clamp(28px,4vw,40px);display:grid}.gauge{width:160px;height:160px}.gauge circle{fill:none;stroke-width:9px}.gauge-track{stroke:var(--bg-hover)}.gauge-fill{stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100px;transition:stroke-dashoffset .8s cubic-bezier(.2,.7,.2,1)}.score{letter-spacing:-.05em;margin:-112px 0 64px;font-size:40px;font-weight:600}.score .of{color:var(--fg-subtle);letter-spacing:0;margin-left:4px;font-size:16px}.verdict{max-width:30ch;min-height:3em;color:var(--fg-muted);margin:0;font-size:15px}[data-count]{font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:no-preference){.band:before{animation:9s ease-in-out infinite alternate band-glow}}@keyframes band-glow{0%{opacity:.7;transform:scale(1)}to{opacity:1;transform:scale(1.08)}}.page-head{position:relative}.head-art{display:none}@media (width>=960px){.head-art{right:var(--pad);pointer-events:none;width:clamp(240px,26vw,340px);display:block;position:absolute;top:50%;transform:translateY(-46%)}.page-head>:not(.head-art){max-width:min(640px,62%)}}.ripples{width:100%;height:auto;display:block;overflow:visible}.ripples .rp-guides circle{fill:none;stroke:var(--rule);stroke-dasharray:2 5}.ripples .rp-ring{fill:none;stroke:url(#rp-g);stroke-width:1.5px;opacity:0;transform-box:fill-box;transform-origin:50%}.ripples .rp-arcs{transform-box:view-box;transform-origin:200px 200px;opacity:.9}.ripples .rp-drop{fill:url(#rp-g);opacity:0}@media (prefers-reduced-motion:no-preference){.ripples .rp-ring{animation:6s cubic-bezier(.2,.6,.3,1) infinite rp-ring;animation-delay:calc(var(--d) * 2s)}.ripples .rp-arcs{animation:24s linear infinite rp-spin}.ripples .rp-drop{animation:6s cubic-bezier(.5,0,.9,.4) infinite rp-drop}.ripples .rp-core{transform-box:fill-box;transform-origin:50%;animation:6s ease-out infinite rp-core}}@media (prefers-reduced-motion:reduce){.ripples .rp-ring{opacity:.35}.ripples .rp-ring[style*=--d\:1]{transform:scale(.66)}.ripples .rp-ring[style*=--d\:2]{transform:scale(.33)}}@keyframes rp-ring{0%{opacity:0;transform:scale(.08)}8%{opacity:.9}to{opacity:0;transform:scale(1)}}@keyframes rp-spin{to{transform:rotate(360deg)}}@keyframes rp-drop{0%{opacity:0;transform:translateY(-150px)}10%{opacity:1}30%{opacity:1;transform:none}32%,to{opacity:0;transform:none}}@keyframes rp-core{0%,29%{transform:none}34%{transform:scale(1.3)}45%,to{transform:none}}.icon-box.pulse{position:relative;overflow:visible}.icon-box.pulse:before,.icon-box.pulse:after{content:"";border-radius:inherit;box-shadow:0 0 0 1px var(--brand-b);opacity:0;position:absolute;inset:0}@media (prefers-reduced-motion:no-preference){.icon-box.pulse:before{animation:3.2s ease-out infinite sonar}.icon-box.pulse:after{animation:3.2s ease-out 1.6s infinite sonar}}@keyframes sonar{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.9)}}.next-steps li{position:relative}.next-steps li:not(:last-child):after{content:"";background:linear-gradient(var(--rule-strong), var(--rule-strong)) no-repeat;width:1px;position:absolute;top:54px;bottom:-18px;left:18px}@media (prefers-reduced-motion:no-preference){.next-steps li:not(:last-child):after{background:linear-gradient(transparent, var(--brand-a), var(--brand-b), transparent) no-repeat, var(--rule);background-size:1px 40%,1px 100%;animation:2.6s linear infinite step-flow}}@keyframes step-flow{0%{background-position:0 -60%,0 0}to{background-position:0 160%,0 0}}.next-steps .icon-box{background:var(--bg);z-index:1;font-weight:600;position:relative}fieldset.field{border:0;min-width:0;margin:0;padding:0}.chips-field legend{margin-bottom:8px;padding:0;font-size:14px;font-weight:500}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip input{opacity:0;width:1px;height:1px;position:absolute}.chip span{border-radius:var(--radius-pill);height:34px;color:var(--fg-muted);cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:inset 0 0 0 1px var(--rule);background:var(--bg);align-items:center;gap:7px;padding:0 13px 0 10px;font-size:13.5px;font-weight:500;transition:color .15s,box-shadow .15s,background-color .15s,transform .15s;display:inline-flex}.chip span svg{width:15px;height:15px;transition:transform .25s cubic-bezier(.3,1.6,.5,1)}.chip span:hover{color:var(--fg);box-shadow:inset 0 0 0 1px var(--rule-strong)}.chip span:active{transform:scale(.97)}.chip input:checked+span{color:var(--fg);background:linear-gradient(var(--bg), var(--bg)) padding-box, var(--brand) border-box;box-shadow:0 1px 8px color-mix(in srgb, var(--brand-b) 18%, transparent);border:1.5px solid #0000;padding:0 11.5px 0 8.5px}.chip input:checked+span svg{color:var(--brand-b);transform:scale(1.12)}.chip input:focus-visible+span{outline:2px solid var(--focus);outline-offset:2px}.prompts{flex-wrap:wrap;gap:6px;margin-bottom:2px;display:flex}.prompts button{cursor:pointer;font:inherit;color:var(--fg-muted);background:var(--bg-muted);border-radius:var(--radius-pill);border:0;align-items:center;gap:4px;padding:4px 10px 4px 7px;font-size:12.5px;transition:color .15s,background-color .15s,opacity .2s;display:inline-flex}.prompts button svg{width:12px;height:12px}.prompts button:hover{color:var(--fg);background:var(--bg-hover)}.prompts button.used{opacity:.45}.field-foot{justify-content:space-between;align-items:baseline;gap:12px;min-height:18px;display:flex}.field-foot .error{margin:0}.counter{font-family:var(--font-mono);color:var(--fg-subtle);margin-left:auto;font-size:12px}.counter.near{color:var(--danger)}.form-card{position:relative;overflow:hidden}.plane{opacity:0;pointer-events:none;width:40px;height:40px;position:absolute;bottom:40px;left:40px}@media (prefers-reduced-motion:no-preference){.form-card.sent .plane{animation:1.6s cubic-bezier(.45,0,.2,1) both plane}}@keyframes plane{0%{opacity:0;transform:translate(0)rotate(0)scale(.6)}12%{opacity:1;transform:translate(10px,-6px)rotate(-6deg)scale(1)}55%{opacity:1;transform:translate(240px,-160px)rotate(-18deg)scale(.9)}to{opacity:0;transform:translate(620px,-420px)rotate(-26deg)scale(.6)}}.gravure{--ink-a:#1e30f3;--ink-b:#4a2bd0;--ink-warm:#e21e80;aspect-ratio:3/2;pointer-events:none;width:100%;max-height:100vh;display:none;position:relative;-webkit-mask-image:linear-gradient(#0000,#000 28%);mask-image:linear-gradient(#0000,#000 28%)}.gravure.is-ready{display:block}.gravure canvas{width:100%;height:100%;display:block;position:absolute;inset:0}.gravure:after{content:"";width:min(var(--container), 100%);border-inline:1px solid var(--rule);position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);-webkit-mask-image:linear-gradient(#000,#0000 32%);mask-image:linear-gradient(#000,#0000 32%)}@media (prefers-color-scheme:dark){.gravure{--ink-a:#7f8cff;--ink-b:#b38cff;--ink-warm:#ff6fb1}}@media print{.gravure{display:none!important}}.communes{flex-wrap:wrap;gap:6px;margin:4px 0 16px;display:flex}.communes li{border-radius:var(--radius-pill);background:var(--bg);box-shadow:inset 0 0 0 1px var(--rule);color:var(--fg-muted);padding:4px 10px;font-size:13px}@media (width<=719px){.footer-grid{padding:40px var(--pad) 32px;grid-template-columns:1fr 1fr;gap:32px 20px}.footer-brand{border-bottom:1px solid var(--rule);grid-column:1/-1;gap:10px;padding-bottom:24px}.footer-brand p{max-width:none;font-size:13.5px}.footer-col{gap:0;font-size:14px}.footer-col h2{text-transform:uppercase;letter-spacing:.06em;color:var(--fg-subtle);margin-bottom:6px;font-size:12px}.footer-col a,.footer-col p{padding:7px 0;line-height:1.3}.footer-col p{color:var(--fg-subtle);font-size:13px}.fc-contact{border-top:1px solid var(--rule);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;padding-top:24px;display:flex}.fc-contact h2{flex-basis:100%}.fc-contact a,.fc-contact p{padding:0}.fc-contact a{border-radius:var(--radius-pill);height:36px;box-shadow:inset 0 0 0 1px var(--rule);color:var(--fg);align-items:center;padding:0 14px;font-size:13.5px;display:inline-flex}.fc-contact a:last-child{background:var(--brand);color:#fff;box-shadow:none}.fc-contact p{flex-basis:100%;order:3;margin-top:4px}.footer-bottom{padding:18px var(--pad) 22px;flex-direction:column;align-items:flex-start;gap:10px}.footer-bottom nav{gap:6px 18px}}