/* Identidade tipográfica William Frezze — 30/10/2026.
   Amsterdam.ttf não publicado: metadados indicam PERSONAL USE ONLY.
   Assinatura temporária: Bonheur Royale (Google Fonts). */
@import url('https://fonts.googleapis.com/css2?family=Bonheur+Royale&family=Charis+SIL:ital,wght@0,400;0,700;1,400;1,700&family=Cinzel:wght@400..900&family=DM+Sans:wght@300;400;500;600;700&family=Playfair+Display:wght@400;500;600&display=swap');

:root {
  --font-brand: 'Cinzel', Georgia, serif;
  --font-head: 'Playfair Display', Georgia, serif;
  --font-body: 'DM Sans', Arial, sans-serif;
  --font-blog-head: 'Playfair Display', Georgia, serif;
  --font-blog-body: 'Charis SIL', Georgia, serif;
  --font-signature: 'Bonheur Royale', cursive;
  --serif: var(--font-head);
  --sans: var(--font-body);
}

body { font-family: var(--font-body); }

/* Identidade nominal: HOME, páginas internas, blog, artigos e cartão */
.brand-name,
.brand > div > span:first-child,
.footer-name,
.identity-name,
.photo-caption,
.footer .eyebrow,
.article-end > strong,
.identity #name {
  font-family: var(--font-brand) !important;
  font-weight: 500;
}
.brand-name, .brand > div > span:first-child {
  letter-spacing: .105em !important;
}
.footer .eyebrow { letter-spacing: .11em; }

/* Hierarquia original — Playfair Display mantém o caráter editorial */
.display,
.hero h1,
.intro p.intro-heading,
.about-title,
.article-heading h1,
.article-body :is(h2,h3,h4,h5,h6),
.journal-content h3,
.blog-hero h1,
.feature h2,
.post-row h2 {
  font-family: var(--font-head);
}
.article-heading h1,
.article-body :is(h2,h3,h4,h5,h6),
.journal-content h3,
.blog-hero h1,
.feature h2,
.post-row h2 {
  font-family: var(--font-blog-head);
}

/* Leitura longa: Charis SIL apenas no conteúdo efetivo dos artigos */
.article-body {
  font-family: var(--font-blog-body);
}
.article-body > p,
.article-body > ul,
.article-body > ol,
.article-body > blockquote,
.article-body li,
.article-body .ricos-content,
.article-body .ricos-content :is(p,li) {
  font-family: var(--font-blog-body) !important;
}

/* Identidade editorial na abertura */
.hero-kicker.hero-identity {
  display: flex;
  align-items: flex-start;
  gap: 18px;
  text-transform: none;
  letter-spacing: normal;
  margin-bottom: 28px;
}
.hero-kicker.hero-identity::before {
  align-self: flex-start;
  margin-top: 13px;
  flex-shrink: 0;
}
.hero-identity .identity-stack {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}
.hero-identity .identity-name {
  display: block;
  color: #e9d9c4;
  font-family: var(--font-brand);
  font-size: clamp(14px, 1.35vw, 19px);
  line-height: 1.35;
  font-weight: 500;
  letter-spacing: .085em;
  text-transform: none;
  white-space: nowrap;
}
.hero-identity .identity-role {
  display: block;
  color: #d6b993;
  font-family: var(--font-signature);
  font-size: clamp(51px, 4.8vw, 71px);
  line-height: .91;
  font-weight: 400;
  letter-spacing: normal;
  text-transform: none;
  margin-top: 5px;
}

@media (max-width: 780px) {
  .hero-kicker.hero-identity { gap: 12px; margin-bottom: 24px; }
  .hero-kicker.hero-identity::before { width: 26px; margin-top: 11px; }
  .hero-identity .identity-name {
    font-size: clamp(13px, 3.4vw, 16px);
    letter-spacing: .05em;
    white-space: normal;
  }
  .hero-identity .identity-role { font-size: clamp(49px, 12vw, 61px); }
  .brand-name, .brand > div > span:first-child { letter-spacing: .075em !important; }
}
