/* ============================================================
   BASE — variáveis de design, reset, tipografia e layout
   ============================================================ */

:root{
  --bg:#FFFFFF;
  --bg-alt:#EFCEFA;
  --paper:#FFFFFF;
  --ink:#5D4E60;
  --ink-soft:#826C7F;
  --ink-faint:#A88FAC;
  --brand:#5D4E60;
  --brand-dark:#5D4E60;
  --brand-tint:#D4B2D8;
  --accent:#D4B2D8;
  --accent-dark:#826C7F;
  --accent-tint:#EFCEFA;
  --accent2:#EFCEFA;
  --line:#EFCEFA;
  --line-strong:#D4B2D8;
  --radius-sm:8px;
  --radius-md:14px;
  --radius-lg:22px;
  --shadow:0 20px 40px -24px rgba(93,78,96,0.35);
  --font-display:'Fraunces', serif;
  --font-body:'Inter', sans-serif;
  --font-mono:'IBM Plex Mono', monospace;
  --maxw:1120px;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important; }
}

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,svg{ display:block; max-width:100%; }
img{ height:auto; }

a{ color:inherit; }

h1,h2,h3{
  font-family:var(--font-display);
  font-weight:600;
  line-height:1.12;
  margin:0;
  letter-spacing:-0.01em;
}

.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 28px; }

section{ padding:64px 0; }
@media (max-width:720px){ section{ padding:64px 0; } }

.eyebrow{
  font-family:var(--font-mono);
  font-size:12.5px;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--brand);
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 14px;
}
.eyebrow::before{
  content:"";
  width:16px; height:1px;
  background:var(--accent);
}

:focus-visible{
  outline:2px solid var(--brand);
  outline-offset:3px;
  border-radius:4px;
}

