/* DR. BRUNO PENQUE | DESIGN SYSTEM 2026
   Tipografia contemporânea, contraste navy e glass de profundidade controlada.
*/
:root {
  --serif: "Outfit", sans-serif;
  --sans: "DM Sans", system-ui, sans-serif;
  --navy-950: #07172d;
  --navy-900: #0c2544;
  --navy-800: #153656;
  --blue-700: #254b70;
  --paper: #edf1f2;
  --cream: #e8ecec;
  --ink: #0c2340;
  --muted: #536474;
  --gold: #c7a476;
  --gold-soft: #e7cca3;
  --gold-deep: #916d3e;
  --light-text: #f9fbfc;
  --light-muted: rgba(245,250,255,.75);
  --glass-shadow: 0 18px 45px rgba(9,30,53,.10);
}
html { scroll-behavior: smooth; }
body {font-family:var(--sans); background:var(--paper);color:var(--ink);letter-spacing:-.012em;line-height:1.62;}
h1,h2,h3,.brand-name {font-family:var(--serif);letter-spacing:-.035em;}
h1,h2 {font-weight:600;line-height:1.1;text-wrap:balance;}
h1 {font-size:clamp(2.25rem, 4.1vw, 3.8rem);}
h2 {font-size:clamp(1.95rem, 3.15vw, 3rem);}
h3 {font-weight:600;}
.eyebrow {font-family:var(--sans);font-weight:700;font-size:.7rem;letter-spacing:.16em;margin-bottom:16px;}
.section {padding-block:clamp(72px,7vw,104px);}
.section-head {max-width:780px;margin-bottom:42px;}
.section-lead {font-size:1.01rem;max-width:49ch;margin-inline:auto;line-height:1.72;}
.dark {background:linear-gradient(125deg,#07172d 0%,#102d4c 52%,#071b31 100%);}
.light {background:linear-gradient(130deg,#f2f5f4 0%,#e8eeef 100%);}
.texture {background-image:url('assets/contour-soft.svg');background-size:min(1120px,120%);background-position:right -250px center;background-repeat:no-repeat;opacity:.4;animation:none;}
.dark .texture {background-image:url('assets/contour-signature.svg');opacity:.45;background-position:right -180px top 10%;}
.dark::after {display:none;}
.site-header {background:rgba(7,23,45,.70);border-bottom:1px solid rgba(255,255,255,.16);backdrop-filter:blur(22px) saturate(145%);-webkit-backdrop-filter:blur(22px) saturate(145%);}
.site-header.is-scrolled {background:rgba(7,23,45,.91)}
.brand-name {font-weight:600}
.hero {padding-bottom:80px;}
.hero-grid {gap:clamp(30px,5vw,75px)}
.hero-copy {position:relative;z-index:2}
.hero-lead {max-width:47ch;font-size:1.05rem;line-height:1.75;}
.hero-media {background:rgba(255,255,255,.09);padding:6px;border:1px solid rgba(255,255,255,.35);border-radius:28px;box-shadow:0 22px 60px rgba(0,9,25,.28);-webkit-mask-image:none;mask-image:none;}
.hero-media picture {display:block;border-radius:22px;overflow:hidden;}
.hero-media img {object-fit:cover;object-position:center 31%;}
.hero-cred {font-size:.78rem;letter-spacing:.005em;}
/* GLASS SURFACES: real translucency, double reflection and edge highlight */
.glass,.glass-dark {position:relative;isolation:isolate;overflow:hidden;-webkit-backdrop-filter:blur(24px) saturate(145%);backdrop-filter:blur(24px) saturate(145%);}
.glass {
 background:linear-gradient(145deg,rgba(255,255,255,.68) 0%,rgba(255,255,255,.36) 47%,rgba(225,238,242,.18) 100%);
 border:1px solid rgba(255,255,255,.94);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.98),inset 1px 0 0 rgba(255,255,255,.35),0 16px 42px rgba(12,40,65,.10),0 2px 8px rgba(12,40,65,.035);
}
.glass-dark {
 background:linear-gradient(140deg,rgba(177,207,231,.20) 0%,rgba(90,142,179,.11) 42%,rgba(10,37,67,.25) 100%);
 border:1px solid rgba(230,244,255,.30);
 box-shadow:inset 0 1px 0 rgba(255,255,255,.4),inset 1px 0 0 rgba(255,255,255,.11),0 16px 45px rgba(0,10,27,.22);
}
.glass::before,.glass-dark::before {content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background:linear-gradient(119deg,rgba(255,255,255,.42),transparent 37%,rgba(255,255,255,.04) 64%,rgba(255,255,255,.14));}
.glass::after,.glass-dark::after {content:"";position:absolute;pointer-events:none;left:10%;right:10%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.98),transparent);}
.glass-dark::after {background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);}
.authority-shell {border-radius:27px;padding:10px;background:linear-gradient(145deg,rgba(155,196,224,.16),rgba(140,181,217,.06));border:1px solid rgba(255,255,255,.27);box-shadow:inset 0 1px rgba(255,255,255,.36),0 20px 50px rgba(0,9,27,.19);}
.authority-list {gap:8px;}
.authority-item {background:rgba(3,25,47,.23);border:1px solid rgba(255,255,255,.11);border-radius:17px;text-align:left;padding:20px 18px;}
.authority-item strong {font-family:var(--sans);font-size:.91rem;font-weight:700;line-height:1.35;}
.authority-item span {font-size:.77rem;line-height:1.55;}
.tagline {border-top:1px solid rgba(255,255,255,.17);margin:10px 9px 0;padding:18px 0 10px;letter-spacing:.12em;}
.need-grid {gap:16px;}
.need-card {min-height:188px;padding:29px;border-radius:25px;transition:transform .3s ease,box-shadow .3s ease;}
.need-card:hover,.area:hover {transform:translateY(-4px);box-shadow:inset 0 1px rgba(255,255,255,.99),0 25px 48px rgba(12,40,65,.15);}
.need-num {font:700 .68rem var(--sans);letter-spacing:.16em;margin-bottom:22px;}
.need-card h3 {font-size:1.05rem;line-height:1.35;margin-bottom:9px;}
.need-card p {font-size:.9rem;line-height:1.64;}
.journey-list {gap:16px;margin-bottom:30px;}
.journey-step {border-radius:25px;padding:30px 26px;}
.step-num {font:700 .85rem var(--sans);letter-spacing:.15em;margin-bottom:35px;color:var(--gold-soft);}
.journey-step h3 {font-size:1.27rem;font-weight:600;}
.journey-step p {font-size:.92rem;line-height:1.64;}
.area-grid {gap:18px;}
.area {padding:30px;border-radius:25px;transition:transform .3s ease,box-shadow .3s ease;}
.area h3 {font-size:1.24rem;line-height:1.3;margin-bottom:14px;}
.area-summary {font-weight:600;color:var(--navy-900);margin:0 0 16px;line-height:1.55;}
.area-points {display:grid;gap:10px;margin:0;padding-left:17px;color:var(--muted);}
.area-points li {font-size:.9rem;line-height:1.6;}
.area-points li::marker {color:var(--gold-deep);}
.medical-note {background:transparent;border:none;box-shadow:none;padding:0;font-size:.88rem;}
.about-media {border:1px solid rgba(255,255,255,.95);background:rgba(255,255,255,.55);padding:6px;border-radius:26px;box-shadow:0 20px 50px rgba(8,35,61,.11);}
.about-media img {border-radius:20px;}
.about-copy>p {line-height:1.72;font-size:.96rem;margin-bottom:16px;}
.doctor-facts {gap:7px;margin-bottom:21px;}
.doctor-facts li {font-size:.72rem;}
.about-points {gap:11px;margin:19px 0 27px;}
.about-points li {font-size:.91rem;line-height:1.62;}
/* CTA: section, not another card */
.conversion {text-align:center;}
.conversion-content {max-width:790px;margin:0 auto;padding:22px 0 18px;}
.conversion-content h2 {color:#fff;margin:0 auto 16px;max-width:19ch;}
.conversion-content>p:not(.eyebrow){color:var(--light-muted);max-width:43ch;margin:0 auto 25px;}
.conversion-actions {display:flex;flex-direction:column;align-items:center;gap:14px;}
.conversion-modes {color:rgba(247,249,255,.67);font-size:.85rem;}
.faq .section-head {margin-bottom:32px;}
.faq .acc-item {border-radius:20px;margin-bottom:10px;}
.faq .acc-btn {font-size:.94rem;font-weight:600;padding:21px 23px;}
.faq .acc-panel p {font-size:.91rem;line-height:1.7;}
.faq-cta {background:transparent;border:0;box-shadow:none;backdrop-filter:none;display:flex;align-items:center;justify-content:center;gap:18px;padding:18px 0 0;flex-wrap:wrap;}
.faq-cta::before,.faq-cta::after {display:none;}
.faq-cta p {color:var(--navy-950);font-weight:600;margin:0;}
.faq-cta .btn {width:auto;}
.btn {letter-spacing:.035em;font-size:.76rem;font-weight:700;}
.btn-accent {box-shadow:0 12px 26px rgba(199,164,118,.23);}
@media(min-width:768px){.need-card{padding:30px}.journey-step{padding:33px 26px}.hero-grid{gap:50px}}
@media(min-width:1024px){.hero-grid{grid-template-columns:minmax(0,1.02fr) minmax(370px,.88fr);gap:clamp(40px,5vw,75px)}.hero-media img{aspect-ratio:4/5;min-height:475px;max-height:620px}.hero-copy{max-width:570px}.authority-shell{margin-top:45px}.section-head{max-width:790px}.need-grid{gap:18px}}
@media(max-width:767px){h1{font-size:clamp(2rem,9vw,2.7rem)}h2{font-size:clamp(1.88rem,7.7vw,2.45rem)}.hero-media img{aspect-ratio:1/1;max-height:50svh;object-position:center 24%}.hero{padding-top:calc(var(--header-h) + 18px)}.authority-item{padding:16px 13px}.authority-item strong{font-size:.81rem}.authority-item span{font-size:.72rem}.need-card{min-height:auto}.journey-step{padding:25px}.section-head{margin-bottom:35px}.area{padding:24px}.faq-cta{flex-direction:column}.faq-cta .btn{width:100%;max-width:320px}}
@media(prefers-reduced-motion:reduce){.need-card,.area{transition:none}}



/* === Direção navy gold inspirada na referência === */
:root {
  --serif: "Cormorant Garamond", Georgia, serif;
  --sans: "Manrope", system-ui, sans-serif;
  --navy-950: #061a36;
  --navy-900: #0a2347;
  --navy-850: #0e2a55;
  --navy-800: #143566;
  --blue-700: #214677;
  --gold: #caa468;
  --gold-soft: #e2c58e;
  --gold-deep: #a27a3f;
  --paper: #081a34;
  --cream: #0a2347;
  --ink: #f7f3ee;
  --muted: rgba(247,243,238,.78);
  --light-text: #f7f3ee;
  --light-muted: rgba(247,243,238,.76);
}
html, body { background: var(--navy-950) !important; }
body {
  font-family: var(--sans);
  color: var(--light-text);
  background:
    radial-gradient(circle at 78% 16%, rgba(255,255,255,.06), transparent 28%),
    radial-gradient(circle at 14% 12%, rgba(36,79,128,.34), transparent 34%),
    linear-gradient(135deg, #05152b 0%, #081c39 44%, #0b2348 100%) !important;
}
html, body, main, .hero, .dark, .light, .journey, .conversion,
.pains, .areas, .about, .faq, .results, .reviews, .site-footer {
  background-color: transparent !important;
}
.light, .dark, .hero, .journey, .conversion, .pains, .areas, .about, .faq, .reviews, .results, .site-footer {
  color: var(--light-text);
  background:
    radial-gradient(circle at 84% 16%, rgba(255,255,255,.045), transparent 28%),
    radial-gradient(circle at 8% 88%, rgba(202,164,104,.08), transparent 32%),
    linear-gradient(180deg, rgba(8,26,52,.94), rgba(8,26,52,.94)) !important;
}
.texture {
  background-image: url('assets/texture-dark.svg') !important;
  opacity: .62 !important;
}
.dark::after { display:none !important; }
.site-header, .site-header.is-scrolled {
  background: rgba(6,26,54,.68) !important;
  border-bottom: 1px solid rgba(255,255,255,.08);
  box-shadow: none;
  -webkit-backdrop-filter: blur(18px) saturate(120%);
  backdrop-filter: blur(18px) saturate(120%);
}
.site-header .brand-name, .site-header .nav a { color: #fff !important; background: transparent !important; }
.menu-toggle span { background: #fff !important; }
.site-header .brand-role { color: var(--gold-soft) !important; }
.nav { background: rgba(6,26,54,.95) !important; }
.nav a { border-bottom-color: rgba(255,255,255,.08); color: #fff !important; }
.menu-toggle { background: rgba(255,255,255,.05); border-color: rgba(255,255,255,.14); }

h1, h2 {
  font-family: var(--serif);
  font-weight: 600;
  color: #fff !important;
  letter-spacing: -.02em;
  line-height: 1.02;
}
h3, .brand-name { font-family: var(--sans); color: #fff !important; }
h1 { font-size: clamp(2.6rem, 7vw, 5rem); }
h2 { font-size: clamp(2.2rem, 5vw, 3.8rem); }
.section-head { max-width: 860px; }
.section-lead, p, .hero-lead, .journey-step p, .area-points li, .about-copy > p, .faq .acc-panel p, .conversion-modes, .medical-note, .hero-cred {
  color: var(--light-muted) !important;
}
.eyebrow, .need-num, .step-num, .tagline, .area-points li::marker { color: var(--gold-soft) !important; }
.hero-title-styled em,
h2 em,
.about-points strong,
.area-summary,
.authority-item strong,
.hero-cred strong,
.doctor-facts li:first-child {
  color: var(--gold-soft) !important;
  font-style: italic;
  font-family: var(--serif);
  font-weight: 600;
}
.hero-title-styled span { display:block; }
.hero-title-styled em, h2 em { text-decoration: none; }
.hero-lead { max-width: 44ch; font-size: 1.05rem; }
.hero-media {
  background: rgba(255,255,255,.06) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 24px 62px rgba(1,10,24,.28) !important;
}
.authority-shell {
  background: linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.03)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: 0 18px 46px rgba(1,8,25,.18) !important;
}
.authority-item {
  background: rgba(4,24,49,.30) !important;
  border: 1px solid rgba(255,255,255,.08) !important;
}
.authority-item span { color: rgba(247,243,238,.74) !important; }
.tagline { border-top-color: rgba(255,255,255,.11) !important; }

.glass, .glass-dark, .need-card, .journey-step, .area, .faq .acc-item {
  background: linear-gradient(145deg, rgba(255,255,255,.10), rgba(255,255,255,.035)) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 18px 48px rgba(1,10,24,.18) !important;
  -webkit-backdrop-filter: blur(18px) saturate(130%) !important;
  backdrop-filter: blur(18px) saturate(130%) !important;
}
.glass::before, .glass-dark::before, .need-card::before, .journey-step::before, .area::before, .faq .acc-item::before {
  display:block !important;
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background: linear-gradient(130deg, rgba(255,255,255,.20), transparent 34%, transparent 62%, rgba(255,255,255,.04));
}
.glass::after, .glass-dark::after, .need-card::after, .journey-step::after, .area::after, .faq .acc-item::after {
  display:block !important;
  content:"";
  position:absolute;
  left:10%; right:10%; top:0; height:1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent);
}
.need-card h3, .journey-step h3, .area h3, .faq .acc-btn, .faq-cta p { color: #fff !important; }
.area-summary { color: var(--gold-soft) !important; }
.about-media { background: rgba(255,255,255,.08) !important; border-color: rgba(255,255,255,.20) !important; }
.doctor-facts li {
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.10) !important;
}
.doctor-facts li:first-child {
  background: rgba(202,164,104,.14) !important;
  border-color: rgba(202,164,104,.28) !important;
}
.about-points li { color: rgba(247,243,238,.82) !important; }
.about-points li::before, .about-points li::after { display:none !important; }

.section-cta.cta-inline p,
.conversion-content h2,
.conversion-content > p:not(.eyebrow),
.conversion-modes,
.faq-cta p { color: #fff !important; }
.btn-primary {
  background: #fff !important;
  color: var(--navy-950) !important;
  box-shadow: 0 12px 30px rgba(255,255,255,.12) !important;
}
.btn-primary:hover { background: #f2ece4 !important; }
.btn-accent {
  background: var(--gold) !important;
  color: var(--navy-950) !important;
  box-shadow: 0 12px 32px rgba(202,164,104,.24) !important;
}
.btn-ghost-line {
  background: rgba(255,255,255,.05) !important;
  color: #fff !important;
  border-color: rgba(255,255,255,.16) !important;
}
.site-footer {
  border-top: 1px solid rgba(255,255,255,.08);
}
.site-footer p, .site-footer a, .footer-legal p, .footer-brand p { color: rgba(247,243,238,.72) !important; }

@media (max-width: 767px) {
  h1 { font-size: clamp(2.35rem, 10vw, 3.2rem); }
  h2 { font-size: clamp(2rem, 8.4vw, 2.7rem); }
  .hero-title-styled .only-mobile { display:block; }
}

/* === Refino leitura e padronização final === */
.site-header .brand { align-items: flex-start; }
.site-header .brand-role { display:none !important; }
.site-header .brand-name {
  font-family: var(--serif) !important;
  font-size: 1.42rem;
  font-weight: 600;
  letter-spacing: -.01em;
}
@media (min-width:1024px){
  .site-header .brand-name{font-size:1.58rem;}
}

.hero-title-styled {
  max-width: 10ch;
  text-wrap: balance;
}
.hero-title-styled em {
  white-space: nowrap;
}
.hero-lead {
  max-width: 38ch;
  font-size: 1.08rem;
  line-height: 1.75;
  color: rgba(247,243,238,.88) !important;
}
.hero-cred {
  color: rgba(247,243,238,.68) !important;
  font-size: .83rem;
}
.hero-media img {
  object-position: 50% 22% !important;
}
@media (min-width:1024px){
  .hero-media img { min-height: 560px; max-height: 660px; }
  .hero-copy { max-width: 520px !important; }
}

.authority-item strong,
.need-card h3,
.journey-step h3,
.area h3,
.faq .acc-btn {
  font-family: var(--sans) !important;
  font-weight: 700;
  color: #fff !important;
}
.authority-item span,
.need-card p,
.journey-step p,
.area-mini,
.about-copy p,
.about-points li,
.faq .acc-panel p {
  color: rgba(247,243,238,.82) !important;
}
.authority-shell { padding: 12px; }
.authority-list { gap: 12px; }
.authority-item,
.need-card,
.journey-step,
.area,
.faq .acc-item {
  border-radius: 22px !important;
  background: linear-gradient(145deg, rgba(255,255,255,.11), rgba(255,255,255,.04)) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.16), 0 14px 36px rgba(1,10,24,.14) !important;
}
.authority-item { padding: 22px 18px !important; }
.need-card { min-height: 180px; padding: 24px !important; }
.need-card p { font-size: .9rem; line-height: 1.6; }
.need-grid { gap: 18px; }

.journey-list { gap: 18px; }
.journey-step { min-height: 210px; padding: 24px !important; }
.journey-step p { font-size: .9rem; line-height: 1.6; }

.area-grid { gap: 18px; }
.area { min-height: 0; padding: 28px !important; }
.area h3 { font-size: 1.16rem; margin-bottom: 12px; }
.area-summary {
  color: var(--gold-soft) !important;
  font-family: var(--serif);
  font-style: italic;
  font-size: 1rem;
  line-height: 1.45;
  margin-bottom: 14px;
}
.area-mini {
  margin: 0;
  font-size: .92rem;
  line-height: 1.65;
}
.area-points { display:none !important; }
.medical-note {
  background: rgba(255,255,255,.05) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  color: rgba(247,243,238,.8) !important;
  max-width: 620px;
  margin-top: 18px;
}

.about-points {
  display: grid;
  gap: 8px;
}
.about-points li {
  padding-left: 0 !important;
  font-size: .94rem;
  line-height: 1.65;
}
.about-points strong {
  font-style: normal !important;
  font-family: var(--sans) !important;
  color: var(--gold-soft) !important;
}

.faq .acc-btn {
  font-size: .96rem;
}
.faq-cta .btn,
.section-cta .btn,
.about .btn-primary {
  background: #fff !important;
  color: var(--navy-950) !important;
}

@media (max-width:767px){
  .site-header .brand { align-items:center; }
  .hero-title-styled { max-width: 11ch; }
  .hero-media img { object-position: 50% 18% !important; }
  .need-card, .journey-step, .area { padding: 22px !important; }
}

/* Ajuste de legibilidade definitivo e acabamento premium */
:root {--navy-950:#081a32;--gold-soft:#dfbe80;--light-text:#f8f6f2;--light-muted:rgba(248,246,242,.87)}
body,main{color:#f8f6f2;background:#081a32!important}
.hero,.pains,.journey,.areas,.about,.conversion,.faq,.site-footer{background:linear-gradient(155deg,#07182f,#0a203d 58%,#0a1d37)!important}
.hero h1,.hero h2,.dark h1,.dark h2,.light h1,.light h2,
.pains h2,.journey h2,.areas h2,.about h2,.conversion h2,.faq h2,
.section-cta p {color:#f8f6f2!important;opacity:1!important}
.hero-title-styled{max-width:12ch!important;line-height:1.08!important;font-size:clamp(2.6rem,4.8vw,4.25rem)!important}
.hero-title-styled em,h2 em{color:#dfbe80!important;font-style:italic}
.hero-lead,.section-lead,.need-card p,.journey-step p,.area-mini,
.about-copy p,.about-points li,.faq .acc-panel p,.authority-item span{color:rgba(248,246,242,.88)!important;opacity:1!important}
.section-lead{font-size:1.03rem;line-height:1.7}
.site-header,.site-header.is-scrolled{background:rgba(7,24,47,.88)!important}
.site-header .brand-name,.site-header .nav a{color:#f8f6f2!important;background:transparent!important;opacity:1!important}
.site-header .nav a:hover{color:#dfbe80!important}
.brand-name{color:#f8f6f2!important;background:transparent!important}
.menu-toggle span{background:#f8f6f2!important}
.authority-shell,.need-card,.journey-step,.area,.faq .acc-item{
 background:linear-gradient(125deg,rgba(255,255,255,.105),rgba(255,255,255,.035))!important;
 border:1px solid rgba(231,238,251,.22)!important;
 box-shadow:inset 0 1px 0 rgba(255,255,255,.19),0 16px 35px rgba(0,7,22,.15)!important;
 -webkit-backdrop-filter:blur(16px) saturate(118%);backdrop-filter:blur(16px) saturate(118%);
}
.need-card h3,.journey-step h3,.area h3,.faq .acc-btn,.authority-item strong{color:#fff!important;opacity:1!important;font-size:clamp(.94rem,1.3vw,1.04rem)!important;line-height:1.42}
.authority-item strong{font-family:var(--sans)!important;font-style:normal!important;font-weight:700!important}
.authority-item{background:rgba(255,255,255,.035)!important;border-color:rgba(255,255,255,.09)!important}
.authority-shell{padding:12px!important}
.authority-list{gap:10px!important}
.need-grid{gap:18px!important}
.need-card{padding:25px!important;min-height:170px!important}
.need-card p{font-size:.9rem!important;line-height:1.66!important}
.journey-step{padding:25px!important;min-height:200px!important}
.journey-step p{font-size:.9rem!important;line-height:1.65!important}
.area{padding:28px!important}
.area-summary{font-family:var(--sans)!important;font-size:.94rem!important;font-weight:600!important;font-style:normal!important;color:#dfbe80!important}
.area-mini strong{color:#fff!important}
.about-points strong{font-family:var(--sans)!important;font-style:normal!important;color:#dfbe80!important}
.hero-media{max-width:450px;justify-self:center!important}
.hero-media img{object-position:50% 31%!important}
.hero-grid{align-items:center!important}
.section{padding-block:clamp(76px,7vw,104px)}
.section-head{margin-bottom:39px}
.faq .acc-item{margin-bottom:11px!important}
.faq .acc-btn{padding:22px 25px!important}
.hero-cred{color:rgba(248,246,242,.75)!important}
.site-footer .brand-name{color:#fff!important}
@media (min-width:1024px){.hero-grid{grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr)!important;gap:70px!important}.hero-media{width:100%}.hero-media img{aspect-ratio:4/4.6!important;min-height:0!important;height:auto!important;max-height:570px!important}.hero-copy{max-width:550px!important}}
@media (max-width:767px){.hero-title-styled{font-size:clamp(2.4rem,10vw,3.3rem)!important;max-width:13ch!important}.hero-media{width:100%;max-width:450px}.hero-media img{object-position:50% 24%!important}.hero-grid{gap:30px!important}.authority-list{gap:8px!important}}

/* Hero com conteúdo equilibrado ao lado da fotografia */
.hero-support {
  max-width: 45ch;
  margin: 18px 0 0;
  font-family: var(--sans);
  font-size: clamp(.91rem, 1vw, 1rem);
  line-height: 1.78;
  color: rgba(248,246,242,.82) !important;
}
@media (min-width:1024px) {
  .hero-copy {display:flex;flex-direction:column;align-items:flex-start;justify-content:center;}
  .hero-lead {margin-left:0!important;margin-right:0!important;}
  .hero-actions {margin-top:30px;}
  .hero-grid {align-items:center!important;}
}
@media (max-width:1023px) {
  .hero-support {margin:18px auto 0;max-width:46ch;text-align:center;}
}

/* Hero: ocupar a área de texto ao lado da imagem, com distância de 5 px no desktop */
@media (min-width: 1024px) {
  .hero-grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr) !important;
    gap: 5px !important;
    column-gap: 5px !important;
    align-items: center !important;
  }
  .hero-copy {
    width: 100% !important;
    max-width: none !important;
    min-width: 0;
    padding-right: 0;
  }
  .hero-title-styled {
    width: 100%;
    max-width: 17ch !important;
  }
  .hero-lead,
  .hero-support {
    width: 100%;
    max-width: none !important;
  }
  .hero-support {
    font-size: 1rem;
    line-height: 1.7;
  }
  .hero-media {
    justify-self: start !important;
    width: min(100%, 450px) !important;
    margin: 0 !important;
  }
}

/* === Refino de cards inspirado na referência === */
:root {
  --card-bg-top: rgba(118, 137, 185, .16);
  --card-bg-bottom: rgba(56, 78, 120, .14);
  --card-border: rgba(201, 214, 242, .20);
  --card-shadow: 0 18px 42px rgba(2, 8, 22, .22);
}

/* padrão visual dos cards */
.need-card,
.journey-step,
.area,
.authority-item,
.faq .acc-item {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, var(--card-bg-top) 0%, var(--card-bg-bottom) 100%) !important;
  border: 1px solid var(--card-border) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.15), 0 0 0 1px rgba(255,255,255,.03), var(--card-shadow) !important;
  -webkit-backdrop-filter: blur(16px) saturate(120%) !important;
  backdrop-filter: blur(16px) saturate(120%) !important;
  border-radius: 28px !important;
}
.need-card::before,
.journey-step::before,
.area::before,
.authority-item::before,
.faq .acc-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 18% 10%, rgba(255,255,255,.16), transparent 32%),
    linear-gradient(130deg, rgba(255,255,255,.12), transparent 30%, transparent 70%, rgba(255,255,255,.04));
  pointer-events: none;
}
.need-card::after,
.journey-step::after,
.area::after,
.authority-item::after,
.faq .acc-item::after {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  top: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.58), transparent);
  pointer-events: none;
}

/* cards de dores */
.need-grid { gap: 20px !important; }
.need-card {
  min-height: 178px !important;
  padding: 28px 26px !important;
  text-align: left;
}
.need-num {
  display: block;
  margin-bottom: 16px;
  font-size: .72rem;
  letter-spacing: .16em;
  color: var(--gold-soft) !important;
}
.need-card h3 {
  margin-bottom: 12px !important;
  font-family: var(--sans) !important;
  font-size: 1.02rem !important;
  font-weight: 700 !important;
  line-height: 1.38 !important;
  color: #fff !important;
}
.need-card p {
  font-size: .9rem !important;
  line-height: 1.66 !important;
  color: rgba(248,246,242,.84) !important;
}

/* cards do processo, mais próximos da referência */
.journey-list {
  gap: 18px !important;
}
.journey-step {
  min-height: 318px !important;
  padding: 34px 28px !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.journey-step .step-num {
  margin-bottom: 18px;
  font-size: .74rem;
  letter-spacing: .16em;
  color: var(--gold-soft) !important;
}
.journey-step h3 {
  margin: 0 0 18px !important;
  font-family: var(--sans) !important;
  font-size: clamp(1.1rem, 1.45vw, 1.28rem) !important;
  font-weight: 800 !important;
  line-height: 1.18 !important;
  text-transform: uppercase;
  letter-spacing: -.01em;
}
.journey-step p {
  max-width: 24ch;
  margin: 0 auto;
  font-size: .95rem !important;
  line-height: 1.7 !important;
  color: rgba(248,246,242,.82) !important;
}

/* cards da seção de atuação mantidos elegantes, mais leves */
.area-grid { gap: 20px !important; }
.area {
  min-height: 0 !important;
  padding: 30px 28px !important;
}
.area h3 {
  font-family: var(--serif) !important;
  font-size: 1.34rem !important;
  line-height: 1.24 !important;
  margin-bottom: 12px !important;
}
.area-summary {
  font-family: var(--sans) !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
  color: var(--gold-soft) !important;
  margin-bottom: 14px !important;
}
.area-mini {
  color: rgba(248,246,242,.84) !important;
  font-size: .91rem !important;
  line-height: 1.7 !important;
}

/* cards menores do hero */
.authority-shell { padding: 14px !important; }
.authority-list { gap: 14px !important; }
.authority-item {
  min-height: 112px;
  padding: 24px 18px !important;
}
.authority-item strong {
  display: block;
  margin-bottom: 8px;
  font-size: .94rem !important;
  line-height: 1.35 !important;
}
.authority-item span {
  font-size: .8rem !important;
  line-height: 1.55 !important;
  color: rgba(248,246,242,.8) !important;
}

/* faq com mesmo padrão */
.faq .acc-item {
  margin-bottom: 14px !important;
}
.faq .acc-btn {
  min-height: 84px;
  font-size: .97rem !important;
}
.faq .acc-panel p {
  color: rgba(248,246,242,.82) !important;
}

/* estados */
.need-card:hover,
.journey-step:hover,
.area:hover,
.authority-item:hover,
.faq .acc-item:hover {
  transform: translateY(-4px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.17), 0 26px 56px rgba(2, 8, 22, .26) !important;
}

@media (max-width: 1024px) {
  .journey-step { min-height: 280px !important; }
}
@media (max-width: 767px) {
  .need-card { min-height: auto !important; padding: 24px 22px !important; }
  .journey-step {
    min-height: auto !important;
    padding: 28px 22px !important;
  }
  .journey-step p { max-width: 100%; }
  .area { padding: 24px 22px !important; }
  .authority-item { min-height: auto; padding: 18px 14px !important; }
}

/* Hero editorial: título aproveita a coluna e foto respira */
@media (min-width: 1024px) {
  .hero-grid {
    grid-template-columns: minmax(0, 1.16fr) minmax(0, .84fr) !important;
    gap: clamp(32px, 3vw, 48px) !important;
    column-gap: clamp(32px, 3vw, 48px) !important;
  }
  .hero-copy { min-width: 0; width: 100% !important; max-width: none !important; }
  .hero-title-styled {
    max-width: 100% !important;
    width: 100% !important;
    font-size: clamp(3rem, 4.15vw, 4.15rem) !important;
    line-height: 1.06 !important;
    text-wrap: balance;
  }
  .hero-media { width: min(100%, 450px) !important; justify-self: center !important; }
  .hero-lead, .hero-support { max-width: 55ch !important; }
}
@media (min-width: 1024px) and (max-width: 1180px) {
  .hero-title-styled { font-size: clamp(2.65rem, 4vw, 3.3rem) !important; }
}

/* Centralização da chamada após os cards e padrão global de CTAs */
.pains .section-cta.cta-inline {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 22px !important;
  margin: 38px auto 0 !important;
  width: 100%;
  max-width: 820px;
}
.pains .section-cta.cta-inline p {
  margin: 0 auto !important;
  max-width: 690px !important;
  text-align: center !important;
  line-height: 1.5 !important;
  font-size: clamp(1rem, 1.5vw, 1.13rem) !important;
  font-family: var(--sans) !important;
  font-style: normal !important;
  font-weight: 500 !important;
  color: rgba(248,246,242,.91) !important;
}
/* Padrão único aplicado a botões de agendamento e contato */
.btn.btn-accent, .btn.btn-primary, .nav-cta,
.section-cta .btn, .faq-cta .btn, .about .btn,
.journey .btn, .conversion .btn {
  appearance: none;
  min-height: 54px !important;
  padding: 0 28px !important;
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: #caa468 !important;
  color: #081a34 !important;
  font-family: var(--sans) !important;
  font-size: .78rem !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: .045em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: 0 12px 28px rgba(202,164,104,.18) !important;
  transition: background-color .25s ease, transform .25s ease, box-shadow .25s ease !important;
}
.btn.btn-accent:hover, .btn.btn-primary:hover, .nav-cta:hover,
.section-cta .btn:hover, .faq-cta .btn:hover, .about .btn:hover,
.journey .btn:hover, .conversion .btn:hover {
  background: #dec08a !important;
  color: #081a34 !important;
  transform: translateY(-2px);
  box-shadow: 0 16px 32px rgba(202,164,104,.22) !important;
}
.nav-cta { min-height: 42px !important; padding: 0 20px !important; font-size: .7rem !important; }
@media(max-width:767px) {
  .pains .section-cta.cta-inline { margin-top: 30px !important; gap: 18px !important; }
  .pains .section-cta.cta-inline p { max-width: 33ch !important; }
  .pains .section-cta .btn { width: auto !important; max-width: 100%; }
}

/* Quatro cards independentes, sem painel externo */
.hero .authority-standalone {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  margin-top: 48px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.hero .authority-standalone .authority-item {
  min-width: 0;
  margin: 0;
}
@media (max-width: 960px) {
  .hero .authority-standalone { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 540px) {
  .hero .authority-standalone { grid-template-columns: 1fr; gap: 12px; margin-top: 28px; }
}


/* === Ajustes finais solicitados no site publicado === */
.hero-title-styled {
  max-width: 9.5ch !important;
  font-size: clamp(2.7rem, 4.35vw, 4.6rem) !important;
  line-height: 1.02 !important;
  letter-spacing: -.025em !important;
}
@media (max-width: 767px) {
  .hero-title-styled {
    max-width: 10.5ch !important;
    font-size: clamp(2.45rem, 9vw, 3.4rem) !important;
  }
}

/* remove numerações */
.need-num,
.step-num {
  display: none !important;
}

/* centralização dos conteúdos dos cards */
.need-card,
.journey-step,
.area {
  text-align: center !important;
  align-items: center !important;
  justify-content: center !important;
}
.need-card h3,
.need-card p,
.journey-step h3,
.journey-step p,
.area h3,
.area-summary,
.area-mini {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.need-card p,
.journey-step p,
.area-mini {
  max-width: 28ch;
}
.area-summary { max-width: 34ch; }
.area h3 { max-width: 22ch; }
.area-mini strong { display: inline; }

/* cards sem número com melhor distribuição vertical */
.need-card {
  min-height: 190px !important;
  padding: 28px 26px !important;
}
.need-card h3 {
  margin-bottom: 14px !important;
  font-size: clamp(1rem, 1.2vw, 1.1rem) !important;
}
.journey-step {
  min-height: 250px !important;
  padding: 30px 24px !important;
}
.journey-step h3 {
  margin-bottom: 14px !important;
}
.area {
  min-height: 230px !important;
  display: flex !important;
  flex-direction: column !important;
}

/* centraliza frase e CTA abaixo dos cards */
.pains .section-cta.cta-inline {
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 18px !important;
  margin-top: 28px !important;
}
.pains .section-cta.cta-inline p {
  text-align: center !important;
  margin: 0 auto !important;
  max-width: 42ch !important;
}
.pains .section-cta .btn {
  margin: 0 auto !important;
}

/* remove qualquer estilo do medical note caso exista em cache */
.medical-note { display: none !important; }

/* CTA padrão */
.section-cta .btn, .faq-cta .btn, .about .btn,
.hero .btn, .journey .btn, .nav-cta {
  min-width: 264px !important;
  min-height: 58px !important;
  padding: 0 32px !important;
  border-radius: 999px !important;
  background: #d5ab63 !important;
  color: #0b2243 !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 0 14px 32px rgba(213,171,99,.24) !important;
  font-weight: 700 !important;
  letter-spacing: .02em !important;
}
.section-cta .btn:hover, .faq-cta .btn:hover, .about .btn:hover,
.hero .btn:hover, .journey .btn:hover, .nav-cta:hover {
  background: #dfb870 !important;
  color: #0b2243 !important;
}

/* seção atuação centralizada */
.areas .section-head,
.journey .section-head,
.pains .section-head {
  text-align: center !important;
}

/* responsivo */
@media (max-width: 1024px) {
  .area { min-height: auto !important; }
  .journey-step { min-height: 220px !important; }
}
@media (max-width: 767px) {
  .need-card, .journey-step, .area {
    min-height: auto !important;
    padding: 24px 22px !important;
  }
  .section-cta .btn, .faq-cta .btn, .about .btn,
  .hero .btn, .journey .btn, .nav-cta {
    min-width: 100% !important;
    width: 100% !important;
    max-width: 320px !important;
  }
}

/* Padronização tipográfica de todos os cards */
:root{--card-title-size:1.26rem;--card-body-size:1rem}
.need-card h3,.journey-step h3,.area h3,.authority-item strong{
 font-family:var(--sans)!important;font-size:var(--card-title-size)!important;
 font-weight:800!important;line-height:1.28!important;letter-spacing:-.025em!important;
 font-style:normal!important;color:#fff!important;text-align:center!important;
}
.need-card p,.journey-step p,.area-summary,.authority-item span{
 font-family:var(--sans)!important;font-size:var(--card-body-size)!important;
 font-weight:400!important;line-height:1.6!important;letter-spacing:0!important;
 font-style:normal!important;color:rgba(249,250,252,.86)!important;text-align:center!important;
}
.area-summary{color:rgba(249,250,252,.86)!important;max-width:32ch!important;margin:12px auto 0!important}
.need-card,.journey-step,.area,.authority-item{
 display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
 text-align:center!important;
}
.need-card h3,.area h3,.journey-step h3{margin:0 auto 12px!important}
.need-card p,.journey-step p{margin:0 auto!important}
.authority-item strong{margin:0 auto 8px!important}
/* Linha do tempo: quatro etapas conectadas */
.journey-list{position:relative!important;isolation:isolate;gap:22px!important;overflow:visible!important}
.journey-list::before{content:"";position:absolute;top:50%;left:3%;right:3%;height:2px;
 background:linear-gradient(90deg,rgba(214,175,108,.35),#dbb87d,rgba(214,175,108,.35));
 transform:translateY(-50%);z-index:-1;pointer-events:none}
.journey-step{position:relative!important;z-index:1!important;min-height:280px!important;padding:36px 20px!important;
 border-color:rgba(230,202,151,.33)!important}
.journey-step::after{content:""!important;display:block!important;position:absolute!important;
 top:calc(50% - 7px);left:-19px;right:auto;width:14px;height:14px;border-radius:50%;
 background:#d9b478;border:3px solid #0b2140;box-shadow:0 0 0 4px rgba(217,180,120,.14);
 pointer-events:none;z-index:3}
.journey-step:first-child::after{display:none!important}
@media(max-width:1023px){.journey-list::before{left:50%;right:auto;top:3%;bottom:3%;width:2px;height:auto;transform:none}
 .journey-step::after{left:calc(50% - 7px);right:auto;top:-18px}
 .journey-step{min-height:220px!important}}
@media(max-width:767px){:root{--card-title-size:1.16rem;--card-body-size:.95rem}
 .journey-list::before{left:20px;top:1%;bottom:1%}
 .journey-step::after{left:13px;top:-16px}
 .journey-step{min-height:190px!important;padding:28px 22px!important}}

/* Depoimentos | carrossel integrado à identidade visual */
.reviews .section-head { max-width: 760px; }
.reviews .review {
  background: linear-gradient(145deg,rgba(255,255,255,.15),rgba(255,255,255,.055)) !important;
  border: 1px solid rgba(255,255,255,.21) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.22), 0 18px 38px rgba(0,7,26,.17) !important;
  border-radius: 24px; backdrop-filter: blur(16px) saturate(120%);
  -webkit-backdrop-filter: blur(16px) saturate(120%);
  min-height: 285px; padding: 28px; text-align: left;
}
.reviews .review-name { color: #fff !important; font-family: var(--sans); font-size: .96rem; font-weight: 700; }
.reviews .review-date { color: rgba(255,255,255,.63) !important; }
.reviews .review-text { color: rgba(255,255,255,.88) !important; font-size: .95rem; line-height: 1.7; }
.reviews .review-stars { color: #e1b868 !important; font-size: 1.2rem; }
.reviews .review-avatar { background: rgba(218,178,107,.22); border:1px solid rgba(218,178,107,.32); color: #f1d7a6; font-family:var(--sans); }
.reviews .review-more { color: #e8c88c !important; }
.reviews .carousel-dot::before { background: rgba(255,255,255,.30); }
.reviews .carousel-dot[aria-current="true"]::before { background: #d9b477; }
.reviews #google-link { background:#d5ab63!important; color:#0b2243!important; border-radius:999px; border:0!important; }
@media(max-width:767px){.reviews .review {padding:23px; min-height:255px;}}

/* FAQ sem liquid glass: superfície transparente e divisórias discretas */
.faq .acc-item, .faq .acc-item.glass, .faq .acc-item:hover {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255,255,255,.20) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  transform: none !important;
  margin-bottom: 0 !important;
}
.faq .acc-item::before, .faq .acc-item::after { display:none !important; content:none !important; }
.faq .acc-btn { padding: 23px 8px !important; background:transparent !important; }
.faq .acc-panel { background: transparent !important; }
.faq .acc-panel p { padding-left: 8px; padding-right: 8px; }


/* Acabamento 16/10: fundo limpo, distribuição harmonizada */
.hero .eyebrow { display:none !important; }
/* Linhas decorativas do fundo desativadas; linha do tempo estrutural preservada */
.texture, .hero::before, .hero::after, .dark::after, .light::after {background-image:none !important;}
.texture {display:none !important;}
.hero,.pains,.journey,.areas,.about,.conversion,.faq,.reviews,.site-footer {
 background:#091c35 !important;
}
/* Foto e conteúdo com colunas equilibradas, H1 ocupa a largura útil */
@media (min-width:1024px){
 .hero-grid {grid-template-columns:minmax(0,1.16fr) minmax(0,.84fr)!important;gap:clamp(36px,4vw,64px)!important;}
 .hero-title-styled {max-width:none!important;width:100%!important;font-size:clamp(2.8rem,4vw,4.1rem)!important;line-height:1.045!important;text-wrap:pretty!important;}
 .hero-copy {width:100%!important;max-width:none!important;}
}
@media (max-width:1023px){.hero-title-styled{max-width:100%!important;text-wrap:balance!important;}}
/* Todos os cards com mesmo eixo tipográfico e alinhamento vertical */
.need-grid,.area-grid,.journey-list,.authority-list {align-items:stretch!important;}
.need-card,.journey-step,.area,.authority-item {box-sizing:border-box;min-width:0;text-align:center!important;}
.need-card {display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-height:205px!important;}
.journey-step {display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-height:285px!important;}
.area {display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-height:245px!important;}
.authority-item {display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;min-height:122px!important;}
.need-card h3,.journey-step h3,.area h3,.authority-item strong {font-family:var(--sans)!important;font-size:1.12rem!important;font-weight:750!important;line-height:1.35!important;letter-spacing:-.015em!important;max-width:100%!important;text-align:center!important;margin:0 auto 12px!important;}
.need-card p,.journey-step p,.area .area-summary,.authority-item span {font-family:var(--sans)!important;font-size:.94rem!important;font-weight:400!important;line-height:1.65!important;text-align:center!important;max-width:32ch!important;margin:0 auto!important;}
.area .area-summary {color:#e6c18b!important;font-weight:500!important;}
.area .area-mini {font-size:.94rem!important;line-height:1.6!important;text-align:center!important;margin:12px auto 0!important;max-width:32ch!important;}
.need-card h3,.need-card p,.journey-step h3,.journey-step p,.area h3,.area p,.authority-item strong,.authority-item span{overflow-wrap:break-word;}
.pains .section-cta.cta-inline{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;text-align:center!important;}
.pains .section-cta.cta-inline p{text-align:center!important;margin:0 auto!important;}
/* Padronização de todos os CTAs de agendamento */
button[data-agendar]{min-height:54px!important;border-radius:999px!important;background:#d5ad69!important;color:#0a213d!important;font-family:var(--sans)!important;font-size:.78rem!important;font-weight:800!important;letter-spacing:.035em!important;white-space:nowrap;}
button[data-agendar]:hover{background:#e6c187!important;}
/* Não cresce dentro do header */
.nav-cta{min-width:0!important;min-height:43px!important;padding:0 19px!important;}
@media(max-width:767px){
 .need-card,.journey-step,.area,.authority-item{min-height:0!important;padding:25px 20px!important;}
 .hero-title-styled{font-size:clamp(2.55rem,9vw,3.45rem)!important;line-height:1.06!important;}
 button[data-agendar]{font-size:.75rem!important;max-width:100%!important;}
}

/* Build 20261016: logos oficiais, alinhamento, cores e grid */
.brand-logo-official {display:block;width:clamp(168px,15vw,240px);height:auto;max-height:46px;object-fit:contain;object-position:left center;}
.footer-logo-official {display:block;width:min(300px,85%);height:auto;object-fit:contain;margin:0 0 18px;}
.hero .eyebrow {display:none!important;}
.texture {display:none!important;}
.need-num,.step-num {display:none!important;}
.need-grid,.area-grid,.journey-list,.authority-list {align-items:stretch!important;}
.need-card,.journey-step,.area,.authority-item {height:100%;box-sizing:border-box;min-width:0;text-align:center!important;align-items:center!important;justify-content:center!important;}
.need-card h3,.journey-step h3,.area h3,.authority-item strong {font-size:1.12rem!important;line-height:1.32!important;font-weight:750!important;letter-spacing:-.015em!important;margin:0 auto 13px!important;}
.need-card p,.journey-step p,.area .area-summary,.authority-item span {font-size:.94rem!important;line-height:1.6!important;margin:0 auto!important;}
.pains .section-cta.cta-inline {display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;text-align:center!important;gap:16px!important;margin-top:34px!important;}
.pains .section-cta.cta-inline p {margin:0 auto!important;text-align:center!important;}
@media(min-width:1024px){.hero-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr)!important;gap:clamp(40px,4vw,70px)!important}.hero-copy{max-width:none!important;width:100%!important}.hero-title-styled{max-width:none!important;width:100%!important;font-size:clamp(2.7rem,4vw,4.12rem)!important;line-height:1.045!important;text-wrap:balance!important;}}
@media(max-width:767px){.brand-logo-official{width:170px}.footer-logo-official{width:230px}.hero-title-styled{max-width:100%!important;font-size:clamp(2.4rem,9vw,3.4rem)!important}.need-card,.journey-step,.area,.authority-item{height:auto;min-height:unset!important;}}


/* Mobile-first hero order: titulo > fotografia > credenciais > texto > CTA */
@media (max-width: 1023px) {
  .hero .hero-grid {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 0 !important;
    width: 100%;
  }
  .hero .hero-copy {
    display: contents !important;
  }
  .hero .hero-title-styled {
    order: 1 !important;
    align-self: stretch;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 24px !important;
    font-size: clamp(2.25rem, 7.3vw, 3.6rem) !important;
    line-height: 1.09 !important;
    letter-spacing: -.025em;
    text-align: center !important;
    text-wrap: balance;
    overflow-wrap: normal;
  }
  .hero .hero-media {
    order: 2 !important;
    align-self: center !important;
    margin: 0 auto !important;
    width: min(100%, 450px) !important;
    max-width: 100% !important;
    border-radius: 22px !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    overflow: hidden !important;
  }
  .hero .hero-media picture,
  .hero .hero-media img { display: block; width: 100%; }
  .hero .hero-media img {
    aspect-ratio: 4 / 5 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: cover !important;
    object-position: 50% 50% !important;
  }
  .hero .hero-cred {
    order: 3 !important;
    align-self: center !important;
    width: 100%;
    margin: 18px auto 0 !important;
    text-align: center !important;
    font-size: clamp(.75rem, 2.8vw, .9rem) !important;
    line-height: 1.5;
    color: rgba(248,246,242,.88) !important;
  }
  .hero .hero-lead {
    order: 4 !important;
    align-self: stretch;
    max-width: 600px !important;
    width: 100%;
    margin: 22px auto 0 !important;
    text-align: center !important;
    font-size: 1rem !important;
    line-height: 1.65 !important;
  }
  .hero .hero-support {
    order: 5 !important;
    align-self: stretch;
    width: 100%;
    max-width: 600px !important;
    margin: 12px auto 0 !important;
    text-align: center !important;
    font-size: .94rem !important;
    line-height: 1.75 !important;
  }
  .hero .hero-actions {
    order: 6 !important;
    width: 100%;
    display: flex;
    justify-content: center;
    margin: 24px auto 0 !important;
  }
  .hero .hero-actions .btn { width: min(100%,380px) !important; }
}
@media (max-width: 520px) {
  .hero .hero-title-styled { font-size: clamp(2.1rem, 8.2vw, 2.8rem) !important; margin-bottom: 20px !important; }
  .hero .hero-media { width: 100% !important; }
  .hero .hero-cred { font-size: .8rem !important; }
}

/* Logo oficial no header e rodapé, desktop e mobile */
.site-header .brand { display:flex;align-items:center;flex-shrink:0;min-width:0; }
.site-header .brand-logo-official { display:block;width:clamp(180px,18vw,248px);max-width:100%;height:auto;max-height:48px;object-fit:contain;object-position:left center; }
.site-footer .footer-logo-official { display:block;width:min(290px,100%);height:auto;margin-bottom:20px;object-fit:contain; }
@media(max-width:767px){.site-header .brand-logo-official{width:clamp(150px,46vw,205px);max-height:40px}.site-header .header-inner{min-width:0}.site-footer .footer-logo-official{width:min(260px,100%)}}

/* Alterações aprovadas em 19/10/2026 */
.hero-title-styled { max-width: 100% !important; font-size: clamp(2.3rem,3.4vw,3.85rem) !important; line-height:1.11 !important; text-wrap:balance; }
.hero-title-styled em { display:inline; }
.authority-item { min-height: 170px; display:flex; flex-direction:column; justify-content:center; text-align:center; }
.authority-item strong {font-size:1.08rem !important;}
.authority-item span {font-size:.87rem !important;}
.need-grid {grid-template-columns:repeat(3,minmax(0,1fr));}
.need-card {min-height:228px !important; display:flex; flex-direction:column; justify-content:center;}
.journey-step {min-height:300px !important;}
.about-copy p {line-height:1.76; font-size: .98rem;}
.about-copy {max-width: 670px;}
.conversion-support {color:rgba(255,255,255,.83);margin:16px auto 24px;text-align:center;}
@media(max-width:1023px) {.need-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px) {.hero-title-styled{font-size:clamp(2rem,8.7vw,3rem)!important;} .authority-item{min-height:auto;} .need-grid{grid-template-columns:1fr;} .need-card,.journey-step{min-height:auto!important;} }


/* Refino 19/10: headline contida e pirâmide invertida de cards */
.hero .hero-title-styled {box-sizing:border-box;min-width:0;max-width:100%!important;width:100%!important;overflow-wrap:normal;line-height:1.08!important;font-size:clamp(2.65rem,3.35vw,3.5rem)!important;text-wrap:balance;}
.hero .hero-title-styled em {white-space:normal!important;display:inline!important;overflow-wrap:normal;}
.hero .hero-copy {min-width:0!important;max-width:100%!important;}
.hero .hero-grid {min-width:0;}
.need-grid {display:grid!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:20px!important;align-items:stretch;}
.need-grid > .need-card {grid-column:span 2;min-width:0;min-height:208px!important;display:grid!important;grid-template-rows:minmax(3.1em,auto) auto!important;align-content:center!important;justify-items:center!important;row-gap:12px!important;text-align:center!important;padding:28px 24px!important;}
.need-grid > .need-card:nth-child(4){grid-column:2 / span 2;}
.need-grid > .need-card:nth-child(5){grid-column:4 / span 2;}
.need-grid > .need-card h3{font-size:1.13rem!important;font-weight:800!important;line-height:1.36!important;min-height:0!important;max-width:25ch!important;margin:0!important;align-self:end!important;}
.need-grid > .need-card p{font-size:.95rem!important;line-height:1.6!important;max-width:32ch!important;margin:0!important;align-self:start!important;}
@media(max-width:1023px){
 .need-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
 .need-grid > .need-card,.need-grid > .need-card:nth-child(4),.need-grid > .need-card:nth-child(5){grid-column:auto!important;}
 .need-grid > .need-card:nth-child(5){grid-column:1 / -1!important;width:calc(50% - 10px);justify-self:center;}
 .hero .hero-title-styled{font-size:clamp(2.25rem,5.1vw,3.3rem)!important;}
}
@media(max-width:640px){
 .need-grid{grid-template-columns:1fr!important;}
 .need-grid > .need-card:nth-child(5){grid-column:auto!important;width:100%;}
 .need-grid > .need-card{min-height:auto!important;grid-template-rows:auto auto!important;padding:26px 22px!important;}
 .hero .hero-title-styled{font-size:clamp(2.05rem,8vw,2.8rem)!important;}
}


/* Alinhamento geométrico: títulos começam no mesmo Y e parágrafos no mesmo Y */
.hero .authority-standalone .authority-item,
.need-grid > .need-card {
 box-sizing:border-box!important; display:grid!important;
 grid-template-columns:minmax(0,1fr)!important;
 grid-template-rows:3.6rem minmax(5.1rem,auto)!important;
 align-content:start!important; align-items:start!important;
 justify-items:stretch!important; gap:12px!important;
 height:100%!important; padding:32px 22px 26px!important; text-align:center!important;
}
.hero .authority-standalone .authority-item strong,
.need-grid > .need-card h3 {
 display:block!important; width:100%!important;
 height:3.6rem!important; min-height:3.6rem!important; max-height:3.6rem!important;
 margin:0!important; padding:0!important;
 font-family:var(--sans)!important; font-size:1.07rem!important;
 line-height:1.33!important; font-weight:800!important;
 letter-spacing:-.012em!important; text-align:center!important; color:#fff!important;
}
.hero .authority-standalone .authority-item span,
.need-grid > .need-card p {
 display:block!important; align-self:start!important; width:100%!important;
 max-width:31ch!important; margin:0 auto!important; padding:0!important;
 font-family:var(--sans)!important; font-size:.92rem!important;
 line-height:1.58!important; font-weight:400!important;
 text-align:center!important; color:rgba(248,246,242,.88)!important;
}
@media(max-width:640px){
 .hero .authority-standalone .authority-item,.need-grid > .need-card {
  grid-template-rows:auto auto!important; height:auto!important;
  padding:25px 20px!important; gap:10px!important;
 }
 .hero .authority-standalone .authority-item strong,.need-grid > .need-card h3 {
  height:auto!important; min-height:0!important; max-height:none!important;
 }
}


/* Correção final: título e descrição como grupo compacto e centralizado */
.hero .authority-standalone .authority-item,
.need-grid > .need-card {
  display: grid !important;
  grid-template-columns: minmax(0,1fr) !important;
  grid-template-rows: 2.85rem auto !important;
  align-content: center !important;
  justify-items: center !important;
  align-items: center !important;
  row-gap: 6px !important;
  padding: 24px 18px !important;
  height: 100% !important;
  min-height: 190px !important;
  text-align: center !important;
}
.hero .authority-standalone .authority-item strong,
.need-grid > .need-card h3 {
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  margin:0 !important;
  padding:0 !important;
  width:100% !important;
  height:2.85rem !important;
  min-height:2.85rem !important;
  max-height:2.85rem !important;
  font-size:1rem !important;
  font-weight:800 !important;
  line-height:1.27 !important;
  text-align:center !important;
}
.hero .authority-standalone .authority-item span,
.need-grid > .need-card p {
  margin:0 auto !important;
  padding:0 !important;
  align-self:start !important;
  text-align:center !important;
  width:100% !important;
  max-width:34ch !important;
  font-size:.91rem !important;
  line-height:1.48 !important;
}
@media(max-width:640px){
 .hero .authority-standalone .authority-item,.need-grid > .need-card{
   min-height:155px !important;
   height:auto !important;
   padding:22px 18px !important;
   row-gap:6px !important;
   grid-template-rows:auto auto !important;
 }
 .hero .authority-standalone .authority-item strong,.need-grid > .need-card h3{
   height:auto !important;
   min-height:0 !important;
   max-height:none !important;
 }
}


/* === ALIGNMENT FIX V4: equal title row and tighter title/body spacing === */
.hero .authority-standalone,
.need-grid,
.journey-list {
  align-items: stretch !important;
}

/* Top 4 cards under hero */
.hero .authority-standalone .authority-item {
  display: grid !important;
  grid-template-rows: minmax(2.7em, auto) auto !important;
  align-content: start !important;
  justify-items: center !important;
  text-align: center !important;
  min-height: 188px !important;
  padding: 28px 20px 22px !important;
  row-gap: 10px !important;
}
.hero .authority-standalone .authority-item strong {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 2.7em !important;
  margin: 0 !important;
  font-size: 1rem !important;
  line-height: 1.24 !important;
  max-width: 16ch !important;
  text-align: center !important;
}
.hero .authority-standalone .authority-item span {
  display: block !important;
  margin: 0 !important;
  font-size: .86rem !important;
  line-height: 1.52 !important;
  max-width: 28ch !important;
  text-align: center !important;
}

/* Section: O que você quer voltar a fazer... */
.need-grid > .need-card {
  display: grid !important;
  grid-template-rows: minmax(2.9em, auto) auto !important;
  align-content: start !important;
  justify-items: center !important;
  text-align: center !important;
  min-height: 205px !important;
  padding: 28px 24px 24px !important;
  row-gap: 10px !important;
}
.need-grid > .need-card h3 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 2.9em !important;
  margin: 0 !important;
  font-size: 1.02rem !important;
  line-height: 1.26 !important;
  max-width: 22ch !important;
  text-align: center !important;
}
.need-grid > .need-card p {
  margin: 0 !important;
  font-size: .92rem !important;
  line-height: 1.54 !important;
  max-width: 29ch !important;
  text-align: center !important;
}

/* Section: Como funciona */
.journey-list > .journey-step {
  display: grid !important;
  grid-template-rows: minmax(2.8em, auto) auto !important;
  align-content: start !important;
  justify-items: center !important;
  text-align: center !important;
  min-height: 270px !important;
  padding: 34px 24px 28px !important;
  row-gap: 10px !important;
}
.journey-list > .journey-step .step-num {
  margin-bottom: 4px !important;
}
.journey-list > .journey-step h3 {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 2.8em !important;
  margin: 0 !important;
  font-size: 1rem !important;
  line-height: 1.24 !important;
  max-width: 17ch !important;
  text-align: center !important;
}
.journey-list > .journey-step p {
  margin: 0 !important;
  font-size: .91rem !important;
  line-height: 1.56 !important;
  max-width: 28ch !important;
  text-align: center !important;
}

/* responsive safety */
@media (max-width: 1023px) {
  .hero .authority-standalone .authority-item,
  .need-grid > .need-card,
  .journey-list > .journey-step {
    min-height: auto !important;
  }
}
@media (max-width: 767px) {
  .hero .authority-standalone .authority-item {
    padding: 22px 18px 20px !important;
  }
  .hero .authority-standalone .authority-item strong,
  .need-grid > .need-card h3,
  .journey-list > .journey-step h3 {
    font-size: .96rem !important;
    max-width: 100% !important;
  }
  .hero .authority-standalone .authority-item span,
  .need-grid > .need-card p,
  .journey-list > .journey-step p {
    font-size: .88rem !important;
    max-width: 100% !important;
  }
  .need-grid > .need-card,
  .journey-list > .journey-step {
    padding: 24px 20px 22px !important;
  }
}

/* Ajuste mobile: CTA visível antes da foto, mantendo ordem de leitura */
@media (max-width: 767px) {
  .hero .container.hero-grid { display:flex !important; flex-direction:column !important; gap:12px !important; }
  .hero .hero-copy { display:contents !important; }
  .hero .hero-title-styled { order:1 !important; margin:10px 0 0 !important; font-size:clamp(2.05rem,8.5vw,3.1rem) !important; line-height:1.04 !important; text-align:center !important; }
  .hero .hero-actions { order:2 !important; display:flex !important; justify-content:center !important; margin:4px 0 0 !important; }
  .hero .hero-actions .btn { width:min(100%,320px) !important; }
  .hero .hero-media { order:3 !important; margin:5px 0 0 !important; }
  .hero .hero-media img { width:100% !important; max-height:430px !important; aspect-ratio:4/5 !important; object-fit:cover !important; object-position:center 25% !important; }
  .hero .hero-cred { order:4 !important; margin:8px 0 0 !important; text-align:center !important; }
  .hero .hero-lead { order:5 !important; margin:4px 0 0 !important; text-align:center !important; line-height:1.55 !important; }
}
