/* Estilos compartilhados das páginas de área (direito-*.html) */
:root {
  --bg:       #080808;
  --bg-2:     #111111;
  --bg-3:     #161616;
  --bg-4:     #1c1c1c;
  --gold:     #C9A84C;
  --gold-lt:  #E8D090;
  --gold-dim: rgba(201,168,76,.12);
  --gold-d35: rgba(201,168,76,.35);
  --t1: #F5F2EC;
  --t2: #A09890;
  --t3: #5A5447;
  --border:  rgba(201,168,76,.13);
  --border2: rgba(201,168,76,.35);
  --fh: 'Playfair Display', Georgia, serif;
  --fb: 'Inter', system-ui, sans-serif;
  --r-sm: 6px; --r-md: 12px; --r-lg: 20px;
  --sec: clamp(3rem,5vw,5rem);
  --mw: 1160px;
  --ease: cubic-bezier(.16,1,.3,1);
  --gold-grad: linear-gradient(135deg, #A98637 0%, #C2A24A 50%, #9C7B30 100%);
}

*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html { scroll-behavior:smooth; }
body { font-family:var(--fb); background:var(--bg); color:var(--t1); line-height:1.6; -webkit-font-smoothing:antialiased; }
img { max-width:100%; display:block; }
a   { text-decoration:none; color:inherit; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }
.container { max-width:var(--mw); margin:0 auto; padding:0 clamp(1.25rem,5vw,2.5rem); }
.section   { padding:var(--sec) 0; }
section[id] { scroll-margin-top:84px; }

h1,h2,h3 { font-family:var(--fh); font-weight:700; line-height:1.15; }
h1 { font-size:clamp(2.1rem,5vw,3.6rem); }
h2 { font-size:clamp(1.75rem,3.5vw,2.6rem); }
h3 { font-size:clamp(1.05rem,2vw,1.3rem); }
.gold {
  background:linear-gradient(160deg, #C8902F 0%, #E9C254 18%, #FBF1B0 38%, #E4B647 58%, #B8842C 78%, #F2D479 100%);
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent;
}

.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.875rem 1.875rem; border-radius:var(--r-sm);
  font-size:.9375rem; font-weight:600;
  transition:all .25s var(--ease); white-space:nowrap;
}
.btn svg { width:19px; height:19px; flex-shrink:0; }
.btn-gold { background:var(--gold-grad); color:#1a1505; }
.btn-gold:hover {
  background:linear-gradient(135deg, #B8943F 0%, #D2B257 50%, #A98637 100%);
  transform:translateY(-2px); box-shadow:0 8px 24px rgba(201,168,76,.22);
}
.btn-gold:focus-visible, .btn-ghost:focus-visible, .faq-q:focus-visible { outline:2px solid var(--gold-lt); outline-offset:3px; }
.btn-ghost { border:1px solid var(--border2); color:var(--t1); }
.btn-ghost:hover { border-color:var(--gold); color:var(--gold); }

.sec-pill {
  display:inline-flex; align-items:center;
  border:1px solid var(--border2); color:var(--gold-lt);
  padding:.3rem 1.1rem; border-radius:100px;
  font-size:.72rem; font-weight:600; letter-spacing:.12em; text-transform:uppercase;
  margin-bottom:1.125rem;
}
.sec-hd { text-align:center; max-width:620px; margin:0 auto 3.25rem; }
.sec-hd p { color:var(--t2); margin-top:.875rem; line-height:1.75; }

/* ===== HEADER ===== */
.site-header {
  position:sticky; top:0; z-index:300;
  background:rgba(8,8,8,.97); backdrop-filter:blur(16px);
  border-bottom:1px solid var(--border); padding:.75rem 0;
}
.site-header .container { display:flex; justify-content:space-between; align-items:center; gap:1rem; }
.site-logo { height:46px; width:auto; display:block; }
.site-header .btn { padding:.625rem 1.375rem; font-size:.875rem; }

/* ===== HERO ===== */
#hero { background:var(--bg); position:relative; overflow:hidden; }
.hero-text-col {
  display:flex; align-items:center;
  padding:4rem clamp(1.25rem,5vw,2.5rem) 6.5rem;
  padding-left:max(2.5rem,calc((100vw - 1160px)/2 + 2.5rem));
  position:relative; z-index:2;
}
.hero-img-col { position:absolute; inset:0; z-index:0; overflow:hidden; }
.hero-img-col::before {
  content:''; position:absolute; inset:0; z-index:1;
  background:linear-gradient(to right,
    var(--bg) 0%, rgba(8,8,8,.98) 30%, rgba(8,8,8,.93) 44%,
    rgba(8,8,8,.68) 57%, rgba(8,8,8,.22) 72%, transparent 86%);
}
.hero-bg-img {
  width:100%; height:100%; object-fit:cover; object-position:center top;
  transform:scale(.9); transform-origin:right top;
}
.hero-inner { max-width:520px; position:relative; z-index:2; }
.hero-badge {
  display:inline-flex; align-items:center; gap:.5rem;
  background:var(--gold-dim); border:1px solid var(--border2);
  color:var(--gold-lt); padding:.35rem .875rem;
  border-radius:100px; font-size:.8rem; font-weight:500; margin-bottom:1.5rem;
}
.hero-title { margin-bottom:1.25rem; }
.hero-sub { font-size:clamp(.975rem,1.5vw,1.125rem); color:var(--t2); max-width:50ch; margin-bottom:1rem; line-height:1.75; }
.hero-sub strong { color:var(--t1); font-weight:500; }
.hero-urgency {
  font-size:.875rem; color:var(--gold-lt);
  border-left:2px solid var(--gold); padding-left:.875rem;
  margin-bottom:2.25rem; font-style:italic;
}
.hero-ctas { display:flex; gap:.875rem; flex-wrap:wrap; }

.hero-stats-mini {
  position:absolute; bottom:0; left:0; right:0; z-index:10;
  display:flex; align-items:stretch;
  background:rgba(8,8,8,.55); backdrop-filter:blur(16px);
  border-top:1px solid rgba(201,168,76,.18);
}
.hero-stat-mini {
  flex:1; display:flex; align-items:center; gap:.625rem;
  padding:1rem 1.5rem; border-right:1px solid rgba(255,255,255,.07);
}
.hero-stat-mini:last-child { border-right:none; }
.hero-stat-mini svg { width:15px; height:15px; color:var(--gold); flex-shrink:0; opacity:.9; }
.hero-stat-mini strong { font-size:.9375rem; font-weight:700; color:var(--t1); font-family:var(--fh); line-height:1; display:block; }
.hero-stat-mini em { font-size:.71rem; color:var(--t3); font-style:normal; display:block; margin-top:.15rem; }

/* ===== SITUAÇÕES ===== */
#situacoes { background:var(--bg-2); }
.case-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:1.25rem; }
.case-card {
  background:var(--bg-3); border:1px solid var(--border); border-radius:var(--r-lg);
  padding:1.75rem; display:flex; gap:1.125rem; align-items:flex-start;
  transition:border-color .25s var(--ease), transform .25s var(--ease);
}
.case-card:hover { border-color:var(--border2); transform:translateY(-3px); }
.case-card--wide { grid-column:1 / -1; background:rgba(201,168,76,.05); border-color:rgba(201,168,76,.4); }
.ico {
  width:46px; height:46px; border-radius:var(--r-sm); flex-shrink:0;
  background:var(--gold-dim); border:1px solid var(--border2);
  display:flex; align-items:center; justify-content:center; color:var(--gold);
}
.ico svg { width:20px; height:20px; }
.case-card h3 { font-family:var(--fb); font-size:1rem; font-weight:600; margin-bottom:.4rem; line-height:1.35; }
.case-card p  { font-size:.875rem; color:var(--t2); line-height:1.65; }
.case-cta { text-align:center; margin-top:2.5rem; }

/* ===== DIREITOS ===== */
#direitos { position:relative; overflow:hidden; }
.rights-bg { position:absolute; inset:0; z-index:0; }
.rights-bg img { width:100%; height:100%; object-fit:cover; opacity:.22; }
.rights-bg::after {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse 85% 85% at 50% 50%, transparent 25%, var(--bg) 92%);
}
.rights { position:relative; z-index:1; display:grid; grid-template-columns:1fr 1.15fr; gap:3.5rem; align-items:center; }
.rights-intro h2 { margin-bottom:1.125rem; }
.rights-intro p { color:var(--t2); line-height:1.8; margin-bottom:1rem; }
.rights-intro p strong { color:var(--t1); font-weight:500; }
.rights-note {
  font-size:.84rem; color:var(--gold-lt); font-style:italic;
  border-left:2px solid var(--gold); padding-left:.875rem; margin-top:1.5rem;
}
.rights-list { display:flex; flex-direction:column; gap:1rem; }
.right-item {
  background:rgba(14,12,8,.8); backdrop-filter:blur(18px);
  border:1px solid var(--border2); border-radius:var(--r-lg);
  padding:1.5rem; display:flex; gap:1rem; align-items:flex-start;
}
.right-item h3 { font-family:var(--fb); font-size:.975rem; font-weight:600; margin-bottom:.35rem; }
.right-item p  { font-size:.86rem; color:var(--t2); line-height:1.65; }

/* ===== COMO FUNCIONA ===== */
#como-funciona { background:var(--bg-2); }
.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; }
.step {
  background:var(--bg-3); border:1px solid var(--border); border-radius:var(--r-lg);
  padding:1.75rem 1.5rem; transition:border-color .25s;
}
.step:hover { border-color:var(--border2); }
.step-n {
  font-family:var(--fh); font-size:2.5rem; font-weight:700; line-height:1;
  color:transparent; -webkit-text-stroke:1px var(--gold); margin-bottom:1.125rem;
}
.step h3 { font-size:1.1rem; margin-bottom:.5rem; }
.step p  { font-size:.875rem; color:var(--t2); line-height:1.65; }

/* ===== DOCUMENTOS + DESTAQUE ===== */
#documentos { background:var(--bg); }
.docs-grid { display:grid; grid-template-columns:1.15fr 1fr; gap:2rem; align-items:stretch; }
.docs-box { background:var(--bg-2); border:1px solid var(--border); border-radius:var(--r-lg); padding:2.25rem; }
.docs-box h2, .hl-card h2 { font-size:clamp(1.35rem,2.4vw,1.75rem); margin-bottom:1.5rem; }
.check-list { list-style:none; display:flex; flex-direction:column; gap:.95rem; }
.check-list li { position:relative; padding-left:2.125rem; font-size:.92rem; color:var(--t2); line-height:1.6; }
.check-list li strong { color:var(--t1); font-weight:500; }
.check-list li::before {
  content:'✓'; position:absolute; left:0; top:.05rem;
  width:1.375rem; height:1.375rem; border-radius:50%;
  background:var(--gold-dim); border:1px solid var(--border2);
  color:var(--gold); font-size:.72rem; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}
.hl-card {
  background:linear-gradient(160deg, rgba(201,168,76,.11) 0%, rgba(201,168,76,.02) 100%);
  border:1px solid rgba(201,168,76,.5); border-radius:var(--r-lg); padding:2.25rem;
  display:flex; flex-direction:column;
}
.hl-card .ico { margin-bottom:1.25rem; }
.hl-card h2 { margin-bottom:1rem; }
.hl-card p { font-size:.92rem; color:var(--t2); line-height:1.75; margin-bottom:1rem; }
.hl-card p strong { color:var(--t1); font-weight:500; }
.hl-card .hl-foot { margin-top:auto; margin-bottom:0; padding-top:1.25rem; border-top:1px solid var(--border2); font-size:.82rem; color:var(--gold-lt); }

/* ===== ADVOGADO ===== */
#advogado { background:var(--bg-2); }
.lawyer-profile { display:grid; grid-template-columns:300px 1fr; gap:3.5rem; align-items:center; max-width:900px; margin:0 auto; }
.lawyer-photo-wrap { height:380px; border-radius:var(--r-lg); overflow:hidden; border:1px solid var(--border2); }
.lawyer-photo-wrap img { width:100%; height:100%; object-fit:cover; object-position:top; transform:scale(1.16); transform-origin:top center; }
.oab-chip {
  display:inline-block; background:var(--gold-dim); border:1px solid var(--border2); color:var(--gold-lt);
  padding:.3rem .875rem; border-radius:100px; font-size:.79rem; font-weight:600; margin-bottom:.875rem;
}
.lawyer-info h2 { font-size:clamp(1.75rem,3vw,2.25rem); margin-bottom:.3rem; }
.lawyer-role { font-size:.9rem; color:var(--gold); margin-bottom:1.25rem; font-weight:500; }
.lawyer-bio { font-size:.9rem; color:var(--t2); line-height:1.7; margin-bottom:1.25rem; }
.lawyer-creds { list-style:none; display:flex; flex-direction:column; gap:.5rem; margin-bottom:1.625rem; }
.lawyer-creds li { font-size:.875rem; color:var(--t2); display:flex; align-items:center; gap:.625rem; }
.lawyer-creds li::before { content:''; width:5px; height:5px; border-radius:50%; background:var(--gold); flex-shrink:0; }

/* ===== AVALIAÇÕES ===== */
#avaliacoes { background:var(--bg); }
.test-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.test-card { background:var(--bg-3); border:1px solid var(--border); border-radius:var(--r-lg); padding:1.625rem; }
.test-text { font-size:.9125rem; color:var(--t2); line-height:1.7; font-style:italic; margin-bottom:1.25rem; }
.test-author { display:flex; align-items:center; gap:.75rem; }
.test-av {
  width:40px; height:40px; border-radius:50%; flex-shrink:0;
  background:var(--gold-dim); border:1.5px solid var(--gold-d35); color:var(--gold-lt);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.875rem;
}
.test-name  { font-size:.875rem; font-weight:600; }
.test-stars { font-size:.82rem; color:var(--gold); letter-spacing:.08em; }

/* ===== FAQ ===== */
#faq { background:var(--bg-2); }
.faq-list { max-width:780px; margin:0 auto; display:flex; flex-direction:column; gap:.625rem; }
.faq-item { background:var(--bg-3); border:1px solid var(--border); border-radius:var(--r-md); overflow:hidden; }
.faq-q {
  width:100%; text-align:left; padding:1.3rem 1.625rem;
  font-size:.9375rem; font-weight:600; color:var(--t1);
  display:flex; justify-content:space-between; align-items:center; gap:1rem; transition:color .2s;
}
.faq-q:hover { color:var(--gold); }
.faq-icon {
  width:24px; height:24px; border-radius:50%; border:1px solid var(--border2);
  display:flex; align-items:center; justify-content:center;
  font-size:1rem; flex-shrink:0; color:var(--gold);
  transition:transform .3s var(--ease), background .2s;
}
.faq-item.open .faq-icon { transform:rotate(45deg); background:var(--gold-dim); }
.faq-a {
  display:none; padding:1.125rem 1.625rem 1.375rem; border-top:1px solid var(--border);
  font-size:.9125rem; color:var(--t2); line-height:1.75;
}
.faq-item.open .faq-a { display:block; }

/* ===== CTA FINAL ===== */
#cta-final { background:linear-gradient(135deg,#100f08 0%,var(--bg) 50%,#0d0b07 100%); position:relative; overflow:hidden; }
#cta-final::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 80% 60% at 50% 50%,rgba(201,168,76,.07) 0%,transparent 70%);
}
.cta-inner { text-align:center; position:relative; z-index:1; }
.cta-inner h2 { margin-bottom:1.125rem; }
.cta-inner > p { color:var(--t2); max-width:54ch; margin:0 auto 2.5rem; font-size:1.025rem; line-height:1.75; }
.cta-single { display:flex; flex-direction:column; align-items:center; gap:1rem; max-width:480px; margin:0 auto; }
.btn-cta-main { font-size:1.0625rem; padding:1.125rem 2rem; width:100%; }
.cta-reassure { font-size:.8rem; color:var(--t3); }

/* ===== FOOTER ===== */
footer { background:var(--bg-2); border-top:1px solid var(--border); padding:2.375rem 0; }
.foot-top {
  display:grid; grid-template-columns:1.75fr 1fr 1.25fr; gap:3rem;
  padding-bottom:2rem; border-bottom:1px solid var(--border); margin-bottom:1.5rem;
}
.foot-logo { height:56px; width:auto; max-width:100%; margin-bottom:1rem; }
.foot-tagline { font-size:.82rem; color:var(--t2); line-height:1.7; }
.foot-col-title { font-size:.72rem; font-weight:700; color:var(--gold); text-transform:uppercase; letter-spacing:.12em; margin-bottom:1rem; font-family:var(--fb); }
.foot-links { list-style:none; display:flex; flex-direction:column; gap:.625rem; }
.foot-links li { font-size:.83rem; color:var(--t2); }
.foot-nav-link { color:var(--t2); transition:color .2s var(--ease); }
.foot-nav-link:hover, .foot-nav-link[aria-current="page"] { color:var(--gold-lt); }
.foot-contact-item { display:flex; align-items:flex-start; gap:.6rem; }
.foot-contact-icon { width:16px; height:16px; flex-shrink:0; margin-top:.1rem; opacity:.7; }
.disc {
  font-size:.79rem; color:var(--t3); line-height:1.7; padding:1.125rem 1.375rem;
  background:var(--bg-3); border:1px solid var(--border); border-radius:var(--r-sm); margin-bottom:1.25rem;
}
.disc p + p { margin-top:.625rem; }
.disc strong { color:var(--t2); }
.foot-bot { display:flex; align-items:center; justify-content:space-between; gap:1rem; font-size:.79rem; color:var(--t3); }

/* ===== COOKIES ===== */
.cookie-bar {
  position:fixed; left:0; right:0; bottom:0; z-index:400;
  display:none; align-items:center; justify-content:center; gap:1.25rem; flex-wrap:wrap;
  background:rgba(12,12,12,.98); backdrop-filter:blur(12px);
  border-top:1px solid var(--border2); padding:1rem clamp(1rem,4vw,2.5rem);
}
.cookie-bar.show { display:flex; }
.cookie-bar p { font-size:.82rem; color:var(--t2); line-height:1.6; max-width:640px; }
.cookie-bar a { color:var(--gold-lt); text-decoration:underline; }
.cookie-actions { display:flex; gap:.625rem; flex-shrink:0; }
.cookie-btn {
  padding:.6rem 1.25rem; border-radius:var(--r-sm); font-size:.82rem; font-weight:600;
  border:1px solid var(--border2); background:transparent; color:var(--t1); transition:all .2s var(--ease);
}
.cookie-btn:hover { border-color:var(--gold); color:var(--gold-lt); }
.cookie-btn.primary { background:var(--gold-grad); color:#1a1505; border-color:transparent; }

/* ===== ANIMAÇÃO ===== */
.fu { opacity:0; transform:translateY(22px); transition:opacity .55s var(--ease), transform .55s var(--ease); }
.fu.vis { opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
  .fu { opacity:1; transform:none; transition:none; }
}

/* ===== RESPONSIVO ===== */
@media(max-width:1020px) {
  .steps { grid-template-columns:repeat(2,1fr); }
  .rights, .docs-grid { grid-template-columns:1fr; gap:2rem; }
  .lawyer-profile { grid-template-columns:1fr; gap:2rem; }
  .lawyer-photo-wrap { height:340px; max-width:420px; }
  .test-grid { grid-template-columns:1fr 1fr; }
  .foot-top { grid-template-columns:1fr 1fr; gap:2rem; }
}

@media(max-width:820px) {
  .section { padding:3.5rem 0; }
  .hero-bg-img { object-position:96% top; }
  .hero-img-col::before {
    background:linear-gradient(to right, var(--bg) 0%, var(--bg) 36%, rgba(8,8,8,.84) 50%, rgba(8,8,8,.32) 70%, rgba(8,8,8,.05) 100%);
  }
  #hero::after {
    content:''; position:absolute; bottom:0; left:0; right:0; height:120px; z-index:1; pointer-events:none;
    background:linear-gradient(to bottom, transparent, var(--bg));
  }
  .hero-inner { max-width:62vw; }
  .hero-title, .hero-sub, .hero-urgency { text-shadow:0 1px 14px rgba(0,0,0,.7); }
  .hero-text-col { padding:2.5rem 1.25rem 6.5rem; }
  .hero-stat-mini { padding:.75rem .875rem; gap:.375rem; }
  .hero-stat-mini strong { font-size:.8125rem; }
  .hero-stat-mini em { font-size:.66rem; }
  h1 { font-size:clamp(1.875rem,6.5vw,2.75rem); }
  h2 { font-size:clamp(1.5rem,5vw,2.25rem); }
}

@media(max-width:620px) {
  .section { padding:3rem 0; }
  .hero-text-col { padding:2.25rem 1.125rem 6.5rem; }
  .hero-ctas { flex-direction:column; }
  .hero-ctas .btn { width:100%; min-height:52px; font-size:.8125rem; padding-left:.625rem; padding-right:.625rem; }
  .hero-stat-mini { flex:1 1 0; padding:.625rem .5rem; gap:.3rem; }
  .hero-stat-mini svg { display:none; }
  .hero-stat-mini strong { font-size:.75rem; }
  .hero-stat-mini em { font-size:.58rem; }
  .case-grid, .steps, .test-grid { grid-template-columns:1fr; }
  .case-card { padding:1.375rem; }
  .docs-box, .hl-card { padding:1.625rem; }
  .btn { min-height:52px; }
  .cookie-bar { flex-direction:column; align-items:stretch; gap:.75rem; }
  .cookie-btn { flex:1; }
  .foot-bot { flex-direction:column; gap:.375rem; text-align:center; }
}

@media(max-width:480px) {
  .site-logo { height:34px; }
  .site-header .btn { padding:.5rem .875rem; font-size:.78rem; min-height:0; }
  .container { padding:0 1rem; }
  .section { padding:2.5rem 0; }
  h1 { font-size:clamp(1.75rem,8vw,2.4rem); }
  h2 { font-size:clamp(1.375rem,6vw,1.875rem); }
  .hero-text-col { padding:2rem 1rem 6.5rem; }
  .hero-urgency { font-size:.8125rem; }
  .hero-stat-mini { padding:.625rem .375rem; }
  .hero-stat-mini strong { font-size:.7rem; }
  .lawyer-photo-wrap { height:280px; }
  .faq-q { font-size:.9rem; padding:1rem; }
  .foot-top { grid-template-columns:1fr; gap:1.5rem; }
}

@media(max-width:380px) {
  .hero-text-col { padding:1.75rem .875rem 7rem; }
  h1 { font-size:clamp(1.625rem,8.5vw,2.2rem); }
  .hero-stat-mini strong { font-size:.65rem; }
  .hero-stat-mini em { font-size:.54rem; }
  .case-card { flex-direction:column; gap:.75rem; }
}
