/* ============================================================
   SILTEX — index.css
   ============================================================ */

/* ============================================================ TOKENS ============================================================ */
:root{
    --azul-900:#06182e; --azul-800:#0a2546; --azul-700:#0f3a6e; --azul-600:#155aa8;
    --azul-500:#1f73d0; --azul-400:#6f93c3; --acento:#aab4c2;
    --aco-900:#1b2230; --aco-700:#3a4658; --aco-500:#6b7787; --aco-300:#aab4c2;
    --aco-200:#cdd5df; --aco-100:#e7ebf1; --aco-50:#f3f5f9;
    --branco:#ffffff; --texto:#0f1722; --texto-2:#566173;
    --r-sm:6px; --r:12px; --r-lg:20px;
    --sombra:0 1px 2px rgba(10,37,70,.06), 0 6px 24px rgba(10,37,70,.06);
    --sombra-hover:0 8px 40px rgba(10,37,70,.16);
    --linha:1px solid var(--aco-100); --maxw:1320px; --nav-h:72px;
    --ease:cubic-bezier(.2,.7,.2,1);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
/* enquanto o loader está na tela o scroll precisa ser instantâneo:
   com smooth, o scrollTo(0,0) vira animação e o mobile a interrompe */
html:not(.loaded-html){scroll-behavior:auto}
body{font-family:'Inter',sans-serif;color:var(--texto);background:var(--branco);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.no-scroll{overflow:hidden}
/* trava real do scroll durante o loader.
   Só overflow:hidden não segura o Safari iOS — o position:fixed segura. */
body:not(.loaded){position:fixed;top:0;left:0;width:100%;height:100%;overflow:hidden;animation:destravar 0s linear 3s forwards}
@keyframes destravar{to{position:static;height:auto;overflow:visible}}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
.container{max-width:var(--maxw);margin:0 auto;padding:0 32px}
.eyebrow{font-family:'Space Mono',monospace;font-size:12px;font-weight:700;letter-spacing:2.5px;text-transform:uppercase;color:var(--azul-500);display:inline-flex;align-items:center;gap:10px}
.eyebrow::before{content:'';width:26px;height:2px;background:var(--acento)}
@media(prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* ============================================================ LOADING SCREEN ============================================================ */
.loader{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,var(--azul-900) 0%,#08203c 70%,var(--azul-800) 100%);transition:opacity .6s var(--ease), visibility .6s}
.loader::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(70% 60% at 50% 35%, rgba(79,155,238,.22), transparent 70%)}
.loader.hide{opacity:0;visibility:hidden}
.loader-inner{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 24px}
.loader-brand{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.loader-mark{width:46px;height:46px;border-radius:12px}
.loader-logo{height:52px;width:auto;object-fit:contain;display:block}
.loader-name{font-family:'Archivo',sans-serif;font-weight:800;font-size:34px;letter-spacing:.5px;color:#fff}
.loader-name b{color:var(--azul-400)}
.loader-sub{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--aco-300);margin-bottom:34px}
.loader-track{width:220px;max-width:60vw;height:3px;border-radius:3px;background:rgba(255,255,255,.12);overflow:hidden}
.loader-bar{display:block;width:0%;height:100%;background:linear-gradient(90deg,var(--azul-500),var(--acento));border-radius:3px;transition:width .25s var(--ease)}
.loader-status{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:1.5px;color:var(--aco-500);margin-top:16px}

/* ============================================================ SCROLLBAR (desktop) ============================================================ */
@media(min-width:761px){
    html{scrollbar-width:thin;scrollbar-color:var(--azul-600) var(--aco-50)}
    ::-webkit-scrollbar{width:12px;height:12px}
    ::-webkit-scrollbar-track{background:var(--aco-50)}
    ::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--azul-600),var(--azul-800));border-radius:10px;border:3px solid var(--aco-50);background-clip:padding-box;transition:background .3s}
    ::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--azul-500),var(--azul-700));background-clip:padding-box}
}

/* ============================================================ TOPBAR ============================================================ */
.topbar{background:var(--azul-900);color:var(--aco-300);font-family:'Space Mono',monospace;font-size:11.5px;letter-spacing:.5px}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;height:32px}
.topbar-inner .tb-right{display:flex;gap:24px}
.topbar a:hover{color:var(--branco)}
.tb-dot{color:var(--acento);animation:blink 2.4s ease-in-out infinite}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.35}}

/* ============================================================ HEADER DESKTOP ============================================================ */
.head{position:sticky;top:0;z-index:600;background:rgba(255,255,255,.86);backdrop-filter:saturate(160%) blur(14px);border-bottom:var(--linha);transition:box-shadow .3s var(--ease)}
.head.scrolled{box-shadow:0 6px 28px rgba(10,37,70,.10)}
.head-inner{height:var(--nav-h);display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}
.brand-logo{height:42px;width:auto;object-fit:contain;display:block}
.brand-logo-foot{height:46px;filter:brightness(0) invert(1)}
.brand-mark{width:40px;height:40px;border-radius:10px;flex-shrink:0;background:linear-gradient(135deg,var(--azul-600),var(--azul-800));display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px rgba(255,255,255,.12), 0 4px 14px rgba(15,58,110,.35);position:relative;overflow:hidden}
.brand-mark::before{content:'';position:absolute;inset:11px;background:repeating-linear-gradient(0deg,var(--acento) 0 2px,transparent 2px 5px),repeating-linear-gradient(90deg,rgba(255,255,255,.7) 0 2px,transparent 2px 5px);opacity:.9;border-radius:2px}
.brand-name{font-family:'Archivo',sans-serif;font-weight:800;font-size:22px;letter-spacing:.5px;color:var(--azul-900)}
.brand-name b{color:var(--azul-600)}
.brand-sub{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:2px;color:var(--aco-500);text-transform:uppercase;margin-top:-2px}
.nav{display:flex;gap:4px;margin-left:8px}
.nav a{font-weight:600;font-size:14.5px;color:var(--texto-2);padding:10px 16px;border-radius:8px;position:relative;transition:color .2s, background .2s}
.nav a:hover{color:var(--azul-700);background:var(--aco-50)}
.nav a.ativo{color:var(--azul-700)}
.nav a::after{content:'';position:absolute;left:16px;right:16px;bottom:4px;height:2px;background:var(--acento);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .3s var(--ease)}
.nav a.ativo::after{transform:scaleX(1)}
.head-cta{margin-left:auto;display:flex;align-items:center;gap:12px}
.btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:14.5px;border-radius:10px;padding:12px 22px;transition:transform .2s var(--ease), box-shadow .2s, background .2s;white-space:nowrap;position:relative;overflow:hidden}
.btn svg{width:17px;height:17px}
.btn-primario{background:var(--azul-600);color:#fff;box-shadow:0 6px 18px rgba(21,90,168,.32)}
.btn-primario:hover{background:var(--azul-700);transform:translateY(-2px);box-shadow:0 12px 28px rgba(21,90,168,.4)}
.btn-ghost{color:var(--azul-700);border:1.5px solid var(--aco-200)}
.btn-ghost:hover{border-color:var(--azul-500);background:var(--aco-50)}
.btn-ghost-dark{color:#fff;border:1.5px solid rgba(255,255,255,.25)}
.btn-ghost-dark:hover{border-color:var(--acento);background:rgba(170,180,194,.12);color:var(--acento);transform:translateY(-2px)}
.btn-wpp{background:var(--acento);color:var(--azul-900)}
.btn-wpp:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(170,180,194,.4)}
.btn-wpp-white,.btn-wpp-white *{color:#fff !important}
.btn-icon{width:48px;flex:0 0 48px!important;border:1.5px solid var(--aco-200);color:var(--azul-700);border-radius:10px;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0}
.btn-icon:hover{border-color:var(--acento);background:rgba(170,180,194,.1);color:var(--azul-800)}
.btn-icon svg{width:18px;height:18px}
.btn-spec{background:var(--azul-900);color:#fff}
.btn-spec:hover{background:var(--azul-700);transform:translateY(-2px)}

/* ============================================================ MENU DE CONTA (desktop) ============================================================ */
.acc-wrap{position:relative;flex:0 0 auto}
.acc-btn{display:inline-flex;align-items:center;gap:9px;font-weight:700;font-size:14px;color:var(--azul-700);border:1.5px solid var(--aco-200);border-radius:10px;padding:10px 16px;transition:border-color .2s, background .2s}
.acc-btn:hover{border-color:var(--azul-500);background:var(--aco-50)}
.acc-btn svg{width:18px;height:18px}
.acc-nome{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acc-menu{position:absolute;top:calc(100% + 10px);right:0;min-width:210px;background:#fff;border:var(--linha);border-radius:14px;box-shadow:0 18px 44px rgba(6,24,46,.18);padding:8px;opacity:0;visibility:hidden;transform:translateY(-8px);transition:opacity .25s var(--ease), transform .25s var(--ease), visibility .25s;z-index:700}
.acc-menu.show{opacity:1;visibility:visible;transform:translateY(0)}
.acc-menu a{display:flex;align-items:center;gap:11px;padding:11px 13px;border-radius:9px;font-weight:600;font-size:14px;color:var(--texto-2);transition:background .2s, color .2s}
.acc-menu a:hover{background:var(--aco-50);color:var(--azul-700)}
.acc-menu a svg{width:17px;height:17px}
.acc-menu .acc-sair{color:#c0392b}
.acc-menu .acc-sair:hover{background:#fdecea;color:#c0392b}

/* ============================================================ BOTÃO ROBÔ ============================================================ */
.robo-wrap{position:relative;flex:0 0 auto}
.robo-btn{width:48px;height:48px;border-radius:11px;background:var(--azul-600);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(21,90,168,.32);transition:transform .2s var(--ease), box-shadow .2s, background .2s;cursor:pointer;position:relative}
.robo-btn:hover{background:var(--azul-700);transform:translateY(-2px);box-shadow:0 12px 28px rgba(21,90,168,.4)}
.robo-btn svg{width:23px;height:23px}
.robo-btn::after{content:'';position:absolute;top:7px;right:7px;width:7px;height:7px;border-radius:50%;background:var(--acento);box-shadow:0 0 0 2px var(--azul-600);animation:roboBlink 2.2s ease-in-out infinite}
@keyframes roboBlink{0%,100%{opacity:1}50%{opacity:.3}}
.robo-bubble{position:absolute;top:calc(100% + 12px);right:0;width:max-content;max-width:260px;background:var(--azul-900);color:#fff;font-size:13px;line-height:1.45;padding:13px 16px;border-radius:14px;border:1px solid rgba(79,155,238,.25);box-shadow:0 18px 44px rgba(6,24,46,.35);opacity:0;visibility:hidden;transform:translateY(-8px) scale(.96);transform-origin:top right;transition:opacity .3s var(--ease), transform .3s var(--ease), visibility .3s;z-index:700;pointer-events:none}
.robo-bubble.show{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto}
.robo-bubble::before{content:'';position:absolute;bottom:100%;right:16px;border:7px solid transparent;border-bottom-color:var(--azul-900)}
.robo-bubble strong{display:block;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--acento);margin-bottom:5px}

/* ============================================================ HERO ============================================================ */
.hero{position:relative;overflow:hidden;background:radial-gradient(120% 90% at 100% 0%, var(--azul-700) 0%, transparent 55%),linear-gradient(160deg,var(--azul-900) 0%, var(--azul-800) 60%, #08203c 100%);color:#fff}
.hero::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(80% 70% at 75% 20%, rgba(79,155,238,.20), transparent 70%)}
.hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.05fr .95fr;gap:46px;align-items:center;padding:78px 0 60px}
.hero-kicker{margin-bottom:24px}
.hero-kicker .eyebrow{color:var(--acento)}
.hero-kicker .eyebrow::before{background:var(--acento)}
.hero h1{font-family:'Archivo',sans-serif;font-weight:900;font-size:clamp(40px,5.6vw,72px);line-height:.98;letter-spacing:-1.5px;text-wrap:balance}
.hero h1 .ln{display:block}
.hero h1 em{font-style:normal;color:var(--azul-400)}
.hero h1 .out{-webkit-text-stroke:1.5px var(--acento);color:transparent}
.hero h1 .ln{display:block}
.hero-visual{position:relative;height:100%;min-height:370px}
.hero-desc{margin-top:23px;max-width:475px;font-size:17px;color:var(--aco-200);line-height:1.6}
.hero-actions{margin-top:34px;display:flex;gap:14px;flex-wrap:wrap}
.hero-card{position:absolute;inset:0;border-radius:var(--r-lg);overflow:hidden;background:linear-gradient(180deg,rgba(6,24,46,0) 40%,rgba(6,24,46,.85) 100%),linear-gradient(135deg,#13335c,#0a223f);border:1px solid rgba(79,155,238,.25);box-shadow:0 30px 80px rgba(0,0,0,.45)}
.hero-card>img{width:100%;height:100%;object-fit:cover;opacity:.92;mix-blend-mode:luminosity}
.hero-card-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.hero-gear{width:64%;max-width:340px;opacity:.9;animation:spin 26s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.maq-media-grid{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(90% 90% at 85% 0%, rgba(255,255,255,.10), transparent 70%)}

/* ============================================================ SEÇÕES GENÉRICAS ============================================================ */
.sec{padding:96px 0}
.sec-head{max-width:680px;margin-bottom:52px}
.sec-head.center{margin-left:auto;margin-right:auto;text-align:center}
.sec-head.center .eyebrow{justify-content:center}
.sec-title{font-family:'Archivo',sans-serif;font-weight:800;font-size:clamp(30px,4vw,46px);line-height:1.05;letter-spacing:-1px;color:var(--azul-900);margin-top:18px;text-wrap:balance}
.sec-sub{margin-top:16px;font-size:17px;color:var(--texto-2);max-width:560px}
.sec-head.center .sec-sub{margin-left:auto;margin-right:auto}

/* ============================================================ ESTADO VAZIO ============================================================ */
.linha-vazio{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:60px 30px;background:var(--aco-50);border:1.5px dashed var(--aco-200);border-radius:var(--r-lg);color:var(--texto-2)}
.linha-vazio svg{width:44px;height:44px;color:var(--azul-500);opacity:.7}
.linha-vazio strong{font-family:'Archivo';font-weight:800;font-size:22px;color:var(--azul-900);margin-top:4px}
.linha-vazio span{font-size:14px;max-width:400px;line-height:1.55}
.linha-vazio-dark{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.15);color:var(--aco-300)}
.linha-vazio-dark strong{color:#fff}
.linha-vazio-dark svg{color:var(--acento)}

/* ============================================================ CARROSSEL PRINCIPAL (SLIDESHOW 5s) ============================================================ */
.vitrine{background:var(--aco-50)}
.vitrine-inner{display:grid;grid-template-columns:.85fr 1.15fr;gap:48px;align-items:center}
.vitrine-left .eyebrow{margin-bottom:18px}
.vitrine-title{font-family:'Archivo';font-weight:800;font-size:clamp(28px,3.4vw,42px);line-height:1.06;letter-spacing:-1px;color:var(--azul-900)}
.vitrine-sub{margin:16px 0 26px;font-size:16px;color:var(--texto-2);line-height:1.6;max-width:380px}
.vitrine-right{position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.vitrine-fade{position:absolute;top:0;bottom:0;width:60px;z-index:3;pointer-events:none}
.vitrine-fade-l{left:0;background:linear-gradient(90deg,var(--branco),transparent)}
.vitrine-fade-r{right:0;background:linear-gradient(270deg,var(--branco),transparent)}
.vitrine-rail{display:flex;align-items:flex-start;width:max-content;will-change:transform}
.vitrine-card{position:relative;flex:0 0 250px;width:250px;max-width:250px;margin-right:20px;border-radius:var(--r-lg);overflow:hidden;cursor:pointer;box-shadow:var(--sombra);border:var(--linha);background:var(--branco);transition:transform .35s var(--ease), box-shadow .35s, border-color .35s;display:block;text-decoration:none;color:inherit}
.vitrine-card:hover{transform:translateY(-8px);box-shadow:var(--sombra-hover);border-color:var(--aco-200);z-index:2}
.vitrine-card-media{position:relative;height:170px;overflow:hidden;background:none}
.vitrine-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.vitrine-card:hover .vitrine-card-media img{transform:scale(1.08)}
.vitrine-card-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.vitrine-card-fallback svg{width:40%;opacity:.6}
.vitrine-card-grid{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(90% 90% at 85% 0%, rgba(255,255,255,.10), transparent 70%)}
.vitrine-card-body{padding:15px 17px 17px}
.vitrine-card-fam{font-family:'Space Mono',monospace;font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--azul-500)}
.vitrine-card-model{font-family:'Archivo';font-weight:800;font-size:18px;color:var(--azul-900);letter-spacing:-.3px;margin-top:4px}
.vitrine-vazio{width:100%}

/* ============================================================ A LINHA ============================================================ */
.linha{background:var(--aco-50);border-top:var(--linha);border-bottom:var(--linha)}
.linha-rail-wrap{position:relative}
.linha-rail{display:flex;gap:0;border-left:var(--linha);max-width:var(--maxw);margin:0 auto}
.linha-item{flex:1 1 0;min-width:0;border-right:var(--linha);border-top:var(--linha);border-bottom:var(--linha);padding:30px 26px;background:var(--branco);display:flex;flex-direction:column;gap:14px;transition:background .3s var(--ease), transform .3s var(--ease);position:relative;cursor:pointer}
.linha-item:hover{background:var(--azul-900);z-index:2}
.linha-ico{width:46px;height:46px;border-radius:11px;background:var(--aco-50);color:var(--azul-600);display:flex;align-items:center;justify-content:center;transition:background .3s,color .3s,transform .3s}
.linha-ico svg{width:24px;height:24px}
.linha-item:hover .linha-ico{background:rgba(170,180,194,.16);color:var(--acento);transform:scale(1.08) rotate(-4deg)}
.linha-num{font-family:'Space Mono',monospace;font-size:12px;color:var(--aco-500);transition:color .3s}
.linha-item:hover .linha-num{color:var(--azul-400)}
.linha-nome{font-family:'Archivo';font-weight:700;font-size:19px;color:var(--azul-900);transition:color .3s}
.linha-item:hover .linha-nome{color:#fff}
.linha-go{margin-top:auto;font-size:13px;font-weight:600;color:var(--azul-600);display:flex;align-items:center;gap:6px;transition:color .3s}
.linha-item:hover .linha-go{color:var(--acento)}
.linha-go svg{width:15px;height:15px;transition:transform .3s}
.linha-item:hover .linha-go svg{transform:translateX(5px)}

/* ============================================================ DESTAQUES ============================================================ */
.showcase{background:var(--aco-50)}
.sc-head-row{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:40px;flex-wrap:wrap}
.sc-controls{display:none}
.sc-btn{width:50px;height:50px;border-radius:50%;border:1.5px solid var(--aco-200);display:flex;align-items:center;justify-content:center;color:var(--azul-700);transition:all .2s var(--ease);background:var(--branco)}
.sc-btn:hover{border-color:var(--azul-600);background:var(--azul-600);color:#fff;transform:translateY(-2px)}
.sc-btn:active{transform:scale(.92)}
.sc-btn svg{width:20px;height:20px}
.sc-track{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:34px;padding:10px 4px 4px;margin:0 -4px}
/* com poucos destaques o card fica largo de verdade (classe vinda do PHP) */
.maq-card{background:var(--branco);border:1px solid var(--aco-100);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sombra);display:flex;flex-direction:column;min-width:0;transition:transform .45s var(--ease), box-shadow .45s var(--ease), border-color .45s var(--ease)}
.maq-card:hover{transform:translateY(-7px);box-shadow:var(--sombra-hover);border-color:var(--aco-200)}
.maq-media{position:relative;min-height:220px;display:flex;align-items:center;justify-content:center;padding:30px;overflow:hidden;
    background:
        linear-gradient(var(--aco-100) 1px,transparent 1px) 0 0/100% 24px,
        linear-gradient(90deg,var(--aco-100) 1px,transparent 1px) 0 0/24px 100%,
        var(--aco-50)}
.maq-media img{display:block;width:100%;height:auto;max-height:230px;object-fit:contain;object-position:center;position:relative;z-index:1;transition:transform .6s var(--ease)}
.maq-card:hover .maq-media img{transform:scale(1.045)}
/* marcas de canto — desenho técnico, aparecem no hover */
.maq-media::before,.maq-media::after{content:'';position:absolute;width:22px;height:22px;border:1.5px solid var(--azul-500);opacity:0;transition:opacity .4s var(--ease), transform .4s var(--ease);z-index:2;pointer-events:none}
.maq-media::before{top:14px;left:14px;border-right:0;border-bottom:0;transform:translate(5px,5px)}
.maq-media::after{bottom:14px;right:14px;border-left:0;border-top:0;transform:translate(-5px,-5px)}
.maq-card:hover .maq-media::before,.maq-card:hover .maq-media::after{opacity:.6;transform:translate(0,0)}
.maq-media-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 100% at 80% 10%, rgba(79,155,238,.25), transparent 60%),linear-gradient(135deg,var(--azul-800),var(--azul-900))}
.maq-media-fallback svg{width:46%;opacity:.85}
.maq-pill{position:absolute;top:16px;left:16px;font-family:'Space Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.5px;background:var(--acento);color:var(--azul-900);padding:6px 13px;border-radius:50px;z-index:2}
.maq-cat{position:absolute;top:16px;right:16px;z-index:2;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:#fff;background:rgba(6,24,46,.55);backdrop-filter:blur(4px);padding:6px 12px;border-radius:50px;border:1px solid rgba(255,255,255,.18)}
.maq-body{padding:28px 26px 26px;display:flex;flex-direction:column;flex:1}
.maq-fam{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--azul-500);display:flex;align-items:center;gap:8px}
.maq-fam::before{content:'';width:16px;height:1.5px;background:var(--acento);flex:0 0 auto}
.maq-modelo{font-family:'Archivo';font-weight:800;font-size:26px;line-height:1.25;letter-spacing:-.5px;color:var(--azul-900);margin-top:6px;min-height:2.5em;display:flex;align-items:center}
.maq-resumo{font-size:14.5px;color:var(--texto-2);margin-top:12px;line-height:1.55}
.maq-specs{margin-top:24px;padding-top:20px;position:relative;display:grid;grid-template-columns:1fr 1fr;gap:16px 20px}
.maq-specs::before{content:'';position:absolute;top:0;left:0;width:32px;height:2px;background:var(--azul-600)}
.spec{background:transparent;padding:0}
.spec-k{font-family:'Space Mono',monospace;font-size:10.5px;letter-spacing:.8px;text-transform:uppercase;color:var(--aco-500)}
.spec-v{font-family:'Archivo';font-weight:700;font-size:16.5px;color:var(--azul-900);margin-top:4px}
.maq-foot{margin-top:auto;padding-top:24px;display:flex;gap:10px;border-top:1px solid var(--aco-100)}
.maq-foot .btn{flex:1;justify-content:center;padding:13px 16px;font-size:14px}

/* ============================================================ DIFERENCIAIS ============================================================ */
.dif{background:linear-gradient(160deg,var(--azul-900),#08203c);color:#fff;position:relative;overflow:hidden}
.dif::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(80% 70% at 15% 0%, rgba(79,155,238,.18), transparent 70%)}
.dif .container{position:relative;z-index:2}
.dif .sec-title{color:#fff}
.dif .sec-sub{color:var(--aco-300)}
.dif-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.08);border-radius:var(--r-lg);overflow:hidden}
.dif-item{background:rgba(255,255,255,.012);padding:38px 36px;transition:background .3s;position:relative}
.dif-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--acento);transform:scaleY(0);transform-origin:top;transition:transform .35s var(--ease)}
.dif-item:hover{background:rgba(79,155,238,.08)}
.dif-item:hover::before{transform:scaleY(1)}
.dif-n{font-family:'Space Mono',monospace;font-size:13px;color:var(--acento);letter-spacing:1px}
.dif-t{font-family:'Archivo';font-weight:700;font-size:23px;margin:14px 0 10px;color:#fff}
.dif-d{font-size:15px;color:var(--aco-300);line-height:1.6;max-width:420px}

/* ============================================================ PROCESSO ============================================================ */
.processo{background:var(--branco)}
.proc-grid{display:grid;grid-template-columns:repeat(var(--proc-total,4),1fr);gap:24px}
.proc-step{position:relative;padding-top:30px}
.proc-step::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--aco-100)}
.proc-step::after{content:'';position:absolute;top:-3px;left:0;width:52px;height:8px;border-radius:4px;background:var(--azul-600);transition:width .4s var(--ease)}
.proc-step:hover::after{width:100%;background:linear-gradient(90deg,var(--azul-600),var(--acento))}
.proc-num{font-family:'Space Mono',monospace;font-weight:700;font-size:13px;color:var(--azul-500);letter-spacing:1px}
.proc-t{font-family:'Archivo';font-weight:800;font-size:24px;color:var(--azul-900);margin:14px 0 10px;letter-spacing:-.3px}
.proc-d{font-size:14.5px;color:var(--texto-2);line-height:1.55}

/* ============================================================ CTA ============================================================ */
.cta{padding:0 0 96px}
.cta-box{background:linear-gradient(135deg,var(--azul-600),var(--azul-800));border-radius:var(--r-lg);padding:64px 56px;color:#fff;position:relative;overflow:hidden;display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap;box-shadow:0 30px 70px rgba(15,58,110,.35)}
.cta-box::after{content:'';position:absolute;right:-60px;top:50%;transform:translateY(-50%);width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(170,180,194,.22),transparent 65%);animation:pulse 5s ease-in-out infinite}
@keyframes pulse{0%,100%{transform:translateY(-50%) scale(1);opacity:1}50%{transform:translateY(-50%) scale(1.15);opacity:.7}}
.cta-text{position:relative;z-index:2}
.cta-text h2{font-family:'Archivo';font-weight:900;font-size:clamp(28px,3.6vw,42px);line-height:1.05;letter-spacing:-1px}
.cta-text p{margin-top:14px;font-size:17px;color:var(--aco-200);max-width:480px}
.cta-actions{position:relative;z-index:2;display:flex;gap:14px;flex-wrap:wrap}
.cta .btn-wpp{padding:16px 28px;font-size:15px}
.cta .btn-light{background:#fff;color:var(--azul-800);padding:16px 28px;font-size:15px}
.cta .btn-light:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.25)}

/* ============================================================ FOOTER ============================================================ */
.foot{background:var(--azul-900);color:var(--aco-300);position:relative;overflow:hidden}
.foot::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(90% 90% at 85% 0%, rgba(79,155,238,.14), transparent 70%)}
.foot .container{position:relative;z-index:2}
.foot-wordmark{font-family:'Archivo';font-weight:900;font-size:clamp(54px,15vw,200px);line-height:.8;letter-spacing:-4px;color:transparent;-webkit-text-stroke:1px rgba(79,155,238,.18);padding:54px 0 0;white-space:nowrap;overflow:hidden;text-align:center;user-select:none}
.foot-top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:48px;padding:48px 0 48px;border-bottom:1px solid rgba(255,255,255,.08)}
.foot-brand .brand-name{color:#fff}
.foot-desc{font-size:14px;color:var(--aco-500);margin:20px 0 24px;max-width:300px;line-height:1.7}
.foot-soc{display:flex;gap:10px}
.foot-soc a{width:42px;height:42px;border-radius:11px;border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:var(--aco-300);transition:all .3s var(--ease)}
.foot-soc a:hover{background:var(--azul-600);border-color:var(--azul-600);color:#fff;transform:translateY(-4px)}
.foot-soc svg{width:18px;height:18px}
.foot-col h4{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--aco-500);margin-bottom:20px}
.foot-col ul{list-style:none}
.foot-col li{margin-bottom:12px}
.foot-col a{font-size:14.5px;color:var(--aco-300);transition:color .2s,padding .2s;display:inline-flex;align-items:center;gap:8px}
.foot-col a::before{content:'';width:0;height:1px;background:var(--acento);transition:width .25s var(--ease)}
.foot-col a:hover{color:#fff}
.foot-col a:hover::before{width:14px}
.foot-contact li{display:flex;gap:11px;align-items:flex-start;margin-bottom:16px;font-size:14px}
.foot-contact svg{width:17px;height:17px;color:var(--azul-400);flex-shrink:0;margin-top:3px}
.foot-cta-mini{margin-top:18px}
.foot-cta-mini .btn{padding:13px 20px;font-size:13.5px}
.foot-bottom{padding:24px 0;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.foot-badges{display:flex;gap:18px;flex-wrap:wrap}
.foot-badge{font-family:'Space Mono',monospace;font-size:11px;color:var(--aco-500);display:flex;align-items:center;gap:7px;letter-spacing:.5px}
.foot-badge svg{width:14px;height:14px;color:var(--acento)}
.foot-copy{font-size:13px;color:var(--aco-500)}
.foot-copy a{color:var(--azul-400);font-weight:600}

/* ============================================================ DOCK NAV (mobile) ============================================================ */
.dock{display:none}
.dock-fab-img{width:34px;height:34px;object-fit:contain;border-radius:50%}
.m-top{display:none}

/* ============================================================ ACC SHEET (mobile) ============================================================ */
.acc-sheet{display:none}

/* ============================================================ REVEAL ============================================================ */
[data-rv]{transition:opacity .9s cubic-bezier(.16,1,.3,1), transform .9s cubic-bezier(.16,1,.3,1)}
[data-rv].animate-ready{opacity:0}
[data-rv="up"].animate-ready{transform:translateY(60px)}
[data-rv="left"].animate-ready{transform:translateX(-70px)}
[data-rv="right"].animate-ready{transform:translateX(70px)}
[data-rv="scale"].animate-ready{transform:scale(.94)}
[data-rv].animate-ready.visible{opacity:1;transform:none}
[data-rv-stagger]>*{transition:opacity .7s cubic-bezier(.16,1,.3,1), transform .7s cubic-bezier(.16,1,.3,1)}
[data-rv-stagger].animate-ready>*{opacity:0;transform:translateX(-44px)}
[data-rv-stagger][data-rv-from="right"].animate-ready>*{transform:translateX(44px)}
[data-rv-stagger].animate-ready.visible>*{opacity:1;transform:none}
[data-rv-stagger].animate-ready.visible>*:nth-child(1){transition-delay:.05s}
[data-rv-stagger].animate-ready.visible>*:nth-child(2){transition-delay:.12s}
[data-rv-stagger].animate-ready.visible>*:nth-child(3){transition-delay:.19s}
[data-rv-stagger].animate-ready.visible>*:nth-child(4){transition-delay:.26s}
[data-rv-stagger].animate-ready.visible>*:nth-child(5){transition-delay:.33s}
[data-rv-stagger].animate-ready.visible>*:nth-child(6){transition-delay:.40s}
[data-rv-stagger].animate-ready.visible>*:nth-child(7){transition-delay:.47s}
[data-rv-stagger].animate-ready.visible>*:nth-child(8){transition-delay:.54s}
:focus-visible{outline:3px solid var(--acento);outline-offset:2px;border-radius:4px}

/* ============================================================ RESPONSIVE ============================================================ */
@media(max-width:1100px){
    .hero-inner{grid-template-columns:1fr;gap:36px;padding:64px 0 48px}
    .hero-visual{min-height:320px;order:-1}
    .proc-grid{grid-template-columns:repeat(2,1fr);gap:32px}
    .foot-top{grid-template-columns:1fr 1fr;gap:36px}
    .foot-brand{grid-column:1/-1}
    .sc-track{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
}
@media(max-width:760px){
    .container{padding:0 18px}
    .topbar,.head{display:none}
    body{padding-bottom:calc(var(--nav-h) + env(safe-area-inset-bottom))}
    .sec{padding:56px 0}
    .sec-head{margin-bottom:34px}
    .m-top{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;background:var(--branco);border-bottom:var(--linha);position:sticky;top:0;z-index:500;overflow:visible}
    #linha,#vitrine,#catalogo,#diferenciais,#processo{scroll-margin-top:96px}
    .m-top .brand-name{font-size:20px}
    .m-wpp{width:42px;height:42px;border-radius:11px;background:var(--acento);color:var(--azul-900);display:flex;align-items:center;justify-content:center}
    .m-wpp svg{width:20px;height:20px}
    .m-wpp.robo-btn{background:var(--azul-600);color:#fff}
    .m-wpp.robo-btn svg{width:22px;height:22px}
    .robo-bubble-mob{right:0;max-width:78vw}

    .hero-inner{padding:26px 0 38px;text-align:center;justify-items:center}
    .hero h1{font-size:clamp(31px,8.6vw,44px);line-height:1.04}
    .hero-kicker{display:flex;justify-content:center;margin-bottom:18px}
    .hero-desc{margin-left:auto;margin-right:auto;font-size:14px;max-width:85%}
    .hero-visual{min-height:220px;width:85%;max-width:340px;margin:0 auto}
    .hero-actions{flex-direction:row;justify-content:center;width:100%;margin-top:24px;gap:10px}
    .hero-actions .btn{flex:0 1 auto;justify-content:center;padding:11px 16px;font-size:12.5px}

    /* VITRINE mobile — empilha, carrossel embaixo */
    .vitrine-inner{grid-template-columns:1fr;gap:28px}
    .vitrine-sub{max-width:100%}
    .vitrine-card{flex:0 0 60vw;width:60vw;max-width:220px;margin-right:14px}
    .vitrine-card-media{height:140px}
    .vitrine-right{margin:0 16px}

    .sc-controls{display:none}
    .sc-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 4px 6px}
    .sc-track::-webkit-scrollbar{display:none}
    .maq-card{flex:0 0 84vw;max-width:340px}
    .maq-modelo{font-size:19px;margin-top:4px}

    .linha .sec-head{margin-bottom:26px}
    .linha-rail{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}
    .linha-rail::-webkit-scrollbar{display:none}
    .linha-item{flex:0 0 230px;scroll-snap-align:start;padding:26px 22px}

    .dif-grid{grid-template-columns:1fr}
    .dif-item{padding:30px 26px}

    .proc-grid{grid-template-columns:1fr;gap:0}
    .proc-step{padding:22px 0;border-top:var(--linha)}
    .proc-step::before,.proc-step::after{display:none}

    .cta{padding:0 0 56px}
    .cta-box{padding:40px 26px;flex-direction:column;align-items:flex-start;text-align:left}
    .cta-actions{width:100%}
    .cta-actions .btn{flex:1;justify-content:center}

    .foot-wordmark{padding-top:40px}
    .foot-top{grid-template-columns:1fr 1fr;gap:26px 20px;padding:36px 0}
    .foot-brand{grid-column:1/-1}
    .foot-col:nth-of-type(4){grid-column:1/-1}
    .foot-bottom{flex-direction:column;text-align:center}

    /* DOCK */
    .dock{display:block;position:fixed;left:0;right:0;bottom:0;z-index:800;padding-bottom:env(safe-area-inset-bottom);background:transparent}
    .dock-curve{position:absolute;top:0;left:0;width:100%;height:30px;pointer-events:none;z-index:1;display:block;overflow:visible}
    .dock::after{content:'';position:absolute;left:0;right:0;top:26px;bottom:0;z-index:0;background:var(--branco);box-shadow:0 -6px 24px rgba(10,37,70,.12);border-top:1px solid var(--aco-100)}
    .dock-inner{position:relative;z-index:2;display:flex;height:var(--nav-h)}
    .dock-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:var(--aco-500);transition:color .2s;background:none;cursor:pointer}
    .dock-item svg{width:23px;height:23px;transition:transform .2s}
    .dock-item span{font-family:'Space Mono',monospace;font-size:9.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}
    .dock-item.ativo{color:var(--azul-700)}
    .dock-item.ativo svg{transform:translateY(-2px)}
    .dock-item:active{transform:scale(.92)}
    .dock-fab-wrap{flex:0 0 70px;display:flex;justify-content:center;align-items:flex-end;position:relative}
    .dock-fab{position:relative;z-index:3;width:58px;height:58px;border-radius:50%;background:linear-gradient(135deg,var(--azul-600),var(--azul-800));border:3px solid #fff;box-shadow:0 6px 22px rgba(15,58,110,.45), 0 0 0 1px rgba(255,255,255,.04);display:flex;align-items:center;justify-content:center;transform:translateY(-20px);transition:transform .25s var(--ease), box-shadow .25s;-webkit-tap-highlight-color:transparent;overflow:hidden}
    .dock-fab:active{transform:translateY(-15px) scale(.93)}
    .dock-fab .fab-fallback{position:absolute;inset:15px;border-radius:4px;background:repeating-linear-gradient(0deg,var(--acento) 0 2px,transparent 2px 5px),repeating-linear-gradient(90deg,rgba(255,255,255,.75) 0 2px,transparent 2px 5px)}

    /* ACC SHEET (mobile) — dropdown de conta acima do dock */
    .acc-sheet{display:block;position:fixed;left:12px;right:12px;bottom:calc(var(--nav-h) + 14px + env(safe-area-inset-bottom));background:#fff;border:var(--linha);border-radius:18px;box-shadow:0 24px 60px rgba(6,24,46,.28);padding:8px;opacity:0;visibility:hidden;transform:translateY(20px);transition:opacity .3s var(--ease), transform .3s var(--ease), visibility .3s;z-index:820}
    .acc-sheet.show{opacity:1;visibility:visible;transform:translateY(0)}
    .acc-sheet-head{display:flex;align-items:center;gap:12px;padding:12px 12px 14px;border-bottom:var(--linha);margin-bottom:6px}
    .acc-sheet-ava{width:44px;height:44px;border-radius:12px;background:var(--azul-600);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0}
    .acc-sheet-ava svg{width:22px;height:22px}
    .acc-sheet-nome{font-family:'Archivo';font-weight:800;font-size:16px;color:var(--azul-900)}
    .acc-sheet-sub{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--aco-500);margin-top:2px}
    .acc-sheet a{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:11px;font-weight:600;font-size:15px;color:var(--texto-2);transition:background .2s}
    .acc-sheet a:active{background:var(--aco-50)}
    .acc-sheet a svg{width:19px;height:19px}
    .acc-sheet .acc-sheet-sair{color:#c0392b}
    .dock-acc.ativo{color:var(--azul-700)}
}
@media(max-width:380px){
    .hero-actions{flex-direction:column}
    .hero-actions .btn{width:100%}
}
/* ===== EM DESTAQUE ===== */

/* entrada do hero desativada para quem prefere menos movimento */
@media (prefers-reduced-motion: reduce){
    .hero h1 .ln,.hero-kicker,.hero-desc,.hero-actions,.hero-visual{
        animation:none !important;opacity:1 !important;transform:none !important;filter:none !important;
    }
}

/* ===== Âncoras: impede o header de cobrir o topo da seção ===== */
#linha,#vitrine,#catalogo,#diferenciais,#processo{scroll-margin-top:44px}
@media (max-width:900px){
    #linha,#vitrine,#catalogo,#diferenciais,#processo{scroll-margin-top:96px}
}

/* ===== HERO — entrada da esquerda para a direita ===== */
@keyframes heroSlideL{from{opacity:0;transform:translateX(-56px)}to{opacity:1;transform:none}}
@keyframes heroSlideR{from{opacity:0;transform:translateX(46px)}to{opacity:1;transform:none}}

/* Estado padrao: VISIVEL. Se o JS/loader falhar, o conteudo aparece. */
.hero h1 .ln,
.hero-kicker,
.hero-desc,
.hero-actions,
.hero-visual{opacity:1;transform:none;clip-path:none;filter:none;animation:none}

/* Só anima quando o body ganha .loaded — nunca esconde antes disso. */
body.loaded .hero h1 .ln,
body.loaded .hero-kicker,
body.loaded .hero-desc,
body.loaded .hero-actions{
    animation:heroSlideL .8s cubic-bezier(.16,1,.3,1) both;
}
body.loaded .hero-visual{
    animation:heroSlideR .95s cubic-bezier(.16,1,.3,1) both;
}
body.loaded .hero-kicker{animation-delay:.04s}
body.loaded .hero h1 .ln:nth-child(1){animation-delay:.12s}
body.loaded .hero h1 .ln:nth-child(2){animation-delay:.20s}
body.loaded .hero h1 .ln:nth-child(3){animation-delay:.28s}
body.loaded .hero-desc{animation-delay:.36s}
body.loaded .hero-actions{animation-delay:.44s}
body.loaded .hero-visual{animation-delay:.18s}

/* ===== HERO — slides vindos do Carrossel do painel ===== */
.hero-slides{position:absolute;inset:0}
.hero-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
    opacity:0;transition:opacity .8s ease;mix-blend-mode:luminosity}
.hero-slide.ativo{opacity:.92}
.hero-dots{position:absolute;left:16px;bottom:16px;z-index:3;display:flex;gap:7px}
.hero-dot{width:8px;height:8px;padding:0;border:0;border-radius:50%;cursor:pointer;
    background:rgba(255,255,255,.4);transition:background .25s,width .25s}
.hero-dot.ativo{background:var(--acento);width:22px;border-radius:5px}
.hero-legenda{position:absolute;right:16px;bottom:16px;z-index:3;max-width:70%;
    font-family:'Space Mono',monospace;font-size:11px;letter-spacing:.4px;color:#fff;
    background:rgba(6,24,46,.55);backdrop-filter:blur(4px);padding:6px 12px;
    border-radius:50px;border:1px solid rgba(255,255,255,.18);
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:768px){
    .hero-legenda{font-size:10px;max-width:60%}
    .hero-dots{left:12px;bottom:12px}
}

/* ===== Rodapé: badges sem quebrar o texto no meio (mobile) ===== */
.foot-badge{white-space:nowrap}
@media (max-width:768px){
    .foot-badges{gap:10px 14px}
    .foot-badge{font-size:10px;gap:6px}
    .foot-badge svg{width:12px;height:12px;flex:0 0 auto}
}
@media (max-width:420px){
    .foot-badges{gap:8px 12px}
    .foot-badge{font-size:9.5px}
}

/* ===== Rodapé: telefone e e-mail alinhados com endereço/horário =====
   .foot-col a tem um ::before (traço do hover) com gap:8px — isso
   empurrava o texto 8px para a direita só nessas duas linhas. */
.foot-contact a{gap:0}
.foot-contact a::before{display:none}
.foot-contact a:hover::before{width:0}

/* clip corta o vazamento lateral SEM criar contexto de rolagem
   (hidden quebraria o position:sticky do header) */
body{overflow-x:clip}