/* Identidade Quanta 3D (roxo, preto, branco e neutros). Carregado por último: só ajusta aparência,
   não muda nenhuma regra do site. Para voltar ao visual anterior, basta remover este arquivo do topo(). */
:root{
  --bg:#f7f6fa;--panel:#ffffff;--ink:#16121f;--muted:#5d5869;--line:#e6e2ee;--soft:#f1eef6;--deep:#120e1a;--deep-ink:#f5f2fb;
  --accent:#6d28d9;--accent-2:#5b21b6;--accent-ink:#ffffff;--accent-soft:#efe8fd;--ok:#15803d;--ok-soft:#e5f5ea;--glow:#a78bfa;
  --shadow:0 1px 2px rgba(22,18,31,.05),0 6px 20px rgba(22,18,31,.06);
  --shadow-up:0 2px 6px rgba(22,18,31,.06),0 16px 36px rgba(22,18,31,.11);
  --r:16px;--r-sm:12px;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#0d0b12;--panel:#16131d;--ink:#eeebf4;--muted:#a19bb0;--line:#2a2536;--soft:#1e1a27;--deep:#09070d;--deep-ink:#f5f2fb;
  --accent:#a78bfa;--accent-2:#c4b5fd;--accent-ink:#170c30;--accent-soft:#261c3f;--ok:#4ade80;--ok-soft:#10291a;--glow:#c4b5fd;
  --shadow:0 1px 2px rgba(0,0,0,.5),0 8px 24px rgba(0,0,0,.4);--shadow-up:0 2px 6px rgba(0,0,0,.5),0 18px 40px rgba(0,0,0,.5)}}
:root[data-theme="dark"]{
  --bg:#0d0b12;--panel:#16131d;--ink:#eeebf4;--muted:#a19bb0;--line:#2a2536;--soft:#1e1a27;--deep:#09070d;--deep-ink:#f5f2fb;
  --accent:#a78bfa;--accent-2:#c4b5fd;--accent-ink:#170c30;--accent-soft:#261c3f;--ok:#4ade80;--ok-soft:#10291a;--glow:#c4b5fd;
  --shadow:0 1px 2px rgba(0,0,0,.5),0 8px 24px rgba(0,0,0,.4);--shadow-up:0 2px 6px rgba(0,0,0,.5),0 18px 40px rgba(0,0,0,.5)}

body{font-size:15.5px;-webkit-font-smoothing:antialiased}
::selection{background:var(--accent-soft)}
h2{font-size:clamp(22px,2.6vw,28px);letter-spacing:-.02em}
.lead{font-size:15px;max-width:62ch}
.h2row{margin:48px 0 18px}
.h2row a{color:var(--accent)}
.kicker{color:var(--accent);letter-spacing:.12em}

/* topo */
.top{background:color-mix(in srgb,var(--panel) 94%,transparent)}
.topbar{padding-block:12px}
.logo b i{color:var(--accent)}
.mark{background-image:url(icone.svg?v=2)}
.nav a{font-weight:600;color:var(--muted);border-radius:10px}
.nav a:hover{background:var(--soft);color:var(--ink)}
.nav a[aria-current="page"]{background:var(--accent-soft);color:var(--accent)}
.nav a.cta-nav{color:var(--accent)}
.sbox input{border-radius:12px;background:var(--soft);border-color:transparent}
.sbox input:focus{background:var(--panel);outline-color:var(--accent)}
.who a{border-radius:10px}
.who a.cad{background:var(--accent);color:var(--accent-ink)}

/* botões: um só padrão no site inteiro */
.btn{font:600 15px/1.2 var(--body);padding:12px 20px;border-radius:12px;background:var(--accent);color:var(--accent-ink);transition:background .15s,transform .15s,box-shadow .15s;justify-content:center}
.btn:hover{filter:none;background:var(--accent-2);box-shadow:0 6px 18px color-mix(in srgb,var(--accent) 28%,transparent)}
.btn:active{transform:translateY(1px)}
.btn.soft{background:var(--soft);color:var(--ink);box-shadow:none}
.btn.soft:hover{background:color-mix(in srgb,var(--accent) 12%,var(--soft))}
.btn.ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.28)}
.btn.ghost:hover{background:rgba(255,255,255,.08);box-shadow:none}
.btn.ok{background:var(--ok);color:#fff}
.btn.danger{background:var(--bad-soft);color:var(--bad)}
.btn.big{padding:15px 24px;font-size:16px}
.btn.sm{padding:8px 13px;font-size:13.5px;border-radius:10px}

/* primeira tela */
.hero{background:var(--deep);color:var(--deep-ink)}
.hero::after{background:radial-gradient(60% 80% at 85% 20%,rgba(124,58,237,.22),transparent 70%)}
.hero .mosaic,.hero .vitrine,.hero .faixa{display:none!important}
.hero .in{padding-block:56px 48px}
.hero-g{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:40px;align-items:center}
.eyebrow{color:#c4b5fd;font-family:var(--display);letter-spacing:.14em}
.hero h1{font-size:clamp(34px,5.2vw,58px);max-width:15ch;margin:12px 0 16px}
.hero h1 span{background:none;color:#c4b5fd;-webkit-text-fill-color:currentColor}
.hero p{color:#cfc8de;font-size:17.5px;max-width:46ch}
.hero-img{position:relative;border-radius:22px;overflow:hidden;aspect-ratio:4/3;background:#1d1828;box-shadow:0 24px 60px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.06)}
.hero-img img{width:100%;height:100%;object-fit:cover;display:block}
.acoes3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:30px}
.acao{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:#fff;padding:16px;border-radius:16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);transition:background .15s,border-color .15s,transform .15s}
.acao:hover{background:rgba(167,139,250,.12);border-color:rgba(196,181,253,.5);transform:translateY(-2px)}
.acao.pri{background:#6d28d9;border-color:#7c3aed}
.acao.pri:hover{background:#5b21b6}
.acao svg{width:22px;height:22px;color:#c4b5fd;margin-bottom:6px}
.acao.pri svg{color:#fff}
.acao b{font:700 16px/1.2 var(--display)}
.acao span{font-size:13px;color:#cfc8de;line-height:1.4}
.acao.pri span{color:#ede9fe}
.stats{gap:30px;margin-top:26px}
.stats div{font-size:24px}
.stats span{color:#a9a1bb}

/* destaques do catálogo */
.dest{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.dcard{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;text-decoration:none;color:inherit;transition:transform .15s,box-shadow .15s,border-color .15s;min-width:0}
.dcard:hover{transform:translateY(-3px);box-shadow:var(--shadow-up);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}
.dcard .ph{aspect-ratio:4/3}
.dcard .bd{padding:14px 16px 16px;gap:4px}
.dcard .name{font:700 16px/1.25 var(--display)}
.dcard .meta{font-size:13px}
.dcard .vai{margin-top:8px;font-weight:700;font-size:14px;color:var(--accent)}

/* cartões do catálogo */
.grid{gap:16px}
.card{border:1px solid var(--line);box-shadow:none;border-radius:var(--r)}
.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-up);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}
.ph{aspect-ratio:4/3}
.bd{padding:12px 14px 14px}
.name{font-size:14.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.badge{border-radius:8px}
.name mark{background:var(--accent-soft);color:var(--accent)}
.ctile,.stile{border-radius:var(--r)}
.ctile .t b{font-size:16px}
.stile[aria-current="true"]{outline-color:var(--accent)}
.stile.all{background:var(--accent)}
.phead{border-radius:20px;border:1px solid var(--line);box-shadow:none;padding:18px;grid-template-columns:200px 1fr}
.crumbs a:hover{color:var(--accent)}
.tools{gap:12px}
.tools .f input{padding:11px 14px 11px 40px;border-radius:12px;background:var(--panel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23857f94' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.5-3.5'/%3E%3C/svg%3E") no-repeat 13px 50%/17px}
.tools .f input:focus{outline:2px solid var(--accent);outline-offset:-1px}
.tools .cnt{background:var(--soft);padding:6px 10px;border-radius:999px;font-weight:600}
.chip{border-width:1.5px}
.chip[aria-pressed="true"]{border-color:var(--accent);background:var(--accent-soft);color:var(--ink);box-shadow:none}
.more .btn{min-width:220px}

/* orçamento da peça */
.quote{border-top:0;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;padding:24px;position:relative;overflow:hidden}
.quote::before{content:"";position:absolute;inset:0 0 auto;height:4px;background:var(--accent)}
.quote h3{font-size:23px}
.seg input:checked+span{color:var(--accent)}
.price{color:var(--accent)}
.kv div{border-radius:var(--r-sm)}

/* filamentos */
.fils{gap:12px}
.fil{border:1.5px solid var(--line);border-radius:var(--r)}
.fil img{aspect-ratio:4/3;background:#ecebef}
.fil:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.fil .fd{padding:10px 12px 12px}
.matgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.mat{display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;min-width:0}
.mat img{display:block;width:100%;height:auto;flex:none;aspect-ratio:4/3;object-fit:cover;background:#ecebef}
.mat .md{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.mat b{font:700 17px/1.2 var(--display)}
.mat p{margin:0;color:var(--muted);font-size:14px;line-height:1.45;flex:1}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.tags span{font-size:12px;font-weight:700;padding:4px 9px;border-radius:999px;background:var(--accent-soft);color:var(--accent)}

/* confiança */
.conf{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.conf>a{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:var(--r);background:var(--panel);border:1px solid var(--line);text-decoration:none;color:inherit;transition:border-color .15s}
.conf>a:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.conf svg{width:26px;height:26px;color:var(--accent)}
.conf b{font:700 16px/1.25 var(--display)}
.conf span{color:var(--muted);font-size:14px;line-height:1.45}
.conf em{font-style:normal;margin-top:auto;padding-top:6px;font-weight:700;font-size:13.5px;color:var(--accent)}
.contato{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;margin-top:16px;padding:20px 22px;border-radius:20px;background:var(--deep);color:var(--deep-ink)}
.contato b{font:700 19px/1.2 var(--display);display:block}
.contato span{color:#cfc8de;font-size:14.5px}
.btn.wa{background:#1f9d55;color:#fff}.btn.wa:hover{background:#178246;box-shadow:none}
.btn.wa svg{width:18px;height:18px}
.wa-flut{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:40;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;background:#1f9d55;color:#fff;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.wa-flut svg{width:28px;height:28px}
.wa-flut:hover{background:#178246}

/* MakerWorld */
.mw{background:var(--panel);border:1px solid var(--line);border-radius:20px}
.mw-top a:hover{border-color:var(--accent);color:var(--accent)}

/* páginas internas */
.box,.inst-sec,fieldset{border:1px solid var(--line);box-shadow:none}
.box{border-radius:20px}
.inst-sec{border-radius:20px}
.inst-nav a:hover,.pj-tipos a:hover{border-color:var(--accent);color:var(--accent)}
.passos{counter-reset:p}
.passos li{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.passos li::before{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-size:16px;margin-bottom:6px}
.passos li b{font:700 16px/1.25 var(--display)}
.cards3>div{background:var(--panel);border:1px solid var(--line)}
.inst-sec .passos li,.inst-sec .cards3>div{background:var(--soft);border-color:transparent}
.anav a[aria-current="page"],.tabs a[aria-current="page"]{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}
.st.em_producao{background:var(--accent-soft);color:var(--accent)}
.drop{border-radius:20px}
.drop.over{border-color:var(--accent);background:var(--accent-soft)}
.tbl-wrap{border:1px solid var(--line);box-shadow:none}

/* projetos personalizados */
.pj-card{border:1px solid var(--line);box-shadow:none;border-radius:var(--r);transition:transform .15s,box-shadow .15s,border-color .15s}
.pj-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-up);border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}
.pj-card .pj-img img{transition:transform .35s}
.pj-card:hover .pj-img img{transform:scale(1.04)}
.pj-tag{background:rgba(22,18,31,.72);color:#ede9fe}
.pj-txt h3{font-size:18px}
.pj-txt .btn{align-self:stretch}
.pj-home{border:1px solid var(--line);box-shadow:none;border-radius:22px;padding:22px}
.pj-topo-img{box-shadow:var(--shadow-up)}
.pj-trilha li.on span{background:var(--accent)}
.pj-cats input:checked+span{border-color:var(--accent)}

/* rodapé */
.foot{background:var(--panel)}
.fgrid a:hover{color:var(--accent)}
.selos span{background:var(--soft);color:var(--ink)}

@media (max-width:1100px){.dest{grid-template-columns:repeat(3,minmax(0,1fr))}.conf{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:900px){.hero-g{grid-template-columns:1fr;gap:26px}.hero-img{order:-1;aspect-ratio:16/9;max-height:300px}.matgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){
  .hero .in{padding-block:28px 32px}
  .acoes3{grid-template-columns:1fr;gap:10px;margin-top:22px}
  .acao{flex-direction:row;flex-wrap:wrap;align-items:center;column-gap:12px;padding:14px}
  .acao svg{margin:0}
  .acao span{flex-basis:100%}
  .dest{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .dcard .bd{padding:10px 12px 12px}.dest>.dcard:nth-child(n+7){display:none}.dcard .name{font-size:14.5px}
  .phead{grid-template-columns:110px 1fr;padding:12px}
  .h2row{margin:36px 0 14px}
  .stats{gap:18px}.stats div{font-size:20px}
}
@media (max-width:560px){.matgrid,.conf{grid-template-columns:1fr}.wa-flut{width:50px;height:50px}}

/* página inicial v2: catálogo compacto, projetos em destaque */
.catmini{display:grid;grid-template-columns:repeat(auto-fill,minmax(225px,1fr));gap:8px}
.catmini a{display:flex;align-items:center;gap:10px;padding:7px 12px 7px 7px;border-radius:12px;background:var(--panel);border:1px solid var(--line);text-decoration:none;color:inherit;min-width:0;transition:border-color .15s}
.catmini a:hover{border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}
.catmini .th{position:relative;flex:none;width:40px;height:40px;border-radius:9px;overflow:hidden;background:var(--soft)}
.catmini .th img,.catmini .th i{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.catmini span:last-child{min-width:0;display:flex;flex-direction:column}
.catmini b{font:600 14px/1.25 var(--body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catmini small{color:var(--muted);font-size:12px}
.passos-h{margin-top:18px}
.passos-h li{padding:14px 16px}
#app .pj-sec .pj-gal{grid-template-columns:repeat(4,minmax(0,1fr))}
.cats{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}
.ctile{aspect-ratio:1}
.grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr))}
@media (max-width:1100px){#app .pj-sec .pj-gal{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:820px){#app .pj-sec .pj-gal{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){#app .pj-sec .pj-gal{grid-template-columns:1fr}.catmini{grid-template-columns:repeat(2,minmax(0,1fr))}.catmini a{padding:6px 8px 6px 6px;gap:8px}.catmini .th{width:34px;height:34px}.catmini b{font-size:13px}}
@media (max-width:720px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ctile .t b{font-size:13px}.ctile .t span{display:none}}
@media (max-width:560px){
  #app .pj-sec .pj-gal{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;margin-inline:-16px;padding:2px 16px 8px}
  #app .pj-sec .pj-gal::-webkit-scrollbar{display:none}
  #app .pj-sec .pj-gal .pj-card{flex:0 0 80%;scroll-snap-align:start}
  .passos-h{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .h2row{flex-wrap:wrap;align-items:flex-start}.h2row>div{flex-basis:100%}
  .matgrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .mat .md{padding:10px 10px 12px}.mat b{font-size:15px}.mat p{font-size:12.5px}.tags span{font-size:11px;padding:3px 7px}
}
