/* Generated by tools/build-home-css.php; edit the separate source styles. */

/* style.css */
@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}

/* layout.css */
:root{
  --footer-bg:#171717;
  --footer-text:#d8d8d8;
  --footer-copy:#aaa;
}

header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:100;
  background:transparent;
  backdrop-filter:none;
  border-bottom:1px solid transparent;
  transition:background .28s ease, backdrop-filter .28s ease, border-color .28s ease, box-shadow .28s ease;
}
header.scrolled{
  background:rgba(111,29,242,.92);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
  border-bottom:1px solid rgba(255,255,255,.14);
  box-shadow:0 14px 38px rgba(43,16,92,.18);
}
.nav{
  height:76px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  transition:height .28s ease;
}
header.scrolled .nav{height:68px}
.logo{
  display:flex;
  align-items:center;
  color:var(--morado);
  position:relative;
}
.logo-image{
  width:auto;
  height:64px;
  object-fit:contain;
  transition:opacity .25s ease,height .28s ease;
}
.logo-white{
  position:absolute;
  left:0;
  top:50%;
  transform:translateY(-50%);
  opacity:0;
  pointer-events:none;
}
header.scrolled .logo-image{height:56px}
header.scrolled .logo-color{opacity:0}
header.scrolled .logo-white{opacity:1}
.footer-logo{
  height:72px;
  filter:none;
}
.links{
  display:flex;
  gap:24px;
  align-items:center;
  font-size:13px;
  font-weight:900;
  text-transform:uppercase;
  color:#4a4d56;
  transition:color .25s ease;
}
header.scrolled .links{color:white}
.links a,
.nav-dropdown-toggle{
  position:relative;
  display:inline-flex;
  align-items:center;
  min-height:38px;
  padding:0 12px;
  border-radius:13px;
  color:inherit;
  transition:background .22s ease, color .22s ease, box-shadow .22s ease;
}
.links a:after,
.nav-dropdown-toggle:after{
  content:none;
  position:absolute;
  left:0;
  bottom:2px;
  width:0;
  height:3px;
  background:var(--amarillo);
  transition:.25s;
  border-radius:99px;
}
.links a:hover,
.nav-dropdown:hover .nav-dropdown-toggle,
.nav-dropdown:focus-within .nav-dropdown-toggle{
  background:var(--morado);
  color:white;
  box-shadow:0 12px 26px rgba(111,29,242,.18);
}
header.scrolled .links a:hover,
header.scrolled .nav-dropdown:hover .nav-dropdown-toggle,
header.scrolled .nav-dropdown:focus-within .nav-dropdown-toggle{
  background:var(--amarillo);
  color:var(--morado);
  box-shadow:0 12px 26px rgba(255,203,5,.20);
}
.links a:hover:after,
.nav-dropdown:hover .nav-dropdown-toggle:after{width:0}
.nav-dropdown{
  position:relative;
  display:flex;
  align-items:center;
  min-height:44px;
}
.nav-dropdown-toggle{
  display:inline-flex;
  align-items:center;
  gap:6px;
}
.nav-dropdown-toggle:before{
  content:"";
  order:2;
  width:0;
  height:0;
  border-left:4px solid transparent;
  border-right:4px solid transparent;
  border-top:5px solid currentColor;
  transform:translateY(1px);
}
.nav-dropdown-menu{
  position:absolute;
  top:100%;
  left:50%;
  transform:translate(-50%, 10px);
  min-width:180px;
  padding:10px;
  border-radius:16px;
  background:#fff;
  border:1px solid rgba(111,29,242,.16);
  box-shadow:0 24px 56px rgba(43,16,92,.20);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:.22s ease;
}
.nav-dropdown:hover .nav-dropdown-menu,
.nav-dropdown:focus-within .nav-dropdown-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%, 0);
}
.nav-dropdown-menu a{
  display:block;
  padding:12px 14px;
  border-radius:12px;
  color:#252935;
  white-space:nowrap;
}
.nav-dropdown-menu a:after{content:none}
.nav-dropdown-menu a:hover{
  background:var(--morado);
  color:white;
  box-shadow:none;
}
.menu-btn{
  display:none;
  background:white;
  border:0;
  border-radius:14px;
  width:44px;
  height:44px;
  color:var(--morado);
  padding:11px;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  box-shadow:0 14px 30px rgba(43,16,92,.12);
}
.menu-btn span{
  display:block;
  width:20px;
  height:2px;
  background:currentColor;
  border-radius:99px;
}
header.scrolled .menu-btn{
  background:rgba(255,255,255,.16);
  color:white;
  border:1px solid rgba(255,255,255,.22);
}
.mobile-menu{
  position:fixed;
  inset:0;
  z-index:999;
  display:grid;
  place-items:center;
  min-height:100vh;
  padding:32px 22px;
  background:linear-gradient(145deg,rgba(111,29,242,.98),rgba(75,13,178,.98));
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:scale(1.02);
  transition:opacity .24s ease, visibility .24s ease, transform .24s ease;
}
.mobile-menu.open{
  display:grid;
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:scale(1);
}
.mobile-menu a{padding:0}
body.menu-open{overflow:hidden}
.mobile-menu-close{
  position:absolute;
  top:22px;
  right:22px;
  width:46px;
  height:46px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:16px;
  background:rgba(255,255,255,.12);
  color:white;
  font-size:30px;
  line-height:1;
  font-weight:600;
}
.mobile-menu-panel{
  width:min(420px,100%);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  overflow:hidden;
}
.mobile-menu-logo{
  display:flex;
  justify-content:center;
  margin-bottom:34px;
}
.mobile-menu-logo img{
  width:min(230px,72vw);
  height:auto;
  display:block;
}
.mobile-menu-links{
  width:100%;
  display:grid;
  gap:8px;
}
.mobile-menu-links > a,
.mobile-menu-link{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  width:100%;
  padding:0 18px;
  border:0;
  border-radius:18px;
  background:transparent;
  color:white;
  font-size:20px;
  font-family:inherit;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.02em;
  cursor:pointer;
  list-style:none;
  transition:.22s ease;
}
.mobile-menu-links > a:hover,
.mobile-menu-link:hover{
  background:rgba(255,255,255,.12);
}
.mobile-menu-next span{
  margin-left:10px;
  color:var(--amarillo);
  font-size:30px;
  line-height:1;
}
.mobile-menu-viewport{
  width:100%;
  overflow:hidden;
}
.mobile-menu-track{
  display:flex;
  width:100%;
  transition:transform .34s cubic-bezier(.22,.61,.36,1);
}
.mobile-menu-track > .mobile-menu-links{
  flex:0 0 100%;
}
.mobile-menu.submenu-open .mobile-menu-track{
  transform:translateX(-100%);
}
.mobile-submenu-panel{
  align-content:start;
  padding:0 2px;
}
.mobile-menu-back{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:46px;
  margin-bottom:14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px;
  background:rgba(255,255,255,.10);
  color:#efe7ff;
  font:inherit;
  font-size:14px;
  font-weight:900;
  text-transform:uppercase;
}
.mobile-menu-back span{
  color:var(--amarillo);
  font-size:24px;
}
.mobile-submenu-title{
  color:var(--amarillo);
  font-size:14px;
  font-weight:950;
  text-transform:uppercase;
  letter-spacing:.12em;
  margin-bottom:10px;
}

footer{
  background:var(--footer-bg);
  color:white;
  padding:54px 0 28px;
  position:static;
  overflow:visible;
}
footer:before{content:none}
footer.footer-purple{
  --footer-bg:var(--morado);
  --footer-text:#efe7ff;
  --footer-copy:#e5d6ff;
}
.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;
  position:static;
  z-index:auto;
}
footer h4{
  color:var(--amarillo);
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-bottom:14px;
}
footer p,
footer a{
  color:var(--footer-text);
  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(--amarillo);
  transform:translateY(-3px);
  border-color:transparent;
}
.social-links svg{
  width:20px;
  height:20px;
  fill:white;
}
.copy{
  text-align:center;
  color:var(--footer-copy);
  margin-top:24px;
  font-size:13px;
}
.wa{
  position:fixed;
  right:22px;
  bottom:22px;
  width:66px;
  height:66px;
  min-width:66px;
  min-height:66px;
  aspect-ratio:1/1;
  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 (max-width:980px){
  .links,
  .nav>.btn{display:none}
  .menu-btn{display:flex}
  .footer-grid{grid-template-columns:1fr}
}
@media (max-width:768px){
  header{
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(16px);
    border-bottom:1px solid rgba(111,29,242,.10);
  }
  header.scrolled{
    background:rgba(111,29,242,.94);
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .nav{height:70px}
  header.scrolled .nav{height:66px}
  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 .footer-grid > div:first-child p{display:block}
  footer .footer-grid > div:last-child{display:block}
  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}
  .social-links{justify-content:center}
}

/* responsive.css */
/* Responsive rules are currently kept with each page stylesheet to avoid cross-page selector conflicts. */

/* animations.css */
/* Shared animation hooks can live here as the site grows. */
