/* Layout: seções empilhadas como folhas. Cada uma termina de rolar e a próxima sobe por cima, com cantos arredondados. Preto, branco e roxo; lilás como respiro. Visual único e fixo, por escolha. */
:root{
  color-scheme: light;
  --preto:#000000; --branco:#FFFFFF; --roxo:#5D00AB; --roxo-2:#662483; --lilas:#EFE6FA; --lilas-2:#C9B3EC;
  --grafite:#57526A; --linha:#E4DDEE; --sobre-preto:#BDB5CC; --apagado:#A79FB5;
  --grad:linear-gradient(120deg,var(--roxo) 0%,var(--roxo-2) 100%);
  --display:"Unbounded","Arial Black",system-ui,sans-serif;
  --body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --raio:40px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--preto); color:var(--preto); font-family:var(--body); font-size:17px; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:clip}
h1,h2,h3{font-family:var(--display); text-wrap:balance; margin:0; letter-spacing:-.035em}
p{margin:0} a{color:inherit}
:focus-visible{outline:3px solid var(--roxo); outline-offset:3px; border-radius:8px}
.dark :focus-visible,.purple :focus-visible{outline-color:var(--lilas-2)}
.wrap{max-width:1180px; margin-inline:auto; padding-inline:clamp(16px,4vw,40px)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.btn{display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:54px; padding:0 28px; border-radius:999px; font:700 17px/1 var(--body); text-decoration:none; border:0; cursor:pointer; background:var(--roxo); color:var(--branco); transition:transform .25s, box-shadow .25s, background .25s}
.btn:hover{background:var(--roxo-2); transform:translateY(-2px); box-shadow:0 10px 30px -10px var(--roxo)}
.dark .btn{box-shadow:0 0 0 1px #8A4FD1 inset, 0 10px 40px -12px var(--roxo)}
.btn svg{width:20px; height:20px; fill:currentColor; flex:none}

/* header */
header.site{position:sticky; top:env(safe-area-inset-top,0px); z-index:60; background:var(--preto); color:var(--branco)}
header.site .wrap{display:flex; align-items:center; gap:28px; min-height:72px}
.brand{display:flex; color:var(--branco)}
.brand svg{height:30px; width:auto; aspect-ratio:2400/516; fill:currentColor; display:block}
nav.main{display:flex; gap:22px; margin-left:auto; font-weight:500; white-space:nowrap}
header .btn{white-space:nowrap}
nav.main a{text-decoration:none; color:var(--sobre-preto); transition:color .2s}
nav.main a:hover{color:var(--branco)}
header .btn{min-height:44px; padding:0 20px; font-size:15px}
@media (max-width:1140px){ nav.main{display:none} header .btn{margin-left:auto} }
@media (max-width:440px){ header .btn{display:none} .brand svg{height:24px} }

/* folhas empilhadas */
.sec{padding-block:clamp(72px,9vw,128px); position:relative}
.stack{position:relative}
.sheet{position:sticky; border-radius:var(--raio) var(--raio) 0 0; margin-top:calc(var(--raio) * -1); box-shadow:0 -24px 60px -30px #00000080}
.sheet.base{margin-top:0; border-radius:0; box-shadow:none}
.light{background:var(--branco)}
.soft{background:var(--lilas)}
.dark{background:var(--preto); color:var(--branco)}
.purple{background:var(--grad); color:var(--branco)}
h2{font-weight:600; font-size:clamp(28px,3.8vw,50px); line-height:1.08; max-width:18ch}
.intro{margin-top:18px; max-width:56ch; color:var(--grafite); font-size:18px}
.dark .intro{color:var(--sobre-preto)} .purple .intro{color:#E6D8F7}

/* revelação suave */
.rv{transition:opacity .8s ease, transform .8s cubic-bezier(.2,.7,.2,1)}
.rv.pre{opacity:0; transform:translateY(26px)}
@media (prefers-reduced-motion:reduce){ .rv,.rv.pre{opacity:1; transform:none; transition:none} }

/* hero */
.hero{overflow:hidden; padding-block:clamp(40px,6vw,80px) 0}
.hero::before{content:""; position:absolute; right:-10%; top:-20%; width:70%; height:120%; background:radial-gradient(closest-side, #5D00AB55, transparent 75%); pointer-events:none}
.hero .grid{position:relative; display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:clamp(28px,5vw,72px); align-items:center}
.hero h1{font-weight:600; font-size:clamp(32px,4.4vw,58px); line-height:1.06; max-width:17ch}
.hero .lede{margin-top:24px; font-size:clamp(17px,1.5vw,19px); max-width:52ch; color:var(--sobre-preto)}
.hero .btn{margin-top:34px}
.portrait{margin:0; justify-self:end; width:100%; max-width:400px}
.frame{position:relative; aspect-ratio:660/880}
.frame::before{content:""; position:absolute; inset:8% -18% -6% -18%; background:radial-gradient(closest-side, #5D00ABcc 0%, #662483 38%, #66248333 62%, transparent 78%); filter:blur(8px); pointer-events:none}
.frame img{position:absolute; left:0; bottom:0; width:100%; height:auto; display:block;
  -webkit-mask-image:linear-gradient(to bottom,#000 62%,transparent 97%), linear-gradient(to right,transparent 0,#000 7%,#000 93%,transparent 100%);
  -webkit-mask-composite:source-in; mask-image:linear-gradient(to bottom,#000 62%,transparent 97%), linear-gradient(to right,transparent 0,#000 7%,#000 93%,transparent 100%); mask-composite:intersect}
.portrait figcaption{margin-top:-28px; position:relative; align-items:center; text-align:center; display:flex; flex-direction:column; gap:2px; font-size:15px; color:var(--sobre-preto); padding-left:4px}
.portrait figcaption b{font-family:var(--display); font-weight:600; font-size:16px; color:var(--branco); letter-spacing:-.02em}
.eq{list-style:none; margin:clamp(48px,6vw,80px) 0 0; padding:28px 0 clamp(40px,5vw,64px); border-top:1px solid #2A2236; display:flex; flex-wrap:wrap; align-items:center; gap:12px 18px}
.eq li{display:flex; align-items:center; gap:18px}
.eq .t{font:600 clamp(17px,2vw,26px)/1.2 var(--display); letter-spacing:-.03em; color:var(--branco)}
.eq .op{font:500 clamp(18px,2vw,26px)/1 var(--display); color:var(--lilas-2)}
.eq .res{padding:10px 22px; border-radius:999px; background:var(--grad); font:600 clamp(17px,2vw,26px)/1.2 var(--display); letter-spacing:-.03em; color:var(--branco)}
@media (prefers-reduced-motion:no-preference){
  .eq li{animation:eqIn .7s cubic-bezier(.2,.8,.2,1) backwards; animation-delay:calc(var(--i) * .25s + .5s)}
  .eq .res{animation:pulse 1.8s ease 1.8s 2}
}
@keyframes eqIn{from{opacity:0; transform:translateX(-14px)}}
@keyframes pulse{0%{box-shadow:0 0 0 0 #8A4FD1aa} 100%{box-shadow:0 0 0 18px #8A4FD100}}
@media (max-width:860px){
  .hero .grid{grid-template-columns:1fr}
  .portrait{justify-self:start; max-width:300px}
  .eq{flex-direction:column; align-items:flex-start; gap:10px}
  .eq li{gap:12px}
  .eq li:first-child{padding-left:30px}
  .eq .op{width:18px; text-align:center}
}

/* dores com linha de progresso */
.pains{display:grid; grid-template-columns:minmax(0,5fr) minmax(0,7fr); gap:clamp(32px,6vw,90px); align-items:start}
.pains .head{position:sticky; top:120px}
.track{list-style:none; margin:0; padding:0 0 0 40px; position:relative}
.trackbox{position:relative}
.track::before,.trackbox .fill{content:""; position:absolute; left:7px; top:30px; width:2px; border-radius:2px; z-index:1}
.track::before{bottom:30px; background:var(--linha)}
.trackbox .fill{height:0; background:var(--grad); transition:height .15s linear}
.track li{padding-block:22px; border-bottom:1px solid var(--linha); position:relative}
.track li:last-child{border-bottom:0}
.track li::before{content:""; position:absolute; z-index:2; left:-40px; top:28px; width:16px; height:16px; border-radius:50%; background:var(--branco); box-shadow:inset 0 0 0 2px var(--lilas-2); transition:background .4s, box-shadow .4s, transform .4s}
.track li.on::before{background:var(--roxo); box-shadow:inset 0 0 0 2px var(--roxo), 0 0 0 6px var(--lilas); transform:scale(1.05)}
.track h3{font:600 clamp(17px,1.7vw,20px)/1.3 var(--display); letter-spacing:-.02em}
.track p{margin-top:6px; color:var(--grafite); max-width:52ch}
@media (max-width:820px){ .pains{grid-template-columns:1fr} .pains .head{position:static} }

/* mesma linha: quebrada x alinhada */
.lines{margin-top:48px; display:grid; gap:20px}
.row{background:var(--branco); border-radius:32px; padding:clamp(22px,3.5vw,40px); display:grid; grid-template-columns:minmax(0,7fr) minmax(0,4fr); gap:clamp(20px,4vw,48px); align-items:center}
.row.good{background:var(--preto); color:var(--branco)}
.row h3{font:600 20px/1.2 var(--display); grid-column:1/-1}
.row ul{list-style:none; margin:0; padding:0; display:grid; gap:10px; font-size:16px}
.row li{padding-left:24px; position:relative}
.row.bad li{color:var(--grafite)}
.row.bad li::before{content:""; position:absolute; left:0; top:11px; width:12px; height:2px; background:var(--apagado); box-shadow:5px 0 0 var(--branco)}
.row.good li::before{content:""; position:absolute; left:0; top:10px; width:14px; height:4px; border-radius:4px; background:var(--lilas-2)}
.pcs{display:flex; align-items:flex-start; min-width:0}
.pc{flex:1; min-width:0; text-align:center; position:relative; padding-block:30px; transition:transform 1s cubic-bezier(.2,.8,.2,1), margin 1s cubic-bezier(.2,.8,.2,1)}
.pc svg{display:block; width:100%; height:26px; overflow:visible}
.pc path{fill:none; stroke-width:4; stroke-linecap:round; vector-effect:non-scaling-stroke}
.pc span{position:absolute; left:50%; bottom:0; transform:translateX(-50%); font-size:13px; font-weight:600; white-space:nowrap; line-height:1.2}
.pc:nth-child(even) span{bottom:auto; top:0}
.end{flex:none; width:64px; text-align:center; padding-top:30px}
.end i{display:block; width:22px; height:22px; border-radius:50%; margin:2px auto 0}
.end span{display:block; margin-top:8px; font-size:13px; font-weight:700}
.bad .pc path{stroke:var(--apagado); stroke-dasharray:6 6}
.bad .pc span{color:var(--grafite)}
.bad .pc:nth-child(1){transform:translateY(-6px) rotate(-6deg)}
.bad .pc:nth-child(2){transform:translateY(14px) rotate(9deg); margin-left:18px}
.bad .pc:nth-child(3){transform:translateY(-10px) rotate(-11deg); margin-left:22px}
.bad .pc:nth-child(4){transform:translateY(10px) rotate(7deg); margin-left:16px}
.bad .end{opacity:.5; margin-left:20px} .bad .end i{border:2px dashed var(--apagado)}
.good .pc path{stroke:url(#gl)}
.good .pc:nth-child(1) path{stroke:#7A2BC6} .good .pc:nth-child(2) path{stroke:#8E45D3} .good .pc:nth-child(3) path{stroke:#A365DD} .good .pc:nth-child(4) path{stroke:#B98AE6}
.good .end i{background:var(--branco); box-shadow:0 0 0 6px #5D00AB88}
.good:not(.in) .pc:nth-child(1){transform:translateY(-6px) rotate(-6deg)}
.good:not(.in) .pc:nth-child(2){transform:translateY(14px) rotate(9deg); margin-left:18px}
.good:not(.in) .pc:nth-child(3){transform:translateY(-10px) rotate(-11deg); margin-left:22px}
.good:not(.in) .pc:nth-child(4){transform:translateY(10px) rotate(7deg); margin-left:16px}
@media (prefers-reduced-motion:reduce){ .good .pc{transform:none!important; margin-left:0!important; transition:none} }
@media (max-width:820px){ .row{grid-template-columns:1fr} .pc span,.end span{font-size:12px} .end{width:48px} }

/* método */
.steps-wrap{position:relative; margin-top:56px}
.steps-wave{position:absolute; left:0; right:0; top:0; width:100%; height:64px}
.steps-wave path{stroke-dasharray:3 9; animation:flow 30s linear infinite}
@keyframes flow{to{stroke-dashoffset:-600}}
@media (prefers-reduced-motion:reduce){ .steps-wave path{animation:none} }
.steps{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px; counter-reset:s}
.steps li{padding-top:88px; position:relative}
.steps li::before{counter-increment:s; content:counter(s); position:absolute; top:10px; left:0; width:46px; height:46px; border-radius:50%; background:var(--preto); color:var(--lilas-2); display:grid; place-items:center; font:600 18px var(--display)}
.steps h3{font:600 20px/1.2 var(--display)}
.steps p{margin-top:10px; color:var(--grafite); font-size:16.5px}
@media (max-width:900px){
  .steps-wave{display:none}
  .steps{grid-template-columns:1fr; gap:0}
  .steps li{padding:0 0 36px 68px}
  .steps li::before{top:0}
  .steps li::after{content:""; position:absolute; left:22px; top:54px; bottom:8px; width:2px; background:repeating-linear-gradient(var(--roxo) 0 6px, transparent 6px 12px)}
  .steps li:last-child::after{display:none}
}

/* canais */
.channels{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:48px}
.ch{border-radius:32px; padding:clamp(24px,3vw,36px); background:#0E0A14; box-shadow:inset 0 0 0 1px #2A2236; display:flex; flex-direction:column; gap:14px; transition:transform .35s, box-shadow .35s}
.ch:hover{transform:translateY(-4px); box-shadow:inset 0 0 0 1px #6B3FA6}
.ch .ic{width:64px; height:64px; border-radius:22px 22px 22px 6px; background:var(--grad); display:grid; place-items:center; color:var(--branco)}
.ch .ic svg{width:34px; height:34px; fill:none; stroke:currentColor; stroke-width:2.6; stroke-linecap:round; stroke-linejoin:round}
.ch h3{font:600 22px/1.15 var(--display)}
.ch p{color:var(--sobre-preto)}
@media (max-width:900px){ .channels{grid-template-columns:1fr} }

/* segmentos */
.marquee{overflow:hidden; margin-bottom:clamp(40px,6vw,72px); mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.marquee div{display:flex; width:max-content; gap:28px; animation:mq 50s linear infinite}
.marquee span{font:600 clamp(26px,3.6vw,46px)/1.1 var(--display); letter-spacing:-.035em; color:#ffffff38; white-space:nowrap; display:flex; align-items:center; gap:28px}
.marquee span::after{content:""; width:14px; height:14px; border-radius:50%; background:var(--lilas-2)}
@keyframes mq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){ .marquee div{animation:none} }
.seg-grid{display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:clamp(28px,5vw,80px); align-items:start}
.seg-grid .head{position:sticky; top:120px}
.seg-list{list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; column-gap:32px}
.seg-list li{padding:16px 0 16px 30px; border-bottom:1px solid #ffffff2e; position:relative; font-weight:500; font-size:17px; line-height:1.4}
.seg-list li::before{content:""; position:absolute; left:0; top:22px; width:16px; height:8px; border-radius:8px; border:2px solid var(--lilas-2); border-right-color:transparent; transform:rotate(-20deg)}
@media (max-width:860px){ .seg-grid{grid-template-columns:1fr} .seg-grid .head{position:static} .seg-list{grid-template-columns:1fr} }

/* depoimentos */
.rev-head{display:flex; flex-wrap:wrap; align-items:end; justify-content:space-between; gap:20px}
.gscore{display:flex; align-items:center; gap:12px; font-weight:600}
.gscore b{font:600 34px/1 var(--display)}
.stars{display:inline-flex; gap:2px} .stars svg{width:18px; height:18px; fill:var(--roxo)}
.reviews{list-style:none; margin:44px 0 0; padding:0; display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr)); gap:20px; align-items:start}
.reviews li{min-width:0; background:var(--lilas); border-radius:28px 28px 28px 8px; padding:26px; display:flex; flex-direction:column; gap:14px; overflow-wrap:anywhere}
.reviews li:nth-child(3n+2){background:var(--preto); color:var(--branco)}
.reviews li:nth-child(3n+2) .stars svg{fill:var(--lilas-2)}
.reviews blockquote{margin:0; font-size:17px}
.reviews cite{font-style:normal; font-weight:700}
.reviews small{display:block; font-weight:500; opacity:.7; font-size:13px}

/* quem somos */
.qs{overflow:clip}
.qs::before{content:""; position:absolute; left:-12%; top:0; width:70%; height:60%; background:radial-gradient(closest-side,#5D00AB44,transparent 75%); pointer-events:none}
.qs-grid{position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(32px,6vw,96px); align-items:center}
.qs-media{position:sticky; top:calc(env(safe-area-inset-top,0px) + 160px); align-self:start; mix-blend-mode:screen}
.qs-video{display:block; width:100%; height:auto; aspect-ratio:1000/380; background:var(--preto)}
.qs-text{display:grid; gap:20px; font-size:clamp(17px,1.5vw,19px); line-height:1.65; color:var(--sobre-preto)}
.qs-text h2{text-align:left !important; margin:0 0 4px !important; color:var(--branco)}
.qs-text b{color:var(--branco); font-weight:700}
@media (max-width:820px){
  .qs-grid{grid-template-columns:1fr}
  .qs-media{position:static; order:2; max-width:520px; width:100%; margin-inline:auto}
  .qs-text{order:1; text-align:center}
  .qs-text h2{text-align:center !important}
}

/* sobre */
.about{display:grid; grid-template-columns:minmax(0,7fr) minmax(0,5fr); gap:clamp(32px,6vw,90px); align-items:start}
.about blockquote{margin:0; font:600 clamp(26px,3.4vw,44px)/1.12 var(--display); letter-spacing:-.04em}
.about .bio{margin-top:28px; display:grid; gap:14px; max-width:60ch}
.about .who{margin-top:18px; font-weight:700}
.facts{list-style:none; margin:0; padding:0; display:grid; gap:14px}
.facts li{background:var(--branco); border-radius:26px 26px 26px 6px; padding:20px 24px}
.facts b{display:block; font:600 clamp(28px,3vw,38px)/1 var(--display); letter-spacing:-.03em; color:var(--roxo); font-variant-numeric:tabular-nums}
.facts span{display:block; margin-top:6px; color:var(--grafite)}
.facts small{display:block; font-size:13px; opacity:.8; margin-top:2px}
@media (max-width:820px){ .about{grid-template-columns:1fr} }

/* faq */
.faq{display:grid; grid-template-columns:minmax(0,4fr) minmax(0,8fr); gap:clamp(28px,5vw,80px)}
details{border-bottom:1px solid var(--linha)}
summary{list-style:none; cursor:pointer; display:flex; gap:16px; justify-content:space-between; align-items:center; padding-block:22px; font:600 clamp(16px,1.6vw,19px)/1.35 var(--display); letter-spacing:-.02em}
summary::-webkit-details-marker{display:none}
summary .pm{flex:none; width:34px; height:34px; border-radius:50%; background:var(--lilas); position:relative; transition:transform .3s, background .3s}
summary .pm::before,summary .pm::after{content:""; position:absolute; left:10px; right:10px; top:16px; height:2px; background:var(--preto); transition:background .3s}
summary .pm::after{transform:rotate(90deg)}
details[open] .pm{transform:rotate(45deg); background:var(--roxo)}
details[open] .pm::before,details[open] .pm::after{background:var(--branco)}
details p{padding-bottom:22px; color:var(--grafite); max-width:62ch}
@media (max-width:820px){ .faq{grid-template-columns:1fr} }

/* consultoria */
.final{position:relative; overflow:clip}
.final::before{content:""; position:absolute; left:-15%; bottom:-30%; width:70%; height:90%; background:radial-gradient(closest-side, #5D00AB55, transparent); pointer-events:none}
.final .grid{position:relative; display:grid; grid-template-columns:minmax(0,6fr) minmax(0,5fr); gap:clamp(32px,6vw,80px); align-items:start}
.final .contact{margin-top:30px; display:grid; gap:4px; color:var(--sobre-preto)}
.final .contact b{color:var(--branco)}
form{background:var(--branco); color:var(--preto); border-radius:32px 32px 32px 8px; padding:clamp(22px,3vw,36px); display:grid; gap:16px}
label{font-weight:600; font-size:15px; display:grid; gap:6px}
input,select{font:inherit; font-size:17px; min-height:50px; padding:0 16px; border-radius:14px; border:1.5px solid var(--linha); background:var(--branco); color:var(--preto); width:100%}
input:focus,select:focus{outline:none; border-color:var(--roxo); box-shadow:0 0 0 4px var(--lilas)}
form :focus-visible{outline-color:var(--roxo)}
form .btn{width:100%}
.formnote{font-size:14px; color:var(--grafite)}
.form-hint{display:flex; align-items:center; gap:10px; margin:0 0 4px; padding:12px 14px; border-radius:14px; background:var(--lilas); color:var(--roxo); font-weight:700; font-size:15px; line-height:1.35; text-align:left}
.mbar{transition:transform .3s ease, opacity .3s ease}
body.form-on .mbar{transform:translateY(110%); opacity:0; pointer-events:none}
.form-hint svg{flex:none; width:22px; height:22px; fill:currentColor}
#consultoria{scroll-margin-top:64px}
.ok{background:var(--lilas); color:var(--roxo); padding:14px 16px; border-radius:14px; font-weight:600}
.ok a{color:var(--roxo); font-weight:700}
.err{color:#B42318; font-size:14px; font-weight:600}
@media (max-width:820px){ .final .grid{grid-template-columns:1fr} }

footer{position:relative; z-index:2; background:var(--preto); color:var(--sobre-preto); padding-block:48px; font-size:15px; border-top:1px solid #2A2236}
footer .wrap{display:flex; flex-wrap:wrap; gap:18px 40px; justify-content:space-between}
footer .brand svg{height:26px}
footer a{text-decoration:none}

.mbar{position:fixed; left:0; right:0; bottom:0; z-index:70; display:none; padding:10px 16px calc(10px + env(safe-area-inset-bottom,0px)); background:color-mix(in srgb, var(--preto) 92%, transparent); backdrop-filter:blur(10px)}
.mbar .btn{width:100%; min-height:50px}
@media (max-width:760px){ .mbar{display:block} body{padding-bottom:76px} }

/* ===== centralização: títulos no desktop, conteúdo no celular ===== */
.sec h2,.sec .intro{margin-inline:auto; text-align:center}
.pains,.seg-grid,.faq,.about{grid-template-columns:1fr !important}
.pains .head,.seg-grid .head{position:static; text-align:center}
.pains .trackbox{max-width:760px; width:100%; margin-inline:auto}
.seg-list{grid-template-columns:repeat(3,minmax(0,1fr))}
.faq > div{max-width:820px; width:100%; margin-inline:auto}
.rev-head{flex-direction:column; align-items:center; text-align:center}
.about{text-align:center}
.about blockquote{max-width:24ch; margin-inline:auto}
.about .bio{margin-inline:auto}
.facts{grid-template-columns:repeat(3,minmax(0,1fr)); max-width:900px; width:100%; margin-inline:auto}
.final .grid{align-items:start}
@media (min-width:821px){ .final .grid > div:first-child{position:sticky; top:calc(env(safe-area-inset-top,0px) + 120px)} }
.final .grid h2,.final .grid .intro{text-align:left; margin-inline:0}
.final form{width:100%}
@media (max-width:900px){ .seg-list{grid-template-columns:repeat(2,minmax(0,1fr))} }

@media (max-width:760px){
  .sec,.hero{text-align:center}
  .hero h1,.hero .lede{margin-inline:auto}
  .portrait{justify-self:center}
  .portrait figcaption{align-items:center; padding-left:0}
  .eq{align-items:center}
  .eq li:first-child{padding-left:0}
  .eq li{flex-direction:column; gap:8px}
  .track{padding-left:0}
  .track::before,.trackbox .fill{display:none}
  .track li::before{position:static; display:block; margin:0 auto 12px}
  .track p{margin-inline:auto}
  .row ul li{padding-left:0}
  .row ul li::before{display:none}
  .steps li{padding:64px 0 32px}
  .steps li::before{left:50%; transform:translateX(-50%)}
  .steps li::after{display:none}
  .ch{align-items:center}
  .seg-list{grid-template-columns:1fr}
  .seg-list li{padding:16px 0}
  .seg-list li::before{display:none}
  .reviews li{align-items:center}
  .facts{grid-template-columns:1fr}
  summary,details p{text-align:left}
  label{text-align:left}
  .final .grid > div:first-child{text-align:center}
  .final .grid h2,.final .grid .intro{text-align:center; margin-inline:auto}
  .final .contact{justify-items:center}
  footer .wrap{flex-direction:column; align-items:center; text-align:center}
  footer .brand{justify-content:center}
}

/* ===== produção: links de segmento, páginas internas ===== */
.hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.seg-list a{text-decoration:none; color:inherit; display:block; transition:color .2s, transform .2s}
.seg-list a:hover{color:#fff; transform:translateX(4px)}
.seg-list a::after{content:" \2192"; opacity:0; transition:opacity .2s}
.seg-list a:hover::after{opacity:1}
.seg-hint{margin-top:14px; font-size:15px; color:#E6D8F7}
.crumbs{font-size:14px; color:var(--sobre-preto); margin-bottom:22px}
.crumbs ol{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; justify-content:center; gap:6px}
.crumbs li+li::before{content:"/"; margin-right:6px; opacity:.5}
.crumbs a{text-decoration:none} .crumbs a:hover{color:#fff}
.page-hero{text-align:center; overflow:clip; padding-block:clamp(56px,8vw,112px)}
.page-hero::before{content:""; position:absolute; left:50%; top:-30%; width:80%; height:120%; transform:translateX(-50%); background:radial-gradient(closest-side,#5D00AB55,transparent 75%); pointer-events:none}
.page-hero .wrap{position:relative}
.page-hero h1{font-weight:600; font-size:clamp(28px,4.2vw,54px); line-height:1.08; max-width:22ch; margin-inline:auto}
.page-hero .lede{margin:22px auto 0; max-width:60ch; color:var(--sobre-preto); font-size:clamp(17px,1.5vw,19px)}
.page-hero .btn{margin-top:32px}
.pains-c .trackbox{max-width:760px; margin:40px auto 0}
.ch ul{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px}
.ch li{font-size:14px; font-weight:600; padding:6px 12px; border-radius:999px; background:#1E1528; color:var(--lilas-2)}
.reviews.three{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.more{display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr)); gap:10px; margin-top:36px; list-style:none; padding:0}
.more a{display:block; height:100%; padding:16px 18px; border-radius:18px 18px 18px 4px; background:var(--branco); text-decoration:none; font-weight:600; line-height:1.35; transition:background .2s, color .2s}
.more a:hover{background:var(--roxo); color:#fff}
.center-cta{text-align:center; margin-top:40px}
.legal .wrap{max-width:780px}
.legal h1{font-size:clamp(28px,4vw,44px); line-height:1.1; text-align:center}
.legal h2{font-size:22px; text-align:left; max-width:none; margin:36px 0 10px}
.legal p,.legal li{color:var(--grafite)}
.legal p+p{margin-top:12px}
.legal .upd{text-align:center; margin-top:12px; color:var(--grafite)}
footer nav{display:grid; gap:4px}
footer nav a:hover{color:#fff}
footer .cols{display:flex; flex-wrap:wrap; gap:18px 48px; justify-content:space-between; width:100%}
footer .segs{column-count:2; column-gap:28px; font-size:14px}
footer .segs a{display:block; padding:2px 0}
footer .legal-links{width:100%; border-top:1px solid #2A2236; padding-top:18px; display:flex; flex-wrap:wrap; gap:8px 24px; justify-content:space-between; font-size:14px}
@media (max-width:760px){ footer .cols{flex-direction:column; align-items:center; text-align:center} footer .segs{column-count:1} footer .legal-links{justify-content:center; text-align:center} }
a.sr:focus{position:fixed; left:12px; top:12px; width:auto; height:auto; clip:auto; z-index:100; background:#fff; color:#000; padding:10px 14px; border-radius:10px}
form .btn{white-space:nowrap; padding-inline:18px}
@media (max-width:400px){ form .btn{font-size:16px} }
.mbar{transition:transform .3s ease, opacity .3s ease}
body.form-on .mbar{transform:translateY(110%); opacity:0; pointer-events:none}
.nf{text-align:center; min-height:70vh; display:grid; place-items:center}
