/* Fonts are self-hosted: the site loads nothing from third-party font or script hosts. */
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/PublicSans-normal-fd76a14f.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Public Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/PublicSans-normal-e969b806.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Tinos';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/Tinos-normal-d4ccb922.woff2) format('woff2')}
@font-face{font-family:'Tinos';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/Tinos-normal-27c65b6e.woff2) format('woff2')}
@font-face{font-family:'Tinos';font-style:italic;font-weight:400;font-display:swap;src:url(fonts/Tinos-italic-250d8daf.woff2) format('woff2')}

:root{
  --bg:#f6f7f9; --surface:#ffffff; --surface-2:#eef1f5;
  --ink:#16202c; --ink-2:#3c4a5a; --muted:#5b6878;
  --line:#d6dce4; --brand:#1b3a5c; --brand-ink:#ffffff;
  --accent:#a3531a; --accent-soft:#fbefe4;
  --ok:#1f6b43; --ok-soft:#e5f3eb; --soon:#7a5a00; --soon-soft:#fbf3d9;
  --focus:#2f6fd0; --paper:#fffdf8; --paper-ink:#1a1a1a;
  --radius:10px; --wrap:1080px;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#0f151c; --surface:#16202b; --surface-2:#1c2835;
    --ink:#e8edf3; --ink-2:#c3cdd8; --muted:#9aa8b8;
    --line:#2b3a4a; --brand:#9cc3ec; --brand-ink:#0f151c;
    --accent:#f0a669; --accent-soft:#33241a;
    --ok:#7fd3a3; --ok-soft:#173225; --soon:#f0cf6a; --soon-soft:#332a12;
    --focus:#8ab8ff; --paper:#f4f1ea; --paper-ink:#1a1a1a;
  }
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:400 17px/1.6 'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif}
img,svg{max-width:100%}
a{color:var(--brand);text-underline-offset:2px}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:3px}
h1,h2,h3{line-height:1.2;margin:0 0 .5em;color:var(--ink)}
h1{font-size:clamp(1.9rem,4.5vw,2.8rem);font-weight:700;letter-spacing:-.01em}
h2{font-size:clamp(1.4rem,3vw,1.75rem);font-weight:700;margin-top:1.6em}
h3{font-size:1.1rem;font-weight:600;margin-top:1.2em}
p{margin:0 0 1em}
ul,ol{padding-left:1.25em;margin:0 0 1em}
li{margin:.25em 0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}
.skip{position:absolute;left:-9999px;top:0;background:var(--surface);padding:8px 12px;z-index:10}
.skip:focus{left:8px;top:8px}

/* header */
.site-head{background:var(--surface);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:700;line-height:1.15}
.brand small{display:block;font-weight:500;color:var(--muted);font-size:.78rem}
.brand-mark{width:34px;height:34px;flex:none}
.nav{display:flex;flex-wrap:wrap;gap:4px 18px;list-style:none;margin:0;padding:0;font-size:.95rem}
.nav a{text-decoration:none;color:var(--ink-2);padding:4px 0;border-bottom:2px solid transparent}
.nav a:hover{color:var(--ink);border-bottom-color:var(--line)}
.nav a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent);font-weight:600}

/* hero */
.hero{padding:56px 0 40px}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:.6em}
.lede{font-size:1.15rem;color:var(--ink-2);max-width:38em}
.cta{display:flex;gap:12px;flex-wrap:wrap;margin-top:1.4em}
.btn{display:inline-block;padding:11px 18px;border-radius:8px;font-weight:600;text-decoration:none;border:2px solid var(--brand);font-size:1rem;cursor:pointer;font-family:inherit}
.btn-primary{background:var(--brand);color:var(--brand-ink)}
.btn-secondary{background:transparent;color:var(--brand)}
.page-head{padding:44px 0 8px}
.page-head .lede{margin-bottom:0}

/* document mock */
.paper{background:var(--paper);color:var(--paper-ink);font-family:'Tinos','Times New Roman',serif;border:1px solid #d9d3c4;border-radius:4px;padding:26px 26px 22px;box-shadow:0 18px 40px -22px rgba(10,20,30,.45);font-size:.92rem;line-height:1.45;transform:rotate(.6deg)}
.paper .t{text-align:center;font-weight:700;letter-spacing:.04em;margin-bottom:2px}
.paper .s{text-align:center;font-size:.8rem;margin-bottom:14px}
.paper .row{display:flex;justify-content:space-between;border-bottom:1px solid #cfc8b6;padding:3px 0;font-size:.82rem}
.paper .charge{margin:14px 0 8px;padding:8px 10px;border-left:3px solid #8a6a3a;background:#f6f0e2}
.paper .charge b{display:block}
.paper .fill{background:#e9e2d0;border-radius:2px;color:transparent;user-select:none}
.paper .tag{display:inline-block;font-family:'Public Sans',sans-serif;font-size:.7rem;font-weight:600;background:#e4efe7;color:#1f5a38;border-radius:20px;padding:1px 8px;margin-top:6px}
.paper .foot{margin-top:12px;font-size:.75rem;font-style:italic;color:#555}

/* sections */
section.band{padding:28px 0}
section.band.alt{background:var(--surface);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.band.alt .card{background:var(--bg)}
.card h3{margin-top:0}
.card p:last-child,.card ul:last-child{margin-bottom:0}
.prose{max-width:46em}
.note{border-left:4px solid var(--accent);background:var(--accent-soft);padding:14px 16px;border-radius:0 8px 8px 0;margin:1.2em 0}
.note p:last-child{margin:0}
.pill{display:inline-block;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:20px;padding:2px 9px;vertical-align:middle;margin-left:6px;white-space:nowrap}
.pill.now{background:var(--ok-soft);color:var(--ok)}
.pill.soon{background:var(--soon-soft);color:var(--soon)}
.legend{font-size:.9rem;color:var(--muted)}

/* tables */
.table-wrap{overflow-x:auto;margin:0 0 1.2em;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}
table{border-collapse:collapse;width:100%;font-size:.95rem}
th,td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--surface-2);font-weight:600}
tr:last-child td{border-bottom:0}
td.num{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:600}

/* flow diagram */
.flow{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:stretch;margin:1.2em 0}
.flow .box{border:2px solid var(--line);border-radius:var(--radius);padding:16px;background:var(--surface)}
.flow .box.in{border-color:var(--ok)}
.flow .box h3{margin-top:0;font-size:1rem}
.flow .box ul{margin:0;font-size:.93rem}
.flow .wall{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;font-size:.8rem;font-weight:700;color:var(--accent);letter-spacing:.04em;text-transform:uppercase;max-width:110px}
.flow .wall span{display:block;width:4px;flex:1;min-height:24px;background:repeating-linear-gradient(var(--accent) 0 8px,transparent 8px 14px);margin:6px 0}

/* form */
form.contact{display:grid;gap:14px;max-width:40em}
label{font-weight:600;display:block;margin-bottom:4px}
.hint{font-weight:400;color:var(--muted);font-size:.9rem}
input,select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:10px 12px}
textarea{min-height:120px;resize:vertical}

/* footer */
.site-foot{margin-top:48px;background:var(--surface);border-top:1px solid var(--line);padding:28px 0;font-size:.9rem;color:var(--muted)}
.site-foot .wrap{display:flex;flex-wrap:wrap;gap:12px 32px;justify-content:space-between}
.site-foot ul{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px 18px}
.site-foot a{color:var(--ink-2)}

@media (max-width:820px){
  .hero .wrap{grid-template-columns:1fr}
  .paper{transform:none}
  .flow{grid-template-columns:1fr}
  .flow .wall{flex-direction:row;max-width:none;gap:8px}
  .flow .wall span{width:auto;height:4px;min-height:0;flex:1;background:repeating-linear-gradient(90deg,var(--accent) 0 8px,transparent 8px 14px);margin:0}
}
@media print{.site-head nav,.site-foot,.cta{display:none}body{background:#fff}}
