/* Colagem documental: papel preto rasgado sobre fotografia, tiras de papel cru, fita amarela como chamada.
   Página de tema único (escuro por escolha), seguindo a peça aprovada de "Vida dentre os mortos". */
:root {
  --carvao: #111111;
  --carvao-2: #1b1a18;
  --papel: #e9e4d8;
  --branco-quente: #f4f1e8;
  --amarelo: #e4b422;
  --ceu: #5aa6ba;
  --cinza: #8a857b;
  --cinza-escuro: #4a4740;

  --f-titulo: "Big Shoulders Display", "Oswald", "Arial Narrow", sans-serif;
  --f-grotesca: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --f-citacao: "Alegreya", Georgia, serif;

  --envelope: 72rem;
  --calha: clamp(1rem, 4vw, 3rem);

  --rasgo: polygon(0% 45.5%,1.54% 56.3%,2.55% 76.1%,3.17% 74.7%,4.3% 52.9%,5.81% 64.8%,6.47% 70.1%,7.92% 57.1%,9.38% 47.6%,10.63% 34.4%,12.19% 52.0%,12.87% 20.3%,14.04% 0%,14.88% 14.3%,15.91% 61.4%,16.43% 72.6%,17.8% 66.6%,18.35% 52.3%,19.68% 71.6%,20.57% 72.7%,21.9% 80%,23.44% 61.7%,24.95% 54.5%,25.79% 46.3%,26.45% 54.8%,27.01% 76.6%,27.77% 80%,28.73% 60.1%,29.78% 75.3%,31.32% 80%,32.3% 64.3%,33.3% 80%,34.3% 79.5%,35.12% 75.2%,36.7% 80%,37.58% 61.6%,39.03% 55.4%,40.29% 62.7%,41.57% 52.9%,42.83% 43.7%,43.97% 21.8%,45.21% 20.1%,46.58% 13.3%,47.99% 6.6%,49.25% 27.9%,50.33% 13.0%,51.36% 21.6%,52.05% 34.1%,53.01% 39.7%,54.3% 18.5%,55.52% 5.9%,56.06% 4.6%,56.71% 0%,57.25% 0%,58.4% 0%,59.35% 0%,60.76% 3.4%,61.36% 5.5%,62.92% 19.7%,64.13% 13.9%,65.25% 34.4%,66.13% 20.6%,67.25% 25.8%,68.73% 20.2%,69.55% 41.4%,71.06% 45.7%,72.11% 41.9%,73.15% 32.3%,74.33% 29.8%,75.74% 8.0%,77.27% 20.6%,77.94% 42.5%,78.96% 49.0%,79.59% 60.7%,80.46% 51.6%,81.36% 62.5%,82.14% 60.6%,83.24% 38.8%,84.37% 48.1%,85.87% 43.0%,86.59% 33.9%,88.01% 42.6%,89.37% 61.0%,90.47% 60.9%,91.62% 53.3%,93.02% 66.3%,94.31% 80%,94.87% 80%,96.41% 80%,97.92% 64.3%,98.6% 38.4%,99.52% 25.3%,100% 25.3%,100% 100%,0 100%);
  --rasgo-esq: polygon(3.4% 0%,1.4% 1.09%,1.6% 1.56%,2.4% 2.26%,1.4% 2.79%,1.8% 3.93%,0.2% 4.92%,0% 5.9%,0% 6.47%,0.6% 7.58%,0% 8.37%,0.4% 8.86%,0% 9.98%,0% 10.81%,0% 11.95%,0.3% 12.42%,0% 13.59%,0% 14.11%,0.8% 14.61%,0% 15.49%,0.0% 16.37%,0.3% 17.46%,2.7% 18.65%,2.5% 19.31%,0.9% 19.97%,0% 21.0%,0.8% 21.8%,0% 22.54%,1.4% 23.23%,2.8% 23.77%,1.5% 24.95%,0% 25.84%,0.4% 26.55%,0.7% 27.06%,1.1% 27.9%,2.1% 28.87%,3.0% 29.4%,1.6% 30.2%,4.1% 30.74%,2.2% 31.31%,1.7% 32.16%,1.9% 33.32%,3.4% 34.51%,6.0% 35.34%,5.2% 36.18%,6.0% 36.66%,4.3% 37.57%,3.2% 38.67%,5.4% 39.57%,6.1% 40.46%,6.5% 41.01%,6.4% 41.7%,5.7% 42.72%,6.1% 43.88%,4.5% 44.95%,3.3% 45.97%,5.0% 46.47%,4.9% 47.46%,3.9% 48.37%,3.6% 48.93%,3.1% 49.41%,3.5% 50.49%,2.7% 51.11%,4.3% 52.14%,4.8% 53.28%,5.2% 53.87%,4.8% 54.94%,5.3% 55.71%,4.9% 56.26%,3.7% 57.1%,4.2% 57.61%,5.2% 58.49%,5.3% 59.06%,5.2% 59.9%,6.8% 60.97%,3.5% 61.6%,1.7% 62.73%,3.0% 63.21%,4.5% 63.93%,4.0% 64.88%,2.7% 65.59%,0.8% 66.44%,2.2% 67.23%,1.3% 68.23%,0.3% 69.17%,0.7% 69.85%,0% 70.27%,0% 70.75%,0% 71.87%,1.4% 72.61%,3.5% 73.58%,3.4% 74.3%,5.0% 75.15%,6.5% 75.83%,6.6% 76.38%,7% 77.32%,7% 78.4%,5.5% 79.03%,6.6% 79.75%,5.4% 80.18%,6.0% 80.74%,7% 81.82%,7% 82.52%,5.7% 83.31%,7% 83.79%,7% 84.68%,5.3% 85.23%,3.9% 86.31%,3.1% 86.81%,4.8% 87.72%,6.5% 88.38%,2.0% 89.37%,2.8% 90.45%,1.1% 91.41%,0% 92.56%,0% 93.64%,0.1% 94.32%,0% 95.5%,0.1% 96.54%,1.4% 97.64%,4.4% 98.25%,6.1% 98.98%,6.1% 100%,100% 100%,100% 0);
  --rasgo-base: polygon(0 0,100% 0,100% 94.2%,99.81% 94.2%,98.51% 93%,98.01% 93.4%,96.8% 94.5%,96.2% 93.7%,95.48% 94.8%,94.12% 93%,92.9% 94.0%,91.83% 93.8%,90.9% 94.1%,89.88% 93%,89.22% 94.0%,88.01% 93.3%,87.28% 93%,86.62% 94.6%,85.99% 96.3%,85.29% 97.2%,83.82% 98.3%,83.11% 99.7%,82.2% 99.5%,80.88% 98.3%,80.01% 100%,79.17% 100%,78.26% 100%,77.37% 100%,76.26% 100%,75.04% 100%,73.87% 99.7%,72.55% 98.4%,71.31% 100%,70.76% 100%,69.81% 99.0%,68.7% 100%,67.7% 99.1%,67.06% 97.7%,66.13% 93.4%,64.8% 94.5%,63.99% 93%,62.67% 93.3%,61.69% 94.5%,60.29% 94.3%,59.03% 94.4%,57.68% 93%,56.92% 93%,55.64% 94.9%,54.83% 93%,53.61% 93.6%,52.3% 93.8%,51.69% 93%,51.11% 93%,50.07% 93%,49.46% 93.6%,48.39% 93.1%,46.95% 93%,45.65% 93%,45.0% 93%,44.37% 93.3%,43.07% 94.0%,41.58% 95.8%,40.95% 96.3%,40.23% 97.1%,39.6% 93.4%,38.54% 94.1%,38.04% 93%,37.14% 93%,36.35% 93.3%,35.59% 93%,34.36% 93%,33.56% 93.1%,32.09% 93%,30.75% 93%,29.66% 93%,28.16% 93%,27.22% 93.4%,26.08% 93.2%,24.89% 94.7%,23.66% 95.3%,22.55% 95.0%,21.08% 94.6%,19.72% 95.1%,18.35% 93.6%,17.02% 93.0%,15.58% 94.8%,14.43% 93.0%,13.7% 94.2%,12.8% 95.7%,11.78% 96.6%,10.6% 96.9%,9.41% 96.6%,8.79% 95.4%,7.86% 95.9%,6.51% 96.0%,5.27% 94.2%,3.9% 93%,2.79% 94.4%,2.07% 95.2%,1.35% 94.3%,0% 95.6%);

  color-scheme: dark;
}

*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  margin: 0;
  background: var(--carvao);
  color: var(--branco-quente);
  font-family: var(--f-grotesca);
  font-size: 1.0625rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* Grão de papel sobre toda a página */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 50;
  opacity: .11;
  mix-blend-mode: overlay;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .5 0 0 0 0 .5 0 0 0 0 .5 0 0 0 1.4 -.2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

img { display: block; max-width: 100%; height: auto; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--amarelo); outline-offset: 3px; }

.envelope {
  width: 100%;
  max-width: var(--envelope);
  margin-inline: auto;
  padding-inline: var(--calha);
}

/* ---------- Marca ---------- */
.logo {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  text-decoration: none;
  color: var(--branco-quente);
}
.logo-marca { width: 2.4rem; height: 1.5rem; }
.logo-nome {
  font-family: var(--f-titulo);
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1;
  letter-spacing: .42em;
  text-transform: uppercase;
  margin-right: -.42em;
}

/* ---------- Topo ---------- */
.topo {
  position: absolute;
  inset: 0 0 auto 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: calc(env(safe-area-inset-top, 0px) + 1.25rem) var(--calha) 1.25rem;
}
.topo-link {
  font-weight: 700;
  font-size: .8rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-decoration: none;
  padding: .55rem 1rem;
  background: var(--carvao);
  border: 1px solid color-mix(in srgb, var(--branco-quente) 40%, transparent);
}
.topo-link:hover { background: var(--branco-quente); color: var(--carvao); }

/* ---------- Abertura ---------- */
.abertura {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  background:
    radial-gradient(circle at 1px 1px, color-mix(in srgb, var(--branco-quente) 22%, transparent) 1px, transparent 1.6px) 0 0 / 7px 7px,
    var(--carvao);
  background-blend-mode: normal;
}
/* a retícula aparece só no canto inferior do papel preto */
.abertura::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(20deg, transparent 0 18%, var(--carvao) 42%);
  pointer-events: none;
}

.abertura-foto {
  position: relative;
  min-height: 17rem;
  height: 72vw;
  max-height: 34rem;
  margin-top: calc(env(safe-area-inset-top, 0px) + 4.4rem);
}
.abertura-foto > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 48% 30%;
  clip-path: var(--rasgo-base);
  filter: saturate(1.08) contrast(1.05);
}

.recorte {
  position: absolute;
  margin: 0;
  width: min(40%, 15rem);
  aspect-ratio: 16 / 10;
  right: var(--calha);
  bottom: -2.5rem;
  padding: .45rem;
  background: var(--papel);
  transform: rotate(3deg);
  box-shadow: 0 .8rem 1.6rem rgb(0 0 0 / .45);
  z-index: 2;
}
.recorte img { width: 100%; height: 100%; object-fit: cover; }
.recorte--pb img, .pb img { filter: grayscale(1) contrast(1.15) brightness(1.05); }

.fita {
  position: absolute;
  z-index: 3;
  width: 6.5rem;
  height: 1.9rem;
  background: color-mix(in srgb, var(--amarelo) 88%, transparent);
  clip-path: polygon(2% 8%, 98% 0, 100% 30%, 97% 55%, 100% 92%, 3% 100%, 0 70%, 3% 42%, 0 18%);
}
.fita--a { right: calc(var(--calha) + 5rem); bottom: 6.6rem; transform: rotate(-8deg); }

.abertura-texto {
  position: relative;
  z-index: 1;
  padding: 3.5rem var(--calha) 4.5rem;
  display: grid;
  gap: 1.4rem;
  justify-items: start;
}

.sobretitulo {
  margin: 0;
  font-weight: 600;
  font-size: .78rem;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--branco-quente) 82%, transparent);
}

.titulo-filme {
  margin: 0;
  font-family: var(--f-titulo);
  font-weight: 500;
  font-size: clamp(4.4rem, 19vw, 9.5rem);
  line-height: .86;
  text-transform: uppercase;
  letter-spacing: -.005em;
  color: var(--branco-quente);
}
.titulo-filme span { display: block; }
.titulo-filme span + span { padding-left: .12em; }

.lide {
  margin: 0;
  max-width: 30ch;
  font-size: clamp(1.1rem, 2.6vw, 1.3rem);
  line-height: 1.45;
  font-variation-settings: "wdth" 92;
  color: color-mix(in srgb, var(--branco-quente) 90%, transparent);
  text-wrap: pretty;
}

.acoes {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem 1.4rem;
  margin-top: .4rem;
}

/* Botão principal como fita adesiva amarela */
.botao-fita {
  display: inline-flex;
  align-items: center;
  gap: .6rem;
  padding: 1rem 1.6rem 1rem 1.3rem;
  background: var(--amarelo);
  color: var(--carvao);
  font-weight: 800;
  font-variation-settings: "wdth" 80;
  font-size: 1.15rem;
  letter-spacing: .02em;
  text-transform: uppercase;
  text-decoration: none;
  clip-path: polygon(1% 6%, 99% 0, 100% 24%, 98% 50%, 100% 78%, 98% 100%, 2% 96%, 0 70%, 2% 46%, 0 22%);
  transform: rotate(-1.5deg);
  transition: transform .2s ease, background-color .2s ease;
}
.botao-fita svg { width: 1.2rem; height: 1.2rem; }
.botao-fita:hover { transform: rotate(0deg) scale(1.03); background: var(--branco-quente); }

.selo {
  font-family: var(--f-titulo);
  font-weight: 600;
  font-size: 1.15rem;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--amarelo);
}

.credito {
  margin: .8rem 0 0;
  font-size: .78rem;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--cinza);
}
.credito strong {
  margin-left: .35rem;
  font-family: var(--f-titulo);
  font-weight: 600;
  font-size: 1.15rem;
  letter-spacing: .04em;
  color: var(--branco-quente);
}

@media (min-width: 60rem) {
  .abertura {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr);
    min-height: min(42rem, 100svh);
  }
  .abertura-texto {
    grid-row: 1;
    grid-column: 1;
    align-content: center;
    padding: 8rem 0 5rem max(var(--calha), calc((100vw - var(--envelope)) / 2 + var(--calha)));
  }
  .abertura-foto {
    grid-row: 1;
    grid-column: 2;
    height: auto;
    max-height: none;
    margin-top: 0;
    margin-left: -3rem;
    z-index: 0;
  }
  .titulo-filme { font-size: clamp(5rem, 7.6vw, 8rem); }
  .lide { max-width: 34ch; }
  .abertura-foto > img { clip-path: var(--rasgo-esq); object-position: 47% 35%; }
  .recorte { right: 2.5rem; bottom: 2.5rem; width: 13rem; transform: rotate(-4deg); }
  .fita--a { right: 10rem; bottom: 10.6rem; transform: rotate(14deg); }
}

/* Entrada da abertura: papel se encaixa e o título sobe */
@media (prefers-reduced-motion: no-preference) {
  .abertura-foto > img { animation: revela 1.1s cubic-bezier(.2, .7, .2, 1) both; }
  .recorte { animation: cola .9s .5s cubic-bezier(.2, .8, .3, 1.2) both; }
  .titulo-filme span { animation: sobe .9s cubic-bezier(.2, .7, .2, 1) both; }
  .titulo-filme span + span { animation-delay: .12s; }
  .lide, .acoes, .credito { animation: sobe .8s .3s cubic-bezier(.2, .7, .2, 1) both; }
}
@keyframes revela { from { opacity: 0; transform: scale(1.05); } }
@keyframes cola { from { opacity: 0; transform: translateY(1.5rem) rotate(9deg); } }
@keyframes sobe { from { opacity: 0; transform: translateY(1.2rem); } }

/* ---------- Rasgos entre seções ---------- */
.rasgo {
  position: absolute;
  left: 0;
  right: 0;
  height: clamp(1.1rem, 2.6vw, 2rem);
  background: var(--papel);
  clip-path: var(--rasgo);
  pointer-events: none;
}
.rasgo--topo { bottom: calc(100% - 1px); }
.rasgo--base { top: calc(100% - 1px); transform: scaleY(-1) scaleX(-1); }
.rasgo--amarelo { background: var(--amarelo); }

/* ---------- Seção em papel cru ---------- */
.papel {
  position: relative;
  z-index: 2;
  background: var(--papel);
  color: var(--carvao);
  padding-block: clamp(4rem, 9vw, 7rem);
}

.pergunta {
  margin: 0 0 1.6rem;
  font-family: var(--f-grotesca);
  font-weight: 900;
  font-variation-settings: "wdth" 72;
  font-size: clamp(2.8rem, 10vw, 6rem);
  line-height: 1.12;
  text-transform: uppercase;
  letter-spacing: -.01em;
}
.tira {
  display: inline-block;
  padding: .02em .22em 0;
  background: var(--branco-quente);
  color: var(--carvao);
  box-shadow: .1em .1em 0 var(--carvao);
  clip-path: polygon(0 4%, 18% 0, 40% 5%, 63% 1%, 85% 4%, 100% 0, 100% 100%, 79% 96%, 55% 100%, 30% 95%, 9% 100%, 0 97%);
}
.tira:nth-of-type(2) { transform: rotate(-1deg) translateX(.15em); }
.tira:nth-of-type(3) { transform: rotate(.8deg); }

.pergunta-texto {
  max-width: 52ch;
  margin: 0 0 clamp(2.5rem, 6vw, 4rem);
  font-size: 1.15rem;
  color: var(--cinza-escuro);
  text-wrap: pretty;
}

.chamadas {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 17rem), 1fr));
  gap: clamp(2rem, 4vw, 2.75rem);
}
.chamada { min-width: 0; }
.chamada-foto {
  position: relative;
  aspect-ratio: 4 / 3;
  max-width: 100%;
  margin-bottom: 1.2rem;
  background: var(--carvao);
  clip-path: var(--rasgo-base);
}
.chamada-foto img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.chamada:hover .chamada-foto img { transform: scale(1.04); }
.chamada:nth-child(2) .chamada-foto { transform: rotate(.6deg); }
.chamada:nth-child(3) .chamada-foto img { filter: grayscale(1) contrast(1.1); }
.chamada h3 {
  margin: 0 0 .4rem;
  font-weight: 800;
  font-variation-settings: "wdth" 75;
  font-size: 1.6rem;
  line-height: 1.1;
  text-transform: uppercase;
  text-wrap: balance;
}
.chamada p { margin: 0; color: var(--cinza-escuro); max-width: 40ch; }

/* ---------- Citação ---------- */
.citacao { padding-block: clamp(6rem, 12vw, 9rem) clamp(3rem, 6vw, 5rem); }
.citacao blockquote { margin: 0; max-width: 46rem; }
.citacao p {
  margin: 0;
  font-family: var(--f-citacao);
  font-style: italic;
  font-size: clamp(1.9rem, 5vw, 3.2rem);
  line-height: 1.18;
  text-wrap: balance;
}
.citacao p::before { content: "“"; color: var(--amarelo); margin-left: -.45em; padding-right: .05em; }
.citacao footer {
  margin-top: 1.4rem;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--cinza);
}

/* ---------- Fotogramas ---------- */
.fotogramas { padding-block: clamp(2rem, 5vw, 4rem) clamp(4rem, 8vw, 6rem); }
.fotogramas-cabeca {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: .5rem 2rem;
  margin-bottom: 1.8rem;
}
.secao-titulo {
  margin: 0;
  font-family: var(--f-titulo);
  font-weight: 600;
  font-size: clamp(2.6rem, 7vw, 4rem);
  line-height: .95;
  text-transform: uppercase;
}
.nota { margin: 0; color: var(--cinza); font-size: .95rem; max-width: 40ch; }

.pelicula {
  list-style: none;
  margin: 0;
  display: flex;
  gap: 1rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding: .5rem var(--calha) 1.2rem;
  scroll-padding-inline: var(--calha);
  scrollbar-color: var(--cinza-escuro) transparent;
}
@media (min-width: 72rem) {
  .pelicula {
    padding-inline: calc((100vw - var(--envelope)) / 2 + var(--calha));
    scroll-padding-inline: calc((100vw - var(--envelope)) / 2 + var(--calha));
  }
}
.pelicula li { flex: 0 0 min(80vw, 30rem); scroll-snap-align: start; }
.pelicula figure { margin: 0; }
.pelicula img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border: .35rem solid var(--carvao-2);
  outline: 1px solid color-mix(in srgb, var(--branco-quente) 10%, transparent);
}
.pelicula figcaption {
  margin-top: .6rem;
  font-size: .82rem;
  letter-spacing: .04em;
  color: var(--cinza);
}

/* ---------- Sobre ---------- */
.sobre {
  padding-block: clamp(4rem, 8vw, 6rem);
  border-top: 1px solid color-mix(in srgb, var(--branco-quente) 12%, transparent);
}
.sobre-grade {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 3rem;
}
@media (min-width: 56rem) { .sobre-grade { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 5rem; } }
.sobre .secao-titulo { margin-bottom: 1.6rem; }
.sobre-texto { margin: 0 0 1rem; max-width: 58ch; color: color-mix(in srgb, var(--branco-quente) 86%, transparent); }

.frentes { margin: 0; display: grid; gap: 0; align-content: start; }
.frentes div {
  padding-block: 1.1rem;
  border-top: 1px solid color-mix(in srgb, var(--branco-quente) 16%, transparent);
  display: grid;
  gap: .25rem;
}
.frentes div:last-child { border-bottom: 1px solid color-mix(in srgb, var(--branco-quente) 16%, transparent); }
.frentes dt {
  font-weight: 800;
  font-variation-settings: "wdth" 75;
  font-size: 1.25rem;
  text-transform: uppercase;
  letter-spacing: .02em;
}
.frentes dd { margin: 0; color: var(--cinza); font-size: .98rem; }

/* ---------- Chamada final ---------- */
.final {
  position: relative;
  background: var(--amarelo);
  color: var(--carvao);
  padding-block: clamp(3.5rem, 8vw, 6rem);
  margin-top: 1.5rem;
}
.final-grade { display: grid; gap: 2rem; }
@media (min-width: 56rem) { .final-grade { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); align-items: end; gap: 4rem; } }
.final-titulo {
  margin: 0;
  font-weight: 900;
  font-variation-settings: "wdth" 70;
  font-size: clamp(2.4rem, 7vw, 4.4rem);
  line-height: .98;
  text-transform: uppercase;
  text-wrap: balance;
}
.final-acoes { display: grid; gap: .8rem; justify-items: start; }
.botao-cheio, .botao-contorno {
  display: inline-flex;
  justify-content: center;
  min-width: min(100%, 17rem);
  padding: .95rem 1.4rem;
  font: inherit;
  font-weight: 800;
  font-variation-settings: "wdth" 85;
  font-size: 1rem;
  letter-spacing: .06em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .2s ease, color .2s ease;
}
.botao-cheio { background: var(--carvao); color: var(--branco-quente); border: 2px solid var(--carvao); }
.botao-cheio:hover { background: var(--branco-quente); color: var(--carvao); }
.botao-contorno { background: transparent; color: var(--carvao); border: 2px solid var(--carvao); }
.botao-contorno:hover { background: var(--carvao); color: var(--amarelo); }
.final-acoes .botao-cheio { font-size: 1.1rem; padding-block: 1.1rem; }
.link-sublinhado { font-weight: 600; text-decoration: underline; text-underline-offset: .25em; }
.link-botao { padding: 0; border: 0; background: none; font: inherit; font-weight: 600; color: inherit; cursor: pointer; }
.links-secundarios { display: flex; flex-wrap: wrap; gap: .6rem 1.6rem; margin-top: .3rem; }
.final :focus-visible { outline-color: var(--carvao); }

/* ---------- Rodapé ---------- */
.rodape { padding-block: 3rem calc(env(safe-area-inset-bottom, 0px) + 3rem); }
.rodape-grade { display: grid; gap: 1rem; justify-items: start; }
.rodape p { margin: 0; font-size: .85rem; color: var(--cinza); }
