/* ==========================================================================
   NEXUS DIGITAL | CORE STYLESHEET v2.0 (2026)
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Space+Grotesk:wght@500;600&display=swap');

body { font-family: 'Inter', sans-serif; }
.title-font { font-family: 'Space Grotesk', sans-serif; }
.glow-blue { text-shadow: 0 0 20px #00d4ff; }
html { scroll-behavior: smooth; }

/* =========================================
   FORMULARIO DE AUDITORÍA
   ========================================= */
.audit-section { padding: 4rem 1rem; background-color: #08080c; border-top: 1px solid #1a1a24; }
.nexus-form-container { max-width: 650px; margin: 0 auto; padding: 2.5rem; background-color: #0d0d12; border: 1px solid #2a2a35; border-radius: 8px; box-shadow: 0 0 20px rgba(110, 60, 255, 0.05); font-family: 'Inter', sans-serif; color: #e2e8f0; }
.nexus-form-container h3 { color: #a78bfa; margin-bottom: 0.5rem; font-size: 1.5rem; display: flex; align-items: center; gap: 10px;}
.nexus-form-container p.subtitle { font-size: 0.9rem; color: #94a3b8; margin-bottom: 2rem; }
.nexus-form-group { margin-bottom: 1.5rem; }
.nexus-form-group label { display: block; margin-bottom: 0.5rem; font-size: 0.85rem; font-weight: 600; color: #cbd5e1; text-transform: uppercase; letter-spacing: 0.05em; }
.nexus-input { width: 100%; padding: 0.75rem; background-color: #15151e; border: 1px solid #334155; border-radius: 4px; color: #ffffff; font-size: 1rem; transition: all 0.3s ease; box-sizing: border-box; }
.nexus-input:focus { outline: none; border-color: #8b5cf6; box-shadow: 0 0 10px rgba(139, 92, 246, 0.3); }
.nexus-input::placeholder { color: #475569; }
textarea.nexus-input { resize: vertical; min-height: 100px; }
.nexus-checkbox-group { display: flex; align-items: flex-start; gap: 10px; font-size: 0.85rem; color: #94a3b8; }
.nexus-submit-btn { width: 100%; padding: 1rem; background: linear-gradient(135deg, #6d28d9 0%, #4c1d95 100%); color: white; border: none; border-radius: 4px; font-size: 1rem; font-weight: bold; cursor: pointer; text-transform: uppercase; letter-spacing: 0.1em; transition: transform 0.2s, box-shadow 0.2s; margin-top: 1rem; display: flex; justify-content: center; align-items: center; gap: 10px;}
.nexus-submit-btn:hover { transform: translateY(-2px); box-shadow: 0 5px 15px rgba(109, 40, 217, 0.4); }

/* =========================================
   SENTINEL & TERMINAL UI
   ========================================= */
.sentinel-container { background: #0a0a0f; border: 1px solid #00d4ff30; border-radius: 16px; padding: 3rem; }
.version-tag { background: rgba(0, 212, 255, 0.1); color: #00d4ff; padding: 4px 12px; border-radius: 20px; font-size: 0.75rem; font-weight: 700; font-family: monospace; border: 1px solid rgba(0, 212, 255, 0.3); display: inline-block; margin-bottom: 1rem; letter-spacing: 1px; }
.sentinel-header h2 { font-size: 2.2rem; font-weight: bold; margin-bottom: 1.5rem; display: flex; align-items: center; gap: 10px; }
.sentinel-lead { font-size: 1.1rem; color: #94a3b8; margin-bottom: 2rem; line-height: 1.6; }
.sentinel-list { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 1rem; }
.sentinel-list li { color: #cbd5e1; display: flex; gap: 10px; align-items: flex-start; }
.sentinel-list li i { color: #00d4ff; margin-top: 4px; }

.terminal-window { background: #050508; border: 1px solid #1a1a24; border-radius: 8px; overflow: hidden; font-family: monospace; box-shadow: 0 10px 30px rgba(0,212,255,0.05); }
.terminal-bar { background: #111; padding: 10px 15px; display: flex; gap: 8px; border-bottom: 1px solid #222; align-items: center; }
.dot { width: 12px; height: 12px; border-radius: 50%; }
.dot.red { background: #ff5f56; }
.dot.yellow { background: #ffbd2e; }
.dot.green { background: #27c93f; }
.terminal-bar .title { color: #666; font-size: 0.8rem; margin-left: auto; font-family: 'Inter', sans-serif; }
.terminal-body { padding: 1.5rem; color: #00ff9d; font-size: 0.9rem; line-height: 1.7; }
.terminal-body span { color: #00d4ff; margin-right: 8px; font-weight: bold; }
.terminal-body .line3 { color: #ff5f56; }
.terminal-body .line5 { color: #a78bfa; }
.cursor { display: inline-block; animation: blink 1s step-end infinite; }
@keyframes blink { 50% { opacity: 0; } }

/* =========================================
   ARSENAL SECTION
   ========================================= */
.tagline { color: #94a3b8; font-size: 1.1rem; max-width: 600px; margin: 1rem auto 0; }
.service-card { background: #0d0d12; border: 1px solid #1a1a24; border-radius: 16px; padding: 2.5rem; transition: all 0.3s ease; display: flex; flex-direction: column; justify-content: space-between; height: 100%; }
.service-card:hover { border-color: #00d4ff; box-shadow: 0 10px 30px rgba(0, 212, 255, 0.05); transform: translateY(-5px); }
.service-card h3 { font-size: 1.5rem; font-weight: bold; margin-bottom: 1rem; color: #fff; }
.service-card p { color: #94a3b8; line-height: 1.6; flex-grow: 1; }
.icon { font-size: 2.5rem; color: #00d4ff; margin-bottom: 1.5rem; }
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 1rem 1.5rem; border-radius: 8px; font-weight: bold; transition: all 0.3s; margin-top: 2rem; text-decoration: none; text-transform: uppercase; font-size: 0.9rem; letter-spacing: 0.05em; }
.secondary-btn { background: transparent; border: 1px solid #00d4ff; color: #00d4ff; }
.secondary-btn:hover { background: #00d4ff; color: #000; box-shadow: 0 0 15px rgba(0,212,255,0.4); }
