body { overflow-x: hidden; }

/* ── NAV ── */
nav {
  position: fixed; top:0; left:0; right:0; z-index:200; height:60px;
  display: grid; grid-template-columns: auto 1fr auto; align-items: center; padding: 0 52px; gap: 24px;
  background: rgba(12,12,14,0.82); backdrop-filter: blur(28px);
  border-bottom: 1px solid var(--border);
}
.nav-logo { display:flex; align-items:center; gap:10px; text-decoration:none; }
.nav-links { display:flex; gap:32px; list-style:none; justify-self:center; justify-content:center; align-items:center; }
.nav-logo-name { font-family:'Manrope',sans-serif; font-weight:800; font-size:16px; letter-spacing:3px; color:#FFFFFF; text-transform:uppercase; }
.nav-logo-name .vast { color:#FFFFFF; }
.nav-logo-name .on  { background:linear-gradient(90deg,#00D4FF,#00E5C3); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.nav-logo-tag { font-family:'DM Mono',monospace; font-size:7.5px; letter-spacing:0.16em; text-transform:uppercase; color:rgba(242,242,244,0.28); margin-top:2px; }
.nav-links { display:flex; gap:32px; list-style:none; justify-self:center; justify-content:center; }
.nav-links a { color:var(--muted); text-decoration:none; font-size:13px; font-weight:500; transition:color .2s; letter-spacing:.01em; white-space:nowrap; }
.nav-links a:hover { color:var(--white2); }
.nav-btn {
  background:var(--grad); color:var(--bg); border:none;
  padding:9px 20px; font-family:'Manrope',sans-serif; font-weight:800; font-size:11px;
  letter-spacing:.06em; text-transform:uppercase; border-radius:6px; cursor:none; align-self:center;
  transition:opacity .2s, transform .2s, box-shadow .2s; white-space:nowrap;
  box-shadow:0 0 18px rgba(0,212,255,0.22);
}
.nav-btn:hover { opacity:.88; transform:translateY(-1px); box-shadow:0 0 28px rgba(0,212,255,0.38); }

/* LANGUAGE TOGGLE */
.lang-toggle {
  background:transparent; border:1px solid var(--border);
  border-radius:100px; padding:5px 10px;
  font-size:18px; line-height:1; cursor:none; transition:border-color .2s;
}
.lang-toggle:hover { border-color:rgba(0,212,255,0.4); }

/* ── AURORA (hero background) ── */
.aurora { position:absolute; inset:0; z-index:0; pointer-events:none; }
.blob   { position:absolute; border-radius:50%; filter:blur(120px); }
.blob1  { width:650px; height:650px; background:radial-gradient(circle,rgba(0,212,255,0.07),transparent 70%); top:-150px; right:-100px; animation:drift 20s ease-in-out infinite; }
.blob2  { width:500px; height:500px; background:radial-gradient(circle,rgba(0,229,195,0.05),transparent 70%); bottom:-100px; left:-100px; animation:drift 26s ease-in-out infinite reverse; }

/* ── HERO ── */
.hero {
  position:relative; min-height:100vh; display:flex; flex-direction:column;
  align-items:center; justify-content:center; text-align:center;
  padding:80px 52px 100px; z-index:2; overflow:hidden;
}
.hero-inner { position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; }
.hero-meta {
  margin-bottom:32px; display:inline-flex; align-items:center; gap:10px;
  font-family:'DM Mono',monospace; font-size:11px; letter-spacing:.25em; text-transform:uppercase;
  color:var(--cyan); text-decoration:none; opacity:.9;
}
.hero-meta::before {
  content:''; display:inline-block; width:24px; height:1px; background:var(--cyan);
}
.hero-title {
  font-family:'Manrope',sans-serif; font-size:clamp(4rem, 6vw, 7rem); font-weight:800;
  line-height:0.95; letter-spacing:-0.06em; color:#FFF; margin:0 auto 28px; max-width:920px;
  text-align:center; opacity:0; animation:up .7s .1s forwards;
}
.hero-line { display:block; }
.hero-line--white { color:#FFFFFF; }
.hero-line--architectural {
  color:transparent; -webkit-text-stroke:1px #737382;
  text-shadow:none;
}
.hero-line--gradient {
  background: linear-gradient(90deg,#00D4FF,#00E5C3); -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}
.hero-explore {
  display:inline-block; background:var(--grad); color:var(--bg);
  padding:14px 36px; font-family:'Manrope',sans-serif; font-weight:800; font-size:12px;
  letter-spacing:.08em; text-transform:uppercase; border-radius:6px;
  text-decoration:none; cursor:none; transition:opacity .2s, transform .2s;
  margin-top:48px; opacity:0; animation:up .85s .5s forwards;
}
.hero-explore:hover { opacity:.88; transform:translateY(-1px); }

.br { position:absolute; width:20px; height:20px; border-color:var(--dim); border-style:solid; }
.br.tl  { top:84px;    left:52px;  border-width:1px 0 0 1px; }
.br.tr  { top:84px;    right:52px; border-width:1px 1px 0 0; }
.br.bl  { bottom:44px; left:52px;  border-width:0 0 1px 1px; }
.br.br2 { bottom:44px; right:52px; border-width:0 1px 1px 0; }
.btn-g {
  display:inline-block; background:var(--grad); color:var(--bg); border:none; padding:13px 28px;
  font-family:'Manrope',sans-serif; font-weight:800; font-size:12px; letter-spacing:.06em;
  text-transform:uppercase; border-radius:6px; cursor:none; transition:opacity .2s,transform .2s;
  text-decoration:none;
}
.btn-g:hover { opacity:.88; transform:translateY(-1px); }
.btn-o {
  display:inline-block; background:transparent; color:var(--muted); border:1px solid var(--border);
  padding:12px 24px; font-family:'Manrope',sans-serif; font-weight:600; font-size:13px;
  border-radius:6px; cursor:none; transition:all .2s; text-decoration:none;
}
.btn-o:hover { color:var(--white2); border-color:var(--dim); }

/* SCROLL HINT */
.scroll-hint {
  position:absolute; bottom:32px; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:8px;
  opacity:0; animation:fi 1s 1.2s forwards;
}
.scroll-line { width:1px; height:36px; background:linear-gradient(180deg,var(--dim),transparent); animation:scrollpulse 2s ease-in-out infinite; }
@keyframes scrollpulse { 0%,100%{opacity:.3;} 50%{opacity:1;} }

/* HERO PANEL */
.h-panel {
  position:absolute; right:0; top:60px; bottom:0; width:37%;
  border-left:1px solid var(--border); background:rgba(17,17,20,0.5);
  display:flex; flex-direction:column; opacity:0; animation:fi 1s .9s forwards;
}
.hp-head { padding:16px 24px; border-bottom:1px solid var(--border); display:flex; justify-content:space-between; align-items:center; }
.hp-lbl  { font-family:'DM Mono',monospace; font-size:9px; color:var(--muted); letter-spacing:.18em; text-transform:uppercase; }
.hp-live { display:flex; align-items:center; gap:6px; font-family:'DM Mono',monospace; font-size:9px; }
.hp-live span { background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.ldot { width:5px; height:5px; border-radius:50%; background:var(--c1); animation:blink 2s infinite; flex-shrink:0; }
.hp-body { padding:20px 24px; flex:1; display:flex; flex-direction:column; gap:16px; }
.mrow { padding-bottom:14px; border-bottom:1px solid var(--border2); display:flex; justify-content:space-between; align-items:flex-end; }
.mlbl { font-size:11px; color:var(--muted); margin-bottom:5px; }
.mval { font-size:32px; font-weight:800; letter-spacing:-1px; color:var(--white2); line-height:1; }
.mval.grd { background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.mch { font-family:'DM Mono',monospace; font-size:10px; }
.up { color:var(--c2); }
.dn { color:#FF5555; }
.mbars { display:flex; align-items:flex-end; gap:2px; height:34px; }
.mbar  { width:4px; border-radius:1px; }
.acc-wrap  { margin-top:auto; }
.acc-track { height:3px; background:var(--border); border-radius:2px; overflow:hidden; margin:7px 0 5px; }
.acc-fill  { height:100%; width:0; border-radius:2px; background:var(--grad); transition:width 2.2s ease; }
.acc-lbs   { display:flex; justify-content:space-between; font-family:'DM Mono',monospace; font-size:9px; }
.hp-foot {
  padding:11px 24px; border-top:1px solid var(--border);
  font-family:'DM Mono',monospace; font-size:9px; color:var(--dim);
  display:flex; justify-content:space-between;
}
.hp-foot span:last-child { background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }

/* ── SECTIONS ── */
section  { position:relative; z-index:2; }
.pad     { padding:108px 52px; }
.s-lbl   { font-family:'DM Mono',monospace; font-size:9px; letter-spacing:.22em; text-transform:uppercase; margin-bottom:18px; display:flex; align-items:center; gap:10px; }
.s-lbl::before { content:''; width:14px; height:1px; flex-shrink:0; background:var(--grad); }
.s-lbl span  { background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.s-title { font-size:clamp(30px,4vw,56px); font-weight:800; line-height:1.04; letter-spacing:-1.2px; }
.s-title .g  { background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.s-sub   { font-size:14px; line-height:1.8; color:var(--muted); max-width:500px; margin-top:14px; }
.gdiv    { height:1px; background:linear-gradient(90deg,transparent,var(--c1),var(--c2),transparent); opacity:.2; }

/* ── STATS ── */
.stats-wrap { border-top:1px solid var(--border); border-bottom:1px solid var(--border); background:var(--bg2); }
.stats-row  { display:grid; grid-template-columns:repeat(4,1fr); padding:0 52px; }
.stat       { padding:48px 36px; border-right:1px solid var(--border); }
.stat:first-child { padding-left:0; }
.stat:last-child  { border-right:none; }
.stat-n { font-size:52px; font-weight:800; letter-spacing:-2px; line-height:1; margin-bottom:10px; background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.stat-l { font-size:13px; font-weight:600; color:var(--white); }
.stat-d { font-family:'DM Mono',monospace; font-size:10px; color:var(--muted); margin-top:4px; }

/* ── PILLARS ── */
.pg { display:grid; grid-template-columns:repeat(2,1fr); margin-top:60px; }
.pillar {
  padding:44px; border:1px solid var(--border); margin:-.5px;
  position:relative; overflow:hidden; cursor:none; transition:background .35s;
}
.pillar:hover { background:rgba(0,212,255,0.03); }
.p-glow {
  position:absolute; inset:0; opacity:0; transition:opacity .5s;
  background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(0,212,255,0.07),transparent 52%);
}
.pillar:hover .p-glow { opacity:1; }
.p-num  { font-family:'DM Mono',monospace; font-size:9px; letter-spacing:.15em; margin-bottom:28px; display:flex; align-items:center; gap:10px; }
.p-num span  { background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.p-num::after { content:''; flex:1; height:1px; background:var(--border); max-width:48px; }
.p-badge { display:inline-block; font-size:10px; font-weight:700; letter-spacing:.07em; text-transform:uppercase; padding:3px 11px; margin-bottom:18px; border-radius:4px; border:1px solid rgba(0,212,255,0.2); color:var(--c1); background:rgba(0,212,255,0.05); }
.p-title { font-size:27px; font-weight:800; letter-spacing:-.5px; margin-bottom:14px; line-height:1.12; }
.p-desc  { font-size:13px; line-height:1.8; color:var(--muted); margin-bottom:24px; }
.p-list  { list-style:none; display:flex; flex-direction:column; gap:8px; }
.p-list li { font-family:'DM Mono',monospace; font-size:11px; color:var(--muted); display:flex; align-items:flex-start; gap:10px; line-height:1.55; }
.p-list li::before { content:'—'; flex-shrink:0; background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }

/* ── FEATURES ── */
.feat-wrap  { background:var(--bg2); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.feat-row   { display:grid; grid-template-columns:1fr 1fr; }
.feat-left  { padding:72px 52px; border-right:1px solid var(--border); display:flex; flex-direction:column; justify-content:center; }
.feat-right { padding:48px; display:flex; flex-direction:column; gap:12px; justify-content:center; }
.fc { background:var(--bg3); border:1px solid var(--border); border-radius:8px; padding:20px; transition:border-color .2s; cursor:none; }
.fc:hover { border-color:rgba(0,212,255,0.25); }
.fc-top  { display:flex; align-items:center; gap:12px; margin-bottom:8px; }
.fc-icon { width:30px; height:30px; border-radius:7px; background:var(--grad); display:flex; align-items:center; justify-content:center; font-size:13px; flex-shrink:0; }
.fc-title { font-size:13px; font-weight:700; }
.fc-desc  { font-size:12px; color:var(--muted); line-height:1.65; }
.fc-bar   { margin-top:10px; }
.fc-bar-lbl { display:flex; justify-content:space-between; font-family:'DM Mono',monospace; font-size:9px; color:var(--muted); margin-bottom:5px; }
.fc-bar-lbl span:last-child { background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.fc-track { height:3px; background:var(--border); border-radius:2px; overflow:hidden; }
.fc-fill  { height:100%; border-radius:2px; background:var(--grad); width:0; transition:width 1.8s ease; }

/* ── DASHBOARD ── */
.dash-wrap  { border-top:1px solid var(--border); }
.dash-inner { padding:80px 52px; }
.dash-mock  {
  border:1px solid var(--border); background:var(--bg2); border-radius:10px; overflow:hidden;
  box-shadow:0 0 80px rgba(0,212,255,0.05), 0 0 1px rgba(0,212,255,0.2);
}
.dash-bar { background:var(--bg3); border-bottom:1px solid var(--border); padding:11px 18px; display:flex; align-items:center; gap:8px; }
.db   { width:9px; height:9px; border-radius:50%; }
.db.r { background:#3A1515; border:1px solid #5A2020; }
.db.a { background:rgba(0,212,255,0.1); border:1px solid rgba(0,212,255,0.3); }
.db.g { background:rgba(0,229,195,0.1); border:1px solid rgba(0,229,195,0.4); }
.dash-btitle { flex:1; text-align:center; font-family:'DM Mono',monospace; font-size:10px; color:var(--dim); }
.dash-live   { font-family:'DM Mono',monospace; font-size:9px; display:flex; align-items:center; gap:5px; }
.dash-live span { background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.dash-ldot   { width:5px; height:5px; border-radius:50%; background:var(--c2); animation:blink 2s infinite; flex-shrink:0; }
.dash-body   { display:grid; grid-template-columns:185px 1fr; }
.dash-side   { border-right:1px solid var(--border); padding:12px 0; background:var(--bg3); }
.dsi         { padding:9px 15px; font-size:12px; font-weight:600; color:var(--muted); display:flex; align-items:center; gap:8px; cursor:none; transition:all .2s; }
.dsi:hover   { color:var(--white2); background:rgba(0,212,255,0.04); }
.dsi.active  { color:var(--white2); background:rgba(0,212,255,0.06); border-left:2px solid var(--c1); }
.dsi-dot     { width:4px; height:4px; border-radius:50%; background:var(--border); }
.dsi.active .dsi-dot { background:var(--c1); }
.dash-main { padding:16px; background:var(--bg2); }
.kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin-bottom:12px; }
.kpi  { background:var(--bg3); border:1px solid var(--border); padding:14px; border-radius:7px; transition:border-color .2s; }
.kpi:hover { border-color:rgba(0,212,255,0.2); }
@keyframes kpiFlash { 0%{box-shadow:inset 0 0 0 1px rgba(0,212,255,0.5),0 0 12px rgba(0,212,255,0.15);} 100%{box-shadow:none;} }
.kpi-flash { animation:kpiFlash 0.9s ease; }
.kpi-l { font-family:'DM Mono',monospace; font-size:8px; color:var(--muted); letter-spacing:.1em; text-transform:uppercase; margin-bottom:7px; }
.kpi-v { font-size:22px; font-weight:800; letter-spacing:-.5px; color:var(--white2); }
.kpi-v.g { background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.kpi-v.r { color:#FF5555; }
.kpi-c { font-family:'DM Mono',monospace; font-size:9px; margin-top:4px; }
.charts  { display:grid; grid-template-columns:3fr 2fr; gap:9px; }
.dchart  { background:var(--bg3); border:1px solid var(--border); padding:13px; border-radius:7px; }
.dchart-inc { display:flex; flex-direction:column; height:210px; overflow:hidden; }
.dct     { font-family:'DM Mono',monospace; font-size:9px; color:var(--muted); letter-spacing:.08em; margin-bottom:11px; text-transform:uppercase; flex-shrink:0; }
.bch     { display:flex; align-items:flex-end; gap:3px; height:130px; }

/* ── CAM FEEDS ── */
.cam-feeds { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-top:9px; }
.cam-tile  { height:110px; background:#060608; border:1px solid var(--border2); border-radius:5px; overflow:hidden; position:relative; background-size:cover; background-position:center; }
#cam-fire      { background-image:url('../images/cam-incendio.svg'); }
#cam-warehouse { background-image:url('../images/cam-almacen.svg'); }
#cam-quality   { background-image:url('../images/cam-calidad.svg'); }
.cam-overlay {
  position:absolute; inset:0; z-index:2; pointer-events:none;
  background:linear-gradient(rgba(6,6,8,0.45), rgba(6,6,8,0.6));
}
.cam-tile::before {
  content:''; position:absolute; inset:0; z-index:4; pointer-events:none;
  background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,0.08) 3px,rgba(0,0,0,0.08) 4px);
}
.cam-tile::after {
  content:''; position:absolute; inset:0; z-index:1; pointer-events:none;
  background-image:linear-gradient(rgba(0,212,255,0.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,0.03) 1px,transparent 1px);
  background-size:18px 18px;
}
.cam-hud {
  position:absolute; top:5px; left:7px; right:7px; z-index:6;
  display:flex; justify-content:space-between; align-items:center;
  font-family:'DM Mono',monospace; font-size:7.5px; color:rgba(0,212,255,0.55); letter-spacing:.07em;
}
.cam-live { display:flex; align-items:center; gap:3px; }
.cam-ldot-r { width:4px; height:4px; border-radius:50%; background:#ff5555; animation:blink 1.4s infinite; flex-shrink:0; }
.cam-ldot-c { width:4px; height:4px; border-radius:50%; background:var(--c1); animation:blink 1.6s .3s infinite; flex-shrink:0; }
.cam-ldot-a { width:4px; height:4px; border-radius:50%; background:#ffaa00; animation:blink 1.5s .6s infinite; flex-shrink:0; }
.cam-scan {
  position:absolute; left:0; right:0; height:1px; z-index:5;
  background:linear-gradient(90deg,transparent,rgba(0,212,255,0.28),transparent);
  animation:camScan 2s linear infinite;
}
@keyframes camScan { from{top:0} to{top:100%} }
.cam-box {
  position:absolute; z-index:6; border:1.5px solid;
  transition:left 1.3s cubic-bezier(.4,0,.2,1), top 1.1s cubic-bezier(.4,0,.2,1), width 1.1s cubic-bezier(.4,0,.2,1), height 1.1s cubic-bezier(.4,0,.2,1);
}
.cam-box-r { --cc:rgba(255,85,85,0.85); border-color:var(--cc); box-shadow:0 0 10px rgba(255,85,85,0.2); animation:camPulse 2.2s ease-in-out infinite; }
.cam-box-c { --cc:rgba(0,212,255,0.8);  border-color:var(--cc); box-shadow:0 0 10px rgba(0,212,255,0.18); animation:camPulse 2.5s .4s ease-in-out infinite; }
.cam-box-a { --cc:rgba(255,165,0,0.8);  border-color:var(--cc); box-shadow:0 0 10px rgba(255,165,0,0.18); animation:camPulse 2s .2s ease-in-out infinite; }
@keyframes camPulse { 0%,100%{opacity:1} 50%{opacity:0.5} }
.cam-corner { position:absolute; width:5px; height:5px; border-color:inherit; }
.cam-corner.tl { top:-1px; left:-1px; border-top:2px solid; border-left:2px solid; }
.cam-corner.tr { top:-1px; right:-1px; border-top:2px solid; border-right:2px solid; }
.cam-corner.bl { bottom:-1px; left:-1px; border-bottom:2px solid; border-left:2px solid; }
.cam-corner.br { bottom:-1px; right:-1px; border-bottom:2px solid; border-right:2px solid; }
.cam-det {
  position:absolute; bottom:3px; left:3px;
  font-family:'DM Mono',monospace; font-size:7px; padding:1px 5px; border-radius:2px; white-space:nowrap; letter-spacing:.05em;
  transition:opacity .3s;
}
.cam-det-r { background:rgba(255,85,85,0.92); color:#fff; }
.cam-det-c { background:rgba(0,212,255,0.92); color:#050507; }
.cam-det-a { background:rgba(255,165,0,0.92); color:#050507; }
.cam-conf  {
  position:absolute; top:3px; right:3px;
  font-family:'DM Mono',monospace; font-size:6.5px; color:rgba(242,242,244,0.45); white-space:nowrap;
  transition:opacity .3s;
}
.bc      { flex:1; border-radius:2px 2px 0 0; transition:height 1.3s ease; }
.inc-row { display:flex; align-items:center; gap:8px; padding:7px 0; border-bottom:1px solid var(--border2); }
.inc-d   { width:5px; height:5px; border-radius:50%; flex-shrink:0; }
.inc-d.cr { background:#FF5555; box-shadow:0 0 5px rgba(255,85,85,.4); }
.inc-d.wa { background:var(--c1); }
.inc-d.ok { background:var(--dim); }
.inc-n { flex:1; color:var(--muted); font-size:11px; }
.inc-t { font-family:'DM Mono',monospace; font-size:9px; color:var(--dim); }

/* ── QUOTE ── */
.quote-wrap {
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  padding:96px 52px; text-align:center;
  background:linear-gradient(180deg,var(--bg) 0%,rgba(0,212,255,0.03) 50%,var(--bg) 100%);
}
.quote-t  { font-family:'Instrument Serif',sans-serif; font-style:italic; font-size:clamp(22px,3.8vw,50px); line-height:1.34; max-width:800px; margin:0 auto 20px; }
.quote-t em { font-style:normal; background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.quote-by { font-family:'DM Mono',monospace; font-size:9px; color:var(--dim); letter-spacing:.2em; }

/* ── CTA ── */
.cta-wrap { padding:130px 52px; text-align:center; }
.cta-t    { font-size:clamp(46px,8vw,96px); font-weight:800; letter-spacing:-3px; line-height:.9; margin-bottom:26px; }
.cta-t .g { background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.cta-t .d { color:transparent; display:block; -webkit-text-stroke:1px var(--dim); }
.cta-sub  { font-size:15px; color:var(--muted); max-width:390px; margin:0 auto 40px; line-height:1.8; }
.cta-form {
  display:flex; max-width:410px; margin:0 auto;
  border:1px solid var(--border); border-radius:8px; overflow:hidden;
  transition:border-color .25s, box-shadow .25s;
}
.cta-form:focus-within { border-color:rgba(0,212,255,0.4); box-shadow:0 0 24px rgba(0,212,255,0.08); }
.cta-inp  { flex:1; background:var(--bg3); border:none; outline:none; padding:13px 17px; font-family:'Manrope',sans-serif; font-size:13px; color:var(--white); }
.cta-inp::placeholder { color:var(--dim); }
.cta-btn  { background:var(--grad); color:var(--bg); border:none; padding:13px 22px; font-family:'Manrope',sans-serif; font-weight:800; font-size:11px; letter-spacing:.06em; text-transform:uppercase; cursor:none; transition:opacity .2s; white-space:nowrap; }
.cta-btn:hover { opacity:.88; }
.cta-note { margin-top:13px; font-family:'DM Mono',monospace; font-size:9px; color:var(--dim); letter-spacing:.08em; }

/* ── HOW WE WORK ── */
.how-wrap { background: var(--bg2); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.steps { display:grid; grid-template-columns:1fr auto 1fr auto 1fr; align-items:stretch; gap:0; margin-top:60px; }
.step { background:var(--bg3); border:1px solid var(--border); border-radius:10px; padding:36px 32px; transition:border-color .3s; }
.step-connector { align-self:center; }
.step:hover { border-color:rgba(0,212,255,0.25); }
.step-num {
  font-family:'DM Mono',monospace; font-size:11px; letter-spacing:.2em; margin-bottom:20px;
  background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent;
}
.step-title { font-size:20px; font-weight:800; letter-spacing:-.3px; margin-bottom:12px; color:var(--white2); }
.step-desc  { font-size:13px; line-height:1.8; color:var(--muted); }
.step-connector { width:40px; height:1px; background:linear-gradient(90deg,var(--c1),var(--c2)); opacity:.35; flex-shrink:0; }

/* ── INDUSTRIES ── */
.ind-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:60px; background:var(--border); border:1px solid var(--border); border-radius:10px; overflow:hidden; }
.ind-card {
  background:var(--bg); padding:36px 32px;
  transition:background .3s; cursor:none;
  position:relative; overflow:hidden;
}
.ind-card:hover { background:var(--bg3); }
.ind-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:var(--grad); transform:scaleX(0); transform-origin:left;
  transition:transform .35s ease;
}
.ind-card:hover::before { transform:scaleX(1); }
.ind-icon { margin-bottom:16px; display:block; line-height:1; }
.ind-name { font-size:15px; font-weight:800; letter-spacing:-.2px; margin-bottom:10px; color:var(--white2); }
.ind-desc { font-size:12px; line-height:1.75; color:var(--muted); }

/* ── FOOTER ── */
footer { border-top:1px solid var(--border); padding:52px 52px 28px; background:var(--bg2); z-index:2; position:relative; }
.foot-top {
  display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:44px;
  margin-bottom:44px; padding-bottom:44px; border-bottom:1px solid var(--border2);
}
.foot-brand { display:flex; align-items:center; gap:10px; margin-bottom:14px; }
.foot-nm    { font-size:18px; font-weight:800; }
.foot-nm span { background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.foot-tag   { font-size:13px; color:var(--muted); line-height:1.75; }
.foot-col h4 { font-family:'DM Mono',monospace; font-size:9px; color:var(--dim); letter-spacing:.2em; text-transform:uppercase; margin-bottom:15px; }
.foot-col ul { list-style:none; display:flex; flex-direction:column; gap:9px; }
.foot-col a  { font-size:13px; color:var(--muted); text-decoration:none; font-weight:500; transition:all .2s; }
.foot-col a:hover { background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.foot-bot  { display:flex; justify-content:space-between; align-items:center; }
.foot-copy { font-family:'DM Mono',monospace; font-size:9px; color:var(--dim); }
.foot-dom  { font-family:'DM Mono',monospace; font-size:10px; background:var(--grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent; }
.foot-social { margin-top:0; }
.foot-social-lbl { font-family:'DM Mono',monospace; font-size:9px; color:var(--dim); letter-spacing:.2em; text-transform:uppercase; margin-bottom:15px; }
.foot-social-icons { display:flex; gap:10px; }
.foot-social-icons a { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border-radius:50%; border:1px solid var(--border); background:var(--bg3); color:var(--dim); text-decoration:none; transition:border-color .25s, color .25s, background .25s; }
.foot-social-icons a:hover { border-color:var(--c1); color:var(--c1); background:rgba(0,212,255,0.07); }
.foot-social-icons svg { width:15px; height:15px; }

/* ════════════════════════════════════
   RESPONSIVE
════════════════════════════════════ */

/* Touch devices: ocultar cursor personalizado */
@media (pointer: coarse) {
  body, a, button, .nav-btn, .btn-g, .btn-o, .hero-explore,
  .pillar, .fc, .kpi, .dsi, .ind-card, .cta-btn, .lang-toggle { cursor: auto; }
  .cur, .cur-r { display: none; }
}

/* ── Tablet ≤ 900px ── */
@media (max-width: 900px) {
  .pad { padding: 72px 32px; }

  nav { padding: 0 28px; }
  .nav-links { gap: 16px; }
  .nav-links a { font-size: 11px; }

  .hero { padding: 70px 32px 80px; }

  .pg { grid-template-columns: 1fr; }

  .stats-row { grid-template-columns: repeat(2,1fr); padding: 0 32px; }
  .stat:nth-child(2) { border-right: none; }
  .stat:nth-child(3) { border-top: 1px solid var(--border); }
  .stat:nth-child(4) { border-top: 1px solid var(--border); border-right: none; }

  .steps { grid-template-columns: 1fr; }
  .step-connector { width: 1px; height: 28px; background: linear-gradient(180deg,var(--c1),var(--c2)); margin: 0 auto; }

  .ind-grid { grid-template-columns: repeat(2,1fr); }

  .feat-row { grid-template-columns: 1fr; }
  .feat-left { border-right: none; border-bottom: 1px solid var(--border); padding: 52px 32px; }
  .feat-right { padding: 40px 32px; }

  .dash-inner { padding: 60px 32px; }
  .dash-body { grid-template-columns: 1fr; }
  .dash-side { display: none; }
  .kpis { grid-template-columns: repeat(2,1fr); }
  .charts { grid-template-columns: 1fr; }
  .cam-feeds { grid-template-columns: repeat(2,1fr); }

  .quote-wrap { padding: 72px 32px; }
  .cta-wrap { padding: 96px 32px; }

  .foot-top { grid-template-columns: 1fr 1fr; gap: 32px; }
  footer { padding: 44px 32px 24px; }
}

/* ── Móvil ≤ 768px ── */
@media (max-width: 768px) {
  .nav-links { display: none; }
  .nav-btn { grid-column: 3; justify-self: end; }
}

/* ── Móvil ≤ 600px ── */
@media (max-width: 600px) {
  .pad { padding: 56px 20px; }

  nav { padding: 0 20px; gap: 12px; }
  .nav-btn { padding: 7px 14px; font-size: 10px; letter-spacing: .04em; }

  .hero { padding: 56px 20px 64px; }
  .hero-title { font-size: clamp(2.2rem, 10vw, 3.8rem); }
  .hero-explore { margin-top: 32px; padding: 12px 28px; }
  .br { display: none; }

  .stats-row { padding: 0 20px; }
  .stat { padding: 28px 16px; }
  .stat-n { font-size: 38px; }

  .pillar { padding: 28px 20px; }
  .p-title { font-size: 22px; }

  .feat-left { padding: 40px 20px; }
  .feat-right { padding: 28px 20px; }

  .ind-grid { grid-template-columns: 1fr; }

  .dash-inner { padding: 48px 20px; }
  .kpis { gap: 7px; }
  .kpi-v { font-size: 18px; }
  .cam-feeds { grid-template-columns: 1fr; }
  .cam-tile { height: 130px; }

  .quote-wrap { padding: 56px 20px; }
  .quote-t { font-size: clamp(18px, 7vw, 32px); }

  .cta-wrap { padding: 72px 20px; }
  .cta-t { font-size: clamp(36px, 11vw, 72px); letter-spacing: -1.5px; }
  .cta-form { flex-direction: column; }
  .cta-inp { border-radius: 8px 8px 0 0; }
  .cta-btn { border-radius: 0 0 8px 8px; padding: 13px; }

  .foot-top { grid-template-columns: 1fr; gap: 28px; }
  footer { padding: 36px 20px 20px; }
  .foot-bot { flex-direction: column; gap: 8px; text-align: center; }
}
