/* ═══════════════════════════════════════════════════════════════
   FBPS ADVOGADOS — Design System v5 Premium
   Faoro Bertoni & Pinto da Silva Advogados Associados

   Tipografia : Roboto Slab (títulos) + Roboto (corpo) — MIV, auto-hospedadas
   Identidade : navy #112844 + dourado #CDAC71 (fiel ao MIV)
   Gutters    : var(--gutter) — ÚNICA fonte de margem lateral.
                Nunca sobrescrever padding horizontal de .container.
═══════════════════════════════════════════════════════════════ */

/* ─── FONTES AUTO-HOSPEDADAS ─────────────────────────────────── */
@font-face{
  font-family:'Roboto Slab';
  src:url('../fonts/roboto-slab-var.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Roboto';
  src:url('../fonts/roboto-var.woff2') format('woff2');
  font-weight:100 900;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Roboto';
  src:url('../fonts/roboto-italic-var.woff2') format('woff2');
  font-weight:100 900;font-style:italic;font-display:swap;
}

/* ─── RESET & TOKENS ─────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --navy:      #112844;
  --navy-dark: #0C1D31;
  --navy-deep: #081524;
  --navy-mid:  #1A3D5C;
  --gold:      #CDAC71;
  --gold-lt:   #E8CC99;
  --white:     #FFFFFF;
  --cream:     #F8F5F0;
  --paper:     #FFFDF9;
  --gray:      #6B7280;
  --gray-md:   #4B5563;
  --text:      #1A2B3C;
  --border:    rgba(205,172,113,.18);
  --border-g:  rgba(16,35,58,.09);
  --alerta:    #8C2B2B;

  /* Pilares */
  --penal:     #1A3560;
  --penal-bg:  rgba(26,53,96,.07);
  --penal-bdr: rgba(26,53,96,.18);
  --civil:     #1A5438;
  --civil-bg:  rgba(26,84,56,.07);
  --civil-bdr: rgba(26,84,56,.18);
  --trab:      #6E2E00;
  --trab-bg:   rgba(110,46,0,.07);
  --trab-bdr:  rgba(110,46,0,.18);

  --serif: 'Roboto Slab', 'Rockwell', Georgia, serif;
  --sans:  'Roboto', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;

  --r-sm: 3px;
  --r-md: 8px;
  --r-lg: 14px;
  --sh-sm: 0 2px 16px rgba(17,40,68,.06);
  --sh-md: 0 6px 32px rgba(17,40,68,.13);
  --sh-lg: 0 12px 56px rgba(17,40,68,.22);
  --tr: .28s cubic-bezier(.25,.46,.45,.94);

  --max-w: 1200px;
  --gutter: clamp(1.25rem, 5vw, 2rem);   /* margem lateral universal */
}

html{
  scroll-behavior:smooth;
  scroll-padding-top:8.75rem;           /* header fixo + faixa de alerta */
  font-size:16px;
  -webkit-text-size-adjust:100%;
}
body{
  font-family:var(--sans);
  color:var(--text);
  background:var(--white);
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
  overflow-x:clip;                      /* nada vaza do esquadro */
}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:2px}

/* ─── TIPOGRAFIA ─────────────────────────────────────────────── */
h1,h2,h3,h4{
  font-family:var(--serif);
  font-weight:500;
  line-height:1.12;
  letter-spacing:-.012em;
  color:var(--navy);
}
h1 em,h2 em{font-style:normal;font-weight:300;color:var(--gold)}
.label{
  font-family:var(--sans);font-size:.6875rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
  display:block;margin-bottom:.75rem;
}
.section-title{font-size:clamp(1.85rem,3.8vw,2.7rem);margin-bottom:1rem}
.section-lead{font-size:1.0625rem;color:var(--gray-md);max-width:660px;line-height:1.8}

/* ─── ÍCONES (SVG inline, traço fino) ────────────────────────── */
.icon{
  width:1.25em;height:1.25em;flex-shrink:0;
  fill:none;stroke:currentColor;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round;
}
.icon--sm{width:1em;height:1em}
.icon--lg{width:1.6em;height:1.6em}
.icon--fill{fill:currentColor;stroke:none}

/* ─── LAYOUT ─────────────────────────────────────────────────── */
.container{max-width:var(--max-w);margin:0 auto;padding:0 var(--gutter)}
.section{padding:6rem 0}
.section--dark{background:var(--navy)}
.section--offwhite{background:var(--cream)}
.section--statement{background:var(--navy-dark);padding:4.25rem 0}
.text-center{text-align:center}
.text-white{color:var(--white)}
.text-gold{color:var(--gold)}

/* ─── BOTÕES ─────────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:var(--sans);font-size:.78rem;font-weight:600;
  letter-spacing:.09em;text-transform:uppercase;
  padding:.9rem 1.9rem;border-radius:var(--r-sm);
  border:1px solid transparent;transition:var(--tr);cursor:pointer;
}
.btn .icon{width:.95em;height:.95em;transition:transform var(--tr)}
.btn:hover .icon{transform:translateX(3px)}
.btn--primary{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.btn--primary:hover{background:var(--gold-lt);transform:translateY(-1px);box-shadow:0 6px 22px rgba(205,172,113,.38)}
.btn--outline{background:transparent;color:var(--white);border-color:rgba(255,255,255,.4)}
.btn--outline:hover{border-color:var(--white);background:rgba(255,255,255,.08)}
.btn--ghost-navy{background:transparent;color:var(--navy);border-color:var(--navy)}
.btn--ghost-navy:hover{background:var(--navy);color:var(--white)}
.btn--ghost-penal{background:transparent;color:var(--penal);border-color:var(--penal)}
.btn--ghost-penal:hover{background:var(--penal);color:var(--white)}
.btn--ghost-civil{background:transparent;color:var(--civil);border-color:var(--civil)}
.btn--ghost-civil:hover{background:var(--civil);color:var(--white)}
.btn--ghost-trab{background:transparent;color:var(--trab);border-color:var(--trab)}
.btn--ghost-trab:hover{background:var(--trab);color:var(--white)}
.btn--lg{padding:1.05rem 2.4rem;font-size:.84rem}
.btn--full{width:100%}

/* Link discreto com seta (perfis, seções) */
.link-seta{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--sans);font-size:.8rem;font-weight:600;
  letter-spacing:.08em;text-transform:uppercase;color:var(--navy);
  border-bottom:1px solid rgba(205,172,113,.55);padding-bottom:.2rem;
  transition:var(--tr);
}
.link-seta .icon{width:.9em;height:.9em;transition:transform var(--tr)}
.link-seta:hover{color:var(--gold)}
.link-seta:hover .icon{transform:translateX(3px)}

/* ─── FAIXA DE ALERTA (antifraude, sempre visível) ───────────── */
.alerta-topo{
  display:flex;align-items:center;justify-content:center;gap:.6rem;
  background:var(--navy-deep);color:var(--gold);
  font-family:var(--sans);font-size:.75rem;font-weight:500;
  letter-spacing:.015em;line-height:1.4;text-align:center;
  padding:.55rem var(--gutter);
  border-bottom:1px solid rgba(205,172,113,.16);
  transition:background var(--tr);
}
.alerta-topo:hover{background:#0A1B2E}
.alerta-topo .icon{width:1rem;height:1rem}
.alerta-topo strong{font-weight:700}
.alerta-topo__mais{color:rgba(255,255,255,.62)}
.alerta-topo:hover .alerta-topo__mais{color:rgba(255,255,255,.85)}

/* ─── HEADER ─────────────────────────────────────────────────── */
#header{position:fixed;top:0;left:0;right:0;z-index:1000;background:var(--navy);transition:box-shadow var(--tr)}
#header.scrolled{box-shadow:0 2px 28px rgba(0,0,0,.4)}
.nav{display:flex;align-items:center;height:72px;gap:1.25rem}
.nav__logo-img{height:46px;width:auto;display:block}
.nav__links{display:flex;align-items:center;gap:.2rem;margin-left:auto}
.nav__link{
  font-family:var(--sans);font-size:.78rem;font-weight:500;letter-spacing:.03em;
  color:rgba(255,255,255,.66);padding:.45rem .8rem;border-radius:var(--r-sm);
  transition:var(--tr);
}
.nav__link:hover,.nav__link.active{color:var(--white);background:rgba(255,255,255,.09)}
.nav__cta{margin-left:.75rem}
.nav__burger{display:none;flex-direction:column;gap:5px;padding:.5rem;margin-left:auto}
.nav__burger span{display:block;width:24px;height:1.5px;background:var(--white);border-radius:1px;transition:var(--tr)}
.nav__mobile{
  display:none;flex-direction:column;background:var(--navy-dark);
  padding:.75rem var(--gutter) 1.75rem;border-top:1px solid rgba(255,255,255,.07);
}
.nav__mobile a{font-size:.9375rem;color:rgba(255,255,255,.75);padding:.875rem 0;border-bottom:1px solid rgba(255,255,255,.06);transition:color var(--tr)}
.nav__mobile a:hover{color:var(--gold)}
.nav__mobile .btn{margin-top:1rem;border-bottom:none}
.nav__mobile.open{display:flex}

/* ─── HERO ───────────────────────────────────────────────────── */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;background:var(--navy);overflow:hidden}
.hero__bg{position:absolute;inset:0;background-image:url('../images/hero-bg.jpg');background-size:cover;background-position:center 35%;opacity:.16}
.hero__overlay{position:absolute;inset:0;background:linear-gradient(130deg,rgba(12,29,49,.98) 0%,rgba(17,40,68,.93) 55%,rgba(26,61,92,.86) 100%)}
.hero__body{position:relative;z-index:2;width:100%;max-width:var(--max-w);margin:0 auto;padding:11rem var(--gutter) 3.25rem}
.hero__eyebrow{
  font-family:var(--sans);font-size:.6875rem;letter-spacing:.24em;text-transform:uppercase;
  color:var(--gold);font-weight:600;margin-bottom:1.75rem;
  display:flex;align-items:center;gap:.875rem;
}
.hero__eyebrow::before{content:'';width:34px;height:1px;background:var(--gold);flex-shrink:0}
.hero__h1{
  font-size:clamp(2.35rem,5.1vw,3.9rem);color:var(--white);
  line-height:1.07;margin-bottom:1.75rem;font-weight:500;letter-spacing:-.018em;
}
.hero__h1 em{color:var(--gold);font-style:normal;font-weight:300;display:block;font-size:.84em;margin-top:.28em;line-height:1.14}
.hero__lead{
  font-family:var(--sans);font-size:clamp(.9375rem,1.8vw,1.0625rem);
  color:rgba(255,255,255,.74);line-height:1.85;max-width:620px;margin-bottom:2.75rem;
}
.hero__actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:3.5rem}

/* Selos de distinção */
.hero__selos{display:flex;flex-wrap:wrap;gap:.75rem}
.selo{
  display:flex;align-items:center;gap:.8rem;
  background:rgba(255,255,255,.045);border:1px solid rgba(205,172,113,.2);
  border-radius:var(--r-md);padding:.7rem 1.1rem;transition:var(--tr);
}
.selo:hover{background:rgba(255,255,255,.09);border-color:rgba(205,172,113,.4)}
.selo .icon{width:1.35rem;height:1.35rem;color:var(--gold)}
.selo__num{font-family:var(--serif);font-size:clamp(.95rem,1.5vw,1.1rem);font-weight:600;color:var(--gold);display:block;line-height:1.15}
.selo__label{font-family:var(--sans);font-size:.67rem;color:rgba(255,255,255,.55);letter-spacing:.04em;display:block;margin-top:.18rem}

/* Barra de pilares — alinhada ao container */
.hero__pilares-bar{position:relative;z-index:2;border-top:1px solid rgba(205,172,113,.14)}
.hero__pilares-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.hero__pilar-bar{padding:1.5rem 1.5rem 1.5rem 0;border-right:1px solid rgba(255,255,255,.07)}
.hero__pilar-bar+.hero__pilar-bar{padding-left:1.5rem}
.hero__pilar-bar:last-child{border-right:none;padding-right:0}
.hero__pilar-bar-line{height:3px;width:40px;border-radius:2px;margin-bottom:.875rem}
.hero__pilar-bar-line--penal{background:#3D66A8}
.hero__pilar-bar-line--civil{background:#3E9268}
.hero__pilar-bar-line--trab{background:#B85B2A}
.hero__pilar-bar-title{font-family:var(--serif);font-size:1rem;font-weight:600;color:var(--white);display:block;margin-bottom:.25rem}
.hero__pilar-bar-sub{font-family:var(--sans);font-size:.72rem;color:rgba(255,255,255,.45);display:block}

/* ─── STATEMENT ──────────────────────────────────────────────── */
.statement{display:grid;grid-template-columns:1fr auto 1fr;gap:2.5rem;align-items:center}
.statement__linha{height:1px;background:rgba(205,172,113,.22)}
.statement__texto{
  font-family:var(--serif);font-optical-sizing:auto;
  font-size:clamp(1.1rem,1.9vw,1.4rem);font-weight:300;
  color:rgba(255,255,255,.82);line-height:1.7;text-align:center;
  max-width:800px;margin:0 auto;
}
.statement__texto strong{color:var(--gold);font-weight:600;font-style:normal}

/* ─── FOTO DO TRIO ───────────────────────────────────────────── */
.trio-section{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center}
.trio-section__foto-wrap{position:relative}
.trio-section__foto{width:100%;border-radius:var(--r-md);box-shadow:var(--sh-lg)}
.trio-section__legenda{
  display:flex;flex-wrap:wrap;justify-content:space-around;gap:.25rem .75rem;
  margin-top:.875rem;font-family:var(--sans);font-size:.72rem;
  color:var(--gray);letter-spacing:.04em;
  border-top:1px solid var(--border-g);padding-top:.625rem;
}
.trio-section__legenda span{text-align:center;flex:1;white-space:nowrap}
.trio-section__texto p{color:var(--gray-md);line-height:1.85;margin-bottom:1.25rem;font-size:1rem}
.trio-section__texto p:last-of-type{margin-bottom:2rem}

/* ─── SÓCIOS — perfis ────────────────────────────────────────── */
.socio-perfil{display:grid;grid-template-columns:360px 1fr;gap:4rem;align-items:start}
.socio-perfil__foto-wrap{position:relative}
.socio-perfil__foto{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center top;border-radius:var(--r-md);box-shadow:var(--sh-lg)}
.socio-perfil__area-badge{
  position:absolute;bottom:1.25rem;left:1.25rem;right:1.25rem;text-align:center;
  font-family:var(--sans);font-size:.66rem;font-weight:700;letter-spacing:.11em;
  text-transform:uppercase;padding:.5rem 1rem;border-radius:var(--r-sm);color:var(--white);
}
.socio-perfil__area-badge--penal{background:var(--penal)}
.socio-perfil__area-badge--civil{background:var(--civil)}
.socio-perfil__area-badge--trab{background:var(--trab)}
.socio-perfil__nome{font-size:clamp(1.7rem,2.8vw,2.3rem);font-weight:500;margin-bottom:.375rem}
.socio-perfil__subtitulo{font-family:var(--sans);font-size:.9375rem;color:var(--gold);font-weight:500;margin-bottom:1.5rem}

.distincoes{
  display:flex;flex-direction:column;gap:.55rem;margin-bottom:1.75rem;
  padding:1.4rem 1.6rem;background:var(--cream);
  border:1px solid var(--border-g);border-left:2px solid var(--gold);
  border-radius:0 var(--r-md) var(--r-md) 0;
}
.distincao{display:flex;align-items:flex-start;gap:.8rem;font-family:var(--sans);font-size:.84rem;color:var(--gray-md);line-height:1.6}
.distincao .icon{width:1.1rem;height:1.1rem;color:var(--gold);margin-top:.18rem}
.distincao strong{color:var(--navy);font-weight:600}

.socio-perfil__bio{font-family:var(--sans);font-size:.9375rem;color:var(--gray-md);line-height:1.85;margin-bottom:1.125rem}
.socio-perfil__areas{margin-top:1.75rem}
.socio-perfil__areas-titulo{font-family:var(--sans);font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gray);display:block;margin-bottom:.75rem}
.areas-tags{display:flex;flex-wrap:wrap;gap:.4rem}
.areas-tag{font-family:var(--sans);font-size:.72rem;padding:.32rem .78rem;border-radius:var(--r-sm);font-weight:500;border:1px solid}
.areas-tag--penal{background:var(--penal-bg);color:var(--penal);border-color:var(--penal-bdr)}
.areas-tag--civil{background:var(--civil-bg);color:var(--civil);border-color:var(--civil-bdr)}
.areas-tag--trab{background:var(--trab-bg);color:var(--trab);border-color:var(--trab-bdr)}
.socio-perfil__links{margin-top:1.75rem;display:flex;gap:1.75rem;flex-wrap:wrap}
.socio-divisor{border:none;border-top:1px solid var(--border-g);margin:5rem 0}

/* ─── INSTITUCIONAL — jubilação (feição editorial) ───────────── */
.feature{display:grid;grid-template-columns:.92fr 1.08fr;gap:4rem;align-items:start}
.feature__data{
  font-family:var(--sans);font-size:.6875rem;font-weight:600;
  letter-spacing:.22em;text-transform:uppercase;color:var(--gold);
  display:flex;align-items:center;gap:.875rem;margin-bottom:1rem;
}
.feature__data::after{content:'';flex:1;height:1px;background:rgba(205,172,113,.35)}
.feature__titulo{font-size:clamp(1.9rem,3.4vw,2.6rem);margin-bottom:1.5rem;max-width:22ch}
.feature__texto p{font-size:.9688rem;color:var(--gray-md);line-height:1.9;margin-bottom:1.25rem}
.feature__texto p strong{color:var(--navy);font-weight:600}
.feature__assinatura{
  margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--border-g);
  font-family:var(--serif);font-weight:400;font-size:1.02rem;color:var(--navy);
}

.galeria{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;align-items:start}
.galeria figure{margin:0}
.galeria figure:first-child{grid-column:1/-1}
.galeria img{width:100%;border-radius:var(--r-md);box-shadow:var(--sh-md);cursor:zoom-in;transition:transform var(--tr),box-shadow var(--tr)}
.galeria img:hover{transform:translateY(-3px);box-shadow:var(--sh-lg)}
.galeria figcaption{
  font-family:var(--sans);font-size:.72rem;line-height:1.55;color:var(--gray);
  letter-spacing:.02em;margin-top:.65rem;padding-top:.55rem;
  border-top:1px solid var(--border-g);
}

/* Lightbox */
.lightbox{
  position:fixed;inset:0;z-index:2000;display:none;
  flex-direction:column;align-items:center;justify-content:center;
  background:rgba(8,21,36,.95);padding:2rem var(--gutter);
}
.lightbox.open{display:flex}
.lightbox img{max-width:min(1080px,100%);max-height:82vh;width:auto;border-radius:6px;box-shadow:0 24px 80px rgba(0,0,0,.55)}
.lightbox figcaption{font-family:var(--sans);font-size:.8rem;color:rgba(255,255,255,.72);margin-top:1rem;text-align:center;max-width:640px}
.lightbox__fechar{
  position:absolute;top:1.25rem;right:1.25rem;width:2.75rem;height:2.75rem;
  display:flex;align-items:center;justify-content:center;border-radius:50%;
  color:rgba(255,255,255,.8);border:1px solid rgba(255,255,255,.25);transition:var(--tr);
}
.lightbox__fechar:hover{color:var(--gold);border-color:var(--gold)}

/* ─── PUBLICAÇÕES (home) ─────────────────────────────────────── */
.pub-autor-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.75rem;flex-wrap:wrap}
.pub-autor-badge{
  font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.08em;
  padding:.4rem 1rem;border-radius:var(--r-sm);color:var(--white);
  display:inline-flex;align-items:center;gap:.5rem;
}
.pub-autor-badge .icon{width:.95rem;height:.95rem}
.pub-autor-badge--penal{background:var(--penal)}
.pub-autor-badge--civil{background:var(--civil)}
.pub-autor-esp{font-family:var(--sans);font-size:.8125rem;color:rgba(255,255,255,.5)}

.pub-livros-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}
.pub-livro{
  display:grid;grid-template-columns:120px 1fr;gap:1.5rem;align-items:start;
  background:rgba(255,255,255,.04);border:1px solid rgba(205,172,113,.12);
  border-radius:var(--r-md);padding:1.5rem;transition:background var(--tr),border-color var(--tr);
}
.pub-livro:hover{background:rgba(255,255,255,.07);border-color:rgba(205,172,113,.3)}
.pub-livro__capa{width:120px;flex-shrink:0;perspective:600px}
.pub-livro__capa-inner{
  display:flex;height:168px;transform:rotateY(-8deg);transform-style:preserve-3d;
  box-shadow:-6px 6px 20px rgba(0,0,0,.5);border-radius:0 3px 3px 0;
}
.pub-livro__spine{width:14px;flex-shrink:0;border-radius:2px 0 0 2px}
.pub-livro__spine--penal{background:linear-gradient(180deg,#0F2244,#1A3560,#0F2244)}
.pub-livro__spine--civil{background:linear-gradient(180deg,#0F3322,#1A5438,#0F3322)}
.pub-livro__front{flex:1;display:flex;flex-direction:column;border-radius:0 3px 3px 0;overflow:hidden}
.pub-livro__editora{font-family:var(--sans);font-size:.66rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.5rem}
.pub-livro__titulo{font-family:var(--serif);font-size:1.08rem;font-weight:500;color:var(--white);margin-bottom:.25rem;line-height:1.3}
.pub-livro__subtitulo{font-family:var(--sans);font-size:.78rem;color:rgba(255,255,255,.45);margin-bottom:.75rem;line-height:1.4}
.pub-livro__desc{font-family:var(--sans);font-size:.8rem;color:rgba(255,255,255,.62);line-height:1.7;margin-bottom:1rem}
.pub-livro__btn{
  display:inline-block;font-family:var(--sans);font-size:.7rem;font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;padding:.42rem 1rem;
  border-radius:var(--r-sm);border:1px solid;transition:var(--tr);
}
.pub-livro__btn--penal{color:#9FB6DC;border-color:rgba(159,182,220,.35);background:rgba(26,53,96,.25)}
.pub-livro__btn--penal:hover{background:#3D66A8;border-color:#3D66A8;color:var(--white)}
.pub-livro__btn--civil{color:#9CCDB2;border-color:rgba(156,205,178,.35);background:rgba(26,84,56,.25)}
.pub-livro__btn--civil:hover{background:#3E9268;border-color:#3E9268;color:var(--white)}

/* Legado (grades antigas mantidas por compatibilidade) */
.publicacoes-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}

/* ─── PROCESSO ───────────────────────────────────────────────── */
.processo-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;position:relative}
.processo-steps::before{content:'';position:absolute;top:1.75rem;left:12.5%;right:12.5%;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);opacity:.35}
.passo{text-align:center}
.passo__num{
  width:3.5rem;height:3.5rem;border-radius:50%;background:var(--cream);
  border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-size:1.15rem;font-weight:500;color:var(--navy);
  margin:0 auto 1.25rem;position:relative;z-index:1;
}
.passo__title{font-family:var(--serif);font-size:1.15rem;font-weight:500;color:var(--navy);margin-bottom:.5rem}
.passo__text{font-size:.875rem;color:var(--gray-md);line-height:1.65}

/* ─── SEGURANÇA — protocolo antigolpe (assinatura do site) ───── */
.protocolo{
  position:relative;background:var(--paper);
  border:1px solid rgba(205,172,113,.5);border-radius:var(--r-md);
  padding:4rem 3rem 3rem;margin-top:4.25rem;box-shadow:var(--sh-md);
}
.protocolo::before{
  content:'';position:absolute;inset:8px;border:1px solid rgba(205,172,113,.28);
  border-radius:5px;pointer-events:none;
}
.protocolo__selo{
  position:absolute;top:-36px;left:50%;transform:translateX(-50%);
  width:72px;height:72px;border-radius:50%;background:var(--navy);
  border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;
  color:var(--gold);box-shadow:var(--sh-md);
}
.protocolo__selo .icon{width:2rem;height:2rem}
.protocolo__grid{display:grid;grid-template-columns:1.05fr 1fr 1.05fr;gap:3rem}
.protocolo h3{
  font-family:var(--sans);font-size:.75rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:var(--navy);
  margin-bottom:1.2rem;display:flex;align-items:center;gap:.6rem;
}
.protocolo h3 .icon{width:1.05rem;height:1.05rem;color:var(--gold)}
.plist li{display:flex;align-items:flex-start;gap:.7rem;font-size:.86rem;color:var(--gray-md);line-height:1.65;padding:.42rem 0}
.plist .icon{width:1.05rem;height:1.05rem;margin-top:.2rem}
.plist--nunca .icon{color:var(--alerta)}
.plist--canal .icon{color:var(--gold)}
.plist a{color:var(--navy);font-weight:600;border-bottom:1px solid rgba(205,172,113,.5);transition:color var(--tr)}
.plist a:hover{color:var(--gold)}
.protocolo__aviso{
  margin-top:1.25rem;font-size:.8rem;color:var(--navy);line-height:1.6;
  background:rgba(205,172,113,.12);border-left:2px solid var(--gold);
  padding:.75rem 1rem;border-radius:0 var(--r-sm) var(--r-sm) 0;
}
.passo-seg{display:flex;align-items:flex-start;gap:.85rem;padding:.5rem 0}
.passo-seg__num{
  width:1.7rem;height:1.7rem;border-radius:50%;flex-shrink:0;
  border:1px solid var(--gold);color:var(--navy);background:var(--white);
  display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-size:.9rem;font-weight:500;margin-top:.1rem;
}
.passo-seg p{font-size:.86rem;color:var(--gray-md);line-height:1.65}
.passo-seg a{color:var(--navy);font-weight:600;border-bottom:1px solid rgba(205,172,113,.5);transition:color var(--tr)}
.passo-seg a:hover{color:var(--gold)}
.protocolo__nota{
  margin-top:2.5rem;padding-top:1.5rem;border-top:1px dashed rgba(205,172,113,.55);
  font-family:var(--serif);font-weight:400;font-size:.9rem;color:var(--gray);
  text-align:center;max-width:760px;margin-left:auto;margin-right:auto;line-height:1.7;
}

/* Verificação OAB */
.oab-verifica{margin-top:2.75rem;text-align:center}
.oab-verifica__titulo{font-family:var(--sans);font-size:.8125rem;color:var(--gray-md);margin-bottom:1.1rem}
.oab-verifica__titulo a{color:var(--navy);font-weight:600;border-bottom:1px solid rgba(205,172,113,.5)}
.oab-verifica__titulo a:hover{color:var(--gold)}
.oab-chips{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}
.oab-chip{
  display:inline-flex;align-items:center;gap:.6rem;
  background:var(--white);border:1px solid var(--border-g);border-radius:4px;
  padding:.65rem 1.05rem;font-family:var(--sans);font-size:.78rem;color:var(--gray-md);
  box-shadow:var(--sh-sm);transition:var(--tr);
}
.oab-chip:hover{border-color:rgba(205,172,113,.55);transform:translateY(-2px)}
.oab-chip .icon{width:.95rem;height:.95rem;color:var(--gold)}
.oab-chip strong{color:var(--navy);font-weight:600}

/* ─── CONTATO ────────────────────────────────────────────────── */
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:5rem;align-items:start}
.contact-form{display:flex;flex-direction:column;gap:1rem}
.contact-form input,.contact-form textarea,.contact-form select{
  width:100%;padding:.9rem 1.125rem;background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.16);border-radius:var(--r-sm);
  color:var(--white);font-family:var(--sans);font-size:1rem;
  transition:border-color var(--tr),background var(--tr);outline:none;
  -webkit-appearance:none;appearance:none;
}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:rgba(255,255,255,.38)}
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--gold);background:rgba(255,255,255,.11)}
.contact-form textarea{resize:vertical;min-height:110px}
.contact-form select{
  color:rgba(255,255,255,.66);cursor:pointer;padding-right:2.75rem;
  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 1.5 6 6.5 11 1.5' fill='none' stroke='%23CDAC71' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1.1rem center;
}
.contact-form select option{background:var(--navy);color:var(--white)}
.contact-form__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.contact-trust{
  font-family:var(--sans);font-size:.75rem;color:rgba(255,255,255,.42);
  display:flex;align-items:center;gap:.5rem;margin-top:.25rem;
}
.contact-trust .icon{width:.9rem;height:.9rem;color:var(--gold)}
.contact-seguro{font-family:var(--sans);font-size:.75rem;color:rgba(255,255,255,.42);margin-top:.4rem}
.contact-seguro a{color:var(--gold);border-bottom:1px solid rgba(205,172,113,.4)}
.contact-itens{display:flex;flex-direction:column;gap:1.25rem}
.contact-item{display:flex;gap:1rem;align-items:flex-start}
.contact-item .icon{width:1.2rem;height:1.2rem;color:var(--gold);margin-top:.2rem}
.contact-item__lbl{font-family:var(--sans);font-size:.67rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.2rem}
.contact-item__val{font-size:.9375rem;color:rgba(255,255,255,.85);line-height:1.65;overflow-wrap:anywhere}
.contact-item__val a{color:inherit;transition:color var(--tr)}
.contact-item__val a:hover{color:var(--gold)}
.contact-horario{
  display:inline-flex;align-items:center;gap:.625rem;
  background:rgba(205,172,113,.08);border:1px solid rgba(205,172,113,.2);
  border-radius:30px;padding:.5rem 1.125rem;margin-top:1.75rem;
}
.contact-horario__dot{width:7px;height:7px;border-radius:50%;background:#4ADE80;animation:pulse-g 2s infinite}
@keyframes pulse-g{0%,100%{box-shadow:0 0 0 2px rgba(74,222,128,.3)}50%{box-shadow:0 0 0 5px rgba(74,222,128,.1)}}
.contact-horario__text{font-size:.8rem;color:rgba(255,255,255,.68)}

/* ─── WHATSAPP FLOAT ─────────────────────────────────────────── */
.whatsapp-float{
  position:fixed;bottom:1.5rem;right:1.5rem;z-index:999;
  display:flex;align-items:center;gap:.625rem;
  background:#25D366;color:var(--white);
  padding:.875rem 1.25rem;border-radius:50px;
  box-shadow:0 4px 24px rgba(37,211,102,.38);
  font-family:var(--sans);font-weight:600;font-size:.875rem;
  transition:transform var(--tr),box-shadow var(--tr);
  animation:float-in .6s 1.2s both cubic-bezier(.175,.885,.32,1.275);
}
.whatsapp-float:hover{transform:scale(1.04);box-shadow:0 6px 32px rgba(37,211,102,.55)}
.whatsapp-float__icon{width:22px;height:22px;flex-shrink:0}
@keyframes float-in{from{opacity:0;transform:scale(0) translateY(20px)}to{opacity:1;transform:none}}

/* ─── SCROLL TOP ─────────────────────────────────────────────── */
.scroll-top{
  position:fixed;bottom:1.5rem;left:1.5rem;width:2.5rem;height:2.5rem;border-radius:50%;
  background:rgba(17,40,68,.85);border:1px solid rgba(205,172,113,.3);
  display:flex;align-items:center;justify-content:center;color:var(--gold);
  opacity:0;pointer-events:none;transition:opacity var(--tr),transform var(--tr);z-index:998;
}
.scroll-top.visible{opacity:1;pointer-events:auto}
.scroll-top:hover{transform:translateY(-3px)}
.scroll-top .icon{width:1rem;height:1rem}

/* ─── FOOTER ─────────────────────────────────────────────────── */
.footer{background:var(--navy-dark);padding:5rem 0 0;border-top:1px solid rgba(205,172,113,.1)}
.footer__grid{display:grid;grid-template-columns:1.6fr 1fr 1.1fr 1.2fr;gap:3rem;padding-bottom:3.5rem;border-bottom:1px solid rgba(255,255,255,.05)}
.footer__logo{height:56px;width:auto;margin-bottom:1.25rem;border-radius:3px;opacity:.94}
.footer__tagline{font-family:var(--serif);font-size:.98rem;font-weight:300;color:rgba(255,255,255,.45);line-height:1.75;max-width:280px}
.footer__oab{font-family:var(--sans);font-size:.72rem;color:rgba(255,255,255,.32);margin-top:1rem;line-height:1.7}
.footer__col-title{font-family:var(--sans);font-size:.67rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:600;margin-bottom:1.25rem;display:block}
.footer__links{display:flex;flex-direction:column;gap:.625rem}
.footer__link{font-size:.875rem;color:rgba(255,255,255,.55);transition:color var(--tr)}
.footer__link:hover{color:var(--gold)}
.footer__ci{display:flex;gap:.7rem;font-size:.875rem;color:rgba(255,255,255,.55);margin-bottom:.8rem;line-height:1.6;overflow-wrap:anywhere}
.footer__ci .icon{width:1rem;height:1rem;color:var(--gold);margin-top:.25rem}
.footer__ci a{color:inherit;transition:color var(--tr)}
.footer__ci a:hover{color:var(--gold)}
.footer__bottom{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding:1.5rem 0;font-size:.75rem;color:rgba(255,255,255,.32);line-height:1.7;
}
.footer__bottom a{color:rgba(255,255,255,.45);transition:color var(--tr)}
.footer__bottom a:hover{color:var(--gold)}
.footer__bottom-links{display:flex;gap:1.25rem;flex-wrap:wrap}

/* ─── PAGE HERO (páginas internas) ───────────────────────────── */
.page-hero{background:var(--navy);padding:10.5rem 0 4.5rem;position:relative;overflow:hidden}
.page-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(130deg,rgba(12,29,49,.97) 0%,rgba(17,40,68,.88) 100%)}
.page-hero__content{position:relative;z-index:2}
.page-hero__breadcrumb{font-size:.8125rem;color:rgba(255,255,255,.4);margin-bottom:1rem;display:flex;align-items:center;gap:.5rem}
.page-hero__breadcrumb a{color:var(--gold)}
.page-hero__h1{font-size:clamp(2rem,4.5vw,3.25rem);color:var(--white);margin-bottom:.75rem;font-weight:500}
.page-hero__lead{font-size:1.0625rem;color:rgba(255,255,255,.7);max-width:600px;line-height:1.7}

/* ─── ANIMAÇÕES ──────────────────────────────────────────────── */
[data-fade]{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
[data-fade].visible{opacity:1;transform:none}
[data-fade="delay-1"]{transition-delay:.12s}
[data-fade="delay-2"]{transition-delay:.24s}
[data-fade="delay-3"]{transition-delay:.36s}
[data-fade="delay-4"]{transition-delay:.48s}

/* ─── RESPONSIVO ─────────────────────────────────────────────── */
@media(max-width:1100px){
  .socio-perfil{grid-template-columns:300px 1fr;gap:3rem}
  .footer__grid{grid-template-columns:1fr 1fr;gap:2.5rem}
  .trio-section{gap:2.5rem}
  .feature{gap:3rem}
  .protocolo__grid{grid-template-columns:1fr;gap:2.25rem}
  .protocolo{padding:3.5rem 2.5rem 2.5rem}
}
@media(max-width:900px){
  .hero__pilares-grid{grid-template-columns:1fr}
  .hero__pilar-bar{border-right:none;border-bottom:1px solid rgba(255,255,255,.07);padding:1.15rem 0}
  .hero__pilar-bar+.hero__pilar-bar{padding-left:0}
  .hero__pilar-bar:last-child{border-bottom:none}
  .contact-grid{grid-template-columns:1fr;gap:3rem}
  .contact-form__row{grid-template-columns:1fr}
  .trio-section{grid-template-columns:1fr}
  .feature{grid-template-columns:1fr}
}
@media(max-width:768px){
  html{scroll-padding-top:7.75rem}
  .section{padding:4.25rem 0}
  .section--statement{padding:3.25rem 0}
  .nav{height:64px}
  .nav__logo-img{height:40px}
  .nav__links,.nav__cta{display:none}
  .nav__burger{display:flex}
  .alerta-topo{font-size:.72rem;padding:.5rem var(--gutter)}
  .alerta-topo__mais{display:none}
  .hero__body{padding-top:9.5rem;padding-bottom:2.75rem}
  .hero__selos{flex-direction:column;align-items:stretch}
  .socio-perfil{grid-template-columns:1fr;gap:2rem}
  .socio-perfil__foto{aspect-ratio:4/3;object-position:center 20%}
  .statement{grid-template-columns:1fr}
  .statement__linha{display:none}
  .processo-steps{grid-template-columns:repeat(2,1fr);gap:2rem}
  .processo-steps::before{display:none}
  .publicacoes-grid,.pub-livros-grid{grid-template-columns:1fr}
  .pub-livro{grid-template-columns:100px 1fr;gap:1rem;padding:1.25rem}
  .pub-livro__capa{width:100px}
  .pub-livro__capa-inner{height:142px}
  .footer__grid{grid-template-columns:1fr;gap:2.25rem}
  .footer__bottom{flex-direction:column;align-items:flex-start;gap:.75rem}
  .protocolo{padding:3.25rem 1.4rem 2rem;margin-top:3.75rem}
  .protocolo::before{inset:6px}
  .galeria{gap:1.1rem}
  .socio-divisor{margin:3.5rem 0}
}
@media(max-width:480px){
  .hero__actions{flex-direction:column;align-items:stretch}
  .hero__actions .btn,.contact-form .btn{width:100%}
  .processo-steps{grid-template-columns:1fr}
  .whatsapp-float span:not(.whatsapp-float__icon){display:none}
  .whatsapp-float{padding:.875rem;border-radius:50%}
  .pub-livro{grid-template-columns:1fr}
  .pub-livro__capa{width:100px;margin:0 auto}
  .galeria{grid-template-columns:1fr}
  .galeria figure:first-child{grid-column:auto}
  .oab-chips{flex-direction:column;align-items:stretch}
  .oab-chip{justify-content:center}
}

/* ─── ACESSIBILIDADE ─────────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  [data-fade]{opacity:1;transform:none}
}
