/* ---------- Color System ---------- */
:root{
  --bg: #f3efe6;            /* sand */
  --fg: #1f2937;            /* charcoal text */
  --muted:#6b7280;          /* gray-600 */
  --brand:#111827;          /* near-black header */
  --brand2:#1b242c;         /* deep slate */
  --brandAccent:#ff6b00;    /* recovery-strap orange */
  --brandAccentHover:#e55f00;
  --accent2:#5a6b3f;        /* muted olive */
  --card:#ffffff;
  --border:#e5e7eb;
}

/* ---------- Base ---------- */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
  background:var(--bg);
  color:var(--fg);
  line-height:1.5;
}
a{color:inherit;text-decoration:none}

/* ---------- Header ---------- */
.site-header{
  background:linear-gradient(180deg,var(--brand) 0%, var(--brand2) 100%);
  color:#fff;
  position:sticky; top:0; z-index:1000;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.header-wrap{
  max-width:1100px; margin:auto;
  padding:14px 18px;
  display:flex; align-items:center; justify-content:space-between;
}
.brand{display:flex; align-items:center; gap:10px; font-weight:700; font-size:20px; color:#fff}
.brand-badge{width:34px;height:34px;border-radius:6px;background:var(--brandAccent);display:inline-block}
.menu-btn{
  border:1px solid rgba(255,255,255,.2);
  background:transparent; color:#fff;
  border-radius:10px; padding:10px 14px; font-weight:600; cursor:pointer;
}

/* ---------- Nav Drawer ---------- */
.nav-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.35);
  opacity:0; pointer-events:none; transition:opacity .2s ease; z-index:999;
}
.nav-drawer{
  position:fixed; top:0; right:0; height:100%; width:82%;
  max-width:320px; background:#111827; color:#fff; z-index:1000;
  transform:translateX(100%); transition:transform .25s ease;
  display:flex; flex-direction:column;
  border-left:1px solid rgba(255,255,255,.1);
}
.nav-drawer header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid rgba(255,255,255,.1)}
.nav-drawer a{color:#fff}
.nav-close{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.25);padding:8px 10px;border-radius:8px;cursor:pointer}
.nav-links{padding:8px}
.nav-links a{
  display:block; padding:14px 16px; border-radius:10px;
}
.nav-links a:hover{background:rgba(255,255,255,.06)}
.nav-links a.active{background:var(--brandAccent); color:#fff}

/* open state */
.nav-open .nav-overlay{opacity:1;pointer-events:auto}
.nav-open .nav-drawer{transform:translateX(0)}

/* ---------- Hero ---------- */
.hero{background:#fff; padding:42px 18px 28px; border-bottom:1px solid var(--border)}
.wrap{max-width:1100px; margin:auto}
.hero-card{
  background:#f7f3ea;
  border:1px solid #ebe5d7;
  border-radius:14px; padding:26px;
}
.hero h1{margin:0 0 10px;font-size:clamp(28px,4.8vw,40px);color:var(--accent2)}
.hero p{margin:0;color:var(--fg);opacity:.95}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:12px;padding:14px 18px;text-decoration:none;font-weight:700}
.btn-primary{background:var(--brandAccent);color:#fff;border:1px solid rgba(0,0,0,.06)}
.btn-primary:hover{background:var(--brandAccentHover)}

/* ---------- Sections / Cards ---------- */
.section{padding:30px 18px}
.card{background:var(--card); border:1px solid var(--border); border-radius:12px; padding:18px}

/* ---------- Footer ---------- */
.footer{padding:28px 18px; color:var(--muted); font-size:14px; text-align:center}