/* Shared theme, matching snacc.tech: graphite + orange, Instrument Sans / Source Serif 4 (self-hosted, OFL). */
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/instrument-sans-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Instrument Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/instrument-sans-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/source-serif-4-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:400 600;font-display:swap;src:url(fonts/source-serif-4-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root{
  color-scheme:light;
  --bg:#f4f4f3; --surface:#ffffff; --ink:#24272c; --muted:#636871; --line:#dcdddf;
  --graphite:#2b2e33; --on-graphite:#f1f1f0; --graphite-muted:#a9adb4;
  --orange:#b04c10; --orange-ink:#ffffff; --orange-hi:#f07a35; --orange-hi-ink:#17191c; --orange-soft:#fbe9dd;
  --ok:#2f7d55; --warn:#9e6714; --bad:#b5432c; --on-status:#ffffff;
  --sans:"Instrument Sans", "Segoe UI", Helvetica, Arial, sans-serif;
  --serif:"Source Serif 4", Georgia, "Times New Roman", serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#17191c; --surface:#1f2226; --ink:#e8e9ea; --muted:#a2a7ae; --line:#31353b;
    --graphite:#0f1113; --on-graphite:#eeeeed; --graphite-muted:#9da1a8;
    --orange:#f07a35; --orange-ink:#17191c; --orange-hi:#f07a35; --orange-hi-ink:#17191c; --orange-soft:#3a2518; --ok:#5cbf8a; --warn:#e0a74a; --bad:#ec7a62; --on-status:#17191c;
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#17191c; --surface:#1f2226; --ink:#e8e9ea; --muted:#a2a7ae; --line:#31353b;
  --graphite:#0f1113; --on-graphite:#eeeeed; --graphite-muted:#9da1a8;
  --orange:#f07a35; --orange-ink:#17191c; --orange-hi:#f07a35; --orange-hi-ink:#17191c; --orange-soft:#3a2518; --ok:#5cbf8a; --warn:#e0a74a; --bad:#ec7a62; --on-status:#17191c;
}

*{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}
h1,h2,h3{margin:0;line-height:1.15;letter-spacing:-.015em}
a{color:var(--orange)}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.eyebrow{font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--orange)}
.serif{font-family:var(--serif)}

/* Graphite header band; orange switches to the lighter tone there, as on snacc.tech */
header{position:sticky;top:0;z-index:6;background:var(--graphite);color:var(--on-graphite);border-bottom:1px solid rgba(255,255,255,.08);--orange:var(--orange-hi);--orange-ink:var(--orange-hi-ink)}
header .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;padding-block:14px}
.wrap{max-width:1040px;margin:0 auto;padding-inline:24px}
@media (max-width:520px){.wrap{padding-inline:16px}}
.logo{display:flex;align-items:center;gap:10px;color:var(--on-graphite);text-decoration:none;font-weight:700;font-size:18px;letter-spacing:.01em}
.logo svg{width:22px;height:22px;display:block;flex:none}
.logo .mark{fill:var(--orange)}
.logo span{font-weight:500;color:var(--graphite-muted)}
@media (max-width:520px){.logo span{display:none}}

/* Buttons: orange primary, outlined secondary */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:inherit;font-weight:600;font-size:15px;text-decoration:none;padding:11px 20px;border-radius:3px;border:1px solid var(--orange);background:var(--orange);color:var(--orange-ink);cursor:pointer}
.btn:hover{filter:brightness(1.07)}
.btn:disabled{opacity:.45;cursor:default;filter:none}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn.ghost:hover{border-color:var(--orange);filter:none}
.btn.danger{background:var(--bad);border-color:var(--bad);color:var(--on-status)}
.btn.sm{font-size:13.5px;padding:7px 12px}

input[type=text],input[type=password],input[type=tel],input:not([type]){font:inherit;font-size:16px;padding:11px 13px;border:1px solid var(--line);border-radius:3px;background:var(--bg);color:var(--ink);width:100%}
select,textarea{font:inherit;font-size:15px;padding:9px 11px;border:1px solid var(--line);border-radius:3px;background:var(--bg);color:var(--ink);width:100%}
textarea{resize:vertical;min-height:96px;line-height:1.45}
input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--orange);outline-offset:0;border-color:transparent}
audio{color-scheme:inherit}
