/* MAPLE — base tokens & primitives */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,600;9..144,900&family=Inter:wght@400;500;600;700&display=swap');

:root{
  --ink:#160d07; --ink-2:#3a2a1c; --paper:#fbf4e9; --paper-2:#f3e6d2;
  --red:#d8232a; --red-deep:#9c1218; --gold:#e8a13a; --amber:#f6c76b;
  --water:#2b1e12; --moss:#4e6136;
  --radius:22px; --radius-sm:12px; --shell:min(1180px,92vw);
  --font-display:'Fraunces',ui-serif,Georgia,serif;
  --font-body:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --shadow:0 18px 44px -22px rgba(22,13,7,.45);
  --shadow-lg:0 40px 80px -40px rgba(22,13,7,.6);
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:var(--font-body); font-size:17px; line-height:1.6;
  -webkit-font-smoothing:antialiased; overflow-x:hidden;
}
img{max-width:100%; display:block}
a{color:inherit}
h1,h2,h3{font-family:var(--font-display); line-height:1.02; margin:0; font-weight:900; letter-spacing:-.02em}
h2{font-size:clamp(2.1rem,5.5vw,3.6rem)}
h3{font-size:clamp(1.15rem,2.4vw,1.5rem); font-weight:600; letter-spacing:-.01em}
p{margin:0}
.shell{width:var(--shell); margin-inline:auto}
.sec{padding:clamp(64px,9vw,120px) 0; position:relative}
.eyebrow{
  font-size:.74rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:var(--red); display:inline-flex; align-items:center; gap:.5rem;
}
.eyebrow::before{content:""; width:26px; height:2px; background:var(--red); border-radius:2px}
.lede{font-size:clamp(1.05rem,1.9vw,1.25rem); color:var(--ink-2); max-width:60ch}

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  font-family:var(--font-body); font-weight:700; font-size:1rem;
  padding:.95rem 1.6rem; border-radius:999px; border:0; cursor:pointer;
  text-decoration:none; transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.btn-primary{background:var(--red); color:#fff; box-shadow:0 12px 26px -12px rgba(216,35,42,.8)}
.btn-primary:hover{transform:translateY(-2px); background:var(--red-deep)}
.btn-ghost{background:transparent; color:var(--ink); border:1.5px solid rgba(22,13,7,.22)}
.btn-ghost:hover{transform:translateY(-2px); border-color:var(--ink); background:rgba(22,13,7,.04)}

.reveal{opacity:0; transform:translateY(16px); transition:opacity .45s cubic-bezier(.2,.7,.2,1), transform .45s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1; transform:none}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .reveal{opacity:1!important; transform:none!important; transition:none}
  *{animation-duration:.001ms!important; transition-duration:.001ms!important}
}
