/* Layout: capítulos em blocos de cor da marca; bento de números; sem preto em nada (o tom mais escuro é o roxo da marca). */
:root{
  --roxo:#49174F;
  --roxo-2:#5C1F65;
  --roxo-vivo:#7E168B;
  --magenta:#B2168C;
  --amarelo:#FFD245;
  --teal:#3FBBAD;
  --laranja:#FA720F;
  --lilas:#F6EFF7;
  --lilas-2:#E6D6E9;
  --branco:#FFFFFF;
  --texto-suave:#7A5A80;
  --sombra:rgba(73,23,79,.28);
  --f-display:"Archivo","Arial Black",system-ui,sans-serif;
  --f-texto:"Instrument Sans","Helvetica Neue",Arial,sans-serif;
  --raio:30px;
  --topo:76px;
  --onda:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='30' viewBox='0 0 120 30'%3E%3Cpath d='M0 8 C30 8 30 22 60 22 S90 8 120 8' fill='none' stroke='%23fff' stroke-width='7'/%3E%3C/svg%3E");
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--topo) + 12px)}
body{margin:0;background:var(--roxo);color:var(--roxo);font-family:var(--f-texto);font-size:1.0625rem;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
body::before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:60;background:var(--roxo)}
img{max-width:100%;height:auto;display:block}
[hidden]{display:none !important}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--f-display);margin:0;text-wrap:balance}
p,figure,dl,dd,ol,ul{margin:0}
ol,ul{padding:0;list-style:none}
:focus-visible{outline:3px solid var(--amarelo);outline-offset:3px;border-radius:8px}
.claro :focus-visible,.branco :focus-visible,.form-sec :focus-visible{outline-color:var(--roxo-vivo)}

.wrap{max-width:1280px;margin-inline:auto;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px))}
.bloco{padding-block:clamp(88px,11vw,160px)}
.claro{background:var(--lilas);color:var(--roxo)}
.branco{background:var(--branco);color:var(--roxo)}
.rotulo{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:700;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.rotulo::before{content:"";width:22px;height:2px;background:currentColor}
.h2{font-size:clamp(2.2rem,4.6vw,4rem);font-weight:800;font-stretch:104%;line-height:1;letter-spacing:-.025em}
.lead{font-size:clamp(1.06rem,1.4vw,1.22rem);line-height:1.6;max-width:54ch}
.nowrap{white-space:nowrap}
.preco .moeda{font-size:.4em;vertical-align:1.05em;margin-right:.06em;font-stretch:100%;letter-spacing:0}
.preco .unid{font-size:.4em;font-stretch:100%;letter-spacing:0;margin-left:.1em}
.onda{height:66px;background:var(--c,var(--roxo-2));-webkit-mask:var(--onda) repeat 0 0/120px 22px;mask:var(--onda) repeat 0 0/120px 22px}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.6em;font-family:var(--f-display);font-weight:700;font-stretch:104%;font-size:1rem;line-height:1;padding:1.1em 1.6em;border-radius:999px;text-decoration:none;border:0;cursor:pointer;transition:background .2s,box-shadow .2s,color .2s;white-space:nowrap}
.btn svg{width:1.05em;height:1.05em;flex:none}
.btn--amarelo{background:var(--amarelo);color:var(--roxo)}
.btn--amarelo:hover{background:#FFDD70}
.btn--linha{color:var(--branco);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.4)}
.btn--linha:hover{box-shadow:inset 0 0 0 1.5px var(--branco)}
.btn--roxo{background:var(--roxo);color:var(--branco)}
.btn--roxo:hover{background:var(--roxo-vivo)}
.btn--texto{background:none;color:var(--texto-suave);padding-inline:.4em}
.btn--texto:hover{color:var(--roxo)}
.btn--sm{padding:.8em 1.2em;font-size:.92rem}
.btn--cheio{width:100%}

/* Topo */
.topo{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;transition:background .3s,box-shadow .3s}
.topo.solido{background:rgba(73,23,79,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 1px 0 rgba(255,255,255,.12)}
.topo__in{display:flex;align-items:center;gap:28px;height:var(--topo)}
.topo__logo img{height:40px;width:auto}
.topo__nav{display:flex;gap:28px;margin-left:auto;font-weight:500;font-size:.95rem;color:rgba(255,255,255,.82)}
.topo__nav a{text-decoration:none;transition:color .2s}
.topo__nav a:hover{color:var(--amarelo)}
@media (max-width:900px){.topo__nav{display:none}.topo__in .btn{margin-left:auto}}

/* Hero */
.hero{position:relative;background:var(--roxo);color:var(--branco);margin-top:calc(var(--topo) * -1);padding-top:calc(var(--topo) + clamp(28px,5vw,64px));padding-bottom:0;overflow:hidden}
.hero__grade{display:grid;grid-template-columns:minmax(0,11fr) minmax(0,9fr);gap:clamp(32px,4vw,64px);align-items:center}
.selo-linha{display:inline-flex;align-items:center;gap:10px;font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--amarelo);margin-bottom:26px}
.selo-linha .ponto{width:9px;height:9px;border-radius:50%;background:var(--amarelo);box-shadow:0 0 0 5px rgba(255,210,69,.2)}
.hero__titulo{font-size:clamp(2.6rem,5.4vw,4.7rem);font-weight:800;font-stretch:104%;line-height:.95;letter-spacing:-.03em}
.hero__titulo .linha{display:block}
.hero__titulo em{font-style:normal;color:var(--amarelo)}
.hero__sub{margin-top:26px;font-size:clamp(1.08rem,1.45vw,1.24rem);line-height:1.55;max-width:44ch;color:rgba(255,255,255,.86)}
.hero__sub strong{color:var(--branco);font-weight:600}
.hero__acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.palco{position:relative;aspect-ratio:1/1.02;max-width:600px;width:100%;margin-left:auto}
.palco__foto{position:absolute;inset:4% 2% 10% 18%;border-radius:36px;overflow:hidden;background:var(--roxo-2);box-shadow:0 40px 80px -40px rgba(30,6,36,.6)}
.palco__foto img{width:100%;height:100%;object-fit:cover}
.palco__copo{position:absolute;z-index:2;filter:drop-shadow(0 26px 30px rgba(40,8,46,.5))}
.palco__copo img{width:100%;height:auto;animation:flutua 6s ease-in-out infinite}
.palco__copo--a{left:-2%;bottom:-3%;width:44%;transform:rotate(-6deg)}
.palco__copo--b{right:-5%;top:-4%;width:25%;transform:rotate(9deg)}
.palco__copo--b img{animation-delay:-3s}
.palco__lettering{position:absolute;z-index:3;right:-2%;bottom:-4%;width:36%;transform:rotate(-6deg);filter:drop-shadow(0 8px 14px rgba(40,8,46,.45))}
@keyframes flutua{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}

/* Bento de números */
.bento{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(168px,auto);gap:16px;margin-top:clamp(56px,7vw,96px)}
.tile{position:relative;border-radius:var(--raio);padding:26px 28px;display:flex;flex-direction:column;justify-content:space-between;gap:16px;overflow:hidden;min-width:0}
.tile__rot{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.tile__num{font-family:var(--f-display);font-weight:800;font-stretch:72%;font-size:clamp(3rem,5vw,4.4rem);line-height:.95;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.tile__obs{font-size:.94rem;line-height:1.45}
.tile--grande{grid-column:span 2;grid-row:span 2;background:var(--amarelo);color:var(--roxo);padding:32px 34px}
.tile--grande .tile__num{font-size:clamp(4.6rem,10vw,9rem)}
.tile--grande .tile__obs{max-width:30ch}
.tile--grande .tile__copo{position:absolute;right:3%;bottom:-36%;width:36%;pointer-events:none;filter:drop-shadow(0 20px 24px rgba(73,23,79,.35))}
.tile--grande a{font-weight:600}
.tile--branco{background:var(--branco);color:var(--roxo)}
.tile--teal{background:var(--teal);color:var(--roxo)}
.tile--vivo{background:var(--roxo-vivo);color:var(--branco)}
.tile--magenta{background:var(--magenta);color:var(--branco)}
.tile--magenta a{display:inline-flex;align-items:center;gap:.4em;font-weight:600;text-decoration:none}
.nota{margin-top:20px;font-size:.84rem;color:rgba(255,255,255,.62)}
.hero__fim{padding-bottom:clamp(64px,8vw,104px)}
@media (max-width:960px){
  .hero__grade{grid-template-columns:minmax(0,1fr)}
  .palco{max-width:520px;margin-inline:auto}
  .bento{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tile--grande{grid-column:span 2;grid-row:auto;min-height:300px}
  .tile--grande .tile__obs{max-width:min(30ch,60%)}
}
@media (max-width:480px){.tile{padding:22px}.tile__num{font-size:2.8rem}}

/* Faixa */
.faixa{background:var(--amarelo);color:var(--roxo);overflow:hidden;padding-block:20px}
.faixa__trilho{display:flex;width:max-content;animation:faixa 42s linear infinite}
.faixa__grupo{display:flex;align-items:center;gap:30px;padding-right:30px;font-family:var(--f-display);font-weight:800;font-stretch:116%;text-transform:uppercase;font-size:clamp(1.05rem,2vw,1.5rem);white-space:nowrap}
.faixa__grupo i{font-style:normal;color:var(--magenta);font-size:.8em}
@keyframes faixa{to{transform:translateX(-50%)}}

/* Diferenciais em cartões empilhados */
.dif__cabeca{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,5vw,80px);align-items:end;margin-bottom:clamp(40px,5vw,64px)}
.dif__cabeca .rotulo{color:var(--magenta);margin-bottom:20px}
.dif__cabeca .lead{color:var(--texto-suave)}
.pilha{display:grid;gap:24px}
.pilha__card{position:sticky;top:calc(var(--topo) + 20px + var(--i) * 16px);display:grid;grid-template-columns:minmax(0,11fr) minmax(0,9fr);height:min(72vh,580px);border-radius:40px;overflow:hidden;background:var(--bg);color:var(--fg);box-shadow:0 -16px 50px -28px var(--sombra);transform-origin:50% 0}
.pilha__txt{min-height:0;padding:clamp(30px,4.4vw,64px);display:flex;flex-direction:column;justify-content:space-between;gap:28px}
.pilha__tag{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:700;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase}
.pilha__tag b{font-stretch:72%;font-size:1.6rem;line-height:1}
.pilha__txt h3{font-size:clamp(2.3rem,4.8vw,4.3rem);font-weight:800;font-stretch:104%;line-height:.98;letter-spacing:-.03em;margin-bottom:18px}
.pilha__txt p{font-size:clamp(1.05rem,1.4vw,1.2rem);max-width:40ch;opacity:.9}
.pilha__foto{position:relative;margin:14px;border-radius:30px;overflow:hidden}
.pilha__foto img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pilha__foto--posters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;background:none;border-radius:0}
.pilha__foto--posters{align-items:center;overflow:visible}
.pilha__foto--posters img{position:static;height:auto;border-radius:22px;aspect-ratio:9/16;object-fit:cover}
.pilha__foto--posters img:nth-child(2){margin-top:40px}
@media (max-width:860px){
  .dif__cabeca{grid-template-columns:minmax(0,1fr)}
  .pilha__card{grid-template-columns:minmax(0,1fr);height:auto;top:calc(var(--topo) + 12px + var(--i) * 10px)}
  .pilha__foto{aspect-ratio:16/10;order:-1;margin:12px 12px 0}
  .pilha__foto--posters{aspect-ratio:auto}
  .pilha__foto--posters img{aspect-ratio:3/4;width:100%}
  .pilha__foto--posters img:nth-child(2){margin-top:0}
}

/* Modelos */
.modelos{background:var(--roxo);color:var(--branco);padding-block:clamp(104px,10vw,140px) clamp(72px,7vw,104px)}
.modelos__cabeca{display:flex;justify-content:space-between;align-items:end;gap:32px;flex-wrap:wrap;margin-bottom:clamp(36px,4vw,56px)}
.modelos__cabeca .rotulo{color:var(--amarelo);margin-bottom:18px}
.modelos__cabeca .h2{max-width:15ch}
.modelos__obs{max-width:36ch;color:rgba(255,255,255,.78)}
.modelos__janela{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-block:12px}
.modelos__janela::-webkit-scrollbar{display:none}
.modelos.com-pin .modelos__janela{overflow:hidden;scroll-snap-type:none}
.modelos__trilho{display:flex;gap:20px;width:max-content;padding-left:max(20px,env(safe-area-inset-left,0px),calc((100vw - 1240px) / 2));padding-right:max(20px,env(safe-area-inset-right,0px),calc((100vw - 1240px) / 2))}
.card{flex:0 0 clamp(276px,30vw,380px);background:var(--bg);color:var(--fg);border-radius:var(--raio);padding:12px;display:flex;flex-direction:column;scroll-snap-align:start;scroll-margin-left:20px;transition:transform .35s cubic-bezier(.2,.8,.2,1)}
.card:hover{transform:translateY(-8px) rotate(-1deg)}
.card__foto{aspect-ratio:4/3;border-radius:22px;overflow:hidden;background:var(--branco)}
.card__foto img{width:100%;height:100%;object-fit:cover}
.card__corpo{padding:20px 16px 14px;display:flex;flex-direction:column;gap:4px;flex:1}
.card__topo{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.card h3{font-size:1.5rem;font-weight:800;font-stretch:104%;letter-spacing:-.01em}
.card__tag{font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.4em .8em;box-shadow:inset 0 0 0 1.5px currentColor}
.card__rot{font-size:.78rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;opacity:.8}
.card .preco{font-family:var(--f-display);font-weight:800;font-stretch:72%;font-size:3.8rem;line-height:1;font-variant-numeric:tabular-nums}
.card--cta{justify-content:space-between;padding:32px 30px;position:relative;overflow:hidden}
.card--cta h3{font-size:clamp(1.8rem,2.5vw,2.2rem);font-stretch:108%;line-height:1.02;letter-spacing:-.02em}
.card--cta p{margin-top:14px;max-width:24ch}
.card--cta img{position:absolute;right:-12%;bottom:-24%;width:58%;transform:rotate(10deg);pointer-events:none}
.card--cta .btn{position:relative;z-index:1;align-self:flex-start}
.progresso{height:3px;background:rgba(255,255,255,.18);border-radius:3px;margin-top:40px;overflow:hidden;display:none}
.progresso span{display:block;height:100%;background:var(--amarelo);transform-origin:left;transform:scaleX(0)}
.modelos.com-pin .progresso{display:block}

/* Marca: mural de campanhas */
.marca__cabeca{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(24px,5vw,80px);align-items:end}
.marca__cabeca .rotulo{color:var(--magenta);margin-bottom:20px}
.marca__cabeca .lead{color:var(--texto-suave)}
.marca__nums{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:clamp(40px,5vw,64px)}
.marca__nums li{border-top:2px solid var(--roxo);padding-top:16px;display:flex;flex-direction:column;gap:4px;min-width:0}
.marca__nums strong{font-family:var(--f-display);font-weight:800;font-stretch:72%;font-size:clamp(2.4rem,4.4vw,3.8rem);line-height:1;color:var(--roxo-vivo);white-space:nowrap}
.marca__nums span{color:var(--texto-suave)}
.mural{display:grid;gap:16px;margin-top:clamp(48px,6vw,80px)}
.mural__linha{overflow:hidden}
.mural__trilho{display:flex;width:max-content;animation:faixa 80s linear infinite}
.mural__linha--b .mural__trilho{animation-direction:reverse}
.mural__grupo{display:flex;gap:16px;padding-right:16px}
.mural__grupo img{height:clamp(240px,28vw,380px);width:auto;aspect-ratio:9/16;object-fit:cover;border-radius:22px;background:var(--lilas-2)}
.mural__grupo img.foto{aspect-ratio:4/5}
@media (max-width:860px){.marca__cabeca{grid-template-columns:minmax(0,1fr)}.marca__nums{grid-template-columns:minmax(0,1fr)}}

/* História (palco animado) */
.historia{background:var(--teal);color:var(--roxo);padding-block:clamp(88px,10vw,140px)}
.historia__cabeca{display:flex;justify-content:space-between;align-items:end;gap:24px;flex-wrap:wrap}
.historia__cabeca .rotulo{margin-bottom:18px}
.historia__cabeca .h2{max-width:18ch}
.anos{position:relative;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:clamp(36px,4vw,56px);padding-top:22px}
.anos::before,.anos::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;border-radius:3px;background:rgba(73,23,79,.18)}
.anos::after{background:var(--roxo);transform-origin:left;transform:scaleX(var(--p,1))}
.anos li{font-family:var(--f-display);font-weight:700;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;color:rgba(73,23,79,.55);position:relative;transition:color .3s}
.anos li::before{content:"";position:absolute;top:-28px;left:0;width:15px;height:15px;border-radius:50%;background:var(--teal);box-shadow:inset 0 0 0 3px rgba(73,23,79,.3);transition:background .3s,box-shadow .3s}
.anos li.passou,.anos li.ativo{color:var(--roxo)}
.anos li.passou::before,.anos li.ativo::before{background:var(--roxo);box-shadow:none}
.anos li.ativo::before{box-shadow:0 0 0 6px rgba(73,23,79,.18)}
.marcos{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:20px;margin-top:36px}
.marco{display:flex;flex-direction:column;gap:10px;min-width:0}
.marco__foto{order:-1;aspect-ratio:4/5;border-radius:22px;overflow:hidden;background:var(--roxo-2);margin-bottom:8px}
.marco__foto img{width:100%;height:100%;object-fit:cover}
.marco__ano{font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase}
.marco__num{font-family:var(--f-display);font-weight:800;font-stretch:72%;font-size:clamp(3rem,5vw,4.4rem);line-height:.9;font-variant-numeric:tabular-nums}
.marco__num--palavra{font-size:clamp(1.9rem,2.8vw,2.6rem);font-stretch:96%;line-height:1}
.marco__txt{max-width:28ch}
.marco__meta{display:inline-block;align-self:flex-start;background:var(--roxo);color:var(--amarelo);font-family:var(--f-display);font-weight:700;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;border-radius:999px;padding:.4em .8em}
.futuro .marco__num{color:transparent;-webkit-text-stroke:2px var(--roxo)}
@media (max-width:860px){
  .marcos{grid-template-columns:repeat(2,minmax(0,1fr))}
  .anos{display:none}
}
/* Versão animada (só com JS): um marco por vez, preso na tela */
.historia.js-palco{padding-block:0}
.historia.js-palco .historia__in{min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding-block:calc(var(--topo) + 24px) 40px}
.historia.js-palco .anos{display:grid}
.historia.js-palco .marcos{position:relative;display:block;height:clamp(340px,52vh,560px);margin-top:28px}
.historia.js-palco .marco{position:absolute;inset:0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:auto auto auto 1fr;column-gap:clamp(24px,5vw,72px);align-content:start;visibility:hidden}
.historia.js-palco .marco.ativo{visibility:visible}
.historia.js-palco .marco__foto{grid-column:2;grid-row:1 / span 4;order:0;margin:0;aspect-ratio:auto;height:100%;border-radius:32px}
.historia.js-palco .marco__num{font-size:clamp(6rem,16vw,13rem);line-height:.85}
.historia.js-palco .marco__num--palavra{font-size:clamp(3.4rem,8vw,7rem);font-stretch:88%;line-height:.95}
.historia.js-palco .marco__txt{font-size:clamp(1.1rem,1.6vw,1.35rem);max-width:30ch}
.historia.js-palco .marco__meta{justify-self:start;align-self:start;margin-top:14px}
@media (max-width:860px){
  .historia.js-palco .historia__cabeca .h2{font-size:1.9rem}
  .historia.js-palco .anos li{font-size:.68rem}
  .historia.js-palco .marcos{height:min(62svh,560px)}
  .historia.js-palco .marco{grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto 1fr}
  .historia.js-palco .marco__foto{grid-column:1;grid-row:5;min-height:0;border-radius:24px;margin-top:14px}
  .historia.js-palco .marco__num{font-size:clamp(4.6rem,24vw,7rem)}
  .historia.js-palco .marco__num--palavra{font-size:clamp(2.6rem,12vw,3.6rem)}
}

/* Dúvidas */
.duvidas__grade{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(40px,7vw,112px)}
.duvidas__grade .rotulo{color:var(--magenta);margin-bottom:20px}
.faq details{border-top:1.5px solid var(--lilas-2)}
.faq details:last-child{border-bottom:1.5px solid var(--lilas-2)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:24px;padding-block:24px;font-family:var(--f-display);font-weight:700;font-size:clamp(1.08rem,1.6vw,1.3rem);line-height:1.3}
.faq summary::-webkit-details-marker{display:none}
.faq .mais{flex:none;width:38px;height:38px;border-radius:50%;background:var(--lilas);display:grid;place-items:center;transition:transform .3s,background .3s}
.faq .mais svg{width:16px;height:16px}
.faq details[open] .mais{transform:rotate(45deg);background:var(--amarelo)}
.faq details p{padding-bottom:26px;color:var(--texto-suave);max-width:60ch}
@media (max-width:860px){.duvidas__grade{grid-template-columns:minmax(0,1fr)}}

/* Formulário */
.form-sec{background:var(--amarelo);color:var(--roxo);position:relative;overflow:hidden}
.form-grade{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);grid-template-areas:"intro cartao" "extra cartao";column-gap:clamp(40px,6vw,96px);row-gap:36px;align-items:start}
.form-texto{grid-area:intro;display:flex;flex-direction:column;gap:26px}
.form-extra{grid-area:extra;display:flex;flex-direction:column;gap:24px}
.form-texto .rotulo{color:var(--magenta)}
.form-titulo{font-size:clamp(3rem,6.6vw,5.8rem);font-weight:800;font-stretch:108%;line-height:.92;letter-spacing:-.035em}
.como{display:grid;gap:14px;counter-reset:como}
.como li{display:grid;grid-template-columns:40px minmax(0,1fr);gap:14px;align-items:start;counter-increment:como;font-weight:500}
.como li::before{content:counter(como);width:40px;height:40px;border-radius:50%;background:var(--roxo);color:var(--amarelo);display:grid;place-items:center;font-family:var(--f-display);font-weight:800;font-size:1rem}
.como li span{padding-top:8px}
.whats{display:flex;align-items:center;gap:16px;background:rgba(255,255,255,.55);border-radius:22px;padding:18px 20px}
.whats__icone{flex:none;width:48px;height:48px;border-radius:50%;background:var(--teal);display:grid;place-items:center}
.whats__icone svg{width:24px;height:24px}
.whats div{display:flex;flex-direction:column;gap:2px;min-width:0}
.whats strong{font-family:var(--f-display);font-weight:800;font-size:1.3rem;font-stretch:104%}
.whats small{font-size:.9rem;opacity:.8}
.whats a{font-weight:600}
.cartao{grid-area:cartao;position:relative;background:var(--branco);border-radius:36px;padding:clamp(28px,4vw,52px);box-shadow:0 40px 80px -40px var(--sombra)}
.cartao__selo{position:absolute;right:-26px;top:-58px;width:clamp(150px,15vw,200px);transform:rotate(8deg);pointer-events:none}
.passos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:34px;padding-right:clamp(0px,9vw,130px)}
.passos li{display:flex;flex-direction:column;gap:10px;font-size:.8rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--texto-suave)}
.passos li::before{content:"";height:5px;border-radius:5px;background:var(--lilas-2);transition:background .3s}
.passos li.feito::before{background:var(--roxo)}
.passos li.ativo::before{background:var(--magenta)}
.passos li.ativo{color:var(--roxo)}
fieldset{border:0;margin:0;padding:0;display:grid;gap:22px;min-width:0}
legend{font-family:var(--f-display);font-weight:800;font-stretch:104%;font-size:clamp(1.6rem,2.4vw,2rem);line-height:1.05;letter-spacing:-.02em;margin-bottom:8px;padding:0}
.campo{display:flex;flex-direction:column;gap:8px;min-width:0}
.campo label,.grupo__tit{font-size:.95rem;font-weight:600}
.campo input{font:inherit;font-size:1.05rem;color:var(--roxo);background:var(--lilas);border:1.5px solid transparent;border-radius:16px;height:58px;padding:0 18px;width:100%;transition:border-color .2s,background .2s,box-shadow .2s}
.campo input::placeholder{color:#A88DAD}
.campo input:hover{border-color:var(--lilas-2)}
.campo input:focus{outline:none;background:var(--branco);border-color:var(--roxo-vivo);box-shadow:0 0 0 5px rgba(126,22,139,.12)}
.msg{font-size:.85rem;color:#B0123F;display:none}
.campo.erro input{border-color:#B0123F;background:var(--branco)}
.campo.erro .msg,.grupo.erro .msg{display:block}
.duas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.grupo{display:flex;flex-direction:column;gap:12px}
.grupo + .grupo{padding-top:22px;border-top:1.5px solid var(--lilas)}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chips label{position:relative}
.chips input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}
.chips span{display:inline-block;padding:.8em 1.2em;border-radius:999px;background:var(--lilas);border:1.5px solid transparent;font-size:.98rem;font-weight:500;transition:background .2s,border-color .2s,color .2s}
.chips label:hover span{border-color:var(--lilas-2)}
.chips input:checked + span{background:var(--roxo);color:var(--branco)}
.chips input:focus-visible + span{outline:3px solid var(--roxo-vivo);outline-offset:2px}
.acoes-form{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:10px}
.acoes-form .btn--roxo{flex:1;max-width:340px;margin-left:auto}
.acoes-form--so .btn--roxo{max-width:none}
.privacidade{font-size:.85rem;color:var(--texto-suave);margin-top:18px;display:flex;gap:8px;align-items:center}
.privacidade svg{width:16px;height:16px;flex:none}
.resumo{display:grid;gap:12px;background:var(--lilas);border-radius:20px;padding:20px 22px}
.resumo div{display:flex;justify-content:space-between;gap:16px;font-size:.98rem}
.resumo dt{color:var(--texto-suave)}
.resumo dd{font-weight:600;text-align:right;min-width:0;overflow-wrap:anywhere}
.mel{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.sucesso{display:flex;flex-direction:column;gap:16px;align-items:flex-start;padding-block:24px}
.sucesso .ok{width:64px;height:64px;border-radius:50%;background:var(--roxo);display:grid;place-items:center}
.sucesso .ok svg{width:30px;height:30px}
.sucesso h3{font-size:2.2rem;font-weight:800;font-stretch:108%;letter-spacing:-.02em}
.sucesso small{color:var(--texto-suave)}
@media (max-width:900px){.form-grade{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "cartao" "extra"}.cartao{margin-top:44px}.cartao__selo{right:-4px;top:-70px;width:128px}.passos{padding-right:0}}
@media (max-width:520px){.duas{grid-template-columns:minmax(0,1fr)}.acoes-form .btn--roxo{max-width:none}}

/* Rodapé */
.rodape{background:var(--roxo);color:rgba(255,255,255,.8);font-size:.95rem}
.rodape .onda{--c:var(--roxo-2)}
.rodape__in{padding-block:64px 40px}
.rodape__grade{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,3fr) minmax(0,4fr);gap:40px}
.rodape__marca{display:flex;flex-direction:column;gap:20px;align-items:flex-start}
.rodape__logo{height:46px;width:auto}
.rodape__slogan{width:min(260px,70%);height:auto}
.rodape h4{font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--amarelo);margin:0 0 16px}
.rodape ul{display:grid;gap:10px}
.rodape a{text-decoration:none}
.rodape a:hover{color:var(--branco)}
.rodape__base{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.14);margin-top:56px;padding-top:24px;font-size:.84rem;color:rgba(255,255,255,.6)}
@media (max-width:860px){.rodape__grade{grid-template-columns:minmax(0,1fr)}}

/* CTA fixo no celular */
.cta-movel{display:none}
@media (max-width:760px){
  .cta-movel{display:flex;position:fixed;z-index:40;left:max(16px,env(safe-area-inset-left,0px));right:max(16px,env(safe-area-inset-right,0px));bottom:calc(14px + env(safe-area-inset-bottom,0px));box-shadow:0 16px 30px -10px var(--sombra);transition:transform .35s,opacity .35s}
  .cta-movel.oculto{transform:translateY(140%);opacity:0;pointer-events:none}
}

@media (prefers-reduced-motion:reduce){
  .faixa__trilho,.mural__trilho,.palco__copo img{animation:none}
  .card,.card:hover{transition:none;transform:none}
}

/* Sem JavaScript: o formulário vira uma página só e envia direto */
.no-js .js-only{display:none !important}
.form-erro{background:#FDE7EC;color:#8E0F33;border-radius:14px;padding:12px 16px;font-size:.92rem;font-weight:500;margin-top:18px}
.btn[disabled]{opacity:.7;cursor:progress}
