:root {
            --bg: #ffffff;
            --text: #000000;
            --accent: #0066ff;
            --muted: #888888;
        }
        /* SCROLL SNAP */
        html {
            scroll-behavior: smooth;
            scroll-snap-type: y mandatory;
        }
        body {
            background-color: var(--bg);
            color: var(--text);
            font-family: 'Inter', sans-serif;
            margin: 0;
            -webkit-font-smoothing: antialiased;
            overflow-x: hidden;
        }
        /* NAVBAR */
        .navbar {
            padding: 25px 0;
            background: rgba(255,255,255,0.9);
            backdrop-filter: blur(10px);
            z-index: 1000;
            border-bottom: 1px solid rgba(0,0,0,0.05);
        }
        .nav-link {
            font-size: 12px;
            font-weight: 700;
            letter-spacing: 1px;
            color: var(--text) !important;
            text-transform: uppercase;
        }
        .nav-num { color: var(--muted); margin-right: 5px; font-weight: 400; font-family: monospace; }
        /* SECCIONES */
        .section-full {
            height: 100vh;
            display: flex;
            align-items: center;
            scroll-snap-align: start;
            scroll-snap-stop: always;
            position: relative;
            padding: 0 8%;
        }
        /* HERO & BACKGROUND */
        .hero-title {
            font-size: clamp(2.5rem, 8vw, 7rem);
            font-weight: 900;
            line-height: 0.85;
            letter-spacing: -4px;
            margin-bottom: 25px;
        }
        .hero-sub {
            font-size: 12px;
            letter-spacing: 3px;
            text-transform: uppercase;
            color: var(--muted);
            margin-bottom: 15px;
            display: block;
        }
        .hero-bg {
            position: absolute;
            right: 0;
            width: 50%;
            height: 90%;
            background: url('../assets/gemini3.png') no-repeat center right;
            background-size: contain;
            z-index: -1;
            opacity: 0.85;
        }
        /* BOTONES */
        .btn-augen {
            border: 1px solid var(--text);
            padding: 18px 45px;
            font-size: 11px;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 2px;
            transition: 0.3s cubic-bezier(0.23, 1, 0.32, 1);
            color: var(--text);
            text-decoration: none;
            display: inline-block;
            background: transparent;
        }
        .btn-augen:hover { background: var(--text); color: var(--bg); transform: translateY(-2px); }
        /* TECH GRID */
        .tech-grid {
            display: grid;
            grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
            gap: 30px;
            width: 100%;
        }
        .tech-card {
            border-top: 1px solid #eee;
            padding-top: 25px;
            transition: 0.3s ease;
        }
        .tech-card:hover { border-top-color: var(--accent); transform: translateY(-5px); }
        .tech-card i { font-size: 2rem; margin-bottom: 12px; display: block; color: var(--text); }
        .tech-card h4 { font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px; margin: 0; }
        /* FORMULARIO */
        input, textarea {
            background: transparent !important;
            border: none !important;
            border-bottom: 1px solid #ccc !important;
            border-radius: 0 !important;
            padding-left: 0 !important;
            font-size: 1.1rem !important;
            transition: 0.4s !important;
        }
        input:focus, textarea:focus {
            border-bottom-color: var(--accent) !important;
            box-shadow: none !important;
        }
        .flag-btn { background: none; border: none; font-size: 18px; opacity: 0.3; transition: 0.3s; }
        .flag-btn.active { opacity: 1; transform: scale(1.1); }
        /* RESPONSIVE */
        @media (max-width: 991px) {
            .section-full { height: auto; min-height: 100vh; padding: 100px 5% 50px; scroll-snap-align: none; }
            .hero-bg { opacity: 0.15; width: 100%; right: 0; }
            .hero-title { font-size: 3.5rem; }
            .tech-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
        }

/* ===== PRODUCTO MÉDULAR ===== */
.hl { color: var(--accent); font-weight: 700; }
.sec-eyebrow { font-size: 11px; letter-spacing: 2px; text-transform: uppercase; color: var(--muted); font-family: monospace; }
.prod-fig { font-size: 3rem; font-weight: 900; line-height: 1; letter-spacing: -2px; }
.prod-lab { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; color: var(--muted); margin-top: 6px; }
.prod-badge { display:inline-block; border-radius:100px; padding:10px 20px; font-size:11px; font-weight:700;
  color:var(--muted); background:#f3f4f6; margin:0 8px 9px 0; transition:.35s cubic-bezier(.23,1,.32,1); }
.prod-badge.key { color:var(--accent); background:rgba(0,102,255,.09); font-weight:800; }
.prod-badge:hover { transform:translateY(-2px); }
.mod-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; width:100%; }
.mod-card { background:#fff; border-radius:22px; padding:24px 22px 26px; box-shadow:0 2px 18px rgba(0,0,0,.055);
  transition:transform .45s cubic-bezier(.23,1,.32,1), box-shadow .45s; }
.mod-card:hover { transform:translateY(-7px); box-shadow:0 16px 44px rgba(0,0,0,.11); }
.mod-icon { width:46px; height:46px; border-radius:15px; background:#f2f4f7; display:flex; align-items:center;
  justify-content:center; margin-bottom:18px; transition:.45s cubic-bezier(.23,1,.32,1); }
.mod-card:hover .mod-icon { background:rgba(0,102,255,.1); }
.mod-icon i { font-size:1.15rem; color:var(--text); transition:.45s; }
.mod-card:hover .mod-icon i { color:var(--accent); }
.mod-card h4 { font-size:14px; font-weight:700; letter-spacing:-.2px; margin:0 0 8px; }
.mod-card p { font-size:13px; color:var(--muted); margin:0; line-height:1.55; }
.claim-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-top:30px; }
.claim { background:rgba(0,102,255,.045); border-radius:22px; padding:24px 22px;
  transition:transform .45s cubic-bezier(.23,1,.32,1), background .45s; }
.claim:hover { transform:translateY(-7px); background:rgba(0,102,255,.09); }
.claim h5 { font-size:14px; font-weight:800; margin:0 0 9px; color:var(--accent); letter-spacing:-.2px; }
.claim p { font-size:13px; color:#6b7280; margin:0; line-height:1.55; }
/* NAV MÓVIL */
.nav-burger { background:none; border:none; font-size:20px; color:var(--text); padding:4px 8px; line-height:1; }
.mobile-menu { position:fixed; top:0; left:0; right:0; background:rgba(255,255,255,.98); backdrop-filter:blur(20px);
  padding:90px 8% 36px; z-index:999; transform:translateY(-105%); transition:transform .5s cubic-bezier(.23,1,.32,1);
  border-bottom:1px solid rgba(0,0,0,.06); }
.mobile-menu.open { transform:translateY(0); }
.mobile-menu a { display:block; padding:15px 0; font-size:19px; font-weight:700; letter-spacing:-.4px;
  color:var(--text); text-decoration:none; border-bottom:1px solid rgba(0,0,0,.05); }
.mobile-menu a:last-child { border-bottom:none; }
#productos { height:auto; min-height:100vh; padding-top:120px; padding-bottom:80px; }
@media (max-width: 991px) {
  html { scroll-snap-type:none; }
  #productos { padding:95px 5% 65px !important; min-height:0; }
  .mod-grid { grid-template-columns:repeat(2,1fr); gap:12px; }
  .mod-card { padding:20px 18px 22px; border-radius:18px; }
  .mod-icon { width:40px; height:40px; border-radius:13px; margin-bottom:14px; }
  .claim-grid { grid-template-columns:1fr; gap:12px; margin-top:22px; }
  .claim { border-radius:18px; padding:20px 18px; }
  .prod-fig { font-size:2.3rem; }
  .prod-badge { font-size:10.5px; padding:9px 16px; }
}
@media (max-width: 400px) { .mod-grid { grid-template-columns:1fr; } }
