/* Midtech — identidade visual 2026
   Roxo #7C24F4 · Preto #1D1D1D · Off #E6E6E6
   Space Grotesk (títulos e texto) · JetBrains Mono (números, rótulos, ranking) */

:root{
  --roxo:#7C24F4;
  --roxo-hover:#8C3DFF;
  --roxo-claro:#B08BFF;
  --roxo-fundo:rgba(124,36,244,.16);
  --preto:#1D1D1D;
  --preto-2:#161616;
  --sup:#242424;
  --sup-2:#2C2C2C;
  --off:#E6E6E6;
  --branco:#FFFFFF;
  --txt:#E6E6E6;
  --txt-2:#ABA8B2;
  --txt-3:#7F7C87;
  --linha:rgba(230,230,230,.12);
  --linha-2:rgba(230,230,230,.24);
  --grade:rgba(230,230,230,.035);
  --grad:linear-gradient(140deg,#1D1D1D 0%,#22143A 52%,#3A1A72 100%);
  --erro:#FF8A80;
  --ok:#7EE2A8;
  --sans:"Space Grotesk",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,"Cascadia Mono",Menlo,monospace;
  --topo-h:72px;
  color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
body{margin:0;background:var(--preto);color:var(--txt);font-family:var(--sans);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,svg{max-width:100%;display:block}
a{color:inherit}
p{margin:0}
h1,h2,h3{margin:0;font-weight:700;letter-spacing:-.03em;line-height:1.05;text-wrap:balance}
ul,ol{margin:0;padding:0}
button,input,textarea,select{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--roxo-claro);outline-offset:3px}
[hidden]{display:none!important}
.mono{font-family:var(--mono)}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.wrap{width:100%;max-width:1200px;margin:0 auto;padding-inline:24px}
section[id]{scroll-margin-top:calc(var(--topo-h) + 8px)}

.skip{position:absolute;left:16px;top:-60px;z-index:100;background:var(--roxo);color:#fff;padding:10px 16px;text-decoration:none;font-weight:600}
.skip:focus{top:12px}

/* ---------------------------------------------------------- botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:14px 26px;border:1px solid transparent;border-radius:0;font-family:var(--sans);font-size:16px;font-weight:600;letter-spacing:-.005em;line-height:1.1;text-decoration:none;cursor:pointer;transition:background-color .18s,border-color .18s,color .18s,transform .18s;white-space:nowrap}
.btn:hover{transform:translateY(-1px)}
.btn-roxo{background:var(--roxo);color:#fff}
.btn-roxo:hover{background:var(--roxo-hover)}
.btn-linha{background:transparent;color:inherit;border-color:var(--linha-2)}
.btn-linha:hover{border-color:currentColor}
.btn-branco{background:#fff;color:var(--preto)}
.btn-branco:hover{background:var(--off)}
.btn-preto{background:var(--preto);color:#fff}
.btn-preto:hover{background:#000}
.btn-sm{min-height:44px;padding:10px 18px;font-size:14.5px}
.btn-bloco{display:flex;width:100%}
.btn svg{width:18px;height:18px;flex:none}

/* ---------------------------------------------------------- rótulos */
.eyebrow{display:inline-flex;align-items:center;gap:10px;font-family:var(--mono);font-size:12.5px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--txt-2)}
.eyebrow i{width:10px;height:10px;background:var(--roxo);flex:none}
.tag{display:inline-block;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:4px 9px;background:var(--roxo);color:#fff;white-space:nowrap}
.tag.linha{background:transparent;color:var(--txt-2);border:1px solid var(--linha-2)}

.sec{padding-block:clamp(72px,9vw,120px)}
.sec-head{display:grid;gap:18px;max-width:760px;margin-bottom:clamp(40px,5vw,64px)}
.sec-head h2{font-size:clamp(34px,5vw,58px)}
.sec-head .lede{font-size:clamp(17px,1.6vw,19px);color:var(--txt-2);max-width:60ch}
.hl{background:var(--roxo);color:#fff;padding:0 .1em;-webkit-box-decoration-break:clone;box-decoration-break:clone}

/* seções claras e roxas trocam os tokens */
.claro{background:var(--off);color:var(--preto);--txt:#1D1D1D;--txt-2:#4B4853;--txt-3:#6C6973;--linha:rgba(29,29,29,.14);--linha-2:rgba(29,29,29,.28);--sup:#F2F2F2;--sup-2:#FFFFFF;color-scheme:light}
.claro .eyebrow{color:#4B4853}
.claro :focus-visible{outline-color:var(--roxo)}
.roxo{background:var(--roxo);color:#fff;--txt:#fff;--txt-2:rgba(255,255,255,.84);--txt-3:rgba(255,255,255,.66);--linha:rgba(255,255,255,.26);--linha-2:rgba(255,255,255,.45)}
.roxo .eyebrow{color:rgba(255,255,255,.84)}
.roxo .eyebrow i{background:#fff}
.roxo :focus-visible{outline-color:#fff}

/* ---------------------------------------------------------- marca */
.marca{display:inline-flex;align-items:center;gap:12px;text-decoration:none;color:var(--txt);min-width:0}
.marca-m{width:34px;height:auto;flex:none;color:var(--roxo)}
.marca-txt{display:flex;flex-direction:column;font-weight:700;font-size:19px;letter-spacing:.02em;line-height:1}
.marca-txt small{font-family:var(--mono);font-weight:400;font-size:9.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--txt-3);margin-top:5px}

/* ---------------------------------------------------------- topo */
.topo{position:sticky;top:0;z-index:50;background:rgba(29,29,29,.92);backdrop-filter:saturate(140%) blur(10px);-webkit-backdrop-filter:saturate(140%) blur(10px);border-bottom:1px solid var(--linha);padding-top:env(safe-area-inset-top,0px)}
.topo-in{display:flex;align-items:center;gap:24px;height:var(--topo-h)}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{font-size:15px;font-weight:500;color:var(--txt-2);text-decoration:none;padding:8px 12px;transition:color .15s}
.nav a:hover{color:var(--txt)}
.topo-acoes{display:flex;align-items:center;gap:10px}
.ig-btn{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:9px 14px;border:1px solid var(--linha-2);text-decoration:none;font-family:var(--mono);font-size:13px;font-weight:500;color:var(--txt);transition:border-color .15s,background-color .15s}
.ig-btn:hover{border-color:var(--roxo);background:var(--roxo-fundo)}
.ig-btn svg{width:18px;height:18px;flex:none;color:var(--roxo-claro)}
.menu-btn{display:none;width:48px;height:48px;border:1px solid var(--linha-2);background:transparent;cursor:pointer;position:relative;flex:none}
.menu-btn span{position:absolute;left:13px;right:13px;height:2px;background:var(--txt);transition:transform .2s}
.menu-btn span:first-child{top:18px}
.menu-btn span:last-child{top:27px}
.menu-btn[aria-expanded="true"] span:first-child{transform:translateY(4.5px) rotate(45deg)}
.menu-btn[aria-expanded="true"] span:last-child{transform:translateY(-4.5px) rotate(-45deg)}
.menu-mobile{position:fixed;left:0;right:0;bottom:0;top:calc(var(--topo-h) + env(safe-area-inset-top,0px));background:var(--preto);border-top:1px solid var(--linha);overflow-y:auto;padding:12px 24px calc(28px + env(safe-area-inset-bottom,0px));display:flex;flex-direction:column}
.menu-mobile > a:not(.btn):not(.ig-grande){font-size:24px;font-weight:600;letter-spacing:-.02em;text-decoration:none;padding:16px 0;border-bottom:1px solid var(--linha)}
.menu-mobile .ig-grande{margin-top:24px}
.menu-mobile .btn{margin-top:14px}

/* ---------------------------------------------------------- hero */
.hero{position:relative;overflow:hidden;border-bottom:1px solid var(--linha);background-image:linear-gradient(var(--grade) 1px,transparent 1px),linear-gradient(90deg,var(--grade) 1px,transparent 1px);background-size:64px 64px;background-position:-1px -1px}
.hero-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(32px,5vw,72px);align-items:center;padding-block:clamp(56px,8vw,112px) clamp(120px,14vw,190px)}
.hero h1{font-size:clamp(42px,6.6vw,86px);letter-spacing:-.045em;line-height:.98;margin-top:22px}
.hero .lede{font-size:clamp(17px,1.7vw,20px);color:var(--txt-2);max-width:54ch;margin-top:26px}
.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}
.provas{list-style:none;display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:34px;font-size:14.5px;color:var(--txt-2)}
.provas li{display:flex;align-items:center;gap:9px}
.provas li::before{content:"";width:8px;height:8px;background:var(--roxo);flex:none}
.sol{position:absolute;z-index:0;pointer-events:none;color:var(--roxo)}
.hero .sol{right:-40px;bottom:-2px;width:min(560px,62vw)}

.ficha{position:relative;background:var(--sup);border:1px solid var(--linha-2)}
.ficha-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--linha);font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--txt-2)}
.ficha-body{padding:22px 20px 20px}
.ficha-t{font-size:15px;color:var(--txt-2)}
.ficha-lista{list-style:none;margin-top:14px;display:grid;gap:0}
.ficha-lista li{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--linha);font-size:16px;font-weight:500}
.ficha-lista li:last-child{border-bottom:1px solid var(--linha)}
.ficha-lista svg{width:18px;height:18px;color:var(--roxo-claro);flex:none}
.ficha-com{margin-top:18px;display:flex;flex-direction:column;gap:4px}
.ficha-com span{font-family:var(--mono);font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--txt-3)}
.ficha-com b{font-family:var(--mono);font-size:clamp(26px,3vw,34px);font-weight:500;letter-spacing:-.03em;color:var(--txt)}

/* ---------------------------------------------------------- 3 passos */
.passos3{border-bottom:1px solid var(--linha)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr)}
.p3{padding:34px 28px 36px;border-left:1px solid var(--linha)}
.p3:first-child{border-left:0;padding-left:0}
.p3 .n{font-family:var(--mono);font-size:44px;font-weight:500;line-height:1;color:var(--roxo-claro);letter-spacing:-.04em}
.p3 h3{font-size:22px;margin-top:18px}
.p3 p{color:var(--txt-2);font-size:15.5px;margin-top:8px;max-width:34ch}

/* ---------------------------------------------------------- benefícios */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--linha);border:1px solid var(--linha)}
.card{background:var(--sup-2);padding:30px 28px 32px;display:flex;flex-direction:column;gap:12px}
.card-ico{width:44px;height:44px;display:grid;place-items:center;background:var(--roxo);color:#fff}
.card-ico svg{width:22px;height:22px}
.card h3{font-size:21px;letter-spacing:-.02em;margin-top:6px}
.card p{font-size:15.5px;color:var(--txt-2)}

/* ---------------------------------------------------------- como funciona */
.fases{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,3vw,40px)}
.fase-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:14px;border-bottom:2px solid var(--txt)}
.fase-head h3{font-size:26px}
.fase-head span{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-3)}
.etapas{list-style:none}
.etapa{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:18px 0;border-bottom:1px solid var(--linha)}
.etapa .num{font-family:var(--mono);font-size:14px;font-weight:500;color:var(--roxo-claro);padding-top:3px}
.etapa h4{margin:0;font-size:17.5px;font-weight:600;letter-spacing:-.01em;display:flex;flex-wrap:wrap;align-items:center;gap:8px 10px}
.etapa p{font-size:15px;color:var(--txt-2);margin-top:4px}

/* ---------------------------------------------------------- simulador */
.sim{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.sim-ctrl{display:flex;flex-direction:column;gap:22px}
.sim-label{display:flex;justify-content:space-between;align-items:flex-end;gap:16px}
.sim-label label{font-family:var(--mono);font-size:12.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-2)}
.sim-num{display:flex;align-items:baseline;gap:8px}
.sim-num input{width:3.4ch;background:transparent;border:0;border-bottom:2px solid rgba(255,255,255,.6);font-family:var(--mono);font-size:clamp(44px,5vw,60px);font-weight:500;letter-spacing:-.04em;line-height:1;padding:0;text-align:right;color:#fff;-moz-appearance:textfield}
.sim-num input::-webkit-outer-spin-button,.sim-num input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.sim-num input:focus{outline:none;border-bottom-color:#fff}
.sim-num span{font-size:18px;color:var(--txt-2)}
.range{--p:19.2%;-webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;cursor:pointer;margin:0}
.range::-webkit-slider-runnable-track{height:6px;background:linear-gradient(90deg,#fff var(--p),rgba(255,255,255,.28) var(--p))}
.range::-moz-range-track{height:6px;background:rgba(255,255,255,.28)}
.range::-moz-range-progress{height:6px;background:#fff}
.range::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;margin-top:-10px;background:var(--preto);border:3px solid #fff;border-radius:0}
.range::-moz-range-thumb{width:20px;height:20px;background:var(--preto);border:3px solid #fff;border-radius:0}
.range:focus-visible{outline:2px solid #fff;outline-offset:6px}
.rapidos{display:flex;flex-wrap:wrap;gap:8px}
.rapido{min-height:44px;min-width:56px;padding:8px 14px;border:1px solid rgba(255,255,255,.45);background:transparent;color:#fff;font-family:var(--mono);font-size:14px;cursor:pointer;transition:background-color .15s,color .15s}
.rapido:hover{background:rgba(255,255,255,.12)}
.rapido[aria-pressed="true"]{background:#fff;color:var(--roxo)}
.sim-regra{font-size:15px;color:var(--txt-2)}
.sim-regra b{font-family:var(--mono);font-weight:500;color:#fff}
.sim-res{background:var(--preto);color:var(--off);padding:clamp(24px,3vw,36px);display:flex;flex-direction:column;gap:14px}
.sim-res .k{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#ABA8B2}
.sim-valor{font-family:var(--mono);font-size:clamp(26px,2.8vw,40px);font-weight:500;letter-spacing:-.04em;line-height:1.05;color:#fff;font-variant-numeric:tabular-nums}
.sim-valor .sim-mes{font-size:.45em;color:#ABA8B2;margin-left:6px;letter-spacing:0}
.sim-conta{font-size:15px;color:#ABA8B2}
.sim-aviso{font-size:13px;color:var(--txt-2);margin-top:22px;max-width:70ch}

/* ---------------------------------------------------------- catálogo */
.cats{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1px;background:var(--linha);border:1px solid var(--linha)}
.cats li{background:var(--preto);padding:22px 20px;display:flex;flex-direction:column;gap:10px}
.cats .num{font-family:var(--mono);font-size:12px;color:var(--txt-3)}
.cats b{font-size:20px;font-weight:600;letter-spacing:-.02em}
.nota{margin-top:26px;padding:18px 20px;border-left:3px solid var(--roxo);background:var(--sup);font-size:15.5px;color:var(--txt-2);max-width:80ch}
.nota strong{color:var(--txt);font-weight:600}

/* ---------------------------------------------------------- ranking */
.rank{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,4vw,56px);align-items:start}
.pontos{border:1px solid var(--linha-2);padding:clamp(24px,3vw,34px)}
.pontos .k{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-3)}
.pontos .regra{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 16px;margin-top:14px;font-family:var(--mono);font-weight:500;letter-spacing:-.04em;line-height:1}
.pontos .regra b{font-size:clamp(40px,5vw,60px);font-weight:500}
.pontos .regra span{font-size:clamp(22px,2.6vw,30px);color:var(--roxo-claro)}
.pontos p{font-size:15.5px;color:var(--txt-2);margin-top:18px}
.podio{list-style:none;display:grid;gap:1px;background:var(--linha);border:1px solid var(--linha)}
.lugar{display:grid;grid-template-columns:86px minmax(0,1fr);background:var(--preto)}
.lugar .pos{font-family:var(--mono);font-size:36px;font-weight:500;letter-spacing:-.04em;display:grid;place-items:center;border-right:1px solid var(--linha)}
.lugar .desc{padding:20px 22px}
.lugar h3{font-size:19px;letter-spacing:-.015em}
.lugar ul{list-style:none;margin-top:10px;display:grid;gap:6px;font-size:15px;color:var(--txt-2)}
.lugar li{display:flex;gap:10px}
.lugar li::before{content:"";width:6px;height:6px;background:var(--txt-3);margin-top:9px;flex:none}
.lugar.primeiro{background:var(--roxo)}
.lugar.primeiro .pos{border-right-color:rgba(255,255,255,.3);color:#fff}
.lugar.primeiro .desc{color:#fff}
.lugar.primeiro ul{color:rgba(255,255,255,.9)}
.lugar.primeiro li::before{background:#fff}
.rank-rodape{font-size:13.5px;color:var(--txt-3);margin-top:16px}

/* ---------------------------------------------------------- instagram */
.insta{background:var(--grad);position:relative;overflow:hidden;border-block:1px solid var(--linha)}
.insta-in{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(32px,5vw,72px);align-items:center}
.insta h2{font-size:clamp(34px,5vw,58px)}
.insta .arroba{display:block;font-size:clamp(28px,4.2vw,60px);font-weight:700;letter-spacing:-.04em;line-height:1;margin-top:22px;text-decoration:none;color:#fff;white-space:nowrap}
.insta .arroba:hover{color:var(--roxo-claro)}
.insta .lede{color:var(--txt-2);font-size:clamp(17px,1.6vw,19px);max-width:52ch;margin-top:22px}
.insta .cta-row{margin-top:30px}
.perfil{background:rgba(22,22,22,.72);border:1px solid var(--linha-2);padding:24px}
.perfil-top{display:flex;align-items:center;gap:16px}
.avatar{width:72px;height:72px;border-radius:50%;background:var(--preto);border:2px solid var(--roxo);display:grid;place-items:center;flex:none}
.avatar svg{width:38px;color:var(--roxo)}
.perfil-nome{font-weight:700;font-size:19px}
.perfil-sub{font-family:var(--mono);font-size:12.5px;color:var(--txt-3);margin-top:2px}
.perfil-lista{list-style:none;margin-top:20px;display:grid;gap:0}
.perfil-lista li{display:flex;gap:12px;align-items:baseline;padding:12px 0;border-top:1px solid var(--linha);font-size:15.5px;color:var(--txt-2)}
.perfil-lista li b{font-family:var(--mono);font-size:12px;color:var(--roxo-claro);font-weight:500;min-width:22px}
.insta .sol{left:50%;bottom:-2px;transform:translateX(-50%);width:min(760px,110vw);opacity:.22}

/* ---------------------------------------------------------- lojistas */
.lojas{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(28px,4vw,56px);align-items:start}
.lojas-lista{list-style:none;display:grid;gap:0;margin-top:26px}
.lojas-lista li{padding:16px 0;border-top:1px solid var(--linha)}
.lojas-lista li:last-child{border-bottom:1px solid var(--linha)}
.lojas-lista b{display:block;font-size:17.5px;font-weight:600;letter-spacing:-.01em}
.lojas-lista span{font-size:15px;color:var(--txt-2)}
.fluxo{border:1px solid var(--linha-2);padding:24px}
.fluxo .k{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-3)}
.fluxo ol{list-style:none;margin-top:18px;display:grid;gap:8px}
.fluxo li{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:var(--sup);font-weight:600;font-size:17px}
.fluxo li span{font-family:var(--mono);font-size:12px;color:var(--txt-3);font-weight:400}
.fluxo li.mid{background:var(--roxo);color:#fff}
.fluxo li.mid span{color:rgba(255,255,255,.8)}
.fluxo .desce{display:block;text-align:center;font-family:var(--mono);color:var(--txt-3);font-size:14px;line-height:1}
.lojas-nota{font-size:14px;color:var(--txt-3);margin-top:14px}

/* ---------------------------------------------------------- faq */
.faq-wrap{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,4vw,56px);align-items:start}
.faq-wrap .sec-head{margin-bottom:0}
.faq{border-top:1px solid var(--linha-2)}
.faq details{border-bottom:1px solid var(--linha-2)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:22px 0;font-size:18.5px;font-weight:600;letter-spacing:-.015em}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";width:14px;height:14px;flex:none;background:linear-gradient(currentColor,currentColor) center/14px 2px no-repeat,linear-gradient(currentColor,currentColor) center/2px 14px no-repeat;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg);color:var(--roxo)}
.faq details p{padding:0 0 22px;font-size:16px;color:var(--txt-2);max-width:64ch}

/* ---------------------------------------------------------- candidatura */
.cand{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(24px,4vw,48px);align-items:start}
.form-painel{background:var(--sup);border:1px solid var(--linha-2)}
.form-topo{padding:18px 22px;border-bottom:1px solid var(--linha)}
.form-prog-txt{display:flex;justify-content:space-between;font-family:var(--mono);font-size:12.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--txt-2)}
.form-prog-txt b{color:var(--txt);font-weight:500}
.form-barra{height:4px;background:var(--linha);margin-top:12px}
.form-barra span{display:block;height:100%;width:8%;background:var(--roxo);transition:width .3s}
.form-corpo{padding:clamp(22px,3vw,34px)}
.q-titulo{font-size:clamp(20px,2.2vw,24px);font-weight:600;letter-spacing:-.02em;line-height:1.25;margin-bottom:20px}
.q-titulo:focus{outline:none}
.q-dica{display:block;font-family:var(--mono);font-size:12px;color:var(--txt-3);margin:-12px 0 16px}
.opcoes{display:flex;flex-wrap:wrap;gap:10px}
.opcao{min-height:48px;max-width:100%;padding:12px 16px;border:1px solid var(--linha-2);background:var(--preto);color:var(--txt-2);font-size:15.5px;text-align:left;cursor:pointer;overflow-wrap:anywhere;transition:border-color .15s,background-color .15s,color .15s}
.opcao:hover{border-color:var(--roxo-claro);color:var(--txt)}
.opcao[aria-pressed="true"]{border-color:var(--roxo);background:var(--roxo);color:#fff}
.rotulo{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--txt-2);margin-bottom:8px}
.campo{width:100%;min-height:52px;background:var(--preto);border:1px solid var(--linha-2);border-radius:0;color:var(--txt);padding:13px 15px;font-size:16px;transition:border-color .15s}
.campo:focus{outline:none;border-color:var(--roxo-claro)}
.campo::placeholder{color:var(--txt-3)}
textarea.campo{min-height:132px;resize:vertical;line-height:1.5}
.grid-contato{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.mb{margin-bottom:20px}
.consent{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:14px;color:var(--txt-2);line-height:1.5}
.consent input{width:20px;height:20px;margin-top:1px;flex:none;accent-color:var(--roxo)}
.consent a{color:var(--roxo-claro)}
.form-erro{color:var(--erro);font-size:14px;margin-top:18px}
.form-nav{display:flex;align-items:center;gap:12px;margin-top:26px}
.form-nav .btn-roxo{margin-left:auto}
.form-rodape{padding:14px 22px;border-top:1px solid var(--linha);font-size:13.5px;color:var(--txt-3)}
.sucesso{text-align:center;display:flex;flex-direction:column;align-items:center;gap:12px}
.sucesso-ok{width:60px;height:60px;display:grid;place-items:center;background:var(--roxo);color:#fff}
.sucesso-ok svg{width:28px;height:28px}
.sucesso-t{font-size:26px;font-weight:700;letter-spacing:-.025em;margin-top:6px}
.sucesso-t:focus{outline:none}
.sucesso-sub{color:var(--txt-2);font-size:15.5px;max-width:44ch}
.protocolo{font-family:var(--mono);font-size:clamp(18px,2.4vw,22px);font-weight:500;letter-spacing:.06em;padding:10px 18px;border:1px solid var(--roxo);background:var(--roxo-fundo);margin:4px 0 8px}
.sucesso .btn{margin-top:4px}
.sucesso-ig{margin-top:14px;padding-top:16px;border-top:1px solid var(--linha);width:100%;font-size:14.5px;color:var(--txt-2)}
.sucesso-ig a{color:var(--roxo-claro);font-weight:600}
.depois{border:1px solid var(--linha-2);padding:24px}
.depois .k{font-family:var(--mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-3)}
.depois ol{list-style:none;counter-reset:d;margin-top:14px}
.depois ol li{counter-increment:d;display:grid;grid-template-columns:32px 1fr;gap:10px;padding:14px 0;border-top:1px solid var(--linha);font-size:15px;color:var(--txt-2)}
.depois ol li::before{content:counter(d,decimal-leading-zero);font-family:var(--mono);font-size:13px;color:var(--roxo-claro)}
.depois ol li b{color:var(--txt);font-weight:600}
.depois-links{display:grid;gap:10px;margin-top:18px}
.depois-links a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border:1px solid var(--linha);text-decoration:none;font-size:15px;font-weight:500;transition:border-color .15s}
.depois-links a:hover{border-color:var(--roxo-claro)}
.depois-links a span{font-family:var(--mono);color:var(--roxo-claro)}

/* ---------------------------------------------------------- chamada final */
.final{position:relative;overflow:hidden;background:var(--grad);text-align:center}
.final-in{position:relative;z-index:1;padding-block:clamp(80px,10vw,132px) clamp(150px,18vw,230px);display:flex;flex-direction:column;align-items:center;gap:22px}
.final h2{font-size:clamp(32px,5vw,60px);max-width:20ch;letter-spacing:-.04em}
.final .cta-row{justify-content:center;margin-top:12px}
.final .sol{left:50%;bottom:-2px;transform:translateX(-50%);width:min(620px,92vw)}

/* ---------------------------------------------------------- rodapé */
.rodape{background:var(--preto-2);border-top:1px solid var(--linha);padding-block:56px 36px;padding-bottom:calc(36px + env(safe-area-inset-bottom,0px))}
.rodape-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.7fr) minmax(0,.7fr) minmax(0,1.2fr);gap:32px}
.rodape h3{font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--txt-3);margin-bottom:14px}
.rodape ul{list-style:none;display:grid;gap:10px}
.rodape ul a{text-decoration:none;color:var(--txt-2);font-size:15px}
.rodape ul a:hover{color:var(--txt)}
.rodape-sobre{font-size:14.5px;color:var(--txt-2);margin-top:18px;max-width:34ch}
.ig-grande{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid var(--roxo);background:var(--roxo-fundo);text-decoration:none;transition:background-color .15s}
.ig-grande:hover{background:rgba(124,36,244,.28)}
.ig-grande svg{width:30px;height:30px;color:var(--roxo-claro);flex:none}
.ig-grande b{display:block;font-size:19px;font-weight:700;letter-spacing:-.02em}
.ig-grande small{display:block;font-size:13.5px;color:var(--txt-2);margin-top:2px}
.rodape-base{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px 24px;margin-top:44px;padding-top:22px;border-top:1px solid var(--linha);font-size:13px;color:var(--txt-3)}
.rodape-base .mono{letter-spacing:.1em;text-transform:uppercase;font-size:11.5px}
.lgpd{max-width:70ch}

/* ---------------------------------------------------------- páginas internas */
.pagina{min-height:100vh;display:flex;flex-direction:column}
.pagina main{flex:1}
.pagina-topo{border-bottom:1px solid var(--linha)}
.pagina-topo .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;height:var(--topo-h)}
.doc{max-width:760px;margin:0 auto;padding:clamp(48px,7vw,88px) 24px 72px}
.doc h1{font-size:clamp(34px,5vw,52px);margin-top:18px}
.doc .lede{color:var(--txt-2);font-size:17.5px;margin-top:18px}
.doc section{padding:26px 0;border-bottom:1px solid var(--linha)}
.doc h2{font-size:21px;letter-spacing:-.02em;margin-bottom:8px}
.doc p{color:var(--txt-2);font-size:16px}
.voltar{display:inline-flex;margin-top:36px;font-family:var(--mono);font-size:13px;color:var(--txt-2);text-decoration:none}
.voltar:hover{color:var(--txt)}
.caixa{background:var(--sup);border:1px solid var(--linha-2);padding:clamp(22px,3vw,32px);margin-top:28px;display:grid;gap:14px}
.caixa-erro{color:var(--erro);font-size:14px}
.caixa-nota{font-size:14px;color:var(--txt-3)}
.aviso{font-family:var(--mono);font-size:12.5px;letter-spacing:.04em;line-height:1.6;padding:14px 16px;border:1px solid var(--linha-2);color:var(--txt-2)}

/* ---------------------------------------------------------- responsivo */
@media (max-width:1080px){
  .nav{display:none}
  .topo-acoes{margin-left:auto}
  .menu-btn{display:block}
  .topo-acoes .btn{display:none}
}
@media (max-width:960px){
  .hero-in,.sim,.rank,.insta-in,.lojas,.faq-wrap,.cand{grid-template-columns:1fr}
  .fases{grid-template-columns:1fr;gap:40px}
  .cards{grid-template-columns:repeat(2,1fr)}
  .rodape-grid{grid-template-columns:1fr 1fr}
  .rodape-grid > :first-child,.rodape-grid > :last-child{grid-column:1/-1}
  .hero-in{padding-bottom:clamp(150px,30vw,230px)}
  .hero .sol{width:min(460px,80vw)}
}
@media (max-width:720px){
  body{font-size:16px}
  .wrap{padding-inline:16px}
  .grid3{grid-template-columns:1fr}
  .p3,.p3:first-child{padding:26px 0;border-left:0;border-top:1px solid var(--linha)}
  .p3:first-child{border-top:0}
  .cards{grid-template-columns:1fr}
  .card{padding:24px 20px}
  .ig-btn span{display:none}
  .ig-btn{padding:9px 12px}
  .grid-contato{grid-template-columns:1fr}
  .lugar{grid-template-columns:64px minmax(0,1fr)}
  .lugar .pos{font-size:28px}
  .menu-mobile{padding-inline:16px}
  .cta-row .btn{flex:1 1 100%}
  .form-nav .btn{min-width:0}
  .rodape-grid{grid-template-columns:1fr}
  .doc{padding-inline:16px}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
  .btn:hover{transform:none}
}
