:root{
  --preto:#08090a;
  --preto-2:#0c0e10;
  --grafite:#121417;
  --superficie:#181b1f;
  --linha:rgba(198,166,100,.18);
  --linha-suave:rgba(255,255,255,.075);
  --ouro:#c6a664;
  --ouro-claro:#e3cd9a;
  --ouro-escuro:#8a7038;
  --texto:#edebe7;
  --suave:#9d9c97;
  --suave-2:#7d7c78;
  --serif:'Cormorant Garamond', Garamond, 'Times New Roman', serif;
  --sans:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --max:1200px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:92px}
body{
  font-family:var(--sans);font-size:17px;line-height:1.78;
  color:var(--texto);background:var(--preto);
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
::selection{background:var(--ouro);color:#0a0b0c}

h1,h2,h3,h4{font-family:var(--serif);font-weight:500;line-height:1.16;letter-spacing:.004em;color:#fff}
h1{font-size:clamp(2.5rem,5.4vw,4.35rem);font-weight:400}
h2{font-size:clamp(2rem,3.8vw,3.05rem);font-weight:400}
h3{font-size:clamp(1.28rem,2vw,1.6rem)}
p{margin-bottom:1.15rem}
p:last-child{margin-bottom:0}

.wrap{max-width:var(--max);margin:0 auto;padding:0 30px}
.sec{padding:clamp(78px,9.5vw,140px) 0;position:relative}
.sec--alt{background:var(--preto-2)}
.sec--graf{background:var(--grafite)}
.borda-topo{border-top:1px solid var(--linha-suave)}

.eyebrow{
  font-size:.7rem;font-weight:600;letter-spacing:.28em;text-transform:uppercase;
  color:var(--ouro);margin-bottom:18px;display:flex;align-items:center;gap:14px;
}
.eyebrow::before{content:'';width:26px;height:1px;background:var(--ouro);flex:0 0 26px}
.centro .eyebrow{justify-content:center}
.regua{width:64px;height:1px;background:linear-gradient(90deg,var(--ouro),transparent);margin:24px 0 32px}
.regua--centro{margin-left:auto;margin-right:auto;background:linear-gradient(90deg,transparent,var(--ouro),transparent)}
.centro{text-align:center}
.lead{font-size:1.06rem;color:var(--suave);max-width:66ch;font-weight:300}
.centro .lead{margin-left:auto;margin-right:auto}
.dourado{color:var(--ouro)}

/* ---------- BOTÕES ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:11px;
  font-size:.79rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;
  padding:18px 36px;border:1px solid transparent;cursor:pointer;position:relative;
  transition:all .35s cubic-bezier(.4,0,.2,1);
}
.btn--ouro{background:var(--ouro);color:#0a0b0c}
.btn--ouro:hover{background:var(--ouro-claro);transform:translateY(-2px);box-shadow:0 14px 34px rgba(198,166,100,.24)}
.btn--linha{background:transparent;color:var(--texto);border-color:rgba(255,255,255,.22)}
.btn--linha:hover{border-color:var(--ouro);color:var(--ouro)}

/* ---------- CABEÇALHO ---------- */
header{position:fixed;top:0;left:0;right:0;z-index:1000;padding:22px 0;transition:all .38s ease}
header.solido{background:rgba(8,9,10,.94);backdrop-filter:blur(14px);padding:13px 0;border-bottom:1px solid var(--linha-suave)}
.navbar{display:flex;align-items:center;justify-content:space-between;gap:26px}
.marca img{height:46px;width:auto;transition:height .35s ease}
header.solido .marca img{height:36px}

.menu{display:flex;align-items:center;gap:34px;list-style:none}
.menu .nav-cta-mob{display:none}
.menu a{
  font-size:.775rem;font-weight:500;letter-spacing:.11em;text-transform:uppercase;white-space:nowrap;
  color:rgba(255,255,255,.8);position:relative;padding-bottom:5px;transition:color .28s;
}
.menu a::after{content:'';position:absolute;left:0;bottom:0;width:0;height:1px;background:var(--ouro);transition:width .32s}
.menu a:hover{color:var(--ouro)}
.menu a:hover::after{width:100%}
.nav-cta{
  font-size:.73rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;
  padding:13px 26px;border:1px solid var(--ouro);color:var(--ouro);white-space:nowrap;transition:all .32s;
}
.nav-cta:hover{background:var(--ouro);color:#0a0b0c}
.hamburguer{display:none;background:none;border:none;cursor:pointer;padding:8px;flex-direction:column;gap:6px;z-index:1200}
.hamburguer span{display:block;width:26px;height:1.5px;background:var(--ouro);transition:all .32s}
.hamburguer.ativo span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
.hamburguer.ativo span:nth-child(2){opacity:0}
.hamburguer.ativo span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}

/* ---------- HERO ---------- */
.hero{position:relative;min-height:100vh;display:flex;align-items:center;padding:140px 0 90px;overflow:hidden;background:var(--preto)}
.hero-foto{
  position:absolute;right:0;top:0;width:52%;height:100%;
  background-image:url('/assets/retrato-vertical.jpg');
  background-size:cover;background-position:52% 28%;
}
.hero-foto::after{
  content:'';position:absolute;inset:0;
  background:
    linear-gradient(90deg,var(--preto) 0%,rgba(8,9,10,.92) 22%,rgba(8,9,10,.35) 58%,rgba(8,9,10,.55) 100%),
    linear-gradient(180deg,rgba(8,9,10,.72) 0%,transparent 26%,transparent 68%,rgba(8,9,10,.88) 100%);
}
.hero-brilho{
  position:absolute;left:-14%;top:6%;width:56%;height:76%;pointer-events:none;
  background:radial-gradient(ellipse at center,rgba(198,166,100,.075) 0%,transparent 66%);
}
.hero .wrap{position:relative;z-index:3;width:100%}
.hero-txt{max-width:640px}
.hero h1{margin-bottom:28px;letter-spacing:-.012em}
.hero h1 em{font-style:italic;color:var(--ouro);font-weight:400}
.hero-lead{font-size:1.09rem;color:#b9b8b3;max-width:54ch;margin-bottom:42px;font-weight:300;line-height:1.85}
.hero-botoes{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:52px}
.hero-oab{
  display:flex;flex-wrap:wrap;gap:12px 30px;padding-top:28px;border-top:1px solid var(--linha);
  font-size:.71rem;letter-spacing:.17em;text-transform:uppercase;color:var(--suave-2);
}
.hero-oab span{display:flex;align-items:center;gap:10px}
.hero-oab span::before{content:'';width:4px;height:4px;background:var(--ouro);transform:rotate(45deg);flex:0 0 4px}
@keyframes desce{0%,100%{opacity:.3;transform:scaleY(.55);transform-origin:top}50%{opacity:1;transform:scaleY(1);transform-origin:top}}

/* ---------- FAIXA ---------- */
.faixa{background:var(--preto-2);border-top:1px solid var(--linha-suave);border-bottom:1px solid var(--linha-suave)}
.faixa-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.faixa-item{padding:44px 26px;text-align:center;border-right:1px solid var(--linha-suave)}
.faixa-item:last-child{border-right:none}
.faixa-num{font-family:var(--serif);font-size:2.7rem;font-weight:500;color:var(--ouro);line-height:1;margin-bottom:10px}
.faixa-rot{font-size:.665rem;letter-spacing:.2em;text-transform:uppercase;color:var(--suave-2);line-height:1.7}

/* ---------- SOBRE ---------- */
.sobre-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:74px;align-items:center}
.sobre-txt p{color:var(--suave);font-weight:300}
.sobre-txt strong{color:var(--texto);font-weight:500}
.foto-moldura{position:relative;padding:20px}
.foto-moldura::before{content:'';position:absolute;top:0;left:0;width:88px;height:88px;border-top:1px solid var(--ouro);border-left:1px solid var(--ouro)}
.foto-moldura::after{content:'';position:absolute;bottom:0;right:0;width:88px;height:88px;border-bottom:1px solid var(--ouro);border-right:1px solid var(--ouro)}
.foto-moldura img{display:block;width:100%;height:auto;filter:grayscale(6%) contrast(1.03) brightness(.98)}
.assinatura{margin-top:38px;padding-top:28px;border-top:1px solid var(--linha-suave)}
.assinatura-nome{font-family:var(--serif);font-size:1.62rem;font-weight:500;color:#fff}
.assinatura-oab{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ouro);margin-top:7px}

/* ---------- ÁREAS ---------- */
.areas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--linha-suave);margin-top:62px;border:1px solid var(--linha-suave)}
.area{background:var(--preto);padding:42px 30px;transition:background .4s ease,transform .4s ease;position:relative}
.area::before{content:'';position:absolute;left:0;top:0;width:100%;height:1px;background:var(--ouro);transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.4,0,.2,1)}
.area:hover{background:var(--superficie);transform:translateY(-4px);z-index:2}
.area:hover::before{transform:scaleX(1)}
.area-num{font-family:var(--serif);font-size:.92rem;color:var(--ouro-escuro);letter-spacing:.2em;margin-bottom:18px;display:block;transition:color .4s}
.area:hover .area-num{color:var(--ouro)}
.area h3{margin-bottom:14px;font-size:1.3rem}
.area p{font-size:.92rem;color:var(--suave-2);line-height:1.75;margin:0;font-weight:300;transition:color .4s}
.area:hover p{color:var(--suave)}

/* ---------- MÉTODO ---------- */
.metodo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:46px;margin-top:66px}
.etapa{position:relative;padding-top:38px}
.etapa::before{content:'';position:absolute;top:0;left:0;width:100%;height:1px;background:var(--linha)}
.etapa-num{
  position:absolute;top:-16px;left:0;background:var(--grafite);padding-right:18px;
  font-family:var(--serif);font-size:1.7rem;font-weight:500;color:var(--ouro);line-height:1;
}
.etapa h3{font-size:1.24rem;margin-bottom:13px}
.etapa p{font-size:.92rem;color:var(--suave-2);line-height:1.78;margin:0;font-weight:300}

/* ---------- FAQ ---------- */
.faq{max-width:900px;margin:56px auto 0}
.faq-item{border-bottom:1px solid var(--linha-suave)}
.faq-p{
  width:100%;background:none;border:none;cursor:pointer;text-align:left;color:#fff;
  padding:28px 48px 28px 0;position:relative;
  font-family:var(--serif);font-size:1.3rem;font-weight:500;line-height:1.42;transition:color .28s;
}
.faq-p:hover{color:var(--ouro)}
.faq-p::after{content:'';position:absolute;right:8px;top:50%;width:13px;height:1px;background:var(--ouro);transition:transform .35s}
.faq-p::before{content:'';position:absolute;right:14px;top:50%;width:1px;height:13px;background:var(--ouro);transform:translateY(-50%);transition:transform .35s,opacity .35s}
.faq-item.aberto .faq-p::before{opacity:0;transform:translateY(-50%) rotate(90deg)}
.faq-r{max-height:0;overflow:hidden;transition:max-height .45s cubic-bezier(.4,0,.2,1)}
.faq-r-int{padding:0 48px 30px 0;color:var(--suave);font-size:1rem;line-height:1.86;font-weight:300}

/* ---------- CONTATO ---------- */
.contato-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.info-lista{list-style:none;margin-top:40px}
.info-item{display:flex;gap:22px;padding:24px 0;border-bottom:1px solid var(--linha-suave)}
.info-icone{flex:0 0 44px;height:44px;border:1px solid var(--linha);display:flex;align-items:center;justify-content:center;color:var(--ouro);font-size:1.05rem}
.info-rot{font-size:.655rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro);margin-bottom:6px}
.info-val{color:var(--texto);font-size:.99rem;line-height:1.65;font-weight:300}
.info-val a{transition:color .25s}
.info-val a:hover{color:var(--ouro)}

.form-box{background:var(--preto);border:1px solid var(--linha-suave);padding:46px 40px}
.form-box h3{font-size:1.6rem;margin-bottom:9px}
.form-box .aviso{font-size:.85rem;color:var(--suave-2);margin-bottom:30px;font-weight:300}
.campo{margin-bottom:21px}
.campo label{display:block;font-size:.665rem;letter-spacing:.17em;text-transform:uppercase;color:var(--ouro);margin-bottom:10px}
.campo input,.campo select,.campo textarea{
  width:100%;background:rgba(255,255,255,.028);border:1px solid rgba(255,255,255,.11);
  padding:15px 16px;color:var(--texto);font-family:var(--sans);font-size:.96rem;transition:border-color .28s,background .28s;
}
.campo textarea{resize:vertical;min-height:116px}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--ouro);background:rgba(255,255,255,.045)}
.campo input::placeholder,.campo textarea::placeholder{color:#5f5e5b}
.campo select option{background:#111}
.form-box .btn{width:100%;margin-top:8px}
.form-nota{font-size:.755rem;color:var(--suave-2);margin-top:18px;line-height:1.7;font-weight:300}

/* ---------- RODAPÉ ---------- */
footer{background:#050607;color:var(--suave-2);padding:80px 0 0;font-size:.9rem;border-top:1px solid var(--linha-suave)}
.rodape-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:56px;padding-bottom:56px}
.rodape img.logo-rod{height:66px;width:auto;margin-bottom:24px}
.rodape h4{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro);font-family:var(--sans);font-weight:600;margin-bottom:24px}
.rodape ul{list-style:none}
.rodape li{margin-bottom:12px}
.rodape a{transition:color .25s}
.rodape a:hover{color:var(--ouro)}
.rodape-sobre{max-width:44ch;line-height:1.85;font-weight:300}
.rodape-social{display:flex;gap:12px;margin-top:26px}
.rodape-social a{width:40px;height:40px;border:1px solid var(--linha);display:flex;align-items:center;justify-content:center;color:var(--ouro);transition:all .3s}
.rodape-social a:hover{background:var(--ouro);color:#0a0b0c}
.rodape-legal{border-top:1px solid var(--linha-suave);padding:32px 0;font-size:.775rem;line-height:1.85;color:#6c6b68;font-weight:300}
.rodape-legal p{margin-bottom:12px}
.rodape-legal strong{color:#8f8e8a;font-weight:500}
.rodape-base{border-top:1px solid var(--linha-suave);padding:24px 0;display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;font-size:.765rem}

/* ---------- WHATSAPP ---------- */
.zap{position:fixed;right:26px;bottom:26px;z-index:900;width:56px;height:56px;border-radius:50%;background:#1f2c25;border:1px solid var(--ouro);display:flex;align-items:center;justify-content:center;transition:all .32s;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.zap:hover{background:var(--ouro);transform:translateY(-3px)}
.zap svg{width:27px;height:27px;fill:var(--ouro);transition:fill .32s}
.zap:hover svg{fill:#0a0b0c}

/* ---------- ANIMAÇÃO ---------- */
.rv{opacity:0;transform:translateY(28px);transition:opacity .85s ease,transform .85s ease}
.rv.vis{opacity:1;transform:none}

/* ---------- RESPONSIVO ---------- */
@media (max-width:1180px){
  .areas-grid{grid-template-columns:repeat(2,1fr)}
  .area{padding:40px 34px}
  .metodo-grid{grid-template-columns:repeat(2,1fr);gap:44px 40px}
}
@media (max-width:980px){
  .hero{min-height:auto;padding:120px 0 0;display:block}
  .hero-foto{position:relative;width:100%;height:auto;aspect-ratio:4/4.2;background-position:50% 20%;margin-top:52px}
  .hero-foto::after{background:linear-gradient(180deg,var(--preto) 0%,rgba(8,9,10,.35) 16%,transparent 42%,transparent 62%,var(--preto) 100%)}
  .hero .wrap{padding-bottom:0}
  .hero-txt{max-width:none}
    .sobre-grid,.contato-grid{grid-template-columns:1fr;gap:52px}
  .foto-moldura{max-width:520px;margin:0 auto}
  .faixa-grid{grid-template-columns:repeat(2,1fr)}
  .faixa-item:nth-child(2){border-right:none}
  .faixa-item:nth-child(1),.faixa-item:nth-child(2){border-bottom:1px solid var(--linha-suave)}
}
@media (max-width:840px){
  .hamburguer{display:flex}
  .menu{
    position:fixed;top:0;right:-100%;width:min(330px,86vw);height:100vh;background:#0a0b0c;
    flex-direction:column;align-items:flex-start;justify-content:center;gap:30px;padding:60px 42px;
    transition:right .4s cubic-bezier(.4,0,.2,1);box-shadow:-10px 0 50px rgba(0,0,0,.6);border-left:1px solid var(--linha-suave);
  }
  .menu.aberto{right:0}
  .menu a{font-size:.95rem}
  .nav-cta{display:none}
  .menu .nav-cta-mob{display:inline-flex;border:1px solid var(--ouro);color:var(--ouro);padding:14px 28px;font-size:.75rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;margin-top:10px}
  .menu .nav-cta-mob::after{display:none}
  header{padding:16px 0}
}
@media (max-width:560px){
  body{font-size:16px}
  .wrap{padding:0 22px}
  .marca img{height:36px}
  header.solido .marca img{height:32px}
  .hero-botoes .btn{width:100%;padding:17px 20px;letter-spacing:.1em;font-size:.75rem}
  .hero-botoes{margin-bottom:44px}
  .faixa-grid{grid-template-columns:1fr}
  .faixa-item{border-right:none;border-bottom:1px solid var(--linha-suave)}
  .areas-grid{grid-template-columns:1fr}
  .area{padding:34px 26px}
  .metodo-grid{grid-template-columns:1fr;gap:40px}
  .form-box{padding:34px 24px}
  .rodape-grid{grid-template-columns:1fr;gap:40px}
  .rodape-base{flex-direction:column;gap:9px}
  .foto-moldura::before,.foto-moldura::after{width:58px;height:58px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .rv{opacity:1;transform:none;transition:none}
  *{animation:none!important}
}
/* ===================================================================
   COMPONENTES DAS PÁGINAS INTERNAS
   =================================================================== */

/* Migalha de pão */
.migalha{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--suave-2);margin-bottom:22px}
.migalha a{color:var(--suave-2);transition:color .25s}
.migalha a:hover{color:var(--ouro)}
.migalha span{color:var(--ouro);margin:0 9px}

/* Hero das páginas internas */
.hero--lp{min-height:auto;padding:170px 0 96px;align-items:flex-start}
.hero--lp .hero-foto{width:44%;opacity:.72}
.hero--lp .hero-foto::after{
  background:
    linear-gradient(90deg,var(--preto) 0%,rgba(8,9,10,.95) 30%,rgba(8,9,10,.55) 72%,rgba(8,9,10,.7) 100%),
    linear-gradient(180deg,rgba(8,9,10,.8) 0%,transparent 30%,transparent 60%,var(--preto) 100%);
}
.hero--lp h1{font-size:clamp(2.15rem,4.4vw,3.5rem);margin-bottom:24px}
.hero--lp .hero-txt{max-width:660px}

/* Card de área virando link na home */
a.area{display:block}
.area-mais{
  display:inline-flex;align-items:center;gap:8px;margin-top:20px;
  font-family:var(--sans);font-size:.68rem;font-weight:600;letter-spacing:.17em;
  text-transform:uppercase;color:var(--ouro-escuro);transition:color .4s,gap .3s;
}
.area:hover .area-mais{color:var(--ouro);gap:14px}

/* Bloco de duas colunas */
.bloco{display:grid;grid-template-columns:.85fr 1.15fr;gap:64px;align-items:start}
.bloco--inv{grid-template-columns:1.15fr .85fr}
.bloco p{color:var(--suave);font-weight:300}
.bloco strong{color:var(--texto);font-weight:500}
.bloco-titulo{position:sticky;top:120px}

/* Caixa de fundamento legal */
.caixa-legal{
  background:rgba(198,166,100,.045);border-left:2px solid var(--ouro);
  padding:34px 36px;margin:36px 0;
}
.caixa-legal h4{
  font-family:var(--sans);font-size:.66rem;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:var(--ouro);margin-bottom:20px;
}
.caixa-legal ul{list-style:none}
.caixa-legal li{
  position:relative;padding-left:22px;margin-bottom:15px;
  font-size:.94rem;line-height:1.72;color:var(--suave);font-weight:300;
}
.caixa-legal li:last-child{margin-bottom:0}
.caixa-legal li::before{content:'';position:absolute;left:0;top:11px;width:5px;height:5px;background:var(--ouro);transform:rotate(45deg)}
.caixa-legal li b{color:var(--texto);font-weight:500}

/* Grade de situações / tópicos */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--linha-suave);border:1px solid var(--linha-suave);margin-top:56px}
.cards--2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--preto);padding:38px 30px;transition:background .38s ease}
.sec--alt .card{background:var(--preto-2)}
.sec--graf .card{background:var(--grafite)}
.card:hover{background:var(--superficie)}
.card h3{font-size:1.2rem;margin-bottom:12px}
.card p{font-size:.92rem;color:var(--suave-2);line-height:1.74;margin:0;font-weight:300}

/* Lista de verificação (documentos) */
.checklist{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 40px;margin-top:40px;list-style:none}
.checklist li{
  position:relative;padding-left:30px;font-size:.96rem;color:var(--suave);
  font-weight:300;line-height:1.7;padding-bottom:14px;border-bottom:1px solid var(--linha-suave);
}
.checklist li::before{
  content:'';position:absolute;left:2px;top:8px;width:11px;height:6px;
  border-left:1.5px solid var(--ouro);border-bottom:1.5px solid var(--ouro);transform:rotate(-45deg);
}

/* Faixa de chamada */
.cta-faixa{background:var(--preto-2);border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);padding:74px 0;text-align:center}
.cta-faixa h2{font-size:clamp(1.7rem,3vw,2.5rem);margin-bottom:16px}
.cta-faixa p{color:var(--suave);max-width:60ch;margin:0 auto 34px;font-weight:300}

/* Aviso de fuso horário */
.fuso{border:1px solid var(--linha);padding:26px 30px;margin-top:34px}
.fuso h4{font-family:var(--sans);font-size:.66rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--ouro);margin-bottom:14px}
.fuso p{font-size:.9rem;color:var(--suave);font-weight:300;line-height:1.75;margin:0}
.fuso table{width:100%;border-collapse:collapse;margin-top:16px;font-size:.88rem}
.fuso td{padding:9px 0;border-bottom:1px solid var(--linha-suave);color:var(--suave);font-weight:300}
.fuso td:last-child{text-align:right;color:var(--texto)}
.fuso tr:last-child td{border-bottom:none}

/* Página de texto corrido (política de privacidade) */
.texto-legal{max-width:78ch;margin:0 auto}
.texto-legal h2{font-size:clamp(1.5rem,2.4vw,2rem);margin:52px 0 18px}
.texto-legal h2:first-of-type{margin-top:0}
.texto-legal p,.texto-legal li{color:var(--suave);font-weight:300;font-size:1rem;line-height:1.85}
.texto-legal ul{margin:0 0 20px 22px}
.texto-legal li{margin-bottom:10px}
.texto-legal strong{color:var(--texto);font-weight:500}

@media (max-width:980px){
  .bloco,.bloco--inv{grid-template-columns:1fr;gap:34px}
  .bloco-titulo{position:static}
  .cards{grid-template-columns:repeat(2,1fr)}
  .hero--lp{padding:150px 0 0}
  .hero--lp .hero-foto{width:100%;opacity:1}
}
@media (max-width:560px){
  .cards,.cards--2{grid-template-columns:1fr}
  .checklist{grid-template-columns:1fr;gap:0}
  .caixa-legal{padding:26px 22px}
  .card{padding:30px 24px}
}

/* ===================================================================
   BLOCOS DE CONVERSÃO — Previdência para Brasileiro no Exterior
   =================================================================== */

/* ---- três fatos com número grande ---- */
.fatos{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--linha-suave);
  border:1px solid var(--linha-suave);margin-top:52px}
.fato{background:var(--preto);padding:38px 32px 32px;display:flex;flex-direction:column}
.sec--alt .fato{background:var(--preto-2)}
.fato-n{font-family:var(--serif);font-size:3.6rem;line-height:1;color:var(--ouro);
  font-weight:600;letter-spacing:-.02em;margin-bottom:6px}
.fato h3{font-family:var(--serif);font-size:1.3rem;font-weight:500;color:var(--texto);
  margin-bottom:12px;line-height:1.25}
.fato p{color:var(--suave);font-size:15.5px;line-height:1.7;font-weight:300;flex:1}
.fato-base{margin-top:18px;padding-top:14px;border-top:1px solid var(--linha-suave);
  font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ouro-escuro);font-weight:500}

/* ---- benefícios protegidos ---- */
.escudos{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--linha-suave);
  border:1px solid var(--linha-suave);margin-top:52px}
.escudo{background:var(--preto-2);padding:30px 28px;display:flex;flex-direction:column}
.escudo h3{font-family:var(--serif);font-size:1.22rem;font-weight:500;color:var(--ouro-claro);
  margin-bottom:10px;line-height:1.3}
.escudo p{color:var(--suave);font-size:15px;line-height:1.68;font-weight:300;flex:1}
.escudo-c{margin-top:16px;font-size:11.5px;letter-spacing:.06em;color:var(--suave-2);
  font-variant-numeric:tabular-nums}

/* ---- etapas do programa ---- */
.etapas{margin-top:52px;border-top:1px solid var(--linha-suave)}
.etapa{display:flex;gap:30px;padding:28px 0;border-bottom:1px solid var(--linha-suave)}
.etapa-n{flex:none;width:58px;font-family:var(--serif);font-size:1.9rem;line-height:1.1;
  color:var(--ouro-escuro);font-weight:600;font-variant-numeric:tabular-nums}
.etapa h3{font-family:var(--serif);font-size:1.32rem;font-weight:500;color:var(--texto);
  margin-bottom:8px;line-height:1.25}
.etapa p{color:var(--suave);font-size:15.5px;line-height:1.72;font-weight:300;max-width:74ch}

/* ---- incluído / não incluído ---- */
.duas{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--linha-suave);
  border:1px solid var(--linha-suave);margin-top:52px}
.duas .col{background:var(--grafite);padding:36px 32px}
.duas h3{font-family:var(--serif);font-size:1.35rem;font-weight:500;margin-bottom:22px;
  padding-bottom:14px;border-bottom:1px solid var(--linha-suave)}
.col--sim h3{color:var(--ouro-claro)}
.col--nao h3{color:var(--suave)}
.duas ul{list-style:none}
.duas li{position:relative;padding-left:26px;margin-bottom:13px;color:var(--suave);
  font-size:15px;line-height:1.68;font-weight:300}
.col--sim li::before{content:'';position:absolute;left:0;top:9px;width:9px;height:5px;
  border-left:1.5px solid var(--ouro);border-bottom:1.5px solid var(--ouro);transform:rotate(-45deg)}
.col--nao li::before{content:'';position:absolute;left:2px;top:11px;width:10px;height:1.5px;
  background:var(--suave-2)}

/* ---- acordos por país ---- */
.paises{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--linha-suave);
  border:1px solid var(--linha-suave);margin-top:52px}
.pais{background:var(--preto-2);padding:34px 32px}
.pais-b{display:inline-block;font-size:11px;letter-spacing:.18em;font-weight:600;
  color:var(--ouro);border:1px solid var(--linha);border-radius:2px;padding:4px 10px;margin-bottom:16px}
.pais h3{font-family:var(--serif);font-size:1.5rem;font-weight:500;color:var(--texto);margin-bottom:12px}
.pais p{color:var(--suave);font-size:15.5px;line-height:1.72;font-weight:300}
.pais-base{display:block;margin-top:18px;padding-top:14px;border-top:1px solid var(--linha-suave);
  font-size:11.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--ouro-escuro);font-weight:500}

/* ---- chamada de WhatsApp no meio do texto ---- */
.zaplinha{display:flex;align-items:center;justify-content:space-between;gap:28px;flex-wrap:wrap;
  margin-top:46px;padding:26px 32px;background:var(--superficie);border:1px solid var(--linha);
  border-radius:3px}
.zaplinha p{font-family:var(--serif);font-size:1.32rem;color:var(--texto);font-weight:500;
  line-height:1.35;margin:0}
.zaplinha .btn{flex:none}

/* ---- notas e passos ---- */
.nota-legal{margin-top:30px;padding-left:16px;border-left:2px solid var(--ouro-escuro);
  color:var(--suave-2);font-size:14px;line-height:1.7;font-weight:300}
.nota-legal b{color:var(--suave);font-weight:500}
.passos{list-style:none;counter-reset:p}
.passos li{position:relative;padding-left:44px;margin-bottom:18px;color:var(--suave);
  font-size:16px;line-height:1.72;font-weight:300}
.passos li b{color:var(--texto);font-weight:500}
.passos li::before{counter-increment:p;content:counter(p);position:absolute;left:0;top:2px;
  width:28px;height:28px;border:1px solid var(--linha);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-size:15px;color:var(--ouro);font-weight:600}

/* ---- barra fixa de WhatsApp (celular) ---- */
.zapbar{display:none}
@media(max-width:860px){
  .fatos,.escudos,.paises,.duas{grid-template-columns:1fr}
  .etapa{gap:18px}
  .etapa-n{width:42px;font-size:1.5rem}
  .zaplinha{flex-direction:column;align-items:stretch;text-align:center;padding:24px 22px}
  .zaplinha .btn{width:100%;justify-content:center}
  .zap{display:none}
  .zapbar{
    display:flex;align-items:center;justify-content:center;gap:11px;
    position:fixed;left:0;right:0;bottom:0;z-index:950;
    padding:15px 18px;background:var(--ouro);color:#0a0b0c;
    font-family:var(--sans);font-size:15.5px;font-weight:600;letter-spacing:.02em;
    box-shadow:0 -8px 28px rgba(0,0,0,.5)
  }
  .zapbar svg{width:21px;height:21px;fill:#0a0b0c;flex:none}
  body{padding-bottom:58px}
}

/* ===================================================================
   ALTERNANCIA INSTITUCIONAL DE BLOCOS  —  04/08/2026
   Backup do arquivo original em: assets/_backup/gf-original-2026-08-04.css
   Para reverter, basta apagar deste comentario ate o fim do arquivo.
   =================================================================== */

.sec--claro{
  --preto:#f5f3ef;
  --preto-2:#efece6;
  --grafite:#f5f3ef;
  --superficie:#e7e3da;
  --linha:rgba(138,112,56,.30);
  --linha-suave:rgba(20,22,26,.13);
  --ouro:#8a7038;
  --ouro-claro:#6f5a2c;
  --ouro-escuro:#a08a58;
  --texto:#14161a;
  --suave:#4b4e54;
  --suave-2:#6d7076;
  color:var(--texto);
  background:var(--preto);
}
.sec--alt.sec--claro{background:var(--preto-2)}
.sec--graf.sec--claro{background:var(--grafite)}

.sec--claro h1,
.sec--claro h2,
.sec--claro h3,
.sec--claro h4,
.sec--claro .assinatura-nome,
.sec--claro .faq-p{color:#12141a}
.sec--claro .faq-p:hover{color:var(--ouro)}

.sec--claro .btn--ouro{background:#c6a664;color:#0a0b0c}
.sec--claro .btn--ouro:hover{background:#b5934e;box-shadow:0 14px 34px rgba(20,22,26,.18)}
.sec--claro .btn--linha{color:var(--texto);border-color:rgba(20,22,26,.26)}
.sec--claro .btn--linha:hover{border-color:var(--ouro);color:var(--ouro)}

.sec--claro .campo input,
.sec--claro .campo select,
.sec--claro .campo textarea{background:#fff;border-color:rgba(20,22,26,.18);color:var(--texto)}
.sec--claro .campo input:focus,
.sec--claro .campo select:focus,
.sec--claro .campo textarea:focus{border-color:var(--ouro);background:#fff}
.sec--claro .campo input::placeholder,
.sec--claro .campo textarea::placeholder{color:#8d9096}
.sec--claro .campo select option{background:#fff;color:#14161a}

.sec--claro .caixa-legal{background:rgba(138,112,56,.075)}
.sec--claro .foto-moldura img{filter:grayscale(4%) contrast(1.02) brightness(1)}

.sec--claro + .sec,
.sec + .sec--claro{border-top:1px solid rgba(198,166,100,.22)}

/* Correcao de colisao: a regra .etapa dos blocos de conversao das
   paginas internas estava sobrescrevendo os cards do Metodo na home. */
.metodo-grid .etapa{display:block;gap:0;padding:38px 0 0;border-bottom:none}

/* ===================================================================
   TEXTO JUSTIFICADO  —  04/08/2026
   Blocos de texto corrido alinhados dos dois lados, com hifenizacao
   automatica para evitar vaos internos nas colunas estreitas.
   =================================================================== */
.hero-lead,
.sobre-txt p,
.area p{
  text-align:justify;
  text-justify:inter-word;
  -webkit-hyphens:auto;
  hyphens:auto;
  overflow-wrap:break-word;
}

/* ===================================================================
   JUSTIFICACAO AMPLIADA  —  04/08/2026
   Texto corrido das paginas internas e o que faltava na home.
   Os blocos centralizados mantem a ultima linha ao centro, para nao
   perder o eixo da composicao.
   =================================================================== */
.bloco p,
.card p,
.caixa-legal li,
.checklist li,
.fato p,
.escudo p,
.pais p,
.duas li,
.etapa p,
.passos li,
.faq-r-int,
.texto-legal p,
.texto-legal li,
.fuso p,
.nota-legal,
.rodape-sobre,
.rodape-legal p{
  text-align:justify;
  -webkit-hyphens:auto;
  hyphens:auto;
  overflow-wrap:break-word;
}
.centro .lead,
.cta-faixa p{
  text-align:justify;
  text-align-last:center;
  -webkit-hyphens:auto;
  hyphens:auto;
}
