:root{
  --navy-950:#060d16;
  --navy-900:#0b1f33;
  --navy-800:#0f2944;
  --navy-700:#1c3f60;
  --navy-600:#2c5c8a;
  --navy-100:#dfe6ee;
  --navy-050:#eef1f6;
  --white:#ffffff;
  --ink:#131c26;
  --ink-muted:#5b6773;
  --line:#e2e6ea;
  --gold:#b98a3e;
  --gold-dark:#8a5a10;
  --sec-bg:#fdf6e9;
  --sec-border:#e9d3a0;
  --sec-ink:#5c4a2a;
  --sec-title:#8a5a10;
  --alert-bg:#fdf6e9;
  --alert-border:#f0d9a8;
  --danger:#d64545;
  --wa-green:#22c55e;
  --wa-green-dark:#16a34a;

  --font-display:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --font-body:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;

  --radius-sm:6px;
  --radius:12px;
  --radius-lg:20px;
  --shadow-sm:0 2px 10px -4px rgba(6,13,22,.1);
  --shadow:0 20px 44px -20px rgba(6,13,22,.25);
  --shadow-lg:0 30px 70px -24px rgba(6,13,22,.4);

  --container:760px;
  --bottom-bar-h:64px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;background:#fff;color-scheme:only light}
body{
  margin:0;font-family:var(--font-body);color:var(--ink);background:var(--white);
  -webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;color-scheme:only light;
  padding-bottom:var(--bottom-bar-h);padding-top:40px;
}
@media(min-width:900px){body{padding-bottom:0}}
main{background:var(--white);display:block}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{margin:0;padding:0;list-style:none}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;line-height:1.14;margin:0 0 .5em;color:var(--navy-800);letter-spacing:-.01em}
p{margin:0 0 1em;line-height:1.65;color:var(--ink)}
svg{display:block}
button{font-family:inherit}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}

.container{max-width:var(--container);margin:0 auto;padding:0 22px;width:100%}
.container-wide{max-width:1100px;margin:0 auto;padding:0 22px;width:100%}
.section{padding:52px 0}
@media(min-width:800px){.section{padding:80px 0}}
.section-alt{background:var(--navy-050)}
.section-dark{background:linear-gradient(165deg,var(--navy-900) 0%,var(--navy-950) 100%)}
.section-dark h2,.section-dark h3{color:#fff}
.section-dark p{color:rgba(255,255,255,.72)}
.eyebrow{display:flex;align-items:center;gap:8px;font-size:.76rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:.8em}
.eyebrow::before{content:"";width:20px;height:2px;background:var(--gold);display:inline-block;flex-shrink:0}

/* ---------- Barra utilitaria no topo ---------- */
.util-bar{position:sticky;top:0;z-index:100;background:var(--navy-950);color:rgba(255,255,255,.88);padding:11px 0;font-size:.82rem}
.util-bar .container-wide{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;text-align:center}
.util-bar strong{color:#fff;font-weight:700}
.util-bar .sep{opacity:.4}
.util-bar a{font-weight:700;color:var(--gold);text-decoration:underline;text-underline-offset:2px;padding:15px 4px;margin:-15px -4px;display:inline-block}

/* ---------- Botao CTA ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:16px 28px;min-height:52px;border-radius:999px;
  font-weight:700;font-size:1rem;border:none;letter-spacing:.005em;
  cursor:pointer;transition:transform .18s cubic-bezier(.2,.8,.3,1),box-shadow .25s ease,filter .2s ease;
  white-space:nowrap;
}
.btn:active{transform:translateY(0) scale(.98)}
.btn-lg{padding:18px 32px;min-height:58px;font-size:1.08rem}
.btn-block{width:100%}
.btn-wa{
  background:linear-gradient(155deg,#25d366 0%,var(--wa-green) 55%,var(--wa-green-dark) 100%);
  color:#fff !important;-webkit-text-fill-color:#fff;
  box-shadow:0 2px 4px rgba(6,13,22,.16),0 16px 30px -12px rgba(22,163,74,.45);
}
.btn-wa:hover{filter:brightness(1.04);transform:translateY(-2px);box-shadow:0 2px 4px rgba(6,13,22,.2),0 22px 38px -14px rgba(22,163,74,.55)}
.btn-wa svg{width:20px;height:20px;flex-shrink:0}
.cta-microcopy{margin-top:14px;font-size:.85rem;color:var(--ink-muted)}
.section-dark .cta-microcopy,.hero .cta-microcopy{color:rgba(255,255,255,.55)}

/* ---------- Hero: claro, headline centralizada, foto emoldurada ---------- */
.hero{background:radial-gradient(120% 100% at 50% 0%,#f4ede0 0%,var(--navy-050) 42%);padding:52px 0 0;position:relative}
.hero-inner{max-width:660px;margin:0 auto;text-align:center;padding:0 22px}
.badge-pill{
  display:inline-flex;align-items:center;gap:7px;padding:9px 20px;border-radius:999px;background:#fff;
  border:1px solid var(--line);font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;
  color:var(--navy-700);margin-bottom:24px;box-shadow:0 4px 14px -8px rgba(15,41,68,.25);
}
.badge-pill::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--gold);flex-shrink:0}
.hero-inner{animation:fadeUp .7s cubic-bezier(.2,.8,.2,1) both}
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.hero-inner{animation:none}}
.hero h1{font-size:clamp(1.9rem,5.4vw,2.7rem);margin-bottom:.44em;text-wrap:balance}
.hero .lede{color:var(--ink-muted);font-size:1.05rem;max-width:52ch;margin:0 auto 1.7em}
.hero-photo-wrap{position:relative;max-width:840px;margin:44px auto 0}
.hero-photo{border-radius:20px;overflow:hidden;box-shadow:var(--shadow-lg);aspect-ratio:4/3}
.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 30%}
.hero-float-cta{display:none}
@media(min-width:1180px){
  .hero-float-cta{
    display:inline-flex;position:absolute;right:-56px;top:50%;transform:translateY(-50%);z-index:5;
  }
}
.trust-badges{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;max-width:760px;margin:28px auto 0;padding:0 22px 52px}
.trust-badge{
  display:flex;align-items:center;gap:7px;background:#fff;border:1px solid var(--line);border-radius:999px;
  padding:9px 16px;font-size:.82rem;font-weight:600;color:var(--navy-800);box-shadow:0 3px 10px -6px rgba(15,41,68,.2);
}
.trust-badge svg{width:15px;height:15px;color:var(--wa-green-dark);flex-shrink:0}

/* ---------- Secao de situacao/dor ---------- */
.section-head-left{max-width:600px;margin-bottom:32px}
.section-head-left h2{position:relative}
.section-head-left h2{font-size:clamp(1.6rem,4.2vw,2.15rem)}
.alert-box{
  display:flex;gap:14px;align-items:flex-start;background:var(--alert-bg);border:1px solid var(--alert-border);
  border-radius:var(--radius);padding:18px 20px;margin-bottom:24px;max-width:720px;
}
.alert-box svg{flex-shrink:0;width:22px;height:22px;color:var(--gold-dark);margin-top:1px}
.alert-box p{margin:0;font-size:.92rem;color:var(--sec-ink);line-height:1.6}

.pain-list{display:grid;gap:12px;max-width:720px}
.pain-item{
  display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-left:3px solid var(--danger);
  border-radius:var(--radius);padding:16px 18px 16px 16px;box-shadow:var(--shadow-sm);transition:box-shadow .2s ease,transform .2s ease;
}
.pain-item:hover{box-shadow:0 10px 26px -14px rgba(6,13,22,.22);transform:translateY(-1px)}
.pain-item .x{
  flex-shrink:0;width:22px;height:22px;border-radius:50%;background:#fbe4e4;color:var(--danger);
  display:flex;align-items:center;justify-content:center;margin-top:1px;
}
.pain-item .x svg{width:12px;height:12px}
.pain-item p{margin:0;font-size:.96rem;line-height:1.55}
.pain-item strong{color:var(--navy-800)}

/* ---------- Caixa de fundamentacao legal ---------- */
.legal-box{background:linear-gradient(160deg,var(--navy-800) 0%,var(--navy-900) 100%);border-left:3px solid var(--gold);border-radius:0 var(--radius-lg) var(--radius-lg) 0;padding:32px 30px;max-width:760px;box-shadow:var(--shadow)}
.legal-box p{color:rgba(255,255,255,.84);font-size:.98rem;margin:0;line-height:1.7}
.legal-box strong{color:var(--gold-light,#e0bc7c)}

/* ---------- Passos ---------- */
.steps{display:grid;gap:0;max-width:640px}
.step{display:flex;gap:16px;align-items:flex-start;position:relative;padding-bottom:26px}
.step:last-child{padding-bottom:0}
.step:not(:last-child)::before{content:"";position:absolute;left:18px;top:38px;bottom:0;width:1px;background:linear-gradient(var(--gold),var(--line))}
.step-num{
  flex-shrink:0;width:38px;height:38px;border-radius:50%;background:var(--navy-800);color:#fff;position:relative;z-index:1;
  display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:1.05rem;box-shadow:0 0 0 4px #fff;
}
.step-title{font-weight:700;color:var(--navy-800);margin-bottom:.2em;font-size:1.02rem}
.step p{margin:0;font-size:.92rem;color:var(--ink-muted)}

/* ---------- Card de credencial ---------- */
.cred-card{
  display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-left:3px solid var(--gold);border-radius:var(--radius);
  padding:16px 18px;max-width:560px;margin-top:38px;box-shadow:var(--shadow-sm);
}
.cred-photos{display:flex;flex-shrink:0}
.cred-photos img{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 0 0 1px var(--line)}
.cred-photos img+img{margin-left:-14px}
.cred-info .nome{font-weight:700;color:var(--navy-800);font-size:.92rem}
.cred-info .cargo{font-size:.78rem;color:var(--ink-muted);margin-bottom:6px}
.cred-pills{display:flex;flex-wrap:wrap;gap:6px}
.cred-pills span{background:var(--navy-050);color:var(--navy-700);font-size:.7rem;font-weight:600;padding:3px 9px;border-radius:999px}

/* ---------- Banner CTA ---------- */
.cta-banner{background:linear-gradient(155deg,var(--navy-700) 0%,var(--navy-800) 100%);border-radius:16px;padding:26px 28px;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:16px;max-width:640px;margin-top:36px;box-shadow:var(--shadow)}
.cta-banner .phone{color:rgba(255,255,255,.75);font-size:.88rem;font-weight:600}
.cta-banner .phone strong{color:#fff}

/* ---------- FAQ ---------- */
.faq{display:grid;gap:10px;max-width:700px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:2px 20px;box-shadow:var(--shadow-sm);transition:border-color .2s ease}
.faq details[open]{border-color:var(--gold)}
.faq summary{cursor:pointer;font-weight:700;color:var(--navy-800);padding:17px 0;list-style:none;display:flex;justify-content:space-between;gap:14px;align-items:center;font-size:.98rem}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-family:var(--font-display);font-size:1.5rem;color:var(--gold);flex-shrink:0;transition:transform .2s ease;font-weight:700}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq p{padding-bottom:18px;margin:0;color:var(--ink-muted);font-size:.94rem}

/* ---------- CTA final ---------- */
.cta-final{text-align:center}
.cta-final h2{color:#fff;font-size:clamp(1.8rem,4.6vw,2.4rem)}
.cta-final p{color:rgba(255,255,255,.68);max-width:46ch;margin:0 auto 1.7em}
.cta-final .alt-phone{margin-top:18px;font-size:.88rem;color:rgba(255,255,255,.55)}
.cta-final .alt-phone strong{color:#fff}

/* ---------- Rodape minimo ---------- */
.lp-legal{background:var(--navy-950);padding:26px 0}
.lp-legal .container{font-size:.74rem;line-height:1.7;color:rgba(255,255,255,.42);max-width:700px;text-align:center}
.lp-legal strong{color:rgba(255,255,255,.68)}

/* ---------- Barra fixa mobile ---------- */
.sticky-cta{
  position:fixed;left:0;right:0;bottom:0;z-index:95;background:var(--white);
  border-top:1px solid var(--line);box-shadow:0 -8px 24px -12px rgba(6,13,22,.25);
  padding:8px 14px calc(8px + env(safe-area-inset-bottom));
}
.sticky-cta .btn{width:100%}
@media(min-width:900px){.sticky-cta{display:none}}

.text-center{text-align:center}
