/* Shared header and footer: the landing page's own, scoped so they cannot disturb a page's own styles. Pages other than the
   landing page and /features load this file; those two carry the same rules inline. Change the header or footer here and in
   index.html / features.html together, then run `python scripts/apply-site-chrome.py` for the markup. */
.site-head,.site-foot{--ink:#0B2A20;--green:#17855A;--deep:#0F5E40;--gold:#F4B740;--cream:#FBF7EE;--mint:#E7F5EE;
  --sys:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-family:var(--sys);line-height:1.55;-webkit-font-smoothing:antialiased}
.site-head *,.site-foot *{box-sizing:border-box}
.site-head .wrap,.site-foot .wrap{width:min(1200px,100% - 40px);margin-inline:auto}
.site-head svg,.site-foot svg{display:block;max-width:100%}
.site-head .ic{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:none}
.site-head :focus-visible,.site-foot :focus-visible{outline:3px solid var(--gold);outline-offset:3px;border-radius:6px}
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:#FBF7EE;color:#0B2A20;padding:12px 18px;border-radius:10px;font-weight:700;text-decoration:none}
.skip:focus{top:12px}

/* buttons (as on the landing page) */
.site-head .btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:12px;border:1px solid transparent;
  font:700 1rem/1 var(--sys);text-decoration:none;cursor:pointer;background:var(--green);color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 8px 20px -10px rgba(11,42,32,.6);transition:background-color .18s,transform .18s}
.site-head .btn:hover{background:var(--deep);color:#fff}
.site-head .btn:active{transform:translateY(1px)}

/* header */
/* The landing page's body is dark green, so its translucent bar reads as solid green; these pages have a cream body, so the bar is made solid here to look the same. */
.site-head{position:sticky;top:0;z-index:50;background:#0B2A20;color:var(--cream);border-bottom:1px solid rgba(231,245,238,.1)}
.site-head .nav{display:flex;align-items:center;justify-content:space-between;height:64px}
.site-head .brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;letter-spacing:-.01em;font-size:1.08rem;color:var(--cream)}
.site-head .brand svg{width:32px;height:32px}
.site-head .nav-links{display:none;gap:6px;align-items:center}
.site-head .nav-links a:not(.btn){padding:10px 14px;text-decoration:none;font-weight:600;font-size:.95rem;color:var(--mint);border-radius:8px}
.site-head .nav-links a:not(.btn):hover{background:rgba(231,245,238,.09)}
.site-head .nav-links a[aria-current=page]{color:var(--cream);background:rgba(231,245,238,.12);box-shadow:inset 0 -2px 0 var(--gold)}
.site-head .nav-links .btn{min-height:44px;padding:0 18px;font-size:.95rem;margin-left:10px}
.site-head .menu-btn{display:grid;place-items:center;width:48px;height:48px;border-radius:12px;border:1px solid rgba(231,245,238,.24);background:transparent;color:var(--cream);cursor:pointer}
.site-head .menu-btn .ic{width:22px;height:22px;stroke-width:2}
.site-head .menu-btn .x{display:none}.site-head .menu-btn[aria-expanded=true] .x{display:block}.site-head .menu-btn[aria-expanded=true] .b{display:none}
.site-head .menu{display:grid;gap:4px;padding:8px 0 20px;border-top:1px solid rgba(231,245,238,.1)}
.site-head .menu[hidden]{display:none}
.site-head .menu a:not(.btn){padding:14px 6px;min-height:48px;text-decoration:none;font-weight:600;color:var(--mint);border-bottom:1px solid rgba(231,245,238,.08)}
.site-head .menu a[aria-current=page]{color:var(--gold)}
.site-head .menu .btn{margin-top:12px}
@media (min-width:880px){.site-head .nav-links{display:flex}.site-head .menu-btn,.site-head .menu{display:none!important}}

/* footer */
.site-foot{background:#081F18;color:var(--mint);padding-block:44px 36px;font-size:.9rem;text-align:left}
.site-foot .f-row{display:flex;flex-wrap:wrap;gap:18px 32px;align-items:center;justify-content:space-between}
.site-foot .brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:800;letter-spacing:-.01em;font-size:1rem;color:var(--cream)}
.site-foot .brand svg{width:32px;height:32px}
.site-foot .f-links{display:flex;gap:6px 22px;flex-wrap:wrap}
.site-foot .f-links a{color:var(--mint);text-decoration:none;padding:10px 4px;min-height:44px;display:inline-flex;align-items:center}
.site-foot .f-links a:hover{text-decoration:underline}
.site-foot .f-note{margin:22px 0 0;padding-top:22px;border-top:1px solid rgba(231,245,238,.12);font-size:.8rem;opacity:.78;max-width:60rem;color:var(--mint)}
