/* ═══ BASE — tokens, reset, tipografia ═══════════════════════ */

:root{
  /* preto quente, não preto de tela */
  --breu:#080706;
  --carvao:#100D0A;
  --pedra:#1A1611;
  --linha:rgba(198,162,83,.20);
  --linha-fina:rgba(198,162,83,.11);

  --ouro:#C6A253;
  --ouro-claro:#EBD9AC;
  --ouro-fosco:rgba(198,162,83,.55);

  --marfim:#F4F0E7;
  --sussurro:rgba(244,240,231,.56);
  --murmurio:rgba(244,240,231,.34);

  --zap:#25A93C;
  --zap-esc:#1C8A30;

  --col:600px;
  --resp:cubic-bezier(.22,.61,.36,1);
}

*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}

body{
  background:var(--breu);
  color:var(--marfim);
  font:400 16px/1.68 'Montserrat',system-ui,-apple-system,sans-serif;
  padding-bottom:92px;
  overflow-x:hidden;
}

img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}

/* ── Tipografia ──────────────────────────────────────────── */
.serif,h1,h2,h3{
  font-family:'Cormorant Garamond',Georgia,serif;
  font-weight:300;
  letter-spacing:.004em;
}
h1{font-size:clamp(2.5rem,10.5vw,3.9rem);line-height:1.02}
h2{font-size:clamp(2rem,7.8vw,2.85rem);line-height:1.1;margin-bottom:16px}
h3{font-size:1.5rem;line-height:1.2}
em{font-style:italic;color:var(--ouro-claro)}
p{max-width:60ch}

.rotulo{
  display:block;font-size:.66rem;letter-spacing:.2em;font-weight:500;
  color:var(--ouro);margin-bottom:20px;
}
.chamada{
  font-size:1.03rem;line-height:1.62;color:var(--sussurro);max-width:36ch;
}
.miudo{font-size:.79rem;color:var(--murmurio);line-height:1.6}

/* ── Estrutura ───────────────────────────────────────────── */
.wrap{max-width:var(--col);margin:0 auto;padding:0 26px}
section{padding:76px 0}
.fio{height:1px;background:var(--linha-fina);border:0}

/* ── Acessibilidade ──────────────────────────────────────── */
:focus-visible{outline:2px solid var(--ouro-claro);outline-offset:3px;border-radius:2px}
.oculto{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

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

@media (min-width:760px){
  section{padding:104px 0}
}
