:root {
  --bg: #05070a;
  --bg-soft: #080b10;
  --panel: #0c1015;
  --panel-border: rgba(120,158,170,0.16);
  --line: rgba(120,158,170,0.15);
  --text: #dfeaee;
  --text-dim: #7f97a0;
  --text-faint: #4d616a;
  --accent: #6fd8c9;
  --accent-dim: rgba(111,216,201,0.14);
  --accent-glow: rgba(111,216,201,0.45);
  --danger: #ff3b3b;
  --danger-glow: rgba(255,59,59,0.75);
  --danger-dim: rgba(255,59,59,0.12);
  --cipher-color: rgba(120,158,170,0.42);
  --cipher-glow: rgba(120,158,170,0.55);
  --sweep: rgba(210,235,240,0.09);
  --radius: 3px;
  --maxw: 1180px;
  --surface-fixed: #0b0f13;
  color-scheme: dark;

  /* Constantes FIJAS para navbar y footer: no cambian con el tema claro,
     siempre quedan oscuras como el diseño original. */
  --fx-bg: #05070a;
  --fx-text: #dfeaee;
  --fx-text-dim: #7f97a0;
  --fx-text-faint: #4d616a;
  --fx-accent: #6fd8c9;
  --fx-accent-glow: rgba(111,216,201,0.45);
  --fx-line: rgba(120,158,170,0.15);
  --fx-panel-border: rgba(120,158,170,0.16);
  --fx-cipher-color: rgba(120,158,170,0.42);
  --fx-cipher-glow: rgba(120,158,170,0.55);
  --fx-sweep: rgba(210,235,240,0.09);
  --fx-danger: #ff3b3b;
  --fx-danger-glow: rgba(255,59,59,0.75);
}

/* ---------- TEMA CLARO ---------- */
[data-theme="light"]{
  --bg: #f2f5f6;
  --bg-soft: #e7edee;
  --panel: #ffffff;
  --panel-border: rgba(15,35,40,0.14);
  --line: rgba(15,35,40,0.13);
  --text: #0d1417;
  --text-dim: #435157;
  --text-faint: #7c8c91;
  --accent: #0c8d78;
  --accent-dim: rgba(12,141,120,0.10);
  --accent-glow: rgba(12,141,120,0.35);
  --danger: #cf2626;
  --danger-glow: rgba(207,38,38,0.4);
  --danger-dim: rgba(207,38,38,0.08);
  --cipher-color: rgba(15,60,65,0.30);
  --cipher-glow: rgba(15,60,65,0.4);
  --sweep: rgba(15,60,65,0.05);
  color-scheme: light;
}
[data-theme="light"] .btn-primary{ color:#f2fffb; }
[data-theme="light"] .wa-float svg{ color:#f2fffb; }
[data-theme="light"] ::selection{ background:var(--accent); color:#f2fffb; }

*, *::before, *::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *, *::before, *::after{ animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; }
}
body{ margin:0; background:var(--bg); color:var(--text); font-family:'Space Mono', monospace; -webkit-font-smoothing:antialiased; transition:background 0.3s ease, color 0.3s ease; }
img{ max-width:100%; display:block; }
a{ color:inherit; }
::selection{ background:var(--accent); color:#05070a; }

h1,h2,h3,h4{ font-family:'Chakra Petch', sans-serif; font-weight:700; margin:0; color:var(--text); letter-spacing:0.5px; }
p{ margin:0; color:var(--text-dim); line-height:1.75; font-size:15px; }
.container{ max-width:var(--maxw); margin:0 auto; padding:0 24px; }
.section{ padding:110px 0; position:relative; }
.section-tight{ padding:70px 0; }

.eyebrow{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Share Tech Mono', monospace; font-size:12px; letter-spacing:4px;
  text-transform:uppercase; color:var(--accent); margin-bottom:18px;
}
.eyebrow::before{
  content:""; width:8px; height:8px; background:var(--accent);
  box-shadow:0 0 8px var(--accent-glow); border-radius:1px; flex-shrink:0;
}
.section-head{ max-width:640px; margin-bottom:56px; }
.section-head h2{ font-size:clamp(28px, 4vw, 40px); line-height:1.15; }
.section-head p{ margin-top:16px; font-size:15px; }

.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Share Tech Mono', monospace; font-size:13px; letter-spacing:2px;
  text-transform:uppercase; text-decoration:none; padding:15px 28px;
  border-radius:var(--radius); border:1px solid transparent; cursor:pointer;
  transition:transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease, border-color 0.2s ease; white-space:nowrap;
}
.btn:active{ transform:translateY(1px); }
.btn-primary{ background:var(--accent); color:#04120f; }
.btn-primary:hover{ box-shadow:0 0 24px var(--accent-glow); transform:translateY(-1px); }
.btn-ghost{ background:transparent; color:var(--text); border-color:var(--panel-border); }
.btn-ghost:hover{ border-color:var(--accent); color:var(--accent); }

.badge{
  display:inline-flex; align-items:center; gap:6px;
  font-family:'Share Tech Mono', monospace; font-size:10.5px; letter-spacing:2px;
  text-transform:uppercase; padding:5px 10px; border-radius:2px;
  border:1px solid var(--panel-border); color:var(--text-dim);
}
.badge .dot{ width:6px; height:6px; border-radius:50%; background:var(--accent); box-shadow:0 0 6px var(--accent-glow); flex-shrink:0; }
.badge.pulse .dot, .service-status.pulse .dot{ animation:dot-pulse 2s ease-in-out infinite; }
@keyframes dot-pulse{ 0%,100%{ opacity:1; } 50%{ opacity:0.35; } }
.divider{ height:1px; background:var(--line); border:none; width:100%; }

.navbar{
  position:sticky; top:0; z-index:100; height:96px; width:100%; background:var(--fx-bg);
  overflow:hidden; display:flex; align-items:center; justify-content:space-between;
  padding:0 clamp(20px, 5vw, 56px); border-bottom:1px solid var(--fx-line);
}
.cipher-field{ position:absolute; top:-140%; left:-25%; width:150%; height:400%; transform:rotate(-7deg); transform-origin:center; z-index:0; pointer-events:none; }
.cipher-row{ position:absolute; left:0; width:200%; white-space:nowrap; font-family:'Share Tech Mono', monospace; font-size:15px; letter-spacing:6px; color:var(--fx-cipher-color); text-shadow:0 0 6px var(--fx-cipher-glow); filter:blur(0.2px); will-change:transform; }
.cipher-row span{ display:inline-block; padding-right:6px; }
.hit{ color:var(--fx-danger); text-shadow:0 0 10px var(--fx-danger-glow), 0 0 22px var(--fx-danger-glow); animation:hit-flicker 2.4s ease-in-out infinite; }
@keyframes hit-flicker{ 0%,100%{ opacity:1; } 45%{ opacity:1; } 50%{ opacity:0.35; } 55%{ opacity:1; } }
.cipher-fade{ position:absolute; inset:0; z-index:1; pointer-events:none; background: linear-gradient(to right, var(--fx-bg) 0%, transparent 14%, transparent 86%, var(--fx-bg) 100%), linear-gradient(to bottom, rgba(5,7,10,0.6) 0%, transparent 35%, transparent 65%, rgba(5,7,10,0.7) 100%); }
.sweep{ position:absolute; inset:0; z-index:2; pointer-events:none; background:linear-gradient(115deg, transparent 30%, var(--fx-sweep) 48%, var(--fx-sweep) 52%, transparent 70%); background-size:250% 100%; mix-blend-mode:screen; animation:sweep-move 7s ease-in-out infinite; }
@keyframes sweep-move{ 0%{ background-position:130% 0; } 50%{ background-position:-30% 0; } 100%{ background-position:130% 0; } }

.nav-brand{ position:relative; z-index:3; display:flex; align-items:center; gap:12px; text-decoration:none; }
.nav-brand img{ height:46px; width:auto; }
.nav-brand-text{ display:flex; flex-direction:column; line-height:1; }
.nav-brand-text strong{ font-family:'Chakra Petch', sans-serif; font-weight:700; font-size:19px; letter-spacing:2px; color:var(--fx-text); }
.nav-brand-text strong span{ color:var(--fx-accent); }
.nav-brand-text small{ font-family:'Share Tech Mono', monospace; font-size:9px; letter-spacing:2.5px; color:var(--fx-text-faint); margin-top:3px; }

.nav-right{ position:relative; z-index:3; display:flex; align-items:center; gap:22px; }
.nav-links{ position:relative; z-index:3; display:flex; align-items:center; gap:34px; list-style:none; margin:0; padding:0; }
.nav-links a{ color:var(--fx-text-dim); text-decoration:none; font-size:12.5px; letter-spacing:2px; text-transform:uppercase; font-family:'Share Tech Mono', monospace; padding:6px 2px; border-bottom:1px solid transparent; transition:color 0.25s ease, border-color 0.25s ease; }
.nav-links a:hover, .nav-links a:focus-visible{ color:var(--fx-accent); border-color:var(--fx-accent); }
.nav-links .btn{ padding:10px 18px; font-size:11.5px; }
.nav-links li a.btn-primary,
.nav-links li a.btn-primary:hover,
.nav-links li a.btn-primary:focus-visible{
  background:var(--fx-accent); color:#04120f; border-color:transparent;
}
.nav-links li a.btn-primary:hover{ box-shadow:0 0 24px var(--fx-accent-glow); }
.nav-toggle{ display:none; position:relative; z-index:3; background:none; border:1px solid var(--fx-panel-border); width:40px; height:40px; border-radius:2px; align-items:center; justify-content:center; cursor:pointer; }
.nav-toggle span, .nav-toggle span::before, .nav-toggle span::after{ content:""; display:block; width:18px; height:2px; background:var(--fx-text); position:relative; transition:transform 0.2s ease, opacity 0.2s ease; }
.nav-toggle span::before{ position:absolute; top:-6px; }
.nav-toggle span::after{ position:absolute; top:6px; }

/* ---------- THEME SWITCH (siempre con paleta fija, vive en la navbar) ---------- */
.theme-switch{
  position:relative; z-index:3;
  width:52px; height:28px;
  border-radius:20px;
  border:1px solid var(--fx-panel-border);
  background:var(--fx-bg);
  cursor:pointer;
  padding:2px;
  flex-shrink:0;
  transition:border-color 0.25s ease;
}
.theme-switch-knob{
  width:22px; height:22px;
  border-radius:50%;
  background:var(--fx-accent);
  display:flex; align-items:center; justify-content:center;
  transform:translateX(0);
  transition:transform 0.25s ease;
  box-shadow:0 0 8px var(--fx-accent-glow);
}
[data-theme="light"] .theme-switch-knob{ transform:translateX(22px); }
.theme-switch-knob svg{ width:13px; height:13px; color:#04120f; }
.theme-switch-icon-moon{ display:block; }
.theme-switch-icon-sun{ display:none; }
[data-theme="light"] .theme-switch-icon-moon{ display:none; }
[data-theme="light"] .theme-switch-icon-sun{ display:block; }

.hero{ position:relative; padding:96px 0 100px; overflow:hidden; border-bottom:1px solid var(--line); }
.hero::before{ content:""; position:absolute; top:-30%; right:-10%; width:60%; height:160%; background:radial-gradient(circle, var(--accent-dim) 0%, transparent 65%); pointer-events:none; }
.hero-grid{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:56px; align-items:center; position:relative; z-index:1; }
.hero h1{ font-size:clamp(34px, 5vw, 54px); line-height:1.08; margin:18px 0 22px; }
.hero h1 em{ font-style:normal; color:var(--accent); }
.hero-sub{ font-size:15.5px; max-width:480px; margin-bottom:34px; }
.hero-actions{ display:flex; gap:16px; flex-wrap:wrap; margin-bottom:38px; }
.hero-badges{ display:flex; gap:10px; flex-wrap:wrap; }

.terminal{ background:var(--panel); border:1px solid var(--panel-border); border-radius:6px; overflow:hidden; box-shadow:0 30px 60px -20px rgba(0,0,0,0.6); }
.terminal-bar{ display:flex; align-items:center; gap:8px; padding:12px 16px; border-bottom:1px solid var(--panel-border); background:linear-gradient(180deg, rgba(255,255,255,0.02), transparent); }
.terminal-dot{ width:10px; height:10px; border-radius:50%; background:var(--text-faint); }
.terminal-dot:nth-child(1){ background:#ff5f57; }
.terminal-dot:nth-child(2){ background:#febc2e; }
.terminal-dot:nth-child(3){ background:#28c840; }
.terminal-title{ margin-left:8px; font-family:'Share Tech Mono', monospace; font-size:11px; color:var(--text-faint); letter-spacing:1px; }
.terminal-body{ padding:22px 20px 26px; font-family:'Share Tech Mono', monospace; font-size:13px; line-height:1.9; min-height:230px; }
.terminal-line{ color:var(--text-dim); white-space:pre-wrap; }
.terminal-ok{ color:var(--accent); }
.terminal-warn{ color:var(--danger); }
.cursor-blink{ display:inline-block; width:8px; height:14px; background:var(--accent); margin-left:2px; vertical-align:middle; animation:blink 1s step-end infinite; }
@keyframes blink{ 50%{ opacity:0; } }
.terminal-stats{ display:grid; grid-template-columns:repeat(3, 1fr); border-top:1px solid var(--panel-border); }
.terminal-stats div{ padding:16px 14px; text-align:center; border-right:1px solid var(--panel-border); }
.terminal-stats div:last-child{ border-right:none; }
.terminal-stats strong{ display:block; font-family:'Chakra Petch', sans-serif; font-size:20px; color:var(--text); }
.terminal-stats span{ font-family:'Share Tech Mono', monospace; font-size:9.5px; letter-spacing:1.5px; color:var(--text-faint); text-transform:uppercase; }

.statbar{ border-bottom:1px solid var(--line); background:var(--bg-soft); }
.statbar .container{ display:grid; grid-template-columns:repeat(4, 1fr); }
.stat-cell{ padding:28px 22px; border-right:1px solid var(--line); display:flex; flex-direction:column; gap:6px; }
.stat-cell:last-child{ border-right:none; }
.stat-cell .stat-top{ display:flex; align-items:center; gap:8px; font-family:'Share Tech Mono', monospace; font-size:10px; letter-spacing:2px; text-transform:uppercase; color:var(--text-faint); }
.stat-cell .stat-top .dot{ width:6px; height:6px; border-radius:50%; background:var(--accent); box-shadow:0 0 6px var(--accent-glow); animation:dot-pulse 2.4s ease-in-out infinite; }
.stat-cell strong{ font-family:'Chakra Petch', sans-serif; font-size:30px; color:var(--text); }

.services-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:0; border:1px solid var(--line); }
.service-card{ background:var(--bg); padding:32px 28px; position:relative; transition:background 0.25s ease; border-right:1px solid var(--line); border-bottom:1px solid var(--line); cursor: pointer; }
.service-card:nth-child(3n){ border-right:none; }
.service-card:hover{ background:var(--bg-soft); }
.service-index{ font-family:'Share Tech Mono', monospace; font-size:11px; letter-spacing:2px; color:var(--text-faint); margin-bottom:18px; display:block; }
.service-icon{ width:38px; height:38px; margin-bottom:18px; color:var(--accent); }
.service-icon svg{ width:100%; height:100%; }
.service-card h3{ font-size:17px; margin-bottom:10px; letter-spacing:0.3px; }
.service-card p{ font-size:13.5px; }
.service-status{ display:inline-flex; align-items:center; gap:6px; margin-top:20px; font-family:'Share Tech Mono', monospace; font-size:10px; letter-spacing:1.5px; text-transform:uppercase; color:var(--accent); }
.service-status .dot{ width:5px; height:5px; border-radius:50%; background:var(--accent); box-shadow:0 0 6px var(--accent-glow); }
.service-card.featured{ background:linear-gradient(180deg, var(--accent-dim), transparent); }
.service-card.featured .service-status{ color:var(--danger); }
.service-card.featured .service-status .dot{ background:var(--danger); box-shadow:0 0 6px var(--danger-glow); }

.service-card.cta-fill .cta-fill-plus{
  width:38px; height:38px; margin-bottom:18px;
  border:1px dashed var(--panel-border);
  border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  color:var(--accent);
  transition:border-color 0.25s ease, transform 0.25s ease;
}
.service-card.cta-fill:hover .cta-fill-plus{ border-color:var(--accent); transform:rotate(90deg); }
.service-card.cta-fill h3{ font-size:16px; margin-bottom:8px; }
.service-card.cta-fill p{ font-size:13px; }

.about{ border-bottom:1px solid var(--line); background:var(--bg-soft); }
.about-grid{ display:grid; grid-template-columns:0.85fr 1.15fr; gap:64px; align-items:center; }
.about-panel{ background:transparent; border:none; border-radius:0; padding:0; transition:background 0.3s ease, border-color 0.3s ease, padding 0.3s ease; }
[data-theme="light"] .about-panel{ background:var(--surface-fixed); border:1px solid var(--fx-panel-border); border-radius:10px; padding:28px; }
.about-panel img{ border-radius:0; filter:drop-shadow(0 0 30px var(--accent-dim)); width:100%; display:block; }
.about-list{ list-style:none; margin:26px 0 0; padding:0; display:flex; flex-direction:column; gap:18px; }
.about-list li{ display:flex; gap:14px; align-items:flex-start; font-size:14px; color:var(--text-dim); padding-bottom:18px; border-bottom:1px solid var(--line); }
.about-list li:last-child{ border-bottom:none; padding-bottom:0; }
.about-list .num{ font-family:'Share Tech Mono', monospace; color:var(--accent); font-size:12px; margin-top:2px; flex-shrink:0; }
.about-list strong{ color:var(--text); display:block; margin-bottom:4px; font-family:'Chakra Petch', sans-serif; font-size:15px; }

.clients{ border-bottom:1px solid var(--line); }
.clients-head{ text-align:center; margin-bottom:44px; }
.clients-grid{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:clamp(18px, 3vw, 28px); }
.client-logo{
  width:148px; height:72px;
  background:var(--surface-fixed);
  border:1px solid var(--panel-border);
  border-radius:9px;
  display:flex; justify-content:center; align-items:center;
  padding:10px 16px;
  opacity:0.75;
  filter:grayscale(0.4);
  transition:opacity 0.25s ease, filter 0.25s ease, transform 0.25s ease, border-color 0.25s ease;
}
.client-logo:hover{ opacity:1; filter:grayscale(0); transform:translateY(-2px); border-color:var(--accent); }
.client-logo a{ display:flex; width:100%; height:100%; justify-content:center; align-items:center; }
.client-logo img{ display:block; height:auto; max-height:100%; width:auto; max-width:100%; object-fit:contain; }

.lead-form-section{ background:var(--bg-soft); }
.cta-box{ background:var(--panel); border:1px solid var(--panel-border); border-radius:8px; padding:52px clamp(24px, 6vw, 64px); text-align:center; position:relative; overflow:hidden; }
.cta-box::before{ content:""; position:absolute; inset:0; background:radial-gradient(circle at 50% 0%, var(--accent-dim), transparent 60%); pointer-events:none; }
.cta-box h2{ font-size:clamp(24px, 3.6vw, 34px); max-width:620px; margin:0 auto 16px; position:relative; }
.cta-box p{ max-width:520px; margin:0 auto 32px; font-size:14.5px; position:relative; }
.b2b-form{ max-width:450px; margin: 0 auto; position:relative; text-align:left; }
.form-group{ margin-bottom:18px; position:relative; }
.form-group label{ display:block; margin-bottom:6px; }
.form-group input, .form-group select{ width:100%; background:var(--bg); border:1px solid var(--panel-border); padding:14px 16px; font-family:'Share Tech Mono', monospace; font-size:14px; color:var(--text); border-radius:var(--radius); transition:border-color 0.2s ease, box-shadow 0.2s ease; outline:none; }
.form-group input:focus, .form-group select:focus{ border-color:var(--accent); box-shadow:0 0 12px var(--accent-dim); }
.form-group input::placeholder{ color:var(--text-faint); }
.form-group select option{ background:var(--bg); color:var(--text); }

#contacto .cta-actions { display: flex !important; flex-direction: row !important; justify-content: center !important; align-items: center !important; flex-wrap: nowrap !important; gap: 16px; margin-top: 32px; }
@media (max-width: 720px) { #contacto .cta-actions { flex-wrap: wrap !important; width: 100%; } #contacto .cta-actions .btn { width: 100%; justify-content: center; } }

.footer{ padding:64px 0 32px; background:var(--fx-bg); border-top:1px solid var(--fx-line); }
.footer-grid{ display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:40px; padding-bottom:40px; }
.footer-brand{ display:flex; align-items:center; gap:12px; margin-bottom:16px; }
.footer-brand img{ height:38px; }
.footer-brand strong{ font-family:'Chakra Petch', sans-serif; font-size:16px; letter-spacing:2px; color:var(--fx-text); }
.footer-brand strong span{ color:var(--fx-accent); }
.footer p{ font-size:13px; max-width:320px; color:var(--fx-text-dim); }
.footer h4{ font-family:'Share Tech Mono', monospace; font-size:11px; letter-spacing:2.5px; text-transform:uppercase; color:var(--fx-text-faint); margin-bottom:18px; }
.footer-links{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.footer-links a{ text-decoration:none; color:var(--fx-text-dim); font-size:13.5px; transition:color 0.2s ease; }
.footer-links a:hover{ color:var(--fx-accent); }
.footer-bottom{ display:flex; justify-content:space-between; align-items:center; padding-top:28px; border-top:1px solid var(--fx-line); flex-wrap:wrap; gap:12px; }
.footer-bottom span{ font-family:'Share Tech Mono', monospace; font-size:11px; color:var(--fx-text-faint); letter-spacing:1px; }
.footer .divider{ display:none; }

.wa-float{ position:fixed; bottom:24px; right:24px; z-index:200; width:56px; height:56px; border-radius:50%; background:var(--accent); display:flex; align-items:center; justify-content:center; box-shadow:0 8px 24px var(--accent-glow); text-decoration:none; transition:transform 0.2s ease; }
.wa-float:hover{ transform:scale(1.08); }
.wa-float svg{ width:26px; height:26px; color:#04120f; }

.reveal{ opacity:0; transform:translateY(18px); transition:opacity 0.7s ease, transform 0.7s ease; }
.reveal.is-visible{ opacity:1; transform:translateY(0); }

@media (max-width: 980px){
  .hero-grid{ grid-template-columns:1fr; }
  .about-grid{ grid-template-columns:1fr; }
  .about-panel{ max-width:360px; margin:0 auto; }
  .services-grid{ grid-template-columns:repeat(2, 1fr); }
  .service-card:nth-child(3n){ border-right:1px solid var(--line); }
  .service-card:nth-child(2n){ border-right:none; }
  .statbar .container{ grid-template-columns:repeat(2, 1fr); }
  .stat-cell:nth-child(2){ border-right:none; }
  .stat-cell{ border-bottom:1px solid var(--line); }
  .footer-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 720px){
  .nav-links{ position:fixed; top:96px; left:0; right:0; background:var(--bg); flex-direction:column; align-items:flex-start; gap:0; padding:8px 24px 24px; border-bottom:1px solid var(--line); transform:translateY(-8px); opacity:0; pointer-events:none; transition:opacity 0.2s ease, transform 0.2s ease; }
  .nav-links.open{ opacity:1; transform:translateY(0); pointer-events:auto; }
  .nav-links li{ width:100%; padding:12px 0; border-bottom:1px solid var(--line); }
  .nav-links li:last-child{ border-bottom:none; padding-top:18px; }
  .nav-toggle{ display:flex; }
  .services-grid{ grid-template-columns:1fr; }
  .service-card:nth-child(n){ border-right:none; border-left:none; }
  .footer-grid{ grid-template-columns:1fr; gap:32px; }
  .terminal-stats{ grid-template-columns:1fr; }
  .terminal-stats div{ border-right:none; border-bottom:1px solid var(--panel-border); }
  .terminal-stats div:last-child{ border-bottom:none; }
}
@media (max-width: 480px){
  .section{ padding:76px 0; } .hero{ padding-top:60px; }
  .nav-brand-text small{ display:none; }
  .nav-brand img{ height:38px; }
  .theme-switch{ width:46px; height:25px; }
  .theme-switch-knob{ width:19px; height:19px; }
  [data-theme="light"] .theme-switch-knob{ transform:translateX(19px); }
  .nav-right{ gap:14px; }
}

/* ---------- ACCESIBILIDAD MOBILE ---------- */
/* En pantallas chicas subimos un poco los tamaños más finos y el contraste
   del texto secundario, para que se lea bien sin perder la estética. */
@media (max-width: 600px){
  p{ font-size:15.5px; line-height:1.8; }
  :root, [data-theme="light"]{ --text-dim: #93a8b0; }
  [data-theme="light"]{ --text-dim: #3c4a50; }
  .badge{ font-size:11.5px; padding:6px 11px; }
  .service-card p{ font-size:14.5px; }
  .service-status{ font-size:11px; }
  .nav-brand-text small{ font-size:9.5px; }
  .stat-cell .stat-top{ font-size:10.5px; }
  .footer-links a{ font-size:14.5px; }
  .terminal-body{ font-size:13.5px; }
}