html{font-size:14px;}

:root{
  --bg:#050913;--bg2:#07111f;--panel:#0b1422;--panel2:#0e1a2b;--line:#26374f;--line2:#34506f;
  --text:#e8f0ff;--muted:#9fb0c8;--blue:#2f7cff;--blue2:#55b6ff;--silver:#d8e4f7;--green:#37d083;
  --max:1240px;--radius:18px;--shadow:0 24px 80px rgba(0,0,0,.42);
}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:radial-gradient(900px 420px at 70% -10%,rgba(47,124,255,.22),transparent 60%),linear-gradient(180deg,#050913 0%,#07111f 45%,#050913 100%);color:var(--text);line-height:1.55}a{text-decoration:none;color:inherit}.container{max-width:var(--max);margin:0 auto;padding:0 28px}.small{font-size:12px;color:var(--muted)}
header{position:sticky;top:0;z-index:50;background:rgba(5,9,19,.88);backdrop-filter:blur(16px);border-bottom:1px solid rgba(52,80,111,.55)}.navbar{height:78px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:14px;min-width:260px}.brand img{width:64px;height:38px;object-fit:contain}.brand .name{font-weight:950;letter-spacing:.12em;font-size:16px}.brand .sub{font-size:10px;letter-spacing:.18em;color:#68b7ff;text-transform:uppercase;margin-top:2px}.navlinks{display:flex;gap:8px;align-items:center}.navlinks a{font-weight:700;font-size:14px;color:#c6d3e6;padding:10px 13px;border-radius:999px}.navlinks a:hover,.navlinks a.active{background:rgba(47,124,255,.13);color:#fff}.cta{display:flex;gap:12px;align-items:center}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:12px 18px;font-weight:850;font-size:14px;border:1px solid transparent;white-space:nowrap}.btn-primary{background:linear-gradient(135deg,#2f7cff,#415fe0);color:white;box-shadow:0 16px 36px rgba(47,124,255,.25)}.btn-ghost{border-color:#2b66d9;color:#dbeafe;background:rgba(9,20,36,.45)}.mobile-toggle{display:none;border:1px solid var(--line);background:var(--panel);color:#fff;border-radius:12px;padding:10px 12px}.mobile-panel{display:none;padding:12px 28px 18px}.mobile-panel a{display:block;padding:12px;border:1px solid var(--line);border-radius:12px;margin-top:8px;background:rgba(11,20,34,.8)}
.hero{padding:74px 0 56px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:34px;align-items:center}.kicker{display:inline-flex;gap:10px;align-items:center;border:1px solid rgba(47,124,255,.34);background:rgba(47,124,255,.08);border-radius:999px;padding:8px 14px;color:#9ed0ff;font-size:12px;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.signal-dot{width:10px;height:10px;border-radius:50%;background:#55b6ff;box-shadow:0 0 0 6px rgba(85,182,255,.12),0 0 22px rgba(85,182,255,.8)}.h1{font-size:58px;line-height:1.02;letter-spacing:-.045em;margin:18px 0 16px;font-weight:950}.lead{font-size:19px;color:#b7c6dc;max-width:780px}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.pills,.chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}.pill,.chip{font-size:12px;font-weight:760;color:#b6c7df;border:1px solid var(--line);background:rgba(11,20,34,.72);border-radius:999px;padding:7px 10px}.chip{color:#8fc6ff;border-color:#265a9b;background:rgba(47,124,255,.09)}.hero-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(14,26,43,.86),rgba(8,16,28,.92));box-shadow:var(--shadow);overflow:hidden}.hero-logo{min-height:350px;display:grid;place-items:center;padding:36px;background:radial-gradient(280px 180px at 50% 30%,rgba(47,124,255,.23),transparent 70%)}.hero-logo img{width:420px;max-width:100%}.caption{padding:20px 24px;border-top:1px solid var(--line);background:rgba(5,9,19,.55)}
.section{padding:56px 0;border-top:1px solid rgba(52,80,111,.38)}.section-head{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin-bottom:22px}.section-head h2{margin:0 0 6px;font-size:36px;letter-spacing:-.03em}.section-head p{color:#a9bad2;margin:0;max-width:760px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.grid.two{grid-template-columns:repeat(2,1fr)}.card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(14,26,43,.86),rgba(8,16,28,.92));box-shadow:0 18px 50px rgba(0,0,0,.24);padding:24px}.card h3{margin:10px 0 10px;font-size:22px;line-height:1.15}.card p{color:#a9bad2;margin:0}.tag{display:inline-flex;color:#8fc6ff;background:rgba(47,124,255,.1);border:1px solid rgba(47,124,255,.35);border-radius:999px;padding:7px 10px;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.num{width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#10284a;border:1px solid #2f7cff;color:#89c6ff;font-weight:950;font-size:12px}.cyber-band{border:1px solid #1e5599;background:radial-gradient(800px 360px at 20% 0%,rgba(47,124,255,.28),transparent 65%),linear-gradient(135deg,#081426,#092a50);border-radius:26px;padding:30px}.page-hero{padding:44px 0 28px}.breadcrumb{font-size:12px;color:#7ebdff;font-weight:850}.page-hero h1{font-size:48px;margin:12px 0 8px;letter-spacing:-.04em}.page-hero p{color:#a9bad2;max-width:850px}.logo-strip{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.logo-tile{border:1px solid var(--line);border-radius:14px;background:rgba(14,26,43,.75);padding:16px;text-align:center;color:#c6d3e6;font-weight:800}
/* diagrams */.diagram-stack{display:grid;grid-template-columns:1fr;gap:24px}.diagram-card{padding:0;overflow:hidden}.engineering-canvas{background-color:#081426;background-image:linear-gradient(rgba(76,107,153,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(76,107,153,.18) 1px,transparent 1px),linear-gradient(rgba(76,107,153,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(76,107,153,.08) 1px,transparent 1px);background-size:40px 40px,40px 40px,10px 10px,10px 10px;padding:18px;border-bottom:1px solid var(--line);overflow:hidden}.engineering-canvas svg{width:100%;height:auto;display:block;aspect-ratio:1500/620}.diagram-caption{padding:22px 26px}.diagram-caption h3{margin:0 0 8px;font-size:24px}.diagram-caption p{color:#a9bad2;margin:0}.svg-title{font:900 20px Inter,Arial;fill:#e8f0ff;letter-spacing:.02em}.zone-title{font:900 17px Inter,Arial;fill:#e8f0ff;text-anchor:middle;dominant-baseline:middle}.box-label{font:850 13px Inter,Arial;fill:#e8f0ff;text-anchor:middle;dominant-baseline:middle}.box-small{font:760 10.5px Inter,Arial;fill:#9fb0c8;text-anchor:middle;dominant-baseline:middle}.white-label{font:900 13.5px Inter,Arial;fill:#fff;text-anchor:middle;dominant-baseline:middle}.white-small{font:760 11px Inter,Arial;fill:#dbeafe;text-anchor:middle;dominant-baseline:middle}.foot-label{font:760 11px Inter,Arial;fill:#93a7c3;text-anchor:middle}.zone{fill:rgba(10,22,39,.72);stroke:#4a6386;stroke-width:2}.zone-blue{stroke:#2f7cff}.zone-green{stroke:#37d083}.zone-gray{stroke:#8aa1c1}.equip{fill:#0b1422;stroke:#6e86aa;stroke-width:2}.equip-blue{fill:#3359d4;stroke:#7ba7ff;stroke-width:2}.equip-dark{fill:#040915;stroke:#26374f;stroke-width:2}.firewall{fill:#3359d4;stroke:#7ba7ff;stroke-width:2}.server-slot{fill:#2f7cff}.led{fill:#37d083}.port{fill:#d8e4f7}.flow{stroke:#3f7cff;stroke-width:3.4;fill:none}.thinflow{stroke:#3f7cff;stroke-width:2.2;fill:none}.dashflow{stroke:#55b6ff;stroke-width:2.6;stroke-dasharray:8 8;fill:none}.greenflow{stroke:#37d083;stroke-width:2.3;fill:none}.preview-grid{display:grid;grid-template-columns:1fr;gap:22px}.preview-grid .engineering-canvas svg{aspect-ratio:1500/620}.preview-grid .diagram-caption{min-height:auto}

/* industry visual thumbnails */
.industry-card{
  position:relative;
  overflow:hidden;
  min-height:238px;
  padding:26px 28px 28px 26px;
}
.industry-card .tag,.industry-card h3,.industry-card p{position:relative;z-index:2}
.industry-card .tag{max-width:calc(100% - 58px)}
.industry-card h3{max-width:calc(100% - 72px);line-height:1.12;margin-top:12px}
.industry-card p{max-width:100%;margin-top:12px}
.industry-visual{
  position:absolute;
  right:18px;
  top:18px;
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid rgba(85,182,255,.22);
  background:radial-gradient(circle at 35% 28%,rgba(85,182,255,.28),transparent 34%),linear-gradient(145deg,rgba(47,124,255,.12),rgba(6,12,24,.54));
  box-shadow:0 8px 18px rgba(47,124,255,.08),inset 0 0 0 1px rgba(255,255,255,.035);
  opacity:.88;
  z-index:1;
}
.industry-visual:before,.industry-visual:after{
  content:"";
  position:absolute;
  inset:0;
  background-repeat:no-repeat;
  background-position:center;
  background-size:29px 29px;
  filter:drop-shadow(0 0 5px rgba(85,182,255,.30));
}
.industry-visual:after{
  inset:auto 7px 6px auto;
  width:5px;
  height:5px;
  border-radius:50%;
  background:rgba(85,182,255,.75);
  box-shadow:-10px 0 0 rgba(85,182,255,.48),-20px 0 0 rgba(85,182,255,.30);
}

.industry-visual.manufacturing:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23dbeafe' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 58V34l16 10V34l16 10V24h14v34z'/%3E%3Cpath d='M20 58V45M32 58V48M44 58V48M56 58V34'/%3E%3C/g%3E%3C/svg%3E")}
.industry-visual.robotics:before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2080%2080%27%3E%0A%3Cg%20fill%3D%27none%27%20stroke%3D%27%23dbeafe%27%20stroke-width%3D%274.2%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%0A%20%20%3Cpath%20d%3D%27M12%2062h24%27%2F%3E%0A%20%20%3Cpath%20d%3D%27M18%2062V52h12v10%27%2F%3E%0A%20%20%3Ccircle%20cx%3D%2724%27%20cy%3D%2748%27%20r%3D%276%27%2F%3E%0A%20%20%3Cpath%20d%3D%27M28%2044l13-18%27%2F%3E%0A%20%20%3Ccircle%20cx%3D%2743%27%20cy%3D%2724%27%20r%3D%276%27%2F%3E%0A%20%20%3Cpath%20d%3D%27M48%2025l13%2012%27%2F%3E%0A%20%20%3Ccircle%20cx%3D%2763%27%20cy%3D%2739%27%20r%3D%276%27%2F%3E%0A%20%20%3Cpath%20d%3D%27M67%2043l6%205%27%2F%3E%0A%20%20%3Cpath%20d%3D%27M70%2039l5-6%27%2F%3E%0A%20%20%3Cpath%20d%3D%27M60%2034l4-9%27%2F%3E%0A%20%20%3Cpath%20d%3D%27M39%2019l3-9%27%2F%3E%0A%3C%2Fg%3E%0A%3Cg%20fill%3D%27%237dbbff%27%3E%0A%20%20%3Ccircle%20cx%3D%2724%27%20cy%3D%2748%27%20r%3D%272.3%27%2F%3E%0A%20%20%3Ccircle%20cx%3D%2743%27%20cy%3D%2724%27%20r%3D%272.3%27%2F%3E%0A%20%20%3Ccircle%20cx%3D%2763%27%20cy%3D%2739%27%20r%3D%272.3%27%2F%3E%0A%3C%2Fg%3E%0A%3C%2Fsvg%3E");background-size:34px 34px}
.industry-visual.regulated:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23dbeafe' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M34 14h12v18l14 24a8 8 0 0 1-7 12H27a8 8 0 0 1-7-12l14-24z'/%3E%3Cpath d='M28 52h24M34 26h12'/%3E%3C/g%3E%3C/svg%3E")}
.industry-visual.multisite:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23dbeafe' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='12' y='16' width='18' height='18' rx='3'/%3E%3Crect x='50' y='16' width='18' height='18' rx='3'/%3E%3Crect x='31' y='50' width='18' height='18' rx='3'/%3E%3Cpath d='M30 25h20M21 34l10 16M59 34L49 50'/%3E%3C/g%3E%3C/svg%3E")}
.industry-visual.logistics:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23dbeafe' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 50h42V28H12zM54 36h10l6 8v6H54'/%3E%3Ccircle cx='24' cy='56' r='5'/%3E%3Ccircle cx='60' cy='56' r='5'/%3E%3Cpath d='M20 22h26'/%3E%3C/g%3E%3C/svg%3E")}
.industry-visual.hospitality:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23dbeafe' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 64V22h28v42M44 34h20v30'/%3E%3Cpath d='M24 32h4M34 32h4M24 44h4M34 44h4M52 44h4M52 54h4'/%3E%3C/g%3E%3C/svg%3E")}
.industry-visual.smartbuilding:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23dbeafe' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 38 40 18l26 20v28H22V42'/%3E%3Cpath d='M32 66V48h16v18M28 38h24'/%3E%3Cpath d='M28 28c8-6 16-6 24 0M33 36c5-4 9-4 14 0'/%3E%3C/g%3E%3C/svg%3E")}
.industry-visual.hybrid:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23dbeafe' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 52a12 12 0 0 1 2-24 16 16 0 0 1 30-4 12 12 0 0 1 7 22'/%3E%3Cpath d='M24 56h32M32 64h16M40 44v20'/%3E%3C/g%3E%3C/svg%3E")}
.industry-visual.energy:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23dbeafe' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M44 10 24 42h16l-4 28 22-36H42z'/%3E%3Cpath d='M14 62h18M52 62h14'/%3E%3C/g%3E%3C/svg%3E")}
.industry-visual.critical:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23dbeafe' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M40 12 18 22v16c0 14 9 25 22 30 13-5 22-16 22-30V22z'/%3E%3Cpath d='M30 40h20M40 30v20'/%3E%3C/g%3E%3C/svg%3E")}
.industry-visual.projects:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23dbeafe' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='16' y='18' width='48' height='44' rx='5'/%3E%3Cpath d='M28 30h24M28 42h24M28 54h12'/%3E%3Cpath d='M20 10h40'/%3E%3C/g%3E%3C/svg%3E")}
.industry-visual.security:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23dbeafe' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 40s9-16 24-16 24 16 24 16-9 16-24 16-24-16-24-16z'/%3E%3Ccircle cx='40' cy='40' r='7'/%3E%3Cpath d='M40 12v6M40 62v6M12 40h6M62 40h6'/%3E%3C/g%3E%3C/svg%3E")}

.industry-visual.robotics{border-color:rgba(85,182,255,.38)}
.industry-visual.robotics:before{filter:drop-shadow(0 0 4px rgba(85,182,255,.38))}

@media(max-width:980px){.industry-card .tag,.industry-card h3,.industry-card p{max-width:none}.industry-visual{width:42px;height:42px;opacity:.28;right:14px;top:14px}.industry-visual:before{background-size:26px 26px}.industry-visual:after{display:none}}

.form{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(14,26,43,.86),rgba(8,16,28,.92));padding:24px}.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}label{display:block;font-weight:850;margin-bottom:7px;color:#dbeafe}input,textarea,
.request-select{width:100%;border:1px solid rgba(90,130,255,.35);border-radius:16px;padding:16px 18px;min-height:62px;background:#081426;color:#fff;font:inherit;transition:all .25s ease}
.request-select:hover,.request-select:focus{border-color:#5d7cff;box-shadow:0 0 18px rgba(93,124,255,.22);outline:none}
.request-select option{background:#081426;color:#fff;padding:12px}
html[data-theme="light"] .request-select{background:#f8fbff;color:#09111f;border-color:#b8c7e8}
html[data-theme="light"] .request-select option{background:#ffffff;color:#09111f}

select{width:100%;border:1px solid var(--line);border-radius:12px;padding:13px;background:#081426;color:#fff;font:inherit}textarea{min-height:150px}footer{border-top:1px solid var(--line);padding:28px 0;background:#050913}.footer-grid{display:flex;justify-content:space-between;gap:20px;align-items:center}.footer-links{display:flex;gap:16px;flex-wrap:wrap;color:#a9bad2}.brand-footer{display:flex;gap:12px;align-items:center;font-weight:950;letter-spacing:.12em}.brand-footer img{width:58px;height:34px}
@media(max-width:980px){.navlinks,.cta{display:none}.mobile-toggle{display:block}.mobile-panel.show{display:block}.hero-grid,.grid,.grid.two,.preview-grid,.row2{grid-template-columns:1fr}.h1{font-size:40px}.section-head{display:block}.section-head h2{font-size:30px}.page-hero h1{font-size:36px}.engineering-canvas{overflow-x:auto}.engineering-canvas svg{min-width:1050px}.footer-grid{display:block}.footer-links{margin-top:16px}.logo-strip{grid-template-columns:repeat(2,1fr)}}

/* === NETVALEN inspected animated industry icons update ===
   Lightweight CSS/SVG motion icons. Small enough to never cover card titles. */
@keyframes nvIconFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes nvPulse{0%,100%{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}
@keyframes nvPacketRight{0%{transform:translateX(-18px);opacity:0}18%{opacity:1}82%{opacity:1}100%{transform:translateX(18px);opacity:0}}
@keyframes nvPacketDown{0%{transform:translateY(-16px);opacity:0}20%{opacity:1}80%{opacity:1}100%{transform:translateY(16px);opacity:0}}
@keyframes nvSweep{0%{transform:translateX(-42px);opacity:0}30%{opacity:.8}100%{transform:translateX(42px);opacity:0}}
@keyframes nvRobotServo{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(7deg)}}
@keyframes nvEnergy{0%,100%{filter:drop-shadow(0 0 3px rgba(85,182,255,.32));opacity:.82}50%{filter:drop-shadow(0 0 9px rgba(85,182,255,.78));opacity:1}}

.industry-card{
  position:relative;
  min-height:242px;
  padding:28px 28px 30px 26px;
}
.industry-card .tag{max-width:calc(100% - 54px)}
.industry-card h3{max-width:calc(100% - 66px);font-size:21px;line-height:1.13;margin-top:12px}
.industry-card p{font-size:15px;line-height:1.58}
.industry-visual{
  right:18px !important;
  top:18px !important;
  width:40px !important;
  height:40px !important;
  border-radius:13px !important;
  opacity:.96 !important;
  overflow:hidden;
  background:
    radial-gradient(circle at 35% 26%,rgba(85,182,255,.28),transparent 36%),
    linear-gradient(145deg,rgba(47,124,255,.13),rgba(6,12,24,.62)) !important;
  box-shadow:0 8px 18px rgba(47,124,255,.10),inset 0 0 0 1px rgba(255,255,255,.04) !important;
}
.industry-visual:before{
  background-size:26px 26px !important;
  filter:drop-shadow(0 0 4px rgba(85,182,255,.34)) !important;
  transform-origin:50% 58%;
}
.industry-visual:after{
  right:7px !important;
  bottom:6px !important;
  width:4px !important;
  height:4px !important;
  background:rgba(110,190,255,.85) !important;
  box-shadow:-9px 0 0 rgba(85,182,255,.48),-18px 0 0 rgba(85,182,255,.24) !important;
  animation:nvPacketRight 2.7s linear infinite;
}
.industry-card:hover .industry-visual:before{animation:nvIconFloat 2.4s ease-in-out infinite}

/* sharper industrial robot arm icon, animated like a servo arm */
.industry-visual.robotics:before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23e6f0ff' stroke-width='4.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 64h24'/%3E%3Cpath d='M18 64V52h14v12'/%3E%3Ccircle cx='25' cy='47' r='7'/%3E%3Cpath d='M30 43l15-18'/%3E%3Ccircle cx='48' cy='22' r='7'/%3E%3Cpath d='M53 25l13 10'/%3E%3Ccircle cx='68' cy='37' r='5'/%3E%3Cpath d='M70 42l5 7'/%3E%3Cpath d='M73 35l5-5'/%3E%3Cpath d='M38 58h12'/%3E%3C/g%3E%3Cg fill='%237dbbff'%3E%3Ccircle cx='25' cy='47' r='2.4'/%3E%3Ccircle cx='48' cy='22' r='2.4'/%3E%3Ccircle cx='68' cy='37' r='2.1'/%3E%3C/g%3E%3C/svg%3E") !important;
  background-size:31px 31px !important;
  animation:nvRobotServo 3.8s ease-in-out infinite;
  filter:drop-shadow(0 0 5px rgba(85,182,255,.44)) !important;
}
.industry-visual.robotics:after{animation:nvPulse 1.35s ease-in-out infinite;box-shadow:0 0 10px rgba(85,182,255,.75) !important;right:8px !important;bottom:7px !important}

/* per-industry premium motion cues */
.industry-visual.manufacturing:after,.industry-visual.multisite:after,.industry-visual.hybrid:after{animation:nvPacketRight 2.3s linear infinite}
.industry-visual.regulated:before,.industry-visual.energy:before,.industry-visual.critical:before{animation:nvEnergy 2.2s ease-in-out infinite}
.industry-visual.logistics:after,.industry-visual.hospitality:after,.industry-visual.smartbuilding:after{animation:nvPulse 1.8s ease-in-out infinite;box-shadow:0 0 10px rgba(85,182,255,.55) !important}
.industry-visual.projects:after{
  inset:0 auto 0 -30px !important;
  width:22px !important;
  height:100% !important;
  border-radius:0 !important;
  background:linear-gradient(90deg,transparent,rgba(110,190,255,.34),transparent) !important;
  box-shadow:none !important;
  animation:nvSweep 3.6s linear infinite;
}
.industry-visual.security:after{
  left:8px !important;
  right:auto !important;
  top:50% !important;
  bottom:auto !important;
  width:24px !important;
  height:1px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,transparent,#7dbbff,transparent) !important;
  box-shadow:0 0 8px rgba(85,182,255,.65) !important;
  animation:nvSweep 2.5s linear infinite;
}
.industry-visual.smartbuilding:after{animation:nvPacketDown 2.5s linear infinite}

@media(max-width:980px){
  .industry-card h3,.industry-card .tag{max-width:calc(100% - 50px)}
  .industry-card p{font-size:15px}
  .industry-visual{width:38px !important;height:38px !important;opacity:.78 !important;right:14px !important;top:14px !important}
  .industry-visual:before{background-size:24px 24px !important}
  .industry-visual.robotics:before{background-size:29px 29px !important}
  .industry-visual:after{display:block !important}
}

/* === NETVALEN animated main-page logo treatment === */
@keyframes nvHeroLogoDrift{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-3px) scale(1.015)}}
@keyframes nvHeroAura{0%,100%{opacity:.55;transform:scale(.96)}50%{opacity:.95;transform:scale(1.04)}}
.hero-logo{position:relative;overflow:hidden}
.hero-logo:before{content:"";position:absolute;width:360px;height:220px;border-radius:50%;background:radial-gradient(circle,rgba(85,182,255,.20),transparent 68%);animation:nvHeroAura 4.8s ease-in-out infinite;pointer-events:none}
.hero-logo img{position:relative;z-index:1;animation:nvHeroLogoDrift 5s ease-in-out infinite;filter:drop-shadow(0 0 18px rgba(85,182,255,.22))}
@media (prefers-reduced-motion: reduce){.hero-logo:before,.hero-logo img{animation:none!important}}


/* === NETVALEN animated Engineering Services icons === */
@keyframes nvServiceFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
@keyframes nvServicePulse{0%,100%{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1.06)}}
@keyframes nvServiceFlow{0%{transform:translateX(-18px);opacity:0}18%{opacity:1}78%{opacity:1}100%{transform:translateX(18px);opacity:0}}
@keyframes nvServiceScan{0%{transform:translateX(-42px);opacity:0}35%{opacity:.9}100%{transform:translateX(42px);opacity:0}}
@keyframes nvServiceRobot{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(7deg)}}
.service-card{position:relative;overflow:hidden;min-height:300px;padding:28px 30px 30px 26px}
.service-card .tag,.service-card h3,.service-card p,.service-card .chips{position:relative;z-index:2}
.service-card .tag{max-width:calc(100% - 64px)}
.service-card h3{max-width:calc(100% - 78px);line-height:1.13;margin-top:12px}
.service-card p{font-size:16px;line-height:1.58}
.service-visual{position:absolute;right:20px;top:20px;width:48px;height:48px;border-radius:15px;border:1px solid rgba(85,182,255,.24);background:radial-gradient(circle at 35% 26%,rgba(85,182,255,.28),transparent 36%),linear-gradient(145deg,rgba(47,124,255,.13),rgba(6,12,24,.62));box-shadow:0 8px 20px rgba(47,124,255,.12),inset 0 0 0 1px rgba(255,255,255,.04);opacity:.94;z-index:1;overflow:hidden}
.service-visual:before,.service-visual:after{content:"";position:absolute;inset:0;background-repeat:no-repeat;background-position:center;background-size:31px 31px;filter:drop-shadow(0 0 5px rgba(85,182,255,.34))}
.service-visual:after{inset:auto 8px 7px auto;width:5px;height:5px;border-radius:50%;background:rgba(110,190,255,.85);box-shadow:-10px 0 0 rgba(85,182,255,.48),-20px 0 0 rgba(85,182,255,.24);animation:nvServiceFlow 2.7s linear infinite}
.service-card:hover .service-visual:before{animation:nvServiceFloat 2.4s ease-in-out infinite}
.service-architecture:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23e6f0ff' stroke-width='4.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='12' y='14' width='22' height='18' rx='4'/%3E%3Crect x='46' y='14' width='22' height='18' rx='4'/%3E%3Crect x='29' y='48' width='22' height='18' rx='4'/%3E%3Cpath d='M34 23h12M23 32l10 16M57 32L47 48'/%3E%3Cpath d='M40 37v11'/%3E%3C/g%3E%3C/svg%3E")}
.service-networks:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23e6f0ff' stroke-width='4.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='14' y='18' width='52' height='16' rx='4'/%3E%3Crect x='14' y='46' width='52' height='16' rx='4'/%3E%3Cpath d='M24 34v12M40 34v12M56 34v12'/%3E%3Cpath d='M24 26h.1M36 26h.1M48 26h.1M24 54h.1M36 54h.1M48 54h.1'/%3E%3C/g%3E%3C/svg%3E")}
.service-security:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23e6f0ff' stroke-width='4.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 40s9-16 24-16 24 16 24 16-9 16-24 16-24-16-24-16z'/%3E%3Ccircle cx='40' cy='40' r='7'/%3E%3Cpath d='M40 12v6M40 62v6M12 40h6M62 40h6'/%3E%3C/g%3E%3C/svg%3E")}
.service-infrastructure:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23e6f0ff' stroke-width='4.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='18' y='12' width='44' height='56' rx='5'/%3E%3Cpath d='M28 24h24M28 36h24M28 48h24M28 60h24'/%3E%3Cpath d='M22 24h.1M22 36h.1M22 48h.1M22 60h.1'/%3E%3C/g%3E%3C/svg%3E")}
.service-automation:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23e6f0ff' stroke-width='4.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 64h24'/%3E%3Cpath d='M18 64V52h14v12'/%3E%3Ccircle cx='25' cy='47' r='7'/%3E%3Cpath d='M30 43l15-18'/%3E%3Ccircle cx='48' cy='22' r='7'/%3E%3Cpath d='M53 25l13 10'/%3E%3Ccircle cx='68' cy='37' r='5'/%3E%3Cpath d='M70 42l5 7'/%3E%3Cpath d='M73 35l5-5'/%3E%3C/g%3E%3Cg fill='%237dbbff'%3E%3Ccircle cx='25' cy='47' r='2.4'/%3E%3Ccircle cx='48' cy='22' r='2.4'/%3E%3Ccircle cx='68' cy='37' r='2.1'/%3E%3C/g%3E%3C/svg%3E");background-size:35px 35px;animation:nvServiceRobot 3.8s ease-in-out infinite;transform-origin:50% 58%}
.service-data:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 80 80'%3E%3Cg fill='none' stroke='%23e6f0ff' stroke-width='4.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 24h18l8 12h22'/%3E%3Cpath d='M16 40h48'/%3E%3Cpath d='M16 56h18l8-12h22'/%3E%3Ccircle cx='16' cy='24' r='4'/%3E%3Ccircle cx='16' cy='40' r='4'/%3E%3Ccircle cx='16' cy='56' r='4'/%3E%3Ccircle cx='64' cy='36' r='4'/%3E%3Ccircle cx='64' cy='44' r='4'/%3E%3C/g%3E%3C/svg%3E")}
.service-security:after{left:8px;right:auto;top:50%;bottom:auto;width:30px;height:1px;border-radius:999px;background:linear-gradient(90deg,transparent,#7dbbff,transparent);box-shadow:0 0 8px rgba(85,182,255,.65);animation:nvServiceScan 2.6s linear infinite}
.service-automation:after{animation:nvServicePulse 1.35s ease-in-out infinite;box-shadow:0 0 10px rgba(85,182,255,.72)}
.service-infrastructure:after,.service-data:after,.service-networks:after,.service-architecture:after{animation:nvServiceFlow 2.4s linear infinite}
@media(max-width:980px){.service-card h3,.service-card .tag{max-width:calc(100% - 58px)}.service-visual{width:42px;height:42px;right:16px;top:16px}.service-visual:before{background-size:27px 27px}.service-automation:before{background-size:31px 31px}}

/* === NETVALEN animated diagram lines and arrows === */
@keyframes nvDiagramFlowForward{
  0%{stroke-dashoffset:0;filter:drop-shadow(0 0 0 rgba(85,182,255,0))}
  45%{filter:drop-shadow(0 0 5px rgba(85,182,255,.50))}
  100%{stroke-dashoffset:-84;filter:drop-shadow(0 0 0 rgba(85,182,255,0))}
}
@keyframes nvDiagramDashForward{
  0%{stroke-dashoffset:0;opacity:.74}
  50%{opacity:1;filter:drop-shadow(0 0 5px rgba(85,182,255,.42))}
  100%{stroke-dashoffset:-72;opacity:.74}
}
@keyframes nvDiagramGreenForward{
  0%{stroke-dashoffset:0;opacity:.78}
  50%{opacity:1;filter:drop-shadow(0 0 5px rgba(55,208,131,.46))}
  100%{stroke-dashoffset:-72;opacity:.78}
}
@keyframes nvDiagramArrowPulse{
  0%,100%{opacity:.82;filter:drop-shadow(0 0 0 rgba(85,182,255,0))}
  50%{opacity:1;filter:drop-shadow(0 0 5px rgba(85,182,255,.75))}
}
@keyframes nvDiagramZoneBreath{
  0%,100%{filter:drop-shadow(0 0 0 rgba(85,182,255,0))}
  50%{filter:drop-shadow(0 0 3px rgba(85,182,255,.18))}
}

.engineering-canvas svg .flow{
  stroke-dasharray:18 10;
  animation:nvDiagramFlowForward 2.8s linear infinite;
  stroke-linecap:round;
}
.engineering-canvas svg .thinflow{
  stroke-dasharray:14 11;
  animation:nvDiagramFlowForward 3.4s linear infinite;
  stroke-linecap:round;
  opacity:.92;
}
.engineering-canvas svg .dashflow{
  stroke-dasharray:9 10;
  animation:nvDiagramDashForward 3.6s linear infinite;
  stroke-linecap:round;
}
.engineering-canvas svg .greenflow{
  stroke-dasharray:14 10;
  animation:nvDiagramGreenForward 3.2s linear infinite;
  stroke-linecap:round;
}
.engineering-canvas svg marker path{
  animation:nvDiagramArrowPulse 1.9s ease-in-out infinite;
}
.engineering-canvas svg .firewall,
.engineering-canvas svg .equip-blue{
  animation:nvDiagramZoneBreath 4.8s ease-in-out infinite;
}
.diagram-card:hover .engineering-canvas svg .flow,
.diagram-card:hover .engineering-canvas svg .thinflow,
.diagram-card:hover .engineering-canvas svg .dashflow,
.diagram-card:hover .engineering-canvas svg .greenflow{
  animation-duration:1.65s;
}
@media (prefers-reduced-motion: reduce){
  .engineering-canvas svg .flow,
  .engineering-canvas svg .thinflow,
  .engineering-canvas svg .dashflow,
  .engineering-canvas svg .greenflow,
  .engineering-canvas svg marker path,
  .engineering-canvas svg .firewall,
  .engineering-canvas svg .equip-blue{
    animation:none!important;
  }
}


/* === FINAL INSPECTED DIAGRAM POLISH: smaller arrows, cleaner flow, lower visual obstruction === */
.engineering-canvas svg .flow{stroke-width:2.45!important;stroke-dasharray:16 14!important;opacity:.88!important;stroke-linecap:round!important;}
.engineering-canvas svg .thinflow{stroke-width:1.75!important;stroke-dasharray:12 12!important;opacity:.74!important;stroke-linecap:round!important;}
.engineering-canvas svg .dashflow{stroke-width:1.85!important;stroke-dasharray:7 10!important;opacity:.70!important;stroke-linecap:round!important;}
.engineering-canvas svg .greenflow{stroke-width:1.9!important;stroke-dasharray:12 11!important;opacity:.78!important;stroke-linecap:round!important;}
.engineering-canvas svg marker path{animation:nvDiagramArrowPulse 2.4s ease-in-out infinite;opacity:.86;}
.engineering-canvas svg .box-label,.engineering-canvas svg .white-label,.engineering-canvas svg .box-small,.engineering-canvas svg .zone-title,.engineering-canvas svg .foot-label{paint-order:stroke;stroke:#07111f;stroke-width:3px;stroke-linejoin:round;}
.engineering-canvas svg .svg-title{paint-order:stroke;stroke:#07111f;stroke-width:4px;stroke-linejoin:round;}
.engineering-canvas{padding:20px!important;}
.diagram-card:hover .engineering-canvas svg .flow,
.diagram-card:hover .engineering-canvas svg .thinflow,
.diagram-card:hover .engineering-canvas svg .dashflow,
.diagram-card:hover .engineering-canvas svg .greenflow{animation-duration:2.05s!important;opacity:.94!important;}
.hero-logo img{animation:nvHeroLogoDrift 5s ease-in-out infinite!important;filter:drop-shadow(0 0 18px rgba(85,182,255,.22))!important;}


/* === DEEP REINSPECTION POLISH: smaller non-obstructive arrows + clearer labels === */
.engineering-canvas svg .flow{stroke-width:2.1!important;stroke-dasharray:15 16!important;opacity:.78!important;}
.engineering-canvas svg .thinflow{stroke-width:1.55!important;stroke-dasharray:10 13!important;opacity:.58!important;}
.engineering-canvas svg .dashflow{stroke-width:1.6!important;stroke-dasharray:6 11!important;opacity:.56!important;}
.engineering-canvas svg .greenflow{stroke-width:1.65!important;stroke-dasharray:10 12!important;opacity:.68!important;}
.engineering-canvas svg marker path{opacity:.72!important;filter:drop-shadow(0 0 2px rgba(85,182,255,.35))!important;}
.engineering-canvas svg .box-label,.engineering-canvas svg .white-label,.engineering-canvas svg .white-small,.engineering-canvas svg .box-small,.engineering-canvas svg .zone-title,.engineering-canvas svg .foot-label{paint-order:stroke!important;stroke:#07111f!important;stroke-width:4px!important;stroke-linejoin:round!important;}
.engineering-canvas svg .svg-title{paint-order:stroke!important;stroke:#07111f!important;stroke-width:5px!important;stroke-linejoin:round!important;}
.engineering-canvas svg .equip-dark{fill:#07101e!important;stroke:#334a69!important;}
.hero-logo img{animation:nvHeroLogoDrift 5s ease-in-out infinite!important;filter:drop-shadow(0 0 18px rgba(85,182,255,.22))!important;}
.hero-logo:before{animation:nvHeroAura 4.8s ease-in-out infinite!important;}


/* === Universal NETVALEN light/dark theme toggle === */
.theme-toggle{
  width:52px;height:42px;display:inline-flex;align-items:center;justify-content:center;
  border:1px solid rgba(85,182,255,.36);border-radius:14px;
  background:radial-gradient(circle at 45% 28%,rgba(85,182,255,.20),rgba(8,16,28,.72));
  box-shadow:0 10px 24px rgba(47,124,255,.14), inset 0 0 0 1px rgba(255,255,255,.035);
  cursor:pointer;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease;
  margin-left:2px;overflow:hidden;flex:0 0 auto;
}
.theme-toggle:hover{transform:translateY(-1px);border-color:rgba(126,189,255,.7);box-shadow:0 14px 30px rgba(47,124,255,.22), inset 0 0 0 1px rgba(255,255,255,.055)}
.theme-toggle img{width:34px;height:24px;object-fit:contain;animation:nvThemeLogoPulse 3.6s ease-in-out infinite;filter:drop-shadow(0 0 6px rgba(85,182,255,.55))}
@keyframes nvThemeLogoPulse{0%,100%{transform:scale(.96);opacity:.85}50%{transform:scale(1.08);opacity:1}}

body.light-mode{
  --bg:#f6f9ff;--bg2:#edf4ff;--panel:#ffffff;--panel2:#f2f7ff;--line:#c9d8ee;--line2:#9db5d5;
  --text:#0b1422;--muted:#42546d;--blue:#235ee8;--blue2:#1173d7;--silver:#1c2b42;--green:#168451;
  background:radial-gradient(900px 420px at 70% -10%,rgba(47,124,255,.13),transparent 60%),linear-gradient(180deg,#ffffff 0%,#f3f7ff 48%,#ffffff 100%);
  color:var(--text);
}
body.light-mode header{background:rgba(255,255,255,.88);border-bottom:1px solid rgba(157,181,213,.55)}
body.light-mode .brand .name, body.light-mode .navlinks a.active, body.light-mode .navlinks a:hover{color:#07111f}
body.light-mode .brand .sub{color:#235ee8}
body.light-mode .navlinks a{color:#26374f}
body.light-mode .navlinks a:hover,body.light-mode .navlinks a.active{background:rgba(47,124,255,.10)}
body.light-mode .btn-ghost{background:rgba(255,255,255,.72);color:#14305c;border-color:#8ab2ff}
body.light-mode .btn-primary{box-shadow:0 16px 36px rgba(47,124,255,.20)}
body.light-mode .card, body.light-mode .hero-card, body.light-mode .logo-tile, body.light-mode .mobile-panel a{
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(244,248,255,.96));
  box-shadow:0 18px 50px rgba(37,64,110,.12);
}
body.light-mode .caption{background:rgba(255,255,255,.72);border-top-color:#c9d8ee}
body.light-mode .lead,body.light-mode .section-head p,body.light-mode .page-hero p,body.light-mode .card p,body.light-mode .diagram-caption p{color:#42546d}
body.light-mode .kicker,body.light-mode .tag{background:rgba(47,124,255,.08);color:#145fba;border-color:rgba(47,124,255,.24)}
body.light-mode .pill,body.light-mode .chip{background:rgba(255,255,255,.76);color:#24415f;border-color:#c9d8ee}
body.light-mode .engineering-canvas{
  background-color:#f7fbff;
  background-image:linear-gradient(rgba(65,95,145,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(65,95,145,.14) 1px,transparent 1px),linear-gradient(rgba(65,95,145,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(65,95,145,.06) 1px,transparent 1px);
}
body.light-mode .svg-title,body.light-mode .zone-title,body.light-mode .box-label{fill:#0b1422}
body.light-mode .box-small,body.light-mode .foot-label{fill:#4c617b}
body.light-mode .white-label{fill:#ffffff} body.light-mode .white-small{fill:#eaf2ff}
body.light-mode .zone{fill:rgba(255,255,255,.62);stroke:#6f87aa}
body.light-mode .equip, body.light-mode .equip-dark{fill:#ffffff;stroke:#7891b6}
body.light-mode .hero-logo{background:radial-gradient(280px 180px at 50% 30%,rgba(47,124,255,.14),transparent 70%)}
body.light-mode .theme-toggle{background:radial-gradient(circle at 45% 28%,rgba(15,35,74,.14),rgba(255,255,255,.86));border-color:#b6c8e4}
body.light-mode .theme-toggle img{filter:brightness(.25) saturate(1.2) drop-shadow(0 0 4px rgba(35,94,232,.25))}
body.light-mode .brand img{filter:brightness(.55) saturate(1.15)}
@media(max-width:980px){.theme-toggle{width:46px;height:38px}.theme-toggle img{width:30px;height:22px}}

/* === Final light-mode inspection fixes: logo contrast + diagram readability === */
body.light-mode .hero-logo img,
body.light-mode .brand img,
body.light-mode .brand-footer img,
body.light-mode .theme-toggle img{
  filter:drop-shadow(0 0 10px rgba(47,124,255,.18)) !important;
}
body.light-mode .hero-logo:before{
  background:radial-gradient(circle,rgba(47,124,255,.10),transparent 70%) !important;
}
body.light-mode .hero-logo{
  background:radial-gradient(280px 180px at 50% 30%,rgba(47,124,255,.08),transparent 72%) !important;
}

body.light-mode .engineering-canvas{
  background-color:#f8fbff !important;
  background-image:
    linear-gradient(rgba(57,89,138,.16) 1px,transparent 1px),
    linear-gradient(90deg,rgba(57,89,138,.16) 1px,transparent 1px),
    linear-gradient(rgba(57,89,138,.065) 1px,transparent 1px),
    linear-gradient(90deg,rgba(57,89,138,.065) 1px,transparent 1px) !important;
}
body.light-mode .engineering-canvas svg .svg-title,
body.light-mode .engineering-canvas svg .zone-title,
body.light-mode .engineering-canvas svg .box-label{
  fill:#07111f !important;
  paint-order:stroke !important;
  stroke:rgba(255,255,255,.92) !important;
  stroke-width:3.4px !important;
  stroke-linejoin:round !important;
}
body.light-mode .engineering-canvas svg .box-small,
body.light-mode .engineering-canvas svg .foot-label{
  fill:#2e4666 !important;
  paint-order:stroke !important;
  stroke:rgba(255,255,255,.92) !important;
  stroke-width:3px !important;
  stroke-linejoin:round !important;
}
body.light-mode .engineering-canvas svg .white-label,
body.light-mode .engineering-canvas svg .white-small{
  fill:#fff !important;
  paint-order:stroke !important;
  stroke:#10213c !important;
  stroke-width:2.5px !important;
  stroke-linejoin:round !important;
}
body.light-mode .engineering-canvas svg .zone{
  fill:rgba(255,255,255,.70) !important;
  stroke-width:2.1px !important;
}
body.light-mode .engineering-canvas svg .equip,
body.light-mode .engineering-canvas svg .equip-dark{
  fill:#ffffff !important;
  stroke:#7891b6 !important;
  stroke-width:2px !important;
}
body.light-mode .engineering-canvas svg .equip-blue,
body.light-mode .engineering-canvas svg .firewall{
  fill:#355bdc !important;
  stroke:#6e9aff !important;
}
body.light-mode .engineering-canvas svg .flow,
body.light-mode .engineering-canvas svg .thinflow{
  stroke:#2f6ff2 !important;
  opacity:.66 !important;
  stroke-width:1.9px !important;
}
body.light-mode .engineering-canvas svg .dashflow{
  stroke:#2f7cff !important;
  opacity:.46 !important;
  stroke-width:1.55px !important;
}
body.light-mode .engineering-canvas svg .greenflow{
  stroke:#168451 !important;
  opacity:.62 !important;
  stroke-width:1.6px !important;
}
body.light-mode .engineering-canvas svg marker path{
  fill:#2f6ff2 !important;
  opacity:.62 !important;
  filter:none !important;
}


/* === NETVALEN final QA fixes: default dark, light contrast, fitted diagram titles === */
.svg-title{font:900 17.5px Inter,Arial!important;letter-spacing:.01em!important;}
.zone-title{font:900 14.2px Inter,Arial!important;letter-spacing:.005em!important;}
.box-label{font:850 12.4px Inter,Arial!important;}
.box-small{font:760 9.8px Inter,Arial!important;}
.white-label{font:900 12.8px Inter,Arial!important;}
.white-small{font:760 10.3px Inter,Arial!important;}
.zone-title tspan{dominant-baseline:auto;}
.engineering-canvas svg{overflow:visible;}

/* Keep Passive OT banner readable in light mode */
body.light-mode .cyber-band{
  background:radial-gradient(800px 360px at 20% 0%,rgba(47,124,255,.34),transparent 65%),linear-gradient(135deg,#081426,#10325f)!important;
  border-color:#2d66b5!important;
  box-shadow:0 22px 70px rgba(37,64,110,.18)!important;
}
body.light-mode .cyber-band h2{color:#f4f8ff!important;}
body.light-mode .cyber-band p{color:#c7d8f0!important;}
body.light-mode .cyber-band .tag{color:#9fd0ff!important;background:rgba(47,124,255,.16)!important;border-color:rgba(143,198,255,.40)!important;}
body.light-mode .cyber-band .btn-ghost{background:#f4f8ff!important;color:#10284a!important;border-color:#c9d8ee!important;}

/* Light mode logo contrast: use the dedicated dark-on-light SVG without dimming */
body.light-mode .hero-logo img,
body.light-mode .brand img,
body.light-mode .brand-footer img,
body.light-mode .theme-toggle img{
  opacity:1!important;
  filter:drop-shadow(0 0 8px rgba(35,94,232,.20))!important;
}
body.light-mode .hero-logo:before{opacity:.72!important;}

/* Light diagram labels: reduce halo thickness so wording stays sharp */
body.light-mode .engineering-canvas svg .svg-title,
body.light-mode .engineering-canvas svg .zone-title,
body.light-mode .engineering-canvas svg .box-label{
  stroke:rgba(255,255,255,.86)!important;
  stroke-width:2.4px!important;
}
body.light-mode .engineering-canvas svg .box-small,
body.light-mode .engineering-canvas svg .foot-label{
  stroke:rgba(255,255,255,.86)!important;
  stroke-width:2px!important;
}
body.light-mode .engineering-canvas svg .flow{stroke-width:1.7px!important;opacity:.55!important;}
body.light-mode .engineering-canvas svg .thinflow{stroke-width:1.35px!important;opacity:.46!important;}
body.light-mode .engineering-canvas svg .dashflow{stroke-width:1.35px!important;opacity:.38!important;}

/* Extra class for narrow zone headers */
.zone-title.narrow{font-size:13px!important;}
.zone-title.wide{font-size:13.2px!important;}


/* === NETVALEN engineering diagram QA update: real network specs, smaller arrows, clean fit === */
.engineering-canvas svg .flow{stroke-width:1.95px!important;stroke-dasharray:14 16!important;opacity:.74!important;stroke-linecap:round!important;animation:nvDiagramFlowForward 3.4s linear infinite!important;}
.engineering-canvas svg .thinflow{stroke-width:1.45px!important;stroke-dasharray:9 13!important;opacity:.55!important;stroke-linecap:round!important;animation:nvDiagramFlowForward 4.1s linear infinite!important;}
.engineering-canvas svg .dashflow{stroke-width:1.45px!important;stroke-dasharray:6 12!important;opacity:.48!important;stroke-linecap:round!important;animation:nvDiagramDashForward 4.4s linear infinite!important;}
.engineering-canvas svg .greenflow{stroke-width:1.6px!important;stroke-dasharray:10 12!important;opacity:.65!important;stroke-linecap:round!important;animation:nvDiagramGreenForward 3.8s linear infinite!important;}
.engineering-canvas svg marker path{transform:scale(.78);transform-origin:center;opacity:.68!important;filter:drop-shadow(0 0 1px rgba(85,182,255,.25))!important;}
.engineering-canvas svg .svg-title{font:900 17px Inter,Arial!important;paint-order:stroke!important;stroke:#07111f!important;stroke-width:5px!important;stroke-linejoin:round!important;}
.engineering-canvas svg .zone-title{font:900 13.8px Inter,Arial!important;paint-order:stroke!important;stroke:#07111f!important;stroke-width:4px!important;stroke-linejoin:round!important;}
.engineering-canvas svg .box-label{font:850 12px Inter,Arial!important;paint-order:stroke!important;stroke:#07111f!important;stroke-width:3.6px!important;stroke-linejoin:round!important;}
.engineering-canvas svg .box-small{font:760 9.3px Inter,Arial!important;paint-order:stroke!important;stroke:#07111f!important;stroke-width:3.2px!important;stroke-linejoin:round!important;}
.engineering-canvas svg .foot-label{font:760 10.2px Inter,Arial!important;paint-order:stroke!important;stroke:#07111f!important;stroke-width:4px!important;stroke-linejoin:round!important;}
.engineering-canvas svg .white-label{font:900 12.4px Inter,Arial!important;paint-order:stroke!important;stroke:#10213c!important;stroke-width:2.4px!important;stroke-linejoin:round!important;}
.engineering-canvas svg .white-small{font:760 10px Inter,Arial!important;paint-order:stroke!important;stroke:#10213c!important;stroke-width:2.2px!important;stroke-linejoin:round!important;}
body.light-mode .engineering-canvas svg marker path{fill:#2f6ff2!important;opacity:.58!important;filter:none!important;}
body.light-mode .engineering-canvas svg .flow{stroke:#245fe8!important;opacity:.60!important;}
body.light-mode .engineering-canvas svg .thinflow{stroke:#245fe8!important;opacity:.43!important;}
body.light-mode .engineering-canvas svg .dashflow{stroke:#1173d7!important;opacity:.38!important;}
body.light-mode .engineering-canvas svg .greenflow{stroke:#168451!important;opacity:.54!important;}
body.light-mode .engineering-canvas svg .svg-title,body.light-mode .engineering-canvas svg .zone-title,body.light-mode .engineering-canvas svg .box-label,body.light-mode .engineering-canvas svg .box-small,body.light-mode .engineering-canvas svg .foot-label{stroke:rgba(255,255,255,.94)!important;}

/* === NETVALEN Contact Portal + Enterprise Footer Update === */
.contact-grid{align-items:stretch}.contact-direct,.portal-card{min-height:560px}.contact-direct{display:flex;flex-direction:column}.contact-direct .hero-actions{margin-bottom:26px}.contact-trust{margin-top:32px;border-top:1px solid var(--line);padding-top:24px;display:grid;gap:22px}.contact-trust div{display:grid;grid-template-columns:44px 1fr;column-gap:12px;align-items:start}.contact-trust strong{color:#eef5ff;font-size:1rem}.contact-trust p{grid-column:2;margin:4px 0 0!important;line-height:1.55}.trust-icon{width:38px;height:38px;border-radius:14px;display:grid;place-items:center;border:1px solid rgba(47,124,255,.42);background:rgba(47,124,255,.10);color:#8fc6ff;font-weight:900}.portal-card h3{font-size:30px;margin-top:12px}.portal-lead{font-size:1.05rem;line-height:1.65}.portal-email{margin:22px 0;padding:18px;border:1px solid rgba(47,124,255,.35);border-radius:16px;background:rgba(47,124,255,.08)}.portal-email span{display:block;color:#9fb0c8;font-size:.92rem;margin-bottom:5px}.portal-email a{font-size:1.35rem;font-weight:900;color:#fff}.info-list{margin-top:18px}.info-list h4{margin:0 0 10px;color:#8fc6ff;font-size:1rem}.info-list ul{margin:0;padding-left:20px;color:#c6d3e6;line-height:1.8}.portal-note{margin-top:22px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.045);border:1px solid var(--line);color:#a9bad2;font-size:.92rem}.legal-card{max-width:900px}.legal-card p{margin-top:12px;line-height:1.75}.site-footer{border-top:1px solid var(--line);padding:42px 0 24px;background:radial-gradient(800px 260px at 15% 0%,rgba(47,124,255,.10),transparent 65%),#050913}.footer-enterprise{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px;align-items:start}.footer-about p{color:#a9bad2;line-height:1.65;margin:16px 0 16px;max-width:420px}.footer-email{font-weight:850;color:#dbeafe}.footer-col{display:flex;flex-direction:column;gap:11px}.footer-col h4{margin:0 0 6px;color:#4f8fe8;font-size:1.12rem}.footer-col a{color:#aebbd0;font-weight:700}.footer-col a:hover,.footer-email:hover{color:#fff}.footer-bottom{margin-top:34px;padding-top:20px;border-top:1px solid rgba(47,124,255,.32);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:#9fb0c8;font-size:.95rem}body.light-mode .site-footer{background:linear-gradient(180deg,#f4f8ff,#e8effa)!important}body.light-mode .footer-about p,body.light-mode .footer-bottom,body.light-mode .footer-col a,body.light-mode .portal-note{color:#42546d!important}body.light-mode .contact-trust strong,body.light-mode .portal-email a{color:#10213c!important}body.light-mode .portal-email{background:#eef5ff!important;border-color:#bed3f2!important}body.light-mode .trust-icon{background:#eef5ff!important}.form{display:block}
@media(max-width:980px){.contact-direct,.portal-card{min-height:auto}.footer-enterprise{grid-template-columns:1fr 1fr}.footer-bottom{display:block}.footer-bottom span{display:block;margin-top:8px}}
@media(max-width:640px){.footer-enterprise{grid-template-columns:1fr}.contact-trust div{grid-template-columns:38px 1fr}.portal-email a{font-size:1.1rem}}

.notice-card{margin-top:22px;padding:16px 18px;border:1px solid rgba(91,140,255,.28);background:linear-gradient(135deg,rgba(91,140,255,.12),rgba(12,21,38,.58));border-radius:18px;color:var(--muted);max-width:900px;line-height:1.65;box-shadow:0 18px 48px rgba(0,0,0,.18);}
.notice-card strong{color:var(--text);}

/* === NETVALEN Light Mode Final Contrast Patch ===
   Keeps existing layout/content exactly the same; only improves readability in light mode. */
body.light-mode,
body.light-mode main,
body.light-mode section{
  color:#0b1422 !important;
}
body.light-mode h1,
body.light-mode h2,
body.light-mode h3,
body.light-mode h4,
body.light-mode h5,
body.light-mode .h1,
body.light-mode .brand .name,
body.light-mode .brand-footer span,
body.light-mode .card h3,
body.light-mode .page-hero h1,
body.light-mode .section-head h2{
  color:#07111f !important;
}
body.light-mode p,
body.light-mode li,
body.light-mode .lead,
body.light-mode .small,
body.light-mode .card p,
body.light-mode .page-hero p,
body.light-mode .section-head p,
body.light-mode .diagram-caption p,
body.light-mode .portal-lead,
body.light-mode .legal-card p,
body.light-mode .footer-about p,
body.light-mode .footer-bottom{
  color:#344761 !important;
}
body.light-mode a:not(.btn):not(.brand),
body.light-mode .footer-email{
  color:#174ea6 !important;
}
body.light-mode a:not(.btn):not(.brand):hover,
body.light-mode .footer-col a:hover,
body.light-mode .footer-email:hover{
  color:#0b2f6b !important;
}
body.light-mode .navlinks a,
body.light-mode .mobile-panel a{
  color:#1d2f49 !important;
}
body.light-mode .navlinks a:hover,
body.light-mode .navlinks a.active,
body.light-mode .mobile-panel a:hover,
body.light-mode .mobile-panel a.active{
  color:#07111f !important;
  background:rgba(47,124,255,.10) !important;
}
body.light-mode header{
  background:rgba(255,255,255,.92) !important;
  border-bottom-color:#c8d7ed !important;
}
body.light-mode .card,
body.light-mode .hero-card,
body.light-mode .form,
body.light-mode .contact-direct,
body.light-mode .portal-card,
body.light-mode .legal-card,
body.light-mode .mobile-panel a,
body.light-mode .logo-tile{
  background:linear-gradient(180deg,#ffffff 0%,#f4f8ff 100%) !important;
  border-color:#c4d3ea !important;
  box-shadow:0 18px 50px rgba(37,64,110,.12) !important;
}
body.light-mode .cyber-band{
  background:radial-gradient(800px 360px at 20% 0%,rgba(47,124,255,.12),transparent 65%),linear-gradient(135deg,#ffffff,#edf5ff) !important;
  border-color:#b8d1f7 !important;
}
body.light-mode .kicker,
body.light-mode .tag,
body.light-mode .chip,
body.light-mode .pill{
  background:#eef5ff !important;
  border-color:#b9d1f4 !important;
  color:#143e82 !important;
}
body.light-mode .num,
body.light-mode .trust-icon{
  background:#eef5ff !important;
  border-color:#98bcf2 !important;
  color:#174ea6 !important;
}
body.light-mode .caption,
body.light-mode .portal-note,
body.light-mode .portal-email{
  background:#eef5ff !important;
  border-color:#bed3f2 !important;
  color:#344761 !important;
}
body.light-mode .portal-email span,
body.light-mode .info-list ul{
  color:#344761 !important;
}
body.light-mode .portal-email a,
body.light-mode .contact-trust strong,
body.light-mode label,
body.light-mode .info-list h4{
  color:#10213c !important;
}
body.light-mode input,
body.light-mode textarea,
body.light-mode select,
body.light-mode .request-select,
html[data-theme="light"] .request-select{
  background:#ffffff !important;
  color:#07111f !important;
  border-color:#b8c7e8 !important;
}
body.light-mode input::placeholder,
body.light-mode textarea::placeholder{
  color:#667995 !important;
}
body.light-mode .site-footer,
body.light-mode footer{
  background:linear-gradient(180deg,#f4f8ff,#e9f1fb) !important;
  border-top-color:#c4d3ea !important;
}
body.light-mode .footer-col h4{
  color:#174ea6 !important;
}
body.light-mode .footer-col a{
  color:#344761 !important;
}
body.light-mode .btn-ghost{
  background:#ffffff !important;
  color:#123a78 !important;
  border-color:#8ab2ff !important;
}
body.light-mode .btn-primary{
  color:#ffffff !important;
}
body.light-mode .hero-logo,
body.light-mode .service-visual,
body.light-mode .industry-visual{
  background:radial-gradient(circle at 35% 28%,rgba(47,124,255,.16),transparent 36%),linear-gradient(145deg,rgba(47,124,255,.08),rgba(255,255,255,.82)) !important;
  border-color:#b8d1f7 !important;
}
body.light-mode .theme-toggle{
  background:linear-gradient(145deg,#ffffff,#eef5ff) !important;
  border-color:#b6c8e4 !important;
}
body.light-mode .brand img,
body.light-mode .brand-footer img,
body.light-mode .hero-logo img,
body.light-mode .theme-toggle img{
  filter:none !important;
}
body.light-mode .engineering-canvas{
  background-color:#f8fbff !important;
  border-color:#c4d3ea !important;
}
body.light-mode .engineering-canvas svg .svg-title,
body.light-mode .engineering-canvas svg .zone-title,
body.light-mode .engineering-canvas svg .box-label{
  fill:#07111f !important;
  stroke:rgba(255,255,255,.96) !important;
  stroke-width:3.8px !important;
  paint-order:stroke !important;
  stroke-linejoin:round !important;
}
body.light-mode .engineering-canvas svg .box-small,
body.light-mode .engineering-canvas svg .foot-label{
  fill:#2e4666 !important;
  stroke:rgba(255,255,255,.96) !important;
  stroke-width:3.2px !important;
  paint-order:stroke !important;
  stroke-linejoin:round !important;
}
body.light-mode .engineering-canvas svg .white-label,
body.light-mode .engineering-canvas svg .white-small{
  fill:#ffffff !important;
  stroke:#10213c !important;
  stroke-width:2.6px !important;
  paint-order:stroke !important;
  stroke-linejoin:round !important;
}
body.light-mode .engineering-canvas svg .zone{
  fill:rgba(255,255,255,.72) !important;
  stroke:#6f87aa !important;
}
body.light-mode .engineering-canvas svg .equip,
body.light-mode .engineering-canvas svg .equip-dark{
  fill:#ffffff !important;
  stroke:#7891b6 !important;
}
body.light-mode .engineering-canvas svg .equip-blue,
body.light-mode .engineering-canvas svg .firewall{
  fill:#3159d8 !important;
  stroke:#6e9aff !important;
}


/* NETVALEN Labs additions */
.footer-legal-note{font-size:11px;color:var(--muted);border-top:1px solid rgba(52,80,111,.35);padding:14px 28px 22px;line-height:1.5}
.labs-grid{display:grid;grid-template-columns:1.02fr .98fr;gap:34px;align-items:center}
.labs-device-card{position:relative;min-height:410px;border:1px solid var(--line);border-radius:26px;overflow:hidden;background:radial-gradient(360px 260px at 50% 45%,rgba(47,124,255,.30),transparent 70%),linear-gradient(180deg,rgba(14,26,43,.92),rgba(5,9,19,.95));box-shadow:var(--shadow)}
.blueprint-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(85,182,255,.09) 1px, transparent 1px),linear-gradient(90deg,rgba(85,182,255,.09) 1px, transparent 1px);background-size:28px 28px;mask-image:radial-gradient(circle at center, black 0%, transparent 74%)}
.device-silhouette{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:min(78%,520px);height:145px;border:1px solid rgba(143,198,255,.42);border-radius:18px;background:linear-gradient(180deg,rgba(14,25,42,.97),rgba(7,13,24,.99));box-shadow:0 28px 90px rgba(47,124,255,.28), inset 0 0 26px rgba(85,182,255,.10);filter:drop-shadow(0 18px 40px rgba(0,0,0,.45))}
.device-silhouette:before{content:"";position:absolute;inset:12px;border:1px solid rgba(85,182,255,.14);border-radius:12px}
.device-topline{position:absolute;left:22px;right:22px;top:18px;height:2px;background:linear-gradient(90deg,transparent,#55b6ff,transparent);opacity:.82}
.device-logo{position:absolute;left:28px;top:42px;display:flex;align-items:center;gap:10px}
.device-logo img{width:118px;height:auto;opacity:.92}
.port-row{position:absolute;right:26px;bottom:30px;display:flex;gap:8px}
.port-row span{width:24px;height:18px;border-radius:5px;border:1px solid rgba(143,198,255,.45);background:rgba(5,9,19,.74);box-shadow:inset 0 -5px 0 rgba(85,182,255,.13)}
.device-glow{position:absolute;right:34px;top:42px;width:10px;height:10px;border-radius:50%;background:#37d083;box-shadow:0 0 18px rgba(55,208,131,.95)}
.labs-orbit{position:absolute;border:1px solid rgba(85,182,255,.18);border-radius:999px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-18deg)}
.labs-orbit.one{width:78%;height:230px}.labs-orbit.two{width:64%;height:170px;transform:translate(-50%,-50%) rotate(20deg)}.labs-orbit.three{width:88%;height:300px;transform:translate(-50%,-50%) rotate(8deg)}
.labs-visual-caption{position:absolute;left:24px;right:24px;bottom:22px;text-align:center;color:#9ed0ff;font-weight:850;font-size:12px;letter-spacing:.12em;text-transform:uppercase}
.labs-teaser-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid #1e5599;background:radial-gradient(700px 300px at 15% 0%,rgba(47,124,255,.22),transparent 70%),linear-gradient(135deg,#081426,#071a31);border-radius:26px;padding:28px}
.labs-teaser-panel h2{margin:8px 0 6px;font-size:32px;letter-spacing:-.03em}.labs-teaser-panel p{margin:0;color:#a9bad2;max-width:760px}
body.light-mode .footer-legal-note{color:#475569;border-top-color:#d7e1ee}
body.light-mode .labs-device-card{background:radial-gradient(360px 260px at 50% 45%,rgba(47,124,255,.18),transparent 72%),linear-gradient(180deg,#ffffff,#eef5ff);border-color:#c9d7e8}
body.light-mode .device-silhouette{background:linear-gradient(180deg,#f8fbff,#dfeafa);border-color:#7aa7dd;box-shadow:0 28px 70px rgba(47,124,255,.18), inset 0 0 26px rgba(47,124,255,.08)}
body.light-mode .blueprint-grid{background-image:linear-gradient(rgba(47,124,255,.12) 1px, transparent 1px),linear-gradient(90deg,rgba(47,124,255,.12) 1px, transparent 1px)}
body.light-mode .labs-visual-caption{color:#174ea6}
body.light-mode .labs-teaser-panel{background:radial-gradient(700px 300px at 15% 0%,rgba(47,124,255,.14),transparent 70%),linear-gradient(135deg,#ffffff,#eef6ff);border-color:#c9d7e8}
body.light-mode .labs-teaser-panel p{color:#334155}
@media(max-width:900px){.labs-grid{grid-template-columns:1fr}.labs-device-card{min-height:340px}.labs-teaser-panel{display:block}.labs-teaser-panel .btn{margin-top:18px}.port-row span{width:18px}}

/* NETVALEN Labs concept visual redesign - non-product specific */
.labs-concept-card{background:radial-gradient(460px 320px at 50% 45%,rgba(47,124,255,.24),transparent 72%),linear-gradient(180deg,rgba(14,26,43,.92),rgba(5,9,19,.95))}
.concept-map{position:absolute;inset:34px 36px 58px;border:1px solid rgba(143,198,255,.22);border-radius:22px;background:linear-gradient(180deg,rgba(8,20,38,.55),rgba(5,10,20,.35));overflow:hidden;box-shadow:inset 0 0 38px rgba(85,182,255,.08)}
.concept-lines{position:absolute;inset:0;width:100%;height:100%;z-index:1}.concept-lines path{fill:none;stroke:rgba(99,164,255,.36);stroke-width:1.4;filter:drop-shadow(0 0 6px rgba(85,182,255,.20))}
.concept-node{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;text-align:center;border:1px solid rgba(143,198,255,.36);background:rgba(7,14,27,.86);color:#d9e8ff;border-radius:16px;padding:12px 14px;font-size:12px;line-height:1.25;font-weight:850;letter-spacing:.02em;box-shadow:0 18px 50px rgba(0,0,0,.34),0 0 26px rgba(47,124,255,.10)}
.node-core{left:50%;top:50%;transform:translate(-50%,-50%);width:190px;height:94px;flex-direction:column;gap:10px;background:linear-gradient(180deg,rgba(17,33,60,.94),rgba(8,16,30,.96));border-color:rgba(126,182,255,.52)}
.node-core img{width:92px;height:auto;filter:drop-shadow(0 0 12px rgba(85,182,255,.45))}.node-core span{font-size:12px;letter-spacing:.16em;color:#b9d9ff}
.node-a{left:28px;top:34px}.node-b{right:28px;top:34px}.node-c{left:28px;bottom:34px}.node-d{right:28px;bottom:34px}
.concept-orbit{position:absolute;z-index:0;border:1px solid rgba(85,182,255,.14);border-radius:999px;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-18deg)}
.concept-orbit.one{width:82%;height:260px}.concept-orbit.two{width:62%;height:190px;transform:translate(-50%,-50%) rotate(24deg)}.concept-orbit.three{width:90%;height:330px;transform:translate(-50%,-50%) rotate(8deg)}
body.light-mode .labs-concept-card{background:radial-gradient(460px 320px at 50% 45%,rgba(47,124,255,.13),transparent 74%),linear-gradient(180deg,#ffffff,#eef5ff)}
body.light-mode .concept-map{background:linear-gradient(180deg,rgba(255,255,255,.68),rgba(238,246,255,.56));border-color:#c6d8ee;box-shadow:inset 0 0 30px rgba(47,124,255,.08)}
body.light-mode .concept-node{background:#ffffff;color:#10233f;border-color:#94b8e6;box-shadow:0 16px 34px rgba(47,124,255,.12)}
body.light-mode .node-core{background:linear-gradient(180deg,#ffffff,#edf5ff);border-color:#6ea4e8}.node-core span{color:#9ed0ff}body.light-mode .node-core span{color:#174ea6}
body.light-mode .concept-lines path{stroke:rgba(23,78,166,.34)}
@media(max-width:700px){.concept-map{inset:24px 20px 58px}.node-core{width:160px;height:82px}.node-core img{width:78px}.concept-node{font-size:10.5px;padding:9px}.node-a{left:14px;top:28px}.node-b{right:14px;top:28px}.node-c{left:14px;bottom:28px}.node-d{right:14px;bottom:28px}}

.labs-subtag{margin:12px 0 8px;color:#9ed0ff;font-size:12px;font-weight:850;letter-spacing:.14em;text-transform:uppercase}
body.light-mode .labs-subtag{color:#174ea6}

/* === NETVALEN Mobile Light-Mode Menu Visibility Fix === */
body.light-mode .mobile-toggle{
  color:#07111f !important;
  background:linear-gradient(180deg,#ffffff,#eef5ff) !important;
  border-color:#b8cbe5 !important;
  box-shadow:0 10px 24px rgba(47,124,255,.10) !important;
}
body.light-mode .mobile-toggle:hover,
body.light-mode .mobile-toggle:focus-visible{
  color:#07111f !important;
  background:#eaf2ff !important;
  border-color:#7aa7dd !important;
  outline:none !important;
}
body.light-mode .mobile-panel{
  background:rgba(255,255,255,.96) !important;
}
body.light-mode .mobile-panel a{
  color:#174ea6 !important;
  background:linear-gradient(180deg,#ffffff,#f3f7ff) !important;
  border-color:#b8cbe5 !important;
}
body.light-mode .mobile-panel a.active,
body.light-mode .mobile-panel a:hover{
  color:#07111f !important;
  background:#eaf2ff !important;
  border-color:#94b8e6 !important;
}

/* === NETVALEN Labs Digital Motion Layer === */
@keyframes nvGridDrift{0%{background-position:0 0,0 0}100%{background-position:56px 28px,56px 28px}}
@keyframes nvOrbitSpinSlow{from{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes nvOrbitSpinReverse{from{transform:translate(-50%,-50%) rotate(360deg)}to{transform:translate(-50%,-50%) rotate(0deg)}}
@keyframes nvPulseGlow{0%,100%{box-shadow:0 18px 50px rgba(0,0,0,.34),0 0 18px rgba(47,124,255,.10);border-color:rgba(143,198,255,.34)}50%{box-shadow:0 22px 60px rgba(0,0,0,.38),0 0 34px rgba(85,182,255,.32);border-color:rgba(143,198,255,.70)}}
@keyframes nvCorePulse{0%,100%{filter:drop-shadow(0 0 10px rgba(85,182,255,.38));transform:scale(1)}50%{filter:drop-shadow(0 0 22px rgba(85,182,255,.85));transform:scale(1.035)}}
@keyframes nvLineFlow{to{stroke-dashoffset:-180}}
@keyframes nvScanSweep{0%{transform:translateX(-120%) skewX(-18deg);opacity:0}18%{opacity:.35}42%{opacity:.10}100%{transform:translateX(130%) skewX(-18deg);opacity:0}}
@keyframes nvDotPing{0%,100%{opacity:.2;transform:scale(.82)}50%{opacity:1;transform:scale(1.18)}}

.labs-concept-card{isolation:isolate}
.labs-concept-card .blueprint-grid{animation:nvGridDrift 18s linear infinite;opacity:.9}
.labs-concept-card:before{content:"";position:absolute;inset:-35%;z-index:0;background:conic-gradient(from 120deg,transparent 0 22%,rgba(85,182,255,.12) 28%,transparent 34% 100%);animation:nvOrbitSpinSlow 26s linear infinite;pointer-events:none;filter:blur(1px)}
.labs-concept-card:after{content:"";position:absolute;top:0;bottom:0;width:34%;z-index:3;background:linear-gradient(90deg,transparent,rgba(122,184,255,.14),transparent);animation:nvScanSweep 6.5s ease-in-out infinite;pointer-events:none}
.concept-map:before,.concept-map:after{content:"";position:absolute;z-index:1;width:8px;height:8px;border-radius:50%;background:#7ab8ff;box-shadow:0 0 18px rgba(85,182,255,.95),0 0 36px rgba(47,124,255,.45);pointer-events:none;animation:nvDotPing 2.8s ease-in-out infinite}
.concept-map:before{left:15%;top:34%;animation-delay:.25s}.concept-map:after{right:17%;bottom:32%;animation-delay:1.45s}
.concept-lines path{stroke-dasharray:10 18;animation:nvLineFlow 7s linear infinite;stroke-width:1.75;stroke:rgba(105,171,255,.52)}
.concept-lines path:nth-child(2n){animation-duration:9s;animation-direction:reverse;stroke:rgba(85,182,255,.40)}
.concept-lines path:nth-child(3n){animation-duration:11s;stroke-dasharray:6 20}
.concept-node{animation:nvPulseGlow 5.5s ease-in-out infinite}.node-b{animation-delay:.8s}.node-c{animation-delay:1.4s}.node-d{animation-delay:2.1s}
.node-core{animation:nvPulseGlow 4.8s ease-in-out infinite}.node-core img{animation:nvCorePulse 3.8s ease-in-out infinite;transform-origin:center}
.concept-orbit.one{animation:nvOrbitSpinSlow 38s linear infinite}.concept-orbit.two{animation:nvOrbitSpinReverse 46s linear infinite}.concept-orbit.three{animation:nvOrbitSpinSlow 58s linear infinite}
.labs-visual-caption{animation:nvDotPing 4.2s ease-in-out infinite;text-shadow:0 0 18px rgba(85,182,255,.35)}

body.light-mode .labs-concept-card:before{background:conic-gradient(from 120deg,transparent 0 22%,rgba(47,124,255,.10) 28%,transparent 34% 100%)}
body.light-mode .labs-concept-card:after{background:linear-gradient(90deg,transparent,rgba(47,124,255,.11),transparent)}
body.light-mode .concept-map:before,body.light-mode .concept-map:after{background:#2f7cff;box-shadow:0 0 16px rgba(47,124,255,.55),0 0 30px rgba(47,124,255,.20)}
body.light-mode .concept-lines path{stroke:rgba(23,78,166,.42)}
body.light-mode .concept-lines path:nth-child(2n){stroke:rgba(47,124,255,.34)}

@media (prefers-reduced-motion: reduce){
  .labs-concept-card .blueprint-grid,.labs-concept-card:before,.labs-concept-card:after,.concept-map:before,.concept-map:after,.concept-lines path,.concept-node,.node-core,.node-core img,.concept-orbit,.labs-visual-caption{animation:none!important}
}


/* === iPad / tablet landscape header fit fix === */
html, body { max-width: 100%; overflow-x: hidden; }

@media (min-width: 981px) and (max-width: 1180px) {
  .container { padding-left: 22px; padding-right: 22px; }
  .navbar { height: 74px; gap: 10px; }
  .brand { min-width: 185px; gap: 10px; }
  .brand img { width: 50px; height: 32px; }
  .brand .name { font-size: 13px; letter-spacing: .11em; }
  .brand .sub { font-size: 9px; letter-spacing: .16em; }
  .navlinks { gap: 2px; flex: 1 1 auto; justify-content: center; min-width: 0; }
  .navlinks a { font-size: 12px; padding: 8px 8px; }
  .cta { gap: 8px; flex-shrink: 0; }
  .cta .btn { font-size: 12px; padding: 10px 12px; border-radius: 11px; }
  .cta .btn-primary { display: none; }
  .theme-toggle { width: 44px; height: 38px; flex: 0 0 auto; }
  .theme-toggle img { width: 26px; height: 22px; }
}

/* If iPad browser UI reduces the usable width further, keep the desktop content
   but switch only the header controls into the clean mobile menu. */
@media (min-width: 981px) and (max-width: 1060px) {
  .navlinks, .cta { display: none; }
  .mobile-toggle { display: block; }
  .mobile-panel.show { display: block; }
  .navbar { justify-content: space-between; }
  .brand { min-width: 0; }
}
