:root{--bg:#F5F1EA;--accent:#A23E1C;--s6:32px;--s7:48px;--line:color-mix(in oklab,var(--ink) 14%,var(--bg));--navy:color-mix(in oklab,var(--a-l) 20%,#07090B);--cream:#F5F1EA;--sig:#E27A4E;--sans:"DM Sans",system-ui,sans-serif;--serif:var(--sans);--r:2px;--r-card:0;--s4:16px;--s5:24px;--s8:64px;--pad:clamp(3.5rem,2rem + 4vw,6rem);--m:9rem}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--accent:var(--sig);--bg:var(--bg-dk)}}:root[data-theme=dark]{color-scheme:dark;--accent:var(--sig);--bg:var(--bg-dk)}html{scroll-behavior:auto}*,::before,::after{box-sizing:border-box}[hidden]{display:none!important}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 var(--sans)}h1,h2,h3{margin:0;font-family:var(--sans);font-weight:700;line-height:1;letter-spacing:-.045em;text-wrap:balance}h1 em,h2 em,.stat .n span{font:italic 600 1em Fraunces,serif;letter-spacing:-.03em;color:var(--accent)}h1{font-size:clamp(3rem,1rem + 7vw,7.5rem);line-height:.92;letter-spacing:-.06em}h2{font-size:clamp(2rem,1.2rem + 2.8vw,3.5rem)}h3{font-size:1.35rem}p{margin:0;max-width:66ch}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.kicker,.step .k,.contact-list dt{font:700 .72rem/1.4 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.kicker{display:inline-flex;align-items:center;gap:10px}main{counter-reset:sec}.sec-head{counter-increment:sec;margin-bottom:clamp(2rem,1rem + 2.5vw,3.5rem)}.sec-head .kicker{display:block}.sec-head .kicker::before{content:counter(sec,decimal-leading-zero) " / "}.lead{font-size:1.15rem;color:var(--ink-2)}.actions{display:flex;flex-wrap:wrap;gap:12px}.brand,.nav a,.foot p a,.contact-list a,.btn{display:inline-flex;align-items:center;min-height:44px}.btn{justify-content:center;min-height:52px;padding:0 26px;border:1px solid transparent;border-radius:var(--r);font:700 .95rem/1 var(--sans);text-decoration:none;cursor:pointer}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-secondary{border-color:var(--edge);color:var(--ink)}.top{position:sticky;top:0;z-index:5;border-bottom:1px solid var(--line)}.nav,.nav ul,.foot .links,.tags{display:flex;flex-wrap:wrap;align-items:center;gap:0 28px;list-style:none}.nav ul,.foot .links,.tags{margin:0;padding:0}.brand{margin-right:auto;font:700 1.2rem/1 var(--sans);letter-spacing:-.04em;color:var(--ink);text-decoration:none;min-height:64px}.nav a{min-height:48px;color:var(--ink-2);font:500 .9rem/1 var(--sans);text-decoration:none}.nav li:last-child a{padding:0 18px;min-height:44px;background:var(--accent);color:var(--on-accent);border-radius:var(--r)}.wrap.hero{grid-template-columns:minmax(0,1fr);grid-template-areas:"k" "h" "l" "a" "m";gap:24px;padding-block:clamp(3rem,1.5rem + 4vw,5.5rem) var(--pad)}.wrap.hero,#approach{box-shadow:0 0 0 100vmax var(--bk);clip-path:inset(0 -100vmax)}.hero-text{display:contents}.hero .kicker{grid-area:k}.hero h1{grid-area:h}.hero .lead{grid-area:l}.hero .actions{grid-area:a}.hero-media{grid-area:m;margin-top:16px}.hero-media>img{aspect-ratio:2/1;object-position:50% 35%}.hero-media svg{display:block;width:100%;height:20rem}.hero .kp-credits{grid-area:m;place-self:end;writing-mode:vertical-rl;margin:0 calc(-1*var(--gutter)) 0 0;font-size:10px}main img{filter:grayscale(1) contrast(1.2)}main>section{padding-block:var(--pad)}.dk,.top,.wrap.hero,.foot{--bk:var(--navy);background:var(--bk);color:var(--cream);--ink:var(--cream);--line:#F5F1EA26;--ink-2:color-mix(in srgb,var(--cream) 74%,var(--navy));--edge:#F5F1EA73;--surface:color-mix(in srgb,var(--cream) 6%,var(--navy));--accent:var(--sig);--on-accent:#06080B}#approach{--bk:var(--sig);background:var(--bk);color:#16120B;--ink:#16120B;--ink-2:#2B1D12;--line:#16120B45;--accent:#16120B}[data-list].services{grid-template-columns:minmax(0,1fr);gap:0;border-top:2px solid var(--ink);counter-reset:svc}.svc{counter-increment:svc;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n m" "h h" "p p" "t t";gap:10px 24px;padding:28px 0;border-bottom:1px solid var(--line)}.svc::before{content:counter(svc,decimal-leading-zero);grid-area:n;font:700 clamp(2.5rem,1.6rem + 2.4vw,4rem)/.85 var(--sans);letter-spacing:-.06em;color:var(--accent)}.svc h3{grid-area:h;font-size:1.7rem}.svc>p{grid-area:p;color:var(--ink-2)}.svc .mark{grid-area:m;width:28px;height:28px}.svc .mark svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.75}.tags{grid-area:t;gap:4px 20px;font:700 .72rem/1.5 var(--sans);color:var(--ink-2)}.form,.field,.cta-grid,.contact-list,.foot-in,.stat,.step,.sec-head{display:grid;gap:16px;align-content:start}.stat,.field{gap:6px}.cta-grid{gap:48px}.stat,.step{padding-top:20px;border-top:2px solid var(--line)}.step{border-top-color:var(--ink)}.stat .n{font:700 1.35rem/1 var(--sans);white-space:nowrap;color:var(--ink-2)}.stat .n span{font-size:2.9em;font-style:normal}.stat .l{margin-top:14px;font-weight:700}.stat .note,.step p:last-child{color:var(--ink-2)}#office-band{max-width:none;margin:0;padding:0}#office-band small{padding:8px var(--gutter)}.field label{font-weight:700}.field input,.field textarea{width:100%;min-height:52px;padding:12px 14px;border:1px solid var(--edge);border-radius:var(--r);background:var(--surface);color:var(--ink);font:inherit}.field textarea{min-height:120px}.form-msg{color:var(--accent);min-height:1.4em}.form-msg.bad{color:#ffb4a8}.contact-list{margin:0}.contact-list dd{margin:6px 0 0;font:700 1.15rem/1.4 var(--sans)}.foot-in{padding-block:64px}.foot .brand{font-size:1.8rem}.foot a{color:inherit}.foot .note{font-size:.8rem;opacity:.75}@media (min-width:900px){.wrap.hero{grid-template-columns:var(--m) minmax(0,1fr) minmax(0,.7fr);grid-template-areas:"k k k" "h h h" ". l a" "m m m";column-gap:32px}.hero .actions{place-self:end}.sec-head{grid-template-columns:var(--m) minmax(0,1fr) minmax(0,.8fr);column-gap:32px;align-items:end;max-width:none}.sec-head .kicker{align-self:start;padding-top:.5em}.svc{grid-template-columns:var(--m) minmax(0,1fr) minmax(0,1.2fr) 28px;grid-template-areas:"n h p m" "n h t m";column-gap:32px}[data-list].stats{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:0 64px}.stat:first-child{grid-row:span 3;border:0;padding:0}.stat:first-child .n span{font-size:10em}}@media (max-width:899px){.hero-media>img{aspect-ratio:4/3}[data-list].stats{grid-template-columns:1fr 1fr;gap:24px}.stat:first-child{grid-column:1/-1}.stat:first-child .n span{font-size:4.5em}.nav ul{column-gap:14px}.nav a{font-size:.85rem}.nav li:last-child a{padding:0 12px}}@layer kit-default{html{scroll-behavior:smooth}main{display:block}.wrap{max-width:var(--page);margin-inline:auto;padding-inline:var(--gutter)}section{padding-block:var(--s8);border-top:1px solid var(--line)}main>section:first-child{border-top:0}.sec-head{margin-bottom:var(--s6);max-width:64ch}[data-list]{display:grid;gap:var(--s4);grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr));margin:0;padding:0;list-style:none}[data-list].steps{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}[data-list].stats{grid-template-columns:repeat(auto-fill,minmax(min(100%,200px),1fr));gap:var(--s5)}[data-item]{min-width:0}.hero{display:grid;gap:var(--s6);padding-block:var(--s7) var(--s8);align-items:center}.hero-text{display:grid;gap:var(--s4);justify-items:start;align-content:center;min-width:0}.hero-media{min-width:0}.cta-grid{grid-template-columns:minmax(0,1fr)}@media (min-width:900px){.hero{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.cta-grid{grid-template-columns:minmax(0,1fr) minmax(0,20rem);align-items:start}}@media (max-width:899px){.hero-media{order:2}.hero-text{order:1}}}
/* house tokens this page does not define (code added in a build may use them): house SPEC values, light + dark */
:where(:root){--c1:#2A5BD7;--c2:#D9622B;--c3:#13936A;--c4:#B98000;--c5:#C2528B}@media (prefers-color-scheme:dark){:where(:root:not([data-theme=light])){--c1:#5B86F0;--c2:#E0703C;--c3:#22A77A;--c4:#B8880F;--c5:#D2649A}}:where(:root[data-theme=dark]){--c1:#5B86F0;--c2:#E0703C;--c3:#22A77A;--c4:#B8880F;--c5:#D2649A}
/* tap-targets (phones only; desktop untouched): controls >= 44 px, inputs 16 px so iOS does not zoom */@media (max-width:600px){a[href]:not(p a,li p a,blockquote a,figcaption a,td a,dd a,label a),button,[role=button],[onclick],summary,select,input:not([type=hidden],[type=checkbox],[type=radio],[type=range]){min-height:44px!important;min-width:44px!important}input[type=range]{min-height:44px}:where(a[href]:not(p a,li p a,blockquote a,figcaption a,td a,dd a,label a)){display:inline-flex;align-items:center;justify-content:center}input,select,textarea{font-size:max(16px,1em)!important}}
