:root{--bg:#fafaf7;--bg-warm:#f6f3ec;--panel:#f2f0ea;--panel-warm:#ece7da;--panel-blue:#eef1f5;--fg:#0f172a;--fg-muted:rgba(15,23,42,0.58);--fg-subtle:rgba(15,23,42,0.40);--rule:rgba(15,23,42,0.10);--rule-strong:rgba(15,23,42,0.22);--rule-cool:rgba(15,23,42,0.08);--seal-blue:#004990;--seal-cream:#f6efe2;--accent:#004990;--kraft-light:#e2b67c;--kraft-mid:#c89361;--kraft:#a47246;--kraft-deep:#6b4423;--kraft-ink:#4a2e18;--accent-soft:#f4e4cc;--ok:#15a386;--warn:#ea8a1a;--crit:#e0322a;--info:#1d76d6;--serif:"Source Serif 4", Charter, "Iowan Old Style", Georgia, serif;--sans:"PT Sans", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--t-hero:48px;--t-display:36px;--t-h1:32px;--t-h2:24px;--t-h3:20px;--t-lead:17px;--t-body:14px;--t-body-sm:13px;--t-meta:11px;--t-mono-sm:10px;--t-mono-xs:9px;--track-hero:-1.6px;--track-display:-1.2px;--track-h2:-0.4px;--track-mono:2px;--track-chip:1.5px;--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:44px;--s-8:56px;--s-9:72px;--r-0:0px;--r-1:2px;--r-2:4px;--r-3:8px;--shadow-paper:0 4px 24px rgba(0,0,0,0.08);--shadow-flat:0 1px 0 var(--rule);--page-w:1100px;--page-pad:64px}html,body{background:var(--bg);color:var(--fg)}body{font-family:var(--sans);font-size:var(--t-body);line-height:1.55;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.h-hero,h1.hero{font-family:var(--serif);font-weight:600;font-size:var(--t-hero);line-height:1.05;letter-spacing:var(--track-hero);color:var(--fg);max-width:18ch;margin:0 0 var(--s-4);text-wrap:balance}h1,.h1{font-family:var(--serif);font-weight:600;font-size:var(--t-h1);line-height:1.1;letter-spacing:-.6px;margin:0 0 var(--s-3)}h2,.h2{font-family:var(--serif);font-weight:600;font-size:var(--t-h2);line-height:1.2;letter-spacing:var(--track-h2);margin:0 0 var(--s-3)}h3,.h3{font-family:var(--serif);font-weight:600;font-size:var(--t-h3);line-height:1.3;letter-spacing:-.2px;margin:0 0 var(--s-2)}.lead{font-family:var(--sans);font-size:var(--t-lead);line-height:1.5;color:var(--fg-muted);max-width:820px;text-wrap:pretty}p{margin:0 0 var(--s-3);text-wrap:pretty}.muted{color:var(--fg-muted)}.subtle{color:var(--fg-subtle)}.section-label,.eyebrow{font-family:var(--mono);font-size:var(--t-mono-sm);font-weight:500;letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--accent);display:inline-flex;align-items:center;gap:var(--s-2)}.numbered-label::before{content:attr(data-num)" · ";color:var(--fg-subtle)}.mono,code,kbd,samp{font-family:var(--mono);font-size:var(--t-meta)}.chip{font-family:var(--mono);font-size:var(--t-mono-sm);letter-spacing:var(--track-chip);text-transform:uppercase;color:var(--fg-muted);padding:4px 8px;border:1px solid var(--rule);border-radius:var(--r-1);background:0 0;display:inline-block}.chip--filled{border:none;background:var(--panel)}.chip--accent{color:var(--accent);border-color:var(--accent)}hr,.hr{border:0;border-top:1px solid var(--rule-strong);margin:var(--s-6)0}.hr--soft{border-top-color:var(--rule)}.tabular{font-variant-numeric:tabular-nums}*{box-sizing:border-box}a{color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}a:hover{text-decoration-thickness:2px}ul{padding:0;margin:0}img,svg{display:block;max-width:100%}html{scroll-behavior:smooth}body{background:var(--panel-warm)}.page{max-width:var(--page-w);margin:0 auto;background:var(--bg);box-shadow:var(--shadow-paper);min-height:100vh}.site-header{display:flex;justify-content:space-between;align-items:center;padding:var(--s-5)var(--page-pad);border-bottom:1px solid var(--rule-strong);gap:var(--s-5)}.wordmark{display:inline-flex;align-items:center;gap:var(--s-3);font-family:var(--mono);font-weight:300;font-size:18px;letter-spacing:0;color:var(--fg);text-decoration:none}.wordmark__mark{width:22px;height:22px;flex:none}.site-nav{display:flex;gap:var(--s-6);align-items:center;flex-wrap:wrap}.site-nav a{font-family:var(--sans);font-size:13px;color:var(--fg);text-decoration:none;letter-spacing:-.1px}.site-nav a:hover{color:var(--accent);text-decoration:underline;text-decoration-thickness:2px}.site-nav__cta{font-family:var(--mono) !important;font-size:var(--t-mono-sm) !important;letter-spacing:var(--track-chip);text-transform:uppercase;color:var(--accent) !important;border:1px solid var(--accent);padding:8px 14px;border-radius:var(--r-1)}.site-nav__cta:hover{background:var(--accent);color:var(--seal-cream) !important;text-decoration:none}.eyebrow{display:inline-flex;align-items:center;gap:var(--s-2);margin-bottom:var(--s-3)}.eyebrow__mark{width:20px;height:20px;display:inline-flex}.eyebrow__mark svg{width:100%;height:100%}.eyebrow__label{font-family:var(--mono);font-size:var(--t-mono-sm);font-weight:500;letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--accent)}.eyebrow__num{color:var(--fg-subtle)}.hero{padding:88px var(--page-pad)72px;border-bottom:1px solid var(--rule-strong)}.hero__title{font-family:var(--serif);font-weight:600;font-size:60px;line-height:1.04;letter-spacing:var(--track-hero);color:var(--fg);margin:0 0 var(--s-5);max-width:900px;text-wrap:balance}.hero__title em{font-style:italic;color:var(--accent)}.hero__title-break{display:block;margin-top:.2em;font-style:italic;font-weight:400;color:var(--fg-muted)}.hero__lead{font-family:var(--sans);font-size:var(--t-lead);line-height:1.5;color:var(--fg-muted);max-width:720px;margin:0 0 var(--s-7);text-wrap:pretty}.cta-row{display:flex;gap:var(--s-4);align-items:center;flex-wrap:wrap}.btn{display:inline-block;font-family:var(--sans);font-size:14px;font-weight:500;border-radius:var(--r-1);padding:12px 22px;text-decoration:none;cursor:pointer;border:1px solid transparent;line-height:1.2}.btn--primary{background:var(--accent);color:var(--seal-cream)}.btn--primary:hover{background:color-mix(in oklch,var(--accent) 92%,black);color:var(--seal-cream);text-decoration:none}.btn--text{color:var(--accent);padding:12px 0;background:0 0}.btn--text:hover{text-decoration-thickness:2px}.numbered{padding:var(--s-8)var(--page-pad);border-bottom:1px solid var(--rule)}.numbered__title{font-family:var(--serif);font-weight:600;font-size:var(--t-h1);letter-spacing:-.6px;line-height:1.15;margin:0 0 var(--s-4);max-width:760px;text-wrap:balance;color:var(--fg)}.numbered__lead{font-family:var(--sans);font-size:16px;line-height:1.55;color:var(--fg-muted);max-width:760px;margin:0 0 var(--s-7);text-wrap:pretty}.trigger-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--rule);border:1px solid var(--rule)}.trigger{background:var(--bg);padding:28px 24px 24px;display:flex;flex-direction:column;transition:background .2s ease}.trigger:hover{background:var(--panel)}.trigger__num{font-family:var(--mono);font-size:var(--t-mono-sm);letter-spacing:var(--track-mono);font-weight:500;color:var(--accent);margin-bottom:var(--s-3)}.trigger__title{font-family:var(--serif);font-weight:600;font-size:19px;line-height:1.25;letter-spacing:-.2px;margin:0 0 var(--s-3);color:var(--fg);text-wrap:balance}.trigger__body{font-family:var(--sans);font-size:14px;line-height:1.55;color:var(--fg-muted);margin:0 0 var(--s-5);flex:1}.trigger__cta{align-self:flex-start;font-family:var(--sans);font-size:14px;font-weight:500;color:var(--fg);background:0 0;border:none;cursor:pointer;padding:0 0 2px;border-bottom:1px solid var(--fg);transition:color .2s,border-color .2s}.trigger__cta::after{content:' →'}.trigger__cta:hover{color:var(--accent);border-color:var(--accent)}.service-stack{display:grid;grid-template-columns:1fr;gap:var(--s-4);margin-top:var(--s-2)}.service-card{position:relative;background:var(--bg);border:1px solid var(--rule);border-radius:var(--r-2);padding:var(--s-6)var(--s-7);transition:border-color .4s ease,background .4s ease,box-shadow .4s ease}.service-card.highlighted{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 4px rgba(0,73,144,8%)}.service-card__id{font-family:var(--mono);font-size:var(--t-mono-sm);letter-spacing:var(--track-mono);text-transform:uppercase;color:var(--accent);font-weight:500;margin-bottom:var(--s-2)}.service-card__name{font-family:var(--serif);font-weight:600;font-size:24px;line-height:1.2;letter-spacing:-.4px;margin:0 0 var(--s-3);color:var(--fg)}.service-card__body{font-family:var(--sans);font-size:15px;line-height:1.6;color:var(--fg-muted);margin:0;text-wrap:pretty}.service-card__banner{position:absolute;top:0;right:24px;transform:translateY(-50%);font-family:var(--mono);font-size:var(--t-mono-xs);letter-spacing:var(--track-mono);text-transform:uppercase;background:var(--accent);color:var(--seal-cream);padding:5px 10px;opacity:0;transition:opacity .4s ease;pointer-events:none}.service-card.highlighted .service-card__banner{opacity:1}.about__text{font-family:var(--serif);font-weight:400;font-size:22px;line-height:1.5;max-width:760px;letter-spacing:-.005em;color:var(--fg);text-wrap:pretty}.about__text strong{font-weight:600;color:var(--fg)}.cal-embed{width:100%;min-height:720px;border:1px solid var(--rule);border-radius:var(--r-2);background:var(--bg);overflow:hidden;margin-top:var(--s-2)}.site-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:var(--s-4);padding:var(--s-6)var(--page-pad);border-top:1px solid var(--rule-strong)}.site-footer__brand{display:inline-flex;align-items:center;gap:var(--s-3);font-family:var(--mono);font-weight:300;letter-spacing:0;color:var(--fg)}.site-footer__brand .wordmark__mark{width:18px;height:18px}.site-footer__meta{font-family:var(--mono);font-size:var(--t-meta);color:var(--fg-subtle);letter-spacing:var(--track-chip);text-transform:uppercase}.site-footer__links a{font-family:var(--mono);font-size:var(--t-mono-sm);letter-spacing:var(--track-chip);text-transform:uppercase;color:var(--accent)}@media(max-width:880px){:root{--page-pad:28px}.site-header{flex-direction:column;align-items:flex-start}.site-nav{gap:var(--s-4)}.hero{padding:56px var(--page-pad)48px}.hero__title{font-size:40px;letter-spacing:-1px}.numbered{padding:var(--s-7)var(--page-pad)}.numbered__title{font-size:26px;letter-spacing:-.4px}.trigger-grid{grid-template-columns:1fr}.service-card{padding:var(--s-5)}.site-footer{flex-direction:column;align-items:flex-start}}