: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,.nav-pill ul a[aria-current=page]{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)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.hero>*,.page-hero>*{animation:rise var(--dur-long) var(--ease-out) both}.hero>:nth-child(2){animation-delay:90ms}.page-hero>:nth-child(2){animation-delay:70ms}.page-hero>:nth-child(3){animation-delay:.14s}.page-hero{padding-top:calc(var(--space-4xl) + 2rem);padding-bottom:var(--space-2xl);display:grid;gap:var(--space-md)}.page-hero .kicker{font-family:var(--font-outlier);font-size:var(--text-sm);letter-spacing:.06em;color:var(--color-accent)}.page-hero h1{font-size:var(--text-display-s);max-width:18ch}.page-hero .lede{color:var(--color-muted);font-size:var(--text-md);max-width:var(--measure)}.page-hero .cta-row{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-sm);flex-wrap:wrap}.svc-list{list-style:none;border-top:2px solid var(--color-ink)}.svc-list li{border-bottom:var(--rule-hair) solid var(--color-rule)}.svc-list a{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr) auto;gap:var(--space-lg);align-items:baseline;padding:var(--space-lg) 0;text-decoration:none}.svc-list h3{font-size:var(--text-lg);font-weight:500;transition:color var(--dur-short) var(--ease-out)}.svc-list h3 .mono{display:block;margin-bottom:var(--space-xs);color:var(--color-muted)}.svc-list p{color:var(--color-muted);font-size:var(--text-base)}.svc-list .arrow{font-family:var(--font-outlier);color:var(--color-muted);transition:transform var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.svc-list a:hover h3{color:var(--color-accent)}.svc-list a:hover .arrow{transform:translate(4px);color:var(--color-accent)}.svc-list a:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.services{padding-block:var(--space-2xl) var(--space-3xl)}.services>h2{font-size:var(--text-display-s);max-width:20ch;margin-bottom:var(--space-xl)}.sect{border-top:2px solid var(--color-ink);padding-block:var(--space-2xl) var(--space-3xl)}.sect>h2{font-size:var(--text-display-s);max-width:20ch}.sect .sect-body{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:var(--space-2xl);margin-top:var(--space-lg)}.sect .sect-body>p{color:var(--color-muted)}.sect-thin{border-top:var(--rule-hair) solid var(--color-rule)}.rows{list-style:none;border-top:var(--rule-hair) solid var(--color-rule);margin-top:var(--space-xl)}.rows li{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,8fr);gap:var(--space-lg);padding:var(--space-lg) 0;border-bottom:var(--rule-hair) solid var(--color-rule)}.rows strong{font-weight:500;font-size:var(--text-md)}.rows p{color:var(--color-muted)}.cta-band{border-top:2px solid var(--color-ink);padding-block:var(--space-2xl) var(--space-3xl);display:grid;gap:var(--space-md)}.cta-band h2{font-size:var(--text-display-s);max-width:18ch}.cta-band p{color:var(--color-muted)}.cta-band .cta-row{display:flex;align-items:center;gap:var(--space-md);margin-top:var(--space-sm);flex-wrap:wrap}.case-card{transition:border-color var(--dur-short) var(--ease-out),transform var(--dur-short) var(--ease-out)}.case-card:hover{border-color:var(--color-ink);transform:translateY(-2px)}.direct{list-style:none;border-top:var(--rule-hair) solid var(--color-rule)}.direct 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)}.direct .mono{max-width:none}.post-list{list-style:none;border-top:2px solid var(--color-ink)}.post-list li{border-bottom:var(--rule-hair) solid var(--color-rule)}.post-list a{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,8fr) auto;gap:var(--space-lg);align-items:baseline;padding:var(--space-lg) 0;text-decoration:none}.post-list .mono{max-width:none}.post-list h2{font-size:var(--text-lg);font-weight:500;transition:color var(--dur-short) var(--ease-out)}.post-list p{color:var(--color-muted);font-size:var(--text-base);margin-top:var(--space-xs)}.post-list .arrow{font-family:var(--font-outlier);color:var(--color-muted);transition:transform var(--dur-short) var(--ease-out),color var(--dur-short) var(--ease-out)}.post-list a:hover h2{color:var(--color-accent)}.post-list a:hover .arrow{transform:translate(4px);color:var(--color-accent)}.post-list a:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.post-empty{border-top:2px solid var(--color-ink);padding-block:var(--space-2xl);color:var(--color-muted);max-width:var(--measure)}.post{padding-bottom:var(--space-2xl)}.post-meta{display:flex;gap:var(--space-lg);flex-wrap:wrap;border-block:var(--rule-hair) solid var(--color-rule);padding-block:var(--space-sm);margin-block:var(--space-xl)}.post-body{max-width:var(--measure)}.post-body h2{font-size:var(--text-xl);margin-top:var(--space-2xl)}.post-body h3{font-size:var(--text-md);margin-top:var(--space-xl)}.post-body p{margin-top:var(--space-md);color:var(--color-ink)}.post-body ul,.post-body ol{margin-top:var(--space-md);padding-left:1.25em;display:grid;gap:var(--space-xs)}.post-body a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;text-decoration-color:var(--color-accent)}.post-body a:hover{text-decoration-thickness:2px}.post-body table{border-collapse:collapse;margin-top:var(--space-lg);width:100%;font-size:var(--text-base)}.post-body th,.post-body td{border-bottom:var(--rule-hair) solid var(--color-rule);padding:var(--space-sm);text-align:left;vertical-align:top}.post-body th{font-weight:500}.post-body .pull-quote{border-left:2px solid var(--color-accent);padding:var(--space-sm) 0 var(--space-sm) var(--space-lg);margin-top:var(--space-xl)}.post-body .pull-quote blockquote{font-family:var(--font-display);font-weight:500;font-size:var(--text-lg);letter-spacing:-.015em;line-height:1.3}.post-body .pull-quote figcaption{margin-top:var(--space-xs);font-family:var(--font-outlier);font-size:var(--text-sm);color:var(--color-muted)}.post-body .code-block{margin-top:var(--space-lg);background:var(--color-paper-2);border-radius:var(--radius);padding:var(--space-md);overflow-x:auto;font-family:var(--font-outlier);font-size:var(--text-sm);line-height:1.55}.post-body .service-card{margin-top:var(--space-lg)}.post-body .service-card a{display:inline-flex;align-items:baseline;gap:.5em;border:var(--rule-hair) solid var(--color-rule);border-radius:var(--radius);padding:var(--space-sm) var(--space-md);text-decoration:none;transition:border-color var(--dur-short) var(--ease-out)}.post-body .service-card a:hover{border-color:var(--color-accent)}.post-body .service-card span{font-family:var(--font-outlier);font-size:var(--text-sm);color:var(--color-accent)}.post-foot{border-top:var(--rule-hair) solid var(--color-rule);margin-top:var(--space-2xl);padding-top:var(--space-lg);display:flex;justify-content:space-between;gap:var(--space-lg);flex-wrap:wrap;align-items:baseline}.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}.foot .foot-nav{display:flex;gap:var(--space-lg);flex-wrap:wrap}.foot .foot-nav a{font-family:var(--font-outlier);font-size:var(--text-sm);letter-spacing:.04em;color:var(--color-muted);text-decoration:none;white-space:nowrap}.foot .foot-nav a:hover{color:var(--color-ink)}.foot .foot-nav a:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}@media(max-width:60rem){.hero,.stage-body,.contact,.sect .sect-body,.rows li{grid-template-columns:minmax(0,1fr)}.phases{grid-template-columns:repeat(2,minmax(0,1fr))}.case-grid{grid-template-columns:minmax(0,1fr)}.svc-list a{grid-template-columns:minmax(0,1fr) auto;gap:var(--space-md)}.svc-list p{grid-column:1 / -1}.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}.hero>*,.page-hero>*{animation:none}html{scroll-behavior:auto}}
