/* --------------  VARIABLES -------------- */
    :root{
      --violet:#6a0dad;
      --white:#ffffff;
      --card-bg:rgba(255,255,255,.20);
      --border:rgba(255,255,255,.35);
      --shadow:rgba(0,0,0,.08);
      --text-dark:#1d1d1f;
    }

    /* --------------  RESET -------------- */
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    body{
      font-family:"Inter","Segoe UI",sans-serif;
      background:linear-gradient(135deg,#e7e0ff 0%,#f9faff 100%);
      color:var(--text-dark);
      -webkit-font-smoothing:antialiased;
      line-height:1.55;
    }
    a{text-decoration:none;color:inherit;}
    .container{max-width:1180px;margin:0 auto;padding:0 1rem;}

    /* --------------  GLASS CARD BASE -------------- */
    .glass{
      background:var(--card-bg);
      border:1px solid var(--border);
      backdrop-filter:blur(16px) saturate(150%);
      -webkit-backdrop-filter:blur(16px) saturate(150%);
      box-shadow:0 6px 20px var(--shadow);
      border-radius:24px;
    }

    /* --------------  HERO -------------- */
    .hero{padding:6rem 1rem 5rem;position:relative;text-align:center;}
    .hero::before{content:"";position:absolute;inset:0;background:
      radial-gradient(circle at 15% 20%,#a47cff66,transparent 60%),
      radial-gradient(circle at 85% 80%,#7bfdfc55,transparent 60%);
      z-index:-1;}
    .claim-box{color:var(--violet);font-size:2.3rem;font-weight:800;
      max-width:760px;margin:0 auto 2.6rem;}
    .btn{
      padding:.9rem 2rem;border-radius:50px;font-size:.95rem;font-weight:600;
      border:1px solid var(--violet);background:var(--card-bg);
      backdrop-filter:blur(18px);color:var(--violet);
      transition:background .25s,color .25s,box-shadow .3s;
    }
    .btn:hover{background:var(--violet);color:var(--white);
      box-shadow:0 4px 14px var(--shadow);}
    .cta-box{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;}

    /* --------------  JOURNEY -------------- */
    .journey{padding:5rem 1rem;}
.journey .container{padding:3rem 1.5rem;}
    
    /* --------------  STATS -------------- */
    .stats{
      margin:5rem auto;padding:4rem 1.5rem;text-align:center;
      background:var(--card-bg);border:1px solid var(--border);
      backdrop-filter:blur(16px) saturate(150%);
      -webkit-backdrop-filter:blur(16px) saturate(150%);
      box-shadow:0 6px 20px var(--shadow);border-radius:24px;
      color:var(--violet);
    }
    .stats h2{font-size:1.8rem;font-weight:800;margin-bottom:.8rem;position:relative;display:inline-block;}
    .stats h2::before{content:"";width:80px;height:4px;background:var(--violet);position:absolute;top:-1rem;left:50%;transform:translateX(-50%);border-radius:2px;}
    .stats-lead{max-width:600px;margin:.8rem auto 2.8rem;font-size:1rem;font-weight:500;}
    .stats-lead span{font-weight:800;}
    .stat-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;margin-bottom:2.8rem;}
    .stat{min-width:140px;}
    .num{font-size:3rem;font-weight:900;display:block;line-height:1;}
    .label{font-size:.85rem;font-weight:600;letter-spacing:.4px;text-transform:uppercase;}
    .stats-btn{
      background:var(--violet);color:#fff;border:none;padding:.85rem 2rem;
      border-radius:40px;font-size:.9rem;font-weight:600;
      transition:transform .25s;display:inline-block;
    }
    .stats-btn:hover{transform:translateY(-2px);}

    /* --------------  FAQ (estilos base) -------------- */
    .faq-container{padding:4rem 1rem;}
    .faq-container h1{color:var(--violet);font-size:2rem;font-weight:800;text-align:center;margin-bottom:2.8rem;}
    .faq-container h2{color:var(--violet);font-size:1.1rem;font-weight:700;margin:2rem 0 1rem;}
    details{margin-bottom:1rem;border:1px solid var(--violet);border-radius:14px;background:var(--card-bg);backdrop-filter:blur(14px);}
    summary{padding:1rem 1.3rem;font-weight:600;color:var(--violet);cursor:pointer;position:relative;list-style:none;}
    summary::after{content:"+";position:absolute;right:1.3rem;font-weight:700;transition:transform .2s;}
    details[open] summary::after{content:"–";}
    .answer{padding:1rem 1.3rem 1.4rem;border-top:1px solid var(--violet);font-size:.95rem;line-height:1.6;}
    .answer ul{padding-left:1.1rem;margin-top:.6rem;}
    .answer li{margin:.35rem 0;}

    /* --------------  SERVICES -------------- */
    .services{margin:6rem auto;padding:0 1rem;text-align:center;}
    .services h2{font-size:1.8rem;font-weight:800;color:var(--violet);margin-bottom:3rem;position:relative;display:inline-block;}
    .services h2::before{content:"";width:80px;height:4px;background:var(--violet);position:absolute;top:-1rem;left:50%;transform:translateX(-50%);border-radius:2px;}
    .services-grid{display:flex;flex-wrap:wrap;gap:2rem;justify-content:center;}
    .service-card{
      flex:1 1 320px;max-width:420px;padding:3rem 2rem 4rem;border-radius:32px;
      display:flex;flex-direction:column;align-items:center;text-align:center;
      backdrop-filter:blur(18px) saturate(180%);-webkit-backdrop-filter:blur(18px) saturate(180%);
      box-shadow:0 14px 28px rgba(0,0,0,.18),0 6px 12px rgba(0,0,0,.12);
      border:1px solid var(--border);transform:translateZ(0);
    }
    .card-advice,
    .card-llc{
      background:linear-gradient(180deg,rgba(138,0,255,.70) 0%,rgba(255,255,255,.28) 100%);
      color:var(--text-dark);
    }
    .service-icon{font-size:72px;margin-bottom:1.4rem;filter:drop-shadow(0 3px 6px rgba(0,0,0,.25));}
    .service-card h3{font-size:1.45rem;font-weight:800;margin-bottom:.6rem;}
    .price{display:inline-block;margin:.5rem 0 1.6rem;padding:.25rem .8rem;border-radius:4px;font-weight:700;background:#ffe600;color:#000;}
    .service-desc{font-size:.95rem;line-height:1.55;margin-bottom:2.6rem;max-width:300px;}
    .service-btn{background:#000;color:#fff;padding:.85rem 2.4rem;border-radius:50px;font-size:.9rem;font-weight:600;transition:transform .25s;}
    .service-btn:hover{transform:translateY(-2px);}

    /* --------------  MISC / RESPONSIVE -------------- */
    .claim-box{font-size:clamp(1.8rem,4vw + .5rem,2.8rem);}
    .num{word-break:break-word;}
    section:not(:last-of-type){margin-bottom:2.5rem;}

    @media (max-width:767px){
      .claim-box{font-size:clamp(1.8rem,4vw + .5rem,2.4rem);}
      .stats h2{font-size:1.6rem;}
      .service-card{flex:1 1 100%;max-width:100%;}
    }
    @media (max-width:480px){
      .glass{backdrop-filter:blur(8px) saturate(140%);}
    }

    /* --------------  Decorativo fondo & ruido -------------- */
    body{background:linear-gradient(180deg,#ede6ff 0%,#ffffff 65%);background-attachment:fixed;overscroll-behavior:none;}
    body::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAAALElEQVQokaXRwQkAMAwD0fb/6zsNCCEqzu0JocygZik2iNMFbkP06Tdr4p3TcNn9AFN0BglqmY2UAAAAASUVORK5CYII=");background-size:160px 160px;opacity:.12;mix-blend-mode:overlay;filter:contrast(160%) brightness(105%);animation:noiseMove 12s linear infinite;}
    @keyframes noiseMove{0%{transform:translate3d(0,0,0);}100%{transform:translate3d(-160px,-160px,0);}}

    /* --------------  SCROLL SUAVE -------------- */
 html{scroll-behavior:smooth;}
  :target{scroll-margin-top:5rem;}
    /* --------------  FOOTER -------------- */
.footer{
  margin-top:4rem;
  padding:3rem 1rem 2rem;
  position:relative;
  overflow:hidden;                 /* para el ::before */
}
.footer::before{                    /* degradado + blur tipo .glass */
  content:"";
  position:absolute; inset:0;
  background:linear-gradient(135deg,
            rgba(255,255,255,.18) 0%,
            rgba(255,255,255,.08) 100%);
  border:1px solid var(--border);
  backdrop-filter:blur(22px) saturate(180%);
  -webkit-backdrop-filter:blur(22px) saturate(180%);
  border-radius:24px;
  box-shadow:0 10px 26px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.4);
  z-index:-1;
}
.footer-top-bar{                    /* barrita violeta muy fina */
  height:4px;
  width:120px;
  background:var(--violet);
  border-radius:2px;
  margin:0 auto 2rem;
}
.footer-inner{
  max-width:1180px;
  margin:0 auto;
  display:flex;
  flex-wrap:wrap;
  gap:2.5rem;
  justify-content:space-between;
  text-align:left;
  color:var(--text-dark);
}
.footer-col{
  flex:1 1 260px;
  min-width:200px;
}
.footer-col h4{
  font-size:1.1rem;
  font-weight:700;
  margin-bottom:1rem;
  color:var(--violet);
}
.footer-col ul{list-style:none;}
.footer-col li{margin:.35rem 0;}
.footer a{
  color:inherit;
  transition:color .2s;
}
.footer a:hover{color:var(--violet);}
.footer-bottom{
  margin-top:2.5rem;
  font-size:.85rem;
  text-align:center;
  opacity:.7;
}

/*  ---  Responsive tweak  --- */
@media(max-width:480px){
  .footer-inner{justify-content:center;text-align:center;}
  .footer-col{flex:1 1 100%;}
}
/* ----- TIMELINE nuevo ───────────────────────── */
.journey h2{
  font-size:1.8rem;
  font-weight:800;
  color:var(--violet);
  text-align:center;
  margin-bottom:2.8rem;
}


/* >>> AÑADIR DESDE AQUÍ ------------------------- */
.timeline{
  padding-bottom:1.8rem;          /* aire bajo las burbujas */
  display:flex;
  flex-wrap:wrap;
  gap:1.2rem;
  justify-content:center;
  position:relative;                              
}
.final{
  margin-top:2.2rem;       /* (opcional) distancia extra */
}

.stage,
.final{
  position:relative;
  padding:.9rem 1.8rem;
  border-radius:999px;
  font-size:.9rem;
  font-weight:700;
  color:#fff;
  text-align:center;
  flex:1 1 160px;
  min-width:140px;
  z-index:1;

  /* === NUEVO === */
  display:flex;              /* convierte el globo en flex-box   */
  align-items:center;        /* centra verticalmente el texto    */
  justify-content:center;    /* centra horizontalmente el texto  */
/* opcional: min-height:90px; asegura altura uniforme */
}


/* degradé que avanza con cada paso */
.stage:nth-child(1){background:linear-gradient(90deg,#a470ff,#985cff);}
.stage:nth-child(2){background:linear-gradient(90deg,#9257ff,#8249ff);}
.stage:nth-child(3){background:linear-gradient(90deg,#7b42ff,#6933ff);}
.stage:nth-child(4){background:linear-gradient(90deg,#6430ff,#5422ff);}
.stage:nth-child(5){background:linear-gradient(90deg,#4d2aff,#3d1cff);}
.stage:nth-child(6){background:linear-gradient(90deg,#3517ff,#2509ff);}

.final{
  flex:0 0 100%;
  background:#3300ff;
  margin-top:1.2rem;
  animation:pulse 2.4s infinite ease-in-out;
}

/* línea horizontal */
.timeline::before{
  content:"";
  position:absolute;
  /*  ↓↓↓  NUEVO  ↓↓↓ */
  bottom:0;        /* la barra queda pegada al borde inferior */
  top:auto;        /* ya no se centra verticalmente           */

  left:0;
  right:0;
  height:6px;      /* un poco más fina que antes */
  background:linear-gradient(90deg,#a470ff,#2509ff);
  border-radius:999px;
  z-index:0;       /* sigue por detrás de las burbujas */
}

/* animación de la burbuja final */
@keyframes pulse{
  0%,100%{box-shadow:0 0 0 0 rgba(76,0,255,.45);}
  50%   {box-shadow:0 0 0 12px rgba(76,0,255,0);}
}

/* responsive peque */
@media(max-width:500px){
  .stage,
  .final{margin-bottom:.6rem;}   /* pequeño aire entre burbujas */

  .timeline::before{display:none;}   /* quita la línea para stacks verticales */

}


/* ----- BLOQUE “¿Para quién es una LLC?” ----- */
.llc-target{
  margin:4rem auto;
  padding:3rem 1.5rem;
  text-align:center;
}

.llc-target h2{
  font-size:1.8rem;
  font-weight:800;
  color:var(--violet);
  margin-bottom:1.8rem;
  position:relative;
  display:inline-block;
}

.llc-target h2::before{                /* sub-rayita decorativa */
  content:"";
  width:80px;
  height:4px;
  background:var(--violet);
  border-radius:2px;
  position:absolute;
  top:-1rem;
  left:50%;
  transform:translateX(-50%);
}

.llc-list{
  list-style:none;
  max-width:700px;
  margin:0 auto;
  text-align:left;
  font-size:1rem;
  line-height:1.6;
}

.llc-list li{
  position:relative;
  padding-left:2.1rem;
  margin:.75rem 0;
}

.llc-list li::before{                  /* viñetas → ✔︎ */
  content:"✔︎";
  font-weight:700;
  color:var(--violet);
  position:absolute;
  left:0;
  top:0;
}
.navbar{
  position:sticky;           /* se queda arriba al hacer scroll   */
  top:0;
  z-index:999;
  backdrop-filter:blur(16px) saturate(150%);
  -webkit-backdrop-filter:blur(16px) saturate(150%);
  border-bottom:1px solid var(--border);
  box-shadow:0 4px 12px var(--shadow);
}

.nav-wrapper{
  max-width:1180px;
  margin:0 auto;
  padding:.9rem 1rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.logo{
  font-weight:900;
  font-size:1.3rem;
  color:var(--violet);
  letter-spacing:-.5px;
}

.nav-links{
  display:flex;
  gap:1.6rem;
}

.nav-links a{
  font-weight:600;
  font-size:.95rem;
  transition:color .25s;
}

.nav-links a:hover{
  color:#000;
}

/* ——— Formulario estilo “glass” ——— */
#contact {
  padding: 2rem;
  background: var(--card-bg);
  border: 1px solid var(--border);
  backdrop-filter: blur(16px) saturate(150%);
  -webkit-backdrop-filter: blur(16px) saturate(150%);
  box-shadow: 0 6px 20px var(--shadow);
  border-radius: 24px;
  margin-bottom: 4rem;
}

#contact .ssc-form-field-label {
  display: block;
  margin-bottom: .5rem;
  font-weight: 600;
  color: var(--violet);
}

#contact .form-control {
  width: 100%;
  padding: .9rem 1rem;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: rgba(255,255,255,.80);
  font-family: Inter, sans-serif;
  font-size: .95rem;
  color: var(--text-dark);
  transition: border-color .2s, box-shadow .2s;
  margin-bottom: 1.2rem;
}

#contact .form-control:focus {
  outline: none;
  border-color: var(--violet);
  box-shadow: 0 0 0 3px rgba(106,13,173,.15);
}

#contact textarea.form-control {
  resize: vertical;
}

#contact .ssc-form-checkbox-container {
  display: flex;
  align-items: flex-start;
  gap: .6rem;
  margin-bottom: 1.2rem;
  font-size: .9rem;
  color: var(--text-dark);
}

#contact .ssc-form-checkbox {
  margin-top: .2rem;
  accent-color: var(--violet);
}

/* botón de envío */
#contact button[type="submit"] {
  padding: .9rem 2rem;
  border-radius: 50px;
  border: 1px solid var(--violet);
  background: var(--card-bg);
  color: var(--violet);
  font-weight: 600;
  font-size: .95rem;
  cursor: pointer;
  transition: background .25s, color .25s, box-shadow .3s;
}
#contact button[type="submit"]:hover {
  background: var(--violet);
  color: var(--white);
  box-shadow: 0 4px 14px var(--shadow);
}