/* ============================================================
   BARACHO TECNOLOGIA — Design System
   Paleta institucional: azul-marinho + amarelo-ouro (logo)
   Tema: industrial-tech dark (aço + solda)
   ------------------------------------------------------------
   Cores da marca:
     azul-marinho (logo) .... #1B4F80
     amarelo-ouro (logo) .... #F5C518
   Os tokens --ember (ouro) e --plasma (azul) são usados em todo
   o site; recolori-los aqui repinta a interface inteira.
   ============================================================ */

:root {
  /* superfícies — MODO CLARO: branco predominante + tom frio */
  --bg: #ffffff;
  --bg-soft: #f2f6fb;        /* seções alternadas (azul-gelo) */
  --bg-card: #ffffff;
  --bg-card-hover: #f7fafd;
  --line: rgba(23, 58, 94, 0.12);
  --line-strong: rgba(23, 58, 94, 0.22);

  /* acento primário — OURO da logo (fills, botões, "solda") */
  --ember: #f5c518;
  --ember-soft: #ffd84d;
  --ember-ink: #c98a00;      /* ouro escurecido, legível como texto no branco */

  /* acento secundário — AZUL da logo (textos de destaque, ícones, links) */
  --plasma: #1c6cb0;
  --plasma-soft: #2f7ec0;

  /* azul-marinho puro da logo */
  --blue-deep: #1b4f80;

  --text: #12283f;
  --text-muted: #47607a;
  --text-dim: #7f92a7;

  /* gradiente "solda" — ouro incandescente (para barras/botões) */
  --grad-fire: linear-gradient(92deg, #ffd94a 0%, #f5c518 45%, #e6ad00 100%);
  /* gradiente de títulos — azul da marca com fecho em ouro (legível no branco) */
  --grad-mix: linear-gradient(92deg, #1b4f80 0%, #2f7ec0 62%, #d99e00 100%);

  --radius: 16px;
  --radius-sm: 10px;
  --shadow-card: 0 1px 2px rgba(16, 40, 66, 0.05), 0 6px 20px rgba(16, 40, 66, 0.07);
  --shadow-card-hover: 0 10px 34px rgba(16, 40, 66, 0.13);
  --shadow-ember: 0 10px 30px rgba(245, 197, 24, 0.30);
  --font-display: 'Space Grotesk', system-ui, sans-serif;
  --font-body: 'Inter', system-ui, sans-serif;
}

/* ============================================================
   HOME 2026 — redesign institucional
   Escopo isolado em .home-redesign para preservar blog/admin.
   ============================================================ */
.home-redesign {
  --ink: #07131f;
  --navy: #0a1a2c;
  --navy-2: #102842;
  --steel: #7f93a9;
  --ice: #eef4f8;
  --electric: #2d86cf;
  --gold: #f5c518;
  --gold-bright: #ffdc4a;
  --font-body: 'DM Sans', system-ui, sans-serif;
  font-family: var(--font-body);
  background: #f8fafc;
}
.home-redesign .container { width: min(1240px, 92%); }
.home-redesign .section { padding: clamp(78px, 9vw, 132px) 0; }
.home-redesign .section-title {
  font-size: clamp(2.15rem, 4.4vw, 4rem);
  line-height: 1.03;
  letter-spacing: -0.045em;
  max-width: 900px;
}
.home-redesign .section-lead { font-size: 1.08rem; line-height: 1.75; }
.home-redesign .eyebrow {
  font-size: .72rem;
  letter-spacing: .2em;
  color: var(--electric);
  margin-bottom: 20px;
}
.home-redesign .eyebrow::before { width: 34px; background: var(--gold); }
.home-redesign .btn { border-radius: 7px; padding: 15px 23px; }
.home-redesign .btn-sm { padding: 11px 17px; font-size: .82rem; }
.home-redesign .btn-fire { box-shadow: 0 10px 28px rgba(245, 197, 24, .18); }
.home-redesign .btn-fire:hover { box-shadow: 0 14px 36px rgba(245, 197, 24, .34); }
.home-redesign .btn-ghost { border-color: rgba(160, 190, 217, .28); background: rgba(255,255,255,.035); }

/* header */
.home-redesign .home-nav .nav-inner { height: 78px; }
.home-redesign .home-nav .logo { gap: 12px; font-size: 1.02rem; letter-spacing: .045em; }
.home-redesign .home-nav .logo span { display: flex; flex-direction: column; line-height: .98; }
.home-redesign .home-nav .logo b { font-size: .62rem; letter-spacing: .27em; margin-top: 5px; color: var(--gold); }
.home-redesign .home-nav .logo-mark { height: 42px; }
.home-redesign .home-nav .nav-links { gap: 25px; }
.home-redesign .home-nav .nav-links a:not(.btn) { font-size: .84rem; letter-spacing: .01em; color: rgba(232,241,249,.72); }
.home-redesign .home-nav.scrolled { background: rgba(249,251,253,.92); }
.home-redesign .home-nav.scrolled .logo b { color: var(--blue-deep); }

/* hero */
.home-redesign .bt-hero {
  min-height: 100svh;
  padding: 140px 0 94px;
  background:
    linear-gradient(rgba(115,158,194,.045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(115,158,194,.045) 1px, transparent 1px),
    radial-gradient(circle at 72% 37%, rgba(45,134,207,.12), transparent 27%),
    linear-gradient(135deg, #07131f 0%, #0a1a2c 52%, #0c2037 100%);
  background-size: 54px 54px, 54px 54px, auto, auto;
}
.home-redesign .bt-hero::before {
  background: linear-gradient(90deg, rgba(7,19,31,.4), transparent 54%);
}
.home-redesign .hero-orb { position: absolute; border-radius: 50%; filter: blur(1px); pointer-events: none; }
.home-redesign .hero-orb-a { width: 450px; height: 450px; right: -260px; top: 5%; border: 1px solid rgba(65,139,199,.13); box-shadow: 0 0 0 60px rgba(65,139,199,.018), 0 0 0 120px rgba(65,139,199,.012); }
.home-redesign .hero-orb-b { width: 220px; height: 220px; left: -130px; bottom: 8%; border: 1px solid rgba(245,197,24,.08); }
.home-redesign .bt-hero-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0,1.12fr) minmax(430px,.88fr); gap: clamp(50px,7vw,100px); align-items: center; }
.home-redesign .bt-hero-copy { max-width: 730px; }
.home-redesign .hero-badge { margin-bottom: 31px; background: rgba(9,28,47,.72); color: #9bb0c4; letter-spacing: .035em; }
.home-redesign .bt-hero h1 { font-size: clamp(3rem,6.1vw,5.75rem); line-height: .95; letter-spacing: -.055em; margin-bottom: 29px; }
.home-redesign .bt-hero h1 .grad-text { display: block; padding-bottom: .08em; }
.home-redesign .bt-hero p.sub { max-width: 680px; font-size: clamp(1.03rem,1.5vw,1.22rem); line-height: 1.7; color: #a6b8ca; margin-bottom: 35px; }
.home-redesign .bt-hero .hero-ctas { margin-bottom: 48px; }
.home-redesign .hero-proof { display: flex; border-top: 1px solid rgba(143,178,208,.16); padding-top: 25px; gap: 0; }
.home-redesign .hero-proof > div { display: flex; flex-direction: column; padding: 0 28px; border-left: 1px solid rgba(143,178,208,.16); }
.home-redesign .hero-proof > div:first-child { padding-left: 0; border-left: 0; }
.home-redesign .hero-proof strong { font-family: var(--font-display); font-size: .9rem; color: #edf4fa; }
.home-redesign .hero-proof span { font-size: .72rem; color: #71869b; margin-top: 3px; }
.home-redesign .hero-scroll { position: absolute; z-index: 3; left: 50%; bottom: 20px; transform: translateX(-50%); display: flex; align-items: center; gap: 14px; color: #6f8498; font-size: .68rem; text-transform: uppercase; letter-spacing: .16em; }
.home-redesign .hero-scroll i { width: 34px; height: 1px; background: #6f8498; position: relative; }
.home-redesign .hero-scroll i::after { content: ''; position: absolute; right: 0; top: -2px; width: 5px; height: 5px; border-right: 1px solid; border-bottom: 1px solid; transform: rotate(45deg); }

/* console visual */
.home-redesign .hero-console { min-height: 520px; border: 1px solid rgba(116,164,202,.2); border-radius: 15px; background: linear-gradient(145deg,rgba(18,47,75,.65),rgba(7,20,34,.86)); box-shadow: 0 36px 90px rgba(0,0,0,.28), inset 0 1px rgba(255,255,255,.025); overflow: hidden; position: relative; backdrop-filter: blur(8px); }
.home-redesign .hero-console::before { content: ''; position: absolute; inset: 0; background: linear-gradient(rgba(113,160,199,.055) 1px,transparent 1px), linear-gradient(90deg,rgba(113,160,199,.055) 1px,transparent 1px); background-size: 32px 32px; mask-image: linear-gradient(to bottom,#000,transparent 90%); }
.home-redesign .console-topline,.home-redesign .console-bottom { position: relative; z-index: 2; height: 61px; padding: 0 21px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(116,164,202,.14); font-family: var(--font-display); font-size: .62rem; letter-spacing: .16em; color: #7890a7; }
.home-redesign .console-topline span:first-child { color: #bdd0e0; }
.home-redesign .console-topline i { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 10px var(--gold); margin-right: 8px; animation: pulse 2s infinite; }
.home-redesign .console-visual { height: 395px; position: relative; }
.home-redesign .console-rings { position: absolute; left: 50%; top: 48%; width: 235px; height: 235px; transform: translate(-50%,-50%); border: 1px solid rgba(69,141,198,.22); border-radius: 50%; }
.home-redesign .console-rings > span { position: absolute; border-radius: 50%; border: 1px dashed rgba(69,141,198,.17); }
.home-redesign .console-rings > span:nth-child(1){ inset: 21px; }
.home-redesign .console-rings > span:nth-child(2){ inset: 49px; border-style: solid; border-color: rgba(245,197,24,.15); }
.home-redesign .console-rings > span:nth-child(3){ inset: -28px; border-color: rgba(69,141,198,.1); }
.home-redesign .console-core { position: absolute; inset: 72px; display: grid; place-items: center; border-radius: 50%; background: rgba(16,48,76,.9); border: 1px solid rgba(245,197,24,.28); box-shadow: 0 0 45px rgba(45,134,207,.14), inset 0 0 30px rgba(0,0,0,.25); }
.home-redesign .console-core img { width: 42px; filter: drop-shadow(0 0 12px rgba(245,197,24,.18)); }
.home-redesign .console-rings::before,.home-redesign .console-rings::after { content:''; position:absolute; border-radius:50%; background:var(--gold); box-shadow:0 0 12px var(--gold); }
.home-redesign .console-rings::before{width:7px;height:7px;left:18px;top:57px}.home-redesign .console-rings::after{width:5px;height:5px;right:19px;bottom:54px;background:var(--electric);box-shadow:0 0 12px var(--electric)}
.home-redesign .console-callout { position: absolute; display: flex; gap: 9px; align-items: flex-start; color: #9bb0c3; font-size: .69rem; line-height: 1.35; }
.home-redesign .console-callout b { font: 600 .6rem var(--font-display); color: var(--gold); border: 1px solid rgba(245,197,24,.26); padding: 3px 5px; }
.home-redesign .callout-a { left: 22px; top: 72px; }.home-redesign .callout-b { right: 18px; top: 135px; }.home-redesign .callout-c { left: 42px; bottom: 48px; }
.home-redesign .console-callout::after { content:''; position:absolute; height:1px; width:50px; background:rgba(120,164,199,.25); }
.home-redesign .callout-a::after { left:100%;top:12px;transform:rotate(16deg);transform-origin:left}.home-redesign .callout-b::after{right:100%;top:12px;transform:rotate(-12deg);transform-origin:right}.home-redesign .callout-c::after{left:100%;top:10px;transform:rotate(-18deg);transform-origin:left}
.home-redesign .console-bottom { height: 64px; border-top: 1px solid rgba(116,164,202,.14); border-bottom: 0; }
.home-redesign .console-bottom > div:first-child { display: flex; flex-direction: column; gap: 4px; }
.home-redesign .console-bottom span { font-size: .54rem; }.home-redesign .console-bottom strong { color:#dce8f1;font-size:.73rem;letter-spacing:.04em; }
.home-redesign .signal-bars { display:flex;gap:3px;align-items:end;height:18px}.home-redesign .signal-bars i{width:3px;background:var(--gold);border-radius:1px}.home-redesign .signal-bars i:nth-child(1){height:4px}.home-redesign .signal-bars i:nth-child(2){height:7px}.home-redesign .signal-bars i:nth-child(3){height:10px}.home-redesign .signal-bars i:nth-child(4){height:14px}.home-redesign .signal-bars i:nth-child(5){height:18px}

/* manufacturers rail */
.home-redesign .brand-rail { background: #fff; border-bottom: 1px solid #dfe7ee; }
.home-redesign .brand-rail-inner { min-height: 98px; display: flex; align-items: center; gap: 38px; }
.home-redesign .rail-label { flex: 0 0 auto; font-size: .65rem; color: #7d8d9c; letter-spacing: .17em; text-transform: uppercase; padding-right: 35px; border-right: 1px solid #dce5ec; }
.home-redesign .brand-list { flex: 1; display: flex; align-items: center; justify-content: space-between; gap: 25px; overflow: hidden; }
.home-redesign .brand-list strong { color: #8a99a7; font: 600 clamp(.73rem,1.2vw,.9rem) var(--font-display); letter-spacing: .035em; white-space: nowrap; }

/* solutions */
.home-redesign .bt-solutions { background: #f8fafc; }
.home-redesign .split-heading { display: grid; grid-template-columns: 1.25fr .75fr; gap: 70px; align-items: end; margin-bottom: 56px; }
.home-redesign .split-heading p { color: #607386; font-size: 1.02rem; line-height: 1.75; padding-bottom: 7px; }
.home-redesign .solution-duo { display: grid; grid-template-columns: 1.08fr .92fr; gap: 22px; }
.home-redesign .solution-panel { min-height: 520px; position: relative; overflow: hidden; border-radius: 14px; padding: 34px; display: flex; flex-direction: column; justify-content: space-between; }
.home-redesign .solution-main { background: linear-gradient(148deg,#0a1a2c,#102b47); color: #edf4fa; box-shadow: 0 28px 65px rgba(7,19,31,.16); }
.home-redesign .solution-main::before { content:'';position:absolute;inset:0;background:linear-gradient(rgba(106,158,198,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(106,158,198,.05) 1px,transparent 1px);background-size:40px 40px; }
.home-redesign .solution-tech { background: #fff; border: 1px solid #dae4ec; color: var(--text); box-shadow: 0 20px 50px rgba(35,65,90,.06); }
.home-redesign .solution-tech::before { content:'';position:absolute;width:360px;height:360px;border:1px solid rgba(45,134,207,.1);border-radius:50%;right:-180px;top:-140px;box-shadow:0 0 0 55px rgba(45,134,207,.025),0 0 0 110px rgba(45,134,207,.018); }
.home-redesign .solution-index { position:relative;z-index:2;font:600 .63rem var(--font-display);letter-spacing:.18em;color:#6d8499; }
.home-redesign .solution-icon { position:absolute;top:35px;right:34px;width:62px;height:62px;display:grid;place-items:center;border:1px solid rgba(124,169,204,.2);border-radius:10px;color:var(--gold); }
.home-redesign .solution-icon svg { width:31px;height:31px; }.home-redesign .solution-tech .solution-icon{color:var(--electric);border-color:#dce8f1;background:#f7fafc}
.home-redesign .solution-content { position:relative;z-index:2;max-width:530px; }
.home-redesign .solution-kicker { display:block;color:var(--gold);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;margin-bottom:14px}.home-redesign .solution-tech .solution-kicker{color:var(--electric)}
.home-redesign .solution-content h3 { font-size: clamp(1.8rem,3vw,2.8rem);line-height:1.05;letter-spacing:-.04em;margin-bottom:20px;max-width:520px; }
.home-redesign .solution-content p { color:#9fb2c4;line-height:1.7;max-width:510px; }.home-redesign .solution-tech .solution-content p{color:#607386}
.home-redesign .solution-content ul { list-style:none;display:grid;gap:8px;margin:23px 0 25px; }.home-redesign .solution-content li{font-size:.83rem;color:#c7d5e0}.home-redesign .solution-tech .solution-content li{color:#475e72}.home-redesign .solution-content li::before{content:'+';color:var(--gold);font-weight:700;margin-right:10px}.home-redesign .solution-tech .solution-content li::before{color:var(--electric)}
.home-redesign .text-link { display:inline-flex;gap:10px;align-items:center;font:600 .83rem var(--font-display);letter-spacing:.025em;color:inherit;border-bottom:1px solid currentColor;padding-bottom:5px}.home-redesign .text-link span{transition:transform .2s}.home-redesign .text-link:hover span{transform:translateX(4px)}

/* maintenance */
.home-redesign .maintenance-section { overflow:hidden;background:linear-gradient(135deg,#07131f,#0a1c2f 70%,#102944);color:#edf4fa; }
.home-redesign .maintenance-section::before { content:'';position:absolute;inset:0;background:linear-gradient(rgba(111,160,198,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(111,160,198,.045) 1px,transparent 1px);background-size:48px 48px; }
.home-redesign .maintenance-backdrop { position:absolute;right:-35px;top:16px;font:700 clamp(8rem,19vw,18rem) var(--font-display);color:rgba(255,255,255,.018);letter-spacing:-.08em;line-height:1; }
.home-redesign .maintenance-grid { position:relative;z-index:2;display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(55px,8vw,110px);align-items:center; }
.home-redesign .maintenance-copy .eyebrow { color:#7eb8e6; }.home-redesign .maintenance-copy .section-lead{color:#9fb2c4;max-width:560px}.home-redesign .maintenance-copy > .btn{margin-top:32px}
.home-redesign .maintenance-tags { display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.home-redesign .maintenance-tags span{font-size:.69rem;color:#aebfd0;border:1px solid rgba(135,174,205,.18);border-radius:5px;padding:7px 10px;background:rgba(255,255,255,.025)}
.home-redesign .diagnostic-card { background:rgba(11,33,54,.83);border:1px solid rgba(125,170,205,.2);border-radius:14px;box-shadow:0 30px 70px rgba(0,0,0,.24);overflow:hidden; }
.home-redesign .diagnostic-head { min-height:90px;padding:20px 25px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(125,170,205,.15);background:rgba(255,255,255,.018)}
.home-redesign .diagnostic-head > div{display:flex;flex-direction:column}.home-redesign .diagnostic-head span{font-size:.55rem;color:#6e859a;letter-spacing:.16em}.home-redesign .diagnostic-head strong{font:600 1.05rem var(--font-display);margin-top:4px}.home-redesign .status-pill{display:flex;align-items:center;gap:8px!important;border:1px solid rgba(245,197,24,.2);border-radius:999px;padding:7px 10px;color:#aebed0!important;letter-spacing:.04em!important}.home-redesign .status-pill i{width:6px;height:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 8px var(--gold)}
.home-redesign .diagnostic-steps { list-style:none;padding:10px 26px 22px;counter-reset:none}.home-redesign .diagnostic-steps li{display:grid;grid-template-columns:46px 1fr;gap:18px;padding:23px 0;border-bottom:1px solid rgba(125,170,205,.12)}.home-redesign .diagnostic-steps li:last-child{border-bottom:0}.home-redesign .diagnostic-steps>li>span{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(125,170,205,.2);border-radius:7px;color:var(--gold);font:600 .66rem var(--font-display)}.home-redesign .diagnostic-steps strong{display:block;font:600 .96rem var(--font-display);margin-bottom:5px}.home-redesign .diagnostic-steps p{font-size:.81rem;color:#8097ab;line-height:1.55}

/* capabilities */
.home-redesign .capability-section { background:#fff; }.home-redesign .capability-section .section-heading{margin-bottom:48px}.home-redesign .capability-section .section-title{max-width:850px}
.home-redesign .capability-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #dce5ec;border-radius:12px;overflow:hidden}.home-redesign .capability-card{min-height:350px;padding:34px;position:relative;border-right:1px solid #dce5ec;transition:background .25s,transform .25s}.home-redesign .capability-card:last-child{border-right:0}.home-redesign .capability-card:hover{background:#f5f9fc}.home-redesign .cap-number{position:absolute;top:28px;right:28px;color:#a9b7c3;font:600 .62rem var(--font-display);letter-spacing:.13em}.home-redesign .capability-card svg{width:48px;height:48px;color:var(--electric);margin:50px 0 54px}.home-redesign .capability-card h3{font-size:1.35rem;margin-bottom:12px}.home-redesign .capability-card p{color:#607386;font-size:.92rem;line-height:1.7}

/* technology engineering */
.home-redesign .engineering-section{background:#edf3f7;overflow:hidden}.home-redesign .engineering-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,8vw,110px);align-items:center}.home-redesign .engineering-copy .section-lead{max-width:560px}.home-redesign .engineering-copy>.btn{margin-top:31px}
.home-redesign .engineering-visual{height:620px;position:relative;border-radius:14px;background:linear-gradient(145deg,#081725,#0e2942);border:1px solid rgba(100,154,196,.18);box-shadow:0 35px 70px rgba(16,46,70,.19);overflow:hidden}.home-redesign .blueprint-grid{position:absolute;inset:0;background:linear-gradient(rgba(108,159,198,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(108,159,198,.065) 1px,transparent 1px);background-size:34px 34px}.home-redesign .blueprint-label{position:absolute;top:24px;left:25px;font:600 .58rem var(--font-display);letter-spacing:.17em;color:#65819a}.home-redesign .system-node{position:absolute;z-index:3;width:145px;padding:14px;border:1px solid rgba(112,161,198,.22);border-radius:9px;background:rgba(11,36,58,.92);box-shadow:0 12px 30px rgba(0,0,0,.2);display:grid;grid-template-columns:27px 1fr}.home-redesign .system-node i{grid-row:1/3;font:600 .55rem var(--font-display);color:var(--gold);font-style:normal}.home-redesign .system-node strong{font:600 .8rem var(--font-display);color:#e3edf5}.home-redesign .system-node span{font-size:.61rem;color:#6f879c;margin-top:3px}.home-redesign .node-machine{left:7%;bottom:25%}.home-redesign .node-board{left:50%;top:21%;transform:translateX(-50%)}.home-redesign .node-cloud{right:7%;top:48%}.home-redesign .system-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1}.home-redesign .system-lines path{fill:none;stroke:#368fd4;stroke-width:1.2;stroke-dasharray:5 7;opacity:.65}.home-redesign .data-pulse{position:absolute;z-index:2;width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 13px var(--gold)}.home-redesign .pulse-a{left:38%;top:46%;animation:dataMoveA 4s ease-in-out infinite}.home-redesign .pulse-b{right:27%;bottom:26%;background:var(--electric);box-shadow:0 0 13px var(--electric);animation:dataMoveB 3.6s ease-in-out infinite}@keyframes dataMoveA{50%{transform:translate(60px,-80px)}}@keyframes dataMoveB{50%{transform:translate(-75px,30px)}}
.home-redesign .blueprint-footer{position:absolute;inset:auto 25px 22px;display:flex;justify-content:space-between;border-top:1px solid rgba(112,161,198,.15);padding-top:16px}.home-redesign .blueprint-footer span{font:500 .52rem var(--font-display);letter-spacing:.14em;color:#536f87}
.home-redesign .engineering-list{margin-top:31px;border-top:1px solid #cfdae3}.home-redesign .engineering-list>div{display:grid;grid-template-columns:35px 1fr;gap:12px;padding:17px 0;border-bottom:1px solid #cfdae3}.home-redesign .engineering-list>div>span{font:600 .62rem var(--font-display);color:var(--electric);padding-top:4px}.home-redesign .engineering-list p{color:#637689;font-size:.86rem}.home-redesign .engineering-list strong{display:block;color:#173149;font:600 .93rem var(--font-display);margin-bottom:3px}

/* process */
.home-redesign .process-section{background:#fff}.home-redesign .centered-heading{text-align:center;max-width:790px;margin:0 auto 72px}.home-redesign .centered-heading .eyebrow{justify-content:center}.home-redesign .centered-heading p{color:#607386;margin-top:18px}.home-redesign .process-track{display:grid;grid-template-columns:repeat(4,1fr);position:relative}.home-redesign .process-track::before{content:'';position:absolute;left:8%;right:8%;top:43px;height:1px;background:#cbd7e1}.home-redesign .process-step{position:relative;text-align:center;padding:0 25px}.home-redesign .process-step>span{font:600 .58rem var(--font-display);letter-spacing:.14em;color:#8092a3}.home-redesign .process-dot{position:relative;z-index:2;width:14px;height:14px;border:4px solid #fff;background:var(--electric);box-shadow:0 0 0 1px #b9cad8;margin:21px auto 34px;border-radius:50%}.home-redesign .process-step:first-child .process-dot{background:var(--gold)}.home-redesign .process-step h3{font-size:1.14rem;margin-bottom:10px}.home-redesign .process-step p{color:#697b8d;font-size:.86rem;line-height:1.6}

/* positioning / blog / contact */
.home-redesign .insight-section{padding-top:0;background:#fff}.home-redesign .insight-box{min-height:360px;border-radius:14px;background:linear-gradient(130deg,#0a1a2c,#112f4d);color:#edf4fa;display:grid;grid-template-columns:90px 1fr auto;gap:30px;align-items:center;padding:clamp(40px,6vw,75px);position:relative;overflow:hidden}.home-redesign .insight-box::after{content:'';position:absolute;width:360px;height:360px;border-radius:50%;border:1px solid rgba(95,151,194,.11);right:-170px;top:-180px;box-shadow:0 0 0 60px rgba(95,151,194,.022),0 0 0 120px rgba(95,151,194,.014)}.home-redesign .insight-mark{font:700 8rem/1 var(--font-display);color:var(--gold);align-self:start;height:65px}.home-redesign .insight-box h2{font-size:clamp(2rem,3.7vw,3.4rem);letter-spacing:-.045em;max-width:720px;margin-bottom:18px}.home-redesign .insight-box p{color:#9db1c2;max-width:730px;line-height:1.75}.home-redesign .insight-flow{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:12px;font:600 .56rem var(--font-display);letter-spacing:.15em;color:#7790a7}.home-redesign .insight-flow i{color:var(--gold);font-style:normal;transform:rotate(90deg)}
.home-redesign .home-blog{background:#f7f9fb;border-top:1px solid #e0e7ed}.home-redesign .blog-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:48px}.home-redesign .blog-heading .section-title{font-size:clamp(2rem,3.5vw,3.2rem)}
.home-redesign .home-blog .post-card{border-radius:11px;box-shadow:0 12px 35px rgba(24,54,80,.06)}.home-redesign .home-blog .post-cover{border-radius:11px 11px 0 0}
.home-redesign .contact-section{background:#081725;color:#edf4fa}.home-redesign .contact-section::before{content:'';position:absolute;inset:0;background:linear-gradient(rgba(107,158,198,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(107,158,198,.04) 1px,transparent 1px);background-size:50px 50px}.home-redesign .contact-shell{position:relative;z-index:2;display:grid;grid-template-columns:.85fr 1.15fr;gap:clamp(55px,9vw,120px);align-items:start}.home-redesign .contact-intro{position:sticky;top:125px}.home-redesign .contact-intro h2{font-size:clamp(2.3rem,4.4vw,4rem);line-height:1.02;letter-spacing:-.05em;margin-bottom:24px}.home-redesign .contact-intro>p{color:#98acbd;font-size:1.02rem;line-height:1.75;max-width:500px}.home-redesign .contact-direct{margin-top:45px;padding-top:24px;border-top:1px solid rgba(126,169,203,.16);display:flex;flex-direction:column;gap:9px}.home-redesign .contact-direct span{font-size:.58rem;letter-spacing:.18em;color:#678096}.home-redesign .contact-direct a:first-of-type{font:600 1.35rem var(--font-display);color:var(--gold)}.home-redesign .contact-direct a:last-child{font-size:.84rem;color:#91a8bb}
.home-redesign .bt-contact-form{margin:0;padding:37px;background:rgba(15,42,66,.7);border:1px solid rgba(126,169,203,.17);border-radius:13px;box-shadow:0 30px 60px rgba(0,0,0,.18)}.home-redesign .bt-contact-form .field{margin-bottom:19px}.home-redesign .bt-contact-form label{color:#b8c8d5;font-size:.72rem;letter-spacing:.025em}.home-redesign .bt-contact-form input,.home-redesign .bt-contact-form select,.home-redesign .bt-contact-form textarea{background:rgba(5,20,33,.65);border-color:rgba(126,169,203,.18);color:#edf4fa;border-radius:6px}.home-redesign .bt-contact-form input::placeholder,.home-redesign .bt-contact-form textarea::placeholder{color:#587187}.home-redesign .bt-contact-form textarea{min-height:125px}.home-redesign .form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.home-redesign .bt-contact-form .btn{width:100%;justify-content:center}.home-redesign .form-note{text-align:center;color:#607a90;font-size:.68rem;margin-top:13px}

/* footer */
.home-redesign .bt-footer{background:#06111c;border-top:1px solid rgba(124,165,197,.12);padding-top:70px}.home-redesign .bt-footer .footer-grid{grid-template-columns:1.5fr .75fr .85fr}.home-redesign .bt-footer .footer-brand p{max-width:420px}.home-redesign .bt-footer .logo span{display:flex;flex-direction:column;line-height:.98}.home-redesign .bt-footer .logo b{font-size:.62rem;letter-spacing:.27em;margin-top:5px}.home-redesign .bt-footer .footer-bottom{flex-wrap:wrap;gap:18px}

@media (max-width: 1040px) {
  .home-redesign .home-nav .nav-links{gap:16px}.home-redesign .home-nav .nav-links a:not(.btn){font-size:.78rem}
  .home-redesign .bt-hero-grid{grid-template-columns:1fr .78fr;gap:38px}.home-redesign .hero-console{min-height:470px}.home-redesign .console-visual{height:345px}
  .home-redesign .engineering-grid{gap:50px}.home-redesign .engineering-visual{height:560px}
}
@media (max-width: 860px) {
  .home-redesign .home-nav .nav-toggle{display:grid;place-items:center}.home-redesign .home-nav .nav-links{position:absolute;top:70px;left:4%;right:4%;display:none;flex-direction:column;align-items:stretch;gap:0;background:#fff;padding:12px;border:1px solid #dbe4eb;border-radius:10px;box-shadow:0 20px 50px rgba(10,30,47,.15)}.home-redesign .home-nav .nav-links.open{display:flex}.home-redesign .home-nav .nav-links li{width:100%}.home-redesign .home-nav .nav-links a:not(.btn){display:block;color:#324b61;padding:12px;font-size:.9rem}.home-redesign .home-nav .nav-links .btn{width:100%;justify-content:center;margin-top:5px}
  .home-redesign .bt-hero{padding-top:125px}.home-redesign .bt-hero-grid{grid-template-columns:1fr}.home-redesign .bt-hero-copy{max-width:780px}.home-redesign .hero-console{max-width:650px;width:100%;margin:0 auto;min-height:485px}.home-redesign .console-visual{height:360px}.home-redesign .hero-scroll{display:none}
  .home-redesign .brand-rail-inner{align-items:flex-start;flex-direction:column;gap:18px;padding:24px 0}.home-redesign .rail-label{border-right:0;padding-right:0}.home-redesign .brand-list{width:100%;flex-wrap:wrap;justify-content:flex-start}
  .home-redesign .split-heading,.home-redesign .solution-duo,.home-redesign .maintenance-grid,.home-redesign .engineering-grid,.home-redesign .contact-shell{grid-template-columns:1fr}.home-redesign .split-heading{gap:20px}.home-redesign .solution-panel{min-height:500px}.home-redesign .maintenance-grid{gap:55px}.home-redesign .engineering-visual{max-width:650px;width:100%;margin:0 auto;order:2}.home-redesign .contact-intro{position:static}.home-redesign .contact-shell{gap:45px}
  .home-redesign .capability-grid{grid-template-columns:1fr}.home-redesign .capability-card{min-height:auto;border-right:0;border-bottom:1px solid #dce5ec}.home-redesign .capability-card:last-child{border-bottom:0}.home-redesign .capability-card svg{margin:35px 0}
  .home-redesign .insight-box{grid-template-columns:70px 1fr}.home-redesign .insight-flow{display:none}
}
@media (max-width: 640px) {
  .home-redesign .section{padding:72px 0}.home-redesign .bt-hero{padding:112px 0 65px;min-height:auto}.home-redesign .bt-hero h1{font-size:clamp(2.7rem,14vw,4rem)}.home-redesign .hero-proof{display:grid;grid-template-columns:1fr 1fr;gap:20px}.home-redesign .hero-proof>div{padding:0 0 0 16px}.home-redesign .hero-proof>div:nth-child(3){grid-column:1/-1;border-left:0;padding-left:0}.home-redesign .hero-console{min-height:430px}.home-redesign .console-visual{height:305px}.home-redesign .console-rings{width:190px;height:190px}.home-redesign .console-core{inset:58px}.home-redesign .callout-b{right:8px}.home-redesign .console-callout{font-size:.6rem}.home-redesign .console-callout::after{width:28px}
  .home-redesign .brand-list{gap:15px 23px}.home-redesign .solution-panel{min-height:530px;padding:25px}.home-redesign .solution-icon{top:25px;right:25px}.home-redesign .solution-content h3{font-size:2rem}.home-redesign .maintenance-tags{margin-bottom:4px}.home-redesign .diagnostic-head{align-items:flex-start;gap:12px}.home-redesign .status-pill{font-size:.48rem!important}.home-redesign .diagnostic-steps{padding-inline:18px}.home-redesign .diagnostic-steps li{grid-template-columns:38px 1fr;gap:12px}
  .home-redesign .engineering-visual{height:500px}.home-redesign .system-node{width:125px;padding:11px}.home-redesign .node-machine{left:4%}.home-redesign .node-cloud{right:4%}.home-redesign .blueprint-footer{gap:10px;flex-wrap:wrap}
  .home-redesign .process-track{grid-template-columns:1fr}.home-redesign .process-track::before{left:22px;right:auto;top:15px;bottom:15px;width:1px;height:auto}.home-redesign .process-step{text-align:left;padding:0 0 34px 62px}.home-redesign .process-step>span{display:none}.home-redesign .process-dot{position:absolute;left:16px;top:4px;margin:0}.home-redesign .process-step p{max-width:400px}
  .home-redesign .insight-section{padding-top:0}.home-redesign .insight-box{grid-template-columns:1fr;padding:38px 27px}.home-redesign .insight-mark{font-size:6rem;height:37px}.home-redesign .insight-box h2{font-size:2rem}.home-redesign .blog-heading{align-items:flex-start;flex-direction:column}.home-redesign .form-row{grid-template-columns:1fr}.home-redesign .bt-contact-form{padding:25px 20px}.home-redesign .bt-footer .footer-grid{grid-template-columns:1fr}.home-redesign .bt-footer .footer-bottom{align-items:flex-start;flex-direction:column}
}

@media (prefers-reduced-motion: reduce) {
  .home-redesign .data-pulse { animation: none; }
}

/* Ilha ESCURA (hero, footer e seções .section-dark) — redefine tokens
   localmente para que os componentes internos herdem cores claras sobre o navy. */
.hero, footer, .section-dark {
  --bg-card: rgba(255, 255, 255, 0.05);
  --bg-card-hover: rgba(255, 255, 255, 0.08);
  --line: rgba(130, 172, 216, 0.16);
  --line-strong: rgba(130, 172, 216, 0.30);
  --text: #eef4fb;
  --text-muted: #a9bccf;
  --text-dim: #7f93a8;
  /* no escuro, títulos usam ouro→azul claro (visível no navy) */
  --grad-mix: linear-gradient(92deg, #ffd84d 0%, #f5c518 34%, #5ba6e0 100%);
}

/* ângulo animável do "cordão de solda" que percorre as bordas */
@property --weld-angle {
  syntax: '<angle>';
  inherits: false;
  initial-value: 0deg;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--font-body);
  background: var(--bg);
  color: var(--text);
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

::selection { background: rgba(245, 197, 24, 0.4); }

h1, h2, h3, h4 { font-family: var(--font-display); line-height: 1.15; letter-spacing: -0.02em; }

img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button { font-family: inherit; cursor: pointer; }

.container { width: min(1160px, 92%); margin: 0 auto; }

/* ---------- utilitários ---------- */
.grad-text {
  background: var(--grad-mix);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--plasma);
  margin-bottom: 14px;
}
.eyebrow::before {
  content: "";
  width: 26px; height: 2px;
  background: var(--grad-fire);
  border-radius: 2px;
}
.section { padding: 96px 0; position: relative; }
.section-title { font-size: clamp(1.8rem, 4vw, 2.6rem); margin-bottom: 16px; }
.section-lead { color: var(--text-muted); max-width: 640px; font-size: 1.05rem; }

/* fundo com grade técnica (sutil no claro) */
.grid-bg {
  background-image:
    linear-gradient(rgba(23,58,94,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23,58,94,0.05) 1px, transparent 1px);
  background-size: 44px 44px;
}

/* ---------- navegação ----------
   Topo (sobre o hero escuro): transparente, texto claro.
   Rolagem (sobre o corpo branco): fundo branco, texto escuro. */
.nav {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 100;
  transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
  border-bottom: 1px solid transparent;
}
.nav.scrolled {
  background: rgba(255, 255, 255, 0.88);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom-color: var(--line);
  box-shadow: 0 6px 24px rgba(16, 40, 66, 0.06);
}
.nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 72px;
}
.logo {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.12rem;
  letter-spacing: 0.01em;
}
.logo .logo-mark { height: 40px; width: auto; flex: none; }
.login-card .logo-mark { height: 52px; }
.logo b { color: var(--ember); font-weight: 700; }

/* logo sobre o hero escuro (topo) vs. sobre o branco (rolagem) */
.nav .logo { color: #eef4fb; }
.nav.scrolled .logo { color: var(--text); }
.nav.scrolled .logo b { color: var(--blue-deep); }
/* logo no rodapé escuro */
footer .logo { color: var(--text); }

.nav-links { display: flex; align-items: center; gap: 28px; list-style: none; }
.nav-links a {
  font-size: 0.92rem;
  font-weight: 500;
  transition: color 0.2s;
  position: relative;
}
.nav-links a:not(.btn) { color: rgba(255, 255, 255, 0.80); }
.nav-links a:not(.btn):hover, .nav-links a:not(.btn).active { color: #fff; }
.nav.scrolled .nav-links a:not(.btn) { color: var(--text-muted); }
.nav.scrolled .nav-links a:not(.btn):hover,
.nav.scrolled .nav-links a:not(.btn).active { color: var(--text); }
.nav-links a.active::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -6px;
  height: 2px;
  background: var(--grad-fire);
  border-radius: 2px;
}

.nav-toggle {
  display: none;
  background: none;
  border: 1px solid rgba(255, 255, 255, 0.4);
  border-radius: 8px;
  color: #fff;
  width: 42px; height: 42px;
  font-size: 1.2rem;
}
.nav.scrolled .nav-toggle { border-color: var(--line-strong); color: var(--text); }

/* ---------- botões ---------- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 28px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 0.95rem;
  border: none;
  transition: transform 0.25s ease, box-shadow 0.25s ease, background 0.25s ease;
}
.btn-fire {
  background: var(--grad-fire);
  color: #0a1a2b;
  box-shadow: 0 6px 24px rgba(245, 197, 24, 0.32);
}
.btn-fire:hover { transform: translateY(-2px); box-shadow: 0 10px 32px rgba(245, 197, 24, 0.5); }
.btn-ghost {
  background: rgba(148, 163, 184, 0.08);
  color: var(--text);
  border: 1px solid var(--line-strong);
}
.btn-ghost:hover { background: rgba(148, 163, 184, 0.16); transform: translateY(-2px); }
.btn-sm { padding: 9px 18px; font-size: 0.85rem; }

/* ---------- hero (ilha escura) ---------- */
.hero {
  min-height: 100svh;
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
  padding: 130px 0 80px;
  color: var(--text);
  background:
    linear-gradient(rgba(130,172,216,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(130,172,216,0.06) 1px, transparent 1px),
    linear-gradient(180deg, #0a1728 0%, #081320 100%);
  background-size: 44px 44px, 44px 44px, auto;
}
#sparks {
  position: absolute;
  inset: 0;
  width: 100%; height: 100%;
  pointer-events: none;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse 60% 45% at 72% 30%, rgba(245, 197, 24, 0.14), transparent 65%),
    radial-gradient(ellipse 50% 40% at 20% 75%, rgba(47, 126, 192, 0.08), transparent 65%);
  pointer-events: none;
}
.hero-content { position: relative; z-index: 2; max-width: 780px; }
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 16px;
  border-radius: 999px;
  border: 1px solid var(--line-strong);
  background: rgba(18, 26, 38, 0.7);
  font-size: 0.82rem;
  color: var(--text-muted);
  margin-bottom: 28px;
}
.hero-badge .dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--ember);
  box-shadow: 0 0 10px var(--ember);
  animation: pulse 2s infinite;
}
@keyframes pulse { 50% { opacity: 0.4; } }

.hero h1 {
  font-size: clamp(2.4rem, 6vw, 4.2rem);
  font-weight: 700;
  margin-bottom: 24px;
}
.hero p.sub {
  font-size: clamp(1rem, 2vw, 1.2rem);
  color: var(--text-muted);
  max-width: 580px;
  margin-bottom: 40px;
}
.hero-ctas { display: flex; gap: 16px; flex-wrap: wrap; margin-bottom: 64px; }

.hero-stats { display: flex; gap: 0; flex-wrap: wrap; border-top: 1px solid var(--line); }
.hero-stats .stat { padding: 22px 40px 0 0; margin-right: 40px; }
.hero-stats .num {
  font-family: var(--font-display);
  font-size: 2rem;
  font-weight: 700;
  color: var(--text);
}
.hero-stats .num span { color: var(--ember); }
.hero-stats .lbl { font-size: 0.85rem; color: var(--text-dim); }

/* ---------- portas de entrada do hero (duas frentes) ---------- */
.hero-tracks {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  border-top: 1px solid var(--line);
  padding-top: 34px;
}
.track-card {
  display: block;
  background: var(--bg-card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 24px 24px 20px;
  transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease;
}
.track-card:hover {
  transform: translateY(-4px);
  background: var(--bg-card-hover);
  border-color: rgba(245, 197, 24, 0.45);
}
.track-kicker {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--ember-soft);
  margin-bottom: 10px;
}
.track-card h3 { font-size: 1.15rem; margin-bottom: 8px; color: var(--text); }
.track-card p { font-size: 0.88rem; color: var(--text-muted); margin-bottom: 14px; }
.track-go {
  font-size: 0.85rem;
  font-weight: 600;
  color: var(--text);
  transition: color 0.2s;
}
.track-card:hover .track-go { color: var(--ember-soft); }

/* ---------- seção escura (ilha navy no corpo claro) ---------- */
.section-dark {
  color: var(--text);
  background:
    linear-gradient(rgba(130,172,216,0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(130,172,216,0.06) 1px, transparent 1px),
    linear-gradient(180deg, #0a1728 0%, #0e2136 100%);
  background-size: 44px 44px, 44px 44px, auto;
  border-block: 1px solid rgba(130, 172, 216, 0.14);
}
.section-dark .eyebrow { color: #5ba6e0; }

/* ---------- carro-chefe (manutenção) ---------- */
.flagship-grid {
  display: grid;
  grid-template-columns: 1.25fr 1fr;
  gap: 56px;
  margin-top: 56px;
  align-items: start;
}
.check-list { list-style: none; }
.check-list li {
  position: relative;
  padding: 0 0 18px 36px;
  color: var(--text-muted);
  font-size: 0.97rem;
}
.check-list li b { color: var(--text); }
.check-list li::before {
  content: "✓";
  position: absolute;
  left: 0; top: 1px;
  width: 24px; height: 24px;
  border-radius: 8px;
  display: grid;
  place-items: center;
  font-size: 0.8rem;
  font-weight: 700;
  color: #0a1a2b;
  background: var(--grad-fire);
}
.brands-dark { margin-top: 26px; }
.brands-dark span { background: rgba(255, 255, 255, 0.04); }
.flagship-ctas { display: flex; gap: 14px; flex-wrap: wrap; margin-top: 32px; }

.mini-steps {
  list-style: none;
  counter-reset: ministep;
  border-left: 1px solid var(--line-strong);
  margin-left: 12px;
}
.mini-steps li {
  position: relative;
  padding: 0 0 26px 34px;
  counter-increment: ministep;
}
.mini-steps li:last-child { padding-bottom: 0; }
.mini-steps li::before {
  content: "0" counter(ministep);
  position: absolute;
  left: -13px; top: 0;
  width: 26px; height: 26px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-family: var(--font-display);
  font-size: 0.62rem;
  font-weight: 700;
  color: #0a1a2b;
  background: var(--grad-fire);
  box-shadow: 0 0 0 4px #0c1c2f;
}
.mini-steps h3 { font-size: 1rem; margin-bottom: 4px; color: var(--text); }
.mini-steps p { font-size: 0.87rem; color: var(--text-muted); }

/* ---------- segmentação por frente de atuação ----------
   O body carrega data-seg="manutencao|software-ia|hardware-iot".
   Seções marcadas com data-seg-content só aparecem quando o
   segmento ativo consta na lista (separada por espaço). */
body[data-seg="manutencao"] [data-seg-content]:not([data-seg-content~="manutencao"]),
body[data-seg="software-ia"] [data-seg-content]:not([data-seg-content~="software-ia"]),
body[data-seg="hardware-iot"] [data-seg-content]:not([data-seg-content~="hardware-iot"]) {
  display: none;
}

/* barra de segmentos (gruda sob o header ao rolar) */
.seg-bar {
  position: sticky;
  top: 72px;
  z-index: 90;
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line);
  padding: 12px 0;
}
.seg-tabs {
  display: flex;
  gap: 10px;
  justify-content: center;
  flex-wrap: wrap;
}
.seg-tabs a {
  padding: 11px 24px;
  border-radius: 999px;
  border: 1px solid var(--line-strong);
  font-family: var(--font-display);
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--text-muted);
  transition: all 0.25s ease;
  white-space: nowrap;
}
.seg-tabs a:hover { color: var(--text); border-color: var(--text-dim); }
body[data-seg="manutencao"] .seg-tabs a[data-seg-link="manutencao"],
body[data-seg="software-ia"] .seg-tabs a[data-seg-link="software-ia"],
body[data-seg="hardware-iot"] .seg-tabs a[data-seg-link="hardware-iot"] {
  background: var(--grad-fire);
  border-color: transparent;
  color: #0a1a2b;
  box-shadow: 0 6px 20px rgba(245, 197, 24, 0.30);
}

/* link de segmento ativo na navegação */
body[data-seg="manutencao"] .nav-links a[data-seg-link="manutencao"]:not(.btn),
body[data-seg="software-ia"] .nav-links a[data-seg-link="software-ia"]:not(.btn),
body[data-seg="hardware-iot"] .nav-links a[data-seg-link="hardware-iot"]:not(.btn) {
  color: var(--ember-soft);
}
.nav.scrolled .nav-links a[data-seg-link]:not(.btn) { transition: color 0.2s; }
body[data-seg="manutencao"] .nav.scrolled .nav-links a[data-seg-link="manutencao"]:not(.btn),
body[data-seg="software-ia"] .nav.scrolled .nav-links a[data-seg-link="software-ia"]:not(.btn),
body[data-seg="hardware-iot"] .nav.scrolled .nav-links a[data-seg-link="hardware-iot"]:not(.btn) {
  color: var(--ember-ink);
}

/* ---------- grade dos cards das divisões ---------- */
.duo-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 22px;
  margin-top: 56px;
}
.bento-card {
  background: var(--bg-card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 32px 28px;
  position: relative;
  box-shadow: var(--shadow-card);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.bento-card:hover {
  transform: translateY(-6px);
  border-color: rgba(245, 197, 24, 0.45);
  box-shadow: var(--shadow-card-hover);
}
.bento-card h3 { font-size: 1.18rem; margin-bottom: 10px; color: var(--text); }
.bento-card p { color: var(--text-muted); font-size: 0.94rem; }
.bento-card .tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.bento-card .tags span {
  font-size: 0.72rem;
  font-weight: 600;
  padding: 4px 11px;
  border-radius: 999px;
  background: rgba(28, 108, 176, 0.10);
  border: 1px solid rgba(28, 108, 176, 0.26);
  color: var(--plasma);
}
/* card de IA — o destaque do bento */
.bento-ai {
  background:
    radial-gradient(ellipse 80% 100% at 85% 0%, rgba(245, 197, 24, 0.14), transparent 60%),
    linear-gradient(160deg, #0e2136 0%, #0a1728 100%);
  border-color: rgba(130, 172, 216, 0.22);
  --text: #eef4fb;
  --text-muted: #a9bccf;
}
.bento-ai h3 { color: var(--text); }
.bento-ai p { color: var(--text-muted); }
.bento-ai .service-icon { color: var(--ember-soft); border-color: rgba(245, 197, 24, 0.35); }
.bento-ai .tags span {
  background: rgba(245, 197, 24, 0.10);
  border-color: rgba(245, 197, 24, 0.32);
  color: var(--ember-soft);
}
.ai-badge {
  position: absolute;
  top: 22px; right: 22px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 5px 13px;
  border-radius: 999px;
  color: #0a1a2b;
  background: var(--grad-fire);
}

/* ---------- telefone no header ---------- */
.nav-phone a {
  font-family: var(--font-display);
  font-weight: 600;
  white-space: nowrap;
}

/* stats reaproveitados na seção escura do carro-chefe */
.section-dark .hero-stats { margin-top: 44px; }

/* processo de desenvolvimento (seção tecnologia) */
.dev-process { margin-top: 64px; }
.dev-process-title {
  font-size: 1.3rem;
  color: var(--text);
}

/* botões do banner final (dupla via) */
.cta-banner-btns {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  justify-content: center;
}
.cta-banner .btn-ghost { border-color: rgba(130, 172, 216, 0.35); color: var(--text); }

/* ---------- banner de visão (convergência) ---------- */
.vision-banner {
  background:
    radial-gradient(ellipse 60% 120% at 100% 0%, rgba(245, 197, 24, 0.16), transparent 55%),
    radial-gradient(ellipse 50% 100% at 0% 100%, rgba(91, 166, 224, 0.16), transparent 60%),
    linear-gradient(160deg, #0e2136 0%, #0a1728 100%);
  border: 1px solid rgba(130, 172, 216, 0.18);
  border-radius: 24px;
  padding: clamp(40px, 6vw, 64px);
  box-shadow: 0 20px 50px rgba(16, 40, 66, 0.16);
  --text: #eef4fb;
  --text-muted: #a9bccf;
  --grad-mix: linear-gradient(92deg, #ffd84d 0%, #f5c518 34%, #5ba6e0 100%);
}
.vision-banner {
  display: grid;
  grid-template-columns: 1.3fr 1fr;
  gap: clamp(32px, 5vw, 56px);
  align-items: center;
}
.vision-banner .eyebrow { color: #5ba6e0; }
.vision-banner h2 { font-size: clamp(1.7rem, 4vw, 2.4rem); margin-bottom: 16px; color: var(--text); }
.vision-banner p { color: var(--text-muted); max-width: 720px; }
.vision-text > .btn { margin-top: 30px; }

/* painel de telemetria simulada */
.telemetry {
  background: rgba(8, 19, 32, 0.75);
  border: 1px solid rgba(130, 172, 216, 0.22);
  border-radius: 18px;
  padding: 22px;
  backdrop-filter: blur(6px);
}
.telemetry-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: 14px;
}
.telemetry-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-family: var(--font-display);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text);
}
.telemetry-status .dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  background: var(--ember);
  box-shadow: 0 0 10px var(--ember);
  animation: pulse 1.6s infinite;
}
.telemetry-badge {
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 4px 11px;
  border-radius: 999px;
  border: 1px dashed rgba(245, 197, 24, 0.45);
  color: var(--ember-soft);
}
#telemetry-chart {
  width: 100%;
  height: 130px;
  display: block;
  border-radius: 10px;
  background:
    linear-gradient(rgba(130,172,216,0.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(130,172,216,0.07) 1px, transparent 1px),
    rgba(8, 19, 32, 0.6);
  background-size: 22px 22px, 22px 22px, auto;
}
.telemetry-readouts {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 14px;
}
.readout {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(130, 172, 216, 0.16);
  border-radius: 12px;
  padding: 10px 12px;
  text-align: center;
}
.readout .val {
  display: block;
  font-family: var(--font-display);
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--ember-soft);
  font-variant-numeric: tabular-nums;
}
.readout .unit { font-size: 0.68rem; color: var(--text-dim); letter-spacing: 0.06em; }
.telemetry-note { font-size: 0.78rem; color: var(--text-dim); margin-top: 14px; max-width: none; }
.roadmap { margin-top: 28px; }
.roadmap-label {
  display: block;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: 12px;
}
.roadmap-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.roadmap-chips span {
  font-size: 0.82rem;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 999px;
  border: 1px dashed rgba(245, 197, 24, 0.45);
  color: var(--ember-soft);
  background: rgba(245, 197, 24, 0.06);
}

/* ---------- marquee de processos ---------- */
.marquee {
  border-block: 1px solid var(--line);
  padding: 18px 0;
  overflow: hidden;
  background: var(--bg-soft);
  white-space: nowrap;
}
.marquee-track {
  display: inline-flex;
  gap: 48px;
  animation: scroll 30s linear infinite;
}
.marquee-track span {
  font-family: var(--font-display);
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--text-dim);
  display: inline-flex;
  align-items: center;
  gap: 48px;
}
.marquee-track span::after { content: "✦"; color: var(--ember); font-size: 0.7rem; }
@keyframes scroll { to { transform: translateX(-50%); } }

/* ---------- cards de serviço ---------- */
.services-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 22px;
  margin-top: 56px;
}
.service-card {
  background: var(--bg-card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 32px 28px;
  position: relative;
  box-shadow: var(--shadow-card);
  transition: transform 0.3s ease, border-color 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}
.service-card:hover {
  transform: translateY(-6px);
  border-color: rgba(245, 197, 24, 0.45);
  background: var(--bg-card-hover);
  box-shadow: var(--shadow-card-hover);
}
.service-icon {
  width: 52px; height: 52px;
  border-radius: 14px;
  background: linear-gradient(150deg, rgba(245,197,24,0.18), rgba(28,108,176,0.14));
  border: 1px solid rgba(28, 108, 176, 0.28);
  display: grid;
  place-items: center;
  margin-bottom: 22px;
  color: var(--blue-deep);
}
.service-icon svg { width: 26px; height: 26px; }
.service-card h3 { font-size: 1.18rem; margin-bottom: 10px; color: var(--text); }
.service-card p { color: var(--text-muted); font-size: 0.94rem; }
.service-card .tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.service-card .tags span {
  font-size: 0.72rem;
  font-weight: 600;
  padding: 4px 11px;
  border-radius: 999px;
  background: rgba(28, 108, 176, 0.10);
  border: 1px solid rgba(28, 108, 176, 0.26);
  color: var(--plasma);
}

/* ---------- efeito "cordão de solda" percorrendo a borda ---------- */
/* Um ponto incandescente corre o perímetro do card no hover,
   deixando um rastro quente — como uma tocha soldando a borda. */
.weld-border, .service-card, .post-card { position: relative; }
.weld-border::after,
.service-card::after,
.post-card::after {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  padding: 1.5px;                       /* espessura do cordão */
  background:
    conic-gradient(from var(--weld-angle),
      transparent 0deg,
      transparent 286deg,
      rgba(245, 197, 24, 0.25) 300deg,
      #f5c518 330deg,
      #fff6d6 344deg,                   /* ponto branco-quente da tocha */
      #ffdb52 350deg,
      rgba(245, 197, 24, 0.25) 358deg,
      transparent 360deg);
  /* recorta só a moldura, deixando o miolo vazado */
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  /* o brilho da solda "vaza" para fora do traço */
  filter: drop-shadow(0 0 5px rgba(245, 197, 24, 0.85))
          drop-shadow(0 0 12px rgba(245, 197, 24, 0.45));
  opacity: 0;
  transition: opacity 0.35s ease;
  pointer-events: none;
  z-index: 3;
}
.weld-border:hover::after,
.service-card:hover::after,
.post-card:hover::after {
  opacity: 1;
  animation: weld-run 1.9s linear infinite;
}
@keyframes weld-run { to { --weld-angle: 360deg; } }

@media (prefers-reduced-motion: reduce) {
  .weld-border:hover::after,
  .service-card:hover::after,
  .post-card:hover::after { animation: none; opacity: 1; }
}

/* ---------- processo (timeline) ---------- */
.steps {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 20px;
  margin-top: 56px;
  counter-reset: step;
}
.step {
  background: var(--bg-card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 28px 22px;
  position: relative;
  box-shadow: var(--shadow-card);
}
.step::before {
  counter-increment: step;
  content: "0" counter(step);
  font-family: var(--font-display);
  font-size: 2.4rem;
  font-weight: 700;
  background: var(--grad-mix);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  display: block;
  margin-bottom: 12px;
}
.step h3 { font-size: 1.05rem; margin-bottom: 8px; color: var(--text); }
.step p { font-size: 0.88rem; color: var(--text-muted); }

/* ---------- marcas ---------- */
.brands {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 40px;
}
.brands span {
  font-family: var(--font-display);
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: 0.06em;
  padding: 12px 24px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: var(--bg-card);
  color: var(--text-muted);
  transition: all 0.25s;
}
.brands span:hover { color: var(--text); border-color: var(--line-strong); transform: translateY(-2px); }

/* ---------- blog cards ---------- */
.blog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: 22px;
  margin-top: 48px;
}
.post-card {
  background: var(--bg-card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  display: flex;
  flex-direction: column;
  box-shadow: var(--shadow-card);
  transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}
.post-card:hover { transform: translateY(-6px); border-color: rgba(245, 197, 24, 0.45); box-shadow: var(--shadow-card-hover); }
.post-cover {
  height: 170px;
  position: relative;
  display: flex;
  align-items: flex-end;
  padding: 18px;
  overflow: hidden;
  border-radius: var(--radius) var(--radius) 0 0;
  background:
    radial-gradient(ellipse 90% 100% at 85% 0%, rgba(245,197,24,0.38), transparent 55%),
    radial-gradient(circle at 12% 115%, rgba(255,255,255,0.14), transparent 45%),
    linear-gradient(135deg, #123a5f 0%, #1c6cb0 100%);
}
.post-cover .cat {
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 5px 13px;
  border-radius: 999px;
  background: rgba(8, 20, 35, 0.55);
  border: 1px solid rgba(255, 255, 255, 0.20);
  color: var(--ember-soft);
  backdrop-filter: blur(4px);
}
.post-cover .glyph {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -55%);
  font-size: 3rem;
  opacity: 0.9;
  filter: drop-shadow(0 4px 14px rgba(0,0,0,0.35));
}
.post-body { padding: 24px; display: flex; flex-direction: column; flex: 1; }
.post-body h3 { font-size: 1.12rem; margin-bottom: 10px; color: var(--text); }
.post-body h3 a:hover { color: var(--plasma); }
.post-body p { color: var(--text-muted); font-size: 0.9rem; flex: 1; }
.post-meta {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid var(--line);
  font-size: 0.8rem;
  color: var(--text-dim);
}

/* ---------- filtros do blog ---------- */
.blog-tools {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  align-items: center;
  margin-top: 40px;
}
.search-box {
  flex: 1;
  min-width: 240px;
  position: relative;
}
.search-box input {
  width: 100%;
  padding: 13px 18px 13px 46px;
  border-radius: 999px;
  border: 1px solid var(--line-strong);
  background: var(--bg-card);
  color: var(--text);
  font-family: inherit;
  font-size: 0.95rem;
  outline: none;
  transition: border-color 0.2s;
}
.search-box input:focus { border-color: var(--ember); }
.search-box svg {
  position: absolute;
  left: 17px; top: 50%;
  transform: translateY(-50%);
  width: 18px; height: 18px;
  color: var(--text-dim);
}
.cat-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.cat-filters button {
  padding: 9px 18px;
  border-radius: 999px;
  border: 1px solid var(--line-strong);
  background: transparent;
  color: var(--text-muted);
  font-size: 0.85rem;
  font-weight: 500;
  transition: all 0.2s;
}
.cat-filters button:hover { color: var(--text); border-color: var(--text-dim); }
.cat-filters button.on {
  background: var(--grad-fire);
  border-color: transparent;
  color: #0a1a2b;
}

/* ---------- página do artigo ---------- */
.article-hero { padding: 150px 0 50px; }
.article-hero .cat-pill {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--plasma);
  border: 1px solid rgba(28, 108, 176, 0.32);
  background: rgba(28, 108, 176, 0.09);
  padding: 6px 16px;
  border-radius: 999px;
  margin-bottom: 22px;
}
.article-hero h1 { font-size: clamp(1.9rem, 4.5vw, 3rem); max-width: 820px; margin-bottom: 20px; }
.article-hero .meta { color: var(--text-dim); font-size: 0.92rem; display: flex; gap: 18px; flex-wrap: wrap; }

.article-body {
  max-width: 760px;
  font-size: 1.06rem;
  color: var(--text-muted);
  padding-bottom: 90px;
}
.article-body h2 {
  font-size: 1.6rem;
  margin: 44px 0 16px;
  color: var(--text);
}
.article-body h3 { font-size: 1.25rem; margin: 34px 0 12px; color: var(--text); }
.article-body p { margin-bottom: 18px; }
.article-body ul, .article-body ol { margin: 0 0 18px 24px; }
.article-body li { margin-bottom: 8px; }
.article-body strong { color: var(--text); }
.article-body a { color: var(--plasma); border-bottom: 1px solid rgba(47,126,192,0.35); }
.article-body blockquote {
  border-left: 3px solid var(--ember);
  background: var(--bg-soft);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
  padding: 18px 22px;
  margin: 24px 0;
  color: var(--text-muted);
}
.article-body code {
  background: var(--bg-soft);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 2px 8px;
  font-size: 0.88em;
  color: var(--plasma);
}
.article-body hr { border: none; border-top: 1px solid var(--line); margin: 36px 0; }

/* ---------- CTA banner (faixa escura de destaque) ---------- */
.cta-banner {
  background:
    radial-gradient(ellipse 70% 120% at 50% -10%, rgba(245, 197, 24, 0.22), transparent 60%),
    radial-gradient(ellipse 60% 100% at 90% 120%, rgba(91, 166, 224, 0.20), transparent 60%),
    linear-gradient(160deg, #0e2136 0%, #0a1728 100%);
  border: 1px solid rgba(130, 172, 216, 0.18);
  border-radius: 24px;
  padding: clamp(40px, 6vw, 72px);
  text-align: center;
  position: relative;
  overflow: hidden;
  box-shadow: 0 20px 50px rgba(16, 40, 66, 0.16);
  --text: #eef4fb;
  --text-muted: #a9bccf;
  --grad-mix: linear-gradient(92deg, #ffd84d 0%, #f5c518 34%, #5ba6e0 100%);
}
.cta-banner h2 { font-size: clamp(1.7rem, 4vw, 2.5rem); margin-bottom: 16px; color: var(--text); }
.cta-banner p { color: var(--text-muted); max-width: 560px; margin: 0 auto 34px; }

/* ---------- contato ---------- */
.contact-grid {
  display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: 48px;
  margin-top: 56px;
}
.contact-info-item {
  display: flex;
  gap: 16px;
  padding: 20px 0;
  border-bottom: 1px solid var(--line);
}
.contact-info-item .ic {
  width: 44px; height: 44px;
  flex: none;
  border-radius: 12px;
  background: linear-gradient(150deg, rgba(245,197,24,0.18), rgba(28,108,176,0.14));
  border: 1px solid rgba(28, 108, 176, 0.28);
  display: grid;
  place-items: center;
  color: var(--blue-deep);
}
.contact-info-item .ic svg { width: 20px; height: 20px; }
.contact-info-item h4 { font-size: 0.98rem; margin-bottom: 3px; color: var(--text); }
.contact-info-item p, .contact-info-item a { color: var(--text-muted); font-size: 0.92rem; }
.contact-info-item a:hover { color: var(--plasma); }

.contact-form {
  background: var(--bg-card);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 36px;
  box-shadow: var(--shadow-card);
}
.field { margin-bottom: 20px; }
.field label {
  display: block;
  font-size: 0.85rem;
  font-weight: 600;
  margin-bottom: 8px;
  color: var(--text-muted);
}
.field input, .field textarea, .field select {
  width: 100%;
  padding: 13px 16px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--line-strong);
  background: var(--bg-soft);
  color: var(--text);
  font-family: inherit;
  font-size: 0.95rem;
  outline: none;
  transition: border-color 0.2s;
}
.field input:focus, .field textarea:focus, .field select:focus { border-color: var(--ember); }
.field textarea { resize: vertical; min-height: 120px; }

/* ---------- footer (faixa escura) ---------- */
footer {
  border-top: 1px solid rgba(130, 172, 216, 0.14);
  background: linear-gradient(180deg, #0a1728 0%, #081320 100%);
  padding: 56px 0 32px;
  margin-top: 0;
}
.footer-grid {
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 40px;
  margin-bottom: 44px;
}
.footer-grid p { color: var(--text-muted); font-size: 0.9rem; max-width: 340px; margin-top: 14px; }
.footer-grid h4 {
  font-size: 0.8rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--text-dim);
  margin-bottom: 16px;
}
.footer-grid ul { list-style: none; }
.footer-grid ul li { margin-bottom: 10px; }
.footer-grid ul a { color: var(--text-muted); font-size: 0.92rem; transition: color 0.2s; }
.footer-grid ul a:hover { color: var(--ember-soft); }
.footer-bottom {
  border-top: 1px solid var(--line);
  padding-top: 26px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 0.82rem;
  color: var(--text-dim);
}
.footer-bottom a { color: var(--text-dim); }
.footer-bottom a:hover { color: var(--ember-soft); }

/* ---------- botão flutuante whatsapp ---------- */
.wa-float {
  position: fixed;
  right: 22px; bottom: 22px;
  z-index: 90;
  width: 58px; height: 58px;
  border-radius: 50%;
  background: #25d366;
  display: grid;
  place-items: center;
  box-shadow: 0 8px 28px rgba(37, 211, 102, 0.45);
  transition: transform 0.25s;
}
.wa-float:hover { transform: scale(1.1); }
.wa-float svg { width: 30px; height: 30px; fill: #fff; }

/* ---------- animação de reveal ---------- */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal.visible { opacity: 1; transform: none; }

/* ---------- estado vazio ---------- */
.empty-state {
  text-align: center;
  padding: 80px 20px;
  color: var(--text-dim);
}
.empty-state .glyph { font-size: 3rem; margin-bottom: 16px; }

/* ---------- responsivo ---------- */
@media (max-width: 860px) {
  .nav-links {
    position: fixed;
    top: 72px; left: 0; right: 0;
    flex-direction: column;
    gap: 0;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(14px);
    border-bottom: 1px solid var(--line);
    box-shadow: 0 20px 40px rgba(16, 40, 66, 0.12);
    padding: 12px 0 20px;
    display: none;
  }
  .nav-links.open { display: flex; }
  .nav-links li { width: 100%; text-align: center; }
  /* no menu mobile (painel claro) os links são sempre escuros */
  .nav-links a:not(.btn),
  .nav.scrolled .nav-links a:not(.btn) { display: block; padding: 14px; color: var(--text-muted); }
  .nav-links a:not(.btn):hover { color: var(--text); }
  .nav-links a.btn { display: inline-flex; width: auto; margin-top: 10px; }
  .nav-toggle { display: block; }
  .contact-grid { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .hero-stats .stat { padding-right: 24px; margin-right: 24px; }
  .hero-tracks { grid-template-columns: 1fr; }
  .flagship-grid { grid-template-columns: 1fr; gap: 40px; }
  .duo-grid { grid-template-columns: 1fr; }
  .vision-banner { grid-template-columns: 1fr; }
  .nav-phone { display: none; }
  .seg-tabs a { padding: 9px 16px; font-size: 0.82rem; }
}
