/* ── Reset ───────────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

/* ── Tokens ──────────────────────────────────────────────────────── */
:root{
  --cream:#F5EFE6;
  --paper:#FFFFFF;
  --mint:#5DCAA5;
  --mint-ink:#1F7A66;
  --mint-wash:#EAF7F1;
  --mint-line:#CDE9DF;
  --teal:#2D7D6F;
  --teal-deep:#276E62;
  --ink:#26201B;
  --body:#5C5047;
  --soft:#5E544B;
  --line:#EBE4DB;
  --line-2:#E0D8CD;
  --maxw:1160px;
  --z-nav:100;
}

/* ── Base ────────────────────────────────────────────────────────── */
html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  background:var(--cream);color:var(--ink);
  font-family:'Inter',-apple-system,system-ui,sans-serif;
  line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{display:block;max-width:100%}
::selection{background:color-mix(in srgb, var(--mint) 28%, transparent)}
:focus-visible{outline:2.5px solid var(--teal);outline-offset:3px;border-radius:6px}

/* ── Utility ─────────────────────────────────────────────────────── */
.wrap{max-width:var(--maxw);margin:0 auto;padding-inline:clamp(20px,5vw,44px)}

/* ── Type roles ──────────────────────────────────────────────────── */
.logo-type{font-family:'Newsreader',Georgia,serif;font-weight:500;letter-spacing:-0.02em}
.voice{font-family:'Newsreader',Georgia,serif;font-weight:400}
.display{font-weight:700;letter-spacing:-.035em;line-height:1.04;color:var(--ink);text-wrap:balance}

/* ── Pill ────────────────────────────────────────────────────────── */
.pill{
  display:inline-flex;align-items:center;gap:7px;
  background:var(--mint-wash);color:var(--mint-ink);
  font-size:12.5px;font-weight:600;letter-spacing:.01em;
  padding:6px 13px;border-radius:999px;border:1px solid var(--mint-line);
}
.pill .spark{width:6px;height:6px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 3px color-mix(in srgb, var(--mint) 25%, transparent)}

/* ── Buttons ─────────────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;font-family:'Inter',sans-serif;font-size:15px;font-weight:600;text-decoration:none;border-radius:14px;padding:13px 24px;cursor:pointer;border:1px solid transparent;transition:transform .16s cubic-bezier(.22,1,.36,1),background .16s,box-shadow .2s ease-out,border-color .16s,color .16s}
.btn-primary{background:var(--teal);color:#fff;box-shadow:0 1px 2px color-mix(in srgb, var(--teal) 20%, transparent),0 8px 20px -12px color-mix(in srgb, var(--teal) 50%, transparent)}
.btn-primary:hover{background:var(--teal-deep);transform:translateY(-2px);box-shadow:0 0 0 5px color-mix(in srgb, var(--teal) 16%, transparent),0 14px 32px -10px color-mix(in srgb, var(--teal) 60%, transparent)}
.btn-primary svg{width:17px;height:17px;fill:currentColor}
.btn-ghost{background:var(--paper);color:var(--ink);border-color:var(--line-2)}
.btn-ghost:hover{border-color:var(--mint);color:var(--mint-ink);transform:translateY(-1px)}

/* ── Nav ─────────────────────────────────────────────────────────── */
.nav{position:sticky;top:0;z-index:var(--z-nav);background:rgba(245,239,230,.78);-webkit-backdrop-filter:saturate(1.5) blur(16px);backdrop-filter:saturate(1.5) blur(16px);border-bottom:1px solid var(--line)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:66px}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink)}
.brand img{height:34px;width:auto}
.brand .logo-type{font-size:26px;letter-spacing:-0.02em}
.nav-links{display:flex;align-items:center;gap:28px}
.nav-link{font-size:14.5px;font-weight:500;color:var(--body);text-decoration:none;transition:color .16s}
.nav-link:hover{color:var(--ink)}
.nav .btn{padding:10px 20px;font-size:14.5px}

/* ── Footer ──────────────────────────────────────────────────────── */
.footer{background:var(--cream);border-top:1px solid var(--line);padding:34px 0}
.footer-inner{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px}
.footer-brand{display:flex;align-items:center;gap:8px;color:var(--body)}
.footer-brand .logo-type{font-size:17px}
.footer-links{display:flex;gap:24px;flex-wrap:wrap}
.footer-links a{font-size:13px;font-weight:500;color:var(--body);text-decoration:none;transition:color .16s}
.footer-links a:hover{color:var(--ink)}
.footer-copy{font-size:12px;color:var(--soft)}

/* ── Mobile nav ──────────────────────────────────────────────────── */
@media(max-width:767px){
  .nav-inner{height:58px}
  .nav-link{display:none}
  .btn{padding:9px 18px;font-size:14px}
}
