/* Bruhen 2026. Sistema visual derivado da logo nova: papel, tinta e marinho.
   Só existe um gesto gráfico: o ponto e a linha que liga um ponto ao outro. */
@font-face{font-family:"Unbounded";src:url("../fonts/unbounded-var.woff2") format("woff2");font-weight:200 900;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url("../fonts/instrument-sans-var.woff2") format("woff2");font-weight:400 700;font-display:swap}

:root{
  --papel:#faf9f5; --tinta:#202125; --marinho:#0d293e; --marinho-2:#17405e; --sinal:#4aa8ff;
  --nevoa:#eceff1; --aco:#56646f; --linha:rgba(32,33,37,.16); --linha-clara:rgba(250,249,245,.2);
  --tit:"Unbounded",system-ui,sans-serif; --txt:"Instrument Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --sec:clamp(72px,10vw,148px); --borda:clamp(20px,4vw,48px); --topo:72px;
  --suave:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:calc(var(--topo) + 16px)}
body{margin:0;background:var(--papel);color:var(--tinta);font:400 1.0625rem/1.6 var(--txt);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img,svg,video{display:block;max-width:100%}
img,video{height:auto}
a{color:inherit}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure,fieldset{margin:0;padding:0}
ul,ol{list-style:none}
fieldset{border:0;min-width:0}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
:focus-visible{outline:2px solid var(--marinho);outline-offset:3px;border-radius:4px}
.vitrine :focus-visible,.crm :focus-visible,.faixa :focus-visible,.rodape :focus-visible,.capa-escura :focus-visible,.menu-movel :focus-visible,.topo-sub-menu :focus-visible{outline-color:var(--sinal)}
.so-leitor{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
::selection{background:var(--marinho);color:var(--papel)}
[hidden]{display:none!important}

.cx{width:100%;max-width:1320px;margin-inline:auto;padding-inline:var(--borda)}
.sec{padding-block:var(--sec)}
.sec-nevoa{background:var(--nevoa)}
.sec-colada{padding-top:0}
.pular{position:absolute;left:12px;top:-60px;z-index:200;background:var(--marinho);color:var(--papel);padding:12px 18px;border-radius:999px}
.pular:focus{top:12px}

/* ---- Tipografia ---- */
.t0,.t1,.t2,.t3{font-family:var(--tit);font-weight:600;letter-spacing:-.035em;text-wrap:balance}
.t0{font-size:clamp(2.5rem,6.3vw,6.1rem);line-height:.98;letter-spacing:-.045em}
.t1{font-size:clamp(2rem,4.6vw,4.1rem);line-height:1.04}
.t2{font-size:clamp(1.6rem,3vw,2.6rem);line-height:1.1}
.t3{font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.2;font-weight:500}
.t4{font:600 1rem/1.3 var(--txt);color:var(--aco)}
.lead{font-size:clamp(1.125rem,1.5vw,1.375rem);line-height:1.5;max-width:44ch;color:var(--aco)}
.link,.link-claro{display:inline-flex;align-items:center;gap:8px;font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:5px}
.link,.link-claro{min-height:40px}
.link:hover{color:var(--marinho-2)}
.link-claro{color:var(--papel)}
.seta{flex:none;transition:transform .25s var(--suave)}
a:hover>.seta,button:hover>.seta,a:hover .link>.seta{transform:translateX(4px)}

.h1-rotulo{display:flex;align-items:center;gap:10px;margin-bottom:clamp(14px,1.6vw,22px);font:600 1rem/1.4 var(--txt);letter-spacing:0;text-wrap:wrap}
.h1-rotulo::before{content:"";flex:none;width:12px;height:12px;border-radius:50%;background:var(--marinho)}
.capa-escura .h1-rotulo::before{background:var(--sinal)}

/* ---- Botões: o ponto, esticado ---- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 24px;border-radius:999px;border:1.5px solid transparent;font-weight:600;font-size:1rem;line-height:1;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s,border-color .2s,transform .2s var(--suave)}
.btn:active{transform:scale(.98)}
.btn-g{min-height:58px;padding:0 30px;font-size:1.0625rem}
.btn-s{min-height:42px;padding:0 20px;font-size:.9375rem}
.btn-p{background:var(--marinho);color:var(--papel)}
.btn-p:hover{background:var(--tinta)}
.btn-fio{border-color:var(--tinta)}
.btn-fio:hover{background:var(--tinta);color:var(--papel)}
.btn-claro{background:var(--papel);color:var(--marinho)}
.btn-claro:hover{background:var(--sinal);color:var(--marinho)}
.btn-fio-claro{border-color:var(--linha-clara);color:var(--papel)}
.btn-fio-claro:hover{border-color:var(--papel)}

/* ---- Topo ---- */
.topo{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--topo);display:flex;align-items:center;justify-content:space-between;gap:24px;padding-inline:var(--borda);background:var(--papel);border-bottom:1px solid transparent;transition:border-color .3s,background .35s,color .35s}
main{padding-top:var(--topo)}
.topo-sobre main{padding-top:0}
.topo.rolou{border-color:var(--linha)}
/* Sobre o herói escuro o topo não tem fundo: logo e menu ficam brancos, com efeito de vidro. */
.topo-sobre .topo:not(.rolou){background:transparent;color:var(--papel);border-color:transparent}
.topo-sobre .topo:not(.rolou) .logo-simbolo,.topo-sobre .topo:not(.rolou) .logo-letras{fill:var(--papel)}
.topo-sobre .topo:not(.rolou) .topo-nav>a::after,.topo-sobre .topo:not(.rolou) .topo-sub-btn::after{background:var(--sinal)}
.topo-sobre .topo:not(.rolou) .topo-menu span{background:var(--papel)}
.topo-sobre .topo:not(.rolou) .btn-p{background:rgba(250,249,245,.1);border-color:rgba(250,249,245,.38);color:var(--papel);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.topo-sobre .topo:not(.rolou) .btn-p:hover{background:var(--papel);color:var(--marinho);border-color:var(--papel)}
.topo-sobre .topo:not(.rolou) :focus-visible{outline-color:var(--sinal)}
.topo-sobre .topo.menu-aberto{background:var(--marinho)}
.topo-sobre .topo.desceu:not(.rolou):not(.menu-aberto){background:rgba(13,41,62,.72);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border-color:var(--linha-clara)}
.logo-simbolo,.logo-letras{transition:fill .35s}
.topo-nav>a,.topo-sub-btn{padding-inline:14px;border-radius:999px;transition:background .25s}
.topo-nav>a:hover,.topo-sub-btn:hover,.topo-sub-btn[aria-expanded=true]{background:rgba(86,100,111,.12)}
.topo-sobre .topo:not(.rolou) .topo-nav>a:hover,.topo-sobre .topo:not(.rolou) .topo-sub-btn:hover,.topo-sobre .topo:not(.rolou) .topo-sub-btn[aria-expanded=true]{background:rgba(250,249,245,.14);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.topo-logo{display:flex;align-items:center;min-height:44px}
.logo{height:30px;width:auto}
.logo-simbolo{fill:var(--marinho)}.logo-letras{fill:var(--tinta)}
.logo-clara .logo-simbolo,.logo-clara .logo-letras{fill:var(--papel)}
.topo-nav{display:flex;align-items:center;gap:clamp(2px,.8vw,12px);font-weight:500}
.topo-nav a,.topo-sub-btn{text-decoration:none;display:inline-flex;align-items:center;gap:6px;min-height:44px;font-weight:500;position:relative}
.topo-nav>a::after,.topo-sub-btn::after{content:"";position:absolute;left:50%;bottom:6px;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:var(--marinho);transform:scale(0);transition:transform .25s var(--suave)}
.topo-nav>a:hover::after,.topo-nav>a[aria-current]::after,.topo-sub-btn:hover::after,.topo-sub-btn[aria-expanded=true]::after{transform:scale(1)}
.topo-sub{position:relative}
.topo-sub-menu{position:absolute;top:calc(100% + 10px);left:-20px;width:300px;background:var(--marinho);color:var(--papel);padding:10px;border-radius:14px}
.topo-sub-menu a{display:block;min-height:0;padding:12px 14px;border-radius:8px}
.topo-sub-menu a:hover{background:var(--marinho-2)}
.topo-sub-menu strong{display:block;font-weight:600}
.topo-sub-menu span{font-size:.875rem;opacity:.75}
.topo-acoes{display:flex;align-items:center;gap:10px}
.topo-menu{display:none;width:44px;height:44px;position:relative}
.topo-menu span{position:absolute;left:10px;right:10px;height:2px;background:var(--tinta);transition:transform .3s var(--suave),top .3s var(--suave)}
.topo-menu span:first-child{top:17px}.topo-menu span:last-child{top:26px}
.topo-menu[aria-expanded=true] span:first-child{top:21px;transform:rotate(45deg)}
.topo-menu[aria-expanded=true] span:last-child{top:21px;transform:rotate(-45deg)}
.menu-movel{position:fixed;inset:var(--topo) 0 0;z-index:99;background:var(--marinho);color:var(--papel);padding:28px var(--borda) calc(28px + env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:space-between;gap:28px;overflow-y:auto}
.menu-movel nav{display:flex;flex-direction:column}
.menu-movel a{text-decoration:none}
.menu-g{font:600 clamp(1.7rem,8vw,2.4rem)/1.25 var(--tit);letter-spacing:-.035em;padding-block:6px}
.menu-movel p{margin:26px 0 6px;font-size:.9375rem;opacity:.65}
.menu-p{font-size:1.25rem;font-weight:500;padding-block:9px}
.menu-movel-pe{display:grid;gap:10px}
@media (max-width:900px){.topo-nav{display:none}.topo-menu{display:block}}
@media (max-width:480px){.topo-acoes .btn{display:none}}

.migalhas{padding:22px var(--borda) 0;max-width:1320px;margin-inline:auto;font-size:.875rem;color:var(--aco)}
.migalhas ol{display:flex;flex-wrap:wrap;gap:6px 0}
.migalhas li+li::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;opacity:.5;margin:0 10px 2px}
.migalhas a{text-decoration:none}.migalhas a:hover{text-decoration:underline}

/* ---- Herói: os pontos soltos e a linha que liga ---- */
/* Fundo marinho, título grande e uma parede em perspectiva com os sites que a agência fez, rolando de verdade. */
.heroi{position:relative;min-height:100svh;display:flex;align-items:center;padding-block:calc(var(--topo) + clamp(20px,2.4vw,40px)) clamp(32px,3.4vw,60px);overflow:hidden;background:var(--marinho);color:var(--papel);isolation:isolate}
.heroi-grade{position:relative;z-index:2}
.heroi-txt{max-width:min(100%,660px)}
.heroi .h1-rotulo::before{background:var(--sinal)}
.heroi .t0{font-size:clamp(2.6rem,5.2vw,5.4rem)}
.heroi-l{display:block}
.heroi-sub{margin-top:clamp(20px,2.4vw,32px);font-size:clamp(1.125rem,1.45vw,1.35rem);line-height:1.5;max-width:50ch;color:rgba(250,249,245,.84)}
.heroi-acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(24px,2.6vw,36px)}
.btn-sinal{background:var(--sinal);color:var(--marinho)}
.btn-sinal:hover{background:var(--papel)}
/* o fio: os pontos em ordem, ligados até a venda */
.heroi-fio{display:flex;align-items:flex-start;margin-top:clamp(26px,2.8vw,40px);max-width:640px}
.heroi-fio li{position:relative;flex:1;padding-top:22px;font-size:.875rem;font-weight:500;color:rgba(250,249,245,.78)}
.heroi-fio li:last-child{flex:none;color:var(--papel);font-weight:700}
.heroi-fio li::before{content:"";position:absolute;left:0;top:0;width:11px;height:11px;border-radius:50%;background:var(--papel);z-index:1}
.heroi-fio li::after{content:"";position:absolute;left:5px;right:-5px;top:4.5px;height:2px;background:var(--papel);transform-origin:left}
.heroi-fio li:last-child::before{background:var(--sinal);box-shadow:0 0 0 4px var(--marinho),0 0 0 5.5px var(--sinal)}
.heroi-fio li:last-child::after{display:none}
.heroi-seg{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:clamp(20px,2.2vw,30px);font-size:.9375rem}
.heroi-seg span{color:rgba(250,249,245,.7);margin-right:4px}
.heroi-seg a{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border:1px solid var(--linha-clara);border-radius:999px;text-decoration:none;font-weight:500;transition:background .2s,color .2s,border-color .2s}
.heroi-seg a::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--sinal)}
.heroi-seg a:hover{background:var(--papel);color:var(--marinho);border-color:var(--papel)}
.heroi :focus-visible{outline-color:var(--sinal)}

/* O símbolo da logo vira uma janela: os sites em movimento aparecem por dentro dele. */
.simbolo-janela{--h:min(92svh,56vw);position:absolute;z-index:0;top:50%;right:clamp(8px,2.4vw,56px);height:var(--h);aspect-ratio:800/1160;transform:translateY(-45%);pointer-events:none;animation:janela 1.5s var(--suave) both}
@keyframes janela{from{opacity:0;transform:translateY(-45%) scale(.86) rotate(-5deg)}}
/* sombra no alto do herói: o menu branco continua legível quando o símbolo passa por trás */
.heroi::before{content:"";position:absolute;z-index:1;left:0;right:0;top:0;height:150px;background:linear-gradient(180deg,var(--marinho) 0,rgba(13,41,62,.85) 45%,rgba(13,41,62,0) 100%);pointer-events:none}
.parede{position:absolute;inset:0;overflow:hidden;perspective:1500px;-webkit-mask:var(--mascara) center/contain no-repeat;mask:var(--mascara) center/contain no-repeat;background:var(--marinho-2)}
.parede-plano{--rx:0deg;--ry:0deg;position:absolute;inset:-18% -30%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.2vw,18px);transform:rotateX(calc(18deg + var(--rx))) rotateY(calc(-14deg + var(--ry))) rotateZ(7deg);transform-origin:50% 50%;will-change:transform}
.simbolo-contorno{position:absolute;inset:0;width:100%;height:100%;overflow:visible;transform:translate(16px,16px)}
.simbolo-contorno path{fill:none;stroke:var(--sinal);stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-dasharray:1;animation:contorno 2.6s .5s cubic-bezier(.6,0,.2,1) both}
@keyframes contorno{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.parede-col{overflow:visible}
.parede-trilho{display:flex;flex-direction:column;gap:clamp(12px,1.5vw,24px);animation:parede 58s linear infinite}
.parede-col:nth-child(2) .parede-trilho{animation-direction:reverse;animation-duration:70s}
.parede-col:nth-child(3) .parede-trilho{animation-duration:64s}
@keyframes parede{to{transform:translateY(calc(-50% - clamp(6px,.75vw,12px)))}}
.tela{flex:none;border-radius:10px;overflow:hidden;background:#fff;box-shadow:0 24px 50px rgba(3,14,23,.55)}
.tela-barra{display:flex;align-items:center;gap:5px;height:22px;padding:0 10px;background:#e7eaec;color:#56646f;font:600 10px/1 var(--txt)}
.tela-barra i{width:6px;height:6px;border-radius:50%;background:#b9c1c7}
.tela-barra b{margin-left:8px;font-weight:600}
.tela-janela{display:block;position:relative;aspect-ratio:4/3.1;overflow:hidden;container-type:size}
.tela-janela img{display:block;width:100%;height:auto;animation:rola 16s ease-in-out infinite alternate}
@keyframes rola{0%,8%{transform:translateY(0)}92%,100%{transform:translateY(calc(-100% + 100cqh))}}

.heroi.parado .parede-trilho,.heroi.parado .tela-janela img{animation-play-state:paused}

/* Entrada: só CSS, para não depender de script. O título sobe linha a linha, a parede chega e o fio se liga. */
@keyframes sobe{from{opacity:0;transform:translateY(.5em)}}
@keyframes chega{from{opacity:0;transform:translateY(18%)}}
@keyframes liga{from{transform:scaleX(0)}}
@keyframes brota{from{transform:scale(0)}}
.heroi-l{animation:sobe .9s var(--suave) both}
.heroi-l:nth-of-type(3){animation-delay:.09s}.heroi-l:nth-of-type(4){animation-delay:.18s}
.heroi-sub,.heroi-acoes,.heroi-seg{animation:sobe .8s .35s var(--suave) both}
.heroi-fio li{animation:sobe .5s calc(.7s + var(--i) * .2s) var(--suave) both}
.heroi-fio li::before{animation:brota .45s calc(.7s + var(--i) * .2s) var(--suave) both}
.heroi-fio li::after{animation:liga .2s calc(.85s + var(--i) * .2s) linear both}

@media (max-width:1000px){
  .heroi{align-items:flex-start;padding-top:calc(var(--topo) + 20px)}
  .heroi-grade{padding-bottom:calc(min(96vw,430px) + 30px)}
  .simbolo-janela{--h:min(96vw,430px);top:auto;bottom:26px;right:auto;left:50%;transform:translateX(-50%);animation-name:janela-m}
  @keyframes janela-m{from{opacity:0;transform:translateX(-50%) scale(.86) rotate(-5deg)}}
  .heroi-fio{max-width:none}
}
@media (max-width:520px){
  .heroi-fio li{font-size:0;padding-top:16px}
  .heroi-fio li:first-child,.heroi-fio li:last-child{font-size:.8125rem;padding-top:22px}
  .heroi-seg{display:none}
}

/* ---- Mosaico: trabalhos de várias frentes logo abaixo do herói ---- */
.mosaico-topo{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:20px clamp(30px,6vw,100px);align-items:end;margin-bottom:clamp(28px,4vw,52px)}
.mosaico-topo p{color:var(--aco);max-width:40ch}
.mosaico-grade{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(190px,21vw,300px);gap:clamp(10px,1.2vw,18px)}
.peca{position:relative;display:block;overflow:hidden;border-radius:10px;background:var(--marinho);color:var(--papel);text-decoration:none;isolation:isolate}
.peca>img,.peca>video,.peca-rola img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--suave)}
.peca:hover>img,.peca:hover>video,.peca:focus-visible>img{transform:scale(1.05)}
.peca::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(13,41,62,0) 45%,rgba(13,41,62,.88) 100%);pointer-events:none}
.peca-leg{position:absolute;z-index:2;left:clamp(14px,1.5vw,22px);right:clamp(14px,1.5vw,22px);bottom:clamp(12px,1.4vw,20px);display:grid;gap:2px}
.peca-leg strong{display:flex;align-items:center;gap:9px;font:600 clamp(1.05rem,1.5vw,1.4rem)/1.2 var(--tit);letter-spacing:-.03em}
.peca-leg strong::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:var(--sinal);transition:transform .3s var(--suave)}
.peca:hover .peca-leg strong::before{transform:scale(1.5)}
.peca-leg em{font-style:normal;font-size:.9375rem;opacity:.82;padding-left:19px}
.peca-video{grid-column:span 3;grid-row:span 2}
.peca-marca{grid-column:span 5}
.peca-social{grid-column:span 4}
.peca-site{grid-column:span 3}
.peca-crm{grid-column:span 3}
.peca-crm>img{object-position:left top;transform:scale(1.9);transform-origin:left top}
.peca-crm:hover>img{transform:scale(2)}
.peca-rola{position:absolute;inset:0;overflow:hidden;container-type:size}
.peca-rola img{height:auto;inset:0 0 auto 0;animation:rola 18s ease-in-out infinite alternate}
.peca-cta{grid-column:span 3;background:var(--sinal);color:var(--marinho);display:flex;flex-direction:column;justify-content:space-between;padding:clamp(18px,2vw,28px);transition:background .25s}
.peca-cta::after{display:none}
.peca-cta-t{font:600 clamp(1.1rem,1.6vw,1.5rem)/1.2 var(--tit);letter-spacing:-.03em}
.peca-cta-b{display:inline-flex;align-items:center;gap:8px;font-weight:700}
.peca-cta:hover{background:var(--marinho);color:var(--papel)}
@media (max-width:900px){
  .mosaico-topo{grid-template-columns:1fr}
  .mosaico-grade{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(170px,48vw,260px)}
  .peca-video{grid-column:span 1;grid-row:span 2}
  .peca-marca,.peca-social,.peca-site,.peca-crm{grid-column:span 1}
  .peca-cta{grid-column:span 2;grid-row:auto;min-height:150px}
  .peca-leg em{display:none}
}

.mosaico-frentes{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-top:clamp(22px,2.6vw,34px)}
.mosaico-frentes>span{font-weight:600;color:var(--aco)}
.mosaico-frentes .chips{margin-top:0}

/* ---- Indicação por IA ---- */
.ia{background:var(--tinta);color:var(--papel);overflow:hidden}
.ia-grade{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(32px,6vw,100px);align-items:center}
.ia .lead{margin-top:20px;color:rgba(250,249,245,.82);max-width:50ch}
.ia-lista{margin-top:26px;display:grid;gap:10px}
.ia-lista li{position:relative;padding-left:24px}
.ia-lista li::before{content:"";position:absolute;left:2px;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--sinal)}
.ia-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:clamp(26px,3vw,38px)}
.ia-nota{margin-top:22px;font-size:.875rem;color:rgba(250,249,245,.6);max-width:52ch}
.conversa{position:relative;display:grid;gap:14px;padding:clamp(18px,2.2vw,30px);padding-top:0;background:#2a2c31;border:1px solid rgba(250,249,245,.14);border-radius:18px;box-shadow:0 40px 80px rgba(0,0,0,.35);transform:rotate(1.2deg)}
.conversa-topo{display:flex;align-items:center;gap:10px;margin-inline:calc(clamp(18px,2.2vw,30px) * -1);padding:14px clamp(18px,2.2vw,30px);border-bottom:1px solid rgba(250,249,245,.12);font-size:.875rem;font-weight:600}
.conversa-topo i{width:10px;height:10px;border-radius:50%;background:var(--sinal)}
.conversa-topo em{margin-left:auto;font-style:normal;font-weight:500;font-size:.75rem;padding:3px 10px;border:1px solid rgba(250,249,245,.25);border-radius:999px;color:rgba(250,249,245,.7)}
.fala{max-width:86%;padding:14px 18px;border-radius:18px;font-size:clamp(1rem,1.25vw,1.125rem);line-height:1.45}
.fala-eu{justify-self:end;background:var(--sinal);color:var(--marinho);font-weight:500;border-bottom-right-radius:6px}
.fala-ia{justify-self:start;background:#383b42;border-bottom-left-radius:6px;display:grid;gap:8px}
.fala-ia strong{color:var(--sinal);font-weight:700}
.fala-botoes{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.fala-botoes span{padding:7px 14px;border-radius:999px;border:1px solid rgba(250,249,245,.3);font-size:.875rem;font-weight:600}
.js .conversa .fala,.js .conversa .fala-ia>*{opacity:0;transform:translateY(10px);transition:opacity .5s var(--suave),transform .5s var(--suave)}
.js .conversa.on .fala,.js .conversa.on .fala-ia>*{opacity:1;transform:none}
.conversa.on .fala-ia{transition-delay:.35s}
.conversa.on .fala-ia>:nth-child(1){transition-delay:.55s}.conversa.on .fala-ia>:nth-child(2){transition-delay:.85s}.conversa.on .fala-ia>:nth-child(3){transition-delay:1.15s}
.conversa.on .fala-fim{transition-delay:1.7s}
@media (max-width:900px){.ia-grade{grid-template-columns:1fr}.conversa{transform:none}}

/* ---- Clientes que ficam ---- */
.fiel-grade{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,100px);align-items:center}
.fiel .lead{margin-top:18px}
.fiel-frase{margin:clamp(24px,3vw,40px) 0 0;padding-left:22px;border-left:3px solid var(--marinho);font:500 clamp(1.15rem,1.6vw,1.4rem)/1.4 var(--txt);max-width:34ch}
.fiel-barras{display:grid;gap:0;border-top:1.5px solid var(--tinta)}
.fiel-barras li{border-bottom:1px solid var(--linha)}
.fiel-barras li>a,.fiel-barras li:not(:has(a)){display:grid;grid-template-columns:minmax(120px,.42fr) minmax(0,1fr) auto;align-items:center;gap:clamp(12px,2vw,26px);padding:clamp(14px,1.6vw,20px) 0;text-decoration:none}
.fiel-barras strong{font:600 clamp(1.05rem,1.5vw,1.35rem)/1.2 var(--tit);letter-spacing:-.03em}
.fiel-linha{position:relative;height:2px;width:calc(var(--anos) / 8 * 100%);background:var(--marinho);transform-origin:left;transition:transform 1.1s calc(var(--n) * .09s) var(--suave)}
.fiel-linha::after{content:"";position:absolute;right:-6px;top:-5px;width:12px;height:12px;border-radius:50%;background:var(--marinho);transition:background .25s,transform .25s var(--suave)}
.fiel-barras li:nth-child(-n+2) .fiel-linha::after{background:var(--sinal);box-shadow:0 0 0 3px var(--papel),0 0 0 4.5px var(--marinho)}
.js .fiel-barras:not(.on) .fiel-linha{transform:scaleX(0)}
.fiel-barras em{font-style:normal;font-weight:600;white-space:nowrap;min-width:5.5ch;text-align:right}
.fiel-barras a:hover strong{text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:1.5px}
.fiel-barras a:hover .fiel-linha::after{transform:scale(1.4)}
@media (max-width:900px){.fiel-grade{grid-template-columns:1fr}}
@media (max-width:520px){.fiel-barras li>a,.fiel-barras li:not(:has(a)){grid-template-columns:1fr auto}.fiel-linha{grid-column:1/-1;grid-row:2}}

/* ---- Fatos e comparativo ---- */
.fatos{background:var(--marinho);color:var(--papel);border-top:1px solid var(--linha-clara)}
.fatos-grade{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.fatos-grade div{padding:clamp(22px,2.6vw,38px) clamp(14px,2vw,30px);border-left:1px solid var(--linha-clara)}
.fatos-grade div:first-child{border-left:0;padding-left:0}
.fatos-grade dt{font:600 clamp(1.5rem,2.7vw,2.5rem)/1.05 var(--tit);letter-spacing:-.04em;color:var(--papel)}
.fatos-grade dd{margin-top:8px;color:rgba(250,249,245,.72);font-size:.9375rem;line-height:1.4;max-width:24ch}
@media (max-width:760px){.fatos-grade{grid-template-columns:repeat(2,minmax(0,1fr))}.fatos-grade div{padding-left:0;border-left:0;border-top:1px solid var(--linha-clara)}.fatos-grade div:nth-child(-n+2){border-top:0}.fatos-grade div:nth-child(even){padding-left:16px;border-left:1px solid var(--linha-clara)}}
.compara .manifesto-frase{max-width:30ch}
.compara-t{margin-top:clamp(40px,6vw,84px)}
.compara-pe{display:grid;grid-template-columns:auto minmax(0,560px);justify-content:space-between;align-items:start;gap:clamp(24px,5vw,80px)}
.compara-pe .manifesto-def{padding-top:18px}
@media (max-width:900px){.compara-pe{grid-template-columns:1fr}}
.compara-tabela{margin:clamp(22px,2.6vw,34px) 0 clamp(28px,3.4vw,44px);border-top:1.5px solid var(--tinta)}
.compara-linha{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1.1fr);gap:clamp(12px,2.4vw,40px);align-items:center;padding:clamp(14px,1.6vw,22px) 0;border-bottom:1px solid var(--linha)}
.compara-cab{font-size:.9375rem;font-weight:600;color:var(--aco);padding-block:12px}
.compara-cab span:last-child{color:var(--marinho)}
.compara-linha strong{font-weight:600}
.compara-linha span[role=cell]{color:var(--aco)}
.compara-linha .compara-sim{position:relative;padding-left:26px;color:var(--tinta);font-weight:600;font-size:clamp(1rem,1.3vw,1.1875rem)}
.compara-sim::before{content:"";position:absolute;left:0;top:.42em;width:12px;height:12px;border-radius:50%;background:var(--marinho)}
@media (max-width:760px){.compara-cab{display:none}.compara-linha{grid-template-columns:1fr;gap:4px}.compara-linha span[role=cell]:not(.compara-sim){text-decoration:line-through;text-decoration-color:rgba(86,100,111,.5);font-size:.9375rem}}
.diag-sub{margin-top:24px;font:600 1rem/1.3 var(--txt);color:var(--aco)}
.diag-sub+.diag-lista{margin-top:12px}
.diag-como{margin-top:12px;display:grid;gap:10px;counter-reset:c}
.diag-como li{counter-increment:c;position:relative;padding-left:36px}
.diag-como li::before{content:counter(c);position:absolute;left:0;top:0;width:24px;height:24px;border-radius:50%;background:var(--marinho);color:var(--papel);font:600 .8125rem/24px var(--txt);text-align:center}

/* ---- Clientes ---- */
.clientes{background:var(--marinho);color:var(--papel);border-top:1px solid var(--linha-clara);overflow:hidden}
.clientes-faixa ul{display:flex;width:max-content;animation:faixa 46s linear infinite}
.clientes-faixa li{display:flex;align-items:center;gap:clamp(28px,4vw,56px);padding:20px 0 20px clamp(28px,4vw,56px);font:500 clamp(1rem,1.5vw,1.3rem)/1 var(--tit);letter-spacing:-.03em;white-space:nowrap}
.clientes-faixa li::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--sinal)}
.clientes:hover ul{animation-play-state:paused}
@keyframes faixa{to{transform:translateX(-50%)}}

/* ---- Manifesto ---- */
.manifesto-grade{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,.9fr);gap:clamp(32px,6vw,110px);align-items:end}
.manifesto-frase{font:500 clamp(1.5rem,3.1vw,2.9rem)/1.22 var(--tit);letter-spacing:-.035em}
.manifesto-frase .pal{opacity:.3;transition:opacity .25s}
.manifesto-frase .pal.on{opacity:1}
.manifesto-def{padding-top:22px;border-top:1.5px solid var(--tinta)}
.manifesto-def p{margin:10px 0 18px}
@media (max-width:900px){.manifesto-grade{grid-template-columns:1fr}}

/* ---- Vitrine de cases ---- */
.vitrine{background:var(--marinho);color:var(--papel);overflow:hidden}
.vitrine-topo{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:clamp(20px,4vw,60px);align-items:end;margin-bottom:clamp(30px,4vw,56px)}
.vitrine-topo p{max-width:42ch;opacity:.8}
.vitrine-topo .link{color:var(--papel)}
.vitrine-trilho{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.vitrine-trilho::-webkit-scrollbar{display:none}
.vitrine-trilho.pino{overflow:hidden;scroll-snap-type:none}
.vitrine-fita{display:flex;gap:clamp(16px,2vw,28px);width:max-content;padding-inline:max(var(--borda),calc((100vw - 1320px)/2 + var(--borda)))}
.vitrine-item{flex:none;width:clamp(280px,44vw,700px);scroll-snap-align:center;text-decoration:none;display:flex;flex-direction:column;gap:16px}
.vitrine-img{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--marinho-2);border-radius:6px}
.vitrine-img img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .7s var(--suave)}
.vitrine-item:hover .vitrine-img img{transform:scale(1.035)}
.vitrine-leg{display:grid;grid-template-columns:auto 1fr;gap:2px 14px;align-items:baseline}
.vitrine-leg strong{font:600 clamp(1.2rem,1.9vw,1.7rem)/1.15 var(--tit);letter-spacing:-.035em}
.vitrine-leg span{opacity:.7;font-size:.9375rem}
.vitrine-leg em{grid-column:1/-1;font-style:normal;opacity:.85}
.vitrine-fim{width:clamp(260px,30vw,420px);aspect-ratio:auto;justify-content:space-between;border:1.5px solid var(--linha-clara);border-radius:6px;padding:clamp(22px,2.4vw,36px);transition:background .25s,border-color .25s}
.vitrine-fim:hover{background:var(--marinho-2);border-color:var(--sinal)}
.vitrine-fim>span{font:500 clamp(1.3rem,2.1vw,1.9rem)/1.2 var(--tit);letter-spacing:-.035em;display:grid;gap:22px}
.ponto-solto{display:block;width:28px;height:28px;border-radius:50%;background:var(--sinal)}
.vitrine-fim strong{display:inline-flex;align-items:center;gap:8px;margin-top:40px}
@media (max-width:760px){.vitrine-topo{grid-template-columns:1fr}.vitrine-item{width:82vw}.vitrine-fim{width:70vw}}

/* ---- Serviços ---- */
.servs{position:relative}
.servs-topo{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px 60px;margin-bottom:clamp(28px,4vw,56px)}
.servs-topo p{max-width:34ch;color:var(--aco)}
.servs-lista{border-top:1.5px solid var(--tinta)}
.servs-lista a{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr) auto;align-items:center;gap:24px;padding:clamp(18px,2.1vw,30px) 0;border-bottom:1px solid var(--linha);text-decoration:none;transition:padding .35s var(--suave),background .25s,color .25s}
.servs-lista strong{font:500 clamp(1.25rem,2.7vw,2.4rem)/1.1 var(--tit);letter-spacing:-.04em}
.servs-lista span{color:var(--aco);transition:color .25s}
.servs-lista a:hover,.servs-lista a:focus-visible{background:var(--marinho);color:var(--papel);padding-inline:clamp(14px,2vw,30px)}
.servs-lista a:hover span,.servs-lista a:focus-visible span{color:rgba(250,249,245,.8)}
.servs-img{position:fixed;left:0;top:0;z-index:50;width:260px;aspect-ratio:1;border-radius:50%;overflow:hidden;pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.6);transition:opacity .25s,transform .35s var(--suave);will-change:left,top}
.servs-img.on{opacity:1;transform:translate(-50%,-50%) scale(1)}
.servs-img img{width:100%;height:100%;object-fit:cover}
@media (max-width:760px){.servs-lista a{grid-template-columns:1fr auto}.servs-lista span{grid-column:1;grid-row:2;font-size:.9375rem}.servs-lista .seta{grid-row:1/3;grid-column:2}}
@media (hover:none),(max-width:900px){.servs-img{display:none}}

/* ---- Método ---- */
.metodo{background:var(--nevoa)}
.metodo-palco{padding-block:var(--sec);display:flex;align-items:center}
.metodo.pino .metodo-palco{min-height:100svh;padding-block:calc(var(--topo) + 20px) 30px}
.metodo-grade{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(30px,5vw,90px);align-items:center}
.metodo-txt .lead{margin-top:16px}
.metodo-passos{margin-top:clamp(24px,3vw,40px);counter-reset:passo}
.metodo-passos li{counter-increment:passo;display:grid;grid-template-columns:44px 1fr;column-gap:8px;padding-block:14px;border-top:1px solid var(--linha);transition:opacity .3s}
.metodo-passos li::before{content:counter(passo);grid-row:1/3;font:600 1rem/1.5 var(--tit);color:var(--aco)}
.metodo-passos h3{font:600 1.125rem/1.4 var(--txt)}
.metodo-passos p{color:var(--aco);font-size:1rem}
.metodo.pino .metodo-passos h3{color:var(--aco)}
.metodo.pino .metodo-passos li.on h3,.metodo.pino .metodo-passos li.on p{color:var(--tinta)}
.metodo.pino .metodo-passos li.on{border-top-color:var(--tinta)}
.metodo.pino .metodo-passos li.on::before{color:var(--marinho)}
.metodo-fig svg{width:100%;height:auto;overflow:visible}
.metodo-fio-base{fill:none;stroke:var(--linha);stroke-width:2;stroke-dasharray:3 9;stroke-linecap:round}
.metodo-fio{fill:none;stroke:var(--marinho);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.metodo-no circle{fill:var(--marinho);stroke:var(--nevoa);stroke-width:6;transition:fill .3s}
.metodo-no:last-of-type circle{fill:var(--sinal);stroke:var(--marinho);stroke-width:2.5}
.metodo-no text{font:600 19px var(--txt);fill:var(--tinta)}
.metodo-no:nth-of-type(n+4) text{text-anchor:end;transform:translate(-52px,0)}
@media (max-height:800px){.metodo.pino .lead{display:none}.metodo.pino .metodo-passos li{padding-block:8px}.metodo.pino .t1{font-size:2.3rem}.metodo.pino .metodo-passos{margin-top:18px}}
@media (max-width:900px){.metodo-grade{grid-template-columns:1fr}.metodo-fig{display:none}}

/* método em fundo marinho, com a linha em azul sinal */
.metodo{background:var(--marinho);color:var(--papel)}
.metodo .lead{color:rgba(250,249,245,.8)}
.metodo-passos li{border-top-color:var(--linha-clara)}
.metodo-passos li::before,.metodo-passos p{color:rgba(250,249,245,.7)}
.metodo.pino .metodo-passos h3{color:rgba(250,249,245,.5)}
.metodo.pino .metodo-passos li:not(.on) p,.metodo.pino .metodo-passos li:not(.on)::before{color:rgba(250,249,245,.4)}
.metodo.pino .metodo-passos li.on h3,.metodo.pino .metodo-passos li.on p{color:var(--papel)}
.metodo.pino .metodo-passos li.on{border-top-color:var(--sinal)}
.metodo.pino .metodo-passos li.on::before{color:var(--sinal)}
.metodo-fio-base{stroke:rgba(250,249,245,.28)}
.metodo-fio{stroke:var(--sinal)}
.metodo-no circle{fill:var(--papel);stroke:var(--marinho)}
.metodo-no:last-of-type circle{fill:var(--sinal);stroke:var(--papel)}
.metodo-no text{fill:var(--papel)}
.metodo :focus-visible{outline-color:var(--sinal)}

/* ---- Para quem ---- */
.portas-grade{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,24px);margin-top:clamp(28px,4vw,56px)}
.porta{display:flex;flex-direction:column;gap:14px;padding:clamp(22px,2.4vw,36px);background:var(--nevoa);border-radius:6px;text-decoration:none;min-height:100%;transition:background .3s,color .3s}
.sec-nevoa .porta{background:var(--papel)}
.porta h3{display:flex;align-items:center;gap:10px;font:600 1rem/1.3 var(--txt)}
.porta h3::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--marinho);transition:background .3s,transform .3s var(--suave)}
.porta-h{font:600 clamp(1.25rem,1.7vw,1.5rem)/1.25 var(--txt);letter-spacing:-.015em}
.porta ul{display:grid;gap:6px;color:var(--aco);transition:color .3s}
.porta li{padding-left:16px;position:relative}
.porta li::before{content:"";position:absolute;left:0;top:.72em;width:8px;height:1.5px;background:currentColor}
.porta-cta{margin-top:auto;padding-top:18px;display:inline-flex;align-items:center;gap:8px;font-weight:600}
.porta:hover{background:var(--marinho);color:var(--papel)}
.porta:hover ul{color:rgba(250,249,245,.78)}
.porta:hover h3::before{background:var(--sinal);transform:scale(1.4)}
.porta:hover .seta{transform:translateX(4px)}
.porta-foto{padding:0;overflow:hidden;gap:0}
.porta-foto>:not(.porta-img){margin-inline:clamp(22px,2.4vw,36px)}
.porta-foto h3{margin-top:clamp(20px,2.2vw,30px);margin-bottom:12px}
.porta-foto ul{margin-top:14px}
.porta-foto .porta-cta{padding-bottom:clamp(22px,2.4vw,34px)}
.porta-img{display:block;aspect-ratio:16/9;overflow:hidden;background:var(--marinho)}
.porta-img img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .8s var(--suave),opacity .3s}
.porta-foto:hover .porta-img img{transform:scale(1.06);opacity:.8}
@media (max-width:900px){.portas-grade{grid-template-columns:1fr}}

/* ---- CRM ---- */
.crm{background:var(--marinho);color:var(--papel)}
.crm .lead{color:rgba(250,249,245,.8);margin-top:18px;max-width:48ch}
.crm-grade{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(30px,5vw,80px);align-items:center}
.crm-abas{display:grid;margin-top:clamp(22px,3vw,36px);border-top:1px solid var(--linha-clara)}
.crm-abas button{text-align:left;display:grid;grid-template-columns:22px 1fr;column-gap:10px;padding:14px 0;border-bottom:1px solid var(--linha-clara);opacity:.72;transition:opacity .25s}
.crm-abas button::before{content:"";grid-row:1/3;width:10px;height:10px;margin-top:8px;border-radius:50%;border:1.5px solid var(--papel)}
.crm-abas button[aria-selected=true]{opacity:1}
.crm-abas button[aria-selected=true]::before{background:var(--sinal);border-color:var(--sinal)}
.crm-abas button:hover{opacity:1}
.crm-abas strong{font-weight:600}
.crm-abas span{grid-column:2;font-size:.9375rem}
.crm-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:clamp(24px,3vw,36px)}
.crm-telas figure{border-radius:8px;overflow:hidden;border:1px solid var(--linha-clara);background:var(--marinho-2)}
.crm-telas figure{aspect-ratio:16/11}
.crm-telas img{width:168%;max-width:none}
.crm-nota{margin-top:12px;font-size:.875rem;opacity:.6}
@media (max-width:900px){.crm-grade{grid-template-columns:1fr}}

/* ---- Diagnóstico (formulário) ---- */
.diag-grade{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,5vw,90px);align-items:start}
.diag-intro .lead{margin-top:18px}
.diag-lista{margin-top:24px;display:grid;gap:10px}
.diag-lista li,.lista-pontos li{position:relative;padding-left:24px}
.diag-lista li::before,.lista-pontos li::before{content:"";position:absolute;left:2px;top:.55em;width:9px;height:9px;border-radius:50%;background:var(--marinho)}
.diag-alt{margin-top:26px;color:var(--aco)}
.diag-alt a{color:var(--tinta);font-weight:600}
.diag-form{background:var(--nevoa);border-radius:10px;padding:clamp(20px,3vw,40px);display:grid;gap:22px}
.pg-contato .diag-form,.sec-nevoa+.diag .diag-form{background:var(--nevoa)}
.armadilha{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.diag-passos{display:none}
.js .diag-form[data-ativo] .diag-passos{display:flex;gap:0;font-size:.875rem;font-weight:600;color:var(--aco)}
.diag-passos li{flex:1;position:relative;padding-top:20px}
.diag-passos li::before{content:"";position:absolute;top:0;left:0;width:12px;height:12px;border-radius:50%;background:var(--papel);border:1.5px solid var(--aco);z-index:1;transition:background .3s,border-color .3s}
.diag-passos li::after{content:"";position:absolute;top:5px;left:12px;right:0;height:2px;background:var(--linha)}
.diag-passos li:last-child{flex:none}.diag-passos li:last-child::after{display:none}
.diag-passos li.on{color:var(--tinta)}
.diag-passos li.on::before,.diag-passos li.feito::before{background:var(--marinho);border-color:var(--marinho)}
.diag-passos li.feito::after{background:var(--marinho)}
.diag-erro{background:#fff1ee;color:#8c1d0b;border-left:3px solid #c2391f;padding:12px 16px;border-radius:4px;font-weight:500}
.diag-etapa legend{font:600 clamp(1.2rem,1.8vw,1.5rem)/1.2 var(--tit);letter-spacing:-.03em;margin-bottom:16px;padding:0}
.js .diag-form[data-ativo] .diag-etapa:not(.on){display:none}
.diag-etapa+.diag-etapa{padding-top:6px}
.opcoes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.opcoes-col{grid-template-columns:1fr}
.opcao{position:relative;display:block}
.opcao input{position:absolute;opacity:0;inset:0;width:100%;height:100%;cursor:pointer;margin:0}
.opcao span{display:flex;align-items:center;gap:12px;min-height:54px;padding:10px 18px;background:var(--papel);border:1.5px solid #7a8791;border-radius:999px;font-weight:500;transition:border-color .2s,background .2s,color .2s}
.opcao span::before{content:"";flex:none;width:12px;height:12px;border-radius:50%;border:1.5px solid var(--aco);transition:background .2s,border-color .2s}
.opcao:hover span{border-color:var(--tinta)}
.opcao input:checked+span{background:var(--marinho);color:var(--papel);border-color:var(--marinho)}
.opcao input:checked+span::before{background:var(--sinal);border-color:var(--sinal)}
.opcao input:focus-visible+span{outline:2px solid var(--marinho);outline-offset:3px}
.campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.campo{display:grid;gap:6px;font-size:.9375rem;font-weight:600}
.campo em{font-style:normal;font-weight:400;color:var(--aco)}
.campo-larga{grid-column:1/-1}
.campo input{width:100%;min-height:52px;padding:0 16px;background:var(--papel);border:1.5px solid #7a8791;border-radius:10px;font-size:1rem;font-weight:400;transition:border-color .2s}
.campo input::placeholder{color:var(--aco)}
.campo input:hover{border-color:var(--tinta)}
.campo input:focus{outline:none;border-color:var(--marinho)}
.campo input[aria-invalid=true]{border-color:#c2391f;border-width:2px;background:#fff1ee}
.aceite input[aria-invalid=true]{outline:2px solid #c2391f;outline-offset:2px}
.aceite{display:flex;gap:10px;align-items:flex-start;margin-top:16px;font-size:.9375rem;color:var(--aco)}
.aceite input{flex:none;width:20px;height:20px;margin:2px 0 0;accent-color:var(--marinho)}
.diag-acoes{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap}
.diag-acoes .btn[disabled]{opacity:.6;pointer-events:none}
.diag-ok{display:grid;gap:14px;padding-block:20px}
.diag-ok h3{font:600 clamp(1.4rem,2.2vw,1.9rem)/1.15 var(--tit);letter-spacing:-.035em}
/* no celular o formulário vem logo depois do título; a explicação fica abaixo */
@media (max-width:900px){.diag-grade{display:flex;flex-direction:column;align-items:stretch;gap:0}.diag-intro{display:contents}.diag-intro .t2{order:0}.diag-intro .lead{order:1}.diag-form{order:2;margin-top:24px}.diag-intro>:not(.t2):not(.lead){order:3}.diag-form+*{order:3}.diag-intro .diag-sub:first-of-type{margin-top:32px}}
@media (max-width:520px){.opcoes,.campos{grid-template-columns:1fr}.diag-acoes .btn{flex:1}}

/* ---- O risco: contorno do símbolo que se desenha ---- */
.risco{position:absolute;overflow:visible;pointer-events:none}
.risco-linha{fill:none;stroke:currentColor;stroke-width:1.6;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:0;transition:stroke-dashoffset 2.6s cubic-bezier(.6,0,.2,1)}
.js .risco:not(.on) .risco-linha{stroke-dashoffset:1}
/* versão viva: o desenho acompanha a rolagem, com preenchimento suave e um ponto percorrendo o contorno */
.risco-vivo .risco-linha{stroke-width:2;transition:none}
.risco-fundo{fill:currentColor;opacity:0;transition:opacity 1.2s .2s}
.risco-vivo.cheio .risco-fundo{opacity:.055}
.risco-ponto{fill:currentColor;opacity:0;transition:opacity .8s}
.risco-vivo.cheio .risco-ponto{opacity:1}
@media (prefers-reduced-motion:reduce){.risco-ponto{display:none}.risco-fundo{opacity:.055}}

/* O diagnóstico é o ponto de chegada: cinza leve, com o símbolo se desenhando atrás. */
.diag{position:relative;overflow:hidden;background:#e7eaed;isolation:isolate}
/* símbolo grande à direita, atrás do cartão: a borda esquerda começa depois da coluna de texto */
.diag .risco-diag{--h:clamp(700px,72vw,1400px);z-index:-1;right:-7vw;top:calc(50% - var(--h) / 2);height:var(--h);color:var(--marinho);opacity:.6}
.diag .risco-diag .risco-ponto{fill:var(--marinho)}
.diag .t2{font-size:clamp(1.9rem,3.8vw,3.3rem);line-height:1.04;color:var(--marinho)}
.diag .diag-form{background:var(--papel);box-shadow:0 30px 70px rgba(13,41,62,.16);color:var(--tinta)}
.diag-form .opcao span,.diag-form .campo input{background:#fff}
.diag-form .diag-passos li::before{background:#fff}
.diag-form .diag-passos li.on::before,.diag-form .diag-passos li.feito::before{background:var(--marinho)}
@media (max-width:900px){.diag .risco-diag{display:none}}

/* ---- FAQ ---- */
.faq-grade{display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:clamp(24px,5vw,90px);align-items:start}
.faq-lado{position:sticky;top:calc(var(--topo) + 28px)}
.faq-lado .risco-faq{position:relative;display:block;height:clamp(220px,26vw,380px);margin-top:clamp(28px,4vw,56px);color:var(--marinho)}
@media (max-width:900px){.faq-lado{position:static}.faq-lado .risco-faq{display:none}}
.faq-lista{border-top:1.5px solid var(--tinta)}
.faq details{border-bottom:1px solid var(--linha)}
.faq summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 0;cursor:pointer;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary h3{font:600 clamp(1.0625rem,1.4vw,1.25rem)/1.35 var(--txt)}
.faq-mais{flex:none;position:relative;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--tinta);transition:background .2s}
.faq-mais::before,.faq-mais::after{content:"";position:absolute;left:50%;top:50%;width:10px;height:1.5px;background:var(--tinta);transform:translate(-50%,-50%);transition:transform .25s var(--suave),background .2s}
.faq-mais::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq details[open] .faq-mais{background:var(--marinho);border-color:var(--marinho)}
.faq details[open] .faq-mais::before{background:var(--papel)}
.faq details[open] .faq-mais::after{transform:translate(-50%,-50%) rotate(0);background:var(--papel)}
.faq details p{padding:0 48px 22px 0;color:var(--aco);max-width:68ch}
@media (max-width:900px){.faq-grade{grid-template-columns:1fr}}

/* ---- Faixa de conversão ---- */
.faixa{background:var(--marinho);color:var(--papel);padding-block:clamp(44px,6vw,80px)}
.faixa-grade{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px 60px}
.faixa .t3{font-weight:600;font-size:clamp(1.4rem,2.6vw,2.2rem)}
.faixa p{margin-top:8px;opacity:.8;max-width:52ch}
.faixa-acoes{display:flex;flex-wrap:wrap;gap:10px}

/* ---- Cartões de case ---- */
.grade-cases{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,2.4vw,36px) clamp(14px,1.6vw,24px);margin-top:clamp(24px,3.4vw,48px)}
.grade-cases-g{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:0}
.grade-cases+p{margin-top:32px}
.cartao-case{display:grid;gap:14px;text-decoration:none}
.cartao-case-img{display:block;aspect-ratio:16/10;overflow:hidden;border-radius:6px;background:var(--nevoa)}
.sec-nevoa .cartao-case-img{background:var(--papel)}
.cartao-case-img img{width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .7s var(--suave)}
.cartao-case:hover img{transform:scale(1.035)}
.cartao-case-txt{display:grid;gap:2px}
.cartao-case-txt strong{font:600 clamp(1.1rem,1.6vw,1.45rem)/1.2 var(--tit);letter-spacing:-.035em}
.cartao-case-txt span{color:var(--aco)}
[data-cases]>div[hidden]{display:none}
@media (max-width:760px){.grade-cases,.grade-cases-g{grid-template-columns:1fr}}

/* ---- Capas das páginas internas ---- */
.capa{padding-block:clamp(40px,6vw,90px) clamp(40px,5vw,72px)}
.capa .t1{max-width:20ch}
.capa .lead{margin-top:clamp(16px,2vw,26px);max-width:56ch}
.capa-rotulo{display:flex;align-items:center;gap:10px;font-weight:600;margin-bottom:18px}
.capa-rotulo::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--marinho)}
.capa-acoes{display:flex;flex-wrap:wrap;gap:12px;margin-top:clamp(24px,3vw,38px)}
.capa-grade{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:clamp(30px,5vw,80px);align-items:center}
.capa-img{aspect-ratio:1;border-radius:50%;overflow:hidden;background:var(--nevoa);max-width:440px;justify-self:end;width:100%}
.capa-img img{width:100%;height:100%;object-fit:cover}
.capa-escura{background:var(--marinho);color:var(--papel);padding-block:clamp(56px,8vw,120px)}
.capa-escura .lead{color:rgba(250,249,245,.82)}
.capa-escura .capa-rotulo::before{background:var(--sinal)}
.capa-escura .t1{max-width:22ch}
.capa-cheia{min-height:calc(100svh - var(--topo));display:flex;align-items:center}
.topo-sobre .capa-cheia{min-height:100svh;padding-top:calc(var(--topo) + 40px)}
.capa-cheia p+p{margin-top:28px}
.migalhas+.capa,.migalhas+article>.capa:first-child{padding-top:clamp(28px,4vw,56px)}
.migalhas+article>.capa-escura:first-child{margin-top:22px;padding-top:clamp(56px,8vw,120px)}
@media (max-width:900px){.capa-grade{grid-template-columns:1fr}.capa-img{max-width:260px;justify-self:start}}

/* ---- Texto longo ---- */
.texto-grade{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:clamp(30px,6vw,110px);align-items:start}
.texto{max-width:68ch}
.texto>*+*{margin-top:1.15em}
.texto>h2{margin-top:1.8em}.texto>h2:first-child{margin-top:0}
.texto p{font-size:1.125rem;line-height:1.65}
.texto a:not(.btn){font-weight:600}
.texto-so{margin-inline:auto 0;margin-left:max(var(--borda),calc((100vw - 1320px)/2 + var(--borda)));padding:0}
.definicao{font-size:clamp(1.2rem,1.8vw,1.5rem)!important;line-height:1.5!important}
.nota{color:var(--aco);font-size:.9375rem!important}
.incluso{position:sticky;top:calc(var(--topo) + 24px);display:grid;gap:16px;padding-top:20px;border-top:1.5px solid var(--tinta)}
.incluso .t4+ul{margin-bottom:10px}
.lista-pontos{display:grid;gap:10px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.chips-col{margin-top:0}
.chips a{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border:1px solid var(--linha);border-radius:999px;text-decoration:none;font-weight:500;background:var(--papel);transition:background .2s,color .2s,border-color .2s}
.chips a:hover{background:var(--marinho);color:var(--papel);border-color:var(--marinho)}
.ficha{display:grid}
.ficha div{display:grid;grid-template-columns:100px 1fr;gap:12px;padding-block:12px;border-bottom:1px solid var(--linha)}
.ficha dt{color:var(--aco)}.ficha dd{font-weight:500}
.numeros{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:20px;padding-block:8px}
.numeros dt{font:600 clamp(2rem,4vw,3.2rem)/1 var(--tit);letter-spacing:-.04em;color:var(--marinho)}
.numeros dd{color:var(--aco);margin-top:6px}
@media (max-width:900px){.texto-grade{grid-template-columns:1fr}.incluso{position:static}}

/* ---- Serviços (lista) ---- */
.grade-servicos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(28px,3.4vw,52px) clamp(16px,2vw,32px)}
.cartao-serv{display:grid;grid-template-columns:72px 1fr;gap:6px 18px;align-content:start;text-decoration:none;padding-top:20px;border-top:1.5px solid var(--tinta)}
.cartao-serv-img{grid-row:1/4;width:72px;height:72px;border-radius:50%;overflow:hidden;background:var(--nevoa)}
.cartao-serv-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s var(--suave)}
.cartao-serv:hover img{transform:scale(1.12)}
.cartao-serv h2{font:600 clamp(1.15rem,1.5vw,1.35rem)/1.2 var(--tit);letter-spacing:-.035em}
.cartao-serv p{color:var(--aco)}
.cartao-serv .link{margin-top:6px;font-size:.9375rem}
@media (max-width:1000px){.grade-servicos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.grade-servicos{grid-template-columns:1fr}}

/* ---- Cases (lista e página) ---- */
.filtros{display:flex;flex-wrap:wrap;gap:8px;margin-top:clamp(24px,3vw,36px)}
.filtros button{min-height:42px;padding:0 18px;border:1px solid var(--linha);border-radius:999px;font-weight:500;transition:background .2s,color .2s}
.filtros button:hover{border-color:var(--tinta)}
.filtros button.on{background:var(--marinho);color:var(--papel);border-color:var(--marinho)}
.case-capa{border-radius:8px;overflow:hidden;background:var(--nevoa)}
.case-capa img{width:100%}
.case-galeria{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:clamp(14px,1.6vw,24px);align-items:start}
.case-galeria figure{border-radius:8px;overflow:hidden;background:var(--nevoa)}
.case-galeria img,.case-galeria video{width:100%}
.case-video{max-width:380px}
.case-video figcaption{padding:10px 14px;font-size:.875rem;color:var(--aco)}
.proximo{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:10px 40px;padding-top:28px}
.proximo::before{content:"";position:absolute;top:0;left:var(--borda);right:var(--borda);height:1.5px;background:var(--tinta)}
.proximo span{color:var(--aco)}
.proximo a{display:inline-flex;align-items:center;gap:16px;text-decoration:none}
.proximo .seta{width:36px;height:36px}

/* ---- Blog ---- */
.filtros a{display:inline-flex;align-items:center;min-height:42px;padding:0 18px;border:1px solid var(--linha);border-radius:999px;font-weight:500;text-decoration:none;transition:background .2s,color .2s}
.filtros a:hover{border-color:var(--tinta)}
.filtros a.on{background:var(--marinho);color:var(--papel);border-color:var(--marinho)}
.grade-artigos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.grade-artigos+p{margin-top:32px}
h2+.grade-artigos{margin-top:clamp(24px,3.4vw,44px)}
.cartao-artigo{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:12px;padding:clamp(20px,2.2vw,30px);background:var(--nevoa);border-radius:6px;text-decoration:none;transition:background .3s,color .3s}
.sec-nevoa .cartao-artigo{background:var(--papel)}
.cartao-artigo .risco-cartao{right:-18px;bottom:-34px;height:150px;color:var(--marinho);opacity:.16;transition:opacity .3s,color .3s}
.cartao-artigo .risco-cartao .risco-linha{transition-duration:1.1s}
.cartao-artigo:hover .risco-cartao{color:var(--sinal);opacity:.9}
.cartao-artigo>:not(.risco){position:relative}
.cartao-artigo-cat{display:flex;align-items:center;gap:8px;font-size:.875rem;font-weight:600}
.cartao-artigo-cat::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--marinho);transition:background .3s}
.cartao-artigo strong{font:600 clamp(1.15rem,1.5vw,1.35rem)/1.25 var(--txt);letter-spacing:-.015em}
.cartao-artigo-res{color:var(--aco);font-size:.9375rem;transition:color .3s}
.cartao-artigo .link{margin-top:auto;font-size:.9375rem}
.cartao-artigo:hover{background:var(--marinho);color:var(--papel)}
.cartao-artigo:hover .cartao-artigo-res{color:rgba(250,249,245,.78)}
.cartao-artigo:hover .cartao-artigo-cat::before{background:var(--sinal)}
.cartao-artigo:hover .link{color:var(--papel)}
.artigo-capa{padding-bottom:clamp(20px,3vw,36px)}
.artigo-capa .t1{max-width:24ch;font-size:clamp(1.9rem,3.9vw,3.4rem)}
.artigo-meta{margin-top:18px;color:var(--aco);font-size:.9375rem}
.artigo-grade{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(30px,6vw,96px);align-items:start;padding-bottom:var(--sec)}
.artigo-corpo{max-width:720px}
.artigo-resumo{font-size:clamp(1.2rem,1.7vw,1.4rem);line-height:1.5;padding-left:20px;border-left:3px solid var(--marinho)}
.artigo-atalho{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:24px}
.artigo-sumario{margin-top:32px;padding:20px 24px;background:var(--nevoa);border-radius:6px}
.artigo-sumario h2{font:600 1rem/1.3 var(--txt);color:var(--aco);margin-bottom:10px}
.artigo-sumario ol{display:grid;gap:6px;counter-reset:s}
.artigo-sumario li{counter-increment:s;display:grid;grid-template-columns:26px 1fr}
.artigo-sumario li::before{content:counter(s);color:var(--aco);font-weight:600}
.artigo-sumario a{text-decoration:none;font-weight:500}
.artigo-sumario a:hover{text-decoration:underline;text-underline-offset:4px}
.prosa{margin-top:36px;font-size:1.125rem;line-height:1.7}
.prosa>*+*{margin-top:1.1em}
.prosa h2{font:600 clamp(1.45rem,2.3vw,1.9rem)/1.2 var(--tit);letter-spacing:-.03em;margin-top:2em;scroll-margin-top:calc(var(--topo) + 20px);text-wrap:balance}
.prosa h3{font:600 1.25rem/1.3 var(--txt);margin-top:1.6em}
.prosa a{font-weight:600;text-decoration-thickness:1.5px;text-underline-offset:4px}
.prosa a:hover{color:var(--marinho-2)}
.prosa ul,.prosa ol{display:grid;gap:.5em;padding-left:0}
.prosa ul li{position:relative;padding-left:26px}
.prosa ul li::before{content:"";position:absolute;left:4px;top:.68em;width:8px;height:8px;border-radius:50%;background:var(--marinho)}
.prosa ol{counter-reset:p}
.prosa ol li{counter-increment:p;position:relative;padding-left:38px}
.prosa ol li::before{content:counter(p);position:absolute;left:0;top:.2em;width:26px;height:26px;border-radius:50%;background:var(--marinho);color:var(--papel);font:600 .8125rem/26px var(--txt);text-align:center}
.prosa blockquote{margin-inline:0;padding:18px 22px;background:var(--nevoa);border-left:3px solid var(--marinho);border-radius:0 6px 6px 0;font-weight:500}
.tabela{overflow-x:auto;border:1px solid var(--linha);border-radius:6px}
.tabela table{width:100%;border-collapse:collapse;font-size:1rem;line-height:1.45;min-width:520px}
.tabela th,.tabela td{padding:12px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--linha)}
.tabela thead th{background:var(--marinho);color:var(--papel);font-weight:600;border-bottom:0}
.tabela tbody th{font-weight:600}
.tabela tbody tr:last-child>*{border-bottom:0}
.artigo-cta{display:grid;gap:18px;margin-block:2.2em;padding:clamp(22px,2.6vw,34px);background:var(--marinho);color:var(--papel);border-radius:8px;font-size:1rem;line-height:1.5}
.artigo-cta strong{display:block;font:600 clamp(1.2rem,1.8vw,1.5rem)/1.2 var(--tit);letter-spacing:-.03em;margin-bottom:8px}
.artigo-cta p{opacity:.85}
.artigo-cta-acoes{display:flex;flex-wrap:wrap;gap:10px}
.prosa .artigo-cta a{font-weight:600}.prosa .artigo-cta a:hover{color:var(--marinho)}
.prosa .artigo-cta .btn-fio-claro:hover{color:var(--papel)}
.artigo-lado{position:sticky;top:calc(var(--topo) + 24px)}
.artigo-lado-caixa{display:grid;gap:12px;padding:24px;border:1.5px solid var(--tinta);border-radius:8px}
.artigo-lado-caixa strong{font:600 1.2rem/1.2 var(--tit);letter-spacing:-.03em}
.artigo-lado-caixa p{color:var(--aco);font-size:.9375rem}
.artigo-lado-caixa .link{justify-self:center;font-size:.9375rem}
@media (max-width:1000px){.grade-artigos{grid-template-columns:repeat(2,minmax(0,1fr))}.artigo-grade{grid-template-columns:minmax(0,1fr)}.artigo-lado{display:none}}
@media (max-width:640px){.grade-artigos{grid-template-columns:1fr}.prosa{font-size:1.0625rem}}

/* ---- Segmentos ---- */
.dores{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 clamp(24px,4vw,70px);margin-top:clamp(24px,3.4vw,48px);border-top:1.5px solid var(--tinta)}
.dores li{padding:24px 0 24px 30px;border-bottom:1px solid var(--linha);position:relative}
.dores li::before{content:"";position:absolute;left:2px;top:33px;width:12px;height:12px;border-radius:50%;border:1.5px solid var(--tinta)}
.dores h3{font:600 clamp(1.1rem,1.5vw,1.3rem)/1.3 var(--txt)}
.dores p{color:var(--aco);margin-top:6px}
.frentes{margin:clamp(24px,3.4vw,48px) 0 clamp(28px,4vw,48px);position:relative;display:grid}
.frentes::before{content:"";position:absolute;left:8px;top:14px;bottom:14px;width:2px;background:var(--marinho)}
.frentes li{position:relative;display:grid;grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr);gap:6px 40px;padding:20px 0 20px 48px}
.frentes li::before{content:"";position:absolute;left:0;top:26px;width:18px;height:18px;border-radius:50%;background:var(--marinho);box-shadow:0 0 0 5px var(--papel)}
.frentes li:last-child::before{background:var(--sinal);box-shadow:0 0 0 5px var(--papel),0 0 0 6.5px var(--marinho)}
.frentes h3{font:600 clamp(1.15rem,1.6vw,1.4rem)/1.25 var(--txt);letter-spacing:-.01em}
.frentes p{color:var(--aco);font-size:1.0625rem}
@media (max-width:760px){.dores{grid-template-columns:1fr}.frentes li{grid-template-columns:1fr}}

/* ---- Contato ---- */
.canais{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,1.6vw,24px);margin-top:clamp(28px,4vw,52px)}
.canal{display:flex;flex-direction:column;gap:10px;padding:clamp(20px,2.2vw,32px);background:var(--nevoa);border-radius:6px;text-decoration:none;transition:background .3s,color .3s}
.canal h2{font:600 clamp(1.15rem,1.6vw,1.4rem)/1.2 var(--tit);letter-spacing:-.035em}
.canal p{color:var(--aco);transition:color .3s}
.canal .link{margin-top:auto;padding-top:10px}
.canal:hover{background:var(--marinho);color:var(--papel)}
.canal:hover p{color:rgba(250,249,245,.78)}
.canal:hover .link{color:var(--papel)}
@media (max-width:760px){.canais{grid-template-columns:1fr}}

/* ---- Rodapé ---- */
.rodape{background:var(--tinta);color:var(--papel);padding-bottom:calc(28px + env(safe-area-inset-bottom))}
.rodape{overflow:hidden}
.rodape-chamada{position:relative;overflow:hidden;padding-block:clamp(64px,9vw,140px) clamp(48px,6vw,90px)}
.rodape-chamada .risco-rodape{right:clamp(-60px,2vw,60px);top:-12%;height:150%;color:var(--sinal);opacity:.9}
.rodape-chamada .risco-rodape .risco-ponto{fill:var(--papel)}
.rodape-chamada>:not(.risco){position:relative}
@media (max-width:900px){.rodape-chamada .risco-rodape{right:-34%;opacity:.4}}
.rodape-frase{display:flex;align-items:center;gap:12px;margin-bottom:22px;opacity:.75}
.rodape-frase::before{content:"";width:12px;height:12px;border-radius:50%;background:var(--sinal)}
.rodape-chamada .t1{max-width:18ch;font-size:clamp(2.1rem,5.6vw,5rem)}
.rodape-acoes{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:clamp(28px,3.6vw,48px)}
.rodape-grade,.rodape-fim{position:relative}
.rodape-grade::before,.rodape-fim::before{content:"";position:absolute;top:0;left:var(--borda);right:var(--borda);height:1px;background:var(--linha-clara)}
.rodape-grade{display:grid;grid-template-columns:1.5fr 1fr 1fr .8fr;gap:clamp(28px,4vw,60px);padding-block:clamp(40px,5vw,72px)}
.rodape-marca .logo{height:34px}
.rodape-marca p{margin:18px 0;max-width:34ch;opacity:.75}
.rodape address{font-style:normal;line-height:2}
.rodape a{text-decoration:none}
.rodape a:hover{text-decoration:underline;text-underline-offset:4px}
.rodape .btn:hover{text-decoration:none}
.rodape nav h2{font:600 .9375rem/1.3 var(--txt);opacity:.6;margin-bottom:12px}
.rodape nav ul+h2{margin-top:28px}
.rodape nav a{display:inline-flex;align-items:center;min-height:38px}
.rodape-fim{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px 30px;padding-top:22px;font-size:.875rem;color:rgba(250,249,245,.65)}
@media (max-width:900px){.rodape-grade{grid-template-columns:1fr 1fr}.rodape-marca{grid-column:1/-1}}
@media (max-width:760px){.rodape{padding-bottom:calc(96px + env(safe-area-inset-bottom))}}

/* ---- Atalho de preferências de privacidade (o aviso em si é estilizado por assets/js/medicao.js) ---- */
.link-prefs{color:inherit;font:inherit;text-decoration:underline;text-underline-offset:4px;min-height:32px}
.link-prefs:hover{text-decoration-thickness:2px}
.link-prefs-texto{font-weight:600}

/* ---- Pontos de conversão fixos ---- */
.wa-flutuante{position:fixed;right:22px;bottom:22px;z-index:90;display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:999px;background:var(--marinho);color:var(--papel);text-decoration:none;font-weight:600;box-shadow:0 0 0 1.5px var(--papel);transform:translateY(120px);transition:transform .5s var(--suave),background .2s}
.wa-flutuante.on{transform:none}
.wa-flutuante svg{width:26px;height:26px}
.wa-flutuante span{position:absolute;right:calc(100% + 10px);white-space:nowrap;background:var(--tinta);color:var(--papel);padding:8px 14px;border-radius:999px;font-size:.9375rem;opacity:0;transform:translateX(6px);pointer-events:none;transition:opacity .2s,transform .2s}
.wa-flutuante:hover span,.wa-flutuante:focus-visible span{opacity:1;transform:none}
.wa-flutuante:hover{background:var(--tinta)}
.barra-movel{display:none}
@media (max-width:760px){
  .wa-flutuante{display:none}
  .barra-movel{position:fixed;left:0;right:0;bottom:0;z-index:90;display:flex;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(250,249,245,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--linha);transform:translateY(110%);transition:transform .4s var(--suave)}
  .barra-movel.on{transform:none}
  .barra-movel .btn-p{flex:1}
  .btn-wa{width:52px;padding:0;border-color:var(--tinta)}
}

/* ---- O fio: navegação lateral da home ---- */
.fio{display:none}
@media (min-width:1600px){
  .fio{position:fixed;left:22px;top:50%;z-index:80;transform:translateY(-50%);display:grid;gap:22px;mix-blend-mode:difference}
  .fio::before{content:"";position:absolute;left:4px;top:6px;bottom:6px;width:1.5px;background:#fff;opacity:.35}
  .fio a{position:relative;display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;font-size:.8125rem;font-weight:600}
  .fio a::before{content:"";flex:none;width:10px;height:10px;border-radius:50%;background:#000;border:1.5px solid #fff;transition:background .25s,transform .25s var(--suave)}
  .fio a span{pointer-events:none;opacity:0;transform:translateX(-6px);transition:opacity .2s,transform .2s}
  .fio a:hover span,.fio a:focus-visible span{opacity:1;transform:none}
  .fio a.on::before{background:#fff;transform:scale(1.35)}
}

/* ---- Entrada da página: um único momento orquestrado, no herói ---- */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .clientes-faixa ul{animation:none;flex-wrap:wrap;width:auto}
  .parede-trilho,.tela-janela img,.peca-rola img{animation:none}
  .simbolo-contorno path{stroke-dashoffset:0}
  .manifesto-frase .pal{opacity:1}
}
@media print{.topo,.barra-movel,.wa-flutuante,.fio{display:none}}
