:root{
      --brand-red: #48b05c; /*SE CAMBIÓ A VERDE*/
      --brand-dark: #0f1115;
      --brand-dark-2: #151822;
      --brand-gray: #A7B0C0;
      --brand-white: #000;
      --brand-ev: #80ff2a;
      --radius: 18px;
      --shadow: 0 18px 60px rgba(0,0,0,.25);
      --shadow-soft: 0 14px 40px rgba(0,0,0,.16);
    }

    html, body { height: 100%; }
    body{
      font-family: "Poppins", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
      /*background: radial-gradient(1200px 700px at 18% 0%, rgba(229,57,53,.16), transparent 60%),
                  radial-gradient(900px 600px at 90% 16%, rgba(128,255,42,.10), transparent 55%),
                  linear-gradient(180deg, var(--brand-dark) 0%, #0b0d12 100%);*/
      color: var(--brand-dark);
      overflow-x: hidden;
    }

    /* Navbar */
    .navbar{ transition: all .25s ease; }
    .navbar.scrolled{
      background: rgba(255,255,255,.70) !important; /*rgba(15,17,21,.70) !important;*/
      backdrop-filter: blur(10px);
      border-bottom: 1px solid rgba(255,255,255,.08);
    }
    .nav-link{ color:#48b05c !important; font-weight: 500; }
    .nav-link:hover{ color: #000 !important; }

    /* Common UI */
    .text-muted-2{ color: var(--brand-gray) !important; }
    .badge-soft{
      background: transparent;
      color: #000;
      border: 1px solid #48b05c;
      padding: .45rem .7rem;
      border-radius: 999px;
      font-weight: 500;
      letter-spacing: .2px;
    }
    .btn-brand{
      background: var(--brand-red);
      border: 0;
      color: #FFF;
      box-shadow: 0 12px 30px rgba(23,100,174,.28);
      border-radius: 999px;
      padding: .9rem 1.15rem;
      font-weight: 600;
    }
    .btn-brand:hover{ filter: brightness(1.06); }
    .btn-outline-brand{
      border: 1px solid #48b05c;
      color: #48b05c;
      border-radius: 999px;
      padding: .9rem 1.15rem;
      font-weight: 600;
      background: rgba(255,255,255,.03);
    }
    .btn-outline-brand:hover{ background: rgba(255,255,255,.08); border: 1px solid #000; }

    .card-glass{
      background: linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
      border: 1px solid rgba(255,255,255,.10);
      border-radius: var(--radius);
      box-shadow: var(--shadow-soft);
      backdrop-filter: blur(8px);
    }
    .section{ padding: 88px 0; position: relative; }
    .section-tight{ padding: 64px 0; }

    .divider{
      height: 1px;
      background: linear-gradient(90deg, transparent, rgba(255,255,255,.10), transparent);
      margin: 26px 0;
    }

    /* HERO */
    .hero{
      padding: 128px 0 88px;
      position: relative;
      background: #FFF;
      color: #000;
    }
    /*.hero::before{
      content:"";
      position:absolute;
      inset:-2px;
      background:
        radial-gradient(700px 350px at 26% 20%, rgba(229,57,53,.22), transparent 65%),
        radial-gradient(600px 320px at 82% 25%, rgba(128,255,42,.14), transparent 62%);
      pointer-events: none;
      opacity: .95;
    }*/
    .hero .container{ position: relative; z-index: 1; }
    .hero h1{
      font-size: clamp(2.1rem, 4.2vw, 3.3rem);
      line-height: 1.08;
      letter-spacing: -0.7px;
      margin-bottom: 16px;
    }
    .hero p.lead{
      color: #000; /*rgba(255,255,255,.84);*/
      max-width: 56ch;
    }
    .hero-visual{
      border-radius: calc(var(--radius) + 8px);
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.12);
      box-shadow: var(--shadow);
      transform: translateY(8px);
    }
    .hero-visual img{
      width: 100%;
      height: 540px;
      object-fit: cover;
      filter: contrast(1.03) saturate(1.05);
    }
    .chip{
      display:inline-flex; align-items:center; gap:.5rem;
      padding:.55rem .75rem;
      border-radius: 999px;
      background: rgba(255,255,255,.06);
      border: 1px solid rgba(255,255,255,.10);
      color: #48b05c;
      font-weight: 500;
      font-size: .92rem;
    }
    .chip .dot{
      width: 10px; height: 10px; border-radius: 999px;
      background: var(--brand-ev);
      box-shadow: 0 0 0 6px rgba(128,255,42,.10);
    }

    /* ICONS */
    .icon-bubble{
      width: 44px; height: 44px;
      display: grid; place-items: center;
      border-radius: 14px;
      background: rgba(229,57,53,.15);
      border: 1px solid rgba(229,57,53,.25);
      color: #ffd1d1;
      flex: 0 0 auto;
      font-weight: 700;
    }
    .icon-ev{
      background: rgba(128,255,42,.12);
      border: 1px solid rgba(128,255,42,.22);
      color: #dfffcb;
    }

    /* Steps */
    .step-num{
      width: 34px; height: 34px;
      border-radius: 999px;
      display:grid; place-items:center;
      background: rgba(255,255,255,.07);
      border: 1px solid rgba(255,255,255,.12);
      font-weight: 700;
    }

    /* FORM */
    .form-control, .form-select{
      background: rgba(255,255,255,.05);
      border: 1px solid #48b05c; /* rgba(255,255,255,.12)*/
      color: #48b05c;
      border-radius: 14px;
      padding: .85rem .95rem;
    }
    .form-control:focus, .form-select:focus{
      background: rgba(255,255,255,.06);
      border-color: rgba(229,57,53,.55);
      box-shadow: 0 0 0 .25rem rgba(229,57,53,.16);
      color: #48b05c
    }
    .form-control::placeholder{ color: #48b05c; /*rgba(255,255,255,.55);*/ }
    .small-note{ color: #48b05c; /*rgba(255,255,255,.62);*/ font-size: .92rem; }

    /* FAQ */
    .accordion-button{
      background: rgba(255,255,255,.04) !important;
      color: #fff !important;
      border-radius: 14px !important;
    }
    .accordion-item{ background: transparent; border: 0; }
    .accordion-button:focus{
      box-shadow: none;
      border: 1px solid rgba(255,255,255,.16);
    }
    .accordion-body{
      color: rgba(255,255,255,.82);
      background: rgba(255,255,255,.03);
      border-radius: 14px;
      border: 1px solid rgba(255,255,255,.08);
      margin-top: 10px;
    }

    /* Reveal + float */
    .reveal{ opacity: 0; transform: translateY(18px); }
    .reveal.show{ opacity: 1; transform: translateY(0); transition: all .65s ease; }
    .floaty{ animation: floaty 7.5s ease-in-out infinite; }
    @keyframes floaty{
      0%,100%{ transform: translateY(0); }
      50%{ transform: translateY(-10px); }
    }

    /* Footer */
    footer{
      border-top: 1px solid rgba(255,255,255,.08);
      padding: 44px 0;
      /*background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.16) 100%);*/
      background: #000;
    }
    footer a{ transition: color .2s; }
    .footer-logo{ height: 48px; object-fit: contain; }

    /* Custom list styles */
    .custom-list {
      list-style: none;
      padding-left: 0;
    }
    .custom-list li {
      position: relative;
      padding-left: 1.8rem;
      margin-bottom: 0.8rem;
      color: rgba(255,255,255,.82);
    }
    .custom-list li::before {
      content: "⚡";
      position: absolute;
      left: 0;
      color: var(--brand-ev);
      font-size: 1.1rem;
    }
    .EV-HEV-verde {
        color: #48b355 !important;
    }
    @media (max-width: 600px) {
        .centrado-responsive {
            text-align: center;
        }
    }