/* =========================================================
   Mesquita Fernandes — Consultoria e Assessoria
   Folha de estilos principal (modo claro e modo escuro)
   ========================================================= */

/* ---------- Fontes (auto-hospedadas — nenhum dado enviado a terceiros) ---------- */
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:400 900;font-display:swap;src:url(../fonts/bodoni-moda-latin-standard-normal.woff2) format("woff2-variations"),url(../fonts/bodoni-moda-latin-standard-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Bodoni Moda";font-style:normal;font-weight:400 900;font-display:swap;src:url(../fonts/bodoni-moda-latin-ext-standard-normal.woff2) format("woff2-variations"),url(../fonts/bodoni-moda-latin-ext-standard-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Bodoni Moda";font-style:italic;font-weight:400 900;font-display:swap;src:url(../fonts/bodoni-moda-latin-standard-italic.woff2) format("woff2-variations"),url(../fonts/bodoni-moda-latin-standard-italic.woff2) format("woff2")}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400 700;font-stretch:75% 100%;font-display:swap;src:url(../fonts/instrument-sans-latin-standard-normal.woff2) format("woff2-variations"),url(../fonts/instrument-sans-latin-standard-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Instrument Sans";font-style:normal;font-weight:400 700;font-stretch:75% 100%;font-display:swap;src:url(../fonts/instrument-sans-latin-ext-standard-normal.woff2) format("woff2-variations"),url(../fonts/instrument-sans-latin-ext-standard-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+1E00-1E9F,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- Tokens comuns ---------- */
:root{
  --display:"Bodoni Moda",Didot,"Bodoni 72",Georgia,serif;
  --texto:"Instrument Sans",system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;

  --fs-0:clamp(.8rem,.78rem + .1vw,.875rem);
  --fs-1:clamp(1rem,.97rem + .15vw,1.08rem);
  --fs-2:clamp(1.25rem,1.12rem + .55vw,1.6rem);
  --fs-3:clamp(1.65rem,1.38rem + 1.15vw,2.4rem);
  --fs-4:clamp(2.2rem,1.65rem + 2.4vw,3.7rem);
  --fs-5:clamp(2.45rem,1.5rem + 3.5vw,4.6rem);

  --gutter:clamp(1rem,.55rem + 2.4vw,3rem);
  --max:1280px;
  --medida:66ch;
  --header-h:74px;
  --ease:cubic-bezier(.2,.7,.1,1);
  --ease-io:cubic-bezier(.65,0,.35,1);

  /* Tema claro (padrão) */
  --fundo:#F3F4F6;
  --superficie:#FFFFFF;
  --tinta:#18202C;
  --tinta-suave:#4A5464;
  --tinta-fraca:#6B7685;
  --linha:#D8DDE3;
  --linha-forte:#18202C;
  --acento:#A98A4C;
  --acento-texto:#7A602E;
  --acento-suave:#E9DFC9;
  --campo:#F3F4F6;
  --btn-bg:#18202C; --btn-tx:#FFFFFF; --btn-hv-bg:#A98A4C; --btn-hv-tx:#18202C;
  --faixa:#1E2733; --faixa-tinta:#FFFFFF; --faixa-suave:#B4BFCB; --faixa-linha:rgba(255,255,255,.14); --faixa-acento:#D8C49A;
  --chamada:#1E2733;
  --rodape:#141B25;
  --sombra:0 28px 70px -30px rgba(24,32,44,.35);
  /* barra de navegação invertida: azul sobre o corpo claro */
  --topo-bg:rgba(30,39,51,.95); --topo-solido:#1E2733; --topo-tinta:#FFFFFF; --topo-suave:#C4CCD6; --topo-linha:rgba(255,255,255,.18);
  --topo-acento:#C9AE76; --topo-acento-texto:#D8C49A;
  --topo-btn-bg:#C9AE76; --topo-btn-tx:#141B25; --topo-btn-hv-bg:#FFFFFF; --topo-btn-hv-tx:#141B25;
  color-scheme:light;
}

/* Modo escuro: escolha explícita do visitante */
[data-tema="escuro"]{
  --fundo:#1B2431;
  --superficie:#222D3C;
  --tinta:#F1F2F4;
  --tinta-suave:#B5BFCB;
  --tinta-fraca:#8C98A6;
  --linha:rgba(255,255,255,.13);
  --linha-forte:#D8C49A;
  --acento:#C9AE76;
  --acento-texto:#D8C49A;
  --acento-suave:rgba(201,174,118,.16);
  --campo:#1B2431;
  --btn-bg:#C9AE76; --btn-tx:#141B25; --btn-hv-bg:#F1F2F4; --btn-hv-tx:#141B25;
  --faixa:#F1EFEA; --faixa-tinta:#18202C; --faixa-suave:#4A5464; --faixa-linha:#D8D2C4; --faixa-acento:#7A602E;
  --chamada:#141B25;
  --rodape:#111720;
  /* barra de navegação invertida: clara sobre o corpo azul */
  --topo-bg:rgba(241,239,234,.95); --topo-solido:#F1EFEA; --topo-tinta:#18202C; --topo-suave:#4A5464; --topo-linha:#D8D2C4;
  --topo-acento:#A98A4C; --topo-acento-texto:#7A602E;
  --topo-btn-bg:#18202C; --topo-btn-tx:#FFFFFF; --topo-btn-hv-bg:#A98A4C; --topo-btn-hv-tx:#18202C;
  --sombra:0 28px 70px -24px rgba(0,0,0,.6);
  color-scheme:dark;
}
/* Sem JavaScript: segue a preferência do sistema */
@media (prefers-color-scheme:dark){:root:not([data-tema="claro"]){
  --fundo:#1B2431;
  --superficie:#222D3C;
  --tinta:#F1F2F4;
  --tinta-suave:#B5BFCB;
  --tinta-fraca:#8C98A6;
  --linha:rgba(255,255,255,.13);
  --linha-forte:#D8C49A;
  --acento:#C9AE76;
  --acento-texto:#D8C49A;
  --acento-suave:rgba(201,174,118,.16);
  --campo:#1B2431;
  --btn-bg:#C9AE76; --btn-tx:#141B25; --btn-hv-bg:#F1F2F4; --btn-hv-tx:#141B25;
  --faixa:#F1EFEA; --faixa-tinta:#18202C; --faixa-suave:#4A5464; --faixa-linha:#D8D2C4; --faixa-acento:#7A602E;
  --chamada:#141B25;
  --rodape:#111720;
  /* barra de navegação invertida: clara sobre o corpo azul */
  --topo-bg:rgba(241,239,234,.95); --topo-solido:#F1EFEA; --topo-tinta:#18202C; --topo-suave:#4A5464; --topo-linha:#D8D2C4;
  --topo-acento:#A98A4C; --topo-acento-texto:#7A602E;
  --topo-btn-bg:#18202C; --topo-btn-tx:#FFFFFF; --topo-btn-hv-bg:#A98A4C; --topo-btn-hv-tx:#18202C;
  --sombra:0 28px 70px -24px rgba(0,0,0,.6);
  color-scheme:dark;
}}

/* ---------- Base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--header-h) + 1rem);background:var(--fundo)}
body{margin:0;background:var(--fundo);color:var(--tinta);font-family:var(--texto);font-size:var(--fs-1);line-height:1.65;font-weight:400;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;transition:background .5s,color .5s}
img,svg{display:block;max-width:100%}
a{color:inherit}
p{margin:0 0 1.1em}
h1,h2,h3,h4{font-family:var(--display);font-optical-sizing:none;font-variation-settings:"opsz" 14;font-weight:500;line-height:1.08;margin:0;letter-spacing:-.01em;color:var(--tinta);text-wrap:balance}
ul,ol{margin:0;padding:0}
button{font:inherit;color:inherit}
::selection{background:var(--acento);color:#141B25}
:focus-visible{outline:2px solid var(--acento);outline-offset:3px;border-radius:2px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.pular{position:absolute;left:1rem;top:-4rem;z-index:200;background:var(--btn-bg);color:var(--btn-tx);padding:.7rem 1rem;text-decoration:none;transition:top .2s}
.pular:focus{top:1rem}

.wrap{width:100%;max-width:var(--max);margin-inline:auto;padding-inline:var(--gutter)}
.prosa{max-width:var(--medida)}
.prosa p,.prosa li{color:var(--tinta-suave)}
.prosa h2{font-size:var(--fs-3);margin:2.2em 0 .55em}
.prosa h2:first-child{margin-top:0}
.prosa h3{font-family:var(--texto);font-size:1.05rem;font-weight:600;margin:1.8em 0 .5em;letter-spacing:0}
.prosa ul{list-style:none;margin:0 0 1.3em}
.prosa ul li{position:relative;padding-left:1.6em;margin-bottom:.55em}
.prosa ul li::before{content:"";position:absolute;left:0;top:.78em;width:.85em;height:1px;background:var(--acento)}
.prosa a{color:var(--acento-texto);text-underline-offset:3px;text-decoration-thickness:1px}
.prosa a:hover{color:var(--tinta)}
.prosa strong{color:var(--tinta);font-weight:600}

/* ---------- Chave (ícone) ---------- */
.chave{width:56px;height:16px;color:var(--acento);flex:none}
.chave path,.chave circle{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}

/* ---------- Cabeçalho ---------- */
.topo,.gaveta{--tinta:var(--topo-tinta);--tinta-suave:var(--topo-suave);--tinta-fraca:var(--topo-suave);--linha:var(--topo-linha);--acento:var(--topo-acento);--acento-texto:var(--topo-acento-texto);--btn-bg:var(--topo-btn-bg);--btn-tx:var(--topo-btn-tx);--btn-hv-bg:var(--topo-btn-hv-bg);--btn-hv-tx:var(--topo-btn-hv-tx);color:var(--tinta)}
.topo{position:sticky;top:0;z-index:50;background:var(--topo-bg);backdrop-filter:saturate(1.3) blur(14px);-webkit-backdrop-filter:saturate(1.3) blur(14px);transition:box-shadow .4s,background .5s;view-transition-name:topo}
.topo.rolou{box-shadow:0 14px 34px -22px rgba(10,14,20,.55)}
.topo .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:var(--header-h)}
.topo-acoes{display:flex;align-items:center;gap:.6rem}
.marca{display:flex;flex-direction:column;align-items:center;text-decoration:none;line-height:1;gap:5px;flex:none;color:var(--tinta)}
.marca-nome{font-family:var(--display);font-weight:700;font-size:1.08rem;letter-spacing:.1em;white-space:nowrap;font-variation-settings:"opsz" 20}
.marca-linha{display:flex;align-items:center;gap:6px;width:100%;justify-content:center}
.marca-linha::before,.marca-linha::after{content:"";height:1px;flex:1;max-width:48px;background:var(--linha)}
.marca-linha .chave{width:30px;height:9px}
.marca-sub{font-family:var(--texto);font-weight:500;font-size:.5rem;letter-spacing:.34em;color:var(--acento-texto);white-space:nowrap;padding-left:.34em}

.nav{display:flex;align-items:center;gap:clamp(.9rem,1.5vw,2rem)}
.nav a{text-decoration:none;font-size:.9rem;font-weight:500;color:var(--tinta-suave);position:relative;padding:.4rem 0;transition:color .25s}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--acento);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.nav a:hover,.nav a[aria-current="page"]{color:var(--tinta)}
.nav a:hover::after,.nav a[aria-current="page"]::after{transform:scaleX(1);transform-origin:left}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:50px;padding:.85rem 1.55rem;border:1px solid var(--btn-bg);background:var(--btn-bg);color:var(--btn-tx);text-decoration:none;font-size:.93rem;font-weight:550;letter-spacing:.01em;cursor:pointer;position:relative;overflow:hidden;isolation:isolate;transition:color .35s,border-color .35s}
.btn::before{content:"";position:absolute;inset:0;background:var(--btn-hv-bg);transform:translateY(101%);transition:transform .5s var(--ease);z-index:-1}
.btn:hover::before,.btn:focus-visible::before{transform:translateY(0)}
.btn:hover{border-color:var(--btn-hv-bg);color:var(--btn-hv-tx)}
.btn-linha{background:transparent;color:var(--tinta);border-color:var(--tinta)}
.btn-linha::before{background:var(--tinta)}
.btn-linha:hover{border-color:var(--tinta);color:var(--fundo)}
.btn svg{width:18px;height:18px;flex:none}
.nav .btn,.nav .btn[aria-current="page"]{min-height:42px;padding:.6rem 1.2rem;font-size:.85rem;color:var(--btn-tx)}
.nav .btn::after{display:none}
.nav .btn:hover,.nav .btn[aria-current="page"]:hover{color:var(--btn-hv-tx)}

/* ---------- Alternador de modo ---------- */
.modo{width:42px;height:42px;flex:none;border:1px solid var(--linha);border-radius:50%;background:none;color:var(--tinta);cursor:pointer;position:relative;display:grid;place-items:center;overflow:hidden;transition:border-color .3s,background .3s}
.modo:hover{border-color:var(--acento);background:color-mix(in srgb,var(--acento) 14%,transparent)}
.modo svg{width:18px;height:18px;grid-area:1/1;transition:transform .6s var(--ease),opacity .4s}
.modo path,.modo circle{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.modo .lua{transform:rotate(-90deg) scale(.4);opacity:0}
[data-tema="escuro"] .modo .sol{transform:rotate(90deg) scale(.4);opacity:0}
[data-tema="escuro"] .modo .lua{transform:none;opacity:1}
html.trocando-tema::view-transition-old(root),html.trocando-tema::view-transition-new(root){animation:none;mix-blend-mode:normal}
html.trocando-tema .topo{view-transition-name:none}

.menu-btn{display:none;width:48px;height:48px;border:0;background:none;cursor:pointer;position:relative;margin-right:-10px}
.menu-btn span{position:absolute;left:12px;right:12px;height:1.5px;background:var(--tinta);transition:transform .45s var(--ease),opacity .3s,top .45s var(--ease)}
.menu-btn span:nth-child(1){top:18px}
.menu-btn span:nth-child(2){top:24px;right:20px}
.menu-btn span:nth-child(3){top:30px}
.menu-aberto .menu-btn span:nth-child(1){top:24px;transform:rotate(45deg)}
.menu-aberto .menu-btn span:nth-child(2){opacity:0}
.menu-aberto .menu-btn span:nth-child(3){top:24px;transform:rotate(-45deg)}

.gaveta{position:fixed;inset:var(--header-h) 0 0 0;z-index:45;background:var(--topo-solido);display:flex;flex-direction:column;padding:1.5rem var(--gutter) 2.2rem;overflow-y:auto;visibility:hidden;clip-path:inset(0 0 100% 0);transition:clip-path .6s var(--ease-io),visibility 0s linear .6s}
.menu-aberto .gaveta{visibility:visible;clip-path:inset(0 0 0 0);transition:clip-path .6s var(--ease-io),visibility 0s}
.gaveta ul{list-style:none}
.gaveta li{border-bottom:1px solid var(--linha);overflow:hidden}
.gaveta li a{display:flex;justify-content:space-between;align-items:center;text-decoration:none;font-family:var(--display);font-size:clamp(1.7rem,7vw,2.5rem);font-weight:500;padding:.7rem 0;transform:translateY(105%);transition:transform .7s var(--ease)}
.gaveta li a[aria-current="page"]{color:var(--acento-texto)}
.menu-aberto .gaveta li a{transform:none}
.menu-aberto .gaveta li:nth-child(2) a{transition-delay:.04s}
.menu-aberto .gaveta li:nth-child(3) a{transition-delay:.08s}
.menu-aberto .gaveta li:nth-child(4) a{transition-delay:.12s}
.menu-aberto .gaveta li:nth-child(5) a{transition-delay:.16s}
.menu-aberto .gaveta li:nth-child(6) a{transition-delay:.2s}
.menu-aberto .gaveta li:nth-child(7) a{transition-delay:.24s}
.gaveta-rodape{margin-top:auto;padding-top:2rem;display:grid;gap:.9rem}
.gaveta-rodape .btn{width:100%}
.gaveta-rodape p{margin:0;font-size:var(--fs-0);color:var(--tinta-fraca)}
body.menu-aberto{overflow:hidden}

/* =========================================================
   A CHAVE ESTRUTURAL
   Uma chave deitada atravessa a página: os dentes à esquerda,
   a haste como linha-guia e o anel (com o selo da marca) à direita.
   ========================================================= */
.chave-larga{display:flex;align-items:center;width:100%;color:var(--acento)}
.chave-larga .dentes{flex:none;width:clamp(84px,10vw,150px);height:auto;overflow:visible}
.chave-larga .dentes path{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:miter;vector-effect:non-scaling-stroke}
.chave-larga .haste{flex:1;height:1.5px;background:currentColor;transform-origin:right}
.chave-larga .colar{flex:none;width:18px;height:28px;border-left:1.5px solid currentColor;border-right:1.5px solid currentColor;margin-inline:10px 0}
.chave-larga .haste-curta{flex:none;width:clamp(10px,2vw,28px);height:1.5px;background:currentColor}

.anel{flex:none;width:var(--anel,clamp(230px,30vw,430px));aspect-ratio:1;position:relative;color:var(--acento)}
.anel svg{width:100%;height:100%;overflow:visible}
.anel .aro{fill:none;stroke:currentColor;stroke-width:1.5;vector-effect:non-scaling-stroke}
.anel .aro-fino{fill:none;stroke:currentColor;stroke-width:1;opacity:.45;vector-effect:non-scaling-stroke}
.anel .legenda{font-family:var(--texto);font-size:15.5px;font-weight:500;letter-spacing:.32em;fill:var(--tinta-suave)}
.anel .giro{transform-origin:200px 200px;animation:girar 80s linear infinite}
.anel .monograma{font-family:var(--display);font-weight:500;font-size:132px;fill:var(--tinta);font-variation-settings:"opsz" 40;letter-spacing:-.02em}
.anel .mono-chave path,.anel .mono-chave circle{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
@keyframes girar{to{transform:rotate(360deg)}}

/* ---------- Abertura (home) ---------- */
.abertura{position:relative;padding-block:clamp(2.6rem,7vh,5rem) clamp(3rem,7vh,5rem);overflow:hidden}
.abertura-grade{display:grid;grid-template-columns:minmax(0,1fr);gap:2.4rem}
.abertura-texto{position:relative;z-index:1;min-width:0}
.abertura h1{font-size:var(--fs-5);font-weight:500;line-height:1.02;letter-spacing:-.015em;font-variation-settings:"opsz" 40}
.abertura h1 .ln{display:block;overflow:hidden;padding-bottom:.1em;margin-bottom:-.06em}
.abertura h1 .ln>span{display:block}
.abertura .lead{font-size:var(--fs-2);line-height:1.5;color:var(--tinta-suave);max-width:36ch;margin:1.8rem 0 0;font-weight:400}
.acoes{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:2.2rem}
.abertura .chave-larga{--anel:clamp(150px,44vw,220px)}
.abertura .chave-larga .anel{--anel:clamp(150px,44vw,220px)}

/* Chave em pé (tablet e desktop): anel no alto, haste descendo até os dentes */
.chave-vertical{display:none;flex-direction:column;align-items:center;color:var(--acento);min-width:0}
.chave-vertical .anel{--anel:min(100%,clamp(230px,27vw,390px))}
.chave-vertical .haste-curta{flex:none;width:1.5px;height:clamp(10px,1.6vw,22px);background:currentColor}
.chave-vertical .colar{flex:none;width:30px;height:18px;border-top:1.5px solid currentColor;border-bottom:1.5px solid currentColor}
.chave-vertical .haste{flex:1;width:1.5px;min-height:40px;background:currentColor;transform-origin:top}
.chave-vertical .dentes{flex:none;width:auto;height:clamp(90px,10vw,140px);overflow:visible}
.chave-vertical .dentes path{fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:miter;vector-effect:non-scaling-stroke}
.abertura-rodape{display:flex;flex-wrap:wrap;justify-content:space-between;gap:.6rem 2rem;margin-top:1.4rem;font-size:var(--fs-0);color:var(--tinta-fraca)}
.abertura-rodape p{margin:0}
.abertura-rodape a{text-decoration:none;border-bottom:1px solid var(--linha);padding-bottom:2px}
.abertura-rodape a:hover{color:var(--tinta);border-color:var(--acento)}

/* Rolagem gira o anel (navegadores com scroll-driven animations) */
@supports (animation-timeline:scroll()){
  .abertura .anel svg{animation:virar linear both;animation-timeline:scroll(root);animation-range:0 90vh}
  @keyframes virar{to{transform:rotate(-90deg)}}
}

/* Entrada orquestrada */
.js .abertura h1 .ln>span,.js .titulo-pagina h1 .ln>span{transform:translateY(108%)}
.js .abertura .lead,.js .abertura .acoes,.js .abertura-rodape,.js .titulo-pagina .intro{opacity:0}
.js .chave-larga .haste{transform:scaleX(0)}
.js .chave-vertical .haste{transform:scaleY(0)}
.js .chave-larga .dentes,.js .chave-larga .colar,.js .chave-larga .haste-curta,.js .chave-vertical .dentes,.js .chave-vertical .colar,.js .chave-vertical .haste-curta{opacity:0}
.js .anel .aro,.js .anel .aro-fino{stroke-dasharray:4000;stroke-dashoffset:4000}
.js .anel .legenda,.js .anel .monograma,.js .anel .mono-chave{opacity:0}
.ln:nth-child(2)>span{--i:1}.ln:nth-child(3)>span{--i:2}.ln:nth-child(4)>span{--i:3}

.js.pronto .abertura h1 .ln>span,.js.pronto .titulo-pagina h1 .ln>span{transform:none;transition:transform 1.1s var(--ease) calc(.15s + var(--i,0) * .1s)}
.js.pronto .abertura .lead{opacity:1;transition:opacity 1s .65s}
.js.pronto .abertura .acoes{opacity:1;transition:opacity 1s .8s}
.js.pronto .abertura-rodape,.js.pronto .titulo-pagina .intro{opacity:1;transition:opacity 1s .9s}
.js.pronto .anel .aro{stroke-dashoffset:0;transition:stroke-dashoffset 2.6s cubic-bezier(.1,.6,.2,1) .2s}
.js.pronto .anel .aro-fino{stroke-dashoffset:0;transition:stroke-dashoffset 3s cubic-bezier(.1,.6,.2,1) .35s}
.js.pronto .anel .legenda{opacity:1;transition:opacity 1.2s 1s}
.js.pronto .anel .monograma,.js.pronto .anel .mono-chave{opacity:1;transition:opacity 1.2s .7s}
.js.pronto .chave-larga .haste,.js.pronto .chave-vertical .haste{transform:none;transition:transform 1.4s var(--ease-io) .9s}
.js.pronto .chave-larga .colar,.js.pronto .chave-larga .haste-curta,.js.pronto .chave-vertical .colar,.js.pronto .chave-vertical .haste-curta{opacity:1;transition:opacity .6s .8s}
.js.pronto .chave-larga .dentes,.js.pronto .chave-vertical .dentes{opacity:1;transition:opacity .8s 2s}

/* ---------- Cabeçalho de página interna ---------- */
.titulo-pagina{padding:clamp(2.4rem,6vh,4.2rem) 0 clamp(2rem,4vh,3rem)}
.trilha{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;font-size:var(--fs-0);color:var(--tinta-fraca);margin-bottom:1.6rem}
.trilha li{display:flex;align-items:center;gap:.4rem}
.trilha li+li::before{content:"/";opacity:.6}
.trilha a{text-decoration:none}
.trilha a:hover{color:var(--tinta);text-decoration:underline;text-underline-offset:3px}
.titulo-pagina-grade{display:grid;grid-template-columns:minmax(0,1fr);gap:1.4rem 3rem;align-items:end}
.titulo-pagina h1{font-size:var(--fs-4);max-width:18ch;font-variation-settings:"opsz" 32}
.titulo-pagina h1 .ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.05em}
.titulo-pagina h1 .ln>span{display:block}
.titulo-pagina .intro{font-size:var(--fs-2);color:var(--tinta-suave);max-width:40ch;margin:0;line-height:1.5}
.titulo-pagina .chave-larga{margin-top:clamp(1.8rem,4vw,3rem)}
.titulo-pagina .anel{--anel:clamp(64px,7vw,92px)}

/* ---------- Seções ---------- */
.secao{padding-block:clamp(3.5rem,8vw,6.5rem)}
.secao+.secao{padding-top:0}
.secao-faixa{background:var(--faixa);color:var(--faixa-tinta);--tinta:var(--faixa-tinta);--tinta-suave:var(--faixa-suave);--linha:var(--faixa-linha);--acento-texto:var(--faixa-acento)}
.secao-faixa+.secao,.secao+.secao-faixa,.secao-superficie+.secao,.secao+.secao-superficie{padding-top:clamp(3.5rem,8vw,6.5rem)}
.secao-superficie{background:var(--superficie)}

.trilho{display:grid;grid-template-columns:minmax(0,1fr);gap:1.6rem}
.trilho-titulo h2{font-size:var(--fs-3);max-width:16ch}
.trilho-titulo p{color:var(--tinta-suave);margin-top:1rem;max-width:36ch}

.guia{height:1px;background:var(--linha);transform-origin:left;margin-bottom:clamp(1.8rem,4vw,2.8rem)}
.js .guia{transform:scaleX(0);transition:transform 1.3s var(--ease-io)}
.js .guia.visto{transform:scaleX(1)}

/* ---------- Manifesto (home) ---------- */
.manifesto{font-family:var(--display);font-size:var(--fs-3);line-height:1.32;max-width:28ch;font-weight:450;color:var(--tinta);font-variation-settings:"opsz" 14;margin:0}
.manifesto-link{margin-top:2rem}
.link-seta{display:inline-flex;align-items:center;gap:.75rem;text-decoration:none;font-weight:550;font-size:.95rem;padding:.35rem 0;border-bottom:1px solid currentColor}
.link-seta .chave{width:30px;height:9px;transition:transform .5s var(--ease)}
.link-seta:hover .chave{transform:translateX(5px)}

/* números do escritório na home: informativos, sem promessas */
.pilares{display:grid;grid-template-columns:minmax(0,1fr);border-top:1px solid var(--linha);margin-top:2.4rem;list-style:none}
.pilares li{padding:1.2rem 0;border-bottom:1px solid var(--linha);display:grid;grid-template-columns:minmax(0,8rem) minmax(0,1fr);gap:1rem;align-items:baseline}
.pilares strong{font-family:var(--display);font-weight:500;font-size:var(--fs-2);color:var(--tinta)}
.pilares span{color:var(--tinta-suave);font-size:.95rem}

/* ---------- Lista de áreas (editorial, com índice alfabético real) ---------- */
.areas{list-style:none;border-top:1px solid var(--linha);counter-reset:area}
.areas li{border-bottom:1px solid var(--linha)}
.area-link{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.4rem 1.5rem;padding:1.45rem 0;text-decoration:none;position:relative}
.area-link h3,.area-link h2{font-size:var(--fs-2);font-weight:500;transition:color .3s,transform .6s var(--ease);font-variation-settings:"opsz" 14}
.area-link p{grid-column:1;margin:0;color:var(--tinta-suave);font-size:.95rem;max-width:52ch}
.area-link .chave{grid-row:1/span 2;grid-column:2;width:46px;height:14px;color:var(--tinta-fraca);transform:translateX(-8px);opacity:.7;transition:transform .6s var(--ease),color .3s,opacity .3s}
.area-link::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--acento);transform:scaleX(0);transform-origin:left;transition:transform .7s var(--ease)}
.area-link:hover h3,.area-link:hover h2,.area-link:focus-visible h3,.area-link:focus-visible h2{color:var(--acento-texto);transform:translateX(6px)}
.area-link:hover .chave,.area-link:focus-visible .chave{transform:none;opacity:1;color:var(--acento)}
.area-link:hover::after,.area-link:focus-visible::after{transform:scaleX(1)}

/* ---------- Princípios ---------- */
.principios{display:grid;grid-template-columns:minmax(0,1fr);gap:0;list-style:none;border-top:1px solid var(--linha)}
.principios li{padding:1.5rem 0;border-bottom:1px solid var(--linha)}
.principios h3{font-size:var(--fs-2);margin-bottom:.45rem}
.principios p{margin:0;color:var(--tinta-suave)}

/* ---------- Etapas (sequência real) ---------- */
.etapas{list-style:none;counter-reset:etapa;display:grid;gap:0;border-top:1px solid var(--linha)}
.etapas li{counter-increment:etapa;display:grid;grid-template-columns:3.4rem minmax(0,1fr);gap:1rem;padding:1.7rem 0;border-bottom:1px solid var(--linha)}
.etapas li::before{content:counter(etapa);font-family:var(--display);font-style:italic;font-size:var(--fs-3);line-height:1;color:var(--acento)}
.etapas h3{font-size:var(--fs-2);margin-bottom:.4rem}
.etapas p{margin:0;color:var(--tinta-suave)}

/* ---------- Perfil do advogado ---------- */
.perfil{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2rem,5vw,4.5rem);align-items:start}
.retrato{position:relative;aspect-ratio:4/5;background:var(--faixa);color:var(--faixa-acento);display:grid;place-items:center;overflow:hidden;max-width:420px;width:100%}
[data-tema="escuro"] .retrato{background:var(--superficie)}
.retrato::before{content:"";position:absolute;inset:14px;border:1px solid currentColor;opacity:.35}
.retrato .anel{--anel:72%;color:var(--faixa-acento)}
[data-tema="escuro"] .retrato .anel{color:var(--acento)}
.retrato .anel .monograma{fill:var(--faixa-tinta)}
[data-tema="escuro"] .retrato .anel .monograma{fill:var(--tinta)}
.retrato .anel .legenda{fill:var(--faixa-suave)}
[data-tema="escuro"] .retrato .anel .legenda{fill:var(--tinta-suave)}
.retrato img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.ficha{list-style:none;margin:2rem 0 0;border-top:1px solid var(--linha)}
.prosa .ficha li,.ficha li{display:grid;grid-template-columns:minmax(0,9rem) minmax(0,1fr);gap:1rem;padding:.9rem 0;margin:0;border-bottom:1px solid var(--linha);font-size:.95rem}
.prosa .ficha li::before{display:none}
.ficha .rot{color:var(--tinta-fraca)}
.ficha .val{color:var(--tinta)}

/* ---------- Página de área ---------- */
.area-corpo{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2.5rem,6vw,5rem);align-items:start}
.lateral{border-top:1px solid var(--linha-forte);padding-top:1.3rem}
.lateral h2{font-family:var(--texto);font-size:.93rem;font-weight:600;margin-bottom:.8rem;letter-spacing:0}
.lateral ul{list-style:none}
.lateral li a{display:block;padding:.6rem 0;border-bottom:1px solid var(--linha);text-decoration:none;font-size:.95rem;color:var(--tinta-suave);transition:color .25s,padding .4s var(--ease)}
.lateral li a:hover{color:var(--tinta);padding-left:.4rem}
.lateral li a[aria-current="page"]{color:var(--acento-texto);font-weight:600}
.lateral .btn{width:100%;margin-top:1.6rem}

/* ---------- Perguntas frequentes ---------- */
.faq{border-top:1px solid var(--linha);max-width:860px}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.35rem 0;font-family:var(--display);font-size:var(--fs-2);font-weight:500;line-height:1.25;font-variation-settings:"opsz" 14}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--acento-texto)}
.faq summary .chave{width:38px;height:11px;flex:none;transition:transform .55s var(--ease);color:var(--tinta-fraca)}
.faq details[open] summary .chave{transform:rotate(90deg);color:var(--acento)}
.faq .resposta{overflow:hidden}
.faq .resposta>div{padding:0 0 1.5rem;color:var(--tinta-suave);max-width:64ch}
.faq .resposta p:last-child{margin:0}

/* ---------- Contato ---------- */
.contato{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2.5rem,6vw,5rem);align-items:start}
.canais{list-style:none;border-top:1px solid var(--linha)}
.canais li{border-bottom:1px solid var(--linha)}
.canais a{display:grid;grid-template-columns:2.8rem minmax(0,1fr);align-items:center;gap:1rem;padding:1.25rem 0;text-decoration:none}
.canais .ic{width:2.8rem;height:2.8rem;border:1px solid var(--linha);border-radius:50%;display:grid;place-items:center;transition:background .3s,border-color .3s,color .3s;color:var(--acento)}
.canais .ic svg{width:18px;height:18px}
.canais a:hover .ic{background:var(--acento);border-color:var(--acento);color:#141B25}
.canais .rot{display:block;font-size:var(--fs-0);color:var(--tinta-fraca)}
.canais .val{display:block;font-weight:550;overflow-wrap:anywhere}

.form{background:var(--superficie);padding:clamp(1.5rem,4vw,2.6rem);border:1px solid var(--linha)}
.form h2{font-size:var(--fs-3);margin-bottom:.4rem}
.form>p{color:var(--tinta-suave);font-size:.95rem}
.campo{display:grid;gap:.4rem;margin-bottom:1.2rem}
.campo label{font-size:.88rem;font-weight:550}
.campo input,.campo select,.campo textarea{width:100%;font:inherit;font-size:16px;color:var(--tinta);background:var(--campo);border:1px solid var(--linha);border-bottom-color:var(--tinta-fraca);padding:.8rem .9rem;border-radius:0;transition:border-color .25s,background .25s;appearance:none}
.campo select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23A98A4C' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .9rem center;padding-right:2.4rem}
.campo select option{color:#18202C;background:#fff}
.campo textarea{min-height:130px;resize:vertical}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--acento)}
.campo .dica{font-size:.82rem;color:var(--tinta-fraca)}
.consentimento{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.75rem;align-items:start;font-size:.88rem;color:var(--tinta-suave);margin:1.4rem 0}
.consentimento input{width:20px;height:20px;margin:.15rem 0 0;accent-color:var(--acento)}
.consentimento a{color:var(--acento-texto)}
.form .btn{width:100%}
.erro{color:#C0504D;font-size:.88rem;min-height:1.2em;margin:0}

/* ---------- Chamada final ---------- */
.chamada{background:var(--chamada);color:#fff;padding-block:clamp(3.5rem,8vw,6rem);position:relative;overflow:hidden;--tinta:#fff;--tinta-suave:#B4BFCB;--acento:#C9AE76}
.chamada .wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;align-items:end;position:relative}
.chamada h2{color:#fff;font-size:var(--fs-4);max-width:16ch;font-weight:450;font-variation-settings:"opsz" 14}
.chamada p{color:#B4BFCB;max-width:44ch;margin:1rem 0 0}
.chamada .acoes{margin-top:0}
.chamada .btn{--btn-bg:#C9AE76;--btn-tx:#141B25;--btn-hv-bg:#fff;--btn-hv-tx:#141B25}
.chamada .btn-linha{color:#fff;border-color:rgba(255,255,255,.45)}
.chamada .btn-linha::before{background:#fff}
.chamada .btn-linha:hover{color:#141B25;border-color:#fff}
.chamada .anel{position:absolute;right:calc(var(--gutter) * -1 - 80px);top:50%;transform:translateY(-50%);--anel:380px;opacity:.12;pointer-events:none}
.chamada .anel .legenda{fill:#fff}
.chamada .anel .monograma{fill:#fff}

/* ---------- Rodapé ---------- */
.rodape{background:var(--rodape);color:#AEB8C3;padding:clamp(3.2rem,7vw,4.6rem) 0 2rem;font-size:.92rem}
.rodape .marca{align-items:flex-start;color:#fff}
.rodape .marca-linha{justify-content:flex-start}
.rodape .marca-linha::before{display:none}
.rodape .marca-linha::after{background:rgba(255,255,255,.2)}
.rodape .marca-linha .chave{color:#C9AE76}
.rodape .marca-sub{color:#D8C49A;padding-left:0}
.rodape-grade{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2.4rem 1.5rem}
.rodape-grade>div:first-child,.rodape-grade>div:last-child{grid-column:1/-1}
.rodape h2{font-family:var(--texto);font-size:.85rem;font-weight:600;color:#fff;margin-bottom:1rem;letter-spacing:0}
.rodape ul{list-style:none;display:grid;gap:.55rem}
.rodape a{text-decoration:none;transition:color .25s;overflow-wrap:anywhere}
.rodape a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}
.rodape-sobre{max-width:34ch;margin-top:1.2rem;color:#8E9AA7}
.rodape-base{margin-top:3rem;padding-top:1.6rem;border-top:1px solid rgba(255,255,255,.1);display:flex;flex-wrap:wrap;gap:.8rem 2rem;justify-content:space-between;font-size:.82rem;color:#8E9AA7}
.rodape-base p{margin:0}
.rodape-base nav{display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
.link-botao{background:none;border:0;padding:0;cursor:pointer;color:inherit;text-align:left;font-size:inherit}
.link-botao:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}

/* ---------- WhatsApp flutuante ---------- */
.zap{position:fixed;right:clamp(1rem,2.5vw,1.6rem);bottom:clamp(1rem,2.5vw,1.6rem);z-index:40;width:56px;height:56px;border-radius:50%;background:var(--btn-bg);color:var(--btn-tx);display:grid;place-items:center;box-shadow:var(--sombra);transition:transform .4s var(--ease),background .3s,color .3s;text-decoration:none}
.zap svg{width:26px;height:26px}
.zap:hover{transform:translateY(-3px);background:var(--btn-hv-bg);color:var(--btn-hv-tx)}
body.menu-aberto .zap{opacity:0;pointer-events:none}

/* ---------- Cookies ---------- */
.cookies{position:fixed;left:clamp(.75rem,2.5vw,1.6rem);bottom:clamp(.75rem,2.5vw,1.6rem);z-index:90;width:min(430px,calc(100vw - 1.5rem));background:var(--superficie);border:1px solid var(--linha);box-shadow:var(--sombra);padding:1.3rem 1.3rem 1.1rem;font-size:.88rem;color:var(--tinta-suave);transform:translateY(16px);opacity:0;visibility:hidden;transition:transform .6s var(--ease),opacity .4s,visibility 0s linear .6s}
.cookies.ativo{transform:none;opacity:1;visibility:visible;transition:transform .6s var(--ease),opacity .4s,visibility 0s}
.cookies h2{font-size:1.2rem;margin-bottom:.45rem}
.cookies p{margin:0 0 1rem;line-height:1.55}
.cookies a{color:var(--acento-texto)}
.cookies-acoes{display:grid;grid-template-columns:1fr 1fr;gap:.5rem}
.cookies-acoes .btn{min-height:42px;padding:.55rem .8rem;font-size:.82rem}
.cookies-acoes .btn-linha:nth-child(3){grid-column:1/-1}

.preferencias{border:0;padding:0;width:min(600px,calc(100vw - 1.5rem));max-height:min(88vh,760px);background:var(--superficie);color:var(--tinta);box-shadow:var(--sombra)}
.preferencias::backdrop{background:rgba(17,23,32,.6);backdrop-filter:blur(3px)}
.preferencias[open]{animation:surgir .45s var(--ease)}
@keyframes surgir{from{opacity:0;transform:translateY(14px)}}
.pref-topo{padding:1.6rem 1.6rem 1rem;border-bottom:1px solid var(--linha)}
.pref-topo h2{font-size:var(--fs-2)}
.pref-topo p{margin:.6rem 0 0;font-size:.9rem;color:var(--tinta-suave)}
.pref-corpo{padding:.4rem 1.6rem}
.pref-item{padding:1.1rem 0;border-bottom:1px solid var(--linha)}
.pref-item:last-child{border-bottom:0}
.pref-linha{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.pref-item h3{font-family:var(--texto);font-size:.98rem;font-weight:600;letter-spacing:0}
.pref-item p{margin:.4rem 0 0;font-size:.86rem;color:var(--tinta-suave)}
.pref-sempre{font-size:.78rem;color:var(--tinta-fraca);white-space:nowrap}
.chave-toggle{position:relative;width:46px;height:26px;flex:none}
.chave-toggle input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer;z-index:1}
.chave-toggle span{position:absolute;inset:0;background:var(--linha);border-radius:13px;transition:background .3s}
.chave-toggle span::after{content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .35s var(--ease)}
.chave-toggle input:checked+span{background:var(--acento)}
.chave-toggle input:checked+span::after{transform:translateX(20px)}
.chave-toggle input:focus-visible+span{outline:2px solid var(--acento);outline-offset:2px}
.pref-base{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:flex-end;padding:1.1rem 1.6rem 1.4rem;border-top:1px solid var(--linha)}
.pref-base .btn{min-height:44px;font-size:.86rem}

/* ---------- Tabelas (cookies) ---------- */
.tabela-rolagem{overflow-x:auto;margin:0 0 1.6rem;border:1px solid var(--linha);background:var(--superficie)}
.tabela{border-collapse:collapse;width:100%;min-width:560px;font-size:.9rem}
.tabela th,.tabela td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--linha);vertical-align:top}
.tabela th{font-weight:600;color:var(--tinta)}
.tabela td{color:var(--tinta-suave)}
.tabela tr:last-child td{border-bottom:0}
.atualizado{font-size:var(--fs-0);color:var(--tinta-fraca)}

/* ---------- Revelação suave ---------- */
.js .surgir{opacity:0;transition:opacity 1s var(--ease)}
.js .surgir.visto{opacity:1}

/* ---------- Transição entre páginas ---------- */
@view-transition{navigation:auto}
::view-transition-old(root){animation:.3s var(--ease-io) both sair}
::view-transition-new(root){animation:.5s var(--ease) both entrar}
@keyframes sair{to{opacity:0}}
@keyframes entrar{from{opacity:0;transform:translateY(10px)}}

/* =========================================================
   Responsividade
   ========================================================= */
@media (max-width:1079.98px){
  .nav{display:none}
  .menu-btn{display:block}
}
@media (max-width:767.98px){
  .chave-larga .colar{width:12px;height:20px;margin-left:6px}
  .titulo-pagina .anel{--anel:58px}
  .titulo-pagina .anel .legenda{display:none}
}
@media (min-width:600px){
  .principios{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:3rem}
  .pilares{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:2rem}
  .pilares li{grid-template-columns:minmax(0,1fr);gap:.3rem}
}
@media (min-width:768px){
  :root{--header-h:82px}
  .abertura-grade{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);align-items:stretch;gap:clamp(1.5rem,5vw,5rem)}
  .chave-vertical{display:flex}
  .abertura .chave-larga{display:none}
  .marca-nome{font-size:1.2rem}
  .marca-sub{font-size:.54rem}
  .area-link{padding:1.8rem 0}
  .chamada .wrap{grid-template-columns:minmax(0,1.4fr) auto}
  .perfil{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
  .contato{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .titulo-pagina-grade{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
}
@media (min-width:1024px){
  .trilho{grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(2rem,6vw,6rem)}
  .trilho-titulo{position:sticky;top:calc(var(--header-h) + 2rem)}
  .area-corpo{grid-template-columns:minmax(0,7fr) minmax(0,3fr)}
  .lateral{position:sticky;top:calc(var(--header-h) + 2rem)}
  .area-link{grid-template-columns:minmax(0,24rem) minmax(0,1fr) auto}
  .area-link p{grid-column:2;grid-row:1}
  .area-link .chave{grid-column:3;grid-row:1}
}
@media (min-width:1080px){
  .gaveta{display:none}
  .rodape-grade{grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr))}
  .rodape-grade>div:first-child,.rodape-grade>div:last-child{grid-column:auto}
}
@media (min-width:1440px){:root{--max:1340px}}
@media (max-width:599.98px){
  .acoes .btn{flex:1 1 100%}
  .ficha li,.prosa .ficha li{grid-template-columns:minmax(0,1fr);gap:.2rem}
  .retrato{aspect-ratio:5/4}
  .cookies{padding:1.05rem 1.05rem .95rem;font-size:.84rem}
  .cookies h2{font-size:1.08rem;margin-bottom:.3rem}
  .cookies p{margin-bottom:.8rem;line-height:1.5}
  .cookies-acoes .btn{min-height:40px;padding:.45rem .5rem;font-size:.78rem}
  .cookies-acoes .btn-linha:nth-child(3){min-height:auto;border:0;background:none;padding:.3rem;text-decoration:underline;text-underline-offset:3px;color:var(--tinta)}
  .cookies-acoes .btn-linha:nth-child(3)::before{display:none}
  .pref-base .btn{flex:1 1 100%}
}

/* ---------- Movimento reduzido ---------- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;transition-delay:0s!important;scroll-behavior:auto!important}
  .anel .giro{animation:none}
  .abertura .anel svg{animation:none}
}

/* ---------- Impressão ---------- */
@media print{
  .topo,.zap,.cookies,.chamada,.rodape,.gaveta{display:none!important}
  body{background:#fff;color:#000}
}

/* ---------- "Também atende" ---------- */
.tambem{margin:1.6rem 0 0;color:var(--tinta-suave);font-size:.98rem;max-width:60ch}
.tambem a{color:var(--acento-texto);text-underline-offset:3px;margin-left:.3rem}
.tambem-bloco{margin-top:clamp(2.5rem,6vw,4rem)}
.tambem-bloco>h2{font-family:var(--texto);font-size:.95rem;font-weight:600;letter-spacing:0;color:var(--tinta-suave);margin-bottom:.4rem}
.tambem-bloco .area-link{border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}

/* =========================================================
   PÁGINAS INTERNAS — componentes criativos
   ========================================================= */
.cabeca-secao{display:grid;grid-template-columns:minmax(0,1fr);gap:.8rem 3rem;margin-bottom:clamp(2rem,4vw,3rem)}
.cabeca-secao h2{font-size:var(--fs-3);max-width:18ch}
.cabeca-secao p{margin:0;color:var(--tinta-suave);max-width:46ch}

/* ---------- Escritório: citação ---------- */
.citacao{margin:0 0 2.2rem;padding:0 0 1.6rem;border-bottom:1px solid var(--linha);position:relative}
.citacao p{font-family:var(--display);font-size:var(--fs-4);line-height:1.08;font-weight:450;font-style:italic;margin:0;max-width:16ch;color:var(--tinta)}
.citacao::before{content:"\201C";position:absolute;left:-.08em;top:-.45em;font-family:var(--display);font-size:clamp(6rem,12vw,10rem);line-height:1;color:var(--acento);opacity:.25;pointer-events:none}

/* ---------- Escritório: iniciais ---------- */
.iniciais{list-style:none;display:grid;grid-template-columns:minmax(0,1fr);gap:0;border-top:1px solid var(--linha)}
.iniciais li{display:grid;grid-template-columns:clamp(4.2rem,9vw,6.5rem) minmax(0,1fr);gap:.2rem 1.4rem;padding:1.6rem 0;border-bottom:1px solid var(--linha);align-items:start}
.inicial{grid-row:1/span 2;font-family:var(--display);font-size:clamp(4.4rem,9vw,7rem);line-height:.8;font-weight:500;color:transparent;-webkit-text-stroke:1px var(--acento-texto);transition:color .6s var(--ease),transform .6s var(--ease);font-variation-settings:"opsz" 40}
.iniciais li:hover .inicial{color:var(--acento-texto);transform:translateY(-4px)}
.iniciais h3{font-size:var(--fs-2);align-self:end}
.iniciais p{margin:0;color:var(--tinta-suave)}

/* ---------- Escritório: assinatura ---------- */
.assinatura{display:grid;grid-template-columns:minmax(0,1fr);gap:2rem;align-items:center}
.assinatura .anel{--anel:clamp(160px,22vw,240px)}
.assinatura-rotulo{font-family:var(--texto);font-size:.95rem;font-weight:600;letter-spacing:0;color:var(--tinta-suave);margin-bottom:.6rem}
.assinatura-nome{font-family:var(--display);font-style:italic;font-weight:450;font-size:var(--fs-4);line-height:1;margin:0 0 .6rem;padding-bottom:.6rem;border-bottom:1px solid var(--acento);display:inline-block;padding-right:2rem}
.assinatura-cargo{margin:0 0 1rem;color:var(--acento-texto);font-weight:550}
.assinatura-texto{color:var(--tinta-suave);max-width:40ch}

/* ---------- Advogado: credencial ---------- */
.credencial-cena{perspective:1200px;width:100%;max-width:520px}
.credencial,.cartao{position:relative;overflow:hidden;background:var(--faixa);color:var(--faixa-tinta);--tinta:var(--faixa-tinta);--tinta-suave:var(--faixa-suave);--linha:var(--faixa-linha);--acento-texto:var(--faixa-acento);border-radius:14px;box-shadow:var(--sombra);transform:rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .5s var(--ease);transform-style:preserve-3d}
.credencial{aspect-ratio:1.586;display:grid;grid-template-rows:auto 1fr auto;padding:clamp(1rem,2.6vw,1.6rem)}
.credencial::after,.cartao::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.12) 45%,transparent 60%);transform:translateX(var(--brilho,-60%));transition:transform .6s var(--ease);pointer-events:none}
.guilhoche{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.guilhoche path{fill:none;stroke:var(--faixa-acento);stroke-width:.7;opacity:.22;vector-effect:non-scaling-stroke}
.credencial-topo{position:relative;display:flex;justify-content:space-between;align-items:baseline;gap:1rem;border-bottom:1px solid var(--linha);padding-bottom:.6rem}
.credencial-marca{font-family:var(--display);font-weight:700;letter-spacing:.1em;font-size:clamp(.72rem,1.6vw,.9rem)}
.credencial-tipo{font-size:clamp(.66rem,1.4vw,.78rem);color:var(--tinta-suave)}
.credencial-corpo{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr);gap:clamp(.8rem,2.4vw,1.6rem);align-items:center;padding-block:.6rem}
.credencial .anel{--anel:clamp(92px,17vw,150px);color:var(--faixa-acento)}
.credencial .anel .monograma{fill:var(--faixa-tinta)}
.credencial .anel .legenda{fill:var(--faixa-suave)}
.credencial dl{margin:0;display:grid;gap:clamp(.25rem,1vw,.5rem)}
.credencial dl div{display:grid;gap:0}
.credencial dt{font-size:clamp(.6rem,1.3vw,.7rem);color:var(--tinta-suave)}
.credencial dd{margin:0;font-weight:550;font-size:clamp(.78rem,1.7vw,.98rem);overflow-wrap:anywhere}
.credencial-rodape{position:relative;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--linha);padding-top:.6rem;font-size:clamp(.62rem,1.3vw,.74rem);color:var(--faixa-acento)}
.credencial-rodape .chave{width:40px;height:12px;color:var(--faixa-acento)}

.nucleos-mini{list-style:none!important;display:grid;gap:0;border-top:1px solid var(--linha);margin-bottom:1.6rem!important}
.prosa .nucleos-mini li{padding:0;margin:0;border-bottom:1px solid var(--linha)}
.prosa .nucleos-mini li::before{display:none}
.nucleos-mini a{display:flex;align-items:center;gap:1rem;padding:.9rem 0;text-decoration:none;color:var(--tinta);font-weight:550}
.nucleos-mini .dentes{width:58px;height:30px;flex:none;color:var(--acento);transition:transform .5s var(--ease)}
.nucleos-mini .dentes path{fill:none;stroke:currentColor;stroke-width:1.5;vector-effect:non-scaling-stroke}
.nucleos-mini a:hover .dentes{transform:translateX(6px)}
.nucleos-mini a:hover{color:var(--acento-texto)}

/* ---------- Áreas: chaveiro ---------- */
.chaveiro{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.chaveiro-arte{width:min(100%,520px);margin-inline:auto;aspect-ratio:1}
.chaveiro-arte svg{width:100%;height:100%;overflow:visible}
:is(.chaveiro,.chaveiro-arte) .mostrador{fill:none;stroke:var(--linha);stroke-width:1}
:is(.chaveiro,.chaveiro-arte) .mostrador-fino{fill:none;stroke:var(--linha);stroke-width:1;stroke-dasharray:2 9}
:is(.chaveiro,.chaveiro-arte) .fechadura{fill:var(--acento)}
.chaveiro-giro{transition:transform 1.1s cubic-bezier(.5,-0.15,.25,1.15)}
:is(.chaveiro,.chaveiro-arte) .argola{fill:none;stroke:var(--acento);stroke-width:3}
:is(.chaveiro,.chaveiro-arte) .argola-fina{fill:none;stroke:var(--acento);stroke-width:1;opacity:.5}
.chaveiro-chave{cursor:pointer;color:var(--tinta-fraca);transition:color .5s}
.chaveiro-chave path,.chaveiro-chave .bow,.chaveiro-chave .furo{fill:none;stroke:currentColor;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round}
.chaveiro-chave .bow{fill:var(--fundo)}
.chaveiro-chave.ativa{color:var(--acento)}
.chaveiro-chave.ativa path,.chaveiro-chave.ativa .bow{stroke-width:3}
.chaveiro-chave:hover{color:var(--tinta-suave)}
.chaveiro-chave.ativa:hover{color:var(--acento)}

.chaveiro-abas{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.8rem;border-bottom:1px solid var(--linha)}
.chaveiro-abas button{border:0;background:none;cursor:pointer;padding:.8rem .2rem;margin-right:1.2rem;font-size:.95rem;font-weight:550;color:var(--tinta-fraca);position:relative;transition:color .3s}
.chaveiro-abas button::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--acento);transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.chaveiro-abas button[aria-selected="true"]{color:var(--tinta)}
.chaveiro-abas button[aria-selected="true"]::after{transform:scaleX(1)}
.chaveiro-abas button:hover{color:var(--tinta)}
.aba-curta{display:none}
.chaveiro-painel h2,.chaveiro-painel h3{font-size:var(--fs-4);margin-bottom:1rem;font-variation-settings:"opsz" 32}
.chaveiro-painel>p{font-size:var(--fs-2);line-height:1.5;color:var(--tinta-suave);max-width:40ch;margin-bottom:1.6rem}
.chaveiro-painel:focus-visible{outline-offset:8px}
.js .chaveiro-painel:not([hidden]){animation:painel .7s var(--ease) both}
@keyframes painel{from{opacity:0;transform:translateX(18px)}}
.temas{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:0 0 2rem}
.temas li{border:1px solid var(--linha);padding:.45rem .85rem;border-radius:999px;font-size:.88rem;color:var(--tinta-suave)}

.tambem-faixa{margin-top:clamp(2.5rem,6vw,4.5rem);padding-top:1.4rem;border-top:1px solid var(--linha);display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:center}
.tambem-rotulo{margin:0;font-weight:600;color:var(--tinta-suave);font-size:.95rem}
.tambem-faixa ul{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem}
.tambem-faixa a{display:inline-block;text-decoration:none;padding:.55rem 1rem;border:1px solid var(--linha);font-size:.92rem;transition:border-color .3s,background .3s,color .3s}
.tambem-faixa a:hover{border-color:var(--acento);color:var(--acento-texto);background:color-mix(in srgb,var(--acento) 10%,transparent)}

/* ---------- Núcleo: índice + texto ---------- */
.nucleo,.documento{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.indice{border-top:1px solid var(--linha-forte);padding-top:1.1rem}
.indice-titulo{margin:0 0 .6rem;font-weight:600;font-size:.9rem;color:var(--tinta-suave)}
.indice ol{list-style:none;counter-reset:ind;margin:0}
.indice li a{display:flex;gap:.7rem;padding:.55rem 0;text-decoration:none;font-size:.94rem;color:var(--tinta-suave);border-left:2px solid transparent;padding-left:.8rem;margin-left:-.8rem;transition:color .3s,border-color .3s}
.indice li a:hover{color:var(--tinta)}
.indice li a[aria-current="true"]{color:var(--tinta);border-left-color:var(--acento);font-weight:550}
.indice .btn{width:100%;margin-top:1.4rem}
.nucleo-intro p{font-size:var(--fs-2);line-height:1.55;color:var(--tinta-suave);max-width:44ch}
.nucleo-intro p+p{font-size:var(--fs-1);max-width:var(--medida)}
.bloco{padding-block:clamp(1.8rem,4vw,2.6rem);border-top:1px solid var(--linha);scroll-margin-top:calc(var(--header-h) + 1.5rem)}
.nucleo-intro+.bloco,.nucleo-texto>.bloco:first-child{margin-top:1rem}
.bloco h2{font-size:var(--fs-3);margin-bottom:1rem}
.bloco-texto{color:var(--tinta-suave);max-width:var(--medida)}
.itens{list-style:none;display:grid;grid-template-columns:minmax(0,1fr);gap:0 2rem}
.itens li{display:flex;gap:.9rem;align-items:baseline;padding:.75rem 0;border-bottom:1px dashed var(--linha);color:var(--tinta)}
.itens li::before{content:"";flex:none;width:7px;height:7px;transform:rotate(45deg) translateY(-2px);border:1px solid var(--acento)}
.quando{margin-top:clamp(1.5rem,4vw,2.5rem);padding:clamp(1.4rem,4vw,2.4rem);background:var(--faixa);color:var(--faixa-tinta);--tinta:var(--faixa-tinta);--tinta-suave:var(--faixa-suave);--linha:var(--faixa-linha);scroll-margin-top:calc(var(--header-h) + 1.5rem)}
.quando h2{font-size:var(--fs-3);margin-bottom:1rem}
.quando ul{list-style:none;display:grid;gap:.6rem;margin:0 0 1.2rem}
.quando li{padding-left:1.6rem;position:relative}
.quando li::before{content:"";position:absolute;left:0;top:.75em;width:.9rem;height:1px;background:var(--faixa-acento)}
.quando>p{margin:0;color:var(--tinta-suave);font-size:.95rem}
.nucleo-nota{margin-top:2rem;color:var(--tinta-suave)}

.proximo{margin-top:clamp(3rem,7vw,5rem)}
.proximo a{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.2rem 2rem;align-items:center;text-decoration:none;padding:clamp(1.4rem,3vw,2rem) 0;border-top:1px solid var(--linha-forte);border-bottom:1px solid var(--linha)}
.proximo-rotulo{font-size:.88rem;color:var(--tinta-suave)}
.proximo-nome{grid-column:1;font-family:var(--display);font-size:var(--fs-4);line-height:1.05;transition:color .3s}
.proximo .dentes{grid-row:1/span 2;grid-column:2;width:clamp(90px,14vw,160px);height:auto;color:var(--acento);transition:transform .7s var(--ease)}
.proximo .dentes path{fill:none;stroke:currentColor;stroke-width:1.5;vector-effect:non-scaling-stroke}
.proximo a:hover .proximo-nome{color:var(--acento-texto)}
.proximo a:hover .dentes{transform:translateX(12px)}

/* ---------- Atendimento: percurso ---------- */
.percurso{list-style:none;position:relative;padding-left:clamp(3rem,6vw,4.4rem);margin:0;--progresso:0}
.percurso-haste{position:absolute;left:clamp(1rem,2vw,1.4rem);top:.6rem;bottom:.6rem;width:2px;background:var(--linha)}
.percurso-haste span{position:absolute;inset:0;background:var(--acento);transform-origin:top;transform:scaleY(var(--progresso))}
.etapa{position:relative;padding:0 0 clamp(2rem,5vw,3.2rem);counter-increment:etapa}
.etapa:last-child{padding-bottom:0}
.etapa-dente{position:absolute;left:calc(clamp(1rem,2vw,1.4rem) - clamp(3rem,6vw,4.4rem) - 11px);top:.25rem;width:24px;height:24px;background:var(--fundo);border:2px solid var(--linha);transition:border-color .5s,background .5s,transform .5s var(--ease)}
.etapa h3{font-size:var(--fs-3);margin-bottom:.5rem;display:flex;gap:.8rem;align-items:baseline}
.etapa h3::before{content:counter(etapa);font-style:italic;color:var(--acento);font-size:.75em}
.etapa p{color:var(--tinta-suave);max-width:52ch;margin:0}
.percurso{counter-reset:etapa}
.etapa.ativa .etapa-dente{border-color:var(--acento);background:var(--acento);transform:rotate(45deg)}
.js .etapa{opacity:.45;transition:opacity .6s}
.js .etapa.ativa{opacity:1}

/* ---------- Atendimento: pares ---------- */
.pares{display:grid;gap:clamp(1.5rem,4vw,2.5rem)}
.par{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;padding-top:1.4rem;border-top:1px solid var(--linha)}
.par-rotulo{margin:0;font-weight:600;color:var(--tinta-suave)}
.par-opcoes{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem;align-items:center}
.par-opcoes h3{font-size:var(--fs-3);margin-bottom:.4rem}
.par-opcoes p{margin:0;color:var(--tinta-suave)}
.par-ou{justify-self:start;font-family:var(--display);font-style:italic;font-size:1.3rem;color:var(--acento-texto);display:flex;align-items:center;gap:.6rem}

/* ---------- Dúvidas: busca e filtros ---------- */
.duvidas{max-width:900px}
.duvidas-controles{display:grid;gap:1rem;margin-bottom:1.6rem}
.busca{display:flex;align-items:center;gap:.7rem;border-bottom:1px solid var(--linha-forte);padding:.3rem 0}
.busca svg{width:22px;height:22px;color:var(--acento);flex:none}
.busca input{flex:1;min-width:0;border:0;background:none;font:inherit;font-family:var(--display);font-size:var(--fs-2);color:var(--tinta);padding:.5rem 0;outline:none}
.busca input::placeholder{color:var(--tinta-fraca);opacity:1}
.busca:focus-within{border-bottom-color:var(--acento)}
.filtros{display:flex;flex-wrap:wrap;gap:.5rem}
.filtros button{border:1px solid var(--linha);background:none;padding:.5rem 1rem;border-radius:999px;font-size:.88rem;cursor:pointer;color:var(--tinta-suave);transition:all .3s}
.filtros button:hover{border-color:var(--acento);color:var(--tinta)}
.filtros button[aria-pressed="true"]{background:var(--tinta);border-color:var(--tinta);color:var(--fundo)}
.duvidas-contagem{margin:0;font-size:.88rem;color:var(--tinta-fraca)}
.faq summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.3rem 1.5rem;align-items:center}
.faq-tema{grid-column:1;font-family:var(--texto);font-size:.78rem;font-weight:600;color:var(--acento-texto);letter-spacing:.02em}
.faq-pergunta{grid-column:1}
.faq summary .chave{grid-column:2;grid-row:1/span 2}
.faq mark{background:color-mix(in srgb,var(--acento) 35%,transparent);color:inherit;padding:0 .1em}
.duvidas-vazio{padding:2rem 0;border-bottom:1px solid var(--linha)}
.duvidas-vazio p{font-family:var(--display);font-size:var(--fs-2);margin-bottom:1rem}

/* ---------- Contato: cartão de visita ---------- */
.cartao-coluna{display:grid;gap:1.2rem;perspective:1200px;align-content:start}
.cartao{padding:clamp(1.4rem,3.5vw,2.2rem);display:grid;gap:1.4rem}
.cartao-marca{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:5px;line-height:1}
.cartao-marca .marca-nome{color:var(--faixa-tinta)}
.cartao-marca .marca-linha{justify-content:flex-start;width:auto}
.cartao-marca .marca-linha::before{display:none}
.cartao-marca .marca-linha::after{background:var(--faixa-linha);max-width:60px}
.cartao-marca .marca-linha .chave{color:var(--faixa-acento)}
.cartao-marca .marca-sub{color:var(--faixa-acento);padding-left:0}
.cartao-pessoa{position:relative}
.cartao-nome{font-family:var(--display);font-size:var(--fs-3);margin:0;line-height:1.1}
.cartao-cargo{margin:.3rem 0 0;color:var(--faixa-acento);font-size:.92rem}
.cartao-dados{position:relative;list-style:none;display:grid;gap:0;border-top:1px solid var(--faixa-linha)}
.cartao-dados li{display:grid;grid-template-columns:5rem minmax(0,1fr) auto;gap:.8rem;align-items:center;padding:.75rem 0;border-bottom:1px solid var(--faixa-linha);font-size:.95rem}
.cartao-dados .rot{font-size:.8rem;color:var(--faixa-suave)}
.cartao-dados a{text-decoration:none;font-weight:550;overflow-wrap:anywhere}
.cartao-dados a:hover{text-decoration:underline;text-underline-offset:3px}
.cartao-dados li>span:last-child:not(.rot){grid-column:2/span 2}
.copiar{display:inline-flex;align-items:center;gap:.35rem;border:1px solid var(--faixa-linha);background:none;color:var(--faixa-tinta);border-radius:999px;padding:.35rem .7rem;font-size:.75rem;cursor:pointer;transition:background .3s,border-color .3s}
.copiar svg{width:14px;height:14px}
.copiar:hover{border-color:var(--faixa-acento)}
.copiar.copiado{background:var(--faixa-acento);border-color:var(--faixa-acento);color:#141B25}
.cartao-zap{justify-self:start}

.campo-assunto{border:0;padding:0;margin:0 0 1.2rem;min-width:0}
.campo-assunto legend{font-size:.88rem;font-weight:550;margin-bottom:.5rem;padding:0}
.assuntos{display:flex;flex-wrap:wrap;gap:.5rem}
.assuntos label{position:relative;cursor:pointer}
.assuntos input{position:absolute;opacity:0;inset:0;cursor:pointer;margin:0}
.assuntos span{display:inline-block;padding:.5rem .9rem;border:1px solid var(--linha);border-radius:999px;font-size:.86rem;color:var(--tinta-suave);transition:all .3s}
.assuntos input:checked+span{background:var(--tinta);border-color:var(--tinta);color:var(--fundo)}
.assuntos input:focus-visible+span{outline:2px solid var(--acento);outline-offset:2px}

/* ---------- Políticas: progresso de leitura ---------- */
.progresso-leitura{position:fixed;left:0;right:0;top:var(--header-h);height:2px;z-index:49;pointer-events:none}
.progresso-leitura span{display:block;height:100%;background:var(--acento);transform-origin:left;transform:scaleX(var(--leitura,0))}
.documento .prosa{max-width:var(--medida)}
.documento .prosa h2{scroll-margin-top:calc(var(--header-h) + 1.5rem)}
.documento .prosa>p:first-child{font-size:var(--fs-2);line-height:1.55}

/* ---------- 404: fechadura ---------- */
.nao-encontrada{padding-block:clamp(3rem,8vh,6rem)}
.nao-grade{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem;align-items:center}
.fechadura-arte{width:min(260px,60vw)}
.fechadura-arte svg{width:100%;overflow:visible}
.fechadura-arte .espelho{fill:none;stroke:var(--acento);stroke-width:2}
.fechadura-arte .buraco{fill:var(--tinta)}
.chave-tenta circle,.chave-tenta path{fill:none;stroke:var(--acento);stroke-width:4;stroke-linecap:round}
.chave-tenta{animation:tentar 3.2s var(--ease-io) infinite}
@keyframes tentar{0%,100%{transform:translateX(-30px)}35%{transform:translateX(40px)}42%{transform:translateX(30px)}48%{transform:translateX(40px)}60%{transform:translateX(-30px)}}
.codigo{font-weight:600;color:var(--acento-texto);margin-bottom:.8rem}
.nao-encontrada h1{font-size:var(--fs-4)}
.nao-encontrada h1 .ln{display:block;overflow:hidden;padding-bottom:.06em}
.nao-encontrada h1 .ln>span{display:block}
.nao-encontrada .intro{color:var(--tinta-suave);max-width:44ch;font-size:var(--fs-2);line-height:1.5;margin:1.2rem 0 0}

/* ---------- Responsivo dos componentes ---------- */
@media (min-width:600px){
  .itens{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tambem-faixa{grid-template-columns:auto minmax(0,1fr)}
  .assinatura{grid-template-columns:auto minmax(0,1fr);gap:clamp(2rem,5vw,4rem)}
}
@media (min-width:768px){
  .cabeca-secao{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end}
  .iniciais{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:3rem}
  .par{grid-template-columns:minmax(0,12rem) minmax(0,1fr);gap:2rem}
  .par-opcoes{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:2rem}
  .par-ou{justify-self:center;flex-direction:column}
  .par-ou::before,.par-ou::after{content:"";width:1px;height:2.4rem;background:var(--linha)}
  .nao-grade{grid-template-columns:auto minmax(0,1fr);gap:4rem}
}
@media (min-width:900px){
  .chaveiro{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
  .perfil{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
@media (min-width:1024px){
  .nucleo,.documento{grid-template-columns:minmax(0,15rem) minmax(0,1fr)}
  .indice{position:sticky;top:calc(var(--header-h) + 2rem)}
  .iniciais{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:2rem}
  .iniciais li{grid-template-columns:minmax(0,1fr);border-bottom:0;border-right:1px solid var(--linha);padding:1.8rem 1.6rem 1.8rem 0}
  .iniciais li:last-child{border-right:0}
  .inicial{grid-row:auto;margin-bottom:.6rem}
  .iniciais h3{align-self:auto}
}
@media (max-width:1023.98px){
  .indice{position:sticky;top:var(--header-h);z-index:5;background:var(--fundo);border-top:0;border-bottom:1px solid var(--linha);padding:.4rem 0;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter)}
  .indice-titulo,.indice .btn{display:none}
  .indice ol{display:flex;gap:1.2rem;overflow-x:auto;scrollbar-width:none}
  .indice ol::-webkit-scrollbar{display:none}
  .indice li a{white-space:nowrap;border-left:0;margin-left:0;padding-left:0;border-bottom:2px solid transparent}
  .indice li a[aria-current="true"]{border-bottom-color:var(--acento)}
}
@media (max-width:599.98px){
  .aba-longa{display:none}
  .aba-curta{display:inline}
  .chaveiro-arte{width:min(100%,320px)}
  .cartao-dados li{grid-template-columns:minmax(0,1fr) auto}
  .cartao-dados .rot{grid-column:1/-1;margin-bottom:-.5rem}
  .cartao-dados li>span:last-child:not(.rot){grid-column:1/-1}
  .proximo a{grid-template-columns:minmax(0,1fr)}
  .proximo .dentes{grid-row:auto;grid-column:1;width:90px}
}
@media (prefers-reduced-motion:reduce){
  .chave-tenta{animation:none}
  .js .etapa{opacity:1}
}

/* =========================================================
   ABERTURAS PRÓPRIAS DE CADA PÁGINA
   ========================================================= */
.hero-escritorio,.hero-advogado,.hero-atendimento,.hero-duvidas,.hero-contato,.hero-area,.hero-chaveiro{padding-block:clamp(2.2rem,6vh,4rem) clamp(2.5rem,7vw,5rem)}
.hero-escritorio h1,.hero-advogado h1,.hero-atendimento h1,.hero-contato h1,.hero-area h1,.hero-chaveiro h1{font-size:var(--fs-5);line-height:1.02;letter-spacing:-.015em;font-variation-settings:"opsz" 40}
:is(.hero-escritorio,.hero-advogado,.hero-atendimento,.hero-contato,.hero-area,.hero-chaveiro) h1 .ln{display:block;overflow:hidden;padding-bottom:.08em;margin-bottom:-.05em}
:is(.hero-escritorio,.hero-advogado,.hero-atendimento,.hero-contato,.hero-area,.hero-chaveiro) h1 .ln>span{display:block}
.js :is(.hero-escritorio,.hero-advogado,.hero-atendimento,.hero-contato,.hero-area,.hero-chaveiro) h1 .ln>span{transform:translateY(108%)}
.js.pronto :is(.hero-escritorio,.hero-advogado,.hero-atendimento,.hero-contato,.hero-area,.hero-chaveiro) h1 .ln>span{transform:none;transition:transform 1.1s var(--ease) calc(.1s + var(--i,0) * .1s)}
:is(.hero-escritorio,.hero-advogado,.hero-atendimento,.hero-contato,.hero-area,.hero-chaveiro) .intro{font-size:var(--fs-2);line-height:1.5;color:var(--tinta-suave);max-width:40ch;margin:1.2rem 0 0}

/* Escritório: as iniciais dos princípios como índice gigante */
.hero-escritorio-grade{display:grid;gap:1rem 3rem;align-items:end}
.letras{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(2rem,5vw,3.5rem);border-top:1px solid var(--linha);border-bottom:1px solid var(--linha)}
.letras a{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem;padding:1rem clamp(.4rem,2vw,1.4rem) 1.2rem;text-decoration:none;border-right:1px solid var(--linha);position:relative;overflow:hidden}
.letras a:last-child{border-right:0}
.letra{font-family:var(--display);font-size:clamp(4rem,15vw,12rem);line-height:.85;color:transparent;-webkit-text-stroke:1.2px var(--acento);transition:color .6s var(--ease),transform .7s var(--ease);font-variation-settings:"opsz" 40}
.letra-nome{font-size:.9rem;font-weight:550;color:var(--tinta-suave)}
.letras a:hover .letra,.letras a:focus-visible .letra{color:var(--acento);transform:translateY(-6px)}
.js .letra{opacity:0;transform:translateY(30%)}
.js.pronto .letra{opacity:1;transform:none;transition:opacity .9s,transform 1.1s var(--ease)}
.js.pronto .letras a:nth-child(2) .letra{transition-delay:.12s}.js.pronto .letras a:nth-child(3) .letra{transition-delay:.24s}.js.pronto .letras a:nth-child(4) .letra{transition-delay:.36s}
.iniciais li{scroll-margin-top:calc(var(--header-h) + 2rem)}

/* Advogado: retrato dentro do selo, com eco em latão */
.hero-advogado-grade{display:grid;gap:2rem;align-items:end}
.hero-oab{margin:1.2rem 0 0;font-weight:600;color:var(--acento-texto);letter-spacing:.02em}
.hero-advogado .acoes{margin-top:1.6rem}
.retrato-selo{position:relative;margin:0;width:min(100%,520px);justify-self:center;aspect-ratio:1/1.08}
.retrato-selo .anel{position:absolute;left:50%;bottom:4%;transform:translateX(-50%);--anel:92%}
.retrato-selo .anel .monograma,.retrato-selo .anel .mono-chave{display:none}
.retrato-foto{position:absolute;left:50%;bottom:0;transform:translateX(-50%);height:100%;width:auto;max-width:none;filter:drop-shadow(14px 0 0 color-mix(in srgb,var(--acento) 55%,transparent)) drop-shadow(0 30px 40px rgba(0,0,0,.25));-webkit-mask-image:linear-gradient(to bottom,#000 86%,transparent 100%);mask-image:linear-gradient(to bottom,#000 86%,transparent 100%)}
.js .retrato-foto{opacity:0;transform:translate(-50%,24px)}
.js.pronto .retrato-foto{opacity:1;transform:translate(-50%,0);transition:opacity 1.2s .3s,transform 1.4s var(--ease) .3s}
.retrato-selo::after{content:"";position:absolute;left:-6%;right:-6%;bottom:0;height:1.5px;background:var(--acento)}
.retrato-opcoes{position:absolute;right:0;top:0;display:flex;gap:4px;background:#141B25;border-radius:999px;padding:3px;z-index:2}
.retrato-opcoes button{border:0;background:none;color:#C7CFD8;border-radius:999px;padding:.3rem .7rem;font-size:.75rem;cursor:pointer}
.retrato-opcoes button[aria-pressed="true"]{background:#C9AE76;color:#141B25;font-weight:600}

/* Áreas (hub): o chaveiro é a abertura */
.hero-chaveiro .chaveiro{align-items:center}
.hero-chaveiro .intro{margin-bottom:2rem}
.hero-chaveiro .trilha{margin-bottom:1.2rem}

/* Atendimento: régua das etapas */
.hero-atendimento-grade{display:grid;gap:1rem 3rem;align-items:end}
.regua{list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(2rem,5vw,3.5rem);position:relative}
.regua::before{content:"";position:absolute;left:0;right:0;top:22px;height:1.5px;background:var(--acento)}
.regua a{display:flex;flex-direction:column;gap:.8rem;text-decoration:none;padding-right:1rem}
.regua-num{position:relative;width:44px;height:44px;display:grid;place-items:center;background:var(--fundo);border:1.5px solid var(--acento);font-family:var(--display);font-style:italic;font-size:1.3rem;color:var(--acento-texto);transition:background .4s,color .4s,transform .5s var(--ease)}
.regua-nome{font-family:var(--display);font-size:var(--fs-2);line-height:1.15}
.regua a:hover .regua-num{background:var(--acento);color:var(--fundo);transform:rotate(45deg)}
.etapa{scroll-margin-top:calc(var(--header-h) + 2rem)}

/* Dúvidas: a pergunta é a busca */
.busca-grande{display:block;margin-top:.6rem}
.busca-pergunta{display:block;font-family:var(--display);font-size:var(--fs-5);line-height:1.02;letter-spacing:-.015em;margin-bottom:clamp(1rem,3vw,1.8rem)}
.busca-campo{display:flex;align-items:center;gap:.9rem;border-bottom:1.5px solid var(--acento);padding:.4rem 0}
.busca-campo svg{width:clamp(22px,3vw,32px);height:auto;color:var(--acento);flex:none}
.busca-campo input{flex:1;min-width:0;border:0;background:none;font-family:var(--display);font-size:var(--fs-3);color:var(--tinta);padding:.4rem 0;outline:none}
.busca-campo input::placeholder{color:var(--tinta-fraca);opacity:1}
.hero-duvidas .filtros{margin-top:1.4rem}
.hero-duvidas .duvidas-contagem{margin:1rem 0 1.4rem}
.hero-duvidas .duvidas{max-width:none}

/* Contato: o cartão é a abertura */
.hero-contato-grade{display:grid;gap:2.5rem;align-items:center}
.hero-contato-texto .btn{margin-top:1.8rem}
.cartao-cena{perspective:1200px}
.contato-form-grade{display:grid;gap:2rem;align-items:start}
.cabeca-form h2{font-size:var(--fs-3);margin-bottom:.8rem}
.cabeca-form p{color:var(--tinta-suave);max-width:36ch}
.secao-faixa .form{background:transparent;border-color:var(--linha)}
.secao-faixa .campo input,.secao-faixa .campo textarea{background:transparent}

/* Núcleos: aberturas próprias */
.hero-area{position:relative;overflow:hidden}
/* Consultoria: folha de rosto de um documento */
.folha{position:relative;background:var(--superficie);border:1px solid var(--linha);padding:clamp(1.6rem,5vw,3.4rem);max-width:880px;box-shadow:var(--sombra);margin-top:.6rem}
.folha::before{content:"";position:absolute;inset:10px;border:1px solid var(--linha);pointer-events:none}
.folha-topo{display:flex;justify-content:space-between;gap:1rem;font-size:.82rem;color:var(--acento-texto);font-weight:600;border-bottom:1px solid var(--linha);padding-bottom:.8rem;margin-bottom:1.6rem}
.folha-linhas{display:grid;gap:.7rem;margin-top:2rem;max-width:60%}
.folha-linhas span{height:1px;background:var(--linha)}
.folha-linhas span:nth-child(2){width:80%}.folha-linhas span:nth-child(3){width:55%}
/* Família: anéis entrelaçados */
.hero-familia-grade{display:grid;gap:1.5rem;align-items:center}
.aneis{width:min(100%,420px);justify-self:center}
.aneis circle{fill:none;stroke:var(--acento);stroke-width:1.5;mix-blend-mode:normal;transform-origin:200px 150px}
.aneis circle:nth-child(1){animation:respirar 6s ease-in-out infinite}
.aneis circle:nth-child(2){animation:respirar 6s ease-in-out infinite reverse}
.aneis circle:nth-child(3){stroke-dasharray:3 6}
@keyframes respirar{50%{transform:scale(1.03)}}
/* Patrimônio: casa e árvore ladeando o título */
.hero-patrimonio-grade{display:grid;grid-template-columns:minmax(0,1fr);gap:1.5rem;align-items:center;text-align:left}
.desenho-casa,.desenho-arvore{width:min(160px,40vw);color:var(--acento)}
.desenho-casa path,.desenho-arvore path,.desenho-arvore circle{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.js .desenho-casa path,.js .desenho-arvore path,.js .desenho-arvore circle{stroke-dasharray:900;stroke-dashoffset:900}
.js.pronto .desenho-casa path,.js.pronto .desenho-arvore path,.js.pronto .desenho-arvore circle{stroke-dashoffset:0;transition:stroke-dashoffset 2.6s var(--ease-io) .3s}
.desenho-arvore{display:none}
/* Outras: abertura direta, a triagem vem logo abaixo */
.hero-outras{padding-bottom:1rem}

/* ---------- Componentes das páginas de núcleo ---------- */
.duas-colunas{display:grid;gap:clamp(2rem,5vw,4rem);align-items:start}
.contrato{background:var(--superficie);border:1px solid var(--linha);padding:clamp(1.4rem,4vw,2.6rem);position:relative}
.contrato-topo{border-bottom:1px solid var(--linha);padding-bottom:1rem;margin-bottom:1.2rem}
.contrato-tipo{font-size:.78rem;font-weight:600;color:var(--acento-texto);margin:0 0 .4rem}
.contrato-topo h2{font-size:var(--fs-3)}
.contrato-topo p{margin:.5rem 0 0;color:var(--tinta-suave)}
.clausulas{list-style:none;counter-reset:cl;display:grid;gap:1.4rem}
.clausulas>li{counter-increment:cl}
.clausulas h3{font-family:var(--texto);font-size:.98rem;font-weight:650;letter-spacing:0;margin-bottom:.4rem}
.clausulas h3::before{content:"Cláusula " counter(cl) "ª, ";color:var(--acento-texto);font-family:var(--display);font-style:italic;font-weight:500}
.clausulas p{margin:0 0 .5rem;color:var(--tinta-suave)}
.clausulas ul{list-style:none;display:grid;gap:.3rem;padding-left:1rem;border-left:1px solid var(--linha)}
.clausulas ul li{color:var(--tinta-suave);font-size:.95rem}
.clausulas ul li::before{content:"" counter(cl) "." counter(sub) " ";counter-increment:sub;color:var(--tinta-fraca);font-size:.8rem}
.clausulas ul{counter-reset:sub}
.contrato-assinaturas{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem}
.contrato-assinaturas div{display:grid;gap:.4rem;font-size:.8rem;color:var(--tinta-suave)}
.linha-assinatura{display:block;height:2.4rem;border-bottom:1px solid var(--tinta)}
.linha-assinatura.assinada{font-family:var(--display);font-style:italic;font-size:1.5rem;color:var(--acento-texto);display:flex;align-items:flex-end;padding-bottom:.2rem}

.sinais{margin-top:clamp(3rem,7vw,5rem)}
.sinais-lista{list-style:none;display:grid;gap:.6rem}
.sinais-lista label{display:flex;gap:1rem;align-items:center;padding:1rem 1.2rem;border:1px solid var(--linha);cursor:pointer;transition:border-color .3s,background .3s;position:relative}
.sinais-lista input{position:absolute;opacity:0;width:1px;height:1px}
.sinal-caixa{flex:none;width:22px;height:22px;border:1.5px solid var(--tinta-fraca);display:grid;place-items:center;transition:all .3s}
.sinal-caixa::after{content:"";width:10px;height:5px;border-left:2px solid var(--fundo);border-bottom:2px solid var(--fundo);transform:rotate(-45deg) translate(1px,-1px);opacity:0}
.sinais-lista input:checked~.sinal-caixa{background:var(--acento);border-color:var(--acento)}
.sinais-lista input:checked~.sinal-caixa::after{opacity:1}
.sinais-lista label:has(input:checked){border-color:var(--acento);background:color-mix(in srgb,var(--acento) 8%,transparent)}
.sinais-lista input:focus-visible~.sinal-caixa{outline:2px solid var(--acento);outline-offset:2px}
.sinais-resultado{margin-top:1.4rem;min-height:3rem}
.sinais-resultado p{color:var(--tinta-suave);margin-bottom:1rem}

.momentos-grade{display:grid;gap:1.5rem;align-items:start}
.momentos-escolhas{display:grid;gap:.6rem}
.momentos-escolhas button{text-align:left;border:1px solid var(--linha);background:none;padding:1.1rem 1.2rem 1.1rem 2.6rem;font-family:var(--display);font-size:var(--fs-2);line-height:1.25;cursor:pointer;position:relative;color:var(--tinta-suave);transition:all .4s var(--ease)}
.momentos-escolhas .aspas{position:absolute;left:.8rem;top:.4rem;font-size:2.2rem;color:var(--acento)}
.momentos-escolhas button:hover{color:var(--tinta);border-color:var(--acento)}
.momentos-escolhas button[aria-pressed="true"]{background:var(--faixa);color:var(--faixa-tinta);border-color:var(--faixa)}
.momento-painel h3,.triagem-painel h3{font-size:var(--fs-3);margin-bottom:.8rem}
.momento-rotulo{font-size:.82rem;font-weight:600;color:var(--acento-texto);margin:0 0 .3rem}
.momento-painel>p,.triagem-painel>p{color:var(--tinta-suave)}
.momento-painel .link-seta,.triagem-painel .link-seta{margin-top:1.4rem}
.js [data-oculto]{display:none!important}
.js .momento-painel:not([data-oculto]),.js .patrimonio-painel:not([data-oculto]),.js .triagem-painel:not([data-oculto]){animation:painel .6s var(--ease) both}

.alternador{display:inline-flex;border:1px solid var(--linha);border-radius:999px;padding:4px;margin-bottom:clamp(1.8rem,4vw,2.8rem)}
.alternador button{border:0;background:none;padding:.65rem 1.4rem;border-radius:999px;font-weight:550;cursor:pointer;color:var(--tinta-suave);transition:all .4s var(--ease)}
.alternador button[aria-pressed="true"]{background:var(--tinta);color:var(--fundo)}
.patrimonio-painel{display:grid;gap:clamp(2rem,5vw,4rem);align-items:center}
.patrimonio-painel h2{font-size:var(--fs-3);margin-bottom:.8rem}
.patrimonio-painel p{color:var(--tinta-suave);max-width:48ch}
.arvore{margin:0;max-width:380px}
.arvore svg{width:100%}
.arvore .ramo{fill:none;stroke:var(--linha-forte);stroke-width:1.2}
.arvore .no{fill:var(--fundo);stroke:var(--acento);stroke-width:1.5}
.arvore .no-forte{fill:var(--acento)}
.chave-arvore circle,.chave-arvore path{fill:none;stroke:var(--acento);stroke-width:2.4}
.arvore figcaption{font-size:.85rem;color:var(--tinta-fraca);margin-top:.6rem}
.matricula{background:var(--superficie);border:1px solid var(--linha);font-stretch:85%;max-width:460px;width:100%}
.matricula-topo{display:flex;justify-content:space-between;padding:.8rem 1.1rem;border-bottom:1px solid var(--linha);font-size:.8rem;font-weight:650;color:var(--acento-texto)}
.matricula ol{list-style:none}
.matricula li{display:grid;grid-template-columns:3.4rem minmax(0,1fr);gap:.6rem;padding:.75rem 1.1rem;border-bottom:1px dashed var(--linha)}
.ato{font-weight:700;color:var(--acento-texto);font-variant-numeric:tabular-nums}
.matricula-nota{font-size:.8rem;color:var(--tinta-fraca);padding:.8rem 1.1rem;margin:0}

.triagem-escolhas{display:flex;flex-wrap:wrap;gap:.6rem}
.triagem-escolhas button{border:1px solid var(--linha);background:none;padding:.8rem 1.1rem;font-size:.98rem;cursor:pointer;color:var(--tinta);transition:all .35s var(--ease);text-align:left}
.triagem-escolhas button:hover{border-color:var(--acento)}
.triagem-escolhas button[aria-pressed="true"]{background:var(--acento);border-color:var(--acento);color:#141B25}
.triagem-resultado{margin-top:1.8rem;padding:clamp(1.4rem,4vw,2.2rem);border:1px solid var(--linha);min-height:8rem}
.triagem-vazio{color:var(--tinta-fraca);font-family:var(--display);font-size:var(--fs-2);margin:0}
.areas-compactas{display:grid;gap:0;margin-top:clamp(2.5rem,6vw,4rem);border-top:1px solid var(--linha)}
.area-compacta{padding:1.4rem 0;border-bottom:1px solid var(--linha);scroll-margin-top:calc(var(--header-h) + 1.5rem)}
.area-compacta h3{font-size:var(--fs-2);margin-bottom:.6rem}
.area-compacta .itens li{border-bottom:0;padding:.35rem 0;font-size:.95rem;color:var(--tinta-suave)}

@media (min-width:768px){
  .hero-escritorio-grade,.hero-atendimento-grade{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
  .hero-advogado-grade{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .hero-contato-grade{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}
  .contato-form-grade{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
  .hero-familia-grade{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr)}
  .hero-patrimonio-grade{grid-template-columns:auto minmax(0,1fr) auto;gap:3rem}
  .desenho-arvore{display:block}
  .momentos-grade{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem}
  .patrimonio-painel{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .areas-compactas{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:3rem}
}
@media (min-width:1024px){
  .duas-colunas{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}
  .duas-colunas .nucleo-intro{position:sticky;top:calc(var(--header-h) + 2rem)}
}
@media (max-width:599.98px){
  .regua{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem 0}
  .regua::before{display:none}
  .letras a{padding-inline:.3rem}
  .letra-nome{font-size:.72rem}
  .contrato-assinaturas{grid-template-columns:1fr}
  .folha-topo{flex-direction:column;gap:.2rem}
}
@media (prefers-reduced-motion:reduce){.aneis circle{animation:none}}

/* =========================================================
   AJUSTES MOBILE (até 599px): menos ruído, menu sempre visível
   ========================================================= */
@media (max-width:599.98px){
  :root{--header-h:64px;--fs-5:clamp(2rem,1.2rem + 4.6vw,2.6rem);--fs-4:clamp(1.8rem,1.2rem + 3.4vw,2.3rem);--fs-3:clamp(1.4rem,1.1rem + 1.6vw,1.7rem);--fs-2:clamp(1.08rem,1rem + .5vw,1.2rem)}
  .topo .wrap{gap:.5rem}
  .marca{min-width:0;flex:0 1 auto;gap:4px}
  .marca-nome{font-size:clamp(.8rem,3.6vw,.95rem);letter-spacing:.06em}
  .marca-sub{font-size:clamp(.42rem,1.9vw,.48rem);letter-spacing:.24em}
  .marca-linha .chave{width:22px;height:7px}
  .topo-acoes{gap:.2rem;flex:none}
  .modo{width:38px;height:38px}
  .menu-btn{display:block;width:44px;height:44px;margin-right:-8px}
  .menu-btn span{left:11px;right:11px}
  .menu-btn span:nth-child(1){top:16px}.menu-btn span:nth-child(2){top:22px;right:18px}.menu-btn span:nth-child(3){top:28px}
  .menu-aberto .menu-btn span:nth-child(1),.menu-aberto .menu-btn span:nth-child(3){top:22px}

  .abertura{padding-block:2rem 2.5rem}
  .abertura h1{line-height:1.05}
  .abertura .lead{margin-top:1.1rem}
  .acoes{margin-top:1.5rem;gap:.6rem}
  .btn{min-height:46px;padding:.7rem 1.1rem;font-size:.9rem}
  .abertura .chave-larga{margin-top:2rem}
  .abertura .anel svg{animation:none!important}
  .abertura-rodape{font-size:.78rem}
  .secao{padding-block:3rem}
  .secao-faixa+.secao,.secao+.secao-faixa,.secao-superficie+.secao,.secao+.secao-superficie{padding-top:3rem}
  .manifesto{font-size:1.35rem}
  .pilares li{grid-template-columns:minmax(0,1fr);gap:.2rem;padding:.9rem 0}

  /* aviso de cookies compacto, preso ao rodapé da tela */
  .cookies{left:0;right:0;bottom:0;width:100%;border-left:0;border-right:0;border-bottom:0;padding:.9rem 1rem calc(.9rem + env(safe-area-inset-bottom,0px));font-size:.8rem}
  .cookies h2{display:none}
  .cookies p{margin-bottom:.7rem;line-height:1.45}
  .cookies-acoes{grid-template-columns:1fr 1fr auto;gap:.4rem;align-items:center}
  .cookies-acoes .btn{min-height:38px;padding:.4rem .5rem;font-size:.76rem}
  .cookies-acoes .btn-linha:nth-child(3){grid-column:auto;font-size:.74rem;padding:.4rem .3rem}
  .zap{width:50px;height:50px}
  .zap svg{width:23px;height:23px}
  body:has(.cookies.ativo) .zap{bottom:7.2rem}

  .hero-escritorio,.hero-advogado,.hero-atendimento,.hero-duvidas,.hero-contato,.hero-area,.hero-chaveiro{padding-block:1.6rem 2.4rem}
  .trilha{margin-bottom:1rem;font-size:.75rem}
  .retrato-selo{width:min(100%,340px)}
  .chaveiro-abas button{margin-right:.6rem;font-size:.88rem}
  .temas li{font-size:.8rem;padding:.35rem .7rem}
  .letra{font-size:clamp(3.2rem,17vw,4.6rem)}
  .busca-campo input{font-size:1.15rem}
  .momentos-escolhas button{font-size:1.05rem;padding:.9rem 1rem .9rem 2.2rem}
  .momentos-escolhas .aspas{font-size:1.8rem;left:.6rem}
  .folha{padding:1.3rem}
  .folha-linhas{display:none}
  .credencial-cena{max-width:100%}
  .titulo-pagina .intro,.abertura .lead{line-height:1.5}
}
@media (max-width:359.98px){
  .marca-sub{display:none}
  .marca-linha{display:none}
}
.hero-advogado{overflow:hidden}
@media (max-width:899.98px){
  .hero-chaveiro .chaveiro-conteudo{order:-1}
  .hero-chaveiro .chaveiro-arte{width:min(78%,320px)}
}
@media (max-width:599.98px){
  .cookies{background:var(--superficie);box-shadow:0 -10px 30px -12px rgba(0,0,0,.35)}
}
/* Abertura da home no celular: limpa, com a chave fina acima do título (a chamada final mantém o selo esmaecido) */
@media (max-width:767.98px){
  .abertura{padding-block:2.2rem 3rem}
  .abertura>.wrap{display:flex;flex-direction:column}
  .abertura .chave-larga{display:flex;order:-1;margin:0 0 1.8rem;--anel:56px}
  .abertura .chave-larga .anel{--anel:56px}
  .abertura .chave-larga .legenda{display:none}
  .abertura .chave-larga .dentes{width:70px}
  .abertura .chave-larga .anel svg{animation:none!important}
  .abertura .acoes .btn{flex:1 1 100%}
  .abertura-rodape{margin-top:1.6rem}
  .abertura-rodape a{display:none}
}

/* =========================================================
   Seções sem coluna vazia: título em linha própria, conteúdo na largura toda
   ========================================================= */
@media (min-width:1024px){
  .trilho{grid-template-columns:minmax(0,1fr);gap:clamp(1.8rem,3vw,2.6rem)}
  .trilho-titulo{position:static;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem 4rem;align-items:end}
  .trilho-titulo h2{max-width:none}
  .trilho-titulo p{margin:0}
  .manifesto{max-width:30ch;font-size:var(--fs-4);line-height:1.18}
  .percurso{max-width:860px}
  .etapas,.principios{max-width:none}
}

/* ---------- Cards das áreas ---------- */
.cards-areas{list-style:none;display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}
.card-area{position:relative;display:flex;flex-direction:column;gap:.9rem;height:100%;padding:clamp(1.4rem,3vw,2rem);border:1px solid var(--linha);background:var(--superficie);text-decoration:none;transition:border-color .4s,transform .5s var(--ease),box-shadow .5s var(--ease)}
.card-area::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--acento);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.card-area:hover,.card-area:focus-visible{border-color:var(--acento);transform:translateY(-4px);box-shadow:var(--sombra)}
.card-area:hover::after,.card-area:focus-visible::after{transform:scaleX(1)}
.card-area .dentes{width:96px;height:40px;color:var(--acento);transition:transform .6s var(--ease)}
.card-area .dentes path{fill:none;stroke:currentColor;stroke-width:1.6;vector-effect:non-scaling-stroke}
.card-area:hover .dentes{transform:translateX(10px)}
.card-area h2,.card-area h3{font-size:var(--fs-3);line-height:1.1}
.card-area>p{margin:0;color:var(--tinta-suave)}
.card-area .temas{margin:auto 0 0;padding-top:.4rem}
.card-area .temas li{font-size:.8rem;padding:.3rem .7rem}
.card-link{display:inline-flex;align-items:center;gap:.6rem;font-weight:600;font-size:.92rem;color:var(--acento-texto);border-top:1px solid var(--linha);padding-top:1rem;margin-top:.4rem}
.card-link .chave{width:30px;height:9px;transition:transform .5s var(--ease)}
.card-area:hover .card-link .chave{transform:translateX(6px)}
@media (min-width:768px){.cards-areas{grid-template-columns:repeat(3,minmax(0,1fr))}}

.hero-chaveiro-grade{display:grid;gap:2rem;align-items:center}
.hero-chaveiro .chaveiro-arte{width:min(100%,460px)}
.secao-cards{padding-top:0}
@media (min-width:768px){.hero-chaveiro-grade{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}}
@media (max-width:767.98px){.hero-chaveiro .chaveiro-arte{width:min(70%,280px);margin-inline:auto}}
