/* Capas: ambiente 0, escena 1, contenido 2, cabecera 30, acción móvil 40, cursor 50, consentimiento 200. */
:root{--bg:#101c29;--surface:#182a3a;--line:#354a5d}
.nav-wrap{height:80px}
.hero{padding-top:96px;background:#152b3e}
.hero-atmosphere{position:absolute;inset:0;z-index:-4;background:url('/imagenes/portada-2026/ambiente-docente.webp') right center/cover no-repeat;opacity:.32;pointer-events:none}
.hero-content{z-index:2}
.hero h1 .title-mask{display:block;overflow:hidden;padding-bottom:.12em;margin-bottom:-.12em;color:var(--accent)}
.hero h1 .title-line{display:block;color:inherit;transform-origin:0 100%}
.hero h1 .title-mask:first-child{color:var(--ink)}
.hero-art{opacity:.24}.hero.has-sculpture .hero-art{visibility:hidden}
.hero:after{background:linear-gradient(90deg,#101c29e8 0%,#101c29b0 29%,#101c2920 64%,transparent 90%),linear-gradient(0deg,var(--bg),transparent 23%)}
.hero-canvas{transition:opacity 1.2s}
.book-preview{position:absolute;right:max(60px,calc((100vw - 1200px)/2));bottom:70px;width:420px;text-align:center;z-index:2;font-size:.78rem;color:#c6ddea;pointer-events:none}
.book-preview p{font-size:.62rem;margin-top:8px;color:#afc0d0}
.reveal,.motion-ready .reveal{animation:none;transition:none}
.motion-word{display:inline-block}
.pointer-aura{position:fixed;top:-22px;left:-22px;width:44px;height:44px;border:1px solid #afd8ef70;border-radius:50%;pointer-events:none;opacity:0;z-index:50;transition:scale .25s}
.pointer-aura.is-over{scale:1.45}
.button{position:relative;isolation:isolate;overflow:hidden}
.button span{transition:transform .4s cubic-bezier(.2,.7,.3,1)}
.button:hover span{transform:rotate(45deg)}
.module,.review-price{transform-style:preserve-3d}
.module-list,.review-prices{perspective:1100px}
.module{transition:border-color .3s,background .3s}
.module:hover{border-color:#6a99b5;background:#172638}
.review-offer{margin-top:52px;padding:36px;border:1px solid #47657b;border-radius:var(--radius);background:linear-gradient(120deg,#12212e,#0c141f)}
.review-intro{display:grid;grid-template-columns:1fr 1fr;gap:36px;align-items:center}
.review-intro h3{font-size:clamp(1.5rem,3vw,2.3rem);line-height:1.2}
.review-intro p{font-size:.9rem;max-width:47ch}
.review-prices{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin:30px 0}
.review-price{margin:0;border-top:1px solid #405669;padding-top:20px}
.review-price dt{font-size:.85rem;color:var(--accent)}
.review-price dd{font-family:'Poppins',sans-serif;font-size:clamp(1.7rem,3vw,2.6rem);letter-spacing:-.05em;margin:8px 0 0;font-weight:600}
.review-price small{font-family:'Inter',sans-serif;font-size:.65rem;font-weight:400;letter-spacing:0;color:var(--muted)}
.review-includes{display:flex;gap:40px;align-items:center;justify-content:space-between}
.review-includes p{font-size:.85rem;max-width:66ch}
.review-includes .text-link{white-space:nowrap}
.process{padding:64px 0;background:#132332;overflow:clip}
.process-header{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:32px}
.process-header h2{font-size:clamp(2.3rem,4.7vw,4rem)}
.process-count{font-size:.8rem;color:var(--accent);font-variant-numeric:tabular-nums}
.process-track{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.step{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-width:0;min-height:380px;border:1px solid #3b5166;border-radius:var(--radius);overflow:hidden;background:#111f2d;isolation:isolate}
.step:before{display:none}
.step-copy{padding:30px;min-width:0;display:flex;flex-direction:column;align-items:flex-start}
.step-number{font-family:'Poppins',sans-serif;font-size:3rem;line-height:1;letter-spacing:-.06em;color:#8fb6ce;margin-bottom:32px}
.step h3{font-size:clamp(1.3rem,2.7vw,2.7rem);line-height:1.13;letter-spacing:-.045em}
.step p{font-size:.88rem;max-width:34ch;margin-top:20px}
.step img{width:100%;height:100%;object-fit:cover;min-height:0}
.step .text-link{margin-top:auto;padding-top:28px;font-size:.82rem}
.process-progress{height:1px;background:#32465a;margin-top:30px;display:none}
.process-progress span{display:block;height:100%;background:var(--accent);transform:scaleX(0);transform-origin:left}
.has-gallery{min-height:100svh;display:flex;flex-direction:column;justify-content:center}
.has-gallery .process-track{display:flex;gap:24px}
.has-gallery .step{flex:0 0 min(960px,76vw);height:min(500px,56svh);min-height:300px;grid-template-columns:.85fr 1.15fr}
.has-gallery .step-copy{padding:clamp(28px,3vw,48px)}
.has-gallery .step-number{margin-bottom:auto}
.has-gallery .process-progress{display:block}
@media(min-width:768px) and (max-width:899px){.step{grid-template-columns:1fr}.step img{height:240px}.step-copy{min-height:310px}.process-count{display:none}}
@media(max-width:767px){
 .book-preview{right:20px;bottom:24px;width:calc(100% - 40px);font-size:.7rem}.book-preview p{font-size:.55rem}
 .nav-wrap{height:76px}.hero{padding-top:140px}.hero-art{inset:-4% 0}.hero-art img{object-position:70% center}
 .hero-art{opacity:.18}.hero-atmosphere{background-position:72% center;opacity:.3}.hero:after{background:linear-gradient(0deg,var(--bg),transparent 22%),linear-gradient(180deg,#101c29ed,#101c29db 43%,#101c2944 68%,#101c2922)}
 .review-offer{padding:26px 22px;margin-top:32px}.review-intro{display:block}.review-intro p{margin-top:18px;font-size:.83rem}
 .review-prices{grid-template-columns:1fr;gap:14px;margin:24px 0}.review-price{display:flex;align-items:center;justify-content:space-between;padding-top:14px}.review-price dd{margin:0;font-size:1.8rem}
 .review-includes{display:block}.review-includes p{font-size:.8rem}.review-includes .text-link{margin-top:20px;font-size:.85rem}
 .process{padding:60px 0}.process-header{margin-bottom:28px}.process-count{display:none}.process-track{grid-template-columns:1fr;gap:24px}
 .step{grid-template-columns:1fr;min-height:0}.step-copy{padding:28px;min-height:275px}.step-number{font-size:2.5rem;margin-bottom:24px}.step h3{font-size:1.8rem;max-width:15ch}.step p{font-size:.85rem;margin-top:16px;max-width:34ch}.step img{height:220px}.step .text-link{padding-top:20px}
 .motion-ready .trust-visual img{object-position:center}
}
@media(prefers-reduced-motion:reduce){.hero-art,.hero-content,.reveal,.title-line,.motion-word,.trust-visual img{transform:none!important;opacity:1!important}.pointer-aura{display:none!important}.step,.module,.button,.review-price{transform:none!important}.title-mask{overflow:visible!important}}
