:root{
--bg:#0e0f12;--bg2:#0a0b0d;--surface:#17191e;--text:#f3f1ec;--muted:#a7a9b0;
--accent:#f0b429;--accent-2:#f59e0b;--accent-ink:#1a1405;--line:#262830;
--radius:12px;--radius-sm:9px;--shadow:0 10px 30px rgba(0,0,0,.4);--shadow-lg:0 28px 70px rgba(0,0,0,.6);
--header-bg:rgba(14,15,18,.82);--font-display:'Montserrat',sans-serif;--font-body:'Inter',sans-serif;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);background:var(--bg);color:var(--text);line-height:1.7;font-size:clamp(16px,1.04vw,17px);-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block;height:auto}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--font-display);line-height:1.08;font-weight:700;letter-spacing:-.015em}
p{overflow-wrap:break-word}
::selection{background:var(--accent);color:var(--accent-ink)}
.wrap{width:min(1180px,92%);margin-inline:auto}

/* ---------- botões ---------- */
.btn{display:inline-flex;align-items:center;gap:.55rem;background:var(--accent);color:var(--accent-ink);font-family:var(--font-body);font-weight:700;letter-spacing:.01em;padding:.95rem 1.5rem;border-radius:var(--radius-sm);font-size:.95rem;line-height:1.1;box-shadow:var(--shadow);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;border:0;cursor:pointer}
.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);filter:brightness(1.05)}
.hero .btn::after,.cta .btn::after,.band .btn::after,.strip .btn::after{content:"\2192";font-weight:700;transition:transform .18s}
.hero .btn:hover::after,.cta .btn:hover::after{transform:translateX(4px)}
.btn-ghost{display:inline-flex;align-items:center;gap:.5rem;padding:.95rem 1.4rem;border-radius:var(--radius-sm);font-weight:600;font-size:.95rem;background:transparent;color:var(--text);border:1px solid color-mix(in srgb,var(--text) 26%,transparent);transition:border-color .18s,background .18s}
.btn-ghost:hover{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,transparent)}

/* ---------- header / nav ---------- */
header{position:sticky;top:0;z-index:50;background:var(--header-bg);backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border-bottom:1px solid var(--line)}
header>.wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 0;position:relative}
.marca{display:flex;flex-direction:column;line-height:1.12}
.mk-name{font-family:var(--font-display);font-weight:700;font-size:1.08rem;color:var(--text);letter-spacing:.005em}
.mk-sub{font-size:.68rem;color:var(--muted);letter-spacing:.16em;text-transform:uppercase;margin-top:.15rem}
nav{display:flex;align-items:center;gap:1.7rem}
nav a:not(.btn){font-size:.9rem;font-weight:500;color:var(--muted);position:relative;padding:.3rem 0;transition:color .15s}
nav a:not(.btn)::after{content:"";position:absolute;left:0;right:100%;bottom:-3px;height:2px;background:var(--accent);transition:right .25s ease}
nav a:not(.btn):hover{color:var(--text)}
nav a:not(.btn):hover::after,nav a[aria-current=page]::after{right:0}
nav a[aria-current=page]{color:var(--text)}
nav .btn{padding:.6rem 1.1rem;font-size:.82rem;box-shadow:none}
.hamb{display:none;background:none;border:0;color:var(--text);font-size:1.7rem;line-height:1;cursor:pointer;padding:.2rem .4rem}

/* util bar (tema 8) e topbar (tema 9) */
.util{background:var(--bg2);border-bottom:1px solid var(--line);font-size:.82rem;color:var(--muted)}
.util .wrap{padding:.55rem 0;display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}
.util a{color:var(--text);font-weight:600}
.topbar{height:4px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}

/* ---------- hero (base) ---------- */
.hero{position:relative}
.hero h1{font-size:clamp(2.3rem,6vw,4.4rem);letter-spacing:-.025em;margin:.2rem 0}
.hero .lead{color:var(--muted);font-size:clamp(1.02rem,1.5vw,1.2rem);max-width:46rem;margin:1.3rem 0 0}
.hero img{border-radius:var(--radius)}
.kicker{display:inline-block;font-size:.76rem;font-weight:600;letter-spacing:.17em;text-transform:uppercase;color:var(--accent);padding:.45rem 1rem;border:1px solid color-mix(in srgb,var(--accent) 42%,transparent);border-radius:999px;background:color-mix(in srgb,var(--accent) 12%,transparent);margin-bottom:1.3rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:2.1rem}
.hero-meta{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.9rem}
.hero-meta span{display:inline-flex;align-items:center;gap:.45rem;font-size:.82rem;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:.4rem .9rem;background:color-mix(in srgb,var(--surface) 70%,transparent)}
.hero-meta span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}

/* ---------- seções ---------- */
.sec{padding:clamp(3.5rem,7vw,6rem) 0}
.pad{padding:clamp(3.5rem,7vw,6rem) 0;width:min(1180px,92%);margin-inline:auto}
.sec h2,.pad h2{font-size:clamp(1.8rem,4vw,2.7rem);margin-bottom:.4rem}
.sec h2::before,.pad h2::before{content:"";display:block;width:46px;height:3px;background:var(--accent);border-radius:3px;margin-bottom:1.1rem}
.sec .sub,.pad .sub,.sec>.wrap>p:first-of-type,.pad>p:first-of-type{color:var(--muted);max-width:48rem}
.sec h1{font-size:clamp(2.1rem,5vw,3.3rem);letter-spacing:-.02em;margin-bottom:.6rem}

/* grids de cards */
.cards,.grid3,.soft,.grid,.boxy,.columns,.bub,.svcs,.stack,.svc,.numlist,.list-n,.nums,.flow,.prose{display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fit,minmax(255px,1fr));margin-top:2.2rem}
.svc{grid-template-columns:1fr;gap:1rem}

/* card genérico */
.cards article,.grid3 article,.soft article,.grid article,.grid .cell,.boxy article,.columns article,.bub article,.svcs article,.stack article,.prose article,.svc article{
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;position:relative;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.cards article:hover,.grid3 article:hover,.soft article:hover,.grid article:hover,.boxy article:hover,.columns article:hover,.bub article:hover,.svcs article:hover,.stack article:hover,.prose article:hover,.svc article:hover,.grid .cell:hover{
  transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:color-mix(in srgb,var(--accent) 55%,var(--line))}
.sec article h3,.pad article h3,.svc h3{display:flex;align-items:center;gap:.6rem;font-size:1.18rem;color:var(--text);margin-bottom:.5rem;letter-spacing:-.01em}
.sec article h3::before,.pad article h3::before,.svc h3::before{content:"";flex:none;width:0;height:0;border-left:11px solid var(--accent);border-top:7px solid transparent;border-bottom:7px solid transparent}
.sec article p,.pad article p,.sec .cell p,.svc p{color:var(--muted)}
.prose article h2{font-size:1.35rem;margin-bottom:.5rem}
.prose article h2::before{display:none}
.svc article{display:flex;gap:1rem;align-items:flex-start}
.sv{display:grid;gap:1rem;margin-top:1.5rem}
.sv article{display:flex;gap:1rem;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem}
.sv article b{font-family:var(--font-display);color:var(--accent);font-size:1.3rem;flex:none}
.sv article h3{margin-bottom:.3rem}
.sv article h3::before{display:none}

/* página serviços - split (tema 4) */
.split{display:grid;gap:2.5rem;grid-template-columns:1.1fr .9fr;align-items:center;margin-top:1rem}
.split img{border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;height:100%;max-height:520px;object-fit:cover}

/* ---------- como funciona (passos) ---------- */
.steps{display:grid;gap:0;margin-top:2.2rem}
.steps>div,.steps .step{display:flex;gap:1.1rem;align-items:flex-start;padding:1.2rem 0;border-bottom:1px solid var(--line)}
.steps>div:last-child{border-bottom:0}
.steps .num,.steps>div>b,.steps>div>strong,.steps>div>span,.steps>div>i{
  flex:none;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;
  background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);
  font-family:var(--font-display);font-weight:700;font-size:1.15rem;font-style:normal}
.steps>div>p{margin-top:.5rem}
/* listas ordenadas (proc/timeline/ol) */
.sec ol,.pad ol{counter-reset:st;list-style:none;display:grid;gap:1rem;margin-top:2.2rem}
.sec ol li,.pad ol li{counter-increment:st;position:relative;padding:1.15rem 1.3rem 1.15rem 4.2rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}
.sec ol li::before,.pad ol li::before{content:counter(st,decimal-leading-zero);position:absolute;left:1.1rem;top:50%;transform:translateY(-50%);font-family:var(--font-display);font-weight:700;color:var(--accent);font-size:1.25rem}
/* variantes em div com número próprio */
.proc{display:grid;gap:1rem;grid-template-columns:1fr;margin-top:2.2rem}
.list-n>div,.nums>div,.flow>div,.proc>div{display:flex;gap:1rem;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem}
.list-n>div>p,.nums>div>p,.flow>div>p,.proc>div>p{margin-top:.5rem}
.list-n b,.nums span,.flow strong,.proc>div>strong{flex:none;display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent);font-family:var(--font-display);font-weight:700;font-style:normal}
.numlist article h3{font-size:1.05rem;counter-increment:nn}
.numlist{counter-reset:nn}
.numlist article h3::before{content:counter(nn)"  ";border:0;width:auto;height:auto;color:var(--accent);font-family:var(--font-display)}
.wave{padding:clamp(3.5rem,7vw,6rem) 0;background:var(--bg2)}
.wave p{max-width:48rem;color:var(--muted);margin:.6rem 0}
.wave p strong{color:var(--accent);font-family:var(--font-display)}

/* ---------- por que entrar em contato ---------- */
.why{display:grid;gap:1.2rem;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));margin-top:2.2rem;list-style:none}
.why article,.why li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.4rem 1.4rem 3.1rem;position:relative;color:var(--muted)}
.why article::before,.why li::before{content:"";position:absolute;left:1.2rem;top:1.5rem;width:16px;height:16px;border-radius:50%;background:color-mix(in srgb,var(--accent) 22%,transparent);box-shadow:inset 0 0 0 2px var(--accent)}
.blk{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.5rem}

/* ---------- imagens / galerias ---------- */
.pic-row,.duo,.mosaic,.two,.pair,.pics{display:grid;gap:1rem;grid-template-columns:1fr 1fr;margin-top:2.2rem}
.pic-row img,.duo img,.mosaic img,.two img,.pair img,.pics img{width:100%;height:100%;min-height:230px;max-height:360px;object-fit:cover;border-radius:var(--radius);transition:transform .4s ease}
.pic-row img:hover,.duo img:hover,.mosaic img:hover,.two img:hover,.pair img:hover,.pics img:hover{transform:scale(1.02)}
.cols{display:grid;gap:1.8rem;grid-template-columns:1fr 1fr;align-items:center;margin-top:2.2rem}
.cols img{width:100%;max-height:420px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.frame{margin-top:2.6rem;border-radius:calc(var(--radius)*1.25);overflow:hidden;box-shadow:var(--shadow-lg);border:1px solid var(--line)}
.frame img{width:100%;max-height:560px;object-fit:cover;border-radius:0}

/* ---------- CTA ---------- */
.cta,.band,.strip{background:linear-gradient(120deg,var(--accent),var(--accent-2));color:var(--accent-ink);text-align:center;padding:clamp(3.2rem,6vw,5rem) 1.5rem}
.wrap>.cta,.wrap>.band,.wrap>.strip,.cta>.wrap{border-radius:calc(var(--radius)*1.3)}
.cta h2,.band h2,.strip h2{color:var(--accent-ink);font-size:clamp(1.8rem,4vw,2.9rem)}
.cta h2::before,.band h2::before,.strip h2::before{display:none}
.cta p,.band p,.strip p{color:color-mix(in srgb,var(--accent-ink) 80%,transparent);max-width:40rem;margin:.8rem auto 0}
.cta .btn,.band .btn,.strip .btn{background:var(--bg);color:var(--text);margin-top:1.4rem}
.cta .btn:hover,.band .btn:hover{filter:none}

/* ---------- rodapé ---------- */
footer{background:var(--bg2);border-top:3px solid var(--accent);padding:3.5rem 0 5.5rem;color:var(--muted);font-size:.94rem}
footer .wrap{max-width:min(1180px,92%)}
footer strong{color:var(--text);font-family:var(--font-display);font-size:1.05rem}
footer p{margin:.35rem 0}
footer p:last-child{margin-top:1.3rem;display:flex;flex-wrap:wrap;gap:.3rem 1.3rem;padding-top:1.3rem;border-top:1px solid var(--line)}
footer a{color:var(--text);transition:color .15s}
footer a:hover{color:var(--accent)}
footer p:last-child a{color:var(--muted)}
footer p:last-child a:hover{color:var(--accent)}

/* ---------- WhatsApp flutuante ---------- */
.float-wa{position:fixed;right:20px;bottom:20px;width:58px;height:58px;border-radius:50%;background:#25D366;display:grid;place-items:center;z-index:60;box-shadow:0 10px 30px rgba(0,0,0,.3);transition:transform .2s ease}
.float-wa:hover{transform:scale(1.08)}
.float-wa svg{width:31px;height:31px;fill:#fff}
.float-wa::after{content:"";position:absolute;inset:0;border-radius:50%;box-shadow:0 0 0 0 rgba(37,211,102,.5);animation:pz 2.4s infinite}
@keyframes pz{to{box-shadow:0 0 0 18px rgba(37,211,102,0)}}

/* ---------- páginas legais ---------- */
.legal{max-width:52rem}
.legal h1{font-size:clamp(2rem,5vw,3rem);margin-bottom:1rem}
.legal h2{font-size:1.3rem;margin:2rem 0 .5rem;color:var(--accent)}
.legal h2::before{display:none}
.legal p{margin:.7rem 0;color:var(--muted)}
.panel{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--accent);border-radius:var(--radius);padding:1.5rem;margin:1.3rem 0}
.panel p{margin:.4rem 0}
.panel strong{color:var(--text)}
main{display:block}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2.2rem;align-items:start}
.contact-grid .panel{margin:0}
.wa-card{background:linear-gradient(140deg,color-mix(in srgb,var(--accent) 16%,var(--surface)),var(--surface));border:1px solid color-mix(in srgb,var(--accent) 40%,var(--line));border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow)}
.wa-card p{color:var(--muted);margin-bottom:1.2rem}
.wa-card .wa-label{font-size:.78rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:.3rem}
.wa-card .wa-num{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.4rem);font-weight:700;color:var(--text);margin-bottom:.8rem}
@media(max-width:860px){.contact-grid{grid-template-columns:1fr}}

/* =========================================================
   HEROS ESPECÍFICOS POR TEMA (.t0 .. .t12)
   ========================================================= */
/* t0 full-bleed centralizado */
.t0 .hero{min-height:92vh;display:grid;place-items:center;overflow:hidden;background:#000}
.t0 .hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.52;border-radius:0}
.t0 .hero .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,15,18,.35)0%,rgba(14,15,18,.72)55%,rgba(14,15,18,.97)100%)}
.t0 .hero-copy{position:relative;z-index:2;width:min(1180px,92%);margin-inline:auto;text-align:center;padding:7rem 0}
.t0 .hero h1{font-size:clamp(2.3rem,6.5vw,4.8rem);letter-spacing:-.025em}
.t0 .hero .lead{margin-inline:auto}
.t0 .hero-actions,.t0 .hero-meta{justify-content:center}

/* t1 sidebar + hero split */
.t1 .shell{display:grid;grid-template-columns:272px 1fr;min-height:100vh}
.t1 .side{position:sticky;top:0;align-self:start;height:100vh;background:var(--bg2);border-right:1px solid var(--line);padding:2.2rem 1.6rem;display:flex;flex-direction:column;gap:1.4rem}
.t1 .side .marca{gap:.1rem}
.t1 .side nav{flex-direction:column;align-items:flex-start;gap:1rem;margin-top:.5rem}
.t1 .side nav .btn{margin-top:.6rem}
.t1 .side .hamb{display:none}
.t1 main{min-width:0}
.t1 .hero{display:grid;grid-template-columns:1.05fr .95fr;gap:2.6rem;align-items:center;padding:clamp(2.5rem,5vw,4.5rem) clamp(1.2rem,4vw,3rem)}
.t1 .hero .hero-text .kicker{margin-bottom:1.1rem}
.t1 .hero>img{height:100%;max-height:560px;object-fit:cover;box-shadow:var(--shadow-lg)}
.t1 .pad{width:auto;padding-inline:clamp(1.2rem,4vw,3rem)}
.t1 footer .wrap{width:auto;margin:0;padding-inline:clamp(1.2rem,4vw,3rem)}

/* t2 grid claro com brilho */
.t2 .hero{padding:clamp(3rem,7vw,6rem) 0;background:radial-gradient(1100px 480px at 82% -12%,color-mix(in srgb,var(--accent) 14%,transparent),transparent)}
.t2 .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center}
.t2 .hero h1{font-size:clamp(2.4rem,5vw,4rem)}
.t2 .hero-img img{width:100%;aspect-ratio:4/3;object-fit:cover;box-shadow:var(--shadow-lg)}

/* t3 teal, duas colunas */
.t3 .hero.wrap{display:grid;grid-template-columns:1.05fr .95fr;gap:3rem;align-items:center;padding:clamp(3rem,7vw,6rem) 0;max-width:min(1180px,92%)}
.t3 .hero>img{width:100%;max-height:520px;object-fit:cover;box-shadow:var(--shadow-lg)}
.t3 .hero h1{font-size:clamp(2.3rem,5vw,3.9rem)}

/* t4 full-bleed, legenda embaixo */
.t4 .hero{position:relative;min-height:90vh;display:flex;align-items:flex-end;overflow:hidden}
.t4 .hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}
.t4 .hero .cap{position:relative;z-index:2;width:100%;background:linear-gradient(0deg,rgba(16,16,20,.96)0%,rgba(16,16,20,.55)70%,transparent 100%);padding:7rem 0 3.5rem}
.t4 .hero .cap .wrap{width:min(1180px,92%);margin-inline:auto}
.t4 .hero h1{font-size:clamp(2.6rem,7vw,5rem)}

/* t5 claro, centralizado, imagem grande */
.t5 .hero{text-align:center;padding:clamp(3.5rem,7vw,6rem) 0;background:radial-gradient(900px 420px at 50% -10%,color-mix(in srgb,var(--accent) 12%,transparent),transparent)}
.t5 .hero .wrap>h1{font-size:clamp(2.5rem,6vw,4.4rem);max-width:17ch;margin-inline:auto}
.t5 .hero .lead{margin-inline:auto}
.t5 .hero-actions,.t5 .hero-meta{justify-content:center}
.t5 .hero img{margin-top:3rem;border-radius:calc(var(--radius)*1.3);box-shadow:var(--shadow-lg);width:100%;max-height:520px;object-fit:cover}

/* t6 escuro, imagem grande à esquerda */
.t6 .hero{padding:clamp(3.5rem,7vw,6rem) 0}
.t6 .hero .wrap>h1{font-size:clamp(2.6rem,7vw,4.8rem);max-width:18ch}
.t6 .hero img{margin-top:2.8rem;border-radius:calc(var(--radius)*1.2);box-shadow:var(--shadow-lg);width:100%;max-height:520px;object-fit:cover;border:1px solid var(--line)}

/* t7 claro, duas colunas */
.t7 .hero.wrap{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;padding:clamp(3rem,7vw,6rem) 0;max-width:min(1180px,92%)}
.t7 .hero>img{width:100%;max-height:520px;object-fit:cover;box-shadow:var(--shadow-lg)}
.t7 .hero h1{font-size:clamp(2.3rem,5vw,3.9rem)}

/* t8 elegante, full-bleed com texto à esquerda */
.t8 .hero{position:relative;min-height:92vh;display:grid;align-items:center;overflow:hidden}
.t8 .hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:0}
.t8 .hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,26,.95)0%,rgba(10,14,26,.72)45%,rgba(10,14,26,.3)100%)}
.t8 .hero-txt{position:relative;z-index:2;width:min(1180px,92%);margin-inline:auto;max-width:44rem}
.t8 .hero h1{font-size:clamp(2.6rem,6.5vw,5rem);font-weight:700}

/* t9 claro, hero em card */
.t9 .hero{padding:clamp(2.5rem,6vw,5rem) 0;background:radial-gradient(1000px 460px at 85% -12%,color-mix(in srgb,var(--accent) 12%,transparent),transparent)}
.t9 .hero-card{display:grid;grid-template-columns:1fr 1fr;background:var(--surface);border:1px solid var(--line);border-radius:calc(var(--radius)*1.3);overflow:hidden;box-shadow:var(--shadow-lg)}
.t9 .hero-card>.hero-copy{padding:clamp(2rem,3.5vw,3.2rem)}
.t9 .hero-card img{height:100%;width:100%;object-fit:cover;min-height:380px;border-radius:0}
.t9 .hero h1{font-size:clamp(2.2rem,4.5vw,3.6rem)}

/* t10 escuro, texto + imagem emoldurada */
.t10 .hero{padding:clamp(3.5rem,7vw,5.5rem) 0;background:radial-gradient(900px 420px at 15% -10%,color-mix(in srgb,var(--accent) 14%,transparent),transparent)}
.t10 .hero .wrap>h1{font-size:clamp(2.6rem,7vw,5rem);max-width:16ch}

/* t11 claro, centralizado */
.t11 .hero{padding:clamp(3.5rem,7vw,6rem) 0;text-align:center;background:radial-gradient(900px 420px at 50% -10%,color-mix(in srgb,var(--accent) 12%,transparent),transparent)}
.t11 .hero .wrap>h1{font-size:clamp(2.5rem,6.5vw,4.6rem);max-width:17ch;margin-inline:auto}
.t11 .hero .lead{margin-inline:auto}
.t11 .hero-actions,.t11 .hero-meta{justify-content:center}
.t11 .hero img{margin-top:3rem;border-radius:calc(var(--radius)*1.3);box-shadow:var(--shadow-lg);width:100%;max-height:520px;object-fit:cover}

/* t12 escuro, display condensado + régua */
.t12 .hero{padding:clamp(3.5rem,7vw,6rem) 0}
.t12 .hero .wrap>h1{font-size:clamp(2.4rem,6.5vw,4.8rem);max-width:16ch;text-transform:uppercase;letter-spacing:-.02em}
.t12 .rule{width:84px;height:5px;background:var(--accent);margin:1.4rem 0;border-radius:4px}
.t12 .hero img{margin-top:2.8rem;border-radius:var(--radius);box-shadow:var(--shadow-lg);width:100%;max-height:520px;object-fit:cover;border:1px solid var(--line)}

/* =========================================================
   RESPONSIVO
   ========================================================= */
@media(max-width:960px){
  .t1 .shell{grid-template-columns:1fr}
  .t1 .side{position:sticky;top:0;height:auto;flex-direction:row;align-items:center;justify-content:space-between;border-right:0;border-bottom:1px solid var(--line);padding:.9rem 1.2rem;z-index:50}
  .t1 .side nav{position:absolute;top:100%;left:0;right:0;background:var(--bg);border-bottom:1px solid var(--line);padding:1rem;display:none;box-shadow:var(--shadow-lg)}
  .t1 .side nav.open{display:flex}
  .t1 .side .hamb{display:block}
  .t1 .hero{grid-template-columns:1fr}
}
@media(max-width:860px){
  .hamb{display:block}
  header>.wrap nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--line);padding:.8rem 1rem;box-shadow:var(--shadow-lg)}
  header>.wrap nav.open{display:flex}
  nav a:not(.btn){padding:.85rem .4rem;border-bottom:1px solid var(--line)}
  nav a:not(.btn)::after{display:none}
  nav .btn{margin-top:.7rem;justify-content:center}
  .t2 .hero-grid,.t3 .hero.wrap,.t7 .hero.wrap,.t9 .hero-card,.split,.cols,.pic-row,.duo,.mosaic,.two,.pair,.pics{grid-template-columns:1fr}
  .t9 .hero-card img,.t1 .hero>img{min-height:260px;max-height:340px}
  .hero h1{font-size:clamp(2.1rem,9vw,3.2rem)}
  body{padding-bottom:5rem}
  .float-wa{width:54px;height:54px}
  .util .wrap{justify-content:center}
}
@media(max-width:520px){
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn,.hero-actions .btn-ghost{justify-content:center}
}

/* ================= CAMADA RICA ================= */
body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:100;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.sx{padding:clamp(4.5rem,9vw,7.5rem) 0;position:relative}
.sx.alt{background:var(--bg2)}
.sx.alt::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(color-mix(in srgb,var(--text) 5%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text) 5%,transparent) 1px,transparent 1px);background-size:56px 56px;mask-image:radial-gradient(ellipse at 50% 0%,#000 10%,transparent 70%);-webkit-mask-image:radial-gradient(ellipse at 50% 0%,#000 10%,transparent 70%)}
.sx>.wrap{position:relative}
.eyebrow{display:inline-flex;align-items:center;gap:.65rem;font-size:.74rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--accent);margin-bottom:1.1rem}
.eyebrow::before{content:"";width:30px;height:2px;background:var(--accent)}
.sx h2{font-size:clamp(2.1rem,4.8vw,3.5rem);letter-spacing:-.035em;line-height:1.02}
.sx-head{display:grid;grid-template-columns:1.15fr .85fr;gap:2.5rem;align-items:end;margin-bottom:3.2rem}
.sx-head>p{color:var(--muted);font-size:1.06rem}
.sx-more{margin-top:2.6rem;display:flex;justify-content:center}

/* ---------- hero: moldura + timeline decorativa ---------- */
.hero-fig{position:relative;margin:0;isolation:isolate}
.hero-fig>img{width:100%;max-height:560px;min-height:340px;object-fit:cover;border-radius:var(--radius)!important;box-shadow:var(--shadow-lg);margin:0!important;display:block}
.hero-fig::before{content:"";position:absolute;inset:-16px -16px 16px 16px;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:calc(var(--radius) + 6px);z-index:-1}
.hero-fig::after{content:"";position:absolute;width:140px;height:140px;right:-34px;top:-34px;z-index:-1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 45%,transparent),transparent 70%);filter:blur(6px)}
.t5 .hero-fig,.t6 .hero-fig,.t11 .hero-fig,.t12 .hero-fig{margin-top:3.4rem}
.t9 .hero-fig{height:100%}.t9 .hero-fig::before,.t9 .hero-fig::after{display:none}
.t9 .hero-fig>img{height:100%;max-height:none;border-radius:0!important;box-shadow:none}
.frame-fig{margin-top:3rem}
.tl{position:absolute;left:-30px;bottom:-34px;width:min(370px,78%);background:color-mix(in srgb,var(--bg) 80%,transparent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid color-mix(in srgb,var(--text) 14%,transparent);border-radius:14px;padding:.8rem .9rem 1rem;box-shadow:var(--shadow-lg);z-index:3;text-align:left}
.tl-top{display:flex;align-items:center;gap:.35rem;margin-bottom:.75rem;font-family:ui-monospace,Consolas,monospace;font-size:.72rem;color:var(--muted)}
.tl-top i{width:9px;height:9px;border-radius:50%;background:color-mix(in srgb,var(--text) 22%,transparent)}
.tl-top i:first-child{background:#ff5f57}.tl-top i:nth-child(2){background:#febc2e}.tl-top i:nth-child(3){background:#28c840}
.tl-top .tc{margin-left:auto;color:var(--text);letter-spacing:.08em;font-weight:600}
.tl-tracks{position:relative;display:grid;gap:6px}
.trk{position:relative;height:17px;border-radius:4px;background:color-mix(in srgb,var(--text) 7%,transparent)}
.trk b{position:absolute;left:5px;top:0;font-size:.58rem;line-height:17px;color:var(--muted);font-family:ui-monospace,Consolas,monospace;font-weight:600}
.trk i{position:absolute;top:2px;bottom:2px;left:calc(24px + var(--l) * .86);width:calc(var(--w) * .86);border-radius:3px;background:var(--accent)}
.trk.v2 i{background:color-mix(in srgb,var(--accent-2) 70%,var(--surface))}
.trk.a i{background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--accent) 70%,transparent) 0 2px,color-mix(in srgb,var(--accent) 25%,transparent) 2px 4px)}
.ph{position:absolute;top:-7px;bottom:-4px;left:58%;width:2px;background:#ff4d4d;animation:ph 9s ease-in-out infinite alternate}
.ph::before{content:"";position:absolute;top:0;left:-5px;border-left:6px solid transparent;border-right:6px solid transparent;border-top:8px solid #ff4d4d}
@keyframes ph{from{left:34%}to{left:86%}}
.t0 .hero .kicker,.t4 .hero .kicker,.t8 .hero .kicker{background:rgba(0,0,0,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-color:color-mix(in srgb,var(--accent) 60%,transparent)}
.hero>.tl{left:auto;right:5%;bottom:7%;width:340px}
.t0 .hero>.tl{bottom:5%}

/* ---------- faixa animada ---------- */
.mq{overflow:hidden;border-block:1px solid var(--line);background:var(--bg2);padding:1.4rem 0}
.mq-track{display:flex;width:max-content;animation:mq 42s linear infinite}
.mq span{display:inline-flex;align-items:center;font-family:var(--font-display);font-size:clamp(1.6rem,3.6vw,2.7rem);font-weight:700;white-space:nowrap;padding-right:2.4rem;letter-spacing:-.02em;color:var(--text)}
.mq span:nth-child(even){color:transparent;-webkit-text-stroke:1.2px color-mix(in srgb,var(--text) 55%,transparent)}
.mq span em{font-style:normal;color:var(--accent);padding-left:2.4rem;font-size:.7em;-webkit-text-stroke:0}
@keyframes mq{to{transform:translateX(-50%)}}

/* ---------- serviços com foto ---------- */
.sv-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.3rem}
.sv-card{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .35s ease,box-shadow .35s ease}
.sv-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-lg)}
.sv-card figure{margin:0;aspect-ratio:4/3.2;overflow:hidden;position:relative}
.sv-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease}
.sv-card:hover img{transform:scale(1.07)}
.sv-card .no{position:absolute;top:.9rem;left:.9rem;font-family:var(--font-display);font-weight:700;font-size:.8rem;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(8px);color:var(--text);padding:.35rem .7rem;border-radius:999px;border:1px solid color-mix(in srgb,var(--text) 15%,transparent);z-index:2}
.sv-card .bd{padding:1.45rem 1.4rem 1.6rem;position:relative}
.sv-card h3{font-size:1.18rem;margin-bottom:.55rem;letter-spacing:-.015em}
.sv-card p{color:var(--muted);font-size:.94rem}
.sv-card .bd::after{content:"";display:block;width:34px;height:3px;background:var(--accent);margin-top:1.15rem;border-radius:3px;transition:width .35s}
.sv-card:hover .bd::after{width:80px}
.ov .sv-card{min-height:430px;justify-content:flex-end;border:0}
.ov .sv-card figure{position:absolute;inset:0;aspect-ratio:auto}
.ov .sv-card figure::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 25%,rgba(0,0,0,.88) 100%)}
.ov .sv-card .bd{z-index:2}
.ov .sv-card h3{color:#fff}.ov .sv-card p{color:rgba(255,255,255,.78)}

/* ---------- destaque com colagem ---------- */
.feat{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,5.5rem);align-items:center}
.feat.rev .collage{order:2}
.collage{position:relative;min-height:540px}
.collage .c1{position:absolute;top:0;left:0;width:80%;height:78%;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.collage .c2{position:absolute;right:0;bottom:0;width:54%;height:50%;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-lg);border:7px solid var(--bg)}
.sx.alt .collage .c2{border-color:var(--bg2)}
.collage .badge{position:absolute;left:5%;bottom:6%;background:var(--accent);color:var(--accent-ink);padding:1.05rem 1.25rem;border-radius:var(--radius-sm);font-family:var(--font-display);font-weight:700;box-shadow:var(--shadow-lg);max-width:210px;line-height:1.2;font-size:.98rem}
.feat h2+p{color:var(--muted);margin-top:1.3rem;font-size:1.06rem}
.ticks{list-style:none;margin:1.8rem 0 2.1rem;display:grid;gap:.75rem}
.ticks li{display:flex;gap:.85rem;align-items:center;padding:.85rem 1.05rem;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);font-weight:500}
.ticks li::before{content:"\2713";flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-size:.78rem;font-weight:800}

/* ---------- processo em linha do tempo ---------- */
.proc2{display:grid;grid-template-columns:repeat(5,1fr);gap:1.4rem;position:relative}
.proc2::before{content:"";position:absolute;top:28px;left:28px;right:8%;height:2px;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 10%,transparent))}
.pstep{position:relative;padding-top:4.6rem}
.pstep .n{position:absolute;top:0;left:0;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:var(--bg);border:2px solid var(--accent);color:var(--accent);font-family:var(--font-display);font-weight:800;font-size:1.1rem;box-shadow:0 0 0 7px color-mix(in srgb,var(--accent) 12%,transparent);transition:background .3s,color .3s}
.sx.alt .pstep .n{background:var(--bg2)}
.pstep:hover .n{background:var(--accent);color:var(--accent-ink)}
.pstep h3{font-size:1.12rem;margin-bottom:.4rem}
.pstep p{color:var(--muted);font-size:.94rem}
.pc::before{display:none}
.pc .pstep{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:5.2rem 1.3rem 1.5rem;transition:transform .3s,border-color .3s}
.pc .pstep:hover{transform:translateY(-5px);border-color:var(--accent)}
.pc .pstep .n{top:1.3rem;left:1.3rem;width:48px;height:48px;box-shadow:none}

/* ---------- por que ---------- */
.wy{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2.5rem,6vw,5rem);align-items:center}
.wy-l>p{color:var(--muted);margin:1.3rem 0 2.1rem;font-size:1.06rem}
.wy-g{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.wy-c{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.7rem;transition:transform .3s,border-color .3s,box-shadow .3s}
.wy-g .wy-c:nth-child(even){transform:translateY(2rem)}
.wy-c:hover{border-color:var(--accent);box-shadow:var(--shadow-lg)}
.wy-c .ic{width:50px;height:50px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);margin-bottom:1.15rem}
.wy-c svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.wy-c h3{font-size:1.1rem;margin-bottom:.35rem}
.wy-c p{color:var(--muted);font-size:.93rem}

/* ---------- CTA fotográfico ---------- */
.sx-cta{padding-top:0}
.sx.alt+.sx-cta{padding-top:clamp(4.5rem,9vw,7.5rem);background:var(--bg)}
.cx-cta{position:relative;border-radius:calc(var(--radius)*1.6);overflow:hidden;padding:clamp(3.5rem,8vw,6.5rem) clamp(1.6rem,6vw,5.5rem);isolation:isolate}
.cx-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.cx-cta::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(105deg,var(--accent) 0%,color-mix(in srgb,var(--accent-2) 82%,transparent) 48%,rgba(0,0,0,.25) 100%)}
.cx-cta .eyebrow{color:var(--accent-ink)}.cx-cta .eyebrow::before{background:var(--accent-ink)}
.cx-cta h2{color:var(--accent-ink);font-size:clamp(2.3rem,5.6vw,4.2rem);max-width:13ch;letter-spacing:-.035em;line-height:1}
.cx-cta>p:not(.eyebrow){color:var(--accent-ink);opacity:.9;max-width:32rem;margin:1.1rem 0 2.1rem;font-size:1.1rem}
.cx-cta .btn{background:var(--accent-ink);color:var(--accent);font-size:1rem;padding:1.05rem 1.7rem}
.cx-cta .btn::after{content:"\2192";transition:transform .2s}.cx-cta .btn:hover::after{transform:translateX(4px)}

/* ---------- topo das páginas internas ---------- */
.page-hero{position:relative;padding:clamp(5.5rem,11vw,9rem) 0 clamp(3.5rem,7vw,5.5rem);overflow:hidden;isolation:isolate;border-bottom:1px solid var(--line)}
.page-hero>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.page-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(100deg,var(--bg) 22%,color-mix(in srgb,var(--bg) 80%,transparent) 55%,color-mix(in srgb,var(--bg) 35%,transparent) 100%)}
.page-hero h1{font-size:clamp(2.5rem,6.5vw,4.8rem);letter-spacing:-.04em;line-height:1;max-width:17ch}
.page-hero .lead2{color:var(--muted);max-width:42rem;margin-top:1.3rem;font-size:1.12rem}
.crumb{display:flex;gap:.55rem;font-size:.84rem;color:var(--muted);margin-bottom:1.6rem}
.crumb a:hover{color:var(--accent)}

/* ---------- serviços em zigue-zague ---------- */
.zz{display:grid;gap:clamp(3.5rem,7vw,6rem)}
.zrow{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2rem,5.5vw,5rem);align-items:center}
.zrow:nth-child(even) figure{order:2}
.zrow figure{margin:0;position:relative;isolation:isolate}
.zrow figure::before{content:"";position:absolute;inset:18px -18px -18px 18px;border-radius:var(--radius);background:color-mix(in srgb,var(--accent) 16%,transparent);z-index:-1}
.zrow:nth-child(even) figure::before{inset:18px 18px -18px -18px}
.zrow img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.zrow .big{display:block;font-family:var(--font-display);font-size:clamp(3.6rem,8vw,6.2rem);font-weight:800;line-height:.9;color:transparent;-webkit-text-stroke:1.5px var(--accent)}
.zrow h2{font-size:clamp(1.8rem,3.6vw,2.6rem);margin:.7rem 0 .9rem;letter-spacing:-.03em}
.zrow p{color:var(--muted);font-size:1.05rem;max-width:34rem;margin-bottom:.6rem}
.zrow .tag{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;font-size:.84rem;color:var(--text);border:1px solid var(--line);border-radius:999px;padding:.45rem 1rem;background:var(--surface)}
.zrow .tag::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent)}

/* ---------- sobre ---------- */
.ab{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(2.5rem,6vw,5.5rem);align-items:center}
.ab h2+p{color:var(--muted);margin-top:1.3rem;font-size:1.06rem}
.ficha{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.fi{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.5rem;border-top:3px solid var(--accent)}
.fi.w{grid-column:1/-1}
.fi span{font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-weight:700}
.fi p{color:var(--text);font-weight:500;margin-top:.45rem;font-size:1.04rem;line-height:1.6}
.fi a{border-bottom:1px solid var(--accent)}
.contact-grid .ficha{grid-template-columns:1fr}

/* ---------- páginas legais ---------- */
.lg{display:grid;grid-template-columns:1fr 320px;gap:clamp(2rem,5vw,4rem);align-items:start}
.lg-body{max-width:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.6rem,4vw,3rem)}
.lg-body h2:first-child{margin-top:0}
.lg-side{position:sticky;top:100px}
.lg-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.6rem;border-top:3px solid var(--accent)}
.lg-card p{color:var(--muted);margin:.3rem 0;font-size:.94rem}
.lg-card strong{color:var(--text)}
.lg-card .btn{margin-top:1.2rem;width:100%;justify-content:center}
.lg-link{display:block;margin-top:1rem;font-size:.9rem;color:var(--accent);font-weight:600}
.wa-label{font-size:.76rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:700}

/* ---------- rodapé novo ---------- */
footer.ft{padding:4.5rem 0 2rem;border-top:1px solid var(--line);background:var(--bg2);position:relative}
footer.ft::before{content:"";position:absolute;top:-1px;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--accent-2),transparent)}
.ft-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:3rem}
footer.ft p,footer.ft p:last-child{display:block;margin:.35rem 0;padding:0;border:0}
.ft-brand .mk-name{font-size:1.5rem;display:block}
.ft-desc{color:var(--muted);margin:1rem 0 1.5rem!important;max-width:22rem}
footer.ft .fh{font-family:var(--font-display);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}
footer.ft .ft-h2{margin-top:1.8rem}
.ft-links{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:.45rem 1rem}
.ft-links a{color:var(--muted)}.ft-links a:hover{color:var(--accent)}
.ft-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;margin-top:3.2rem;padding-top:1.5rem;border-top:1px solid var(--line);font-size:.84rem;color:var(--muted)}
.t1 footer.ft .wrap{width:auto;padding-inline:clamp(1.2rem,4vw,3rem)}
.t1 .sx>.wrap{width:auto;padding-inline:clamp(1.2rem,4vw,3rem)}

/* ---------- responsivo ---------- */
@media(max-width:1100px){
  .sv-grid{grid-template-columns:repeat(2,1fr)}
  .proc2{grid-template-columns:repeat(3,1fr);row-gap:2.5rem}
  .proc2::before{display:none}
}
@media(max-width:860px){
  .sx-head,.feat,.wy,.ab,.zrow,.lg,.ft-grid{grid-template-columns:1fr}
  .sx-head{gap:1rem;margin-bottom:2.2rem}
  .feat.rev .collage,.zrow:nth-child(even) figure{order:0}
  .collage{min-height:400px}
  .proc2{grid-template-columns:1fr;row-gap:1.4rem}
  .pstep{padding:0 0 0 4.6rem;min-height:56px}
  .pc .pstep{padding:1.3rem 1.3rem 1.3rem 5rem}
  .pc .pstep .n{top:1.2rem}
  .wy-g .wy-c:nth-child(even){transform:none}
  .ficha{grid-template-columns:1fr}
  .lg-side{position:static}
  .hero>.tl{display:none}
  .tl{left:12px;bottom:-26px;width:76%}
  .hero-fig::before{inset:-10px -10px 10px 10px}
  .hero-fig{margin-bottom:1.6rem}
  .t1 .hero,.t3 .hero.wrap,.t7 .hero.wrap,.t2 .hero-grid{gap:3.2rem}
}
@media(max-width:560px){
  .sv-grid,.wy-g{grid-template-columns:1fr}
  .ov .sv-card{min-height:360px}
  .collage{min-height:330px}
  .collage .badge{font-size:.85rem;max-width:170px}
  .ft-links{grid-template-columns:1fr 1fr}
}
@media(prefers-reduced-motion:reduce){.mq-track,.ph{animation:none}}

/* ================= VARIAÇÕES ESTRUTURAIS ================= */
.sx-head h2{font-size:clamp(2.1rem,4.8vw,3.5rem);letter-spacing:-.035em;line-height:1.02}
.sx-head.c{grid-template-columns:1fr;text-align:center;justify-items:center}
.sx-head.c>p{max-width:40rem}
.sx-head.c .eyebrow::after{content:"";width:30px;height:2px;background:var(--accent)}
.ic{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent);margin-bottom:1.1rem;flex:none}
.ic svg,.chips svg,.w4-c svg,.wc-i svg,.wd-c svg,.we-i svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* ---------- cabeçalhos ---------- */
header.hd-c .wrap{flex-direction:column;gap:.9rem;padding-block:1.1rem}
header.hd-c .marca{align-items:center;text-align:center}
header.hd-c nav{justify-content:center}
header.hd-pill{position:sticky;top:14px;background:transparent!important;border:0!important;box-shadow:none!important;margin-top:14px;z-index:50}
header.hd-pill .wrap{background:color-mix(in srgb,var(--surface) 78%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--line);border-radius:999px;padding:.6rem .7rem .6rem 1.5rem;box-shadow:var(--shadow)}
header.hd-tel .tel-chip{margin-left:auto;margin-right:1.2rem;font-size:.82rem;font-weight:600;padding:.45rem .9rem;border-radius:999px;border:1px solid var(--line);color:var(--text);white-space:nowrap}
header.hd-tel .tel-chip:hover{border-color:var(--accent);color:var(--accent)}
header.hd-tel nav{margin-left:0}
header.hd-min{border-bottom:2px solid var(--text)!important}
header.hd-min nav a:not(.btn){text-transform:uppercase;letter-spacing:.14em;font-size:.74rem;font-weight:700}
header.hd-min .btn{border-radius:0}

/* ---------- serviços: bento ---------- */
.bento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(230px,auto);gap:1.2rem}
.bt{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--surface);border:1px solid var(--line);padding:1.7rem;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;transition:transform .3s,box-shadow .3s}
.bt:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg)}
.bt>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .7s}
.bt:hover>img{transform:scale(1.06)}
.bt>img+.bt-c::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,transparent 30%,rgba(0,0,0,.85))}
.bt-c{color:#fff}.bt-c h3,.bt-c h2{color:#fff}.bt-c p{color:rgba(255,255,255,.8)}
.bt-n{font-family:var(--font-display);font-weight:800;font-size:.85rem;color:var(--accent);letter-spacing:.1em;margin-bottom:.4rem;display:block}
.bt h3,.bt h2{font-size:1.35rem;margin-bottom:.45rem;letter-spacing:-.02em}
.bt p{color:var(--muted);font-size:.95rem}
.bento .bt1{grid-column:span 2;grid-row:span 2;min-height:480px}
.bento .bt2{grid-column:span 2}
.bento .bt3{background:var(--accent);border-color:transparent}
.bento .bt3,.bento .bt3 h3,.bento .bt3 h2,.bento .bt3 p,.bento .bt3 .bt-n{color:var(--accent-ink)}
.bento .bt3 .ic{background:color-mix(in srgb,var(--accent-ink) 14%,transparent);color:var(--accent-ink)}
.bento .bt-c h3,.bento .bt1 h2{font-size:1.6rem}
.bento5 .bt1{grid-row:span 2}
.bento5 .bt4{grid-column:span 2;min-height:300px}
.bento5 .bt5{grid-column:span 2}

/* ---------- serviços: editorial ---------- */
.ed{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(2.5rem,6vw,5.5rem);align-items:start}
.ed-side{position:sticky;top:100px}
.ed-lead{color:var(--muted);margin:1.1rem 0 1.8rem;font-size:1.05rem}
.ed-fig{margin:0}.ed-fig img{width:100%;aspect-ratio:4/3.4;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.ed-fig2{margin-top:1.2rem;width:70%;margin-left:auto}
.ed-row{display:grid;grid-template-columns:auto 1fr;gap:1.6rem;padding:2rem 0;border-top:1px solid var(--line);transition:padding .3s}
.ed-row:last-of-type{border-bottom:1px solid var(--line);margin-bottom:2rem}
.ed-row:hover{padding-left:.8rem}
.ed-n{font-family:var(--font-display);font-weight:800;font-size:2.4rem;line-height:1;color:var(--accent);min-width:3.2rem}
.ed-row h3,.ed-row h2{font-size:clamp(1.3rem,2.4vw,1.75rem);margin-bottom:.45rem;letter-spacing:-.02em}
.ed-row p{color:var(--muted)}
.ed-page .ed-row p+p{margin-top:.5rem}

/* ---------- serviços: vidro com ícones ---------- */
.sv-e{background:radial-gradient(60% 70% at 15% 10%,color-mix(in srgb,var(--accent) 22%,transparent),transparent 70%),radial-gradient(50% 60% at 90% 90%,color-mix(in srgb,var(--accent-2) 20%,transparent),transparent 70%),var(--bg2)}
.ge-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem}
.ge{position:relative;padding:2rem 1.6rem 1.8rem;border-radius:var(--radius);background:color-mix(in srgb,var(--surface) 65%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid color-mix(in srgb,var(--text) 12%,transparent);overflow:hidden;transition:transform .3s,border-color .3s}
.ge:hover{transform:translateY(-6px);border-color:var(--accent)}
.ge h3{font-size:1.2rem;margin-bottom:.5rem}.ge p{color:var(--muted);font-size:.94rem}
.ge-n{position:absolute;right:1rem;top:.6rem;font-family:var(--font-display);font-weight:800;font-size:3.4rem;color:color-mix(in srgb,var(--text) 7%,transparent);line-height:1}

/* ---------- serviços: imagem + lista ---------- */
.sf{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:stretch}
.sf figure{margin:0;position:relative;min-height:460px}
.sf figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:var(--radius)}
.sf figcaption{position:absolute;left:1.2rem;bottom:1.2rem;background:var(--accent);color:var(--accent-ink);font-weight:700;padding:.7rem 1rem;border-radius:var(--radius-sm);font-size:.9rem}
.sf-list{list-style:none;display:grid;gap:.9rem;align-content:center}
.sf-list li{display:grid;grid-template-columns:auto 1fr auto;gap:1.2rem;align-items:center;padding:1.3rem 1.4rem;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);transition:border-color .3s,transform .3s}
.sf-list li:hover{border-color:var(--accent);transform:translateX(6px)}
.sf-n{width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent);font-weight:800;font-family:var(--font-display)}
.sf-list h3{font-size:1.1rem;margin-bottom:.2rem}.sf-list p{color:var(--muted);font-size:.92rem}
.sf-ar{color:var(--accent);font-size:1.3rem;transition:transform .3s}.sf-list li:hover .sf-ar{transform:translateX(4px)}

/* ---------- destaque: meia tela ---------- */
.fb{display:grid;grid-template-columns:1fr 1fr;min-height:640px;background:var(--bg2)}
.fb.alt{background:var(--bg)}
.fb figure{margin:0;position:relative}
.fb figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.fb-txt{padding:clamp(3rem,7vw,6rem) clamp(1.5rem,6vw,6rem);align-self:center;max-width:680px}
.fb-txt h2{font-size:clamp(2rem,4.4vw,3.2rem);letter-spacing:-.035em;line-height:1.04}
.fb-txt h2+p{color:var(--muted);margin-top:1.2rem;font-size:1.06rem}

/* ---------- destaque: frase grande ---------- */
.st{text-align:center;max-width:62rem;margin:0 auto}
.st .eyebrow{justify-content:center}
.st-h{font-size:clamp(2.4rem,6vw,4.6rem)!important;line-height:1.02!important}
.st-p{color:var(--muted);font-size:1.15rem;max-width:44rem;margin:1.5rem auto 2rem}
.st-strip{display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:1.2rem;margin-top:4rem;align-items:end}
.st-strip img{width:100%;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.st-strip img:nth-child(1){aspect-ratio:3/4}.st-strip img:nth-child(2){aspect-ratio:4/4.4}.st-strip img:nth-child(3){aspect-ratio:3/3.6}

/* ---------- destaque: caixa sobreposta ---------- */
.od{position:relative;padding-bottom:4rem}
.od figure{margin:0;width:72%}
.od figure img{width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.od-box{position:absolute;right:0;bottom:0;width:min(520px,48%);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(1.8rem,3.5vw,2.8rem);box-shadow:var(--shadow-lg);border-top:4px solid var(--accent)}
.od-box h2{font-size:clamp(1.8rem,3.4vw,2.6rem)!important}
.od-box h2+p{color:var(--muted);margin-top:1rem}
.od-box .ticks{margin:1.4rem 0 1.6rem}

/* ---------- processo: vertical alternado ---------- */
.vt{position:relative;max-width:880px;margin:0 auto;display:grid;gap:1.6rem}
.vt::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;transform:translateX(-1px);background:linear-gradient(var(--accent),color-mix(in srgb,var(--accent) 10%,transparent))}
.vt-i{display:grid;grid-template-columns:1fr 64px 1fr;align-items:center}
.vt-i .n{grid-column:2;justify-self:center;width:52px;height:52px;border-radius:50%;display:grid;place-items:center;background:var(--accent);color:var(--accent-ink);font-weight:800;font-family:var(--font-display);box-shadow:0 0 0 8px color-mix(in srgb,var(--accent) 15%,transparent);z-index:1}
.vt-c{grid-column:1;grid-row:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem 1.6rem;text-align:right}
.vt-i:nth-child(even) .vt-c{grid-column:3;text-align:left}
.vt-c h3{font-size:1.15rem;margin-bottom:.3rem}.vt-c p{color:var(--muted);font-size:.95rem}

/* ---------- processo: números gigantes ---------- */
.hn-list{border-top:1px solid var(--line)}
.hn-row{display:grid;grid-template-columns:180px 260px 1fr;gap:2rem;align-items:center;padding:1.8rem 0;border-bottom:1px solid var(--line);transition:background .3s}
.hn-row:hover{background:color-mix(in srgb,var(--accent) 6%,transparent)}
.hn{font-family:var(--font-display);font-weight:800;font-size:clamp(3.5rem,7vw,5.5rem);line-height:.9;color:transparent;-webkit-text-stroke:1.5px var(--accent)}
.hn-row:hover .hn{color:var(--accent)}
.hn-row h3{font-size:1.5rem}.hn-row p{color:var(--muted);font-size:1.02rem}

/* ---------- processo: faixa fotográfica ---------- */
.pe{position:relative;padding:clamp(5rem,10vw,8rem) 0;isolation:isolate;color:#fff;overflow:hidden}
.pe-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.pe::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(120deg,rgba(5,6,10,.92),rgba(5,6,10,.7) 60%,color-mix(in srgb,var(--accent) 40%,rgba(5,6,10,.7)))}
.pe h2,.pe h3{color:#fff}.pe .sx-head>p{color:rgba(255,255,255,.75)}
.pe-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
.pe-c{background:rgba(255,255,255,.07);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:1.6rem 1.3rem}
.pe-c .n{display:inline-block;font-family:var(--font-display);font-weight:800;font-size:2rem;color:var(--accent);margin-bottom:.8rem}
.pe-c h3{font-size:1.1rem;margin-bottom:.35rem}.pe-c p{color:rgba(255,255,255,.75);font-size:.92rem}

/* ---------- processo: trilha de edição ---------- */
.nle{position:relative;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:3.2rem 1.4rem 1.6rem;overflow:hidden}
.nle-ruler{position:absolute;top:0;left:0;right:0;height:30px;border-bottom:1px solid var(--line);background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--text) 30%,transparent) 0 1px,transparent 1px 20px) bottom/100% 8px no-repeat,repeating-linear-gradient(90deg,color-mix(in srgb,var(--text) 45%,transparent) 0 1px,transparent 1px 100px) bottom/100% 16px no-repeat;background-color:color-mix(in srgb,var(--text) 4%,transparent)}
.nle-cols{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem}
.clip{height:62px;border-radius:8px;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 65%,var(--accent-2)));color:var(--accent-ink);font-weight:700;font-size:1rem;display:flex;align-items:center;gap:.6rem;padding:0 1rem;box-shadow:inset 0 -14px 0 color-mix(in srgb,#000 12%,transparent);margin-bottom:1.2rem}
.nc:nth-child(even) .clip{background:linear-gradient(135deg,color-mix(in srgb,var(--accent-2) 80%,var(--surface)),color-mix(in srgb,var(--accent) 55%,var(--surface)))}
.clip b{font-family:ui-monospace,Consolas,monospace;font-size:.78rem;opacity:.75}
.nc p{color:var(--muted);font-size:.93rem;padding-right:.4rem}
.nle-ph{position:absolute;top:0;bottom:0;left:40%;width:2px;background:#ff4d4d;animation:ph 12s ease-in-out infinite alternate;pointer-events:none}
.nle-ph::before{content:"";position:absolute;top:0;left:-6px;border-left:7px solid transparent;border-right:7px solid transparent;border-top:10px solid #ff4d4d}

/* ---------- por que: 4 colunas ---------- */
.w4{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.w4-c{padding:2.2rem 1.8rem;border-right:1px solid var(--line);position:relative;transition:background .3s}
.w4-c:last-child{border-right:0}
.w4-c::before{content:"";position:absolute;top:-1px;left:0;width:0;height:3px;background:var(--accent);transition:width .4s}
.w4-c:hover::before{width:100%}
.w4-c:hover{background:color-mix(in srgb,var(--accent) 5%,transparent)}
.w4-c svg{width:34px;height:34px;color:var(--accent);margin-bottom:1.3rem}
.w4-c h3{font-size:1.15rem;margin-bottom:.4rem}.w4-c p{color:var(--muted);font-size:.94rem}

/* ---------- por que: faixa na cor de destaque ---------- */
.wc{background:var(--accent);color:var(--accent-ink);padding:clamp(4.5rem,9vw,7rem) 0;position:relative;overflow:hidden}
.wc::after{content:"";position:absolute;right:-10%;top:-40%;width:60%;height:180%;background:radial-gradient(circle,color-mix(in srgb,var(--accent-ink) 12%,transparent),transparent 60%);pointer-events:none}
.wc-g{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2.5rem,6vw,5rem);align-items:center;position:relative;z-index:1}
.wc h2{font-size:clamp(2.2rem,5vw,3.6rem);letter-spacing:-.035em;line-height:1.02;color:var(--accent-ink)}
.wc .eyebrow{color:var(--accent-ink)}.wc .eyebrow::before{background:var(--accent-ink)}
.wc-g>div>p{margin:1.3rem 0 2rem;opacity:.85;font-size:1.06rem}
.wc .btn{background:var(--accent-ink);color:var(--accent)}
.wc-list{list-style:none;display:grid;gap:1rem}
.wc-list li{display:flex;gap:1.1rem;padding:1.3rem;border-radius:var(--radius);background:color-mix(in srgb,var(--accent-ink) 9%,transparent);border:1px solid color-mix(in srgb,var(--accent-ink) 16%,transparent)}
.wc-i{flex:none;width:46px;height:46px;border-radius:12px;display:grid;place-items:center;background:var(--accent-ink);color:var(--accent)}
.wc-list h3{font-size:1.1rem;color:var(--accent-ink);margin-bottom:.2rem}.wc-list p{opacity:.82;font-size:.94rem}

/* ---------- por que: foto com vidro ---------- */
.wd{position:relative;padding:clamp(5rem,10vw,8rem) 0;isolation:isolate;color:#fff;overflow:hidden}
.wd-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.wd::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,7,12,.82),rgba(6,7,12,.9))}
.wd h2,.wd h3{color:#fff}.wd .sx-head>p{color:rgba(255,255,255,.75)}
.wd-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.1rem}
.wd-c{background:rgba(255,255,255,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.16);border-radius:var(--radius);padding:1.8rem 1.5rem;transition:transform .3s,background .3s}
.wd-c:hover{transform:translateY(-6px);background:rgba(255,255,255,.12)}
.wd-c svg{width:30px;height:30px;color:var(--accent);margin-bottom:1.1rem}
.wd-c h3{font-size:1.1rem;margin-bottom:.35rem}.wd-c p{color:rgba(255,255,255,.75);font-size:.93rem}

/* ---------- por que: imagem + checklist ---------- */
.we{display:grid;grid-template-columns:.95fr 1.05fr;gap:clamp(2.5rem,6vw,5rem);align-items:center}
.we figure{margin:0;position:relative;isolation:isolate}
.we figure::after{content:"";position:absolute;inset:auto -18px -18px auto;width:55%;height:55%;border-radius:var(--radius);background:repeating-linear-gradient(45deg,color-mix(in srgb,var(--accent) 35%,transparent) 0 2px,transparent 2px 12px);z-index:-1}
.we figure img{width:100%;aspect-ratio:4/4.6;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.we-lead{color:var(--muted);margin:1.2rem 0 1.8rem;font-size:1.05rem}
.we-list{list-style:none;display:grid;gap:1.3rem}
.we-list li{display:flex;gap:1.1rem;align-items:flex-start}
.we-i{flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:1.5px solid var(--accent);color:var(--accent)}
.we-list h3{font-size:1.1rem;margin-bottom:.2rem}.we-list p{color:var(--muted);font-size:.95rem}

/* ---------- faixas ---------- */
.chips-band{padding:2.2rem 0;border-block:1px solid var(--line)}
.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem}
.chips span{display:inline-flex;align-items:center;gap:.6rem;padding:.75rem 1.2rem;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-weight:600;font-size:.95rem;transition:border-color .3s,color .3s}
.chips span:hover{border-color:var(--accent);color:var(--accent)}
.chips svg{width:18px;height:18px;color:var(--accent)}
.film{overflow:hidden;background:#0b0b0d;padding:26px 0;position:relative}
.film::before,.film::after{content:"";position:absolute;left:0;right:0;height:12px;background:repeating-linear-gradient(90deg,transparent 0 10px,#f2f2f2 10px 22px,transparent 22px 32px);opacity:.85;z-index:2}
.film::before{top:7px}.film::after{bottom:7px}
.film-track{display:flex;gap:10px;width:max-content;animation:mq 60s linear infinite}
.film-track img{height:200px;width:300px;object-fit:cover;border-radius:4px}

/* ---------- CTAs ---------- */
.cb{display:grid;grid-template-columns:1.1fr .9fr;min-height:480px}
.cb-txt{background:var(--accent);color:var(--accent-ink);padding:clamp(3rem,7vw,6rem) clamp(1.5rem,6vw,6rem);display:flex;flex-direction:column;justify-content:center}
.cb-txt .eyebrow{color:var(--accent-ink)}.cb-txt .eyebrow::before{background:var(--accent-ink)}
.cb-txt h2{color:var(--accent-ink);font-size:clamp(2.2rem,5vw,3.8rem);letter-spacing:-.035em;line-height:1.02;max-width:14ch}
.cb-txt>p:not(.eyebrow){opacity:.88;margin:1.1rem 0 2rem;max-width:30rem;font-size:1.08rem}
.cb-txt .btn{background:var(--accent-ink);color:var(--accent);align-self:flex-start}
.cb figure{margin:0;position:relative}.cb figure img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cc{text-align:center;max-width:52rem;margin:0 auto;padding:clamp(3rem,6vw,5rem) clamp(1.5rem,4vw,4rem);border:1.5px dashed color-mix(in srgb,var(--accent) 60%,transparent);border-radius:calc(var(--radius)*1.5);position:relative}
.cc::before,.cc::after{content:"";position:absolute;width:22px;height:22px;border:3px solid var(--accent)}
.cc::before{top:-2px;left:-2px;border-right:0;border-bottom:0;border-top-left-radius:calc(var(--radius)*1.5)}
.cc::after{bottom:-2px;right:-2px;border-left:0;border-top:0;border-bottom-right-radius:calc(var(--radius)*1.5)}
.cc .eyebrow{justify-content:center}
.cc h2{font-size:clamp(2.2rem,5vw,3.6rem)!important}
.cc>p:not(.eyebrow){color:var(--muted);margin:1rem auto 2rem;max-width:34rem;font-size:1.08rem}
.cc-tel{display:block;margin-top:1.2rem;color:var(--muted);font-size:.9rem}
.cd{background:#0a0a0c;color:#fff;padding:clamp(4.5rem,9vw,7rem) 0;position:relative;overflow:hidden}
.cd::before{content:"";position:absolute;left:-10%;bottom:-60%;width:70%;height:150%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 35%,transparent),transparent 60%);pointer-events:none}
.cd .wrap{position:relative}
.cd-h{color:rgba(255,255,255,.92);font-size:clamp(1.4rem,2.6vw,2rem);letter-spacing:-.02em}
.cd-num{display:block;font-family:var(--font-display);font-weight:800;font-size:clamp(2.8rem,10vw,8rem);line-height:1;letter-spacing:-.04em;color:#fff;margin:.4rem 0 2rem;transition:color .3s}
.cd-num:hover{color:var(--accent)}
.cd-row{display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.15);padding-top:2rem}
.cd-row p{color:rgba(255,255,255,.75);max-width:34rem;font-size:1.06rem}
.ce{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:clamp(2.2rem,5vw,3.5rem);border-radius:calc(var(--radius)*1.4);background:linear-gradient(var(--surface),var(--surface)) padding-box,linear-gradient(120deg,var(--accent),var(--accent-2),var(--accent)) border-box;border:2px solid transparent;box-shadow:var(--shadow-lg)}
.ce h2{font-size:clamp(1.9rem,4vw,2.8rem)!important}
.ce p{color:var(--muted);margin-top:.6rem;max-width:36rem}
.ce .btn{flex:none;padding:1.1rem 1.8rem}

/* ---------- rodapés ---------- */
footer.fB,footer.fC,footer.fD{padding:4.5rem 0 2rem;background:var(--bg2);border-top:1px solid var(--line)}
footer.fB p,footer.fC p,footer.fD p,footer.fB p:last-child,footer.fC p:last-child,footer.fD p:last-child{display:block;margin:.35rem 0;padding:0;border:0}
footer.fB .fh,footer.fD .fh{font-family:var(--font-display);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}
.fB-g{display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:3rem}
.fB-big{font-family:var(--font-display);font-weight:800;font-size:min(7.5rem,calc(min(92vw,1200px) / (var(--n) * .6)))!important;line-height:1!important;letter-spacing:-.045em;margin-top:3.5rem!important;color:transparent;-webkit-text-stroke:1.2px color-mix(in srgb,var(--text) 35%,transparent);white-space:nowrap;overflow:hidden;text-overflow:clip}
footer.fC{text-align:center}
footer.fC .mk-name{font-size:1.7rem;display:block;margin-bottom:1.5rem}
.fC-links{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:.6rem 1.8rem;padding:1.3rem 0;margin-bottom:1.5rem;border-block:1px solid var(--line)}
.fC-links a{color:var(--muted);font-weight:500}.fC-links a:hover{color:var(--accent)}
footer.fC p{color:var(--muted)}
footer.fD{padding-top:0}
.fD-strip{background:var(--accent);color:var(--accent-ink);padding:1.6rem 0;margin-bottom:4rem}
.fD-strip .wrap{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap}
.fD-strip span{font-family:var(--font-display);font-weight:700;font-size:clamp(1.3rem,2.6vw,1.9rem);letter-spacing:-.02em}
.fD-strip .btn{background:var(--accent-ink);color:var(--accent)}
.fD-g{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:2.5rem}
footer.fD .mk-name{font-size:1.4rem;display:block}
.fD-d{color:var(--muted);margin-top:.8rem!important}
.ft-links.one{grid-template-columns:1fr;margin-top:1rem}
footer.fB .ft-links{margin-top:1rem}
.t1 footer.fB .wrap,.t1 footer.fC .wrap,.t1 footer.fD .wrap{width:auto;padding-inline:clamp(1.2rem,4vw,3rem)}

/* ---------- topos internos ---------- */
.phB{padding:clamp(3.5rem,7vw,5.5rem) 0;border-bottom:1px solid var(--line)}
.phB-g{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(2rem,5vw,4rem);align-items:center}
.phB h1,.phC h1,.phD h1{font-size:clamp(2.5rem,6.5vw,4.6rem);letter-spacing:-.04em;line-height:1}
.phB figure{margin:0}.phB figure img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.phC{position:relative;padding:clamp(5rem,10vw,8rem) 0 clamp(3rem,6vw,4.5rem);overflow:hidden;background-image:linear-gradient(color-mix(in srgb,var(--text) 6%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--text) 6%,transparent) 1px,transparent 1px);background-size:64px 64px}
.phC::after{content:"";position:absolute;right:-5%;top:-30%;width:45%;height:160%;background:radial-gradient(circle,color-mix(in srgb,var(--accent) 28%,transparent),transparent 65%);pointer-events:none}
.phC .wrap{position:relative;z-index:1}
.phC h1{font-size:clamp(3rem,9vw,6.5rem)!important;max-width:14ch}
.phC-line{display:block;height:4px;width:120px;background:var(--accent);margin-top:2.2rem;border-radius:4px}
.phD{padding:clamp(4.5rem,9vw,7rem) 0 0;text-align:center;background:radial-gradient(60% 60% at 50% 0%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 70%)}
.phD .crumb,.phD .eyebrow{justify-content:center}
.phD h1{margin:0 auto}.phD .lead2{margin-inline:auto}
.phD-img{margin-top:3rem}.phD-img img{width:100%;height:clamp(220px,32vw,420px);object-fit:cover;border-radius:var(--radius) var(--radius) 0 0}
.lead2{color:var(--muted);max-width:42rem;margin-top:1.3rem;font-size:1.12rem}

/* ---------- serviços (página): grade ---------- */
.sg{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.sg-c{border-radius:var(--radius);overflow:hidden;background:var(--surface);border:1px solid var(--line);transition:transform .3s,box-shadow .3s}
.sg-c:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.sg-c figure{margin:0;aspect-ratio:16/10;overflow:hidden}.sg-c img{width:100%;height:100%;object-fit:cover}
.sg-w{grid-column:span 2;display:grid;grid-template-columns:1.1fr 1fr}
.sg-w figure{aspect-ratio:auto;min-height:100%}
.sg-b{padding:1.7rem}
.sg-n{font-family:var(--font-display);font-weight:800;color:var(--accent);font-size:.9rem;letter-spacing:.12em}
.sg-b h2{font-size:1.45rem;margin:.4rem 0 .6rem}.sg-b p{color:var(--muted);font-size:.96rem}.sg-b p+p{margin-top:.5rem}

/* ---------- sobre ---------- */
.ob{max-width:50rem;margin:0 auto;text-align:center}
.ob .eyebrow{justify-content:center}
.ob h2+p{color:var(--muted);margin-top:1.3rem;font-size:1.12rem}
.ob-img{margin:3.5rem 0 0}.ob-img img{width:100%;height:clamp(260px,38vw,520px);object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.ob2{display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.ob2-p{color:var(--muted);margin-top:1rem}
.fdl{display:grid;border-top:1px solid var(--line)}
.fdl>div{display:grid;grid-template-columns:200px 1fr;gap:1.5rem;padding:1.15rem 0;border-bottom:1px solid var(--line)}
.fdl dt{font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:700;padding-top:.2rem}
.fdl dd{margin:0;font-weight:500;line-height:1.6}
.fdl a{border-bottom:1px solid var(--accent)}
.oc{display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.oc h2+p{color:var(--muted);margin-top:1.2rem;font-size:1.06rem}
.oc-img{margin:0}.oc-img img{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.oc-side{position:sticky;top:100px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.8rem;box-shadow:var(--shadow)}
.oc-side .fdl{margin:1rem 0 1.5rem}.oc-side .fdl>div{grid-template-columns:1fr;gap:.25rem}
.oc-side .btn{width:100%;justify-content:center}

/* ---------- contato ---------- */
.kb{position:relative;padding:clamp(5rem,10vw,8rem) 0;isolation:isolate;color:#fff;text-align:center;overflow:hidden}
.kb-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.kb::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,7,12,.78),rgba(6,7,12,.9))}
.kb .eyebrow{justify-content:center}
.kb-num{display:block;font-family:var(--font-display);font-weight:800;font-size:clamp(2.6rem,9vw,6.5rem);letter-spacing:-.04em;line-height:1;color:#fff;margin:.6rem 0 1.4rem}
.kb-num:hover{color:var(--accent)}
.kb p:not(.eyebrow){color:rgba(255,255,255,.8);max-width:34rem;margin:0 auto 2rem;font-size:1.08rem}
.kc{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:center}
.kc figure{margin:0}.kc figure img{width:100%;aspect-ratio:4/4.8;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow-lg)}
.kc .wa-num{font-family:var(--font-display);font-size:clamp(2rem,4.5vw,3rem);font-weight:800;letter-spacing:-.03em;margin:.4rem 0 .8rem}
.kc-p{color:var(--muted);margin-bottom:1.6rem}
.kc .fdl{margin-top:2.5rem}

/* ---------- legais ---------- */
.lb-bar{display:flex;flex-wrap:wrap;gap:.8rem 2rem;justify-content:center;max-width:52rem;margin:0 auto 2.5rem;padding:1rem 1.4rem;border-radius:999px;background:var(--surface);border:1px solid var(--line);font-size:.92rem;color:var(--muted)}
.lb-bar strong{color:var(--text)}.lb-bar a{color:var(--accent);font-weight:600}
.lb-body{max-width:46rem;margin:0 auto}
.lb-next{max-width:46rem;margin:3rem auto 0;padding-top:1.5rem;border-top:1px solid var(--line)}
.lb-next a{color:var(--accent);font-weight:700}
.lc{display:grid;grid-template-columns:300px 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.lc-toc{position:sticky;top:100px}
.lc-toc ol{list-style:none;counter-reset:t;margin:1rem 0 1.8rem;border-left:2px solid var(--line)}
.lc-toc li{counter-increment:t}
.lc-toc ol a{display:block;padding:.45rem 0 .45rem 1rem;margin-left:-2px;border-left:2px solid transparent;color:var(--muted);font-size:.93rem}
.lc-toc ol a::before{content:counter(t,decimal-leading-zero)"  ";color:var(--accent);font-weight:700;font-size:.8rem}
.lc-toc ol a:hover{color:var(--text);border-left-color:var(--accent)}
.sx .legal h2{font-size:clamp(1.3rem,2.4vw,1.7rem);letter-spacing:-.015em;margin:2.4rem 0 .7rem;line-height:1.2}
.sx .legal h2:first-child{margin-top:0}
.lc-body{max-width:none}
.lc-body h2{scroll-margin-top:100px}

/* ---------- responsivo ---------- */
@media(max-width:1100px){
  .ge-grid,.wd-grid{grid-template-columns:repeat(2,1fr)}
  .pe-grid{grid-template-columns:repeat(3,1fr)}
  .nle-cols{grid-template-columns:repeat(3,1fr);row-gap:1.4rem}
  .w4{grid-template-columns:repeat(2,1fr)}.w4-c:nth-child(2){border-right:0}.w4-c:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .hn-row{grid-template-columns:120px 1fr;}.hn-row p{grid-column:2}
  .fD-g{grid-template-columns:1fr 1fr}
  .sg{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:860px){
  .bento,.bento5{grid-template-columns:1fr 1fr}
  .bento .bt1,.bento5 .bt1{grid-column:span 2;grid-row:auto;min-height:340px}
  .bento .bt2,.bento5 .bt4,.bento5 .bt5{grid-column:span 2}
  .ed,.sf,.fb,.we,.wc-g,.cb,.phB-g,.ob2,.oc,.kc,.lc,.fB-g{grid-template-columns:1fr}
  .ed-side,.oc-side,.lc-toc{position:static}
  .ed-fig2{display:none}
  .sf figure{min-height:300px}
  .fb figure{min-height:320px}
  .od figure{width:100%}.od-box{position:relative;width:auto;margin:-3rem 1rem 0}
  .od{padding-bottom:0}
  .st-strip{grid-template-columns:1fr 1fr}.st-strip img:nth-child(3){display:none}
  .vt::before{left:26px}
  .vt-i{grid-template-columns:52px 1fr;gap:1rem}
  .vt-i .n{grid-column:1}
  .vt-c,.vt-i:nth-child(even) .vt-c{grid-column:2;text-align:left}
  .hn-row{grid-template-columns:1fr;gap:.4rem}.hn-row p{grid-column:auto}
  .cb figure{min-height:280px}
  .ce{flex-direction:column;align-items:flex-start}
  .fdl>div{grid-template-columns:1fr;gap:.25rem}
  .sg-w{grid-column:auto;grid-template-columns:1fr}.sg-w figure{aspect-ratio:16/10}
  header.hd-c .wrap{flex-direction:row}
  header.hd-c .marca{align-items:flex-start;text-align:left}
  header.hd-pill .wrap{border-radius:var(--radius)}
  header.hd-tel .tel-chip{display:none}
  .film-track img{height:140px;width:210px}
}
@media(max-width:560px){
  .bento,.bento5,.ge-grid,.wd-grid,.pe-grid,.nle-cols,.w4,.sg,.fD-g{grid-template-columns:1fr}
  .bento .bt1,.bento .bt2,.bento5 .bt1,.bento5 .bt4,.bento5 .bt5{grid-column:auto}
  .w4-c{border-right:0;border-bottom:1px solid var(--line)}
  .nle-ph{display:none}
}
@media(prefers-reduced-motion:reduce){.film-track,.nle-ph{animation:none}}

.prose article{margin:1.15rem 0}
.panel{margin:1.1rem 0}
.panel p{margin:.4rem 0}
@media(max-width:800px){body{padding-bottom:4.2rem}}
