/* ============================================================
   PAZ PREVIDÊNCIA — Design System
   Navy + gold advocacy identity. Newsreader (display) + Hanken Grotesk (text).
   ============================================================ */

:root {
  /* Ink / navy scale */
  --ink-900:#0A1622;
  --ink-800:#0C1A28;
  --ink-700:#102733;
  --teal-800:#0F312F;
  --teal-700:#143A36;
  --teal-600:#1C4E47;

  /* Gold scale */
  --gold-700:#9A6F24;
  --gold-600:#B0812C;
  --gold-500:#C8973A;
  --gold-400:#D9AE57;
  --gold-300:#E8C078;
  --gold-200:#F1DBAA;
  --gold-glass:rgba(200,151,58,.12);
  --gold-line:rgba(200,151,58,.30);
  --gold-grad:linear-gradient(135deg,#EBCB88 0%,#C8973A 52%,#AD7E2B 100%);

  /* Light surfaces */
  --ivory:#F7F3EA;
  --ivory-2:#FBF8F1;
  --card:#FFFFFF;
  --line-warm:#E9E1D3;
  --line-soft:#F0EADD;

  /* Text on light */
  --text-1:#0C1A28;
  --text-2:#48525C;
  --text-3:#7B848E;

  /* Text on dark */
  --on-1:#FFFFFF;
  --on-2:rgba(255,255,255,.75);
  --on-3:rgba(255,255,255,.52);
  --on-line:rgba(255,255,255,.09);

  --wpp:#22C15E;

  /* Type */
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --sans:'Hanken Grotesk',system-ui,-apple-system,sans-serif;

  /* Radii */
  --r-sm:10px; --r-md:14px; --r-lg:20px; --r-xl:26px; --r-pill:999px;

  /* Shadows */
  --sh-sm:0 2px 10px rgba(12,26,40,.05);
  --sh-md:0 14px 38px rgba(12,26,40,.09);
  --sh-lg:0 30px 70px rgba(10,22,34,.15);
  --sh-dark:0 30px 70px rgba(0,0,0,.48);
  --sh-gold:0 16px 40px rgba(200,151,58,.34);

  --ease:cubic-bezier(.2,0,0,1);
  --maxw:1180px;
}

* { margin:0; padding:0; box-sizing:border-box; }
*::before,*::after { box-sizing:border-box; }

html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body {
  font-family:var(--sans);
  color:var(--text-1);
  background:var(--ivory-2);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}

img { display:block; max-width:100%; }
a { color:inherit; }
::selection { background:rgba(200,151,58,.28); color:var(--ink-900); }

:focus-visible {
  outline:none;
  box-shadow:0 0 0 3px rgba(200,151,58,.5), 0 0 0 6px rgba(200,151,58,.16);
  border-radius:6px;
}

/* Noise + glow helpers for dark sections */
.grain::before {
  content:"";
  position:absolute; inset:0;
  background-image:url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNDAiIGhlaWdodD0iMTQwIj48ZmlsdGVyIGlkPSJuIj48ZmVUdXJidWxlbmNlIHR5cGU9ImZyYWN0YWxOb2lzZSIgYmFzZUZyZXF1ZW5jeT0iMC45IiBudW1PY3RhdmVzPSIyIiBzdGl0Y2hUaWxlcz0ic3RpdGNoIi8+PC9maWx0ZXI+PHJlY3Qgd2lkdGg9IjEwMCUiIGhlaWdodD0iMTAwJSIgZmlsdGVyPSJ1cmwoI24pIiBvcGFjaXR5PSIwLjUiLz48L3N2Zz4=");
  opacity:.045; mix-blend-mode:overlay; pointer-events:none; z-index:0;
}

/* ---------- Shared layout ---------- */
.wrap { max-width:var(--maxw); margin:0 auto; padding-inline:40px; }
.section { padding:96px 40px; position:relative; }
.section-dark { background:var(--ink-800); color:var(--on-1); position:relative; overflow:hidden; }
.section-ivory { background:var(--ivory); }
.section-white { background:var(--card); }

/* ---------- Editorial section header ---------- */
.eyebrow {
  display:inline-flex; align-items:center; gap:10px;
  font-size:12px; font-weight:700; letter-spacing:.16em; text-transform:uppercase;
  color:var(--gold-600);
}
.eyebrow::before { content:""; width:26px; height:1.5px; background:var(--gold-500); opacity:.7; }
.eyebrow.center::after { content:""; width:26px; height:1.5px; background:var(--gold-500); opacity:.7; }
.section-dark .eyebrow { color:var(--gold-300); }

.head { text-align:center; max-width:640px; margin:0 auto 56px; position:relative; z-index:2; }
.head .eyebrow { margin-bottom:18px; }
.head h2 {
  font-family:var(--serif); font-weight:500;
  font-size:clamp(30px,3.8vw,46px); line-height:1.08; letter-spacing:-.015em;
  color:var(--text-1); margin-bottom:16px; text-wrap:balance;
}
.section-dark .head h2 { color:var(--on-1); }
.head p {
  font-size:16.5px; line-height:1.7; color:var(--text-2); max-width:520px; margin:0 auto;
  text-wrap:pretty;
}
.section-dark .head p { color:var(--on-2); }
.head h2 em { font-style:italic; color:var(--gold-600); }
.section-dark .head h2 em { color:var(--gold-300); }

/* ============================================================
   TOP BAR
   ============================================================ */
#topbar {
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:16px 40px;
  background:rgba(10,22,34,.72);
  backdrop-filter:blur(16px) saturate(1.3); -webkit-backdrop-filter:blur(16px) saturate(1.3);
  border-bottom:1px solid rgba(200,151,58,.14);
  transition:padding .3s var(--ease), background .3s var(--ease);
}
#topbar.scrolled { padding:11px 40px; background:rgba(10,22,34,.9); }
.brand { display:flex; align-items:center; gap:12px; text-decoration:none; }
.brand-mark { display:flex; align-items:flex-end; gap:3.5px; height:24px; }
.brand-mark i { display:block; width:4px; border-radius:2px; background:var(--gold-500); }
.brand-mark i:nth-child(1){ height:16px; }
.brand-mark i:nth-child(2){ height:22px; background:var(--gold-400); }
.brand-mark i:nth-child(3){ height:12px; background:var(--gold-600); }
.brand-name {
  color:#fff; font-family:var(--serif); font-size:21px; font-weight:500; letter-spacing:.005em;
}
.brand-name b { font-weight:600; color:var(--gold-300); }
.oab-pill {
  font-size:11px; font-weight:600; color:var(--gold-300); letter-spacing:.06em;
  border:1px solid rgba(200,151,58,.4); padding:6px 14px; border-radius:var(--r-pill);
  white-space:nowrap;
}

/* ============================================================
   HERO
   ============================================================ */
#hero {
  position:relative; overflow:hidden;
  background:
    radial-gradient(120% 130% at 82% -6%, #1B4E47 0%, #123A36 34%, #0C1A28 66%, #0A1420 100%);
  padding:132px 40px 84px;
  color:var(--on-1);
}
#hero .glow-a {
  position:absolute; top:-160px; right:-120px; width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle, rgba(200,151,58,.22), transparent 66%); pointer-events:none; z-index:0;
}
#hero .glow-b {
  position:absolute; bottom:-220px; left:-160px; width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle, rgba(28,78,71,.55), transparent 68%); pointer-events:none; z-index:0;
}
.hero-grid {
  max-width:var(--maxw); margin:0 auto; position:relative; z-index:2;
  display:grid; grid-template-columns:1.04fr .96fr; gap:60px; align-items:center;
}
.badge {
  display:inline-flex; align-items:center; gap:9px;
  background:rgba(200,151,58,.1); border:1px solid rgba(200,151,58,.3);
  border-radius:var(--r-pill); padding:8px 16px; margin-bottom:26px;
  color:var(--gold-300); font-size:13px; font-weight:600;
}
.badge .dot { width:7px; height:7px; border-radius:50%; background:var(--gold-400); box-shadow:0 0 0 0 rgba(217,174,87,.6); animation:pulse 2.4s infinite; }

#hero h1 {
  font-family:var(--serif); font-weight:500;
  font-size:clamp(42px,5.4vw,72px); line-height:1.02; letter-spacing:-.02em;
  margin-bottom:22px; text-wrap:balance;
}
#hero h1 em { display:block; font-style:italic; font-weight:500; color:var(--gold-300); }

.alert-note {
  background:linear-gradient(90deg, rgba(200,151,58,.12), rgba(200,151,58,.03));
  border-left:3px solid var(--gold-500); border-radius:0 12px 12px 0;
  padding:15px 20px; margin-bottom:24px; font-size:14.5px; line-height:1.62; color:var(--on-2); max-width:520px;
}
.alert-note b { color:var(--gold-300); font-weight:600; }

.hero-lead { font-size:clamp(15.5px,1.6vw,18px); color:var(--on-2); line-height:1.72; margin-bottom:34px; max-width:512px; }

.cta-row { display:flex; flex-direction:column; gap:14px; margin-bottom:34px; }
.btn-gold {
  display:inline-flex; align-items:center; justify-content:center; gap:11px;
  background:var(--gold-grad); color:var(--ink-900);
  font-family:var(--sans); font-size:16px; font-weight:700; letter-spacing:.005em;
  padding:18px 34px; border:none; border-radius:var(--r-pill); text-decoration:none; cursor:pointer;
  width:fit-content; box-shadow:var(--sh-gold);
  transition:transform .24s var(--ease), box-shadow .24s var(--ease), filter .24s var(--ease);
}
.btn-gold:hover { transform:translateY(-2px); box-shadow:0 22px 52px rgba(200,151,58,.46); filter:brightness(1.04); }
.btn-gold:active { transform:translateY(0); }
.btn-gold svg { transition:transform .24s var(--ease); }
.btn-gold:hover svg { transform:translateX(3px); }
.reassure { font-size:13px; color:var(--on-3); display:flex; align-items:center; gap:8px; }
.reassure .ck { color:var(--gold-400); font-weight:700; }

.trust-row { display:flex; align-items:center; gap:22px; flex-wrap:wrap; padding-top:22px; border-top:1px solid var(--on-line); }
.trust-row span { display:inline-flex; align-items:center; gap:8px; font-size:13px; color:var(--on-3); }
.trust-row .di { color:var(--gold-500); font-size:8px; }

/* Hero visual */
.hero-visual { position:relative; }
.hero-visual-head { margin-bottom:20px; }
.hero-visual-head .eyebrow { margin-bottom:12px; color:var(--gold-300); }
.hv-title { font-family:var(--serif); font-weight:500; font-size:clamp(21px,2.3vw,27px); line-height:1.16; color:#fff; letter-spacing:-.01em; text-wrap:balance; }
.hv-title em { font-style:italic; color:var(--gold-300); }
.hero-photo {
  position:relative; border-radius:var(--r-xl); overflow:hidden;
  border:1px solid rgba(200,151,58,.28);
  box-shadow:var(--sh-dark);
  aspect-ratio:4/3;
}
.hero-photo img { width:100%; height:100%; object-fit:cover; object-position:50% 40%; }
.hero-photo::after {
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, transparent 40%, rgba(10,22,34,.55) 100%);
}
.hero-frame-corner {
  position:absolute; width:34px; height:34px; border:2px solid var(--gold-400); z-index:3; opacity:.9;
}
.hfc-tl { top:14px; left:14px; border-right:none; border-bottom:none; border-radius:6px 0 0 0; }
.hfc-br { bottom:14px; right:14px; border-left:none; border-top:none; border-radius:0 0 6px 0; }

.hero-card {
  position:relative; margin-top:-58px; margin-left:auto; margin-right:22px; z-index:4;
  width:min(340px,86%);
  background:rgba(12,26,40,.62); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(200,151,58,.24); border-radius:var(--r-lg);
  padding:22px 22px 20px; box-shadow:0 24px 54px rgba(0,0,0,.4);
}
.hero-card .tag {
  position:absolute; top:-14px; left:22px;
  background:var(--gold-grad); color:var(--ink-900); font-size:11.5px; font-weight:700; letter-spacing:.04em;
  padding:6px 15px; border-radius:var(--r-pill); box-shadow:0 8px 20px rgba(200,151,58,.3);
}
.hero-stats { display:flex; gap:12px; margin:12px 0 16px; }
.hero-stats .st { flex:1; background:rgba(255,255,255,.045); border:1px solid rgba(200,151,58,.14); border-radius:var(--r-md); padding:14px 10px; text-align:center; }
.hero-stats .st b { display:block; font-family:var(--serif); font-size:30px; font-weight:600; color:var(--gold-300); line-height:1; }
.hero-stats .st span { display:block; font-size:11px; color:var(--on-3); line-height:1.4; margin-top:6px; }
.hero-steps { display:flex; flex-direction:column; gap:8px; }
.hero-steps .stp { display:flex; align-items:center; gap:12px; background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.06); border-radius:12px; padding:11px 13px; }
.hero-steps .stp i { width:23px; height:23px; border-radius:50%; background:var(--gold-grad); color:var(--ink-900); font-size:11px; font-weight:700; font-style:normal; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.hero-steps .stp span { font-size:12.5px; color:var(--on-2); line-height:1.4; }

/* ============================================================
   URGENCY STRIP
   ============================================================ */
#strip {
  background:linear-gradient(90deg,#123A36,#1C4E47);
  padding:16px 40px; display:flex; align-items:center; justify-content:center; gap:20px; flex-wrap:wrap;
  border-top:1px solid rgba(200,151,58,.14); border-bottom:1px solid rgba(200,151,58,.14);
}
#strip p { font-size:14px; color:var(--on-2); text-align:center; margin:0; }
#strip b { color:var(--gold-300); font-weight:600; }
.strip-btn {
  display:inline-flex; align-items:center; gap:7px; background:var(--gold-grad); color:var(--ink-900);
  font-size:13px; font-weight:700; padding:10px 18px; border-radius:var(--r-pill); text-decoration:none; white-space:nowrap;
  transition:transform .2s var(--ease), filter .2s var(--ease);
}
.strip-btn:hover { transform:translateY(-1px); filter:brightness(1.05); }

/* ============================================================
   FUNIL (interactive funnel)
   ============================================================ */
#funil { background:var(--ivory); padding:92px 24px; position:relative; }
.funnel-shell { max-width:600px; margin:0 auto; }

.progress { display:flex; align-items:center; justify-content:center; margin-bottom:38px; }
.progress .p-dot {
  width:34px; height:34px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-size:12.5px; font-weight:700; flex-shrink:0; position:relative; z-index:1;
  border:2px solid var(--line-warm); background:#fff; color:var(--text-3);
  transition:all .35s var(--ease);
}
.progress .p-dot.done { border-color:var(--gold-500); background:var(--gold-grad); color:var(--ink-900); }
.progress .p-dot.active { border-color:var(--gold-500); background:var(--gold-grad); color:var(--ink-900); box-shadow:0 0 0 5px rgba(200,151,58,.18); }
.progress .p-line { height:2px; flex:1; min-width:12px; background:var(--line-warm); transition:background .35s var(--ease); }
.progress .p-line.done { background:var(--gold-500); }

.f-card {
  background:#fff; border:1px solid var(--line-soft); border-radius:var(--r-xl);
  padding:40px 36px; box-shadow:var(--sh-md); position:relative;
  animation:rise .34s var(--ease) both;
}
.f-card .step-label { font-size:11.5px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--gold-600); margin-bottom:14px; }
.f-card h3 { font-family:var(--serif); font-weight:500; font-size:clamp(23px,3vw,31px); line-height:1.16; color:var(--text-1); margin-bottom:9px; letter-spacing:-.01em; }
.f-card .sub { font-size:14.5px; color:var(--text-2); margin-bottom:26px; line-height:1.6; }

.opts { display:flex; flex-direction:column; gap:11px; }
.opt {
  display:flex; align-items:center; gap:15px;
  background:var(--ivory); border:1.5px solid transparent; border-radius:var(--r-md);
  padding:17px 18px; cursor:pointer; text-align:left; width:100%; font-family:inherit;
  transition:border-color .2s var(--ease), background .2s var(--ease), transform .12s var(--ease);
}
.opt:hover { border-color:var(--gold-line); background:#FBF6EB; }
.opt:active { transform:scale(.995); }
.opt.sel { border-color:var(--gold-500); background:rgba(200,151,58,.07); }
.opt .txt { flex:1; min-width:0; }
.opt .txt b { display:block; font-size:15px; font-weight:600; color:var(--text-1); margin-bottom:3px; }
.opt .txt span { font-size:12.8px; color:var(--text-2); line-height:1.45; }
.opt .radio {
  width:24px; height:24px; border-radius:50%; flex-shrink:0; display:flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:700; background:#fff; border:2px solid #D8D1C4; color:transparent; transition:all .2s var(--ease);
}
.opt.sel .radio { background:var(--gold-grad); border-color:var(--gold-500); color:var(--ink-900); }

.btn-continue {
  width:100%; margin-top:22px; background:var(--ink-800); color:#fff; border:none; border-radius:var(--r-pill);
  padding:16px 32px; font-size:15px; font-weight:600; font-family:inherit; cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:8px;
  transition:background .22s var(--ease), transform .2s var(--ease); animation:rise .2s var(--ease);
}
.btn-continue:hover { background:var(--teal-700); transform:translateY(-1px); }

/* Contato form */
.field { display:flex; flex-direction:column; gap:6px; }
.field label { font-size:13px; font-weight:600; color:var(--text-1); }
.field input {
  border:1.5px solid var(--line-warm); border-radius:12px; padding:14px 15px; font-size:15px; font-family:inherit;
  color:var(--text-1); background:var(--ivory); outline:none; transition:border-color .2s var(--ease), background .2s var(--ease), box-shadow .2s var(--ease);
}
.field input:focus { border-color:var(--gold-500); background:#fff; box-shadow:0 0 0 4px rgba(200,151,58,.12); }
.form-stack { display:flex; flex-direction:column; gap:15px; }
.lgpd { display:flex; align-items:flex-start; gap:11px; margin-top:2px; }
.lgpd input { width:18px; height:18px; flex-shrink:0; margin-top:2px; accent-color:var(--gold-500); cursor:pointer; }
.lgpd label { font-size:12px; color:var(--text-2); line-height:1.5; cursor:pointer; }
.lgpd a { color:var(--gold-600); text-decoration:none; font-weight:600; cursor:pointer; }
.lgpd a:hover { text-decoration:underline; }
.form-error { background:#FDECEC; border:1px solid #F2B9B9; border-radius:10px; padding:12px 14px; font-size:13px; color:#9B2C2C; margin-bottom:16px; }
.btn-submit {
  width:100%; margin-top:8px; background:var(--gold-grad); color:var(--ink-900); border:none; border-radius:var(--r-pill);
  padding:17px 32px; font-size:16px; font-weight:700; font-family:inherit; cursor:pointer;
  display:flex; align-items:center; justify-content:center; gap:8px; box-shadow:var(--sh-gold);
  transition:transform .22s var(--ease), filter .22s var(--ease);
}
.btn-submit:hover { transform:translateY(-2px); filter:brightness(1.04); }
.btn-submit[disabled] { opacity:.55; cursor:not-allowed; transform:none; box-shadow:none; }

/* Sucesso */
.success { text-align:center; animation:rise .4s var(--ease) both; }
.success .check {
  width:74px; height:74px; border-radius:50%; background:rgba(200,151,58,.1); border:2px solid var(--gold-500);
  display:flex; align-items:center; justify-content:center; margin:0 auto 24px; font-size:32px; color:var(--gold-600);
}
.success h3 { font-family:var(--serif); font-weight:500; font-size:30px; color:var(--text-1); margin-bottom:12px; }
.success p { font-size:15px; color:var(--text-2); line-height:1.7; margin:0 auto 28px; max-width:420px; }
.btn-wpp {
  display:inline-flex; align-items:center; gap:10px; background:var(--wpp); color:#fff; font-size:15px; font-weight:600;
  padding:15px 30px; border-radius:var(--r-pill); text-decoration:none; box-shadow:0 10px 30px rgba(34,193,94,.32);
  transition:transform .22s var(--ease);
}
.btn-wpp:hover { transform:translateY(-2px); }

/* ============================================================
   PARA QUEM É — audience cards
   ============================================================ */
.grid-2 { max-width:var(--maxw); margin:0 auto; display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.aud-card {
  background:#fff; border:1px solid var(--line-warm); border-radius:var(--r-lg); padding:34px 32px;
  display:flex; gap:24px; transition:transform .26s var(--ease), box-shadow .26s var(--ease), border-color .26s var(--ease);
}
.aud-card:hover { transform:translateY(-4px); box-shadow:var(--sh-md); border-color:var(--gold-line); }
.aud-card .num {
  flex-shrink:0; font-family:var(--serif); font-size:40px; font-weight:500; line-height:.9; width:52px;
  color:transparent; -webkit-text-stroke:1.4px var(--gold-500); letter-spacing:-.02em;
}
.aud-card .k { font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--gold-600); margin-bottom:9px; }
.aud-card h3 { font-family:var(--serif); font-weight:500; font-size:23px; color:var(--text-1); margin-bottom:9px; line-height:1.18; }
.aud-card p { font-size:14px; color:var(--text-2); line-height:1.68; }

/* ============================================================
   COMO FUNCIONA — process steps
   ============================================================ */
.steps-grid { max-width:1080px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.proc {
  background:#fff; border:1px solid var(--line-warm); border-radius:var(--r-lg); padding:38px 30px; text-align:center;
  position:relative; transition:transform .26s var(--ease), box-shadow .26s var(--ease);
}
.proc:hover { transform:translateY(-4px); box-shadow:var(--sh-md); }
.proc .circle {
  width:66px; height:66px; border-radius:50%; background:var(--ivory); border:1px solid var(--line-warm);
  display:flex; align-items:center; justify-content:center; margin:0 auto 20px;
  font-family:var(--serif); font-size:27px; font-weight:600; color:var(--gold-600);
}
.proc .k { display:inline-block; font-size:11px; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--gold-600); margin-bottom:10px; }
.proc h3 { font-family:var(--serif); font-weight:500; font-size:22px; color:var(--text-1); margin-bottom:10px; line-height:1.2; }
.proc p { font-size:14px; color:var(--text-2); line-height:1.72; }

/* ============================================================
   AUTORIDADE — attorney profile
   ============================================================ */
#autoridade { background:radial-gradient(125% 130% at 18% -10%, #1C4E47 0%, #123A36 30%, #0C1A28 64%); }
.auth-grid { max-width:1060px; margin:0 auto; display:grid; grid-template-columns:340px 1fr; gap:64px; align-items:center; position:relative; z-index:2; }
.auth-photo { position:relative; }
.auth-photo img {
  width:100%; aspect-ratio:3/4; object-fit:cover; object-position:50% 20%;
  border-radius:var(--r-lg); border:1px solid rgba(200,151,58,.3); box-shadow:var(--sh-dark);
}
.auth-photo .name-card {
  position:absolute; bottom:16px; left:16px; right:16px;
  background:rgba(10,22,34,.8); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  border:1px solid rgba(200,151,58,.26); border-radius:var(--r-md); padding:14px 16px;
}
.auth-photo .name-card b { display:block; font-family:var(--serif); font-size:19px; font-weight:600; color:#fff; line-height:1.1; }
.auth-photo .name-card span { display:block; font-size:11.5px; color:var(--gold-300); margin-top:3px; letter-spacing:.02em; }
.auth-photo .ring { position:absolute; inset:-10px; border:1px solid rgba(200,151,58,.18); border-radius:calc(var(--r-lg) + 8px); pointer-events:none; }

.auth-body .eyebrow { margin-bottom:16px; }
.auth-body h2 { font-family:var(--serif); font-weight:500; font-size:clamp(30px,3.4vw,48px); color:#fff; line-height:1.06; margin-bottom:7px; letter-spacing:-.015em; }
.auth-body .role { font-size:13.5px; color:var(--gold-300); font-weight:500; margin-bottom:26px; }
.auth-body p { font-size:16px; color:var(--on-2); line-height:1.85; margin-bottom:30px; max-width:560px; }
.pull-quote {
  font-family:var(--serif); font-style:italic; font-weight:400; font-size:24px; color:var(--gold-300);
  border-left:3px solid var(--gold-500); padding-left:22px; line-height:1.42;
}

/* ============================================================
   CREDENCIAIS — E-E-A-T
   ============================================================ */
.cred-grid { max-width:1080px; margin:0 auto 32px; display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.cred {
  background:var(--ivory); border:1px solid var(--line-warm); border-radius:var(--r-lg); padding:30px 30px;
  display:flex; gap:22px; align-items:flex-start;
  transition:transform .24s var(--ease), box-shadow .24s var(--ease);
}
.cred:hover { transform:translateY(-3px); box-shadow:var(--sh-sm); }
.cred .initial {
  flex-shrink:0; width:52px; height:52px; border-radius:14px; background:#fff; border:1px solid var(--gold-line);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-size:28px; font-weight:600; color:var(--gold-600);
}
.cred .k { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-600); margin-bottom:8px; }
.cred p { font-size:14.5px; color:var(--text-2); line-height:1.72; }
.area-tags { max-width:1080px; margin:0 auto; display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:10px; }
.area-tags .lbl { font-size:12.5px; font-weight:600; color:var(--text-2); margin-right:4px; }
.chip {
  font-size:12.5px; font-weight:600; color:var(--text-1); background:rgba(200,151,58,.09);
  border:1px solid var(--gold-line); border-radius:var(--r-pill); padding:7px 15px;
}

/* ============================================================
   ARTIGOS
   ============================================================ */
.art-grid { max-width:1000px; margin:0 auto; display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.art {
  display:flex; flex-direction:column; background:#fff; border:1px solid var(--line-warm); border-radius:var(--r-lg);
  padding:32px 30px; text-decoration:none; transition:transform .26s var(--ease), box-shadow .26s var(--ease), border-color .26s var(--ease);
}
.art:hover { transform:translateY(-4px); box-shadow:var(--sh-md); border-color:var(--gold-line); }
.art .cat {
  align-self:flex-start; font-size:10.5px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-700);
  background:rgba(200,151,58,.1); border-radius:var(--r-pill); padding:6px 13px; margin-bottom:18px;
}
.art h3 { font-family:var(--serif); font-weight:500; font-size:23px; color:var(--text-1); line-height:1.22; margin-bottom:11px; }
.art p { font-size:14px; color:var(--text-2); line-height:1.68; margin-bottom:20px; flex:1; }
.art .meta { display:flex; align-items:center; justify-content:space-between; font-size:13px; font-weight:600; color:var(--gold-600); }
.art .meta .rt { color:var(--text-3); font-weight:500; }
.art:hover .meta .arrow { transform:translateX(3px); }
.art .meta .arrow { display:inline-block; transition:transform .24s var(--ease); }

/* ============================================================
   FAQ
   ============================================================ */
.faq-list { max-width:680px; margin:0 auto; display:flex; flex-direction:column; gap:11px; }
.faq-item { background:var(--ivory); border:1px solid var(--line-warm); border-radius:var(--r-md); overflow:hidden; transition:border-color .2s var(--ease); }
.faq-item.open { border-color:var(--gold-line); }
.faq-q {
  width:100%; display:flex; justify-content:space-between; align-items:center; gap:14px;
  padding:20px 24px; background:none; border:none; cursor:pointer; text-align:left;
  font-size:15.5px; font-weight:600; font-family:inherit; color:var(--text-1);
}
.faq-icon {
  width:26px; height:26px; border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0;
  font-size:18px; line-height:1; transition:all .28s var(--ease);
  background:rgba(200,151,58,.1); border:1px solid var(--gold-line); color:var(--gold-600);
}
.faq-item.open .faq-icon { background:var(--gold-grad); border-color:var(--gold-500); color:var(--ink-900); transform:rotate(45deg); }
.faq-a { overflow:hidden; max-height:0; transition:max-height .34s var(--ease), padding .34s var(--ease); }
.faq-a .inner { padding:0 24px 22px; font-size:14.5px; color:var(--text-2); line-height:1.8; }
.faq-item.open .faq-a { max-height:360px; }

/* ============================================================
   CTA FINAL
   ============================================================ */
#cta-final { background:radial-gradient(125% 130% at 82% 120%, #1C4E47 0%, #123A36 32%, #0C1A28 66%); text-align:center; }
.cta-inner { max-width:620px; margin:0 auto; position:relative; z-index:2; }
.cta-inner h2 { font-family:var(--serif); font-weight:500; font-size:clamp(32px,4.2vw,52px); color:#fff; line-height:1.08; margin-bottom:18px; letter-spacing:-.015em; }
.cta-inner h2 em { font-style:italic; color:var(--gold-300); }
.cta-inner p { font-size:16.5px; color:var(--on-2); margin-bottom:36px; line-height:1.7; }

/* ============================================================
   FOOTER
   ============================================================ */
#footer { background:var(--ink-900); padding:54px 40px 34px; border-top:1px solid rgba(200,151,58,.12); color:var(--on-2); }
.foot-top { max-width:var(--maxw); margin:0 auto; display:flex; justify-content:space-between; align-items:flex-start; gap:44px; flex-wrap:wrap; margin-bottom:38px; }
.foot-brand { max-width:380px; }
.foot-brand .fb-name { font-family:var(--serif); font-size:22px; font-weight:600; color:#fff; letter-spacing:.01em; margin-bottom:7px; }
.foot-brand .fb-oab { font-size:12px; color:var(--gold-300); font-weight:500; margin-bottom:13px; }
.foot-brand p { font-size:12px; color:var(--on-3); line-height:1.7; }
.foot-nav h4 { font-size:11px; font-weight:700; color:var(--on-3); letter-spacing:.08em; text-transform:uppercase; margin-bottom:14px; }
.foot-nav a { display:block; font-size:13px; color:var(--on-2); text-decoration:none; margin-bottom:10px; cursor:pointer; transition:color .2s var(--ease); }
.foot-nav a:hover { color:var(--gold-300); }
.foot-legal { max-width:var(--maxw); margin:0 auto; border-top:1px solid rgba(255,255,255,.07); padding-top:24px; font-size:12px; color:var(--on-3); line-height:1.6; }

/* ============================================================
   WHATSAPP FLOAT
   ============================================================ */
.wpp-float {
  position:fixed; bottom:28px; right:24px; z-index:90; width:58px; height:58px; border-radius:50%;
  background:var(--wpp); color:#fff; display:flex; align-items:center; justify-content:center; text-decoration:none;
  box-shadow:0 8px 28px rgba(34,193,94,.46); transition:transform .24s var(--ease), box-shadow .24s var(--ease);
}
.wpp-float:hover { transform:scale(1.08); box-shadow:0 12px 36px rgba(34,193,94,.56); }
.wpp-float::before {
  content:""; position:absolute; inset:0; border-radius:50%; border:2px solid var(--wpp); opacity:.5;
  animation:ripple 2.6s var(--ease) infinite;
}

/* ============================================================
   MODAL
   ============================================================ */
.modal-backdrop {
  position:fixed; inset:0; z-index:200; background:rgba(10,22,34,.76); backdrop-filter:blur(5px);
  display:flex; align-items:center; justify-content:center; padding:24px; animation:fade .2s var(--ease);
}
.modal {
  background:#fff; border-radius:var(--r-xl); max-width:540px; width:100%; max-height:82vh; overflow-y:auto; padding:40px;
  animation:rise .28s var(--ease) both;
}
.modal h3 { font-family:var(--serif); font-weight:500; font-size:27px; color:var(--text-1); margin-bottom:16px; }
.modal p { font-size:14px; color:var(--text-2); line-height:1.8; margin-bottom:11px; }
.modal p b { color:var(--text-1); }
.modal .btn-close { width:100%; margin-top:20px; background:var(--ink-800); color:#fff; border:none; border-radius:var(--r-pill); padding:15px; font-size:14px; font-weight:600; font-family:inherit; cursor:pointer; transition:background .2s var(--ease); }
.modal .btn-close:hover { background:var(--teal-700); }

/* ============================================================
   ANIMATIONS
   ============================================================ */
@keyframes pulse { 0%,100%{ box-shadow:0 0 0 0 rgba(217,174,87,.55); } 50%{ box-shadow:0 0 0 6px rgba(217,174,87,0); } }
@keyframes rise { from{ opacity:0; transform:translateY(16px); } to{ opacity:1; transform:translateY(0); } }
@keyframes fade { from{ opacity:0; } to{ opacity:1; } }
@keyframes ripple { 0%{ transform:scale(1); opacity:.5; } 70%,100%{ transform:scale(1.7); opacity:0; } }

/* Reveal on scroll */
.reveal { opacity:0; transform:translateY(22px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce) {
  * { animation:none !important; scroll-behavior:auto !important; }
  .reveal { opacity:1; transform:none; transition:none; }
}

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width:960px) {
  .hero-grid { grid-template-columns:1fr; gap:44px; }
  .hero-visual { order:-1; max-width:500px; margin:0 auto; width:100%; }
  .hero-visual-head { text-align:center; }
  .hero-card { margin-right:auto; margin-left:16px; }
  .auth-grid { grid-template-columns:1fr; gap:36px; }
  .auth-photo { max-width:320px; margin:0 auto; width:100%; }
  .grid-2 { grid-template-columns:1fr; }
  .steps-grid { grid-template-columns:1fr; gap:16px; }
  .cred-grid { grid-template-columns:1fr; }
  .art-grid { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .section { padding:64px 20px; }
  #topbar { padding:12px 18px; }
  #topbar.scrolled { padding:10px 18px; }
  .brand-name { font-size:18px; }
  #hero { padding:104px 20px 60px; }
  #strip { padding:14px 18px; gap:12px; }
  #funil { padding:60px 16px; }
  .f-card { padding:28px 22px; }
  .wrap { padding-inline:20px; }
  #footer { padding:44px 22px 28px; }
  .oab-pill { display:none; }
  .hero-card { width:min(320px,94%); }
}
