/* navegação, rodapé e páginas internas (multipágina) */
.bar{gap:20px}
.nav{display:flex;align-items:center;gap:6px;margin-left:auto}
.nav a{text-decoration:none;font-weight:700;font-size:15px;padding:8px 14px;border-radius:99px;position:relative;transition:background .2s,color .2s}
.nav a:not(.btn):hover{background:color-mix(in srgb,var(--tx) 8%,transparent)}
.nav a[aria-current=page]:not(.btn){color:var(--coral)}
.nav a[aria-current=page]:not(.btn)::after{content:"";position:absolute;left:14px;right:14px;bottom:2px;height:3px;border-radius:3px;background:var(--coral)}
.nav .btn{margin-left:8px;color:#fff}
.burger{display:none;width:46px;height:46px;border-radius:12px;border:1px solid var(--line);background:var(--card);cursor:pointer;padding:0;position:relative;margin-left:auto}
.burger i,.burger i::before,.burger i::after{position:absolute;left:12px;right:12px;height:3px;border-radius:3px;background:var(--tx);content:"";transition:transform .25s,top .25s,opacity .2s}
.burger i{top:21px}.burger i::before{left:0;right:0;top:-7px}.burger i::after{left:0;right:0;top:7px}
.burger[aria-expanded=true] i{background:transparent}.burger[aria-expanded=true] i::before{top:0;transform:rotate(45deg)}.burger[aria-expanded=true] i::after{top:0;transform:rotate(-45deg)}
@media (max-width:860px){
 .burger{display:block}
 .nav{position:fixed;left:0;right:0;top:0;padding:84px 20px 24px;flex-direction:column;align-items:stretch;gap:2px;background:var(--bg);border-bottom:1px solid var(--line);box-shadow:0 30px 40px -30px rgba(0,0,0,.4);transform:translateY(-110%);transition:transform .3s;z-index:-1;margin:0}
 .nav.open{transform:none}
 .nav a{padding:14px 12px;font-size:18px;border-radius:10px}
 .nav a[aria-current=page]:not(.btn)::after{display:none}
 .nav .btn{margin:12px 0 0;min-height:52px}
 header .bar{position:relative}
 .brand,.burger{position:relative;z-index:2}
}
/* cabeçalho de páginas internas */
.ph.sh{min-height:0}
.ph.sh .wrap{grid-template-columns:1fr;padding:150px 0 70px}
.ph.sh h1{max-width:900px}
.ph.sh .lead{max-width:680px}
.hero{min-height:92svh}
.hero .wrap{padding:130px 0 80px}
/* cartões de serviço */
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:40px}
.card{--c:var(--azul);position:relative;display:flex;flex-direction:column;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:28px 24px 24px;text-decoration:none;box-shadow:0 14px 28px -20px color-mix(in srgb,var(--tx) 35%,transparent);transition:transform .35s cubic-bezier(.2,.8,.2,1),border-color .2s}
.card::before{content:"";position:absolute;left:0;top:0;height:4px;width:100%;background:var(--c)}
.card:nth-child(4n+2){--c:var(--ambar)}.card:nth-child(4n+3){--c:var(--coral)}.card:nth-child(4n){--c:var(--verde)}
.card:hover{transform:translateY(-6px);border-color:var(--c)}
.card i{font-style:normal;font-family:var(--serif);font-weight:900;font-size:30px;color:var(--c);margin-bottom:6px}
.card b{font-family:var(--serif);font-size:23px;line-height:1.15;margin-bottom:8px}
.card p{margin:0 0 18px;color:var(--mute);font-size:16px;line-height:1.55;flex:1}
.card span{font-weight:800;border-bottom:3px solid var(--c);align-self:flex-start;padding-bottom:1px}
.cards.two{grid-template-columns:repeat(2,1fr)}
.sec-h{max-width:720px}.sec-h p{color:var(--mute);font-size:19px;margin:0}
/* projetos em miniatura */
.mini{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}
.mini a{display:block;text-decoration:none;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .3s,border-color .2s}
.mini a:hover{transform:translateY(-5px);border-color:var(--coral)}
.mini img{display:block;width:100%;height:150px;object-fit:cover;object-position:top;background:var(--bg2)}
.mini div{padding:14px 16px 16px}.mini b{display:block;font-family:var(--serif);font-size:20px}.mini small{color:var(--mute)}
.center{text-align:center;margin-top:34px}
/* números / diferenciais */
.nums{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}
.nums div{border-left:4px solid var(--c,var(--azul));padding:6px 0 6px 20px}
.nums div:nth-child(2){--c:var(--ambar)}.nums div:nth-child(3){--c:var(--coral)}
.nums b{display:block;font-family:var(--serif);font-size:26px;line-height:1.15;margin-bottom:6px}.nums p{margin:0;color:var(--mute)}
/* venn estático da página Sobre */
.venn-s{width:100%;max-width:460px;height:auto;margin:0 auto;display:block}
.venn-s .mx{isolation:isolate}
.venn-s .mx circle{mix-blend-mode:multiply}
@media (prefers-color-scheme:dark){.venn-s .mx circle{mix-blend-mode:screen}}
/* contato */
.cgrid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:10px}
.cc{--c:var(--azul);display:block;text-decoration:none;background:var(--card);border:1px solid var(--line);border-left:6px solid var(--c);border-radius:14px;padding:24px 26px;transition:transform .3s,border-color .2s}
.cc:nth-child(2){--c:var(--ambar)}.cc:nth-child(3){--c:var(--coral)}.cc:nth-child(4){--c:var(--verde)}
.cc:hover{transform:translateY(-4px)}
.cc small{display:block;font-size:12px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--c);margin-bottom:6px}
.cc b{display:block;font-size:clamp(19px,2.4vw,26px);font-family:var(--serif);overflow-wrap:anywhere;line-height:1.2}
.cc span{display:block;color:var(--mute);font-size:15px;margin-top:6px}
.cform{display:grid;gap:14px;margin-top:6px}
.cform label{font-weight:700;font-size:14px;display:grid;gap:6px}
.cform input,.cform textarea,.cform select{font:inherit;color:var(--tx);background:var(--card);border:1px solid var(--line);border-radius:10px;padding:13px 14px;width:100%}
.cform textarea{min-height:150px;resize:vertical}
.cform input:focus,.cform textarea:focus,.cform select:focus{outline:3px solid color-mix(in srgb,var(--coral) 55%,transparent);outline-offset:0;border-color:var(--coral)}
.cform .btn{justify-self:start}
.note{font-size:14px;color:var(--mute);margin:0}
/* CTA curto */
.cta-s{background:var(--navy);color:#fff;text-align:center;padding:11vh 0;position:relative;overflow:hidden;isolation:isolate}
.cta-s .bgfx{--tx:#fff}.cta-s .bgfx i{opacity:.3}
.cta-s .wrap{position:relative;z-index:1}
.cta-s h2{font-size:clamp(32px,5vw,60px)}
.cta-s p{max-width:560px;margin:0 auto 28px;color:#D6DCEC;font-size:19px}
.cta-s .tel{margin-left:26px}
/* rodapé */
footer.site{padding:64px 0 28px;background:var(--navy);color:#D6DCEC;border-top:0;font-size:15px}
.fgrid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.4fr;gap:36px}
.fgrid h4{margin:0 0 14px;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#FFC436}
.fgrid a{display:block;text-decoration:none;padding:4px 0;color:#D6DCEC;overflow-wrap:anywhere}.fgrid a:hover{color:#fff;text-decoration:underline}
.fgrid p{margin:12px 0 0;max-width:300px;line-height:1.55}
.fbrand{display:flex;align-items:center;gap:12px;color:#fff}.fbrand svg{width:44px;height:44px}.fbrand b{font-family:var(--serif);font-size:19px;line-height:1.05}
.fbot{display:flex;flex-wrap:wrap;gap:10px 24px;justify-content:space-between;border-top:1px solid rgba(255,255,255,.15);margin-top:44px;padding-top:20px;font-size:13.5px;color:#aab3cb}
@media (max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}.mini{grid-template-columns:repeat(2,1fr)}.fgrid{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.cards,.cards.two,.mini,.nums,.cgrid,.fgrid{grid-template-columns:1fr}.cta-s .tel{margin:18px 0 0;display:flex;align-items:center;text-align:center}.hero .wrap{padding-top:110px}.ph.sh .wrap{padding-top:120px}}
