  :root{
    --bg:#F3EAD9;
    --bg-soft:#ECDFC7;
    --surface:#FFFBF5;
    --ink:#2B2118;
    --ink-soft:#4A3B2C;
    --muted:#6B5847;
    --line:#E0D3BC;
    --line-strong:#CBB99B;
    --primary:#A13D2B;
    --primary-hover:#AE4630;
    --primary-active:#8E3524;
    --on-primary:#FFFBF5;
    --accent:#6B391E;
    --accent-hover:#7C4324;
    --gold-rule:#B79052;
    --gold-tint:#D1B272;
    --gold-tint-bg:#F1E3C4;
    --warn-bg:#EFE0C0;
    --warn-ink:#5C4423;
    --shadow: 0 1px 2px rgba(43,33,24,.08), 0 16px 36px -18px rgba(43,33,24,.32);
    --font-display: "Fraunces", Georgia, "Times New Roman", serif;
    --font-body: "Be Vietnam Pro", "Segoe UI", system-ui, sans-serif;
    --font-mono: "JetBrains Mono", ui-monospace, "SFMono-Regular", monospace;
    --radius-sm:2px; --radius-md:4px; --radius-lg:6px; --radius-full:999px;
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#1C140D; --bg-soft:#241A11; --surface:#2A1F14;
      --ink:#F3EAD9; --ink-soft:#E4D5BD; --muted:#B9A488;
      --line:#3A2C1D; --line-strong:#4E3B26;
      --primary:#C85138; --primary-hover:#D66246; --primary-active:#B0442E; --on-primary:#1C140D;
      --accent:#D1B272; --accent-hover:#DEC28A;
      --gold-rule:#C89A55; --gold-tint:#E1C588; --gold-tint-bg:#33270E;
      --warn-bg:#332510; --warn-ink:#E4C68B;
      --shadow: 0 1px 2px rgba(0,0,0,.5), 0 20px 48px -20px rgba(0,0,0,.65);
    }
  }
  :root[data-theme="dark"]{
    --bg:#1C140D; --bg-soft:#241A11; --surface:#2A1F14;
    --ink:#F3EAD9; --ink-soft:#E4D5BD; --muted:#B9A488;
    --line:#3A2C1D; --line-strong:#4E3B26;
    --primary:#C85138; --primary-hover:#D66246; --primary-active:#B0442E; --on-primary:#1C140D;
    --accent:#D1B272; --accent-hover:#DEC28A;
    --gold-rule:#C89A55; --gold-tint:#E1C588; --gold-tint-bg:#33270E;
    --warn-bg:#332510; --warn-ink:#E4C68B;
    --shadow: 0 1px 2px rgba(0,0,0,.5), 0 20px 48px -20px rgba(0,0,0,.65);
  }

  *,*::before,*::after{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{
    margin:0; background:var(--bg); color:var(--ink);
    font-family:var(--font-body); font-size:16px; line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  img{ display:block; max-width:100%; }
  a{ color:inherit; }
  h1,h2,h3{ font-family:var(--font-display); font-weight:700; line-height:1.1; letter-spacing:-0.01em; text-wrap:balance; margin:0; }
  h1 em, h2 em, h3 em{ font-style:italic; font-weight:500; color:var(--accent); }
  p{ margin:0; }
  .container{ max-width:1120px; margin:0 auto; padding-inline:32px; }
  section{ padding-block:96px; }
  @media (max-width:768px){ section{ padding-block:56px; } .container{ padding-inline:20px; } }

  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:9px;
    font-family:var(--font-body); font-weight:600; font-size:15px;
    border-radius:var(--radius-full); border:1px solid transparent; cursor:pointer;
    white-space:nowrap; text-decoration:none; transition:background-color .15s ease, border-color .15s ease, transform .15s ease, box-shadow .15s ease;
  }
  .btn:active{ transform:scale(.98); }
  .btn:focus-visible{ outline:3px solid var(--gold-rule); outline-offset:2px; }
  .btn-primary{ background:var(--primary); color:var(--on-primary); padding:15px 26px; box-shadow:var(--shadow); }
  .btn-primary:hover{ background:var(--primary-hover); }
  .btn-primary:active{ background:var(--primary-active); }
  .btn-primary svg{ width:19px; height:19px; }
  .btn-ghost{ background:transparent; color:var(--ink); border-color:var(--line-strong); padding:13px 22px; }
  .btn-ghost:hover{ border-color:var(--accent); color:var(--accent); }
  .btn-sm{ padding:9px 18px; font-size:13.5px; }
  .icon{ width:1em; height:1em; }

  header.site{
    position:sticky; top:0; z-index:40;
    background:color-mix(in srgb, var(--bg) 90%, transparent);
    backdrop-filter:blur(10px) saturate(140%); -webkit-backdrop-filter:blur(10px) saturate(140%);
    border-bottom:1px solid var(--line);
  }
  .nav-row{ display:flex; align-items:center; justify-content:space-between; height:72px; }
  .brand{ display:flex; align-items:center; gap:10px; font-family:var(--font-display); font-weight:700; font-size:20px; text-decoration:none; color:var(--ink); }
  .brand img{ width:34px; height:34px; object-fit:contain; flex:none; }
  .nav-links{ display:flex; align-items:center; gap:26px; font-size:14.5px; font-weight:500; color:var(--ink-soft); }
  .nav-links a{ text-decoration:none; }
  .nav-links a:hover{ color:var(--accent); }
  @media (max-width:900px){ .nav-links{ display:none; } }

  footer.site{ border-top:1px solid var(--line); padding-block:44px; background:var(--bg-soft); }
  .foot-grid{ display:flex; justify-content:space-between; gap:32px; flex-wrap:wrap; }
  .foot-brand p{ font-size:13px; color:var(--muted); max-width:34ch; line-height:1.6; margin-top:10px; }
  .foot-links{ display:flex; gap:56px; flex-wrap:wrap; }
  .foot-col h4{ font-size:12.5px; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:700; margin-bottom:12px; }
  .foot-col a{ display:block; font-size:13.5px; color:var(--ink-soft); text-decoration:none; margin-bottom:9px; }
  .foot-col a:hover{ color:var(--accent); }
  .foot-legal{ margin-top:32px; padding-top:24px; border-top:1px solid var(--line); font-size:12px; color:var(--muted); line-height:1.7; }


  .page{ padding-block:72px 88px; }
  .page .container{ max-width:760px; }
  .page h1{ font-size:clamp(34px,5vw,52px); }
  .page h2{ font-size:clamp(22px,2.6vw,28px); margin-top:44px; }
  .page p, .page li{ font-size:16.5px; color:var(--ink-soft); line-height:1.75; }
  .page p{ margin-top:16px; }
  .page ul, .page ol{ margin:14px 0 0; padding-left:22px; }
  .page li + li{ margin-top:8px; }
  .page a{ color:var(--accent); }
  .page .btn-primary{ color:var(--on-primary); }
  .page .cta-row{ margin-top:32px; display:flex; flex-wrap:wrap; gap:14px; }
  .nav-links a[aria-current="page"]{ color:var(--accent); }
