/* =========================================================
   KIMOJI · ferragens para vidraçaria
   Grafite + aço + prata + verde-água · Barlow Condensed + IBM Plex
   ========================================================= */
:root{
  --g:#15181C; --g2:#1B1F24; --g3:#232930; --g4:#2C333B;
  --aco:#6F7880; --aco2:#8C959E; --prata:#E8EBED; --claro:#F2F3F4; --branco:#fff;
  --line:#D8DCE0; --line-d:rgba(255,255,255,.09); --line-d2:rgba(255,255,255,.16);
  --v:#42B3A9; --v2:#5CC9BF; --vd:#2E8C83; --v-soft:rgba(66,179,169,.14); --v-ink:#06201E;
  --txt:#3A4148; --txt-d:#B9C0C6;
  --f-d:'Barlow Condensed',system-ui,sans-serif;
  --f-b:'IBM Plex Sans',system-ui,sans-serif;
  --f-m:'IBM Plex Mono',ui-monospace,monospace;
  --container:1320px; --gut:clamp(20px,4vw,56px);
  --r:18px; --r-lg:28px; --r-xl:40px;
  --e:cubic-bezier(.16,1,.3,1); --e2:cubic-bezier(.65,0,.35,1);
  --header:76px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{font-family:var(--f-b);font-size:17px;line-height:1.6;color:var(--g);background:var(--claro);-webkit-font-smoothing:antialiased;overflow-x:clip}
img,svg,canvas,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit;background:none;border:0;outline:0}
button{cursor:pointer}
::selection{background:var(--v);color:var(--v-ink)}
.container{width:100%;max-width:var(--container);margin:0 auto;padding:0 var(--gut)}
.dark{background:var(--g);color:var(--prata)}
.mono{font-family:var(--f-m)}

/* ---------- tipografia ---------- */
.eyebrow{display:inline-flex;align-items:center;gap:12px;font:500 13px var(--f-m);letter-spacing:.2em;text-transform:uppercase;color:var(--aco)}
.eyebrow::before{content:'';width:8px;height:8px;border-radius:50%;background:var(--v);box-shadow:0 0 0 5px var(--v-soft)}
.dark .eyebrow{color:var(--aco2)}
.h-xl,.h-l,.h-m,.h-s{font-family:var(--f-d);font-weight:800;text-transform:uppercase;line-height:.9;letter-spacing:-.005em}
.h-xl{font-size:clamp(64px,10.5vw,168px)}
.h-l{font-size:clamp(48px,7vw,112px)}
.h-m{font-size:clamp(38px,4.6vw,72px)}
.h-s{font-size:clamp(28px,2.6vw,40px);line-height:.95}
.v{color:var(--vd)} .dark .v{color:var(--v)}
.lead{font-size:clamp(17px,1.4vw,21px);line-height:1.55;color:var(--txt);max-width:620px}
.dark .lead{color:var(--txt-d)}
.hl{position:relative;display:inline-block;z-index:0;padding:0 .06em}
.hl::before{content:'';position:absolute;left:0;right:0;top:.52em;bottom:.04em;background:var(--v);z-index:-1;transform-origin:left;transform:scaleX(var(--hl,1));transition:transform .8s var(--e)}
.split-line{display:block;overflow:hidden;padding-bottom:.04em}
.split-line>span{display:block}

/* ---------- botões ---------- */
.btn{position:relative;display:inline-flex;align-items:center;gap:12px;height:58px;padding:0 28px;border-radius:999px;font:600 16px var(--f-b);letter-spacing:.01em;white-space:nowrap;transition:background .3s,color .3s,border-color .3s,transform .4s var(--e);will-change:transform}
.btn svg{width:18px;height:18px;transition:transform .4s var(--e)}
.btn:hover svg{transform:translateX(4px)}
.btn--v{background:var(--v);color:var(--v-ink)}
.btn--v:hover{background:var(--v2)}
.btn--g{background:var(--g);color:#fff}
.btn--g:hover{background:var(--g3)}
.btn--o{border:1.5px solid currentColor}
.dark .btn--o{border-color:var(--line-d2);color:#fff}
.dark .btn--o:hover{border-color:var(--v);color:var(--v)}
.btn--o:hover{border-color:var(--vd);color:var(--vd)}
.btn--sm{height:46px;padding:0 20px;font-size:15px}
.btn--wa{background:#1FAF66;color:#fff}
.btn--wa:hover{background:#25C774}
.btn--full{width:100%;justify-content:center}
.ic{width:20px;height:20px;flex:none}

/* ---------- cabeçalho ---------- */
.header{position:fixed;inset:0 0 auto 0;z-index:60;height:var(--header);transition:background .4s,backdrop-filter .4s,transform .5s var(--e)}
.header.scrolled{background:rgba(21,24,28,.82);backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3)}
.header.claro.scrolled{background:rgba(242,243,244,.85)}
.header.oculto{transform:translateY(-100%)}
.header__in{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.logo img{height:34px;width:auto}
.header .logo .lg-claro{display:none}
.header.claro .logo .lg-escuro{display:none}
.header.claro .logo .lg-claro{display:block}
.nav{display:flex;gap:6px}
.nav a{position:relative;padding:10px 16px;font:500 15px var(--f-b);color:var(--txt-d);border-radius:999px;transition:color .3s,background .3s}
.nav a:hover,.nav a.on{color:#fff;background:rgba(255,255,255,.06)}
.header.claro .nav a{color:var(--txt)}
.header.claro .nav a:hover,.header.claro .nav a.on{color:var(--g);background:rgba(21,24,28,.05)}
.header__acoes{display:flex;gap:10px;align-items:center}
.bt-lista{position:relative;display:inline-flex;align-items:center;gap:10px;height:46px;padding:0 18px;border-radius:999px;border:1.5px solid var(--line-d2);color:#fff;font:600 15px var(--f-b);transition:border-color .3s,color .3s}
.bt-lista:hover{border-color:var(--v);color:var(--v)}
.header.claro .bt-lista{border-color:var(--line);color:var(--g)}
.bt-lista b{min-width:24px;height:24px;padding:0 6px;border-radius:12px;background:var(--v);color:var(--v-ink);font:700 13px/24px var(--f-b);text-align:center;transition:transform .4s var(--e)}
.bt-lista b.pulse{animation:pulse .6s var(--e)}
@keyframes pulse{40%{transform:scale(1.45)}}
.burger{display:none;width:46px;height:46px;border-radius:50%;border:1.5px solid var(--line-d2);position:relative}
.burger span{position:absolute;left:13px;right:13px;height:2px;background:#fff;transition:transform .4s var(--e),top .4s var(--e)}
.burger span:first-child{top:18px}.burger span:last-child{top:26px}
.header.claro .burger{border-color:var(--line)} .header.claro .burger span{background:var(--g)}
body.menu-on .burger span:first-child{top:22px;transform:rotate(45deg)}
body.menu-on .burger span:last-child{top:22px;transform:rotate(-45deg)}

/* trilho de progresso (a roldana corre conforme a rolagem) */
.trilho-prog{position:absolute;left:0;right:0;bottom:-1px;height:16px;pointer-events:none;opacity:0;transition:opacity .4s}
.header.scrolled .trilho-prog{opacity:1}
.trilho-prog i{position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(255,255,255,.12)}
.header.claro .trilho-prog i{background:rgba(21,24,28,.1)}
.trilho-prog u{position:absolute;left:0;bottom:0;height:2px;background:var(--v);width:0}
.trilho-prog .roda{position:absolute;bottom:2px;left:0;width:14px;height:14px;margin-left:-7px;border-radius:50%;border:2px solid var(--v);background:var(--g)}
.header.claro .trilho-prog .roda{background:var(--claro)}
.trilho-prog .roda::after{content:'';position:absolute;inset:3px;border-radius:50%;border-top:2px solid var(--v)}

/* menu mobile */
.menu-m{position:fixed;inset:0;z-index:55;background:var(--g);color:#fff;padding:calc(var(--header) + 30px) var(--gut) 40px;display:flex;flex-direction:column;gap:6px;clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--e2)}
body.menu-on .menu-m{clip-path:inset(0 0 0 0)}
.menu-m a{font:800 54px/1.05 var(--f-d);text-transform:uppercase}
.menu-m a:hover{color:var(--v)}
.menu-m .btn{margin-top:30px;align-self:flex-start}

/* ---------- cursor ---------- */
.cursor{position:fixed;left:0;top:0;z-index:100;pointer-events:none;mix-blend-mode:difference}
.cursor i{position:absolute;width:8px;height:8px;margin:-4px 0 0 -4px;border-radius:50%;background:#fff}
.cursor b{position:absolute;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:1.5px solid #fff;transition:width .35s var(--e),height .35s var(--e),margin .35s var(--e),opacity .3s}
.cursor.hover b{width:74px;height:74px;margin:-37px 0 0 -37px}
.cursor.oculto{opacity:0}
@media (hover:none),(max-width:900px){.cursor{display:none}}

/* ---------- transição de página ---------- */
.transicao{position:fixed;inset:0;z-index:90;background:var(--g);pointer-events:none;transform:scaleY(0);transform-origin:bottom}
.transicao.entrando{animation:tIn .55s var(--e2) forwards}
.transicao.saindo{transform:scaleY(1);transform-origin:top;animation:tOut .7s var(--e2) .05s forwards}
.transicao img{position:absolute;left:50%;top:50%;width:180px;transform:translate(-50%,-50%);opacity:.9}
@keyframes tIn{to{transform:scaleY(1)}}
@keyframes tOut{to{transform:scaleY(0)}}

/* ---------- revelação ---------- */
[data-r]{opacity:0;transform:translateY(40px)}
.js-off [data-r]{opacity:1;transform:none}

/* ---------- seções genéricas ---------- */
.sec{position:relative;padding:clamp(90px,13vh,170px) 0}
.sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:clamp(40px,6vh,70px);flex-wrap:wrap}
.sec-head .h-l,.sec-head .h-m{margin-top:18px}
.grade-tec{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(21,24,28,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(21,24,28,.05) 1px,transparent 1px),linear-gradient(rgba(21,24,28,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(21,24,28,.022) 1px,transparent 1px);background-size:120px 120px,120px 120px,24px 24px,24px 24px;-webkit-mask-image:linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent)}
.dark .grade-tec{background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.018) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px)}
.regua{height:22px;border-bottom:2px solid var(--line);background:repeating-linear-gradient(90deg,var(--line) 0 2px,transparent 2px 40px);background-size:100% 12px;background-repeat:repeat-x;background-position:0 100%}
.dark .regua{border-color:var(--g4);background-image:repeating-linear-gradient(90deg,var(--g4) 0 2px,transparent 2px 40px)}

/* ---------- HOME · hero ---------- */
.hero{position:relative;min-height:100svh;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--header) + 40px) 0 0;overflow:hidden}
.hero__glow{position:absolute;right:-10%;top:5%;width:70vw;height:70vw;max-width:1100px;max-height:1100px;border-radius:50%;background:radial-gradient(circle,rgba(66,179,169,.22) 0%,rgba(66,179,169,.06) 40%,transparent 68%);pointer-events:none}
.hero__in{position:relative;display:grid;grid-template-columns:1.05fr 1fr;gap:20px;align-items:center}
.hero h1{margin:26px 0 30px;font-size:clamp(46px,6vw,88px)}
.hero h1 .split-line>span{white-space:nowrap}
.hero__cta{display:flex;gap:14px;flex-wrap:wrap;margin-top:38px}
.hero__3d{position:relative;height:min(68vh,680px);min-height:420px}
.hero__3d canvas{position:absolute;inset:0;width:100%!important;height:100%!important}
.hero__chip{position:absolute;z-index:2;display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:14px;background:rgba(27,31,36,.72);border:1px solid var(--line-d2);backdrop-filter:blur(10px);font:500 13px var(--f-m);letter-spacing:.06em;text-transform:uppercase;color:var(--txt-d)}
.hero__chip b{font:700 22px var(--f-d);color:#fff;letter-spacing:0}
.hero__chip i{width:8px;height:8px;border-radius:50%;background:var(--v);box-shadow:0 0 0 5px var(--v-soft)}
.hero__arco{position:relative;margin-top:clamp(30px,6vh,70px);height:150px}
.hero__arco svg{position:absolute;left:0;bottom:0;width:100%;height:150px;overflow:visible}
.hero__meta{display:flex;gap:clamp(24px,5vw,80px);padding:26px 0 34px;border-top:1px solid var(--line-d);flex-wrap:wrap}
.hero__meta div{font:500 13px var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:var(--aco2)}
.hero__meta b{display:block;font:800 40px/1 var(--f-d);color:#fff;letter-spacing:0;margin-bottom:6px}
.scroll-cue{position:absolute;right:var(--gut);bottom:40px;font:500 12px var(--f-m);letter-spacing:.2em;text-transform:uppercase;color:var(--aco2);display:flex;align-items:center;gap:12px}
.scroll-cue i{width:1.5px;height:44px;background:linear-gradient(var(--v),transparent);animation:cue 2s var(--e2) infinite}
@keyframes cue{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* marquee */
.marquee{position:relative;background:var(--v);color:var(--v-ink);overflow:hidden;padding:20px 0;white-space:nowrap}
.marquee__t{display:inline-flex;gap:48px;font:800 34px/1 var(--f-d);text-transform:uppercase;will-change:transform}
.marquee__t span{display:inline-flex;align-items:center;gap:48px}
.marquee__t span::after{content:'';width:14px;height:14px;border-radius:50%;border:3px solid var(--v-ink)}

/* linhas (categorias) */
.linhas{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.linha{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:470px;padding:26px;border-radius:var(--r-lg);background:var(--g2);border:1px solid var(--line-d);overflow:hidden;transform-style:preserve-3d;transition:border-color .4s,background .4s}
.linha:hover{border-color:rgba(66,179,169,.5);background:var(--g3)}
.linha__n{font:500 13px var(--f-m);letter-spacing:.16em;color:var(--aco2)}
.linha__img{position:absolute;inset:60px 20px 130px;display:flex;align-items:center;justify-content:center;transition:transform .8s var(--e)}
.linha__img img{max-height:100%;max-width:100%;object-fit:contain;filter:drop-shadow(0 30px 40px rgba(0,0,0,.55))}
.linha:hover .linha__img{transform:scale(1.07) translateY(-6px)}
.linha__luz{position:absolute;left:50%;top:45%;width:340px;height:340px;margin:-170px 0 0 -170px;border-radius:50%;background:radial-gradient(circle,rgba(66,179,169,.18),transparent 65%);opacity:.6;transition:opacity .4s}
.linha:hover .linha__luz{opacity:1}
.linha h3{position:relative;font:800 46px/.92 var(--f-d);text-transform:uppercase;color:#fff}
.linha p{position:relative;font-size:15px;color:var(--txt-d);margin-top:8px}
.linha__seta{position:absolute;right:24px;bottom:26px;width:48px;height:48px;border-radius:50%;border:1.5px solid var(--line-d2);display:grid;place-items:center;color:#fff;transition:background .4s,border-color .4s,transform .5s var(--e)}
.linha:hover .linha__seta{background:var(--v);border-color:var(--v);color:var(--v-ink);transform:rotate(-45deg)}

/* conta do vidraceiro (pin) */
.conta{position:relative;height:100svh;overflow:hidden;background:var(--claro)}
.conta__in{position:relative;height:100%;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:40px}
.conta__vidro{position:relative;height:72vh;display:flex;align-items:flex-end;justify-content:center}
.conta__folha{position:relative;width:min(26vw,330px);height:62vh;border:4px solid var(--g);border-radius:6px;background:linear-gradient(135deg,rgba(66,179,169,.22),rgba(66,179,169,.06) 55%,rgba(66,179,169,.17));transform-origin:bottom center}
.conta__folha::before{content:'';position:absolute;left:12%;top:8%;width:30%;height:3px;background:#fff;transform:rotate(-38deg);transform-origin:left;box-shadow:0 26px 0 #fff}
.conta__folha .esp{position:absolute;right:-14px;top:0;bottom:0;width:var(--esp,8px);background:linear-gradient(90deg,#9fd8d2,#5fb9b0);border:2px solid var(--g);border-left:0;border-radius:0 4px 4px 0;transition:width .2s}
.conta__rodas{position:absolute;bottom:-34px;left:0;right:0;display:flex;justify-content:space-between;padding:0 14%}
.conta__rodas i{width:40px;height:40px;border-radius:50%;border:4px solid var(--g);background:#fff;position:relative}
.conta__rodas i::after{content:'';position:absolute;inset:6px;border-radius:50%;border:3px solid var(--g);border-left-color:transparent;border-right-color:transparent}
.conta__trilho{position:absolute;left:0;right:0;bottom:-42px;height:8px;border-radius:4px;background:var(--g)}
.conta__cota{position:absolute;font:500 14px var(--f-m);letter-spacing:.08em;color:var(--aco)}
.conta__num{font:800 clamp(120px,16vw,250px)/.82 var(--f-d);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.conta__num small{font-size:.32em;color:var(--vd);margin-left:.08em}
.conta__linhas{margin-top:36px;max-width:520px}
.conta__linhas div{display:flex;justify-content:space-between;align-items:baseline;padding:14px 0;border-bottom:1.5px solid var(--line);font:500 15px var(--f-m);letter-spacing:.06em;color:var(--aco);transition:color .3s}
.conta__linhas div b{font:700 36px var(--f-d);color:var(--g);letter-spacing:0;transition:color .3s}
.conta__linhas div.on{color:var(--vd)} .conta__linhas div.on b{color:var(--vd)}

/* trilhos (scroll horizontal) */
.trilhos{position:relative;height:100svh;overflow:hidden;background:var(--g)}
.trilhos__track{position:absolute;top:0;left:0;height:100%;display:flex;align-items:center;gap:4vw;padding:0 8vw;will-change:transform}
.trilhos__intro{flex:none;width:min(560px,80vw);color:var(--prata)}
.tri{flex:none;position:relative;width:min(560px,82vw);height:76vh;max-height:720px;border-radius:var(--r-xl);background:var(--g2);border:1px solid var(--line-d);padding:34px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.tri__perfil{position:absolute;right:30px;top:30px;width:110px;height:110px;opacity:.9}
.tri__foto{position:relative;flex:1;min-height:160px;margin:18px 0 22px;display:flex;align-items:center;justify-content:center;border-radius:24px;background:radial-gradient(ellipse at 50% 42%,#fff,#E9ECEF 60%,#CFD4D9);overflow:hidden}
.tri__foto img{max-height:84%;max-width:80%;object-fit:contain;mix-blend-mode:multiply}
.tri h3{font:800 64px/.9 var(--f-d);text-transform:uppercase;color:#fff}
.tri__cod{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.tri__cod span{font:500 13px var(--f-m);letter-spacing:.06em;padding:8px 12px;border-radius:999px;border:1px solid var(--line-d2);color:var(--txt-d)}
.tri__n{font:500 13px var(--f-m);letter-spacing:.16em;color:var(--v)}

/* entre furos */
.furos{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(40px,6vw,100px);align-items:center}
.furos__vis{position:relative;height:min(78vh,760px);border-radius:var(--r-xl);background:radial-gradient(ellipse at 50% 40%,#fff,#E6E9EC 60%,#D3D8DD);overflow:hidden}
.furos__vis img{position:absolute;left:50%;top:50%;height:82%;transform:translate(-50%,-50%);filter:drop-shadow(0 30px 30px rgba(0,0,0,.25))}
.furos__vis svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.furos__lista{margin-top:34px;display:grid;gap:14px}
.furos__lista div{display:flex;gap:18px;align-items:flex-start;padding:20px 22px;border-radius:var(--r);background:#fff;border:1px solid var(--line)}
.furos__lista b{flex:none;width:34px;height:34px;border-radius:50%;background:var(--g);color:#fff;font:700 15px/34px var(--f-b);text-align:center}
.furos__lista p{font-size:16px;color:var(--txt)}
.furos__lista strong{color:var(--g)}

/* números */
.nums{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line-d)}
.num{padding:44px 26px 10px 0;border-right:1px solid var(--line-d)}
.num:last-child{border-right:0}
.num:not(:first-child){padding-left:26px}
.num b{display:block;font:800 clamp(64px,7vw,112px)/.85 var(--f-d);color:#fff;font-variant-numeric:tabular-nums}
.num b small{font-size:.38em;color:var(--v);margin-left:4px}
.num>span{display:block;margin-top:16px;font:500 13px var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:var(--aco2)}
.num p{margin-top:8px;font-size:15px;color:var(--txt-d)}

/* como comprar */
.passos{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;position:relative}
.passos__linha{position:absolute;left:0;right:0;top:46px;height:2px;background:var(--line)}
.passos__linha u{position:absolute;left:0;top:0;bottom:0;width:100%;background:var(--v);transform-origin:left;transform:scaleX(0)}
.passo{position:relative;padding-top:20px}
.passo__n{width:54px;height:54px;border-radius:50%;background:var(--claro);border:2px solid var(--g);display:grid;place-items:center;font:800 24px var(--f-d);position:relative;z-index:1;transition:background .4s,color .4s,border-color .4s}
.passo.on .passo__n{background:var(--v);border-color:var(--v);color:var(--v-ink)}
.passo h3{font:800 34px/.95 var(--f-d);text-transform:uppercase;margin:26px 0 10px}
.passo p{font-size:16px;color:var(--txt)}
.aviso{margin-top:40px;display:flex;gap:16px;align-items:center;padding:20px 24px;border-radius:var(--r);background:#fff;border:1px dashed var(--aco2);font-size:15px;color:var(--txt)}

/* sobre */
.sobre{display:grid;grid-template-columns:1fr 1fr;gap:clamp(40px,7vw,120px);align-items:start}
.sobre__txt p{font-size:19px;line-height:1.65;color:var(--txt-d);margin-top:20px}
.sobre__txt p strong{color:#fff;font-weight:600}
.sobre__cards{display:grid;gap:14px}
.sobre__cards div{padding:24px 26px;border-radius:var(--r);background:var(--g2);border:1px solid var(--line-d)}
.sobre__cards h4{font:800 28px/1 var(--f-d);text-transform:uppercase;color:#fff;display:flex;align-items:center;gap:12px}
.sobre__cards h4 i{width:10px;height:10px;border-radius:50%;background:var(--v)}
.sobre__cards p{margin-top:8px;font-size:16px;color:var(--txt-d)}

/* faixa catálogo PDF */
.pdf{position:relative;border-radius:var(--r-xl);background:var(--v);color:var(--v-ink);padding:clamp(34px,5vw,70px);display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center;overflow:hidden}
.pdf .h-m{color:var(--g)}
.pdf p{font-size:18px;margin-top:14px;color:rgba(6,32,30,.8);max-width:480px}
.form{display:grid;gap:12px}
.campo{position:relative}
.campo input,.campo select{width:100%;height:60px;padding:22px 20px 6px;border-radius:14px;background:#fff;border:1.5px solid transparent;font:500 16px var(--f-b);color:var(--g);transition:border-color .3s}
.campo select{padding-top:20px;appearance:none;cursor:pointer}
.campo label{position:absolute;left:20px;top:19px;font:500 15px var(--f-b);color:var(--aco);pointer-events:none;transition:top .25s var(--e),font-size .25s var(--e),color .25s}
.campo input:focus,.campo select:focus{border-color:var(--g)}
.campo input:focus+label,.campo input:not(:placeholder-shown)+label,.campo select+label{top:8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}
.form__ok{display:none;padding:18px 20px;border-radius:14px;background:var(--g);color:#fff;font-weight:500}
.form.enviado .form__ok{display:block}
.pdf__capa{position:absolute;right:-60px;bottom:-80px;width:340px;opacity:.12;transform:rotate(-12deg)}

/* rodapé */
.footer{background:var(--g);color:var(--txt-d);padding:90px 0 36px;position:relative;overflow:hidden}
.footer__cta{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;flex-wrap:wrap;padding-bottom:70px;border-bottom:1px solid var(--line-d)}
.footer__cta .h-l{color:#fff}
.footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding:56px 0}
.footer h5{font:500 12px var(--f-m);letter-spacing:.18em;text-transform:uppercase;color:var(--aco2);margin-bottom:18px}
.footer li{list-style:none;margin-bottom:10px}
.footer li a{transition:color .3s}
.footer li a:hover{color:var(--v)}
.footer__base{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-top:26px;border-top:1px solid var(--line-d);font:500 12px var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:var(--aco)}
.footer__logo{position:absolute;left:50%;bottom:-6vw;width:92vw;max-width:1500px;transform:translateX(-50%);opacity:.05;pointer-events:none}

/* WhatsApp flutuante */
.wa-float{position:fixed;right:22px;bottom:22px;z-index:50;width:62px;height:62px;border-radius:50%;background:#1FAF66;color:#fff;display:grid;place-items:center;box-shadow:0 16px 40px -10px rgba(31,175,102,.6);transition:transform .4s var(--e)}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:30px;height:30px}

/* ---------- gaveta: lista de orçamento ---------- */
.gaveta{position:fixed;inset:0;z-index:80;pointer-events:none}
.gaveta__fundo{position:absolute;inset:0;background:rgba(10,12,14,.55);opacity:0;transition:opacity .5s}
.gaveta__painel{position:absolute;right:0;top:0;bottom:0;width:min(480px,100%);background:var(--claro);display:flex;flex-direction:column;transform:translateX(100%);transition:transform .6s var(--e2)}
body.gaveta-on .gaveta{pointer-events:auto}
body.gaveta-on .gaveta__fundo{opacity:1}
body.gaveta-on .gaveta__painel{transform:none}
.gaveta__topo{display:flex;justify-content:space-between;align-items:center;padding:26px 28px;border-bottom:1px solid var(--line)}
.gaveta__topo h3{font:800 36px/1 var(--f-d);text-transform:uppercase}
.gaveta__x{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);font-size:20px;transition:border-color .3s,transform .4s var(--e)}
.gaveta__x:hover{border-color:var(--g);transform:rotate(90deg)}
.gaveta__itens{flex:1;overflow:auto;padding:12px 28px}
.gaveta__vazio{padding:50px 0;text-align:center;color:var(--aco)}
.gaveta__vazio b{display:block;font:800 30px var(--f-d);text-transform:uppercase;color:var(--g);margin-bottom:8px}
.item{display:grid;grid-template-columns:72px 1fr auto;gap:14px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.item img{width:72px;height:72px;border-radius:12px;background:#fff;object-fit:contain;border:1px solid var(--line);padding:4px}
.item h4{font:700 16px/1.25 var(--f-b)}
.item small{display:block;font:500 12px var(--f-m);color:var(--aco);margin-top:4px;letter-spacing:.04em}
.qtd{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:999px;height:40px}
.qtd button{width:34px;height:100%;font-size:18px;color:var(--aco)}
.qtd button:hover{color:var(--g)}
.qtd input{width:44px;text-align:center;font:600 15px var(--f-b);-moz-appearance:textfield}
.qtd input::-webkit-outer-spin-button,.qtd input::-webkit-inner-spin-button{-webkit-appearance:none}
.item__rm{grid-column:2;justify-self:start;font:500 12px var(--f-m);color:var(--aco);text-decoration:underline;margin-top:-6px}
.gaveta__base{padding:22px 28px 28px;border-top:1px solid var(--line);display:grid;gap:12px}
.gaveta__base .campo input{background:#fff;border-color:var(--line)}
.gaveta__base p{font-size:13px;color:var(--aco)}

/* toast */
.toast{position:fixed;left:50%;bottom:30px;z-index:85;transform:translate(-50%,140%);display:flex;gap:14px;align-items:center;padding:14px 16px 14px 20px;border-radius:999px;background:var(--g);color:#fff;font-weight:500;box-shadow:0 20px 50px -10px rgba(0,0,0,.5);transition:transform .6s var(--e)}
.toast.on{transform:translate(-50%,0)}
.toast button{height:38px;padding:0 16px;border-radius:999px;background:var(--v);color:var(--v-ink);font-weight:600}

/* ---------- páginas claras: topo ---------- */
.pg-topo{position:relative;padding:calc(var(--header) + 80px) 0 60px;overflow:hidden}
.pg-topo .h-xl{margin-top:20px}
.migalha{display:flex;gap:10px;font:500 13px var(--f-m);letter-spacing:.08em;text-transform:uppercase;color:var(--aco)}
.migalha a:hover{color:var(--vd)}

/* catálogo */
.filtros{position:sticky;top:calc(var(--header) + 12px);z-index:20;display:flex;gap:8px;flex-wrap:wrap;padding:8px;border-radius:999px;background:rgba(255,255,255,.85);backdrop-filter:blur(12px);border:1px solid var(--line);width:max-content;max-width:100%;margin-bottom:40px}
.filtros button{height:46px;padding:0 22px;border-radius:999px;font:600 15px var(--f-b);color:var(--txt);transition:background .3s,color .3s}
.filtros button:hover{color:var(--g)}
.filtros button.on{background:var(--g);color:#fff}
.filtros button em{font-style:normal;font:500 12px var(--f-m);margin-left:6px;opacity:.6}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{position:relative;display:flex;flex-direction:column;border-radius:var(--r-lg);background:#fff;border:1px solid var(--line);overflow:hidden;transition:border-color .4s,box-shadow .5s var(--e),transform .5s var(--e)}
.card:hover{border-color:var(--g);box-shadow:0 40px 70px -40px rgba(21,24,28,.35);transform:translateY(-4px)}
.card.esconde{display:none}
.card__img{position:relative;aspect-ratio:1/1;background:radial-gradient(ellipse at 50% 42%,#fff,#EEF0F2 60%,#DCE0E4);overflow:hidden}
.card__img img{position:absolute;inset:8%;width:84%;height:84%;object-fit:contain;mix-blend-mode:multiply;transition:transform .9s var(--e)}
.card:hover .card__img img{transform:scale(1.06)}
.card__tag{position:absolute;left:18px;top:18px;font:500 12px var(--f-m);letter-spacing:.12em;text-transform:uppercase;padding:7px 12px;border-radius:999px;background:#fff;border:1px solid var(--line);color:var(--txt)}
.card__corpo{padding:22px 24px 24px;display:flex;flex-direction:column;gap:6px;flex:1}
.card h3{font:800 36px/.95 var(--f-d);text-transform:uppercase}
.card p{font-size:15px;color:var(--txt)}
.card__var{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.card__var span{font:500 12px var(--f-m);letter-spacing:.04em;padding:6px 10px;border-radius:999px;background:var(--claro);color:var(--txt)}
.card__base{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:18px}
.card__base em{font-style:normal;font:500 13px var(--f-m);letter-spacing:.08em;text-transform:uppercase;color:var(--aco)}
.card__seta{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;transition:background .4s,border-color .4s,color .4s,transform .5s var(--e)}
.card:hover .card__seta{background:var(--g);border-color:var(--g);color:#fff;transform:rotate(-45deg)}
.sem-foto{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:var(--aco)}
.sem-foto svg{width:42%;height:auto;color:var(--g)}
.sem-foto span{font:500 12px var(--f-m);letter-spacing:.14em;text-transform:uppercase}

/* produto */
.prod{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(30px,5vw,80px);align-items:start}
.prod>*,.calc>*,.furos>*,.sobre>*,.hero__in>*{min-width:0}
.galeria{position:sticky;top:calc(var(--header) + 24px)}
.galeria__main{position:relative;aspect-ratio:1/1;border-radius:var(--r-xl);background:radial-gradient(ellipse at 50% 42%,#fff,#EEF0F2 60%,#D9DDE1);overflow:hidden;cursor:zoom-in}
.galeria__main img{position:absolute;inset:6%;width:88%;height:88%;object-fit:contain;mix-blend-mode:multiply;transition:opacity .4s,transform .6s var(--e)}
.galeria__main.zoom img{transform:scale(1.8)}
.galeria__thumbs{display:flex;gap:10px;margin-top:12px;flex-wrap:wrap}
.galeria__thumbs button{width:84px;height:84px;border-radius:14px;background:#fff;border:1.5px solid var(--line);padding:6px;transition:border-color .3s}
.galeria__thumbs button.on{border-color:var(--g)}
.galeria__thumbs img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
.prod__info h1{margin:16px 0 18px}
.prod__desc{font-size:18px;line-height:1.6;color:var(--txt)}
.opcao{margin-top:30px}
.opcao__rot{display:flex;justify-content:space-between;font:500 13px var(--f-m);letter-spacing:.12em;text-transform:uppercase;color:var(--aco);margin-bottom:12px}
.opcao__rot b{color:var(--g);font-weight:600}
.opcao__vals{display:flex;gap:8px;flex-wrap:wrap}
.opcao__vals button{min-height:50px;padding:0 20px;border-radius:14px;border:1.5px solid var(--line);background:#fff;font:600 15px var(--f-b);transition:border-color .3s,background .3s,color .3s}
.opcao__vals button:hover{border-color:var(--g)}
.opcao__vals button.on{background:var(--g);border-color:var(--g);color:#fff}
.opcao__vals button:disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through}
.sel{margin-top:30px;padding:22px 24px;border-radius:var(--r);background:#fff;border:1px solid var(--line);display:flex;justify-content:space-between;gap:16px;align-items:center;flex-wrap:wrap}
.sel small{display:block;font:500 12px var(--f-m);letter-spacing:.12em;text-transform:uppercase;color:var(--aco)}
.sel strong{display:block;font:700 19px var(--f-b);margin-top:4px}
.sel .cod{font:600 14px var(--f-m);padding:8px 12px;border-radius:10px;background:var(--claro)}
.prod__acoes{margin-top:16px;display:grid;grid-template-columns:auto 1fr;gap:12px}
.prod__acoes .qtd{height:58px}
.prod__acoes .qtd input{width:60px;font-size:17px}
.prod__acoes .btn{justify-content:center}
.prod__acoes .btn--wa{grid-column:1/-1}
.ficha{margin-top:46px}
.ficha h2{font:800 34px var(--f-d);text-transform:uppercase;margin-bottom:12px}
.ficha table{width:100%;border-collapse:collapse}
.ficha td{padding:15px 0;border-bottom:1px solid var(--line);font-size:16px;vertical-align:top}
.ficha td:first-child{font:500 13px var(--f-m);letter-spacing:.1em;text-transform:uppercase;color:var(--aco);width:42%;padding-top:18px}
.tab-var{margin-top:40px;overflow-x:auto}
.tab-var table{width:100%;border-collapse:collapse}
.tab-var th{font:500 12px var(--f-m);letter-spacing:.12em;text-transform:uppercase;color:var(--aco);text-align:left;padding:0 12px 12px 0;border-bottom:2px solid var(--g)}
.tab-var td{padding:14px 12px 14px 0;border-bottom:1px solid var(--line);font-size:15px}
.tab-var tr{cursor:pointer;transition:background .2s}
.tab-var tbody tr:hover{background:#fff}
.tab-var tr.on td{color:var(--vd);font-weight:600}
.dica{margin-top:30px;display:flex;gap:16px;padding:22px 24px;border-radius:var(--r);background:var(--g);color:var(--txt-d);font-size:16px}
.dica b{color:var(--v)}
.relacionados{margin-top:20px}

/* calculadora */
.calc{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(30px,5vw,80px);align-items:start}
.calc__form{display:grid;gap:14px;padding:32px;border-radius:var(--r-xl);background:#fff;border:1px solid var(--line)}
.calc__form .campo input,.calc__form .campo select{background:var(--claro)}
.calc__duo{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.calc__res{position:sticky;top:calc(var(--header) + 24px);border-radius:var(--r-xl);background:var(--g);color:var(--prata);padding:34px;overflow:hidden}
.calc__peso{font:800 clamp(100px,12vw,190px)/.8 var(--f-d);color:#fff;font-variant-numeric:tabular-nums;margin-top:18px}
.calc__peso small{font-size:.32em;color:var(--v);margin-left:6px}
.calc__conta{font:500 14px var(--f-m);letter-spacing:.04em;color:var(--aco2);margin-top:18px}
.calc__vis{position:relative;height:200px;margin:30px 0 10px;display:flex;align-items:flex-end;justify-content:center}
.calc__folha{border:3px solid var(--prata);border-radius:4px;background:linear-gradient(135deg,rgba(66,179,169,.3),rgba(66,179,169,.08));transition:width .5s var(--e),height .5s var(--e)}
.calc__rec{margin-top:24px;display:grid;gap:10px}
.calc__rec h4{font:500 12px var(--f-m);letter-spacing:.14em;text-transform:uppercase;color:var(--aco2)}
.rec{display:grid;grid-template-columns:56px 1fr auto;gap:14px;align-items:center;padding:12px;border-radius:14px;background:var(--g2);border:1px solid var(--line-d)}
.rec img{width:56px;height:56px;border-radius:10px;background:#fff;object-fit:contain;padding:3px}
.rec b{display:block;font:700 15px var(--f-b);color:#fff}
.rec small{font:500 12px var(--f-m);color:var(--aco2)}
.rec button{height:38px;padding:0 14px;border-radius:999px;background:var(--v);color:var(--v-ink);font:600 13px var(--f-b)}
.calc__nota{margin-top:18px;font-size:13px;color:var(--aco2)}

/* ---------- responsivo ---------- */
@media (max-width:1180px){
  .nav,.header__acoes .btn{display:none}
  .burger{display:block}
  .linhas{grid-template-columns:repeat(2,1fr)}
  .cards{grid-template-columns:repeat(2,1fr)}
  .footer__grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .nav,.header__acoes .btn{display:none}
  .burger{display:block}
  .hero__in,.conta__in,.furos,.sobre,.pdf,.prod,.calc{grid-template-columns:1fr}
  .hero__3d{height:56vh;min-height:360px;order:-1;margin-top:-20px}
  .hero{padding-top:calc(var(--header) + 10px)}
  .conta{height:auto;padding:100px 0}
  .conta__vidro{height:46vh}
  .conta__folha{width:44vw;height:40vh}
  .nums{grid-template-columns:1fr 1fr}
  .num{border-right:0;padding:30px 0!important;border-bottom:1px solid var(--line-d)}
  .passos{grid-template-columns:1fr 1fr;gap:30px}
  .passos__linha{display:none}
  .galeria,.calc__res{position:relative;top:0}
  .tri{height:auto;min-height:520px}
  .trilhos{height:auto;padding:90px 0}
  .trilhos__track{position:relative;flex-direction:column;align-items:stretch;padding:0 var(--gut);gap:18px}
  .tri,.trilhos__intro{width:100%}
  .tri__foto{min-height:240px}
}
@media (max-width:640px){
  .tab-var table{min-width:0;font-size:14px}
  .tab-var th,.tab-var td{padding-right:8px}
  body{font-size:16px}
  .linhas,.cards,.passos{grid-template-columns:1fr}
  .linha{min-height:380px}
  .hero__meta b{font-size:32px}
  .footer__grid{grid-template-columns:1fr}
  .filtros{border-radius:20px}
  .calc__duo{grid-template-columns:1fr}
  .prod__acoes{grid-template-columns:1fr}
  .scroll-cue{display:none}
}
@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  [data-r]{opacity:1!important;transform:none!important}
}
