/* Página de vendas. Mobile-first: as variações de layout estão nos @media no fim de cada bloco. */
html{ scroll-padding-top:72px; }
section{ padding-block:var(--section); }

/* Divisões: linha reta fina em cor de contraste; a faixa areia pede cores próprias */
section,.rodape{ position:relative; }
section > .wrap,.rodape > .wrap{ position:relative; }
section::before,.rodape::before{ content:""; position:absolute; inset:0 0 auto; height:3px; background:var(--linha, var(--sand)); pointer-events:none; }
.hero::before{ content:none; }
.volta{ --linha:var(--mist); }
.perfil{ --linha:var(--forest); }

/* Menu de navegação: mesmos movimentos do menu da LP principal */
.nav{ position:sticky; top:0; z-index:20; background:var(--forest); color:var(--mist); transition:background .4s, color .4s, box-shadow .4s, transform .5s var(--ease); }
.nav.is-scrolled{ background:color-mix(in srgb, var(--mist) 96%, transparent); color:var(--forest); box-shadow:0 1px 0 var(--line); }
.nav.is-hidden{ transform:translateY(-100%); }
body.menu-open .nav{ background:transparent; color:var(--mist); box-shadow:none; }
.nav__barra{ display:flex; justify-content:space-between; align-items:center; gap:24px; min-height:58px; }
.nav__marca,.nav__abrir{ position:relative; z-index:1; }
.nav__marca{ font-family:var(--serif); font-size:19px; text-decoration:none; }
.nav__abrir{ flex:none; width:44px; height:44px; padding:0; border:1px solid color-mix(in srgb, currentColor 30%, transparent); border-radius:50%; background:none; color:inherit; cursor:pointer; }
.nav__abrir i{ position:absolute; left:13px; right:13px; height:1.5px; background:currentColor; transition:top .45s var(--ease), transform .45s var(--ease); }
.nav__abrir i:first-child{ top:17px; }
.nav__abrir i:last-child{ top:25px; }
.nav__abrir[aria-expanded="true"] i:first-child{ top:21px; transform:rotate(45deg); }
.nav__abrir[aria-expanded="true"] i:last-child{ top:21px; transform:rotate(-45deg); }
.nav__gatilho svg{ transition:rotate .2s var(--ease); }
.nav__gatilho[aria-expanded="true"] svg{ rotate:180deg; }
.nav__painel a{ display:grid; gap:2px; text-decoration:none; }
.nav__painel span{ font-size:15px; line-height:1.35; color:color-mix(in srgb, var(--mist) 80%, transparent); }

/* Celular e tablet: tela cheia abrindo em círculo a partir do botão */
@media (max-width:999.98px){
  .nav__menu{ position:fixed; inset:0; padding:84px var(--gutter) 28px; background:var(--forest); color:var(--mist); overflow-y:auto; overscroll-behavior:contain;
    clip-path:circle(0% at calc(100% - var(--gutter) - 22px) 29px); visibility:hidden; transition:clip-path .7s cubic-bezier(.7,0,.2,1), visibility 0s .7s; }
  .nav__menu.aberto{ clip-path:circle(150% at calc(100% - var(--gutter) - 22px) 29px); visibility:visible; transition:clip-path .7s cubic-bezier(.7,0,.2,1), visibility 0s 0s; }
  .nav__gatilho{ display:none; }
  .nav__painel,.nav__painel[hidden],.nav__painel ul,.nav__painel li{ display:contents !important; }
  .nav__lista{ display:grid; grid-template-columns:minmax(0,1fr); border-top:1px solid var(--line-light); }
  .nav__item{ min-width:0; }
  .nav__menu a{ opacity:0; transform:translateY(28px); transition:opacity .5s, transform .6s var(--ease), color .3s; }
  .nav__menu.aberto a{ opacity:1; transform:none; transition-delay:calc(.2s + var(--i, 0) * .06s); }
  .nav__link,.nav__painel a{ display:block; padding-block:11px; border-bottom:1px solid var(--line-light); background:none; }
  .nav__link,.nav__painel strong{ font-family:var(--serif); font-weight:300; font-size:29px; line-height:1.1; letter-spacing:-.02em; }
  .nav__painel strong,.nav__painel span{ display:block; }
  .nav__painel span{ margin-top:3px; font-size:14px; }
  body.menu-open{ overscroll-behavior:contain; }
}

/* Desktop: barra com painel suspenso */
@media (min-width:1000px){
  .nav__abrir{ display:none; }
  .nav__menu{ display:flex; flex:1; justify-content:flex-end; align-items:center; gap:28px; }
  .nav__lista{ display:flex; align-items:center; gap:28px; }
  .nav__item{ position:relative; display:flex; align-items:center; min-height:58px; }
  .nav__link,.nav__gatilho{ display:inline-flex; align-items:center; gap:8px; padding:0 0 3px; border:0; background-color:transparent; color:inherit; font:500 16px var(--sans); cursor:pointer; }
  .nav__link[aria-current],.nav__item:has([aria-current]) .nav__gatilho{ color:color-mix(in srgb, var(--sand) 45%, var(--mist)); }
  .nav.is-scrolled .nav__link[aria-current],.nav.is-scrolled .nav__item:has([aria-current]) .nav__gatilho{ color:var(--sand-dark); }
  .nav__painel{ position:absolute; top:100%; left:-16px; display:grid; grid-template-columns:.8fr 1fr; gap:6px; width:540px; padding:8px; border-radius:0 0 14px 14px; background:var(--forest); color:var(--mist); }
  .nav__painel a{ padding:12px; border-radius:10px; }
  .nav__painel strong{ font-weight:600; }
  .nav__painel a[aria-current] strong{ color:color-mix(in srgb, var(--sand) 45%, var(--mist)); }
  .nav__destaque{ align-content:end; padding:16px !important; background:var(--moss); }
  .nav__destaque strong{ font-family:var(--serif); font-weight:400; font-size:23px; }
  .nav.is-scrolled{ background:color-mix(in srgb, var(--mist) 86%, transparent); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
}
@media (hover:hover){ .nav__painel ul a:hover{ background:var(--moss); } }
@media (prefers-reduced-motion:no-preference){ .nav__painel:not([hidden]){ animation:nav-abre .2s var(--ease); } }
@keyframes nav-abre{ from{ opacity:0; transform:translateY(-6px); } }
@media (prefers-reduced-motion:reduce){ .nav,.nav__menu,.nav__menu.aberto,.nav__menu a,.nav__abrir i{ transition:none !important; } }

/* Faixa de prazo (só aparece com prazo real em config.js) */
.faixa{ padding:10px var(--gutter); background:var(--mist); color:var(--forest); font-size:15px; font-weight:600; text-align:center; }

/* Cartão da oferta: o mesmo nas seções 1, 8 e 11 */
.oferta{ display:grid; gap:18px; padding:22px 22px 26px; background:var(--paper); color:var(--forest); }
.oferta__topo{ display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:16px; font-weight:500; }
.oferta__selo{ padding:4px 11px; background:var(--red); color:#fff; font-size:15px; font-weight:600; white-space:nowrap; }
.oferta__preco{ display:grid; gap:2px; }
.oferta__de{ font-size:18px; color:var(--moss); }
.oferta__por{ display:flex; align-items:baseline; gap:.14em; font-family:var(--serif); font-weight:400; font-size:clamp(64px, 19vw, 92px); line-height:1; letter-spacing:-.035em; font-variant-numeric:lining-nums; }
.oferta__por small{ font-size:.34em; letter-spacing:0; }
.oferta__parcela{ font-size:18px; font-weight:500; }
.oferta__prazo{ font-size:15px; color:var(--moss); }
.oferta--grande{ padding-top:0; overflow:hidden; }
.oferta__faixa{ display:flex; align-items:baseline; gap:10px; margin:0 -22px; padding:14px 22px; background:var(--red); color:#fff; font-size:16px; font-weight:600; }
.oferta__faixa{ flex-wrap:wrap; }
.oferta__faixa b{ font-family:var(--serif); font-weight:400; font-size:clamp(28px, 3.4vw, 34px); line-height:1; letter-spacing:-.01em; white-space:nowrap; }
.oferta--grande .oferta__de{ font-size:18px; }
.oferta__condicao{ margin-top:10px; font-weight:600; }
.oferta--grande s{ text-decoration-color:var(--red); }
.oferta--grande s::after{ background:var(--red) !important; height:2px !important; }
.oferta--grande .oferta__por{ font-size:clamp(76px, 22vw, 108px); }
.oferta__ganhos{ display:grid; gap:2px; padding-block:12px; border-block:1px solid var(--line); font-size:16px; }
.oferta__ganhos strong{ font-size:20px; font-weight:600; color:var(--red); }

/* 1. Hero: retrato grande que se dissolve no verde */
.hero{ padding-block:0; background:var(--forest); color:var(--mist); }
.hero .hero__grid{ position:static; display:flex; flex-direction:column; justify-content:flex-end; min-height:calc(100svh - 58px); padding-block:0 56px; }
.hero__autor,.hero__corpo{ position:relative; z-index:1; }
.hero__autor{ padding-bottom:12px; font-size:14px; line-height:1.35; font-weight:500; color:var(--mist); }
.hero__foto{ position:relative; order:-1; flex:1; min-height:240px; margin-inline:calc(var(--gutter) * -1); overflow:hidden; }
.hero__foto::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, var(--forest), transparent 34%); pointer-events:none; }
.hero__foto img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:55% 20%; }
.hero__h1{ margin:0; font-family:var(--serif); font-weight:300; font-size:clamp(35px, 10.6vw, 58px); line-height:1.02; letter-spacing:-.025em; }
.hero__texto{ margin-top:22px; }
.hero .btn{ margin:8px 0 5px 5px; color:var(--forest); }
.hero .btn::after{ background:var(--mist); }
.hero .acoes{ width:fit-content; max-width:100%; }

@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .hero__foto img{ transition:scale .5s var(--ease); }
  .hero__foto:hover img{ scale:1.05; }
}

@media (min-width:900px){
  .hero .hero__grid{ justify-content:center; padding-block:40px; }
  .hero__autor{ padding-bottom:12px; font-size:15px; }
  .hero__foto{ position:absolute; inset:0 0 0 46%; margin:0; }
  .hero__foto::after{ background:linear-gradient(to right, var(--forest), transparent 30%); }
  .hero__foto img{ object-position:60% 22%; }
  .hero__h1{ max-width:12ch; font-size:clamp(50px, 5.2vw, 76px); }
  .hero__texto{ margin-top:36px; }
}

/* Abertura de cada objeção e textos de apoio */
.objecao{ margin-bottom:12px; font-size:16px; font-weight:500; color:var(--sand-dark); }
.pilares .objecao,.investimento .objecao{ color:inherit; opacity:.8; }
.secao__intro{ max-width:62ch; margin-top:14px; }

/* 2. Objeção 1: faixa em areia com atalhos para as dúvidas que travam a decisão */
.volta{ --bloco:var(--forest); background:color-mix(in srgb, var(--sand) 62%, var(--mist)); }
.volta__grid{ display:grid; gap:36px; }
.volta__frase{ margin-bottom:28px; font-family:var(--serif); font-weight:300; font-size:clamp(32px, 4.6vw, 56px); line-height:1.04; letter-spacing:-.025em; color:var(--forest); text-wrap:balance; }
.volta__texto .objecao{ color:var(--forest); }
.volta__texto > p:not(.objecao){ max-width:54ch; margin-top:14px; }
.volta__painel{ padding:24px 22px 10px; border-radius:16px; background:var(--forest); color:var(--mist); }
.volta__painel h2{ padding-bottom:12px; font-family:var(--serif); font-weight:400; font-size:25px; line-height:1.15; }
.volta__painel a{ display:flex; justify-content:space-between; align-items:center; gap:14px; min-height:76px; padding-block:12px; border-top:1px solid var(--line-light); text-decoration:none; font-size:15px; line-height:1.35; color:color-mix(in srgb, var(--mist) 85%, transparent); }
.volta__painel strong{ display:block; font-size:18px; font-weight:600; color:var(--mist); }
.volta__painel svg{ flex:none; color:color-mix(in srgb, var(--sand) 45%, var(--mist)); transition:translate .3s var(--ease); }
@media (hover:hover){ .volta__painel a:hover svg{ translate:4px 0; } }

@media (min-width:900px){
  .volta__grid{ grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:clamp(40px, 6vw, 88px); align-items:center; }
  .volta__painel{ padding:28px 28px 12px; }
}

/* 3. Para quem é */
.perfil__grid{ display:grid; gap:40px; margin-top:32px; }
.perfil h3{ margin-bottom:14px; font-family:var(--serif); font-weight:400; font-size:25px; line-height:1.15; }
.perfil li{ position:relative; padding:14px 0 14px 32px; border-top:1px solid var(--line); }
.perfil li::before{ content:"✓"; position:absolute; left:2px; top:14px; font-weight:600; color:var(--moss); }
.perfil__nao{ padding:26px 22px; background:var(--sand-soft); }
.perfil__nao li::before{ content:"×"; color:var(--red); font-size:21px; line-height:1.2; }

@media (min-width:900px){
  .perfil__grid{ grid-template-columns:1.25fr 1fr; gap:clamp(40px, 6vw, 88px); align-items:start; }
}

/* Objeção 3 */
.agenda{ background:var(--sand-soft); }
.agenda__grid{ display:grid; gap:24px; }
.agenda__texto p{ padding-block:14px; border-top:1px solid var(--line); }
.agenda__texto p:last-child{ border-bottom:1px solid var(--line); }
@media (min-width:900px){
  .agenda__grid{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(40px, 6vw, 88px); align-items:center; }
}

/* 4. Pilares: cards com foto, degradê e a inicial do pilar */
.pilares{ background:var(--moss); color:var(--mist); }
.pilares__grid{ display:grid; gap:20px; margin-top:40px; }
.pilar{ overflow:hidden; border-radius:16px; background:var(--forest); }
.pilar__img{ position:relative; overflow:hidden; height:230px; background:var(--sand-soft); }
.pilar__img::after{ content:""; position:absolute; inset:auto 0 0; height:96px; background:linear-gradient(to top, var(--forest) 4%, color-mix(in srgb, var(--forest) 62%, transparent) 42%, transparent); pointer-events:none; }
.pilar__letra{ position:absolute; left:50%; top:calc(50% - 20px); transform:translate(-50%, -50%); font-family:var(--serif); font-weight:300; font-size:190px; line-height:1; color:var(--forest); }
.pilar__corpo{ display:flex; flex-direction:column; padding:8px 20px 22px; }
.pilar__texto{ order:-1; padding-bottom:18px; border-bottom:1px solid var(--line-light); font-weight:500; }
.pilar h3{ margin-top:16px; font-family:var(--serif); font-weight:400; font-size:25px; line-height:1.15; }
.pilar__lema{ font-size:15px; font-weight:500; color:color-mix(in srgb, var(--sand) 45%, var(--mist)); }
.pilar dl{ margin:14px 0 0; }
.pilar dt{ font-weight:600; }
.pilar dd{ margin:0 0 10px; color:color-mix(in srgb, var(--mist) 88%, transparent); }
.pilares__ancora{ max-width:32ch; margin-top:40px; font-family:var(--serif); font-size:clamp(24px, 3vw, 34px); line-height:1.2; }
@media (min-width:900px){
  .pilares__grid{ grid-template-columns:repeat(3, minmax(0,1fr)); gap:clamp(20px, 2.5vw, 32px); }
}

/* 5. O que você recebe: ficha com as quantidades em destaque */
.recebe__intro{ max-width:50ch; margin-top:16px; }
.recebe__grid{ display:grid; gap:40px; margin-top:40px; }
.ficha h3{ padding-bottom:12px; font-family:var(--serif); font-weight:400; font-size:25px; border-bottom:2px solid var(--forest); }
.ficha li{ display:grid; grid-template-columns:62px minmax(0,1fr); gap:12px; align-items:center; min-height:76px; padding-block:12px; border-bottom:1px solid var(--line); }
.ficha b{ font-family:var(--serif); font-weight:400; font-size:42px; line-height:1; font-variant-numeric:lining-nums; color:var(--moss); }
.entregas{ margin-top:48px; padding:26px 22px; background:var(--sand-soft); }
.entregas h3{ font-family:var(--serif); font-weight:400; font-size:25px; }
.entregas ol{ margin-top:14px; counter-reset:mes; }
.entregas li{ counter-increment:mes; display:flex; gap:12px; padding-block:10px; border-top:1px solid var(--line); }
.entregas li::before{ content:"Mês " counter(mes); flex:none; width:60px; font-weight:600; color:var(--sand-dark); }
.recebe__fecho{ margin-top:32px; font-family:var(--serif); font-size:clamp(22px, 2.4vw, 28px); line-height:1.2; }

@media (min-width:900px){
  .recebe__grid{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:clamp(40px, 6vw, 88px); }
}

/* 6. Dra. Nathália */
.dra{ padding-block:0; background:var(--sand-soft); }
.dra__grid{ display:grid; }
.dra__foto{ margin-inline:calc(var(--gutter) * -1); }
.dra__foto img{ width:100%; aspect-ratio:4 / 5; object-fit:cover; object-position:50% 20%; }
.dra__texto{ padding-block:40px var(--section); }
.dra__crm{ margin-top:8px; font-weight:600; color:var(--sand-dark); }
.dra__bio{ max-width:50ch; margin-top:18px; }
.dra__lista{ margin-top:20px; }
.dra__lista li{ padding-block:10px; border-top:1px solid var(--line); }

@media (min-width:900px){
  .dra__grid{ grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:clamp(48px, 7vw, 104px); align-items:center; }
  .dra__foto{ margin-inline:calc((100vw - min(100vw, 1240px)) / -2 - var(--gutter)) 0; }
  .dra__foto img{ height:100%; min-height:640px; aspect-ratio:auto; }
  .dra__texto{ padding-block:var(--section); }
}

/* Comentários de clientes: fila com deslize no celular, grade no desktop */
.comentarios__topo{ display:grid; gap:28px; margin-top:28px; }
.comentarios__nota{ display:grid; justify-items:center; gap:6px; padding:28px 22px 12px; border-radius:16px; background:var(--forest); color:var(--mist); text-align:center; }
.comentarios__estrelas{ display:flex; gap:4px; }
.comentarios__estrelas i{ width:28px; height:28px; background:linear-gradient(90deg, #E3B45A var(--p), color-mix(in srgb, var(--mist) 24%, transparent) var(--p)); -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26'/%3E%3C/svg%3E") center / contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpolygon points='12 2 15.09 8.26 22 9.27 17 14.14 18.18 21.02 12 17.77 5.82 21.02 7 14.14 2 9.27 8.91 8.26'/%3E%3C/svg%3E") center / contain no-repeat; }
.anima .comentarios__estrelas i{ transition:opacity .35s, scale .45s cubic-bezier(.34,1.32,.64,1); transition-delay:calc(.15s + var(--i) * .09s); }
.anima .comentarios__nota:not(.on) .comentarios__estrelas i{ opacity:0; scale:.5; }
.comentarios__nota .btn{ margin-block:14px 16px; color:var(--forest); }
.comentarios__nota .btn::after{ background:var(--mist); }
.comentarios__icone{ color:#E3B45A; }
.comentarios__chamada{ font-family:var(--serif); font-size:clamp(28px, 3vw, 36px); line-height:1.1; }
.comentarios__numero{ margin-top:8px; font-size:21px; font-variant-numeric:tabular-nums; }
.comentarios__numero b{ font-family:var(--serif); font-weight:400; font-size:58px; line-height:1; letter-spacing:-.02em; font-variant-numeric:lining-nums tabular-nums; }
.comentarios__temas li{ padding-block:15px; border-top:1px solid var(--line); font-family:var(--serif); font-size:clamp(21px, 2.3vw, 27px); line-height:1.2; }
.comentarios__temas li:last-child{ border-bottom:1px solid var(--line); }
.comentarios__lista{ display:grid; grid-auto-flow:column; grid-auto-columns:min(85%, 340px); gap:14px; margin-top:28px; margin-inline:calc(var(--gutter) * -1); padding-inline:var(--gutter); overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:var(--gutter); }
.comentarios__lista li{ display:flex; flex-direction:column; justify-content:space-between; gap:24px; padding:24px 22px; border-radius:16px; background:var(--paper); scroll-snap-align:start; }
.comentarios__lista blockquote{ margin:0; font-family:var(--serif); font-size:20px; line-height:1.35; }
.comentarios__lista p{ font-weight:600; }
.comentarios__lista span{ display:block; font-size:15px; font-weight:400; color:var(--moss); }

@media (min-width:900px){
  .comentarios__topo{ grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(40px, 6vw, 88px); align-items:center; }
  .comentarios__lista{ grid-auto-flow:row; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; margin-inline:0; padding-inline:0; overflow:visible; }
}

/* 7. Vídeo: capa leve, o player só carrega no clique */
.prova__video{ position:relative; aspect-ratio:16 / 9; margin-top:28px; background:var(--forest); }
.prova__play{ position:absolute; inset:0; display:grid; place-items:center; width:100%; border:0; background:var(--forest) center / cover no-repeat; color:var(--mist); font:600 17px var(--sans); cursor:pointer; }
.prova__play span{ padding:14px 22px; background:var(--forest); }
.prova__video iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; }

/* Objeção 6 */
.investimento{ background:var(--moss); color:var(--mist); }
.investimento__chamada{ max-width:34ch; margin-top:28px; font-family:var(--serif); font-size:clamp(22px, 2.6vw, 30px); line-height:1.22; }

/* 8. Revelação da oferta */
.oferta-final{ background:var(--forest); color:var(--mist); }
.oferta-final__grid{ display:grid; gap:36px; }
.oferta-final__lista{ margin-top:24px; }
.oferta-final__lista li{ padding-block:11px; border-top:1px solid var(--line-light); }
.oferta-final__apelo{ max-width:30ch; margin-top:24px; font-family:var(--serif); font-size:clamp(22px, 2.4vw, 28px); line-height:1.22; }
.oferta-final__porque{ margin-top:12px; color:color-mix(in srgb, var(--mist) 88%, transparent); }

@media (min-width:900px){
  .oferta-final__grid{ grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(48px, 7vw, 104px); align-items:center; }
}

/* 9. Garantia */
.garantia__caixa{ padding:28px 24px; border-radius:16px; background:var(--paper); }
.garantia p{ max-width:60ch; margin-top:14px; }

/* 10. FAQ: painel escuro, uma resposta aberta por vez (details com o mesmo name) */
.faq__grid{ display:grid; gap:28px; }
.faq__lista{ padding:6px 20px; border-radius:16px; background:var(--forest); color:var(--mist); }
.faq details + details{ border-top:1px solid var(--line-light); }
.faq summary{ display:flex; justify-content:space-between; align-items:center; gap:18px; min-height:62px; padding-block:14px; font-weight:600; line-height:1.3; cursor:pointer; list-style:none; transition:color .16s; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; flex:none; font-size:24px; font-weight:400; line-height:1; color:color-mix(in srgb, var(--sand) 45%, var(--mist)); transition:rotate .26s cubic-bezier(.34,1.32,.64,1); }
.faq details[open] summary::after{ rotate:45deg; }
.faq details p{ max-width:62ch; padding-bottom:20px; color:color-mix(in srgb, var(--mist) 85%, transparent); }
@media (hover:hover){ .faq summary:hover{ color:color-mix(in srgb, var(--sand) 45%, var(--mist)); } }

.faq__ajuda{ padding:24px 22px 16px; border-radius:16px; background:var(--sand-soft); }
.faq__ajuda h3{ font-family:var(--serif); font-weight:400; font-size:25px; line-height:1.15; }
.faq__ajuda p{ margin-top:8px; }
.faq__ajuda .acoes{ margin-top:14px; }

@media (min-width:900px){
  .faq__grid{ grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); grid-template-rows:auto 1fr; gap:28px clamp(40px, 6vw, 88px); align-items:start; }
  .faq__lista{ grid-column:2; grid-row:1 / 3; padding-inline:28px; }
  .faq__ajuda{ align-self:end; }
}

/* 11. Fechamento */
.fim{ background:var(--moss); color:var(--mist); }
.fim__grid{ display:grid; gap:36px; }
.fim__entregas{ max-width:52ch; margin-top:20px; color:color-mix(in srgb, var(--mist) 88%, transparent); }
.fim__rotulo{ font-weight:600; }
.fim__valor{ margin-top:4px; font-family:var(--serif); font-size:clamp(30px, 10vw, 60px); line-height:1.05; letter-spacing:-.02em; white-space:nowrap; }
.fim__condicao{ margin-top:6px; color:color-mix(in srgb, var(--mist) 88%, transparent); }
.fim .acoes{ margin-top:22px; }
.fim .btn{ color:var(--forest); }
.fim .btn::after{ background:var(--mist); }

@media (min-width:900px){
  .fim__grid{ grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:clamp(48px, 7vw, 104px); align-items:center; }
}

/* Rodapé */
.rodape{ padding-block:40px 32px; background:var(--forest); color:color-mix(in srgb, var(--mist) 85%, transparent); font-size:15px; }
.rodape__grid{ display:grid; gap:10px; }
.rodape a{ display:inline-block; padding-block:12px; }

/* Oferta: o preço antigo é riscado e o selo aparece depois que o cartão entra */
.anima .oferta s{ position:relative; text-decoration:none; }
.anima .oferta s::after{ content:""; position:absolute; left:0; right:0; top:54%; height:1.5px; background:currentColor; transform-origin:left; transition:scale .5s var(--ease) .55s; }
.anima .oferta:not(.on) s::after{ scale:0 1; }
.anima .oferta__selo{ transition:opacity .4s ease .85s, scale .5s var(--ease) .85s; }
.anima .oferta:not(.on) .oferta__selo{ opacity:0; scale:.8; }

/* FAQ: abertura suave nos navegadores que suportam; nos demais, abre direto */
@media (prefers-reduced-motion:no-preference){
  .faq{ interpolate-size:allow-keywords; }
  .faq details::details-content{ block-size:0; overflow:clip; transition:block-size .26s cubic-bezier(.16,1,.3,1), content-visibility .26s allow-discrete; }
  .faq details[open]::details-content{ block-size:auto; }
  .faq details[open] p{ animation:faq-sobe .32s cubic-bezier(.16,1,.3,1) 40ms backwards; }
  @keyframes faq-sobe{ from{ opacity:0; filter:blur(4px); transform:translateY(10px); } }
}

/* Botão de compra vermelho em todas as seções (vem por último para valer sobre .hero .btn e .fim .btn) */
.btn[data-cta="comprar"]{ color:#fff; }
.btn[data-cta="comprar"]::after{ background:var(--red); }
