/* ============================================
   MDS Vault — Base styles
   Shared across every page: tokens, reset,
   header/nav, footer, and common components.
   ============================================ */

:root{
  --cream:#F5F2EA;
  --white:#FFFFFF;
  --ink:#181D1A;
  --ink-mute:#666F69;
  --ink-faint:#9AA29C;
  --border:#E3DECF;
  --border-strong:#D5CEBB;
  --dark:#0D1210;
  --dark-alt:#131916;
  --dark-border:#232B27;
  --dark-text-mute:#8B958F;
  --teal:#1C6B57;
  --teal-deep:#134F40;
  --teal-soft:#E4EEEA;
  --amber:#E2953F;
  --amber-deep:#C97D2C;
  --amber-soft:#FBE9D3;
  --font-display:'Space Grotesk', sans-serif;
  --font-body:'Inter', sans-serif;
  --font-mono:'IBM Plex Mono', monospace;
  --radius:10px;
}

*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{background:var(--cream);color:var(--ink);font-family:var(--font-body);line-height:1.6;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
::selection{background:var(--teal);color:#fff;}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px;}
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:2px solid var(--teal);
  outline-offset:2px;
}

/* ---------- nav ---------- */
header{
  position:sticky;top:0;z-index:100;
  background:rgba(245,242,234,0.9);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--border);
}
header nav{display:flex;align-items:center;justify-content:space-between;padding:18px 32px;max-width:1180px;margin:0 auto;}
.logo{display:flex;align-items:center;gap:9px;font-family:var(--font-display);font-weight:700;font-size:17px;}
.logo-mark{width:24px;height:24px;flex-shrink:0;display:block;object-fit:contain;}
.nav-links{display:flex;gap:34px;font-size:14.5px;color:var(--ink-mute);}
.nav-links a{transition:color .2s;}
.nav-links a:hover{color:var(--ink);}
.nav-cta{font-size:14px;font-weight:600;padding:10px 20px;background:var(--teal);color:#fff;border-radius:7px;transition:background .2s;}
.nav-cta:hover{background:var(--teal-deep);}
@media (max-width:900px){.nav-links{display:none;}}

/* ---------- shared buttons ---------- */
.btn-primary{font-size:14.5px;font-weight:600;padding:14px 24px;background:var(--teal);color:#fff;border-radius:8px;transition:background .2s, transform .15s;display:inline-block;}
.btn-primary:hover{background:var(--teal-deep);transform:translateY(-1px);}
.btn-secondary{font-size:14.5px;font-weight:600;padding:14px 22px;color:var(--ink);border:1px solid var(--border-strong);border-radius:8px;transition:border-color .2s, background .2s;display:inline-block;}
.btn-secondary:hover{border-color:var(--ink-mute);background:var(--white);}

/* ---------- shared section header pattern ---------- */
.eyebrow{font-family:var(--font-mono);font-size:12.5px;letter-spacing:0.08em;color:var(--teal);background:var(--teal-soft);display:inline-block;padding:6px 12px;border-radius:20px;margin-bottom:22px;}
section{padding:88px 0;}
.section-head{max-width:600px;margin-bottom:48px;}
.section-eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:0.08em;color:var(--teal);margin-bottom:14px;text-transform:uppercase;}
h2{font-family:var(--font-display);font-size:clamp(1.6rem,2.4vw,2.1rem);font-weight:700;letter-spacing:-0.01em;margin-bottom:12px;}
.section-head p{color:var(--ink-mute);font-size:15.5px;}

/* ---------- cta banner ---------- */
.cta-banner{text-align:center;background:var(--teal-soft);border-radius:20px;padding:64px 32px;}
.cta-banner h2{margin-bottom:12px;}
.cta-banner p{color:var(--ink-mute);margin-bottom:28px;}
.cta-banner-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ---------- footer ---------- */
footer{background:var(--dark);color:#fff;padding:60px 0 32px;margin-top:0;}
.footer-grid{display:grid;grid-template-columns:1.4fr repeat(3,1fr);gap:36px;margin-bottom:44px;}
.footer-brand p{color:var(--dark-text-mute);font-size:13.5px;max-width:260px;margin-top:12px;}
.footer-col h4{font-family:var(--font-mono);font-size:11.5px;letter-spacing:0.06em;color:var(--dark-text-mute);margin-bottom:16px;text-transform:uppercase;}
.footer-col a{display:block;font-size:13.5px;color:#D8DDD9;padding:5px 0;transition:color .2s;}
.footer-col a:hover{color:var(--amber);}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;padding-top:24px;border-top:1px solid var(--dark-border);font-size:12px;color:var(--dark-text-mute);}
.badge-row{display:flex;gap:10px;font-family:var(--font-mono);font-size:10.5px;}
.badge-row span{border:1px solid var(--dark-border);padding:4px 10px;border-radius:20px;}
.footer-links{display:flex;gap:22px;font-size:13px;}
.footer-links a{color:#D8DDD9;}
.footer-links a:hover{color:var(--amber);}
@media (max-width:860px){.footer-grid{grid-template-columns:1fr 1fr;}}
