/* ============================================================
   NIENABER ADVOCACIA — SISTEMA DO SITE
   Instrument Serif + Instrument Sans · navy #071A33 · marfim #F7F5F1
   ============================================================ */

:root{
  --navy:#071A33; --navy-2:#0A2140; --azul:#0A2E6E; --azul-link:#1E63C9;
  --turq:#25A9B8; --turq-cl:#3FB4C4; --turq-esc:#0A6E7A; --turq-tinta:#06232B;
  --marfim:#F7F5F1; --marfim-2:#EFEBE3; --marfim-q:#EAE6DE; --hover:#F1EEE8;
  --fio:#DAD5CB; --fio-2:#D6D0C4; --campo:#C4BEB1;
  --tinta:#14141A; --tinta-m:#57544C; --tinta-s:#6E6A5C;
  --on-navy:#F7F5F1; --on-navy-c:rgba(232,228,220,.82); --on-navy-s:rgba(232,228,220,.62);
  --fio-navy:rgba(247,245,241,.18); --azulado:#8FB4D8;

  --serif:'Instrument Serif',Georgia,serif;
  --sans:'Instrument Sans',system-ui,-apple-system,sans-serif;

  --h1:clamp(38px,4.0vw,58px); --h2:clamp(28px,2.9vw,40px); --h3:clamp(21px,1.9vw,27px);
  --cit:clamp(26px,2.6vw,38px); --corpo-g:18px; --corpo:17px; --aux:14px; --rot:11px;
  --num:clamp(28px,2.6vw,38px);
  /* escala de interface — navegação, botões, listas, rótulos de dado */
  --ui:16px; --lead:20px; --sub-s:23px; --fecho-s:25px; --fala:26px;
  --mk-ft:30px; --mk-s:34px; --display:34px; --numeral:38px;
  /* estados de cor */
  --turq-h:#1F94A1; --navy-h:#0A2140; --foto-bg:#0D2A50;
  --erro:#A3392B; --sucesso:#0A6E7A;

  --sp1:8px; --sp2:20px; --sp3:22px; --sp4:32px; --sp5:56px; --sp6:88px;
  --y-plena:140px; --y-compacta:104px; --x:88px; --wrap:1440px;
  --t:240ms cubic-bezier(.2,.7,.2,1);
  --ancora:104px; --ancora-m:88px;
  --rot-campo:12px;
}
[id]{scroll-margin-top:var(--ancora)}
@media(max-width:768px){[id]{scroll-margin-top:var(--ancora-m)}}
@media(max-width:1280px){:root{--y-plena:104px;--y-compacta:80px;--x:56px}}
@media(max-width:768px){:root{--y-plena:72px;--y-compacta:64px;--x:24px}}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;padding:0;background:var(--marfim);font-family:var(--sans);color:var(--tinta);
  font-size:var(--corpo);line-height:1.66;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:var(--azul);text-decoration:none;transition:color var(--t)}
a:hover{color:var(--turq-esc)}
h1,h2,h3,p,ul{margin:0}
ul{list-style:none;padding:0}
button{font-family:inherit}

/* ---- grade ---- */
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:var(--x);padding-right:var(--x)}
.sec{padding-top:var(--y-plena);padding-bottom:var(--y-plena)}
.sec-c{padding-top:var(--y-compacta);padding-bottom:var(--y-compacta)}
.navy{background:var(--navy);color:var(--on-navy)}
.marfim{background:var(--marfim)}
.marfim2{background:var(--marfim-2)}

/* ---- tipografia ---- */
h1,.h1{font-family:var(--serif);font-weight:400;font-size:var(--h1);line-height:1.04;letter-spacing:-.025em;text-wrap:balance}
h2,.h2{font-family:var(--serif);font-weight:400;font-size:var(--h2);line-height:1.08;letter-spacing:-.02em;text-wrap:balance}
h3,.h3{font-family:var(--sans);font-weight:600;font-size:var(--h3);line-height:1.24;letter-spacing:-.01em;text-wrap:balance}
.cit{font-family:var(--serif);font-size:var(--cit);line-height:1.3;letter-spacing:-.015em;text-wrap:balance}
.corpo-g{font-size:var(--corpo-g);line-height:1.62;max-width:52ch;text-wrap:pretty}
.navy .corpo-g,.hero .corpo-g,.top .corpo-g{color:var(--on-navy-c)}
.virada{font-style:italic;max-width:26ch;margin-top:var(--sp2)}
.sp3{margin-top:var(--sp3)}
.sp4{margin-top:var(--sp4)}
.sp5{margin-top:var(--sp5)}
.cit-apoio{max-width:26ch;margin-top:var(--sp3)}
.agenda-frame{width:100%;min-height:920px;border:0;display:block}
.acesso{max-width:420px}
.pf-top{height:auto;min-height:0;padding-top:var(--y-plena);padding-bottom:var(--y-plena)}
.pf-top .top-txt{max-width:64ch}
.pf-top .sub{margin-top:var(--sp1)}
.pf-top .corpo-g{margin-top:var(--sp3);color:var(--on-navy-c)}
.pf-btn{margin-top:var(--sp5)}
.pf .tl{margin-top:var(--sp5)}
.pf-malha{margin-top:var(--sp5)}
.pf-card{padding:38px 34px}
.pf-card h3{font-size:var(--h3);line-height:1.24;letter-spacing:-.01em;color:var(--tinta)}
.pf-card p{margin-top:var(--sp2);font-size:var(--ui);line-height:1.6;color:var(--tinta-m)}
.pf-lista{list-style:none;padding:0;margin:var(--sp5) 0 0;border-top:1px solid var(--fio);max-width:76ch}
.pf-lista li{padding:18px 0;border-bottom:1px solid var(--fio);font-size:var(--corpo);line-height:1.6;color:var(--tinta-m)}
.pf-cit{max-width:24ch;margin:0 auto;text-align:center;color:var(--on-navy)}
.pf-cit em,.navy .pf-cit{color:var(--on-navy)}
.pf-assin{margin-top:var(--sp4);text-align:center;font-size:var(--aux);letter-spacing:.24em;text-transform:uppercase;font-weight:600;color:var(--turq-cl)}
@media(max-width:600px){.pf-creds > div{grid-template-columns:1fr;gap:6px}}
@media print{.hd,.wa,.ft nav,.skip,.pf-btn,.fecho{display:none}.rv,.stagger>*{opacity:1;transform:none;animation:none}.sec,.sec-c,.pf-top{padding:24px 0;page-break-inside:avoid}}
.acesso-rot{display:block;color:var(--azul);margin-bottom:var(--sp4)}
.acesso-form .campo{margin-bottom:var(--sp4)}
.acesso-btn{margin-top:var(--sp2)}
.acesso-nota{font-size:var(--aux);line-height:1.55;color:var(--tinta-s);margin-top:var(--sp3);max-width:44ch}
@media(max-width:768px){.agenda-frame{min-height:720px}}
.navy .virada{color:var(--turq-cl)}
p{text-wrap:pretty;max-width:64ch}
.rot{font-size:var(--rot);letter-spacing:.28em;text-transform:uppercase;font-weight:600;
  font-family:var(--sans);line-height:1.4}
.navy .rot,.hero .rot,.top .rot{color:var(--turq-cl)}
.marfim .rot,.marfim2 .rot{color:var(--azul)}
.num{font-family:var(--sans);font-weight:600;font-size:var(--num);letter-spacing:-.02em;line-height:1;display:block}

/* ---- abertura de seção ---- */
.ab{display:flex;align-items:center;gap:14px;margin-bottom:var(--sp2)}
.ab i{display:block;width:40px;height:1px;background:var(--azul);flex:none}
.navy .ab i,.hero .ab i,.top .ab i{background:var(--turq)}
.ab-a{display:grid;grid-template-columns:1fr 1fr;gap:var(--sp6);align-items:end;margin-bottom:var(--sp5)}
.ab-a .corpo-g{padding-bottom:6px}
.ab-b{margin-bottom:var(--sp5)}
.ab-b .h2{max-width:20ch}
.sub{font-family:var(--serif);font-style:italic;font-size:var(--sub-s);line-height:1.44;
  margin-top:var(--sp3);max-width:46ch;color:var(--tinta-m)}
.navy .sub,.hero .sub,.top .sub{color:var(--on-navy-c)}
@media(max-width:900px){.ab-a{grid-template-columns:1fr;gap:var(--sp4);align-items:start}}

/* ---- cabeçalho ---- */
.hd{background:var(--navy);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--fio-navy)}
.hd .wrap{height:84px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.mk{display:flex;align-items:baseline;gap:1px;font-family:var(--serif);font-size:var(--mk-s);
  letter-spacing:-.02em;color:var(--on-navy);line-height:1;white-space:nowrap}
.mk b{font-weight:400}
.mk i{color:var(--turq);font-style:normal}
.hd nav{display:flex;align-items:center;gap:34px}
.hd nav a{font-size:var(--ui);font-weight:500;color:rgba(232,228,220,.74);white-space:nowrap;
  background-image:linear-gradient(currentColor,currentColor);background-size:0 1px;
  background-position:0 100%;background-repeat:no-repeat;padding-bottom:3px}
.hd nav a:hover,.hd nav a[aria-current]{color:var(--on-navy);background-size:100% 1px}
.hd .cta{font-size:var(--ui);font-weight:600;color:var(--on-navy);border-bottom:1px solid var(--turq);
  padding-bottom:3px;white-space:nowrap}
.hd .cta:hover{color:var(--turq-cl)}
.burger{display:none;background:none;border:0;color:var(--on-navy);font-size:22px;cursor:pointer;padding:8px}
@media(max-width:1024px){
  .hd nav{display:none}
  .burger{display:block}
  .hd.open nav{display:flex;position:absolute;top:84px;left:0;right:0;background:var(--navy);
    flex-direction:column;align-items:flex-start;gap:0;padding:8px var(--x) 24px;border-bottom:1px solid var(--fio-navy)}
  .hd.open nav a{padding:14px 0;font-size:var(--ui);width:100%}
}

/* ---- hero ---- */
.hero{background:var(--navy);color:var(--on-navy);position:relative;overflow:hidden;
  height:640px;display:flex;align-items:center}
.hero .wrap{position:relative;z-index:2;width:100%}
.hero-txt{max-width:min(52%,620px)}
.hero h1{margin-bottom:var(--sp3)}
.hero .corpo-g{color:var(--on-navy-c);max-width:44ch}
.hero-media{position:absolute;top:0;bottom:0;right:0;width:52vw;max-width:none;z-index:1;overflow:hidden;background:var(--foto-bg)}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 18%}
.hero-media::before{content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(90deg,var(--navy) 0%,rgba(7,26,51,.94) 12%,rgba(7,26,51,.5) 34%,rgba(7,26,51,0) 66%)}
.hero-media::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:26%;z-index:2;
  background:linear-gradient(0deg,var(--navy) 0%,rgba(7,26,51,0) 100%)}
.btns{display:flex;flex-wrap:wrap;gap:var(--sp4);margin-top:var(--sp5)}
.btn{display:inline-block;font-size:var(--ui);font-weight:600;letter-spacing:.01em;
  padding:16px 30px;transition:all var(--t);white-space:nowrap}
.btn-p{background:var(--turq);color:var(--turq-tinta)}
.btn-p:hover{background:var(--turq-h);color:var(--turq-tinta)}
.btn-d{background:var(--navy);color:var(--on-navy)}
.btn-d:hover{background:var(--navy-h);color:var(--on-navy)}
.btn-o{border:1px solid rgba(247,245,241,.34);color:var(--on-navy)}
.btn-o:hover{border-color:var(--turq);color:var(--turq-cl)}
@media(max-width:1024px){
  .hero,.top{height:560px}
  .top.sem-foto{height:560px}
  .hero-txt{max-width:46%}
  .top-txt{max-width:48%}
  .hero-media{width:46vw}
  .hero-media::before{background:linear-gradient(90deg,var(--navy) 0%,rgba(7,26,51,.96) 18%,rgba(7,26,51,.4) 48%,rgba(7,26,51,0) 78%)}
}
@media(max-width:768px){
  .hero{height:auto;min-height:auto;flex-direction:column;align-items:stretch;padding-bottom:var(--y-plena)}
  .hero-media{position:relative;width:100%;height:46svh;order:-1}
  .hero-media img{object-position:center 15%}
  .hero-media::before{background:linear-gradient(0deg,var(--navy) 0%,rgba(7,26,51,.2) 55%,rgba(7,26,51,0) 100%)}
  .hero-media::after{display:none}
  .hero .wrap{padding-top:var(--sp5)}
  .hero-txt{max-width:none}
}

/* ---- abertura de página interna ---- */
.top{background:var(--navy);color:var(--on-navy);position:relative;overflow:hidden;
  height:640px;display:flex;align-items:center;padding-top:var(--y-compacta);padding-bottom:var(--y-compacta)}
.top .wrap{position:relative;z-index:2;width:100%}
.top-txt{max-width:min(52%,620px)}
.top .hero-media img{object-position:center 18%}
.top.sem-foto{height:640px}
.top.sem-foto .top-txt{max-width:38ch}
.top.compacta{height:auto;min-height:0;padding-top:var(--y-compacta);padding-bottom:var(--y-compacta)}
.top.sem-foto.compacta .top-txt{max-width:46ch}
@media(max-width:768px){.top-txt{max-width:none}.top,.top.sem-foto,.hero{height:auto;min-height:340px}.top.compacta{min-height:0}}

/* ---- malha de fios ---- */
.malha{display:grid;gap:1px;background:var(--fio);border:1px solid var(--fio);align-items:stretch;grid-auto-rows:1fr}
.navy .malha,.top .malha{background:var(--fio-navy);border-color:var(--fio-navy)}
.malha>*{background:var(--marfim)}
.navy .malha>*,.top .malha>*{background:var(--navy)}
.m2{grid-template-columns:repeat(2,1fr)}
.m3{grid-template-columns:repeat(3,1fr)}
.m4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1024px){.m3,.m4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.m2,.m3,.m4{grid-template-columns:1fr}}

/* ---- situações ---- */
.sit{display:flex;flex-direction:column;justify-content:space-between;
  padding:42px 44px;min-height:230px;height:100%;transition:background var(--t)}
.sit:hover{background:var(--hover)}
.sit .fala{font-family:var(--serif);font-size:var(--fala);line-height:1.32;color:var(--tinta);
  letter-spacing:-.01em;text-wrap:balance;display:block}
.sit .sit-frente{display:flex;align-items:center;gap:12px;margin-top:var(--sp4);
  font-size:var(--aux);font-weight:600;color:var(--azul);letter-spacing:.01em;transition:gap var(--t)}
.sit .sit-frente::before{content:"";width:18px;height:1px;background:var(--turq);flex:none;transition:width var(--t)}
.sit:hover .sit-frente::before{width:26px}

/* ---- frentes ---- */
.frentes{border-top:1px solid var(--fio)}
.frente{display:grid;grid-template-columns:64px 1fr 1fr;gap:var(--sp5);
  padding:var(--sp5) 0;border-bottom:1px solid var(--fio);align-items:start}
.frente .n{font-family:var(--serif);font-size:var(--numeral);color:var(--tinta-s);line-height:.9}
.frente .sol{font-family:var(--serif);font-style:italic;font-size:var(--sub-s);line-height:1.34;
  color:var(--azul);margin-top:11px;max-width:34ch}
.frente .desc{margin-top:var(--sp3);font-size:var(--ui);color:var(--tinta-m);max-width:48ch}
.frente .blocos{display:flex;flex-direction:column;gap:var(--sp4)}
.frente .blocos .rot{margin-bottom:12px;display:block}
.frente li{display:flex;gap:12px;font-size:var(--ui);line-height:1.55;color:var(--tinta-m);
  padding:7px 0;text-wrap:pretty}
.frente li::before{content:"";width:14px;height:1px;background:var(--turq);flex:none;margin-top:12px}
.frente .cta{display:inline-flex;align-items:center;gap:12px;margin-top:var(--sp4);
  font-size:var(--ui);font-weight:600;color:var(--azul);transition:gap var(--t)}
.frente .cta::before{content:"";width:18px;height:1px;background:var(--turq);flex:none;transition:width var(--t)}
.frente .cta:hover::before{width:26px}
@media(max-width:1100px){.frente{grid-template-columns:52px 1fr;gap:var(--sp4)}
  .frente .blocos{grid-column:2}}
@media(max-width:600px){.frente{grid-template-columns:1fr}.frente .blocos{grid-column:1}}

/* ---- método ---- */
.fase{padding:38px 32px 40px;display:flex;flex-direction:column;justify-content:space-between;height:100%}
.fase .rot{margin-bottom:16px}
.fase h3{font-family:var(--serif);font-weight:400;font-size:var(--display);letter-spacing:-.02em;
  line-height:1.06;margin-bottom:14px;color:var(--on-navy)}
.fase p{font-size:var(--ui);line-height:1.55;color:var(--on-navy-c)}
.fase .ent{margin-top:var(--sp4);padding-top:16px;border-top:1px solid var(--fio-navy)}
.fase .ent .rot{color:var(--on-navy-s);margin-bottom:7px}
.fase .ent p{font-size:var(--ui);color:var(--on-navy-s);min-height:calc(1.55em * 3)}
.marfim .fase h3,.marfim2 .fase h3{color:var(--tinta)}
.marfim .fase p,.marfim2 .fase p{color:var(--tinta-m)}
.marfim .fase .ent,.marfim2 .fase .ent{border-top-color:var(--fio)}
.marfim .fase .ent .rot,.marfim2 .fase .ent .rot,.marfim .fase .ent p,.marfim2 .fase .ent p{color:var(--tinta-s)}
.marfim .ft-linha,.marfim2 .ft-linha{color:var(--tinta-m)}
.marfim .ft-linha a,.marfim2 .ft-linha a{color:var(--azul)}
.marfim .ft-linha a:hover,.marfim2 .ft-linha a:hover{color:var(--turq-esc)}

/* ---- trajetória ---- */
.traj{border-top:1px solid var(--fio)}
.traj li{padding:26px 0;border-bottom:1px solid var(--fio)}
.traj .nome{font-family:var(--serif);font-size:clamp(22px,2.2vw,31px);line-height:1.14;
  letter-spacing:-.015em;color:var(--tinta);display:block}
.traj .q{display:block;font-size:var(--aux);color:var(--turq-esc);margin-top:6px;letter-spacing:.01em}
.navy .traj,.navy .traj li{border-color:var(--fio-navy)}
.navy .traj .nome{color:var(--on-navy)}
.navy .traj .q{color:var(--turq-cl)}
.traj a{color:inherit;display:block;transition:color var(--t)}
.traj a:hover .nome{color:var(--azul)}
.nota{font-size:var(--aux);line-height:1.55;color:var(--tinta-s);margin-top:var(--sp4);max-width:70ch}
.navy .nota{color:var(--on-navy-s)}

/* ---- credenciais ---- */
.creds{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin-top:var(--sp5);
  padding-top:var(--sp4);border-top:1px solid var(--fio-navy)}
.creds>div{display:flex;flex-direction:column}
.creds .lab{font-size:var(--ui);line-height:1.5;color:var(--on-navy-s);margin-top:var(--sp1);max-width:26ch}
@media(max-width:768px){.creds{grid-template-columns:1fr;gap:var(--sp4)}}

/* ---- linha do tempo ---- */
.tl{border-top:1px solid var(--fio)}
.tl li{display:grid;grid-template-columns:96px 1fr;gap:var(--sp4);padding:18px 0;
  border-bottom:1px solid var(--fio);align-items:baseline}
.navy .tl .ano{color:var(--turq-cl)}
.navy .tl p{color:var(--on-navy-c)}
.navy .tl li{border-color:var(--fio-navy)}
.tl .ano{font-family:var(--serif);font-size:var(--fala);color:var(--turq-esc);line-height:1}
.tl p{font-size:var(--corpo);line-height:1.58;color:var(--tinta-m);max-width:62ch}
.tl li:last-child .ano{color:var(--azul)}
.tl li:last-child p{color:var(--tinta)}
.navy .tl li:last-child .ano{color:var(--on-navy)}
.navy .tl li:last-child p{color:var(--on-navy)}
@media(max-width:600px){.tl li{grid-template-columns:1fr;gap:6px}}

/* ---- FAQ ---- */
.faq{border-top:1px solid var(--fio);max-width:78ch}
.faq details{border-bottom:1px solid var(--fio)}
.faq summary{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp4);
  padding:24px 0;cursor:pointer;list-style:none;transition:color var(--t)}
.faq summary::-webkit-details-marker{display:none}
.faq summary:hover{color:var(--azul)}
.faq summary .q{font-family:var(--sans);font-weight:600;font-size:var(--lead);
  line-height:1.34;letter-spacing:-.01em;text-wrap:balance;max-width:52ch}
.faq summary .s{flex:none;width:18px;height:18px;position:relative;margin-top:6px;transition:transform var(--t)}
.faq summary .s::before,.faq summary .s::after{content:"";position:absolute;background:var(--azul)}
.faq summary .s::before{left:0;right:0;top:8px;height:1px}
.faq summary .s::after{top:0;bottom:0;left:8px;width:1px}
.faq details[open] summary .s{transform:rotate(45deg)}
.faq details[open] .a{animation:abre 240ms cubic-bezier(.2,.7,.2,1)}
@keyframes abre{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.faq .a{padding:0 0 26px;font-size:var(--corpo);line-height:1.66;color:var(--tinta-m);max-width:68ch}
.faq .a p+p{margin-top:14px}

/* ---- formulário ---- */
.form{max-width:640px}
.campos{display:grid;grid-template-columns:1fr 1fr;gap:28px 24px;margin-top:var(--sp5)}
.campo{display:flex;flex-direction:column}
.campo.full{grid-column:1/-1}
.campo label{font-size:var(--rot-campo);letter-spacing:.28em;text-transform:uppercase;
  font-weight:600;color:var(--tinta-s);margin-bottom:10px}
.campo input,.campo textarea,.campo select{font-family:var(--sans);font-size:var(--corpo);color:var(--tinta);
  background:none;border:0;border-bottom:1px solid var(--campo);padding:6px 0 10px;
  transition:border-color var(--t);width:100%}
.campo textarea{resize:vertical;min-height:62px;line-height:1.6}
.campo input:focus,.campo textarea:focus,.campo select:focus{outline:none;border-bottom-color:var(--azul)}
.campo .hint{font-size:var(--aux);color:var(--tinta-s);margin-top:var(--sp1)}
.campo-erro{font-size:var(--aux);color:var(--erro);margin-top:6px;display:block}
.campo input[aria-invalid=true],.campo textarea[aria-invalid=true],.campo select[aria-invalid=true]{border-bottom-color:var(--erro)}
.form[aria-busy=true] .campo{opacity:.6}
.btn[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}
.form-erro{font-size:var(--ui);color:var(--erro);margin-top:var(--sp3);padding-left:14px;border-left:1px solid var(--erro)}
.hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.form-ok{padding-top:var(--sp4)}
.form-ok .h3{margin-bottom:10px}
.form .btn{margin-top:40px;border:0;cursor:pointer}
.alt{font-size:var(--ui);color:var(--tinta-m);margin-top:var(--sp4)}
.aviso{font-size:var(--aux);color:var(--tinta-s);margin-top:var(--sp3);padding-left:14px;border-left:1px solid var(--turq)}
.pracas{font-size:var(--ui);color:var(--tinta-s);margin-top:var(--sp5);
  padding-top:var(--sp4);border-top:1px solid var(--fio);letter-spacing:.01em}
@media(max-width:600px){.campos{grid-template-columns:1fr}}

/* ---- fecho ---- */
.fecho{font-family:var(--serif);font-style:italic;font-size:var(--fecho-s);line-height:1.42;
  max-width:42ch;color:var(--tinta);display:inline-flex;gap:8px;transition:gap var(--t)}
.fecho:hover{gap:14px;color:var(--azul)}
.navy .fecho{color:var(--on-navy)}
.navy .fecho:hover{color:var(--turq-cl)}

/* ---- rodapé ---- */
.ft{background:var(--tinta);color:var(--on-navy);padding-top:var(--y-compacta);padding-bottom:36px}
.ft-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr;gap:48px;padding-bottom:var(--sp5)}
.ft .mk{font-size:var(--mk-ft);margin-bottom:12px}
.ft .tag{font-family:var(--serif);font-style:italic;font-size:var(--aux);color:rgba(247,245,241,.6)}
.ft nav{display:flex;flex-direction:column;gap:0;max-width:200px}
.ft nav a{font-size:var(--aux);font-weight:500;color:rgba(247,245,241,.72);line-height:1.85;padding:2px 0}
.ft nav a:hover{color:var(--on-navy)}
.ft .praca .rot{color:var(--turq-cl);margin-bottom:12px;display:block}
.ft .praca p{font-size:var(--aux);line-height:1.5;color:rgba(247,245,241,.7);max-width:30ch}
.ft-faixa{border-top:1px solid rgba(247,245,241,.14);padding-top:26px;
  display:flex;flex-direction:column;gap:10px}
.ft-linha{display:flex;flex-wrap:wrap;align-items:center;gap:28px;font-size:var(--aux);
  color:rgba(247,245,241,.6)}
.ft-linha a{color:rgba(247,245,241,.72)}
.ft-linha a:hover{color:var(--turq-cl)}
/* utilitários do rodapé — abaixo da navegação, separados por fio */
.ft .util{margin-top:10px;padding-top:10px;border-top:1px solid rgba(247,245,241,.14);
  display:flex;flex-direction:column;max-width:200px}
.ft .util a{font-size:13px;color:rgba(247,245,241,.6);line-height:1.85;padding:2px 0}
.ft .util a:hover{color:var(--turq-cl)}
@media(max-width:1024px){.ft-grid{grid-template-columns:1fr 1fr;gap:40px}}
@media(max-width:640px){
  .ft-grid{grid-template-columns:1fr;gap:32px}
  .ft nav a{padding:11px 0}
  .ft .util{max-width:none}
  .ft .util a{padding:11px 0}
  .ft-faixa{gap:20px}
  .ft-faixa .ft-linha{display:grid;grid-template-columns:1fr 1fr;gap:2px 20px;align-items:baseline}
  .ft-faixa .ft-linha a,.ft-faixa .ft-linha span{padding:9px 0}
  .ft-faixa .ft-linha:last-child{grid-template-columns:1fr;gap:0}
}

/* ---- WhatsApp ---- */
.wa{position:fixed;right:24px;bottom:24px;z-index:60;width:56px;height:56px;border-radius:50%;
  background:var(--navy);border:1px solid var(--turq);display:flex;align-items:center;
  justify-content:center;transition:background var(--t);opacity:0;pointer-events:none}
.wa.on{opacity:1;pointer-events:auto}
.wa:hover{background:var(--navy-h)}
.wa svg{width:26px;height:26px;fill:var(--on-navy)}

/* ---- foco e movimento ---- */
:focus-visible{outline:2px solid var(--turq-esc);outline-offset:3px}
.navy :focus-visible,.hero :focus-visible,.top :focus-visible,.ft :focus-visible{outline-color:var(--turq)}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:var(--turq);color:var(--turq-tinta);
  font-size:var(--ui);font-weight:600;padding:14px 24px;text-decoration:none}
.skip:focus{left:0;color:var(--turq-tinta)}
.rv{opacity:0;transform:translateY(16px);transition:opacity 600ms cubic-bezier(.2,.7,.2,1),transform 600ms cubic-bezier(.2,.7,.2,1)}
.rv.in{opacity:1;transform:none}
.stagger>*{opacity:0;transform:translateY(14px)}
.stagger.in>*{animation:sobe 560ms cubic-bezier(.2,.7,.2,1) forwards}
.stagger.in>*:nth-child(2){animation-delay:80ms}
.stagger.in>*:nth-child(3){animation-delay:160ms}
.stagger.in>*:nth-child(4){animation-delay:240ms}
.stagger.in>*:nth-child(5){animation-delay:320ms}
.stagger.in>*:nth-child(6){animation-delay:400ms}
@keyframes sobe{to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){
  .rv{opacity:1;transform:none;transition:none}
  .stagger>*{opacity:1;transform:none;animation:none}
  .faq details[open] .a{animation:none}
  html{scroll-behavior:auto}
  *{animation:none!important}
}

/* ---- controles de formulário herdam a escala ---- */
select,option,textarea,input,button{font-size:inherit}
.btn,.btn span,button span{font-size:var(--ui)}
.campo select,.campo option{font-size:var(--corpo);font-family:var(--sans)}
.campo input[type=file]{font-size:var(--ui)}
.campo input[type=file]::file-selector-button{font-family:var(--sans);font-size:var(--ui);
  background:none;border:1px solid var(--campo);color:var(--tinta-m);padding:8px 16px;
  margin-right:14px;cursor:pointer;transition:border-color var(--t)}
.campo input[type=file]::file-selector-button:hover{border-color:var(--azul);color:var(--azul)}

/* ---- perfil executivo ---- */
.pf-tres{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:var(--sp5);
  background:var(--fio-navy);border:1px solid var(--fio-navy)}
.pf-tres > div{background:var(--navy);padding:32px 30px}
.pf-tres .rot{display:block;color:var(--turq-cl);margin-bottom:var(--sp2)}
.navy .pf-lista{border-top:1px solid var(--fio-navy)}
.navy .pf-lista li{border-color:var(--fio-navy);color:var(--on-navy-c);font-size:var(--ui);padding:14px 0}
.pf-lista{margin-top:0}
@media(max-width:900px){.pf-tres{grid-template-columns:1fr}}
.marfim .pf-cit{color:var(--tinta)}
.marfim .pf-assin{color:var(--azul)}

/* ---- credenciais do perfil executivo: uma linha por credencial ---- */
.pf-creds.creds{display:block;grid-template-columns:none;gap:0;padding-top:0;margin-top:var(--sp5);border-top:1px solid var(--fio-navy)}
.pf-creds.creds > div{display:grid;grid-template-columns:170px 1fr;gap:32px;align-items:baseline;
  flex-direction:row;padding:22px 0;border-bottom:1px solid var(--fio-navy)}
.pf-creds.creds .num{font-size:var(--fala);font-weight:600;letter-spacing:-.02em;color:var(--on-navy)}
.pf-creds.creds .lab{font-size:var(--corpo);line-height:1.5;color:var(--on-navy-c);margin-top:0;max-width:none}
@media(max-width:600px){.pf-creds.creds > div{grid-template-columns:1fr;gap:6px}}

.marfim .pf-creds.creds{border-top-color:var(--fio)}
.marfim .pf-creds.creds > div{border-bottom-color:var(--fio)}
.marfim .pf-creds.creds .num{color:var(--tinta)}
.marfim .pf-creds.creds .lab{color:var(--tinta-m)}

/* D5 · folga apertada entre 900 e 1024px */
@media(min-width:900px) and (max-width:1024px){
  .hero-txt{max-width:42%}
  .top-txt{max-width:44%}
}

/* ==== movimento adicional (não altera estrutura) ==== */
/* entrada do hero */
.hero-txt>*{opacity:0;transform:translateY(18px);animation:sobe 760ms cubic-bezier(.2,.7,.2,1) forwards}
.hero-txt>*:nth-child(2){animation-delay:110ms}
.hero-txt>*:nth-child(3){animation-delay:200ms}
.hero-txt>*:nth-child(4){animation-delay:290ms}
.hero-txt>*:nth-child(5){animation-delay:380ms}
.hero-media img{transform:scale(1.06);opacity:0;animation:fotoEntra 1400ms cubic-bezier(.2,.7,.2,1) 120ms forwards}
@keyframes fotoEntra{to{transform:scale(1);opacity:1}}

/* cabeçalho reage ao rolar */
.hd{transition:height var(--t),box-shadow var(--t),background var(--t)}
.hd.desceu{box-shadow:0 10px 30px rgba(7,26,51,.28)}
.hd.desceu .wrap{height:68px}
.hd .wrap{transition:height 320ms cubic-bezier(.2,.7,.2,1)}

/* cartões e frentes ganham resposta ao ponteiro */
.frente,.sit,.malha>*,.traj>*{transition:transform 420ms cubic-bezier(.2,.7,.2,1),border-color 420ms,color 420ms}
.frente:hover,.sit:hover{transform:translateY(-4px)}
.malha>*:hover{transform:translateY(-3px)}

/* botões e fechos */
.btn{transition:transform 260ms cubic-bezier(.2,.7,.2,1),background var(--t),color var(--t),border-color var(--t)}
.btn:hover{transform:translateY(-2px)}
.fecho{transition:gap 280ms cubic-bezier(.2,.7,.2,1),color var(--t)}

/* credenciais em contagem */
.num{transition:opacity 300ms}
.num[data-contando]{font-variant-numeric:tabular-nums}

/* revelações escalonadas mais amplas */
.rv.sp5.in>*{animation:sobe 620ms cubic-bezier(.2,.7,.2,1) forwards}

@media(prefers-reduced-motion:reduce){
  .hero-txt>*,.hero-media img{opacity:1;transform:none;animation:none}
  .frente:hover,.sit:hover,.malha>*:hover,.btn:hover{transform:none}
  .hd.desceu .wrap{height:84px}
}
