/* ==========================================================================
   KOJIMA ROQUE ADVOGADOS — Design System
   Paleta e tipografia definidas no Briefing Digital do cliente.
   ========================================================================== */

:root{
  --azul:#1F2A40;
  --azul-profundo:#162040;
  --azul-noite:#0E1119;
  --cinza:#BDBEBF;
  --cinza-azulado:#5D6473;
  --offwhite:#F2F2F2;
  --branco:#FFFFFF;
  --linha:#E2E2E0;
  --linha-escura:rgba(189,190,191,.22);
  --texto:#242A33;
  --texto-suave:#5D6473;

  --serif:'Playfair Display',Georgia,'Times New Roman',serif;
  --sans:'Montserrat','Helvetica Neue',Arial,sans-serif;
  --mono-marca:'Cinzel',Georgia,serif;

  --container:1180px;
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:48px;
  --s6:64px; --s7:88px; --s8:120px;

  --header-h:80px;

  --sombra-sm:0 1px 2px rgba(14,17,25,.05), 0 1px 4px rgba(14,17,25,.04);
  --sombra-md:0 6px 20px rgba(14,17,25,.07), 0 2px 6px rgba(14,17,25,.05);
  --sombra-lg:0 22px 48px rgba(14,17,25,.16), 0 8px 18px rgba(14,17,25,.09);
  --sombra-header:0 1px 0 rgba(14,17,25,.05), 0 10px 24px -18px rgba(14,17,25,.35);
}

*,*::before,*::after{box-sizing:border-box}

html{
  color-scheme:only light;
  -webkit-text-size-adjust:100%;
  scroll-behavior:smooth;
  scroll-padding-top:calc(var(--header-h) + 16px);
}

body{
  margin:0;
  background:var(--branco);
  color:var(--texto);
  -webkit-text-fill-color:var(--texto);
  font-family:var(--sans);
  font-size:16.5px;
  line-height:1.75;
  font-weight:400;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}

img{max-width:100%;height:auto;display:block}
svg{display:inline-block;vertical-align:middle;flex:none}

h1,h2,h3,h4{
  font-family:var(--serif);
  font-weight:500;
  color:var(--azul);
  -webkit-text-fill-color:var(--azul);
  line-height:1.18;
  letter-spacing:-.012em;
  margin:0 0 var(--s3);
}
h1{font-size:clamp(2rem,4.6vw,3.4rem)}
h2{font-size:clamp(1.65rem,3.2vw,2.5rem)}
h3{font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.3}
h4{font-size:1.05rem;line-height:1.4}

p{margin:0 0 var(--s3)}
a{color:var(--azul);-webkit-text-fill-color:var(--azul);text-decoration:none}
a:hover{text-decoration:underline}

.container{width:100%;max-width:var(--container);margin-inline:auto;padding-inline:24px}
.container--slim{max-width:820px}

.secao{padding-block:var(--s7)}
.secao--compacta{padding-block:var(--s6)}
.secao--offwhite{background:var(--offwhite)}
.secao--escura{background:linear-gradient(155deg,var(--azul) 0%,var(--azul-profundo) 180%)}

.eyebrow{
  font-family:var(--sans);
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:var(--cinza-azulado);
  -webkit-text-fill-color:var(--cinza-azulado);
  margin:0 0 var(--s2);
  display:block;
}
.secao--escura .eyebrow,
.cta-final .eyebrow,
.pagina-topo .eyebrow,
.footer .eyebrow,
.card--destaque .eyebrow{color:var(--cinza);-webkit-text-fill-color:var(--cinza)}
.secao--escura h2,.secao--escura h3,.secao--escura h4{color:var(--branco);-webkit-text-fill-color:var(--branco)}
.secao--escura p,.secao--escura li{color:#D9DCE1;-webkit-text-fill-color:#D9DCE1}

.lead{font-size:1.1rem;line-height:1.8;color:var(--texto-suave);-webkit-text-fill-color:var(--texto-suave)}
.secao--escura .lead{color:#CFD3DA;-webkit-text-fill-color:#CFD3DA}

.cabecalho-secao{max-width:720px;margin-bottom:var(--s6)}
.cabecalho-secao--centro{margin-inline:auto;text-align:center}
.assinatura-escritorio{
  font-family:var(--serif);font-size:1.05rem;font-style:italic;
  color:var(--cinza-azulado);-webkit-text-fill-color:var(--cinza-azulado);
  margin:0 0 14px;
}

/* ---------- Google: avaliações (sem nota reproduzida, só link de saída) ---------- */
.google-avaliacoes{
  display:flex;align-items:center;flex-wrap:wrap;gap:12px;
  padding:16px 20px;margin-bottom:var(--s5);
  background:var(--offwhite);border:1px solid var(--linha);border-radius:3px;
}
.google-avaliacoes__icone{
  flex:none;display:flex;color:var(--cinza-azulado);-webkit-text-fill-color:var(--cinza-azulado);
}
.google-avaliacoes__texto{
  font-size:.88rem;color:var(--texto-suave);-webkit-text-fill-color:var(--texto-suave);
  margin-right:auto;
}
.google-avaliacoes__link{
  flex:none;display:inline-flex;align-items:center;min-height:44px;
  font-size:.78rem;font-weight:600;letter-spacing:.03em;
  color:var(--azul);-webkit-text-fill-color:var(--azul);
}
.google-avaliacoes__link:hover{text-decoration:none;color:var(--azul-profundo);-webkit-text-fill-color:var(--azul-profundo)}
.contato-item--google{border-bottom:none;padding-top:6px}
.contato-item--google .google-avaliacoes{margin-bottom:0}
@media (max-width:719px){
  .google-avaliacoes{flex-direction:column;align-items:flex-start;gap:10px}
  .google-avaliacoes__texto{margin-right:0}
}

.skip-link{
  position:absolute;left:-9999px;top:0;z-index:200;
  background:var(--azul);color:var(--branco);-webkit-text-fill-color:var(--branco);
  padding:14px 20px;font-size:.9rem;
}
.skip-link{display:inline-flex;align-items:center;min-height:44px}
.skip-link:focus{left:12px;top:12px}

:focus-visible{outline:2px solid var(--azul);outline-offset:3px}

/* ---------- Botões ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:14px 30px;
  font-family:var(--sans);font-size:.83rem;font-weight:600;
  letter-spacing:.09em;text-transform:uppercase;
  border:1px solid transparent;border-radius:3px;cursor:pointer;
  transition:background-color .22s ease,color .22s ease,border-color .22s ease,
             transform .22s cubic-bezier(.4,0,.2,1),box-shadow .22s ease;
  text-align:center;text-decoration:none;
}
.btn:hover{text-decoration:none;transform:translateY(-2px)}
.btn:active{transform:translateY(0)}
.btn--primario{background:var(--azul);color:var(--branco);-webkit-text-fill-color:var(--branco);border-color:var(--azul);
  box-shadow:0 8px 20px -8px rgba(31,42,64,.55)}
.btn--primario:hover{background:var(--azul-profundo);border-color:var(--azul-profundo);box-shadow:0 14px 28px -10px rgba(22,32,64,.55)}
.btn--secundario{background:transparent;color:var(--azul);-webkit-text-fill-color:var(--azul);border-color:rgba(31,42,64,.35)}
.btn--secundario:hover{background:var(--azul);color:var(--branco);-webkit-text-fill-color:var(--branco);border-color:var(--azul);
  box-shadow:0 14px 28px -12px rgba(31,42,64,.45)}
.btn--claro{background:var(--branco);color:var(--azul);-webkit-text-fill-color:var(--azul);border-color:var(--branco);
  box-shadow:0 8px 20px -8px rgba(0,0,0,.35)}
.btn--claro:hover{background:var(--cinza);border-color:var(--cinza);color:var(--azul-profundo);-webkit-text-fill-color:var(--azul-profundo)}
.btn--contorno-claro{background:transparent;color:var(--branco);-webkit-text-fill-color:var(--branco);border-color:rgba(255,255,255,.42)}
.btn--contorno-claro:hover{background:var(--branco);color:var(--azul);-webkit-text-fill-color:var(--azul);border-color:var(--branco);
  box-shadow:0 14px 28px -12px rgba(0,0,0,.35)}
.btn--bloco{width:100%}
@media (max-width:719px){.btn:hover{transform:none}}

.grupo-btn{display:flex;flex-wrap:wrap;gap:14px}

/* ---------- Header ---------- */
.header{
  position:sticky;top:0;z-index:60;
  background:rgba(250,250,249,.92);
  -webkit-backdrop-filter:saturate(180%) blur(14px);
  backdrop-filter:saturate(180%) blur(14px);
  border-bottom:1px solid var(--linha);
  box-shadow:var(--sombra-header);
}
.header__inner{
  display:flex;align-items:center;justify-content:space-between;gap:28px;
  min-height:var(--header-h);
}
.header__marca{display:flex;align-items:center;flex:none;padding-block:12px}
.header__marca img{width:138px;height:auto;transition:opacity .2s ease}
.header__marca:hover img{opacity:.82}
.header__nav{display:flex;align-items:center;gap:26px;white-space:nowrap}
.header__nav a{
  display:inline-flex;align-items:center;min-height:44px;
  font-size:.8rem;font-weight:500;letter-spacing:.03em;
  color:var(--texto);-webkit-text-fill-color:var(--texto);
  padding:6px 0;position:relative;
}
.header__nav a::after{
  content:"";position:absolute;left:0;right:100%;bottom:10px;height:1.5px;
  background:var(--azul);transition:right .24s cubic-bezier(.4,0,.2,1);
}
.header__nav a:hover{color:var(--azul);-webkit-text-fill-color:var(--azul);text-decoration:none}
.header__nav a:hover::after{right:0}
.header__nav a[aria-current="page"]{color:var(--azul);-webkit-text-fill-color:var(--azul);font-weight:600}
.header__nav a[aria-current="page"]::after{right:0}
.header__acoes{display:flex;align-items:center;gap:20px;flex:none}
.header__acoes .btn{min-height:48px;padding:12px 24px 12px 20px;font-size:.74rem;gap:9px}
.header__divisor{width:1px;height:26px;background:var(--linha);flex:none}
@media (max-width:1179px){.header__divisor{display:none}}

.menu-toggle{
  display:none;width:48px;height:48px;align-items:center;justify-content:center;
  background:transparent;border:1px solid var(--linha);border-radius:2px;cursor:pointer;
  transition:border-color .22s ease;
}
.menu-toggle:hover{border-color:rgba(31,42,64,.35)}
.menu-toggle span{display:block;width:20px;height:1.5px;background:var(--azul);position:relative;transition:background-color .2s ease .1s}
.menu-toggle span::before,.menu-toggle span::after{
  content:"";position:absolute;left:0;width:20px;height:1.5px;background:var(--azul);
  transition:transform .26s cubic-bezier(.4,0,.2,1),top .26s cubic-bezier(.4,0,.2,1);
}
.menu-toggle span::before{top:-6px}
.menu-toggle span::after{top:6px}
.menu-toggle[aria-expanded="true"] span{background:transparent}
.menu-toggle[aria-expanded="true"] span::before{top:0;transform:rotate(45deg)}
.menu-toggle[aria-expanded="true"] span::after{top:0;transform:rotate(-45deg)}

.drawer{
  position:fixed;inset:var(--header-h) 0 0 0;z-index:55;
  background:var(--branco);
  padding:6px 24px 24px;
  overflow-y:auto;
  counter-reset:menuitem;
  opacity:0;visibility:hidden;transform:translateY(-10px);pointer-events:none;
  transition:opacity .24s ease,transform .24s cubic-bezier(.4,0,.2,1),visibility 0s linear .24s;
}
.drawer[data-aberto="true"]{
  opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto;
  transition:opacity .24s ease,transform .24s cubic-bezier(.4,0,.2,1);
}
.drawer a{
  counter-increment:menuitem;
  display:flex;align-items:center;gap:12px;
  padding:13px 0;min-height:46px;
  font-family:var(--serif);font-size:1.05rem;line-height:1.3;
  border-bottom:1px solid var(--linha);
  color:var(--texto);-webkit-text-fill-color:var(--texto);
}
.drawer a::before{
  content:"0" counter(menuitem);
  font-family:var(--mono-marca);font-size:.64rem;letter-spacing:.02em;
  color:var(--cinza-azulado);-webkit-text-fill-color:var(--cinza-azulado);flex:none;
}
.drawer a[aria-current="page"]{color:var(--azul);-webkit-text-fill-color:var(--azul)}
.drawer .btn{
  counter-increment:none;margin-top:20px;border-bottom:0;
  color:var(--branco);-webkit-text-fill-color:var(--branco);
  font-family:var(--sans);font-size:.72rem;letter-spacing:.05em;
  padding:14px 16px;white-space:nowrap;
}
.drawer .btn::before{content:none}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  background:var(--azul-noite);
  overflow:hidden;
}
.hero__media{position:relative;line-height:0}
.hero__media img{width:100%;display:block;filter:saturate(1.1) contrast(1.05) brightness(1.02)}
.hero__conteudo{position:relative;z-index:2}
.hero__eyebrow{
  font-size:.68rem;font-weight:600;letter-spacing:.24em;text-transform:uppercase;
  color:var(--cinza);-webkit-text-fill-color:var(--cinza);
  display:block;margin-bottom:var(--s3);
}
.hero h1{color:var(--branco);-webkit-text-fill-color:var(--branco);margin-bottom:var(--s3);font-size:clamp(2rem,4.2vw,3.15rem)}
.hero__sub{
  color:#C9CDD5;-webkit-text-fill-color:#C9CDD5;
  font-size:1.05rem;line-height:1.8;max-width:34em;margin-bottom:var(--s4);
}
.hero__local{
  display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--s5);
  padding-top:var(--s3);border-top:1px solid var(--linha-escura);
}
.hero__local span{
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
  color:var(--cinza);-webkit-text-fill-color:var(--cinza);
  background:rgba(242,242,242,.05);
  border:1px solid var(--linha-escura);padding:8px 15px;border-radius:2px;
  transition:border-color .22s ease,background-color .22s ease;
}
.hero__local span:hover{border-color:rgba(189,190,191,.55);background:rgba(242,242,242,.09)}

/* mobile: foto em bloco, texto embaixo — nunca sobrepostos */
.hero__media::after{
  content:"";position:absolute;left:0;right:0;bottom:-1px;height:34%;
  background:linear-gradient(to bottom,rgba(14,17,25,0) 0%,rgba(14,17,25,.72) 55%,var(--azul-noite) 100%);
  pointer-events:none;
}
.hero__conteudo{padding:0 24px 64px}
.hero__media img{max-height:62vh;object-fit:cover;object-position:center 12%}

/* ---------- Blocos de conteúdo ---------- */
.resposta-direta{
  background:var(--offwhite);
  border-left:3px solid var(--azul);
  border-radius:0 4px 4px 0;
  padding:28px 32px;
  margin-block:var(--s4);
  box-shadow:var(--sombra-sm);
}
.resposta-direta .eyebrow{margin-bottom:12px}
.resposta-direta p{margin:0;font-size:1.05rem;line-height:1.8;color:var(--texto)}
.resposta-direta p+p{margin-top:14px}

.citacao{
  position:relative;
  font-family:var(--serif);
  font-size:clamp(1.35rem,2.7vw,2.05rem);
  line-height:1.45;font-style:italic;font-weight:400;
  color:var(--branco);-webkit-text-fill-color:var(--branco);
  margin:0 0 var(--s4);max-width:22em;padding-left:.1em;
}
.citacao::before{
  content:"“";position:absolute;left:-.36em;top:-.22em;
  font-family:var(--serif);font-style:normal;font-size:2.2em;line-height:1;
  color:rgba(189,190,191,.4);-webkit-text-fill-color:rgba(189,190,191,.4);
  pointer-events:none;
}

.prosa h2{margin-top:var(--s6)}
.prosa h3{margin-top:var(--s5)}
.prosa ul,.prosa ol{margin:0 0 var(--s3);padding-left:22px}
.prosa li{margin-bottom:10px}
.prosa li::marker{color:var(--cinza-azulado)}
.prosa>*:first-child{margin-top:0}

/* ---------- Grid genérico ---------- */
.grid{display:grid;gap:24px}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}

/* ---------- Cards ---------- */
.card{
  background:var(--branco);
  border:1px solid var(--linha);
  padding:34px 30px;
  display:flex;flex-direction:column;
  box-shadow:var(--sombra-sm);
  transition:border-color .26s ease,transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease;
}
.card:hover{border-color:rgba(31,42,64,.22);transform:translateY(-5px);box-shadow:var(--sombra-lg)}
.card h3{margin-bottom:12px}
.card p{color:var(--texto-suave);-webkit-text-fill-color:var(--texto-suave);font-size:.95rem;margin-bottom:20px}
.card__link{
  margin-top:auto;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  display:inline-flex;align-items:center;gap:8px;min-height:44px;
  transition:gap .22s ease;
}
.card:hover .card__link{gap:12px}
.card__link::after{content:"→";transition:transform .22s ease}
.card:hover .card__link::after{transform:translateX(2px)}
.card__num{
  font-family:var(--mono-marca);font-size:.8rem;letter-spacing:.02em;
  color:var(--cinza-azulado);-webkit-text-fill-color:var(--cinza-azulado);
  display:inline-flex;align-items:center;justify-content:center;
  width:36px;height:36px;flex:none;padding:0;margin-bottom:16px;
  border:1px solid var(--linha);border-radius:50%;
  box-sizing:border-box;
}
.card--link{text-decoration:none;color:inherit}
.card--link:hover{text-decoration:none}
.card--destaque{background:linear-gradient(155deg,var(--azul) 0%,var(--azul-profundo) 130%);
  border-color:var(--azul-profundo);color:var(--branco);-webkit-text-fill-color:var(--branco);
  box-shadow:var(--sombra-md)}
.card--destaque:hover{box-shadow:0 26px 52px -14px rgba(14,17,25,.5)}
.card--destaque h3{color:var(--branco);-webkit-text-fill-color:var(--branco)}
.card--destaque p{color:#CFD3DA;-webkit-text-fill-color:#CFD3DA}
.card--destaque .card__num{color:var(--cinza);-webkit-text-fill-color:var(--cinza);border-color:rgba(189,190,191,.35)}
.card--destaque .card__link{color:var(--cinza);-webkit-text-fill-color:var(--cinza)}
@media (max-width:719px){.card:hover{transform:none}}

/* ---------- Persona ---------- */
.persona{
  display:block;position:relative;background:var(--branco);border:1px solid var(--linha);
  border-left:3px solid transparent;
  padding:30px 30px 30px 27px;color:inherit;
  box-shadow:var(--sombra-sm);
  transition:border-color .26s ease,transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease;
}
.persona{color:var(--texto);-webkit-text-fill-color:var(--texto)}
.persona:hover{border-color:var(--linha);border-left-color:var(--azul);text-decoration:none;
  transform:translateY(-5px);box-shadow:var(--sombra-lg)}
.persona strong{
  display:block;font-family:var(--serif);font-size:1.2rem;font-weight:500;
  color:var(--azul);-webkit-text-fill-color:var(--azul);margin-bottom:10px;line-height:1.35;
}
.persona span{
  display:block;font-size:.92rem;color:var(--texto-suave);-webkit-text-fill-color:var(--texto-suave);
  line-height:1.7;
}
.persona em{
  display:inline-flex;align-items:center;gap:8px;min-height:44px;
  font-style:normal;font-size:.76rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--azul);-webkit-text-fill-color:var(--azul);margin-top:6px;
  transition:gap .22s ease;
}
.persona:hover em{gap:12px}
.persona em::after{content:"→";transition:transform .22s ease}
.persona:hover em::after{transform:translateX(2px)}
@media (max-width:719px){.persona:hover{transform:none}}

/* ---------- Sócios ---------- */
.socio{
  background:var(--branco);border:1px solid var(--linha);overflow:hidden;
  box-shadow:var(--sombra-sm);
  transition:box-shadow .32s ease,transform .32s cubic-bezier(.4,0,.2,1);
}
.socio:hover{box-shadow:var(--sombra-lg);transform:translateY(-5px)}
/* aspect-ratio 4/5 é exatamente a proporção nativa das fotos já tratadas
   (900x1125px) — isso garante que a imagem apareça inteira, sem recorte. */
.socio__foto{position:relative;aspect-ratio:4/5;overflow:hidden;background:var(--azul-noite)}
.socio__foto img{
  width:100%;height:100%;object-fit:cover;object-position:center 14%;
  transition:transform .6s cubic-bezier(.2,0,.1,1);
}
.socio:hover .socio__foto img{transform:scale(1.035)}
.socio__corpo{
  padding:32px 34px 36px;position:relative;overflow:hidden;
}
.socio__corpo::before{
  content:attr(data-inicial);position:absolute;right:6px;top:-34px;z-index:0;
  font-family:var(--mono-marca);font-size:7.5rem;line-height:1;font-weight:400;
  color:var(--offwhite);-webkit-text-fill-color:var(--offwhite);
  pointer-events:none;
}
.socio__corpo>*{position:relative;z-index:1}
.socio__cargo{
  display:block;margin-bottom:12px;
  font-size:.7rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--cinza-azulado);-webkit-text-fill-color:var(--cinza-azulado);
}
.socio__corpo h3{margin-bottom:6px;font-size:clamp(1.25rem,2vw,1.5rem)}
.socio__oab{
  display:block;margin-bottom:20px;font-size:.82rem;font-weight:500;
  color:var(--cinza-azulado);-webkit-text-fill-color:var(--cinza-azulado);
}
.socio__corpo p{
  margin:0;font-size:.96rem;line-height:1.8;
  color:var(--texto-suave);-webkit-text-fill-color:var(--texto-suave);
}
.socio__atuacao{margin-top:22px;padding-top:20px;border-top:1px solid var(--linha)}
.socio__atuacao .rotulo{
  display:block;margin-bottom:8px;
  font-size:.68rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--cinza-azulado);-webkit-text-fill-color:var(--cinza-azulado);
}
.socio__atuacao p{
  font-family:var(--serif);font-style:italic;font-size:1.02rem;line-height:1.6;
  color:var(--azul);-webkit-text-fill-color:var(--azul);
}
@media (max-width:719px){.socio:hover{transform:none}.socio:hover .socio__foto img{transform:none}}

/* ---------- Método ---------- */
.etapa{padding-top:26px;border-top:1px solid var(--linha)}
.etapa .card__num{margin-bottom:10px}
.etapa h3{font-size:1.15rem;margin-bottom:10px}
.etapa p{font-size:.95rem;color:var(--texto-suave);-webkit-text-fill-color:var(--texto-suave);margin:0}
.secao--escura .etapa{border-top-color:var(--linha-escura);transition:border-color .3s ease}
.secao--escura .etapa:hover{border-top-color:rgba(189,190,191,.5)}
.secao--escura .etapa p{color:#C9CDD5;-webkit-text-fill-color:#C9CDD5}
.secao--escura .etapa .card__num{color:var(--cinza);-webkit-text-fill-color:var(--cinza);border-color:var(--linha-escura)}

/* ---------- Lista de áreas (hub/menu) ---------- */
.lista-areas{list-style:none;margin:0;padding:0;border-top:1px solid var(--linha)}
.lista-areas li{border-bottom:1px solid var(--linha)}
.lista-areas a{
  display:flex;align-items:baseline;justify-content:space-between;gap:20px;
  padding:24px 4px;min-height:56px;position:relative;
  font-family:var(--serif);font-size:1.2rem;color:var(--azul);-webkit-text-fill-color:var(--azul);
  transition:padding-left .26s cubic-bezier(.4,0,.2,1),color .2s ease;
}
.lista-areas a::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--azul);
  transform:scaleY(0);transform-origin:center;transition:transform .26s ease;
}
.lista-areas a:hover{text-decoration:none;padding-left:20px}
.lista-areas a:hover::before{transform:scaleY(1)}
.lista-areas small{
  font-family:var(--sans);font-size:.76rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
  color:var(--cinza-azulado);-webkit-text-fill-color:var(--cinza-azulado);flex:none;
  display:inline-flex;align-items:center;gap:6px;
}
.lista-areas small::after{content:"→";transition:transform .22s ease}
.lista-areas a:hover small::after{transform:translateX(3px)}

/* ---------- FAQ ---------- */
.faq{border-top:1px solid var(--linha)}
.faq details{border-bottom:1px solid var(--linha);transition:background-color .22s ease}
.faq details[open]{background:var(--offwhite)}
.secao--offwhite .faq details[open]{background:var(--branco)}
.faq summary{
  cursor:pointer;list-style:none;
  padding:24px 46px 24px 4px;min-height:56px;position:relative;
  font-family:var(--serif);font-size:1.12rem;line-height:1.4;
  color:var(--azul);-webkit-text-fill-color:var(--azul);
  transition:padding-left .22s ease;
}
.faq details[open] summary{padding-left:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:"";position:absolute;right:8px;top:29px;
  width:11px;height:11px;border-right:1.5px solid var(--cinza-azulado);border-bottom:1.5px solid var(--cinza-azulado);
  transform:rotate(45deg);transition:transform .28s cubic-bezier(.4,0,.2,1);
}
.faq details[open] summary::after{transform:rotate(-135deg);top:33px}
.faq__resposta{padding:0 4px 28px}
.faq__resposta p{margin-bottom:14px;color:var(--texto-suave);-webkit-text-fill-color:var(--texto-suave)}
.faq__resposta p:last-child{margin-bottom:0}

/* ---------- Breadcrumb ---------- */
.breadcrumb{padding-block:12px;border-bottom:1px solid var(--linha);background:var(--offwhite)}
.breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;font-size:.78rem}
.breadcrumb li{display:flex;align-items:center;gap:8px;min-height:44px}
.breadcrumb a,.breadcrumb span{display:inline-flex;align-items:center;min-height:44px}
.breadcrumb li+li::before{content:"/";color:var(--cinza);-webkit-text-fill-color:var(--cinza)}
.breadcrumb a{color:var(--cinza-azulado);-webkit-text-fill-color:var(--cinza-azulado);transition:color .2s ease}
.breadcrumb a:hover{color:var(--azul);-webkit-text-fill-color:var(--azul)}
.breadcrumb [aria-current="page"]{color:var(--azul);-webkit-text-fill-color:var(--azul);font-weight:600}

/* ---------- Cabeçalho de página interna ---------- */
.pagina-topo{background:linear-gradient(160deg,var(--azul) 0%,var(--azul-profundo) 160%);padding-block:var(--s6) var(--s6)}
.pagina-topo .eyebrow{color:var(--cinza);-webkit-text-fill-color:var(--cinza)}
.pagina-topo h1{color:var(--branco);-webkit-text-fill-color:var(--branco);max-width:16em;margin-bottom:var(--s3)}
.pagina-topo p{color:#C9CDD5;-webkit-text-fill-color:#C9CDD5;max-width:44em;font-size:1.05rem;margin:0}

/* ---------- Blog ---------- */
.artigo-card{
  display:flex;flex-direction:column;border:1px solid var(--linha);height:100%;
  background:var(--branco);box-shadow:var(--sombra-sm);overflow:hidden;
  transition:border-color .26s ease,transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s ease;
}
.artigo-card{color:var(--texto);-webkit-text-fill-color:var(--texto)}
.artigo-card:hover{border-color:rgba(31,42,64,.22);text-decoration:none;transform:translateY(-5px);box-shadow:var(--sombra-lg)}
.artigo-card:hover .card__link{gap:12px}
.artigo-card:hover .card__link::after{transform:translateX(2px)}
.artigo-card__capa{display:block;aspect-ratio:16/9;overflow:hidden;line-height:0;background:var(--azul-noite)}
.artigo-card__capa img{width:100%;height:100%;object-fit:cover;transition:transform .5s cubic-bezier(.2,0,.1,1)}
.artigo-card:hover .artigo-card__capa img{transform:scale(1.045)}
.artigo-card__corpo{display:flex;flex-direction:column;flex:1;padding:26px 26px 28px}

/* Banner de capa no topo da página do artigo */
.pagina-topo--artigo{padding-bottom:56px}
.artigo-capa{
  margin:-38px auto 0;max-width:920px;
  border:1px solid var(--linha);box-shadow:var(--sombra-md);line-height:0;
  background:var(--azul-noite);
}
.artigo-capa img{width:100%;height:auto;display:block}
@media (max-width:719px){.artigo-capa{margin-top:-24px}}
.artigo-card__categoria{
  align-self:flex-start;
  font-size:.68rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
  color:var(--azul);-webkit-text-fill-color:var(--azul);
  background:var(--offwhite);border-radius:2px;padding:5px 10px;margin-bottom:14px;
}

/* ---------- Hub do blog: navegação por categoria + grupos ---------- */
.blog-nav{
  position:sticky;top:var(--header-h);z-index:20;
  background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--linha);
}
.blog-nav__inner{
  display:flex;gap:8px;overflow-x:auto;padding-block:14px;
  scrollbar-width:none;
}
.blog-nav__inner::-webkit-scrollbar{display:none}
.blog-nav a{
  flex:none;display:inline-flex;align-items:center;gap:7px;min-height:44px;
  font-size:.78rem;font-weight:500;color:var(--texto-suave);-webkit-text-fill-color:var(--texto-suave);
  background:var(--offwhite);border:1px solid transparent;border-radius:99px;padding:9px 16px;
  transition:background-color .2s ease,color .2s ease,border-color .2s ease;
}
.blog-nav a:hover{text-decoration:none;background:var(--branco);border-color:var(--azul);
  color:var(--azul);-webkit-text-fill-color:var(--azul)}
.blog-nav a small{
  font-family:var(--mono-marca);font-size:.7rem;
  color:var(--cinza-azulado);-webkit-text-fill-color:var(--cinza-azulado);
}
.blog-nav a:hover small{color:var(--azul);-webkit-text-fill-color:var(--azul)}

.blog-grupo{scroll-margin-top:calc(var(--header-h) + 66px)}
.blog-grupo + .blog-grupo{margin-top:var(--s7)}
.blog-grupo__topo{
  display:flex;align-items:baseline;justify-content:space-between;gap:20px;flex-wrap:wrap;
  margin-bottom:var(--s4);padding-bottom:var(--s3);border-bottom:1px solid var(--linha);
}
.blog-grupo__topo h2{margin:0}
.blog-grupo__ver{
  flex:none;display:inline-flex;align-items:center;min-height:44px;
  font-size:.78rem;font-weight:600;letter-spacing:.06em;
  color:var(--azul);-webkit-text-fill-color:var(--azul);white-space:nowrap;
}
@media (max-width:719px){.artigo-card:hover{transform:none}}
.artigo-card time{
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:600;
  color:var(--cinza-azulado);-webkit-text-fill-color:var(--cinza-azulado);display:block;margin-bottom:14px;
}
.artigo-card h3{font-size:1.18rem;margin-bottom:12px}
.artigo-card p{font-size:.93rem;color:var(--texto-suave);-webkit-text-fill-color:var(--texto-suave);margin-bottom:18px}
.artigo-card .card__link{margin-top:auto}

.artigo-corpo{max-width:720px}
.artigo-meta{
  display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center;
  font-size:.78rem;color:var(--cinza-azulado);-webkit-text-fill-color:var(--cinza-azulado);
  padding-bottom:var(--s4);margin-bottom:var(--s4);border-bottom:1px solid var(--linha);
}
.autoria{
  border:1px solid var(--linha);padding:26px 28px;margin-top:var(--s6);background:var(--offwhite);
}
.autoria .rotulo{
  font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--cinza-azulado);-webkit-text-fill-color:var(--cinza-azulado);margin:0 0 12px;
}
.autoria p{margin:0;font-size:.93rem;color:var(--texto-suave);-webkit-text-fill-color:var(--texto-suave)}
.autoria strong{color:var(--azul);-webkit-text-fill-color:var(--azul)}

.veja-tambem{margin-top:var(--s6);padding-top:var(--s4);border-top:1px solid var(--linha)}
.veja-tambem .rotulo{
  font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--cinza-azulado);-webkit-text-fill-color:var(--cinza-azulado);margin:0 0 14px;
}
.veja-tambem ul{list-style:none;margin:0;padding:0}
.veja-tambem li{border-bottom:1px solid var(--linha)}
.veja-tambem a{display:block;padding:14px 0;min-height:48px;font-size:.98rem}

/* ---------- Contato ---------- */
.contato-item{padding:24px 0;border-bottom:1px solid var(--linha)}
.contato-item .rotulo{
  font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--cinza-azulado);-webkit-text-fill-color:var(--cinza-azulado);margin:0 0 8px;
}
.contato-item p{margin:0;font-size:1.02rem}
.contato-item a{font-weight:500}

.mapa-estatico{
  border:1px solid var(--linha);background:var(--offwhite);
  aspect-ratio:4/3;width:100%;display:block;
}

/* ---------- CTA final ---------- */
.cta-final{background:linear-gradient(160deg,var(--azul-profundo) 0%,var(--azul-noite) 170%);padding-block:var(--s7)}
.cta-final h2{color:var(--branco);-webkit-text-fill-color:var(--branco);max-width:16em}
.cta-final p{color:#C9CDD5;-webkit-text-fill-color:#C9CDD5;max-width:40em;font-size:1.05rem}

/* ---------- Footer ---------- */
.footer{
  background:linear-gradient(165deg,var(--azul) 0%,var(--azul-profundo) 145%);
  padding-block:var(--s6) var(--s4);color:#C9CDD5;-webkit-text-fill-color:#C9CDD5;
  box-shadow:0 -1px 0 rgba(255,255,255,.06);
}
.footer a{color:#C9CDD5;-webkit-text-fill-color:#C9CDD5;transition:color .2s ease}
.footer a:hover{color:var(--branco);-webkit-text-fill-color:var(--branco)}
.footer li a{position:relative}
.footer ul li a::before{
  content:"";position:absolute;left:0;bottom:11px;width:0;height:1px;background:var(--branco);
  transition:width .22s ease;
}
.footer ul li a:hover::before{width:100%}
.footer__topo{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:48px;padding-bottom:var(--s5)}
.footer__marca img{width:170px;height:auto;margin-bottom:22px}
.footer__marca p{font-size:.9rem;line-height:1.8;margin:0;max-width:32em}
.footer .rotulo-col{
  font-family:var(--sans);font-size:.7rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;
  color:var(--cinza);-webkit-text-fill-color:var(--cinza);margin:0 0 18px;
}
.footer ul{list-style:none;margin:0;padding:0}
.footer li{margin-bottom:2px}
.footer li a{display:inline-flex;align-items:center;min-height:44px;font-size:.9rem}
.footer__legal{
  border-top:1px solid var(--linha-escura);padding-top:var(--s4);
  font-size:.78rem;line-height:1.85;color:#A7ADB8;-webkit-text-fill-color:#A7ADB8;
}
.footer__legal p{margin:0 0 10px}
.footer__legal p:last-child{margin:0}
.footer__legal strong{color:var(--cinza);-webkit-text-fill-color:var(--cinza);font-weight:600}

/* ---------- Botões flutuantes ---------- */
.flutuantes{
  position:fixed;right:18px;bottom:18px;z-index:50;
  display:flex;flex-direction:column;align-items:center;gap:12px;
}
.flutuante{
  width:54px;height:54px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(14,17,25,.28);
  transition:transform .22s cubic-bezier(.4,0,.2,1),box-shadow .22s ease,background .22s ease;
}
.flutuante:hover{transform:translateY(-3px) scale(1.04);text-decoration:none;box-shadow:0 14px 32px rgba(14,17,25,.34)}
.flutuante svg{width:24px;height:24px}
.flutuante--wa{background:var(--azul)}
.flutuante--wa:hover{background:var(--azul-profundo)}
.flutuante--wa svg{fill:var(--branco);width:25px;height:25px}
.flutuante--ig{
  background:radial-gradient(circle at 30% 110%, #FFDA76 0%, #FA7E1E 24%, #D62976 46%, #962FBF 68%, #4F5BD5 100%);
}
.flutuante--ig svg{fill:none;stroke:var(--branco);stroke-width:1.8}
@media (max-width:719px){.flutuantes{right:14px;bottom:14px;gap:10px}.flutuante{width:50px;height:50px}}

/* ==========================================================================
   Responsivo
   ========================================================================== */

@media (max-width:1179px){
  .header__nav{display:none}
  .header__acoes .btn--primario{display:none}
  .menu-toggle{display:flex}
  .grid--4{grid-template-columns:repeat(2,1fr)}
  .grid--3{grid-template-columns:repeat(2,1fr)}
  .footer__topo{grid-template-columns:1fr 1fr;gap:40px}
  .footer__marca{grid-column:1 / -1}
}

@media (min-width:720px) and (max-width:1179px){
  .header__acoes .btn--primario{display:inline-flex}
}

@media (max-width:719px){
  :root{--s7:64px;--s6:48px;--s8:72px}
  body{font-size:16px}
  .grid--2,.grid--3,.grid--4{grid-template-columns:1fr}
  .container{padding-inline:20px}
  .footer__topo{grid-template-columns:1fr;gap:36px}
  .resposta-direta{padding:24px 22px}
  .card{padding:28px 24px}
  .btn{width:100%}
  .grupo-btn{flex-direction:column}
  .hero__media img{max-height:none;object-position:center 8%}
  .lista-areas a{flex-direction:column;gap:6px;font-size:1.1rem}
}

/* ---------- Desktop: hero lado a lado ---------- */
@media (min-width:1024px){
  .hero{min-height:min(640px,78vh);display:flex;align-items:center}
  .hero__media{
    position:absolute;inset:0 0 0 auto;width:58%;height:100%;line-height:0;
  }
  .hero__media img{
    width:100%;height:100%;max-height:none;object-fit:cover;object-position:72% 26%;
  }
  .hero__media::after{
    inset:0;height:auto;
    background:linear-gradient(to right,var(--azul-noite) 0%,rgba(14,17,25,.86) 20%,rgba(14,17,25,.18) 50%,rgba(14,17,25,0) 72%);
  }
  .hero__conteudo{
    width:100%;max-width:var(--container);margin-inline:auto;
    padding:96px 24px;
  }
  .hero__interno{max-width:600px}
  .hero__local{max-width:600px}
}

@media (min-width:1300px){
  .hero__conteudo{padding-block:112px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition-duration:.01ms !important;animation-duration:.01ms !important}
}

@media print{
  .header,.flutuantes,.drawer{display:none !important}
}
