/*
Theme Name: Oliveira Menegusso
Theme URI: https://oliveiramenegusso.com.br
Author: Oliveira Menegusso
Description: Tema institucional leve e editável para o escritório Oliveira Menegusso.
Version: 3.9.6
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: oliveira-menegusso
*/

:root{--navy:#011E39;--navy-2:#063B63;--gold:#c6a15b;--ivory:#f7f5f0;--white:#fff;--ink:#18202b;--muted:#667085;--line:rgba(11,31,58,.14);--shadow:0 20px 60px rgba(11,31,58,.12);--serif:Georgia,'Times New Roman',serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--white);font-family:var(--sans);font-size:19px;line-height:1.76}img{max-width:100%;height:auto}a{color:inherit;text-decoration:none}.wrap{width:min(1180px,calc(100% - 40px));margin:auto}.eyebrow{display:flex;align-items:center;gap:12px;color:var(--gold);font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.eyebrow:before{content:"";width:42px;height:1px;background:currentColor}.section{padding:104px 0}.section-title{font:400 clamp(1.95rem,3.2vw,3.15rem)/1.12 var(--serif);color:var(--navy);margin:15px 0 24px}.lead{font-size:1.18rem;line-height:1.7;color:var(--muted);max-width:760px}.btn{display:inline-flex;justify-content:center;align-items:center;min-height:52px;padding:0 25px;border:1px solid transparent;font-size:.84rem;font-weight:750;letter-spacing:.08em;text-transform:uppercase;transition:.25s}.btn-gold{background:var(--gold);color:var(--navy)}.btn-gold:hover{background:#d2b26f;transform:translateY(-2px)}.btn-outline{border-color:rgba(255,255,255,.6);color:white}.btn-outline:hover{background:white;color:var(--navy)}
.site-header{position:fixed;z-index:50;top:0;left:0;right:0;color:white;border-bottom:1px solid rgba(255,255,255,.16);transition:.25s}.site-header.scrolled{background:rgba(11,31,58,.97);box-shadow:0 8px 35px rgba(0,0,0,.18)}.header-inner{min-height:88px;display:flex;align-items:center;gap:34px}.brand{margin-right:auto;display:flex;align-items:center;gap:14px}.brand img{max-width:220px;max-height:58px}.brand-text{font:400 1.28rem/1.1 var(--serif);letter-spacing:.02em}.brand-text small{display:block;font:600 .58rem/1.5 var(--sans);letter-spacing:.13em;text-transform:uppercase;color:var(--gold)}.nav ul{display:flex;gap:26px;list-style:none;margin:0;padding:0}.nav li{position:relative}.nav a{font-size:.79rem;font-weight:650;letter-spacing:.035em}.nav a:hover{color:var(--gold)}.nav .sub-menu{display:none;position:absolute;top:100%;left:-20px;width:260px;padding:18px 20px;background:var(--navy);box-shadow:var(--shadow);gap:0}.nav .sub-menu li{margin:0}.nav .sub-menu a{display:block;padding:8px 0}.nav li:hover>.sub-menu{display:block}.menu-toggle{display:none;border:0;background:none;color:white;font-size:1.7rem}
.hero{position:relative;min-height:100svh;display:flex;align-items:end;overflow:hidden;background:var(--navy);color:white}.hero-media,.hero-media:after,.hero-video,.hero-poster{position:absolute;inset:0;width:100%;height:100%}.hero-video,.hero-poster{object-fit:cover}.hero-media:after{content:"";background:linear-gradient(90deg,rgba(5,18,37,.94) 0%,rgba(5,18,37,.77) 48%,rgba(5,18,37,.28) 100%),linear-gradient(0deg,rgba(5,18,37,.55),transparent 45%)}.hero-content{position:relative;z-index:2;padding:190px 0 100px;max-width:850px}.hero h1{font:400 clamp(2.75rem,5vw,4.8rem)/1.02 var(--serif);letter-spacing:-.035em;margin:18px 0 28px}.hero p{max-width:720px;font-size:1.2rem;line-height:1.68;color:rgba(255,255,255,.78)}.hero-actions{display:flex;gap:14px;margin-top:38px;flex-wrap:wrap}.hero-meta{position:absolute;z-index:3;right:max(20px,calc((100vw - 1180px)/2));bottom:42px;padding-left:18px;border-left:1px solid var(--gold);font-size:.75rem;color:rgba(255,255,255,.7);letter-spacing:.05em}.hero-meta strong{display:block;color:white;font-size:.88rem}
.intro-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:90px;align-items:center}.portrait{position:relative}.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover}.portrait:before{content:"";position:absolute;inset:26px -26px -26px 26px;border:1px solid var(--gold);z-index:-1}.signature{font:italic 1.5rem var(--serif);color:var(--navy);margin-top:28px}.credentials{color:var(--gold);font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}
.practice{background:var(--navy);color:white}.practice .section-title{color:white}.practice .lead{color:rgba(255,255,255,.72)}.practice-head{display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:55px}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid rgba(255,255,255,.15);border-left:1px solid rgba(255,255,255,.15)}.practice-card{position:relative;min-height:280px;padding:38px;border-right:1px solid rgba(255,255,255,.15);border-bottom:1px solid rgba(255,255,255,.15);transition:.25s}.practice-card:hover{background:var(--navy-2);transform:translateY(-4px)}.practice-card.featured{background:var(--gold);color:var(--navy)}.practice-number{color:var(--gold);font-size:.74rem;letter-spacing:.12em}.featured .practice-number{color:var(--navy)}.practice-card h3{font:400 1.65rem var(--serif);margin:48px 0 12px}.practice-card p{font-size:1.04rem;line-height:1.65;color:rgba(255,255,255,.72)}.featured p{color:rgba(11,31,58,.76)}
.difference-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.principles{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line)}.principle{background:white;padding:34px}.principle b{display:block;color:var(--navy);font:400 1.25rem var(--serif);margin-bottom:8px}.principle span{font-size:1.02rem;line-height:1.6;color:var(--muted)}
.quote-section{background:var(--ivory);text-align:center}.quote-section blockquote{max-width:920px;margin:0 auto;font:400 clamp(1.9rem,3.2vw,3rem)/1.22 var(--serif);color:var(--navy)}.quote-section blockquote:before{content:'“';display:block;color:var(--gold);font-size:5rem;line-height:.7;margin-bottom:22px}
.updates{background:var(--ivory)}.updates-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:center}.updates-panel{background:var(--navy);color:white;padding:52px;box-shadow:var(--shadow)}.updates-panel strong{display:block;font:400 1.75rem var(--serif);margin-bottom:20px}.updates-panel p{color:rgba(255,255,255,.72)}.updates-list{list-style:none;padding:0;margin:30px 0 0}.updates-list li{padding:15px 0;border-top:1px solid rgba(255,255,255,.15)}.updates-list li:before{content:'✓';color:var(--gold);margin-right:12px;font-weight:800}
.reviews{background:white}.reviews-head{text-align:center;max-width:760px;margin:0 auto 48px}.reviews-head .eyebrow{justify-content:center}.reviews-summary{display:flex;align-items:center;justify-content:center;gap:16px;margin-top:22px}.stars{color:var(--gold);letter-spacing:.12em;font-size:1.35rem}.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.review{padding:34px;border:1px solid var(--line);background:var(--ivory)}.review p{font:400 1.12rem/1.62 var(--serif);color:var(--navy)}.review-author{margin-top:24px;font-size:.76rem;font-weight:750;text-transform:uppercase;letter-spacing:.08em}.review-note{text-align:center;color:var(--muted);font-size:.76rem;margin-top:25px}
.articles-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.articles{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.article{border:1px solid var(--line);background:white;transition:.25s}.article:hover{box-shadow:var(--shadow);transform:translateY(-4px)}.article img{width:100%;aspect-ratio:16/10;object-fit:cover}.article-body{padding:27px}.article-meta{font-size:.7rem;color:var(--gold);font-weight:750;letter-spacing:.1em;text-transform:uppercase}.article h3{font:400 1.45rem/1.25 var(--serif);color:var(--navy);margin:12px 0}.article p{font-size:1.02rem;line-height:1.65;color:var(--muted)}
.contact{background:var(--navy-2);color:white}.contact-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:90px}.contact .section-title{color:white}.contact .lead{color:rgba(255,255,255,.68)}.contact-list{margin-top:38px;border-top:1px solid rgba(255,255,255,.16)}.contact-item{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.16)}.contact-item small{display:block;color:var(--gold);text-transform:uppercase;letter-spacing:.1em}.contact-card{padding:46px;background:white;color:var(--ink);box-shadow:var(--shadow)}.contact-card h3{font:400 1.75rem var(--serif);color:var(--navy);margin-top:0}.contact-card label{display:block;margin:15px 0 6px;font-size:.86rem;font-weight:700;color:var(--navy)}.contact-card input,.contact-card textarea{width:100%;padding:13px;border:1px solid var(--line);font:inherit}.contact-card textarea{min-height:110px;resize:vertical}.contact-card button{margin-top:18px;width:100%}
.site-footer{padding:55px 0 25px;background:#061426;color:rgba(255,255,255,.68)}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:70px}.footer-title{color:white;font:400 1.4rem var(--serif)}.footer-heading{color:var(--gold);font-size:.72rem;text-transform:uppercase;letter-spacing:.12em}.footer-links{list-style:none;padding:0}.footer-links li{margin:8px 0}.legal{border-top:1px solid rgba(255,255,255,.12);margin-top:40px;padding-top:20px;font-size:.72rem;display:flex;justify-content:space-between;gap:30px}.whatsapp{position:fixed;right:22px;bottom:22px;z-index:40;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#25d366;color:white;box-shadow:0 12px 35px rgba(0,0,0,.22);font-weight:900}
.page-hero{padding:180px 0 80px;background:var(--navy);color:white}.page-hero h1{font:400 clamp(2.6rem,5vw,5rem) var(--serif);margin:0}.content{padding:80px 0;max-width:850px}.content h2,.content h3{font-family:var(--serif);color:var(--navy)}
.content-wide{max-width:1180px}.page-lead{font:400 clamp(1.45rem,2.4vw,2.2rem)/1.35 var(--serif);color:var(--navy);margin-bottom:45px}.inner-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px;margin:45px 0}.inner-card{padding:32px;border:1px solid var(--line);background:var(--ivory)}.inner-card h2,.inner-card h3{margin-top:0}.area-list{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.area-item{padding:30px;border-left:3px solid var(--gold);background:var(--ivory)}.area-item h2{margin-top:0;font-size:1.45rem}.contact-options{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:35px 0}.contact-option{padding:28px;background:var(--ivory);border-top:3px solid var(--gold)}

.bank-focus{background:var(--ivory)}.bank-focus-head{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:end;margin-bottom:44px}.bank-problems{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.bank-problem{padding:32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:white}.bank-problem b{display:block;font:400 1.28rem var(--serif);color:var(--navy);margin-bottom:9px}.bank-problem span{color:var(--muted);font-size:1.02rem;line-height:1.6}.bank-focus-cta{margin-top:30px}.secondary-practice{background:var(--navy);color:white}.secondary-practice .section-title{color:white}.secondary-practice .lead{color:rgba(255,255,255,.78)}
@media(max-width:900px){.nav,.header-cta{display:none}.menu-toggle{display:block}.nav.open{display:block;position:absolute;top:88px;left:0;right:0;background:var(--navy);padding:25px;max-height:calc(100vh - 88px);overflow:auto}.nav.open ul{flex-direction:column}.nav.open .sub-menu{display:block;position:static;width:auto;padding:5px 0 5px 18px;background:transparent;box-shadow:none}.intro-grid,.difference-grid,.contact-grid,.updates-grid,.inner-grid,.bank-focus-head{grid-template-columns:1fr;gap:55px}.practice-grid,.bank-problems{grid-template-columns:1fr 1fr}.practice-head{display:block}.articles,.reviews-grid,.contact-options{grid-template-columns:1fr}.hero-meta{display:none}.footer-grid{grid-template-columns:1fr}.section{padding:75px 0}}
@media(max-width:600px){body{font-size:18px}.wrap{width:min(100% - 28px,1180px)}.hero-content{padding:150px 0 70px}.hero h1{font-size:2.45rem}.practice-grid,.principles,.area-list,.bank-problems{grid-template-columns:1fr}.practice-card{min-height:auto}.portrait:before{display:none}.contact-card{padding:28px}.legal{display:block}.header-inner{min-height:76px}.nav.open{top:76px}}
/* v1.4 — iluminação tonal azul, sem áreas brancas de glow */
.practice,.secondary-practice{background:radial-gradient(circle at 52% 28%,#063B63 0%,#032C4E 26%,#011E39 68%,#01192F 100%)}
.contact{background:radial-gradient(circle at 45% 38%,#063B63 0%,#032C4E 28%,#011E39 72%,#01192F 100%)}
.updates-panel{background:linear-gradient(145deg,#063B63 0%,#011E39 72%)}
@media(max-width:600px){.section-title{font-size:2rem}.lead{font-size:1.08rem}.practice-card p,.principle span,.bank-problem span,.article p{font-size:1rem}}


/* v1.5 — legibilidade e hierarquia tipográfica */
.section-title{font-size:clamp(1.85rem,2.65vw,2.7rem);line-height:1.16}
.hero h1{font-size:clamp(2.55rem,4.35vw,4.15rem);line-height:1.04}
.lead{font-size:1.24rem;line-height:1.72}
.intro-grid p:not(.lead),.difference-grid p:not(.lead),.updates-grid p:not(.lead),.contact p:not(.lead){font-size:1.08rem;line-height:1.78}
.principle span,.bank-problem span,.practice-card p,.article p{font-size:1.08rem;line-height:1.7}
.updates-panel p,.updates-list li{font-size:1.08rem;line-height:1.7}
.hero-meta{font-size:.88rem}.hero-meta strong{font-size:1rem}

/* Segundo bloco — problemas que ajudamos a resolver */
.bank-focus{padding:72px 0 76px;background:var(--ivory)}
.bank-focus-head{text-align:center;display:block;margin:0 auto 40px;max-width:880px}
.bank-focus-head .eyebrow{justify-content:center}
.bank-focus-head .lead{margin:0 auto}
.bank-problems{grid-template-columns:repeat(6,1fr);border:0;background:transparent}
.bank-problem{position:relative;text-align:center;padding:24px 22px 18px;border:0;border-right:1px solid var(--line);background:transparent}
.bank-problem:last-child{border-right:0}
.bank-problem:before{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 18px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font:400 1.5rem var(--serif)}
.bank-problem:nth-child(1):before{content:'!'}
.bank-problem:nth-child(2):before{content:'§'}
.bank-problem:nth-child(3):before{content:'%'}
.bank-problem:nth-child(4):before{content:'+'}
.bank-problem:nth-child(5):before{content:'↔'}
.bank-problem:nth-child(6):before{content:'✓'}
.bank-problem b{font-size:1.23rem;line-height:1.25;margin-bottom:12px}
.bank-problem span{display:block;font-size:1.02rem;line-height:1.55;color:#4f5c6c}
.bank-focus-cta{text-align:center;margin-top:36px}
@media(max-width:1100px){.bank-problems{grid-template-columns:repeat(3,1fr)}.bank-problem:nth-child(3){border-right:0}.bank-problem{border-bottom:1px solid var(--line)}.bank-problem:nth-child(n+4){border-bottom:0}}
@media(max-width:700px){.bank-problems{grid-template-columns:1fr 1fr}.bank-problem:nth-child(3){border-right:1px solid var(--line)}.bank-problem:nth-child(even){border-right:0}.bank-problem:nth-child(n+4){border-bottom:1px solid var(--line)}.bank-problem:nth-last-child(-n+2){border-bottom:0}}
@media(max-width:600px){body{font-size:18px}.section-title{font-size:1.9rem}.hero h1{font-size:2.3rem}.lead{font-size:1.16rem}.intro-grid p:not(.lead),.difference-grid p:not(.lead),.updates-grid p:not(.lead),.contact p:not(.lead),.principle span,.bank-problem span,.practice-card p,.article p,.updates-panel p,.updates-list li{font-size:1.05rem}.bank-problems{grid-template-columns:1fr}.bank-problem{border-right:0!important;border-bottom:1px solid var(--line)!important}.bank-problem:last-child{border-bottom:0!important}}


/* Oliveira Menegusso v1.6 — refinamento de tipografia, logo, slider e vídeo */
.brand-official{display:block;width:auto;height:auto;max-width:245px;max-height:64px;object-fit:contain}
.section-title{font-size:clamp(1.75rem,2.35vw,2.45rem);line-height:1.18}
.hero h1{font-size:clamp(2.35rem,3.95vw,3.8rem);line-height:1.06}
.lead{font-size:1.28rem;line-height:1.74}
.intro-grid p:not(.lead),
.difference-grid p:not(.lead),
.updates-grid p:not(.lead),
.presentation-copy p:not(.lead),
.contact p:not(.lead){font-size:1.13rem;line-height:1.82}
.principle span,.bank-problem span,.practice-card p,.article p{font-size:1.12rem;line-height:1.74}
.principle b,.bank-problem b{font-size:1.28rem}

/* Slider: conteúdo permanece fixo; somente as imagens mudam */
.hero-media{background:#011E39}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.015);transition:opacity 1.25s ease,transform 7s ease}
.hero-slide.is-active{opacity:1;transform:scale(1)}
.hero-blue-glow{position:absolute;inset:0;background:radial-gradient(ellipse at 72% 42%,rgba(10,79,122,.24) 0%,rgba(6,59,99,.12) 30%,rgba(1,30,57,0) 62%);pointer-events:none}
.hero-media:after{z-index:2}
.hero-slide,.hero-blue-glow{z-index:1}

/* Bloco de apresentação em vídeo */
.presentation{background:#fff}
.presentation-grid{display:grid;grid-template-columns:.86fr 1.14fr;gap:72px;align-items:center}
.presentation-copy{max-width:520px}
.presentation-points{display:grid;grid-template-columns:1fr 1fr;margin-top:30px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.presentation-points span{padding:16px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--navy);font-size:1rem}
.presentation-media{position:relative}
.presentation-media:before{content:"";position:absolute;inset:-14px 14px 14px -14px;border:1px solid var(--gold);pointer-events:none}
.presentation-media video,.video-placeholder{position:relative;z-index:1;width:100%;aspect-ratio:16/9;background:#011E39;box-shadow:var(--shadow)}
.presentation-media video{display:block;object-fit:cover}
.video-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background-size:cover;background-position:center;color:white;padding:40px}
.video-placeholder:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(1,30,57,.88),rgba(6,59,99,.58));z-index:-1}
.play-mark{display:grid;place-items:center;width:72px;height:72px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font-size:1.45rem;padding-left:4px;margin-bottom:18px}
.video-placeholder strong{font:400 1.55rem var(--serif);margin-bottom:7px}
.video-placeholder small{font-size:.9rem;color:rgba(255,255,255,.78)}

@media(max-width:900px){
  .presentation-grid{grid-template-columns:1fr;gap:48px}
  .presentation-copy{max-width:none}
  .brand-official{max-width:210px;max-height:56px}
}
@media(max-width:600px){
  .section-title{font-size:1.9rem}
  .hero h1{font-size:2.3rem}
  .lead{font-size:1.18rem}
  .intro-grid p:not(.lead),.difference-grid p:not(.lead),.updates-grid p:not(.lead),.presentation-copy p:not(.lead),.contact p:not(.lead),
  .principle span,.bank-problem span,.practice-card p,.article p{font-size:1.08rem;line-height:1.76}
  .presentation-points{grid-template-columns:1fr}
  .brand-official{max-width:185px;max-height:50px}
}


/* Oliveira Menegusso v1.7 — blocos mais compactos + mapa nacional original */

/* Problemas atendidos: menor altura, mantendo legibilidade */
.bank-focus{padding:46px 0 50px}
.bank-focus-head{margin-bottom:24px;max-width:930px}
.bank-focus-head .lead{font-size:1.12rem;line-height:1.58;max-width:820px}
.bank-problem{padding:14px 14px 12px}
.bank-problem:before{width:44px;height:44px;margin-bottom:11px;font-size:1.18rem}
.bank-problem b{font-size:1.17rem;line-height:1.18;margin-bottom:7px}
.bank-problem span{font-size:1.04rem;line-height:1.44}
.bank-focus-cta{margin-top:24px}

/* Mapa/alcance — composição original, inspirada apenas no conceito de atendimento nacional */
.coverage{
  background:linear-gradient(115deg,#01192f 0%,#011e39 48%,#063b63 100%);
  color:white;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.coverage-grid{
  min-height:250px;
  display:grid;
  grid-template-columns:1.15fr .85fr;
  align-items:center;
  gap:44px;
  padding-top:28px;
  padding-bottom:28px;
}
.coverage .eyebrow{color:var(--gold)}
.coverage h2{
  margin:.18rem 0 .65rem;
  color:white;
  font:400 clamp(1.7rem,2.35vw,2.35rem)/1.12 var(--serif);
}
.coverage p{max-width:670px;margin:.35rem 0;color:rgba(255,255,255,.84);font-size:1.05rem;line-height:1.58}
.coverage-local{color:white!important}
.coverage-link{
  display:inline-flex;align-items:center;gap:10px;margin-top:14px;
  color:#f2d590;text-decoration:none;font-weight:700;font-size:1rem;
  border-bottom:1px solid rgba(232,199,119,.55);padding-bottom:3px
}
.coverage-link span{transition:transform .2s ease}
.coverage-link:hover span{transform:translateX(4px)}
.coverage-map{position:relative;justify-self:end;width:min(100%,360px)}
.coverage-map svg{display:block;width:100%;height:210px;overflow:visible}
.brasil-shape{fill:rgba(232,199,119,.08);stroke:url(#omMapGold);stroke-width:2.2;stroke-linejoin:round}
.brasil-route{fill:none;stroke:rgba(232,199,119,.36);stroke-width:1.3;stroke-dasharray:4 6}
.map-dot{fill:#e8c777;filter:drop-shadow(0 0 5px rgba(232,199,119,.5))}
.map-ring{fill:none;stroke:#e8c777;stroke-width:1.4;opacity:.55}
.map-label{position:absolute;right:7px;bottom:10px;color:#f2d590;font-size:.88rem;letter-spacing:.05em}

/* Vídeo: seção compacta e sem repetir o texto da apresentação profissional */
.presentation{padding:52px 0;background:#fff}
.presentation-compact{
  display:grid;
  grid-template-columns:.55fr 1.45fr;
  gap:48px;
  align-items:center;
}
.presentation-heading{max-width:360px}
.presentation-heading .section-title{margin-bottom:12px}
.presentation-heading p{margin:0;color:var(--muted);font-size:1.04rem;line-height:1.6}
.presentation-media{max-width:720px;width:100%;justify-self:end}
.presentation-media:before{inset:-9px 10px 10px -9px}
.presentation-media video,.video-placeholder{aspect-ratio:16/8.4;max-height:350px}
.video-placeholder{padding:24px}
.play-mark{width:58px;height:58px;margin-bottom:12px}
.video-placeholder strong{font-size:1.32rem}

@media(max-width:900px){
  .coverage-grid{grid-template-columns:1fr .7fr;gap:24px}
  .coverage-map svg{height:185px}
  .presentation-compact{grid-template-columns:1fr;gap:28px}
  .presentation-heading{max-width:680px}
  .presentation-media{justify-self:start;max-width:760px}
}
@media(max-width:700px){
  .bank-focus{padding:38px 0 42px}
  .bank-focus-head{margin-bottom:18px}
  .bank-problem{padding:16px 12px}
  .coverage-grid{grid-template-columns:1fr;padding-top:34px;padding-bottom:32px}
  .coverage-map{justify-self:center;width:min(78vw,310px)}
  .coverage-map svg{height:175px}
  .presentation{padding:42px 0}
  .presentation-media video,.video-placeholder{aspect-ratio:16/9;max-height:none}
}


/* Oliveira Menegusso v1.8 — mapa interativo original do Brasil */
.national-map{
  background:#efede8;
  border-top:1px solid rgba(1,30,57,.08);
  border-bottom:1px solid rgba(1,30,57,.08);
}
.national-map-grid{
  display:grid;
  grid-template-columns:.86fr 1.14fr;
  gap:70px;
  align-items:center;
  padding-top:44px;
  padding-bottom:44px;
}
.national-map-copy h2{
  margin:.25rem 0 1rem;
  color:var(--navy);
  font:400 clamp(1.85rem,2.5vw,2.55rem)/1.1 var(--serif);
}
.national-map-copy p{
  font-size:1.08rem;
  line-height:1.66;
  color:var(--muted);
  max-width:520px;
}
.national-map-points{
  list-style:none;
  padding:0;
  margin:20px 0 18px;
  display:grid;
  gap:9px;
}
.national-map-points li{
  position:relative;
  padding-left:25px;
  color:var(--navy);
  font-size:1.04rem;
}
.national-map-points li:before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  color:var(--gold);
  font-weight:800;
}
.national-map-local{font-size:1rem!important;color:var(--navy)!important}

.national-map-visual{position:relative}
.brazil-map-ui{
  --tile:54px;
  position:relative;
  width:calc(var(--tile) * 11.5);
  height:calc(var(--tile) * 9.5);
  max-width:100%;
  margin-left:auto;
}
.br-state{
  position:absolute;
  left:calc(var(--x) * var(--tile));
  top:calc(var(--y) * var(--tile));
  width:calc(var(--tile) * .95);
  height:calc(var(--tile) * .95);
  display:flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
  color:#fff;
  background:#b9936d;
  border:1px solid rgba(255,255,255,.8);
  clip-path:polygon(18% 0,82% 0,100% 22%,92% 78%,73% 100%,24% 92%,0 72%,5% 18%);
  transition:transform .18s ease,background .18s ease,filter .18s ease;
  z-index:1;
}
.br-state:nth-child(2n){clip-path:polygon(12% 8%,72% 0,100% 20%,93% 75%,78% 100%,18% 94%,0 68%,6% 22%)}
.br-state:nth-child(3n){clip-path:polygon(20% 0,88% 10%,100% 38%,83% 100%,28% 92%,0 63%,6% 18%)}
.br-state:hover,.br-state:focus{
  background:var(--gold);
  color:var(--navy);
  transform:scale(1.13);
  z-index:5;
  filter:drop-shadow(0 10px 16px rgba(1,30,57,.16));
  outline:none;
}
.br-state-code{font-weight:800;font-size:.9rem;text-shadow:0 1px 1px rgba(0,0,0,.18)}
.br-state-tip{
  position:absolute;
  left:50%;
  bottom:calc(100% + 9px);
  transform:translateX(-50%) translateY(4px);
  width:max-content;
  max-width:190px;
  padding:7px 9px;
  border-radius:8px;
  background:#011E39;
  color:#fff;
  font-size:.74rem;
  line-height:1.25;
  opacity:0;
  visibility:hidden;
  transition:.18s ease;
  pointer-events:none;
  box-shadow:0 10px 25px rgba(1,30,57,.16);
}
.br-state:hover .br-state-tip,.br-state:focus .br-state-tip{
  opacity:1;visibility:visible;transform:translateX(-50%) translateY(0)
}
.national-map-caption{
  text-align:right;
  color:var(--muted);
  font-size:.86rem;
  margin-top:-18px;
}

/* Vídeo ainda mais baixo e sem competir com o bloco abaixo */
.presentation{padding:36px 0}
.presentation-compact{grid-template-columns:.48fr 1.52fr;gap:38px}
.presentation-heading .section-title{font-size:clamp(1.65rem,2.1vw,2.15rem)}
.presentation-heading p{font-size:1rem;line-height:1.5}
.presentation-media video,.video-placeholder{aspect-ratio:16/7.7;max-height:300px}
.video-placeholder{min-height:250px}

@media(max-width:1050px){
  .national-map-grid{grid-template-columns:1fr;gap:26px}
  .national-map-copy p{max-width:760px}
  .brazil-map-ui{margin:0 auto;transform-origin:top center;transform:scale(.9);height:calc(var(--tile) * 8.8)}
  .national-map-caption{text-align:center;margin-top:-34px}
}
@media(max-width:700px){
  .national-map-grid{padding-top:34px;padding-bottom:28px}
  .brazil-map-ui{--tile:40px;transform:none;width:calc(var(--tile)*11.2);height:calc(var(--tile)*9.4)}
  .br-state-code{font-size:.72rem}
  .national-map-caption{margin-top:0}
  .presentation{padding:30px 0}
  .presentation-compact{gap:22px}
}


/* Oliveira Menegusso v1.9 — avaliações reais do Google */
.reviews-section{background:#fff}
.reviews-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  margin-top:30px;
}
.review-card{
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:24px 0 22px;
}
.review-stars{
  color:var(--gold);
  font-size:1.12rem;
  letter-spacing:.08em;
  margin-bottom:14px;
}
.review-card blockquote{
  margin:0 0 16px;
  color:var(--ink);
  font-size:1.08rem;
  line-height:1.7;
}
.review-card footer{
  color:var(--navy);
  font-weight:700;
  font-size:1rem;
}
.reviews-cta{
  display:flex;
  justify-content:center;
  margin-top:28px;
}
.reviews-cta .btn{
  min-width:320px;
  text-align:center;
}
@media(max-width:760px){
  .reviews-grid{grid-template-columns:1fr}
  .review-card blockquote{font-size:1.04rem}
  .reviews-cta .btn{min-width:0;width:100%}
}


/* ==============================================================
   Oliveira Menegusso v2.0
   Ajustes: hero compacto, logo oficial, mapa territorial real,
   avaliações em carrossel e áreas complementares em dourado.
   ============================================================== */

/* LOGO */
.brand{min-width:215px}
.brand-official{
  display:block!important;
  width:auto!important;
  height:62px!important;
  max-width:245px!important;
  max-height:62px!important;
  object-fit:contain!important;
}

/* PRIMEIRO BLOCO MAIS BAIXO */
.hero{
  min-height:690px!important;
  height:auto!important;
}
.hero-content{
  padding:145px 0 76px!important;
}
.hero h1{
  font-size:clamp(2.45rem,4.25vw,4.1rem)!important;
  margin:15px 0 22px!important;
}
.hero p{
  font-size:1.14rem!important;
  line-height:1.62!important;
  max-width:690px!important;
}
.hero-actions{margin-top:28px!important}
.hero-meta{bottom:28px!important}

/* MAPA GEOGRÁFICO REAL */
.national-map{
  background:#efede8!important;
  color:var(--ink);
}
.national-map-grid{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:56px;
  align-items:center;
  padding-top:44px;
  padding-bottom:44px;
}
.national-map-copy h2{
  margin:.25rem 0 .9rem;
  color:var(--navy);
  font:400 clamp(1.8rem,2.4vw,2.45rem)/1.1 var(--serif);
}
.national-map-copy p{
  max-width:520px;
  color:var(--muted);
  font-size:1.08rem;
  line-height:1.64;
}
.national-map-points{
  list-style:none;
  padding:0;
  margin:18px 0;
  display:grid;
  gap:8px;
}
.national-map-points li{
  position:relative;
  padding-left:24px;
  color:var(--navy);
  font-size:1.04rem;
}
.national-map-points li:before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--gold);
  font-weight:800;
}
.national-map-local{font-size:1rem!important;color:var(--navy)!important}

.om-brazil-map{
  min-height:420px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.om-brazil-map svg{
  display:block;
  width:min(100%,540px)!important;
  height:auto!important;
  overflow:visible;
}
.om-brazil-map svg .estado path{
  fill:#b9936d!important;
  stroke:#fff!important;
  stroke-width:1.05!important;
  transition:fill .18s ease,filter .18s ease,transform .18s ease;
  transform-origin:center;
  transform-box:fill-box;
}
.om-brazil-map svg .estado .circle{
  fill:#b9936d!important;
  transition:fill .18s ease,filter .18s ease;
}
.om-brazil-map svg .estado text{
  fill:#fff!important;
  font:700 12px var(--sans)!important;
  pointer-events:none;
  paint-order:stroke;
  stroke:rgba(1,30,57,.30);
  stroke-width:1.1px;
}
.om-brazil-map svg .estado:hover path,
.om-brazil-map svg .estado:focus path,
.om-brazil-map svg .estado:hover .circle,
.om-brazil-map svg .estado:focus .circle{
  fill:var(--gold)!important;
  filter:drop-shadow(0 6px 10px rgba(1,30,57,.20));
}
.om-brazil-map svg .estado:hover text,
.om-brazil-map svg .estado:focus text{
  fill:var(--navy)!important;
  stroke:rgba(255,255,255,.28);
}
.om-brazil-map svg .estado{cursor:pointer;outline:none}
.map-loading,.map-error{
  color:var(--muted);
  font-size:1rem;
  text-align:center;
}
.national-map-caption{
  text-align:center;
  color:var(--muted);
  font-size:.88rem;
  margin:8px 0 0;
}

/* AVALIAÇÕES EM CARROSSEL */
.reviews-section{
  background:#fff;
  padding:72px 0!important;
}
.reviews-heading{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:28px;
  margin-bottom:26px;
}
.reviews-heading .section-title{margin-bottom:10px}
.reviews-heading .lead{margin-bottom:0}
.reviews-controls{display:flex;gap:8px}
.reviews-controls button{
  width:44px;height:44px;
  border:1px solid var(--line);
  background:white;
  color:var(--navy);
  font-size:1.2rem;
  cursor:pointer;
  transition:.2s;
}
.reviews-controls button:hover{
  background:var(--gold);
  border-color:var(--gold);
}
.reviews-slider{
  overflow:hidden;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.reviews-track{
  display:flex;
  transition:transform .55s cubic-bezier(.2,.7,.2,1);
}
.review-slide{
  flex:0 0 100%;
  min-width:100%;
  display:block;
  padding:28px 6px 24px;
  text-decoration:none;
}
.review-slide:hover blockquote{color:var(--navy)}
.review-stars{
  color:var(--gold);
  letter-spacing:.09em;
  font-size:1.08rem;
  margin-bottom:12px;
}
.review-slide blockquote{
  margin:0;
  max-width:900px;
  font:400 clamp(1.08rem,1.7vw,1.28rem)/1.68 var(--serif);
  color:var(--ink);
  transition:.2s;
}
.review-slide footer{
  margin-top:15px;
  color:var(--navy);
  font-size:.96rem;
  font-weight:750;
}
.review-slide footer span{
  margin-left:8px;
  color:var(--gold);
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.reviews-dots{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:15px;
}
.reviews-dots button{
  width:8px;height:8px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#c8ccd1;
  cursor:pointer;
}
.reviews-dots button.is-active{background:var(--gold)}
.reviews-cta{
  display:flex;
  justify-content:center;
  margin-top:22px;
}

/* OUTRAS ÁREAS — HOVER DOURADO E SEM NÚMEROS */
.secondary-practice .practice-card{
  min-height:230px!important;
  padding:34px!important;
}
.secondary-practice .practice-card:hover{
  background:var(--gold)!important;
  color:var(--navy)!important;
  transform:translateY(-4px);
}
.secondary-practice .practice-card:hover h3,
.secondary-practice .practice-card:hover p{
  color:var(--navy)!important;
}
.secondary-practice .practice-card h3{
  margin:16px 0 12px!important;
}
.secondary-practice .practice-number{
  display:none!important;
}

@media(max-width:900px){
  .brand-official{height:54px!important;max-width:215px!important}
  .hero{min-height:620px!important}
  .hero-content{padding:132px 0 72px!important}
  .national-map-grid{grid-template-columns:1fr;gap:28px}
  .om-brazil-map{min-height:360px}
  .reviews-heading{align-items:start}
}
@media(max-width:640px){
  .brand{min-width:auto}
  .brand-official{height:48px!important;max-width:180px!important}
  .hero{min-height:580px!important}
  .hero-content{padding:118px 0 66px!important}
  .hero h1{font-size:2.4rem!important}
  .hero p{font-size:1.08rem!important}
  .hero-meta{display:none!important}
  .national-map-grid{padding-top:34px;padding-bottom:34px}
  .om-brazil-map{min-height:310px}
  .reviews-section{padding:58px 0!important}
  .reviews-heading{display:block}
  .reviews-controls{margin-top:16px}
  .review-slide{padding:24px 2px 22px}
  .secondary-practice .practice-card{min-height:200px!important}
}


/* Oliveira Menegusso v2.2 — mapa refinado, autoplay e CTAs estratégicos */
.national-map{
  background:#f4f1eb!important;
}
.national-map-grid{
  grid-template-columns:.8fr 1.2fr!important;
  gap:64px!important;
  padding-top:52px!important;
  padding-bottom:52px!important;
}
.national-map-copy h2{
  font-size:clamp(1.9rem,2.6vw,2.65rem)!important;
}
.national-map-copy p{
  font-size:1.1rem!important;
}
.map-whatsapp-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:15px;
  color:var(--navy);
  font-weight:800;
  font-size:1rem;
  border-bottom:1px solid var(--gold);
  padding-bottom:4px;
}
.map-whatsapp-link span{color:var(--gold);transition:transform .2s}
.map-whatsapp-link:hover span{transform:translateX(4px)}
.om-brazil-map{
  min-height:430px!important;
}
.om-brazil-map svg{
  width:min(100%,590px)!important;
  filter:drop-shadow(0 18px 34px rgba(1,30,57,.08));
}
.om-brazil-map svg .estado path,
.om-brazil-map svg .estado .circle{
  fill:#b99a79!important;
  stroke:#f8f6f1!important;
  stroke-width:1.3!important;
}
.om-brazil-map svg .estado:hover path,
.om-brazil-map svg .estado:focus path,
.om-brazil-map svg .estado:hover .circle,
.om-brazil-map svg .estado:focus .circle{
  fill:var(--gold)!important;
}
.om-brazil-map svg .estado[name="Paraná"] path{
  fill:#8f795f!important;
}
.om-brazil-map svg .estado[name="Paraná"] text{
  fill:#fff!important;
  font-weight:900!important;
}
.map-state-status{
  margin-top:6px;
  min-height:28px;
  text-align:center;
  color:var(--navy);
  font-size:.92rem;
  font-weight:650;
}
.map-error{
  min-height:260px;
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px solid var(--line);
  color:var(--navy);
  text-align:center;
}
.map-error strong{font:400 1.6rem var(--serif)}
.map-error span{color:var(--muted)}
.map-error a{
  margin-top:10px;
  color:var(--gold);
  font-weight:800;
}

/* Avaliações: transição automática contínua, bloco compacto */
.reviews-slider{position:relative}
.reviews-track{will-change:transform}
.review-slide{min-height:220px;display:flex!important;flex-direction:column;justify-content:center}
.reviews-controls button{cursor:pointer}

/* CTAs em pontos estratégicos, sem colocar botão em todos os blocos */
.section-cta{
  margin-top:26px;
}
.mid-cta{
  background:var(--navy);
  color:#fff;
  border-top:1px solid rgba(255,255,255,.08);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.mid-cta-inner{
  min-height:112px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
}
.mid-cta strong{
  display:block;
  font:400 1.32rem var(--serif);
  margin-bottom:4px;
}
.mid-cta span{
  color:rgba(255,255,255,.72);
  font-size:.96rem;
}

@media(max-width:800px){
  .national-map-grid{grid-template-columns:1fr!important;gap:28px!important}
  .om-brazil-map{min-height:350px!important}
  .mid-cta-inner{padding-top:24px;padding-bottom:24px;align-items:flex-start;flex-direction:column}
}


/* Oliveira Menegusso v2.3 — mapa com paleta própria do escritório */
.om-brazil-map svg .estado path,
.om-brazil-map svg .estado .circle{
  fill:#8EB6D9!important; /* azul claro */
  stroke:#F7F5F0!important;
  stroke-width:1.3!important;
}

.om-brazil-map svg .estado[name="Paraná"] path,
.om-brazil-map svg .estado[name="Paraná"] .circle{
  fill:#011E39!important; /* azul marinho */
}

.om-brazil-map svg .estado[name="Paraná"] text{
  fill:#FFFFFF!important;
  font-weight:900!important;
}

.om-brazil-map svg .estado:hover path,
.om-brazil-map svg .estado:focus path,
.om-brazil-map svg .estado:hover .circle,
.om-brazil-map svg .estado:focus .circle{
  fill:var(--gold)!important; /* dourado no hover */
}

.om-brazil-map svg .estado:hover text,
.om-brazil-map svg .estado:focus text{
  fill:var(--navy)!important;
  stroke:rgba(255,255,255,.32);
}


/* Oliveira Menegusso v2.4 — logo, hero dividido, cards bancários clicáveis e foto provisória */

/* CABEÇALHO SOMENTE COM MONOGRAMA */
.brand-monogram{
  width:62px!important;
  min-width:62px!important;
  margin-right:auto;
}
.brand-monogram img{
  width:54px!important;
  height:54px!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain;
}

/* HERO: LOGO COMPLETA À ESQUERDA + TEXTO À DIREITA */
.hero{
  min-height:650px!important;
  align-items:center!important;
}
.hero-split{
  position:relative;
  z-index:3;
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:74px;
  align-items:center;
  padding-top:122px;
  padding-bottom:76px;
}
.hero-brand-panel{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  min-height:260px;
  padding-right:38px;
  border-right:1px solid rgba(198,161,91,.55);
}
.hero-brand-panel img{
  display:block;
  width:min(100%,390px);
  max-height:275px;
  object-fit:contain;
  object-position:left center;
}
.hero-copy{max-width:730px}
.hero-copy h1{
  font:400 clamp(2.25rem,3.8vw,3.75rem)/1.04 var(--serif)!important;
  letter-spacing:-.03em;
  margin:16px 0 22px!important;
}
.hero-copy p{
  max-width:680px!important;
  font-size:1.15rem!important;
  line-height:1.63!important;
  color:rgba(255,255,255,.82)!important;
}
.hero-meta{bottom:25px!important}

/* BLOCO BANCÁRIO: MAIS VISUAL E TODO CLICÁVEL */
.bank-problems{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:0;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.bank-problem{
  position:relative;
  min-height:225px;
  padding:24px 22px 20px!important;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff;
  color:var(--ink);
  text-decoration:none;
  transition:background .22s ease,transform .22s ease,box-shadow .22s ease;
}
.bank-problem:before{display:none!important}
.bank-problem:hover{
  background:#f9f4e8;
  transform:translateY(-3px);
  box-shadow:0 16px 34px rgba(1,30,57,.08);
  z-index:2;
}
.bank-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  margin-bottom:15px;
  border-radius:50%;
  background:var(--navy);
  color:var(--gold);
  font:700 1.42rem var(--serif);
  box-shadow:0 8px 20px rgba(1,30,57,.12);
  transition:.22s ease;
}
.bank-problem:hover .bank-icon{
  background:var(--gold);
  color:var(--navy);
  transform:scale(1.06);
}
.bank-problem b{
  display:block;
  color:var(--navy);
  font:400 1.2rem/1.18 var(--serif);
  margin-bottom:7px;
}
.bank-problem > span:not(.bank-icon){
  display:block;
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.47;
}
.bank-problem em{
  display:block;
  margin-top:12px;
  color:var(--gold);
  font-style:normal;
  font-size:.84rem;
  font-weight:800;
  letter-spacing:.04em;
}

/* FOTO PROVISÓRIA DA DRA. PAULA */
.portrait{
  overflow:hidden;
  background:var(--ivory);
}
.portrait .paula-temp-photo{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center 20%;
}

/* Responsividade */
@media(max-width:980px){
  .hero{min-height:620px!important}
  .hero-split{grid-template-columns:.62fr 1.38fr;gap:46px;padding-top:120px;padding-bottom:70px}
  .hero-brand-panel{padding-right:26px}
  .hero-brand-panel img{width:min(100%,310px)}
  .bank-problems{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:720px){
  .brand-monogram{width:52px!important;min-width:52px!important}
  .brand-monogram img{width:46px!important;height:46px!important}
  .hero{min-height:auto!important}
  .hero-split{
    grid-template-columns:1fr;
    gap:24px;
    padding-top:110px;
    padding-bottom:72px;
  }
  .hero-brand-panel{
    min-height:0;
    padding:0 0 22px;
    border-right:0;
    border-bottom:1px solid rgba(198,161,91,.5);
  }
  .hero-brand-panel img{width:min(76vw,300px);max-height:190px}
  .hero-copy h1{font-size:2.35rem!important}
  .bank-problems{grid-template-columns:1fr}
  .bank-problem{min-height:0}
}


/* Oliveira Menegusso v2.5 — problemas lado a lado, ícones maiores e menu mais legível */

/* MENU / CABEÇALHO */
.nav a{
  font-size:.93rem!important;
  font-weight:700!important;
  letter-spacing:.025em!important;
}
.nav ul{gap:28px!important}

/* PROBLEMAS QUE AJUDAMOS A RESOLVER — lado a lado no desktop */
.bank-focus{
  padding:48px 0 52px!important;
}
.bank-focus-head{
  margin-bottom:26px!important;
}
.bank-problems{
  display:grid!important;
  grid-template-columns:repeat(6,minmax(0,1fr))!important;
  gap:0!important;
  border-top:1px solid var(--line)!important;
  border-left:1px solid var(--line)!important;
}
.bank-problem{
  min-height:250px!important;
  padding:24px 16px 18px!important;
  text-align:center!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:flex-start!important;
  border-right:1px solid var(--line)!important;
  border-bottom:1px solid var(--line)!important;
}
.bank-problem:hover{
  background:#f9f4e8!important;
}
.bank-icon{
  width:68px!important;
  height:68px!important;
  min-width:68px!important;
  min-height:68px!important;
  margin:0 auto 16px!important;
  border-radius:50%!important;
  font-size:2rem!important;
  line-height:1!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
}
.bank-icon.bank-icon-percent{
  font-size:2.15rem!important;
  font-family:var(--sans)!important;
  font-weight:800!important;
}
.bank-icon.bank-icon-contract{
  font-size:2.15rem!important;
}
.bank-icon.bank-icon-balance{
  font-size:2rem!important;
}
.bank-problem b{
  min-height:58px;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0 0 8px!important;
  font-size:1.08rem!important;
  line-height:1.16!important;
}
.bank-problem > span:not(.bank-icon){
  font-size:.98rem!important;
  line-height:1.44!important;
}
.bank-problem em{
  margin-top:auto!important;
  padding-top:12px!important;
  font-size:.8rem!important;
}

/* NOVA FOTO DA ADVOGADA */
.portrait .paula-temp-photo{
  object-position:center 18%!important;
}

/* Responsividade */
@media(max-width:1180px){
  .bank-problems{
    grid-template-columns:repeat(3,1fr)!important;
  }
}
@media(max-width:760px){
  .nav a{font-size:1rem!important}
  .bank-problems{
    grid-template-columns:repeat(2,1fr)!important;
  }
  .bank-problem{
    min-height:230px!important;
  }
}
@media(max-width:500px){
  .bank-problems{
    grid-template-columns:1fr!important;
  }
  .bank-problem{
    min-height:0!important;
  }
}


/* Oliveira Menegusso v2.6 — ajustes de redação territorial */
.national-map-local strong + strong{margin-left:8px}


/* Oliveira Menegusso v2.7 — mapa com posição própria e paleta mais autoral */
.national-map{
  background:#f6f3ed!important;
}
.national-map-grid{
  display:block!important;
  padding-top:56px!important;
  padding-bottom:56px!important;
}
.national-map-copy{
  max-width:860px;
  margin:0 auto 26px!important;
  text-align:center;
}
.national-map-copy p,
.national-map-copy .national-map-local{
  margin-left:auto;
  margin-right:auto;
  max-width:760px;
}
.national-map-points{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px 18px;
  max-width:840px;
  margin:22px auto 18px!important;
}
.national-map-points li{
  text-align:left;
  background:#fff;
  border:1px solid rgba(1,30,57,.08);
  padding:14px 16px 14px 40px;
}
.national-map-points li:before{left:14px;top:14px}
.map-whatsapp-link{
  justify-content:center;
}
.national-map-visual{
  max-width:760px;
  margin:0 auto;
}
.om-brazil-map{
  min-height:460px!important;
}
.om-brazil-map svg{
  width:min(100%,620px)!important;
  margin:0 auto;
}
/* Nova paleta do mapa: estados azul claro, PR dourado, hover azul-marinho */
.om-brazil-map svg .estado path,
.om-brazil-map svg .estado .circle{
  fill:#8EB6D9!important;
  stroke:#F7F5F0!important;
  stroke-width:1.3!important;
}
.om-brazil-map svg .estado text{
  fill:#fff!important;
  stroke:rgba(1,30,57,.22)!important;
}
.om-brazil-map svg .estado[name="Paraná"] path,
.om-brazil-map svg .estado[name="Paraná"] .circle{
  fill:var(--gold)!important;
}
.om-brazil-map svg .estado[name="Paraná"] text{
  fill:var(--navy)!important;
  stroke:rgba(255,255,255,.16)!important;
}
.om-brazil-map svg .estado:hover path,
.om-brazil-map svg .estado:focus path,
.om-brazil-map svg .estado:hover .circle,
.om-brazil-map svg .estado:focus .circle{
  fill:var(--navy)!important;
}
.om-brazil-map svg .estado:hover text,
.om-brazil-map svg .estado:focus text{
  fill:#fff!important;
  stroke:rgba(1,30,57,.22)!important;
}
.map-state-status{
  margin-top:12px!important;
  font-size:.95rem!important;
}
@media(max-width:900px){
  .national-map-points{grid-template-columns:1fr;max-width:620px}
  .om-brazil-map{min-height:360px!important}
}


/* Oliveira Menegusso v2.8 — linguagem humanizada e página "Minha trajetória" */

.story-page{background:#fff}
.story-hero{
  background:linear-gradient(115deg,#01182e 0%,#011e39 58%,#063b63 100%);
  color:#fff;
  padding:160px 0 84px;
  overflow:hidden;
}
.story-hero-grid{
  display:grid;
  grid-template-columns:1.12fr .88fr;
  gap:76px;
  align-items:center;
}
.story-hero-copy h1{
  margin:16px 0 24px;
  max-width:800px;
  font:400 clamp(2.7rem,4.7vw,4.9rem)/1.03 var(--serif);
  letter-spacing:-.035em;
}
.story-hero-copy p{
  max-width:720px;
  font-size:1.2rem;
  line-height:1.72;
  color:rgba(255,255,255,.8);
}
.story-hero-photo{
  position:relative;
  max-width:430px;
  justify-self:end;
}
.story-hero-photo:before{
  content:"";
  position:absolute;
  inset:22px -22px -22px 22px;
  border:1px solid var(--gold);
}
.story-hero-photo img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:cover;
  object-position:center 16%;
}
.story-section{padding:88px 0}
.story-soft{background:var(--ivory)}
.story-narrow{max-width:880px}
.story-section h2{
  color:var(--navy);
  font:400 clamp(2rem,3.25vw,3.35rem)/1.12 var(--serif);
  margin:14px 0 28px;
}
.story-section p{
  font-size:1.13rem;
  line-height:1.82;
  color:#3f4854;
}
.story-lead{
  font-size:1.27rem!important;
  line-height:1.72!important;
  color:var(--navy)!important;
}
.story-quote{
  margin:46px 0 0;
  padding:30px 36px;
  border-left:3px solid var(--gold);
  background:var(--ivory);
  color:var(--navy);
  font:400 1.45rem/1.55 var(--serif);
}
.story-split,
.story-purpose{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:80px;
  align-items:start;
}
.story-blue{
  background:var(--navy);
  color:#fff;
}
.story-blue h2{color:#fff}
.story-blue p{color:rgba(255,255,255,.8)}
.story-blue .eyebrow{color:var(--gold)}
.story-values{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.story-value{
  padding:34px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.story-value span{
  color:var(--gold);
  font-weight:800;
  font-size:.8rem;
  letter-spacing:.12em;
}
.story-value h3{
  margin:28px 0 10px;
  color:var(--navy);
  font:400 1.6rem var(--serif);
}
.story-value p{
  margin:0;
  font-size:1.04rem;
  line-height:1.65;
}
.story-timeline-section{background:#f8f6f2}
.story-timeline-head{max-width:760px;margin-bottom:42px}
.story-timeline{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.story-timeline > div{
  min-height:170px;
  padding:28px;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  background:#fff;
}
.story-timeline strong{
  display:block;
  color:var(--gold);
  font:400 1.45rem var(--serif);
  margin-bottom:12px;
}
.story-timeline span{
  color:var(--muted);
  font-size:1rem;
  line-height:1.6;
}
.story-final{text-align:left}
.story-signature{
  margin-top:34px;
  color:var(--navy);
  font:italic 1.7rem var(--serif);
}
.story-actions{
  display:flex;
  gap:26px;
  align-items:center;
  flex-wrap:wrap;
  margin-top:34px;
}
.story-back{
  color:var(--navy);
  font-size:.95rem;
  font-weight:750;
  border-bottom:1px solid var(--gold);
  padding-bottom:3px;
}

/* Tom mais humano para textos principais da home */
.intro-grid p,
.difference-grid p,
.updates-grid p,
.contact p{
  max-width:760px;
}

@media(max-width:900px){
  .story-hero-grid,.story-split,.story-purpose{grid-template-columns:1fr;gap:44px}
  .story-hero-photo{justify-self:start;max-width:390px}
  .story-values,.story-timeline{grid-template-columns:1fr}
}
@media(max-width:600px){
  .story-hero{padding:128px 0 62px}
  .story-hero-copy h1{font-size:2.55rem}
  .story-section{padding:62px 0}
  .story-section p{font-size:1.08rem}
  .story-lead{font-size:1.18rem!important}
  .story-quote{padding:24px;font-size:1.25rem}
}

/* Oliveira Menegusso v3.0 — páginas de Direito Bancário */
.service-page,.banking-page{background:#fff}.service-hero{padding:160px 0 92px;background:linear-gradient(120deg,#01182e,#011e39 58%,#063b63);color:#fff}.service-hero-inner{max-width:900px}.service-hero h1{margin:16px 0 24px;max-width:900px;font:400 clamp(2.7rem,4.8vw,4.8rem)/1.03 var(--serif);letter-spacing:-.035em}.service-hero p{max-width:760px;color:rgba(255,255,255,.8);font-size:1.2rem;line-height:1.72}.service-hero .btn{margin-top:22px}.service-section{padding:86px 0}.service-soft{background:var(--ivory)}.service-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:76px;align-items:start}.service-section h2,.service-head h2{margin:14px 0 24px;color:var(--navy);font:400 clamp(2rem,3.3vw,3.35rem)/1.12 var(--serif)}.service-copy p,.service-head p{color:var(--muted);font-size:1.1rem;line-height:1.78}.service-checklist{list-style:none;padding:0;margin:28px 0 0;display:grid;gap:12px}.service-checklist li{position:relative;padding:15px 18px 15px 44px;background:#fff;border:1px solid var(--line);color:var(--navy);font-size:1.02rem;line-height:1.5}.service-checklist li:before{content:"✓";position:absolute;left:16px;top:14px;color:var(--gold);font-weight:900}.service-detail-grid{display:grid;border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-detail-card{padding:28px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.service-detail-card h3{margin:0 0 8px;color:var(--navy);font:400 1.45rem var(--serif)}.service-detail-card p{margin:0;color:var(--muted);font-size:1.04rem;line-height:1.65}.service-head{max-width:850px;margin-bottom:36px}.service-head-center{text-align:center;margin-left:auto;margin-right:auto}.service-head-center .eyebrow{justify-content:center}.service-steps{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-step{display:flex;gap:18px;padding:30px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff}.service-step>span{color:var(--gold);font-weight:850;font-size:.8rem;letter-spacing:.12em}.service-step h3{margin:0 0 8px;color:var(--navy);font:400 1.35rem var(--serif)}.service-step p{margin:0;color:var(--muted);font-size:1rem;line-height:1.6}.service-cta-band{background:var(--navy);color:#fff}.service-cta-band h2{color:#fff}.service-cta-band p{color:rgba(255,255,255,.75)}.service-cta-inner{display:flex;justify-content:space-between;align-items:center;gap:52px}.service-cta-inner>div{max-width:760px}.banking-services-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line);margin-top:40px}.banking-service-card{min-height:310px;padding:30px 26px 24px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#fff;text-align:center;display:flex;flex-direction:column;align-items:center;text-decoration:none;transition:.22s ease}.banking-service-card:hover{background:#f9f4e8;transform:translateY(-3px);box-shadow:0 16px 34px rgba(1,30,57,.08);z-index:2}.banking-service-icon{width:76px;height:76px;border-radius:50%;display:grid;place-items:center;margin-bottom:20px;background:var(--navy);color:var(--gold);font-size:2.15rem;font-weight:800;transition:.22s ease}.banking-service-card:hover .banking-service-icon{background:var(--gold);color:var(--navy);transform:scale(1.06)}.banking-service-card h3{margin:0 0 10px;color:var(--navy);font:400 1.4rem/1.18 var(--serif)}.banking-service-card p{margin:0;color:var(--muted);font-size:1.02rem;line-height:1.6}.banking-service-card em{margin-top:auto;padding-top:18px;color:var(--gold);font-style:normal;font-size:.84rem;font-weight:800;letter-spacing:.04em}@media(max-width:900px){.service-grid{grid-template-columns:1fr;gap:42px}.service-steps,.banking-services-grid{grid-template-columns:1fr 1fr}.service-cta-inner{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.service-hero{padding:128px 0 68px}.service-hero h1{font-size:2.55rem}.service-section{padding:62px 0}.service-steps,.banking-services-grid{grid-template-columns:1fr}.banking-service-card{min-height:0}}


/* Oliveira Menegusso v3.0.2 — instrução do mapa acima */
.map-state-status-top{
  margin:0 0 18px!important;
  min-height:auto!important;
  text-align:center;
  color:var(--navy);
  font:400 1.35rem/1.35 var(--serif);
}
.map-state-status-top:after{
  content:"";
  display:block;
  width:54px;
  height:1px;
  background:var(--gold);
  margin:10px auto 0;
}


/* Oliveira Menegusso v3.1 — páginas complementares + assessoria contratual */
.complementary-page .complementary-hero{
  background:linear-gradient(120deg,#01182e,#011e39 62%,#063b63);
}
.complementary-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.complementary-card{
  min-height:180px;
  padding:28px;
  background:#fff;
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.complementary-card h3{
  margin:0 0 9px;
  color:var(--navy);
  font:400 1.38rem var(--serif);
}
.complementary-card p{
  margin:0;
  color:var(--muted);
  font-size:1.02rem;
  line-height:1.64;
}

/* Home: sete áreas, sem aparência excessivamente quadrada */
.secondary-practice .practice-grid{
  grid-template-columns:repeat(4,1fr)!important;
}
.secondary-practice .practice-card{
  min-height:215px!important;
  padding:30px!important;
}
.secondary-practice .practice-card h3{
  margin:14px 0 12px!important;
}
.secondary-practice .practice-card:hover{
  background:var(--gold)!important;
  color:var(--navy)!important;
}
.secondary-practice .practice-card:hover h3,
.secondary-practice .practice-card:hover p{
  color:var(--navy)!important;
}
.secondary-practice .practice-card:nth-child(7){
  grid-column:2 / span 2;
}

@media(max-width:1000px){
  .secondary-practice .practice-grid{
    grid-template-columns:repeat(2,1fr)!important;
  }
  .secondary-practice .practice-card:nth-child(7){
    grid-column:auto;
  }
}
@media(max-width:700px){
  .complementary-grid{grid-template-columns:1fr}
  .secondary-practice .practice-grid{
    grid-template-columns:1fr!important;
  }
}


/* Oliveira Menegusso v3.2 — alternância de cores da Home */
.home-tone-white{background:#fff!important}
.home-tone-ivory{background:#f7f5f0!important}
.home-tone-blue-soft{background:#eaf0f5!important}
.home-tone-navy{background:var(--navy)!important;color:#fff}

/* Seções escuras: títulos e textos */
.home-tone-navy .section-title,
.home-tone-navy h2,
.home-tone-navy h3,
.home-tone-navy .lead,
.home-tone-navy p,
.home-tone-navy li,
.home-tone-navy blockquote{
  color:#fff!important;
}
.home-tone-navy .eyebrow{
  color:var(--gold)!important;
}

/* Mapa agora funciona como uma quebra visual forte */
.national-map.home-tone-navy{
  background:var(--navy)!important;
}
.national-map.home-tone-navy .national-map-copy h2,
.national-map.home-tone-navy .national-map-copy p,
.national-map.home-tone-navy .national-map-local,
.national-map.home-tone-navy .national-map-points li{
  color:#fff!important;
}
.national-map.home-tone-navy .national-map-points li{
  background:rgba(255,255,255,.07)!important;
  border-color:rgba(255,255,255,.14)!important;
}
.national-map.home-tone-navy .national-map-visual{
  background:#f7f5f0;
  padding:26px 28px 22px;
  border-radius:2px;
  box-shadow:0 18px 44px rgba(0,0,0,.16);
}
.national-map.home-tone-navy .map-state-status-top{
  color:var(--navy)!important;
}

/* Bloco "Cada cliente é único" em azul-marinho */
.difference-section .principle{
  background:rgba(255,255,255,.07)!important;
  border-color:rgba(255,255,255,.14)!important;
}
.difference-section .principle b,
.difference-section .principle span{
  color:#fff!important;
}

/* Áreas de atuação em fundo escuro, cards claros */
.secondary-practice.home-tone-navy .practice-head .lead{
  color:rgba(255,255,255,.78)!important;
}
.secondary-practice.home-tone-navy .practice-card{
  background:#fff!important;
  border-color:rgba(255,255,255,.18)!important;
}
.secondary-practice.home-tone-navy .practice-card h3{
  color:var(--navy)!important;
}
.secondary-practice.home-tone-navy .practice-card p{
  color:var(--muted)!important;
}
.secondary-practice.home-tone-navy .practice-card:hover{
  background:var(--gold)!important;
}
.secondary-practice.home-tone-navy .practice-card:hover h3,
.secondary-practice.home-tone-navy .practice-card:hover p{
  color:var(--navy)!important;
}

/* Contato em azul-marinho com cartão claro */
.contact.home-tone-navy .contact-item small,
.contact.home-tone-navy .contact-item{
  color:#fff!important;
}
.contact.home-tone-navy .contact-card{
  background:#fff!important;
  color:var(--navy)!important;
}
.contact.home-tone-navy .contact-card h3,
.contact.home-tone-navy .contact-card p{
  color:var(--navy)!important;
}

/* Nove áreas: grade equilibrada */
.secondary-practice .practice-grid{
  grid-template-columns:repeat(3,1fr)!important;
}
.secondary-practice .practice-card:nth-child(7){
  grid-column:auto!important;
}
.secondary-practice .practice-card{
  min-height:230px!important;
}

/* Consumidor e Bancário recebem discreto destaque sem destoar */
.secondary-practice .practice-card:nth-child(1),
.secondary-practice .practice-card:nth-child(2){
  border-top:3px solid var(--gold)!important;
}

@media(max-width:1000px){
  .secondary-practice .practice-grid{
    grid-template-columns:repeat(2,1fr)!important;
  }
}
@media(max-width:700px){
  .secondary-practice .practice-grid{
    grid-template-columns:1fr!important;
  }
  .national-map.home-tone-navy .national-map-visual{
    padding:18px 14px;
  }
}


/* Oliveira Menegusso v3.3 — refinamentos de largura e hierarquia */

/* Bloco do mapa: mais respiro e melhor largura de leitura */
.national-map-copy{
  max-width:980px!important;
  padding-left:28px;
  padding-right:28px;
}
.national-map-copy > p{
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.national-map-copy .national-map-local{
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.national-map-points{
  max-width:940px!important;
  gap:14px 22px!important;
}
.national-map-points li{
  padding:16px 18px 16px 42px!important;
  line-height:1.5!important;
}

/* Segundo bloco: títulos dos problemas com peso visual mais forte */
.bank-problem b{
  font-weight:800!important;
  color:var(--navy)!important;
  font-size:1.08rem!important;
  line-height:1.25!important;
}
.bank-problem:hover b{
  color:var(--navy)!important;
}

/* Frase de tradução do Direito: largura menor e leitura mais elegante */
.quote-readable-width .wrap,
.quote-section .wrap{
  max-width:980px!important;
}
.quote-readable-width blockquote,
.quote-readable-width .quote,
.quote-readable-width p{
  max-width:820px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.quote-readable-width .section-title,
.quote-readable-width h2{
  max-width:860px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* Áreas de atuação: garante Bancário + Consumidor no mesmo tratamento visual */
.secondary-practice .practice-card:nth-child(1),
.secondary-practice .practice-card:nth-child(2){
  border-top:3px solid var(--gold)!important;
}

@media(max-width:900px){
  .national-map-copy{
    max-width:760px!important;
    padding-left:18px;
    padding-right:18px;
  }
  .national-map-copy > p,
  .national-map-copy .national-map-local{
    max-width:720px!important;
  }
  .national-map-points{
    max-width:720px!important;
  }
  .quote-readable-width .wrap,
  .quote-section .wrap{
    max-width:720px!important;
  }
}
@media(max-width:600px){
  .national-map-copy{
    padding-left:8px;
    padding-right:8px;
  }
  .bank-problem b{
    font-size:1.12rem!important;
  }
  .quote-readable-width blockquote,
  .quote-readable-width .quote,
  .quote-readable-width p{
    max-width:100%!important;
  }
}


/* Oliveira Menegusso v3.4 — nova ordem e ritmo cromático da Home */

/* MAPA: fundo branco e mapa institucional */
.national-map.home-tone-white{
  background:#fff!important;
  color:var(--navy)!important;
}
.national-map.home-tone-white .national-map-copy h2,
.national-map.home-tone-white .national-map-copy p,
.national-map.home-tone-white .national-map-local{
  color:var(--navy)!important;
}
.national-map.home-tone-white .national-map-points li{
  background:#f7f5f0!important;
  border-color:rgba(1,30,57,.10)!important;
  color:var(--navy)!important;
}
.national-map.home-tone-white .national-map-visual{
  background:#fff!important;
  box-shadow:none!important;
  padding:18px 18px 8px!important;
}
.national-map.home-tone-white .map-state-status-top{
  color:var(--navy)!important;
}

/* Todos os estados em azul-marinho */
.om-brazil-map svg .estado path,
.om-brazil-map svg .estado .circle,
.om-brazil-map svg .estado[name="Paraná"] path,
.om-brazil-map svg .estado[name="Paraná"] .circle{
  fill:var(--navy)!important;
  stroke:#fff!important;
  stroke-width:1.3!important;
}
.om-brazil-map svg .estado text,
.om-brazil-map svg .estado[name="Paraná"] text{
  fill:#fff!important;
  stroke:rgba(1,30,57,.15)!important;
}

/* Hover: azul claro */
.om-brazil-map svg .estado:hover path,
.om-brazil-map svg .estado:focus path,
.om-brazil-map svg .estado:hover .circle,
.om-brazil-map svg .estado:focus .circle{
  fill:#8EB6D9!important;
}
.om-brazil-map svg .estado:hover text,
.om-brazil-map svg .estado:focus text{
  fill:var(--navy)!important;
  stroke:rgba(255,255,255,.25)!important;
}

/* Escritório em azul-marinho: foto + texto ganham contraste */
.about-section.home-tone-navy{
  background:var(--navy)!important;
}
.about-section.home-tone-navy .section-title,
.about-section.home-tone-navy .lead,
.about-section.home-tone-navy p,
.about-section.home-tone-navy .signature,
.about-section.home-tone-navy .credentials{
  color:#fff!important;
}
.about-section.home-tone-navy .eyebrow{
  color:var(--gold)!important;
}
.about-section.home-tone-navy .portrait{
  border-color:rgba(198,161,91,.55)!important;
}

/* Diferenciais em marfim, para aliviar após mapa branco */
.difference-section.home-tone-ivory{
  background:var(--ivory)!important;
  color:var(--navy)!important;
}
.difference-section.home-tone-ivory .section-title,
.difference-section.home-tone-ivory h2,
.difference-section.home-tone-ivory p,
.difference-section.home-tone-ivory .lead{
  color:var(--navy)!important;
}
.difference-section.home-tone-ivory .principle{
  background:#fff!important;
  border-color:rgba(1,30,57,.10)!important;
}
.difference-section.home-tone-ivory .principle b,
.difference-section.home-tone-ivory .principle span{
  color:var(--navy)!important;
}

/* Atualizações em azul-marinho — quebra forte no meio da página */
.updates.home-tone-navy{
  background:var(--navy)!important;
}
.updates.home-tone-navy h2,
.updates.home-tone-navy h3,
.updates.home-tone-navy p,
.updates.home-tone-navy .lead{
  color:#fff!important;
}
.updates.home-tone-navy .eyebrow{
  color:var(--gold)!important;
}
.updates.home-tone-navy .update-card,
.updates.home-tone-navy .updates-card{
  background:rgba(255,255,255,.07)!important;
  border-color:rgba(255,255,255,.14)!important;
}

/* Frase central volta ao branco */
.quote-section.home-tone-white{
  background:#fff!important;
}
.quote-section.home-tone-white h2,
.quote-section.home-tone-white p,
.quote-section.home-tone-white blockquote{
  color:var(--navy)!important;
}

/* Sequência visual consolidada:
   hero escuro → branco → marfim → azul → branco → marfim → azul
   → branco → marfim → azul → branco → azul */


/* Oliveira Menegusso v3.5 — refinamentos finais de leitura e blocos */

/* Tipografia geral maior e mais legível para aposentados */
body{
  font-size:20px!important;
  line-height:1.82!important;
}
p,
li,
.contact-item,
.contact-card p,
.practice-card p,
.bank-problem span,
.review-slide blockquote,
.review-slide footer,
.footer-grid p,
.footer-links a,
.updates-panel p,
.updates-list li,
.national-map-copy p,
.national-map-local,
.fake-lawyer-panel li,
.info-floating-card p{
  font-size:1.10rem!important;
  line-height:1.78!important;
}
.lead{
  font-size:1.22rem!important;
  line-height:1.8!important;
}
.btn{
  font-size:.94rem!important;
  min-height:56px!important;
  padding:0 28px!important;
}
.nav a{
  font-size:.92rem!important;
}
.contact-item small,
.article-meta,
.eyebrow{
  font-size:.84rem!important;
}

/* Segundo bloco: títulos dos problemas mais fortes */
.bank-problem b{
  font-weight:800!important;
  font-size:1.20rem!important;
  line-height:1.3!important;
  margin-bottom:10px!important;
}

/* Mapa: layout mais confortável, com texto menos amontoado */
.national-map-grid{
  grid-template-columns:1.02fr .98fr!important;
  gap:52px!important;
  align-items:start!important;
}
.national-map-copy p{
  max-width:100%!important;
}
.national-map-points{
  grid-template-columns:1fr!important;
  max-width:100%!important;
  gap:14px!important;
  margin:24px 0 22px!important;
}
.national-map-points li{
  background:#eaf2fb!important;
  border:1px solid #c9d9ea!important;
  border-radius:16px!important;
  padding:16px 18px 16px 44px!important;
  box-shadow:0 10px 24px rgba(4,35,69,.05)!important;
  color:var(--navy)!important;
}
.national-map-points li:before{
  left:16px!important;
  top:16px!important;
  color:var(--gold)!important;
}
.map-whatsapp-link{
  display:none!important;
}

/* Mapa branco com estados azul-marinho; Paraná dourado; hover azul-claro */
.national-map.home-tone-white{
  background:#fff!important;
}
.national-map.home-tone-white .national-map-visual{
  background:#fff!important;
  box-shadow:none!important;
  padding:12px 8px 6px!important;
}
.om-brazil-map svg .estado path,
.om-brazil-map svg .estado .circle{
  fill:var(--navy)!important;
  stroke:#fff!important;
  stroke-width:1.35!important;
}
.om-brazil-map svg .estado text{
  fill:#fff!important;
  stroke:rgba(1,30,57,.18)!important;
}
.om-brazil-map svg .estado[name="Paraná"] path,
.om-brazil-map svg .estado[name="Paraná"] .circle{
  fill:var(--gold)!important;
}
.om-brazil-map svg .estado[name="Paraná"] text{
  fill:var(--navy)!important;
  stroke:rgba(255,255,255,.2)!important;
}
.om-brazil-map svg .estado:hover path,
.om-brazil-map svg .estado:focus path,
.om-brazil-map svg .estado:hover .circle,
.om-brazil-map svg .estado:focus .circle{
  fill:#8eb6d9!important;
}
.om-brazil-map svg .estado:hover text,
.om-brazil-map svg .estado:focus text{
  fill:var(--navy)!important;
}

/* Áreas de atuação: especialidades em caixinhas flutuantes */
.secondary-practice .practice-grid{
  border:0!important;
  background:transparent!important;
  gap:24px!important;
  grid-template-columns:repeat(3,1fr)!important;
}
.secondary-practice .practice-card{
  min-height:230px!important;
  padding:30px!important;
  background:#fff!important;
  border:1px solid rgba(255,255,255,.12)!important;
  border-radius:20px!important;
  box-shadow:0 16px 34px rgba(0,0,0,.12)!important;
  transform:none!important;
}
.secondary-practice .practice-card h3{
  margin:0 0 14px!important;
  color:var(--navy)!important;
  font-size:1.52rem!important;
}
.secondary-practice .practice-card p{
  color:#455468!important;
}
.secondary-practice .practice-card:hover{
  background:#f3f7fb!important;
  transform:translateY(-6px)!important;
  box-shadow:0 22px 42px rgba(0,0,0,.16)!important;
}
.secondary-practice .practice-card:nth-child(1),
.secondary-practice .practice-card:nth-child(2){
  border-top:4px solid var(--gold)!important;
}

/* Informação que aproxima: bloco sem post padrão e com cards limpos */
.info-head{
  display:flex!important;
  justify-content:space-between!important;
  align-items:end!important;
  gap:30px!important;
  margin-bottom:34px!important;
}
.info-floating-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.info-floating-card{
  background:#fff;
  border:1px solid rgba(1,30,57,.08);
  border-radius:18px;
  padding:28px;
  box-shadow:0 14px 32px rgba(4,35,69,.06);
}
.info-floating-card h3{
  margin:0 0 10px;
  color:var(--navy);
  font:400 1.45rem/1.2 var(--serif);
}
.info-floating-card p{
  margin:0;
  color:var(--muted);
}

/* Bloco sobre o golpe do falso advogado */
.fake-lawyer-section{
  background:#eef4fa!important;
}
.fake-lawyer-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:50px;
  align-items:start;
}
.fake-lawyer-panel{
  background:#fff;
  border:1px solid rgba(1,30,57,.08);
  border-radius:20px;
  padding:34px;
  box-shadow:0 16px 34px rgba(4,35,69,.08);
}
.fake-lawyer-panel strong{
  display:block;
  color:var(--navy);
  font:400 1.6rem var(--serif);
  margin-bottom:18px;
}
.fake-lawyer-list{
  list-style:none;
  padding:0;
  margin:0 0 28px;
}
.fake-lawyer-list li{
  position:relative;
  padding:0 0 0 28px;
  margin:0 0 16px;
  color:var(--muted);
}
.fake-lawyer-list li:before{
  content:"•";
  position:absolute;
  left:0;
  top:-1px;
  color:var(--gold);
  font-size:1.4rem;
  line-height:1;
}

/* Contato e rodapé com o novo texto institucional */
.contact .contact-item:last-child,
.site-footer p{
  word-break:normal;
}
.contact-card p[style]{
  font-size:.96rem!important;
  line-height:1.65!important;
}

/* Ajustes responsivos */
@media(max-width:1000px){
  .national-map-grid,
  .fake-lawyer-grid{
    grid-template-columns:1fr!important;
  }
  .secondary-practice .practice-grid,
  .info-floating-grid{
    grid-template-columns:1fr 1fr!important;
  }
  .info-head{
    display:block!important;
  }
  .info-head .btn{
    margin-top:18px!important;
  }
}
@media(max-width:700px){
  .secondary-practice .practice-grid,
  .info-floating-grid{
    grid-template-columns:1fr!important;
  }
  .national-map-points li{
    padding:14px 16px 14px 40px!important;
  }
}


/* Oliveira Menegusso v3.5.1 — alinhamento do texto sob os botões do hero */
.hero-meta{
  left:max(20px,calc((100vw - 1180px)/2) + 18px)!important;
  right:auto!important;
  text-align:left!important;
}
@media(max-width:900px){
  .hero-meta{
    left:20px!important;
  }
}


/* Oliveira Menegusso v3.5.2 — caixinhas flutuantes lado a lado no bloco do mapa */
.national-map-points{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
.national-map-points li{
  min-height:100%!important;
  border-radius:18px!important;
  padding:18px 18px 18px 44px!important;
}

@media(max-width:1000px){
  .national-map-points{
    grid-template-columns:1fr 1fr!important;
  }
}
@media(max-width:700px){
  .national-map-points{
    grid-template-columns:1fr!important;
  }
}


/* Oliveira Menegusso v3.5.3 — texto institucional do hero alinhado aos botões */
.hero-copy .hero-meta{
  position:static!important;
  display:inline-block!important;
  margin-top:18px!important;
  padding-left:14px!important;
  border-left:1px solid var(--gold)!important;
  text-align:left!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  max-width:680px!important;
}
.hero-copy .hero-meta strong{
  display:block;
  margin-top:4px;
}


/* Oliveira Menegusso v3.6 — hero em formato de banner rotativo */
.hero-slider{
  position:relative;
  min-height:520px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.hero-banner{
  display:none;
  animation:omFadeHero .45s ease;
}
.hero-banner.is-active{
  display:block;
}
@keyframes omFadeHero{
  from{opacity:0;transform:translateY(8px)}
  to{opacity:1;transform:translateY(0)}
}
.hero-slider-nav{
  display:flex;
  gap:10px;
  align-items:center;
  margin-top:24px;
}
.hero-dot{
  width:12px;
  height:12px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.55);
  background:transparent;
  cursor:pointer;
  padding:0;
  transition:.2s ease;
}
.hero-dot.is-active,
.hero-dot:hover{
  background:var(--gold);
  border-color:var(--gold);
  transform:scale(1.08);
}
.hero-slider .hero-meta{
  margin-top:18px!important;
}
.hero-slider .hero-copy p{
  min-height:115px;
}
.hero-slider .hero-copy h1{
  min-height:250px;
}

@media(max-width:1100px){
  .hero-slider{
    min-height:560px;
  }
  .hero-slider .hero-copy h1{
    min-height:auto;
  }
  .hero-slider .hero-copy p{
    min-height:auto;
  }
}
@media(max-width:900px){
  .hero-slider{
    min-height:auto;
  }
  .hero-slider-nav{
    margin-top:18px;
  }
}


/* Oliveira Menegusso v3.7 — banners com visuais próprios e mapa com caixas azuis */
.hero-brand-panel{
  position:relative;
  min-height:540px!important;
  display:flex;
  align-items:center;
  justify-content:center;
}
.hero-side-panel{
  display:none;
  width:100%;
  animation:omFadeHero .45s ease;
}
.hero-side-panel.is-active{
  display:block;
}
.hero-side-panel img{
  width:100%;
  height:auto;
  display:block;
}
.hero-banner-alert .eyebrow{
  color:#F2C56D!important;
}
.hero-alert-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:14px;
  padding:8px 14px;
  border-radius:999px;
  background:#B53434;
  color:#fff;
  font:700 .9rem/1.1 Arial, sans-serif;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.hero-alert-badge:before{
  content:"⚠";
  font-size:1rem;
}
.hero-slider .hero-copy h1{
  min-height:265px;
}
.hero-slider .hero-copy p{
  min-height:112px;
}
.hero-slider{
  min-height:560px;
}

/* Mapa: cards azuis com texto claro */
.national-map-points li{
  background:#0B2F53!important;
  border:1px solid rgba(255,255,255,.12)!important;
  color:#F6F8FB!important;
  box-shadow:0 14px 28px rgba(1,30,57,.12)!important;
}
.national-map-points li:before{
  color:#E2C478!important;
}
.national-map-points{
  gap:20px!important;
}

@media(max-width:1100px){
  .hero-brand-panel{
    min-height:460px!important;
  }
  .hero-slider{
    min-height:600px;
  }
  .hero-slider .hero-copy h1,
  .hero-slider .hero-copy p{
    min-height:auto;
  }
}
@media(max-width:900px){
  .hero-brand-panel{
    min-height:auto!important;
  }
  .hero-slider{
    min-height:auto;
  }
}


/* Oliveira Menegusso v3.7.1 — bloco de acompanhamento com leitura mais clara */
.updates-readable{
  background:#f7f5f0!important;
  color:var(--navy)!important;
}
.updates-readable .section-title,
.updates-readable .lead,
.updates-readable p{
  color:var(--navy)!important;
}
.updates-readable-wrap{
  max-width:1180px;
}
.updates-readable-intro{
  max-width:760px;
  margin:0 auto 34px;
  text-align:center;
}
.updates-readable-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:28px;
  align-items:stretch;
}
.updates-readable-card{
  border-radius:24px;
  padding:34px 34px 30px;
  box-shadow:0 16px 34px rgba(4,35,69,.08);
}
.updates-copy-card{
  background:#fff;
  border:1px solid rgba(1,30,57,.08);
}
.updates-panel-card{
  background:#0b2f53;
  border:1px solid rgba(255,255,255,.06);
}
.updates-card-label{
  display:inline-flex;
  align-items:center;
  margin-bottom:16px;
  padding:8px 14px;
  border-radius:999px;
  background:#eef4fa;
  color:var(--navy);
  font-size:.84rem;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.updates-panel-card .updates-card-label{
  background:rgba(255,255,255,.10);
  color:#fff;
}
.updates-panel-card strong{
  display:block;
  color:#fff;
  font:400 1.9rem/1.2 var(--serif);
  margin-bottom:14px;
}
.updates-panel-card p{
  color:rgba(255,255,255,.88)!important;
}
.updates-panel-card .updates-list{
  list-style:none;
  padding:0;
  margin:22px 0 0;
}
.updates-panel-card .updates-list li{
  padding:16px 0;
  border-top:1px solid rgba(255,255,255,.14);
  color:#fff;
  font-size:1.04rem;
}
.updates-panel-card .updates-list li:before{
  content:"✓";
  color:var(--gold);
  margin-right:12px;
  font-weight:800;
}
.updates-copy-card p + p{
  margin-top:18px;
}

@media(max-width:900px){
  .updates-readable-grid{
    grid-template-columns:1fr;
  }
  .updates-readable-intro{
    text-align:left;
    margin:0 0 28px;
  }
}


/* Oliveira Menegusso v3.7.2 — remoção do bloco de golpe + ajuste fino da frase institucional */
.quote-narrow{padding-top:40px!important;padding-bottom:40px!important;}
.quote-narrow .wrap{
  max-width:860px!important;
}
.quote-narrow blockquote,
.quote-narrow .quote,
.quote-narrow p{
  max-width:720px!important;
  margin:0 auto!important;
  padding:0 8px!important;
  font-size:2.05rem!important;
  line-height:1.34!important;
  text-align:center!important;
}

/* Reduz a sensação de altura excessiva e mantém alinhamento com a largura dos outros blocos */
.quote-section.quote-narrow{
  background:#fff!important;
}

@media(max-width:900px){
  .quote-narrow{padding-top:30px!important;padding-bottom:30px!important;}
  .quote-narrow .wrap{max-width:740px!important;}
  .quote-narrow blockquote,
  .quote-narrow .quote,
  .quote-narrow p{
    max-width:100%!important;
    font-size:1.65rem!important;
    line-height:1.38!important;
  }
}
@media(max-width:600px){
  .quote-narrow blockquote,
  .quote-narrow .quote,
  .quote-narrow p{
    font-size:1.36rem!important;
  }
}


/* Oliveira Menegusso v3.8.0 — banners com imagens humanas e botão lateral discreto */
.hero-brand-panel{
  position:relative;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:480px!important;
  padding-right:38px!important;
  border-right:1px solid rgba(198,161,91,.55)!important;
}
.hero-side-panel.hero-photo-panel{
  width:100%;
}
.hero-side-panel.hero-photo-panel img{
  width:100%!important;
  max-width:420px!important;
  height:480px!important;
  max-height:none!important;
  border-radius:28px!important;
  object-fit:cover!important;
  object-position:center center!important;
  box-shadow:0 20px 38px rgba(0,0,0,.24);
  border:1px solid rgba(255,255,255,.12);
  display:block;
}
.hero-slider{
  position:relative;
}
.hero-next{
  position:absolute;
  top:50%;
  right:-6px;
  transform:translateY(-50%);
  width:46px;
  height:46px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.28);
  background:rgba(4,26,49,.58);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  transition:background .2s ease, border-color .2s ease, transform .2s ease;
  z-index:5;
}
.hero-next:hover,
.hero-next:focus{
  background:rgba(199,164,91,.92);
  color:var(--navy);
  border-color:rgba(199,164,91,.92);
  transform:translateY(-50%) scale(1.03);
}
.hero-next span{
  font-size:1.7rem;
  line-height:1;
  margin-left:2px;
}
.hero-slider-nav{
  margin-right:58px;
}

@media(max-width:1100px){
  .hero-side-panel.hero-photo-panel img{
    max-width:360px!important;
    height:430px!important;
  }
}
@media(max-width:900px){
  .hero-brand-panel{
    min-height:auto!important;
    padding-right:0!important;
    border-right:0!important;
    margin-bottom:18px;
  }
  .hero-side-panel.hero-photo-panel img{
    max-width:100%!important;
    height:auto!important;
    aspect-ratio:4/5;
  }
  .hero-next{
    right:0;
    top:auto;
    bottom:10px;
    transform:none;
  }
  .hero-next:hover,
  .hero-next:focus{
    transform:scale(1.03);
  }
  .hero-slider-nav{
    margin-right:64px;
  }
}


/* Oliveira Menegusso v3.8.1 — logo mantida no primeiro banner */
.hero-brand-panel > .hero-side-panel:first-child img{
  width:min(100%,390px)!important;
  height:auto!important;
  max-height:275px!important;
  object-fit:contain!important;
  object-position:left center!important;
  border-radius:0!important;
  box-shadow:none!important;
  border:0!important;
}


/* Oliveira Menegusso v3.8.2 — primeiro ícone do bloco de problemas ajustado */
.bank-icon-shield{
  font-family: Arial, Helvetica, sans-serif!important;
  font-size:1.65rem!important;
  font-weight:900!important;
  letter-spacing:0!important;
}


/* Oliveira Menegusso v3.8.3 — nova imagem do falso advogado + navegação lateral dupla */
.hero-slider{
  position:relative;
  overflow:visible;
}
.hero-prev,
.hero-next{
  position:absolute;
  top:50%;
  width:48px;
  height:48px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.30);
  background:rgba(3,24,44,.62);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  transition:background .2s ease, border-color .2s ease, transform .2s ease, color .2s ease;
  z-index:8;
}
.hero-prev{left:-72px;transform:translateY(-50%);}
.hero-next{right:-72px;transform:translateY(-50%);}
.hero-prev:hover,
.hero-prev:focus,
.hero-next:hover,
.hero-next:focus{
  background:rgba(199,164,91,.96);
  color:var(--navy);
  border-color:rgba(199,164,91,.96);
}
.hero-prev:hover,
.hero-prev:focus{transform:translateY(-50%) scale(1.03);}
.hero-next:hover,
.hero-next:focus{transform:translateY(-50%) scale(1.03);}
.hero-prev span,
.hero-next span{
  font-size:1.7rem;
  line-height:1;
}
.hero-prev span{margin-right:2px;}
.hero-next span{margin-left:2px;}
.hero-slider-nav{
  margin-right:0!important;
}

/* Destaque visual do banner do falso advogado */
.hero-banner-alert{
  padding:22px 24px 24px;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(181,52,52,.12) 0%, rgba(181,52,52,.06) 32%, rgba(255,255,255,0) 100%);
  border:1px solid rgba(181,52,52,.28);
  box-shadow:0 16px 36px rgba(0,0,0,.10);
}
.hero-banner-alert h1{
  color:#fff!important;
}
.hero-banner-alert p{
  color:rgba(255,255,255,.88)!important;
}
.hero-banner-alert .eyebrow{
  color:#ffcf83!important;
}
.hero-banner-alert .btn-outline{
  border-color:rgba(255,255,255,.48);
}

/* Ajuste fino da foto do banner do falso advogado */
.hero-photo-panel img[alt="Alerta sobre o golpe do falso advogado"]{
  object-position:center 25%!important;
}

@media(max-width:1180px){
  .hero-prev{left:-56px;}
  .hero-next{right:-56px;}
}
@media(max-width:900px){
  .hero-prev,
  .hero-next{
    top:auto;
    bottom:10px;
    transform:none;
  }
  .hero-prev{left:0;}
  .hero-next{right:0;}
  .hero-prev:hover,
  .hero-prev:focus,
  .hero-next:hover,
  .hero-next:focus{
    transform:scale(1.03);
  }
}


/* Oliveira Menegusso v3.8.4 — botões mais afastados e destaque do banner de falso advogado */
.hero-slider{
  position:relative;
  overflow:visible;
}
.hero-prev,
.hero-next{
  width:52px!important;
  height:52px!important;
  background:rgba(4,26,49,.72)!important;
  border-color:rgba(255,255,255,.34)!important;
  z-index:12!important;
}
.hero-prev{left:-108px!important;}
.hero-next{right:-108px!important;}
.hero-prev span,
.hero-next span{
  font-size:1.9rem!important;
}

.hero-banner-alert{
  position:relative;
  padding:24px 26px 26px!important;
  border-radius:24px!important;
  background:linear-gradient(180deg, rgba(181,52,52,.20) 0%, rgba(181,52,52,.10) 36%, rgba(255,255,255,0) 100%)!important;
  border:1px solid rgba(214,95,73,.42)!important;
  box-shadow:0 18px 42px rgba(66,9,9,.18)!important;
}
.hero-banner-alert:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  border-radius:24px 0 0 24px;
  background:linear-gradient(180deg,#ff8b66 0%, #d95f49 100%);
}
.hero-banner-alert .hero-alert-badge{
  background:#cf533c!important;
  box-shadow:0 10px 22px rgba(207,83,60,.24);
}
.hero-banner-alert .btn-gold{
  background:#d6a451!important;
}
.hero-photo-panel img[alt="Alerta sobre o golpe do falso advogado"]{
  object-position:center center!important;
}

@media(max-width:1320px){
  .hero-prev{left:-88px!important;}
  .hero-next{right:-88px!important;}
}
@media(max-width:1180px){
  .hero-prev{left:-68px!important;}
  .hero-next{right:-68px!important;}
}
@media(max-width:900px){
  .hero-prev,
  .hero-next{
    width:46px!important;
    height:46px!important;
    top:auto!important;
    bottom:8px!important;
  }
  .hero-prev{left:0!important;}
  .hero-next{right:0!important;}
}


/* Oliveira Menegusso v3.8.5 — banner do falso advogado mais limpo e seta esquerda antes das fotos */
.hero-brand-panel{
  position:relative!important;
  overflow:visible!important;
}
.hero-brand-panel .hero-prev{
  position:absolute!important;
  left:-92px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
}
.hero-slider .hero-next{
  right:-96px!important;
}
.hero-prev,
.hero-next{
  width:50px!important;
  height:50px!important;
  background:rgba(4,26,49,.68)!important;
  border:1px solid rgba(255,255,255,.30)!important;
  z-index:12!important;
}
.hero-prev:hover,
.hero-prev:focus,
.hero-next:hover,
.hero-next:focus{
  background:rgba(199,164,91,.96)!important;
  color:var(--navy)!important;
  border-color:rgba(199,164,91,.96)!important;
}

/* Banner do falso advogado com visual mais limpo */
.hero-banner-alert{
  padding:0 0 0 22px!important;
  background:none!important;
  border:none!important;
  box-shadow:none!important;
  border-radius:0!important;
  position:relative!important;
}
.hero-banner-alert:before{
  content:"";
  position:absolute;
  left:0;
  top:10px;
  bottom:10px;
  width:4px;
  border-radius:999px;
  background:#d95f49;
}
.hero-banner-alert .hero-alert-badge{
  background:#d95f49!important;
  box-shadow:none!important;
  margin-bottom:12px!important;
}
.hero-banner-alert .eyebrow{
  color:#f0c26a!important;
}
.hero-banner-alert h1,
.hero-banner-alert p{
  color:#fff!important;
}

/* garante uso da nova foto do falso advogado */
.hero-photo-panel img[alt="Alerta sobre o golpe do falso advogado"]{
  object-position:center center!important;
}

@media(max-width:1320px){
  .hero-brand-panel .hero-prev{left:-76px!important;}
  .hero-slider .hero-next{right:-76px!important;}
}
@media(max-width:1180px){
  .hero-brand-panel .hero-prev{left:-58px!important;}
  .hero-slider .hero-next{right:-58px!important;}
}
@media(max-width:900px){
  .hero-brand-panel .hero-prev,
  .hero-slider .hero-next{
    top:auto!important;
    bottom:8px!important;
    transform:none!important;
  }
  .hero-brand-panel .hero-prev{left:0!important;}
  .hero-slider .hero-next{right:0!important;}
}


/* Oliveira Menegusso v3.8.6 — ajuste final do banner do falso advogado */
.hero-banner-alert:before{
  display:none!important;
  content:none!important;
}
.hero-banner-alert{
  padding-left:0!important;
}
.hero-alert-badge{
  background:#ef3b2d!important;
  color:#fff!important;
  font-size:1rem!important;
  font-weight:800!important;
  padding:11px 18px!important;
  letter-spacing:.09em!important;
  box-shadow:0 10px 24px rgba(239,59,45,.24)!important;
}
.hero-alert-badge:before{
  font-size:1.08rem!important;
}


/* Oliveira Menegusso v3.8.7 — botão voltar à esquerda + vermelho Coca-Cola no aviso */
.hero-brand-panel{
  position:relative!important;
  overflow:visible!important;
}
.hero-brand-panel .hero-prev{
  position:absolute!important;
  left:-96px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  width:50px!important;
  height:50px!important;
  border-radius:999px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  z-index:14!important;
}
.hero-slider .hero-next{
  right:-96px!important;
}
.hero-alert-badge{
  background:#F40009!important;
  color:#fff!important;
  font-size:1rem!important;
  font-weight:800!important;
  padding:12px 19px!important;
  letter-spacing:.09em!important;
  box-shadow:0 10px 24px rgba(244,0,9,.28)!important;
}
.hero-banner-alert .eyebrow{
  color:#ffd06a!important;
}

@media(max-width:1320px){
  .hero-brand-panel .hero-prev{left:-78px!important;}
  .hero-slider .hero-next{right:-78px!important;}
}
@media(max-width:1180px){
  .hero-brand-panel .hero-prev{left:-60px!important;}
  .hero-slider .hero-next{right:-60px!important;}
}
@media(max-width:900px){
  .hero-brand-panel .hero-prev,
  .hero-slider .hero-next{
    top:auto!important;
    bottom:8px!important;
    transform:none!important;
  }
  .hero-brand-panel .hero-prev{left:0!important;}
  .hero-slider .hero-next{right:0!important;}
}


/* Oliveira Menegusso v3.8.8 — vermelho do alerta ajustado para o tom do esmalte */
.hero-alert-badge{
  background:#CE101B!important;
  color:#fff!important;
  box-shadow:0 10px 24px rgba(206,16,27,.30)!important;
}


/* Oliveira Menegusso v3.9.1 — página de conteúdos e artigos jurídicos */
.content-hub{background:#fff;color:var(--navy)}
.content-hub-hero{background:linear-gradient(120deg,#01182e,#011e39 68%,#063b63);color:#fff;padding:110px 0 82px}
.content-hub-hero-inner{max-width:900px}
.content-hub-hero h1{font:400 clamp(2.7rem,5vw,4.6rem)/1.03 var(--serif);letter-spacing:-.035em;margin:15px 0 22px;color:#fff}
.content-hub-hero p{max-width:790px;font-size:1.22rem;line-height:1.78;color:rgba(255,255,255,.84)}
.content-hub-intro{background:var(--ivory);padding:62px 0}
.content-hub-intro-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:70px;align-items:end}
.content-hub-intro h2{font:400 2.25rem/1.15 var(--serif);margin:10px 0 0}
.content-hub-intro p{font-size:1.12rem;line-height:1.8;margin:0;color:var(--muted)}
.content-posts-section{padding:76px 0 92px}
.content-post-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px}
.content-post-card{background:#fff;border:1px solid rgba(1,30,57,.10);border-radius:22px;padding:34px;box-shadow:0 15px 34px rgba(1,30,57,.06);transition:.2s ease}
.content-post-card:hover{transform:translateY(-4px);box-shadow:0 22px 42px rgba(1,30,57,.10)}
.content-post-meta{color:var(--gold);font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:14px}
.content-post-card h2{font:400 1.85rem/1.15 var(--serif);margin:0 0 16px}
.content-post-card h2 a{color:var(--navy);text-decoration:none}
.content-post-card p{color:var(--muted);font-size:1.08rem;line-height:1.72;margin:0 0 22px}
.content-read-more{font-weight:800;font-size:.92rem;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:4px}
.content-hub-cta{background:var(--navy);color:#fff;padding:66px 0}
.content-hub-cta-inner{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center}
.content-hub-cta h2{font:400 2.25rem/1.1 var(--serif);color:#fff;margin:8px 0 12px}
.content-hub-cta p{color:rgba(255,255,255,.78);margin:0;max-width:720px}

.legal-article-hero{background:linear-gradient(120deg,#01182e,#011e39 68%,#063b63);padding:108px 0 78px;color:#fff}
.legal-article-hero-inner{max-width:930px}
.legal-article-category,.legal-article-category a{color:var(--gold);font-size:.84rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;text-decoration:none}
.legal-article-hero h1{font:400 clamp(2.6rem,5vw,4.5rem)/1.04 var(--serif);color:#fff;letter-spacing:-.035em;margin:14px 0 22px}
.legal-article-deck{font-size:1.2rem;line-height:1.72;color:rgba(255,255,255,.82);max-width:800px}
.legal-article-body{background:#fff;padding:66px 0 90px}
.legal-article-content{max-width:860px}
.legal-article-content>p,.legal-article-content li{font-size:1.12rem;line-height:1.88;color:#314052}
.legal-article-content h2{font:400 2rem/1.2 var(--serif);color:var(--navy);margin:44px 0 16px}
.legal-article-content ul{padding-left:24px;margin:16px 0 26px}
.article-sources{margin-top:42px;padding:24px 26px;background:#f7f5f0;border-left:4px solid var(--gold);font-size:.96rem;line-height:1.75;color:#455468}
.article-sources a{color:var(--navy)}
.article-disclaimer{margin-top:34px;padding:24px 26px;border:1px solid rgba(1,30,57,.10);border-radius:14px;background:#f7f9fb;color:#455468;font-size:.98rem;line-height:1.7}
.article-final-cta{margin-top:48px;padding:34px;background:var(--navy);border-radius:22px;color:#fff}
.article-final-cta h2{color:#fff;margin:0 0 12px}
.article-final-cta p{color:rgba(255,255,255,.82)!important;margin:0 0 22px}

@media(max-width:900px){
 .content-hub-intro-grid,.content-hub-cta-inner{grid-template-columns:1fr;gap:28px}
 .content-post-grid{grid-template-columns:1fr}
 .content-hub-hero,.legal-article-hero{padding:88px 0 64px}
}


/* Oliveira Menegusso v3.9.6 — foto profissional e ajuste do card Superendividamento */
.bank-problem{
  min-width:0!important;
}
.bank-problem b{
  max-width:100%!important;
  overflow-wrap:break-word!important;
  word-break:normal!important;
}
@media(min-width:1181px){
  .bank-problems{
    grid-template-columns:1fr 1.03fr 1fr 1fr 1.14fr 1fr!important;
  }
  .bank-problem:nth-child(5) b{
    font-size:1.06rem!important;
    letter-spacing:-.018em!important;
    white-space:normal!important;
  }
}
