/* ============================================================
   lp.css — específico da LP Luiza Ribeiro
   Topo: SLOTS de imagem (trocar 1 linha = trocar em toda a LP).
   Depois: estilos por seção (comentar com o nº da seção).
   Só tokens — nada de hex/px de marca hardcoded.
   ============================================================ */

/* fonte de assinatura (watermarks da bio) */
@font-face{font-family:'Photograph Signature';
  src:url(../fonts/photograph-signature.ttf) format('truetype');
  font-weight:400;font-style:normal;font-display:swap}

:root{
  /* ---- SLOTS de imagem (relativos ao lp.css = path-estável) ---- */
  --img-hero-desktop:   url(../images/bg/hero-desktop.jpg);   /* composite Luiza + explosão aurora */
  --img-hero-mobile:    url(../images/bg/hero-mobile.jpg);     /* hero mobile (Luiza recortada no navy) */
  --img-vsl-bg:         url(../images/bg/vsl-bg.jpg);          /* fundo navy neurônios (seção VSL) */
  --img-historias-bg:   url(../images/bg/historias-bg.jpg);    /* fundo navy neurônios (depoimentos) */
  --img-luiza-bio:      url(../images/bg/luiza-bio.png);       /* foto bio SEM fundo (transparente) */
  --img-card-sobrevivencia: url(../images/cards/card-sobrevivencia.png);
  --img-card-sacrificio:    url(../images/cards/card-sacrificio.png);
  --img-card-controle:      url(../images/cards/card-controle.png);
  --img-card-expansao:      url(../images/cards/card-expansao.png);
  --img-prod-mir:           url(../images/produtos/mir.jpg);
  --img-prod-programa:      url(../images/produtos/programa-regenera.jpg);
  --img-prod-mentoria:      url(../images/produtos/mentoria-individual.jpg);
  --img-prod-sessao:        url(../images/produtos/sessao-terapeutica.jpg);
  --img-prod-pack:          url(../images/produtos/pack-reprogramacao.jpg);
  --img-prod-livro:         url(../images/produtos/livro.jpg);
  --img-logo-branco:        url(../images/logo/logo-branco.svg);
  --img-logo-colorido:      url(../images/logo/logo-colorido.svg);
  --img-logo-preto:         url(../images/logo/logo-preto.svg);
}

/* ============================================================
   ÍNDICE  #00 nav · #01 hero · #signature-btn · #drawer
   (demais seções entram abaixo, na ordem do LEIA.md)
   Notch orgânico: SVG inline (path no guia §Notch) — NUNCA border-radius.
   ============================================================ */

/* ============================================================
   BOTÃO-ASSINATURA (pill dourado + círculo navy c/ seta 45°)
   estende o .lp-btn universal do base.css (bg grad-gold + texto navy)
   ============================================================ */
.lp-btn{position:relative;overflow:hidden;isolation:isolate;
  gap:14px;padding:16px 18px 16px 30px;font-size:var(--text-body-sm);
  letter-spacing:var(--ls-button);font-weight:var(--fw-semibold);box-shadow:var(--glow-cta)}
.lp-btn:hover{box-shadow:var(--glow-cta-hover)}
/* sheen diagonal no hover (DS §3) */
.lp-btn::before{content:"";position:absolute;top:0;bottom:0;left:-70%;width:45%;z-index:-1;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.5),transparent);
  transform:skewX(-18deg);transition:left .6s var(--ease-out);pointer-events:none}
.lp-btn:hover::before{left:140%}
.lp-btn__ico{display:inline-grid;place-items:center;width:38px;height:38px;flex:0 0 auto;
  border-radius:var(--radius-button);background:var(--navy-900);color:var(--gold-light);
  font-size:16px;line-height:1;transition:transform var(--dur-default) var(--ease-out),
    background var(--dur-default)}
.lp-btn:hover .lp-btn__ico{transform:rotate(45deg)}
.lp-btn--sm{padding:12px 14px 12px 22px;font-size:var(--text-caption)}
.lp-btn--sm .lp-btn__ico{width:32px;height:32px;font-size:14px}
/* CTA em bloco escuro: círculo dourado c/ seta navy (inverso) */
.lp-dark .lp-btn__ico{background:var(--navy-950);color:var(--gold-light)}
/* MOBILE: botões compactos (não gigantes) — menos padding, fonte e seta menores */
@media (max-width:600px){
  .lp-btn{padding:13px 20px;font-size:13px;gap:8px;line-height:1.15}
  .lp-btn__ico{width:30px;height:30px;font-size:14px}
}

/* ============================================================
   #00 NAVBAR  (transparente → navy/85 blur no scroll · scrollspy · progress)
   ============================================================ */
.lp-nav{position:fixed;inset:0 0 auto 0;z-index:var(--z-nav);
  border-bottom:1px solid transparent;
  transition:background var(--dur-default) var(--ease-out),
    backdrop-filter var(--dur-default) var(--ease-out),border-color var(--dur-default)}
.lp-nav[data-scrolled]{background:rgba(2,26,72,.85);backdrop-filter:blur(12px);
  border-bottom-color:rgba(255,255,255,.08)}
.lp-nav__inner{display:flex;align-items:center;gap:clamp(16px,2vw,28px);
  max-width:1345px;margin-inline:auto;padding:18px 24px}
.lp-nav__logo{flex:0 0 auto;display:block;line-height:0}
.lp-nav__logo img{width:46px;height:auto}
.lp-nav__rule{flex:1 1 auto;height:1px;min-width:20px;
  background:linear-gradient(90deg,rgba(212,185,90,.55),rgba(212,185,90,0))}
.lp-nav__links{display:flex;align-items:center;gap:clamp(20px,2.2vw,36px)}
.lp-nav__link{position:relative;font-size:var(--text-body-sm);font-weight:var(--fw-medium);
  color:var(--fg-on-dark);padding:6px 1px;white-space:nowrap;transition:color var(--dur-fast)}
.lp-nav__link::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;
  background:var(--grad-gold);transform:scaleX(0);transform-origin:left;
  transition:transform var(--dur-default) var(--ease-out)}
.lp-nav__link:hover,.lp-nav__link[aria-current="true"]{color:var(--gold-light)}
.lp-nav__link:hover::after,.lp-nav__link[aria-current="true"]::after{transform:scaleX(1)}
.lp-nav__cta{flex:0 0 auto}
.lp-nav__burger{display:none;flex:0 0 auto;width:44px;height:44px;
  align-items:center;justify-content:center}
.lp-nav__burger span{position:relative;width:22px;height:2px;background:var(--fg-on-dark);
  border-radius:2px;transition:background var(--dur-fast)}
.lp-nav__burger span::before,.lp-nav__burger span::after{content:"";position:absolute;left:0;
  width:22px;height:2px;background:var(--fg-on-dark);border-radius:2px;
  transition:transform var(--dur-default) var(--ease-out)}
.lp-nav__burger span::before{top:-7px}.lp-nav__burger span::after{top:7px}
.lp-progress{position:absolute;left:0;bottom:-1px;height:2px;width:100%;transform:scaleX(0);
  transform-origin:left;background:var(--grad-gold);z-index:1}
/* nav mobile/tablet-v (≤900): esconde links+CTA inline, mostra hambúrguer */
@media (max-width:900px){
  .lp-nav__links,.lp-nav__cta,.lp-nav__rule{display:none}
  .lp-nav__burger{display:flex}
  .lp-nav__inner{justify-content:space-between;padding:14px 20px}
}

/* ---- drawer mobile (FORA do header — bug 7.7) ---- */
.lp-drawer{position:fixed;inset:0;z-index:var(--z-modal);
  background:rgba(1,10,30,.55);opacity:0;pointer-events:none;
  transition:opacity var(--dur-default) var(--ease-out)}
.lp-drawer[data-open]{opacity:1;pointer-events:auto}
.lp-drawer__panel{position:absolute;inset:0 0 0 auto;width:min(84vw,360px);
  background:var(--navy-900);padding:88px 28px 32px;
  display:flex;flex-direction:column;gap:6px;
  transform:translateX(100%);transition:transform var(--dur-slow) var(--ease-out);
  box-shadow:var(--shadow-modal)}
.lp-drawer[data-open] .lp-drawer__panel{transform:translateX(0)}
.lp-drawer__link{font-family:var(--font-serif);font-size:var(--text-h3);color:var(--fg-on-dark);
  padding:14px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.lp-drawer__link:hover{color:var(--gold-light)}
.lp-drawer__cta{margin-top:22px;align-self:flex-start}
.lp-drawer__close{position:absolute;top:22px;right:22px;width:44px;height:44px;
  display:grid;place-items:center;color:var(--fg-on-dark);font-size:26px;line-height:1}

/* ============================================================
   #01 HERO  (composite full-bleed · copy à esquerda · vinheta · partículas)
   Fonte visual: hero-desktop.jpg (Luiza à direita) + hero-copy à esquerda (Figma 19:23)
   ============================================================ */
.lp-hero{position:relative;min-height:100svh;overflow:hidden;isolation:isolate;
  display:flex;align-items:center;
  background:var(--navy-950) var(--img-hero-desktop) center right/cover no-repeat}
/* sem vignette (pedido do João) */
.lp-hero__particles{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.lp-hero__particles i{position:absolute;border-radius:50%;
  background:radial-gradient(circle,var(--gold-highlight),rgba(212,185,90,0) 70%);
  opacity:.55;will-change:transform,opacity;animation:lp-float var(--d,7s) ease-in-out var(--dl,0s) infinite}
@keyframes lp-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
.lp-hero__copy{position:relative;z-index:3;
  width:100%;max-width:1345px;margin-inline:auto;padding:96px 24px 120px}
.lp-hero__copyInner{max-width:42rem}
.lp-hero__eyebrow{display:inline-block;font-size:var(--text-caption);font-weight:var(--fw-semibold);
  letter-spacing:var(--ls-overline);text-transform:uppercase;color:var(--gold-light);
  margin-bottom:var(--sp-24)}
.lp-hero__title{font-family:var(--font-serif);font-weight:600;font-size:var(--text-hero);
  line-height:1.06;letter-spacing:var(--ls-display);color:var(--fg-on-dark);text-wrap:balance}
/* ênfase dos títulos (itálico + dourado clipado) — igual ao design.
   Seções claras: gradiente mais fundo p/ contraste; seções escuras (.lp-dark): mais claro. */
.lp :is(h1,h2) em{font-style:italic;font-weight:inherit;
  background-image:var(--grad-gold-text);   /* champagne, igual ao Hero — em TODAS as seções */
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
/* "by Luiza Ribeiro" dos produtos: "by" serifa itálica escura + "Luiza Ribeiro" serifa itálica dourada (champagne, via .lp em) */
.lp-produtos__by{font-family:var(--font-serif);font-style:italic;font-weight:500;
  color:var(--fg-default);-webkit-text-fill-color:var(--fg-default)}
/* quebras forçadas de título só no desktop (no mobile, deixa o text-wrap:balance distribuir) */
@media (max-width:600px){ .lp-brk{display:none} }
.lp-hero__sub{margin-top:var(--sp-24);max-width:33rem;
  font-size:var(--text-body-lg);line-height:var(--lh-body);color:var(--fg-on-dark-muted)}
.lp-hero__cta{margin-top:var(--sp-32)}

/* ---- HERO mobile/tablet-v: HERO-MOBILE.png (Luiza recortada no navy) + texto CENTRALIZADO ---- */
@media (max-width:834px){
  .lp-hero{align-items:flex-end;text-align:center;
    background-image:var(--img-hero-mobile);background-position:center top;background-size:cover}
  .lp-hero__copy{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;
    min-height:100svh;padding:0 22px clamp(48px,9vw,72px);text-align:center}
  .lp-hero__copyInner{max-width:none;display:flex;flex-direction:column;align-items:center}
  .lp-hero__eyebrow{margin-bottom:var(--sp-16)}
  .lp-hero__sub{max-width:36rem}
}
@media (max-width:430px){
  .lp-hero__eyebrow{font-size:11px;margin-bottom:var(--sp-12)}
  .lp-hero__sub{font-size:var(--text-body-md);margin-top:var(--sp-16)}
  .lp-hero__cta{margin-top:var(--sp-24)}
  .lp-hero__cta .lp-btn{width:100%}
}

/* ============================================================
   #01b MARQUEE em X (costura · node 44:492)
   2 bandas COM FUNDO (navy + dourado) cruzando ±4° no MEIO da costura —
   os fundos sólidos MASCARAM a passada de uma seção pra outra. Recipe do design.
   Container height:0 no fluxo → as bandas sangram sobre as duas seções.
   ============================================================ */
.lp-ribbons{position:relative;z-index:var(--z-ribbons);height:0;overflow:visible;
  pointer-events:none;isolation:isolate}
/* variante ancorada no TOPO da seção (costura produtos→histórias, dentro da seção que sobe) */
.lp-ribbons--seam{position:absolute;top:0;left:0;right:0;width:100%}
.lp-ribbon{position:absolute;left:50%;top:0;width:150%;overflow:hidden;
  height:clamp(40px,3.6vw,54px);display:flex;align-items:center;
  transform:translate(-50%,-50%) rotate(var(--rot))}
.lp-ribbon--navy{--rot:-1deg;z-index:1;
  background-image:linear-gradient(90deg,var(--navy-800),var(--navy-700));
  box-shadow:0 12px 34px rgba(1,10,30,.4);filter:blur(3px)}
.lp-ribbon--gold{--rot:3deg;z-index:2;background-image:var(--grad-gold);
  box-shadow:0 12px 34px rgba(1,10,30,.32)}
.lp-ribbon__track{display:inline-flex;white-space:nowrap;will-change:transform;
  animation:lp-marquee var(--spd,32s) linear infinite}
.lp-ribbon--gold .lp-ribbon__track{animation-direction:reverse;--spd:38s}
.lp-ribbon__item{display:inline-flex;align-items:center;
  font-family:var(--font-sans);font-weight:500;
  font-size:clamp(11px,1vw,14px);letter-spacing:.16em;text-transform:uppercase}
.lp-ribbon--navy .lp-ribbon__item{color:var(--gold-light)}
.lp-ribbon--gold .lp-ribbon__item{color:var(--navy-900)}
.lp-ribbon__star{margin:0 .7em}
.lp-ribbon--navy .lp-ribbon__star{color:var(--gold-core)}
.lp-ribbon--gold .lp-ribbon__star{color:var(--navy-800)}
@keyframes lp-marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (max-width:768px){
  .lp-ribbon{height:clamp(34px,9vw,44px);width:168%}
  .lp-ribbon__item{font-size:clamp(10px,2.6vw,12px);letter-spacing:.1em}
}

/* ============================================================
   COMPONENTES REUSÁVEIS — marcador de seção {NN}·LABEL  ·  véu .dim (stacking)
   ============================================================ */
/* marcador: número EM CIMA, label embaixo (empilhado, como no Figma) */
.lp-snum{display:inline-flex;flex-direction:column;align-items:flex-start;gap:4px;
  font-family:var(--font-sans);font-weight:var(--fw-semibold);
  font-size:var(--text-caption);letter-spacing:var(--ls-overline);text-transform:uppercase}
.lp-snum__n{font-family:var(--font-serif);font-style:italic;font-weight:600;
  font-size:var(--text-body-lg);letter-spacing:0;text-transform:none;
  background:var(--grad-gold-text);-webkit-background-clip:text;background-clip:text;color:transparent}
.lp-snum__label{color:var(--fg-gold-on-light)}
.lp-dark .lp-snum__label{color:var(--gold-light)}
.lp-snum--center{align-items:center}
/* MOBILE: a "tag" acima do título (número + label) encolhe pra caber no layout */
@media (max-width:600px){
  .lp-snum{gap:2px}
  .lp-snum__n{font-size:var(--text-body-md)}
  .lp-snum__label{font-size:10px;letter-spacing:.12em}
}

/* véu do stacking seletivo — GSAP anima opacity 0→1 (lp-anim.js ATO2) */
.dim{position:absolute;inset:0;z-index:var(--z-dim);pointer-events:none;
  opacity:0;background:var(--navy-950)}

/* ---- NOTCH (costura entre seções · seamless, shape do design) ----
   Aba central + cantos arredondados; fill = COR da seção que ancora (sem separação,
   sem sombra de contorno). A profundidade da subida vem do box-shadow suave NA seção.
   SVG inline preserveAspectRatio=none (escala em qualquer largura). Cada seção define --notch-fill. */
.lp-notch{position:absolute;left:0;top:0;width:100%;z-index:var(--z-notch);
  height:clamp(46px,5vw,72px);transform:translateY(-50%);
  color:var(--notch-fill,var(--bg-canvas));pointer-events:none;line-height:0}
.lp-notch__svg{display:block;width:100%;height:100%}
.lp-notch__svg path{fill:currentColor}
/* setinha (chevron) na aba do notch */
.lp-notch__chev{position:absolute;left:50%;top:16%;transform:translateX(-50%);
  width:clamp(15px,1.3vw,22px);height:auto;z-index:1}
.lp-notch__chev path{fill:none;stroke:var(--gold-deep);stroke-width:2.4;
  stroke-linecap:round;stroke-linejoin:round}
/* SEM sombra/separação entre o notch e o começo da seção (pedido do João):
   o notch é a MESMA cor da seção e forma "uma coisa só" com ela. */
/* variante do notch preenchida com IMAGEM (histórias): a aba mostra o fundo de estrelas,
   continuando a imagem da seção — NÃO cor sólida (pedido do João). */
.lp-notch--img .lp-notch__fill{position:absolute;inset:0;
  background:var(--navy-950) var(--img-historias-bg) center/cover no-repeat;
  -webkit-mask:var(--notch-mask) center/100% 100% no-repeat;
          mask:var(--notch-mask) center/100% 100% no-repeat}
:root{
  --notch-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 72' preserveAspectRatio='none'%3E%3Cpath d='M0,72 L0,60 Q0,36 26,36 L520,36 C580,36 600,4 720,4 C840,4 860,36 920,36 L1414,36 Q1440,36 1440,60 L1440,72 Z' fill='%23fff'/%3E%3C/svg%3E");
}

/* ============================================================
   #02 VSL (node 19:42) — navy contínuo · bg sangra · player 16:9 · centrado
   ============================================================ */
.lp-vsl{position:relative;overflow:hidden;
  /* mais alta verticalmente + folga embaixo p/ o notch da Bio não encostar no CTA (pedido do João) */
  padding:clamp(96px,10vw,150px) 24px clamp(120px,13vw,190px);
  background:var(--navy-950) var(--img-vsl-bg) center/cover no-repeat;
  text-align:center;isolation:isolate}
.lp-vsl__inner{position:relative;z-index:3;max-width:1120px;margin-inline:auto;
  display:flex;flex-direction:column;align-items:center}
/* título em UMA linha no desktop (Figma) — fonte um pouco menor p/ caber sem quebrar */
.lp-vsl__title{margin-top:var(--sp-16);font-family:var(--font-serif);font-weight:600;
  font-size:clamp(2rem,3.2vw,3.4rem);line-height:var(--lh-heading);color:var(--fg-on-dark);
  max-width:none;text-wrap:balance}
@media (min-width:900px){ .lp-vsl__title{white-space:nowrap} }
.lp-vsl__sub{margin-top:var(--sp-16);max-width:58ch;
  font-size:var(--text-body-lg);line-height:var(--lh-body);color:var(--fg-on-dark-muted)}
/* player: retângulo PRETO (Figma) com brilho dourado suave */
.lp-vsl__frame{position:relative;width:100%;margin-top:var(--sp-48);aspect-ratio:16/9;
  border-radius:var(--radius-card);overflow:hidden;
  background:#05070d;border:1px solid rgba(212,185,90,.28);
  display:grid;place-items:center;box-shadow:var(--glow-media)}
.lp-vsl__frameInner{display:flex;flex-direction:column;align-items:center;gap:18px;
  color:var(--fg-on-dark-muted)}
.lp-vsl__mark{width:80px;height:auto;opacity:.5;
  animation:lp-pulse 3s var(--ease-inout) infinite}
.lp-vsl__placeholder{font-size:var(--text-caption);letter-spacing:var(--ls-overline);
  text-transform:uppercase;color:var(--gold-light);opacity:.6}
.lp-vsl__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;background:#05070d}
.lp-vsl__cta{margin-top:var(--sp-48)}
@keyframes lp-pulse{0%,100%{transform:scale(1);opacity:.92}50%{transform:scale(1.06);opacity:1}}
@media (max-width:768px){
  .lp-vsl__cta .lp-btn{width:100%}
  .lp-vsl__title{font-size:var(--text-h2)}
}

/* ============================================================
   #03 BIO (camada 1 — SOBE · node 20:21) — #sobre
   watermarks "Luiza/Ribeiro" atrás · copy à esq · foto sangrando à dir · selo girando
   ============================================================ */
.lp-bio{position:relative;overflow:hidden;isolation:isolate;
  background:var(--bg-canvas);--notch-fill:var(--bg-canvas);
  padding:clamp(120px,12vw,190px) 0 0}   /* mais alta (pedido do João); sem padding embaixo: foto grud. na base */
/* watermarks tipográficos gigantes (parallax via GSAP yPercent) */
/* watermark assinatura "Luiza/Ribeiro" — fonte Photograph Signature, alinhado à margem debaixo (img5) */
.lp-bio__wm{position:absolute;z-index:var(--z-deco);pointer-events:none;bottom:0;
  font-family:var(--font-script);font-weight:400;line-height:.78;
  font-size:clamp(150px,26vw,400px);color:rgba(2,26,72,.07);
  letter-spacing:0;user-select:none;white-space:nowrap}
.lp-bio__wm--l{left:-1%}
.lp-bio__wm--r{right:-1%}
.lp-bio__grid{position:relative;z-index:3;
  display:grid;grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);
  gap:clamp(24px,4vw,72px);align-items:stretch}
.lp-bio__copy{max-width:600px;align-self:center;padding-bottom:clamp(56px,7vw,100px)}
.lp-bio__title{margin:var(--sp-16) 0 var(--sp-24);
  font-family:var(--font-serif);font-weight:600;font-size:var(--text-h1);
  line-height:var(--lh-heading);color:var(--fg-default)}
.lp-bio__p{margin-bottom:var(--sp-16);font-size:var(--text-body-md);
  line-height:var(--lh-body);color:var(--cream-600)}
.lp-bio__p:last-child{margin-bottom:0}
.lp-bio__p strong,.lp-bio__p em{color:var(--fg-default);font-weight:600;font-style:normal}
/* coluna da mídia: foto SEM fundo (png transparente), grudada à margem DEBAIXO (sem corte no meio) */
.lp-bio__media{position:relative;min-height:clamp(520px,54vw,720px)}
/* a foto PNG já traz o cérebro dourado + moldura + brilho embutidos — sem glow CSS extra */
.lp-bio__glow{display:none}
.lp-bio__photo{position:absolute;z-index:2;left:50%;bottom:0;transform:translateX(-50%);
  width:auto;height:auto;max-width:min(116%,640px);max-height:calc(100% + 44px)}
/* SELO: disco de VIDRO (blur da foto debaixo) + anel de texto girando + cérebro fluent centrado.
   Fica no canto INFERIOR-DIREITO da foto (Figma), não centralizado. */
.lp-bio__selo{position:absolute;z-index:3;left:auto;right:3%;bottom:11%;transform:none;
  width:clamp(112px,11.5vw,148px);aspect-ratio:1;color:var(--gold-deep);
  display:grid;place-items:center;filter:drop-shadow(0 10px 22px rgba(2,26,72,.16))}
.lp-selo__glass{position:absolute;inset:0;border-radius:50%;
  -webkit-backdrop-filter:blur(6px) saturate(1.05);backdrop-filter:blur(6px) saturate(1.05);
  background:rgba(252,251,247,.22);border:1px solid rgba(212,185,90,.42)}
.lp-selo__ringsvg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
/* SÓ o texto gira — círculos e cérebro ficam estáticos. Origem = centro do disco (80,80 no viewBox). */
.lp-selo__ringsvg .lp-selo__ring{transform-box:view-box;transform-origin:80px 80px;
  animation:lp-spin 26s linear infinite}
.lp-selo__ringsvg text{font-family:var(--font-sans);font-weight:600;fill:currentColor}
.lp-selo__brain{position:relative;z-index:1;width:36%;height:36%}
@keyframes lp-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
/* tablet: watermarks perdem força; mobile: somem + foto vira fluxo (foto antes do texto) */
@media (max-width:1024px){ .lp-bio__wm{opacity:.6} }
@media (max-width:768px){
  /* mobile (sem pin): precisa de FOLGA embaixo p/ a seção seguinte (aprisiona+notch) não
     encostar no conteúdo da bio (pedido do João) */
  .lp-bio{padding-bottom:clamp(52px,11vw,84px)}
  .lp-bio__wm{display:none}
  .lp-bio__grid{grid-template-columns:1fr;gap:var(--sp-24)}
  .lp-bio__copy{padding-bottom:0}
  .lp-bio__media{order:-1;min-height:0;height:auto}
  .lp-bio__photo{position:relative;left:auto;bottom:auto;transform:none;
    width:min(92%,440px);max-width:none;max-height:none;height:auto;margin:0 auto;display:block}
  .lp-bio__glow{bottom:12%}
  .lp-bio__selo{left:auto;right:8%;bottom:6%;transform:none}
}

/* ============================================================
   #04 APRISIONA (camada 2 — SOBE · node 20:86) — #metodo
   header centrado · 4 cards flip 3D (frente=arte, verso=descrição) · hint · CTA
   ============================================================ */
.lp-aprisiona{position:relative;overflow:visible;isolation:isolate;text-align:center;
  background:var(--bg-section-alt);--notch-fill:var(--bg-section-alt);
  padding-block:clamp(88px,9vw,132px)}
.lp-aprisiona__head{max-width:1024px;margin:0 auto clamp(40px,5vw,60px);
  display:flex;flex-direction:column;align-items:center}
.lp-aprisiona__title{margin-top:var(--sp-16);max-width:22ch;
  font-family:var(--font-serif);font-weight:600;font-size:var(--text-h1);
  line-height:var(--lh-heading);color:var(--fg-default)}
.lp-idcards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(16px,1.8vw,30px);max-width:1440px;margin-inline:auto}
.lp-idcard{aspect-ratio:337/457;perspective:1600px;
  background:transparent;border:0;padding:0;text-align:left}
.lp-idcard__inner{display:block;position:relative;width:100%;height:100%;transform-style:preserve-3d;
  transition:transform var(--dur-reveal) var(--ease-out);cursor:pointer;border-radius:var(--radius-card)}
.lp-idcard:hover .lp-idcard__inner,
.lp-idcard:focus-visible .lp-idcard__inner,
.lp-idcard.is-flipped .lp-idcard__inner{transform:rotateY(180deg)}
.lp-idcard__face{position:absolute;inset:0;border-radius:var(--radius-card);overflow:hidden;
  -webkit-backface-visibility:hidden;backface-visibility:hidden}
.lp-idcard__face--front{background:var(--navy-900);box-shadow:var(--shadow-card)}
.lp-idcard__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04)}
.lp-idcard__scrim{position:absolute;inset:0;
  background:linear-gradient(180deg,transparent 34%,rgba(1,10,30,.28) 60%,rgba(1,10,30,.88) 100%)}
.lp-idcard__label{position:absolute;left:0;right:0;bottom:0;padding:22px 20px;
  display:flex;flex-direction:column;gap:6px}
.lp-idcard__eyebrow{font-size:var(--text-caption);font-weight:var(--fw-semibold);
  letter-spacing:var(--ls-overline);text-transform:uppercase;color:var(--gold-light)}
.lp-idcard__name{font-family:var(--font-serif);font-weight:600;font-size:var(--text-h3);
  line-height:1.1;color:var(--fg-on-dark)}
.lp-idcard--free .lp-idcard__eyebrow{color:var(--gold-highlight)}
.lp-idcard__face--back{transform:rotateY(180deg);background:var(--bg-surface);
  border:1px solid var(--border-default);padding:26px 24px;
  display:flex;flex-direction:column;justify-content:center;gap:14px}
.lp-idcard--free .lp-idcard__face--back{background:var(--navy-900);border-color:var(--border-on-dark-gold)}
.lp-idcard__backName{font-family:var(--font-serif);font-weight:600;font-size:var(--text-h4);
  color:var(--gold-deep)}
.lp-idcard--free .lp-idcard__backName{color:var(--gold-light)}
.lp-idcard__backText{font-size:var(--text-body-sm);line-height:var(--lh-body);color:var(--cream-600)}
.lp-idcard--free .lp-idcard__backText{color:var(--fg-on-dark-muted)}
.lp-idcard__backHint{margin-top:auto;font-size:var(--text-caption);
  letter-spacing:var(--ls-overline);text-transform:uppercase;color:var(--cream-500)}
/* hint animado (padrão João: ícone + label) */
.lp-aprisiona__hint{display:inline-flex;align-items:center;gap:10px;
  margin-top:clamp(28px,3vw,42px);font-size:var(--text-caption);
  letter-spacing:.06em;text-transform:uppercase;color:var(--cream-600)}
.lp-aprisiona__hint svg{width:20px;height:20px;color:var(--gold-deep);
  animation:lp-tap 1.8s var(--ease-inout) infinite}
@keyframes lp-tap{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.lp-aprisiona__cta{margin-top:clamp(24px,2.6vw,34px)}
@media (max-width:1024px){ .lp-idcards{grid-template-columns:repeat(2,minmax(0,1fr));max-width:680px} }
@media (max-width:768px){
  .lp-idcards{gap:14px}
  .lp-idcard__inner{cursor:default}
  .lp-aprisiona__cta .lp-btn{width:100%}
}
@media (max-width:430px){ .lp-idcards{grid-template-columns:1fr;max-width:320px} }

/* ---- MOCKUP multi-device (node 43:480) — camada LIMPA que sangra Aprisiona→Produtos ----
   O "stage" carrega o mockup + 2 elipses de luz (blend SCREEN). As elipses são % do stage,
   então mantêm a MESMA posição relativa ao mockup em qualquer largura (pedido do João). */
.lp-mockup{position:relative;z-index:var(--z-layer);height:0;margin:0 auto;
  max-width:1440px;pointer-events:none}
.lp-mockup__stage{position:absolute;left:63%;top:clamp(-110px,-6vw,-80px);
  transform:translateX(-50%);width:min(700px,50vw);will-change:transform}
.lp-mockup__img{position:relative;z-index:1;display:block;width:100%;height:auto;max-width:none}
/* elipses douradas BORRADAS (nodes 43:488/489) — luz do mockup.
   Blur simulado por gradiente multi-stop (sem filter:blur, que junto do parallax pesa no compositor). */
.lp-mockup__glow{position:absolute;z-index:2;border-radius:86%;pointer-events:none;
  mix-blend-mode:screen;
  background:radial-gradient(closest-side,
    rgb(255 249 226 / 70%) 0%, rgb(255 247 216 / 42%) 34%, rgb(255 247 214 / 16%) 58%, rgb(255 248 221 / 0%) 80%)}
.lp-mockup__glow--1{left:35%;top:44%;width:64%;height:56%;transform:translate(-50%,-50%)}
.lp-mockup__glow--2{left:84%;top:72%;width:62%;height:110%;transform:translate(-50%,-50%)}
@media (max-width:834px){
  .lp-mockup{position:static;height:auto;text-align:center;padding:clamp(28px,6vw,48px) 16px 0}
  /* mobile: mockup MAIOR (pedido do João — só no mobile) */
  .lp-mockup__stage{position:relative;left:auto;top:auto;transform:none;
    width:min(100%,560px);margin:0 auto}
}

/* ============================================================
   #05 PRODUTOS (node 28:89) — scroll LIVRE (sem pin) · 6 cards → modal
   ============================================================ */
.lp-produtos{position:relative;overflow:visible;background:var(--bg-canvas);
  padding-top:clamp(120px,11vw,175px);   /* espaço p/ o MOCKUP (center-right) que sangra do topo */
  padding-bottom:clamp(110px,13vw,200px)}  /* espaço p/ o notch das histórias que sobe */
/* header à ESQUERDA (Figma) — o mockup fica na direita/acima, sangrando */
.lp-produtos__head{text-align:left;max-width:640px;margin:0 0 clamp(40px,5vw,60px);
  display:flex;flex-direction:column;align-items:flex-start}
.lp-produtos__title{margin-top:var(--sp-16);font-family:var(--font-serif);font-weight:600;
  font-size:var(--text-h1);line-height:1.06;color:var(--fg-default)}
/* linha 2: "by Luiza Ribeiro" — "by" serifa itálica escura, "Luiza Ribeiro" serifa itálica dourada, espaçada */
.lp-produtos__title .lp-produtos__by{font-size:.82em;margin-right:.12em}
.lp-produtos__title .lp-produtos__sig{font-size:.9em;letter-spacing:.06em}
@media (max-width:834px){
  /* mockup vira estático (ocupa espaço próprio) → produtos volta a padding normal, header centralizado */
  .lp-produtos{padding-top:clamp(40px,8vw,72px)}
  .lp-produtos__head{text-align:center;max-width:none;align-items:center;margin-inline:auto}
}
.lp-prods{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,2vw,28px);max-width:1188px;margin-inline:auto}
.lp-prod{position:relative;display:flex;flex-direction:column;text-align:left;
  background:var(--bg-surface);border:1px solid var(--border-default);
  border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-card);color:inherit;
  transition:transform var(--dur-default) var(--ease-out),box-shadow var(--dur-default) var(--ease-out)}
.lp-prod:hover,.lp-prod:focus-visible{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}
/* card "Em breve" (livro): visivel mas NAO clicavel (reuniao 17/07) */
.lp-prod--soon{cursor:default;pointer-events:none}
.lp-prod--soon:hover{transform:none;box-shadow:var(--shadow-card)}
.lp-prod--soon .lp-prod__more{color:var(--cream-500)}
.lp-prod__accent{position:absolute;top:0;left:0;right:0;height:3px;z-index:2;
  background:var(--grad-gold);transform:scaleX(0);transform-origin:left;
  transition:transform var(--dur-slow) var(--ease-out)}
.lp-prod:hover .lp-prod__accent,.lp-prod:focus-visible .lp-prod__accent{transform:scaleX(1)}
.lp-prod__media{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--navy-900)}
.lp-prod__media img{width:100%;height:100%;object-fit:cover;
  transition:transform var(--dur-slow) var(--ease-out)}
.lp-prod:hover .lp-prod__media img{transform:scale(1.04)}
.lp-prod__body{display:flex;flex-direction:column;gap:8px;padding:clamp(20px,2vw,28px);flex:1}
.lp-prod__eyebrow{font-size:var(--text-caption);font-weight:var(--fw-semibold);
  letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep)}
.lp-prod__name{font-family:var(--font-serif);font-weight:600;font-size:var(--text-h3);
  line-height:1.15;color:var(--fg-default)}
.lp-prod__essence{font-size:var(--text-body-sm);line-height:var(--lh-body);color:var(--cream-600);flex:1}
.lp-prod__more{display:inline-flex;align-items:center;gap:8px;margin-top:6px;
  font-weight:var(--fw-semibold);font-size:var(--text-body-sm);color:var(--gold-deep)}
.lp-prod__more svg{width:16px;height:16px;transition:transform var(--dur-default) var(--ease-out)}
.lp-prod:hover .lp-prod__more svg{transform:translateX(4px)}
.lp-prod__badge{position:absolute;top:12px;right:12px;z-index:3;
  padding:6px 12px;border-radius:var(--radius-button);
  font-size:var(--text-caption);font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase}
.lp-prod__badge--top{background:var(--grad-gold);color:var(--navy-900);
  box-shadow:var(--glow-cta);animation:lp-badge 3s var(--ease-inout) infinite}
.lp-prod__badge--soon{background:var(--cream-300);color:var(--cream-700)}
@keyframes lp-badge{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
.lp-produtos__hint{text-align:center;margin-top:clamp(28px,3vw,40px);
  font-size:var(--text-caption);letter-spacing:.06em;text-transform:uppercase;color:var(--cream-600)}
@media (max-width:1024px){ .lp-prods{grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px} }
@media (max-width:600px){ .lp-prods{grid-template-columns:1fr;max-width:400px} }

/* ---- MODAIS de produto (6) — deep-link /#prod · bottom-sheet no mobile ---- */
.lp-modal{position:fixed;inset:0;z-index:var(--z-modal);display:grid;place-items:center;padding:24px;
  opacity:0;pointer-events:none;transition:opacity var(--dur-default) var(--ease-out)}
.lp-modal[data-open]{opacity:1;pointer-events:auto}
.lp-modal__backdrop{position:absolute;inset:0;background:rgba(1,10,30,.62);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.lp-modal__panel{position:relative;z-index:1;width:min(700px,100%);max-height:88vh;overflow-y:auto;
  background:var(--bg-surface);border-radius:var(--radius-card);box-shadow:var(--shadow-modal);
  transform:scale(.95);opacity:.6;transition:transform var(--dur-default) var(--ease-out),opacity var(--dur-default)}
.lp-modal[data-open] .lp-modal__panel{transform:scale(1);opacity:1}
.lp-modal__media{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--navy-900)}
.lp-modal__media img{width:100%;height:100%;object-fit:cover}
.lp-modal__close{position:absolute;top:14px;right:14px;z-index:2;width:40px;height:40px;
  display:grid;place-items:center;border-radius:50%;background:rgba(1,10,30,.5);color:#fff;
  font-size:22px;line-height:1;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.lp-modal__body{padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:14px}
.lp-modal__eyebrow{font-size:var(--text-caption);font-weight:var(--fw-semibold);
  letter-spacing:.1em;text-transform:uppercase;color:var(--gold-deep)}
.lp-modal__title{font-family:var(--font-serif);font-weight:600;font-size:var(--text-h2);
  line-height:var(--lh-heading);color:var(--fg-default)}
.lp-modal__text{font-size:var(--text-body-md);line-height:var(--lh-body);color:var(--cream-600)}
.lp-modal__note{font-size:var(--text-caption);color:var(--cream-500);
  padding:10px 14px;border:1px dashed var(--border-strong);border-radius:var(--radius-input)}
.lp-modal__cta{margin-top:6px}
/* modal LONGO (Mentoria) — subtítulos, etapas e listas */
.lp-modal__lead{font-family:var(--font-serif);font-style:italic;font-size:var(--text-h4,20px);
  line-height:var(--lh-heading);color:var(--gold-deep)}
.lp-modal__h4{font-family:var(--font-serif);font-weight:600;font-size:clamp(18px,1.5vw,21px);
  line-height:var(--lh-heading);color:var(--fg-default);margin-top:10px}
.lp-modal__h4sub{font-family:var(--font-sans);font-weight:var(--fw-regular,400);
  font-size:var(--text-body-sm);color:var(--cream-500);font-style:normal}
.lp-modal__stage{font-size:var(--text-body-md);line-height:var(--lh-body);color:var(--fg-default);margin-top:8px}
.lp-modal__stage strong{color:var(--fg-default)}
.lp-modal__stagemeta{display:block;font-size:var(--text-caption);font-weight:var(--fw-semibold);
  letter-spacing:.06em;text-transform:uppercase;color:var(--gold-deep);margin-top:3px}
.lp-modal__list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.lp-modal__list li{font-size:var(--text-body-md);line-height:var(--lh-body);color:var(--cream-600)}
.lp-modal__list li::marker{color:var(--gold-deep)}
/* formulário LISTA DE ESPERA (Programa Regenera) */
.lp-wlform{display:flex;flex-direction:column;gap:12px;margin-top:4px}
.lp-wlform__field{display:flex;flex-direction:column;gap:6px;font-size:var(--text-caption);
  font-weight:var(--fw-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--cream-500)}
.lp-wlform__field input{width:100%;padding:13px 16px;border-radius:var(--radius-input);
  border:1px solid var(--border-strong);background:#fff;font:inherit;font-size:var(--text-body-md);
  font-weight:var(--fw-regular,400);letter-spacing:normal;text-transform:none;color:var(--fg-default);
  outline:none;transition:border-color .2s,box-shadow .2s}
.lp-wlform__field input:focus{border-color:var(--gold-deep);box-shadow:0 0 0 3px rgba(212,185,90,.18)}
.lp-wlform__hp{position:absolute;left:-9999px;width:0;height:0;opacity:0;pointer-events:none}
.lp-wlform .lp-btn{width:100%;justify-content:center;border:0;cursor:pointer;font:inherit}
.lp-wlform__msg{font-size:var(--text-body-sm);line-height:var(--lh-body);min-height:1.3em;color:var(--cream-600)}
.lp-wlform__msg[data-state="ok"]{color:#1c7d4d;font-weight:var(--fw-semibold)}
.lp-wlform__msg[data-state="err"]{color:#b3423e}
.lp-modal__handle{display:none}
@media (max-width:600px){
  .lp-modal{place-items:end center;padding:0}
  .lp-modal__panel{width:100%;max-height:92vh;border-radius:22px 22px 0 0;
    transform:translateY(100%);opacity:1}
  .lp-modal[data-open] .lp-modal__panel{transform:translateY(0)}
  .lp-modal__handle{display:block;width:44px;height:5px;border-radius:999px;
    background:var(--cream-300);margin:12px auto 0}
  .lp-modal__cta .lp-btn{width:100%}
}

/* ============================================================
   #06 HISTÓRIAS (camada 3 — SOBE · node 28:136) — #depoimentos (Momento Escuro 2)
   ============================================================ */
.lp-historias{position:relative;overflow:visible;isolation:isolate;text-align:center;
  --notch-fill:var(--navy-950);
  /* imagem de estrelas visível ATÉ o topo (sem fade navy) — o notch continua essa imagem */
  background:
    var(--img-historias-bg) center/cover no-repeat,
    var(--navy-950);
  padding-block:clamp(96px,10vw,140px)}
.lp-historias__head{max-width:760px;margin:0 auto clamp(36px,4.5vw,56px);
  display:flex;flex-direction:column;align-items:center}
.lp-historias__title{margin-top:var(--sp-16);font-family:var(--font-serif);font-weight:600;
  font-size:var(--text-h1);line-height:var(--lh-heading);color:var(--fg-on-dark)}
/* grid: VÍDEO (preto) + 2 cards de depoimento (BRANCOS), lado a lado */
/* CARROSSEL INFINITO de depoimentos — loop CSS seamless (2 grupos idênticos, translateX(-50%)),
   mesma técnica das faixas do hero. Pausa no hover; fade suave nas bordas; reduced-motion = scroll manual. */
.lp-tcarousel{position:relative;width:100%;overflow:hidden;   /* FULL-BLEED: atravessa a tela inteira */
  -webkit-mask:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
          mask:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}
.lp-tcarousel__track{display:flex;width:max-content;will-change:transform;
  animation:lp-tscroll 75s linear infinite}
.lp-tcarousel:hover .lp-tcarousel__track{animation-play-state:paused}
.lp-tcarousel__group{display:flex;align-items:stretch;text-align:left;
  gap:clamp(18px,2vw,28px);padding-right:clamp(18px,2vw,28px)}  /* padding-right = gap → costura sem salto */
@keyframes lp-tscroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){
  .lp-tcarousel__track{animation:none}
  .lp-tcarousel{overflow-x:auto;-webkit-mask:none;mask:none}
}
/* CARD depoimento — BRANCO (mesmo design; agora com largura fixa p/ o track) */
.lp-tcard{position:relative;display:flex;flex-direction:column;gap:16px;
  flex:0 0 min(380px,82vw);   /* desktop 380px · mobile ~82vw */
  background:var(--bg-surface);border-radius:var(--radius-card);
  padding:clamp(20px,1.8vw,26px);box-shadow:0 20px 44px rgba(1,10,30,.28)}
.lp-tcard__head{display:flex;align-items:center;gap:12px}
.lp-tcard__avatar{flex:none;width:46px;height:46px;border-radius:50%;
  background:var(--grad-gold);box-shadow:inset 0 0 0 2px rgba(255,255,255,.6)}
/* avatar com FOTO real (img): cobre o círculo + anel dourado fino */
img.lp-tcard__avatar{object-fit:cover;background:none;
  box-shadow:0 0 0 2px rgba(212,185,90,.45)}
.lp-tcard__meta{display:flex;flex-direction:column;gap:3px}
.lp-tcard__stars{font-size:13px;letter-spacing:2px;color:var(--gold-core);line-height:1}
.lp-tcard__name{font-family:var(--font-sans);font-weight:var(--fw-semibold);
  font-size:var(--text-body-md);color:var(--navy-900)}  /* navy LITERAL: o card é branco dentro de .lp-dark, e lá o --fg-default vira claro (nome sumia) */
.lp-tcard__text{font-size:var(--text-body-sm);line-height:var(--lh-body);color:var(--cream-700)}
.lp-historias__cta{margin-top:clamp(36px,4vw,56px)}
@media (max-width:560px){
  .lp-historias__cta .lp-btn{width:100%}
}

/* ============================================================
   #07 FAQ (node 28:157) — accordion single-open (JS em lp-anim)
   ============================================================ */
.lp-faq{position:relative;background:var(--bg-canvas);padding-block:clamp(80px,9vw,120px);text-align:center}
.lp-faq__head{display:flex;flex-direction:column;align-items:center;margin-bottom:clamp(32px,4vw,48px)}
.lp-faq__title{margin-top:var(--sp-16);font-family:var(--font-serif);font-weight:600;
  font-size:var(--text-h1);line-height:var(--lh-heading);color:var(--fg-default)}
/* FAQ como PILLS separados (cards arredondados com borda + ícone circular) — Figma */
.lp-faq__list{max-width:760px;margin:0 auto;text-align:left;
  display:flex;flex-direction:column;gap:clamp(12px,1.4vw,18px)}
.faq-item{background:var(--bg-surface);border:1px solid var(--border-default);
  border-radius:var(--radius-card);overflow:hidden;
  transition:border-color var(--dur-default),box-shadow var(--dur-default)}
.faq-item.is-open{border-color:var(--border-strong);box-shadow:0 12px 30px rgba(1,10,30,.08)}
.faq-head{display:flex;align-items:center;justify-content:space-between;gap:16px;width:100%;
  padding:clamp(18px,1.8vw,22px) clamp(20px,2vw,26px);
  font-family:var(--font-sans);font-weight:600;font-size:var(--text-body-md);
  color:var(--fg-default);text-align:left;transition:color var(--dur-fast)}
.faq-head:hover{color:var(--gold-deep)}
.faq-icon{flex:0 0 auto;position:relative;width:30px;height:30px;border-radius:50%;
  border:1px solid var(--border-strong);display:grid;place-items:center;
  transition:transform var(--dur-default) var(--ease-out),background var(--dur-default),border-color var(--dur-default)}
.faq-icon::before,.faq-icon::after{content:"";position:absolute;background:var(--gold-deep);border-radius:2px}
.faq-icon::before{width:12px;height:2px}.faq-icon::after{width:2px;height:12px}
.faq-item.is-open .faq-icon{transform:rotate(45deg);background:var(--grad-gold);border-color:transparent}
.faq-item.is-open .faq-icon::before,.faq-item.is-open .faq-icon::after{background:var(--navy-900)}
.faq-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-default) var(--ease-out)}
.faq-item.is-open .faq-body{grid-template-rows:1fr}
.faq-body>div{overflow:hidden}
.faq-answer{padding:0 clamp(20px,2vw,26px) clamp(20px,2vw,24px);
  font-size:var(--text-body-sm);line-height:var(--lh-body);color:var(--cream-600)}

/* ============================================================
   #08 RODAPÉ (node 28:190)
   ============================================================ */
.lp-footer{position:relative;z-index:1;   /* z-index:1 = acima do .lp::before (textura de fundo z:0), senão o footer some coberto de creme */
  background:var(--bg-canvas);border-top:1px solid var(--border-default);
  padding:clamp(30px,3.6vw,52px) 24px}
/* 3 colunas: copy à ESQ · logo LR ao CENTRO · contatos à DIR (Figma img3) */
.lp-footer__inner{max-width:1188px;margin:0 auto;display:grid;
  grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}
.lp-footer__copy{justify-self:start;text-align:left;margin:0;
  font-size:var(--text-caption);line-height:1.55;color:var(--cream-600)}
.lp-footer__logo{justify-self:center;display:block}
.lp-footer__logo img{width:72px;height:auto;display:block}
.lp-footer__contacts{justify-self:end;display:flex;flex-direction:column;gap:4px;text-align:right;
  font-size:var(--text-caption);color:var(--cream-600)}
.lp-footer__contacts a{color:var(--cream-600);font-weight:var(--fw-medium)}
.lp-footer__contacts a:hover{color:var(--gold-deep)}
@media (max-width:600px){
  .lp-footer__inner{grid-template-columns:1fr;justify-items:center;text-align:center;gap:16px}
  .lp-footer__copy{justify-self:center;text-align:center}
  .lp-footer__contacts{justify-self:center;text-align:center}
}

/* ============================================================
   #09 WHATSAPP flutuante (global)
   ============================================================ */
.lp-wa{position:fixed;right:20px;bottom:20px;z-index:var(--z-whatsapp);
  width:56px;height:56px;border-radius:50%;display:grid;place-items:center;
  background:#25D366;color:#fff;box-shadow:var(--shadow-card-hover);
  transition:transform var(--dur-default) var(--ease-out)}
.lp-wa:hover{transform:scale(1.08)}
.lp-wa svg{width:30px;height:30px}
.js .lp-wa{animation:lp-wabounce 1s var(--ease-out) .6s both}
@keyframes lp-wabounce{0%{transform:scale(0) translateY(20px)}60%{transform:scale(1.1)}100%{transform:scale(1)}}
