:root{--p:#d71920;--p2:#a8121a;--esc:#141414;--fundo:#f4f2ee;--card:#fff;--txt:#141414;--suave:#5c5852;--linha:#d9d6cf;--r:22px;--ft:'Space Grotesk',system-ui,sans-serif;--fx:'Inter',system-ui,sans-serif;--max:1240px;--p:#8a6a2b;--p2:#6f531f;--p3:#e2c07e;--esc:#0e1a2d;--fundo:#f6f3ec;--card:#fffdf8;--txt:#14202f;--suave:#556070;--linha:#e0d8c8}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:84px}body{font-family:var(--fx);color:var(--txt);background:var(--fundo);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}.w{max-width:var(--max);margin:0 auto;padding:0 32px}h1,h2,h3{font-family:var(--ft);letter-spacing:-.035em;line-height:1;font-weight:700}h2{font-size:clamp(2.3rem,4.6vw,4rem)}h3{font-size:1.35rem;letter-spacing:-.02em}h1 em,h2 em,.marca em{font-style:normal;color:var(--p)}.tag{display:inline-block;font:600 .78rem var(--fx);letter-spacing:.2em;text-transform:uppercase;color:var(--p);margin-bottom:16px}.sec{padding:120px 0}.cab{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap;margin-bottom:52px}.cab>div{max-width:720px}.cab p{color:var(--suave);font-size:1.05rem;max-width:420px}.btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 26px;border-radius:999px;font-weight:600;font-size:.98rem;transition:transform .25s,background .25s,color .25s,border-color .25s;border:1px solid transparent;cursor:pointer;white-space:nowrap}.btn svg{width:20px;height:20px;flex:none}.btn:hover{transform:translateY(-2px)}.btn-p{background:var(--p);color:#fff}.btn-p:hover{background:var(--p2)}.btn-e{background:var(--txt);color:var(--fundo)}.btn-o{border-color:var(--txt);color:var(--txt)}.btn-o:hover{background:var(--txt);color:var(--fundo)}/* faixa demo */.demo{background:#ffe600;color:#111;font:600 .82rem var(--fx);text-align:center;padding:8px 14px;position:relative;z-index:60}.demo a{text-decoration:underline}/* topo */.topo{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--fundo) 97%,transparent);transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .3s;border-bottom:1px solid transparent}.topo.rolou{border-color:var(--linha)}.topo .w{display:flex;align-items:center;justify-content:space-between;height:76px;gap:24px}.marca{display:flex;align-items:center;gap:10px;font-family:var(--ft);font-weight:700;font-size:1.4rem;letter-spacing:-.03em;line-height:1}.marca img{height:42px;width:auto;border-radius:10px}.marca small{display:block;font:500 .66rem var(--fx);letter-spacing:.16em;text-transform:uppercase;color:var(--suave);margin-top:4px}.menu{display:flex;gap:32px;font-size:.93rem;color:var(--suave)}.menu a:hover{color:var(--txt)}.topo .btn{min-height:44px;padding:0 20px;font-size:.9rem}.hamb{display:none;background:none;border:0;cursor:pointer;width:44px;height:44px;place-items:center}.hamb svg{width:28px;height:28px}/* hero *//* "hero": {"escuro": true} = topo com fundo escuro da marca (--esc); as cores do topo (cartões, traços, textos)são redefinidas aqui, então a ilustração do kit se adapta sozinha *//* "escuras": ["galeria", "faq"...] faz o mesmo em qualquer seção (classe fundo-esc) */.hero-esc,.fundo-esc{--p:var(--p3,#9db4ff);--card:color-mix(in srgb,var(--esc) 82%,#fff);--fundo:var(--esc);--txt:#f4f3fa;--suave:color-mix(in srgb,#fff 70%,var(--esc));--linha:rgba(255,255,255,.14);color:var(--txt)}.hero-esc{background:radial-gradient(900px 560px at 82% 12%,color-mix(in srgb,var(--p3,var(--p)) 22%,transparent),transparent 70%),var(--esc)}.fundo-esc{background:radial-gradient(700px 420px at 100% 0%,color-mix(in srgb,var(--p3,var(--p)) 12%,transparent),transparent 70%),var(--esc)}.hero-esc h1 em,.hero-esc .pre,.fundo-esc h2 em{color:color-mix(in srgb,var(--p3,var(--p)) 75%,#fff)}.hero-esc .btn-p,.fundo-esc .btn-p{background:#fff;color:var(--esc)}.hero-esc .btn-p:hover,.fundo-esc .btn-p:hover{background:var(--p3,#fff);color:var(--esc)}.hero-esc .selos svg{color:var(--p3,#fff)}.fundo-esc .dif,.fundo-esc .area{background:var(--card)}.fundo-esc .dif:hover{background:color-mix(in srgb,var(--card) 85%,#fff)}.fundo-esc .difs{background:var(--linha)}.fundo-esc .mapa iframe{filter:invert(.9) hue-rotate(180deg) brightness(.95) contrast(.9)}.hero .w{display:grid;grid-template-columns:1.05fr 1fr;gap:56px;align-items:center;min-height:calc(100vh - 110px);padding-top:40px;padding-bottom:64px}.pre{font-size:.8rem;letter-spacing:.2em;text-transform:uppercase;color:var(--p);font-weight:600;margin-bottom:22px}.hero h1{font-size:clamp(2.8rem,6.2vw,5.6rem);line-height:.96}.hero .sub{font-size:1.12rem;color:var(--suave);margin:26px 0 32px;max-width:520px}.hero .acoes{display:flex;gap:12px;flex-wrap:wrap}.selo{display:inline-flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--linha);padding:7px 16px 7px 12px;border-radius:999px;font-size:.88rem;margin-bottom:24px}.selo .est{color:#e0a100;letter-spacing:1px}.hlista{margin-top:44px;max-width:520px;list-style:none}.hlista li{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-top:1px solid var(--linha);font-size:.95rem}.hlista li span{color:#8a857c;font-size:.8rem}.mosaico{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1.3fr 1fr;gap:16px;height:min(720px,80vh)}.mosaico .ph:first-child{grid-row:span 2}.ph{border-radius:var(--r);overflow:hidden;background:var(--card)}.ph img{width:100%;height:100%;object-fit:cover;transition:transform .9s cubic-bezier(.2,.7,.2,1)}.ph:hover img{transform:scale(1.05)}/* entrada do topo em sequência */.up{opacity:0;animation:up .9s cubic-bezier(.2,.7,.2,1) forwards}.u2{animation-delay:.12s}.u3{animation-delay:.24s}.u4{animation-delay:.36s}@keyframes up{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}/* números */.nums{border-block:1px solid var(--linha)}.nums .w{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:24px;padding-top:40px;padding-bottom:40px}.nums strong{display:block;font:700 clamp(2.2rem,4vw,3.2rem) var(--ft);letter-spacing:-.04em;line-height:1}.nums span{font-size:.88rem;color:var(--suave)}/* serviços */.servs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.servs.tres{grid-template-columns:repeat(3,minmax(0,1fr))}.serv{background:var(--card);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .35s,box-shadow .35s}.serv:hover{transform:translateY(-4px);box-shadow:0 28px 50px -30px rgba(0,0,0,.35)}.serv .ph{border-radius:0;aspect-ratio:4/3}.serv .tx{padding:20px 22px 26px}.serv .n{font:600 .75rem var(--fx);letter-spacing:.16em;color:var(--p)}.serv h3{margin:8px 0 8px}.serv p{font-size:.93rem;color:var(--suave)}/* passos */.passos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.passo{border:1px solid var(--linha);border-radius:var(--r);padding:32px;transition:border-color .3s,background .3s}.passo:hover{border-color:var(--p);background:var(--card)}.passo .n{font:700 3.6rem var(--ft);line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--p);letter-spacing:-.04em}.passo h3{margin:20px 0 8px}.passo p{color:var(--suave);font-size:.95rem}/* diferenciais */.sec-esc{background:var(--esc);color:#f2f1ed}.sec-esc .cab p{color:#a9a59d}.difs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:rgba(255,255,255,.1);border-radius:var(--r);overflow:hidden}.dif{padding:36px;background:var(--esc);transition:background .3s}.dif:hover{background:#1c1c1c}.dif .ic{width:48px;height:48px;border-radius:14px;border:1px solid rgba(255,255,255,.16);display:grid;place-items:center;margin-bottom:22px}.dif .ic svg{width:24px;height:24px;color:var(--p)}.dif h3{margin-bottom:8px}.dif p{color:#a9a59d;font-size:.95rem}/* galeria */.gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:240px;grid-auto-flow:dense;gap:16px}.gal button{display:block;width:100%;height:100%;border:0;padding:0;cursor:zoom-in}.gal button:nth-child(7n+1),.gal button:nth-child(7n+5){grid-row:span 2}.lb{position:fixed;inset:0;background:rgba(10,10,10,.94);display:none;align-items:center;justify-content:center;z-index:100;padding:20px}.lb.on{display:flex}.lb img{max-height:88vh;max-width:92vw;border-radius:12px}.lb button{position:absolute;background:rgba(255,255,255,.12);color:#fff;border:0;width:52px;height:52px;border-radius:50%;font-size:1.6rem;cursor:pointer}.lb .x{top:20px;right:20px}.lb .ant{left:20px}.lb .prox{right:20px}/* sobre */.sobre{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}.sobre .fotos{position:relative}.sobre .fotos .ph{aspect-ratio:4/5}.sobre .ano{position:absolute;left:24px;bottom:24px;background:var(--p);color:#fff;padding:18px 22px;border-radius:18px;line-height:1}.sobre .ano strong{display:block;font:700 3rem var(--ft);letter-spacing:-.04em}.sobre .ano span{font-size:.75rem;letter-spacing:.16em;text-transform:uppercase}.sobre p{color:var(--suave);margin-bottom:16px;font-size:1.05rem}.chips{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 36px;list-style:none}.chips li{border:1px solid var(--linha);border-radius:999px;padding:9px 16px;font-size:.9rem;background:var(--card)}/* avaliações */.aval-top{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:center}.destaque{font:700 clamp(1.8rem,3vw,2.6rem) var(--ft);letter-spacing:-.03em;line-height:1.12}.destaque+p{margin-top:20px;color:var(--suave)}.avals{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:12px;scrollbar-width:thin}.aval{flex:0 0 min(340px,85%);scroll-snap-align:start;background:var(--card);border-radius:var(--r);padding:28px;display:flex;flex-direction:column}.aval .est{color:#e0a100;letter-spacing:2px}.aval p{margin:12px 0 18px;font-size:.95rem;flex:1;color:var(--txt);opacity:.85}.aval .quem{font-weight:600;font-size:.92rem}.aval small{display:block;color:#8a857c;font-weight:400}.gnota{display:flex;align-items:center;gap:14px;margin-top:28px}.gnota strong{font:700 2.6rem var(--ft);letter-spacing:-.04em;line-height:1}.gnota .est{color:#e0a100}/* faq */.faq{max-width:880px}.faq details{border-top:1px solid var(--linha);padding:22px 0}.faq details:last-child{border-bottom:1px solid var(--linha)}.faq summary{cursor:pointer;font:600 1.12rem var(--ft);letter-spacing:-.01em;list-style:none;display:flex;justify-content:space-between;gap:20px}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";color:var(--p);font-size:1.6rem;line-height:1;transition:transform .25s}.faq details[open] summary::after{transform:rotate(45deg)}.faq p{margin-top:12px;color:var(--suave)}/* cta */.cta{background:var(--esc);color:#fff;border-radius:32px;padding:80px 64px;display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;position:relative;overflow:hidden}.cta::before{content:"";position:absolute;width:520px;height:520px;right:-160px;top:-220px;border-radius:50%;border:90px solid var(--p);opacity:.9}.cta>*{position:relative}.cta h2{font-size:clamp(2.2rem,4.4vw,3.6rem);max-width:680px}.cta h2 em{color:var(--p)}.cta p{color:#bdb9b1;margin-top:12px;max-width:520px}.cta .btn{background:#fff;color:var(--esc)}/* contato */.contato{display:grid;grid-template-columns:1fr 1.15fr;gap:24px}.info{display:flex;flex-direction:column;gap:16px}.box{background:var(--card);border-radius:var(--r);padding:26px 28px}.box h4{font:600 .75rem var(--fx);letter-spacing:.18em;text-transform:uppercase;color:var(--p);margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}.box a{font-weight:600}.horas{list-style:none;font-size:.93rem}.horas li{display:flex;justify-content:space-between;gap:16px;padding:6px 0;border-bottom:1px dashed var(--linha);color:var(--suave)}.horas li:last-child{border:0}.horas li.hoje{color:var(--txt);font-weight:600}.aberto{font:600 .72rem var(--fx);letter-spacing:0;text-transform:none;padding:4px 10px;border-radius:99px;background:#1e7d32;color:#fff}.aberto.fech{background:#77736b}.aberto:empty{display:none}.mapa{border-radius:var(--r);overflow:hidden;min-height:460px;background:var(--card)}.mapa iframe{width:100%;height:100%;min-height:460px;border:0}/* rodapé */.rod{border-top:1px solid var(--linha);color:var(--suave);padding:32px 0 110px;font-size:.9rem}.rod .w{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap}.rod a:hover{color:var(--txt)}.zap{position:fixed;right:22px;bottom:22px;z-index:70;width:60px;height:60px;border-radius:50%;background:#25d366;display:grid;place-items:center;box-shadow:0 14px 34px -10px rgba(0,0,0,.45);animation:pulso 2.6s infinite}.zap svg{width:32px;height:32px;color:#fff}@keyframes pulso{0%{box-shadow:0 0 0 0 rgba(37,211,102,.5)}70%{box-shadow:0 0 0 16px rgba(37,211,102,0)}100%{box-shadow:0 0 0 0 rgba(37,211,102,0)}}/* aparecer ao rolar */.rv{opacity:0;transition:opacity .9s cubic-bezier(.2,.7,.2,1)}.rv.vis,.rv.vis .aval{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.rv,.up{opacity:1;transform:none;animation:none}.zap{animation:none}html{scroll-behavior:auto}.ph img{transition:none}}@media (max-width:1000px){.servs,.servs.tres{grid-template-columns:repeat(2,minmax(0,1fr))}.difs,.passos{grid-template-columns:minmax(0,1fr)}.hero .w,.sobre,.contato,.aval-top{grid-template-columns:minmax(0,1fr)}.hero .w{min-height:auto}.mosaico{height:520px}.gal{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:760px){.w{padding:0 18px}.menu{display:none;position:absolute;top:76px;left:0;right:0;flex-direction:column;background:var(--fundo);padding:20px 18px 28px;gap:18px;border-bottom:1px solid var(--linha);font-size:1.05rem}.menu.on{display:flex}.hamb{display:grid}.topo .btn{display:none}.sec{padding:80px 0}.servs,.servs.tres{grid-template-columns:minmax(0,1fr)}.mosaico{height:380px;gap:10px}.hlista{display:none}.cta{padding:48px 26px}.gal{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:170px;gap:10px}}/* ===== tema escuro (conteudo.json: "tema": "escuro") ===== */.tema-escuro{--fundo:#0c0c0c;--card:#171717;--txt:#f2f1ed;--suave:#a6a29a;--linha:rgba(255,255,255,.12);--esc:#141414;color-scheme:dark}.tema-escuro .sec-esc{background:#151515;border-block:1px solid var(--linha)}.tema-escuro .dif{background:#151515}.tema-escuro .dif:hover{background:#1c1c1c}.tema-escuro .cta{background:var(--p)}.tema-escuro .cta::before{border-color:rgba(255,255,255,.12)}.tema-escuro .cta h2 em{color:#111}.tema-escuro .cta p{color:rgba(255,255,255,.85)}.tema-escuro .selo,.tema-escuro .chips li{background:var(--card)}.tema-escuro .hero{background:radial-gradient(900px 500px at 85% 10%,color-mix(in srgb,var(--p) 22%,transparent),transparent 70%)}.tema-escuro .mapa iframe{filter:invert(.9) hue-rotate(180deg) brightness(.95) contrast(.9)}/* ===== efeitos de rolagem ===== */.topo{transition:transform .45s cubic-bezier(.2,.7,.2,1),border-color .3s}.topo.some{transform:translateY(-100%)}.prog{position:fixed;top:0;left:0;height:3px;width:100%;background:var(--p);transform-origin:0 50%;transform:scaleX(0);z-index:80;pointer-events:none}/* faixa de serviços: anda sozinha (veja .auto); só acompanha a rolagem com "auto": false */.faixa{overflow:hidden;white-space:nowrap;border-block:1px solid var(--linha);padding:26px 0}.faixa .trilho{display:inline-flex;gap:56px}/* texto vazado: contorno pintado antes e preenchimento (cor do fundo) por cima, assim as linhas internasdas fontes variáveis (contornos sobrepostos) ficam escondidas; o traço tem o dobro porque metade fica coberta */.faixa span{font:700 clamp(1.8rem,4vw,3.2rem) var(--ft);letter-spacing:-.04em;color:var(--fundo);-webkit-text-stroke:2px var(--suave);paint-order:stroke fill}.faixa span:nth-child(odd){color:var(--txt);-webkit-text-stroke:0}.faixa i{font-style:normal;color:var(--p);-webkit-text-stroke:0}/* faixa automática: 3 cópias do trilho, anda 1 cópia (+ 1/3 do gap) e recomeça sem emenda */.faixa.auto .trilho{animation:faixa-anda var(--dur,40s) linear infinite}@keyframes faixa-anda{to{transform:translateX(calc(-33.3333% - 18.67px))}}@media (prefers-reduced-motion:reduce){.faixa.auto .trilho{animation:none}}@media (prefers-reduced-motion:reduce){.prog{display:none}.topo.some{transform:none}}/* ===== um efeito por seção (as demais ficam paradas de propósito) ===== *//* serviços: cartões sobem em cascata */.fx-sobe{opacity:0;transform:translateY(32px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1)}.fx-sobe.vis{opacity:1;transform:none}/* passos: o número vazado se preenche com a cor */.fx-traco .n{background:linear-gradient(var(--p),var(--p)) 0 100%/100% 0 no-repeat;-webkit-background-clip:text;background-clip:text;transition:background-size 1s cubic-bezier(.2,.7,.2,1) .2s}.fx-traco.vis .n{background-size:100% 100%}/* galeria: o quadro surge rápido e a foto aparece suave assim que termina de carregar */.fx-cortina{opacity:0;transform:translateY(16px) scale(.97);transition:opacity .45s ease-out,transform .55s cubic-bezier(.2,.7,.2,1)}.fx-cortina.vis{opacity:1;transform:none}.fx-cortina img{opacity:0;transition:opacity .35s ease-out,transform .9s cubic-bezier(.2,.7,.2,1)}.fx-cortina img.ok{opacity:1}/* sobre: a foto "afasta" (zoom de 1.18 para 1) */.fx-zoom .ph img{transform:scale(1.18);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}.fx-zoom.vis .ph img{transform:scale(1)}/* avaliações: cartões deslizam da direita */.fx-lado .aval{opacity:0;transform:translateX(80px);transition:opacity .8s,transform 1s cubic-bezier(.2,.7,.2,1)}.fx-lado .aval:nth-child(2){transition-delay:.1s}.fx-lado .aval:nth-child(3){transition-delay:.2s}.fx-lado .aval:nth-child(n+4){transition-delay:.3s}.fx-lado.vis .aval{opacity:1;transform:none}/* chamada final: cresce até o tamanho certo */.fx-escala{transform:scale(.92);border-radius:60px;transition:transform 1s cubic-bezier(.2,.7,.2,1),border-radius 1s}.fx-escala.vis{transform:none;border-radius:32px}@media (prefers-reduced-motion:reduce){.fx-sobe,.fx-lado .aval{opacity:1;transform:none}.fx-cortina,.fx-cortina img{opacity:1;transform:none}.fx-zoom .ph img,.fx-escala{transform:none}.fx-traco .n{background-size:100% 100%}}/* ===== logo e ícone da marca ===== */.marca .logo{height:54px;width:auto;border-radius:0}.cta.com-icone::before{display:none}.cta-icone{position:absolute!important;right:-90px;top:50%;width:360px;height:360px;transform:translateY(-50%) rotate(-8deg);opacity:.14;pointer-events:none}@media (max-width:760px){.marca .logo{height:34px}.cta-icone{width:220px;height:220px;right:-60px;top:auto;bottom:-60px;transform:rotate(-8deg)}}/* ===== páginas internas de serviço ===== */.marca .mi{height:42px;width:42px;border-radius:50%}.migalha{font-size:.85rem;color:var(--suave)}.migalha .w{display:flex;gap:10px;align-items:center;padding-top:18px;padding-bottom:4px;flex-wrap:wrap}.migalha a{color:var(--p);font-weight:600}.phero .w{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;padding-top:28px;padding-bottom:72px}.phero h1{font-size:clamp(2.4rem,5vw,4.4rem);line-height:1}.phero .sub{font-size:1.1rem;color:var(--suave);margin:24px 0 28px;max-width:560px}.phero .acoes{display:flex;gap:12px;flex-wrap:wrap}.phero .ph{aspect-ratio:4/3}.bloco{padding:64px 0}.bloco+.bloco{padding-top:0}.artigo .txt{max-width:820px}.artigo.com-foto{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:start}.artigo.com-foto .ph{aspect-ratio:4/5;position:sticky;top:100px}.artigo h2{font-size:clamp(1.9rem,3.4vw,2.8rem);line-height:1.05}.artigo .txt>p{color:var(--suave);font-size:1.06rem;margin-top:16px}.itens{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:28px;counter-reset:it}.item{background:var(--card);border:1px solid var(--linha);border-radius:18px;padding:22px 24px}.item h3{font-size:1.08rem;margin-bottom:8px}.item p{color:var(--suave);font-size:.96rem}.itens.num .item h3::before{counter-increment:it;content:counter(it,decimal-leading-zero);display:block;font:700 .8rem var(--fx);letter-spacing:.12em;color:var(--p);margin-bottom:10px}.bcta{margin-top:26px}.rod .rlinks a{text-decoration:underline;text-underline-offset:3px}@media (max-width:1000px){.phero .w,.artigo.com-foto{grid-template-columns:minmax(0,1fr)}.artigo.com-foto .ph{position:static;aspect-ratio:4/3}}@media (max-width:640px){.itens{grid-template-columns:minmax(0,1fr)}.bloco{padding:48px 0}}/* ===== barra superior ===== */.barra{background:var(--esc);color:#cfcac0;font-size:.82rem;border-bottom:1px solid var(--linha)}.tema-escuro .barra{background:#000}.barra .w{display:flex;justify-content:space-between;align-items:center;gap:16px;height:38px}.barra span,.barra a{display:inline-flex;align-items:center;gap:6px}.barra svg{width:15px;height:15px;color:var(--p)}.barra a{color:#fff;font-weight:600}.barra .hoje:empty{display:none}@media (max-width:760px){.barra .lg,.barra .hoje{display:none}}/* ===== topo: selos e indicador de rolagem ===== */.selos{list-style:none;display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:30px;font-size:.92rem;font-weight:500}.selos li{display:flex;align-items:center;gap:8px}.selos svg{width:20px;height:20px;color:var(--p)}.hero{position:relative}.rola{position:absolute;left:50%;bottom:22px;width:26px;height:42px;margin-left:-13px;border:2px solid var(--linha);border-radius:14px}.rola span{position:absolute;left:50%;top:8px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--p);animation:rola 1.8s ease-in-out infinite}@keyframes rola{0%{opacity:0;transform:translateY(0)}30%{opacity:1}80%,100%{opacity:0;transform:translateY(14px)}}@media (max-width:1000px){.rola{display:none}}/* ===== serviços com ícone e link de WhatsApp ===== */a.serv{color:inherit}.serv .si{width:54px;height:54px;border-radius:16px;display:grid;place-items:center;color:var(--p);background:color-mix(in srgb,var(--p) 14%,transparent);margin-bottom:14px;transition:transform .4s cubic-bezier(.2,.7,.2,1),background .3s,color .3s}.serv .si svg{width:32px;height:32px}.serv:hover .si{transform:rotate(-8deg) scale(1.08);background:var(--p);color:#fff}.serv .sl{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-weight:600;font-size:.9rem;color:var(--p)}.serv .sl i{font-style:normal;transition:transform .3s}.serv:hover .sl i{transform:translateX(5px)}.serv .tx{display:flex;flex-direction:column;flex:1}.serv .tx p{flex:1}/* ===== quem atendemos ===== */.tiles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px}.tile{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;padding:26px 14px;border-radius:var(--r);background:var(--card);border:1px solid var(--linha);transition:transform .35s,border-color .3s}.tile:hover{transform:translateY(-5px);border-color:var(--p)}.tile .ti{width:58px;height:58px;border-radius:50%;display:grid;place-items:center;color:var(--p);background:color-mix(in srgb,var(--p) 12%,transparent);margin-bottom:10px;transition:transform .5s}.tile:hover .ti{transform:translateY(-3px) rotate(6deg)}.tile .ti svg{width:32px;height:32px}.tile strong{font:700 1rem var(--ft)}.tile small{color:var(--suave);font-size:.82rem}.area{display:flex;align-items:center;gap:18px;margin-top:18px;padding:16px 16px 16px 22px;border-radius:var(--r);background:var(--esc);color:#fff;flex-wrap:wrap}.tema-escuro .area{background:var(--card);border:1px solid var(--linha)}.area .ai{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--p) 22%,transparent);color:var(--p)}.area .ai svg{width:22px;height:22px;animation:pulapin 2.4s ease-in-out infinite}@keyframes pulapin{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}.area p{flex:1;min-width:200px}@media (max-width:1000px){.tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:560px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}/* ===== como funciona: linha do tempo que enche com a rolagem ===== */.rota{position:relative;--prog:0}.rota ol{list-style:none;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:24px;padding-top:56px}.trilha{position:absolute;left:28px;right:28px;top:22px;height:3px;background:var(--linha);border-radius:3px}.trilha .enche{position:absolute;inset:0;transform-origin:0 50%;transform:scaleX(var(--prog));background:var(--p);border-radius:3px}.trilha .pino{position:absolute;top:50%;left:calc(var(--prog) * 100%);width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:var(--fundo);border:2px solid var(--p);display:grid;place-items:center;box-shadow:0 0 0 6px color-mix(in srgb,var(--p) 15%,transparent)}.trilha .pino img,.trilha .pino svg{width:30px;height:30px;object-fit:contain;color:var(--p)}.rota .passo{border:0;padding:0}.rota .passo:hover{background:none}.rota .passo .n{font:700 3.2rem var(--ft);line-height:1;letter-spacing:-.04em;color:var(--fundo);-webkit-text-stroke:3px var(--p);paint-order:stroke fill;transition:color .5s}.rota .passo.feito .n{color:var(--p)}.rota .passo h3{margin:16px 0 8px}.rota .passo p{color:var(--suave);font-size:.95rem}@media (max-width:760px){.rota ol{grid-template-columns:minmax(0,1fr);padding:0 0 0 70px;gap:34px}.trilha{left:22px;right:auto;top:6px;bottom:6px;width:3px;height:auto}.trilha .enche{transform-origin:50% 0;transform:scaleY(var(--prog))}.trilha .pino{left:50%;top:calc(var(--prog) * 100%);margin:-23px 0 0 -23px}}/* ===== bolha de convite ao lado do WhatsApp ===== */.bolha{position:fixed;right:94px;bottom:30px;z-index:69;max-width:250px;padding:14px 34px 14px 16px;border-radius:16px 16px 4px 16px;background:var(--card);color:var(--txt);border:1px solid var(--linha);box-shadow:0 18px 40px -14px rgba(0,0,0,.45);font-size:.88rem;line-height:1.4;opacity:0;transform:translateY(12px) scale(.96);pointer-events:none;transition:opacity .45s,transform .45s cubic-bezier(.2,.7,.2,1)}.bolha.on{opacity:1;transform:none;pointer-events:auto}.bolha strong{display:block;font-family:var(--ft);margin-bottom:2px}.bolha span{color:var(--suave)}.bolha .bx{position:absolute;top:6px;right:8px;width:24px;height:24px;border:0;background:none;color:var(--suave);font-size:1.2rem;cursor:pointer}@media (max-width:760px){.bolha{right:88px;bottom:24px;max-width:200px}}/* ===== menu marca a seção atual ===== */.menu a{position:relative}.menu a.on{color:var(--txt);opacity:1}.menu a.on::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--p);border-radius:2px}@media (max-width:760px){.menu a.on::after{display:none}}@media (prefers-reduced-motion:reduce){.rola span,.area .ai svg{animation:none}}/* nada pode alargar a página para os lados (ex.: faíscas do topo), senão o botão do WhatsApp "pula" no celular */html,body{overflow-x:hidden}@supports (overflow:clip){html,body{overflow-x:clip}}.hero{overflow-x:clip}.barra .lg{white-space:nowrap;gap:0}:root{--ft:'Playfair Display',Georgia,serif}/* ===== kit advogado: topo "balança" ===== */h1,h2,h3{letter-spacing:-.015em;font-weight:600}h1{line-height:1.04}h2{line-height:1.08}.foro{position:relative;aspect-ratio:480/400;width:100%;max-width:620px;justify-self:end;border-radius:32px;border:1px solid var(--linha);overflow:visible;background:radial-gradient(circle,color-mix(in srgb,var(--p) 26%,transparent) 1px,transparent 1.4px) 0 0/24px 24px,radial-gradient(90% 70% at 50% 8%,color-mix(in srgb,var(--p) 20%,transparent),transparent 70%),var(--card);box-shadow:0 40px 90px -50px color-mix(in srgb,var(--p) 55%,#000)}.balanca{position:absolute;inset:4% 4%;width:92%;height:92%;overflow:visible}.balanca .tr{fill:none;stroke:color-mix(in srgb,var(--txt) 58%,transparent);stroke-width:1.6;stroke-dasharray:1;stroke-dashoffset:1;animation:ad-desenha 13s cubic-bezier(.6,0,.2,1) infinite;animation-delay:calc(var(--i) * .12s)}.balanca .tr.forte{stroke:var(--txt);stroke-width:2.8}.balanca .tr.cor{stroke:var(--p);stroke-width:2}.balanca .tr.grosso{stroke-width:4}.balanca .tr.arco{stroke:var(--p);stroke-width:1.2;opacity:.55}.balanca .col .tr{stroke-width:1.3;opacity:.7}.balanca .varre{transform:translateX(-520px);animation:ad-varre 6.5s cubic-bezier(.5,0,.3,1) infinite 2s;pointer-events:none}.travessa{animation:ad-osc 7s ease-in-out infinite}.prato{animation:ad-osc-inv 7s ease-in-out infinite}@keyframes ad-desenha{0%{stroke-dashoffset:1;opacity:1}28%{stroke-dashoffset:0}88%{stroke-dashoffset:0;opacity:1}97%{opacity:0;stroke-dashoffset:0}100%{opacity:0;stroke-dashoffset:1}}@keyframes ad-osc{0%,100%{transform:rotate(-4.5deg)}50%{transform:rotate(4.5deg)}}@keyframes ad-osc-inv{0%,100%{transform:rotate(4.5deg)}50%{transform:rotate(-4.5deg)}}@keyframes ad-varre{0%{transform:translateX(-520px)}60%,100%{transform:translateX(520px)}}/* poeira dourada que sobe devagar */.poeira{position:absolute;inset:0;pointer-events:none;overflow:hidden;border-radius:32px}.poeira i{position:absolute;bottom:-6px;width:var(--s);height:var(--s);border-radius:50%;background:var(--c);opacity:0;animation:ad-sobe var(--t) ease-out forwards}@keyframes ad-sobe{0%{transform:translateY(0);opacity:0}15%{opacity:.85}100%{transform:translateY(-340px) translateX(var(--dx));opacity:0}}/* selo com ícone da marca */.selo-marca{position:absolute;left:-22px;bottom:-22px;width:118px;height:118px;border-radius:50%;background:var(--card);display:grid;place-items:center;box-shadow:0 20px 40px -18px rgba(0,0,0,.5)}.selo-marca img{width:92px;height:92px;object-fit:contain;border-radius:50%}.selo-marca .anel{position:absolute;inset:-7px;border-radius:50%;border:2px dashed var(--p);animation:ad-gira 20s linear infinite}@keyframes ad-gira{to{transform:rotate(360deg)}}/* cartões flutuantes */.flut{position:absolute;display:flex;align-items:center;gap:12px;padding:12px 16px 12px 12px;border-radius:16px;background:color-mix(in srgb,var(--card) 90%,transparent);backdrop-filter:blur(6px);border:1px solid var(--linha);box-shadow:0 18px 40px -22px rgba(0,0,0,.6);animation:ad-boia 6s ease-in-out infinite}.flut strong{display:block;font:600 .98rem var(--ft);letter-spacing:0}.flut small{display:block;color:var(--suave);font-size:.78rem}.flut .fi{width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--p) 16%,transparent);color:var(--p);display:grid;place-items:center}.flut .fi svg{width:24px;height:24px}.flut.f1{top:-18px;left:6%}.flut.f2{right:-18px;bottom:16%;animation-delay:-3s}@keyframes ad-boia{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@media (max-width:1000px){.foro{justify-self:center;margin:30px auto 10px}}@media (max-width:760px){.flut{padding:9px 12px 9px 9px}.flut .fi{width:32px;height:32px}.flut.f1{top:-24px;left:2%}.flut.f2{right:-4px;bottom:-26px}.selo-marca{width:86px;height:86px;left:-6px}.selo-marca img{width:66px;height:66px}}@media (prefers-reduced-motion:reduce){.balanca .tr{animation:none;stroke-dashoffset:0}.balanca .varre,.poeira{display:none}.travessa,.prato{animation:none}.selo-marca .anel,.flut{animation:none}}.sec-esc h2 em,.cta h2 em,.fundo-esc h2 em{color:var(--p3,var(--p))}/* ilustração no lugar da foto da área de atuação */.ph.ilus{background:color-mix(in srgb,var(--p) 8%,var(--fundo))}.ilus-svg{display:block;width:100%;height:100%}.ilus-svg .tw{transform-box:fill-box;transform-origin:center;animation:ad-pisca 3.6s ease-in-out infinite}@keyframes ad-pisca{0%,100%{transform:scale(.3) rotate(0);opacity:0}45%{transform:scale(1) rotate(30deg);opacity:1}75%{transform:scale(.6);opacity:.4}}@media (prefers-reduced-motion:reduce){.ilus-svg .tw{animation:none;opacity:.8;transform:none}}/* ===== seção "triagem" (assunto -> documentos -> mensagem) ===== */.tg-areas{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px}.tg-a{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 20px 0 12px;border-radius:999px;border:1px solid var(--linha);background:var(--card);color:var(--txt);font:600 .95rem var(--fx);cursor:pointer;transition:background .25s,border-color .25s,color .25s,transform .25s}.tg-a:hover{transform:translateY(-2px);border-color:var(--p)}.tg-a .tg-ic{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--p) 14%,transparent);color:var(--p);transition:background .25s,color .25s}.tg-a .tg-ic svg{width:18px;height:18px}.tg-a[aria-checked="true"]{background:var(--esc);border-color:var(--esc);color:#fff}.tg-a[aria-checked="true"] .tg-ic{background:var(--p3,var(--p));color:var(--esc)}.tg-corpo{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:28px;align-items:start}.tg-paineis,.tg-lado{background:var(--card);border:1px solid var(--linha);border-radius:var(--r);padding:34px}.tg-p h3{font-size:clamp(1.7rem,3vw,2.3rem);margin-bottom:12px}.tg-p[hidden]{display:none}.tg-p:not([hidden]){animation:ad-troca .45s cubic-bezier(.2,.7,.2,1)}@keyframes ad-troca{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.tg-txt{color:var(--suave);font-size:1.05rem;max-width:56ch;margin-bottom:26px}.tg-p h4{font:600 .78rem var(--fx);letter-spacing:.18em;text-transform:uppercase;color:var(--p);margin-bottom:14px}.tg-docs{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:10px 22px}.tg-docs label,.tg-prazo{display:flex;gap:12px;align-items:flex-start;cursor:pointer;font-size:.97rem;line-height:1.4;position:relative}.tg-docs input,.tg-prazo input{position:absolute;opacity:0;pointer-events:none}.tg-ck{flex:none;width:22px;height:22px;border-radius:7px;border:1.5px solid color-mix(in srgb,var(--txt) 40%,transparent);display:grid;place-items:center;margin-top:1px;transition:background .2s,border-color .2s}.tg-ck::after{content:"";width:10px;height:6px;border:2.4px solid #fff;border-top:0;border-right:0;transform:rotate(-45deg) scale(0);margin-top:-2px;transition:transform .2s}input:checked+.tg-ck{background:var(--p);border-color:var(--p)}input:checked+.tg-ck::after{transform:rotate(-45deg) scale(1)}input:focus-visible+.tg-ck{outline:2px solid var(--p);outline-offset:3px}.tg-aviso{display:flex;gap:12px;align-items:flex-start;margin-top:26px;padding:16px 18px;border-radius:14px;background:color-mix(in srgb,var(--p) 10%,transparent);border-left:3px solid var(--p);font-size:.93rem}.tg-aviso svg{flex:none;width:22px;height:22px;color:var(--p)}.tg-lado{position:sticky;top:100px}.tg-sel{width:48px;height:48px;border-radius:14px;background:var(--esc);color:var(--p3,#fff);display:grid;place-items:center;margin-bottom:18px}.tg-sel svg{width:26px;height:26px}.tg-lado h3{font-size:1.5rem;margin-bottom:12px}.tg-res{color:var(--suave);font-size:.97rem;padding:14px 16px;border-radius:12px;background:color-mix(in srgb,var(--txt) 5%,transparent);margin-bottom:18px;min-height:3.6em}.tg-prazo{margin-bottom:20px;font-weight:500}.tg-lado .btn{width:100%;justify-content:center}.tg-nota{margin-top:16px;font-size:.82rem;color:var(--suave)}@media (max-width:900px){.tg-corpo{grid-template-columns:1fr}.tg-lado{position:static}.tg-docs{grid-template-columns:1fr}.tg-paineis,.tg-lado{padding:24px}}/* ===== seção "advogado" ===== */.adv-g{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:64px;align-items:center}.adv-card{position:relative;padding:44px 36px 34px;border-radius:28px;text-align:center;background:var(--card);border:1px solid var(--linha);box-shadow:0 40px 80px -50px #000}.adv-card::before{content:"";position:absolute;inset:10px;border-radius:20px;border:1px solid color-mix(in srgb,var(--p) 40%,transparent);pointer-events:none}.adv-sel{position:relative;width:112px;height:112px;margin:0 auto 22px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--p3,var(--p)),var(--p));color:#0e1a2d;font:600 2.4rem var(--ft)}.adv-sel .anel{position:absolute;inset:-8px;border-radius:50%;border:2px dashed var(--p);animation:ad-gira 22s linear infinite}.adv-nome{font:600 1.7rem var(--ft);line-height:1.15}.adv-oab{margin:10px auto 0;display:inline-block;padding:6px 16px;border-radius:999px;border:1px solid var(--p);color:var(--p);font:600 .86rem var(--fx);letter-spacing:.12em;text-transform:uppercase}.adv-areas{list-style:none;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:22px}.adv-areas li{font-size:.84rem;padding:5px 12px;border-radius:999px;background:color-mix(in srgb,var(--txt) 7%,transparent)}.adv-linha{display:block;height:1px;margin:26px 24px 18px;background:linear-gradient(90deg,transparent,var(--p),transparent)}.adv-nota{font-size:.82rem;color:var(--suave)}.adv-p p{color:var(--suave);font-size:1.06rem;margin-top:16px;max-width:60ch}.adv-txt h2{margin-top:6px}.adv-txt .chips{margin-top:26px}@media (max-width:900px){.adv-g{grid-template-columns:1fr;gap:40px}}@media (prefers-reduced-motion:reduce){.adv-sel .anel{animation:none}}