/* Imersão O DESPERTAR · paleta Golden (EVO-133, Rodada 4 · revisão da cliente)
   Pedido da Daiane: "dourado, branco, cinza · mais minimalista" (arte Golden Style, print-3).
   Fundo claro, cinzas quentes, dourado só como acento, serif elegante, muito respiro.
   A versão anterior (noite/ameixa) está em _tmp/antes-r4/assets/css/site.css. */

:root {
  --branco: #FFFFFF;
  --off: #FAF8F5;          /* fundo principal */
  --areia: #F3EFE9;        /* faixas alternadas */
  --linha: #E4DED5;        /* fios e bordas */
  --cinza-claro: #B9B2A9;
  --cinza: #6F6862;        /* texto de apoio (5,3:1 sobre off) */
  --grafite: #2B2724;      /* texto principal */
  --ouro: #C6A15B;         /* acento / preenchimento */
  --ouro-claro: #E6D3A8;
  --ouro-tinta: #8A6A35;   /* dourado para TEXTO (5:1 sobre off) */

  --f-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --f-corpo: 'Manrope', system-ui, -apple-system, 'Segoe UI', sans-serif;

  --ease-out: cubic-bezier(.16, 1, .3, 1);
  --gutter: clamp(1rem, .4rem + 3vw, 4.5rem);
  --max: 74rem;
  --secao: clamp(5rem, 3rem + 6vw, 10rem);
  --raio: 18px;
  --capa-proporcao: 16/9;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; } }
body {
  margin: 0;
  font-family: var(--f-corpo);
  font-size: clamp(1.0625rem, 1rem + .2vw, 1.1875rem);
  line-height: 1.7;
  color: var(--grafite);
  background: var(--off);
  overflow-x: hidden;
  padding-bottom: 5.5rem; /* espaço da barra inferior */
  -webkit-font-smoothing: antialiased;
}
img, video { max-width: 100%; height: auto; display: block; }
picture { display: block; }
a { color: inherit; }
button { font: inherit; }
::selection { background: var(--ouro-claro); color: var(--grafite); }
:focus-visible { outline: 2px solid var(--ouro-tinta); outline-offset: 3px; }
[hidden] { display: none !important; }

.pular { position: absolute; left: -999px; top: 0; background: var(--grafite); color: var(--branco); padding: .6rem 1rem; z-index: 100; font-weight: 700; }
.pular:focus { left: 1rem; top: 1rem; }
.grao { display: none; }
.progresso { position: fixed; top: 0; left: 0; height: 2px; width: 100%; transform-origin: 0 50%; transform: scaleX(0); background: var(--ouro); z-index: 70; }

/* ---------- placeholders e rascunho ---------- */
.ph { background: rgba(198,161,91,.14); color: inherit; border: 1px dashed var(--ouro-tinta); padding: 0 .3em; border-radius: 2px; font: inherit; font-size: .9em; }
html[data-producao] .so-rascunho { display: none !important; }
html[data-producao] .some-se-ph:has(.ph) { display: none !important; }
.bloco-ph { border: 1px dashed var(--cinza-claro); padding: 1.2rem 1.4rem; border-radius: 10px; font-size: .9rem; color: var(--cinza); background: rgba(255,255,255,.6); }

/* ---------- tipografia ---------- */
.rotulo { font-family: var(--f-corpo); font-size: .75rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--ouro-tinta); margin: 0 0 1.4rem; display: flex; align-items: center; gap: .9rem; }
.rotulo::before { content: ""; width: 2.2rem; height: 1px; background: var(--ouro); }
.h1, .titulo { font-family: var(--f-display); font-weight: 300; font-variation-settings: "SOFT" 50, "opsz" 144; letter-spacing: -.02em; margin: 0; color: var(--grafite); text-wrap: balance; }
.h1 { font-size: clamp(2.6rem, 1.4rem + 5vw, 5.6rem); line-height: 1.02; }
.titulo { font-size: clamp(2.1rem, 1.3rem + 3vw, 4rem); line-height: 1.08; }
.h1 em, .titulo em { font-style: italic; color: var(--ouro-tinta); font-weight: 300; }
.lead { font-size: clamp(1.15rem, 1rem + .5vw, 1.4rem); line-height: 1.6; color: var(--cinza); max-width: 38rem; }
.micro { font-size: .875rem; color: var(--cinza); margin: .6rem 0 0; }
.micro a { color: var(--ouro-tinta); }
p { margin: 0 0 1.1rem; }
strong { font-weight: 700; }

/* ---------- botões ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: .9rem; min-height: 3.5rem; padding: 1rem 1.9rem; border-radius: 999px; background: var(--ouro); color: var(--grafite); text-decoration: none; font-weight: 700; font-size: 1rem; letter-spacing: .02em; border: 1px solid var(--ouro); transition: background .2s ease-out, transform .2s ease-out, box-shadow .2s ease-out; box-shadow: 0 14px 30px -18px rgba(138,106,53,.7); }
.btn:hover { background: #D4B272; transform: translateY(-1px); box-shadow: 0 18px 34px -18px rgba(138,106,53,.8); }
.btn .seta { width: 1.1rem; height: 1px; background: currentColor; position: relative; }
.btn .seta::after { content: ""; position: absolute; right: 0; top: -3px; width: 7px; height: 7px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); }
.btn[aria-disabled="true"] { background: var(--areia); border-color: var(--linha); box-shadow: none; }
.btn-fantasma { background: transparent; border-color: var(--grafite); box-shadow: none; }
.btn-fantasma:hover { background: var(--grafite); color: var(--branco); }
.cta-grupo { margin-top: 2.4rem; }
.cta-grupo .micro { margin-top: .9rem; }

/* ---------- estrutura ---------- */
.secao { padding: var(--secao) var(--gutter); position: relative; }
.miolo { max-width: var(--max); margin: 0 auto; }
.grade { display: grid; grid-template-columns: 1fr; gap: clamp(2.5rem, 2rem + 4vw, 7rem); align-items: center; }
@media (min-width: 900px) { .grade { grid-template-columns: 5fr 6fr; } }
.areia { background: var(--areia); }
.fio { max-width: var(--max); margin: 0 auto; height: 1px; background: var(--linha); }

/* moldura arredondada para fotos reais */
.foto { margin: 0; position: relative; }
.foto .quadro { border-radius: var(--raio); overflow: hidden; background: var(--areia); position: relative; }
.foto .quadro img { width: 100%; height: 100%; object-fit: cover; }
.foto::before { content: ""; position: absolute; inset: -14px 14px 14px -14px; border: 1px solid var(--ouro-claro); border-radius: calc(var(--raio) + 6px); z-index: -1; }
.foto figcaption { margin-top: 1rem; font-size: .8rem; letter-spacing: .18em; text-transform: uppercase; color: var(--cinza); }

/* ---------- marca / topo ---------- */
.marca { display: flex; justify-content: space-between; align-items: center; gap: 1rem; max-width: var(--max); margin: 0 auto; font-size: .78rem; letter-spacing: .2em; text-transform: uppercase; color: var(--cinza); }
.marca b { font-family: var(--f-display); font-weight: 400; letter-spacing: .28em; color: var(--grafite); }
.pilula { display: inline-flex; align-items: center; gap: .5rem; border: 1px solid var(--linha); border-radius: 999px; padding: .4rem .9rem; font-size: .7rem; letter-spacing: .16em; background: var(--branco); }
.pip { width: 7px; height: 7px; border-radius: 50%; background: var(--ouro); display: inline-block; animation: pulso 2.4s infinite; }
@keyframes pulso { 70% { box-shadow: 0 0 0 8px rgba(198,161,91,0); } 100% { box-shadow: 0 0 0 0 rgba(198,161,91,0); } }

/* ---------- HERO (capa) ---------- */
.hero { position: relative; overflow: hidden; --p: 0; padding: clamp(1.4rem, 1rem + 1vw, 2rem) var(--gutter) var(--secao); background:
  radial-gradient(60% 50% at 85% 20%, rgba(230,211,168,.35), transparent 70%),
  linear-gradient(180deg, var(--branco) 0%, var(--off) 100%); }

/* camadas de véu no fundo do hero com parallax na rolagem */
.veus-hero { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.veus-hero picture { position: absolute; inset: -8% -6%; mix-blend-mode: multiply; will-change: transform;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 16%, #000 84%, transparent 100%), linear-gradient(180deg, transparent 0, #000 14%, #000 86%, transparent 100%);
  -webkit-mask-composite: source-in; mask-image: linear-gradient(90deg, transparent 0, #000 16%, #000 84%, transparent 100%), linear-gradient(180deg, transparent 0, #000 14%, #000 86%, transparent 100%); mask-composite: intersect; }
.veus-hero img { width: 100%; height: 100%; object-fit: cover; }
.veus-hero .veu-nude { opacity: .22; transform: translate3d(calc(var(--p) * -90px), calc(var(--p) * 40px), 0);
  transition: translate 2.6s var(--ease-out) .5s, opacity 2.6s ease .5s; }
.veus-hero .veu-ouro { opacity: .28; transform: translate3d(0, calc(var(--p) * -150px), 0);
  transition: translate 2.8s var(--ease-out) 1.1s, opacity 2.8s ease 1.1s; }
.hero.desvelado .veus-hero .veu-nude { translate: -30% 6%; opacity: .12; }
.hero.desvelado .veus-hero .veu-ouro { translate: 26% -30%; opacity: .18; }

/* poeira de luz dourada ascendente */
.hero .poeira { position: absolute; inset: 0; z-index: 0; pointer-events: none; overflow: hidden; }
.hero .poeira i { position: absolute; bottom: -10px; width: 3px; height: 3px; border-radius: 50%; background: var(--ouro); box-shadow: 0 0 8px 2px rgba(198,161,91,.5); opacity: 0; animation: subir 9s linear infinite; }
.hero .poeira i:nth-child(1) { left: 58%; animation-delay: 0s; }
.hero .poeira i:nth-child(2) { left: 66%; animation-delay: 1.8s; animation-duration: 11s; }
.hero .poeira i:nth-child(3) { left: 74%; animation-delay: 3.1s; }
.hero .poeira i:nth-child(4) { left: 82%; animation-delay: .7s; animation-duration: 10s; }
.hero .poeira i:nth-child(5) { left: 48%; animation-delay: 2.2s; }
.hero .poeira i:nth-child(6) { left: 90%; animation-delay: 4s; }
@keyframes subir { 0% { transform: translateY(0); opacity: 0; } 15% { opacity: .9; } 100% { transform: translateY(-85vh) translateX(20px); opacity: 0; } }
.hero-corpo { max-width: var(--max); margin: clamp(3rem, 2rem + 4vw, 6rem) auto 0; display: grid; gap: clamp(3rem, 2rem + 4vw, 6rem); align-items: center; }
@media (min-width: 1024px) { .hero-corpo { grid-template-columns: 5fr 6fr; align-items: start; } }
.pre { font-size: .8rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--ouro-tinta); margin: 0 0 1.6rem; }
.pre .sep { color: var(--cinza-claro); margin: 0 .5rem; }
.hero .sub { margin-top: 2rem; }
.hero .sub p { color: var(--cinza); font-size: clamp(1.05rem, 1rem + .3vw, 1.25rem); max-width: 36rem; }
.hero .sub p:first-child { font-family: var(--f-display); font-weight: 400; font-size: clamp(1.3rem, 1.1rem + .7vw, 1.75rem); line-height: 1.4; color: var(--grafite); }
.contagem-linha { display: flex; align-items: center; gap: 1.1rem; margin-top: 2.4rem; font-size: .75rem; letter-spacing: .2em; text-transform: uppercase; color: var(--cinza); }
.contagem-linha:has(.zerada) { display: none; }
.contagem { display: flex; gap: .5rem; }
.contagem > div { min-width: 3.4rem; text-align: center; padding: .55rem .4rem .45rem; border: 1px solid var(--linha); border-radius: 10px; background: var(--branco); }
.contagem b { display: block; font-family: var(--f-display); font-weight: 400; font-size: 1.45rem; line-height: 1; color: var(--grafite); font-variant-numeric: tabular-nums; }
.contagem span { font-size: .62rem; letter-spacing: .14em; text-transform: uppercase; color: var(--cinza); }

/* vídeo da capa com máscara (poster do site + play dourado; YouTube só após o clique) */
.capa-video { margin: 0; position: relative; width: 100%; }
.capa-video::before { content: ""; position: absolute; inset: -16px; border: 1px solid var(--ouro-claro); border-radius: 30px; pointer-events: none; }
.capa-video .palco { position: relative; aspect-ratio: var(--capa-proporcao); border-radius: 24px; overflow: hidden; background: var(--grafite); box-shadow: 0 40px 80px -40px rgba(43,39,36,.45); }
.capa-video .palco > button { all: unset; position: absolute; inset: 0; cursor: pointer; display: block; }
.capa-video .palco img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease-out); }
.capa-video .palco > button:hover img { transform: scale(1.03); }
.capa-video .palco > button::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, rgba(43,39,36,.55) 100%); z-index: 1; }

/* véus fluidos que cobrem a cena inicial e desvelam ao carregar */
.veu { position: absolute; inset: -10% -25%; pointer-events: none; filter: blur(1.5px); z-index: 2; }
.veu-a { background:
  repeating-linear-gradient(97deg, rgba(244,227,211,.0) 0 14px, rgba(230,211,168,.18) 14px 18px),
  linear-gradient(100deg, rgba(244,227,211,.0) 0%, rgba(244,227,211,.65) 22%, rgba(230,211,168,.45) 55%, rgba(244,227,211,.0) 80%);
  transform: translateX(-4%); animation: ondular 6s ease-in-out infinite; transition: translate 1.6s var(--ease-out) .4s, opacity 1.6s ease .4s; }
.veu-b { background:
  repeating-linear-gradient(84deg, rgba(233,199,123,.0) 0 22px, rgba(198,161,91,.2) 22px 26px),
  linear-gradient(170deg, rgba(233,199,123,.0) 10%, rgba(230,211,168,.5) 45%, rgba(198,161,91,.3) 70%, rgba(233,199,123,.0) 95%);
  animation: ondular 7.5s ease-in-out -2s infinite reverse; transition: translate 1.8s var(--ease-out) 1.1s, opacity 1.8s ease 1.1s; }
.hero.desvelado .veu-a { translate: -120% 0; opacity: .0; }
.hero.desvelado .veu-b { translate: 0 -95%; opacity: .15; }
@keyframes ondular { 0%, 100% { transform: translateX(-4%) skewX(-3deg); } 50% { transform: translateX(3%) skewX(3deg) scaleY(1.03); } }
.contorno { position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 2; box-shadow: inset 0 0 0 0 rgba(198,161,91,0); transition: box-shadow 1.6s ease 1.6s; }
.hero.desvelado .contorno { box-shadow: inset 0 0 50px -10px rgba(198,161,91,.45); }
.capa-video .palco.tocando .veu, .capa-video .palco.tocando .contorno { display: none; }

.capa-video .play { position: absolute; left: 50%; top: 50%; width: 5.4rem; height: 5.4rem; transform: translate(-50%, -50%); border-radius: 50%; background: var(--ouro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='%232B2724'/%3E%3C/svg%3E") 56% 50% / 38% no-repeat; box-shadow: 0 0 0 10px rgba(255,255,255,.35), 0 20px 40px -12px rgba(0,0,0,.4); z-index: 3; transition: transform .2s ease-out; }
.capa-video .palco > button:hover .play, .capa-video .palco > button:focus-visible .play { transform: translate(-50%, -50%) scale(1.07); }
.capa-video .palco > button:focus-visible { outline: 2px solid var(--ouro); outline-offset: 4px; }
.capa-video .legenda { position: absolute; left: 0; right: 0; bottom: 1.2rem; text-align: center; z-index: 3; color: var(--branco); font-size: .75rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.capa-video iframe, .capa-video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: #000; }
.capa-video figcaption { margin-top: 1.6rem; text-align: center; font-size: .78rem; letter-spacing: .18em; text-transform: uppercase; color: var(--cinza); }
@media (min-width: 1024px) {
  .capa-video { margin-top: 3rem; }
}

/* EVO-162: CTA à esquerda, contagem sob o vídeo e altura pelo conteúdo. */
@media (min-width: 1024px) {
  .hero { min-height: 0; padding-top: 1.5rem; padding-bottom: 4rem; }
  .hero .hero-corpo {
    margin-top: clamp(2rem, 5vh, 3rem);
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "pre video" "title video" "sub video" "delivery video" "cta timer";
    column-gap: clamp(3rem, 5vw, 5rem);
    row-gap: 1rem;
    align-items: start;
  }
  .hero .hero-texto { display: contents; }
  .hero .pre { grid-area: pre; margin: 0; }
  .hero .h1 { grid-area: title; font-size: clamp(2.8rem, 4vw, 3.75rem); line-height: 1.04; }
  .hero .sub { grid-area: sub; margin: 0; }
  .hero .sub p { font-size: 1rem; line-height: 1.6; margin-bottom: 0; }
  .hero .sub p:first-child { font-size: 1.35rem; line-height: 1.4; margin-bottom: 1rem; }
  .hero .entrega { grid-area: delivery; margin: 0; font-size: 1.15rem; align-self: center; }
  .hero .capa-video { grid-area: video; margin: 0; align-self: end; }
  .hero .cta-grupo { grid-area: cta; margin: .5rem 0 0; text-align: left; align-self: end; }
  .hero .cta-grupo .micro { margin-top: .65rem; }
  .hero .contagem-linha { grid-area: timer; margin: 0; justify-content: center; align-self: end; }
}

/* ---------- A HISTÓRIA ---------- */
.historia .foto .quadro { aspect-ratio: 4/5; }
.historia .foto .quadro img { object-position: 50% 25%; }
.historia blockquote { margin: 0; font-family: var(--f-display); font-weight: 300; font-size: clamp(1.9rem, 1.2rem + 2.8vw, 3.4rem); line-height: 1.18; letter-spacing: -.015em; color: var(--grafite); }
.historia blockquote::before { content: "“"; display: block; font-size: 4.5rem; line-height: .6; color: var(--ouro); margin-bottom: 1.4rem; }
.historia blockquote em { color: var(--ouro-tinta); }
.historia .depois { margin-top: 2rem; color: var(--cinza); font-size: 1.1rem; }

/* ---------- A GRANDE IDEIA ---------- */
.ideia { text-align: left; }
.ideia .miolo { max-width: 60rem; }
.ideia .titulo { font-size: clamp(2.3rem, 1.3rem + 3.8vw, 4.8rem); }
.ideia .lead { margin-top: 2.4rem; max-width: 44rem; }
.acende .p { opacity: .35; transition: opacity .35s ease, color .35s ease; }
.acende .p.on { opacity: 1; }

/* ---------- O CAMINHO · 3 noites ---------- */
.caminho-cab { display: grid; gap: 1.6rem; margin-bottom: clamp(3rem, 2rem + 3vw, 5rem); }
/* EVO-143 (C3): o rótulo tem texto + <span> do nº de noites; em flex cada pedaço virava item e quebrava em 3 linhas no 390 */
.caminho-cab .rotulo { display: block; }
.caminho-cab .rotulo::before { display: inline-block; vertical-align: middle; margin-right: .9rem; }
@media (min-width: 900px) { .caminho-cab { grid-template-columns: 1fr 1fr; align-items: end; } .caminho-cab .lead { margin: 0; } }
.noites { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.2rem; counter-reset: noite; }
@media (min-width: 900px) { .noites { grid-template-columns: repeat(3, 1fr); gap: 1.6rem; } }
.noite { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: clamp(1.8rem, 1.4rem + 1.4vw, 2.6rem); display: flex; flex-direction: column; transition: border-color .3s ease-out, transform .3s var(--ease-out), box-shadow .3s ease-out; position: relative; }
.noite:hover { border-color: var(--ouro); transform: translateY(-4px); box-shadow: 0 20px 40px -20px rgba(138,106,53,.25); }
.noite .quando { font-size: .75rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--ouro-tinta); display: block; margin-bottom: 56px; } /* EVO-145: respiro data → ícone ≥48px desktop */
.noite-icone { width: 219px; height: 210px; margin: 0 auto 56px; /* EVO-145: respiro ícone → numeral ≥48px */ display: flex; align-items: center; justify-content: center; color: var(--ouro-tinta); flex-shrink: 0; transition: transform .3s var(--ease-out), color .3s ease-out; }
.noite:hover .noite-icone { transform: scale(1.02) translateY(-2px); color: var(--ouro); }
.noite-icone svg { width: 219px; height: 210px; display: block; }
.noite-icone svg path, .noite-icone svg circle, .noite-icone svg rect { vector-effect: non-scaling-stroke; stroke-width: 1.6px; }
.noite .num { font-family: var(--f-display); font-weight: 300; font-style: italic; font-size: 3.4rem; line-height: 1; color: var(--ouro); margin: 0; }
@media (max-width: 640px) {
  .noite .quando { margin-bottom: 44px; } /* EVO-145: ≥40px mobile */
  .noite-icone { width: 177px; height: 170px; margin-bottom: 44px; }
  .noite-icone svg { width: 177px; height: 170px; }
}
.noite h3 { font-family: var(--f-display); font-weight: 400; font-size: clamp(1.4rem, 1.2rem + .6vw, 1.75rem); line-height: 1.2; margin: 1.2rem 0 1rem; }
.noite h3 small { display: block; font-family: var(--f-corpo); font-size: .72rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: var(--cinza); margin-bottom: .5rem; }
.noite .pergunta { color: var(--grafite); font-style: italic; font-family: var(--f-display); font-size: 1.1rem; line-height: 1.5; }
.noite .conteudo { margin-top: auto; padding-top: 1.2rem; border-top: 1px solid var(--linha); font-size: .95rem; color: var(--cinza); }
.conectados { margin: clamp(3rem, 2rem + 3vw, 5rem) auto 0; max-width: 46rem; text-align: center; font-family: var(--f-display); font-weight: 300; font-style: italic; font-size: clamp(1.35rem, 1.1rem + 1vw, 2rem); line-height: 1.45; color: var(--grafite); }
.conectados::before { content: ""; display: block; width: 1px; height: 3.5rem; background: var(--ouro); margin: 0 auto 1.8rem; }

/* ---------- QUEM CONDUZ ---------- */
.quem .foto .quadro { aspect-ratio: 4/5; }
.quem .foto .quadro img { object-position: 50% 20%; }
.quem .nome { font-family: var(--f-display); font-weight: 300; font-size: clamp(2.4rem, 1.4rem + 3.6vw, 4.4rem); line-height: 1.02; letter-spacing: -.02em; margin: 0 0 1rem; }
.quem .cargo { font-size: .95rem; color: var(--ouro-tinta); font-weight: 600; margin-bottom: 2rem; }
.quem .texto p { color: var(--cinza); }
.quem .texto p.forte { color: var(--grafite); font-family: var(--f-display); font-size: 1.3rem; line-height: 1.5; }
.quem .ancora { border-left: 2px solid var(--ouro); padding-left: 1.3rem; color: var(--grafite) !important; }
.quem .formacao { margin-top: 1.4rem; }

/* ---------- DEPOIMENTOS (vídeos do YouTube via config) ---------- */
.depo-lista { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; justify-content: center; gap: 1.2rem; }
.depo-lista li { position: relative; width: min(100%, 22rem); aspect-ratio: var(--depo-proporcao, 16/9); border-radius: 14px; overflow: hidden; background: var(--areia); border: 1px solid var(--linha); }
.lite-yt { all: unset; position: absolute; inset: 0; cursor: pointer; }
.lite-yt img { width: 100%; height: 100%; object-fit: cover; }
.lite-yt .play { position: absolute; left: 50%; top: 50%; width: 3.6rem; height: 3.6rem; transform: translate(-50%, -50%); border-radius: 50%; background: var(--ouro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='%232B2724'/%3E%3C/svg%3E") 56% 50% / 38% no-repeat; box-shadow: 0 0 0 7px rgba(255,255,255,.4); }
.depo-lista iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.depoimentos blockquote { margin: 1.2rem 0 0; padding: 1.4rem 1.6rem; background: var(--branco); border: 1px solid var(--linha); border-radius: 14px; font-family: var(--f-display); font-style: italic; }
.depoimentos cite { display: block; margin-top: .6rem; font-family: var(--f-corpo); font-style: normal; font-size: .85rem; color: var(--cinza); }

/* ---------- OFERTA ---------- */
.oferta { background: var(--areia); }
.oferta .palco { display: grid; gap: clamp(2.5rem, 2rem + 3vw, 5rem); align-items: center; }
@media (min-width: 900px) { .oferta .palco { grid-template-columns: 1fr 1fr; } }
.inclui { list-style: none; padding: 0; margin: 2rem 0 0; }
.inclui li { padding: 1rem 0 1rem 2.2rem; border-bottom: 1px solid var(--linha); position: relative; }
.inclui li::before { content: ""; position: absolute; left: .2rem; top: 1.55rem; width: .9rem; height: .45rem; border-left: 1.5px solid var(--ouro-tinta); border-bottom: 1.5px solid var(--ouro-tinta); transform: rotate(-45deg); }
.inclui .bonus { color: var(--ouro-tinta); font-weight: 600; }
.preco-bloco { background: var(--branco); border: 1px solid var(--linha); border-radius: 24px; padding: clamp(2rem, 1.4rem + 2.4vw, 3.4rem); text-align: center; box-shadow: 0 40px 80px -50px rgba(43,39,36,.35); position: relative; }
.preco-bloco::before { content: ""; position: absolute; top: 0; left: 50%; width: 4rem; height: 2px; background: var(--ouro); transform: translateX(-50%); }
.lote-nome { font-size: .75rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--ouro-tinta); }
.preco-grande { font-family: var(--f-display); font-weight: 300; font-size: clamp(3.6rem, 2.4rem + 5vw, 6rem); line-height: 1; margin: 1rem 0 .4rem; letter-spacing: -.03em; }
.preco-pendente { display: none; font-family: var(--f-display); font-size: 1.7rem; line-height: 1.3; margin: 1rem 0; }
.preco-bloco .cta-grupo { margin-top: 1.8rem; }
.preco-bloco .btn { width: 100%; }
.encerrado-msg { display: none; }
html[data-vendas="encerradas"] .encerrado-msg { display: block; }
html[data-vendas="encerradas"] [data-contagem="lote"] { display: none; }
html[data-vendas="encerradas"] .preco-bloco .lote-nome, html[data-vendas="encerradas"] .preco-bloco .preco-grande, html[data-vendas="encerradas"] .preco-bloco .preco-grande + .micro { display: none; }
html[data-vendas="encerradas"] .barra .estado .l1 { display: none; }
html[data-mentoria-preco="pendente"] .preco-pendente { display: block; }
html[data-mentoria-preco="pendente"] .so-com-preco { display: none; }

/* ---------- GARANTIA ---------- */
.garantia .miolo { display: grid; gap: 2.5rem; align-items: center; max-width: 60rem; }
@media (min-width: 760px) { .garantia .miolo { grid-template-columns: 12rem 1fr; } }
.selo { position: relative; width: 12rem; aspect-ratio: 1; color: var(--ouro-tinta); }
.selo svg { position: absolute; inset: 0; width: 100%; height: 100%; animation: girar 32s linear infinite; }
@keyframes girar { to { transform: rotate(360deg); } }
.selo > div { position: absolute; inset: 22%; border: 1px solid var(--ouro-claro); border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--branco); }
.selo b { font-family: var(--f-display); font-weight: 400; font-size: 2rem; line-height: 1; color: var(--grafite); }
.selo span { font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--cinza); }

/* ---------- FAQ ---------- */
.faq { margin-top: 2rem; border-top: 1px solid var(--linha); }
.faq details { border-bottom: 1px solid var(--linha); }
.faq summary { cursor: pointer; list-style: none; padding: 1.3rem 2.5rem 1.3rem 0; position: relative; font-weight: 600; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: .3rem; top: 50%; transform: translateY(-50%); font-family: var(--f-display); font-size: 1.6rem; font-weight: 300; color: var(--ouro-tinta); transition: transform .2s ease-out; }
.faq details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.faq details p { color: var(--cinza); padding-bottom: 1.2rem; margin: 0; }
.faq a { color: var(--ouro-tinta); }
.faq-wrap { max-width: 50rem; }

/* ---------- FINAL ---------- */
.final { text-align: center; background: var(--branco); border-top: 1px solid var(--linha); }
.final .rotulo { justify-content: center; }
.final .rotulo::after { content: ""; width: 2.2rem; height: 1px; background: var(--ouro); }
.final .titulo { max-width: 20ch; margin: 0 auto; }
.final .micro { color: var(--cinza); }

/* ---------- mentoria ---------- */
.cabeca-pagina { padding: clamp(1.4rem, 1rem + 1vw, 2rem) var(--gutter) var(--secao); background: linear-gradient(180deg, var(--branco), var(--off)); }
.mentoria-hero .foto .quadro, .mentoria-hero .foto > picture { aspect-ratio: 4/5; border-radius: var(--raio); overflow: hidden; }
.mentoria-hero .foto img { width: 100%; height: 100%; object-fit: cover; }
.mentoria-hero .lead { margin-top: 1.8rem; }
.vsl { position: relative; max-width: 60rem; margin: 0 auto; border-radius: 24px; overflow: hidden; aspect-ratio: 16 / 9; background: var(--grafite); box-shadow: 0 40px 80px -40px rgba(43,39,36,.45); }
.vsl img { width: 100%; height: 100%; object-fit: cover; }
.vsl::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(180deg, transparent 50%, rgba(43,39,36,.5)); }
.vsl button { position: absolute; inset: 0; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.2rem; background: none; border: 0; color: var(--branco); cursor: pointer; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; font-size: .8rem; }
.vsl button::before { content: ""; width: 5.4rem; aspect-ratio: 1; border-radius: 50%; background: var(--ouro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='%232B2724'/%3E%3C/svg%3E") 56% 50% / 38% no-repeat; box-shadow: 0 0 0 10px rgba(255,255,255,.35); transition: transform .2s ease-out; }
.vsl button:hover::before { transform: scale(1.06); }
.vsl iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.faixa-texto { background: var(--areia); }
.faixa-texto .miolo { max-width: 56rem; }
.faixa-texto .lead { margin-top: 1.8rem; }
.tiles { list-style: none; margin: 3rem 0 0; padding: 0; display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr)); }
.tiles li { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 2rem; }
.tiles em { display: block; font-style: normal; font-size: .72rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; color: var(--ouro-tinta); margin-bottom: .8rem; }
.tiles strong { font-family: var(--f-display); font-weight: 400; font-size: 1.35rem; line-height: 1.3; }
.conquista { margin-top: 3rem; font-family: var(--f-display); font-style: italic; font-size: 1.35rem; max-width: 42rem; }
.para-quem { display: grid; gap: 1.2rem; margin-bottom: 3rem; }
@media (min-width: 760px) { .para-quem { grid-template-columns: 1fr 1fr; } }
.para-quem > div { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1.8rem; }
.para-quem h3 { font-family: var(--f-display); font-weight: 400; font-size: 1.4rem; margin: 0 0 .6rem; }
.para-quem p { color: var(--cinza); margin: 0; }

/* ---------- obrigado ---------- */
.obrigado .grade { margin-top: 0; }
.passos { list-style: none; counter-reset: passo; padding: 0; margin: 2.6rem 0 0; display: grid; gap: 1rem; }
.passos li { counter-increment: passo; display: grid; grid-template-columns: 2.6rem 1fr; gap: 1rem; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1.6rem; }
.passos li::before { content: counter(passo); font-family: var(--f-display); font-style: italic; font-size: 2rem; line-height: 1; color: var(--ouro-tinta); }
.passos li.principal { border-color: var(--ouro); box-shadow: 0 30px 60px -40px rgba(138,106,53,.6); }
.obrigado-foto .quadro { aspect-ratio: 4/5; }

/* ---------- política ---------- */
.topo-simples { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.4rem var(--gutter); border-bottom: 1px solid var(--linha); background: var(--branco); }
.topo-simples a { text-decoration: none; }
.mono { font-family: var(--f-corpo); font-weight: 600; }
.legal { max-width: 46rem; margin: 0 auto; padding: clamp(3rem, 2rem + 4vw, 6rem) var(--gutter); }
.legal .titulo { margin-bottom: 1.4rem; }
.legal h2 { font-family: var(--f-display); font-weight: 400; font-size: 1.9rem; margin: 3.4rem 0 1rem; padding-top: 1.6rem; border-top: 1px solid var(--linha); }
.legal h3 { font-size: 1rem; font-weight: 700; margin: 1.8rem 0 .4rem; }
.legal p { color: var(--cinza); }
.legal a { color: var(--ouro-tinta); }
.legal ul, .legal ol { color: var(--cinza); padding-left: 1.2rem; }
.legal li { margin: .45rem 0; }

/* ---------- rodapé ---------- */
.rodape { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1.6rem; padding: 3rem var(--gutter); border-top: 1px solid var(--linha); background: var(--off); color: var(--cinza); font-size: .85rem; }
.rodape > div { max-width: 44rem; }
.rodape strong { color: var(--grafite); }
.rodape nav { display: flex; flex-wrap: wrap; gap: .4rem 1.4rem; }
.rodape nav a { text-decoration: none; padding: .3rem 0; }
.rodape nav a:hover { color: var(--ouro-tinta); }
.aviso { font-size: .8rem; line-height: 1.6; }

/* ---------- barra inferior ---------- */
.barra {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: .7rem var(--gutter) calc(.7rem + env(safe-area-inset-bottom));
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border-top: 1px solid var(--linha);
  transform: translateY(120%);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: transform .35s var(--ease-out), opacity .35s ease-out, visibility .35s;
}
.barra.visivel {
  transform: translateY(0);
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.barra .estado { display: flex; flex-direction: column; line-height: 1.35; min-width: 0; }
.barra .l1 { font-weight: 700; font-size: .9rem; display: flex; align-items: center; gap: .5rem; white-space: nowrap; }
.barra .l2 { font-size: .78rem; color: var(--cinza); font-variant-numeric: tabular-nums; }
.barra .btn { min-height: 3rem; padding: .7rem 1.3rem; font-size: .92rem; flex-shrink: 0; }
@media (max-width: 480px) { .lote-txt-longo { display: none; } }
@media (min-width: 900px) {
  .barra {
    left: 50%;
    right: auto;
    bottom: 1.5rem;
    width: min(46rem, calc(100% - 2rem));
    border: 1px solid var(--linha);
    border-radius: 999px;
    padding: .55rem .55rem .55rem 1.6rem;
    transform: translate(-50%, 160%);
    box-shadow: 0 20px 50px -25px rgba(43,39,36,.4);
  }
  .barra.visivel {
    transform: translate(-50%, 0);
  }
}

/* ---------- movimento ---------- */
[data-revelar] { opacity: 0; transform: translateY(16px); transition: opacity .6s var(--ease-out), transform .6s var(--ease-out); }
[data-revelar].visto { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) {
  [data-revelar] { opacity: 1; transform: none; }
  .veu, .hero .poeira i, .pip, .selo svg { animation: none !important; }
  .hero .veu-a, .hero .veu-b { translate: 0 -100%; opacity: 0; transition: none; }
  .contorno { transition: none !important; }
  .veus-hero picture { transition: none !important; transform: none !important; }
  .hero .veus-hero .veu-nude { translate: -30% 6%; opacity: .12; }
  .hero .veus-hero .veu-ouro { translate: 26% -30%; opacity: .18; }
  .acende .p { opacity: 1 !important; }
}

/* ---------- mobile ---------- */
@media (max-width: 640px) {
  .marca { font-size: .68rem; letter-spacing: .14em; }
  .marca .pilula { display: none; }
  .btn { width: 100%; }
  .barra .btn { width: auto; }
  .contagem > div { min-width: 3rem; }
  .foto::before { inset: -10px 10px 10px -10px; }
  .capa-video::before { inset: -10px; }
  .noite .num { font-size: 3rem; }
}

/* mobile/tablet: o vídeo da capa sobe para logo depois do título (dentro da primeira dobra) */
@media (max-width: 1023px) {
  .hero-corpo { gap: 0; }
  .hero-texto { display: contents; }
  .hero-corpo > * , .hero-texto > * { order: 5; }
  .hero .pre { order: 1; }
  .hero .h1 { order: 2; }
  .capa-video { order: 3; margin: 2.2rem 0 .6rem; }
  .hero .sub { order: 4; }
}
.oferta .titulo + p { margin-top: 1.6rem; }
.oferta .contagem { margin-top: 1.2rem; }

/* ---------- EVO-149 · seções restauradas na paleta clara ---------- */
/* hero: entrega do Protocolo de 7 minutos */
.hero .entrega { margin: 1.6rem 0 0; padding-left: 1.1rem; border-left: 2px solid var(--ouro); font-family: var(--f-display); font-weight: 400; font-size: clamp(1.1rem, 1rem + .4vw, 1.35rem); line-height: 1.45; color: var(--grafite); max-width: 34rem; }
.hero .entrega strong { font-weight: 500; color: var(--ouro-tinta); }
@media (max-width: 1023px) { .hero .entrega { order: 4; } }

/* Talvez seja você */
.espelho .titulo { max-width: 22ch; }
.mosaico { display: grid; grid-template-columns: 1fr; gap: clamp(1.2rem, 1rem + 1.5vw, 2.2rem); margin-top: clamp(2.5rem, 2rem + 2vw, 4rem); }
@media (min-width: 700px) { .mosaico { grid-template-columns: 1fr 1fr; } }
.cena { margin: 0; }
.cena picture { border-radius: var(--raio); overflow: hidden; background: var(--linha); aspect-ratio: 3/2; }
.cena img { width: 100%; height: 100%; object-fit: cover; }
.cena figcaption { margin-top: 1rem; font-family: var(--f-display); font-style: italic; font-weight: 400; font-size: clamp(1.1rem, 1rem + .4vw, 1.35rem); line-height: 1.4; color: var(--grafite); }
.espelho .fecho { margin: clamp(2.5rem, 2rem + 2vw, 4rem) 0 0; font-family: var(--f-display); font-weight: 400; font-size: clamp(1.35rem, 1.1rem + 1vw, 2rem); line-height: 1.3; color: var(--ouro-tinta); text-align: center; }

/* A história: título "sete anos" + citação do doc */
.historia .titulo { margin-bottom: 1.6rem; }
.historia .antes { color: var(--cinza); font-size: 1.1rem; }
.historia .titulo ~ blockquote { font-size: clamp(1.4rem, 1.1rem + 1.2vw, 2.1rem); line-height: 1.3; margin: 1.6rem 0; }
.historia .titulo ~ blockquote::before { font-size: 3.2rem; margin-bottom: 1rem; }
.historia .virada { font-family: var(--f-display); font-weight: 400; font-size: clamp(1.25rem, 1.05rem + .8vw, 1.75rem); line-height: 1.35; color: var(--ouro-tinta); margin: 0 0 1.1rem; }
.historia .depois { margin-top: 0; }

/* Experimente agora · o primeiro véu em 2 minutos */
.folha-palco { display: grid; grid-template-columns: 1fr; align-items: center; }
.folha-foto { margin: 0; border-radius: var(--raio); overflow: hidden; background: var(--areia); aspect-ratio: 4/3; }
.folha-foto picture, .folha-foto img { width: 100%; height: 100%; object-fit: cover; }
.folha { position: relative; background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: clamp(1.6rem, 1rem + 3vw, 3.2rem); box-shadow: 0 30px 60px -40px rgba(43,39,36,.35); margin: -3rem .6rem 0; }
@media (min-width: 900px) {
  .folha-palco { grid-template-columns: 6fr 5fr; }
  .folha { grid-column: 1; grid-row: 1; margin: 0 -4rem 0 0; z-index: 1; }
  .folha-foto { grid-column: 2; grid-row: 1; aspect-ratio: 4/5; }
}
.folha ol { margin: 1.8rem 0 0; padding-left: 1.3rem; color: var(--grafite); }
.folha ol li { margin-bottom: .5rem; }
.linhas { display: grid; gap: 1.2rem; margin: 1.8rem 0 1.2rem; }
.linhas label { display: block; font-size: .72rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--cinza); }
.linhas input { display: block; width: 100%; min-height: 2.9rem; margin-top: .3rem; border: 0; border-bottom: 1px solid var(--cinza-claro); background: transparent; font-family: var(--f-display); font-size: 1.15rem; color: var(--grafite); padding: .4rem 0; border-radius: 0; transition: border-color .2s ease-out; }
.linhas input::placeholder { font-style: italic; color: var(--cinza); opacity: 1; }
.linhas input:focus { outline: none; border-bottom-color: var(--ouro-tinta); box-shadow: 0 1px 0 var(--ouro-tinta); }
.folha .privado { font-size: .85rem; color: var(--cinza); margin: 0 0 .6rem; }
.folha .fecho { font-family: var(--f-display); font-style: italic; font-size: 1.2rem; color: var(--grafite); margin: 0 0 1.8rem; }

/* bloco final com a imagem do amanhecer */
.final-cena { overflow: hidden; color: var(--branco); border-top: 0; padding-top: clamp(8rem, 5rem + 10vw, 14rem); padding-bottom: clamp(6rem, 4rem + 6vw, 10rem); isolation: isolate; }
.final-fundo { position: absolute; inset: 0; z-index: -2; }
.final-fundo img { width: 100%; height: 100%; object-fit: cover; object-position: 40% 50%; }
.final-cena::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(70% 60% at 50% 60%, rgba(43,39,36,.55), rgba(43,39,36,.25) 75%), linear-gradient(180deg, rgba(43,39,36,.05) 0%, rgba(43,39,36,.45) 100%); }
.final-cena .rotulo { color: var(--ouro-claro); }
.final-cena .rotulo::before, .final-cena .rotulo::after { background: var(--ouro-claro); }
.final-cena .titulo { color: var(--branco); text-shadow: 0 2px 24px rgba(0,0,0,.35); max-width: 22ch; }
.final-cena .titulo em { color: var(--ouro-claro); }
.final-cena .micro { color: rgba(255,255,255,.9); }

/* R7 depoimentos */
.depoimentos-yt { overflow: hidden; }
.depo-cabecalho { margin-bottom: clamp(2rem, 1.5rem + 2vw, 3rem); text-align: left; }
.depo-sub { margin: .8rem 0 0; color: var(--cinza); font-family: var(--f-corpo); font-size: clamp(1rem, .95rem + .3vw, 1.15rem); line-height: 1.5; max-width: 44rem; }

.depo-palco { width: 100%; }
.depo-palco.tem-video-e-prints { display: grid; grid-template-columns: 1fr; gap: clamp(2rem, 1.5rem + 2vw, 3rem); align-items: start; }
@media (min-width: 960px) {
  .depo-palco.tem-video-e-prints { grid-template-columns: 340px 1fr; gap: clamp(2.5rem, 2rem + 2.5vw, 4rem); }
}

.depo-col-video { width: 100%; max-width: 340px; margin: 0 auto; }
@media (min-width: 960px) {
  .depo-col-video { position: sticky; top: 2.5rem; }
}

.depo-col-video .depo-lista { list-style: none; margin: 0; padding: 0; width: 100%; }
.depo-col-video .depo-lista li { position: relative; width: 100%; aspect-ratio: var(--depo-proporcao, 9/16); border-radius: var(--raio); overflow: hidden; background: var(--branco); border: 1px solid var(--linha); box-shadow: 0 16px 36px -16px rgba(43,39,36,.22); }
.depo-col-video .lite-yt { all: unset; position: absolute; inset: 0; cursor: pointer; display: block; }
.depo-col-video .lite-yt img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease-out; }
.depo-col-video .lite-yt:hover img { transform: scale(1.025); }
.depo-col-video .lite-yt .play { position: absolute; left: 50%; top: 50%; width: 4rem; height: 4rem; transform: translate(-50%, -50%); border-radius: 50%; background: var(--ouro) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M8 5v14l11-7z' fill='%232B2724'/%3E%3C/svg%3E") 56% 50% / 38% no-repeat; box-shadow: 0 0 0 8px rgba(255,255,255,.45), 0 12px 24px -6px rgba(43,39,36,.35); transition: transform .2s ease-out, box-shadow .2s ease-out; }
.depo-col-video .lite-yt:hover .play { transform: translate(-50%, -50%) scale(1.08); box-shadow: 0 0 0 12px rgba(255,255,255,.6), 0 16px 28px -6px rgba(43,39,36,.4); }
.depo-col-video .depo-tag { position: absolute; top: .9rem; left: .9rem; background: rgba(43,39,36,.82); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); color: var(--branco); font-size: .65rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; padding: .4rem .75rem; border-radius: 999px; border: 1px solid rgba(198,161,91,.45); pointer-events: none; }

.depo-col-prints { width: 100%; }
.depo-prints-track { display: grid; grid-template-columns: 1fr; gap: 1.25rem; }
@media (min-width: 600px) {
  .depo-prints-track { grid-template-columns: repeat(2, 1fr); gap: 1.25rem; }
}
@media (max-width: 599px) {
  .depo-col-prints { overflow: hidden; margin-left: calc(-1 * var(--gutter)); margin-right: calc(-1 * var(--gutter)); width: calc(100% + 2 * var(--gutter)); }
  .depo-prints-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding: .5rem var(--gutter) 1.5rem; gap: 1rem; scrollbar-width: thin; scrollbar-color: var(--ouro-claro) transparent; }
  .depo-prints-track::-webkit-scrollbar { height: 6px; }
  .depo-prints-track::-webkit-scrollbar-track { background: transparent; }
  .depo-prints-track::-webkit-scrollbar-thumb { background: var(--ouro-claro); border-radius: 999px; }
  .depo-print-card { flex: 0 0 min(82vw, 300px); scroll-snap-align: center; }
}

.depo-print-card { background: var(--branco); border: 1px solid var(--linha); border-radius: var(--raio); padding: 1rem; box-shadow: 0 10px 24px -14px rgba(43,39,36,.12); transition: transform .25s ease-out, box-shadow .25s ease-out, border-color .25s ease-out; display: flex; flex-direction: column; }
.depo-print-card:hover { transform: translateY(-3px); box-shadow: 0 18px 36px -16px rgba(43,39,36,.2); border-color: var(--ouro-claro); }
.depo-print-img-wrap { border-radius: calc(var(--raio) - 4px); overflow: hidden; background: #FAF9F6; display: flex; align-items: center; justify-content: center; }
.depo-print-img-wrap img { width: 100%; height: auto; display: block; object-fit: contain; }
.depo-print-frase { margin: .85rem 0 0; padding: .75rem 0 0; border-top: 1px solid var(--linha); font-family: var(--f-display); font-style: italic; font-weight: 400; font-size: .92rem; line-height: 1.42; color: var(--grafite); }
.depo-print-frase p { margin: 0; }


/* EVO-159: depoimentos desktop sem cards esticados ou sobreposições. */
@media (min-width: 960px) {
  .depoimentos-yt { overflow: visible; padding-top: 4rem; padding-bottom: 4rem; }
  .depo-cabecalho { margin-bottom: 2rem; }
  .depo-col-video { top: 6rem; max-width: min(340px, calc((100vh - 8rem) * 9 / 16)); }
  .depo-prints-track { display: block; columns: 2; column-gap: 1.25rem; }
  .depo-print-card { break-inside: avoid; margin-bottom: 1.25rem; }
  html.lendo-depoimentos .barra,
  html.lendo-depoimentos .progresso { visibility: hidden; opacity: 0; pointer-events: none; }
}
