
      :root {
        --brand-blue: #0b3a8f;
        --brand-blue-2: #1a5bd6;
        --soft-gray: #f5f7fb;
        --text-muted-2: #6b7280;
      }

      @font-face {
        font-family: "RepublicaMinor";
        src: url("/imagenes/yamahaplan-2026/fonts/republica-minor-2.0.otf") format("opentype");
        font-weight: 400;
        font-style: normal;
        font-display: swap;
      }

      @font-face {
        font-family: "Estricta";
        src: url("/imagenes/yamahaplan-2026/fonts/Estricta.ttf") format("truetype");
        font-weight: 400;
        font-style: normal;
        font-display: swap;
      }

      @font-face {
        font-family: "Estricta";
        src: url("/imagenes/yamahaplan-2026/fonts/Estricta-Bold.ttf") format("truetype");
        font-weight: 600;
        font-style: normal;
        font-display: swap;
      }

      @font-face {
        font-family: "Estricta";
        src: url("/imagenes/yamahaplan-2026/fonts/Estricta-Black.ttf") format("truetype");
        font-weight: 800;
        font-style: normal;
        font-display: swap;
      }

      body {
        background: #fff;
        font-family: "Estricta";
      }

      p {
        font-size: 0.9rem;
      }

      /* HERO */
      .hero {
        position: relative;
        min-height: 36rem;
        display: flex;
        align-items: center;
        color: #fff;
        overflow: hidden;
        background: url("/imagenes/yamahaplan-2026/hero.jpg") center/cover no-repeat;
      }

      .hero .container {
        position: relative;
        z-index: 2;
      }

      .hero .moto {
        max-width: 460px;
        width: 100%;
        filter: drop-shadow(0 18px 24px rgba(0, 0, 0, 0.55));
      }

      .hero-title {
        font-weight: 800;
        letter-spacing: 0.5px;
        text-transform: uppercase;
        font-size: clamp(18px, 2.2vw, 22px);
        opacity: 0.95;
      }

      .hero-brand {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 14px;
        margin-top: 10px;
      }

      .hero-brand img {
        height: 54px;
        width: auto;
      }

      .hero-brand .brand-word {
        font-weight: 900;
        font-size: clamp(40px, 5vw, 64px);
        letter-spacing: 1px;
        line-height: 1;
      }

      .hero-sub {
        display: inline-block;
        margin-top: 10px;
        padding: 10px 18px;
        border: 1px solid rgba(255, 255, 255, 0.35);
        border-radius: 999px;
        text-transform: uppercase;
        letter-spacing: 0.18em;
        font-size: 14px;
        background: rgba(0, 0, 0, 0.15);
      }

      /* BENEFICIOS */
      .benefits {
        background: #fff;
      }

      .benefit-card {
        background: #fff;
        border: 0;
        border-radius: 18px;
        padding: 18px 14px;
        display: flex;
        align-items: center;
        gap: 14px;
        justify-content: center;
      }

      .benefit-icon {
        width: 54px;
        height: 54px;
        border-radius: 999px;
        background: rgba(26, 91, 214, 0.12);
        display: grid;
        place-items: center;
      }

      .benefit-icon i {
        font-size: 26px;
        color: var(--brand-blue-2);
      }

      .benefit-text {
        line-height: 1.05;
        text-align: left;
      }

      .benefit-top {
        font-weight: 700;
        font-family: "RepublicaMinor";
        color: #1f2937;
        font-size: 16px;
      }
      .benefit-bottom {
        font-weight: 900;
        font-family: "RepublicaMinor";
        color: var(--brand-blue-2);
        font-size: 22px;
      }

      /* CUERPO */
      .lead-copy {
        color: var(--text-muted-2);
        font-size: 15px;
      }
      .lead-copy b {
        color: var(--brand-blue-2);
      }
      .lead-copy a {
        color: var(--brand-blue-2);
        text-decoration: none;
        font-weight: 700;
      }
      .lead-copy a:hover {
        text-decoration: underline;
      }

      /* FORM */
      .form-wrap {
        background: #fff;
      }

      .form-control,
      .form-select {
        border-radius: 10px;
        height: 44px;
      }

      .form-control::placeholder {
        color: #9aa3b2;
      }

      .textarea {
        min-height: 110px;
      }

      .hint {
        color: #9aa3b2;
        font-size: 12px;
      }

      .btn-primary {
        background: linear-gradient(
          180deg,
          var(--brand-blue-2),
          var(--brand-blue)
        );
        border: 0;
        border-radius: 10px;
        padding: 12px 18px;
        min-width: 220px;
        box-shadow: 0 10px 22px rgba(26, 91, 214, 0.35);
        font-weight: 800;
        letter-spacing: 0.06em;
        text-transform: uppercase;
      }

      .btn-primary:hover {
        filter: brightness(1.03);
      }

      .recaptcha-mock {
        height: 44px;
        border: 1px solid #d7dbe3;
        border-radius: 10px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 12px;
        max-width: 310px;
        background: #fff;
      }
      .recaptcha-mock small {
        color: #374151;
      }
      .recaptcha-badge {
        font-size: 11px;
        color: #6b7280;
        text-align: right;
        line-height: 1.1;
      }

      /* FOOTER */
      footer {
        background: #313131;
        color: #ffffff;
      }
      .footer-logo {
        max-height: 34px;
        width: auto;
        opacity: 0.95;
      }
      .footer-small {
        font-size: 11px;
        color: #aab3c2;
      }

      .items {
        height: 5rem;
        width: auto;
      }

      .text-gradient-yamaha {
        background: linear-gradient(90deg, #4082fd 0%, #264e97 100%);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        color: transparent;
      }

      .gradient-yamaha {
        background: linear-gradient(90deg, #4082fd 0%, #264e97 100%);
      }

      input::placeholder,
      textarea::placeholder {
        color: #000 !important;
      }

      .terms-close-custom {
        width: 32px;
        height: 32px;
        border-radius: 50%;
        background: linear-gradient(90deg, #4082fd 0%, #264e97 100%);
        color: white;
        border: none;

        display: flex;
        align-items: center;
        justify-content: center;

        font-size: 18px;
        line-height: 1;
        padding: 0;
        cursor: pointer;

        position: absolute;
        right: 10px;
        z-index: 9;
      }

      /* Modal "card" look */
      .terms-modal {
        border: 0;
        border-radius: 18px;
        box-shadow: 0 18px 60px rgba(0, 0, 0, 0.2);
        overflow: hidden;
        background: #fff;
      }

      /* Header con close arriba derecha */
      .terms-header {
        position: relative;
        padding: 12px 14px 0 14px;
      }
      .terms-close {
        position: absolute;
        top: 12px;
        right: 14px;
        opacity: 0.9;
        z-index: 9;
        background: linear-gradient(90deg, #4082fd 0%, #264e97 100%);
        color: white;
        border-radius: 50%;
      }

      /* Body tipo “tarjeta” interna */
      .terms-body {
        padding: 22px 26px 18px 26px;
      }
      .terms-title {
        text-align: center;
        margin: 0 0 12px 0;
        font-weight: 600;
      }

      /* Páginas: se muestran de a una */
      .terms-pages {
        position: relative;
        min-height: 360px; /* ajustá según tu contenido */
      }
      .terms-page {
        display: none;
        font-size: 13px;
        line-height: 1.45;
        color: #2f2f2f;
        margin-top: 1.5rem;
      }
      .terms-page.is-active {
        display: block;
      }

      /* Footer con flechas + contador centrado */
      .terms-footer {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 14px;
        padding: 10px 16px 16px 16px;
      }
      .terms-counter {
        font-size: 12px;
        color: #6b6b6b;
        min-width: 48px;
        text-align: center;
        user-select: none;
      }
      .terms-nav {
        width: 34px;
        height: 34px;
        background: #fff;
        padding: 0;
        line-height: 32px;
        font-size: 2rem;
        margin-bottom: 0.5rem;
        color: #4082fd;
      }
      .terms-nav:disabled {
        opacity: 0;
        cursor: not-allowed;
      }

      /* Backdrop más suave (opcional) */
      .modal-backdrop.show {
        opacity: 0.35;
      }

      .enviar-boton{
        box-shadow: 0 6px 12px rgba(38, 78, 151, 0.35), 0 18px 40px rgba(64, 130, 253, 0.45); 
        padding: 0.5rem 6rem;
      }

      /* Responsive tweaks */
      @media (max-width: 992px) {
        .benefit-card {
          justify-content: flex-start;
        }

        .hero{
            min-height: 24rem;
        }
      }