/* ── PP Writer ── */
@font-face {
  font-family: 'PP Writer';
  src: url('../fonts/PP Writer/PPWriter-Thin.otf') format('opentype');
  font-weight: 100; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'PP Writer';
  src: url('../fonts/PP Writer/PPWriter-Regular.otf') format('opentype');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'PP Writer';
  src: url('../fonts/PP Writer/PPWriter-RegularItalic.otf') format('opentype');
  font-weight: 400; font-style: italic; font-display: swap;
}
@font-face {
  font-family: 'PP Writer';
  src: url('../fonts/PP Writer/PPWriter-Book.otf') format('opentype');
  font-weight: 350; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'PP Writer';
  src: url('../fonts/PP Writer/PPWriter-Bold.otf') format('opentype');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'PP Writer';
  src: url('../fonts/PP Writer/PPWriter-BoldItalic.otf') format('opentype');
  font-weight: 700; font-style: italic; font-display: swap;
}
@font-face {
  font-family: 'PP Writer';
  src: url('../fonts/PP Writer/PPWriter-Ultrabold.otf') format('opentype');
  font-weight: 800; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'PP Writer';
  src: url('../fonts/PP Writer/PPWriter-UltraboldItalic.otf') format('opentype');
  font-weight: 800; font-style: italic; font-display: swap;
}
@font-face {
  font-family: 'PP Writer';
  src: url('../fonts/PP Writer/PPWriter-BlackItalic.otf') format('opentype');
  font-weight: 900; font-style: italic; font-display: swap;
}

/* ── PP Writer Text — variante óptica p/ tamanhos menores ── */
@font-face {
  font-family: 'PP Writer Text';
  src: url('../fonts/PP Writer/PPWriter-ThinText.otf') format('opentype');
  font-weight: 100; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'PP Writer Text';
  src: url('../fonts/PP Writer/PPWriter-RegularText.otf') format('opentype');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'PP Writer Text';
  src: url('../fonts/PP Writer/PPWriter-BoldText.otf') format('opentype');
  font-weight: 700; font-style: normal; font-display: swap;
}

/* ── Area Extended ── */
@font-face {
  font-family: 'Area Extended';
  src: url('../fonts/Area Extended/fonnts.com-Area_Extended_Thin.otf') format('opentype');
  font-weight: 100; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Area Extended';
  src: url('../fonts/Area Extended/fonnts.com-Area_Extended_Thin_Italic.otf') format('opentype');
  font-weight: 100; font-style: italic; font-display: swap;
}
@font-face {
  font-family: 'Area Extended';
  src: url('../fonts/Area Extended/fonnts.com-Area_Extended_Regular.otf') format('opentype');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Area Extended';
  src: url('../fonts/Area Extended/fonnts.com-Area_Extended_SemiBold.otf') format('opentype');
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Area Extended';
  src: url('../fonts/Area Extended/fonnts.com-Area_Extended_Bold.otf') format('opentype');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Area Extended';
  src: url('../fonts/Area Extended/fonnts.com-Area_Extended_Black.otf') format('opentype');
  font-weight: 900; font-style: normal; font-display: swap;
}

/* ── Cormorant Garamond ── */
@font-face {
  font-family: 'Cormorant Garamond';
  src: url('../fonts/Cormorant Garamond/CormorantGaramond-Light.ttf') format('truetype');
  font-weight: 300; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Cormorant Garamond';
  src: url('../fonts/Cormorant Garamond/CormorantGaramond-LightItalic.ttf') format('truetype');
  font-weight: 300; font-style: italic; font-display: swap;
}
@font-face {
  font-family: 'Cormorant Garamond';
  src: url('../fonts/Cormorant Garamond/CormorantGaramond-Regular.ttf') format('truetype');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Cormorant Garamond';
  src: url('../fonts/Cormorant Garamond/CormorantGaramond-Italic.ttf') format('truetype');
  font-weight: 400; font-style: italic; font-display: swap;
}
@font-face {
  font-family: 'Cormorant Garamond';
  src: url('../fonts/Cormorant Garamond/CormorantGaramond-Medium.ttf') format('truetype');
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Cormorant Garamond';
  src: url('../fonts/Cormorant Garamond/CormorantGaramond-Bold.ttf') format('truetype');
  font-weight: 700; font-style: normal; font-display: swap;
}

/* ── Base ── */
html {
  font-size: var(--font-size-base);
  -webkit-font-smoothing: antialiased;
  scroll-padding-top: var(--sp-20);   /* compensa o header fixo nos links de âncora */
}

/* Fundo E cor de texto do body sincronizados com a seção em foco (ver
   assets/js/sections/bg-swap.js) — cor-alvo de cada seção vem de [data-bg]
   e [data-fg]; a suavidade da troca vem só deste transition, nunca animada
   via JS. Texto que não define color própria (ver seções) herda daqui, então
   fica sempre com contraste mesmo enquanto a seção ainda está entrando. */
body {
  font-family: var(--font-body);
  /* Mesmo valor do data-bg do hero (ver index.html) — sem isso, o primeiro
     disparo do bg-swap.js anima do valor inicial errado pro certo, criando
     uma faixa de cor visível logo no carregamento. */
  background-color: var(--color-terra-mais-escura-bg);
  color: var(--color-text);
  transition:
    background-color 1.2s cubic-bezier(0.4, 0, 0.2, 1),
    color 1.2s cubic-bezier(0.4, 0, 0.2, 1);
}

@media (prefers-reduced-motion: reduce) {
  body { transition: none; }
}

a {
  color: inherit;
}
