/* ═══════════════════════════════════════════════════════════════
   GRUPO BRUNELLO · site.css
   Sistema editorial — paleta Montalcino, Signifier + Söhne

   MAPA DE SLOTS DE LOGO (data-logo → onde aparece · tamanho final)
   ─ grupo-brunello          nav e footer de todas as páginas · SVG horizontal, ~240×64
   ─ brunello-investimentos  empresas.html (destaque) e index (lista) · ~240×64
   ─ brunello-seguros        empresas.html (destaque) e index (lista) · ~240×64
   ─ brunello-capital        empresas.html (destaque) e index (lista) · ~240×64
   ─ brunello-educacao       empresas.html (destaque) e index (lista) · ~240×64
   ─ hippo                   empresas.html (destaque) · ~240×64            [REVISAR marca]
   ─ racon-consorcios        empresas.html (destaque) · ~240×64            [REVISAR marca]
   ─ bravelli                b2b.html (destaque) e faixa de co-marca · ~240×64
   ─ banco-safra             faixa de credencial (index, metodologia) · ~240×64
   Todos os placeholders em ./logos/ são monocromáticos (currentColor)
   e devem ser trocados pelos arquivos oficiais com o MESMO nome.
   ═══════════════════════════════════════════════════════════════ */

/* ——— Fontes licenciadas (Klim). Arquivos em ./fonts/ — ver README. ——— */
/* ═══ FONTES PRÓPRIAS · DESLIGADAS ═══
   As webfonts Signifier e Söhne (Klim Type Foundry) são licenciadas e os
   arquivos .woff2 ainda não foram comprados. Enquanto isso o site roda na
   dupla de reserva declarada em --disp e --sans (Newsreader + Inter, vindas
   do Google Fonts), que é próxima o suficiente no desenho.

   Deixar as declarações ligadas sem os arquivos gera seis erros 404 em toda
   página carregada, então elas ficam comentadas aqui.

   Para ligar quando as licenças chegarem: coloque os seis .woff2 em
   assets/fonts/ e remova os marcadores de comentário abaixo.

@font-face{
  font-family:"Signifier";
  src:url("./fonts/signifier-regular.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Signifier";
  src:url("./fonts/signifier-medium.woff2") format("woff2");
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Signifier";
  src:url("./fonts/signifier-light-italic.woff2") format("woff2");
  font-weight:300;font-style:italic;font-display:swap;
}
@font-face{
  font-family:"Soehne";
  src:url("./fonts/soehne-buch.woff2") format("woff2");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Soehne";
  src:url("./fonts/soehne-kraftig.woff2") format("woff2");
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"Soehne";
  src:url("./fonts/soehne-halbfett.woff2") format("woff2");
  font-weight:600;font-style:normal;font-display:swap;
}
*/

:root{
  /* Paleta Montalcino */
  --papel:#F4F1EA;
  --tinta:#1C1712;
  --sangiovese:#571E24;
  --telhado:#9A4E1F;
  --pedra:#6B6459;
  --fio:rgba(28,23,18,.18);
  --fio-claro:rgba(244,241,234,.18);

  /* Acento Bravelli (uso restrito à página B2B) */
  --pino:#131D1C;
  --pino-sup:#1B2827;
  --cammello:#BBA58F;
  --cammello-esc:#7E5F41;
  --areia:#E8D9CD;
  --avorio:#EFEFE9;

  /* Tipografia */
  --disp:"Signifier","Newsreader","Source Serif 4",Georgia,serif;
  --sans:"Soehne","Inter","Helvetica Neue",Arial,sans-serif;

  --max:1360px;
  --gut:clamp(20px,4vw,56px);
  --ease:cubic-bezier(.22,1,.36,1);
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--papel);color:var(--tinta);
  font-family:var(--sans);font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
@media(min-width:1024px){body{font-size:18px}}
img,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
::selection{background:var(--sangiovese);color:var(--papel)}
.skip{position:absolute;left:-9999px;top:0;background:var(--sangiovese);color:var(--papel);padding:10px 18px;z-index:99;font-weight:600}
.skip:focus{left:12px;top:12px}

/* ——— Tipografia ——— */
h1,h2,h3.disp,.disp{font-family:var(--disp);font-weight:500;line-height:1.05;letter-spacing:-.02em}
h1{font-size:clamp(2.7rem,6vw,5.2rem)}
h2{font-size:clamp(2rem,4.2vw,3.9rem)}
h1 em,h2 em,.disp em,blockquote em{font-family:var(--disp);font-style:italic;font-weight:300}
p{max-width:68ch}
.lede{font-size:clamp(1.05rem,1.35vw,1.22rem);color:var(--pedra)}
.label{
  font-family:var(--sans);font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  font-weight:600;color:var(--pedra);
}
.label--acc{color:var(--telhado)}
.num,.cnt{
  font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;
}
.idx{
  font-family:var(--disp);font-size:.95rem;font-weight:500;
  letter-spacing:.08em;color:var(--telhado);
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;
}
.muted{color:var(--pedra)}
.sec-head{display:flex;align-items:baseline;gap:18px;margin-bottom:16px}
.sec-head::after{content:"";flex:1;height:1px;background:var(--fio);transform:translateY(-6px)}
.on-dark .sec-head::after{background:var(--fio-claro)}

/* ——— Grid editorial ——— */
.shell{max-width:var(--max);margin:0 auto;padding:0 var(--gut)}
.grid{display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(16px,2vw,28px)}
section{padding:clamp(76px,8.4vw,126px) 0}
@media(min-width:1024px){section{padding-top:120px;padding-bottom:120px}}

/* ——— Fios, links, CTA ——— */
.rule{height:1px;background:var(--fio)}
.lnk{position:relative;padding-bottom:2px}
.lnk::after{
  content:"";position:absolute;left:0;bottom:0;height:1px;width:100%;
  background:currentColor;transform:scaleX(0);transform-origin:right;
  transition:transform .2s var(--ease);
}
.lnk:hover::after,.lnk:focus-visible::after{transform:scaleX(1);transform-origin:left}
.cta-text{
  font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;font-weight:600;
  color:var(--sangiovese);transition:color .2s;
}
.cta-text:hover{color:var(--telhado)}
.continua{display:inline-block;margin-top:36px}

/* ——— Slots de logo ——— */
.logo-slot{display:inline-flex;align-items:center;color:var(--tinta)}
.logo-slot img,.logo-slot svg{height:32px;width:auto;display:block}
.logo-slot--destaque img,.logo-slot--destaque svg{height:48px}
.on-dark .logo-slot{color:var(--papel)}
.logo-faixa{display:flex;align-items:center;gap:clamp(28px,5vw,64px);flex-wrap:wrap}

/* ——— Placeholders de imagem ——— */
figure[data-slot]{position:relative;overflow:hidden}
figure[data-slot] .ph{position:absolute;inset:0;display:flex;align-items:flex-end;padding:18px}
figure[data-slot] .ph span{
  font-family:var(--sans);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;
  font-weight:600;color:rgba(244,241,234,.85);
}
.ph--sangiovese{background:linear-gradient(160deg,#63242B,#3E1519)}
.ph--telhado{background:linear-gradient(160deg,#A9601F,#7C3F14)}
.ph--tinta{background:linear-gradient(160deg,#2A231C,#171310)}
.ph--pedra{background:linear-gradient(160deg,#7B7367,#575046)}
.ph--pino{background:linear-gradient(160deg,#1B2827,#101917)}

/* ——— Header (HTML real em cada página) ——— */
.nav{position:fixed;inset:0 0 auto;z-index:40;transition:background .3s,border-color .3s;border-bottom:1px solid transparent}
.nav.on{background:rgba(244,241,234,.94);backdrop-filter:blur(8px);border-color:var(--fio)}
.nav-in{max-width:var(--max);margin:0 auto;padding:14px var(--gut);display:flex;align-items:center;gap:30px}
.nav .logo-slot img{height:36px}
.nav-links{display:flex;gap:24px;margin-left:auto}
.nav-links a{font-size:.83rem;letter-spacing:.04em;color:var(--tinta);opacity:.85;transition:opacity .2s,color .2s}
.nav-links a:hover{opacity:1;color:var(--sangiovese)}
.nav-links a[aria-current="page"]{opacity:1;color:var(--sangiovese);border-bottom:1px solid var(--sangiovese);padding-bottom:2px}
@media(max-width:860px){
  .nav-links{gap:14px;flex-wrap:wrap;justify-content:flex-end}
  .nav-links a{font-size:.74rem}
}

/* ——— Cabeça de página interna ——— */
.page-head{padding:180px 0 84px}
.page-head .label{display:block;margin-bottom:20px}
.page-head h1{max-width:16ch}
.page-head .lede{margin-top:22px;max-width:52ch}

/* ——— Hero (index) ——— */
.hero{min-height:88vh;display:flex;flex-direction:column;justify-content:center;position:relative;padding:150px 0 0}
.hero .grid{align-items:center}
.hero-copy{grid-column:1/8}
.hero-copy .label{display:block;margin-bottom:24px}
.hero-copy h1{margin-bottom:26px}
.hero-copy .lede{max-width:42ch}
.hero-fig{grid-column:8/13;align-self:stretch;height:min(70vh,660px);margin-right:calc(50% - 50vw)}
.hero-index{
  margin-top:clamp(44px,6vh,80px);padding:22px 0 26px;border-top:1px solid var(--fio);
  display:flex;flex-wrap:wrap;gap:10px 30px;
}
.hero-index a{font-size:.78rem;color:var(--pedra);letter-spacing:.04em;transition:color .2s}
.hero-index a:hover{color:var(--sangiovese)}
.hero-index i{font-style:normal;color:var(--telhado);font-family:var(--disp);margin-right:7px}
@media(max-width:900px){
  .hero-copy{grid-column:1/13}
  .hero-fig{grid-column:1/13;height:42vh;margin-right:calc(-1 * var(--gut));margin-top:40px}
}

/* ——— Manifesto ——— */
.manifesto{background:var(--tinta);color:var(--papel)}
.manifesto .label{color:var(--telhado)}
.manifesto-txt{
  grid-column:2/11;font-family:var(--disp);font-weight:300;font-style:italic;
  font-size:clamp(1.65rem,3.2vw,2.9rem);line-height:1.34;letter-spacing:-.01em;max-width:none;
}
.manifesto-txt strong{font-style:normal;font-weight:500;color:#D9A876}
.manifesto-ass{grid-column:2/11;margin-top:42px;font-size:.85rem;color:rgba(244,241,234,.6);letter-spacing:.05em}
@media(max-width:900px){.manifesto-txt,.manifesto-ass{grid-column:1/13}}

/* ——— Lista de empresas (index) ——— */
.empresas-list{grid-column:1/13}
.emp{border-top:1px solid var(--fio)}
.emp:last-child{border-bottom:1px solid var(--fio)}
.emp-row{
  width:100%;display:grid;grid-template-columns:64px 1fr auto 28px;align-items:baseline;gap:18px;
  padding:24px 0;background:none;border:0;cursor:pointer;text-align:left;font-family:inherit;color:inherit;
}
.emp-row:hover .emp-nome{color:var(--sangiovese)}
.emp-nome{font-family:var(--disp);font-size:clamp(1.4rem,2.5vw,2.1rem);font-weight:500;letter-spacing:-.015em;transition:color .2s}
.emp-tag{font-size:.85rem;color:var(--pedra);text-align:right}
.emp-mais{font-family:var(--disp);font-size:1.5rem;color:var(--telhado);line-height:1;transition:transform .3s var(--ease)}
.emp.open .emp-mais{transform:rotate(45deg)}
.emp-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .45s var(--ease)}
.emp.open .emp-body{grid-template-rows:1fr}
.emp-body-in{overflow:hidden}
.emp-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:0 0 32px 82px}
.emp-cols h3{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--telhado);font-weight:600;margin-bottom:8px}
.emp-cols p{font-size:.95rem;color:var(--pedra);max-width:none}
@media(max-width:820px){
  .emp-row{grid-template-columns:44px 1fr 28px}
  .emp-tag{display:none}
  .emp-cols{grid-template-columns:1fr;padding-left:0;gap:18px}
}

/* ——— Números ——— */
.numeros-head{grid-column:1/6}
.numeros .grid{row-gap:64px}
.dado{grid-column:span 3}
.dado b{
  font-family:var(--disp);font-weight:500;font-size:clamp(2.5rem,4.4vw,4.2rem);
  line-height:1;display:block;letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;
}
.dado b sup{font-size:.45em;color:var(--telhado);font-weight:400}
.dado b .cnt{display:inline;font-size:inherit;color:inherit;margin:0;max-width:none}
.dado > span{display:block;margin-top:12px;font-size:.88rem;color:var(--pedra);max-width:24ch}
@media(max-width:900px){.numeros-head{grid-column:1/13}.dado{grid-column:span 6}}
@media(max-width:560px){.dado{grid-column:1/13}}

/* ——— Prova / citação ——— */
.prova{background:var(--tinta);color:var(--papel)}
.prova-head{grid-column:1/6}
.convite-modo{grid-column:9/13;align-self:end;border-top:1px solid rgba(244,241,234,.24);padding-top:18px}
.convite-modo li{display:flex;justify-content:space-between;gap:18px;padding:11px 0;border-bottom:1px solid rgba(244,241,234,.13);font-size:.94rem;color:rgba(244,241,234,.72)}
.convite-modo li b{font-weight:400;color:var(--papel);font-family:var(--disp);font-size:1.02rem}
@media(max-width:900px){.convite-modo{grid-column:1/13;margin-top:30px}}
.carrossel{grid-column:3/11;margin-top:52px;position:relative;min-height:200px}
.depo{position:absolute;inset:0;opacity:0;transition:opacity .5s var(--ease);pointer-events:none}
.depo.on{opacity:1;pointer-events:auto;position:relative}
.depo blockquote{
  font-family:var(--disp);font-weight:300;font-style:italic;
  font-size:clamp(1.35rem,2.3vw,1.95rem);line-height:1.42;max-width:none;
}
.depo figcaption{margin-top:20px;font-size:.85rem;color:rgba(244,241,234,.6);letter-spacing:.05em}
.car-nav{grid-column:3/11;display:flex;gap:14px;margin-top:32px;align-items:center}
.car-btn{
  width:44px;height:44px;border:1px solid rgba(244,241,234,.3);border-radius:50%;
  background:none;color:var(--papel);font-family:var(--disp);font-size:1.1rem;cursor:pointer;
  transition:border-color .2s,color .2s;
}
.car-btn:hover{border-color:var(--telhado);color:#D9A876}
.car-idx{font-size:.78rem;letter-spacing:.12em;color:rgba(244,241,234,.55)}
@media(max-width:900px){.prova-head,.carrossel,.car-nav{grid-column:1/13}}

/* ——— Metodologia: pilares desdobrados ——— */
.pilar-bloco{border-top:1px solid var(--fio);padding:64px 0}
.pilar-bloco:last-of-type{border-bottom:1px solid var(--fio)}
.pilar-bloco .grid{row-gap:26px}
.pilar-id{grid-column:1/3}
.pilar-id .idx{font-size:2.4rem;display:block}
.pilar-id .papel-lbl{display:block;margin-top:10px}
.pilar-nome{grid-column:3/7}
.pilar-nome h2{font-size:clamp(1.8rem,3vw,2.7rem)}
.pilar-nome p{margin-top:14px;color:var(--pedra);font-size:1rem}
.pilar-det{grid-column:7/13;display:grid;grid-template-columns:1fr 1fr;gap:22px clamp(20px,2.2vw,32px);align-content:start}
.pilar-ind{grid-column:1/-1}
.pilar-det h3{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--telhado);font-weight:600;margin-bottom:6px}
.pilar-det p{font-size:.95rem;color:var(--pedra)}
.pilar-ind{border-left:2px solid var(--sangiovese);padding-left:16px}
.pilar-ind b{font-family:var(--disp);font-weight:500;font-size:1.15rem;display:block}
@media(max-width:900px){
  .pilar-id{grid-column:1/13;display:flex;align-items:baseline;gap:16px}
  .pilar-nome{grid-column:1/13}
  .pilar-det{grid-column:1/13;grid-template-columns:1fr}
}

/* ——— Fluxo (metodologia) ——— */
.fluxo{counter-reset:etapa}
.fluxo-etapa{display:grid;grid-template-columns:repeat(12,1fr);column-gap:clamp(16px,2vw,28px);padding:34px 0;border-top:1px solid var(--fio);align-items:baseline}
.fluxo-etapa .idx{grid-column:1/2}
.fluxo-etapa h3{grid-column:2/6;font-family:var(--disp);font-weight:500;font-size:1.6rem;letter-spacing:-.01em}
.fluxo-etapa p{grid-column:6/13;color:var(--pedra);font-size:1rem;max-width:none}
.fluxo-etapa .marca-etapa{grid-column:2/6;margin-top:8px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--telhado)}
@media(max-width:820px){
  .fluxo-etapa h3{grid-column:2/13}
  .fluxo-etapa p{grid-column:2/13;margin-top:10px}
}

/* ——— Empresas.html: seções longas ——— */
.casa{border-top:1px solid var(--fio);padding:60px 0}
.casa .grid{row-gap:26px}
.casa-marca{grid-column:1/5}
.casa-marca .idx{display:block;margin-bottom:22px}
.casa-marca .funcao{margin-top:18px;font-family:var(--disp);font-weight:300;font-style:italic;font-size:1.35rem;color:var(--sangiovese)}
.casa-txt{grid-column:5/13;display:grid;grid-template-columns:1fr 1fr;gap:clamp(22px,2.4vw,34px)}
.casa-txt h3{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--telhado);font-weight:600;margin-bottom:8px}
.casa-txt p{font-size:.98rem;color:var(--pedra)}
.casa-txt .casa-cta{grid-column:1/-1}
.casa-txt .breve{grid-column:1/-1;max-width:58ch}
@media(max-width:900px){
  .casa-marca,.casa-txt{grid-column:1/13}
  .casa-txt{grid-template-columns:1fr}
}

/* ——— Médicos ——— */
.cenario{grid-column:1/7}
.cenario-lista{grid-column:8/13;display:grid;gap:0}
.cenario-item{border-top:1px solid var(--fio);padding:22px 0}
.cenario-item:last-child{border-bottom:1px solid var(--fio)}
.cenario-item b{font-family:var(--disp);font-weight:500;font-size:1.25rem;display:block;margin-bottom:6px}
.cenario-item p{font-size:.95rem;color:var(--pedra)}
@media(max-width:900px){.cenario,.cenario-lista{grid-column:1/13}}

/* ——— B2B · acento Bravelli ——— */
.bravelli-hero{background:var(--pino);color:var(--avorio)}
.bravelli-hero .label{color:var(--cammello)}
.bravelli-hero .lede{color:rgba(239,239,233,.75)}
.bravelli-hero .sec-head::after{background:rgba(232,217,205,.16)}
.anelli{width:88px;height:auto;margin-bottom:30px}
.co-marca{background:var(--pino-sup);border:1px solid rgba(232,217,205,.16);padding:44px;display:flex;align-items:center;gap:clamp(24px,4vw,56px);flex-wrap:wrap}
.co-marca .x{font-family:var(--disp);font-weight:300;font-style:italic;font-size:1.6rem;color:var(--cammello)}
.b2b-lista .cenario-item b{color:var(--tinta)}
.b2b-frase{
  grid-column:2/12;font-family:var(--disp);font-weight:300;font-style:italic;
  font-size:clamp(1.5rem,2.8vw,2.4rem);line-height:1.4;color:var(--avorio);max-width:none;
}
.b2b-frase strong{font-style:normal;font-weight:500;color:var(--cammello)}
@media(max-width:900px){.b2b-frase{grid-column:1/13}}

/* ——— Formulário ——— */
.form-wrap{grid-column:1/8;margin-top:52px;display:grid;grid-template-columns:1fr 1fr;gap:22px 26px}
.fld{display:flex;flex-direction:column;gap:8px}
.fld.full{grid-column:1/-1}
.fld label{font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--pedra)}
.fld input,.fld select,.fld textarea{
  background:none;border:0;border-bottom:1px solid var(--fio);
  padding:10px 2px;font-size:1rem;font-family:var(--sans);color:var(--tinta);
  border-radius:0;transition:border-color .2s;
}
.fld textarea{min-height:96px;resize:vertical}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:none;border-color:var(--sangiovese)}
.form-send{grid-column:1/-1;justify-self:start;margin-top:8px;background:none;border:0;cursor:pointer;font-family:var(--sans)}
.form-note{grid-column:1/-1;font-size:.78rem;color:var(--pedra)}
.contato-info{grid-column:9/13;margin-top:52px;display:flex;flex-direction:column;gap:32px}
.ci h3{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--telhado);font-weight:600;margin-bottom:10px}
.ci p,.ci a{font-size:.95rem;line-height:1.7}
.ci a:hover{color:var(--sangiovese)}
@media(max-width:900px){.form-wrap,.contato-info{grid-column:1/13}}

/* ——— Footer (HTML real em cada página) ——— */
footer{border-top:1px solid var(--fio);padding:64px 0 44px}
.foot-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:32px}
.foot-brand{grid-column:1/5}
.foot-brand .muted{margin-top:16px;font-size:.85rem;max-width:30ch}
.foot-nav{grid-column:6/9;display:flex;flex-direction:column;gap:8px}
.foot-nav a{font-size:.88rem;color:var(--pedra)}
.foot-nav a:hover{color:var(--sangiovese)}
.foot-end{grid-column:9/13;font-size:.85rem;color:var(--pedra);line-height:1.7}
.foot-legal{margin-top:50px;padding-top:26px;border-top:1px solid var(--fio);display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.foot-legal p{font-size:.74rem;color:var(--pedra);max-width:70ch}
.foot-legal span{font-size:.74rem;color:var(--pedra)}
@media(max-width:900px){.foot-brand,.foot-nav,.foot-end{grid-column:1/13}}

/* ——— Motion ——— */
.rv{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}
.rv.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none !important;animation:none !important}
  .rv{opacity:1;transform:none}
}

/* ═══ Fotografia — série Montalcino ═══
   Arquivos em ./img/. Todas as fotos são da mesma família:
   luz natural, paleta abafada, sem pessoas, sem texto. */
figure[data-slot]{background:var(--tinta)}
figure[data-slot] img{width:100%;height:100%;object-fit:cover;display:block}

/* Seção com foto ao fundo + véu de leitura */
.sec-foto{position:relative;isolation:isolate;overflow:hidden}
.sec-foto::before,.sec-foto::after{content:"";position:absolute;inset:0;pointer-events:none}
.sec-foto::before{z-index:-2;background-size:cover;background-position:center;transform:scale(1.03)}
.sec-foto::after{z-index:-1}
@media(max-width:900px){
  .manifesto.sec-foto::after{background:rgba(24,20,16,.95)}
  .prova.sec-foto::after{background:rgba(24,20,16,.94)}
}

/* Faixa de imagem cheia entre seções */
.faixa-foto{margin:0;position:relative;height:min(54vh,470px);overflow:hidden;background:var(--tinta)}
.faixa-foto figcaption{
  position:absolute;left:var(--gut);bottom:22px;font-family:var(--sans);font-size:.66rem;
  letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:rgba(244,241,234,.82);
  text-shadow:0 1px 12px rgba(0,0,0,.55);
}
@media(prefers-reduced-motion:reduce){.sec-foto::before{transform:none}}

/* ——— Ajustes de leitura sobre foto (revisão de arte) ——— */
.prova.sec-foto::before{background-image:url("./img/prova-arquivo.jpg");background-position:center 42%;filter:grayscale(.3) brightness(.82)}
.prova.sec-foto::after{background:linear-gradient(180deg,rgba(24,20,16,.94) 0%,rgba(24,20,16,.90) 60%,rgba(24,20,16,.95) 100%)}
.on-dark .cta-text,.on-dark a.lnk{color:#D9A876}
.on-dark a.lnk:hover{color:var(--papel)}
.faixa-foto img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(.88) saturate(.9)}
.faixa-foto::after{content:"";position:absolute;left:0;right:0;bottom:0;height:46%;background:linear-gradient(180deg,rgba(24,20,16,0),rgba(24,20,16,.78));pointer-events:none}
.faixa-foto figcaption{z-index:2}

/* ——— Navegação: menu de painel no mobile ——— */
.nav-menu{display:flex;align-items:center;gap:30px;margin-left:auto}
.nav-btn{display:none;background:none;border:0;padding:10px 0;cursor:pointer;margin-left:auto;
  flex-direction:column;justify-content:center;gap:6px;width:30px}
.nav-btn span{display:block;height:1px;width:100%;background:var(--tinta);transition:transform .3s var(--ease),opacity .2s}
.nav-btn[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.nav-btn[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}

@media(max-width:860px){
  .nav.on,.nav{background:rgba(244,241,234,.94);backdrop-filter:blur(8px)}
  .nav-in{gap:16px}
  .nav-btn{display:flex}
  .nav-menu{
    position:fixed;inset:0;margin:0;background:var(--papel);
    flex-direction:column;align-items:flex-start;justify-content:center;
    gap:34px;padding:0 var(--gut);
    opacity:0;visibility:hidden;transform:translateY(-10px);
    transition:opacity .3s var(--ease),transform .35s var(--ease),visibility .3s;
  }
  .nav-menu.aberto{opacity:1;visibility:visible;transform:none}
  .nav-links{flex-direction:column;align-items:flex-start;gap:22px;margin:0}
  .nav-links a{font-family:var(--disp);font-size:clamp(1.7rem,7vw,2.2rem);letter-spacing:-.01em;opacity:1}
  .nav-links a[aria-current="page"]{border-bottom:0;color:var(--sangiovese)}
  .nav-menu .cta-text{font-size:.8rem;margin-top:8px}
  body.trava{overflow:hidden}
}
@media(prefers-reduced-motion:reduce){.nav-menu,.nav-btn span{transition:none}}

/* Correção: backdrop-filter no .nav criava bloco de contenção e prendia o painel fixed */
@media(max-width:860px){
  .nav,.nav.on{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--papel)}
  .nav-menu{z-index:1}
  .nav .logo-slot,.nav-btn{position:relative;z-index:2}
}

/* ═══ Lote 2 — fotos definitivas ═══ */
.manifesto.sec-foto::before{background-image:url("./img/manifesto-adega.jpg");background-position:62% center}
.manifesto.sec-foto::after{background:linear-gradient(100deg,rgba(24,20,16,.93) 0%,rgba(24,20,16,.84) 40%,rgba(24,20,16,.40) 100%)}
.bravelli-hero.sec-foto{position:relative;isolation:isolate;overflow:hidden}
@media(max-width:900px){
  .manifesto.sec-foto::after{background:rgba(24,20,16,.93)}
  .bravelli-hero.sec-foto::after{background:rgba(19,29,28,.94)}
}
.faixa-foto--alta{height:min(62vh,540px)}

/* Placeholders de logo são SVG em <img>, então não herdam currentColor.
   Em seção escura, invertemos para o desenho aparecer.
   REMOVER esta regra quando entrarem os logos oficiais com versão clara. */
/* invert removido: os logos oficiais têm versão clara própria */

/* ——— Slots de imagem · Fase 1 (aprovada) ——— */
.empresas-head{grid-column:1/6;margin-bottom:52px;grid-row:1}
.emp-head-fig{grid-column:8/13;grid-row:1;aspect-ratio:4/5;max-height:520px;align-self:start}
.comecar-copy{grid-column:1/8;grid-row:1}
.comecar-fig{grid-column:8/13;grid-row:1;aspect-ratio:4/3;align-self:center}
.comecar-fig img{width:100%;height:100%;object-fit:cover}
.page-head--fig .grid{align-items:end}
.ph-copy{grid-column:1/8;grid-row:1}
.ph-fig{grid-column:9/13;grid-row:1;aspect-ratio:4/5;max-height:440px}
.cen-fig{margin-top:36px;aspect-ratio:4/5;max-width:420px}
@media(max-width:900px){
  .emp-head-fig{grid-column:1/13;grid-row:auto;max-height:none;aspect-ratio:16/10;margin-bottom:40px}
  .comecar-copy,.comecar-fig{grid-column:1/13;grid-row:auto}
  .comecar-fig{margin-top:36px}
  .ph-copy,.ph-fig{grid-column:1/13;grid-row:auto}
  .ph-fig{margin-top:36px;aspect-ratio:16/10;max-height:none}
  .cen-fig{max-width:none}
}

/* ——— Fase 2 · Linha do tempo (index) ——— */
.tempo-grid{grid-column:1/13;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--fio)}
.marco{padding:34px 26px 8px 0;position:relative}
.marco + .marco{border-left:1px solid var(--fio);padding-left:26px}
.marco .ano{font-family:var(--disp);font-weight:500;font-size:clamp(1.7rem,2.6vw,2.5rem);letter-spacing:-.02em;display:block;color:var(--sangiovese);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
.marco b{font-family:var(--sans);font-weight:600;font-size:.95rem;display:block;margin:10px 0 6px}
.marco p{font-size:.9rem;color:var(--pedra)}
@media(max-width:900px){
  .tempo-grid{grid-template-columns:1fr}
  .marco + .marco{border-left:0;border-top:1px solid var(--fio);padding-left:0}
}

/* ——— Fase 2 · Credenciais e regulação (metodologia) ——— */
.cred-grid{grid-column:1/13;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.cred h3{font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--telhado);font-weight:600;margin-bottom:10px}
.cred p{font-size:.96rem;color:var(--pedra)}
.cred .num-destaque{font-family:var(--disp);font-weight:500;font-size:1.5rem;color:var(--tinta);display:block;margin-bottom:6px;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}
@media(max-width:900px){.cred-grid{grid-template-columns:1fr}}

/* ——— Fase 2 · Perguntas diretas (contato) ——— */
.faq-head{grid-column:1/5}
.faqs{grid-column:5/13}
.faq-apoio{margin-top:22px;padding-top:18px;border-top:1px solid var(--fio);font-size:.94rem;color:var(--pedra);max-width:30ch}
.faq-apoio a{color:var(--sangiovese);text-decoration:underline;text-underline-offset:3px}
.faqs details{border-top:1px solid var(--fio);padding:4px 0}
.faqs details:last-child{border-bottom:1px solid var(--fio)}
.faqs summary{cursor:pointer;font-family:var(--disp);font-weight:500;font-size:1.25rem;letter-spacing:-.01em;padding:20px 36px 20px 0;position:relative;list-style:none}
.faqs summary::-webkit-details-marker{display:none}
.faqs summary::after{content:"+";position:absolute;right:2px;top:50%;transform:translateY(-50%);font-family:var(--disp);font-size:1.5rem;color:var(--telhado);transition:transform .3s var(--ease)}
.faqs details[open] summary::after{transform:translateY(-50%) rotate(45deg)}
.faqs details p{padding:0 0 22px;font-size:.96rem;color:var(--pedra);max-width:58ch}
@media(max-width:900px){.faq-head,.faqs{grid-column:1/13}}

/* ═══ Hero com fotografia (index) ═══
   Abre no escritório e fecha na vinha: o site alterna os dois mundos. */
.hero--foto{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:min(92vh,860px);display:flex;flex-direction:column;justify-content:flex-end;
  padding:190px 0 clamp(40px,6vh,70px);
}
.hero--foto .hero-fig{position:absolute;inset:0;z-index:-2;margin:0;height:auto;grid-column:auto}
.hero--foto .hero-fig img{width:100%;height:100%;object-fit:cover;object-position:60% center}
.hero--foto::after{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:linear-gradient(96deg,rgba(20,16,13,.94) 0%,rgba(20,16,13,.86) 36%,rgba(20,16,13,.52) 66%,rgba(20,16,13,.30) 100%);
}
.hero--foto .hero-copy{grid-column:1/8}
.hero--foto h1,.hero--foto .hero-copy{color:var(--papel)}
.hero--foto .lede{color:rgba(244,241,234,.84)}
.hero--foto .label--acc{color:#D9A876}
.hero--foto .hero-index{border-top-color:rgba(244,241,234,.22)}
.hero--foto .hero-index a{color:rgba(244,241,234,.74)}
.hero--foto .hero-index i{color:#D9A876}
.hero--foto .hero-index a:hover{color:var(--papel)}
@media(max-width:900px){
  .hero--foto{min-height:84vh;padding-top:150px}
  .hero--foto .hero-copy{grid-column:1/13}
  .hero--foto .hero-fig img{object-position:65% center}
  .hero--foto::after{background:linear-gradient(180deg,rgba(20,16,13,.80) 0%,rgba(20,16,13,.90) 45%,rgba(20,16,13,.95) 100%)}
}

/* Nav sobre hero escuro: antes do scroll ela precisa ser clara (só no index) */
.nav--sobre-foto:not(.on) .nav-links a{color:rgba(244,241,234,.86)}
.nav--sobre-foto:not(.on) .nav-links a:hover{color:var(--papel)}
.nav--sobre-foto:not(.on) .nav-links a[aria-current="page"]{color:#D9A876;border-bottom-color:#D9A876}
.nav--sobre-foto:not(.on) .cta-text{color:#D9A876}

.nav--sobre-foto:not(.on) .nav-btn span{background:var(--papel)}
@media(max-width:860px){.nav--sobre-foto:not(.on) .logo-slot img,.nav--sobre-foto:not(.on) .nav-btn span{filter:none;background:var(--tinta)}}
@media(max-width:860px){
  /* no mobile a barra é sólida e o painel é claro: texto volta ao escuro */
  .nav--sobre-foto:not(.on) .nav-links a{color:var(--tinta)}
  .nav--sobre-foto:not(.on) .nav-links a[aria-current="page"]{color:var(--sangiovese);border-bottom-color:var(--sangiovese)}
  .nav--sobre-foto:not(.on) .cta-text{color:var(--sangiovese)}
}
@media(max-width:860px){
  /* corrige: o background do reset caía também no <img> do logo e virava caixa escura */
  .nav--sobre-foto:not(.on) .logo-slot img{filter:none;background:none}
  .nav--sobre-foto:not(.on) .nav-btn span{background:var(--tinta)}
}
@media(max-width:900px){
  .hero--foto .hero-fig img{object-position:42% center}
}

/* ═══ Lote 3 — escritório: consultoria, time e noite ═══ */
.bravelli-hero.sec-foto::before{background-image:url("./img/b2b-consultor.jpg");background-position:center 42%}
.bravelli-hero.sec-foto::after{background:linear-gradient(100deg,rgba(19,29,28,.95) 0%,rgba(19,29,28,.89) 42%,rgba(19,29,28,.62) 100%)}
figure[data-slot="medicos-consultorio"] img{object-position:40% center}
.parceria-fig{grid-column:8/13;aspect-ratio:4/3;overflow:hidden;margin:0}
.parceria-fig img{width:100%;height:100%;object-fit:cover;display:block}
@media(max-width:900px){.parceria-fig{grid-column:1/13;margin-top:36px}}

/* ═══ Faixa de credencial — Banco Safra ═══ */
.safra-faixa{padding:clamp(26px,3vw,38px) 0;border-bottom:1px solid var(--fio);background:var(--papel)}
.safra-in{display:flex;align-items:center;gap:clamp(20px,4vw,52px);flex-wrap:wrap}
.safra-in .logo-slot--destaque img{height:40px}
.safra-txt{font-size:.95rem;line-height:1.55;color:var(--pedra);max-width:62ch;margin:0}
.safra-txt strong{color:var(--tinta);font-weight:500}
.safra-txt .num{color:var(--tinta)}
@media(max-width:700px){.safra-in{gap:16px}.safra-in .logo-slot--destaque img{height:32px}.safra-txt{font-size:.88rem}}

/* Consentimento no formulário */
.consent{display:flex;gap:10px;align-items:flex-start;font-size:.82rem;color:var(--pedra);line-height:1.5}
.consent input{margin-top:3px;accent-color:var(--sangiovese);width:15px;height:15px;flex:none}

/* ═══ Marca na barra: símbolo + assinatura ═══ */
.marca{display:inline-flex;align-items:center;gap:11px;color:var(--tinta);text-decoration:none}
.marca img{height:30px;width:auto;display:block}
.marca span{font-family:var(--disp);font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;line-height:1}
.nav--sobre-foto:not(.on) .marca{color:var(--papel)}
@media(max-width:860px){.marca span{font-size:.82rem;letter-spacing:.06em}.marca img{height:26px}
  .nav--sobre-foto:not(.on) .marca{color:var(--tinta)}}

/* Alturas ópticas por formato de logo (os lockups verticais pedem mais altura) */
.logo-slot img{height:34px}
.logo-slot--destaque img{height:56px}
[data-logo="brunello-seguros"] img,[data-logo="grupo-brunello"] img,[data-logo="banco-safra"] img{height:44px}
[data-logo="brunello-seguros"].logo-slot--destaque img,[data-logo="banco-safra"].logo-slot--destaque img{height:72px}
[data-logo="racon-consorcios"] img{height:38px}
[data-logo="racon-consorcios"].logo-slot--destaque img{height:60px}
.safra-in .logo-slot--destaque img{height:64px}
@media(max-width:700px){
  .logo-slot--destaque img{height:44px}
  [data-logo="brunello-seguros"].logo-slot--destaque img,[data-logo="banco-safra"].logo-slot--destaque img{height:56px}
  .safra-in .logo-slot--destaque img{height:50px}
}

/* ═══ Marca: lockup oficial na barra ═══ */
.marca{display:inline-flex;align-items:center;text-decoration:none;line-height:0}
.marca img{height:34px;width:auto;display:block}
.marca .marca-clara{display:none}
.nav--sobre-foto:not(.on) .marca .marca-escura{display:none}
.nav--sobre-foto:not(.on) .marca .marca-clara{display:block}
@media(max-width:860px){
  .marca img{height:28px}
  .nav--sobre-foto:not(.on) .marca-escura{display:block}
  .nav--sobre-foto:not(.on) .marca .marca-clara{display:none}
}

/* ═══ Os quatro pilares em taças — enchem conforme a página desce ═══ */
.tacas-sec{padding:clamp(70px,8vw,110px) 0 clamp(30px,4vw,50px)}
.tacas-lede{grid-column:auto;max-width:52ch;margin:26px 0 0;color:var(--pedra);font-size:1rem}
.tacas{
  margin-top:clamp(44px,6vw,72px);
  display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,3vw,44px);
  perspective:1100px;perspective-origin:50% 40%;
}
.taca{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  transform-style:preserve-3d;
  transform:rotateY(var(--ry,0deg)) rotateX(var(--rx,0deg)) translateZ(calc(var(--i) * -14px)) translateY(calc((1 - var(--n,0)) * 10px));
  transition:transform .5s var(--ease);
  will-change:transform;
}
.taca svg{width:100%;max-width:132px;height:auto;overflow:visible;
  filter:drop-shadow(0 14px 20px rgba(28,23,18,.10))}
.taca .cristal{fill:none;stroke:var(--tinta);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;opacity:.62}
.taca .brilho{fill:var(--papel);opacity:.55}
.taca .vinho{
  fill:var(--sangiovese);
  transform-box:fill-box;transform-origin:50% 100%;
  transform:scaleY(var(--n,0));
  transition:transform 1.1s cubic-bezier(.32,.85,.3,1);
}
.taca-n{display:block;margin-top:22px;font-size:.74rem;letter-spacing:.14em;color:var(--telhado);
  opacity:calc(.35 + var(--n,0) * .65);transition:opacity .6s var(--ease)}
.taca b{display:block;margin-top:9px;font-family:var(--disp);font-weight:400;
  font-size:clamp(1.05rem,1.7vw,1.35rem);letter-spacing:-.01em;
  color:var(--tinta);opacity:calc(.42 + var(--n,0) * .58);transition:opacity .6s var(--ease)}
.taca small{display:block;margin-top:5px;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase;
  color:var(--pedra);opacity:calc(.3 + var(--n,0) * .7);transition:opacity .6s var(--ease)}
@media(max-width:820px){
  .tacas{grid-template-columns:repeat(2,1fr);gap:36px 18px;perspective:none}
  .taca{transform:none}
  .taca svg{max-width:104px}
}
@media(prefers-reduced-motion:reduce){
  .taca{transform:none;transition:none}
  .taca .vinho{transition:none}
}

/* superfície do vinho acompanha o nível */
.taca .vinho-sup{fill:#6E2830;transform:translateY(calc((1 - var(--n,0)) * 52px));
  transition:transform 1.1s cubic-bezier(.32,.85,.3,1);opacity:calc(var(--n,0) * 1)}
.taca .cristal{stroke-width:2}
@media(prefers-reduced-motion:reduce){.taca .vinho-sup{transition:none}}

/* ═══ Enquadramento das faixas: o assunto tem que aparecer no corte ═══ */

.faixa-foto img[src*="mesa-trabalho"]{object-position:50% 50%}
.faixa-foto img[src*="medicos-saguao"]{object-position:50% 86%}
.faixa-foto img[src*="numeros-colinas"]{object-position:50% 52%}
.faixa-foto img[src*="empresas-exterior"]{object-position:50% 46%}

/* ═══ Logos das casas: altura óptica, não altura de arquivo ═══
   Lockup vertical (símbolo em cima da palavra) precisa de mais altura
   para pesar o mesmo que um lockup horizontal. */
.casa-marca .logo-slot--destaque img{height:64px}
.casa-marca [data-logo="brunello-seguros"] img,
.casa-marca [data-logo="brunello-educacao"] img,
.casa-marca [data-logo="grupo-brunello"] img{height:104px}
.casa-marca [data-logo="brunello-investimentos"] img{height:62px}
.casa-marca [data-logo="bravelli"] img{height:46px}
.casa-marca [data-logo="hippo"] img{height:52px}
.casa-marca [data-logo="racon-consorcios"] img{height:66px}
@media(max-width:700px){
  .casa-marca .logo-slot--destaque img{height:52px}
  .casa-marca [data-logo="brunello-seguros"] img,
  .casa-marca [data-logo="brunello-educacao"] img,
  .casa-marca [data-logo="grupo-brunello"] img{height:82px}
  .casa-marca [data-logo="hippo"] img{height:44px}
  .casa-marca [data-logo="bravelli"] img{height:38px}
}

/* hidden precisa vencer qualquer display de classe (grid, flex) */
[hidden]{display:none !important}

/* ═══════════════════════════════════════════════════════════
   PÁGINAS INTERNAS — ritmo mais curto e leitura mais próxima
   A home respira porque é vitrine. As internas são leitura:
   texto mais perto do texto, menos deserto entre seções.
   ═══════════════════════════════════════════════════════════ */
body.interna .page-head{padding:152px 0 52px}
body.interna .page-head .lede{margin-top:18px}
body.interna section{padding:clamp(56px,6vw,76px) 0}
@media(min-width:1024px){body.interna section{padding-top:76px;padding-bottom:76px}}
body.interna .sec-head{margin-bottom:26px}
body.interna .faixa-foto{height:min(44vh,380px)}
body.interna .faixa-foto--alta{height:min(52vh,440px)}

/* a coluna vazia ao lado do texto passa a receber a imagem */
body.interna .cenario{grid-column:1/6}
body.interna .cen-fig{grid-column:7/13;margin-top:6px;max-width:none;aspect-ratio:5/4}
body.interna .cenario-lista{grid-column:7/13;align-self:start}
body.interna .cenario:has(+ .cenario-lista){grid-column:1/6}

/* blocos de crédito: colunas se ajustam ao que sobrou visível */
body.interna .cred-grid{grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr))}

/* respiro interno menor nos blocos de texto corrido */
body.interna .cenario-item{padding:18px 0}
body.interna .pilar-bloco{padding:40px 0}
body.interna .texto-legal h2{margin:36px 0 12px}

@media(max-width:900px){
  body.interna .cenario,
  body.interna .cen-fig,
  body.interna .cenario-lista{grid-column:1/13}
  body.interna .cen-fig{margin-top:28px;max-width:520px}
  body.interna .page-head{padding:124px 0 40px}
}

/* ═══════════════════════════════════════════════════════════
   FERRAMENTAS — simuladores e gráficos
   Paleta dos gráficos validada para daltonismo sobre o papel:
   vinho #96323C e ocre #B06A22 (ΔE 13,7 deutan · 15,6 normal).
   ═══════════════════════════════════════════════════════════ */
.ferramenta{background:var(--papel)}
.ferr-intro{grid-column:1/6}
.ferr-intro .lede{margin-top:16px;font-size:1rem}
.ferr-campos{grid-column:1/6;margin-top:30px;display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.ferr-campos label{display:flex;flex-direction:column;gap:7px;font-size:.72rem;letter-spacing:.1em;
  text-transform:uppercase;color:var(--pedra);font-weight:600}
.ferr-campos .larga{grid-column:1/3}
.ferr-campos input{
  font-family:var(--sans);font-size:1.02rem;font-variant-numeric:tabular-nums;color:var(--tinta);
  background:none;border:0;border-bottom:1px solid var(--fio);padding:7px 0;letter-spacing:0;
  text-transform:none;font-weight:400;
}
.ferr-campos input:focus{outline:none;border-bottom-color:var(--sangiovese)}
.ferr-campos input::-webkit-outer-spin-button,
.ferr-campos input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ferr-campos input[type=number]{-moz-appearance:textfield}

.ferr-saida{grid-column:7/13;display:flex;flex-direction:column;gap:22px}
.ferr-hero{border-top:1px solid var(--fio);padding-top:18px}
.ferr-hero .label{display:block;margin-bottom:10px}
.ferr-hero b{display:block;font-family:var(--disp);font-weight:400;font-size:clamp(2.1rem,4.4vw,3.1rem);
  line-height:1;letter-spacing:-.02em;color:var(--tinta);font-variant-numeric:tabular-nums}
.ferr-hero small{display:block;margin-top:9px;font-size:.85rem;color:var(--pedra);max-width:44ch;line-height:1.5}

.gr{margin:0;position:relative}
.gr svg{width:100%;height:auto;display:block;overflow:visible}
.gr-eixo{font-family:var(--sans);font-size:11px;fill:var(--pedra);font-variant-numeric:tabular-nums}
.gr-rot{font-family:var(--sans);font-size:11px;fill:var(--pedra);letter-spacing:.06em}
.gr-rot--forte{font-family:var(--sans);font-size:12px;font-weight:600;fill:var(--tinta);font-variant-numeric:tabular-nums}
.gr-dica{position:absolute;top:-6px;right:0;font-size:.78rem;color:var(--tinta);
  background:var(--papel);border:1px solid var(--fio);padding:6px 12px;font-variant-numeric:tabular-nums}

.ferr-frase{font-size:1rem;line-height:1.6;color:var(--pedra);max-width:52ch}
.ferr-frase strong{color:var(--tinta);font-weight:500}
.ferr-tabela summary{font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--telhado);
  cursor:pointer;font-weight:600}
.ferr-tabela summary::marker{color:var(--fio)}
.ferr-tabela table{width:100%;border-collapse:collapse;margin-top:14px;font-size:.86rem}
.ferr-tabela th{text-align:left;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--pedra);font-weight:600;padding:8px 0;border-bottom:1px solid var(--fio)}
.ferr-tabela td{padding:7px 0;border-bottom:1px solid var(--fio);color:var(--tinta)}
.ferr-tabela td.num,.ferr-tabela th{font-variant-numeric:tabular-nums}
.ferr-nota{margin-top:38px;font-size:.76rem;line-height:1.6;color:var(--pedra);max-width:66ch;
  border-top:1px solid var(--fio);padding-top:16px}

@media(max-width:900px){
  .ferr-intro,.ferr-campos,.ferr-saida{grid-column:1/13}
  .ferr-saida{margin-top:34px}
  .gr-dica{position:static;display:inline-block;margin-bottom:10px}
}

/* legenda dos gráficos */
.legenda{display:flex;gap:22px;flex-wrap:wrap;font-size:.74rem;color:var(--pedra);letter-spacing:.02em}
.legenda .leg{display:inline-flex;align-items:center;gap:8px}
.legenda i{width:11px;height:11px;border-radius:2px;display:inline-block}

/* ═══════════════════════════════════════════════════════════
   CABEÇA DE PÁGINA EM DUAS COLUNAS
   O título ocupava metade da tela e a outra metade ficava branca.
   Agora a manchete abre à esquerda e o resumo apoia à direita,
   alinhado pela base — leitura em dois tempos, sem deserto.
   ═══════════════════════════════════════════════════════════ */
body.interna .page-head:not(.page-head--fig){
  display:grid;grid-template-columns:repeat(12,1fr);
  column-gap:clamp(16px,2vw,28px);row-gap:0;align-items:end;
}
body.interna .page-head:not(.page-head--fig) .label{grid-column:1/13}
body.interna .page-head:not(.page-head--fig) h1{grid-column:1/8;max-width:none}
body.interna .page-head:not(.page-head--fig) .lede{
  grid-column:8/13;margin:0 0 10px;max-width:38ch;
  border-left:1px solid var(--fio);padding-left:clamp(16px,2vw,26px);
}
@media(max-width:900px){
  body.interna .page-head:not(.page-head--fig){display:block}
  body.interna .page-head:not(.page-head--fig) .lede{margin-top:20px;border-left:0;padding-left:0;max-width:52ch}
}

/* Faixa do Safra: ocupa a linha inteira em vez de encolher à esquerda */
.safra-in{justify-content:space-between}
.safra-txt{max-width:56ch;margin-left:auto;text-align:right}
@media(max-width:820px){.safra-txt{text-align:left;margin-left:0;max-width:none}}

/* Página legal: índice à direita, texto na medida certa à esquerda */
.indice-legal{grid-column:9/13;grid-row:1;position:sticky;top:104px;align-self:start;
  display:flex;flex-direction:column;gap:11px;padding-left:clamp(16px,2vw,26px);
  border-left:1px solid var(--fio)}
.indice-legal .label{margin-bottom:5px}
.indice-legal a{font-size:.86rem;color:var(--pedra);transition:color .2s}
.indice-legal a:hover{color:var(--sangiovese)}
body.interna .texto-legal{grid-column:1/8;grid-row:1}
@media(max-width:900px){
  .indice-legal{display:none}
  body.interna .texto-legal{grid-column:1/13}
}

/* Convite da página A Casa: o botão sobe para a coluna vazia */
#convite .cta-text{align-self:end}

/* ---- lista de formato, versão clara ---- */
.convite-modo--claro{grid-column:auto;margin-top:30px;border-top:1px solid var(--fio);padding-top:14px;max-width:none}
.convite-modo--claro li{border-bottom:1px solid var(--fio);color:var(--pedra)}
.convite-modo--claro li b{color:var(--tinta)}
/* ---- cenário b2b: parágrafo de apoio ---- */
.cenario p{margin-top:20px;color:var(--pedra);font-size:1rem;max-width:44ch}
.cenario-item p{margin-top:6px;font-size:.92rem;color:var(--pedra)}
/* ---- coluna lateral do contato ---- */
.ci-safra .logo-slot{display:block;margin:10px 0 12px}
.ci-safra .logo-slot img{height:30px;width:auto;opacity:.9}

/* b2b · 02 sem figura: lista alinhada ao topo da coluna direita */
.b2b-lista .cenario-lista{margin-top:0}
.b2b-lista .cenario{align-self:start}

/* dica curta abaixo de cada campo das ferramentas */
.ferr-campos .dica{font-size:.7rem;letter-spacing:0;text-transform:none;color:var(--pedra);
  font-weight:400;line-height:1.45;margin-top:2px;opacity:.85}

/* ═══════════════════════════════════════════════════════
   MOBILE — correções de experiência (≤700px)
   ═══════════════════════════════════════════════════════ */
@media(max-width:700px){

  /* 1 · formulários em coluna única (era o que causava rolagem lateral) */
  .form-wrap{grid-template-columns:1fr;gap:20px}
  .ferr-campos{grid-template-columns:1fr;gap:20px}
  .ferr-campos .larga{grid-column:1/2}

  /* 2 · alvos de toque com pelo menos 44px de altura */
  .cta-text,.lnk{display:inline-flex;align-items:center;min-height:44px}
  .continua{margin-top:22px}
  .casa-cta .cta-text,.emp-body .cta-text{margin-top:-6px}
  .foot-nav{gap:0}
  .foot-nav a{display:flex;align-items:center;min-height:44px}
  .contato-info a{display:inline-flex;align-items:center;min-height:40px}
  .faqs summary{padding:22px 40px 22px 0}
  .emp-row{padding:20px 0}
  .nav-btn{padding:14px 0;width:30px}
  .nav-links a{padding:6px 0}

  /* checkbox de consentimento maior e mais fácil de acertar */
  .consent{gap:14px;align-items:flex-start;padding:10px 0}
  .consent input{width:26px;height:26px;margin-top:0}
  .form-wrap{margin-top:30px}
  #perguntas{padding-bottom:8px}

  /* 5 · grades de 12 colunas: a soma dos vãos passava da largura útil
        e empurrava a página 12px para o lado em telas de 360px */
  .foot-grid{column-gap:0;row-gap:30px}
  .grid,.fluxo-etapa,.pilar-bloco .grid,.casa .grid,.page-head{column-gap:8px}

  /* campos de formulário confortáveis para o dedo, sem zoom no iOS */
  .fld input,.fld select,.fld textarea,.ferr-campos input{
    font-size:16px;min-height:48px;padding:10px 0
  }
  .fld textarea{min-height:120px}

  /* 3 · nada de tipografia miúda demais */
  .ferr-campos .dica{font-size:.8rem;line-height:1.5}
  .label,.idx{font-size:.72rem}
  .taca small{font-size:.74rem;letter-spacing:.1em}
  .faixa-foto figcaption{font-size:.74rem;letter-spacing:.1em}
  .ferr-tabela th,.ferr-tabela td{font-size:.8rem;white-space:nowrap}
  .hero-index a{display:flex;align-items:center;min-height:44px}
  .ferr-tabela > summary{display:flex;align-items:center;min-height:44px}
  .ferr-tabela > div{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .ferr-tabela table{min-width:440px}
  .foot-legal p,.foot-legal span{font-size:.8rem}
  .ferr-nota,.legenda{font-size:.82rem}

  /* 4 · respiro geral e blocos que ficavam apertados */
  section{padding:clamp(56px,13vw,84px) 0}
  body.interna section{padding:clamp(48px,11vw,68px) 0}
  .hero-copy h1,.page-head h1{hyphens:none}
  .gr{overflow-x:auto}
}

/* telas bem estreitas */
@media(max-width:400px){
  .convite-modo li{flex-direction:column;align-items:flex-start;gap:2px}
  .convite-modo li b{font-size:1rem}
}

/* ═══ Auditoria desktop ═══ */

/* 1 · numeração das seções em faixas escuras estava quase invisível
       (telhado #9A4E1F sobre tinta = contraste 2.9) */
.on-dark .idx,.sec-foto.on-dark .idx{color:#D9A876}
.bravelli-hero .idx{color:var(--cammello)}

/* 2 · a barra de navegação sobre a foto do topo perdia legibilidade
       nas partes claras da imagem: véu discreto por trás dela */
.nav--sobre-foto:not(.on){isolation:isolate}
.nav--sobre-foto:not(.on)::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(18,14,10,.66) 0%,rgba(18,14,10,.34) 62%,rgba(18,14,10,0) 100%);
}
.nav--sobre-foto:not(.on) .nav-in{position:relative;z-index:1}

/* 3 · comprimento de linha nos pilares: as duas colunas ficavam com 38
       caracteres, abaixo do mínimo confortável de leitura */
@media(min-width:901px){
  .pilar-nome{grid-column:3/7}
  .pilar-det{grid-column:7/13}
}

/* 4 · foco de teclado visível: era outline:none em tudo, o que deixa
      quem navega por Tab sem saber onde está */
:focus-visible{outline:2px solid var(--sangiovese);outline-offset:3px;border-radius:2px}
.on-dark :focus-visible,.sec-foto :focus-visible,.bravelli-hero :focus-visible,
.nav--sobre-foto:not(.on) :focus-visible{outline-color:#D9A876}
.fld input:focus-visible,.fld select:focus-visible,.fld textarea:focus-visible,
.ferr-campos input:focus-visible{outline-offset:2px}
.skip:focus{position:fixed;left:var(--gut);top:12px;z-index:100;background:var(--tinta);
  color:var(--papel);padding:12px 18px;width:auto;height:auto;border-radius:2px}

/* título disponível ao leitor de tela, invisível na tela */
.vh{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* ═══ Página Time ═══ */
.pessoas{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(28px,3vw,44px) clamp(20px,2.4vw,34px);margin-top:8px}
.pessoas--4{grid-template-columns:repeat(4,1fr)}
.pessoa .retrato{
  aspect-ratio:4/5;background:var(--areia);border:1px solid var(--fio);
  overflow:hidden;margin-bottom:18px;position:relative;
}
.pessoa .retrato img{width:100%;height:100%;object-fit:cover;object-position:center 28%;display:block;
  filter:grayscale(.3) contrast(1.03)}
.pessoa .retrato:empty::after,.pessoa .retrato:not(:has(img))::after{
  content:"retrato";position:absolute;inset:auto 0 14px;text-align:center;
  font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--pedra);opacity:.5}
.pessoa h3{font-family:var(--disp);font-weight:500;font-size:1.32rem;letter-spacing:-.01em;line-height:1.15}
.pessoa .papel{margin-top:6px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--telhado);font-weight:600}
.pessoa .linha{margin-top:12px;font-size:.94rem;color:var(--pedra);max-width:34ch}
@media(max-width:1000px){
  .pessoas,.pessoas--4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:560px){
  .pessoas,.pessoas--4{grid-template-columns:1fr;gap:38px}
  .pessoa .retrato{aspect-ratio:4/5;max-width:270px}
}

/* ── frentes ainda sem texto: bloco compacto, para não parecer card quebrado ── */
.casa--breve{padding:38px 0}
.casa--breve .grid{align-items:center;row-gap:18px}
.casa--breve .casa-marca{grid-column:1/5}
.casa--breve .casa-marca .idx{margin-bottom:14px}
.casa--breve .casa-marca .funcao{margin-top:12px;font-size:1.15rem}
.casa--breve .casa-txt{grid-column:5/13;display:flex;align-items:baseline;
  gap:clamp(20px,3vw,52px);flex-wrap:wrap}
.casa--breve .casa-txt .breve{max-width:46ch;margin:0}
.casa--breve .casa-txt .breve h3{margin-bottom:6px}
.casa--breve .casa-cta{margin:0}
.casa--breve .logo-slot--destaque img{max-height:44px}
@media(max-width:900px){
  .casa--breve .casa-marca,.casa--breve .casa-txt{grid-column:1/13}
  .casa--breve .casa-txt{gap:16px}
}

/* link que leva para fora do site: seta discreta avisando */
.lnk--ext .seta{display:inline-block;margin-left:.4em;font-size:.92em;
  transform:translateY(-1px);transition:transform .25s var(--ease)}
.lnk--ext:hover .seta{transform:translate(2px,-3px)}

/* ═══ Bloco de conversa direta (substituiu o formulário) ═══ */
.fala{grid-column:1/8;margin-top:52px}
.fala h2{font-size:clamp(1.9rem,3.2vw,2.9rem)}
.fala > p{margin-top:18px;color:var(--pedra);font-size:1.02rem;max-width:46ch}
.botao-zap{
  display:inline-flex;align-items:center;gap:12px;margin-top:34px;
  background:var(--tinta);color:var(--papel);
  padding:17px 30px;border-radius:2px;
  font-family:var(--sans);font-size:.82rem;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;
  transition:background .3s var(--ease),transform .3s var(--ease);
}
.botao-zap:hover{background:var(--sangiovese);transform:translateY(-2px)}
.botao-zap svg{flex:none}
.fala-alt{margin-top:26px;font-size:.95rem;color:var(--pedra)}
@media(max-width:900px){.fala{grid-column:1/13;margin-top:34px}}
@media(max-width:700px){
  .botao-zap{width:100%;justify-content:center;padding:19px 24px;margin-top:28px}
}

/* ═══ Comparativo PJ x CLT ═══ */
.comparativo{display:grid;grid-template-columns:1fr 1fr;gap:clamp(20px,2.4vw,34px);margin-top:8px}
.comp-lado{border-top:1px solid var(--fio);padding-top:18px}
.comp-lado--destaque{border-top-color:var(--sangiovese);border-top-width:2px}
.comp-lado > b{display:block;margin-top:14px;font-family:var(--disp);font-weight:400;
  font-size:clamp(2.2rem,4vw,3.2rem);letter-spacing:-.02em;line-height:1}
.comp-lado--destaque > b{color:var(--sangiovese)}
.comp-rot{margin-top:4px;font-size:.86rem;color:var(--pedra)}
.comp-linhas{margin-top:20px;display:grid;gap:0}
.comp-linhas > div{display:flex;justify-content:space-between;gap:14px;
  padding:11px 0;border-bottom:1px solid var(--fio);font-size:.92rem}
.comp-linhas dt{color:var(--pedra)}
.comp-linhas dd{font-family:var(--disp);font-size:1.02rem}
.comp-dif{margin-top:34px;padding-top:20px;border-top:1px solid var(--fio);
  display:flex;align-items:baseline;justify-content:space-between;gap:18px;flex-wrap:wrap}
.comp-dif > b{font-family:var(--disp);font-weight:400;letter-spacing:-.02em;
  font-size:clamp(1.9rem,3.4vw,2.7rem);color:var(--telhado)}
.ferr-frase{margin-top:22px;font-size:1rem;color:var(--pedra);max-width:52ch}
.ferr-frase strong{color:var(--tinta);font-weight:500}
@media(max-width:640px){
  .comparativo{grid-template-columns:1fr;gap:28px}
  .comp-dif{flex-direction:column;gap:6px}
}



/* ═══════════════════════════════════════════════════════════════════
   CELULAR
   Escrito depois de medir o site num aparelho de 390 pixels de
   largura. Três coisas estavam quebradas, e nenhuma delas aparecia
   no teste de rolagem lateral, que passava limpo.

   1. Dez elementos espalhados por b2b, casa, medicos e metodologia
      trazem grid-column no atributo style da própria tag. Estilo
      inline vence qualquer media query, então o celular continuava
      recebendo o layout de duas colunas do desktop. O resultado era
      parágrafo com 141 pixels de largura, umas quatro palavras por
      linha, e metade da tela vazia do lado. É por isso que existe
      !important aqui. Não é atalho, é a única forma de vencer o
      atributo style sem reescrever as onze páginas.

   2. As margens esquerdas não batiam entre si dentro da mesma
      página. Na metodologia havia texto começando em 20, em 38 e em
      50 pixels, e o olho lê isso como desalinho mesmo sem saber
      medir.

   3. O h1 tinha piso de 2.7rem, quase 46 pixels, numa tela de 390.
      Sobrava espaço para três palavras por linha, e títulos viravam
      escada. O mesmo valia para o parágrafo grande em itálico da
      home, com piso de 28 pixels e catorze linhas.
   ═══════════════════════════════════════════════════════════════════ */

@media(max-width:760px){

  /* ——— 1 · uma coluna, sem exceção ——— */
  .grid > *,
  .b2b-lista > *{grid-column:1/-1 !important}

  /* as grades de duas colunas dentro dos blocos também descem */
  .casa-txt,
  .pilar-det,
  .form-wrap,
  .ferr-campos,
  .comparativo,
  .cenario-lista{grid-template-columns:1fr !important}

  /* figuras carregavam altura de desktop no atributo style */
  .grid > figure[style]{height:auto !important;margin-top:30px}
  .grid > div[style]{margin-bottom:0 !important}

  /* ——— 2 · o fluxo da metodologia alinhado com o resto da página ——— */
  .fluxo-etapa{display:block;padding:30px 0}
  .fluxo-etapa .idx{display:block;margin-bottom:12px}
  .fluxo-etapa h3,
  .fluxo-etapa p,
  .fluxo-etapa .marca-etapa{display:block;max-width:none}
  .fluxo-etapa h3{font-size:1.42rem;line-height:1.2}
  .fluxo-etapa p{margin-top:12px}
  .fluxo-etapa .marca-etapa{margin-top:12px}

  /* ——— 3 · escala de texto que cabe em 390 pixels ——— */
  h1{font-size:clamp(2.05rem,8.6vw,2.55rem);line-height:1.08;letter-spacing:-.022em}
  h2{font-size:clamp(1.7rem,7.2vw,2.1rem);line-height:1.14;letter-spacing:-.018em}
  .pilar-nome h2,
  .fala h2{font-size:clamp(1.65rem,7vw,2rem)}

  /* os textos grandes em itálico eram os piores em tela pequena */
  .manifesto-txt{font-size:1.3rem;line-height:1.48}
  .manifesto-ass{margin-top:30px}
  .b2b-frase{font-size:1.22rem;line-height:1.5}
  .depo blockquote{font-size:1.22rem;line-height:1.5}

  /* números grandes não precisam do tamanho de desktop */
  .dado b{font-size:clamp(2.3rem,10vw,3rem)}
  .ferr-hero b{font-size:clamp(2rem,9vw,2.6rem)}
  .comp-lado > b{font-size:clamp(1.95rem,8.4vw,2.5rem)}
  .comp-dif > b{font-size:clamp(1.7rem,7.4vw,2.2rem)}
  .emp-nome{font-size:1.32rem}
  .marco .ano{font-size:1.7rem}

  /* corpo de texto com um piso legível: nada abaixo de 13 pixels */
  body{font-size:16.5px}
  .lede{font-size:1.02rem;line-height:1.62}
  .cenario p,
  .cenario-item p,
  .emp-body p{font-size:1rem;line-height:1.62}
  .taca small,
  .ferr-tabela th,
  .faixa-foto figcaption,
  .form-note,
  .ferr-nota,
  .depo figcaption{font-size:.8rem;line-height:1.55}
  .ferr-hero small{font-size:.9rem}

  /* ——— 4 · respiro vertical proporcional à tela ——— */
  section{padding:62px 0}
  body.interna section{padding:50px 0}
  .casa{padding:44px 0}
  .casa .grid{row-gap:20px}
  .grid{row-gap:0}
  .numeros .grid{row-gap:40px}
  .co-marca{padding:30px 24px;gap:20px}
  .convite-modo{margin-top:26px}
}

/* Telas estreitas de verdade, tipo iPhone SE em 320 pixels. */
@media(max-width:380px){
  h1{font-size:1.92rem}
  h2{font-size:1.58rem}
  .manifesto-txt{font-size:1.2rem}
  .dado b{font-size:2.1rem}
  .emp-nome{font-size:1.22rem}
}

/* ——— Segunda passada no celular ——— */
@media(max-width:760px){

  /* 5 · texto miúdo com piso legível.
     Havia rótulo em 11,5px e nota de rodapé em 11,8px. Numa tela
     pequena, segurada com a mão, isso passa do limite do confortável.
     Rótulo em caixa alta com espaçamento aguenta ser menor que o
     corpo do texto, mas não abaixo de 12,5. */
  .label{font-size:12.5px;letter-spacing:.13em}
  .idx{font-size:12.5px}
  .pilar-id .idx{font-size:2rem}
  figcaption{font-size:13px}
  .taca small{font-size:12px}
  .taca-n{font-size:12.5px}
  .pessoa .papel{font-size:12.5px}
  .ferr-campos label{font-size:12.5px;gap:9px}
  .ferr-campos .dica{font-size:13px;line-height:1.55}
  .ferr-tabela th{font-size:12.5px}
  .ferr-tabela td{font-size:13px}
  .ferr-nota,
  .form-note,
  .foot-legal p,
  .foot-legal span{font-size:13px;line-height:1.6}
  .foot-end{font-size:14px}

  /* 6 · campo tem que parecer campo.
     Os campos das calculadoras eram só um fio embaixo do número. No
     desktop isso é discrição. No celular a pessoa não percebe que
     dá para tocar e trocar o valor, então o campo ganha caixa. */
  .ferr-campos input{
    background:rgba(28,23,18,.04);
    border:1px solid var(--fio);
    border-radius:2px;
    padding:13px 14px;
    font-size:17px;
    min-height:50px;
  }
  .ferr-campos input:focus{
    background:var(--papel);
    border-color:var(--sangiovese);
  }

  /* 7 · a faixa do Banco Safra.
     No desktop ela é uma linha só, e o cinza claro com algumas
     palavras escuras funciona como ênfase. Quebrada em quatro linhas
     no celular, a alternância vira remendo e parece defeito. Aqui o
     corpo escurece e a ênfase passa a ser só o peso da letra. */
  .safra-txt{color:rgba(28,23,18,.76);font-size:.95rem;line-height:1.62}
  .safra-txt strong,
  .safra-txt .num{color:var(--tinta);font-weight:600}

  /* 8 · as quatro taças.
     Empilhar em coluna única deixava a seção com 1500 pixels de
     altura quase vazia. Ficam melhor em duas por duas, com a taça
     menor para o par não se espremer. */
  .tacas{grid-template-columns:repeat(2,1fr);gap:32px 14px}
  .taca svg{max-width:86px}
  .taca-n{margin-top:16px}
  .taca b{font-size:1.02rem;line-height:1.25}
}

/* Últimos textos miúdos que escaparam por especificidade. */
@media(max-width:760px){
  .faixa-foto figcaption,
  .sec-foto figcaption,
  figure figcaption{font-size:13px;letter-spacing:.1em}
  figcaption.gr-eixo{font-size:12.5px;letter-spacing:0}
  .taca small{font-size:12.5px}
  .ferr-hero .label{font-size:12.5px}
}

/* ——— Alvos de toque na barra do topo ———
   O botão do menu tinha 36 por 30 pixels e a assinatura da marca
   tinha 28 de altura. O dedo pede pelo menos 44 por 44, e o botão
   do menu é o controle mais usado do site no celular. A área
   cresce sem que nada mude de aparência, porque o que aumenta é o
   espaço em volta, não o desenho. */
@media(max-width:860px){
  .nav-btn{
    width:44px;height:44px;padding:0;
    align-items:flex-end;justify-content:center;
    margin-right:calc(-1 * (44px - 30px) / 2);
  }
  .nav-btn span{width:30px}
  .marca{min-height:44px}
}
@media(max-width:760px){
  /* o endereço de e-mail no contato tinha 17 pixels de altura */
  .fala-alt .lnk,
  .contato-info .lnk{min-height:44px}
}

/* Os botões de texto das frentes são longos ("Ir para a Brunello
   Investimentos") e em tela estreita chegavam colados na margem.
   Menos espaçamento entre letras resolve sem diminuir o corpo. */
@media(max-width:430px){
  .cta-text{letter-spacing:.09em;font-size:.78rem}
  .lnk--ext .seta{margin-left:.3em}
}
