@font-face{
  font-family:'Archivo';
  font-style:normal;
  font-display:swap;
  font-weight:100 900;
  font-stretch:62% 125%;
  src:url(../fonts/archivo.woff2) format('woff2-variations');
}
@font-face{
  font-family:'Space Mono';
  font-style:normal;
  font-display:swap;
  font-weight:400;
  src:url(../fonts/space-mono-400.woff2) format('woff2');
}
@font-face{
  font-family:'Space Mono';
  font-style:normal;
  font-display:swap;
  font-weight:700;
  src:url(../fonts/space-mono-700.woff2) format('woff2');
}

:root{
  /* Paleta tirada dos filamentos reais do estoque */
  --plate:#DEDCD6;      /* placa de impressão */
  --plate-2:#EAE8E3;
  --ink:#26262A;        /* 3D Lab Preto */
  --ink-2:#5A5A60;      /* F3D Cinza */
  --line:#C4C1BA;
  --flame:#E54C00;      /* laranja da marca */
  --copper:#A14A4A;     /* 3N3 Cobre */
  --tobacco:#784A4A;    /* 3N3 Marrom Tabaco */
  --white:#FBFAF8;      /* VOOLT Branco */
  --disp:'Archivo',sans-serif;
  --mono:'Space Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--plate);
  color:var(--ink);
  font-family:var(--disp);
  font-variation-settings:'wdth' 100;
  font-size:17px;line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
/* textura sutil de placa PEI */
body::before{
  content:'';position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.5;
  background-image:radial-gradient(circle at 1px 1px, rgba(0,0,0,.055) 1px, transparent 0);
  background-size:7px 7px;
}
.wrap{max-width:1120px;margin:0 auto;padding:0 24px;position:relative;z-index:1}
a{color:inherit}
.eyebrow{
  font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:var(--ink-2);display:flex;align-items:center;gap:10px;
}
.eyebrow::before{content:'';width:26px;height:1px;background:var(--flame);flex:none}
h2{
  font-family:var(--disp);font-weight:800;font-variation-settings:'wdth' 118;
  font-size:clamp(30px,4.6vw,46px);line-height:1.02;letter-spacing:-.02em;margin:14px 0 0;
}
.lede{color:var(--ink-2);max-width:56ch;margin-top:16px;font-size:17px}
section{padding:clamp(64px,9vw,116px) 0;position:relative}

/* ---------- NAV ---------- */
nav{
  position:sticky;top:0;z-index:50;background:rgba(222,220,214,.88);
  backdrop-filter:blur(10px);border-bottom:1px solid var(--line);
}
.nav-in{max-width:1120px;margin:0 auto;padding:13px 24px;display:flex;align-items:center;gap:26px}
.logo{display:flex;align-items:center;text-decoration:none}
.logo img{height:42px;width:auto;display:block}
.nav-links{margin-left:auto;display:flex;gap:24px;align-items:center}
.nav-links a{font-size:14px;text-decoration:none;color:var(--ink-2);transition:color .2s}
.nav-links a:hover{color:var(--ink)}
@media(max-width:760px){.nav-links a:not(.btn){display:none}}

/* ---------- BOTÕES ---------- */
.btn{
  display:inline-flex;align-items:center;gap:9px;padding:13px 22px;
  background:var(--flame);color:var(--white);text-decoration:none;
  font-weight:700;font-size:15px;border-radius:2px;border:1px solid var(--flame);
  transition:transform .18s cubic-bezier(.2,.8,.3,1), box-shadow .18s;
  box-shadow:0 2px 0 var(--copper);
}
.btn:hover{transform:translateY(-2px);box-shadow:0 4px 0 var(--copper)}
.btn:active{transform:translateY(0);box-shadow:0 1px 0 var(--copper)}
.btn.ghost{background:transparent;color:var(--ink);border-color:var(--ink);box-shadow:0 2px 0 var(--line)}
.btn.ghost:hover{box-shadow:0 4px 0 var(--line)}
.btn.sm{padding:9px 16px;font-size:14px}
a:focus-visible,button:focus-visible{outline:2px solid var(--flame);outline-offset:3px}

/* ---------- HERO ---------- */
.hero{padding:clamp(56px,10vw,110px) 0 clamp(48px,7vw,88px);overflow:hidden}
.hero-grid{display:grid;grid-template-columns:260px 1fr;gap:32px;align-items:end}
.hero-fig img{width:100%;height:auto;display:block;filter:drop-shadow(0 18px 20px rgba(38,38,42,.18))}
/* desktop: figura alta ao lado de todo o bloco de texto */
.hero-fig-desk{display:flex;justify-content:center;align-items:flex-end}
.hero-fig-desk img{max-width:260px}
.hero h1{
  font-weight:900;font-variation-settings:'wdth' 122;
  font-size:clamp(38px,7vw,96px);line-height:.9;letter-spacing:-.035em;
  text-transform:uppercase;margin:22px 0 0;
}
/* mobile: uma 2ª figura, menor, emparelhada só com título+eyebrow via flex —
   o parágrafo e os botões ficam FORA desse par e ocupam a largura toda.
   Tamanhos calibrados com a fonte Archivo real (variável, wdth 122) medida
   diretamente, para nunca quebrar "vira peça" no meio nem estourar a largura. */
.hero-top{display:block}
.hero-fig-mob{display:none}
@media(max-width:860px){
  .hero-grid{display:block}
  .hero-fig-desk{display:none}
  .hero-top{display:flex;align-items:flex-start;gap:14px}
  .hero-fig-mob{display:block;flex:0 0 clamp(70px,21vw,108px);width:clamp(70px,21vw,108px)}
  .hero-fig-mob img{max-width:100%}
  .hero-head{flex:1 1 0%;min-width:0}
  .hero h1{font-size:clamp(23px,7.4vw,44px)}
}
/* assinatura: cada linha "imprime" de baixo pra cima, em camadas */
.ln{display:block;position:relative;overflow:hidden}
.ln span{display:block;transform:translateY(102%);animation:layer .82s cubic-bezier(.16,1,.3,1) forwards}
.ln:nth-child(1) span{animation-delay:.15s}
.ln:nth-child(2) span{animation-delay:.34s}
.ln:nth-child(3) span{animation-delay:.53s}
.ln em{font-style:normal;color:var(--flame)}
@keyframes layer{to{transform:translateY(0)}}
/* linhas de camada visíveis sobre o título */
.hero h1::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(to bottom,rgba(0,0,0,.07) 0 1px,transparent 1px 5px);
  mix-blend-mode:multiply;
}
.hero h1{position:relative}
/* bico da impressora percorrendo */
.nozzle{
  height:2px;background:var(--line);margin:30px 0 0;position:relative;overflow:hidden;
}
.nozzle::after{
  content:'';position:absolute;top:-3px;left:0;width:56px;height:8px;background:var(--flame);
  animation:trav 3.6s cubic-bezier(.5,0,.5,1) .9s infinite;
}
@keyframes trav{0%{left:0}50%{left:calc(100% - 56px)}100%{left:0}}
.hero-sub{max-width:50ch;margin-top:26px;font-size:clamp(17px,2vw,20px);color:var(--ink-2)}
.hero-cta{display:flex;gap:12px;margin-top:34px;flex-wrap:wrap}
.specs{
  display:flex;gap:30px;flex-wrap:wrap;margin-top:52px;padding-top:22px;border-top:1px solid var(--line);
  font-family:var(--mono);font-size:12px;color:var(--ink-2);
}
.specs b{color:var(--ink);font-weight:700;display:block;font-size:13px}

/* ---------- O QUE FAZEMOS ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:1px;background:var(--line);margin-top:44px;border:1px solid var(--line)}
@media(min-width:740px){.grid{grid-template-columns:repeat(3,1fr)}}
.cell{background:var(--plate-2);padding:30px 26px 34px;transition:background .2s}
.cell:hover{background:var(--white)}
.cell .k{font-family:var(--mono);font-size:11px;color:var(--flame);letter-spacing:.1em}
.cell h3{font-size:20px;font-weight:800;font-variation-settings:'wdth' 112;margin:12px 0 8px;letter-spacing:-.01em}
.cell p{font-size:15px;color:var(--ink-2);line-height:1.5}


/* ---------- PROJETOS ---------- */
.proj{border-top:1px solid var(--line)}
.pj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:44px}
@media(max-width:860px){.pj-grid{grid-template-columns:repeat(2,1fr);gap:12px}}
.pj{margin:0;background:var(--white);border:1px solid var(--line);display:flex;flex-direction:column;
  transition:transform .2s cubic-bezier(.2,.8,.3,1),box-shadow .2s}
.pj:hover{transform:translateY(-3px);box-shadow:0 10px 24px -14px rgba(38,38,42,.45)}
.pj img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover;background:var(--plate-2)}
.pj figcaption{padding:14px 16px 18px;display:flex;flex-direction:column;gap:3px}
.pj .k{font-family:var(--mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--flame)}
.pj b{font-size:17px;font-weight:800;font-variation-settings:'wdth' 110;letter-spacing:-.01em;line-height:1.2}
.pj figcaption span:last-child{font-size:14px;color:var(--ink-2);line-height:1.45}
@media(max-width:520px){.pj figcaption{padding:10px 11px 13px}.pj b{font-size:15px}.pj figcaption span:last-child{font-size:13px}}
.proj .hero-cta{margin-top:30px}

/* ---------- DADOS DA EMPRESA ---------- */
.f-legal{display:flex;gap:6px 18px;flex-wrap:wrap}

/* ---------- PROCESSO ---------- */
.proc{border-top:1px solid var(--line);background:var(--plate-2)}
.steps{margin-top:44px;display:grid;gap:0}
.step{display:grid;grid-template-columns:78px 1fr;gap:24px;padding:26px 0;border-bottom:1px solid var(--line);align-items:start}
.step:first-child{border-top:1px solid var(--line)}
.step .n{font-family:var(--mono);font-size:13px;color:var(--flame);padding-top:5px}
.step h3{font-size:21px;font-weight:800;font-variation-settings:'wdth' 112;letter-spacing:-.01em}
.step p{font-size:15.5px;color:var(--ink-2);margin-top:5px;max-width:62ch}
.step p strong{color:var(--ink);font-weight:700}
@media(max-width:600px){.step{grid-template-columns:52px 1fr;gap:14px}}

/* ---------- PREÇO / EDUCATIVO ---------- */
.price-box{
  margin-top:40px;border:1px solid var(--ink);background:var(--white);
  display:grid;grid-template-columns:1fr 1fr;
}
@media(max-width:720px){.price-box{grid-template-columns:1fr}}
.price-box>div{padding:32px 30px}
.price-box>div:first-child{border-right:1px solid var(--line)}
@media(max-width:720px){.price-box>div:first-child{border-right:0;border-bottom:1px solid var(--line)}}
.price-box h4{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-2);margin-bottom:16px}
.cube{display:flex;align-items:flex-end;gap:16px;margin:8px 0 18px}
.cube img{display:block;object-fit:cover;border-radius:6px;box-shadow:0 6px 14px rgba(38,38,42,.2)}
.cube img.a{width:56px;height:56px}
.cube img.b{width:112px;height:112px}
.cube figcaption,.cube-lbl{font-family:var(--mono);font-size:11px;color:var(--ink-2)}
.price-box p{font-size:15.5px;color:var(--ink-2)}
.price-box strong{color:var(--ink)}

/* ---------- CONSIGNADO ---------- */
.consig{background:var(--ink);color:var(--plate);border-top:1px solid var(--ink)}
.consig .eyebrow{color:#9C9CA4}
.consig .eyebrow::before{background:var(--flame)}
.consig h2{color:var(--white)}
.consig .lede{color:#A8A8B0}
.clist{margin-top:34px;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:26px}
.clist div{border-top:1px solid #3E3E44;padding-top:16px}
.clist b{display:block;font-size:15px;font-weight:700;margin-bottom:5px}
.clist p{font-size:14.5px;color:#9C9CA4;line-height:1.5}

/* ---------- FAQ ---------- */
details{border-bottom:1px solid var(--line);padding:20px 0}
details:first-of-type{border-top:1px solid var(--line);margin-top:40px}
summary{
  font-size:18px;font-weight:700;font-variation-settings:'wdth' 110;cursor:pointer;
  list-style:none;display:flex;justify-content:space-between;gap:20px;align-items:center;
}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';font-family:var(--mono);color:var(--flame);font-size:22px;flex:none;transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
details p{color:var(--ink-2);font-size:15.5px;margin-top:12px;max-width:70ch}

/* ---------- CTA FINAL ---------- */
.final{text-align:center;border-top:1px solid var(--line)}
.final h2{max-width:16ch;margin:14px auto 0}
.final .eyebrow{justify-content:center}
.final .lede{margin:16px auto 0;text-align:center}
.final .hero-cta{justify-content:center}

/* ---------- RODAPÉ ---------- */
footer{background:var(--ink);color:#8E8E96;padding:52px 0 30px;font-size:14px}
.f-top{display:flex;justify-content:space-between;gap:32px;flex-wrap:wrap;padding-bottom:28px;border-bottom:1px solid #3E3E44}
.f-top .logo{color:var(--white);font-size:22px}
.f-links{display:flex;gap:26px;flex-wrap:wrap}
.f-links a{text-decoration:none;color:#8E8E96;transition:color .2s}
.f-links a:hover{color:var(--flame)}
.f-bot{padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-family:var(--mono);font-size:11.5px}

/* ---------- LOGO ---------- */
.mark{width:100%;height:100%;object-fit:contain;display:block}
.mark.dark{filter:invert(1)}          /* logo branca -> escura, p/ fundo claro */
.f-mark{display:block;width:64px;height:64px;margin-bottom:14px}
.f-mark .mark{transition:opacity .2s}
.f-mark:hover .mark{opacity:.7}

@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .ln span{transform:none}
}

/* ---------- PÁGINAS DE SERVIÇO ---------- */
.nav-links a.btn,.nav-links a.btn:hover{color:var(--white)}
.crumb{font-family:var(--mono);font-size:11.5px;color:var(--ink-2);display:flex;gap:8px;flex-wrap:wrap;margin-bottom:26px}
.crumb a{text-decoration:none;color:var(--ink-2)} .crumb a:hover{color:var(--flame)}
.sv-hero{padding:clamp(40px,7vw,80px) 0 clamp(40px,6vw,72px)}
.sv-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,64px);align-items:center}
@media(max-width:860px){.sv-grid{grid-template-columns:1fr}}
.sv-hero h1{font-weight:900;font-variation-settings:'wdth' 118;font-size:clamp(34px,5.6vw,64px);line-height:.98;letter-spacing:-.03em;margin:16px 0 0}
.sv-hero .lede{font-size:clamp(17px,1.9vw,19px);max-width:52ch}
.sv-fig{margin:0;background:var(--white);border:1px solid var(--line);padding:10px;box-shadow:0 18px 40px -26px rgba(38,38,42,.5)}
.sv-fig img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.sv-fig figcaption{font-family:var(--mono);font-size:11px;color:var(--ink-2);padding:9px 2px 2px}
.sv-fig.mascote{background:transparent;border:0;box-shadow:none;padding:0;display:flex;justify-content:center}
.sv-fig.mascote img{aspect-ratio:auto;max-width:240px;filter:drop-shadow(0 18px 20px rgba(38,38,42,.18))}
.sv-pts{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:40px}
@media(max-width:720px){.sv-pts{grid-template-columns:1fr}}
.sv-pts>div{background:var(--plate-2);padding:28px 26px 30px}
.sv-pts h3{font-size:19px;font-weight:800;font-variation-settings:'wdth' 112;letter-spacing:-.01em;margin:10px 0 8px}
.sv-pts p{font-size:15px;color:var(--ink-2);line-height:1.55}
.sv-pts .k{font-family:var(--mono);font-size:11px;color:var(--flame);letter-spacing:.1em}
.sv-extra{margin-top:28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.rel{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:30px}
.rel a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:16px 18px;background:var(--white);border:1px solid var(--line);
  text-decoration:none;font-weight:700;font-size:15px;transition:border-color .2s,transform .2s}
.rel a::after{content:'→';color:var(--flame);font-family:var(--mono)}
.rel a:hover{border-color:var(--ink);transform:translateY(-2px)}
.cell h3 a,.pj b a{text-decoration:none;color:inherit}
.cell h3 a:hover,.pj b a:hover{color:var(--flame)}
.cell .mais{display:inline-block;margin-top:12px;font-family:var(--mono);font-size:11.5px;color:var(--flame);text-decoration:none}
.cell .mais:hover{text-decoration:underline}
.f-cols{display:flex;gap:48px;flex-wrap:wrap}
.f-col{display:flex;flex-direction:column;gap:9px}
.f-col b{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#C9C9CF;font-weight:700;margin-bottom:2px}
.f-col a{text-decoration:none;color:#8E8E96;transition:color .2s}
.f-col a:hover{color:var(--flame)}
