/* ============================================================
   ADVOCACIA FG — Seções (hero, dor, riscos, benefícios, etc.)
   ============================================================ */

/* ---------- HERO ---------- */
.hero {
  position: relative; min-height: 100svh;
  display: flex; align-items: center;
  padding-block: clamp(7rem, 6rem + 8vw, 10rem) var(--sp-8);
  overflow: hidden;
  background:
    radial-gradient(120% 90% at 78% 12%, rgba(30,70,112,0.55), transparent 60%),
    radial-gradient(90% 120% at 8% 100%, rgba(198,161,91,0.10), transparent 55%),
    var(--navy-900);
}
.hero__bg {
  position: absolute; inset: 0; z-index: 0;
  background-size: cover; background-position: center;
  opacity: 0.20;
  filter: grayscale(0.35) contrast(1.05);
  transform: scale(1.06);
  will-change: transform;
}
.hero__veil {
  position: absolute; inset: 0; z-index: 1;
  background: linear-gradient(90deg, var(--navy-900) 8%, rgba(7,18,34,0.72) 46%, rgba(7,18,34,0.35) 100%);
}
.hero__grain {
  position: absolute; inset: 0; z-index: 1; opacity: 0.4; pointer-events: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.045'/%3E%3C/svg%3E");
}
.hero__inner { position: relative; z-index: 2; display: grid; grid-template-columns: 1.35fr 0.8fr; gap: clamp(2rem, 6vw, 5rem); align-items: center; }
.hero__content { max-width: 40ch; }
.hero__seals { display: flex; flex-wrap: wrap; gap: var(--sp-3); margin-bottom: var(--sp-5); }
.seal {
  display: inline-flex; align-items: center; gap: var(--sp-2);
  font-size: 0.72rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--gold-200);
  padding: 0.4rem 0.85rem;
  border: 1px solid var(--hairline);
  border-radius: 999px;
  background: rgba(198,161,91,0.06);
}
.seal svg { width: 14px; height: 14px; color: var(--gold-400); }
.hero h1 {
  font-size: var(--step-5);
  line-height: 1.02;
  letter-spacing: -0.02em;
  margin-bottom: var(--sp-5);
}
.hero h1 .accent { color: var(--gold-400); font-style: italic; }
.hero__sub { font-size: var(--step-1); line-height: 1.6; color: var(--text-muted); margin-bottom: var(--sp-6); max-width: 46ch; }
.hero__cta { display: flex; flex-wrap: wrap; gap: var(--sp-4); align-items: center; }
.hero__trust { margin-top: var(--sp-6); display: flex; align-items: center; gap: var(--sp-4); font-size: var(--step--1); color: var(--text-faint); }
.hero__trust strong { color: var(--gold-200); font-weight: 600; }

/* Cartão retrato do Dr. Roberto (placeholder) */
.portrait {
  position: relative; aspect-ratio: 4 / 5;
  border-radius: var(--r-md);
  overflow: hidden;
  border: 1px solid var(--hairline);
  background:
    linear-gradient(180deg, rgba(16,42,71,0.4), rgba(7,18,34,0.9)),
    repeating-linear-gradient(135deg, rgba(198,161,91,0.05) 0 2px, transparent 2px 22px),
    var(--navy-700);
  box-shadow: var(--shadow-lg);
  display: grid; place-items: center; text-align: center; padding: var(--sp-6);
}
.portrait__frame { position: absolute; inset: 12px; border: 1px solid var(--hairline-soft); border-radius: var(--r-sm); pointer-events: none; }
.portrait__icon { width: 64px; height: 64px; color: var(--gold-500); opacity: 0.75; margin-bottom: var(--sp-4); }
.portrait__ph {
  font-family: var(--font-sans); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.1em;
  text-transform: uppercase; color: var(--gold-200); line-height: 1.5;
}
.portrait__cap {
  position: absolute; left: 0; right: 0; bottom: 0; padding: var(--sp-5) var(--sp-5) var(--sp-4);
  background: linear-gradient(0deg, rgba(7,18,34,0.95), transparent);
  text-align: left;
}
.portrait__name { font-family: var(--font-serif); font-size: var(--step-1); color: var(--text); }
.portrait__role { font-size: var(--step--1); color: var(--gold-200); letter-spacing: 0.02em; }

.hero__scroll {
  position: absolute; left: 50%; bottom: var(--sp-5); transform: translateX(-50%); z-index: 2;
  display: flex; flex-direction: column; align-items: center; gap: var(--sp-2);
  font-size: 0.62rem; letter-spacing: 0.24em; text-transform: uppercase; color: var(--text-faint);
}
.hero__scroll span { width: 1px; height: 40px; background: linear-gradient(var(--gold-500), transparent); animation: scrollLine 2.2s var(--ease) infinite; }
@keyframes scrollLine { 0% { transform: scaleY(0); transform-origin: top; } 50% { transform: scaleY(1); transform-origin: top; } 51% { transform-origin: bottom; } 100% { transform: scaleY(0); transform-origin: bottom; } }

@media (max-width: 880px) {
  .hero__inner { grid-template-columns: 1fr; gap: var(--sp-7); }
  .hero__portrait { max-width: 340px; }
  .hero__scroll { display: none; }
}

/* ---------- DOR: custo do inventário ---------- */
.cost { position: relative; }
.cost__grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
.cost__stat {
  position: relative;
  border: 1px solid var(--light-hairline);
  border-radius: var(--r-md);
  padding: clamp(1.75rem, 1.4rem + 2vw, 3rem);
  background: var(--light-surface);
  box-shadow: 0 24px 60px -30px rgba(10,26,47,0.28);
  overflow: hidden;
}
.cost__stat::before { content:""; position:absolute; inset:0 auto 0 0; width:4px; background:linear-gradient(var(--gold-400),var(--gold-600)); }
.cost__big {
  font-family: var(--font-serif); font-weight: 600;
  font-size: clamp(3.5rem, 2.5rem + 6vw, 6.5rem); line-height: 0.95;
  color: var(--navy-800); letter-spacing: -0.03em;
}
.cost__big em { font-style: normal; color: var(--gold-600); }
.cost__big small { font-size: 0.42em; vertical-align: super; color: var(--gold-600); font-weight: 600; }
.cost__stat p { margin-top: var(--sp-4); font-size: var(--step-0); }
.cost__caveat { margin-top: var(--sp-3); font-size: var(--step--1); color: var(--graphite-300); font-style: italic; }
.cost__points { display: grid; gap: var(--sp-4); margin-top: var(--sp-5); }
.cost__point { display: flex; gap: var(--sp-4); align-items: flex-start; }
.cost__point-ic { flex: none; width: 42px; height: 42px; border-radius: var(--r-sm); display: grid; place-items: center; background: var(--cream-100); border: 1px solid var(--light-hairline); color: var(--gold-600); }
.cost__point-ic svg { width: 20px; height: 20px; }
.cost__point h4 { font-family: var(--font-sans); font-size: var(--step-0); font-weight: 700; color: var(--light-text); margin-bottom: 2px; }
.cost__point p { font-size: var(--step--1); margin: 0; }
.cost__quote {
  margin-top: var(--sp-6); padding: var(--sp-5) var(--sp-6);
  border-left: 2px solid var(--gold-500);
  font-family: var(--font-serif); font-size: var(--step-2); font-style: italic;
  color: var(--navy-800); line-height: 1.35;
}
@media (max-width: 860px) { .cost__grid { grid-template-columns: 1fr; } }

/* ---------- RISCOS / BENEFÍCIOS (grid 4 cards) ---------- */
.quad { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--sp-5); }
@media (max-width: 980px) { .quad { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .quad { grid-template-columns: 1fr; } }

.qcard {
  position: relative; padding: var(--sp-6) var(--sp-5) var(--sp-5);
  border: 1px solid var(--hairline);
  border-radius: var(--r-md);
  background: linear-gradient(180deg, rgba(16,42,71,0.55), rgba(7,18,34,0.35));
  transition: transform var(--dur-2) var(--ease), border-color var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);
  overflow: hidden;
}
.qcard::after {
  content:""; position:absolute; inset:0; opacity:0; pointer-events:none;
  background: radial-gradient(120% 80% at 50% 0%, rgba(198,161,91,0.14), transparent 60%);
  transition: opacity var(--dur-2) var(--ease);
}
.qcard:hover { transform: translateY(-6px); border-color: var(--hairline); box-shadow: var(--shadow-md); }
.qcard:hover::after { opacity: 1; }
.qcard__n {
  font-family: var(--font-serif); font-size: var(--step-1); color: var(--gold-400);
  opacity: 0.5; letter-spacing: 0.02em; margin-bottom: var(--sp-4);
}
.qcard__ic { width: 46px; height: 46px; margin-bottom: var(--sp-4); color: var(--gold-400); }
.qcard__ic svg { width: 100%; height: 100%; stroke-width: 1.4; }
.qcard h3 { font-size: var(--step-1); margin-bottom: var(--sp-3); color: var(--text); }
.qcard p { font-size: var(--step--1); line-height: 1.6; }
/* variante benefício (verde-dourado, tom positivo) */
.qcard--good .qcard__ic { color: var(--gold-400); }
.qcard--good::before { content:""; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,var(--gold-500),transparent); opacity:0.6; }

/* ---------- O QUE É A HOLDING (2 tipos) ---------- */
.what { background: var(--bg-deep); }
.what__intro { max-width: 760px; margin-bottom: clamp(2.5rem,2rem+3vw,4rem); }
.what__def {
  font-family: var(--font-serif); font-size: var(--step-3); line-height: 1.25;
  color: var(--text); letter-spacing: -0.01em;
}
.what__def .accent { color: var(--gold-400); font-style: italic; }
.types { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-5); }
@media (max-width: 780px) { .types { grid-template-columns: 1fr; } }
.type {
  position: relative; padding: clamp(1.75rem,1.4rem+2vw,2.75rem);
  border: 1px solid var(--hairline); border-radius: var(--r-lg);
  background: linear-gradient(160deg, rgba(16,42,71,0.6), rgba(7,18,34,0.4));
  overflow: hidden;
}
.type__badge {
  display: inline-flex; align-items:center; gap: var(--sp-2);
  font-size: 0.7rem; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase;
  color: var(--navy-900); background: var(--gold-400); padding: 0.3rem 0.7rem; border-radius: 999px;
  margin-bottom: var(--sp-4);
}
.type h3 { font-size: var(--step-2); margin-bottom: var(--sp-3); }
.type p { font-size: var(--step-0); margin-bottom: var(--sp-4); }
.type__list li { position: relative; padding-left: 1.7rem; margin-bottom: var(--sp-3); font-size: var(--step--1); color: var(--text-muted); }
.type__list li::before { content:""; position:absolute; left:0; top:0.55em; width:8px; height:8px; border:1px solid var(--gold-500); transform: rotate(45deg); }
.type__big-ic { position:absolute; right: -20px; top: -20px; width: 150px; height: 150px; color: var(--gold-500); opacity: 0.06; }

/* ---------- PRA QUEM É ---------- */
.forwhom { background: var(--light-bg); color: var(--light-text); }
.whom { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--sp-5); }
@media (max-width: 820px) { .whom { grid-template-columns: 1fr; } }
.whom__card {
  padding: clamp(1.5rem,1.2rem+1.5vw,2.25rem);
  border: 1px solid var(--light-hairline); border-radius: var(--r-md);
  background: var(--light-surface); box-shadow: 0 20px 50px -34px rgba(10,26,47,0.3);
  transition: transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);
}
.whom__card:hover { transform: translateY(-5px); box-shadow: 0 30px 60px -34px rgba(10,26,47,0.4); }
.whom__ic { width: 52px; height: 52px; border-radius: var(--r-sm); display:grid; place-items:center;
  background: linear-gradient(160deg, var(--navy-800), var(--navy-700)); color: var(--gold-400); margin-bottom: var(--sp-4); }
.whom__ic svg { width: 26px; height: 26px; }
.whom__card h3 { font-size: var(--step-1); margin-bottom: var(--sp-3); color: var(--navy-800); }
.whom__card p { font-size: var(--step--1); }

/* ---------- AUTORIDADE ---------- */
.authority { position: relative; overflow: hidden; }
.authority__grid { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(2rem,5vw,4.5rem); align-items: center; }
@media (max-width: 900px) { .authority__grid { grid-template-columns: 1fr; } }
.authority__figure {
  position: relative; aspect-ratio: 3/4; border-radius: var(--r-md); overflow: hidden;
  border: 1px solid var(--hairline); box-shadow: var(--shadow-lg);
  background:
    linear-gradient(180deg, rgba(16,42,71,0.35), rgba(7,18,34,0.92)),
    repeating-linear-gradient(135deg, rgba(198,161,91,0.05) 0 2px, transparent 2px 22px),
    var(--navy-700);
  display: grid; place-items: center; text-align: center; padding: var(--sp-6);
}
.authority__creds { display: grid; gap: var(--sp-4); margin-top: var(--sp-6); }
.cred { display: flex; gap: var(--sp-4); align-items: flex-start; padding-bottom: var(--sp-4); border-bottom: 1px solid var(--hairline-soft); }
.cred:last-child { border-bottom: none; }
.cred__ic { flex:none; width: 40px; height: 40px; border-radius: var(--r-sm); display:grid; place-items:center; border:1px solid var(--hairline); color: var(--gold-400); }
.cred__ic svg { width: 20px; height: 20px; }
.cred h4 { font-family: var(--font-sans); font-size: var(--step-0); font-weight: 700; color: var(--text); margin-bottom: 2px; }
.cred p { font-size: var(--step--1); margin: 0; }
.authority__teach {
  margin-top: var(--sp-6); padding: var(--sp-5) var(--sp-6);
  border: 1px solid var(--hairline); border-radius: var(--r-md);
  background: linear-gradient(160deg, rgba(198,161,91,0.08), transparent);
}
.authority__teach h4 { font-family: var(--font-serif); font-size: var(--step-1); color: var(--gold-200); margin-bottom: var(--sp-2); }
.authority__teach p { font-size: var(--step--1); }
.authority__teach .pills { display:flex; flex-wrap:wrap; gap: var(--sp-3); margin-top: var(--sp-4); }
.pill { font-size: 0.72rem; font-weight:600; letter-spacing:0.06em; color: var(--gold-200);
  border:1px solid var(--hairline); border-radius:999px; padding:0.35rem 0.8rem; }

/* ---------- CASOS ILUSTRATIVOS ---------- */
.cases { background: var(--bg-deep); }
.cases__disclaimer {
  display:inline-flex; align-items:center; gap: var(--sp-3); margin-bottom: var(--sp-6);
  font-size: var(--step--1); color: var(--text-faint);
  border:1px solid var(--hairline-soft); border-radius:999px; padding:0.4rem 1rem;
}
.cases__disclaimer svg { width:16px; height:16px; color: var(--gold-400); }
.cases__grid { display:grid; grid-template-columns: repeat(3,1fr); gap: var(--sp-5); }
@media (max-width: 900px) { .cases__grid { grid-template-columns: 1fr; } }
.case {
  position: relative; padding: var(--sp-6) var(--sp-5);
  border:1px solid var(--hairline); border-radius: var(--r-md);
  background: linear-gradient(180deg, rgba(16,42,71,0.5), rgba(7,18,34,0.3));
  transition: transform var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);
}
.case:hover { transform: translateY(-5px); box-shadow: var(--shadow-md); }
.case__tag { font-size:0.66rem; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color: var(--text-faint); margin-bottom: var(--sp-4); display:block; }
.case__persona { display:flex; align-items:center; gap: var(--sp-3); margin-bottom: var(--sp-4); }
.case__avatar { width:44px; height:44px; border-radius:50%; display:grid; place-items:center;
  font-family:var(--font-serif); font-size:1.2rem; color:var(--gold-200);
  border:1px solid var(--hairline); background:rgba(198,161,91,0.08); }
.case__name { font-family:var(--font-serif); font-size:var(--step-1); color:var(--text); }
.case__type { font-size:0.72rem; color:var(--gold-200); letter-spacing:0.04em; }
.case p { font-size: var(--step--1); line-height:1.65; }
.case__outcome { margin-top: var(--sp-4); padding-top: var(--sp-4); border-top:1px solid var(--hairline-soft);
  display:flex; gap: var(--sp-3); align-items:flex-start; font-size:var(--step--1); }
.case__outcome svg { flex:none; width:18px; height:18px; color: var(--gold-400); margin-top:2px; }
.case--bad .case__avatar { color:#E9B9A8; border-color:rgba(233,150,120,0.3); background:rgba(233,120,90,0.06); }

/* ---------- PROVA SOCIAL (placeholder) ---------- */
.proof { background: var(--light-bg); color: var(--light-text); }
.proof__stats { display:grid; grid-template-columns: repeat(3,1fr); gap: var(--sp-5); margin-bottom: clamp(2.5rem,2rem+3vw,4rem); }
@media (max-width: 700px) { .proof__stats { grid-template-columns: 1fr; } }
.pstat { text-align:center; padding: var(--sp-5); border:1px solid var(--light-hairline); border-radius:var(--r-md); background:var(--light-surface); }
.pstat__n { font-family:var(--font-serif); font-size: clamp(2.5rem,1.8rem+3vw,3.6rem); color: var(--navy-800); line-height:1; }
.pstat__n em { color: var(--gold-600); font-style:normal; }
.pstat__l { margin-top: var(--sp-3); font-size:var(--step--1); color: var(--light-muted); letter-spacing:0.02em; }
.proof__cards { display:grid; grid-template-columns: repeat(3,1fr); gap: var(--sp-5); }
@media (max-width: 900px) { .proof__cards { grid-template-columns: 1fr; } }
.testi {
  padding: var(--sp-6) var(--sp-5); border:1px solid var(--light-hairline); border-radius:var(--r-md);
  background: var(--light-surface); box-shadow: 0 20px 50px -34px rgba(10,26,47,0.28);
  display:flex; flex-direction:column;
}
.testi__stars { color: var(--gold-500); letter-spacing:2px; margin-bottom: var(--sp-4); font-size:0.9rem; }
.testi__quote { font-family: var(--font-serif); font-size: var(--step-1); font-style:italic; color: var(--navy-800); line-height:1.4; margin-bottom: var(--sp-5); flex:1; }
.testi__who { display:flex; align-items:center; gap: var(--sp-3); }
.testi__ava { width:42px; height:42px; border-radius:50%; background: var(--cream-200); display:grid; place-items:center; font-family:var(--font-serif); color:var(--navy-700); }
.testi__name { font-weight:700; font-size:var(--step--1); color: var(--navy-800); }
.testi__role { font-size:0.78rem; color: var(--light-muted); }

/* ---------- CTA FINAL ---------- */
.cta {
  position: relative; overflow: hidden;
  background:
    radial-gradient(100% 120% at 80% 0%, rgba(30,70,112,0.6), transparent 60%),
    radial-gradient(80% 100% at 0% 100%, rgba(198,161,91,0.12), transparent 55%),
    var(--navy-900);
}
.cta__inner { display:grid; grid-template-columns: 1.2fr 0.9fr; gap: clamp(2rem,5vw,4.5rem); align-items:center; }
@media (max-width: 880px) { .cta__inner { grid-template-columns: 1fr; } }
.cta h2 { font-size: var(--step-4); margin-bottom: var(--sp-5); }
.cta h2 .accent { color: var(--gold-400); font-style: italic; }
.cta__lead { font-size: var(--step-1); color: var(--text-muted); margin-bottom: var(--sp-6); max-width: 46ch; }
.cta__buttons { display:flex; flex-wrap:wrap; gap: var(--sp-4); }
.contact-card {
  padding: clamp(1.75rem,1.4rem+2vw,2.5rem); border:1px solid var(--hairline);
  border-radius: var(--r-lg); background: rgba(7,18,34,0.6); backdrop-filter: blur(8px);
  box-shadow: var(--shadow-lg);
}
.contact-card h3 { font-size: var(--step-1); margin-bottom: var(--sp-5); }
.contact-row { display:flex; gap: var(--sp-4); align-items:center; padding: var(--sp-4) 0; border-bottom:1px solid var(--hairline-soft); transition: color var(--dur-1) var(--ease); }
.contact-row:last-child { border-bottom:none; }
.contact-row:hover .contact-row__val { color: var(--gold-200); }
.contact-row__ic { flex:none; width:42px; height:42px; border-radius:var(--r-sm); display:grid; place-items:center; border:1px solid var(--hairline); color: var(--gold-400); }
.contact-row__ic svg { width:20px; height:20px; }
.contact-row__k { font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; color: var(--text-faint); }
.contact-row__val { font-size: var(--step-0); color: var(--text); font-weight:500; transition: color var(--dur-1) var(--ease); }

/* Faixa de frases-assinatura (marquee sutil, estático em reduced-motion) */
.creed { border-block: 1px solid var(--hairline); background: var(--bg-deep); padding-block: var(--sp-6); overflow:hidden; }
.creed__track { display:flex; gap: var(--sp-8); white-space:nowrap; animation: marquee 34s linear infinite; }
.creed__item { font-family: var(--font-serif); font-size: var(--step-2); font-style:italic; color: var(--text-muted); display:inline-flex; align-items:center; gap: var(--sp-8); }
.creed__item::after { content:"◆"; color: var(--gold-500); font-size:0.6em; font-style:normal; }
@keyframes marquee { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .creed__track { animation: none; flex-wrap:wrap; white-space:normal; justify-content:center; } }
