@import url("https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css");
@import url("https://fonts.googleapis.com/css?family=Montserrat:900,400,800,500,700,600,italic|Lily+Script+One:400");

:root {
  --color-bg-start: #2d2f59;
  --color-bg-end: #000080;
  --color-surface: rgba(255,255,255,.04);
  --color-text: #ffffff;
  --color-text-muted: rgba(255,255,255,.78);
  --color-accent: #ffed00;
  --color-accent-2: #30ceff;
  --color-dark: #000000;
  --color-border: rgba(255,255,255,.12);
  --shadow-soft: 0 12px 30px rgba(0,0,0,.18);
  --shadow-card: 0 10px 30px rgba(0,0,0,.28);
  --container-max: 1200px;
  --container-wide: 1320px;
  --font-main: "Montserrat", Helvetica, Arial, sans-serif;
}

*,*::before,*::after{box-sizing:border-box;-webkit-font-smoothing:antialiased}
html,body{margin:0;max-width:100%;overflow-x:hidden;overflow-x:clip}
html{scroll-behavior:smooth}
body{font-family:var(--font-main);color:var(--color-text);background: linear-gradient(
    180deg,
    rgba(45, 47, 89, 1) 0%,
    rgba(0, 0, 128, 1) 100%
  );;background-repeat: no-repeat;
  background-size: cover; background-attachment: scroll; height: auto}
img{display:block;max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
button{background:none;border:none;padding:0;cursor:pointer}
input{font:inherit;outline:none;border:none}
.page{min-height:100vh; background: transparent !important;}
.container{width:min(100% - 2rem,var(--container-max));margin-inline:auto;background: transparent !important;}
.container--wide{width:min(100% - 2rem,var(--container-wide));margin-inline:auto}
.section{padding:4rem 0;background: transparent}
.stack{display:grid;gap:1rem}
.section-title{font-size:clamp(1.4rem, 3.4vw, 3rem);line-height:1.08;font-weight:900}
.section-title--accent{color:var(--color-accent)}
.section-copy{color:var(--color-text-muted);font-size:clamp(.95rem,1.4vw,1.05rem);line-height:1.7}
.eyebrow{color:var(--color-accent-2);font-size:.95rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.btn-row{display:flex;flex-wrap:wrap;gap:1rem}
.button,.button-outline{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.85rem 1.25rem;border-radius:15px;font-weight:700;transition:transform .2s ease,background .2s ease}
.button:hover,.button-outline:hover{transform:translateY(-1px)}
.button{background:var(--color-accent);color:var(--color-dark)}
.button-outline{border:2px solid var(--color-accent);color:var(--color-text)}
.basic-outline{border-color:#0b1d51;color:#0b1d51}
.site-header{position:sticky;top:0;z-index:1000;padding:1rem 0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.site-header__bar{display:grid;grid-template-columns:auto auto;align-items:center;justify-content:space-between;gap:1rem}
.site-header__nav-shell,.site-header__cta-wrap,.site-nav{display:none}
.brand{display:inline-flex;align-items:center}
.brand img{width:180px}
.nav-toggle{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center}
.mobile-menu-overlay{position:fixed;top:0;right:-100%;width:min(82vw,340px);height:100vh;background:linear-gradient(180deg,rgba(45,47,89,.98) 0%,rgba(0,0,128,.98) 100%);backdrop-filter:blur(18px);z-index:1100;transition:right .35s ease;box-shadow:-8px 0 24px rgba(0,0,0,.35);overflow-y:auto}
.mobile-menu-overlay.open{right:0}
.mobile-menu-content{display:grid;gap:.5rem;padding:6rem 1.5rem 2rem}
.mobile-menu-link{display:flex;align-items:center;min-height:48px;padding:.9rem 1rem;border-radius:12px;color:var(--color-text);font-weight:600}
.mobile-menu-divider{height:1px;margin:.75rem 0;background:rgba(255,255,255,.15)}
.mobile-menu-cta{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border-radius:12px;background:var(--color-accent);color:var(--color-dark);font-weight:800}
.menu-backdrop{position:fixed;inset:0;background:rgba(0,0,0,0);pointer-events:none;transition:background .25s ease;z-index:1090}
.menu-backdrop.active{background:rgba(0,0,0,.5);pointer-events:auto}
.reveal{opacity:0;transform:translateY(36px);transition:opacity .7s ease,transform .7s ease;will-change:opacity,transform; background: transparent}
.reveal--left{transform:translateX(-42px)}
.reveal--right{transform:translateX(42px)}
.reveal--zoom{transform:scale(.94)}
.reveal--once{}
.reveal.is-visible{opacity:1;transform:none}
.hero__grid,.two-col,.faq__grid{display:grid;gap:2rem;align-items:center;background: transparent !important;}
.hero__title{font-size:clamp(1.8rem, 4vw, 3.6rem);line-height:1.05;font-weight:900}
.hero__image,.step__image,.faq__image{display:flex;justify-content:center}
.video-frame{position:relative;width:100%;border-radius:24px;overflow:hidden;box-shadow:var(--shadow-soft);aspect-ratio:16/9}
.video-frame iframe{width:100%;height:100%}
.highlight-line{color:var(--color-accent);font-weight:800;font-size:clamp(1rem,1.8vw,1.15rem);line-height:1.5;text-transform:uppercase}
.feature-grid,.steps,.plans-grid,.site-footer__grid,.faq-list{display:grid;gap:1.25rem;background: transparent !important;}
.feature-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.25rem;padding:1.5rem;border-radius:16px;border:1px solid var(--color-border);box-shadow:var(--shadow-card);transition:transform .25s ease,border-color .25s ease}
.feature-card:hover{transform:translateY(-6px);border-color:rgba(48,206,255,.3)}
.feature-card__icon{width:110px;height:80px;object-fit:contain}
.feature-card__title{font-size:1.2rem;line-height:1.3;font-weight:900}
.feature-card__text{color:var(--color-text-muted);line-height:1.6;font-size:1rem}
.tag-step{display:inline-flex;align-items:center;gap:.75rem;font-weight:900;color:var(--color-text);font-size:clamp(1rem,2vw,1.25rem)}
.tag-step__number{width:48px;height:48px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--color-accent);color:var(--color-dark);font-size:1.5rem;font-weight:900}
.step{display:grid;gap:2rem;align-items:center}
.step__image img{max-height:560px;object-fit:contain}
.plans__intro{display:grid;gap:1rem;margin-bottom:2rem}
.plan-card{display:flex;flex-direction:column;justify-content:space-between;gap:1.5rem;padding:2rem;border-radius:20px;box-shadow:var(--shadow-card)}
.plan-card--basic{background:var(--color-accent);color:var(--color-dark)}
.plan-card--pro{background:var(--color-dark);color:var(--color-text)}
.plan-card__header{display:grid;gap:.75rem;text-align:center}
.plan-card__name{font-size:1.5rem;font-weight:900}
.plan-card__price{font-size:clamp(3rem,6vw,4.5rem);font-weight:900;line-height:1}
.plan-card__period{font-size:1rem;font-weight:800}
.plan-features{display:grid;gap:0}
.plan-features li{display:grid;grid-template-columns:24px 1fr;gap:.75rem;align-items:start;padding:.95rem 0;border-top:1px solid rgba(255,255,255,.15);font-size:.98rem;line-height:1.45}
.plan-card--basic .plan-features li{border-top-color:rgba(0,0,0,.12)}
.plan-features .is-disabled{opacity:.45}
.testimonials__header{display:grid;gap:1rem;margin-bottom:2rem}
.testimonials-title-center {
  grid-column: 1 / -1;
  text-align: center;
  justify-self: center;
}
.section-line{width:min(100%,620px)}
.testimonials__slider{position:relative;overflow:hidden;width:100%;padding-bottom:2rem; align-content: center;background: transparent !important;}
.testimonials__track{display:flex;width:100%;transition:transform .45s ease-in-out}
.testimonials__slide{flex:0 0 100%;width:100%;display:flex;justify-content:center;padding:0 1rem}
.testimonial-card{width:100%;max-width:760px;margin-inline:auto;padding:2rem 2.5rem;text-align:center;background:var(--color-surface);border:1px solid var(--color-border);border-radius:24px;box-shadow:var(--shadow-soft)}
.testimonial-card__quote{font-size:1.25rem;line-height:1.75;font-style:italic;color:var(--color-text);margin-bottom:1.25rem}
.testimonial-card__divider{width:100%;margin:0 auto 1.25rem}
.testimonial-card__author{display:grid;gap:.5rem}
.testimonial-card__name{font-size:1.05rem;font-weight:900;font-style:normal}
.testimonial-card__role{color:var(--color-text-muted);font-size:.98rem;line-height:1.5}
.testimonials__pagination{display:flex;justify-content:center;gap:8px;margin-top:1.25rem}
.testimonials__pagination .dot{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.45);border:0;padding:0;cursor:pointer}
.testimonials__pagination .dot.active{background:#fff}
.testimonials__nav{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:1.75rem}
.testimonials__nav--prev{left:1rem}
.testimonials__nav--next{right:1rem}
.faq__header{text-align:center;margin-bottom:2rem;background: transparent !important;}
.faq-item{border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:1rem}
.faq-item summary{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;list-style:none;font-weight:900;font-size:1.05rem;line-height:1.45}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item__icon{width:26px;height:26px;flex-shrink:0}
.faq-item__body{padding:1rem 0 0 2.4rem;color:var(--color-text-muted);line-height:1.7}
.scroll-sidebar{display:none}
.scroll-sidebar.hidden{opacity:0;transform:translateX(100px);pointer-events:none}
.scroll-sidebar__social{width:25px;height:25px;object-fit:cover}
.scroll-sidebar__label{writing-mode:vertical-rl;transform:rotate(180deg);color:#fff;font-size:12px;font-weight:600}
.scroll-sidebar__arrow{width:25px;height:25px}
.site-footer{background:#000;margin-top:4rem;padding:3rem 0 2rem}
.site-footer__grid{gap:2.5rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.08)}
.site-footer__brand{display:grid;gap:1.5rem}
.site-footer__brand img{width:220px}
.footer-text{color:#d9d9d9;line-height:1.6;font-size:.95rem}
.footer-col{display:grid;gap:.75rem;align-content:start}
.footer-col__title{font-size:1rem;font-weight:800}
.newsletter{padding:1.5rem;border-radius:24px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}
.newsletter__title{font-size:1rem;font-weight:800;margin-bottom:.75rem}
.newsletter__text{color:#d9d9d9;line-height:1.6;margin-bottom:1.25rem;font-size:.95rem}
.newsletter__form{display:grid;grid-template-columns:1fr auto;gap:.75rem}
.newsletter__input{min-height:50px;border-radius:15px;border:1px solid var(--color-accent);background:transparent;color:var(--color-text);padding:0 1rem}
.newsletter__input::placeholder{color:rgba(255,255,255,.55)}
.newsletter--register{max-width:720px;margin:0 auto}
.newsletter__form--stacked{grid-template-columns:1fr;gap:1rem}
.register-layout { display: grid; grid-template-columns: 1fr 1fr;align-items: center;gap: 3rem;}
.register-image { display: flex;justify-content: flex-start;}
.register-image img { max-width: 70%;height: auto;display: block;}
.register-content {display: grid;gap: 1.5rem;justify-items: center;text-align: center;}
.register-content .plans__intro {justify-items: center;text-align: center; margin-bottom: 0;}
.register-content .newsletter { width: 100%;display: flex;justify-content: center;}
.register-content .newsletter__form { width: min(100%, 460px);}

@media (max-width: 767px) {
  .register-layout {
    grid-template-columns: 1fr;
  }

  .register-image {
    justify-content: center;
  }

  .register-content {
    justify-items: center;
    text-align: center;
  }

  .register-content .plans__intro {
    justify-items: center;
    text-align: center;
  }

  .register-content .newsletter {
    justify-content: center;
  }
}
.copyright{margin-top:2rem;text-align:center;color:#d9d9d9;font-size:.75rem}

@media (max-width:639px){
  .section{padding:3rem 0}
  .testimonial-card{padding:1.5rem 1rem}
  .testimonial-card__quote{font-size:1rem}
  .testimonial-card__divider{width:160px}
  .testimonials__nav{display:none}
  .section-line{width:min(100%,280px)}
}
@media (max-width:767px){
  .site-header__bar{display:flex;align-items:center;justify-content:space-between;min-height:50px;padding:8px 20px;background:#fff;border-radius:16px}
}
@media (min-width:768px){
  .hero__grid,.two-col,.faq__grid,.site-footer__grid{grid-template-columns:1fr 1fr;background: transparent !important;}
  .feature-grid,.plans-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .testimonials__header{grid-template-columns:auto 1fr;align-items:center}
  .section-line{width:100%}
}
@media (min-width:768px) and (max-width:1023px){
  .site-header__bar{display:flex;align-items:center;justify-content:space-between;min-height:56px;padding:10px 20px;background:#fff;border-radius:16px}
  .brand img{width:120px}
  .nav-toggle{width:42px;height:42px}
  .testimonials__nav{display:none}
}
@media (min-width:1024px) and (max-width:1279px){
  .mobile-menu-overlay,.menu-backdrop{display:none !important}
  .nav-toggle{display:none}
  .site-header__bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem}
  .site-header__nav-shell{display:flex;align-items:center;justify-content:center}
  .site-header__nav-card{display:flex;align-items:center;justify-content:center;min-height:60px;padding:.5rem 2rem;background:#fff;border-radius:18px;box-shadow:0 10px 24px rgba(0,0,0,.12)}
  .site-header__cta-wrap{display:flex;align-items:center;justify-content:flex-end}
  .site-nav{display:flex;align-items:center;gap:2.5rem}
  .site-nav a{font-weight:700;color:#2d2f59;font-size:.95rem}
  .header-cta{display:inline-flex;min-width:150px}
  .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .steps .step{grid-template-columns:1fr 1fr}
  .steps .step:nth-child(even) .step__content{order:1}
  .steps .step:nth-child(even) .step__image{order:2}
  .scroll-sidebar{position:fixed;top:165px;right:24px;z-index:100;display:flex;flex-direction:column;align-items:center;gap:.75rem;transition:opacity .3s ease,transform .3s ease}
}
@media (min-width:1280px){
  .mobile-menu-overlay,.menu-backdrop{display:none !important}
  .nav-toggle{display:none}
  .site-header__bar{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem}
  .site-header__nav-shell{display:flex;align-items:center;justify-content:center}
  .site-header__nav-card{display:flex;align-items:center;justify-content:center;min-height:60px;padding:.5rem 2rem;background:#fff;border-radius:18px;box-shadow:0 10px 24px rgba(0,0,0,.12)}
  .site-header__cta-wrap{display:flex;align-items:center;justify-content:flex-end}
  .site-nav{display:flex;align-items:center;gap:3rem}
  .site-nav a{font-weight:700;color:#2d2f59;font-size:.98rem}
  .header-cta{display:inline-flex;min-width:160px}
  .feature-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .steps .step{grid-template-columns:1fr 1fr}
  .steps .step:nth-child(even) .step__content{order:1}
  .steps .step:nth-child(even) .step__image{order:2}
  .scroll-sidebar{position:fixed;top:165px;right:24px;z-index:100;display:flex;flex-direction:column;align-items:center;gap:.75rem;transition:opacity .3s ease,transform .3s ease}
}


.nav-toggle img{
  width: 24px;
  height: 24px;
  display:block;
}

.nav-toggle{
  position: relative;
  z-index: 1200;
  pointer-events: auto;
}

@media (max-width: 1023px){
  .nav-toggle{
    display:inline-flex !important;
  }

  .site-header__nav-shell,
  .site-header__cta-wrap{
    display:none !important;
  }
}


/* Cómo funciona - timeline por scroll */
.how-it-works {
  position: relative;
  overflow: hidden;
  background: transparent !important;
}

.how-it-works__timeline {
  position: relative;
  display: grid;
  gap: 120px;
  padding: 40px 0;
  --timeline-progress: 0px;
  --timeline-top: 120px;
  --timeline-bottom: 120px;
}

.how-it-works__timeline::before {
  content: "";
  position: absolute;
  top: var(--timeline-top);
  bottom: var(--timeline-bottom);
  left: 50%;
  transform: translateX(-50%);
  border-left: 3px dashed rgba(255, 255, 255, 0.22);
  z-index: 0;
}

.how-it-works__timeline::after {
  content: "";
  position: absolute;
  top: var(--timeline-top);
  left: 50%;
  transform: translateX(-50%);
  width: 4px;
  height: var(--timeline-progress);
  border-radius: 999px;
  background: linear-gradient(
    180deg,
    rgba(255, 237, 0, 0.95) 0%,
    rgba(48, 206, 255, 0.95) 100%
  );
  box-shadow:
    0 0 10px rgba(255, 237, 0, 0.35),
    0 0 22px rgba(48, 206, 255, 0.28);
  z-index: 1;
}

.how-step {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  gap: 64px;
}

.how-step__visual {
  display: flex;
  justify-content: center;
  opacity: 0.45;
  transform: translateY(18px) scale(0.98);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.how-step__visual img {
  max-height: 520px;
  object-fit: contain;
  filter: drop-shadow(0 18px 40px rgba(0, 0, 0, 0.25));
}

.how-step__info {
  display: grid;
  grid-template-columns: 72px 1fr;
  align-items: start;
  gap: 20px;
  opacity: 0.45;
  transform: translateY(12px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.how-step__marker {
  display: flex;
  justify-content: center;
  position: relative;
}

.how-step__badge {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #ffed00;
  color: #000;
  font-weight: 900;
  font-size: 1.8rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-shadow:
    0 0 0 0 rgba(255, 237, 0, 0),
    0 10px 25px rgba(0, 0, 0, 0.22);
  opacity: 0.55;
  transform: scale(0.88);
  transition: opacity 0.35s ease, transform 0.35s ease, box-shadow 0.35s ease;
}

.how-step__content h3 {
  color: #fff;
  font-size: clamp(1.3rem, 2vw, 2rem);
  line-height: 1.2;
  font-weight: 900;
  margin-bottom: 12px;
}

.how-step__content p {
  color: rgba(255, 255, 255, 0.82);
  font-size: clamp(0.95rem, 1.2vw, 1.15rem);
  line-height: 1.7;
  max-width: 420px;
}

.how-step--right .how-step__info { order: 1; }
.how-step--right .how-step__visual { order: 2; }
.how-step--left .how-step__visual { order: 1; }
.how-step--left .how-step__info { order: 2; }

.how-step.is-active .how-step__badge {
  opacity: 1;
  transform: scale(1);
  box-shadow:
    0 0 0 10px rgba(255, 237, 0, 0.08),
    0 10px 25px rgba(0, 0, 0, 0.22);
}

.how-step.is-active .how-step__info,
.how-step.is-active .how-step__visual {
  opacity: 1;
  transform: none;
}

@media (max-width: 1023px) {
  .how-it-works__timeline {
    gap: 72px;
    --timeline-top: 90px;
    --timeline-bottom: 90px;
  }

  .how-it-works__timeline::before,
  .how-it-works__timeline::after {
    left: 26px;
    transform: none;
  }

  .how-step {
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .how-step__visual,
  .how-step__info,
  .how-step--left .how-step__visual,
  .how-step--left .how-step__info,
  .how-step--right .how-step__visual,
  .how-step--right .how-step__info {
    order: unset;
  }

  .how-step__info {
    grid-template-columns: 52px 1fr;
    padding-left: 0;
  }

  .how-step__visual {
    justify-content: flex-start;
    padding-left: 72px;
  }

  .how-step__visual img {
    max-height: 380px;
  }

  .how-step__content p {
    max-width: 100%;
  }
}

@media (max-width: 639px) {
  .how-step__visual {
    padding-left: 56px;
  }

  .how-step__visual img {
    max-height: 300px;
  }

  .how-step__badge {
    width: 46px;
    height: 46px;
    font-size: 1.4rem;
  }
}


.logo--white {
  display: none;
}

.logo--color {
  display: block;
}

/* Mobile y tablet */
@media (max-width: 1023px) {
  .logo--color {
    display: block;
  }

  .logo--white {
    display: none;
  }
}

/* Laptop y desktop */
@media (min-width: 1024px) {
  .logo--color {
    display: none;
  }

  .logo--white {
    display: block;
  }
}
