/* ============================================================
   JDLK Advogados — folha de estilo institucional
   Conforme Brand Book v1.0 (Maio 2025)
   Cores, tipografia e iconografia oficiais.
   ============================================================ */

:root{
  /* Cores institucionais — Brand Book §5 */
  --navy:#001B2A;        /* Azul Marinho — segurança, tradição, confiança */
  --gray-mid:#8C857D;    /* Cinza Médio — equilíbrio, neutralidade, sofisticação */
  --gray-light:#D9D9D9;  /* Cinza Claro — leveza, modernidade */
  --off-white:#F6F4F1;   /* Off White — elegância, minimalismo */
  --white:#ffffff;

  /* Papéis semânticos derivados da paleta oficial */
  --bg:var(--off-white);
  --text:var(--navy);
  --text-muted:#6E685F; /* --gray-mid escurecido para atender contraste AA (4.5:1) em texto pequeno */
  --line:var(--gray-light);
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:'Montserrat', sans-serif;   /* Fonte de apoio — Brand Book §6 */
  color:var(--text);
  background:var(--bg);
  line-height:1.7;
  font-size:14px;
  -webkit-font-smoothing:antialiased;
}

/* Fonte institucional — Brand Book §6 */
h1,h2,h3,.serif{
  font-family:'Cormorant Garamond', Georgia, serif;
  font-weight:500;
  letter-spacing:0;
}

a{color:inherit; text-decoration:none;}
ul{list-style:none;}
.wrap{max-width:1160px; margin:0 auto; padding:0 40px;}

/* scroll reveal */
.reveal{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
.reveal.in-view{opacity:1; transform:none;}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1; transform:none; transition:none;}
}

.eyebrow{font-size:10.5px; letter-spacing:0.18em; text-transform:uppercase; color:var(--text-muted); font-weight:500;}
.eyebrow-light{color:rgba(246,244,241,.6);}

.btn{
  display:inline-flex; align-items:center; gap:10px;
  border:1px solid currentColor; padding:13px 24px; background:transparent;
  font-size:10.5px; letter-spacing:0.16em; text-transform:uppercase;
  font-weight:500; transition:background-color .25s ease, color .25s ease, transform .2s ease; white-space:nowrap;
  font-family:'Montserrat',sans-serif; color:inherit;
}
.btn:active{transform:scale(.97);}
.hero-copy .btn:hover, .purpose .btn:hover, .page-banner .btn:hover{background:var(--off-white); color:var(--navy);}
.content .btn:hover{background:var(--navy); color:var(--off-white);}
.link-arrow{font-size:10.5px; letter-spacing:0.16em; text-transform:uppercase; font-weight:500; display:inline-flex; align-items:center; gap:8px; transition:gap .2s ease, opacity .2s ease;}
.link-arrow:hover{opacity:.65; gap:12px;}

/* ---------- header ---------- */
.site-header{background:var(--navy); color:var(--off-white); position:sticky; top:0; z-index:50; transition:box-shadow .3s ease;}
.site-header.scrolled{box-shadow:0 8px 24px rgba(0,27,42,.32);}
.nav{position:relative; display:flex; align-items:center; justify-content:space-between; padding:20px 40px; max-width:1160px; margin:0 auto; transition:padding .25s ease;}
.site-header.scrolled .nav{padding-top:14px; padding-bottom:14px;}

/* Marca: quadrado com 4 quadrantes — Brand Book §2 e §13 (sem efeitos, sem distorção) */
.logo{display:flex; align-items:center; gap:16px;}
.logo-mark{
  display:grid; grid-template-columns:1fr 1fr; grid-template-rows:1fr 1fr;
  width:38px; height:38px; border:1px solid rgba(246,244,241,.6);
  font-family:'Cormorant Garamond', Georgia, serif; font-size:14px;
  box-sizing:border-box; overflow:hidden; flex:none;
  line-height:1; letter-spacing:0; font-weight:500;
}
.logo-mark.mini{width:20px; height:20px; font-size:8px;}
.logo-mark span{
  display:flex; align-items:center; justify-content:center;
  box-sizing:border-box; line-height:1; overflow:hidden;
  min-width:0; min-height:0; padding:0;
}
.logo-mark span:nth-child(1){border-right:.5px solid rgba(246,244,241,.35); border-bottom:.5px solid rgba(246,244,241,.35);}
.logo-mark span:nth-child(2){border-bottom:.5px solid rgba(246,244,241,.35);}
.logo-mark span:nth-child(3){border-right:.5px solid rgba(246,244,241,.35);}
.logo-word{font-size:10.5px; letter-spacing:0.26em; font-weight:400; font-family:'Montserrat',sans-serif;}

.nav-links{display:flex; gap:28px; font-size:10.5px; letter-spacing:0.14em; text-transform:uppercase; font-weight:500;}
.nav-links a{opacity:.72; transition:opacity .2s; padding-bottom:4px; border-bottom:1px solid transparent;}
.nav-links a:hover{opacity:1;}
.nav-links a.active{opacity:1; border-bottom-color:var(--off-white);}
.lang{font-size:10.5px; letter-spacing:0.14em; display:flex; align-items:center; gap:8px;}
.lang a{opacity:.5; transition:opacity .2s ease; font-weight:500;}
.lang a:hover{opacity:.9;}
.lang a.active{opacity:1; border-bottom:1px solid rgba(246,244,241,.7); padding-bottom:2px;}
.lang-sep{opacity:.28;}

/* botão de menu — visível apenas em mobile, ver media query abaixo */
.nav-toggle{display:none; width:34px; height:34px; flex:none; flex-direction:column; align-items:center; justify-content:center; gap:5px; background:none; border:none; padding:0; cursor:pointer;}
.nav-toggle span{display:block; width:22px; height:1px; background:var(--off-white); transition:transform .25s ease, opacity .25s ease;}
.nav.nav-open .nav-toggle span:nth-child(1){transform:translateY(6px) rotate(45deg);}
.nav.nav-open .nav-toggle span:nth-child(2){opacity:0;}
.nav.nav-open .nav-toggle span:nth-child(3){transform:translateY(-6px) rotate(-45deg);}

/* ---------- hero carousel ---------- */
.hero{position:relative; background:var(--navy); color:var(--off-white); min-height:520px; overflow:hidden;}
.hero-slide{
  display:grid; grid-template-columns:1fr 1fr;
  position:absolute; inset:0; opacity:0; visibility:hidden;
  transition:opacity .9s ease;
}
.hero-slide.active{position:relative; opacity:1; visibility:visible;}
.hero-copy{padding:56px 40px 76px; display:flex; flex-direction:column; justify-content:center; max-width:470px; margin-left:auto;}
.hero-copy .eyebrow-light{margin-bottom:16px;}
.hero-copy h1{font-size:40px; line-height:1.18; margin:0 0 22px; font-weight:400;}
.hero-copy p{font-size:14px; color:rgba(246,244,241,.72); margin-bottom:30px; max-width:420px;}
.hero-img{background-size:cover; background-position:center;}
.hero-dots{position:absolute; left:50%; bottom:26px; transform:translateX(-50%); display:flex; gap:10px; z-index:5;}
.hero-dot{width:8px; height:8px; border-radius:50%; background:rgba(246,244,241,.35); border:1px solid transparent; cursor:pointer; transition:all .25s ease; padding:0;}
.hero-dot.active{background:transparent; border-color:var(--off-white); width:10px; height:10px;}
@media (max-width: 900px){
  .hero-slide{position:relative; opacity:1; visibility:visible; display:none;}
  .hero-slide.active{display:grid;}
}

/* ---------- page banner ---------- */
.page-banner{background:var(--navy); color:var(--off-white); padding:64px 0 58px;}
.page-banner h1{font-size:36px; margin:14px 0 12px; line-height:1.25; font-weight:400;}
.page-banner p{font-size:13.5px; color:rgba(246,244,241,.65); max-width:520px;}

/* ---------- areas grid (home) ---------- */
.areas{background:var(--bg); padding:68px 0;}
.areas h2{text-align:center; text-transform:uppercase; font-size:11px; letter-spacing:0.24em; color:var(--text-muted); margin-bottom:44px; font-family:'Montserrat',sans-serif; font-weight:500;}
.areas-grid{display:grid; grid-template-columns:repeat(4, 1fr); gap:32px 26px;}
.area-card{display:block; padding:0 0 0 20px; border-left:1px solid var(--line); transition:transform .3s ease, border-color .3s ease;}
.area-card:hover{transform:translateY(-5px); border-color:var(--navy);}
.area-icon{width:24px; height:24px; margin-bottom:16px; color:var(--navy); transition:transform .3s ease;}
.area-card:hover .area-icon{transform:scale(1.1);}
.area-card h3{font-size:11px; letter-spacing:0.14em; text-transform:uppercase; margin-bottom:10px; font-family:'Montserrat',sans-serif; font-weight:500; color:var(--navy);}
.area-card p{font-size:12.5px; color:var(--text-muted); line-height:1.6;}

/* ---------- purpose band ---------- */
.purpose{background:var(--navy); color:var(--off-white); padding:64px 0;}
.purpose .wrap{display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start;}
.purpose h2{font-size:30px; line-height:1.35; font-weight:400;}
.purpose p{font-size:13.5px; color:rgba(246,244,241,.7); margin-bottom:16px;}
.purpose .btn{color:var(--off-white); margin-top:10px;}

/* ---------- quicklinks ---------- */
.quicklinks{background:var(--bg); border-top:1px solid var(--line); padding:6px 0;}
.quicklinks-grid{display:grid; grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));}
.quicklinks-grid a{display:flex; align-items:center; justify-content:space-between; padding:24px 18px; font-size:11px; text-transform:uppercase; letter-spacing:0.14em; font-weight:500; border-left:1px solid var(--line); transition:color .25s ease, background-color .25s ease;}
.quicklinks-grid a:first-child{border-left:none;}
.quicklinks-grid a span{color:var(--text-muted); font-weight:400;}
.quicklinks-grid a:hover{color:var(--navy); background:rgba(217,217,217,.28);}

/* ---------- generic content ---------- */
.content{background:var(--bg); padding:70px 0;}
.split{display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:start;}
.content p{font-size:13.5px; color:var(--text-muted); margin-bottom:18px; line-height:1.75; max-width:520px;}
.content p.lead{color:var(--navy); font-size:21px; font-weight:400; line-height:1.45; font-family:'Cormorant Garamond', Georgia, serif;}
.content-photo{background-size:cover; background-position:center; min-height:340px;}

.stats-row{display:grid; grid-template-columns:repeat(2,1fr); gap:22px; border-top:1px solid var(--line); margin-top:30px; padding-top:24px; max-width:420px;}
.stats-row b{display:block; font-family:'Cormorant Garamond', Georgia, serif; font-size:30px; color:var(--navy); font-weight:500; line-height:1.1;}
.stats-row span{font-size:10px; color:var(--text-muted); text-transform:uppercase; letter-spacing:0.14em; line-height:1.4; display:block; margin-top:6px;}

/* ---------- profissionais ---------- */
.people-grid{display:grid; grid-template-columns:1fr 1fr; gap:30px; margin-bottom:38px;}
.person-card{display:flex; align-items:flex-start; gap:18px; background:var(--white); padding:22px; border:1px solid var(--line); transition:transform .3s ease, border-color .3s ease, box-shadow .3s ease;}
.person-card:hover{transform:translateY(-4px); border-color:var(--navy); box-shadow:0 12px 28px rgba(0,27,42,.09);}
.avatar{width:86px; height:86px; flex:none; object-fit:cover; display:block; filter:grayscale(100%); transition:filter .4s ease, transform .3s ease;}
.person-card:hover .avatar{filter:grayscale(0%); transform:scale(1.03);}
.person-info{flex:1;}
.person-info b{display:block; font-size:15px; margin-bottom:7px; font-weight:500; font-family:'Cormorant Garamond', Georgia, serif; color:var(--navy); letter-spacing:0.01em;}
.person-info p{font-size:12px; margin:0; color:var(--text-muted); max-width:none; line-height:1.6;}
/* Iconografia linear, apenas em cores institucionais — Brand Book §7 */
.in-icon{width:28px; height:28px; border:1px solid var(--gray-light); color:var(--navy); display:flex; align-items:center; justify-content:center; flex:none; transition:border-color .25s ease, background-color .25s ease, color .25s ease;}
.in-icon svg{width:15px; height:15px;}
.in-icon:hover{border-color:var(--navy); background:var(--navy); color:var(--off-white);}

/* ---------- lista de áreas ---------- */
.area-rows{display:flex; flex-direction:column;}
.area-row{display:flex; align-items:center; gap:16px; padding:18px 4px; border-bottom:1px solid var(--line); font-size:11.5px; font-weight:500; letter-spacing:0.14em; text-transform:uppercase; transition:padding-left .25s ease, color .25s ease; color:var(--navy);}
.area-row:hover{padding-left:12px;}
.row-icon{width:18px; height:18px; color:var(--navy); flex:none; transition:transform .25s ease;}
.area-row:hover .row-icon{transform:scale(1.1);}
.area-row .chev{margin-left:auto; color:var(--text-muted); font-weight:400; font-size:16px; transition:transform .25s ease, color .25s ease;}
.area-row:hover .chev{transform:translateX(4px); color:var(--navy);}

/* ---------- lista de tópicos ---------- */
.practice-list{margin:0 0 26px; display:flex; flex-direction:column; gap:11px; max-width:440px;}
.practice-list li{font-size:13px; color:var(--navy); position:relative; padding-left:18px; line-height:1.6;}
.practice-list li::before{content:""; position:absolute; left:0; top:.62em; width:6px; height:1px; background:var(--gray-mid);}

/* ---------- publicações ---------- */
.pub-list{display:flex; flex-direction:column;}
.pub-item{display:flex; gap:26px; padding:22px 0; border-bottom:1px solid var(--line); transition:padding-left .25s ease;}
.pub-item:hover{padding-left:8px;}
.pub-date{font-size:11px; color:var(--text-muted); flex:none; width:78px; padding-top:4px;}
.pub-cat{font-size:9.5px; letter-spacing:0.16em; text-transform:uppercase; color:var(--text-muted); font-weight:500; display:block; margin-bottom:7px;}
.pub-title{font-size:18px; font-weight:500; line-height:1.4; font-family:'Cormorant Garamond', Georgia, serif; color:var(--navy);}

/* ---------- contato ---------- */
.contact-detail{font-size:13px; display:flex; gap:12px; margin-bottom:16px; align-items:flex-start; color:var(--navy);}
.contact-detail svg{width:15px; height:15px; margin-top:3px; flex:none; color:var(--gray-mid);}
.mini-form{display:flex; flex-direction:column; gap:10px;}
.mini-form .f{border:1px solid var(--line); background:var(--white); font-size:12px; color:var(--navy); padding:13px 15px; font-family:'Montserrat',sans-serif; width:100%; transition:border-color .25s ease;}
.mini-form .f:focus{outline:none; border-color:var(--navy);}
.mini-form textarea.f{height:104px; resize:vertical;}
.mini-form .f::placeholder{color:var(--text-muted); text-transform:uppercase; font-size:10px; letter-spacing:0.14em;}
.mini-form button.btn{cursor:pointer;}
.mini-form button.btn[disabled]{opacity:.45; cursor:progress;}

/* rótulos acessíveis: lidos por leitor de tela, invisíveis na tela
   (o layout usa placeholder como rótulo visual) */
.visually-hidden{
  position:absolute; width:1px; height:1px; margin:-1px; padding:0;
  overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0;
}

/* honeypot — precisa existir no DOM e ficar fora do alcance de pessoas.
   display:none seria detectado por bots melhores; isto é mais discreto. */
.hp{position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden;}

.form-legal{font-size:11px; line-height:1.6; color:var(--text-muted); margin:2px 0 4px;}
.form-legal a{text-decoration:underline; color:var(--navy);}
.form-status{font-size:12px; line-height:1.6; margin-top:8px; color:var(--navy); display:none;}
.form-status.show{display:block;}
.form-status.erro{color:#8a2b2b;}

/* ---------- páginas legais (privacidade / LGPD) ---------- */
.legal{max-width:760px;}
.legal h2{font-size:11px; letter-spacing:0.18em; text-transform:uppercase; color:var(--text-muted); font-family:'Montserrat',sans-serif; font-weight:500; margin:38px 0 14px; padding-top:22px; border-top:1px solid var(--line);}
.legal h2:first-of-type{margin-top:0; padding-top:0; border-top:none;}
.legal p{max-width:none;}
.legal ul{display:flex; flex-direction:column; gap:9px; margin:0 0 18px;}
.legal li{font-size:13px; color:var(--text-muted); position:relative; padding-left:18px; line-height:1.7;}
.legal li::before{content:""; position:absolute; left:0; top:.72em; width:6px; height:1px; background:var(--gray-mid);}
.legal li b{color:var(--navy); font-weight:500;}
.legal a{color:var(--navy); text-decoration:underline; text-underline-offset:2px;}
.legal .updated{font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--text-muted); margin-bottom:30px;}

/* ---------- página 404 ---------- */
.notfound{background:var(--navy); color:var(--off-white); padding:110px 0 120px; text-align:center;}
.notfound .code{font-family:'Cormorant Garamond', Georgia, serif; font-size:76px; line-height:1; font-weight:400; margin-bottom:10px;}
.notfound h1{font-size:30px; font-weight:400; margin-bottom:16px;}
.notfound p{font-size:13.5px; color:rgba(246,244,241,.7); max-width:440px; margin:0 auto 30px;}
.notfound .btn{color:var(--off-white);}
.notfound .btn:hover{background:var(--off-white); color:var(--navy);}

/* ---------- rodapé ---------- */
.contact-bar{background:var(--bg); padding:48px 0; border-top:1px solid var(--line);}
.contact-bar .wrap{display:grid; grid-template-columns:1.4fr 1.2fr 1fr 1fr; gap:30px; align-items:start;}
.contact-bar .logo-mark{border-color:rgba(0,27,42,.45);}
.contact-bar .logo-mark span:nth-child(1){border-right-color:rgba(0,27,42,.28); border-bottom-color:rgba(0,27,42,.28);}
.contact-bar .logo-mark span:nth-child(2){border-bottom-color:rgba(0,27,42,.28);}
.contact-bar .logo-mark span:nth-child(3){border-right-color:rgba(0,27,42,.28);}
.contact-bar .logo-word{color:var(--navy);}
.contact-bar h4{font-size:10px; letter-spacing:0.18em; text-transform:uppercase; color:var(--text-muted); margin-bottom:12px; font-weight:500;}
.contact-bar p, .contact-bar a{display:block; font-size:12.5px; margin-bottom:5px; color:var(--navy);}
.contact-bar a:hover{opacity:.6;}

.final-footer{background:var(--navy); color:rgba(246,244,241,.85); padding:26px 0;}
.final-footer .wrap{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px;}
.final-footer .logo-mark{width:30px; height:30px; font-size:11px;}
.final-footer .foot-links{display:flex; gap:24px; font-size:10px; letter-spacing:0.14em; text-transform:uppercase; font-weight:500; opacity:.8;}
.final-footer .foot-links a:hover{opacity:.6;}
.final-footer .copy{font-size:11.5px; opacity:.7;}
.final-footer .socials{display:flex; gap:12px;}
.final-footer .socials a{width:28px; height:28px; border:1px solid rgba(246,244,241,.35); display:flex; align-items:center; justify-content:center; color:var(--off-white); transition:border-color .25s ease, opacity .25s ease;}
.final-footer .socials a:hover{border-color:var(--off-white);}
.final-footer .socials svg{width:14px; height:14px;}

/* ---------- banner de cookies (LGPD) ---------- */
.cookie-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:100;
  background:var(--navy); color:var(--off-white); border-top:1px solid rgba(246,244,241,.15);
  transform:translateY(100%); transition:transform .4s ease; padding:20px 0;
}
.cookie-bar.show{transform:translateY(0);}
.cookie-inner{display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;}
.cookie-inner p{font-size:12px; color:rgba(246,244,241,.75); max-width:640px; margin:0; line-height:1.6;}
.cookie-inner p a{color:var(--off-white); text-decoration:underline;}
.cookie-inner .btn{color:var(--off-white); flex:none;}
.cookie-inner .btn:hover{background:var(--off-white); color:var(--navy);}

@media (max-width: 900px){
  .nav-toggle{display:flex;}
  .nav-links{
    display:flex; flex-direction:column; gap:0;
    position:absolute; top:100%; left:0; right:0;
    background:var(--navy); max-height:0; overflow:hidden;
    transition:max-height .3s ease;
  }
  .nav.nav-open .nav-links{max-height:400px;}
  .nav-links a{padding:14px 40px; border-bottom:1px solid rgba(246,244,241,.12);}
  .hero-img{height:260px; order:-1;}
  .hero-copy{margin:0; max-width:none; padding-bottom:60px;}
  .hero-copy h1{font-size:31px;}
  .page-banner h1{font-size:28px;}
  .purpose h2{font-size:25px;}
  .areas-grid{grid-template-columns:repeat(2,1fr);}
  .purpose .wrap, .split, .contact-bar .wrap{grid-template-columns:1fr; gap:30px;}
  .quicklinks-grid{grid-template-columns:1fr 1fr;}
  .people-grid{grid-template-columns:1fr;}
  .stats-row{grid-template-columns:1fr 1fr;}
  .cookie-inner{flex-direction:column; align-items:flex-start;}
}

/* ============================================================================
   PREVIEW 10/09/2026 — páginas de área de atuação sem foto e com texto em
   2 colunas. Layout alternativo para validação dos sócios.
   Ativado pela classe "area-2col" no <body> das páginas area-*.html / practice-*.html.
   PARA VOLTAR AO LAYOUT ATUAL: basta remover a classe "area-2col" do <body>.
   Nada do layout original foi removido.
   ============================================================================ */
body.area-2col .content .split{grid-template-columns:1fr; gap:0;}
body.area-2col .content .content-photo{display:none;}
body.area-2col .content .split > div:first-child{
  columns:2;
  column-gap:56px;
  column-rule:1px solid var(--line);
}
body.area-2col .content .split > div:first-child > *{break-inside:avoid;}
body.area-2col .content .split p{max-width:none;}
body.area-2col .content .split p.lead{
  column-span:all;
  max-width:760px;
  margin-bottom:26px;
}
body.area-2col .content .split .practice-list{max-width:none; margin-bottom:22px;}
body.area-2col .content .split .btn{margin-top:6px;}

@media (max-width: 900px){
  body.area-2col .content .split > div:first-child{columns:1; column-rule:none;}
}

/* ============================================================================
   PREVIEW v2 — 10/09/2026 — páginas de área de atuação com a estrutura do
   mockup: banner com tagline, intro em 2 colunas + índice numerado, frentes de
   atuação em 2 colunas, faixa "Nosso diferencial" e CTA.

   Ativado pela classe "area-v2" no <body> das páginas area-*.html /
   en/practice-*.html. O bloco <section class="content"> original continua
   inteiro no HTML — apenas oculto enquanto a classe estiver ativa.

   TRÊS ESTADOS POSSÍVEIS:
     <body>                    → layout original (foto + texto)
     <body class="area-2col">  → sem foto, texto em 2 colunas
     <body class="area-v2">    → estrutura do mockup (este bloco)
   ============================================================================ */

/* blocos novos ficam ocultos até a variante ser ativada */
.banner-tagline,
.area-detail,
.area-diff,
.area-cta-band{display:none;}

body.area-v2 .content{display:none;}
body.area-v2 .banner-tagline{display:block;}
body.area-v2 .area-detail,
body.area-v2 .area-diff,
body.area-v2 .area-cta-band{display:block;}

/* ---------- banner com tagline à direita ---------- */
body.area-v2 .page-banner{padding:58px 0 52px;}
body.area-v2 .page-banner .wrap{
  display:grid; grid-template-columns:1fr auto; column-gap:48px; align-items:end;
}
body.area-v2 .page-banner .eyebrow{grid-column:1; grid-row:1; align-self:end;}
body.area-v2 .page-banner h1{grid-column:1; grid-row:2; margin-bottom:0;}
.banner-tagline{
  grid-column:2; grid-row:1 / span 2; align-self:end; text-align:right;
  font-size:10px; letter-spacing:0.2em; text-transform:uppercase;
  color:rgba(246,244,241,.62); line-height:2.1; font-weight:500;
}
.banner-tagline::after{
  content:""; display:block; width:74px; height:1px;
  background:rgba(246,244,241,.34); margin:16px 0 0 auto;
}

/* ---------- intro: texto + índice numerado ---------- */
.area-detail{background:var(--bg); padding:64px 0 68px;}
.ad-intro{display:grid; grid-template-columns:1.02fr 0.98fr; column-gap:64px; align-items:start;}
.ad-intro-main p.ad-lead{
  font-family:'Cormorant Garamond', Georgia, serif; font-weight:400;
  font-size:34px; line-height:1.22; color:var(--navy); max-width:440px;
}
.ad-rule{display:block; width:52px; height:1px; background:var(--gray-mid); margin:26px 0;}
.ad-intro-main p{font-size:13.5px; color:var(--text-muted); line-height:1.75; margin-bottom:16px; max-width:480px;}
.ad-intro-main p:last-child{margin-bottom:0;}

.ad-index{border-left:1px solid var(--line); padding-left:64px; display:flex; flex-direction:column; gap:24px;}
.ad-index li{display:grid; grid-template-columns:26px 30px 1fr; align-items:center; column-gap:14px;}
.ad-num{font-size:10.5px; letter-spacing:0.12em; color:var(--text-muted); font-weight:500;}
.ad-dash{height:1px; background:var(--gray-mid); display:block;}
.ad-label{font-family:'Cormorant Garamond', Georgia, serif; font-size:21px; line-height:1.3; color:var(--navy);}

/* ---------- frentes de atuação em 2 colunas ---------- */
.ad-fronts{border-top:1px solid var(--line); margin-top:56px; padding-top:34px;}
.ad-fronts > .eyebrow{display:block; margin-bottom:26px;}
.ad-cols{display:grid; grid-template-columns:1fr 1fr; column-gap:56px;}
.ad-col + .ad-col{border-left:1px solid var(--line); padding-left:56px;}
.ad-col-title{
  font-family:'Montserrat', sans-serif; font-size:10.5px; letter-spacing:0.18em;
  text-transform:uppercase; font-weight:500; color:var(--navy); margin-bottom:20px;
}
.ad-col .practice-list{max-width:none; margin-bottom:0; gap:13px;}
.ad-col .practice-list li{padding-left:26px;}
.ad-col .practice-list li::before{width:14px;}

/* ---------- faixa "Nosso diferencial" ---------- */
.area-diff{background:#EFEDE8; padding:54px 0;}
.area-diff .wrap{display:grid; grid-template-columns:0.85fr 1.35fr; column-gap:56px; align-items:start;}
.area-diff h2{font-size:31px; line-height:1.25; font-weight:400; color:var(--navy); margin-top:14px;}
.area-diff .ad-rule{margin:24px 0 0;}
.ad-diff-items{display:grid; grid-template-columns:repeat(3,1fr); column-gap:32px;}
.ad-diff-items > div{border-left:1px solid var(--line); padding-left:24px;}
.ad-diff-items .eyebrow{display:block; line-height:1.6;}
.ad-diff-items .ad-rule{width:32px; margin:12px 0 14px;}
.ad-diff-items p{font-size:12.5px; color:var(--text-muted); line-height:1.7;}

/* ---------- CTA ---------- */
.area-cta-band{background:var(--bg); padding:46px 0 58px;}
.area-cta-band .wrap{display:flex; align-items:center; gap:34px; flex-wrap:wrap;}

@media (max-width: 900px){
  body.area-v2 .page-banner .wrap{grid-template-columns:1fr;}
  .banner-tagline{grid-column:1; grid-row:auto; text-align:left; margin-top:22px;}
  .banner-tagline::after{margin-left:0;}
  .ad-intro{grid-template-columns:1fr; row-gap:36px;}
  .ad-index{border-left:0; padding-left:0; border-top:1px solid var(--line); padding-top:32px;}
  .ad-intro-main p.ad-lead{font-size:28px;}
  .ad-cols{grid-template-columns:1fr; row-gap:32px;}
  .ad-col + .ad-col{border-left:0; padding-left:0; border-top:1px solid var(--line); padding-top:28px;}
  .area-diff .wrap{grid-template-columns:1fr; row-gap:34px;}
  .ad-diff-items{grid-template-columns:1fr; row-gap:24px;}
}
