/* =====================================================
   GERSON CASTILHO ADVOGADOS — Design System v3 Ultra Premium
   ===================================================== */

/* RESET */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;overflow-x:hidden}
body{font-family:'DM Sans',system-ui,sans-serif;font-size:16px;line-height:1.6;color:#E8E3D8;background:#040B15;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}

/* TOKENS */
:root{
  --navy:#040B15;
  --surface:#081322;
  --surface2:#0C1A2E;
  --card:#0F1E34;
  --card2:#132440;
  --gold:#C8A44A;
  --gold-lt:#E0BC62;
  --gold-dk:#9E7C30;
  --gold-dim:rgba(200,164,74,.09);
  --text:#EDE8DD;
  --text2:#C5BDB0;
  --sub:#8796AB;
  --muted:#4A5A6E;
  --green:#22C55E;
  --green-dk:#16A34A;
  --green-dim:rgba(34,197,94,.09);
  --danger:#EF4444;
  --orange:#F97316;
  --border:rgba(200,164,74,.14);
  --border-s:rgba(255,255,255,.055);
  --border-w:rgba(255,255,255,.03);
  --r4:4px;--r6:6px;--r8:8px;--r12:12px;--r16:16px;
  --sh-sm:0 2px 10px rgba(0,0,0,.5);
  --sh-md:0 8px 28px rgba(0,0,0,.45);
  --sh-lg:0 20px 60px rgba(0,0,0,.5);
  --t:.22s ease
}

/* LAYOUT */
.c{max-width:1060px;margin:0 auto;padding:0 22px;width:100%}

/* ================================================
   HEADER
   ================================================ */
header{
  position:sticky;top:0;z-index:100;
  background:rgba(4,11,21,.97);
  backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);
  border-bottom:1px solid var(--border-w)
}
header .c{
  display:flex;align-items:center;
  justify-content:space-between;
  height:80px;gap:16px
}
.logo{display:flex;align-items:center;gap:11px;flex-shrink:0}
.logo-mark{
  width:36px;height:36px;flex-shrink:0;
  background:linear-gradient(135deg,rgba(200,164,74,.13),rgba(200,164,74,.04));
  border:1px solid var(--border);border-radius:var(--r6);
  display:flex;align-items:center;justify-content:center
}
/* Logo image no header */
.logo-img{
  width:200px;height:auto;display:block;
  object-fit:contain;flex-shrink:0
}
/* Logo no footer */
.ft-logo{
  width:220px;height:auto;display:block;
  opacity:.85;margin-bottom:4px
}
.logo-name{font-family:'Playfair Display',Georgia,serif;font-size:13px;font-weight:700;color:var(--text);line-height:1.25;white-space:nowrap}
.logo-oab{font-size:9px;color:var(--gold);font-weight:600;letter-spacing:1.5px;text-transform:uppercase;margin-top:1px;opacity:.8}

/* NAV DESKTOP — oculto por padrão */
.nav-desktop{display:none;align-items:center;gap:20px;flex-shrink:0}
.nav-link{font-size:12.5px;color:var(--sub);letter-spacing:.01em;font-weight:400;white-space:nowrap;transition:color var(--t)}
.nav-link:hover{color:var(--text)}
.nav-cta{
  display:inline-flex;align-items:center;gap:7px;
  background:transparent;border:1px solid var(--border);
  color:var(--gold);font-size:12px;font-weight:600;
  padding:7px 15px;border-radius:var(--r6);white-space:nowrap;
  transition:background var(--t),border-color var(--t)
}
.nav-cta:hover{background:var(--gold-dim);border-color:var(--gold)}
.nav-cta svg{flex-shrink:0;width:13px;height:13px;opacity:.8}

/* HAMBURGER — visível por padrão (mobile-first) */
.hamburger{
  display:flex;flex-direction:column;justify-content:center;
  align-items:center;gap:5px;
  background:none;border:none;
  width:40px;height:40px;flex-shrink:0;cursor:pointer;border-radius:var(--r4)
}
.hamburger span{
  display:block;width:20px;height:1.5px;
  background:var(--sub);border-radius:2px;
  transition:transform .28s ease,opacity .28s ease,background .2s
}
.hamburger:hover span{background:var(--text)}
.hamburger.open span:nth-child(1){transform:translateY(6.5px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-6.5px) rotate(-45deg)}

/* MOBILE MENU — flow element, expande o header */
.mobile-menu{
  display:none;
  background:rgba(4,11,21,.99);
  border-top:1px solid var(--border-w);
  padding:8px 22px 28px
}
.mobile-menu.open{display:block}
.mobile-nav-link{
  display:flex;align-items:center;
  font-size:15.5px;color:var(--sub);
  padding:15px 0;border-bottom:1px solid var(--border-w);
  letter-spacing:.01em;transition:color var(--t)
}
.mobile-nav-link:first-child{border-top:1px solid var(--border-w)}
.mobile-nav-link:hover{color:var(--text)}
.mobile-nav-cta{
  display:flex;align-items:center;justify-content:center;gap:10px;
  background:var(--green);color:#fff;
  font-size:15px;font-weight:600;
  padding:15px 24px;border-radius:var(--r8);
  margin-top:20px;transition:background var(--t)
}
.mobile-nav-cta:hover{background:var(--green-dk)}
.btn-wa{display:none}

/* ================================================
   HERO
   ================================================ */
.hero{background:var(--navy);padding:88px 0 74px;position:relative;overflow:hidden;max-width:100vw}

/* HERO — layout dois colunas */
.hero-layout{
  position:relative;z-index:1;
  display:flex;flex-direction:column;gap:44px
}
.hero-content{flex:1;min-width:0}
.hero-visual{
  display:flex;justify-content:center;align-items:center;
  flex-shrink:0
}
.hero-svg{
  width:100%;max-width:240px;height:auto;
  filter:drop-shadow(0 0 48px rgba(200,164,74,.14)) drop-shadow(0 24px 40px rgba(0,0,0,.5))
}
/* ===== HERO IMAGE — TRATAMENTO PREMIUM ===== */
.hero-visual{
  position:relative;flex-shrink:0;
  display:flex;justify-content:center;align-items:flex-start
}
/* Glow ambiente dourado atrás de tudo */
.hero-visual::before{
  content:'';
  position:absolute;inset:-50px;
  background:radial-gradient(ellipse 68% 58% at 52% 46%,
    rgba(200,164,74,.16) 0%,
    rgba(200,164,74,.06) 50%,
    transparent 75%);
  filter:blur(32px);
  z-index:0;pointer-events:none
}
/* Wrapper que concentra os elementos decorativos */
.hero-img-wrap{
  position:relative;z-index:1;
  width:100%;max-width:460px
}
/* Borda offset atrás da imagem (deslocada 18px para baixo-direita) */
.hero-img-wrap::before{
  content:'';
  position:absolute;
  top:18px;right:-18px;left:0;bottom:-18px;
  border:1px solid rgba(200,164,74,.2);
  border-radius:14px;
  background:rgba(200,164,74,.025);
  z-index:0
}
/* Canto L dourado — topo-esquerda */
.hero-img-wrap::after{
  content:'';
  position:absolute;
  top:-10px;left:-10px;
  width:28px;height:28px;
  border-top:2px solid var(--gold);
  border-left:2px solid var(--gold);
  border-radius:3px 0 0 0;
  z-index:3;opacity:.75
}
/* A foto */
.hero-photo{
  position:relative;z-index:2;
  width:100%;height:auto;display:block;
  border-radius:12px;
  box-shadow:
    0 0 0 1px rgba(200,164,74,.12),
    0 24px 56px rgba(0,0,0,.6),
    0 8px 20px rgba(0,0,0,.4);
  /* Fade suave só na base — mantém topo e laterais nítidos */
  -webkit-mask-image:linear-gradient(
    to bottom,
    black 0%,
    black 68%,
    rgba(0,0,0,.8) 82%,
    rgba(0,0,0,.3) 93%,
    transparent 100%
  );
  mask-image:linear-gradient(
    to bottom,
    black 0%,
    black 68%,
    rgba(0,0,0,.8) 82%,
    rgba(0,0,0,.3) 93%,
    transparent 100%
  );
  filter:brightness(.97) contrast(1.04) saturate(.93)
}
.hero-line{
  position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent 5%,rgba(200,164,74,.5) 35%,rgba(200,164,74,.5) 65%,transparent 95%)
}
.hero-glow{
  position:absolute;top:-320px;right:-220px;width:720px;height:720px;
  background:radial-gradient(ellipse,rgba(200,164,74,.07) 0%,transparent 60%);
  pointer-events:none;max-width:none
}
.hero-dots{
  position:absolute;inset:0;
  background-image:radial-gradient(circle,rgba(200,164,74,.06) 1px,transparent 1px);
  background-size:34px 34px;pointer-events:none;
  -webkit-mask-image:radial-gradient(ellipse 90% 80% at 65% 20%,black,transparent);
  mask-image:radial-gradient(ellipse 90% 80% at 65% 20%,black,transparent)
}
.hero-badge{
  display:inline-flex;align-items:center;gap:10px;
  background:rgba(200,164,74,.08);border:1px solid rgba(200,164,74,.2);
  border-radius:100px;padding:6px 18px;
  font-size:9.5px;font-weight:700;letter-spacing:2.5px;
  color:var(--gold);text-transform:uppercase;margin-bottom:28px
}
.hero-badge::before{
  content:'';width:6px;height:6px;background:var(--gold);border-radius:50%;flex-shrink:0;
  box-shadow:0 0 8px rgba(200,164,74,.8)
}
.hero h1{
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(28px,5.8vw,56px);font-weight:700;
  color:var(--text);max-width:740px;margin-bottom:22px;
  line-height:1.08;letter-spacing:-.02em
}
.hero h1 em{font-style:italic;color:var(--gold-lt)}
.hero-sub{
  font-size:clamp(14.5px,2vw,17.5px);color:var(--sub);
  max-width:600px;margin-bottom:36px;font-weight:300;line-height:1.76
}
.hero-checks{list-style:none;margin-bottom:40px;display:flex;flex-direction:column;gap:12px}
.hero-checks li{display:flex;align-items:flex-start;gap:13px;font-size:14.5px;color:var(--sub);line-height:1.55}
.chk{
  flex-shrink:0;width:20px;height:20px;
  background:var(--green-dim);border:1px solid rgba(34,197,94,.22);
  border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px
}
.cta-wrap{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.btn-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  background:linear-gradient(140deg,#2BD06A,#13974A);
  color:#fff;font-family:'DM Sans',system-ui,sans-serif;
  font-size:15.5px;font-weight:600;letter-spacing:.02em;
  padding:17px 32px;border-radius:var(--r8);border:none;
  box-shadow:0 5px 32px rgba(34,197,94,.3),0 1px 0 rgba(255,255,255,.14) inset;
  transition:transform var(--t),box-shadow var(--t);text-align:center
}
.btn-cta:hover{transform:translateY(-2px);box-shadow:0 12px 40px rgba(34,197,94,.38),0 1px 0 rgba(255,255,255,.14) inset}

/* ===== SECTION CTA BUTTONS ===== */
.section-cta-wrap{margin-top:28px;display:flex;justify-content:center;width:100%}
.btn-section-cta{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  background:linear-gradient(140deg,#2BD06A,#13974A);
  color:#fff;font-family:'DM Sans',system-ui,sans-serif;
  font-size:14.5px;font-weight:600;letter-spacing:.02em;
  padding:14px 26px;border-radius:var(--r8);border:none;
  box-shadow:0 4px 24px rgba(34,197,94,.25),0 1px 0 rgba(255,255,255,.12) inset;
  transition:transform var(--t),box-shadow var(--t);text-align:center;
  white-space:nowrap
}
.btn-section-cta:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(34,197,94,.34)}
.btn-section-cta--outline{
  background:transparent;
  border:1px solid rgba(34,197,94,.35);
  color:var(--green);
  box-shadow:none
}
.btn-section-cta--outline:hover{
  background:var(--green-dim);
  border-color:rgba(34,197,94,.6);
  box-shadow:none;transform:translateY(-1px)
}
.cta-note{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:9px}
.cta-note::before{content:'';width:20px;height:1px;background:var(--gold);opacity:.4;flex-shrink:0}

/* ================================================
   TRUST BAR — Ultra Premium Card Grid
   ================================================ */
.trust-bar{
  background:var(--surface);
  border-top:1px solid var(--border-w);
  border-bottom:1px solid var(--border-w);
  padding:36px 0
}
.trust-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:14px
}
.trust-item{
  display:flex;flex-direction:column;gap:14px;
  padding:24px 22px;
  background:var(--card);
  border:1px solid var(--border-s);
  border-top:2px solid transparent;
  border-radius:var(--r12);
  box-shadow:var(--sh-sm);
  transition:border-top-color var(--t),transform var(--t),box-shadow var(--t);
  cursor:default
}
.trust-item:hover{
  border-top-color:var(--gold);
  transform:translateY(-3px);
  box-shadow:var(--sh-md)
}
.trust-ico{
  width:46px;height:46px;flex-shrink:0;
  background:linear-gradient(135deg,rgba(200,164,74,.14),rgba(200,164,74,.04));
  border:1px solid var(--border);
  border-radius:var(--r8);
  display:flex;align-items:center;justify-content:center;color:var(--gold);
  box-shadow:0 0 16px rgba(200,164,74,.08)
}
.trust-ico svg{width:20px;height:20px}
.trust-txt strong{display:block;font-size:13px;font-weight:700;color:var(--text);line-height:1.3;letter-spacing:.01em;margin-bottom:3px}
.trust-txt small{font-size:11.5px;color:var(--muted);line-height:1.4}

/* ================================================
   SECTIONS
   ================================================ */
section{padding:80px 0;overflow:hidden}
.sec-surface{background:var(--surface)}
.sec-surface2{background:var(--surface2)}

.sec-lbl{
  display:inline-flex;align-items:center;gap:12px;
  font-size:9.5px;font-weight:700;letter-spacing:2.5px;
  text-transform:uppercase;color:var(--gold);margin-bottom:14px
}
.sec-lbl::before{content:'';width:24px;height:1px;background:var(--gold);opacity:.5;flex-shrink:0}

.sec-title{
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(22px,4.2vw,36px);font-weight:700;color:var(--text);
  max-width:640px;margin-bottom:14px;line-height:1.15;letter-spacing:-.02em
}
.sec-sub{font-size:14.5px;color:var(--sub);max-width:540px;line-height:1.76;margin-bottom:36px;font-weight:300}

/* ================================================
   PROBLEM BOX — icon bullets ultra premium
   ================================================ */
.prob-box{
  background:var(--card);
  border:1px solid var(--border-s);
  border-top:2px solid rgba(200,164,74,.45);
  border-radius:var(--r16);
  padding:32px 36px;
  box-shadow:var(--sh-md)
}
.prob-box>strong:first-child{
  display:block;font-size:14.5px;color:var(--text);
  font-weight:600;line-height:1.6;margin-bottom:24px;
  padding-bottom:20px;
  border-bottom:1px solid var(--border-w)
}
.prob-pts{display:flex;flex-direction:column;gap:0}
.prob-pt{
  display:flex;align-items:flex-start;gap:16px;
  font-size:14px;color:var(--sub);line-height:1.6;
  padding:16px 0;border-bottom:1px solid var(--border-w)
}
.prob-pt:last-child{border-bottom:none;padding-bottom:0}
/* Premium icon box bullet — box + centered arrow via single pseudo */
.prob-pt::before{
  content:'→';
  display:grid;place-items:center;
  flex-shrink:0;
  width:32px;height:32px;
  background:linear-gradient(135deg,rgba(200,164,74,.14),rgba(200,164,74,.04));
  border:1px solid rgba(200,164,74,.22);
  border-radius:var(--r6);
  box-shadow:0 0 14px rgba(200,164,74,.08);
  color:var(--gold);font-size:12px;font-weight:700;
  margin-top:2px
}

/* ================================================
   ELIGIBILITY
   ================================================ */
.elig-grid{display:grid;grid-template-columns:1fr;gap:11px}
.elig-item{
  background:var(--card);
  border:1px solid var(--border-s);
  border-left:2px solid rgba(34,197,94,.2);
  border-radius:var(--r8);
  padding:20px 24px;
  display:flex;align-items:flex-start;gap:14px;
  box-shadow:var(--sh-sm);
  transition:border-left-color var(--t),background var(--t),transform var(--t)
}
.elig-item:hover{border-left-color:rgba(34,197,94,.55);background:var(--card2);transform:translateX(3px)}
.elig-ico{
  width:30px;height:30px;flex-shrink:0;
  background:var(--green-dim);border:1px solid rgba(34,197,94,.18);
  border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px
}
.elig-item p{font-size:14px;color:var(--sub);line-height:1.55}
.elig-item p strong{color:var(--text);font-size:15px;display:block;margin-bottom:4px;font-weight:600}
.elig-note{
  margin-top:20px;padding:18px 24px;
  background:rgba(200,164,74,.06);border:1px solid var(--border);
  border-radius:var(--r8);font-size:14px;color:var(--sub);line-height:1.7
}
.elig-note strong{color:var(--text)}

/* ================================================
   URGENCY SECTIONS
   ================================================ */
.sec-urgency-danger{background:linear-gradient(160deg,#110707 0%,#081322 55%,#0C1A2E 100%);border-top:1px solid rgba(239,68,68,.14);border-bottom:1px solid rgba(239,68,68,.14)}
.sec-urgency-blue{background:linear-gradient(160deg,#060D1B 0%,#081322 55%,#0C1A2E 100%);border-top:1px solid rgba(59,130,246,.14);border-bottom:1px solid rgba(59,130,246,.14)}
.sec-urgency-orange{background:linear-gradient(160deg,#0E0903 0%,#081322 55%,#0C1A2E 100%);border-top:1px solid rgba(249,115,22,.14);border-bottom:1px solid rgba(249,115,22,.14)}
.sec-urgency-gold{background:linear-gradient(160deg,#0B0902 0%,#081322 55%,#0C1A2E 100%);border-top:1px solid rgba(200,164,74,.18);border-bottom:1px solid rgba(200,164,74,.18)}

.urgency-box{border-radius:var(--r12);padding:30px 36px;display:flex;flex-direction:column;gap:18px}
.urgency-box.danger{background:rgba(239,68,68,.055);border:1px solid rgba(239,68,68,.14)}
.urgency-box.orange{background:rgba(249,115,22,.055);border:1px solid rgba(249,115,22,.14)}
.urgency-box.blue{background:rgba(59,130,246,.055);border:1px solid rgba(59,130,246,.14)}
.urgency-box.gold{background:rgba(200,164,74,.06);border:1px solid rgba(200,164,74,.16)}
.urgency-ico{width:56px;height:56px;border-radius:var(--r8);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.urgency-ico.danger{background:rgba(239,68,68,.1)}
.urgency-ico.orange{background:rgba(249,115,22,.1)}
.urgency-ico.blue{background:rgba(59,130,246,.1)}
.urgency-ico.gold{background:rgba(200,164,74,.1)}
.urgency-txt h3{font-family:'Playfair Display',Georgia,serif;font-size:21px;margin-bottom:8px;line-height:1.22;font-weight:700}
.urgency-txt h3.danger{color:#FCA5A5}
.urgency-txt h3.orange{color:#FDBA74}
.urgency-txt h3.blue{color:#93C5FD}
.urgency-txt h3.gold{color:var(--gold-lt)}
.urgency-txt p{font-size:14px;color:var(--sub);line-height:1.75}
.urgency-txt strong{color:var(--text);font-weight:600}

/* ================================================
   STEPS — TIMELINE
   ================================================ */
.steps{
  display:flex;flex-direction:column;gap:0;
  position:relative
}
/* Vertical connecting line (mobile) */
.steps::before{
  content:'';position:absolute;
  left:22px;top:44px;bottom:44px;width:1px;
  background:linear-gradient(to bottom,var(--gold) 0%,rgba(200,164,74,.15) 100%);
  z-index:0
}
.step{
  display:flex;flex-direction:row;gap:24px;
  position:relative;z-index:1;
  padding-bottom:40px
}
.step:last-child{padding-bottom:0}
.step-n{
  width:44px;height:44px;flex-shrink:0;
  background:var(--surface);
  border:2px solid var(--gold);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Playfair Display',Georgia,serif;
  font-size:17px;font-weight:700;color:var(--gold);
  box-shadow:0 0 0 5px var(--surface),0 0 0 6px rgba(200,164,74,.15),0 0 24px rgba(200,164,74,.14);
  z-index:1;position:relative
}
.step-body{
  background:var(--card);
  border:1px solid var(--border-s);
  border-radius:var(--r12);
  padding:22px 26px;
  flex:1;
  box-shadow:var(--sh-sm);
  position:relative
}
/* Arrow pointing from step number to card */
.step-body::before{
  content:'';
  position:absolute;left:-8px;top:18px;
  width:0;height:0;
  border-top:7px solid transparent;
  border-bottom:7px solid transparent;
  border-right:8px solid var(--border-s)
}
.step-body h3{
  font-size:15.5px;font-weight:600;color:var(--text);
  margin-bottom:7px;letter-spacing:.01em
}
.step-body p{font-size:13.5px;color:var(--muted);line-height:1.68}

/* ================================================
   REVIEWS
   ================================================ */
.rating-bar{
  background:var(--card);
  border:1px solid var(--border-s);border-top:2px solid rgba(200,164,74,.4);
  border-radius:var(--r12);padding:28px 32px;
  display:flex;align-items:center;gap:26px;margin-bottom:24px;
  box-shadow:var(--sh-md)
}
.rating-num{font-family:'Playfair Display',Georgia,serif;font-size:60px;font-weight:700;color:var(--text);line-height:1;letter-spacing:-.03em}
.rating-stars-lg{color:var(--gold);font-size:18px;letter-spacing:3px;margin-bottom:6px}
.rating-count{font-size:13.5px;color:var(--text2);font-weight:500}
.rating-origin{font-size:11px;color:var(--muted);margin-top:5px}
.rev-grid{display:grid;grid-template-columns:1fr;gap:14px}
.rev-card{
  background:var(--card);border:1px solid var(--border-s);
  border-radius:var(--r12);padding:26px 28px;
  position:relative;overflow:hidden;
  box-shadow:var(--sh-sm);
  transition:border-color var(--t),transform var(--t),box-shadow var(--t)
}
.rev-card:hover{border-color:var(--border);transform:translateY(-3px);box-shadow:var(--sh-md)}
.rev-card::before{
  content:'\201C';
  position:absolute;bottom:-18px;right:14px;
  font-family:'Playfair Display',Georgia,serif;
  font-size:120px;color:var(--gold);
  opacity:.05;line-height:1;pointer-events:none;user-select:none
}
.rev-stars{color:var(--gold);font-size:13px;letter-spacing:2.5px;margin-bottom:12px}
.rev-txt{font-size:14px;color:var(--sub);line-height:1.73;font-style:italic;margin-bottom:16px}
.rev-author{font-size:13px;font-weight:600;color:var(--text2)}
.rev-via{font-size:10.5px;color:var(--muted);display:flex;align-items:center;gap:5px;margin-top:5px}

/* ================================================
   FAQ
   ================================================ */
.faq-list{display:flex;flex-direction:column;gap:8px}
.faq-item{
  background:var(--card);border:1px solid var(--border-s);
  border-radius:var(--r8);overflow:hidden;
  transition:border-color var(--t)
}
.faq-item:hover,.faq-item.open{border-color:var(--border)}
.faq-item.open{background:var(--card2)}
.faq-q{
  width:100%;background:none;border:none;
  padding:20px 24px;display:flex;align-items:center;justify-content:space-between;gap:16px;
  text-align:left;font-family:'DM Sans',system-ui,sans-serif;
  font-size:14.5px;font-weight:500;color:var(--text);line-height:1.45
}
.faq-q svg{flex-shrink:0;color:var(--gold);transition:transform .3s ease}
.faq-item.open .faq-q svg{transform:rotate(45deg)}
.faq-a{
  display:none;padding:0 24px 22px;padding-top:14px;
  border-top:1px solid var(--border-w);
  font-size:14px;color:var(--sub);line-height:1.78
}
.faq-item.open .faq-a{display:block}

/* ================================================
   FINAL CTA
   ================================================ */
.sec-final{
  background:linear-gradient(160deg,#050C1A 0%,#081322 50%,#0C1A2E 100%);
  text-align:center;padding:100px 0;position:relative;overflow:hidden;max-width:100vw
}
.sec-final::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(200,164,74,.45),transparent)}
.sec-final::after{content:'';position:absolute;bottom:-130px;left:50%;transform:translateX(-50%);width:600px;height:600px;background:radial-gradient(circle,rgba(200,164,74,.075),transparent 58%)}
.sec-final h2{
  font-family:'Playfair Display',Georgia,serif;
  font-size:clamp(24px,4.8vw,46px);color:var(--text);
  max-width:560px;margin:0 auto 18px;
  line-height:1.1;letter-spacing:-.02em
}
.sec-final p{font-size:15.5px;color:var(--sub);max-width:440px;margin:0 auto 40px;font-weight:300;line-height:1.73}
.sec-final .btn-cta{margin:0 auto;font-size:16.5px;padding:19px 38px}

/* ================================================
   FOOTER
   ================================================ */
footer{background:#020810;border-top:1px solid var(--border-w);padding:36px 0}
footer .c{display:flex;flex-direction:column;align-items:center;gap:13px;text-align:center}
.ft-name{font-family:'Playfair Display',Georgia,serif;font-size:15px;color:var(--text2);letter-spacing:.02em}
.ft-oab{font-size:11px;color:var(--muted);line-height:1.8}
.ft-oab strong{color:var(--sub)}
.ft-addr{display:flex;align-items:center;justify-content:center;gap:7px;font-size:11.5px;color:var(--muted)}
.ft-disc{font-size:10px;color:var(--muted);max-width:520px;line-height:1.65;opacity:.5}
.ft-links{display:flex;gap:22px;font-size:11px;color:var(--muted)}
.ft-links a:hover{color:var(--gold)}

/* DIVIDER */
.divider{width:48px;height:1.5px;background:linear-gradient(90deg,var(--gold),transparent);margin:20px 0}

/* UTILS */
.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}

/* ================================================
   MOBILE CENTERING (max-width:767px)
   ================================================ */
@media(max-width:767px){
  /* Hamburger visível, nav desktop oculto */
  .hamburger{display:flex}
  .nav-desktop{display:none}

  /* Hero — centraliza tudo menos o checklist */
  .hero-badge{display:block;text-align:center;padding:7px 18px;border-radius:12px}
  .hero-badge::before{display:none}
  .hero-visual{order:2}
  .hero-svg{max-width:220px}
  .hero-badge{display:flex;margin:0 auto 26px}
  .hero h1{text-align:center}
  .hero-sub{text-align:center;margin-left:auto;margin-right:auto}
  .cta-wrap{align-items:center;width:100%}
  .btn-cta{width:100%;justify-content:center}
  .cta-note{justify-content:center}

  /* Trust cards — ícone + texto centralizados */
  .trust-item{align-items:center;text-align:center}

  /* Cabeçalhos de seção */
  .sec-lbl{display:flex;width:100%;justify-content:center}
  .sec-title{text-align:center;margin-left:auto;margin-right:auto}
  .sec-sub{text-align:center;margin-left:auto;margin-right:auto}

  /* Problem box — lead text centralizado, bullets ficam à esquerda */
  .prob-box>strong:first-child{text-align:center}

  /* Eligibility note */
  .elig-note{text-align:center}

  /* Timeline — esconde a seta lateral no mobile (não faz sentido vertical) */
  .step-body::before{display:none}

  /* Rating bar — empilha centralizado */
  .rating-bar{flex-direction:column;align-items:center;text-align:center;gap:14px}

  /* Final CTA */
  .sec-final h2,.sec-final p{text-align:center}
  .sec-final .cta-note{justify-content:center}

  /* Section CTAs */
  .section-cta-wrap{justify-content:center}
  .btn-section-cta{white-space:normal;text-align:center;width:100%;justify-content:center}

  /* Footer */
  .ft-oab,.ft-disc{text-align:center}
}

/* ================================================
   RESPONSIVE
   ================================================ */
@media(min-width:600px){
  .trust-grid{grid-template-columns:repeat(4,1fr);gap:16px}
  .trust-item{flex-direction:column}

  .elig-grid{grid-template-columns:1fr 1fr}
  .rev-grid{grid-template-columns:1fr 1fr 1fr}
  .urgency-box{flex-direction:row;align-items:flex-start;gap:26px}

  /* Timeline horizontal */
  .steps{flex-direction:row;flex-wrap:wrap;gap:0}
  .steps::before{
    left:22px;right:22px;
    top:22px;bottom:auto;
    width:auto;height:1px;
    background:linear-gradient(to right,transparent,var(--gold) 15%,var(--gold) 85%,transparent)
  }
  .step{flex-direction:column;padding:0 20px 0 0;gap:0;flex:1}
  .step:last-child{padding-right:0}
  .step-n{margin-bottom:24px;align-self:flex-start}
  .step-body::before{
    left:auto;top:-8px;left:18px;
    border-top:none;border-left:7px solid transparent;border-right:7px solid transparent;
    border-bottom:8px solid var(--border-s)
  }
  /* CTA dentro do .steps — força linha abaixo dos steps */
  .steps .section-cta-wrap{width:100%;order:9;margin-top:28px;justify-content:center}
}
@media(min-width:768px){
  .hero{padding:100px 0 86px}
  section{padding:92px 0}
  .sec-final{padding:116px 0}
  /* Desktop hero: lado a lado */
  .hero-layout{flex-direction:row;align-items:center;gap:56px}
  .hero-visual{width:480px}
  .hero-svg{max-width:480px}
  .hero-img-wrap{max-width:480px}
  /* Mostrar nav desktop, esconder hamburger */
  .nav-desktop{display:flex}
  .hamburger{display:none}
  .mobile-menu{display:none !important}
}