/* Catalyst edition 01.1. Shared shell for the homepage and Session C migrations.
   Tokens, fonts and artwork: references/approved-brand; see brand/PROVENANCE.md. */
@font-face{font-family:Fraunces;src:url('/assets/brand/Fraunces-Latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
@font-face{font-family:Fraunces;src:url('/assets/brand/Fraunces-Italic-Latin.woff2') format('woff2');font-style:italic;font-weight:100 900;font-display:swap}
@font-face{font-family:Inter;src:url('/assets/brand/Inter-Latin.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{
  --paper:#F4EDDD;--paper-deep:#ECE1CB;--surface:#FCF9F2;--app-surface:#FBF6E9;
  --ink:#2C2722;--ink-soft:#5B5347;--ink-faint:#5B5347;--hairline:#D8C9AD;
  --logo-cobalt:#1C49B8;--indigo-deep:#2F4E86;
  --pig-indigo:#8A9CC6;--pig-teal:#7CC0BA;--pig-amber:#E2C188;--pig-coral:#E3A591;
  --pig-rose:#D2A1BD;--pig-plum:#AB98C9;--pig-sage:#AABF90;
  --font-display:Fraunces,Georgia,serif;--font-ui:Inter,system-ui,sans-serif;
  --maxw:1280px;--pad:clamp(20px,4.5vw,64px);--ease:cubic-bezier(.22,.61,.36,1);
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;
  --space-8:32px;--space-12:48px;--space-16:64px;
  --radius-sm:8px;--radius-md:14px;--radius-lg:22px;--radius-xl:28px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:100px}
body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 var(--font-ui);-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
svg{max-width:100%}
a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}
a:hover{text-decoration-thickness:2px}
button,input,textarea,select{font:inherit;color:inherit}
button,a,summary{touch-action:manipulation}
button{cursor:pointer}
button:disabled{cursor:wait;opacity:.7}
:focus-visible{outline:3px solid var(--ink);outline-offset:5px}
[hidden]{display:none!important}
h1,h2,h3,h4,p,figure,blockquote{margin:0}
h1,h2,h3{font-family:var(--font-display);font-weight:450;letter-spacing:-.035em;line-height:1.12;text-wrap:pretty}
h2{font-size:clamp(36px,4vw,54px)}
h3{font-size:27px}
p+p{margin-top:16px}
.h-shell{max-width:var(--maxw);margin-inline:auto;padding-inline:var(--pad)}
.h-section{padding-block:clamp(64px,7vw,104px)}
.h-eyebrow{font-size:11px;line-height:1.5;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:20px}
.h-lead{font-size:18px;line-height:1.7;color:var(--ink-soft);max-width:56ch}
.h-note{font-size:13px;line-height:1.65;color:var(--ink-soft)}
.h-btn{display:inline-flex;justify-content:center;align-items:center;gap:12px;min-height:48px;padding:12px 22px;border:1px solid var(--ink);border-radius:var(--radius-sm);font-size:14px;line-height:1.4;font-weight:600;text-decoration:none;transition:background 180ms var(--ease),transform 180ms var(--ease)}
.h-btn:hover{text-decoration:none;transform:translateY(-2px)}
.h-btn-ink{background:var(--ink);color:var(--surface)}
.h-btn-ink:hover{background:#473e34}
.h-btn-ghost{background:transparent;color:var(--ink);border-color:var(--hairline)}
.h-btn-ghost:hover{background:var(--paper-deep)}
.h-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.h-text-link{display:inline-flex;align-items:center;gap:14px;font-weight:600;font-size:14px;min-height:44px}
.h-text-link span[aria-hidden]{font-size:20px}
.skip{position:fixed;left:16px;top:-100px;z-index:200;padding:14px 20px;background:var(--ink);color:var(--surface);border-radius:8px}
.skip:focus{top:12px}
.h-nav{position:sticky;top:0;z-index:50;background:var(--paper);border-bottom:1px solid var(--hairline)}
.h-nav-in{max-width:var(--maxw);padding:18px var(--pad);margin:auto;display:flex;align-items:center;justify-content:space-between;gap:28px}
.h-brand{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:29px;font-weight:600;line-height:1.2;letter-spacing:-1.2px;text-decoration:none;flex:none}
.h-brand:hover{text-decoration:none}
.h-brand img{width:40px;height:40px;flex:none}
.h-navlinks{display:flex;gap:27px;align-items:center}
.h-navlinks a{font-size:13px;text-decoration:none;color:var(--ink-soft);padding-block:10px}
.h-navlinks a:hover{text-decoration:underline;color:var(--ink)}
.h-nav-cta{display:flex;align-items:center;gap:12px}
.h-nav-cta .h-btn{min-height:42px;padding:10px 16px;font-size:13px}
.h-burger{display:none;align-items:center;justify-content:center;gap:10px;min-width:84px;min-height:44px;padding:8px 12px;border:1px solid var(--hairline);border-radius:8px;background:transparent;font-size:13px;font-weight:600}
.h-burger svg{width:18px;height:18px;stroke:currentColor;stroke-width:1.6;fill:none}
.h-mobnav{display:none}
.h-footer{padding-block:64px 28px;border-top:1px solid var(--hairline)}
.h-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px}
.h-foot-tag{max-width:28ch;margin-top:18px;color:var(--ink-soft);font-size:14px}
.h-foot-col h2{font:600 11px/1.5 var(--font-ui);letter-spacing:.14em;text-transform:uppercase;margin-bottom:14px}
.h-foot-col ul{list-style:none;padding:0;margin:0;display:grid;gap:4px}
.h-foot-col a{font-size:13px;display:inline-block;padding-block:5px;color:var(--ink-soft);text-decoration:none}
.h-foot-col a:hover{text-decoration:underline}
.h-foot-base{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--hairline);padding-top:24px;margin-top:48px;color:var(--ink-soft);font-size:11px}
.h-mail-error:empty,.h-mail-done:empty{display:none}
.h-mail-error,.h-mail-done{margin-top:16px;font-size:14px;line-height:1.6}
.h-mail-error{font-weight:600}
.h-mail-done{padding:18px;border:1px solid var(--hairline);background:var(--surface);border-radius:8px}
.h-mail-status{font-size:13px;min-height:22px;margin-top:8px}
.h-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.painted-wash{display:block;width:100%;height:100%;pointer-events:none;overflow:visible}
[data-reveal]{opacity:1;transform:none}
@media(max-width:1000px){.h-navlinks{gap:18px}.h-nav-in{gap:16px}}
@media(max-width:860px){
  .h-nav-in{padding-block:13px}.h-navlinks,.h-nav-cta>.h-btn{display:none}.h-burger{display:inline-flex}
  .h-mobnav{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;padding:8px var(--pad) 20px;border-top:1px solid var(--hairline);max-height:calc(100dvh - 72px);overflow-y:auto}
  .h-mobnav a{font-size:15px;padding:12px 0;text-decoration:none;border-bottom:1px solid var(--hairline)}
  .h-foot-grid{grid-template-columns:1.5fr 1fr;gap:32px}
}
@media(max-width:540px){.h-brand{font-size:27px}.h-brand img{width:36px;height:36px}.h-foot-grid{grid-template-columns:1fr 1fr;gap:28px 20px}.h-foot-brand{grid-column:1/-1}.h-foot-base{flex-direction:column;gap:8px}.h-actions .h-btn{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
