@font-face{font-family:'Manrope';font-style:normal;font-weight:200 800;font-display:swap;src:url('../fonts/manrope-latin-variable.woff2') format('woff2')}

:root{
      --font-main:'Manrope',system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
      --morado:#6f1df2;
      --morado-2:#8b35ff;
      --amarillo:#ffcb05;
      --celeste:#dfe8eb;
      --celeste-2:#edf3f5;
      --gris:#6d7078;
      --gris-2:#a0a3aa;
      --negro:#171717;
      --blanco:#ffffff;
      --rosa:#ffd6f4;
      --azul:#22b9e8;
      --shadow:0 28px 70px rgba(111,29,242,.20);
      --radius:28px;
    }
    *{box-sizing:border-box;margin:0;padding:0}
    html{scroll-behavior:smooth}
    body{
      font-family:var(--font-main);
      background:var(--celeste);
      color:var(--negro);
      overflow-x:hidden;
    }
    button,input,select,textarea{font-family:var(--font-main)}
    a{text-decoration:none;color:inherit}
    img{display:block;max-width:100%}
    .container{width:min(1320px,92%);margin:auto}

    a, button, .btn, .pill, .price-row, .journey-item, .accordion-btn, .school-logo, .step, .promo-mini, .summary-feature{cursor:pointer}

    .summary-feature-grid{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:16px;
    }
    .summary-feature{
      background:white;
      border-radius:26px;
      padding:22px;
      border:1px solid rgba(111,29,242,.10);
      box-shadow:0 14px 34px rgba(111,29,242,.07);
      min-height:160px;
      display:flex;
      flex-direction:column;
      justify-content:space-between;
      transition:transform .30s ease,border-color .30s ease,box-shadow .30s ease,background .30s ease;
      position:relative;
      overflow:hidden;
    }
    .summary-feature .icon{
      width:46px;
      height:46px;
      border-radius:16px;
      background:#f2ebff;
      color:var(--morado);
      display:grid;
      place-items:center;
      margin-bottom:18px;
      transition:.30s ease;
    }
    .summary-feature .icon svg{width:23px;height:23px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}
    .summary-feature small{
      display:block;
      font-size:12px;
      color:var(--morado);
      font-weight:900;
      text-transform:uppercase;
      letter-spacing:.12em;
      margin-bottom:8px;
    }
    .summary-feature strong{
      display:block;
      font-size:22px;
      font-weight:900;
      color:#2f3440;
      line-height:1.1;
      transition:.30s ease;
    }
    .summary-feature:hover{
      transform:translateY(-6px);
      border-color:rgba(111,29,242,.28);
      box-shadow:0 26px 54px rgba(111,29,242,.16);
      background:linear-gradient(135deg,var(--morado),var(--morado-2));
    }
    .summary-feature:hover small,
    .summary-feature:hover strong{color:white}
    .summary-feature:hover .icon{
      background:rgba(255,255,255,.14);
      color:white;
      transform:scale(1.08);
    }

    .summary-text p{
      color:#5b606a;
      line-height:1.75;
      font-size:18px;
      margin-bottom:0;
      max-width:760px;
    }
    
    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;
      padding:15px 22px;
      border:0;
      border-radius:16px;
      font-weight:900;
      text-transform:uppercase;
      font-size:13px;
      letter-spacing:.04em;
      cursor:pointer;
      transition:.25s;
    }
    .btn-primary{background:var(--morado);color:white;box-shadow:0 15px 34px rgba(111,29,242,.26)}
    .btn-primary:hover{background:var(--morado-2);transform:translateY(-2px)}
    header.scrolled .nav > .btn-primary{background:var(--amarillo);color:var(--morado);box-shadow:0 15px 34px rgba(255,203,5,.22)}
    header.scrolled .nav > .btn-primary:hover{background:white;color:var(--morado)}
    .btn-yellow{background:var(--amarillo);color:var(--morado);box-shadow:0 15px 34px rgba(255,203,5,.25)}
    .btn-yellow:hover{transform:translateY(-2px);filter:brightness(1.04)}
    .btn-outline{background:white;border:2px solid var(--morado);color:var(--morado)}
    .menu-btn{display:none;background:white;border:0;border-radius:14px;width:44px;height:44px;color:var(--morado);font-size:22px;font-weight:900}
    header.scrolled .menu-btn{background:rgba(255,255,255,.16);color:white;border:1px solid rgba(255,255,255,.22)}
    .mobile-menu{display:none;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);border-bottom:2px solid rgba(111,29,242,.14)}
    .mobile-menu.open{display:block}.mobile-menu a{display:block;padding:16px 5%;font-weight:900;text-transform:uppercase;color:var(--morado)}

    .hero{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:#fff}
    .hero-slides{position:absolute;inset:0;z-index:0}.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility .9s ease}.hero-slide.active{opacity:1;visibility:visible}
    .hero-bg{position:absolute;inset:0;z-index:0}.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center center}.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.90) 30%,rgba(255,255,255,.52) 47%,rgba(255,255,255,.10) 64%,rgba(255,255,255,0) 100%)}
    .hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(420px,560px) 1fr;align-items:center;gap:24px;padding-top:18px;padding-bottom:170px;min-height:100vh}
    .hero-content{max-width:560px;position:relative}.hero-copy{position:absolute;inset:0;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease,visibility .6s ease}.hero-copy.active{position:relative;opacity:1;visibility:visible;transform:translateY(0)}
    .eyebrow{color:var(--morado);font-weight:900;letter-spacing:.25em;text-transform:uppercase;font-size:13px;margin-bottom:16px}
    :is(h1, .hero-heading){font-size:clamp(42px,4.8vw,68px);line-height:.96;color:#202635;letter-spacing:-.05em;margin-bottom:22px;font-weight:900;max-width:620px}:is(h1, .hero-heading) span{display:block;color:var(--morado);font-family:var(--font-main);font-size:.9em;font-weight:900}.hero p{font-size:18px;line-height:1.58;color:#4a4d56;max-width:535px;margin-bottom:28px}.hero-actions{display:flex;gap:15px;flex-wrap:wrap;margin-bottom:8px}
    .hero-dots{position:absolute;left:0;bottom:-52px;display:flex;gap:10px;z-index:3}.hero-dot{width:12px;height:12px;border-radius:50%;background:rgba(111,29,242,.24);border:0;cursor:pointer;transition:.25s}.hero-dot.active{width:34px;border-radius:999px;background:var(--morado)}
    .hero-bottom-bar{position:absolute;left:0;right:0;bottom:28px;z-index:5;height:auto;background:transparent;padding:0;box-shadow:none;pointer-events:none;overflow:visible}.hero-bottom-bar:before,.hero-bottom-bar:after{display:none}
    .hero-pills{position:relative;z-index:2;width:min(1120px,92%);margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);gap:0;align-items:stretch;padding:0;pointer-events:auto;background:linear-gradient(135deg,rgba(82,14,190,.95),rgba(129,45,255,.94));border:1px solid rgba(255,255,255,.16);border-radius:26px;overflow:hidden;backdrop-filter:blur(18px);box-shadow:0 22px 55px rgba(76,16,150,.24)}
    .hero-pills:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,0));pointer-events:none}.pill{position:relative;z-index:2;padding:18px;background:transparent;border:0;color:white;font-weight:800;font-size:14px;display:flex;align-items:center;gap:14px;line-height:1.35;min-width:0;transition:.26s ease}.pill:not(:last-child):after{content:"";position:absolute;top:18px;right:0;width:1px;height:calc(100% - 36px);background:rgba(255,255,255,.14)}.pill:hover{background:rgba(255,255,255,.06)}.pill b{display:block;color:white;font-size:14px;line-height:1.15}.pill small{display:block;color:rgba(255,255,255,.72);font-size:12px;font-weight:600;margin-top:4px}.pill-icon{width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.10);display:grid;place-items:center;flex:0 0 auto;transition:.26s ease}.pill-icon svg{width:22px;height:22px;stroke:white;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}.pill:hover .pill-icon{background:rgba(255,255,255,.18)}

    .section{padding:86px 0;position:relative}.section.white{background:white}.section.soft{background:var(--celeste-2)}.section-head{text-align:center;margin-bottom:42px}.section-head h2{font-size:clamp(30px,3.8vw,46px);line-height:.96;color:#252935;font-weight:900;letter-spacing:-.05em;text-transform:none}.section-head h2 span{color:var(--morado)}.section-head p{max-width:690px;margin:16px auto 0;color:#5e626b;font-size:18px;line-height:1.6}.line{width:74px;height:5px;background:var(--amarillo);border-radius:99px;margin:18px auto 0}
    .package-summary{background:linear-gradient(180deg,#ffffff 0%,#f8fbfc 100%);border-radius:38px;padding:38px;border:2px solid rgba(111,29,242,.10);box-shadow:0 30px 70px rgba(111,29,242,.10);overflow:hidden;position:relative}.package-summary:before{content:"";position:absolute;top:-120px;right:-120px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(111,29,242,.12) 0%,rgba(111,29,242,0) 72%)}.summary-grid{display:grid;grid-template-columns:1fr;gap:34px;align-items:stretch;position:relative;z-index:2}
    .summary-text h3{font-size:40px;color:#252935;line-height:.96;margin-bottom:14px;text-transform:none;letter-spacing:-.05em;max-width:760px}.summary-text h3 span{color:var(--morado)}.summary-intro{display:flex;flex-direction:column;align-items:center;text-align:center;gap:18px;margin-bottom:34px}.summary-intro > div:first-child{display:flex;flex-direction:column;align-items:center;text-align:center}.summary-text h3{margin-left:auto;margin-right:auto}.summary-kicker{justify-content:center}.summary-kicker{display:inline-flex;align-items:center;gap:8px;color:var(--morado);font-weight:900;letter-spacing:.16em;text-transform:uppercase;font-size:12px;margin-bottom:12px}.summary-kicker:before{content:"";width:30px;height:3px;border-radius:999px;background:var(--amarillo)}.summary-lead{background:rgba(111,29,242,.06);border:1px solid rgba(111,29,242,.10);border-radius:24px;padding:22px;color:#555b66;line-height:1.7;font-size:17px}.summary-showcase{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:stretch}.summary-image-card{position:relative;border-radius:32px;overflow:hidden;min-height:430px;box-shadow:0 26px 60px rgba(111,29,242,.18)}.summary-image-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.summary-image-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(25,10,70,.78) 100%)}.summary-image-caption{position:absolute;left:26px;right:26px;bottom:26px;color:white;z-index:2}.summary-image-caption small{display:block;font-size:12px;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--amarillo);margin-bottom:10px}.summary-image-caption strong{display:block;font-size:34px;font-weight:900;line-height:1;letter-spacing:-.04em}

    .summary-prices{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:18px;
    }
    .summary-prices-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
      margin-bottom:18px;
    }
    .summary-prices-title small{
      display:block;
      font-size:13px;
      font-weight:900;
      letter-spacing:.14em;
      text-transform:uppercase;
      color:var(--morado);
      margin-bottom:6px;
    }
    .summary-prices-title strong{
      display:block;
      font-size:32px;
      font-weight:900;
      color:#2a2d35;
      line-height:1;
      letter-spacing:-.03em;
    }
    .summary-area-tag{
      background:#f2ebff;
      color:var(--morado);
      padding:11px 16px;
      border-radius:999px;
      font-size:12px;
      font-weight:900;
      white-space:nowrap;
    }
    .price-row{
      position:relative;
      display:grid;
      grid-template-rows:190px auto;
      gap:0;
      background:white;
      border-radius:28px;
      padding:0;
      border:1px solid rgba(111,29,242,.10);
      box-shadow:0 18px 42px rgba(111,29,242,.09);
      transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease;
      overflow:hidden;
      min-height:340px;
      isolation:isolate;
    }
    .price-photo{
      position:relative;
      min-height:190px;
      background:linear-gradient(135deg,#eee8ff,#ffffff);
      overflow:hidden;
    }
    .price-photo img{
      width:100%;
      height:100%;
      object-fit:cover;
      transition:.35s;
    }
    .price-row:hover .price-photo img{transform:scale(1.05)}
    .price-photo:after{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg,rgba(0,0,0,0) 38%,rgba(30,10,80,.55) 100%);
    }
    .price-content{
      position:relative;
      z-index:3;
      padding:20px 22px 24px;
      margin-top:-2px;
      display:grid;
      gap:14px;
      align-content:center;
      justify-items:center;
      text-align:center;
      overflow:hidden;
      background:transparent;
    }
    .price-row:before{
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:0;
      height:42%;
      background:linear-gradient(135deg,var(--morado),var(--morado-2));
      transform:translateY(102%);
      transition:transform .45s cubic-bezier(.22,1,.36,1);
      z-index:1;
    }
    .price-row:hover:before{
      transform:translateY(0);
    }
    .price-row:hover{
      transform:translateY(-5px);
      border-color:rgba(111,29,242,.30);
      box-shadow:0 24px 58px rgba(111,29,242,.22);
    }
    .price-row:hover .price-photo img{
      transform:scale(1.06);
    }
    .price-row:hover b{
      color:white;
    }
    .price-row:hover span{
      background:rgba(255,255,255,.16);
      color:white;
      backdrop-filter:blur(10px);
    }
    .price-row:hover .price-photo:after{
      background:linear-gradient(180deg,rgba(0,0,0,0) 38%,rgba(30,10,80,.55) 100%);
    }
    
    .price-row.featured{
      background:white;
      border-color:rgba(111,29,242,.10);
    }
    .price-row.featured b{
      color:var(--morado);
    }
    .price-row.featured span{
      background:#f3eeff;
      color:var(--morado);
      backdrop-filter:none;
    }
    .price-row.featured:hover{
      border-color:rgba(111,29,242,.28);
    }
    .price-row.featured:hover b{
      color:white;
    }
    .price-row.featured:hover span{
      background:rgba(255,255,255,.16);
      color:white;
      backdrop-filter:blur(10px);
    }
    .price-row b{
      color:var(--morado);
      font-size:22px;
      line-height:1.1;
      text-align:center;
    }
    
    .price-row span{
      background:#f3eeff;
      color:var(--morado);
      border-radius:16px;
      padding:12px 16px;
      font-weight:900;
      font-size:24px;
      line-height:1;
      white-space:nowrap;
      width:max-content;
    }
    
    .summary-note{
      margin:28px auto 0;
      max-width:920px;
      padding:0;
      background:transparent;
      border:0;
      text-align:center;
      color:#2a2d35;
      font-weight:900;
      line-height:1.15;
      letter-spacing:-.03em;
      font-size:clamp(26px,3.2vw,44px);
    }
    .summary-note span{
      color:var(--morado);
      font-size:1.12em;
    }
    .summary-note small{
      display:block;
      margin-top:10px;
      color:#6b7280;
      font-size:16px;
      line-height:1.5;
      letter-spacing:0;
      font-weight:700;
    }

    .accordion{max-width:920px;margin:0 auto;display:grid;gap:14px}.accordion-item{background:white;border:2px solid rgba(111,29,242,.18);border-radius:22px;overflow:hidden;box-shadow:0 14px 36px rgba(111,29,242,.07)}
    .accordion-btn{width:100%;border:0;background:white;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:var(--morado);font-size:18px;font-weight:900;text-align:left;cursor:pointer}.accordion-btn span{width:34px;height:34px;border-radius:50%;background:var(--amarillo);display:grid;place-items:center;flex:0 0 auto;transition:.25s}
    .accordion-content{max-height:0;overflow:hidden;transition:max-height .28s ease}.accordion-content p{padding:0 22px 20px;color:#5c6069;line-height:1.65}.accordion-item.active .accordion-content{max-height:160px}.accordion-item.active .accordion-btn span{transform:rotate(45deg)}

    .promo-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:26px;align-items:stretch}
    .promo-copy{background:linear-gradient(135deg,#4d0fad,#7b2cff);color:white;border-radius:36px;padding:46px;box-shadow:var(--shadow);position:relative;overflow:hidden}
    .promo-copy:after{content:"";position:absolute;right:-90px;bottom:-90px;width:230px;height:230px;border-radius:50%;background:rgba(255,203,5,.22)}
    .promo-copy h2{
      font-size:40px;
      line-height:.96;
      letter-spacing:-.05em;
      margin-bottom:20px;
      text-transform:none;
      position:relative;
      z-index:2;
    }.promo-copy h2 span{color:var(--amarillo)}
    .promo-copy p{font-size:18px;line-height:1.7;color:#eee7ff;margin-bottom:24px;position:relative;z-index:2}.check{display:grid;gap:14px;position:relative;z-index:2}.check span{font-weight:900;display:flex;gap:10px;align-items:flex-start}.check span:before{content:'✓';color:var(--amarillo);font-weight:900;flex:0 0 auto}
    .promo-visual{display:grid;grid-template-columns:1.1fr .9fr;gap:18px}.promo-photo{position:relative;border-radius:32px;overflow:hidden;min-height:470px;box-shadow:0 26px 60px rgba(111,29,242,.13)}.promo-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.promo-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(27,10,72,.72) 100%)}.promo-caption{position:absolute;left:24px;right:24px;bottom:24px;color:white;z-index:2}.promo-caption small{display:block;color:var(--amarillo);font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px}.promo-caption strong{font-size:30px;line-height:1;letter-spacing:-.03em;display:block}
    .promo-side{display:grid;gap:18px}.promo-mini{background:white;border-radius:28px;padding:24px;border:1px solid rgba(111,29,242,.10);box-shadow:0 18px 42px rgba(111,29,242,.08);display:flex;flex-direction:column;justify-content:space-between;min-height:225px}.promo-mini-icon{width:54px;height:54px;border-radius:18px;background:#f2ebff;color:var(--morado);display:grid;place-items:center;margin-bottom:18px}.promo-mini-icon svg{width:27px;height:27px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}.promo-mini h3{font-size:24px;color:#2a2d35;line-height:1.05;margin-bottom:10px}.promo-mini p{color:#646a75;line-height:1.55;font-size:15px}

    .levels-accordion{max-width:1180px;margin:0 auto;display:grid;gap:14px}
    .level-item{background:white;border:1px solid rgba(111,29,242,.14);border-radius:24px;overflow:hidden;box-shadow:0 18px 44px rgba(111,29,242,.07);transition:border-color .25s ease,box-shadow .25s ease}
    .level-item.active{border-color:rgba(111,29,242,.38);box-shadow:0 24px 60px rgba(111,29,242,.12)}
    .level-trigger{width:100%;min-height:86px;border:0;background:white;padding:18px 22px;display:grid;grid-template-columns:60px minmax(0,1fr) 42px;gap:18px;align-items:center;text-align:left;font-family:inherit;cursor:pointer}
    .level-number{width:52px;height:52px;border-radius:16px;background:#f2ebff;color:var(--morado);display:grid;place-items:center;font-size:14px;font-weight:900}
    .level-trigger b{display:block;color:#252935;font-size:26px;line-height:1;font-weight:900}
    .level-trigger small{display:block;margin-top:6px;color:#6a7080;font-size:14px;font-weight:800}
    .level-trigger i{width:40px;height:40px;border-radius:50%;background:var(--morado);color:white;display:grid;place-items:center;font-style:normal;font-size:24px;font-weight:900;transition:.25s}
    .level-item.active .level-trigger i{transform:rotate(45deg);background:var(--amarillo);color:#2a2140}
    .level-panel{max-height:0;overflow:hidden;transition:max-height .32s ease}
    .level-item.active .level-panel{max-height:520px}
    .level-panel{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;padding:0 22px}
    .level-item.active .level-panel{padding:0 22px 24px}
    .level-image{min-height:310px;border-radius:20px;overflow:hidden;background:#f8f4ff}
    .level-image img{width:100%;height:100%;object-fit:cover;display:block}
    .level-content{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:8px 8px 8px 0}
    .level-content h3{font-size:36px;line-height:.96;color:#252935;margin-bottom:12px;letter-spacing:-.04em}
    .level-content p{color:#5e6574;font-size:17px;line-height:1.6;margin-bottom:18px;max-width:540px}
    .level-tags{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:22px}
    .level-tags span{padding:9px 12px;border-radius:999px;background:#f6f0ff;color:var(--morado);font-size:12px;font-weight:900}

    .levels-showcase{align-items:stretch}
    .levels-horizontal{display:flex;gap:14px;min-height:420px}
    .level-card{position:relative;flex:0 0 112px;border-radius:30px;overflow:hidden;background:#22113e;box-shadow:0 22px 52px rgba(111,29,242,.12);transition:flex-basis .38s ease,box-shadow .28s ease;isolation:isolate}
    .level-card-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:.64;transform:scale(1.06);transition:opacity .28s ease,transform .38s ease;z-index:0}
    .level-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(25,10,60,.06) 0%,rgba(23,10,54,.78) 100%);z-index:1}
    .level-card.active{flex-basis:390px;box-shadow:0 30px 70px rgba(111,29,242,.18)}
    .level-card.active .level-card-photo{opacity:.96;transform:scale(1)}
    .level-card-trigger{position:absolute;inset:0;z-index:3;border:0;background:transparent;color:white;font-family:inherit;cursor:pointer;text-align:left;padding:22px;display:flex;flex-direction:column;justify-content:flex-start;gap:10px}
    .level-card-trigger span{display:none}
    .level-card-trigger b{writing-mode:vertical-rl;transform:rotate(180deg);font-size:22px;line-height:1;font-weight:900;text-shadow:0 8px 20px rgba(0,0,0,.18)}
    .level-card.active .level-card-trigger{pointer-events:none}
    .level-card.active .level-card-trigger b{opacity:0}
    .level-card-content{position:absolute;left:24px;right:24px;bottom:24px;z-index:4;color:white;opacity:0;transform:translateY(12px);transition:.25s ease;max-width:320px;pointer-events:none}
    .level-card.active .level-card-content{opacity:1;transform:translateY(0);transition-delay:.12s;pointer-events:auto}
    .level-card-content small{display:none}
    .level-card-content h3{font-size:34px;line-height:.95;letter-spacing:-.04em;margin-bottom:10px}
    .level-card-content p{display:none}
    .level-card-content a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 16px;border-radius:999px;background:white;color:var(--morado);font-size:12px;font-weight:900}

    .process-wrap{
      position:relative;
      background:linear-gradient(135deg,#ffffff 0%,#f8fbfc 100%);
      border-radius:42px;
      padding:54px 38px;
      border:2px solid rgba(111,29,242,.10);
      box-shadow:0 30px 70px rgba(111,29,242,.10);
      overflow:hidden;
    }
    .process-wrap:after{
      content:"";
      position:absolute;
      inset:0;
      background:
      radial-gradient(circle at top left,rgba(111,29,242,.08),transparent 28%),
      radial-gradient(circle at bottom right,rgba(255,203,5,.10),transparent 24%);
      pointer-events:none;
    }
    .process-wrap:before{
      content:"";
      position:absolute;
      left:9%;
      right:9%;
      top:138px;
      height:2px;
      background:linear-gradient(90deg,rgba(111,29,242,.15),rgba(255,203,5,.7),rgba(111,29,242,.15));
      opacity:1;
    }
    .process{
      position:relative;
      z-index:2;
      display:grid;
      grid-template-columns:repeat(4,1fr);
      gap:24px;
      align-items:stretch;
    }
    .step{
      position:relative;
      background:rgba(255,255,255,.92);
      backdrop-filter:blur(16px);
      border-radius:32px;
      padding:30px 26px 28px;
      border:1px solid rgba(111,29,242,.12);
      box-shadow:0 18px 42px rgba(111,29,242,.08);
      transition:.28s ease;
      overflow:hidden;
      min-height:260px;
    }
    .step:before{
      content:"";
      position:absolute;
      inset:0;
      background:linear-gradient(180deg,rgba(111,29,242,.03),transparent 50%);
      pointer-events:none;
    }
    .step:hover{
      transform:translateY(-8px);
      border-color:rgba(111,29,242,.34);
      box-shadow:0 30px 60px rgba(111,29,242,.16);
    }
    .num{
      width:64px;
      height:64px;
      border-radius:22px;
      background:linear-gradient(135deg,var(--morado),var(--morado-2));
      color:white;
      display:grid;
      place-items:center;
      font-weight:900;
      font-size:26px;
      margin-bottom:26px;
      box-shadow:0 16px 32px rgba(111,29,242,.24);
      position:relative;
      z-index:2;
    }
    
    .step h3{
      color:#2b2f38;
      font-size:28px;
      margin-bottom:12px;
      line-height:.98;
      letter-spacing:-.04em;
      max-width:220px;
    }
    .step p{
      color:#60656d;
      line-height:1.7;
      font-size:16px;
      max-width:240px;
    }

    .schools-trust{
      margin-top:46px;
      background:linear-gradient(135deg,#ffffff 0%,#f8fbfc 100%);
      border:2px solid rgba(111,29,242,.10);
      border-radius:34px;
      padding:34px 0 42px;
      overflow:hidden;
      box-shadow:0 22px 58px rgba(111,29,242,.08);
    }
    .schools-head{
      text-align:center;
      padding:0 24px 26px;
    }
    .schools-head small{
      display:block;
      color:var(--morado);
      font-weight:900;
      letter-spacing:.18em;
      text-transform:uppercase;
      margin-bottom:8px;
    }
    .schools-head :is(h3, .schools-title){
      color:#262b36;
      font-size:32px;
      line-height:1;
      letter-spacing:-.04em;
      font-weight:900;
    }
    .logo-marquee{
      position:relative;
      overflow:hidden;
      padding:10px 0 18px;
      mask-image:linear-gradient(90deg,transparent,black 7%,black 93%,transparent);
      -webkit-mask-image:linear-gradient(90deg,transparent,black 7%,black 93%,transparent);
    }
    .logo-track{
      display:flex;
      gap:18px;
      width:max-content;
      animation:marqueeLogos 28s linear infinite;
    }
    .logo-marquee:hover .logo-track{animation-play-state:paused}
    .school-logo{
      width:210px;
      height:110px;
      border-radius:24px;
      background:white;
      border:1px solid rgba(111,29,242,.12);
      box-shadow:0 12px 30px rgba(111,29,242,.07);
      display:flex;
      align-items:center;
      justify-content:center;
      padding:18px;
      flex:0 0 auto;
      transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease;
      overflow:visible;
      margin:8px 0;
    }
    .school-logo img{
      width:100%;
      height:100%;
      object-fit:contain;
      filter:grayscale(.08);
      transition:.25s;
    }
    .school-logo:hover{
      transform:translateY(-2px);
      border-color:rgba(111,29,242,.28);
      box-shadow:0 16px 34px rgba(111,29,242,.16);
      background:white;
    }
    .school-logo:hover img{
      transform:scale(1.02);
      filter:grayscale(0);
    }
    
    @keyframes marqueeLogos{
      from{transform:translateX(0)}
      to{transform:translateX(-50%)}
    }

    .faq-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.faq{background:white;border:2px solid rgba(111,29,242,.2);border-radius:22px;padding:22px}.faq b{display:block;color:var(--morado);font-size:18px;margin-bottom:8px}.faq p{color:#5c6069;line-height:1.6}

    .cta{background:linear-gradient(135deg,var(--morado),#5313c4);color:white;border-radius:38px;padding:52px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;box-shadow:var(--shadow)}.cta h2{
      font-size:38px;
      line-height:.96;
      letter-spacing:-.05em;
      text-transform:none;
    }
    .cta h2 span{color:var(--amarillo)}.cta p{color:#eee7ff;font-size:18px;margin-top:14px;line-height:1.55}

    footer{background:#171717;color:white;padding:54px 0 28px}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;border-bottom:1px solid rgba(255,255,255,.13);padding-bottom:32px}footer h4{color:var(--amarillo);font-size:14px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px}footer p,footer a{color:#d8d8d8;line-height:1.8;font-size:14px;display:block}.social-links{display:flex;gap:12px;margin-top:18px;flex-wrap:wrap}.social-links a{width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.08);display:grid;place-items:center;transition:.25s ease;border:1px solid rgba(255,255,255,.08)}.social-links a:hover{background:var(--morado);transform:translateY(-3px);border-color:transparent}.social-links svg{width:20px;height:20px;fill:white}.copy{text-align:center;color:#aaa;margin-top:24px;font-size:13px}.wa{
      position:fixed;
      right:22px;
      bottom:22px;
      width:66px;
      height:66px;
      border-radius:50%;
      background:#25d366;
      color:white;
      display:grid;
      place-items:center;
      z-index:120;
      box-shadow:0 18px 38px rgba(0,0,0,.25);
      transition:transform .25s ease,box-shadow .25s ease;
    }
    .wa:hover{
      transform:translateY(-4px) scale(1.04);
      box-shadow:0 24px 46px rgba(0,0,0,.30);
    }
    .wa svg{
      width:34px;
      height:34px;
      fill:white;
    }

    
    @media (min-width:1600px){
      .container{width:min(1440px,90%)}
      .hero-grid{grid-template-columns:minmax(520px,640px) 1fr}
      :is(h1, .hero-heading){font-size:78px}
      .hero p{font-size:20px;max-width:590px}
      .hero-pills{min-height:124px}
    }

    @media (max-width:1200px){
      .container{width:min(1200px,94%)}
      .hero-grid{grid-template-columns:minmax(380px,500px) 1fr;padding-bottom:210px}
      :is(h1, .hero-heading){font-size:58px}
      .hero-pills{gap:16px}
      .pill b{font-size:14px}
      .journey,.summary-grid,.promo-grid{gap:20px}
    }

    @media (max-width:980px){
      .summary-text h3{font-size:38px}
      .summary-grid{grid-template-columns:1fr}
      .summary-prices{grid-template-columns:1fr 1fr}
      .package-summary{padding:30px}

      .links,.nav>.btn{display:none}
      .menu-btn{display:block}
      .hero{min-height:auto;padding-top:24px}
      .hero-grid,.promo-grid,.promo-visual,.cta,.journey,.summary-grid{
        grid-template-columns:1fr;
      }
      .level-panel{grid-template-columns:1fr}
      .level-image{min-height:280px}
      .levels-horizontal{min-height:390px}
      .level-card{flex-basis:92px}
      .level-card.active{flex:1 1 auto}
      .hero-grid{
        min-height:auto;
        padding-top:40px;
        padding-bottom:250px;
      }
      .hero-content{
        max-width:100%;
      }
      .hero-bg img{
        object-position:72% center;
      }
      .hero-bg:after{
        background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.86) 46%,rgba(255,255,255,.24) 100%);
      }
      :is(h1, .hero-heading){font-size:54px;max-width:680px}
      .hero p{max-width:640px}
      .hero-bottom-bar{bottom:18px}.hero-pills{grid-template-columns:1fr 1fr;padding:10px;gap:10px;width:min(760px,92%)}
      
      .process,.footer-grid,.summary-bullets,.photo-wall{
        grid-template-columns:1fr 1fr;
      }
      .process-wrap:before{display:none}
      
      .cta{padding:40px}
    }

    @media (max-width:768px){
      header{
        background:rgba(255,255,255,.92);
        backdrop-filter:blur(16px);
        -webkit-backdrop-filter:blur(16px);
        border-bottom:1px solid rgba(111,29,242,.10);
      }
      header.scrolled{
        background:rgba(111,29,242,.94);
      }
      .nav{height:70px}
      header.scrolled .nav{height:66px}
      .hero{
        min-height:auto;
        padding-top:104px;
      }
      .hero-slide:not(:first-child),
      .hero-copy:not(:first-child),
      .hero-dots{
        display:none!important;
      }
      .hero-slide:first-child,
      .hero-copy:first-child{
        opacity:1!important;
        visibility:visible!important;
        position:relative;
        transform:none!important;
      }
      .hero-slide:first-child{position:absolute}
      .hero-bg:after{
        background:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.86) 48%,rgba(255,255,255,.38) 100%);
      }
      #proceso{display:none}
      footer .footer-grid{grid-template-columns:1fr!important;text-align:center}
      footer .footer-grid > div:nth-child(2),
      footer .footer-grid > div:nth-child(3){display:none}
      footer .logo{justify-content:center}
      footer{padding:38px 0 22px}
      .copy{display:none}
      .logo-image{height:52px}
      .footer-logo{height:62px}
      header.scrolled .logo-image{height:48px}
      .summary-text h3{font-size:32px}
      .summary-intro{grid-template-columns:1fr;gap:14px}
      .summary-showcase{grid-template-columns:1fr}
      .summary-feature-grid{
        display:flex;
        overflow-x:auto;
        gap:14px;
        scroll-snap-type:x mandatory;
        -webkit-overflow-scrolling:touch;
        padding:4px 4px 18px;
        margin:0 -4px;
      }
      .summary-feature-grid::-webkit-scrollbar{display:none}
      .summary-feature{
        min-width:84%;
        scroll-snap-align:center;
      }
      .summary-bullets{grid-template-columns:1fr}
      .price-row{grid-template-rows:170px auto;min-height:320px}
      .price-row span{font-size:20px}

      .nav{height:72px}
      .logo-mark{width:46px;height:46px;font-size:22px}
      .logo strong{font-size:20px}
      .hero-grid{padding-bottom:370px}
      :is(h1, .hero-heading){font-size:44px;line-height:1}
      .hero p{font-size:16px}
      .hero-actions{flex-direction:column;align-items:stretch;margin-bottom:34px}
      .btn{width:100%}
      
      .hero-pills{grid-template-columns:1fr;padding:10px;gap:8px;width:min(520px,92%)}
      .pill{
        background:rgba(255,255,255,.10);
        padding:12px;
        border-radius:18px;
        border:1px solid rgba(255,255,255,.14);
      }
      .journey-item{
        grid-template-columns:70px 1fr;
      }
      .journey-arrow{display:none}
      .section{padding:72px 0}
      .section-head p{font-size:16px}
      .summary-prices .price-row span{font-size:18px}
      .summary-prices{grid-template-columns:1fr}
      .level-trigger{grid-template-columns:52px minmax(0,1fr) 38px;gap:12px;padding:16px}
      .level-trigger b{font-size:22px}
      .level-trigger small{font-size:13px}
      .level-item.active .level-panel{max-height:720px;padding:0 16px 18px}
      .levels-horizontal{display:grid;grid-template-columns:1fr;min-height:auto;gap:12px}
      .level-card,.level-card.active{min-height:300px;flex-basis:auto}
      .level-card-trigger{position:relative;min-height:74px;padding:18px;inset:auto;display:flex;align-items:center;background:rgba(18,7,50,.62)}
      .level-card-trigger b{writing-mode:initial;transform:none;font-size:22px}
      .level-card.active .level-card-trigger b{opacity:1}
      .level-card-content{position:relative;left:auto;right:auto;bottom:auto;padding:22px;opacity:1;transform:none;max-width:none;margin-top:120px}
      .level-content{padding:0}
      .level-content h3{font-size:30px}
      .level-content p{font-size:15px}
      .summary-prices-head{align-items:flex-start;flex-direction:column}
      .summary-prices-title strong{font-size:26px}
      .summary-feature-grid{grid-template-columns:1fr}
      .summary-feature.wide{grid-column:auto}
      .summary-image-card{min-height:300px}
      .footer-grid,.process,.summary-bullets,.photo-wall{
        grid-template-columns:1fr;
      }
      .process-wrap{padding:24px;border-radius:28px}
      .schools-head :is(h3, .schools-title){font-size:26px}
      .school-logo{width:170px;height:86px;border-radius:20px;margin:6px 0}
    }

    @media (max-width:540px){
      .container{width:min(100%,92%)}
      .hero{padding-top:0}
      .hero-grid{
        padding-top:78px;
        padding-bottom:445px;
      }
      .hero-bg img{
        object-position:76% center;
      }
      .eyebrow{
        font-size:11px;
        letter-spacing:.18em;
      }
      :is(h1, .hero-heading){
        font-size:36px;
        margin-bottom:16px;
      }
      :is(h1, .hero-heading) span{
        margin-top:6px;
      }
      .hero p{
        font-size:15px;
        line-height:1.55;
        margin-bottom:26px;
      }
      
      
      .hero-pills{
        gap:0;
        padding:0;
        max-height:none;
        overflow:visible;
      }
      .pill{
        align-items:center;
        padding:13px 14px;
        min-height:72px;
      }
      .pill b{
        font-size:13px;
        line-height:1.1;
      }
      .pill small{
        font-size:11px;
        line-height:1.25;
      }
      .pill:not(:last-child):after{display:none}
      .pill-icon{
        width:40px;
        height:40px;
        border-radius:14px;
        font-size:18px;
      }
      .section-head h2,
      .promo-copy h2,
      .journey-intro h3,
      .cta h2{
        font-size:30px;
      }
      .journey-intro,
      .promo-copy,
      .package-summary,
      .cta{
        padding:24px;
        border-radius:26px;
      }
      .summary-image-caption strong{font-size:26px}
      .summary-feature strong{font-size:20px}
      .accordion-btn{
        font-size:16px;
        padding:18px;
      }
      .levels-accordion{gap:10px}
      .level-trigger{min-height:76px;grid-template-columns:44px minmax(0,1fr) 34px}
      .level-trigger b{font-size:20px}
      .level-trigger i{width:34px;height:34px;font-size:20px}
      .level-card,.level-card.active{min-height:280px;border-radius:24px}
      .level-card-content{margin-top:96px;padding:18px}
      .level-card-content h3{font-size:27px}
      .level-image{min-height:220px}
      .level-content h3{font-size:26px}
      .level-tags{gap:7px;margin-bottom:18px}
      .level-tags span{font-size:11px;padding:8px 10px}
      .copy{
        font-size:12px;
      }
    }

/* Larger carousel controls retain the original visual dot size. */
.hero-dot{position:relative;width:28px;height:28px;background:transparent;border-radius:0}
.hero-dot::after{content:"";position:absolute;inset:8px;border-radius:50%;background:#b497dd}
.hero-dot.active{width:42px;background:transparent}
.hero-dot.active::after{inset:8px 4px;border-radius:999px;background:var(--morado)}
.hero-dot:focus-visible{outline:2px solid var(--morado);outline-offset:2px}
