:root {
  --primary: #770111;
  --primary-dark: #5c010d;
  --bg: #f3f0ed;
  --surface: #fff;
  --surface-strong: #faf7f5;
  --text: #373435;
  --muted: #675f60;
  --border: #ddd5d2;
  --shadow: rgba(55, 52, 53, .1);
  --sans: 'Montserrat', system-ui, sans-serif;
  --serif: 'Cormorant Garamond', Georgia, serif;
}

* { box-sizing: border-box; }
html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
body {
  margin: 0;
  overflow-x: hidden;
  background: var(--bg);
  color: var(--text);
  font-family: var(--sans);
  line-height: 1.75;
}
a { color: inherit; }
img { display: block; max-width: 100%; }

/* O conteúdo editorial preserva a aparência de papel e o contraste,
   inclusive quando o aparelho está configurado no modo escuro. */
.pauta-paper {
  --primary: #770111;
  --primary-dark: #5c010d;
  --bg: #f3f0ed;
  --surface: #fff;
  --surface-strong: #faf7f5;
  --text: #373435;
  --muted: #675f60;
  --border: #ddd5d2;
  --shadow: rgba(55, 52, 53, .1);
  color-scheme: light;
  background: var(--bg);
  color: var(--text);
}

body > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 20px clamp(22px, 6vw, 78px);
  background: var(--surface);
  border-bottom: 1px solid var(--border);
}
.logo { display: inline-flex; align-items: center; gap: 14px; color: var(--text); text-decoration: none; }
.logo-icon { width: 34px; height: 34px; object-fit: contain; }
.logo-copy { display: flex; flex-direction: column; gap: 3px; }
.logo-name { font: 600 2.3rem/.85 var(--serif); }
.logo-tagline { color: var(--muted); font-size: .64rem; letter-spacing: .2em; text-transform: uppercase; }
.back { color: var(--primary); font-size: .8rem; font-weight: 500; text-decoration: none; }

.pauta-label {
  margin: 0;
  color: var(--primary);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.pauta-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 14px 24px;
  border: 1px solid var(--primary);
  border-radius: 4px;
  background: var(--primary);
  color: #fff;
  font-size: .76rem;
  font-weight: 600;
  letter-spacing: .07em;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform .2s ease, background .2s ease;
}
.pauta-button:hover { background: var(--primary-dark); transform: translateY(-2px); }
.pauta-button:focus-visible,
.social-icon:focus-visible,
a:focus-visible {
  outline: 2px solid var(--primary);
  outline-offset: 4px;
}

/* Página da editoria: novas matérias usam o mesmo .news-card. */
.pauta-index-hero {
  padding: clamp(78px, 12vw, 148px) 24px 78px;
  background: linear-gradient(180deg, var(--surface) 0%, var(--bg) 100%);
  text-align: center;
}
.pauta-index-hero h1 {
  margin: 15px 0 0;
  color: var(--primary);
  font: 600 clamp(4rem, 11vw, 8.4rem)/.82 var(--serif);
}
.pauta-index-hero .intro {
  max-width: 700px;
  margin: 28px auto 0;
  color: var(--muted);
  font-size: clamp(1rem, 2vw, 1.2rem);
}
.pauta-index-main { max-width: 1120px; margin: 0 auto; padding: 34px 24px 100px; }
.pauta-index-heading { margin-bottom: 30px; }
.pauta-index-heading h2 { margin: 8px 0 0; color: var(--text); font: 600 clamp(2.2rem, 5vw, 3.5rem)/1 var(--serif); }
.news-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px; }
.news-card { overflow: hidden; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); box-shadow: 0 12px 34px var(--shadow); }
.news-card-image-link {
  display: block;
  min-width: 0;
  overflow: hidden;
}
.news-card-image-link:focus-visible {
  outline: 3px solid var(--primary);
  outline-offset: -3px;
}
.news-card-image { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.news-card-content { padding: clamp(24px, 4vw, 36px); }
.news-card-meta { margin: 0 0 12px; color: var(--primary); font-size: .68rem; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.news-card h3 { margin: 0; color: var(--text); font: 600 clamp(1.8rem, 3.6vw, 2.55rem)/1.02 var(--serif); }
.news-card p { margin: 18px 0 24px; color: var(--muted); }
.news-card.featured { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); }
.news-card.featured .news-card-image-link { height: 100%; }
.news-card.featured .news-card-image { height: 100%; aspect-ratio: auto; min-height: 430px; }

/* Página de matéria: esta estrutura é compartilhada pelas próximas notícias. */
.article-hero {
  display: block;
  align-items: initial;
  justify-content: initial;
  gap: 0;
  padding: clamp(46px, 7vw, 82px) 24px 54px;
  border-bottom: 0;
  background: var(--surface);
}
.article-hero-inner { width: 100%; min-width: 0; max-width: 1120px; margin: 0 auto; padding-top: 26px; border-top: 4px double var(--text); }
.article-hero h1 { max-width: 960px; margin: 18px 0 0; color: var(--primary); font: 600 clamp(3.4rem, 8vw, 7.2rem)/.86 var(--serif); }
.article-hero h1,
.article-subtitle,
.story-copy,
.quote-block blockquote {
  min-width: 0;
  overflow-wrap: break-word;
}
.article-subtitle { max-width: 800px; margin: 26px 0 0; color: var(--text); font: 500 clamp(1.2rem, 2.5vw, 1.72rem)/1.45 var(--serif); }
.article-dateline { margin: 24px 0 0; color: var(--muted); font-size: .76rem; font-weight: 500; letter-spacing: .12em; text-transform: uppercase; }
.article-cover-wrap { max-width: 1120px; margin: 0 auto; padding: 0 24px; }
.article-cover { width: 100%; max-height: 780px; object-fit: cover; object-position: center 50%; border-radius: 0 0 14px 14px; box-shadow: 0 18px 48px var(--shadow); }
.article-main { max-width: 1120px; margin: 0 auto; padding: 50px 24px 104px; }
.story-block { display: grid; grid-template-columns: 220px minmax(0, 720px); justify-content: center; gap: clamp(28px, 6vw, 72px); padding: clamp(42px, 7vw, 76px) 0; border-bottom: 1px solid var(--border); }
.story-kicker { margin: 4px 0 0; color: var(--primary); font-size: .7rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; }
.story-copy h2 { margin: 0 0 20px; color: var(--text); font: 600 clamp(2rem, 4vw, 3rem)/1.02 var(--serif); }
.story-copy { min-width: 0; max-width: 68ch; }
.story-copy p { margin: 0; color: var(--text); font-size: 1rem; line-height: 1.82; }
.story-copy p + p { margin-top: 18px; }
.lead-copy p { color: var(--text); font: 500 clamp(1.32rem, 2.6vw, 1.78rem)/1.5 var(--serif); }
.lead-copy p:first-of-type::first-letter {
  float: left;
  margin: .08em .12em 0 0;
  color: var(--primary);
  font: 600 4.1rem/.72 var(--serif);
}

.editorial-panel { margin: clamp(58px, 8vw, 88px) 0; padding: clamp(34px, 6vw, 66px); border-radius: 14px; background: var(--primary); color: #fff; }
.editorial-panel .pauta-label { color: rgba(255, 255, 255, .72); }
.editorial-panel h2 { margin: 8px 0 30px; color: #fff; font: 600 clamp(2.8rem, 7vw, 5.5rem)/.9 var(--serif); }
.areas-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.28); border-left: 1px solid rgba(255,255,255,.28); }
.area-item { min-height: 190px; padding: 24px; border-right: 1px solid rgba(255,255,255,.28); border-bottom: 1px solid rgba(255,255,255,.28); }
.area-number { display: block; margin-bottom: 24px; color: rgba(255,255,255,.62); font: 600 1rem var(--serif); }
.area-item h3 { margin: 0 0 8px; color: #fff; font: 600 1.6rem/1 var(--serif); }
.area-item p { margin: 0; color: rgba(255,255,255,.82); font-size: .82rem; line-height: 1.55; }

.quote-block { margin: clamp(58px, 9vw, 98px) auto; max-width: 920px; padding: clamp(38px, 7vw, 72px); border: 1px solid var(--border); border-left: 6px solid var(--primary); border-radius: 0 12px 12px 0; background: var(--surface); box-shadow: 0 14px 42px var(--shadow); }
.quote-block blockquote { margin: 0; color: var(--primary); font: 600 clamp(2rem, 5vw, 3.5rem)/1.15 var(--serif); }
.quote-block cite { display: block; margin-top: 24px; color: var(--muted); font-size: .76rem; font-style: normal; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.metrics-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; margin-top: 28px; }
.metrics-grid[hidden] { display: none; }
.metric { padding: 22px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface); text-align: center; }
.metric strong { display: block; color: var(--primary); font: 600 2rem var(--serif); }
.metric span { color: var(--muted); font-size: .75rem; }

.article-cta { margin-top: 28px; padding: clamp(42px, 8vw, 82px); border-radius: 14px; background: var(--surface); box-shadow: 0 14px 42px var(--shadow); text-align: center; }
.article-cta h2 { margin: 0; color: var(--primary); font: 600 clamp(2.7rem, 7vw, 5rem)/.92 var(--serif); }
.article-cta p { max-width: 680px; margin: 20px auto 28px; color: var(--muted); }

footer { padding: 30px; border-top: 1px solid var(--border); background: var(--surface); color: var(--muted); font-size: .76rem; text-align: center; }
.footer-info { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 9px 18px; }
.footer-info + p { margin: 10px 0 0; }
footer p a { color: var(--primary); text-decoration: none; }
.social-icon { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border: 1px solid var(--border); border-radius: 50%; color: var(--primary); text-decoration: none; }
.social-icon svg { width: 20px; height: 20px; stroke: currentColor; }

@media (max-width: 820px) {
  .news-grid { grid-template-columns: 1fr; }
  .news-card.featured { grid-column: auto; display: block; }
  .news-card.featured .news-card-image-link {
    height: clamp(340px, 58vw, 460px);
  }
  .news-card.featured .news-card-image {
    width: 100%;
    height: 100%;
    min-height: 0;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center 48%;
  }
  .story-block { grid-template-columns: 1fr; gap: 14px; }
  .areas-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .metrics-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 561px) and (max-width: 900px) {
  .pauta-index-hero { padding: 72px 24px 64px; }
  .pauta-index-hero h1 { font-size: clamp(3.7rem, 9vw, 4.7rem); line-height: .92; }
  .pauta-index-hero .intro { max-width: 620px; font-size: 1rem; line-height: 1.7; }
  .article-hero { padding: 40px 24px 46px; }
  .article-hero-inner { padding-top: 22px; }
  .article-hero h1 { font-size: clamp(3rem, 7vw, 3.55rem); line-height: .95; }
  .article-subtitle { max-width: 680px; font-size: 1.14rem; line-height: 1.5; }
  .article-cover { width: 100%; height: clamp(480px, 78vw, 620px); object-fit: cover; object-position: center; }
  .article-main { max-width: 760px; padding-top: 30px; }
  .story-block { gap: 12px; padding: 48px 0; }
  .story-copy h2 { font-size: clamp(2.15rem, 5vw, 2.7rem); }
  .story-copy p { font-size: 1.03rem; line-height: 1.82; }
  .lead-copy p { font-size: 1.3rem; line-height: 1.58; }
  .editorial-panel { margin: 54px 0; padding: 38px 30px; }
  .editorial-panel h2 { font-size: 3.8rem; }
  .quote-block blockquote { font-size: 2.25rem; line-height: 1.24; }
}

@media (max-width: 560px) {
  .pauta-index-hero { padding: 52px 18px 48px; }
  .pauta-index-hero h1 { margin-top: 12px; font-size: 3.15rem; line-height: .94; }
  .pauta-index-hero .intro { margin-top: 22px; font-size: .96rem; line-height: 1.65; }
  .pauta-index-main { padding-top: 28px; }
  .pauta-index-heading { margin-bottom: 24px; }
  .pauta-index-heading h2 { font-size: 2.25rem; }
  .news-card h3 { font-size: 1.75rem; line-height: 1.08; }
  .news-card-content { padding: 24px 20px 26px; }
  .news-card.featured .news-card-image-link {
    height: clamp(260px, 78vw, 330px);
  }
  .pauta-index-main, .article-main { padding-left: 16px; padding-right: 16px; }
  .article-hero { padding: 34px 18px 36px; }
  .article-hero-inner { padding-top: 18px; border-top-width: 3px; }
  .article-hero .pauta-label { font-size: .62rem; line-height: 1.5; letter-spacing: .16em; }
  .article-hero h1 { margin-top: 14px; font-size: clamp(2.2rem, 10.8vw, 2.65rem); line-height: .98; }
  .article-subtitle { margin-top: 20px; font-size: 1rem; line-height: 1.58; }
  .article-dateline { margin-top: 20px; font-size: .67rem; line-height: 1.5; letter-spacing: .1em; }
  .article-cover-wrap { padding: 0; }
  .article-cover { width: 100%; height: clamp(360px, 110vw, 460px); min-height: 0; border-radius: 0; object-fit: cover; object-position: 52% center; }
  .article-main { padding-top: 24px; padding-bottom: 72px; }
  .story-block { gap: 10px; padding: 38px 0; }
  .story-kicker { font-size: .62rem; line-height: 1.55; letter-spacing: .16em; }
  .story-copy h2 { margin-bottom: 16px; font-size: 2rem; line-height: 1.02; }
  .story-copy p { color: var(--text); font-size: 1rem; line-height: 1.78; }
  .story-copy p + p { margin-top: 16px; }
  .lead-copy p { font-size: 1.22rem; line-height: 1.58; }
  .lead-copy p:first-of-type::first-letter { font-size: 3.6rem; }
  .editorial-panel { margin: 44px 0; padding: 28px 18px; border-radius: 8px; }
  .editorial-panel h2 { margin: 8px 0 24px; font-size: 2.8rem; }
  .areas-grid { grid-template-columns: 1fr; }
  .area-item { min-height: 0; padding: 20px 18px; }
  .area-number { margin-bottom: 8px; font-size: .9rem; }
  .area-item h3 { font-size: 1.5rem; }
  .area-item p { font-size: .88rem; line-height: 1.65; }
  .quote-block { margin: 48px 0; padding: 32px 22px; border-left-width: 4px; }
  .quote-block blockquote { font-size: 1.65rem; line-height: 1.3; }
  .quote-block cite { margin-top: 20px; font-size: .66rem; line-height: 1.65; }
  .article-cta { padding: 38px 20px; }
  .article-cta h2 { font-size: 2.5rem; line-height: .98; }
  .article-cta p { font-size: .92rem; line-height: 1.7; }
  .article-cta .pauta-button { width: 100%; padding-inline: 16px; }
  .social-icon { width: 50px; height: 50px; }
  .social-icon svg { width: 24px; height: 24px; }
}

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