/* Sixeed design system: Persimmon & Ink, Geist. Tokens and rationale: reports/Sixeed full site design overhaul.md */
@font-face{font-family:Geist;src:url('assets/geist.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:"Geist Mono";src:url('assets/geist-mono.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{
 --paper:#FBF8F4;--surface:#FFFFFF;--surface-2:#F3EEE7;--line:#E4DDD3;--line-strong:#8A8075;
 --ink:#16130F;--muted:#5C554D;--accent:#FF5B1F;--accent-hover:#FF7A45;--accent-text:#B83A0B;--cobalt:#2E44FF;
 --dark:#16130F;--dark-2:#221E19;--on-dark:#F6F1EA;--on-dark-muted:#B3A99C;--focus:#2E44FF;--focus-on-dark:#FFB088;
 --error:#B42318;--success:#15803D;
 --font-sans:Geist,system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--font-mono:"Geist Mono",ui-monospace,SFMono-Regular,Consolas,monospace;
 --text-display:clamp(2.75rem,1.667rem + 4.815vw,6rem);--text-xl:clamp(2.5rem,1.667rem + 3.704vw,5rem);
 --text-h2:clamp(2rem,1.5rem + 2.222vw,3.5rem);--text-h3:clamp(1.375rem,1.208rem + .741vw,1.875rem);
 --text-lede-hero:clamp(1.25rem,1.083rem + .741vw,1.75rem);--text-lede:clamp(1.125rem,1.042rem + .37vw,1.375rem);
 --text-body:clamp(1.0625rem,1.042rem + .093vw,1.125rem);--text-ui:1rem;--text-label:.875rem;
 --s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;
 --section:clamp(4rem,2.667rem + 5.926vw,8rem);--gutter:clamp(1.25rem,.833rem + 1.852vw,2.5rem);
 --max:1320px;--max-wide:1440px;--header-h:64px;
 --r-sm:8px;--r-md:12px;--r-lg:24px;--r-pill:999px;
 --shadow-1:0 1px 2px rgb(22 19 15/.06),0 2px 6px rgb(22 19 15/.05);--shadow-2:0 2px 4px rgb(22 19 15/.05),0 16px 32px rgb(22 19 15/.10);--shadow-3:0 30px 80px rgb(22 19 15/.28);
 --dur-1:120ms;--dur-2:200ms;--dur-3:280ms;--dur-4:450ms;--dur-hero:700ms;
 --ease-out:cubic-bezier(.25,1,.5,1);--ease-in:cubic-bezier(.4,.14,1,1);--stagger:50ms;
}
@media(max-width:767px){:root{--header-h:56px}}

/* Base */
*{box-sizing:border-box}html{scroll-padding-top:calc(var(--header-h) + 24px)}
body{margin:0;background:var(--paper);color:var(--ink);font:400 var(--text-body)/1.6 var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
h1,h2,h3,p,figure,ol,ul{margin:0}h1,h2,h3{font-weight:600;text-wrap:balance}p{text-wrap:pretty}
h2{font-size:var(--text-h2);line-height:1.08;letter-spacing:-.03em}h3{font-size:var(--text-h3);line-height:1.2;letter-spacing:-.02em}
a{color:inherit}img,video{max-width:100%;display:block}button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
[hidden]{display:none!important}
.wrap{width:min(100%,var(--max));margin-inline:auto;padding-inline:var(--gutter)}
.skip{position:absolute;left:16px;top:-80px;z-index:20;background:var(--ink);color:var(--on-dark);padding:12px 16px;border-radius:var(--r-sm)}.skip:focus{top:12px}
.i{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.eyebrow,.tag{font:500 var(--text-label)/1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.eyebrow{color:var(--muted);margin-bottom:var(--s-4)}
.tag{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:var(--r-sm);background:var(--surface-2);color:var(--ink)}
.lede{font-size:var(--text-lede);line-height:1.45;letter-spacing:-.01em;color:var(--muted);max-width:44ch}
.small,.hint{font-size:var(--text-ui);color:var(--muted);line-height:1.5}
.section{padding-block:var(--section)}
.section-head{margin-bottom:var(--s-7);display:grid;gap:var(--s-4)}.section-head .lede{margin-top:var(--s-2)}

/* Buttons and links */
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:0 24px;border:1.5px solid var(--accent);border-radius:var(--r-pill);background:var(--accent);color:var(--ink);font:600 var(--text-ui)/1.25 var(--font-sans);text-decoration:none;cursor:pointer;transition:background-color var(--dur-1) var(--ease-out),border-color var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out)}
.button:hover{background:var(--accent-hover);border-color:var(--accent-hover);transform:translateY(-1px)}.button:active{transform:scale(.98)}
.button.secondary{background:transparent;border-color:var(--ink);color:var(--ink)}.button.secondary:hover{background:var(--surface-2)}
.button:disabled{opacity:.6;cursor:wait;transform:none}.button[data-next]:disabled{opacity:.4;cursor:not-allowed}
.button-sm{min-height:40px;padding:0 18px}.button-sm{white-space:nowrap}@media(max-width:479px){.button-sm{padding:0 14px}.logo-mark{width:96px}}
.link{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:4px;font-weight:500;display:inline-flex;align-items:center;gap:6px;min-height:44px}.link:hover{text-decoration-thickness:2px}
.lede .link,.about-copy .link,.intake-copy .link{color:var(--cobalt);min-height:0}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-4)}

/* Header */
.header{position:sticky;top:0;z-index:10;background:rgb(251 248 244/.88);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}
.nav{height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:var(--s-5);max-width:var(--max-wide)}
.logo{display:inline-flex;align-items:center;min-height:44px;color:var(--ink)}.logo-mark{height:24px;width:128px}
.nav-links{display:flex;align-items:center;gap:var(--s-6)}.nav-links>a:not(.button){font-size:var(--text-ui);font-weight:500;text-decoration:none;min-height:44px;display:flex;align-items:center}.nav-links>a:not(.button):hover{text-decoration:underline;text-underline-offset:6px}

/* Hero */
.hero{padding-block:clamp(3rem,1.5rem + 4vw,6rem) var(--s-7)}
.hero-title{font-size:var(--text-display);line-height:1;letter-spacing:-.04em;max-width:18ch}
.hero-lede{margin-top:var(--s-5);font-size:var(--text-lede-hero);line-height:1.35;letter-spacing:-.015em;color:var(--muted);max-width:40ch}
.hero .actions{margin-top:var(--s-6)}
.microcopy{margin-top:var(--s-3);font-size:var(--text-ui);color:var(--muted)}
.stage-wrap{max-width:var(--max-wide)}
.stage{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:minmax(260px,.36fr) 1fr;gap:clamp(20px,3vw,48px);align-items:center;padding:clamp(20px,4vw,64px);border-radius:var(--r-lg);background:var(--dark);color:var(--on-dark);transform-origin:50% 0}
.stage::before{content:"";position:absolute;z-index:-1;inset:auto -15% -55% auto;width:75%;aspect-ratio:1;border-radius:50%;background:radial-gradient(closest-side,#FF5B1F 0%,rgb(255 138 61/.55) 45%,rgb(255 194 75/0) 100%);opacity:.55;filter:blur(40px)}
.browser{border-radius:var(--r-md);overflow:hidden;background:#0d0c0a;box-shadow:var(--shadow-3)}
.browser-bar{display:flex;gap:6px;padding:10px 12px;background:var(--dark-2)}.browser-bar i{width:10px;height:10px;border-radius:50%;background:#4a433b}
.browser img{width:100%;height:auto;aspect-ratio:1400/746}
.browser figcaption{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;padding:10px 12px;background:var(--dark-2)}
.stage .browser figcaption.tag{display:block;border-radius:0;min-height:0;background:var(--dark-2);color:var(--on-dark-muted)}
.flow-card{background:var(--dark-2);border:1px solid rgb(246 241 234/.1);border-radius:var(--r-md);padding:var(--s-5);box-shadow:var(--shadow-3)}
.flow-card .tag{background:rgb(246 241 234/.08);color:var(--on-dark-muted);margin-bottom:var(--s-4)}
.flow-card ol{list-style:none;padding:0;display:grid;gap:10px}
.flow-card li{display:grid;grid-template-columns:10px 1fr;column-gap:12px;padding:12px 14px;border-radius:10px;background:rgb(246 241 234/.06)}
.flow-card .dot{grid-row:span 2;align-self:center;width:10px;height:10px;border-radius:50%;background:var(--on-dark-muted)}
.flow-card b{font-size:var(--text-ui);font-weight:600;line-height:1.35}.flow-card li>span:last-child{font-size:15px;color:var(--on-dark-muted)}
.flow-card .toast{background:var(--accent);color:var(--ink)}.flow-card .toast .dot{background:var(--ink)}.flow-card .toast>span:last-child{color:var(--ink)}
.proof{padding-block:var(--s-6) 0}
.chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-3)}
.chips li{display:inline-flex;align-items:center;gap:10px;min-height:40px;padding:8px 16px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);font-size:var(--text-ui);font-weight:500;line-height:1.35}
.chips .i{color:var(--accent-text)}

/* Services tiles */
.tiles{display:grid;gap:var(--s-5)}
.tile{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(24px,4vw,64px);align-items:center;padding:clamp(24px,3.5vw,48px);border:1px solid var(--line);border-radius:var(--r-lg);background:var(--surface);transition:border-color var(--dur-1) var(--ease-out),box-shadow var(--dur-1) var(--ease-out)}
.tile:hover{border-color:var(--line-strong);box-shadow:var(--shadow-2)}
.tile:nth-child(even) .tile-copy{order:2}
.tile-copy{display:grid;gap:var(--s-4);justify-items:start}.tile-copy p{color:var(--muted);max-width:44ch}
.tile-links{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-3) var(--s-5)}
.mini-chips{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:var(--s-2)}.mini-chips li{font-size:var(--text-label);font-weight:500;padding:4px 12px;border-radius:var(--r-pill);background:var(--surface-2)}
.also{margin-top:var(--s-6);display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:var(--text-lede)}.also .i{color:var(--accent-text)}

/* Example mockups (HTML/CSS, labelled) */
.mock{position:relative;min-height:280px;padding:52px 20px 20px;border-radius:var(--r-md);background:var(--surface-2);font-size:15px;display:grid;gap:10px;align-content:start;overflow:hidden}
.mock>.tag{position:absolute;top:12px;left:12px;background:var(--surface);min-height:24px}
.mock b{font-weight:600}
.ms-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:10px;background:var(--surface)}.ms-bar i{width:36px;height:6px;border-radius:3px;background:var(--line)}.ms-bar b{margin-right:auto}.ms-bar em,.ms-form em,.mt-head em{font-style:normal;font-weight:600;font-size:13px;padding:6px 12px;border-radius:var(--r-pill);background:var(--accent)}
.ms-hero{padding:18px 14px;border-radius:10px;background:var(--dark);color:var(--on-dark);display:grid;gap:8px}.ms-hero b{font-size:20px;letter-spacing:-.02em}.ms-hero span{height:6px;width:70%;border-radius:3px;background:rgb(246 241 234/.25)}.ms-hero span+span{width:45%}
.ms-form{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.ms-form span{padding:8px 10px;border-radius:8px;background:var(--surface);color:var(--muted);font-size:13px}.ms-form em{align-self:center}
.mt-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:4px}
.mt-row{display:grid;grid-template-columns:1.2fr 1fr .9fr;align-items:center;padding:10px 12px;border-radius:8px;background:var(--surface)}.mt-th{background:none;color:var(--muted);font-size:13px;padding-block:0}
.mt-row i{font-style:normal;font-size:13px;font-weight:600;justify-self:start;padding:3px 10px;border-radius:var(--r-pill)}.s-ok{background:#DDF3E4;color:var(--success)}.s-wait{background:#FFE6D9;color:var(--accent-text)}.s-new{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}
.mock-board{grid-template-columns:repeat(3,1fr);align-items:start}.mb-col{display:grid;gap:8px}.mb-col b{font-size:13px;color:var(--muted)}.mb-col span{padding:10px;border-radius:8px;background:var(--surface);box-shadow:var(--shadow-1)}.mb-col .hot{outline:2px solid var(--accent)}
.ma-head{display:flex;justify-content:space-between;align-items:center;padding-bottom:4px}.ma-head em{font-style:normal;font-weight:600;font-size:13px;padding:4px 10px;border-radius:var(--r-pill);background:#DDF3E4;color:var(--success)}.ma-row{display:grid;grid-template-columns:2fr .8fr .7fr .9fr;gap:8px;align-items:center;padding:10px 12px;border-radius:8px;background:var(--surface)}.ma-row span:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}.ma-th{background:none;color:var(--muted);font-size:13px;padding-block:0}
.mock-log{background:var(--dark);color:var(--on-dark)}.mock-log>.tag{background:var(--dark-2);color:var(--on-dark-muted)}.mock-log code{font:400 14px/1.5 var(--font-mono);display:flex;gap:10px}.mock-log code i{font-style:normal;color:var(--on-dark-muted)}.l-err{color:#FF8A7A!important}.l-ok{color:#7CD69A!important}

/* Work band (ink) */
.band{background:var(--dark);color:var(--on-dark)}
.band .eyebrow,.band .lede{color:var(--on-dark-muted)}
.band .tag{background:var(--dark-2);color:var(--on-dark-muted)}
.band :focus-visible{outline-color:var(--focus-on-dark)}
.work-shot{max-width:1200px}.work-shot img{aspect-ratio:1887/987}.work-shot figcaption{color:var(--on-dark)}
.case-lead{display:grid;gap:var(--s-4);max-width:60ch;margin-top:var(--s-6)}.case-lead p{color:var(--on-dark-muted)}.case-lead .link,.case .link{justify-self:start}
.cases{margin-top:var(--s-7);display:grid;grid-template-columns:repeat(2,1fr);gap:var(--s-5)}
.case{display:grid;gap:var(--s-3);align-content:start;padding:var(--s-6);border-radius:var(--r-md);background:var(--dark-2);border:1px solid rgb(246 241 234/.08)}.case .tag{justify-self:start;background:rgb(246 241 234/.08)}.case p:not(.tag){color:var(--on-dark-muted)}

/* Process */
.process{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s-5);margin-bottom:var(--s-7)}
.process li{padding-top:var(--s-5);border-top:2px solid var(--ink);display:grid;gap:var(--s-3);align-content:start}.process p{color:var(--muted)}
.num{font:500 var(--text-label)/1 var(--font-mono);color:var(--accent-text)}

/* What's possible: one line + a cloud of example builds (no industries, no photos) */
.build{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:center}
.build-copy{display:grid;gap:var(--s-5);justify-items:start}.build-copy .eyebrow{margin-bottom:calc(-1*var(--s-3))}.build-copy h2{max-width:14ch}
.build-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.build-list li{padding:7px 14px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);font-size:15px;font-weight:500;line-height:1.3}
.build-list .more{background:var(--ink);color:var(--on-dark);border-color:var(--ink)}
/* Collage: atmosphere photos (AI, not clients) + illustrative UI cards, staggered two-column mosaic */
.collage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-4);align-items:start}
.collage>*{border-radius:var(--r-lg);box-shadow:var(--shadow-2)}
.collage img{display:block;width:100%;height:auto;object-fit:cover;background:var(--surface-2)}
.c-phone{aspect-ratio:4/5;grid-column:1;grid-row:1/3}
.c-chart{grid-column:2;grid-row:1}.c-duo{grid-column:2;grid-row:2/4;aspect-ratio:1}
.c-note{grid-column:1;grid-row:3}.c-laptop{grid-column:1/3;grid-row:4;aspect-ratio:16/7}
.c-card{position:relative;background:var(--surface);padding:var(--s-4) var(--s-5);display:grid;gap:4px}
.c-chart b{font-size:var(--text-ui);font-weight:600}.c-chart em{font-style:normal;font-size:14px;font-weight:600;color:#1C7C4A}
.c-chart .tag{position:absolute;top:12px;right:12px}
.c-chart svg{width:100%;height:72px;margin-top:6px}.c-chart .line{fill:none;stroke:var(--accent);stroke-width:3;vector-effect:non-scaling-stroke;stroke-linejoin:round}.c-chart .area{fill:var(--accent);opacity:.12}
.c-note{grid-template-columns:auto 1fr;align-items:center;gap:12px;background:var(--dark);color:var(--on-dark)}
.c-note b{display:block;font-size:15px;font-weight:600;line-height:1.3}.c-note small{display:block;font-size:13px;color:var(--on-dark-muted)}
.c-dot{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent);color:var(--ink)}.c-dot .i{width:18px;height:18px}

/* About */
.about{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--s-7)}
.about-shot{display:block;width:100%;height:auto;margin-top:var(--s-6);border-radius:var(--r-lg);aspect-ratio:1200/686;object-fit:cover}
.about-copy{display:grid;gap:var(--s-5);align-content:start}.about-copy .lede{color:var(--ink);max-width:52ch}.about-copy p{max-width:60ch;color:var(--muted)}

/* Service detail views */
.offer-detail{padding-block:var(--s-8);display:grid;gap:var(--s-5)}.offer-detail h2{max-width:20ch}.offer-detail .back{justify-self:start}
.legal-body{display:grid;gap:var(--s-3);max-width:72ch}.legal-body h3{font-size:var(--text-ui);font-weight:600;margin-top:var(--s-4)}.legal-body p{color:var(--muted)}
.offer-body{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-7);margin-block:var(--s-5)}
.offer-body h3{margin-bottom:var(--s-4)}.offer-body ul{padding-left:20px;display:grid;gap:8px}.offer-body li,.offer-body p{color:var(--muted)}.offer-body p+p{margin-top:var(--s-4)}
.boundary{background:var(--surface-2);padding:var(--s-5);border-radius:var(--r-md)}

/* Intake: full-width wizard sized to fit one 1366x720 window (≈560px of content below the header) */
.intake{padding-block:var(--s-2) var(--s-7);scroll-margin-top:calc(var(--header-h) + 8px);display:grid;gap:var(--s-5)}
.intake-head{display:flex;flex-wrap:wrap;align-items:end;justify-content:space-between;gap:var(--s-4) var(--s-7)}
.intake-head .eyebrow{margin-bottom:var(--s-2)}.intake-head h2{font-size:clamp(1.75rem,1.2rem + 1.6vw,2.75rem)}
.stepper{list-style:none;padding:0;display:flex;gap:var(--s-2);flex:1 1 420px;max-width:640px;counter-reset:step}
.stepper li{flex:1;counter-increment:step;font-size:var(--text-label);font-weight:500;color:var(--muted);padding-top:10px;border-top:3px solid var(--line);transition:border-color var(--dur-3) var(--ease-out),color var(--dur-3) var(--ease-out)}
.stepper li::before{content:counter(step) " · "}.stepper li.on{color:var(--ink);border-color:var(--accent)}.stepper li.done{border-color:var(--ink)}
.form{display:grid;gap:var(--s-4)}
.step{border:0;margin:0;padding:0;min-width:0;display:grid;gap:var(--s-4);align-content:start}
.step-title:focus{outline:none}.step-title{padding:0;margin-bottom:var(--s-3);font-size:clamp(1.25rem,1.1rem + .5vw,1.625rem);font-weight:600;letter-spacing:-.02em;line-height:1.2}
/* Wizard: steps share one grid cell so the panel keeps a steady height; the current one slides in, others slide out by direction. */
.js .form.stepped .steps{display:grid;overflow:hidden;padding:4px;margin:-4px}
.js .form.stepped .step{grid-area:1/1;transition:transform 420ms cubic-bezier(.65,0,.35,1),visibility 0s linear 420ms}
.js .form.stepped .step.before{transform:translateX(calc(-100% - 48px));visibility:hidden}
.js .form.stepped .step.after{transform:translateX(calc(100% + 48px));visibility:hidden}
.js .form.stepped .step.current{transform:none;visibility:visible;transition-delay:0s}
.steps{display:grid;gap:var(--s-6)}
.picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,auto);grid-auto-flow:column;gap:var(--s-3)}
.pick{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) 20px;align-items:center;gap:var(--s-3);min-height:68px;padding:var(--s-3) var(--s-4);border:1.5px solid transparent;border-radius:var(--r-md);background:var(--surface);box-shadow:var(--shadow-1);cursor:pointer;font-weight:400;transition:border-color var(--dur-1) var(--ease-out),transform var(--dur-1) var(--ease-out)}
.pick::after{content:"";width:20px;height:20px;border-radius:50%;border:1.5px solid var(--line-strong);box-sizing:border-box}
.pick:hover{border-color:var(--line-strong);transform:translateY(-1px)}
.pick input{position:absolute;inset:0;opacity:0;pointer-events:none}
.pick .i{width:28px;height:28px;stroke-width:1.5}
.pick b{display:block;font-size:var(--text-ui);font-weight:600;line-height:1.3}.pick small{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-weight:400;color:var(--muted);line-height:1.35}
.pick:has(input:checked){border-color:var(--ink)}.pick:has(input:checked)::after{border:6px solid var(--accent);background:var(--ink)}
.pick:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}
.step-cols{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--s-5) var(--s-6);align-items:start}
.col-contact{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4)}
.col-brief textarea{min-height:168px}
.field{display:grid;gap:6px;align-content:start}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-5)}
label,.field>label{font-size:var(--text-ui);font-weight:600}.opt{font-weight:400;color:var(--muted)}
input,select,textarea{width:100%;min-height:52px;padding:12px 14px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);font-size:var(--text-ui);line-height:1.4}
textarea{min-height:150px;resize:vertical}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:0;border-color:var(--focus)}
[aria-invalid=true]{border-color:var(--error)}
.field-error{color:var(--error);font-size:var(--text-ui);font-weight:500}.field-error::before{content:"⚠ "}
.step-nav{display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-4);align-items:center;margin-top:var(--s-2)}
.step[data-step="1"] .step-nav{justify-content:space-between}
.status{padding:var(--s-4) var(--s-5);border-radius:var(--r-md);background:var(--surface-2);font-size:var(--text-ui)}.status.error{background:#FBE9E7;color:var(--error)}.status ul{margin-top:8px;padding-left:20px}.status a{color:inherit}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.intake-foot .link{min-height:0;color:var(--cobalt)}
.confirmation{padding:var(--s-6);border-radius:var(--r-lg);background:var(--surface);box-shadow:var(--shadow-2);display:grid;gap:var(--s-3);justify-items:start}.reference{font-family:var(--font-mono)}
@media(max-width:1023px){.picker{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-flow:row}.pick small{white-space:normal}.step-cols{grid-template-columns:minmax(0,1fr)}}
@media(max-width:599px){.picker,.col-contact{grid-template-columns:minmax(0,1fr)}.pick{min-height:64px}.col-brief textarea{min-height:140px}}

/* FAQ */
.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:var(--s-7);padding-top:0}
.faq-list{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);min-height:64px;padding-block:var(--s-4);font-size:20px;font-weight:600;letter-spacing:-.01em;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}.faq summary .i{transition:transform var(--dur-2) var(--ease-out)}.faq details[open] summary .i{transform:rotate(180deg)}
.faq details p{padding-bottom:var(--s-5);color:var(--muted);max-width:65ch}

/* Footer (ink) */
.footer{background:var(--dark);color:var(--on-dark);padding-block:var(--section) var(--s-6)}
.footer :focus-visible{outline-color:var(--focus-on-dark)}
.footer-cta{display:grid;gap:var(--s-5);justify-items:start;padding:clamp(32px,6vw,88px);border-radius:var(--r-lg);background:linear-gradient(90deg,rgb(22 19 15/.9),rgb(22 19 15/.45) 55%,rgb(22 19 15/.05)),url(assets/cta-street.webp) center/cover var(--dark)}
.closing{font-size:var(--text-xl);font-weight:600;line-height:1.02;letter-spacing:-.035em;max-width:16ch;text-wrap:balance}
.footer-cols{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--s-6);padding-block:var(--s-7)}
.footer-cols .logo{color:var(--on-dark);align-self:start}
.footer-cols nav,.footer-cols div{display:grid;gap:var(--s-2);align-content:start}
.footer-cols b{font:500 var(--text-label)/1.3 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--on-dark-muted);margin-bottom:var(--s-2)}
.footer-cols a:not(.logo){color:var(--on-dark);text-decoration:none;min-height:32px;display:flex;align-items:center}.footer-cols a:not(.logo):hover{text-decoration:underline;text-underline-offset:4px}
.foot-place{color:var(--on-dark-muted);min-height:32px;display:flex;align-items:center}
.footer-meta{display:flex;flex-wrap:wrap;gap:var(--s-3) var(--s-6);font-size:var(--text-label);color:var(--on-dark-muted)}

/* Motion: opt-in, entrance states hidden only when JS runs and motion is allowed */
@media(prefers-reduced-motion:no-preference){
 .hero-title,.hero-lede,.hero .actions,.microcopy{animation:rise var(--dur-hero) var(--ease-out) both}
 .hero-lede{animation-delay:80ms}.hero .actions{animation-delay:140ms}.microcopy{animation-delay:180ms}
 .stage-wrap{animation:rise var(--dur-hero) 200ms var(--ease-out) both}
 .js .flow-card.ready li{opacity:0}
 .js .flow-card.play li{animation:rise var(--dur-4) var(--ease-out) both}
 .js .flow-card.play li:nth-child(2){animation-delay:700ms}.js .flow-card.play li:nth-child(3){animation-delay:1400ms}.js .flow-card.play li:nth-child(4){animation-delay:2200ms}
 .js .reveal{opacity:0;transform:translateY(16px);transition:opacity var(--dur-4) var(--ease-out),transform var(--dur-4) var(--ease-out)}
 .js .reveal.in{opacity:1;transform:none}
}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.button:hover,.pick:hover{transform:none}}

/* Responsive */
@media(max-width:1023px){
 .stage{grid-template-columns:1fr}.stage .browser{order:-1}
 .build{grid-template-columns:minmax(0,1fr)}
 .tile,.about,.faq,.offer-body{grid-template-columns:minmax(0,1fr)}.tile:nth-child(even) .tile-copy{order:0}
.process{grid-template-columns:1fr 1fr}.footer-cols{grid-template-columns:1fr 1fr}
}
@media(max-width:767px){
 .nav-links>a:not(.button){display:none}
 .logo-mark{width:110px;height:21px}
 .collage{gap:var(--s-3)}.c-card{padding:var(--s-3) var(--s-4)}.c-chart svg{height:48px}.c-chart .tag{position:static;justify-self:start;margin-bottom:4px}
 .cases,.field-row{grid-template-columns:1fr}.ma-row{grid-template-columns:1.6fr .7fr .7fr;font-size:14px}.ma-row span:nth-child(2){display:none}
 .mock{min-height:0;padding-inline:14px}.ms-bar i{display:none}.ms-hero b{font-size:17px}.ms-form{grid-template-columns:1fr}.ms-form em{justify-self:start}.mt-row{grid-template-columns:1.1fr 1fr .9fr;padding-inline:10px;font-size:14px}
 .mock-board{grid-template-columns:1fr 1fr}.mb-col:last-child{display:none}
}
@media(max-width:479px){
 .process{grid-template-columns:1fr}.footer-cols{grid-template-columns:1fr}
 .hero .actions .button{flex:1 1 100%}
 .stage-wrap{padding-inline:0}.stage{border-radius:0}
}

/* Blog + admin. Appended to styles.css by build.py, so all site tokens and components apply. */
.blog main,.admin main{min-height:60vh}
.blog-head{padding-block:var(--section) var(--s-7)}
.blog-head h1,.post-head h1{font-size:var(--text-xl);line-height:1.02;letter-spacing:-.035em;max-width:18ch;margin-bottom:var(--s-5)}
.blog-head .lede a{color:var(--cobalt)}

.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:var(--s-7) var(--s-6);padding-bottom:var(--section)}
.post-card{display:grid;gap:var(--s-3);align-content:start}
.post-card img{aspect-ratio:1200/630;width:100%;object-fit:cover;border-radius:var(--r-md);background:var(--surface-2);margin-bottom:var(--s-2)}
.post-card h2{font-size:var(--text-h3);line-height:1.2;letter-spacing:-.02em}
.post-card h2 a{text-decoration:none}.post-card h2 a:hover{color:var(--accent-text)}
.post-card p:last-child{color:var(--muted)}
.post-meta{font:500 var(--text-label)/1.3 var(--font-mono);letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
.pager{display:flex;justify-content:space-between;align-items:center;gap:var(--s-4);padding-bottom:var(--section);font-size:var(--text-label)}
.pager a{color:var(--cobalt)}

.post{max-width:calc(760px + 2*var(--gutter));padding-block:var(--s-7) var(--section)}
.crumbs{font-size:var(--text-label);color:var(--muted);margin-bottom:var(--s-6)}.crumbs a{color:inherit}
.post-head{display:grid;gap:var(--s-4);margin-bottom:var(--s-7)}.post-head h1{margin-bottom:0}.post-head .lede{max-width:none}
.post-cover{margin:0 0 var(--s-7)}.post-cover img{width:100%;border-radius:var(--r-lg)}
.prose{font-size:1.1875rem;line-height:1.7}
.prose>*+*{margin-top:1.1em}
.prose h2{font-size:clamp(1.625rem,1.4rem + 1vw,2.25rem);margin-top:1.8em;line-height:1.15}
.prose h3{font-size:clamp(1.3rem,1.2rem + .4vw,1.5rem);margin-top:1.5em}
.prose h4{font-size:1.1875rem;margin-top:1.4em}
.prose a{color:var(--cobalt);text-underline-offset:3px}
.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.4em}
.prose blockquote{margin-inline:0;padding-left:var(--s-5);border-left:3px solid var(--accent);color:var(--muted);font-size:var(--text-lede)}
.prose img{border-radius:var(--r-md);margin-inline:auto}
.prose code{font:.9em var(--font-mono);background:var(--surface-2);padding:.1em .35em;border-radius:6px}
.prose pre{background:var(--dark);color:var(--on-dark);padding:var(--s-5);border-radius:var(--r-md);overflow-x:auto}
.prose pre code{background:none;padding:0;color:inherit}
.prose hr{border:0;border-top:1px solid var(--line);margin-block:2em}
.more-posts h2{margin-bottom:var(--s-6)}
.draft-banner{padding-block:var(--s-3);background:#FFF1E8;color:var(--accent-text);font-size:var(--text-label)}

/* Admin */
.admin-tag{font:500 var(--text-label)/1 var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-right:auto;margin-left:var(--s-4)}
.admin-nav{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2) var(--s-5);font-size:var(--text-label)}
.admin-nav a{text-decoration:none}.admin-nav form{display:contents}
.linkish{background:none;border:0;padding:0;color:var(--cobalt);text-decoration:underline;cursor:pointer;font-size:var(--text-label)}
.admin-narrow{max-width:calc(480px + 2*var(--gutter));padding-block:var(--s-8)}
.admin-wide{padding-block:var(--s-7) var(--s-8)}
.admin h1{font-size:var(--text-h2);line-height:1.08;letter-spacing:-.03em;margin-bottom:var(--s-5)}
.admin h2{font-size:var(--text-h3);margin-block:var(--s-5) var(--s-3)}
.admin-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--s-4);flex-wrap:wrap;margin-bottom:var(--s-5)}.admin-bar h1{margin:0}
.admin-form{display:grid;gap:var(--s-4)}
.admin-form label{display:grid;gap:6px;font-size:var(--text-label);font-weight:500}
.admin-form input:not([type=checkbox]):not([type=file]),.admin-form select,.admin-form textarea,.row-actions input{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);font-size:var(--text-ui);font-weight:400}
.admin-form textarea{resize:vertical;line-height:1.55}
#f-body{font:15px/1.6 var(--font-mono);min-height:420px}
.admin-form small{font-weight:400;color:var(--muted)}.admin-form small.warn{color:var(--accent-text)}
.admin-form fieldset{border:1px solid var(--line);border-radius:var(--r-md);padding:var(--s-4);display:grid;gap:var(--s-3);margin:0}
.admin-form legend{font-size:var(--text-label);font-weight:500;padding-inline:4px}
.admin-form label.check{display:flex;align-items:center;gap:8px;font-weight:400}
.admin-form .button{justify-self:start}
.slug-row{display:flex;align-items:center;gap:4px;font:400 var(--text-ui) var(--font-mono);color:var(--muted)}
.editor{grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:var(--s-6)}
.editor-main,.editor-side{display:grid;gap:var(--s-4)}
.editor-side{position:sticky;top:calc(var(--header-h) + 16px)}
.md-tools{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:-8px}
.md-tools button,.md-tools .md-img{min-height:36px;padding:0 12px;border:1px solid var(--line-strong);border-radius:var(--r-sm);background:var(--surface);cursor:pointer;font-size:var(--text-label);display:inline-flex !important;align-items:center}
.md-help{font-size:var(--text-label);color:var(--muted)}.md-help code{font-family:var(--font-mono)}
.cover-thumb{border-radius:var(--r-sm);aspect-ratio:1200/630;object-fit:cover;width:100%}
.seo-check{font-size:var(--text-label);background:var(--surface-2);border-radius:var(--r-md);padding:var(--s-4)}
.seo-check ul{list-style:none;padding:0;margin-top:var(--s-2);display:grid;gap:4px}
.seo-check .ok{color:var(--success)}.seo-check .todo{color:var(--muted)}
.danger{margin-top:var(--s-6)}.danger .linkish{color:var(--error)}
.flash{padding:var(--s-3) var(--s-4);border-radius:var(--r-sm);background:#E9F6EE;color:var(--success);margin-bottom:var(--s-5);font-size:var(--text-label)}
.flash.error{background:#FDECEA;color:var(--error)}
.table-wrap{overflow-x:auto}
.admin table{width:100%;border-collapse:collapse;font-size:var(--text-label)}
.admin th,.admin td{text-align:left;padding:12px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.admin th{font:500 .75rem var(--font-mono);text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.pill{display:inline-block;padding:2px 10px;border-radius:var(--r-pill);font-size:.75rem;background:var(--surface-2)}
.pill.published{background:#E9F6EE;color:var(--success)}
.row-actions{display:flex;gap:var(--s-4);align-items:start;flex-wrap:wrap}
.row-actions form{display:flex;gap:8px;margin-top:8px}
.row-actions summary{cursor:pointer;color:var(--cobalt)}
.user-add{max-width:480px;margin-top:var(--s-7)}
@media(max-width:900px){.editor{grid-template-columns:1fr}.editor-side{position:static}}
.admin-form .check input{all:revert;width:18px;height:18px;margin:0}
.md-only[hidden]{display:none !important}
.editor-main .tox-tinymce{border-color:var(--line-strong);border-radius:var(--r-sm)}
.editor-head{display:flex;align-items:end;justify-content:space-between;gap:var(--s-4);margin-bottom:-8px}
.editor-tabs{display:flex;gap:4px}
.editor-tabs button{min-height:36px;padding:0 16px;border:1px solid var(--line-strong);border-bottom:0;border-radius:var(--r-sm) var(--r-sm) 0 0;background:var(--surface-2);color:var(--muted);font-size:var(--text-label);cursor:pointer}
.editor-tabs button[aria-selected=true]{background:var(--surface);color:var(--ink);font-weight:600}
