/* Brand do site institucional (home, /apoiadores, /pre-lancamento). */
:root{
  --orange:#E87532; --green:#15C99C; --turq:#15A39C; --turq-text:#087A7C; --turq-deep:#0a6e70;
  --petrol:#163C46; --petrol-85:#1e4e5a;
  --offwhite:#F5F2E9; --cream-2:#EFEBDF; --white:#fff;
  --ink:#163C46; --slate:#4A5B60; --line:#E2E8E5; --paper:#F5F2E9;
  --mist:#eafafa; --mist-2:#f3fbfb;
  --success:#0e7a4d; --success-bg:#e7f6ee; --error:#c0264a; --error-bg:#fdecef; --warning:#8a5a00; --warning-bg:#fdf4e0;
  --display:'Poppins',system-ui,sans-serif; --body:'Inter',system-ui,sans-serif;
  --grad:linear-gradient(118deg,var(--orange) 0%,var(--petrol) 48%,var(--turq) 82%,var(--green) 110%);
  --radius:20px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);background:var(--paper);line-height:1.6;-webkit-font-smoothing:antialiased;font-size:17px;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--display);line-height:1.1;letter-spacing:-.02em;color:var(--petrol)}
p{max-width:65ch}
a{color:inherit;text-decoration:none}
img,svg{display:block;max-width:100%}
::selection{background:var(--turq);color:var(--white)}
.wrap{max-width:1180px;margin:0 auto;padding:0 clamp(1.25rem,4vw,2.5rem)}

/* NAV */
.nav{position:sticky;top:0;z-index:60;background:rgba(245,242,233,.85);backdrop-filter:blur(14px);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;height:72px}
.brand img{height:34px;width:auto}
.nav-links{display:flex;gap:.3rem;align-items:center}
.nav-links a{font-family:var(--display);font-weight:500;font-size:.9rem;color:var(--slate);padding:.5rem .9rem;border-radius:999px;transition:.18s}
.nav-links a:hover{background:var(--cream-2);color:var(--petrol)}
.btn{font-family:var(--display);font-weight:600;font-size:.92rem;padding:.75rem 1.5rem;border-radius:999px;border:none;cursor:pointer;transition:.2s;display:inline-flex;align-items:center;gap:.5rem}
.btn-primary{background:var(--orange);color:var(--petrol)}
.btn-primary:hover{filter:brightness(1.05);transform:translateY(-2px);box-shadow:0 10px 30px -10px rgba(232,117,50,.6)}
.btn-petrol{background:var(--petrol);color:var(--white)}
.btn-petrol:hover{background:var(--petrol-85);transform:translateY(-2px)}
.btn-white{background:var(--white);color:var(--petrol)}
.btn-white:hover{transform:translateY(-2px);box-shadow:0 12px 30px -8px rgba(0,0,0,.25)}
@media(max-width:780px){.nav-links a:not(.btn){display:none}}

/* HERO */
/* Fundo estilo mapa, o mesmo das telas de entrada do app (FundoEntrada). */
.hero{position:relative;background:#FAF8F3 url(/assets/fundo-mapa.svg) center/cover no-repeat;color:var(--ink);overflow:hidden;padding:clamp(3.5rem,8vw,6rem) 0 clamp(4rem,9vw,7rem)}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(250,248,243,.9) 0%,rgba(250,248,243,0) 22%,rgba(250,248,243,0) 78%,rgba(250,248,243,.9) 100%);pointer-events:none}
.hero .wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
@media(max-width:860px){.hero .wrap{grid-template-columns:1fr;gap:2.5rem}}
.hero .pill{display:inline-flex;align-items:center;gap:.5rem;background:var(--white);border:1px solid var(--line);color:var(--petrol);padding:.4rem 1rem;border-radius:999px;font-family:var(--display);font-weight:500;font-size:.8rem;margin-bottom:1.5rem}
.hero .pill .dot{width:8px;height:8px;border-radius:50%;background:var(--orange)}
.hero h1{color:var(--petrol);font-size:clamp(2.3rem,5.5vw,3.9rem);font-weight:800;letter-spacing:-.03em;margin-bottom:1.3rem}
.hero h1 .hl{color:var(--orange)}
.hero p.sub{color:var(--slate);font-size:clamp(1.05rem,2vw,1.25rem);max-width:46ch;margin-bottom:2rem}
.hero .cta-row{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}
.hero .trust{margin-top:2rem;font-size:.85rem;color:var(--slate);display:flex;gap:1rem;flex-wrap:wrap}
/* phone */
.phone{justify-self:center;width:min(300px,80vw);aspect-ratio:9/19;background:#0c2229;border-radius:38px;padding:11px;box-shadow:0 40px 90px -30px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.08);position:relative}
.phone .screen{width:100%;height:100%;background:var(--paper);border-radius:28px;overflow:hidden;display:flex;flex-direction:column}
.phone .screen img{width:100%;height:100%;object-fit:cover;object-position:top}
.phone .notch{position:absolute;top:11px;left:50%;transform:translateX(-50%);width:120px;height:26px;background:#0c2229;border-radius:0 0 16px 16px;z-index:3}
.scr-top{background:var(--petrol);color:#fff;padding:1.9rem 1.1rem 1rem;display:flex;align-items:center;gap:.5rem}
.scr-top img{height:22px}
.scr-body{flex:1;padding:.9rem;display:flex;flex-direction:column;gap:.7rem;background:var(--cream-2)}
.scr-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:.8rem;display:flex;gap:.7rem;align-items:flex-start}
.scr-card .ic{width:38px;height:38px;border-radius:10px;flex-shrink:0;display:grid;place-items:center;font-size:1.1rem}
.scr-card .t{font-family:var(--display);font-weight:600;font-size:.82rem;color:var(--ink);line-height:1.2}
.scr-card .m{font-size:.72rem;color:var(--slate);margin-top:.15rem}
.scr-card .st{margin-left:auto;font-size:.62rem;font-weight:600;padding:.15rem .5rem;border-radius:6px;white-space:nowrap}
section{padding:clamp(3.5rem,7vw,5.5rem) 0}
.eyebrow{font-family:var(--display);font-weight:600;font-size:.75rem;letter-spacing:.16em;text-transform:uppercase;color:var(--turq-text);display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1rem}
.eyebrow::before{content:"";width:28px;height:2px;background:var(--orange);border-radius:2px}
h2.sec{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:800;max-width:18ch;margin-bottom:1rem}
.sec-lead{font-size:clamp(1rem,2vw,1.2rem);color:var(--slate);max-width:60ch}
.about .wrap{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
@media(max-width:860px){.about .wrap{grid-template-columns:1fr;gap:2rem}}
.pillars{display:flex;flex-direction:column;gap:1rem;margin-top:1.5rem}
.pillar{display:flex;gap:1rem;align-items:flex-start;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:1.2rem;transition:.2s}
.pillar:hover{border-color:var(--turq);transform:translateX(4px)}
.pillar .pic{width:46px;height:46px;border-radius:12px;background:var(--cream-2);display:grid;place-items:center;flex-shrink:0;color:var(--turq-deep)}
.pillar .pic svg{width:24px;height:24px}
.pillar h3{font-size:1.05rem;color:var(--petrol);margin-bottom:.2rem}
.pillar p{font-size:.92rem;color:var(--slate)}
.map-card{background:var(--grad);border-radius:var(--radius);padding:2rem;min-height:340px;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end}
.map-card .grid-bg{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.1) 1px,transparent 1px);background-size:38px 38px}
.map-card .pin{position:absolute;width:20px;height:20px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 4px 10px rgba(0,0,0,.3);border:3px solid #fff}
.map-card .label{position:relative;z-index:2;color:#fff}
.map-card .label b{font-family:var(--display);font-weight:700;font-size:1.3rem;display:block}
.map-card .label span{font-size:.9rem;color:rgba(255,255,255,.9)}
.cats{background:var(--white)}
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem;margin-top:2.5rem}
@media(max-width:1100px){.cat-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:860px){.cat-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.cat-grid{grid-template-columns:1fr}}
.cat{border:1px solid var(--line);border-radius:16px;padding:1.6rem;transition:.2s;background:var(--paper)}
.cat:hover{border-color:var(--orange);transform:translateY(-4px);box-shadow:0 18px 40px -22px rgba(22,60,70,.35)}
.cat .ic{width:52px;height:52px;margin-bottom:1rem}
.cat .ic svg{width:52px;height:52px}
.cat h3{font-size:1.12rem;color:var(--petrol);margin-bottom:.4rem}
.cat p{font-size:.92rem;color:var(--slate)}
.how{background:var(--cream-2)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2.5rem}
@media(max-width:860px){.steps{grid-template-columns:1fr}}
.step{background:#fff;border:1px solid var(--line);border-radius:18px;padding:2rem 1.6rem;position:relative}
.step .num{font-family:var(--display);font-weight:800;font-size:2.5rem;color:var(--orange);opacity:.85;line-height:1}
.step h3{font-size:1.15rem;color:var(--petrol);margin:.8rem 0 .5rem}
.step p{font-size:.95rem;color:var(--slate)}
.step .bar{position:absolute;top:0;left:1.6rem;right:1.6rem;height:4px;background:var(--grad);border-radius:0 0 4px 4px}
.video-box{margin-top:2.5rem;border-radius:var(--radius);overflow:hidden;background:#0c2229;box-shadow:0 30px 70px -35px rgba(22,60,70,.55);aspect-ratio:16/9}
.video-box video{display:block;width:100%;height:100%;object-fit:cover;background:#0c2229}
.faq{padding-top:0}
.faq-wrap{max-width:900px;text-align:center}
.faq-wrap h2.sec{margin-left:auto;margin-right:auto}
.faq-list{margin-top:2rem;display:flex;flex-direction:column;gap:.8rem;text-align:left}
.faq details{background:var(--white);border:1px solid var(--line);border-radius:16px;transition:border-color .2s}
.faq details[open]{border-color:var(--turq)}
.faq summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.15rem 1.4rem;font-family:var(--display);font-weight:600;font-size:1.02rem;color:var(--petrol)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"";flex-shrink:0;width:12px;height:12px;border-right:2.5px solid var(--orange);border-bottom:2.5px solid var(--orange);transform:rotate(45deg) translateY(-3px);transition:transform .2s}
.faq details[open] summary::after{transform:rotate(-135deg) translateY(-3px)}
.faq .resp{padding:0 1.4rem 1.3rem;color:var(--slate);font-size:.96rem}
.faq .resp p{max-width:none}
.faq .resp p+p{margin-top:.6rem}
.faq .resp a{color:var(--turq-text);text-decoration:underline}
.cta-band{background:var(--grad);color:#fff;border-radius:var(--radius);padding:clamp(2.5rem,5vw,3.5rem);text-align:center;position:relative;overflow:hidden}
.cta-band::after{content:"";position:absolute;right:-40px;top:-40px;width:200px;height:200px;border:2px solid rgba(255,255,255,.2);border-right-color:transparent;border-radius:50%}
.cta-band h2{color:#fff;font-size:clamp(1.6rem,4vw,2.5rem);margin-bottom:.8rem;position:relative}
.cta-band p{color:rgba(255,255,255,.92);max-width:46ch;margin:0 auto 1.8rem;position:relative}
footer{background:var(--petrol);color:rgba(255,255,255,.82);padding:3.5rem 0 2rem}
.foot-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2.5rem}
@media(max-width:780px){.foot-grid{grid-template-columns:1fr}}
footer .brand img{height:30px;margin-bottom:1rem}
footer p{font-size:.92rem;max-width:40ch}
footer .fh{font-family:var(--display);font-weight:600;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--orange);margin-bottom:.8rem}
footer ul{list-style:none;display:flex;flex-direction:column;gap:.5rem;font-size:.92rem}
footer ul a:hover{color:var(--green)}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:2.5rem;padding-top:1.5rem;font-size:.82rem;color:rgba(255,255,255,.55);display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem}
.reveal{opacity:0;transform:translateY(20px);transition:.6s}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}*{transition:none!important}}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px;border-radius:4px}

/* Páginas internas (/apoiadores, /pre-lancamento) */
.hero .kicker{font-family:var(--display);font-weight:600;font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--turq-text);display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1.2rem}
.hero .kicker::before{content:"";width:28px;height:2px;background:var(--orange);border-radius:2px}
.hero ul.vantagens{list-style:none;display:flex;flex-direction:column;gap:.55rem;margin-top:-.6rem;color:var(--petrol);font-weight:500}
.hero ul.vantagens li{display:flex;gap:.6rem;align-items:flex-start}
.hero ul.vantagens li::before{content:"✓";color:var(--turq-text);font-weight:700}
.form-card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.4rem,3vw,2rem);box-shadow:0 30px 70px -40px rgba(22,60,70,.45);width:100%}
.form-card .campos{display:flex;flex-direction:column;gap:1rem}
.form-card .dupla{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
@media(max-width:560px){.form-card .dupla{grid-template-columns:1fr}}
.form-card label{display:block;font-family:var(--display);font-weight:500;font-size:.86rem;color:var(--petrol);margin-bottom:.35rem}
.form-card label .op{color:var(--slate);font-weight:400}
.form-card input,.form-card select{width:100%;height:48px;border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:0 .9rem;font:inherit;font-size:.95rem;color:var(--ink);transition:border-color .15s,box-shadow .15s}
.form-card input::placeholder{color:#8a979a}
.form-card input:focus,.form-card select:focus{outline:none;border-color:var(--turq);box-shadow:0 0 0 3px rgba(21,163,156,.18);background:var(--white)}
.form-card .btn{width:100%;justify-content:center;margin-top:1.4rem;padding:.95rem 1.5rem;font-size:1rem}
.form-card .btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.form-card .nota{margin:.8rem auto 0;text-align:center;font-size:.78rem;color:var(--slate);max-width:none}
.form-card .nota a{text-decoration:underline}
.form-card .erro{margin:.8rem auto 0;text-align:center;font-size:.86rem;color:var(--error);max-width:none}
.form-card.ok{text-align:center}
.form-card.ok h2{font-size:1.5rem;margin-bottom:.6rem}
.form-card.ok p{margin:0 auto;color:var(--slate)}
.form-card.ok a{display:inline-block;margin-top:1.2rem;text-decoration:underline;color:var(--turq-text);font-weight:500}
[hidden]{display:none!important}
.split{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center}
@media(max-width:860px){.split{grid-template-columns:1fr;gap:2rem}}
.carrossel{position:relative;aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden;box-shadow:0 30px 70px -40px rgba(22,60,70,.5)}
.carrossel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .7s}
.carrossel .opacity-0{opacity:0}.carrossel .opacity-100{opacity:1}
.carrossel .pontos{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:6px}
.carrossel .pontos button{height:8px;width:8px;border-radius:999px;border:0;background:rgba(255,255,255,.7);cursor:pointer;transition:width .3s}
.carrossel .pontos button.w-6{width:24px;background:#fff}
.steps.quatro{grid-template-columns:repeat(4,1fr)}
@media(max-width:1000px){.steps.quatro{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.steps.quatro{grid-template-columns:1fr}}

/* /obrigado */
.hero-centro .wrap{grid-template-columns:1fr;text-align:center;justify-items:center}
.hero-centro .sub{margin-left:auto;margin-right:auto}
.hero-centro .selo{width:64px;height:64px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;margin:0 auto 1.4rem;box-shadow:0 14px 30px -12px rgba(21,201,156,.7)}
.hero-centro .selo svg{width:32px;height:32px}
.compartilhar{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;position:relative}
.compartilhar a{width:52px;height:52px;border-radius:50%;background:#fff;color:var(--petrol);display:grid;place-items:center;transition:.2s}
.compartilhar a:hover{transform:translateY(-3px);box-shadow:0 12px 30px -8px rgba(0,0,0,.3)}
.compartilhar svg{width:22px;height:22px}

/* /termos-politicas */
.hero-doc .wrap{grid-template-columns:1fr}
.hero-doc h1{font-size:clamp(2rem,4.5vw,3.2rem)}
.hero-doc .sub{max-width:62ch}
.doc-indice{display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem}
.doc-indice a{font-family:var(--display);font-weight:600;font-size:.9rem;color:var(--petrol);background:var(--white);border:1px solid var(--line);padding:.6rem 1.1rem;border-radius:999px;transition:.18s}
.doc-indice a:hover{border-color:var(--turq);color:var(--turq-text)}
.doc-sec{padding-top:clamp(2rem,4vw,3rem)}
.doc{max-width:860px;display:flex;flex-direction:column;gap:2rem}
.doc article{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.4rem,4vw,2.8rem)}
.doc h2{font-size:clamp(1.5rem,3vw,2rem);font-weight:800;margin-bottom:1.2rem;scroll-margin-top:96px;padding-bottom:1rem;border-bottom:3px solid transparent;border-image:var(--grad) 1}
.doc h3{font-size:1.12rem;font-weight:700;margin:2rem 0 .7rem;color:var(--petrol)}
.doc h4,.doc h5{font-size:1rem;margin:1.2rem 0 .5rem;color:var(--petrol)}
.doc p,.doc li{font-size:.97rem;color:var(--slate);max-width:none}
.doc p+p{margin-top:.7rem}
.doc ul{margin:.7rem 0 .7rem 1.3rem;display:flex;flex-direction:column;gap:.35rem}
.doc a{color:var(--turq-text);text-decoration:underline}
.doc strong,.doc b{color:var(--ink)}
