:root{--color-paper: oklch(98.5% .003 250);--color-paper-2: oklch(95.5% .005 250);--color-rule: oklch(89% .006 250);--color-muted: oklch(45% .012 255);--color-ink: oklch(18% .012 260);--color-accent: oklch(48% .19 262);--color-accent-ink: oklch(98.5% .003 250);--color-focus: oklch(48% .19 262);--color-shadow: oklch(20% .02 260 / .25);--font-display: "General Sans", ui-sans-serif, system-ui, sans-serif;--font-body: "General Sans", ui-sans-serif, system-ui, sans-serif;--font-outlier: "Geist Mono", ui-monospace, monospace;--text-sm:.8125rem;--text-base:1rem;--text-md:1.1875rem;--text-lg:1.5rem;--text-xl:1.875rem;--text-2xl:2.375rem;--text-display: clamp(2.4rem, 4vw + 1rem, 4.4rem);--text-display-s: clamp(1.8rem, 2.4vw + .8rem, 2.75rem);--space-xs:.5rem;--space-sm:.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2.5rem;--space-2xl:4rem;--space-3xl:6rem;--space-4xl:9rem;--ease-out: cubic-bezier(.16,1,.3,1);--dur-micro:.12s;--dur-short:.2s;--dur-long:.4s;--rule-hair:1px;--radius:12px;--page-gutter: clamp(1.25rem, 5vw, 4.5rem);--page-max: 72rem;--measure: 60ch;--z-sticky-nav:300}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:clip}html{scroll-behavior:smooth}body{background:var(--color-paper);color:var(--color-ink);font-family:var(--font-body);font-weight:400;font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;padding-inline:max(0px,env(safe-area-inset-left))}::selection{background:var(--color-accent);color:var(--color-accent-ink)}a{color:inherit}h1,h2,h3{font-family:var(--font-display);font-weight:600;letter-spacing:-.025em;line-height:1.08;overflow-wrap:anywhere;min-width:0}p{max-width:var(--measure)}.muted{color:var(--color-muted)}.wrap{max-width:var(--page-max);margin-inline:auto;padding-inline:var(--page-gutter)}.mono{font-family:var(--font-outlier);font-size:var(--text-sm);letter-spacing:.04em;color:var(--color-muted)}.btn{display:inline-flex;align-items:center;line-height:1;gap:.5em;white-space:nowrap;font-weight:500;font-size:var(--text-base);padding:.85em 1.6em;border-radius:var(--radius);border:var(--rule-hair) solid var(--color-ink);text-decoration:none;cursor:pointer;transition:background-color var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out),transform var(--dur-micro) var(--ease-out)}.btn-fill{background:var(--color-ink);color:var(--color-paper)}.btn-fill:hover{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-ink);transform:translateY(-1.5px)}.btn-ghost{background:transparent}.btn-ghost:hover{background:var(--color-paper-2)}.btn:active{transform:translateY(1px)}.btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:3px}.btn:disabled,.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed}.link{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;text-decoration-color:var(--color-accent)}.link:hover{text-decoration-thickness:2px}.link:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.nav-pill{position:fixed;inset:var(--space-md) auto auto 50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:var(--space-lg);padding:.5rem .625rem .5rem 1.125rem;background:color-mix(in oklch,var(--color-paper) 80%,transparent);backdrop-filter:blur(14px) saturate(120%);border:var(--rule-hair) solid var(--color-rule);border-radius:999px;box-shadow:0 8px 24px -12px var(--color-shadow);z-index:var(--z-sticky-nav);white-space:nowrap}.nav-pill .wordmark{font-family:var(--font-outlier);font-weight:500;font-size:var(--text-sm);letter-spacing:.08em;text-decoration:none;line-height:1}.nav-pill ul{display:flex;gap:var(--space-md);list-style:none}.nav-pill ul a{font-size:var(--text-sm);text-decoration:none;color:var(--color-muted);transition:color var(--dur-micro) var(--ease-out);line-height:1}.nav-pill ul a:hover{color:var(--color-ink)}.nav-pill ul a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.nav-pill .btn{padding:.55em 1.1em;font-size:var(--text-sm)}.hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-2xl);align-items:end;padding-top:calc(var(--space-4xl) + 2rem);padding-bottom:var(--space-2xl)}.hero h1{font-size:var(--text-display);max-width:13ch}.hero h1 mark{background:none;color:var(--color-accent)}.hero .lede{color:var(--color-muted);font-size:var(--text-md)}.hero .cta-row{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-lg);flex-wrap:wrap}.phases{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-md);padding-block:var(--space-xl) var(--space-3xl)}.phases a{text-decoration:none;border-top:2px solid var(--color-rule);padding-top:var(--space-sm);transition:border-color var(--dur-short) var(--ease-out)}.phases a:hover{border-color:var(--color-accent)}.phases a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.phases .mono{display:block}.phases strong{font-weight:500}.stage{border-top:2px solid var(--color-ink);padding-block:var(--space-2xl) var(--space-3xl)}.stage .stage-head{display:flex;flex-direction:column;gap:var(--space-xs);max-width:none}.stage .stage-num{font-family:var(--font-outlier);font-size:var(--text-sm);letter-spacing:.06em;color:var(--color-accent)}.stage h2{font-size:var(--text-display-s);max-width:20ch}.stage-body{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--space-2xl);margin-top:var(--space-lg)}.stage-body>p{color:var(--color-muted)}.deliver{list-style:none;border-top:var(--rule-hair) solid var(--color-rule)}.deliver li{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-md);padding:var(--space-sm) 0;border-bottom:var(--rule-hair) solid var(--color-rule)}.deliver li span:last-child{font-family:var(--font-outlier);font-size:var(--text-sm);color:var(--color-muted);text-align:right}.clients{padding-block:var(--space-xl)}.clients ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));list-style:none;border-block:var(--rule-hair) solid var(--color-rule)}.clients li{padding:var(--space-md);border-inline-end:var(--rule-hair) solid var(--color-rule);color:var(--color-muted);font-weight:500;font-size:var(--text-sm)}.clients li:last-child{border-inline-end:none}.clients .mono{display:block;margin-bottom:var(--space-sm)}.cases{padding-block:var(--space-3xl)}.cases h2{font-size:var(--text-display-s);max-width:20ch}.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-lg);margin-top:var(--space-xl)}.case-card{border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius);padding:var(--space-lg)}.case-card h3{font-size:var(--text-md);font-weight:500}.case-card .mono{display:block;margin-top:var(--space-xs)}.case-card p{margin-top:var(--space-md);color:var(--color-muted);font-size:var(--text-base)}.case-card .stat-slot{display:inline-block;margin-top:var(--space-md);background:var(--color-paper-2);border-radius:6px;padding:var(--space-xs) var(--space-sm);font-family:var(--font-outlier);font-size:var(--text-sm);color:var(--color-muted)}.contact{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:var(--space-2xl);padding-block:var(--space-2xl) var(--space-3xl);border-top:var(--rule-hair) solid var(--color-rule);align-items:start}.contact h2{font-size:var(--text-display-s);max-width:18ch}.contact .contact-lede{margin-top:var(--space-md);color:var(--color-muted)}.contact .cta-row{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-lg);flex-wrap:wrap}.contact .portrait{aspect-ratio:4/5;max-width:18rem;background:var(--color-paper-2);border-radius:var(--radius);overflow:hidden}.contact .portrait img{width:100%;height:100%;object-fit:cover;display:block}.contact .side{display:grid;gap:var(--space-lg);justify-items:start}.faq{margin-top:var(--space-xl);border-top:var(--rule-hair) solid var(--color-rule);max-width:var(--measure)}.faq details{border-bottom:var(--rule-hair) solid var(--color-rule)}.faq summary{padding:var(--space-md) 0;font-weight:500;cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:var(--space-md)}.faq summary:after{content:"+";font-family:var(--font-outlier);color:var(--color-muted)}.faq details[open] summary:after{content:"–"}.faq summary:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.faq details p{padding-bottom:var(--space-md);color:var(--color-muted)}.foot{padding-block:var(--space-3xl) var(--space-xl);display:grid;gap:var(--space-xl)}.foot .line{font-family:var(--font-display);font-weight:600;letter-spacing:-.025em;font-size:clamp(1.6rem,4vw,3rem);line-height:1.05;max-width:24ch}.foot .meta{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-lg);border-top:var(--rule-hair) solid var(--color-rule);padding-top:var(--space-md);flex-wrap:wrap}.foot .meta .mono{max-width:none}@media(max-width:60rem){.hero,.stage-body,.contact{grid-template-columns:minmax(0,1fr)}.phases{grid-template-columns:repeat(2,minmax(0,1fr))}.case-grid{grid-template-columns:minmax(0,1fr)}.nav-pill ul{display:none}}@media(max-width:40rem){.hero h1{font-size:var(--text-display-s)}.btn{min-height:44px}.phases{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.15s!important;animation-duration:.15s!important}html{scroll-behavior:auto}}
