/* ===========================================================
   base.css — design tokens, resets, typography, buttons, utils
   =========================================================== */
:root{
  --white:#ffffff;
  --peach-50:#FFF7F2;
  --peach-100:#FDEBE1;
  --peach-200:#FBD8C8;
  --peach-300:#F6BBA4;
  --peach-400:#F19A7E;
  --peach-500:#EC7E60;
  --coral:#E36A4C;
  --ink:#3B2A25;
  --muted:#9A847B;
  --line:#F1E3DA;
  --shadow:0 18px 50px -22px rgba(190,110,80,.35);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:'Jost',sans-serif;
  color:var(--ink);
  background:var(--white);
  overflow-x:hidden;
}
h1,h2,h3,h4,.display-font{font-family:'Cormorant Garamond',serif;}
a{text-decoration:none}
::selection{background:var(--peach-300);color:#fff}

/* ---- shared bits ---- */
.eyebrow{
  font-size:.72rem;letter-spacing:.32em;text-transform:uppercase;
  color:var(--peach-500);font-weight:500;
}
.section{padding:74px 0}
.section-title{font-size:clamp(2rem,4vw,2.9rem);font-weight:600;line-height:1.05}

/* ---- buttons ---- */
.btn-peach{
  background:var(--coral);color:#fff;border:none;border-radius:40px;
  padding:.7rem 1.8rem;font-weight:500;letter-spacing:.02em;
  transition:.3s ease;box-shadow:0 10px 24px -10px rgba(227,106,76,.7);
}
.btn-peach:hover{background:var(--peach-500);color:#fff;transform:translateY(-2px)}
.btn-outline-peach{
  background:transparent;color:var(--coral);border:1.5px solid var(--peach-300);
  border-radius:40px;padding:.65rem 1.7rem;font-weight:500;transition:.3s ease;
}
.btn-outline-peach:hover{background:var(--peach-100);color:var(--coral)}

/* ---- scroll reveal ---- */
.reveal{opacity:0;transform:translateY(26px);transition:.7s ease}
.reveal.in{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto}
  .reveal{opacity:1;transform:none}
}
