:root{--verm:#D93A16;--verm2:#F05A2E;--preto:#141414;--creme:#F3EEDC;--areia:#E7E0C8;--texto:#3a3530;--suave:#57534E}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:Archivo,system-ui,sans-serif;background:var(--creme);color:var(--preto);-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
svg{height:auto}
a{color:inherit}
.wrap{max-width:1200px;margin:0 auto;padding:0 6vw}
.disp{font-family:'Bowlby One',sans-serif;font-weight:400}

/* topo */
header{display:flex;justify-content:space-between;align-items:center;padding:22px 6vw;max-width:1320px;margin:0 auto}
header img{height:48px;width:auto}
header nav{display:flex;gap:22px}
header nav a{font-weight:800;font-size:14px;text-decoration:none;border-bottom:3px solid var(--verm);padding-bottom:2px}

/* botões */
.btn{display:inline-block;border:0;border-radius:999px;background:var(--verm);color:#fff;font-family:'Bowlby One';font-size:18px;padding:16px 30px;text-decoration:none;cursor:pointer;text-align:center}
.btn.preto{background:var(--preto);color:var(--creme)}
.seg{font-size:14px;color:var(--suave);margin-top:10px}
.cta{margin-top:30px}

/* primeira tela */
.hero{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:8px 6vw 72px;max-width:1320px;margin:0 auto}
.selo{display:inline-block;background:var(--verm);color:#fff;font-weight:800;font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding:8px 16px;border-radius:999px}
h1{font-family:'Bowlby One';font-weight:400;font-size:clamp(38px,4.8vw,72px);line-height:1.03;margin:18px 0}
h1 em,h2 em{font-style:normal;color:var(--verm)}
.sub{font-size:21px;line-height:1.45;color:var(--texto);max-width:32ch}
.sub b{color:var(--preto)}
.foto{position:relative}
.foto img{width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:28px}
.ancora{position:absolute;left:-22px;bottom:34px;background:var(--preto);color:var(--creme);border-radius:16px;padding:14px 20px;box-shadow:0 12px 30px rgba(0,0,0,.25)}
.ancora b{font-family:'Bowlby One';font-weight:400;font-size:18px;display:block}
.ancora span{font-size:15px;color:#E8E2CC}.ancora em{font-style:normal;color:var(--verm2)}

/* seções */
section.bloco{padding:84px 0}
section.bloco.areia{background:var(--areia)}
.kicker{font-weight:800;font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--verm)}
h2{font-family:'Bowlby One';font-weight:400;font-size:clamp(30px,3.6vw,52px);line-height:1.08;margin:10px 0 14px}
.lead{font-size:19px;line-height:1.5;color:var(--texto);max-width:56ch}
.tarja{display:inline;padding:.04em .2em;-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:.06em;line-height:1.3}
.tarja.c{background:var(--preto);color:var(--creme)}
.tarja.v{background:var(--verm);color:#fff}

/* passos */
.passos{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-top:40px;counter-reset:p}
.passo{background:#fff;border-radius:24px;padding:18px 18px 24px}
.passo .ilu{background:var(--creme);border-radius:16px;padding:10px}
.passo .n{display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--verm);color:#fff;font-family:'Bowlby One';font-size:18px;margin:18px 0 8px}
.passo h3{font-family:'Bowlby One';font-weight:400;font-size:21px;line-height:1.15;margin-bottom:6px}
.passo p{font-size:16px;line-height:1.45;color:var(--texto)}

/* placar */
.pontos{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.ponto{background:var(--creme);border-radius:24px;padding:16px 16px 22px;display:flex;flex-direction:column}
.areia .ponto{background:#fff}
.ponto .ilu{border-radius:14px;overflow:hidden}
.ponto .val{font-family:'Bowlby One';font-size:40px;color:var(--verm);line-height:1;margin-top:14px}
.ponto .val small{font-size:18px;color:var(--preto);margin-left:4px}
.ponto h3{font-weight:800;font-size:17px;margin:6px 0 4px}
.ponto p{font-size:15px;line-height:1.4;color:var(--texto)}
.ponto.top{background:var(--preto);color:var(--creme)}
.ponto.top p{color:#d9d3c0}
.ponto.top .val{color:var(--verm2);font-size:30px}
.tab{width:100%;max-width:720px;border-collapse:collapse;margin-top:34px;font-size:17px}
.tab td{padding:14px 6px;border-bottom:2px solid rgba(20,20,20,.1)}
.tab td:last-child{text-align:right;font-family:'Bowlby One';color:var(--verm);font-size:22px;white-space:nowrap}
.fecha25{margin-top:28px;font-size:18px;font-weight:700}
.fecha25 a{color:var(--verm)}

/* público */
.publico{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center}
.publico h2{font-size:clamp(28px,3.3vw,46px)}
.lista{list-style:none;margin-top:26px;display:grid;gap:16px}
.lista li{font-size:18px;line-height:1.45;color:var(--texto);padding-left:34px;position:relative}
.lista li::before{content:'';position:absolute;left:0;top:6px;width:18px;height:18px;border-radius:50%;background:var(--verm)}
.lista b{color:var(--preto)}
.publico .foto img{aspect-ratio:4/4.4}

/* faixa escura */
.faixa{position:relative;min-height:600px;display:flex;align-items:flex-end;color:var(--creme);overflow:hidden}
.faixa img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--pos,center)}
.faixa::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,20,20,.05) 20%,rgba(20,20,20,.85) 100%)}
.faixa .wrap{position:relative;z-index:2;padding-bottom:56px;width:100%}
.faixa .frase{font-family:'Bowlby One';font-size:clamp(40px,6vw,92px);line-height:1}
.faixa .seg{color:#E8E2CC}
.faixa.topo{align-items:flex-start;min-height:680px}
.faixa.topo::after{background:linear-gradient(180deg,rgba(20,20,20,.82) 0%,rgba(20,20,20,.35) 38%,rgba(20,20,20,0) 60%)}
.faixa.topo .wrap{padding:56px 6vw 0}
.faixa.topo .cta{margin-top:22px}

/* kit */
.kit{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start}
.ficha{background:#fff;border-radius:24px;padding:10px 28px}
.ficha div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:18px 0;border-bottom:2px solid rgba(20,20,20,.08)}
.ficha div:last-child{border-bottom:0}
.ficha dt{font-weight:800;font-size:15px}
.ficha dd{font-size:16px;line-height:1.45;color:var(--texto)}
.kit .ilu{background:#fff;border-radius:24px;padding:16px}

/* fechamento */
.fecho{background:var(--preto);color:var(--creme);padding:96px 0}
.fecho .grid{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.fecho h2{font-size:clamp(34px,4.4vw,64px)}
.fecho h2 em{color:var(--verm2)}
.fecho .lead{color:#d9d3c0}
.fecho .bul{list-style:none;margin-top:26px;display:grid;gap:10px}
.fecho .bul li{font-weight:700;font-size:17px;padding-left:30px;position:relative}
.fecho .bul li::before{content:'✓';position:absolute;left:0;color:var(--verm2);font-weight:900}
form.card{background:var(--creme);color:var(--preto);border-radius:26px;padding:30px;box-shadow:0 24px 60px rgba(0,0,0,.4)}
.preco{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.preco b{font-family:'Bowlby One';font-weight:400;font-size:46px;color:var(--verm)}
.preco s{color:#7a736b;font-weight:700;font-size:20px}
.preco-nota{font-size:14px;color:var(--suave);margin:2px 0 14px}
form label{display:block;font-size:13px;font-weight:800;margin:12px 0 5px}
form input,form select{width:100%;padding:14px;border:2px solid #d8d0b8;border-radius:12px;font:inherit;font-size:16px;background:#fff;color:var(--preto)}
form input:focus,form select:focus{outline:3px solid rgba(217,58,22,.35);border-color:var(--verm)}
form .btn{width:100%;margin-top:18px}
form .seg{text-align:center}
form .erro{color:var(--verm);font-weight:700;font-size:14px;margin-top:10px;display:none}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* perguntas */
.faq{max-width:800px;margin-top:30px}
.faq details{border-bottom:2px solid rgba(20,20,20,.1);padding:20px 0}
.faq summary{font-weight:800;font-size:18px;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:16px}
.faq summary::after{content:'+';font-family:'Bowlby One';color:var(--verm);font-size:22px;line-height:1}
.faq details[open] summary::after{content:'–'}
.faq p{font-size:17px;line-height:1.5;color:var(--texto);margin-top:10px;max-width:62ch}

/* modos (página-mãe) */
.modos{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:36px}
.modo{background:#fff;border-radius:24px;padding:26px}
.modo h3{font-family:'Bowlby One';font-weight:400;font-size:24px;color:var(--verm);margin-bottom:8px}
.modo p,.modo li{font-size:16px;line-height:1.5;color:var(--texto)}
.modo ul{padding-left:18px;margin-top:8px}
.publicos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:36px}
.publicos a{display:block;text-decoration:none;background:#fff;border-radius:24px;overflow:hidden}
.publicos img{aspect-ratio:4/3;object-fit:cover;width:100%}
.publicos span{display:block;padding:16px 20px;font-family:'Bowlby One';font-size:20px}
.texto-longo{max-width:760px}
.texto-longo h2{font-size:30px;margin-top:40px}
.texto-longo p,.texto-longo li{font-size:17px;line-height:1.6;color:var(--texto);margin-top:10px}
.texto-longo ul{padding-left:22px}

footer{padding:40px 6vw 110px;text-align:center;font-size:14px;color:var(--suave)}
footer a{margin:0 10px}

/* barra fixa no celular */
.barra{position:fixed;left:12px;right:12px;bottom:12px;z-index:50;display:none;transform:translateY(140%);transition:transform .25s}
.barra.on{transform:none}
.barra .btn{width:100%;box-shadow:0 10px 30px rgba(0,0,0,.35)}

@media(max-width:980px){
 .passos,.pontos{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:860px){
 header{padding:14px 18px}header img{height:38px}header nav a.so-desk{display:none}
 .wrap{padding:0 18px}
 .hero{grid-template-columns:1fr;gap:24px;padding:2px 18px 48px}
 .hero .foto{order:-1}.hero .foto img{aspect-ratio:4/3.6}
 .ancora{left:10px;bottom:10px;padding:9px 14px}.ancora b{font-size:14px}.ancora span{font-size:12px}
 .sub{font-size:18px}
 section.bloco{padding:60px 0}
 .publico,.kit,.fecho .grid{grid-template-columns:1fr;gap:30px}
 .faixa,.faixa.topo{display:block;min-height:0;background:var(--preto)}
 .faixa img{position:static;height:auto;aspect-ratio:4/3;object-position:var(--posm,center)}
 .faixa::after,.faixa.topo::after{display:none}
 .faixa .wrap,.faixa.topo .wrap{padding:26px 18px 40px}
 .fecho{padding:64px 0}
 form.card{padding:22px}
 .modos,.publicos{grid-template-columns:1fr}
 .ficha div{grid-template-columns:1fr;gap:4px}
 .barra{display:block}
 .kit .ilu{display:none}
}
@media(max-width:520px){
 .passos,.pontos{grid-template-columns:1fr}
 .btn{width:100%}
}
