:root{
  --ink:#1A1815;
  --paper:#E9E2D2;
  --paper-raised:#DED4BE;
  --clay:#E8492E;
  --clay-deep:#C93A22;
  --sage:#C97A2B;
  --sage-pale:#EFE3C9;
  --muted:#6B6357;
  --line:#D5C9AF;
  --card:#F4EFE3;
}
:root:not([data-theme="light"]){
  @media (prefers-color-scheme: dark){
    --ink:#F5EFE2;
    --paper:#17140F;
    --paper-raised:#211D16;
    --clay:#FF7A57;
    --clay-deep:#FFA07E;
    --sage:#E3A64B;
    --sage-pale:#2A2117;
    --muted:#B7AC98;
    --line:#332C1F;
    --card:#1D1912;
  }
}
:root[data-theme="dark"]{
  --ink:#F5EFE2;
  --paper:#17140F;
  --paper-raised:#211D16;
  --clay:#FF7A57;
  --clay-deep:#FFA07E;
  --sage:#E3A64B;
  --sage-pale:#2A2117;
  --muted:#B7AC98;
  --line:#332C1F;
  --card:#1D1912;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'IBM Plex Sans', system-ui, -apple-system, sans-serif;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3{
  font-family:'Newsreader', Georgia, serif;
  font-weight:500;
  letter-spacing:-0.01em;
  margin:0;
  color:var(--ink);
}
a{color:inherit;}
.wrap{max-width:1120px;margin:0 auto;padding:0 32px;}
@media (max-width:640px){.wrap{padding:0 20px;}}

/* ---------- NAV (shared shell) ---------- */
header{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb, var(--paper) 88%, transparent);
  backdrop-filter:blur(8px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;padding:20px 0;}
.logo{font-family:'Newsreader',serif;font-size:22px;font-weight:600;letter-spacing:0.01em;text-decoration:none;}
.logo em{font-style:normal;color:var(--clay);}
.nav-links{display:flex;gap:36px;font-size:15px;color:var(--muted);}
.nav-links a{text-decoration:none;}
.nav-links a:hover{color:var(--ink);}
.nav-mobile-hide{display:flex;}
@media (max-width:760px){.nav-mobile-hide{display:none;}}
.nav-right{display:flex;align-items:center;gap:18px;}
.nav-cta{
  font-size:15px;padding:11px 22px;background:var(--ink);color:var(--paper);
  border-radius:999px;text-decoration:none;white-space:nowrap;font-weight:600;
}
.reorder-link{
  font-size:14.5px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;
  white-space:nowrap;font-weight:600;
}
.reorder-link:hover{color:var(--ink);}
@media (max-width:480px){.reorder-link{display:none;}}

/* ---------- Shared buttons ---------- */
.btn-primary{
  background:var(--clay);color:#FFF9F2;padding:15px 30px;border-radius:999px;
  text-decoration:none;font-size:15.5px;font-weight:600;border:none;cursor:pointer;
  transition:background .15s ease, transform .15s ease;
  display:inline-block;
}
.btn-primary:hover{background:var(--clay-deep);transform:translateY(-1px);}
.link-quiet{font-size:15px;color:var(--muted);text-decoration:underline;text-underline-offset:3px;}

/* ---------- Section shell ---------- */
section{padding:80px 0;border-top:1px solid var(--line);}
.section-head{max-width:52ch;margin-bottom:48px;}
.section-head h2{font-size:clamp(28px,3.4vw,38px);}
.section-head p{color:var(--muted);font-size:16.5px;margin-top:14px;}

/* ---------- FOOTER (shared shell) ---------- */
footer{border-top:1px solid var(--line);padding:56px 0 40px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;}
@media (max-width:700px){.footer-grid{grid-template-columns:1fr;gap:28px;}}
footer h4{font-size:13px;color:var(--muted);font-weight:500;margin-bottom:14px;}
footer .logo{margin-bottom:14px;display:block;}
footer p{font-size:13.5px;color:var(--muted);margin:0 0 8px;}
footer a{font-size:13.5px;color:var(--muted);text-decoration:none;display:block;margin-bottom:8px;}
footer a:hover{color:var(--ink);}
.legal{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);font-size:12.5px;color:var(--muted);line-height:1.7;}
