:root {
    --amarillo:    #F5B800;
    --amarillo2:   #FFD040;
    --oscuro:      #1a1b1e;
    --oscuro2:     #222428;
    --oscuro3:     #2a2c30;
    --blanco:      #ffffff;
    --gris-claro:  #f0f0f0;
    --gris-texto:  #aaaaaa;
    --texto:       #1a1b1e;
  }

  * { margin:0; padding:0; box-sizing:border-box; }
  html { scroll-behavior: smooth; }
  body { font-family:"Barlow",sans-serif; background:var(--oscuro); color:var(--blanco); overflow-x:hidden; }

  /* NAV */
  nav {
    position:fixed; top:0; left:0; right:0; z-index:100;
    display:flex; align-items:center; justify-content:space-between;
    padding:0 60px; height:76px;
    background:rgba(26,27,30,0.97);
    backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(245,184,0,0.15);
  }
  .nav-logo img { height:42px; }
  .nav-links { display:flex; gap:32px; list-style:none; }
  .nav-links a { font-size:13px; font-weight:600; letter-spacing:1px; text-transform:uppercase; color:rgba(255,255,255,0.6); text-decoration:none; transition:color .2s; }
  .nav-links a:hover { color:var(--amarillo); }
  .nav-cta { background:var(--amarillo) !important; color:var(--oscuro) !important; padding:11px 26px; font-weight:700 !important; border-radius:6px; letter-spacing:.5px !important; transition:all .2s !important; }
  .nav-cta:hover { background:var(--amarillo2) !important; transform:translateY(-1px); }

  /* HERO */
  #hero { min-height:100vh; display:grid; grid-template-columns:1fr 1fr; padding-top:76px; overflow:hidden; }

  .hero-left { display:flex; flex-direction:column; justify-content:center; padding:80px 60px; }

  .hero-badge {
    display:inline-flex; align-items:center; gap:8px;
    border:1px solid rgba(245,184,0,0.4); background:rgba(245,184,0,0.07);
    color:var(--amarillo); font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase;
    padding:7px 16px; border-radius:4px; margin-bottom:36px; width:fit-content;
  }
  .hero-badge::before { content:""; width:7px; height:7px; background:var(--amarillo); border-radius:50%; animation:pulse 2s infinite; }
  @keyframes pulse { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:.4;transform:scale(1.5)} }

  h1 {
    font-family:"Oswald",sans-serif; font-size:clamp(50px,5.5vw,82px);
    font-weight:700; line-height:1; letter-spacing:-1px; margin-bottom:28px;
    text-transform:uppercase;
  }
  h1 .accent { color:var(--amarillo); }
  h1 .dim { color:rgba(255,255,255,.35); }

  .hero-sub { font-size:17px; line-height:1.8; color:rgba(255,255,255,.65); max-width:480px; margin-bottom:48px; font-weight:400; }
  .hero-sub strong { color:var(--blanco); font-weight:600; }

  .hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:64px; }

  .btn-primary {
    background:var(--amarillo); color:var(--oscuro); padding:16px 34px;
    font-family:"Barlow Condensed",sans-serif; font-size:15px; font-weight:800;
    letter-spacing:1.5px; text-transform:uppercase; text-decoration:none;
    border:none; border-radius:6px; cursor:pointer; transition:all .2s; display:inline-block;
    box-shadow:0 4px 20px rgba(245,184,0,.3);
  }
  .btn-primary:hover { background:var(--amarillo2); transform:translateY(-2px); box-shadow:0 8px 28px rgba(245,184,0,.4); }

  .btn-ghost {
    background:transparent; color:var(--blanco); padding:16px 34px;
    font-family:"Barlow Condensed",sans-serif; font-size:15px; font-weight:700;
    letter-spacing:1.5px; text-transform:uppercase; text-decoration:none;
    border:1.5px solid rgba(255,255,255,.2); border-radius:6px;
    cursor:pointer; transition:all .2s; display:inline-block;
  }
  .btn-ghost:hover { border-color:var(--amarillo); color:var(--amarillo); transform:translateY(-2px); }

  .hero-stats { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgba(255,255,255,.08); padding-top:40px; }
  .stat { padding-right:24px; }
  .stat:not(:first-child) { padding-left:24px; border-left:1px solid rgba(255,255,255,.08); }
  .stat-num { font-family:"Oswald",sans-serif; font-size:40px; font-weight:700; color:var(--amarillo); line-height:1; margin-bottom:6px; }
  .stat-label { font-size:12px; color:rgba(255,255,255,.5); font-weight:500; line-height:1.4; }

  /* Hero Right */
  .hero-right {
    position:relative; overflow:hidden;
    min-height:600px;
  }
  .hero-right::before {
    content:""; position:absolute; inset:0;
    background-image: linear-gradient(rgba(245,184,0,.04) 1px,transparent 1px), linear-gradient(90deg,rgba(245,184,0,.04) 1px,transparent 1px);
    background-size:48px 48px;
  }
  .hero-visual { position:relative; z-index:2; display:flex; align-items:center; justify-content:center; width:100%; height:100%; padding:60px; }
  .hero-diagram { position:relative; width:320px; height:320px; }

  .ring { position:absolute; border-radius:50%; border:1px solid rgba(245,184,0,.15); }
  .ring:nth-child(1) { inset:0; animation:spin 28s linear infinite; border-style:dashed; border-color:rgba(245,184,0,.2); }
  .ring:nth-child(2) { inset:44px; animation:spin 20s linear infinite reverse; }
  .ring:nth-child(3) { inset:90px; animation:spin 14s linear infinite; border-color:rgba(245,184,0,.25); }
  @keyframes spin { to { transform:rotate(360deg); } }

  .center-blob {
    position:absolute; inset:110px;
    background:linear-gradient(135deg, #F5B800, #FFD040);
    border-radius:50%; display:flex; align-items:center; justify-content:center; flex-direction:column;
    box-shadow:0 0 60px rgba(245,184,0,.4); animation:breathe 4s ease-in-out infinite;
  }
  @keyframes breathe { 0%,100%{transform:scale(1);box-shadow:0 0 60px rgba(245,184,0,.4)} 50%{transform:scale(1.05);box-shadow:0 0 90px rgba(245,184,0,.6)} }
  .center-blob span { font-size:34px; }
  .center-blob p { font-family:"Oswald",sans-serif; font-size:10px; font-weight:600; letter-spacing:2px; color:rgba(26,27,30,.8); margin-top:4px; }

  .orbit-node {
    position:absolute; width:44px; height:44px;
    background:var(--oscuro3); border:1px solid rgba(245,184,0,.25);
    border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:18px;
    box-shadow:0 4px 16px rgba(0,0,0,.3);
  }
  .orbit-node:nth-child(5) { top:-8px; left:50%; transform:translateX(-50%); animation:fn1 3s ease-in-out infinite; }
  .orbit-node:nth-child(6) { bottom:-8px; left:50%; transform:translateX(-50%); animation:fn2 3s ease-in-out infinite 1s; }
  .orbit-node:nth-child(7) { left:-8px; top:50%; transform:translateY(-50%); animation:fn3 3s ease-in-out infinite .5s; }
  .orbit-node:nth-child(8) { right:-8px; top:50%; transform:translateY(-50%); animation:fn4 3s ease-in-out infinite 1.5s; }
  @keyframes fn1 { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(-7px)} }
  @keyframes fn2 { 0%,100%{transform:translateX(-50%) translateY(0)} 50%{transform:translateX(-50%) translateY(7px)} }
  @keyframes fn3 { 0%,100%{transform:translateY(-50%) translateX(0)} 50%{transform:translateY(-50%) translateX(-7px)} }
  @keyframes fn4 { 0%,100%{transform:translateY(-50%) translateX(0)} 50%{transform:translateY(-50%) translateX(7px)} }

  .float-card {
    position:absolute; background:var(--oscuro3); border-radius:12px; padding:14px 20px;
    box-shadow:0 8px 32px rgba(0,0,0,.4); border:1px solid rgba(245,184,0,.15);
  }
  .float-card.fc1 { bottom:52px; left:28px; animation:fc 5s ease-in-out infinite .5s; }
  .float-card.fc2 { top:52px; right:28px; animation:fc 5s ease-in-out infinite 1.5s; }
  @keyframes fc { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-8px)} }
  .fc-val { font-family:"Oswald",sans-serif; font-size:24px; font-weight:700; color:var(--amarillo); line-height:1; }
  .fc-label { font-size:11px; color:rgba(255,255,255,.5); margin-top:4px; font-weight:500; }

  /* BARRA VALOR */
  #valor {
    background:var(--amarillo); padding:22px 60px;
    display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;
  }
  .valor-text { font-family:"Oswald",sans-serif; font-size:20px; font-weight:700; color:var(--oscuro); letter-spacing:.5px; text-transform:uppercase; }
  .valor-items { display:flex; gap:48px; }
  .valor-item { text-align:center; }
  .valor-num { font-family:"Oswald",sans-serif; font-size:28px; font-weight:700; color:var(--oscuro); line-height:1; }
  .valor-desc { font-size:11px; font-weight:700; color:rgba(26,27,30,.6); margin-top:3px; letter-spacing:.5px; text-transform:uppercase; }

  /* SECCIONES */
  section { padding:96px 60px; }

  .section-tag {
    font-size:11px; font-weight:700; letter-spacing:3px; text-transform:uppercase;
    color:var(--amarillo); margin-bottom:14px; display:flex; align-items:center; gap:10px;
  }
  .section-tag::before { content:""; width:24px; height:2px; background:var(--amarillo); }

  .section-title { font-family:"Oswald",sans-serif; font-size:clamp(32px,3.5vw,54px); font-weight:700; letter-spacing:-.5px; line-height:1.05; text-transform:uppercase; }
  .section-title .dim { color:rgba(255,255,255,.3); }
  .section-header { margin-bottom:56px; }



  /* VIDEO */
  #video-operacion { background:var(--oscuro); text-align:center; }
  .video-wrapper {
    position:relative; max-width:900px; margin:48px auto 0;
    border-radius:4px; overflow:hidden;
    box-shadow:0 24px 80px rgba(0,0,0,.6);
    border:1px solid rgba(245,184,0,.2);
  }
  .video-wrapper iframe { width:100%; height:506px; display:block; border:none; }
  .video-placeholder {
    width:100%; height:506px; background:var(--oscuro2);
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:16px;
  }
  .play-btn {
    width:80px; height:80px; background:var(--amarillo); border-radius:50%;
    display:flex; align-items:center; justify-content:center;
    font-size:30px; cursor:pointer; transition:transform .2s, box-shadow .2s;
    box-shadow:0 0 40px rgba(245,184,0,.4);
  }
  .play-btn:hover { transform:scale(1.1); box-shadow:0 0 60px rgba(245,184,0,.6); }
  .video-label { font-family:"Oswald",sans-serif; font-size:14px; letter-spacing:3px; text-transform:uppercase; color:rgba(255,255,255,.4); }
  .video-caption { font-size:14px; color:rgba(255,255,255,.4); margin-top:20px; max-width:600px; margin-left:auto; margin-right:auto; line-height:1.7; }

  /* INVERSIÓN */
  #inversion { background:var(--oscuro2); }
  .inversion-intro { font-size:18px; color:rgba(255,255,255,.65); line-height:1.8; max-width:680px; margin-bottom:60px; }
  .inversion-intro strong { color:var(--blanco); }
  .mercado-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; margin-bottom:60px; }
  .mercado-card { background:var(--oscuro3); padding:36px 28px; position:relative; overflow:hidden; }
  .mercado-card::after { content:""; position:absolute; bottom:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--amarillo),transparent); }
  .mercado-num { font-family:"Oswald",sans-serif; font-size:42px; font-weight:700; color:var(--amarillo); line-height:1; letter-spacing:-1px; margin-bottom:6px; }
  .mercado-label { font-size:12px; font-weight:700; color:rgba(255,255,255,.5); text-transform:uppercase; letter-spacing:1px; line-height:1.4; }

  .ventajas-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; }
  .ventaja-card { background:var(--oscuro3); padding:40px 36px; display:flex; gap:20px; align-items:flex-start; }
  .ventaja-icon { font-size:32px; flex-shrink:0; margin-top:4px; }
  .ventaja-title { font-family:"Oswald",sans-serif; font-size:20px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; margin-bottom:10px; }
  .ventaja-desc { font-size:14px; color:rgba(255,255,255,.55); line-height:1.7; }

  .inversion-cta { margin-top:56px; display:flex; align-items:center; gap:24px; flex-wrap:wrap; }
  .inversion-cta p { font-size:14px; color:rgba(255,255,255,.4); }

  /* FAQ */
  #faq { background:var(--oscuro); }
  .faq-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; margin-top:56px; }
  .faq-item { background:var(--oscuro2); padding:36px; cursor:pointer; border-left:3px solid transparent; transition:border-color .2s; }
  .faq-item:hover { border-left-color:var(--amarillo); }
  .faq-q { font-family:"Oswald",sans-serif; font-size:18px; font-weight:700; letter-spacing:.3px; margin-bottom:12px; display:flex; justify-content:space-between; align-items:flex-start; gap:12px; }
  .faq-q span { color:var(--amarillo); font-size:20px; flex-shrink:0; }
  .faq-a { font-size:14px; color:rgba(255,255,255,.55); line-height:1.75; }

  /* RESPONSIVE NUEVO */
  @media (max-width:1024px) {
    .mercado-grid { grid-template-columns:1fr 1fr; }
    .ventajas-grid, .faq-grid { grid-template-columns:1fr; }
    .video-wrapper iframe, .video-placeholder { height:240px; }
  }



  /* MODAL PDF */
  .modal-overlay {
    display:none; position:fixed; inset:0; z-index:200;
    background:rgba(0,0,0,0.85); backdrop-filter:blur(8px);
    align-items:center; justify-content:center;
  }
  .modal-overlay.open { display:flex; }
  .modal-box {
    background:var(--oscuro2); width:100%; max-width:520px;
    margin:20px; border:1px solid rgba(245,184,0,0.2);
    border-top:3px solid var(--amarillo);
    animation:modalIn .3s ease;
  }
  @keyframes modalIn { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:translateY(0)} }
  .modal-header { padding:28px 32px 20px; border-bottom:1px solid rgba(255,255,255,0.06); }
  .modal-title { font-family:"Oswald",sans-serif; font-size:22px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--blanco); }
  .modal-sub { font-size:13px; color:rgba(255,255,255,.45); margin-top:6px; }
  .modal-body { padding:24px 32px; }
  .modal-field { margin-bottom:16px; }
  .modal-label { font-size:11px; font-weight:700; color:rgba(255,255,255,.4); text-transform:uppercase; letter-spacing:1px; display:block; margin-bottom:6px; }
  .modal-input {
    width:100%; background:var(--oscuro3); border:1px solid rgba(255,255,255,.1);
    color:var(--blanco); padding:12px 16px; font-family:"Barlow",sans-serif;
    font-size:14px; outline:none; transition:border-color .2s;
  }
  .modal-input:focus { border-color:var(--amarillo); }
  .modal-footer { padding:16px 32px 28px; display:flex; gap:12px; }
  .modal-cancel { flex:1; padding:14px; background:transparent; border:1px solid rgba(255,255,255,.15); color:rgba(255,255,255,.5); font-family:"Barlow Condensed",sans-serif; font-size:14px; font-weight:700; letter-spacing:1px; text-transform:uppercase; cursor:pointer; transition:all .2s; }
  .modal-cancel:hover { border-color:rgba(255,255,255,.35); color:var(--blanco); }
  .modal-generate { flex:2; padding:14px; background:var(--amarillo); border:none; color:var(--oscuro); font-family:"Barlow Condensed",sans-serif; font-size:15px; font-weight:800; letter-spacing:1px; text-transform:uppercase; cursor:pointer; transition:all .2s; }
  .modal-generate:hover { background:var(--amarillo2); }
  .modal-generate:disabled { opacity:.5; cursor:not-allowed; }

  /* VALIDACIÓN TECNOLÓGICA */
  #validacion { background:var(--oscuro); }
  .validacion-grid { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:start; margin-top:52px; }
  .validacion-text p { font-size:15px; line-height:1.85; color:rgba(255,255,255,.6); margin-bottom:18px; }
  .validacion-text p strong { color:var(--blanco); }
  .validacion-checks { display:flex; flex-direction:column; gap:12px; margin-top:28px; }
  .v-check { display:flex; align-items:center; gap:14px; padding:14px 18px; background:var(--oscuro3); border-left:3px solid var(--amarillo); }
  .v-check-icon { font-size:20px; flex-shrink:0; }
  .v-check-text { font-size:13px; color:rgba(255,255,255,.7); font-weight:500; }
  .specs-panel { background:var(--oscuro2); padding:40px; }
  .specs-title { font-family:"Oswald",sans-serif; font-size:16px; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--amarillo); margin-bottom:24px; }
  .spec-row { display:flex; justify-content:space-between; align-items:center; padding:14px 0; border-bottom:1px solid rgba(255,255,255,.06); }
  .spec-row:last-child { border-bottom:none; }
  .spec-key-label { font-size:13px; color:rgba(255,255,255,.45); font-weight:500; }
  .spec-val-label { font-family:"Barlow Condensed",sans-serif; font-size:15px; font-weight:700; color:var(--blanco); text-align:right; }
  .spec-products { margin-top:20px; padding-top:20px; border-top:1px solid rgba(255,255,255,.06); }
  .spec-products-title { font-size:11px; color:rgba(255,255,255,.35); text-transform:uppercase; letter-spacing:1px; margin-bottom:12px; }
  .products-list { display:flex; flex-direction:column; gap:8px; }
  .product-tag { display:inline-flex; align-items:center; gap:8px; background:rgba(245,184,0,.08); border:1px solid rgba(245,184,0,.2); padding:8px 14px; font-size:13px; color:var(--amarillo); font-weight:600; }
  .product-tag::before { content:"→"; }

  /* ROADMAP */
  #roadmap { background:var(--oscuro2); }
  .roadmap-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; margin-top:52px; position:relative; }
  .roadmap-steps::before { content:""; position:absolute; top:35px; left:10%; right:10%; height:2px; background:linear-gradient(90deg,var(--amarillo),rgba(245,184,0,.15)); z-index:0; }
  .roadmap-step { background:var(--oscuro3); padding:36px 28px; position:relative; z-index:1; transition:background .2s; }
  .roadmap-step:hover { background:#2e3035; }
  .roadmap-step.active { background:var(--oscuro3); border-top:3px solid var(--amarillo); }
  .roadmap-num { font-family:"Oswald",sans-serif; font-size:48px; font-weight:700; color:rgba(245,184,0,.15); line-height:1; margin-bottom:16px; letter-spacing:-2px; }
  .roadmap-step.active .roadmap-num { color:var(--amarillo); }
  .roadmap-badge { display:inline-block; font-size:10px; font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:4px 10px; margin-bottom:12px; }
  .badge-done { background:rgba(5,150,105,.15); color:#34d399; border:1px solid rgba(5,150,105,.3); }
  .badge-active { background:rgba(245,184,0,.15); color:var(--amarillo); border:1px solid rgba(245,184,0,.3); }
  .badge-next { background:rgba(255,255,255,.05); color:rgba(255,255,255,.35); border:1px solid rgba(255,255,255,.1); }
  .roadmap-title { font-family:"Oswald",sans-serif; font-size:20px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; margin-bottom:10px; }
  .roadmap-desc { font-size:13px; color:rgba(255,255,255,.5); line-height:1.65; }

  @media (max-width:1024px) {
    .validacion-grid { grid-template-columns:1fr; gap:36px; }
    .roadmap-steps { grid-template-columns:1fr 1fr; gap:2px; }
    .roadmap-steps::before { display:none; }
  }
  @media (max-width:640px) {
    .roadmap-steps { grid-template-columns:1fr; }
    .validacion-grid { gap:24px; }
  }

  /* QUIÉNES SOMOS */
  #quienes-somos { background:var(--oscuro2); }
  .quienes-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; margin-top:56px; }
  .quienes-text p { font-size:16px; line-height:1.85; color:rgba(255,255,255,.6); margin-bottom:20px; }
  .quienes-text p strong { color:var(--blanco); font-weight:600; }
  .quienes-pillars { display:grid; grid-template-columns:1fr 1fr; gap:2px; }
  .pillar { background:var(--oscuro3); padding:28px 24px; position:relative; overflow:hidden; }
  .pillar::before { content:""; position:absolute; top:0; left:0; width:3px; height:100%; background:var(--amarillo); }
  .pillar-icon { font-size:28px; margin-bottom:12px; display:block; }
  .pillar-title { font-family:"Oswald",sans-serif; font-size:16px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; margin-bottom:6px; }
  .pillar-desc { font-size:12px; color:rgba(255,255,255,.5); line-height:1.6; }
  .quienes-visual { display:flex; flex-direction:column; gap:2px; }
  .qs-stat { background:var(--oscuro3); padding:32px 36px; display:flex; align-items:center; gap:24px; }
  .qs-stat-num { font-family:"Oswald",sans-serif; font-size:52px; font-weight:700; color:var(--amarillo); line-height:1; flex-shrink:0; letter-spacing:-2px; }
  .qs-stat-text .qs-title { font-family:"Oswald",sans-serif; font-size:16px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; margin-bottom:4px; }
  .qs-stat-text .qs-desc { font-size:13px; color:rgba(255,255,255,.5); line-height:1.5; }

  /* CALC */
  #calculadora { background:var(--oscuro2); }
  .calc-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; max-width:960px; }

  .calc-panel { background:var(--oscuro3); padding:48px; }
  .calc-panel.result {
    background:var(--oscuro); border-left:3px solid var(--amarillo);
    display:flex; flex-direction:column; justify-content:center;
  }

  .field-label { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.4); margin-bottom:8px; }
  .field-group { margin-bottom:24px; }

  .field-row { display:flex; overflow:hidden; border:1px solid rgba(255,255,255,.08); transition:border-color .2s; }
  .field-row:focus-within { border-color:var(--amarillo); }

  .field-input { background:var(--oscuro); border:none; color:var(--blanco); padding:14px 16px; font-size:22px; font-family:"Oswald",sans-serif; font-weight:600; width:100%; outline:none; }
  .field-unit { background:rgba(245,184,0,.1); color:var(--amarillo); padding:14px 14px; font-size:11px; font-weight:700; letter-spacing:1px; white-space:nowrap; display:flex; align-items:center; }

  .select-input { background:var(--oscuro); border:1px solid rgba(255,255,255,.08); color:var(--blanco); padding:14px 16px; font-size:14px; font-family:"Barlow",sans-serif; width:100%; outline:none; cursor:pointer; transition:border-color .2s; appearance:none; }
  .select-input:focus { border-color:var(--amarillo); }

  .result-label { font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:rgba(255,255,255,.4); margin-bottom:6px; }
  .result-value { font-family:"Oswald",sans-serif; font-size:50px; font-weight:700; color:var(--amarillo); line-height:1; margin-bottom:4px; }
  .result-sub { font-size:12px; color:rgba(255,255,255,.35); margin-bottom:24px; }
  .result-divider { height:1px; background:rgba(255,255,255,.06); margin:16px 0; }
  .result-row { display:flex; justify-content:space-between; align-items:center; padding:10px 0; border-bottom:1px solid rgba(255,255,255,.04); }
  .result-row-label { font-size:13px; color:rgba(255,255,255,.5); }
  .result-row-val { font-family:"Barlow Condensed",sans-serif; font-size:16px; font-weight:700; color:var(--blanco); }

  .calc-cta { margin-top:28px; width:100%; padding:16px; text-align:center; display:block; font-size:14px; border-radius:6px; }
  .disclaimer { font-size:11px; color:rgba(255,255,255,.25); margin-top:10px; text-align:center; }

  /* SERVICIOS */
  #servicios { background:var(--oscuro); }
  .services-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; margin-top:56px; }
  .service-card {
    background:var(--oscuro3); padding:44px 36px;
    position:relative; overflow:hidden; transition:transform .3s;
  }
  .service-card::after { content:""; position:absolute; bottom:0; left:0; width:0; height:3px; background:var(--amarillo); transition:width .4s; }
  .service-card:hover::after { width:100%; }
  .service-card:hover { transform:translateY(-4px); }

  .service-icon-wrap {
    width:54px; height:54px; background:rgba(245,184,0,.1); border:1px solid rgba(245,184,0,.25);
    border-radius:12px; display:flex; align-items:center; justify-content:center;
    font-size:26px; margin-bottom:24px;
  }
  .service-title { font-family:"Oswald",sans-serif; font-size:22px; font-weight:700; text-transform:uppercase; margin-bottom:12px; letter-spacing:.5px; }
  .service-desc { font-size:14px; line-height:1.7; color:rgba(255,255,255,.55); margin-bottom:24px; }
  .service-highlights { list-style:none; display:flex; flex-direction:column; gap:8px; }
  .service-highlights li { font-size:13px; color:rgba(255,255,255,.6); display:flex; gap:8px; }
  .service-highlights li::before { content:"→"; color:var(--amarillo); flex-shrink:0; font-weight:700; }

  /* PLANTAS */
  #plantas { background:var(--oscuro2); }
  .plants-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; margin-top:56px; }
  .plant-card { background:var(--oscuro3); padding:52px 48px; position:relative; overflow:hidden; }
  .plant-card::before { content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--amarillo),var(--amarillo2)); }

  .plant-location {
    display:inline-flex; align-items:center; gap:6px;
    background:rgba(245,184,0,.1); color:var(--amarillo); font-size:11px; font-weight:700;
    padding:5px 12px; border-radius:4px; margin-bottom:20px; letter-spacing:1px; text-transform:uppercase;
  }
  .plant-location::before { content:"◉"; font-size:8px; animation:pulse 2s infinite; }
  .plant-name { font-family:"Oswald",sans-serif; font-size:28px; font-weight:700; text-transform:uppercase; margin-bottom:12px; }
  .plant-capacity { font-family:"Oswald",sans-serif; font-size:80px; font-weight:700; color:var(--amarillo); line-height:1; letter-spacing:-3px; margin-bottom:4px; }
  .plant-unit { font-size:12px; color:rgba(255,255,255,.4); font-weight:700; letter-spacing:2px; text-transform:uppercase; margin-bottom:20px; }
  .plant-desc { font-size:14px; color:rgba(255,255,255,.55); line-height:1.7; }
  .plant-specs { display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:28px; padding-top:28px; border-top:1px solid rgba(255,255,255,.06); }
  .spec-val { font-family:"Barlow Condensed",sans-serif; font-size:20px; font-weight:700; }
  .spec-key { font-size:11px; font-weight:700; color:rgba(255,255,255,.35); text-transform:uppercase; letter-spacing:.5px; margin-top:2px; }

  /* PROCESO */
  #proceso { background:var(--oscuro); }
  .process-steps { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; margin-top:56px; position:relative; }
  .process-steps::before {
    content:""; position:absolute; top:35px; left:12%; right:12%; height:1px;
    background:linear-gradient(90deg, var(--amarillo), rgba(245,184,0,.2)); z-index:0;
  }
  .process-step { padding:0 16px 0 0; position:relative; z-index:1; }
  .step-circle {
    width:70px; height:70px; background:var(--oscuro2); border:2px solid var(--amarillo);
    border-radius:50%; display:flex; align-items:center; justify-content:center;
    font-family:"Oswald",sans-serif; font-size:22px; font-weight:700; color:var(--amarillo);
    margin-bottom:28px; box-shadow:0 0 0 8px var(--oscuro); transition:all .2s;
  }
  .process-step:hover .step-circle { background:var(--amarillo); color:var(--oscuro); }
  .step-title { font-family:"Oswald",sans-serif; font-size:18px; font-weight:700; text-transform:uppercase; margin-bottom:10px; letter-spacing:.5px; }
  .step-desc { font-size:13px; color:rgba(255,255,255,.5); line-height:1.65; }

  /* SECTORES */
  #sectores { background:var(--oscuro2); }
  .sectors-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; margin-top:56px; }
  .sector-card { background:var(--oscuro3); padding:36px 28px; transition:all .3s; cursor:pointer; }
  .sector-card:hover { background:#2e3035; }
  .sector-card:hover .sector-name { color:var(--amarillo); }
  .sector-icon { font-size:34px; margin-bottom:16px; display:block; }
  .sector-name { font-family:"Oswald",sans-serif; font-size:20px; font-weight:700; text-transform:uppercase; margin-bottom:10px; letter-spacing:.5px; transition:color .2s; }
  .sector-desc { font-size:13px; color:rgba(255,255,255,.5); line-height:1.6; }

  /* CREDENCIALES */
  #credenciales {
    background:var(--amarillo); padding:64px 60px;
    display:flex; gap:80px; align-items:center; flex-wrap:wrap;
  }
  .cred-title { font-family:"Oswald",sans-serif; font-size:28px; font-weight:700; color:var(--oscuro); text-transform:uppercase; min-width:180px; flex-shrink:0; letter-spacing:.5px; }
  .cred-items { display:flex; gap:56px; flex:1; justify-content:flex-end; flex-wrap:wrap; }
  .cred-item { text-align:center; }
  .cred-num { font-family:"Oswald",sans-serif; font-size:48px; font-weight:700; color:var(--oscuro); line-height:1; letter-spacing:-1px; }
  .cred-label { font-size:11px; font-weight:700; color:rgba(26,27,30,.55); margin-top:4px; text-transform:uppercase; letter-spacing:1px; }

  /* CONTACTO */
  #contacto { background:var(--oscuro); display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:start; }
  .contact-desc { font-size:16px; color:rgba(255,255,255,.55); line-height:1.8; margin-top:16px; }
  .contact-info { display:flex; flex-direction:column; gap:20px; margin-top:40px; }
  .contact-info-item { display:flex; gap:16px; align-items:center; }
  .ci-icon { width:48px; height:48px; background:rgba(245,184,0,.1); border:1px solid rgba(245,184,0,.2); border-radius:10px; display:flex; align-items:center; justify-content:center; font-size:20px; flex-shrink:0; }
  .ci-label { font-size:11px; font-weight:700; color:rgba(255,255,255,.35); text-transform:uppercase; letter-spacing:1px; }
  .ci-val { font-size:15px; color:var(--blanco); font-weight:600; margin-top:2px; }

  .contact-form { background:var(--oscuro2); padding:48px; }
  .form-title { font-family:"Oswald",sans-serif; font-size:24px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; margin-bottom:32px; color:var(--amarillo); }
  .form-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
  .form-group { margin-bottom:14px; }
  .form-label { font-size:11px; font-weight:700; color:rgba(255,255,255,.35); display:block; margin-bottom:6px; text-transform:uppercase; letter-spacing:1px; }
  .form-input, .form-select, .form-textarea {
    width:100%; background:var(--oscuro3); border:1px solid rgba(255,255,255,.08);
    color:var(--blanco); padding:13px 16px; font-family:"Barlow",sans-serif;
    font-size:14px; outline:none; transition:border-color .2s;
  }
  .form-input:focus, .form-select:focus, .form-textarea:focus { border-color:var(--amarillo); }
  .form-textarea { height:90px; resize:none; }
  .form-select { appearance:none; cursor:pointer; }
  .form-submit { width:100%; margin-top:8px; padding:18px; font-size:15px; border-radius:4px; }

  /* FOOTER */
  footer { background:var(--oscuro2); padding:36px 60px; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; border-top:1px solid rgba(245,184,0,.1); }
  .footer-logo img { height:36px; filter:brightness(1); }
  .footer-copy { font-size:12px; color:rgba(255,255,255,.3); }
  .footer-links { display:flex; gap:24px; }
  .footer-links a { font-size:12px; color:rgba(255,255,255,.3); text-decoration:none; transition:color .2s; }
  .footer-links a:hover { color:var(--amarillo); }
  .footer-social { display:flex; gap:12px; align-items:center; }
  .social-btn {
    width:40px; height:40px; border-radius:8px;
    background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.1);
    display:flex; align-items:center; justify-content:center;
    text-decoration:none; font-size:18px;
    transition:background .2s, border-color .2s, transform .15s;
  }
  .social-btn:hover { background:rgba(245,184,0,0.15); border-color:var(--amarillo); transform:translateY(-2px); }
  .footer-divider { height:1px; background:rgba(255,255,255,0.06); margin:0 60px; }

  /* ANIMATIONS */
  .fade-up { opacity:0; transform:translateY(28px); transition:opacity .65s ease, transform .65s ease; }
  .fade-up.visible { opacity:1; transform:translateY(0); }

  /* ── TABLET ── */
  @media (max-width:1024px) {
    #hero { grid-template-columns:1fr; }
    .hero-right { min-height:320px; }
    nav, .hero-left, section, #credenciales, #valor, footer { padding-left:28px; padding-right:28px; }
    .nav-links { display:none; }
    .calc-grid, .plants-grid, #contacto, .quienes-grid, .ventajas-grid { grid-template-columns:1fr; }
    .services-grid { grid-template-columns:1fr 1fr; }
    .sectors-grid { grid-template-columns:1fr 1fr; }
    .process-steps { grid-template-columns:1fr 1fr; gap:28px; }
    .process-steps::before { display:none; }
    .mercado-grid { grid-template-columns:1fr 1fr; }
    .faq-grid { grid-template-columns:1fr; }
    #valor { flex-direction:column; text-align:center; gap:16px; }
    .valor-items { justify-content:center; gap:24px; flex-wrap:wrap; }
    .video-wrapper iframe, .video-placeholder { height:340px; }
    .pillar { padding:20px 16px; }
    .quienes-pillars { grid-template-columns:1fr 1fr; }
    .cred-items { justify-content:center; gap:32px; }
    .inversion-cta { flex-direction:column; align-items:flex-start; }
  }

  /* ── MÓVIL ── */
  @media (max-width:640px) {
    /* Nav */
    nav { padding:0 20px; height:64px; }
    .nav-logo img { height:34px; }

    /* Hero */
    .hero-left { padding:24px 20px 40px; }
    h1 { font-size:42px; letter-spacing:-1px; }
    .hero-sub { font-size:15px; margin-bottom:32px; }
    .hero-actions { flex-direction:column; gap:10px; }
    .btn-primary, .btn-ghost { width:100%; text-align:center; padding:16px 20px; font-size:14px; }
    .hero-stats { grid-template-columns:1fr 1fr; gap:0; }
    .hero-stats .stat:last-child { grid-column:span 2; border-left:none; border-top:1px solid rgba(255,255,255,.08); padding-top:20px; margin-top:20px; padding-left:0; }
    .stat-num { font-size:30px; }
    .hero-right { min-height:240px; }
    .hero-diagram { width:200px; height:200px; }
    .center-blob { inset:60px; }
    .center-blob span { font-size:22px; }
    .float-card { display:none; }

    /* Barra valor */
    #valor { padding:20px; }
    .valor-items { grid-template-columns:1fr 1fr; display:grid; gap:16px; }
    .valor-num { font-size:22px; }
    .valor-desc { font-size:10px; }

    /* Secciones */
    section { padding:60px 20px; }
    #credenciales { padding:48px 20px; flex-direction:column; gap:32px; }
    footer { padding:28px 20px; flex-direction:column; text-align:center; gap:20px; }
    .footer-divider { margin:0 20px; }
    .footer-social { justify-content:center; }

    /* Tipografía */
    .section-title { font-size:28px; letter-spacing:-.5px; }
    .section-tag { font-size:10px; }

    /* Quiénes somos */
    .quienes-grid { gap:40px; }
    .quienes-pillars { grid-template-columns:1fr; gap:2px; }
    .qs-stat { padding:20px; gap:16px; }
    .qs-stat-num { font-size:38px; }

    /* Video */
    #video-operacion { padding:60px 20px; }
    .video-wrapper { margin-top:32px; }
    .video-wrapper > div { height:200px !important; }

    /* Inversión */
    .inversion-intro { font-size:15px; }
    .mercado-grid { grid-template-columns:1fr 1fr; gap:2px; }
    .mercado-num { font-size:30px; }
    .mercado-label { font-size:11px; }
    .ventaja-card { padding:24px 20px; flex-direction:column; gap:12px; }
    .ventaja-title { font-size:17px; }

    /* Calculadora */
    .calc-panel { padding:28px 20px; }
    .result-value { font-size:36px; }

    /* Servicios */
    .services-grid { grid-template-columns:1fr; }
    .service-card { padding:32px 24px; }

    /* Plantas */
    .plants-grid { grid-template-columns:1fr; }
    .plant-card { padding:36px 24px; }
    .plant-capacity { font-size:60px; }
    .plant-specs { grid-template-columns:1fr 1fr; }

    /* Proceso */
    .process-steps { grid-template-columns:1fr; gap:0; }
    .process-step { padding:28px 20px; background:var(--oscuro3); margin-bottom:2px; }
    .step-circle { width:56px; height:56px; font-size:18px; box-shadow:none; }

    /* Sectores */
    .sectors-grid { grid-template-columns:1fr 1fr; gap:2px; }
    .sector-card { padding:24px 18px; }
    .sector-name { font-size:16px; }

    /* Credenciales */
    .cred-items { gap:24px; }
    .cred-num { font-size:36px; }
    .cred-title { font-size:22px; text-align:center; min-width:unset; }

    /* FAQ */
    .faq-grid { grid-template-columns:1fr; }
    .faq-item { padding:24px 20px; }
    .faq-q { font-size:16px; }

    /* Contacto */
    #contacto { gap:40px; padding:60px 20px; }
    .contact-form { padding:28px 20px; }
    .form-row { grid-template-columns:1fr; }

    /* Hamburger menu */
    .nav-hamburger {
      display:flex; flex-direction:column; gap:5px; cursor:pointer;
      padding:8px; background:none; border:none;
    }
    .nav-hamburger span {
      width:24px; height:2px; background:var(--blanco); border-radius:2px;
      transition:all .3s;
    }

    /* Mobile menu overlay */
    .mobile-menu {
      display:none; position:fixed; top:64px; left:0; right:0; bottom:0;
      background:rgba(26,27,30,0.98); z-index:99; flex-direction:column;
      align-items:center; justify-content:center; gap:32px;
    }
    .mobile-menu.open { display:flex; }
    .mobile-menu a {
      font-family:"Oswald",sans-serif; font-size:28px; font-weight:700;
      text-transform:uppercase; letter-spacing:2px; color:var(--blanco);
      text-decoration:none; transition:color .2s;
    }
    .mobile-menu a:hover { color:var(--amarillo); }
    .mobile-menu .m-cta {
      background:var(--amarillo); color:var(--oscuro) !important;
      padding:14px 36px; margin-top:16px;
    }
  }

  /* Estilos para el Modelo de Negocio Express */
  .modelo-pasos {
    padding: 60px 0;
    background: var(--oscuro2);
    border-bottom: 1px solid var(--oscuro3);
  }
  .pasos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 40px;
  }
  .paso-item {
    text-align: center;
    padding: 20px;
    transition: transform 0.3s ease;
  }
  .paso-item:hover { transform: translateY(-5px); }
  .paso-number {
    color: var(--amarillo);
    font-family: 'Oswald', sans-serif;
    font-size: 3rem;
    line-height: 1;
    margin-bottom: 15px;
    display: block;
  }
  .paso-item h3 {
    font-family: 'Oswald', sans-serif;
    text-transform: uppercase;
    margin-bottom: 12px;
    letter-spacing: 1px;
  }

  /* Estilos para el Business Case */
  .business-case-card {
    background: linear-gradient(145deg, var(--oscuro2), var(--oscuro3));
    border-left: 5px solid var(--amarillo);
    padding: 40px;
    border-radius: 8px;
    margin-bottom: 50px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.3);
  }
  .case-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 25px;
    margin-top: 25px;
  }
  .case-stat {
    background: rgba(255,255,255,0.03);
    padding: 20px;
    border-radius: 6px;
    border: 1px solid rgba(255,255,255,0.05);
  }
  .case-stat small {
    color: var(--gris-texto);
    text-transform: uppercase;
    font-size: 0.75rem;
    letter-spacing: 1px;
  }
  .case-stat strong {
    display: block;
    font-size: 1.4rem;
    color: var(--amarillo);
    margin-top: 5px;
  }

  /* ── SOFTWARE ENERPLAS ── */
  #software{background:var(--oscuro2)}
  .sw-grid{display:grid;grid-template-columns:1fr 1fr;gap:3px;margin-bottom:56px}
  .sw-card{background:var(--oscuro3);padding:52px 48px;position:relative;overflow:hidden;transition:background .25s}
  .sw-card:hover{background:#2e3035}
  .sw-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--amarillo),transparent)}
  .sw-card.sw-b::before{background:linear-gradient(90deg,#60a5fa,transparent)}
  .sw-hdr{display:flex;align-items:flex-start;gap:20px;margin-bottom:28px}
  .sw-ico{width:60px;height:60px;flex-shrink:0;background:rgba(245,184,0,.1);border:1px solid rgba(245,184,0,.25);display:flex;align-items:center;justify-content:center;font-size:28px}
  .sw-card.sw-b .sw-ico{background:rgba(96,165,250,.08);border-color:rgba(96,165,250,.25)}
  .sw-tag{display:inline-block;font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:4px 10px;margin-bottom:8px;background:rgba(245,184,0,.1);color:var(--amarillo);border:1px solid rgba(245,184,0,.2)}
  .sw-card.sw-b .sw-tag{background:rgba(96,165,250,.08);color:#93c5fd;border-color:rgba(96,165,250,.2)}
  .sw-name{font-family:"Oswald",sans-serif;font-size:26px;font-weight:700;text-transform:uppercase;line-height:1.1;color:var(--blanco);margin-bottom:4px}
  .sw-sub{font-size:13px;color:rgba(255,255,255,.4);font-weight:500}
  .sw-desc-p{font-size:14px;color:rgba(255,255,255,.58);line-height:1.8;margin-bottom:32px}
  .sw-list{display:flex;flex-direction:column;margin-bottom:36px;border:1px solid rgba(255,255,255,.06)}
  .sw-item{display:flex;align-items:flex-start;gap:14px;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.05)}
  .sw-item:last-child{border-bottom:none}
  .sw-dot{width:6px;height:6px;border-radius:50%;background:var(--amarillo);flex-shrink:0;margin-top:7px}
  .sw-card.sw-b .sw-dot{background:#60a5fa}
  .sw-ft{font-size:13px;font-weight:700;color:var(--blanco);margin-bottom:2px}
  .sw-fd{font-size:12px;color:rgba(255,255,255,.4);line-height:1.55}
  .sw-nums{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;border-top:1px solid rgba(255,255,255,.07);padding-top:28px}
  .sw-num{text-align:center;padding:0 8px}
  .sw-num:not(:first-child){border-left:1px solid rgba(255,255,255,.07)}
  .sw-val{font-family:"Oswald",sans-serif;font-size:28px;font-weight:700;color:var(--amarillo);line-height:1;margin-bottom:5px}
  .sw-card.sw-b .sw-val{color:#60a5fa}
  .sw-lbl{font-size:11px;color:rgba(255,255,255,.4);line-height:1.4}
  .sw-bar{background:var(--oscuro3);border:1px solid rgba(245,184,0,.12);padding:32px 48px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
  .sw-bar-t{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--amarillo);margin-bottom:6px}
  .sw-bar-h{font-family:"Oswald",sans-serif;font-size:20px;font-weight:700;text-transform:uppercase;color:var(--blanco)}
  .sw-bar-d{font-size:13px;color:rgba(255,255,255,.45);margin-top:4px}
  .sw-mods{display:flex;gap:8px;flex-wrap:wrap}
  .sw-mod{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);padding:8px 16px;font-size:12px;font-weight:700;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.5px}
  @media(max-width:1024px){.sw-grid{grid-template-columns:1fr}.sw-card{padding:36px 28px}.sw-bar{padding:24px 28px}}
  @media(max-width:640px){.sw-card{padding:28px 20px}.sw-name{font-size:22px}.sw-nums{grid-template-columns:1fr 1fr}.sw-bar{padding:24px 20px}}