.rica { padding-bottom: 3rem; }
.rica .miolo { width: 100%; max-width: 1080px; margin: 0 auto; padding: 1.6rem 1.25rem 3rem; box-sizing: border-box; }
.rica { max-width: 100%; overflow-x: clip; }
.rica h1 { font-family: Fraunces, serif; font-weight: 460; letter-spacing: -0.04em; line-height: 0.92; margin: 0.2rem 0 0.8rem; }
.rica .foto { margin: 0; display: block; }
.rica .foto img { width: 100%; display: block; object-fit: cover; }
.rica .foto-hero img { height: 62vh; min-height: 280px; max-height: 720px; }
.rica .foto-faixa img { height: 42vh; min-height: 240px; }
.rica .foto-quadrado { max-width: 460px; }
.rica .foto-quadrado img { height: auto; aspect-ratio: 1; }
.rica .foto-retrato img { height: 78vh; min-height: 420px; object-fit: cover; }
.rica .foto figcaption, .atmosfera, .rotulo { color: #5c564c; font-size: 0.86rem; }
.rica .foto figcaption {
  position: static;
  margin: 0;
  padding: 0.75rem 1.15rem 0.35rem;
  background: #f6f3ec;
  color: #3f3a34;
}
.rica .estreito { max-width: 40rem; }
.peca-curta h1 { font-size: clamp(2rem, 5vw, 3.1rem); }

.saojoao { background: #1a120c; color: #f6efe4; }
.saojoao a, .saojoao .kicker, .saojoao .nota-ano, .saojoao .rotulo, .saojoao figcaption { color: #e7d7c4; }
.saojoao h1 { font-size: clamp(3.2rem, 8vw, 6.5rem); }

.coco { display: block; background: #f4f7f1; }
.coco h1 { font-size: clamp(2.8rem, 6vw, 4.8rem); }

.areia.split { display: grid; grid-template-columns: minmax(240px, 42%) 1fr; background: #f3efe6; align-items: stretch; }
.areia.split .foto { margin: 0; }
.areia.split .foto-retrato img { height: 100%; min-height: 640px; }
.areia .olho { margin: 4rem 0 0; letter-spacing: 0.4em; text-transform: uppercase; font-size: 0.75rem; }
.areia h1 { font-size: clamp(4rem, 12vw, 8rem); margin-top: 0; }

.sol { background: #fff8ec; text-align: center; }
.sol .disco { width: 180px; height: 180px; border-radius: 50%; margin: 1rem auto; background: radial-gradient(circle at 40% 40%, #ffe7a3, #e07a1f 70%); }
.sol h1 { font-size: clamp(3rem, 8vw, 6rem); }

.picole { display: block; background: #f7f4ef; }
.picole h1 { font-size: clamp(2.6rem, 6vw, 4.6rem); }

.rota { background: #f7f4ee; }
.rota .etapas { list-style: none; padding: 0; margin: 0 0 1rem; border-left: 3px solid #1c1915; }
.rota .etapas li { padding: 0.7rem 0 0.7rem 1rem; font-size: 1.25rem; }
.rota .etapas b { display: inline-block; width: 5rem; font-family: Fraunces, serif; }
.rota h1 { font-size: clamp(2.8rem, 6vw, 4.5rem); }

.rosa { background: #fff; }
.rosa h1 { font-size: clamp(2.4rem, 5vw, 3.8rem); border-top: 2px solid #c45b78; padding-top: 0.8rem; max-width: 16ch; }

.verao { background: #e7eef2; }
.verao .janelas { display: grid; grid-template-columns: 1fr 1fr; gap: 0.8rem; margin: 1rem 0; }
.verao .janelas section { background: white; padding: 1rem; }
.verao .janelas b { display: block; font-family: Fraunces, serif; font-size: 2.4rem; font-weight: 460; }
.verao h1 { font-size: clamp(3rem, 7vw, 5.5rem); }

.boletim { background: #f3f1ea; }
.boletim .script { font-family: "Courier New", monospace; background: #fff; border: 1px solid #1c1915; padding: 1rem; white-space: pre-wrap; font-size: 1rem; }
.boletim h1 { font-size: 2rem; font-family: "Courier New", monospace; letter-spacing: 0; }

.blitz { background: #111; color: #f6f1e6; }
.blitz a, .blitz .kicker, .blitz .nota-ano, .blitz .rotulo { color: #f0d48a; }
.blitz .selo { display: inline-block; border: 2px solid #f0d48a; padding: 0.2rem 0.5rem; transform: rotate(-2deg); letter-spacing: 0.08em; text-transform: uppercase; }
.blitz h1 { font-size: clamp(3rem, 8vw, 6rem); text-transform: uppercase; }

.sunset { background: linear-gradient(#1b2430 0%, #c4552a 72%, #f2c14e 100%); color: #fff8ee; min-height: 80vh; }
.sunset a, .sunset .kicker, .sunset .nota-ano, .sunset .rotulo, .sunset .atmosfera { color: #ffe7c2; }
.sunset h1 { font-size: clamp(3.4rem, 9vw, 7rem); }

.estacao { background: #f7f4ee; }
.estacao .vazio { border: 2px dashed #1c1915; min-height: 9rem; display: grid; place-items: center; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 1rem; }
.estacao h1 { font-size: clamp(2.6rem, 6vw, 4.4rem); }

.carnaval { background: repeating-linear-gradient(-18deg, #f4e27a, #f4e27a 16px, #5b2a86 16px, #5b2a86 32px); }
.carnaval .miolo { background: rgba(255,255,255,0.92); padding: 1.4rem; }
.carnaval .faixas { list-style: none; padding: 0; display: grid; gap: 0.4rem; }
.carnaval .faixas li { background: #1c1915; color: #f4e27a; padding: 0.45rem 0.7rem; width: fit-content; }
.carnaval h1 { font-size: clamp(2.8rem, 6vw, 4.8rem); }

.aniversario { background: #f6f3ec; }
.aniversario .numero { font-family: Fraunces, serif; font-size: clamp(7rem, 22vw, 14rem); line-height: 0.8; margin: 0; }
.aniversario .mes { letter-spacing: 0.35em; text-transform: uppercase; margin-top: 0; }
.aniversario h1 { font-size: clamp(2rem, 4vw, 3rem); }

.farroupilha { background: #243024; color: #f3efe4; }
.farroupilha a, .farroupilha .kicker, .farroupilha .nota-ano, .farroupilha .rotulo, .farroupilha figcaption { color: #d5e0cf; }
.farroupilha h1 { font-size: clamp(3rem, 7vw, 5.5rem); }

.livro { display: grid; grid-template-columns: minmax(0, 38rem) minmax(180px, 320px); background: #fbf7f0; }
.livro .pagina { padding: 1.4rem 1.6rem 2rem; border-left: 10px solid #8c2f2f; }
.livro h1 { font-size: clamp(2.8rem, 5vw, 4.2rem); }
.livro .foto-retrato img { height: 100%; min-height: 520px; max-height: none; }

.expodireto { background: #efe6d4; }
.expodireto .numero { font-family: Fraunces, serif; font-size: clamp(4rem, 12vw, 8rem); margin: 0; line-height: 0.85; }
.expodireto h1 { font-size: clamp(2.4rem, 5vw, 3.6rem); }

.expoagro { background: #e7efe4; }
.expoagro .dias { list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0.4rem; padding: 0; max-width: 36rem; }
.expoagro .dias li { background: white; border: 1px solid #1c1915; font-family: Fraunces, serif; font-size: 2.4rem; text-align: center; padding: 0.8rem 0; }
.expoagro h1 { font-size: clamp(2.6rem, 6vw, 4.4rem); }

.expointer { background: #14261c; color: #f3efe4; }
.expointer a, .expointer .kicker, .expointer .nota-ano, .expointer .rotulo { color: #d5e2d4; }
.expointer .faixa-data { background: #d7e26a; color: #14261c; display: inline-block; padding: 0.35rem 0.6rem; font-weight: 600; }
.expointer h1 { font-size: clamp(3.4rem, 8vw, 6.5rem); }

.estudio { background: #f4f1ea; }
.estudio .onda { display: flex; align-items: end; gap: 6px; height: 90px; margin: 1rem 0; }
.estudio .onda span { display: block; width: 10px; background: #1c1915; }
.estudio .onda span:nth-child(1) { height: 20px; }
.estudio .onda span:nth-child(2) { height: 48px; }
.estudio .onda span:nth-child(3) { height: 80px; }
.estudio .onda span:nth-child(4) { height: 36px; }
.estudio .onda span:nth-child(5) { height: 64px; }
.estudio .onda span:nth-child(6) { height: 28px; }
.estudio .onda span:nth-child(7) { height: 52px; }
.estudio h1 { font-size: clamp(2.8rem, 6vw, 4.8rem); }

.split-brasa { display: grid; grid-template-columns: minmax(220px, 38%) 1fr; }
.split-brasa .foto-retrato img { min-height: 560px; height: 100%; }
.brasa { background: #140c0a; color: #f6e7dc; }
.brasa a, .brasa .kicker, .brasa .nota-ano, .brasa .rotulo, .brasa .atmosfera { color: #e7b089; }
.brasa .numero { font-family: Fraunces, serif; font-size: clamp(6rem, 16vw, 11rem); line-height: 0.8; margin: 0; color: #e25b2a; }
.brasa h1 { font-size: clamp(2.4rem, 5vw, 4rem); }

.campo { background: #1f6b3a; color: #f4fff6; }
.campo a, .campo .kicker, .campo .nota-ano, .campo .rotulo { color: #d9ffe4; }
.campo .miolo { background:
  linear-gradient(#f4fff6, #f4fff6) 0 18%/100% 2px no-repeat,
  linear-gradient(90deg, transparent 49.5%, rgba(255,255,255,0.7) 49.5% 50.5%, transparent 50.5%);
  background-color: #1f6b3a; }
.campo h1 { font-size: clamp(2.6rem, 6vw, 4.6rem); max-width: 12ch; }
.campo .placar { font-family: Fraunces, serif; font-size: 1.5rem; }

.circuito { background: #f6f3ec; }
.circuito .pista { width: min(100%, 420px); height: 160px; border: 14px solid #1c1915; border-radius: 90px; margin: 0.5rem 0 1rem; }
.circuito h1 { font-size: clamp(2.8rem, 6vw, 4.6rem); }

.peca-curta { background: #f7f4ee; }
.peca-curta .miolo { max-width: 40rem; }

@media (max-width: 800px) {
  .areia.split, .split-brasa, .livro, .verao .janelas, .expoagro .dias { grid-template-columns: 1fr; }
  .split-brasa .foto-retrato img { min-height: 420px; height: 62vh; }
  .areia.split .foto-retrato img { min-height: 360px; height: 58vh; }
  .livro .foto img { max-height: 50vh; }
  .praca .curto a { flex-direction: column; }
}
