/* ============================================================================
   ScorpEase — shared site chrome + house brand system. Link this ONE file on
   every public page so brand tokens, fonts, header, footer, and buttons are
   identical everywhere and a rebrand is EDIT-ONCE. A new page just links it.

   This is the PARENT of Keystead Vault's /site.css. The palette and type are
   deliberately identical so the two sites read as siblings; what differs is
   the product accent. Keystead Vault = gold. Salary Sherpa = steel.

   Header:  <header class="se-header"><div class="se-bar">
              <a class="se-brand" href="/">Scorp<span class="g">Ease</span></a>
              <nav class="se-nav"> ...links... <a class="se-cta">CTA</a> </nav>
            </div></header>
   Footer:  <footer class="se-footer"> ... </footer>
   Buttons: <a class="se-btn primary|ghost|sherpa|keystead">...</a>
   ============================================================================ */

/* Self-hosted from /vendor/fonts (latin variable WOFF2) — no Google Fonts CDN, so no viewer IP
   leaves for Google. Matches the trust boundary already set on keysteadvault.com. */
@font-face{font-family:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('/vendor/fonts/inter-v2.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:'Inter';font-style:normal;font-weight:100 900;font-display:swap;src:url('/vendor/fonts/inter-ext-v2.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:'Inter';font-style:italic;font-weight:100 900;font-display:swap;src:url('/vendor/fonts/inter-italic-v2.woff2') format('woff2')}
@font-face{font-family:'Source Serif 4';font-style:normal;font-weight:400 700;font-display:swap;src:url('/vendor/fonts/source-serif-4-v2.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+2074,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 700;font-display:swap;src:url('/vendor/fonts/source-serif-4-ext-v2.woff2') format('woff2');unicode-range:U+0100-02AF,U+0304,U+0308,U+0329,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  /* ---- House palette (the ONE place to change a colour) ---- */
  --navy:#1c3d5a; --navy-2:#274d6e; --navy-deep:#12293f;
  --steel:#b23a2e; --steel-deep:#8e2c22; --steel-soft:#f7e8e5;
  --gold:#c6a24c; --gold-deep:#a9862f; --gold-soft:#f7f0dd;
  --accent-cool:#4f6d86; --accent-cool-soft:#eef1f4;
  --ink:#221f1e; --muted:#6d6663; --line:#e8e1dc; --bg:#f8f5f1; --surface:#ffffff;
  --ok:#237a4d; --warn:#9c5e18; --danger:#a8322a;

  /* ---- Product accents — semantic aliases so pages never hardcode a product colour ---- */
  --sherpa:var(--steel); --sherpa-deep:var(--steel-deep); --sherpa-soft:var(--steel-soft);
  --keystead:var(--gold); --keystead-deep:var(--gold-deep); --keystead-soft:var(--gold-soft);

  /* ---- Type ---- (aliases so pages using either name inherit) */
  --font-head:'Source Serif 4',Georgia,'Times New Roman',serif;
  --font-sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  --head:var(--font-head); --sans:var(--font-sans);

  --wrap:1080px;
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);line-height:1.6;
  -webkit-font-smoothing:antialiased}

/* Visible keyboard focus everywhere (WCAG 2.4.7). */
:focus-visible{outline:2px solid var(--accent-cool);outline-offset:2px;border-radius:4px}

/* Skip link — first focusable element on every page. */
.se-skip{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:10px 16px;
  border-radius:0 0 8px 0;font-size:14px;font-weight:600;text-decoration:none;z-index:100}
.se-skip:focus{left:0}

/* ================= HEADER ================= */
.se-header{position:sticky;top:0;z-index:50;padding:14px 22px;border-bottom:1px solid var(--line);
  background:color-mix(in srgb, var(--bg) 85%, transparent);backdrop-filter:saturate(1.1) blur(8px);
  -webkit-backdrop-filter:saturate(1.1) blur(8px)}
.se-bar{max-width:var(--wrap);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:14px}
/* inline-block (not flex) so the wordmark flows as normal inline text and "Scorp"+"Ease"
   never gain a gap between them. Mirrors the Keystead brand treatment. */
.se-brand{display:inline-block;text-decoration:none;line-height:1;
  font-family:var(--font-head);font-weight:600;font-size:21px;letter-spacing:-.01em;color:var(--navy);white-space:nowrap}
.se-brand img{width:28px;height:28px;border-radius:6px;object-fit:contain;display:inline-block;vertical-align:middle;margin-right:7px}
.se-brand .g{color:var(--gold-deep)}
.se-nav{display:flex;flex:1;min-width:0;align-items:center;justify-content:flex-end;gap:20px;flex-wrap:wrap}
.se-nav a,.se-nav button{font-family:var(--font-sans);font-size:14px;font-weight:600;line-height:1;
  color:var(--muted);text-decoration:none;background:none;border:0;padding:0;cursor:pointer;white-space:nowrap}
.se-nav a:hover,.se-nav button:hover{color:var(--navy)}
.se-nav .se-cta{background:var(--navy);color:#fff;padding:9px 15px;border-radius:9px}
.se-nav .se-cta:hover{background:var(--navy-2);color:#fff}

/* ================= LAYOUT ================= */
.se-wrap{max-width:var(--wrap);margin:0 auto;padding:0 22px}
.se-section{padding:64px 0}
.se-section.tight{padding:44px 0}
.se-eyebrow{font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.13em;
  text-transform:uppercase;color:var(--gold-deep);margin:0 0 12px}
.se-h2{font-family:var(--head);font-weight:600;font-size:clamp(24px,3.2vw,31px);line-height:1.18;
  color:var(--navy);margin:0 0 14px;letter-spacing:-.01em}
.se-lead{font-size:17px;color:#3a3532;margin:0 0 22px;max-width:62ch}
.se-lead b{color:var(--ink)}

/* ================= BUTTONS ================= */
.se-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-sans);
  font-weight:600;font-size:15px;line-height:1;padding:13px 22px;border-radius:11px;border:1px solid transparent;
  text-decoration:none;cursor:pointer;transition:background .15s,box-shadow .15s,border-color .15s,filter .15s}
.se-btn.primary{background:var(--navy);color:#fff}
.se-btn.primary:hover{background:var(--navy-2)}
.se-btn.ghost{background:var(--surface);color:var(--navy);border-color:var(--navy)}
.se-btn.ghost:hover{background:color-mix(in srgb, var(--navy) 5%, var(--surface))}
.se-btn.sherpa{background:var(--sherpa);color:#fff}
.se-btn.sherpa:hover{background:var(--sherpa-deep)}
.se-btn.keystead{background:var(--keystead);color:#20140a}
.se-btn.keystead:hover{filter:brightness(1.06)}

/* ================= FOOTER ================= */
.se-footer{border-top:1px solid var(--line);margin-top:36px;background:var(--surface)}
.se-footer .in{max-width:var(--wrap);margin:0 auto;padding:44px 22px 52px;
  font-family:var(--font-sans);color:var(--muted);font-size:13px;line-height:1.65}
.se-fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:32px;margin-bottom:30px}
.se-fbrand{font-family:var(--head);color:var(--navy);font-size:19px;margin-bottom:8px}
.se-fbrand .g{color:var(--gold-deep)}
.se-ftag{margin-top:10px;font-family:var(--head);font-style:italic;font-size:13.5px;color:var(--muted)}
.se-fcol h3{font-family:var(--sans);font-size:11.5px;font-weight:700;letter-spacing:.11em;
  text-transform:uppercase;color:var(--ink);margin:0 0 10px}
.se-fcol a{display:block;color:var(--muted);text-decoration:none;margin-bottom:7px}
.se-fcol a:hover{color:var(--navy)}
.se-fbot{border-top:1px solid var(--line);padding-top:18px;display:flex;justify-content:space-between;
  gap:14px;flex-wrap:wrap;font-size:12.5px}

@media(max-width:760px){ .se-fgrid{grid-template-columns:1fr;gap:24px} }
@media(max-width:520px){ .se-bar{gap:10px} .se-nav{gap:14px} .se-section{padding:48px 0} }

/* ================= LEGAL PAGES ================= (privacy, terms, accessibility)
   Shared because three pages use it. Prose-first: long, plain, scannable. */
.se-legal{max-width:76ch;margin:0 auto;padding:0 22px}
.se-legal .draft{margin:0 0 30px;padding:14px 18px;border-radius:11px;font-size:14px;
  background:var(--sherpa-soft);border:1px solid color-mix(in srgb,var(--sherpa) 30%,transparent);color:#4a4441}
.se-legal .draft b{color:var(--ink)}
.se-legal h1{font-family:var(--head);font-weight:600;font-size:clamp(30px,4.4vw,42px);line-height:1.12;
  letter-spacing:-.02em;color:var(--navy);margin:0 0 12px}
.se-legal .updated{font-size:13.5px;color:var(--muted);font-weight:600;margin:0 0 30px}
.se-legal h2{font-family:var(--head);font-weight:600;font-size:22px;color:var(--navy);
  margin:38px 0 12px;letter-spacing:-.01em;scroll-margin-top:90px}
.se-legal h3{font-family:var(--sans);font-weight:700;font-size:16px;color:var(--ink);margin:24px 0 8px}
.se-legal p{margin:0 0 15px;font-size:16px;color:#3a3532;line-height:1.7}
.se-legal ul{margin:0 0 15px;padding-left:22px}
.se-legal li{margin-bottom:9px;font-size:16px;color:#3a3532;line-height:1.65}
.se-legal li::marker{color:var(--gold-deep)}
.se-legal a{color:var(--navy);font-weight:600}
.se-legal b{color:var(--ink)}
.se-legal .callout{margin:20px 0;padding:18px 22px;background:var(--surface);
  border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:0 11px 11px 0}
.se-legal .callout p:last-child{margin:0}
.se-legal table{width:100%;border-collapse:collapse;margin:0 0 18px;font-size:15px}
.se-legal th,.se-legal td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top}
.se-legal th{background:var(--surface);font-family:var(--sans);font-weight:700;color:var(--ink)}
