/* Zavia · site de lançamento */
:root {
  --papel: #FFFBF5;
  --carta: #ECE8D8;
  --veludo: #0B2216;
  --verde: #1F3A2C;
  --verde-vivo: #24543A;
  --salvia: #DDE5D6;
  --rosa: #C37378;
  --rosa-escuro: #9E4F58;
  --rosa-claro: #EBD3D0;
  --rosa-bg: #F6E9E6;
  --marmore-rosa: #EFC7C3;
  --vinho: #5A2025;
  --tinta: #16271D;
  --tinta-suave: #56604F;
  --linha: color-mix(in oklab, var(--tinta) 16%, transparent);

  --f-titulo: 'Bodoni Moda', 'Didot', Georgia, serif;
  --f-texto: 'Inter Tight', 'Helvetica Neue', Arial, sans-serif;

  --margem: clamp(1rem, 4vw, 3.5rem);
  --largura: 1240px;
  --ease: cubic-bezier(.22, 1, .36, 1);
  color-scheme: light;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
body {
  margin: 0;
  background: var(--papel);
  color: var(--tinta);
  font-family: var(--f-texto);
  font-size: clamp(1rem, .96rem + .2vw, 1.125rem);
  line-height: 1.6;
  font-weight: 400;
  overflow-x: clip;
  -webkit-font-smoothing: antialiased;
  font-optical-sizing: none;
  font-variation-settings: 'opsz' 11;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
p { margin: 0 0 1em; }
h1, h2, h3 { margin: 0; font-weight: 500; }
strong { font-weight: 600; }
em { font-style: italic; }
::selection { background: var(--rosa-claro); color: var(--verde); }

.pular {
  position: absolute; left: 1rem; top: -4rem; z-index: 100;
  background: var(--veludo); color: var(--papel); padding: .6rem 1rem;
}
.pular:focus { top: 1rem; }
:focus-visible { outline: 2px solid var(--rosa); outline-offset: 3px; }

.largura { width: min(100% - 2 * var(--margem), var(--largura)); margin-inline: auto; }
.estreita { max-width: 820px; }

.sobretitulo {
  font-size: .72rem; letter-spacing: .22em; text-transform: uppercase;
  color: var(--verde-vivo); font-weight: 500; margin-bottom: 1.2rem;
}
.rotulo { font-size: .78rem; letter-spacing: .14em; text-transform: uppercase; color: var(--tinta-suave); margin-bottom: .8rem; }
.nota { font-size: .8rem; color: var(--tinta-suave); line-height: 1.5; }

.titulo-secao {
  font-family: var(--f-titulo);
  font-size: clamp(2rem, 1.3rem + 3.2vw, 4.4rem);
  line-height: 1.04;
  letter-spacing: -.015em;
  font-weight: 500;
  text-wrap: balance;
}
.titulo-secao em { color: var(--rosa); font-weight: 400; }

/* botões */
.botao {
  --fundo: var(--veludo); --texto: var(--papel); --aura: color-mix(in oklab, var(--rosa) 60%, transparent);
  position: relative; display: inline-flex; align-items: center; gap: .8em;
  padding: 1.05em 1.6em; color: var(--texto);
  /* faixa de brilho que atravessa o botão de tempos em tempos */
  background: linear-gradient(110deg, transparent 38%, rgba(255, 251, 245, .28) 50%, transparent 62%) 160% 0 / 260% 100% no-repeat, var(--fundo);
  text-decoration: none; font-size: .78rem; letter-spacing: .14em; text-transform: uppercase;
  font-weight: 600; line-height: 1.35; border-radius: 2px; overflow: hidden; isolation: isolate;
  transition: color .5s var(--ease), transform .5s var(--ease), box-shadow .5s var(--ease);
  animation: brilho 3.8s var(--ease) infinite, chama 2.8s ease-out infinite;
}
.botao::after { content: '✦'; font-size: 1em; animation: gira 7s linear infinite; transition: scale .5s var(--ease); }
.botao::before {
  content: ''; position: absolute; inset: 0; z-index: -1; background: var(--verde-vivo);
  transform: translateY(101%); transition: transform .6s var(--ease);
}
.botao:hover { transform: translateY(-3px); box-shadow: 0 18px 30px -14px rgba(11, 34, 22, .55); animation-play-state: paused; }
.botao:hover::before { transform: translateY(0); }
.botao:hover::after { scale: 1.35; }
.botao:active { transform: translateY(0); }
@keyframes brilho { 0%, 55% { background-position: 160% 0, 0 0; } 100% { background-position: -60% 0, 0 0; } }
@keyframes chama { 0% { box-shadow: 0 0 0 0 var(--aura); } 70%, 100% { box-shadow: 0 0 0 14px transparent; } }
@keyframes gira { to { rotate: 360deg; } }
.botao-mini { padding: .8em 1.2em; font-size: .68rem; animation: brilho 3.8s var(--ease) infinite; }
.botao-claro { --fundo: var(--rosa-claro); --texto: var(--veludo); --aura: color-mix(in oklab, var(--rosa-claro) 70%, transparent); }
.botao-claro::before { background: var(--papel); }

/* topo */
.topo {
  position: fixed; inset: 0 0 auto; z-index: 50;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: .9rem var(--margem);
  transition: background .5s var(--ease), box-shadow .5s var(--ease), transform .6s var(--ease);
}
.topo.rolou { background: color-mix(in oklab, var(--papel) 94%, transparent); box-shadow: 0 1px 0 var(--linha); }
.topo.some { transform: translateY(-110%); }
.marca { display: flex; align-items: center; gap: .6rem; text-decoration: none; }
.marca img { width: 34px; height: auto; }
.marca span { font-family: var(--f-titulo); font-size: 1.35rem; letter-spacing: .02em; }
.topo-data { margin: 0; font-size: .7rem; letter-spacing: .2em; text-transform: uppercase; display: flex; align-items: center; gap: .55rem; }
.ponto { width: 7px; height: 7px; border-radius: 50%; background: var(--rosa); box-shadow: 0 0 0 0 var(--rosa); animation: pulsa 2.4s infinite; }
@keyframes pulsa { 0% { box-shadow: 0 0 0 0 color-mix(in oklab, var(--rosa) 60%, transparent); } 80%, 100% { box-shadow: 0 0 0 10px transparent; } }

/* ============ 1. HERO ============ */
.hero { position: relative; height: 230vh; height: 230svh; }
.hero-palco { position: sticky; top: 0; height: 100vh; height: 100svh; overflow: hidden; background: var(--papel); }
.tabuleiro { position: absolute; inset: auto 0 0; height: 58%; perspective: 700px; perspective-origin: 50% 0%; pointer-events: none; opacity: calc(var(--p, 0) * 3); transform: translateY(calc((1 - min(1, var(--p, 0) * 3)) * 18%)); }
.tabuleiro-plano {
  position: absolute; left: -60%; right: -60%; top: 0; height: 190%;
  background:
    repeating-conic-gradient(var(--verde-vivo) 0 25%, var(--carta) 0 50%) 0 0 / clamp(70px, 9vw, 130px) clamp(70px, 9vw, 130px);
  transform-origin: 50% 0;
  transform: rotateX(72deg);
  -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 24%, #000 34%, transparent 60%);
          mask-image: linear-gradient(to bottom, transparent 0%, #000 24%, #000 34%, transparent 60%);
  opacity: .8;
}
.hero-palavra {
  position: absolute; left: 50%; top: 48%; margin: 0; z-index: 1;
  transform: translate(-50%, -50%);
  font-family: var(--f-titulo); font-weight: 500; line-height: .8;
  font-size: clamp(6rem, 29vw, 34rem); letter-spacing: -.03em;
  color: var(--veludo); white-space: nowrap; user-select: none;
}
.hero-palavra span { display: inline-block; }
#hero3d { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 2; pointer-events: none; }
.hero-fallback { display: none; }
.sem-3d .hero-fallback {
  display: block; position: absolute; z-index: 2; right: 6%; top: 18%; width: min(28vw, 340px);
  aspect-ratio: 3 / 4; object-fit: cover; transform: rotate(4deg); box-shadow: 0 30px 60px -20px rgba(11, 34, 22, .45);
}
.role { display: block; position: absolute; z-index: 3; left: 50%; bottom: 1.4rem; transform: translateX(-50%); margin: 0; font-size: .66rem; letter-spacing: .3em; text-transform: uppercase; color: var(--tinta-suave); }
.role span { display: block; padding-bottom: 2.2rem; background: linear-gradient(var(--tinta-suave), var(--tinta-suave)) 50% 100% / 1px 1.6rem no-repeat; animation: desce 2.2s var(--ease) infinite; }
@keyframes desce { 0% { background-size: 1px 0; background-position: 50% 1.2rem; } 50% { background-size: 1px 1.6rem; } 100% { background-size: 1px 0; background-position: 50% 100%; } }

/* título e compra logo abaixo da capa */
.abertura { position: relative; z-index: 2; background: var(--papel); padding: clamp(3rem, 8vw, 7rem) 0 clamp(3rem, 7vw, 6rem); }
.abertura-grade {
  width: min(100% - 2 * var(--margem), var(--largura)); margin-inline: auto; display: grid;
  grid-template-columns: 1.1fr 1fr; grid-template-areas: "titulo foto" "lado foto";
  column-gap: clamp(2rem, 6vw, 6rem); row-gap: clamp(1.6rem, 3vw, 2.6rem);
}
.abertura .hero-texto { grid-area: titulo; align-self: end; }
.abertura .hero-lado { grid-area: lado; align-self: start; max-width: 30rem; }
.abertura-foto { grid-area: foto; margin: 0; }
.abertura-foto img { width: 100%; height: auto; max-height: 88vh; object-fit: cover; object-position: 50% 40%; border-radius: 2px; }
.hero-titulo { font-family: var(--f-titulo); font-size: clamp(2.8rem, 1.2rem + 5.6vw, 7rem); line-height: .96; letter-spacing: -.02em; font-weight: 500; }
.hero-titulo .linha { display: block; overflow: hidden; padding-bottom: .08em; }
.hero-titulo .linha > span { display: inline-block; }
.riscado { position: relative; color: var(--rosa); font-weight: 400; }
.riscado::after {
  content: ''; position: absolute; left: -2%; right: -2%; top: 55%; height: .06em; background: var(--veludo);
  transform-origin: left; transform: scaleX(var(--risco, 1));
}
.hero-lado p { font-size: 1.08rem; }
.botao-grande { width: 100%; justify-content: space-between; padding: 1.45em 1.8em; font-size: .9rem; margin: .8rem 0 1rem; }
.hero-lado .nota { margin: 0; }

/* ============ 2. INTRO ============ */
.intro { padding: clamp(5rem, 12vw, 10rem) 0 clamp(4rem, 8vw, 7rem); }
.intro-grade { width: min(100% - 2 * var(--margem), var(--largura)); margin-inline: auto; display: grid; grid-template-columns: 1.3fr 1fr; gap: clamp(2rem, 6vw, 6rem); align-items: end; }
.intro-texto { font-family: var(--f-titulo); font-size: clamp(1.6rem, 1rem + 2.2vw, 3rem); line-height: 1.18; letter-spacing: -.01em; margin: 0; }
.intro-texto em { color: var(--rosa); }
.intro-para { font-family: var(--f-titulo); font-size: clamp(1.3rem, 1rem + 1vw, 1.9rem); line-height: 1.25; margin-bottom: 1.6rem; }
.intro-para em { color: var(--rosa); }
.intro-sem { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--linha); }
.intro-sem li { padding: 1rem 0; border-bottom: 1px solid var(--linha); display: flex; gap: .8rem; }
.intro-sem li::before { content: '✕'; color: var(--rosa); font-size: .8em; padding-top: .2em; }

/* ============ 3. VIDA REAL ============ */
.vida { padding: clamp(3rem, 8vw, 7rem) 0; background: var(--salvia); }
.vida .titulo-secao { max-width: 17ch; }
.promessa-palco { position: relative; margin-top: clamp(3rem, 7vw, 6rem); min-height: 40rem; display: grid; justify-items: center; align-items: start; padding-top: 2.5rem; }
.promessa {
  position: relative; z-index: 1; width: min(100%, 38rem); background: var(--papel); padding: clamp(1.8rem, 4vw, 3.2rem);
  box-shadow: 0 40px 80px -40px rgba(11, 34, 22, .35); transform: rotate(-1deg);
}
.promessa blockquote { margin: 0 0 1.4rem; font-family: var(--f-titulo); font-style: italic; font-size: clamp(1.5rem, 1rem + 1.6vw, 2.3rem); line-height: 1.2; color: var(--verde); }
.promessa-so { margin: 0; color: var(--tinta-suave); }
.pilha { list-style: none; margin: 0; padding: 0; position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.pilha li {
  position: absolute; padding: .7em 1.2em; background: var(--veludo); color: var(--papel);
  font-family: var(--f-titulo); font-size: clamp(1rem, .8rem + .7vw, 1.4rem); font-style: italic; white-space: nowrap;
  transform: rotate(var(--r)); box-shadow: 0 14px 30px -12px rgba(11, 34, 22, .45);
}
/* verde, rosé e off-white se alternando */
.pilha li:nth-child(1) { left: 0; top: 4%; background: var(--veludo); }
.pilha li:nth-child(2) { right: 0; top: 8%; background: var(--rosa-claro); color: var(--veludo); }
.pilha li:nth-child(3) { left: 2%; top: 38%; background: var(--papel); color: var(--veludo); }
.pilha li:nth-child(4) { right: 3%; top: 36%; background: var(--verde-vivo); }
.pilha li:nth-child(5) { left: 5%; bottom: 14%; background: var(--rosa-claro); color: var(--veludo); }
.pilha li:nth-child(6) { left: 50%; bottom: 3%; translate: -50% 0; white-space: normal; width: min(24rem, 80vw); text-align: center; background: var(--papel); color: var(--veludo); }

.pergunta { min-height: 100vh; min-height: 100svh; display: grid; place-content: center; text-align: center; padding: 6rem var(--margem); background: var(--veludo); color: var(--papel); }
.pergunta-antes { max-width: 34rem; margin: 0 auto 2rem; color: color-mix(in oklab, var(--papel) 70%, transparent); }
.pergunta-texto { font-family: var(--f-titulo); font-size: clamp(3rem, 1.4rem + 8vw, 10rem); line-height: .95; letter-spacing: -.03em; margin: 0; color: var(--papel); text-wrap: balance; }
.pergunta-texto .p { display: inline-block; }

.ciclo { position: relative; padding: clamp(4rem, 10vw, 8rem) var(--margem); display: grid; place-items: center; min-height: max(100vh, calc(min(150vw, 980px) + 9rem)); overflow: hidden; background: var(--papel); }
.ciclo-anel { position: absolute; width: min(150vw, 980px); aspect-ratio: 1; left: 50%; top: 50%; translate: -50% -50%; }
.ciclo-anel svg { width: 100%; height: 100%; overflow: visible; }
.ciclo-anel text { font-family: var(--f-titulo); font-style: italic; font-size: 23.5px; fill: var(--rosa); letter-spacing: .043em; }
.ciclo-miolo { position: relative; max-width: 30rem; text-align: center; }
.ciclo-lista { list-style: none; margin: 0; padding: 0; }
.ciclo-lista li { margin-bottom: .9rem; font-size: clamp(1rem, .95rem + .3vw, 1.2rem); }
.ciclo-lista li:last-child { margin-top: 1.6rem; font-family: var(--f-titulo); font-size: clamp(1.4rem, 1rem + 1.4vw, 2.1rem); line-height: 1.2; color: var(--verde); }

.virada { padding: clamp(5rem, 10vw, 9rem) 0; background: var(--papel); }
.virada p { font-size: clamp(1.1rem, 1rem + .5vw, 1.45rem); }
.virada-grande { font-family: var(--f-titulo); font-size: clamp(1.9rem, 1.2rem + 2.8vw, 3.8rem) !important; line-height: 1.08; letter-spacing: -.015em; margin-bottom: 2rem !important; }
.virada-grande strong { font-weight: 500; }

/* ============ 4. GENÉRICO ============ */
.generico { position: relative; height: 260vh; background: var(--papel); }
.generico-fixo {
  position: sticky; top: 0; height: 100vh; height: 100svh;
  width: min(100% - 2 * var(--margem), var(--largura)); margin-inline: auto;
  display: grid; grid-template-columns: 1fr 1.05fr; gap: clamp(2rem, 5vw, 5rem); align-items: center;
}
.generico-texto .titulo-secao { margin-bottom: 1.8rem; }
.generico-tela { position: relative; aspect-ratio: 1; width: 100%; max-height: 78vh; margin-inline: auto; }
.feed { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; }
.feed > div { position: relative; overflow: hidden; display: flex; align-items: flex-end; padding: .7rem; background-size: cover; background-position: center; }
.feed-cinza > div { background: #F4F1E9; outline: 1px dashed color-mix(in oklab, var(--verde) 22%, transparent); outline-offset: -8px; flex-direction: column; align-items: flex-start; justify-content: space-between; }
.feed-cinza > div:nth-child(even) { background: #EEEAE0; }
.feed-cinza > div::before { content: 'modelo pronto'; font-size: .56rem; letter-spacing: .18em; text-transform: uppercase; color: color-mix(in oklab, var(--verde) 45%, transparent); }
.feed-cinza span { font-family: var(--f-texto); font-size: clamp(.62rem, .5rem + .4vw, .88rem); color: color-mix(in oklab, var(--verde) 55%, transparent); font-weight: 500; text-transform: uppercase; letter-spacing: .04em; line-height: 1.15; }
.feed-zavia {
  --r: 0%;
  -webkit-mask-image:
    radial-gradient(circle at 32% 38%, #000 calc(var(--r) * 1), transparent calc(var(--r) * 1 + 1px)),
    radial-gradient(circle at 72% 60%, #000 calc(var(--r) * .78), transparent calc(var(--r) * .78 + 1px)),
    radial-gradient(circle at 46% 86%, #000 calc(var(--r) * .62), transparent calc(var(--r) * .62 + 1px)),
    radial-gradient(circle at 80% 18%, #000 calc(var(--r) * .5), transparent calc(var(--r) * .5 + 1px));
          mask-image:
    radial-gradient(circle at 32% 38%, #000 calc(var(--r) * 1), transparent calc(var(--r) * 1 + 1px)),
    radial-gradient(circle at 72% 60%, #000 calc(var(--r) * .78), transparent calc(var(--r) * .78 + 1px)),
    radial-gradient(circle at 46% 86%, #000 calc(var(--r) * .62), transparent calc(var(--r) * .62 + 1px)),
    radial-gradient(circle at 80% 18%, #000 calc(var(--r) * .5), transparent calc(var(--r) * .5 + 1px));
}
.feed-zavia > div::before { content: ''; position: absolute; inset: 0; background: linear-gradient(to top, rgba(11, 34, 22, .78), transparent 60%); }
.feed-zavia span { position: relative; font-family: var(--f-titulo); font-style: italic; color: var(--papel); font-size: clamp(.72rem, .55rem + .55vw, 1.12rem); line-height: 1.15; }
.feed-zavia .liso::before { display: none; }
.feed-zavia .liso { align-items: center; justify-content: center; text-align: center; }
.feed-zavia .liso span { font-size: clamp(.85rem, .6rem + .8vw, 1.4rem); }
.liso.verde { background: var(--verde-vivo); }
.liso.rose { background: var(--rosa); }
.liso.vinho { background: var(--verde); }
.liso.creme { background: var(--carta); }
.liso.creme span { color: var(--verde); }
.feed-rotulo { position: absolute; left: 0; right: 0; bottom: -2.4rem; margin: 0; text-align: center; font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; }
.feed-rotulo span { transition: opacity .5s var(--ease); }
.r-zavia { position: absolute; left: 0; right: 0; opacity: 0; color: var(--verde-vivo); }
.generico.revelado .r-cinza { opacity: 0; }
.generico.revelado .r-zavia { opacity: 1; }

.contrastes { padding: clamp(4rem, 9vw, 8rem) 0; background: var(--papel); }
.contrastes-lista { list-style: none; margin: 0 0 clamp(3rem, 6vw, 5rem); padding: 0; counter-reset: c; }
.contrastes-lista li { counter-increment: c; display: grid; grid-template-columns: auto 1fr; column-gap: clamp(1rem, 3vw, 3rem); padding: clamp(1.4rem, 3vw, 2.4rem) 0; border-top: 1px solid var(--linha); }
.contrastes-lista li::before { content: '0' counter(c); grid-row: span 2; font-size: .75rem; letter-spacing: .2em; color: var(--verde-vivo); padding-top: .9em; }
.contrastes-lista span { font-family: var(--f-titulo); font-size: clamp(1.7rem, 1.1rem + 2.6vw, 3.6rem); line-height: 1.05; letter-spacing: -.015em; }
.contrastes-lista em { font-family: var(--f-titulo); font-size: clamp(1.15rem, .9rem + 1vw, 1.8rem); color: var(--rosa); line-height: 1.25; }
.contrastes-fecho { font-family: var(--f-titulo); font-size: clamp(1.5rem, 1rem + 1.8vw, 2.6rem); line-height: 1.15; max-width: 26ch; }
.contrastes-fecho strong { font-weight: 500; }
.contrastes-assina { font-size: .8rem; letter-spacing: .24em; text-transform: uppercase; color: var(--verde-vivo); }

/* ============ 5. CARTA / ENVELOPE ============ */
.carta { background: var(--salvia); padding: clamp(4rem, 9vw, 8rem) 0; }
.carta-fixo { width: min(100% - 2 * var(--margem), var(--largura)); margin-inline: auto; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.envelope { position: sticky; top: 22vh; width: min(100%, 440px); aspect-ratio: 1.42; margin: 14vh auto 0; perspective: 1400px; }
.env-fundo, .env-bolso, .env-aba { position: absolute; }
.env-fundo { inset: 0; background: radial-gradient(ellipse at 30% 20%, #1E4A33, var(--veludo) 72%); border-radius: 4px; box-shadow: 0 50px 80px -40px rgba(11, 34, 22, .6); }
.env-papel {
  position: absolute; z-index: 2; left: 6%; right: 6%; top: 6%; height: 86%;
  background: var(--carta); text-align: center; padding: 9% 8% 0; border-radius: 2px;
  box-shadow: 0 -8px 30px -12px rgba(0, 0, 0, .25);
}
.papel-oi { font-family: var(--f-titulo); font-style: italic; color: var(--rosa); font-size: clamp(1.2rem, .9rem + 1vw, 1.8rem); margin: 0; }
.papel-nome { font-family: var(--f-titulo); font-size: clamp(1.7rem, 1.2rem + 1.8vw, 2.8rem); line-height: 1; margin: .1em 0 .5em; color: var(--veludo); }
.papel-nome em { color: var(--rosa); }
.papel-sub { font-size: .82rem; color: var(--tinta-suave); max-width: 18rem; margin-inline: auto; }
.env-bolso {
  inset: 0; z-index: 3; border-radius: 4px;
  background: radial-gradient(ellipse at 50% 120%, #1F4D35, #0E2A1C 70%);
  clip-path: polygon(0 0, 50% 54%, 100% 0, 100% 100%, 0 100%);
  filter: drop-shadow(0 -2px 2px rgba(0,0,0,.2));
}
.env-aba {
  left: 0; right: 0; top: 0; height: 60%; z-index: 4;
  background: radial-gradient(ellipse at 50% 0%, #2A5C41, #12301F 75%);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  transform-origin: 50% 0; transform: rotateX(0deg); backface-visibility: visible;
}
.env-selo { position: absolute; z-index: 5; left: 50%; top: 60%; width: 25%; translate: -50% -50%; filter: drop-shadow(0 8px 10px rgba(0,0,0,.35)); }
.carta-texto { padding-top: 6vh; }
.carta-texto .titulo-secao { margin-bottom: 2rem; }
.carta-lista { list-style: none; margin: 1.6rem 0 2rem; padding: 0; }
.carta-lista li { font-family: var(--f-titulo); font-size: clamp(1.4rem, 1rem + 1.5vw, 2.4rem); line-height: 1.2; padding: .3rem 0; border-bottom: 1px solid color-mix(in oklab, var(--verde) 18%, transparent); }
.carta-lista li:last-child { font-style: italic; color: var(--verde-vivo); font-size: clamp(1.1rem, .9rem + .9vw, 1.6rem); padding-top: .8rem; }
.destaque { font-family: var(--f-titulo); font-size: clamp(1.3rem, 1rem + 1vw, 1.9rem); line-height: 1.2; margin: 2rem 0 1rem; }
.destaque strong { font-weight: 500; }

/* ============ 6. IMAGINE ============ */
.imagine { position: relative; background: var(--veludo); color: var(--papel); overflow: hidden; padding: clamp(5rem, 12vw, 10rem) 0; }
.imagine-colunas { position: absolute; inset: -10% 0; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: clamp(.8rem, 2vw, 1.6rem); padding: 0 var(--margem); }
.imagine-colunas .col { display: flex; flex-direction: column; gap: clamp(.8rem, 2vw, 1.6rem); }
.imagine-colunas img { width: 100%; aspect-ratio: 9 / 13; object-fit: cover; border-radius: 2px; opacity: .45; filter: saturate(.85); }
.imagine-colunas .col:nth-child(2) { margin-top: -22%; }
.imagine-texto {
  position: relative; z-index: 2; width: min(100% - 2 * var(--margem), 46rem); margin-inline: auto;
  background: color-mix(in oklab, var(--veludo) 90%, transparent); padding: clamp(1.8rem, 5vw, 4rem);
  outline: 1px solid color-mix(in oklab, var(--papel) 14%, transparent); outline-offset: -12px;
}
.imagine-texto .titulo-secao em { color: var(--rosa-claro); }
.imagine-lista { list-style: none; margin: 2.2rem 0; padding: 0; }
.imagine-lista li { padding: 1rem 0 1rem 2.2rem; position: relative; border-top: 1px solid color-mix(in oklab, var(--papel) 14%, transparent); font-size: clamp(1rem, .95rem + .3vw, 1.2rem); }
.imagine-lista li::before { content: '✦'; position: absolute; left: 0; top: 1.05rem; color: var(--rosa); }
.imagine-fecho { margin: 0; color: color-mix(in oklab, var(--papel) 82%, transparent); }
.imagine-fecho strong { color: var(--papel); display: block; font-family: var(--f-titulo); font-weight: 500; font-size: clamp(1.4rem, 1rem + 1.2vw, 2rem); margin-bottom: .6rem; }

/* ============ 7. JOGADAS ============ */
.jogadas { background: var(--papel); padding: clamp(5rem, 10vw, 9rem) 0 clamp(4rem, 8vw, 7rem); }
.jogadas-cabeca { margin-bottom: clamp(2rem, 5vw, 4rem); }
.jogadas-cabeca .titulo-secao { max-width: 18ch; }
.jogadas-palco { width: min(100% - 2 * var(--margem), var(--largura)); margin-inline: auto; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 6vw, 6rem); }
.jogadas-lista { list-style: none; margin: 0; padding: 0; }
.jogada { min-height: 72vh; display: flex; flex-direction: column; justify-content: center; padding: 2rem 0; opacity: .28; transition: opacity .6s var(--ease); }
.jogada.ativa { opacity: 1; }
.jogada-num { font-size: .72rem; letter-spacing: .26em; text-transform: uppercase; color: var(--verde-vivo); margin-bottom: .8rem; }
.jogada h3 { font-family: var(--f-titulo); font-size: clamp(1.9rem, 1.2rem + 2.4vw, 3.4rem); line-height: 1.04; letter-spacing: -.015em; margin-bottom: 1.2rem; }
.jogada p { max-width: 30rem; }
.jogada-tela-mobile { display: none; }
.celular-palco { position: sticky; top: 0; height: 100vh; height: 100svh; display: grid; place-items: center; perspective: 1600px; }
.celular { position: relative; width: clamp(220px, 21vw, 290px); aspect-ratio: 1170 / 2532; transform-style: preserve-3d; transform: rotateY(-18deg) rotateX(6deg); }
.cel-face { position: absolute; inset: 0; border-radius: 13% / 6%; overflow: hidden; backface-visibility: hidden; }
.cel-frente { transform: translateZ(8px); background: #111; padding: 3.2%; box-shadow: inset 0 0 0 2px #2b2b2b; }
.cel-frente img { width: 100%; height: 100%; object-fit: cover; border-radius: 10.5% / 5%; }
.cel-ilha { position: absolute; top: 3.6%; left: 50%; width: 30%; height: 3.3%; translate: -50% 0; background: #0a0a0a; border-radius: 999px; }
.cel-tras { transform: rotateY(180deg) translateZ(8px); background: linear-gradient(140deg, #234D37, var(--veludo)); display: grid; place-items: center; }
.cel-tras img { width: 34%; opacity: .95; }
.cel-borda { position: absolute; background: linear-gradient(90deg, #8d9089, #d6d8d2 45%, #7b7e77); }
.cel-dir, .cel-esq { width: 16px; top: 6%; bottom: 6%; left: 50%; margin-left: -8px; }
.cel-dir { transform: rotateY(90deg) translateZ(calc(clamp(220px, 21vw, 290px) / 2 - 1px)); }
.cel-esq { transform: rotateY(-90deg) translateZ(calc(clamp(220px, 21vw, 290px) / 2 - 1px)); }
.cel-cima, .cel-baixo { height: 16px; left: 13%; right: 13%; top: 50%; margin-top: -8px; background: linear-gradient(#8d9089, #d6d8d2 45%, #7b7e77); }
.cel-cima { transform: rotateX(90deg) translateZ(calc(clamp(220px, 21vw, 290px) * 2532 / 1170 / 2 - 1px)); }
.cel-baixo { transform: rotateX(-90deg) translateZ(calc(clamp(220px, 21vw, 290px) * 2532 / 1170 / 2 - 1px)); }
.celular-sombra { position: absolute; bottom: 9vh; width: clamp(160px, 16vw, 230px); height: 26px; border-radius: 50%; background: radial-gradient(rgba(11,34,22,.32), transparent 70%); filter: blur(4px); }
.jogadas-fecho { margin-top: clamp(2rem, 5vw, 4rem); display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.6rem; border-top: 1px solid var(--linha); padding-top: 2rem; }
.jogadas-fecho p { margin: 0; font-family: var(--f-titulo); font-size: clamp(1.3rem, 1rem + 1vw, 1.9rem); line-height: 1.2; max-width: 34ch; }
.jogadas-fecho strong { font-weight: 500; }

/* ============ 8. MARCAS ============ */
.marcas { --fundo: var(--papel); --tom: var(--verde); --tom-2: var(--rosa); background: var(--fundo); padding: clamp(5rem, 10vw, 9rem) 0; transition: background-color .8s var(--ease); overflow: hidden; }
.marcas[data-marca="b"] { --fundo: var(--salvia); --tom: var(--verde); --tom-2: var(--verde-vivo); }
.marcas .titulo-secao { max-width: 16ch; }
.marcas .titulo-secao em { color: var(--tom-2); transition: color .8s var(--ease); }
.marcas-intro { display: grid; grid-template-columns: 1fr 1.3fr; gap: clamp(1.4rem, 4vw, 4rem); margin: 2.4rem 0 3rem; }
.marcas-troca { display: inline-flex; padding: 4px; border: 1px solid color-mix(in oklab, var(--tom) 30%, transparent); border-radius: 999px; margin-bottom: 2rem; position: relative; z-index: 2; }
.marcas-troca button {
  font: inherit; font-size: .75rem; letter-spacing: .18em; text-transform: uppercase; border: 0; border-radius: 999px;
  padding: .85em 1.6em; background: transparent; color: var(--tom); cursor: pointer; transition: background .5s var(--ease), color .5s var(--ease);
}
.marcas-troca button[aria-selected="true"] { background: var(--tom); color: var(--papel); }
.marcas-palco { position: relative; display: grid; grid-template-columns: 1fr 1.3fr; gap: clamp(1.5rem, 5vw, 5rem); padding: clamp(1.5rem, 4vw, 3rem) 0; min-height: 26rem; }
.marcas-nome { grid-column: 1 / -1; position: relative; margin: 0 0 .4rem; font-family: var(--f-titulo); font-style: italic; font-size: clamp(3rem, 1.6rem + 5vw, 7rem); line-height: 1.05; color: var(--tom); pointer-events: none; height: 1.1em; overflow: hidden; transition: color .8s var(--ease); }
.marcas-nome span { display: block; transition: opacity .7s var(--ease), transform .9s var(--ease); }
.nome-b { position: absolute; left: 0; top: 0; }
.marcas[data-marca="a"] .nome-b, .marcas[data-marca="b"] .nome-a { opacity: 0; transform: translateY(60%); }
.marcas-ficha, .marcas-semana { position: relative; z-index: 1; }
.ficha { margin: 0; display: grid; gap: 1px; background: color-mix(in oklab, var(--tom) 18%, transparent); border: 1px solid color-mix(in oklab, var(--tom) 18%, transparent); }
.ficha div { background: var(--papel); padding: 1.1rem 1.3rem; }
.ficha dt { font-size: .72rem; letter-spacing: .16em; text-transform: uppercase; color: var(--tinta-suave); }
.ficha dd { margin: .2rem 0 0; font-family: var(--f-titulo); font-size: clamp(1.5rem, 1.1rem + 1.2vw, 2.2rem); line-height: 1.1; color: var(--tom); }
.semana { list-style: none; margin: 0 0 1rem; padding: 0; counter-reset: s; }
.semana li { counter-increment: s; display: grid; grid-template-columns: 6.5rem 1fr; gap: 1rem; align-items: baseline; padding: 1.05rem 0; border-bottom: 1px solid color-mix(in oklab, var(--tom) 18%, transparent); font-family: var(--f-titulo); font-size: clamp(1.1rem, .95rem + .6vw, 1.5rem); line-height: 1.2; }
.semana span { font-family: var(--f-texto); font-size: .68rem; letter-spacing: .18em; text-transform: uppercase; color: var(--tom); }
.ficha-b, .semana-b { display: none; }
.marcas[data-marca="b"] .ficha-a, .marcas[data-marca="b"] .semana-a { display: none; }
.marcas[data-marca="b"] .ficha-b, .marcas[data-marca="b"] .semana-b { display: grid; }
.marcas[data-marca="b"] .semana-b { display: block; }
.troca-entra { animation: entra .7s var(--ease) both; }
@keyframes entra { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
.marcas-fecho { margin-top: clamp(2.5rem, 6vw, 5rem); max-width: 44rem; }
.pergunta-media { font-family: var(--f-titulo); font-size: clamp(1.7rem, 1.1rem + 2.2vw, 3.2rem); line-height: 1.08; margin-bottom: .4rem; }
.pergunta-media strong { font-weight: 500; }
.nao { font-family: var(--f-titulo); font-style: italic; font-size: clamp(2.4rem, 1.4rem + 4vw, 5rem); color: var(--tom-2); line-height: 1; margin-bottom: 1.5rem; transition: color .8s var(--ease); }

/* ============ 9. PARA QUEM ============ */
.paraquem { padding: clamp(5rem, 10vw, 9rem) 0; background: var(--papel); }
.paraquem > .titulo-secao { margin-bottom: clamp(2rem, 5vw, 4rem); }
.paraquem-duo { width: min(100% - 2 * var(--margem), var(--largura)); margin-inline: auto; display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 4vw, 4rem); }
.perfil { display: grid; gap: 1.6rem; align-content: start; }
.perfil:nth-child(2) { margin-top: clamp(0rem, 10vw, 9rem); }
.perfil img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; object-position: 50% 30%; border-radius: 2px; transition: transform 1.2s var(--ease); }
.perfil:hover img { transform: scale(1.02); }
.perfil h3 { font-family: var(--f-titulo); font-size: clamp(1.6rem, 1.1rem + 1.6vw, 2.5rem); line-height: 1.06; margin-bottom: 1rem; }
.perfil-fecho { font-family: var(--f-titulo); font-style: italic; color: var(--verde-vivo); font-size: clamp(1.1rem, 1rem + .5vw, 1.4rem); line-height: 1.3; }

/* ============ 10. JORNAL ============ */
.jornal { padding: clamp(4rem, 9vw, 8rem) var(--margem); background: var(--veludo); overflow: hidden; perspective: 1400px; }
.jornal-folha {
  max-width: 1100px; margin-inline: auto; padding: clamp(1.4rem, 4vw, 3.4rem);
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .3 0 0 0 0 .28 0 0 0 0 .22 0 0 0 .09 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),
    #EEEADB;
  color: #1E1E19; box-shadow: 0 60px 100px -50px rgba(0, 0, 0, .6);
}
.jornal-cabeca { display: grid; grid-template-columns: 1fr auto 1fr; align-items: end; gap: 1rem; border-bottom: 3px double #1E1E19; padding-bottom: .8rem; }
.jornal-cabeca p { margin: 0; font-size: .7rem; letter-spacing: .16em; text-transform: uppercase; }
.jornal-cabeca p:last-child { text-align: right; }
.jornal-nome { font-family: var(--f-titulo); font-size: clamp(1.8rem, 1rem + 3.4vw, 4.4rem) !important; letter-spacing: -.01em !important; text-transform: none !important; font-weight: 600; line-height: 1; text-align: center; }
.jornal-manchete { font-family: var(--f-titulo); font-weight: 600; font-size: clamp(2rem, 1.2rem + 3.6vw, 5rem); line-height: 1; letter-spacing: -.02em; text-align: center; padding: clamp(1.2rem, 3vw, 2.2rem) 0; border-bottom: 1px solid #1E1E19; text-wrap: balance; }
.jornal-corpo { display: grid; grid-template-columns: .9fr 1.4fr; gap: clamp(1.4rem, 3vw, 2.6rem); padding-top: clamp(1.2rem, 3vw, 2rem); }
.jornal-foto { margin: 0; }
.jornal-foto img { width: 100%; aspect-ratio: 3 / 4.2; object-fit: cover; filter: grayscale(.25) contrast(1.02); }
.jornal-foto figcaption { font-size: .78rem; font-style: italic; margin-top: .6rem; border-top: 1px solid #1E1E19; padding-top: .5rem; }
.jornal-colunas { columns: 2 16rem; column-gap: 2rem; column-rule: 1px solid rgba(30,30,25,.25); font-family: var(--f-titulo); font-size: 1.02rem; line-height: 1.5; hyphens: auto; text-align: justify; }
.jornal-colunas p { margin: 0 0 .9em; }
.capitular::first-letter { float: left; font-size: 4.2em; line-height: .82; padding: .06em .08em 0 0; font-weight: 600; }
.jornal-olho { break-inside: avoid; font-size: 1.45rem; line-height: 1.15; font-style: italic; text-align: left; border-top: 2px solid #1E1E19; border-bottom: 1px solid #1E1E19; padding: .7rem 0; margin: 1.2rem 0 !important; color: var(--verde); }
.assinatura { width: 190px; margin: 1rem 0 .3rem; mix-blend-mode: multiply; }
.jornal-rodape { font-family: var(--f-texto); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; text-align: left; }

/* ============ 11. BÔNUS ============ */
.bonus { padding: clamp(5rem, 10vw, 9rem) 0; background: var(--papel); }
.bonus .titulo-secao { max-width: 20ch; }
.bonus-intro { max-width: 40rem; margin: 1.6rem 0 clamp(2.5rem, 5vw, 4rem); font-size: 1.08rem; }
.bonus-par { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.4rem, 4vw, 3rem); perspective: 1200px; }
.ingresso {
  --c: var(--veludo); position: relative; background: var(--c); color: var(--papel);
  padding: clamp(1.8rem, 4vw, 3rem); padding-right: clamp(4rem, 9vw, 7rem);
  -webkit-mask: radial-gradient(circle at 0 50%, transparent 18px, #000 19px) left / 51% 100% no-repeat, radial-gradient(circle at 100% 50%, transparent 18px, #000 19px) right / 51% 100% no-repeat;
          mask: radial-gradient(circle at 0 50%, transparent 18px, #000 19px) left / 51% 100% no-repeat, radial-gradient(circle at 100% 50%, transparent 18px, #000 19px) right / 51% 100% no-repeat;
  transform-style: preserve-3d; transition: transform .6s var(--ease);
}
.ingresso::after { content: ''; position: absolute; top: 1.2rem; bottom: 1.2rem; right: clamp(3rem, 7vw, 5.2rem); border-right: 1px dashed color-mix(in oklab, var(--papel) 35%, transparent); }
.ingresso-rose { --c: var(--verde-vivo); }
.ingresso-num { font-size: .72rem; letter-spacing: .26em; text-transform: uppercase; color: var(--rosa-claro); }
.ingresso h3 { font-family: var(--f-titulo); font-size: clamp(1.7rem, 1.2rem + 1.6vw, 2.6rem); line-height: 1.04; margin-bottom: 1.2rem; }
.ingresso p { color: color-mix(in oklab, var(--papel) 85%, transparent); }
.ingresso-fecho { font-family: var(--f-titulo); font-style: italic; font-size: 1.2rem; line-height: 1.3; color: var(--papel) !important; }
.ingresso .nota { color: color-mix(in oklab, var(--papel) 60%, transparent); }
.ingresso-selo { position: absolute; right: clamp(.6rem, 1.6vw, 1.2rem); top: 50%; translate: 0 -50%; width: clamp(2.6rem, 5vw, 3.8rem); rotate: -12deg; }
.comunidade { margin-top: clamp(3rem, 6vw, 5rem); display: grid; grid-template-columns: 1fr 1.2fr; gap: clamp(1rem, 4vw, 4rem); border-top: 1px solid var(--linha); padding-top: 2.4rem; }
.comunidade h3 { font-family: var(--f-titulo); font-size: clamp(1.6rem, 1.1rem + 1.6vw, 2.5rem); line-height: 1.08; grid-row: span 2; }

/* ============ 12. PLANOS ============ */
.planos { padding: clamp(5rem, 10vw, 9rem) 0; background: var(--carta); }
.planos .titulo-secao { max-width: 18ch; }
.planos-intro { max-width: 40rem; margin: 1.6rem 0 2rem; }
.periodo { display: inline-flex; padding: 4px; border: 1px solid color-mix(in oklab, var(--verde) 25%, transparent); border-radius: 999px; margin-bottom: clamp(2.5rem, 5vw, 4rem); }
.periodo button { font: inherit; font-size: .74rem; letter-spacing: .16em; text-transform: uppercase; border: 0; border-radius: 999px; padding: .85em 1.4em; background: transparent; color: var(--verde); cursor: pointer; transition: background .4s var(--ease), color .4s var(--ease); }
.periodo button[aria-checked="true"] { background: var(--verde); color: var(--papel); }
.notas { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1rem, 2.5vw, 2rem); align-items: start; }
.nota-fiscal { position: relative; padding-top: 14px; }
.nota-fiscal::before { content: ''; position: absolute; z-index: 2; top: 0; left: -10px; right: -10px; height: 14px; border-radius: 7px; background: linear-gradient(#16271D, #0B2216); box-shadow: 0 6px 10px -4px rgba(0,0,0,.4); }
.nf-papel {
  position: relative; background: #FFFDF8; padding: 1.8rem 1.5rem 2.6rem; text-align: center;
  font-variant-numeric: tabular-nums; box-shadow: 0 30px 50px -30px rgba(11, 34, 22, .35);
  -webkit-mask: conic-gradient(from -45deg at bottom, #000 90deg, transparent 0) bottom / 18px 100%;
          mask: conic-gradient(from -45deg at bottom, #000 90deg, transparent 0) bottom / 18px 100%;
}
.nf-loja { font-family: var(--f-titulo); font-size: 1.6rem; letter-spacing: .3em; line-height: 1.1; margin: 0 0 1rem; }
.nf-loja small { font-family: var(--f-texto); font-size: .6rem; letter-spacing: .26em; text-transform: uppercase; color: var(--tinta-suave); }
.nf-tracos { height: 1px; margin: 1.1rem 0; background: repeating-linear-gradient(90deg, var(--tinta) 0 6px, transparent 6px 11px); opacity: .5; }
.nota-fiscal h3 { font-family: var(--f-titulo); font-size: clamp(1.6rem, 1.2rem + 1vw, 2.2rem); line-height: 1.05; }
.nf-para { font-size: .9rem; color: var(--tinta-suave); margin: .7rem auto 1.1rem; max-width: 22rem; min-height: 4.2em; }
.nf-itens { list-style: none; margin: 0; padding: 0; text-align: left; font-size: .86rem; letter-spacing: .02em; }
.nf-itens li { display: flex; justify-content: space-between; gap: .6rem; padding: .3rem 0; }
.nf-itens li::after { content: '✓'; color: var(--verde-vivo); }
.nf-total { display: flex; align-items: baseline; justify-content: space-between; margin: 0; }
.nf-total span { font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; }
.nf-total strong { font-family: var(--f-titulo); font-weight: 500; font-size: clamp(2.2rem, 1.6rem + 1.6vw, 3rem); line-height: 1; color: var(--veludo); }
.nf-total small { font-family: var(--f-texto); font-size: .8rem; color: var(--tinta-suave); margin-left: .15em; }
.nf-cobra { font-size: .8rem; margin: .7rem 0 .2rem; min-height: 2.6em; color: var(--tinta); }
.nf-de { text-align: right; font-size: .85rem; color: var(--tinta-suave); margin: 0 0 .1rem; }
.nf-de s { text-decoration-color: var(--rosa); text-decoration-thickness: 2px; }
.nf-cobra { margin-bottom: 1.3rem !important; }
.nota-fiscal .botao { width: 100%; justify-content: center; text-align: center; }
.nf-codigo { margin: 1.4rem auto 0; height: 34px; width: 70%; color: transparent; overflow: hidden; background: repeating-linear-gradient(90deg, var(--tinta) 0 2px, transparent 2px 4px, var(--tinta) 4px 5px, transparent 5px 8px, var(--tinta) 8px 11px, transparent 11px 13px); opacity: .75; }
.nf-destaque .nf-papel { background: #FFFDF8; outline: 2px solid var(--rosa); outline-offset: -10px; }
.planos-aviso { margin-top: 2.6rem; font-size: .8rem; color: var(--tinta-suave); max-width: 52rem; }

/* ============ 13. PRESENTE ============ */
.presente { background: var(--verde); color: var(--papel); padding: clamp(4rem, 9vw, 8rem) var(--margem); display: grid; grid-template-columns: auto 1fr; gap: clamp(2rem, 6vw, 6rem); align-items: center; }
.presente-selo { position: relative; width: clamp(9rem, 22vw, 18rem); aspect-ratio: 1; display: grid; place-items: center; margin-left: clamp(0rem, 6vw, 6rem); }
.presente-selo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 20px 30px rgba(0,0,0,.4)); }
.presente-selo span { position: absolute; right: -12%; bottom: 6%; font-family: var(--f-titulo); font-style: italic; font-size: clamp(1rem, .8rem + .8vw, 1.5rem); line-height: 1; color: var(--verde); background: var(--papel); padding: .5em .9em; border-radius: 999px; box-shadow: 0 12px 24px -10px rgba(0,0,0,.45); white-space: nowrap; }
.presente .sobretitulo { color: var(--rosa-claro); }
.presente .titulo-secao em { color: var(--rosa-claro); }
.presente-texto { max-width: 40rem; }
.presente-texto p { color: color-mix(in oklab, var(--papel) 88%, transparent); }
.presente-texto .titulo-secao { margin-bottom: 1.4rem; }
.presente .nota { color: color-mix(in oklab, var(--papel) 60%, transparent); }

/* ============ 14. PERGUNTAS ============ */
.perguntas { padding: clamp(5rem, 10vw, 9rem) 0; background: var(--papel); }
.perguntas .titulo-secao { margin-bottom: 2.4rem; }
.faq details { border-top: 1px solid var(--linha); }
.faq details:last-child { border-bottom: 1px solid var(--linha); }
.faq summary {
  list-style: none; cursor: pointer; padding: 1.5rem 3rem 1.5rem 0; position: relative;
  font-family: var(--f-titulo); font-size: clamp(1.2rem, 1rem + .9vw, 1.75rem); line-height: 1.2;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; position: absolute; right: .3rem; top: 50%; translate: 0 -50%; font-family: var(--f-texto); font-weight: 300; font-size: 1.8rem; color: var(--rosa); transition: rotate .5s var(--ease); }
.faq details[open] summary::after { rotate: 45deg; }
.faq-resp { overflow: hidden; }
.faq-resp > div { padding: 0 0 1.6rem; max-width: 44rem; color: var(--tinta-suave); }
.faq-resp strong { color: var(--tinta); }

/* ============ 15. FINAL ============ */
.final { background: var(--papel); }
.final-grade { width: min(100% - 2 * var(--margem), var(--largura)); margin-inline: auto; display: grid; grid-template-columns: 1.2fr 1fr; gap: clamp(2rem, 6vw, 6rem); align-items: center; padding: clamp(4rem, 9vw, 8rem) 0; }
.final-texto .titulo-secao { margin-bottom: 1.8rem; }
.final-ciclo { list-style: none; padding: 0; margin: 1.2rem 0 1.6rem; }
.final-ciclo li { font-family: var(--f-titulo); font-size: clamp(1.25rem, 1rem + .8vw, 1.7rem); color: var(--tinta-suave); text-decoration: line-through; text-decoration-color: var(--rosa); text-decoration-thickness: 1px; padding: .2rem 0; }
.final-foto { margin: 0; }
.final-foto img { width: 100%; aspect-ratio: 4 / 5.4; object-fit: cover; border-radius: 2px; }
.final-chamada { position: relative; background: var(--veludo); color: var(--papel); text-align: center; padding: clamp(6rem, 14vw, 12rem) var(--margem); overflow: hidden; }
.final-chamada::before {
  content: ''; position: absolute; inset: 0; opacity: .14;
  background: repeating-conic-gradient(var(--rosa-claro) 0 25%, transparent 0 50%) 0 0 / 120px 120px;
  -webkit-mask-image: radial-gradient(ellipse at 50% 100%, #000, transparent 70%); mask-image: radial-gradient(ellipse at 50% 100%, #000, transparent 70%);
}
.final-grande { position: relative; font-family: var(--f-titulo); font-weight: 500; font-size: clamp(3rem, 1.4rem + 7vw, 9rem); line-height: .95; letter-spacing: -.03em; margin: 0 auto 2rem; max-width: 12ch; }
.final-grande em { color: var(--rosa-claro); font-weight: 400; }
.final-chamada > p { position: relative; font-size: 1.15rem; margin-bottom: 2rem; }
.final-chamada .botao { position: relative; }
.final-assina { margin-top: 3rem !important; font-family: var(--f-titulo); font-style: italic; color: var(--rosa-claro); font-size: 1.15rem !important; }
.final-selo { position: absolute; width: clamp(5rem, 11vw, 9rem); right: 12%; top: 16%; rotate: 14deg; filter: drop-shadow(0 16px 20px rgba(0,0,0,.45)); }

/* rodapé */
.rodape { background: #071810; color: color-mix(in oklab, var(--papel) 80%, transparent); padding: 3rem var(--margem) 2.4rem; display: grid; grid-template-columns: 1fr auto; gap: 1.6rem 3rem; font-size: .88rem; }
.rodape-marca { display: flex; gap: 1rem; align-items: center; }
.rodape-marca p { margin: 0; }
.rodape-marca strong { font-family: var(--f-titulo); font-size: 1.2rem; font-weight: 500; color: var(--papel); }
.rodape-links { display: flex; gap: 1.6rem; flex-wrap: wrap; align-items: center; }
.rodape-links a { text-decoration: none; border-bottom: 1px solid color-mix(in oklab, var(--papel) 30%, transparent); padding-bottom: 2px; }
.rodape-links a:hover { color: var(--rosa-claro); border-color: var(--rosa-claro); }
.rodape-aviso { grid-column: 1 / -1; margin: 0; font-size: .76rem; color: color-mix(in oklab, var(--papel) 55%, transparent); border-top: 1px solid color-mix(in oklab, var(--papel) 12%, transparent); padding-top: 1.4rem; }

/* animações de entrada (só com JS ligado) */
.js .revela { opacity: 0; transform: translateY(26px); }

/* ============ RESPONSIVO ============ */
@media (max-width: 1180px) {
  .promessa-palco { min-height: 0; display: block; padding-top: 0; }
  .promessa { transform: none; margin-inline: auto; }
  .pilha { position: static; display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-top: 1.4rem; pointer-events: auto; }
  .pilha li { position: static !important; translate: none !important; width: auto !important; white-space: normal; }
}

@media (max-width: 1000px) {
  .intro-grade, .marcas-intro, .comunidade { grid-template-columns: 1fr; }
  .comunidade h3 { grid-row: auto; }
  .notas { grid-template-columns: 1fr; max-width: 26rem; margin-inline: auto; }
  .jornal-corpo { grid-template-columns: 1fr; }
  .jornal-foto img { aspect-ratio: 4 / 3.4; object-position: 50% 20%; }
}

@media (max-width: 760px) {
  .topo-data { display: none; }
  .topo .botao-mini { font-size: .6rem; padding: .75em 1em; }
  .topo .botao-mini::after { display: none; }

  .hero { height: 200vh; height: 200svh; }
  .hero-palavra { top: 44%; font-size: 31vw; }
  .tabuleiro { height: 50%; }
  .abertura-grade { grid-template-columns: 1fr; grid-template-areas: "titulo" "foto" "lado"; }
  .hero-titulo { font-size: clamp(2.6rem, 12.5vw, 3.8rem); }
  .botao-grande { font-size: .8rem; padding: 1.3em 1.3em; }
  .sem-3d .hero-fallback { width: 40vw; top: 10%; right: 4%; }


  .generico { height: auto; }
  .generico-fixo { position: static; height: auto; grid-template-columns: 1fr; padding: 4rem 0 5rem; }
  .generico-tela { max-height: none; }

  .carta-fixo { grid-template-columns: 1fr; }
  .envelope { position: relative; top: 0; margin: 2rem auto 3rem; width: min(100%, 340px); }

  .imagine-colunas { grid-template-columns: 1fr 1fr; }
  .imagine-colunas .col:nth-child(3) { display: none; }

  .jogadas-palco { grid-template-columns: 1fr; }
  .celular-palco { display: none; }
  .jogada { min-height: 0; opacity: 1; padding: 2.4rem 0; border-top: 1px solid var(--linha); }
  .jogada-tela-mobile { display: block; width: min(64%, 240px); margin: 1.4rem auto 0; border: 8px solid #111; border-radius: 30px; box-shadow: 0 30px 50px -30px rgba(0,0,0,.5); }

  .marcas-palco { grid-template-columns: 1fr; }
  .semana li { grid-template-columns: 1fr; gap: .2rem; }

  .paraquem-duo, .bonus-par { grid-template-columns: 1fr; }
  .perfil:nth-child(2) { margin-top: 1.5rem; }

  .jornal { padding-inline: .6rem; }
  .jornal-cabeca { grid-template-columns: 1fr; text-align: center; }
  .jornal-cabeca p:last-child { text-align: center; }
  .jornal-colunas { text-align: left; }

  .presente { grid-template-columns: 1fr; text-align: left; }
  .presente-selo { margin: 0; }

  .final-grade { grid-template-columns: 1fr; }
  .final-selo { right: 6%; top: 5%; }
  .rodape { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .js .revela { opacity: 1; transform: none; }
  .jogada { opacity: 1; }
}

/* ============ 11b. ANCORAGEM DE VALOR ============ */
.ancora { background: var(--veludo); color: var(--papel); padding: clamp(5rem, 10vw, 9rem) 0; }
.ancora-grade { width: min(100% - 2 * var(--margem), var(--largura)); margin-inline: auto; display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.ancora-texto { position: sticky; top: 16vh; }
.ancora .sobretitulo { color: var(--rosa-claro); }
.ancora .titulo-secao { margin-bottom: 1.6rem; }
.ancora .titulo-secao em { color: var(--rosa-claro); }
.ancora-texto p { color: color-mix(in oklab, var(--papel) 85%, transparent); }
.ancora-fine { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid color-mix(in oklab, var(--papel) 15%, transparent); color: color-mix(in oklab, var(--papel) 62%, transparent) !important; }
.an-papel {
  position: relative; background: #FFFDF8; color: var(--tinta); padding: 2rem clamp(1.2rem, 3vw, 2.2rem) 2.8rem;
  font-variant-numeric: tabular-nums; box-shadow: 0 40px 70px -30px rgba(0, 0, 0, .55);
  -webkit-mask: conic-gradient(from -45deg at bottom, #000 90deg, transparent 0) bottom / 18px 100%;
          mask: conic-gradient(from -45deg at bottom, #000 90deg, transparent 0) bottom / 18px 100%;
}
.an-papel .nf-loja { text-align: center; }
.an-itens { list-style: none; margin: 0; padding: 0; }
.an-itens li { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; padding: .8rem 0; border-bottom: 1px dashed var(--linha); }
.an-itens strong { display: block; font-family: var(--f-titulo); font-size: clamp(1.05rem, .95rem + .4vw, 1.25rem); font-weight: 500; line-height: 1.2; }
.an-itens span { display: block; font-size: .82rem; color: var(--tinta-suave); line-height: 1.4; margin-top: .2rem; }
.an-itens b { font-family: var(--f-titulo); font-weight: 500; font-size: clamp(1.05rem, .95rem + .4vw, 1.25rem); white-space: nowrap; }
.an-itens b small { font-family: var(--f-texto); font-size: .7rem; color: var(--tinta-suave); margin-left: .1em; }
.an-itens .an-valor { display: flex; flex-direction: column; align-items: flex-end; }
.an-itens .an-obs { font-family: var(--f-texto); font-size: .62rem !important; letter-spacing: .12em; text-transform: uppercase; color: var(--verde-vivo) !important; font-weight: 600; margin: .3rem 0 0 !important; white-space: normal; text-align: right; max-width: 8.5rem; line-height: 1.3; }
.an-itens .sem-preco { font-family: var(--f-texto); font-size: .66rem; letter-spacing: .14em; text-transform: uppercase; color: var(--verde-vivo); white-space: normal; text-align: right; max-width: 8.5rem; font-weight: 600; }
.an-total { display: flex; justify-content: space-between; align-items: baseline; margin: 0; }
.an-total span { font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; }
.an-total strong { font-family: var(--f-titulo); font-weight: 500; font-size: clamp(2rem, 1.5rem + 1.6vw, 2.8rem); line-height: 1; }
.an-total s { position: relative; text-decoration: none; color: var(--tinta-suave); }
.an-total s::after { content: ''; position: absolute; left: -4%; right: -4%; top: 52%; height: 3px; background: var(--rosa); transform-origin: left; transform: scaleX(var(--risco, 1)) rotate(-4deg); }
.an-soma { font-size: .95rem; margin: .5rem 0 2rem; }
.an-zavia { position: relative; background: var(--verde); color: var(--papel); text-align: center; padding: 2rem 1.4rem 1.6rem; margin-bottom: 1.2rem; }
.an-zavia p { margin: 0; }
.an-selo { position: absolute; top: -28px; right: 16px; width: 64px; rotate: 12deg; filter: drop-shadow(0 8px 10px rgba(0, 0, 0, .35)); }
.an-preco { font-family: var(--f-titulo); font-size: clamp(2.8rem, 2rem + 3vw, 4.4rem); line-height: 1; margin: .5rem 0 .3rem !important; }
.an-preco small { font-family: var(--f-texto); font-size: .9rem; color: color-mix(in oklab, var(--papel) 70%, transparent); margin-left: .15em; }
.an-fundadora { font-family: var(--f-titulo); font-style: italic; color: var(--rosa-claro); font-size: 1.15rem; }
.an-planos { font-size: .85rem; color: var(--tinta-suave); text-align: center; margin-bottom: .6rem; }
.an-papel .botao-grande { margin: .4rem 0 0; }

@media (max-width: 900px) {
  .ancora-grade { grid-template-columns: 1fr; }
  .ancora-texto { position: static; }
}
@media (max-width: 460px) {
  .an-itens li { flex-direction: column; gap: .3rem; }
  .an-itens .an-valor { align-items: flex-start; }
  .an-itens .an-obs { text-align: left; max-width: none; }
  .an-itens .sem-preco { text-align: left; max-width: none; }
}


/* presente dentro da nota de ancoragem */
.an-presente { margin: 0 0 1.8rem; padding: 1.1rem 1.2rem; background: var(--rosa-bg, #F6E9E6); border: 1px dashed color-mix(in oklab, var(--rosa) 55%, transparent); }
.an-presente-tit { font-size: .7rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 600; color: var(--verde-vivo); margin-bottom: .6rem; }
.an-presente ul { list-style: none; margin: 0 0 .6rem; padding: 0; }
.an-presente li { display: flex; justify-content: space-between; gap: 1rem; padding: .3rem 0; font-family: var(--f-titulo); font-size: 1.1rem; }
.an-presente b { font-weight: 500; white-space: nowrap; }
.an-presente-nota { font-size: .8rem; color: var(--tinta-suave); margin: 0; }

/* valores no bloco do presente */
.presente-valores { list-style: none; margin: 1.4rem 0 1rem; padding: 0; border-top: 1px solid color-mix(in oklab, var(--papel) 20%, transparent); }
.presente-valores li { display: flex; justify-content: space-between; gap: 1rem; flex-wrap: wrap; padding: .8rem 0; border-bottom: 1px solid color-mix(in oklab, var(--papel) 20%, transparent); }
.presente-valores span { font-family: var(--f-titulo); font-size: clamp(1.2rem, 1rem + .6vw, 1.5rem); }
.presente-valores b { font-weight: 500; color: var(--rosa-claro); }
.presente-ganha { font-family: var(--f-titulo); font-style: italic; font-size: clamp(1.2rem, 1rem + .7vw, 1.6rem); color: var(--papel) !important; }

/* ============ GARANTIA ============ */
.garantia { background: var(--salvia); padding: clamp(5rem, 10vw, 8rem) 0; }
.garantia-grade { width: min(100% - 2 * var(--margem), var(--largura)); margin-inline: auto; display: grid; grid-template-columns: auto 1fr; gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.garantia-selo { position: relative; width: clamp(12rem, 24vw, 19rem); aspect-ratio: 1; display: grid; place-items: center; margin-left: clamp(0rem, 4vw, 4rem); }
.garantia-selo img { position: absolute; inset: 14%; width: 72%; height: 72%; object-fit: contain; filter: drop-shadow(0 20px 26px rgba(11, 34, 22, .35)); }
.g-num { position: relative; font-family: var(--f-titulo); font-size: clamp(3.4rem, 7vw, 5.6rem); line-height: .8; color: var(--papel); margin-top: -.15em; }
.g-dias { position: absolute; top: 62%; font-size: .7rem; letter-spacing: .3em; text-transform: uppercase; color: color-mix(in oklab, var(--papel) 85%, transparent); }
.g-anel { position: absolute; inset: 0; width: 100%; height: 100%; animation: gira 22s linear infinite; }
.g-anel text { font-family: var(--f-texto); font-size: 11px; letter-spacing: .32em; text-transform: uppercase; fill: var(--verde); }
.garantia-texto { max-width: 38rem; }
.garantia-texto .titulo-secao { margin-bottom: 1.6rem; }
.garantia-texto .botao-grande { width: auto; margin-top: 1rem; }

@media (max-width: 760px) {
  .garantia-grade { grid-template-columns: 1fr; }
  .garantia-selo { margin: 0 auto; }
  .garantia-texto .botao-grande { width: 100%; }
}


/* ============ DOR, ACOLHIMENTO E DESEJO (12/11) ============ */
.vida-abre { font-family: var(--f-titulo); font-style: italic; color: var(--rosa); font-size: clamp(1.3rem, 1rem + 1.2vw, 2rem); line-height: 1.25; max-width: 30ch; margin-bottom: 1.4rem; }
.acolhe { background: var(--papel); }
.acolhe .estreita { max-width: 860px; }
.acolhe p { font-size: clamp(1.1rem, 1rem + .5vw, 1.4rem); }
.acolhe-lead { font-family: var(--f-titulo); font-size: clamp(1.35rem, 1.05rem + 1.1vw, 2rem) !important; line-height: 1.3; margin-bottom: 2.2rem !important; }
.acolhe-lead em { color: var(--rosa); }
.acolhe em { color: var(--rosa); }
.acolhe-fecho { font-family: var(--f-titulo); font-style: italic; font-size: clamp(1.8rem, 1.2rem + 2.4vw, 3.4rem) !important; line-height: 1.1; color: var(--verde-vivo); margin-top: 2.6rem !important; }
.acolhe-assina { width: 210px; margin-top: 1rem; mix-blend-mode: multiply; }
.intro .intro-texto { font-size: clamp(1.5rem, 1rem + 1.8vw, 2.6rem); }
.desejo {
  width: min(100% - 2 * var(--margem), var(--largura)); margin: clamp(3rem, 6vw, 5rem) auto 0;
  background: var(--veludo); color: var(--papel); padding: clamp(2rem, 5vw, 4rem);
  display: grid; grid-template-columns: 1fr 1.3fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center;
}
.desejo-titulo { font-family: var(--f-titulo); font-size: clamp(2rem, 1.3rem + 2.6vw, 3.8rem); line-height: 1.04; margin: 0; }
.desejo-titulo em { color: var(--rosa-claro); }
.desejo-lista { list-style: none; margin: 0; padding: 0; }
.desejo-lista li { position: relative; padding: .9rem 0 .9rem 2.2rem; border-bottom: 1px solid color-mix(in oklab, var(--papel) 16%, transparent); font-size: clamp(1rem, .95rem + .35vw, 1.25rem); }
.desejo-lista li::before { content: '✦'; position: absolute; left: 0; top: .95rem; color: var(--rosa-claro); }
.desejo .botao { grid-column: 1 / -1; justify-self: start; width: auto; margin: .6rem 0 0; }
@media (max-width: 760px) {
  .desejo { grid-template-columns: 1fr; }
  .desejo .botao { width: 100%; }
}


/* ============ AJUSTES 12/11: "por isso a Zavia existe" e fecho do como funciona ============ */
.contrastes .existe { min-height: 80vh; min-height: 80svh; display: grid; place-content: center; text-align: center; padding: clamp(3rem, 8vw, 6rem) 0; }
.contrastes .existe .contrastes-fecho { max-width: 24ch; margin: 0 auto 3rem; }
.existe-frase { position: relative; margin: 0 auto; font-family: var(--f-titulo); font-size: clamp(2.6rem, 1.4rem + 5vw, 6.4rem); line-height: 1; letter-spacing: -.02em; color: var(--veludo); }
.existe-frase span { display: block; font-size: .5em; color: var(--tinta-suave); margin-bottom: .2em; }
.existe-frase em { color: var(--verde-vivo); background: linear-gradient(transparent 62%, color-mix(in oklab, var(--rosa-claro) 80%, transparent) 62%) 0 0 / 100% 100% no-repeat; padding: 0 .12em; }
.existe-selo { width: clamp(4rem, 8vw, 6.5rem); margin: 0 auto 1.4rem; display: block; filter: drop-shadow(0 14px 18px rgba(11,34,22,.3)); }
.jogadas-fecho { flex-direction: column; justify-content: center; text-align: center; border-top: 0; padding-top: clamp(2rem, 5vw, 4rem); }
.jogadas-fecho p { max-width: 30ch !important; margin: 0 auto !important; font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.5rem) !important; line-height: 1.2; }
.jogadas-fecho strong { display: block; margin-top: .6rem; color: var(--verde-vivo); font-style: italic; }
.jogadas-fecho .botao-grande { width: auto; font-size: 1rem; padding: 1.5em 2.4em; margin-top: 1.6rem; }
@media (max-width: 760px) { .jogadas-fecho .botao-grande { width: 100%; justify-content: center; } }


/* ============ AJUSTES 13/11 ============ */
.topo-tag { background: var(--veludo); color: var(--papel); padding: .55em 1.1em; border-radius: 999px; font-weight: 600; letter-spacing: .16em; box-shadow: 0 8px 18px -10px rgba(11,34,22,.6); }
.topo-tag .ponto { background: var(--rosa-claro); }
.acolhe-topo { padding-bottom: 0; }
.acolhe-topo .acolhe-lead { margin-bottom: 0 !important; text-align: center; }
.ciclo-trava { margin-top: 1.6rem; display: flex; flex-wrap: wrap; justify-content: center; align-items: baseline; gap: .2rem .6rem; }
.ciclo-trava strong { font-weight: 500; }
.ciclo-trava .seta { font-family: var(--f-texto); color: var(--rosa); font-size: .8em; }

.ciclo-trava .passo { white-space: nowrap; }
.ciclo-trava .seta { margin-right: .35rem; }


/* ============ AJUSTES 13/11 (2) ============ */
/* nada de letra cortada: espaço para as descidas (g, p, ç) dentro das linhas que sobem */
.hero-titulo .linha { padding-bottom: .34em; margin-bottom: -.26em; }
.marcas-nome { height: 1.3em; }
/* peças da capa somem num degradê em vez de serem cortadas pela seção de baixo */
.abertura::before { content: ''; position: absolute; left: 0; right: 0; top: -200px; height: 200px; background: linear-gradient(to bottom, transparent, var(--papel)); pointer-events: none; }
/* jornal sem hifenização automática (quebrava "copiado" sem tracinho) */
.jornal-colunas { hyphens: manual; -webkit-hyphens: manual; text-align: left; }
/* dor em duas colunas */
.vida-topo { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(1.5rem, 5vw, 5rem); align-items: end; }
.vida-topo .titulo-secao { max-width: none; }
.vida-dir { margin: 0; font-family: var(--f-titulo); font-style: italic; color: var(--rosa); font-size: clamp(1.8rem, 1.2rem + 2.6vw, 3.6rem); line-height: 1.08; }
@media (max-width: 760px) { .vida-topo { grid-template-columns: 1fr; } }
/* acolhimento e ciclo */
.acolhe-topo { padding-bottom: clamp(1rem, 3vw, 2rem); }
.acolhe-topo .acolhe-lead { text-align: left; margin-bottom: 2.2rem !important; }
.ciclo-infinito { margin: 1.8rem 0 0; font-family: var(--f-titulo); font-style: italic; color: var(--rosa); font-size: clamp(1.15rem, 1rem + .6vw, 1.5rem); }
.ciclo-infinito span { display: inline-block; margin-right: .3rem; animation: gira 6s linear infinite; }
.acolhe-fim { padding-top: clamp(1rem, 3vw, 2rem); text-align: center; }
.acolhe-fim .acolhe-fecho { margin-top: 0 !important; }
.acolhe-fim .acolhe-assina { margin-inline: auto; display: block; }

/* celular: o círculo inteiro na tela, girando acima do texto, sem cortar nas laterais */
@media (max-width: 760px) {
  .ciclo { display: block; min-height: 0; padding-top: 3rem; }
  .ciclo-anel { position: relative; left: auto; top: auto; translate: none; width: min(92vw, 420px); margin: 0 auto 2.4rem; }
  .ciclo-trava .passo { white-space: normal; }
  .ciclo-miolo { margin: 0 auto; }
}

/* selos que entram grandes (carimbo) não alargam a página no celular */
.ancora, .contrastes, .final, .garantia, .presente { overflow-x: clip; }
html { overflow-x: clip; }

/* comparação das marcas presa na tela: cabe em notebooks de tela mais baixa */
@media (min-width: 761px) and (max-height: 880px) {
  .marcas-nome { font-size: clamp(2.4rem, 7vh, 5rem); }
  .marcas-palco { padding: 1rem 0; min-height: 0; }
  .ficha div { padding: .7rem 1.1rem; }
  .ficha dd { font-size: clamp(1.3rem, 1rem + 1vw, 1.8rem); }
  .semana li { padding: .7rem 0; }
  .marcas-troca { margin-bottom: 1rem; }
}

/* menos espaço entre "Foi exatamente por isso que eu criei a Zavia" e "Conheça a Zavia" */
.acolhe-fim { padding-bottom: clamp(1.5rem, 3vw, 2.5rem); }
.acolhe-fim + .intro { padding-top: clamp(2rem, 5vw, 4rem); }
