/* Diseño compartido de las láminas (contenido y composición). Lo usan la web (web.css) y el libro 3D (libro-3d.css). */
:root{--red:#9c0922;--dark-red:#6e0619;--gold:#d89c39;--pale-gold:#ffdf9a;--blue:#0057b8;--navy:#062e68;--paper:#fffaf0;--line:#eacb91;--font-display:'Playfair Display',Georgia,serif;--font-script:'Dancing Script',Georgia,cursive;--deck-progress:0}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:55px}
body{margin:0;background:#eee7df;color:#10254b;font-family:Arial,Helvetica,sans-serif;overflow-x:hidden}
img{display:block;max-width:100%}
button,a{font:inherit}
a{color:inherit}
:focus-visible{outline:3px solid #edbb55;outline-offset:3px}
.slide{container-type:inline-size;display:grid;grid-template-columns:19% 81%;width:min(100% - 30px,1600px);min-height:56.25vw;max-height:none;aspect-ratio:16/9;margin:0 auto 32px;background:white;box-shadow:0 18px 50px #4c1b1b2b;scroll-margin-top:59px;scroll-snap-align:start;overflow:hidden;font-size:clamp(10px,1.05cqw,16.8px)}
.slide-cover{display:block}
.rail{position:relative;z-index:4;display:flex;flex-direction:column;justify-content:space-between;align-items:center;padding:2.2cqw 1.1cqw 1.3cqw;background:linear-gradient(115deg,#a11b1b 0%,#ab0e28 38%,#81051e 100%);color:#fff;overflow:hidden}
.rail:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#fff1 0,transparent 42%);pointer-events:none}
.rail-logo{width:100%;filter:drop-shadow(0 1px 1px #3005)}
.rail-title{flex:1;display:flex;align-items:center;justify-content:center;gap:.3em;writing-mode:vertical-rl;transform:rotate(180deg);font-family:var(--font-display);font-style:italic;color:#ffd12e;text-shadow:1px 2px 2px #4d0411;font-size:2.8em;line-height:1.15;white-space:nowrap}
.rail-title strong{font-size:.83em;color:#fff;font-style:normal}
.rail-bottom{display:grid;grid-template-columns:1fr 1fr;gap:.55cqw;align-items:center;width:100%}
.rail-bottom img:first-child{grid-column:1/-1;width:100%;max-height:5cqw;object-fit:contain}
.rail-bottom img:nth-child(2),.rail-bottom img:nth-child(3){width:100%;max-height:6cqw;object-fit:contain}
.stage{position:relative;isolation:isolate;overflow:hidden;background:var(--paper);padding:2.2cqw 2.2cqw 4.2cqw}
.ornamental-stage:before{content:"";position:absolute;z-index:-2;inset:0;background:url('assets/img/patron-fondo.png') center/24cqw;opacity:.22}
.ornamental-stage:after{content:"";position:absolute;z-index:-1;left:-2%;right:-2%;bottom:-1px;height:10%;background:linear-gradient(0deg,#90091f 0%,#af152c 85%,#d99028 88%,#f4d794 94%,transparent 95%);clip-path:polygon(0 24%,20% 75%,45% 89%,70% 72%,100% 22%,100% 100%,0 100%)}
.slide h2,.slide h3,.slide h4,.slide p{margin-top:0}
.script-heading{font-family:var(--font-display);font-style:italic;font-weight:400;line-height:.98;color:var(--red)}
.script-heading strong{font-family:var(--font-script);font-style:normal;font-weight:700;font-size:1.55em}
.gold-swish{height:.4cqw;width:42%;margin:-.5cqw auto 1cqw;background:var(--gold);border-radius:60% 40% 70% 40%;transform:rotate(-2deg)}
.ribbon-title{margin:0;background:linear-gradient(#ad0c28,#730016);color:white;border-radius:12px 22px 8px 8px;padding:.5em .8em;font-family:var(--font-display);font-weight:bold;font-size:1.45em;box-shadow:0 4px 7px #6f0d1844}
.cover-stage{display:grid;grid-template-columns:37% 63%;height:100%;padding:0;background:#9f0d1c;color:#fff}
.cover-copy{position:relative;z-index:2;display:flex;flex-direction:column;padding:5.7cqw 2.8cqw 2cqw;background:linear-gradient(105deg,#aa161c,#a20d1b 70%,#8d0619)}
.cover-school-logo{width:100%;height:auto;filter:drop-shadow(0 2px 1px #5007)}
.cover-copy h1{margin:3.3cqw 0 1cqw;font-family:var(--font-display);color:#ffe526;font-size:2.5em;line-height:1.04}
.cover-copy h1 strong{display:block;color:white;font-size:1.45em}
.cover-copy>p{font-family:var(--font-display);font-style:italic;font-size:1.65em;line-height:1.4;color:white}
.cover-logos{display:grid;grid-template-columns:1fr 1fr;gap:1cqw;align-items:center;margin-top:auto}
.cover-logos img:first-child{grid-column:1/-1;width:65%;max-height:7cqw;object-fit:contain;object-position:left}
.cover-logos img:nth-child(2),.cover-logos img:nth-child(3){max-height:6.4cqw;width:100%;object-fit:contain}
.cover-photo{overflow:hidden}
.cover-photo img{height:100%;width:100%;object-fit:cover;object-position:52% center}
.cover-virgin{position:absolute;z-index:3;right:-1.5%;bottom:-2%;width:25%;max-height:58%;object-fit:contain;object-position:bottom;filter:drop-shadow(0 9px 14px #31091066)}
.slide-welcome .stage{padding:1.8cqw 2cqw 4.5cqw}
.welcome-photo{position:absolute;left:0;top:13%;bottom:7%;width:33%;overflow:hidden;clip-path:ellipse(92% 74% at 0% 50%);border-right:5px solid var(--gold)}
.welcome-photo img{width:100%;height:100%;object-fit:cover;object-position:10% 50%}
.welcome-main{position:relative;z-index:2;margin-left:25%;width:72%}
.welcome-main h2{text-align:center;font-size:3.4em;margin-bottom:.7cqw}
.welcome-panel{position:relative;margin-left:10%;width:80%;color:var(--blue);font-family:var(--font-display);font-size:1.02em;line-height:1.34}
.welcome-panel p{margin-bottom:.8em}
.welcome-panel strong{font-weight:bold}
.welcome-panel .red-emphasis{color:#c40020;font-size:1.25em}
.essence-card{display:flex;align-items:center;gap:1.3cqw;margin-top:1.2cqw;padding:.8cqw 1cqw;border:1px solid #d6a858;border-radius:1.3cqw;background:#fffcf5dd;box-shadow:0 6px 15px #c9803022}
.essence-symbol{flex:none;display:grid;place-items:center;width:5cqw;height:5cqw;border-radius:50%;background:radial-gradient(#b51a26,#800517);color:#fff;font-size:3em;border:4px solid #dba34e}
.essence-card h3{color:#b0001b;font-family:var(--font-display);font-size:1.4em;margin:0 0 .2em}
.essence-card p{margin:0;color:var(--blue);font-family:var(--font-display);line-height:1.32;font-size:.93em}
.welcome-saint{position:absolute;z-index:3;right:-1%;top:7%;height:70%;width:auto;max-width:26%;object-fit:contain;object-position:right top;pointer-events:none}
.slide-motto{position:absolute;z-index:3;right:2%;bottom:3%;max-width:34%;font:600 1.55em var(--font-script);text-align:right;color:#fff;transform:rotate(-8deg)}
.history-stage{display:grid;grid-template-columns:38% 62%;padding:2cqw 1.9cqw 4.4cqw;gap:1cqw}
.history-left{position:relative;min-width:0}
.history-left h2{font-size:4em;margin:0}
.history-left>p{color:#8a091d;font:italic 1.5em var(--font-display);text-align:center;margin:1cqw 1cqw}
.history-left img{position:absolute;left:-2cqw;bottom:0;width:calc(100% + 3cqw);height:64%;object-fit:cover;object-position:8% 0%;clip-path:ellipse(100% 82% at 50% 62%)}
.history-items{list-style:none;margin:0;padding:0 0 0 1.2cqw;border-left:.25cqw solid var(--gold);display:flex;flex-direction:column;justify-content:space-between;min-width:0}
.history-items li{position:relative;display:grid;grid-template-columns:6.8cqw 1fr;align-items:center;gap:.8cqw;min-height:14%;}
.history-items li:before{content:"";position:absolute;left:-1.8cqw;top:50%;width:1cqw;height:1cqw;border:.28cqw solid white;border-radius:50%;background:#a66606;box-shadow:0 0 0 .15cqw #ca9a4c;transform:translateY(-50%)}
.history-items time{display:grid;place-items:center;background:linear-gradient(#af1024,#790313);color:#fff;border:2px solid #d39a43;border-radius:.4cqw 1.2cqw 1.2cqw .4cqw;font:1.75em var(--font-display);min-height:3.3cqw}
.history-items li>div{padding:.45cqw .9cqw;background:#fffaf4e8;border:1px solid #dbab61;border-radius:1.1cqw;min-width:0}
.history-items h3{font: bold 1.13em var(--font-display);color:#b0002b;margin:0 0 .2em}
.history-items p{font-size:.84em;line-height:1.27;margin:0;color:#394353}
.levels-stage{padding:1.3cqw 1.3cqw 4.4cqw}
.slide-heading{text-align:center;color:var(--blue)}
.slide-heading h2{margin:0;color:#a30020;font:italic bold 3.2em var(--font-display);line-height:.83}
.slide-heading h2 em{font-weight:400;color:#064b9d}
.slide-heading>p{font:italic 1.55em var(--font-display);margin:.45em 0 .2em}
.slide-heading small{display:block;font:1.05em var(--font-display)}
.levels-saint{position:absolute;left:-3.5%;bottom:0;height:63%;width:auto;max-width:21%;object-fit:contain;object-position:bottom}
.level-cards{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:1cqw;margin:1cqw 0 0 18%;height:70%}
.level-card{display:flex;flex-direction:column;background:#fffaf3e8;border:1px solid #e6b657;border-radius:1.3cqw;overflow:hidden;color:var(--blue);padding:0 .7cqw .6cqw;font-family:var(--font-display)}
.level-card img{width:calc(100% + 1.4cqw);height:35%;margin:0 -.7cqw;object-fit:cover}
.level-card h3{background:linear-gradient(#bb0c22,#810516);color:#fff;text-align:center;border-radius:50px;margin:-.1cqw -.5cqw .5cqw;padding:.2em .1em;font-size:1.35em}
.level-card:nth-child(2) h3{background:linear-gradient(#0759ae,#06376d)}
.level-card em{text-align:center;color:#d50029;font-size:1em}
.level-card p{font-size:.84em;line-height:1.26;margin:.5em 0}
.level-card footer{margin-top:auto;background:#fff3df;color:#8b2533;border-radius:.8cqw;padding:.45em;font-size:.65em;text-align:center}
.services-stage{padding:1.1cqw 1.2cqw 4.2cqw}
.services-stage .slide-heading h2{font-size:3.1em}
.services-stage .slide-heading>p{margin:.25em 0}
.services-stage .ribbon-title{font-size:1.15em;padding:.25em .6em;width:46%;margin:.5cqw 0}
.facility-grid{display:grid;grid-template-columns:repeat(15,1fr);gap:.55cqw}
.facility-grid article{grid-column:span 3;background:#fff;border:1px solid #eed09a;border-radius:.7cqw;overflow:hidden;min-width:0;min-height:0}
.facility-grid article:nth-child(n+6){grid-column:span 5}
.facility-grid img{width:100%;height:10cqw;object-fit:cover}
.facility-grid article:nth-child(n+6) img{height:6cqw}
.facility-grid h4{font:bold 1em var(--font-display);color:#c80024;margin:.28cqw .5cqw 0}
.facility-grid p{color:var(--blue);font:.78em var(--font-display);line-height:1.15;margin:.1cqw .5cqw .5cqw}
.services-stage .workshop-ribbon{display:flex;align-items:center;gap:1cqw;width:100%;margin:.6cqw 0 .2cqw}
.workshop-ribbon small{color:#781324;background:#fff4de;font:italic 1em var(--font-display);padding:.1em .5em;border-radius:2em}
.workshop-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.45cqw}
.workshop-grid div{display:flex;flex-direction:column;justify-content:center;min-height:3.3cqw;background:#fffaf1;border:1px solid #ebc991;border-radius:.55cqw;text-align:center;color:var(--blue);padding:.25cqw}
.workshop-grid strong{color:#bc0624;font:1em var(--font-display)}
.workshop-grid span{font:.72em var(--font-display);line-height:1.1}
.workshop-card{position:relative;display:grid;grid-template-rows:4.75cqw auto 1fr;min-height:9.1cqw;background:#fffaf1;border:1px solid #ebc991;border-radius:.55cqw;text-align:center;color:var(--blue);overflow:hidden;box-shadow:0 4px 9px #6c1f1720}
.workshop-card:before{content:attr(data-icon);position:absolute;left:.34cqw;top:3.9cqw;z-index:2;display:grid;place-items:center;width:2.7cqw;height:2.7cqw;border:.22cqw solid #f8d892;border-radius:50%;background:radial-gradient(circle at 35% 28%,#b90b26,#790116 74%);color:#fff;font:bold 1.4em Arial,Helvetica,sans-serif;box-shadow:0 2px 5px #3b020b55}
.workshop-card:after{content:"";position:absolute;left:0;right:0;top:0;height:2.1cqw;background:linear-gradient(90deg,transparent,#fff8,transparent);opacity:0;transform:translateX(-120%)}
.workshop-card img{width:100%;height:4.75cqw;object-fit:cover;object-position:center}
.workshop-card strong{position:relative;z-index:1;display:block;padding:.18cqw .25cqw 0 1.7cqw;color:#bc0624;font:bold .7em var(--font-display);line-height:1}
.workshop-card span{position:relative;z-index:1;display:block;padding:.08cqw .32cqw .24cqw 1.7cqw;color:#0057b8;font:.62em var(--font-display);line-height:1.02}
.procedure-stage{padding:1.1cqw 1.2cqw 4.3cqw}
.procedure-top{display:grid;grid-template-columns:1.15fr 1fr;gap:1cqw;height:22%}
.notice{border:2px solid #e3ad69;background:#fffdf9;border-radius:1cqw;padding:.3cqw 1cqw;overflow:hidden}
.notice h2{margin:-.3cqw -1cqw .5cqw;padding:.22cqw .8cqw;background:linear-gradient(#b21c31,#750618);border-radius:1cqw;color:#fff;font: bold 1.8em var(--font-display);text-align:center}
.notice:nth-child(2) h2{background:linear-gradient(#ffe0a6,#cc9550);color:#073a6b}
.notice p{font-size:.9em;margin:.2em 0;color:#102d62}
.notice strong{font-size:.83em;color:#a00822}
.procedure-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:.7cqw;height:72%;margin-top:1cqw}
.procedure-steps article{position:relative;background:#fffaf7;border:1px solid #e9bd90;border-radius:1cqw;padding:.8cqw .7cqw .5cqw;overflow:hidden;box-shadow:0 5px 15px #66231b22}
.procedure-steps article:nth-child(2){background:#fff9eb}
.procedure-steps article:nth-child(3){background:#f2f8ff}
.procedure-steps article:nth-child(4){background:#f2fff5}
.procedure-steps article>span{float:left;margin:-.8cqw .5cqw .5cqw -.7cqw;background:linear-gradient(#be0628,#790513);color:#fff;padding:.35cqw .55cqw;border-radius:.8cqw;font:bold 2.5em var(--font-display)}
.procedure-steps article:nth-child(2)>span{background:#c28a13}
.procedure-steps article:nth-child(3)>span{background:#0b4d8a}
.procedure-steps article:nth-child(4)>span{background:#075637}
.procedure-steps h3{color:#8d0a20;font:bold 1.28em var(--font-display);line-height:1.02;min-height:3.3em}
.procedure-steps article:nth-child(3) h3{color:#073b70}
.procedure-steps article:nth-child(4) h3{color:#064b30}
.procedure-steps p,.procedure-steps li{font-size:.85em;line-height:1.37}
.procedure-steps ul{padding-left:1.2em;margin:.4em 0}
.procedure-steps li{margin:.3em 0}
.procedure-steps strong{color:#a36a0c}
.procedure-steps a{color:#0459ac;overflow-wrap:anywhere}
.procedure-steps blockquote{margin:2cqw .1cqw 0;color:#00502f;font:600 1.7em var(--font-script);text-align:center}
.criteria-stage{padding:1.1cqw 1.3cqw 4.2cqw}
.fee-banner{display:flex;justify-content:space-between;align-items:center;gap:1cqw;background:linear-gradient(#a60b24,#730015);border-radius:1.2cqw;color:#fff;padding:.6cqw 1.6cqw;min-height:13%}
.fee-banner h2{font: bold 1.5em var(--font-display);text-align:center;margin:0;flex:1}
.fee-banner strong{font:2.35em var(--font-display);color:#800018;background:linear-gradient(#ffedc6,#e7b56a);border-radius:100px;padding:.25em .6em;white-space:nowrap}
.bank-account{display:flex;align-items:center;justify-content:center;gap:1.2cqw;margin:.6cqw auto 1cqw;padding:.4cqw;border:1px solid #e8b568;border-radius:1cqw;background:#fffdf8;width:83%;height:13%}
.bank-account strong{font-size:1.25em;color:#9f1024}
.bank-account span{font-size:.85em;color:#9f1024}
.bank-account p{font-size:1.1em;margin:0;color:#08295b;line-height:1.25}
.bank-account b{color:#980e25}
.criteria-stage .ribbon-title{font-size:1.25em}
.criteria-explain{font-size:.92em;line-height:1.3;margin:.65cqw 0 .8cqw}
.criteria-cards{display:grid;grid-template-columns:repeat(5,1fr);gap:.7cqw;list-style:none;padding:0;margin:0;height:50%}
.criteria-cards li{background:#fff7e5;border:1px solid #e7c47a;border-radius:1cqw;padding:.5cqw .75cqw;box-shadow:0 4px 11px #6f1a1a22}
.criteria-cards li:nth-child(2){background:#f4fbe9}
.criteria-cards li:nth-child(3){background:#fff0f3}
.criteria-cards li:nth-child(4){background:#eef5ff}
.criteria-cards li:nth-child(5){background:#f3f0ff}
.criteria-cards span{display:block;background:#c78c16;color:white;font:2em var(--font-display);padding:.2em;border-radius:.5cqw;width:max-content}
.criteria-cards li:nth-child(2) span{background:#168742}
.criteria-cards li:nth-child(3) span{background:#ac4d65}
.criteria-cards li:nth-child(4) span{background:#2370b8}
.criteria-cards li:nth-child(5) span{background:#8068ab}
.criteria-cards p{font-size:.86em;line-height:1.34;margin:1.2cqw 0 0}
.register-stage{padding:1.2cqw 1.5cqw 4.2cqw}
.register-heading{display:flex;align-items:center;justify-content:space-between;gap:2cqw;min-height:17%}
.register-heading h2{margin:0;padding:.25cqw 1.4cqw;background:linear-gradient(#b10a23,#790017);border-radius:1.4cqw;color:white;font: bold 2.25em var(--font-display);text-align:center;line-height:1.06;box-shadow:0 5px 11px #75091a55}
.register-heading h2 span{color:#ffe3a4;font-size:.6em}
.register-heading>p{max-width:35%;margin:0;color:#7a1220;font:italic 1.55em var(--font-display);text-align:center}
.register-intro{color:#08458b;font-size:1.1em;font-weight:bold;margin:.8cqw 0}
.form-list{position:relative;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.7cqw;width:56%}
.form-list li{display:flex;align-items:center;min-height:5.6cqw;background:#f9e4e9;border-radius:1cqw;border:1px solid #ead1d2;box-shadow:0 3px 8px #5e1b1b22}
.form-list li:nth-child(2){background:#fff1d8}
.form-list li:nth-child(3){background:#dcecff}
.form-list li:nth-child(4){background:#eae2fb}
.form-list span{display:grid;place-items:center;align-self:stretch;min-width:7cqw;margin-right:1.2cqw;background:#b10b24;color:#fff;border-radius:1cqw;font:bold 2.15em var(--font-display)}
.form-list li:nth-child(2) span{background:#c88400}
.form-list li:nth-child(3) span{background:#0b4b94}
.form-list li:nth-child(4) span{background:#64398a}
.form-list strong{padding-right:.7cqw;color:#064181;font-size:1.06em;line-height:1.25}
.register-device{position:absolute;right:2%;top:29%;width:39%;height:55%;background:#fffaf3;border:2px solid #e5cda9;border-radius:1.5cqw;padding:1cqw;box-shadow:0 5px 16px #7e252522}
.register-device h3{margin:0 0 .5cqw;padding:.4cqw;background:linear-gradient(#a70920,#6c0414);color:white;border-radius:30px;text-align:center;font-size:1.2em}
.laptop{position:relative;margin:auto;width:93%;height:62%;padding:.55cqw .55cqw 1cqw;background:#1a2027;border-radius:.8cqw .8cqw .2cqw .2cqw;box-shadow:0 8px 0 #777}
.laptop:after{content:"";position:absolute;left:-7%;right:-7%;bottom:-1.3cqw;height:1.4cqw;background:linear-gradient(#bdc4c9,#656c73);border-radius:0 0 1cqw 1cqw}
.laptop-screen{position:relative;height:100%;overflow:hidden;background:#fff}
.laptop-screen img{height:100%;width:100%;object-fit:cover;opacity:.85}
.laptop-screen span{position:absolute;left:0;bottom:0;width:60%;background:#fff9ed;color:#8b0019;text-align:center;font:bold 1.65em var(--font-display);line-height:1.05;padding:.4cqw}
.laptop-screen strong{color:#a8051b;font-size:1.2em}
.register-device>a{display:block;margin-top:2.3cqw;padding:.5cqw;background:#fff4e7;border:2px solid #d59c34;border-radius:2cqw;text-align:center;color:#8b0019;font-size:.92em;font-weight:bold;text-decoration:none;overflow-wrap:anywhere}
.register-device>a:hover{background:#ffe5b0}
.register-footnote{position:absolute;left:3%;right:3%;bottom:5.5%;padding:.45cqw 1cqw;background:white;border-radius:2cqw;color:#00428e;text-align:center;font-size:.9em;font-weight:bold;box-shadow:0 3px 8px #3b121222}
.phases-stage{padding:1.1cqw 1.3cqw 4cqw}
.phases-heading{text-align:center;background:linear-gradient(#9c0a20,#6d0116);border-radius:3cqw 3cqw 1cqw 1cqw;color:#fff;padding:.25cqw;margin:0 auto .7cqw;width:94%}
.phases-heading h2{font:bold 2.1em var(--font-display);margin:0}
.phases-heading h2 strong{color:#ffd060}
.phases-heading p{font:italic 1em var(--font-display);margin:0}
.phase-columns{display:grid;grid-template-columns:repeat(4,1fr);gap:.65cqw;height:79%}
.phase-columns article{position:relative;border-radius:1.5cqw;background:#fff0d6;padding:1.3cqw .9cqw .8cqw;overflow:hidden}
.phase-columns article:nth-child(2){background:#ffe4e8}
.phase-columns article:nth-child(3){background:#e3f9e9}
.phase-columns article:nth-child(4){background:#eee3fb}
.phase-columns article>span{position:absolute;top:0;left:.6cqw;display:grid;place-items:center;width:4cqw;height:4cqw;border-radius:50%;background:#e7a614;color:white;border:.25cqw solid white;font:bold 2.15em var(--font-display)}
.phase-columns article:nth-child(2)>span{background:#eb4e69}
.phase-columns article:nth-child(3)>span{background:#0e9152}
.phase-columns article:nth-child(4)>span{background:#8547bd}
.phase-columns h3{margin:-.4cqw -.9cqw .8cqw 3.5cqw;padding:.6cqw .2cqw .6cqw 1cqw;background:#e4a10a;color:#fff;border-radius:0 1cqw 1cqw 0;font-size:1.3em}
.phase-columns article:nth-child(2) h3{background:#e65065}
.phase-columns article:nth-child(3) h3{background:#10a058}
.phase-columns article:nth-child(4) h3{background:#8e50bf}
.phase-columns h4{text-align:center;font-size:1.12em;line-height:1.14;min-height:3em}
.phase-columns ul{padding-left:1.2em;margin:.5cqw 0}
.phase-columns li{font-size:.82em;line-height:1.43;margin:.65em 0}
.phase-footer{position:absolute;bottom:2.5%;left:0;right:0;color:#fff;font:italic 1.4em var(--font-display);text-align:center;margin:0}
.calendar-stage{padding:1.1cqw 1.3cqw 4.2cqw}
.calendar-top{display:grid;grid-template-columns:1.06fr .94fr;gap:.8cqw;height:52%}
.calendar-panel,.entry-panel{background:#fff;border:1px solid #f0c981;border-radius:1.5cqw;padding:.6cqw;overflow:hidden;box-shadow:0 3px 12px #742a2022}
.calendar-panel h2,.entry-panel h2{background:linear-gradient(#ae0d24,#780018);border-radius:1.6cqw;color:#fff;font:bold 1.85em var(--font-display);line-height:.97;text-align:center;margin:-.6cqw -.6cqw .6cqw;padding:.45cqw}
.entry-panel h2{font-size:1.55em;padding:.7cqw .2cqw}
.schedule-table{display:grid;grid-template-rows:.7fr repeat(3,1fr);height:75%;color:#062e6b;font-size:.98em;font-weight:bold}
.schedule-table>div{display:grid;grid-template-columns:1fr 1fr;align-items:center;text-align:center;border-radius:.8cqw;overflow:hidden}
.schedule-table>div:first-child{background:linear-gradient(90deg,#aa0d23 50%,#d99c43 50%);color:#fff}
.schedule-table>div:nth-child(2){background:#fff0eb}
.schedule-table>div:nth-child(3){background:#e1f4ff}
.schedule-table>div:nth-child(4){background:#e4f4e9}
.schedule-table span,.schedule-table b{padding:.3cqw;font-size:.9em}
.entry-panel p{font-size:.86em;line-height:1.38;color:#06418c;margin:.6cqw .8cqw}
.entry-panel>strong{display:block;background:#fff0ef;color:#9b0c24;border-radius:1cqw;padding:.4cqw;text-align:center;font-size:1.05em;margin:.8cqw}
.vacancies-panel{height:20%;margin-top:.6cqw;border:1px solid #df9b36;border-radius:1cqw;background:#fffaf6;padding:.1cqw .5cqw .5cqw}
.vacancies-panel h2{position:relative;width:max-content;margin:-.4cqw auto .1cqw;background:#96071b;color:#ffe079;border-radius:2cqw;padding:.12cqw 2.5cqw;font:bold 1.5em var(--font-display)}
.vacancies-panel>div{display:grid;grid-template-columns:repeat(3,1fr);height:78%;gap:.4cqw}
.vacancies-panel p{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;margin:0;border:1px solid #e3a33d;border-radius:.7cqw;color:#072f6e;font-size:1.2em;line-height:1.1}
.vacancies-panel span{margin-top:.2cqw;background:#9f071d;color:#ffe080;border-radius:2cqw;padding:.15cqw 1cqw;font-size:.8em;font-weight:bold}
.costs-panel{height:22%;margin-top:.6cqw;padding:0 1cqw;display:grid;grid-template-columns:1fr;grid-template-rows:auto repeat(3,1fr);width:70%;color:#062e6b}
.costs-panel h2{background:linear-gradient(90deg,#092b5d,#0560ad);color:#fff;border-radius:2cqw;padding:.2cqw 1cqw;font:bold 1.5em var(--font-display);margin:0}
.costs-panel h2 strong{color:#ffd56f}
.costs-panel>div{display:grid;grid-template-columns:1.25fr .75fr;align-items:center;padding:0 1cqw;border-radius:.5cqw;margin-top:.1cqw;background:#f8dde0;font-size:.95em;font-weight:bold}
.costs-panel>div:nth-child(3){background:#ffedc9}
.costs-panel>div:nth-child(4){background:#dceefa}
.costs-panel b{text-align:center}
.payment-trust{position:relative;display:grid;grid-template-columns:27% 1fr 20%;align-items:center;gap:.7cqw;margin:.65cqw .75cqw 0;padding:.45cqw .55cqw;background:linear-gradient(90deg,#fff7f7 0%,#fff 48%,#fff3ea 100%);border:1px solid #f0cfa6;border-radius:1cqw;overflow:hidden;box-shadow:inset 0 0 0 1px #fff8}
.payment-trust:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 24% 18%,#ffd98c55,transparent 32%),linear-gradient(90deg,transparent,#fff9,transparent);opacity:.75;pointer-events:none}
.payment-bank,.payment-card{position:relative;z-index:1;width:100%;height:4.4cqw;object-fit:contain}
.payment-bank{border-radius:.55cqw;filter:drop-shadow(0 .15cqw .2cqw #4e061344)}
.payment-card{height:4.7cqw;object-position:right center}
.payment-trust div{position:relative;z-index:1;min-width:0}
.payment-trust strong{display:block;color:#ad0924;font:bold 1.16em var(--font-display);line-height:1.08}
.payment-trust span{display:block;margin-top:.15cqw;color:#07428b;font:.88em var(--font-display);line-height:1.12}
.cover-copy{--enter-transform:translateX(-60px)}
.cover-photo{--enter-transform:scale(.92)}
.cover-virgin{--enter-transform:translateY(60px) scale(.85)}
.rail-title{--rest-transform:rotate(180deg);--enter-transform:rotate(180deg) translateX(-18px)}
.slide-motto{--rest-transform:rotate(-8deg);--enter-transform:rotate(-8deg) translateY(24px) scale(.92)}
.welcome-photo,.history-left,.levels-saint,.form-list,.costs-panel{--enter-transform:translateX(-55px)}
.welcome-saint,.history-items,.register-device{--enter-transform:translateX(55px)}
.slide-heading,.fee-banner,.register-heading,.phases-heading{--enter-transform:translateY(-40px)}
.ribbon-title{--enter-transform:translateX(-40px)}
.bank-account,.vacancies-panel{--enter-transform:scale(.85)}
.procedure-top>*:first-child,.calendar-top>*:first-child{--enter-transform:translateX(-55px)}
.procedure-top>*:last-child,.calendar-top>*:last-child{--enter-transform:translateX(55px)}
.cover-logos>*,.rail-bottom>*{--enter-transform:scale(.4)}
.procedure-steps article>span,.criteria-cards li>span,.phase-columns article>span,.history-items time,.form-list li>span{--enter-transform:scale(.3) rotate(-15deg)}
.fee-banner,.register-heading h2,.ribbon-title,.procedure-steps article>span,.form-list span{position:relative;overflow:hidden}
.fee-banner:after,.register-heading h2:after,.ribbon-title:after,.procedure-steps article>span:after,.form-list span:after{content:"";position:absolute;top:-20%;bottom:-20%;width:22%;left:0;background:linear-gradient(90deg,transparent,#fff7,transparent);pointer-events:none;opacity:0}
.slide{position:relative}
.rail:after{content:"";position:absolute;z-index:1;top:-35%;bottom:-35%;left:20%;width:22%;background:linear-gradient(90deg,transparent,#fff5,transparent);pointer-events:none;opacity:0}
.level-card,.facility-grid article,.workshop-card,.procedure-steps article,.criteria-cards li,.phase-columns article,.form-list li,.calendar-panel,.entry-panel,.vacancies-panel,.costs-panel{position:relative;overflow:hidden}
.level-card:after,.facility-grid article:after,.procedure-steps article:after,.criteria-cards li:after,.phase-columns article:after,.form-list li:after,.calendar-panel:after,.entry-panel:after,.vacancies-panel:after,.costs-panel:after{content:"";position:absolute;top:0;bottom:0;left:0;width:28%;background:linear-gradient(90deg,transparent,#fff8,transparent);opacity:0;pointer-events:none}
.level-cards:before{content:"";position:absolute;z-index:-1;left:2%;right:2%;top:47%;height:.32cqw;background:linear-gradient(90deg,#c40025,#e5a941,#0b5cb8,#e5a941);border-radius:999px;box-shadow:0 0 0 .18cqw #fff8;opacity:0}
.slide-levels .levels-stage{padding:.7cqw 1.15cqw 4.25cqw;background:linear-gradient(90deg,#93091f 0%,#a80d27 13.5%,transparent 13.7%),var(--paper)}
.slide-levels .levels-stage:before{background:radial-gradient(ellipse at 16% 58%,#7a061b 0 23%,transparent 23.4%),radial-gradient(ellipse at 31% 43%,#fffdf5 0 41%,transparent 41.3%),url('assets/img/patron-fondo.png') right center/24cqw;opacity:1}
.slide-levels .levels-stage:after{height:11.5%;background:linear-gradient(0deg,#86071d 0%,#a80e27 76%,#d89531 81%,#f6d895 90%,transparent 91%);clip-path:polygon(0 57%,19% 86%,42% 92%,67% 73%,100% 58%,100% 100%,0 100%)}
.slide-levels .slide-heading{position:relative;z-index:3;margin-left:20%;padding-right:10%;text-align:center}
.slide-levels .slide-heading h2{font-size:4.05em;line-height:.82;color:#b00022;text-shadow:0 1px 0 #fff}
.slide-levels .slide-heading h2 em{color:#074b9a;font-size:.82em}
.slide-levels .slide-heading>p{font-size:1.55em;margin:.28em 0 .15em;color:#0755b1}
.slide-levels .slide-heading small{max-width:70%;margin:0 auto;color:#0b55a3;font-size:.98em;line-height:1.16}
.levels-quote{position:absolute;z-index:4;left:2.8%;top:5%;width:18%;color:#fff6e2;font:italic 1.45em var(--font-display);line-height:1.1;text-align:left;text-shadow:1px 2px 2px #4d0411}
.levels-quote:after{content:"";display:block;width:78%;height:.22cqw;margin:.55cqw 0 0 9%;background:linear-gradient(90deg,transparent,#f0c05a,transparent);border-radius:100%;transform:rotate(-7deg)}
.levels-crest{position:absolute;z-index:4;right:7.8%;top:2.3%;width:12.5%;max-height:22%;object-fit:contain;filter:drop-shadow(0 .15cqw .12cqw #6b220f30)}
.slide-levels .levels-saint{z-index:5;left:-1.5%;bottom:-.7%;height:74%;max-width:30%;filter:drop-shadow(.4cqw .55cqw .5cqw #2d020b4d)}
.slide-levels .level-cards{z-index:3;margin:.9cqw 0 0 17.2%;height:62%;grid-template-columns:repeat(3,minmax(0,1fr));gap:.95cqw}
.slide-levels .level-cards:before{display:none}
.slide-levels .level-card{display:grid;grid-template-rows:43% auto auto 1fr auto;padding:0 .75cqw .55cqw;background:#fffdf8;border:1px solid #e7c67d;border-radius:.62cqw;box-shadow:0 .25cqw .65cqw #73331f26;color:#0050a7;overflow:hidden}
.slide-levels .level-card img{width:calc(100% + 1.5cqw);height:100%;margin:0 -.75cqw;object-fit:cover}
.slide-levels .level-title-row{position:relative;display:grid;grid-template-columns:3.3cqw 1fr;align-items:center;min-height:3.05cqw;margin:-.55cqw -.2cqw .2cqw -.15cqw}
.slide-levels .level-medal{position:relative;z-index:2;display:grid;place-items:center;width:3.7cqw;height:3.7cqw;border:.26cqw solid #f4d080;border-radius:50%;background:radial-gradient(circle at 35% 30%,#bd0926,#780316 78%);box-shadow:0 .2cqw .4cqw #4b061244;color:#fff;font:bold 1.35em Arial,Helvetica,sans-serif}
.slide-levels .level-medal:before{content:attr(data-icon)}
.slide-levels .level-primary .level-medal{background:radial-gradient(circle at 35% 30%,#075cb0,#073770 78%)}
.slide-levels .level-title-row h3{position:relative;z-index:1;margin:0 0 0 -.35cqw;padding:.28em .5em .34em 1cqw;border-radius:.35cqw .9cqw .9cqw .35cqw;background:linear-gradient(90deg,#97051c,#b70d29);color:#fff;text-align:center;font:bold 1.45em var(--font-display);line-height:1}
.slide-levels .level-primary .level-title-row h3{background:linear-gradient(90deg,#06458b,#075eb8)}
.slide-levels .level-secondary .level-title-row h3{background:linear-gradient(90deg,#8d061c,#b70d29)}
.slide-levels .level-card em{display:block;text-align:center;color:#d10028;font:bold italic .94em var(--font-display);line-height:1.05;margin:.18cqw 0}
.slide-levels .level-card p{font:.78em/1.16 var(--font-display);color:#0750a7;margin:.3cqw 0 .35cqw}
.slide-levels .level-card footer{display:grid;grid-template-columns:repeat(3,1fr);gap:.25cqw;margin-top:auto;padding:.35cqw .1cqw 0;background:transparent;border-top:1px solid #f1d7a4;border-radius:0;color:#7e0a1e}
.slide-levels .level-feature{display:grid;grid-template-rows:1.35cqw auto;justify-items:center;gap:.08cqw;font:.55em/1.02 var(--font-display);text-align:center}
.slide-levels .level-feature:before{content:attr(data-icon);display:grid;place-items:center;width:1.25cqw;height:1.25cqw;color:#d00024;font:bold 1.5em Arial,Helvetica,sans-serif}
.slide-levels .level-primary .level-feature:before{color:#be081f}
.slide-levels .level-secondary .level-feature:before{color:#c60022}
.history-items{position:relative;border-left:0}
.history-items:before{content:"";position:absolute;left:0;top:0;bottom:0;width:.25cqw;background:var(--gold);border-radius:9px;transform:scaleY(0);transform-origin:top}
.schedule-table>div:nth-child(1){--row:0}
.schedule-table>div:nth-child(2){--row:1}
.schedule-table>div:nth-child(3){--row:2}
.schedule-table>div:nth-child(4){--row:3}
.costs-panel>div:nth-of-type(1){--cost-row:0}
.costs-panel>div:nth-of-type(2){--cost-row:1}
.costs-panel>div:nth-of-type(3){--cost-row:2}
.register-device>a{transition:transform .25s ease,filter .25s ease,box-shadow .25s ease}
.slide:before{content:"";position:absolute;z-index:0;inset:0;background:radial-gradient(circle at calc(50% + var(--pointer-x,0) * 24%) calc(50% + var(--pointer-y,0) * 18%),#ffd66d30,transparent 34%);opacity:0;pointer-events:none}
.slide:after{content:"";position:absolute;z-index:7;top:0;bottom:0;left:0;width:30%;background:linear-gradient(90deg,transparent,#fff7,transparent);opacity:0;pointer-events:none}
.payment-trust:after{content:"";position:absolute;top:0;bottom:0;left:0;width:24%;background:linear-gradient(90deg,transparent,#fff9,transparent);opacity:0;pointer-events:none}
@media(max-width:1050px){.slide{font-size:clamp(9px,1.03cqw,13px)}
.stage{padding-bottom:4.5cqw}
.rail-title{font-size:2.4em}
.welcome-panel{font-size:.92em}
.history-items p{font-size:.78em}
.level-card p{font-size:.8em}
.procedure-steps p,.procedure-steps li{font-size:.78em}}
@media(max-width:760px){html{scroll-padding-top:50px}
.slide{display:block;aspect-ratio:auto;width:100%;min-height:0;margin-bottom:20px;font-size:15px;overflow:visible}
.slide-cover{display:block}
.rail{height:105px;display:flex;flex-direction:row;padding:8px 14px;gap:15px}
.rail-logo{width:140px;max-height:85px;object-fit:contain}
.rail-title{flex:1;writing-mode:initial;transform:none!important;font-size:1.35rem;white-space:normal;text-align:center;display:block}
.rail-bottom{display:none}
.stage{padding:22px 17px 52px;min-height:0}
.ornamental-stage:after{height:42px}
.cover-stage{grid-template-columns:1fr;min-height:0;padding:0}
.cover-copy{padding:32px 24px 20px}
.cover-school-logo{max-width:330px}
.cover-copy h1{font-size:2rem;margin:25px 0 10px}
.cover-copy>p{font-size:1.25rem}
.cover-logos{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:25px}
.cover-logos img:first-child{grid-column:auto;width:100%;max-height:75px}
.cover-logos img:nth-child(2),.cover-logos img:nth-child(3){max-height:75px}
.cover-photo{height:330px}
.cover-virgin{width:155px;bottom:0;max-height:290px}
.welcome-photo,.welcome-saint{display:none}
.welcome-main{margin:0;width:100%}
.welcome-main h2{font-size:2.55rem}
.welcome-panel{width:100%;margin:0;font-size:1rem}
.essence-card{gap:12px;padding:12px}
.essence-symbol{width:55px;height:55px;font-size:2rem}
.essence-card h3{font-size:1.15rem}
.essence-card p{font-size:.88rem}
.slide-motto{position:static;color:#8d0a23;max-width:none;font-size:1rem;text-align:center;margin:20px 0 0;transform:none!important}
.history-stage{display:block}
.history-left h2{font-size:3.4rem}
.history-left>p{text-align:left}
.history-left img{position:static;width:100%;height:180px;clip-path:none;object-fit:cover;border-radius:15px;margin:15px 0}
.history-items{gap:8px}
.history-items li{grid-template-columns:67px 1fr;gap:7px}
.history-items time{min-height:0;font-size:1rem;border-radius:7px}
.history-items li>div{padding:9px;border-radius:8px}
.history-items h3{font-size:1rem}
.history-items p{font-size:.78rem}
.history-items li:before{display:none}
.slide-heading h2{font-size:2.8rem;line-height:1}
.slide-heading>p{font-size:1.15rem}
.slide-heading small{font-size:.88rem}
.levels-saint{display:none}
.level-cards{height:auto;margin:20px 0 0;grid-template-columns:1fr;gap:12px}
.level-card{border-radius:14px;padding:0 13px 12px}
.level-card img{width:calc(100% + 26px);height:180px;margin:0 -13px}
.level-card h3{font-size:1.5rem;margin:-4px -9px 8px}
.level-card em{font-size:1rem}
.level-card p{font-size:.91rem}
.level-card footer{font-size:.77rem;padding:7px;border-radius:8px}
.services-stage .slide-heading h2{font-size:2.45rem}
.services-stage .ribbon-title{width:100%;font-size:1.1rem;margin:18px 0 8px;padding:6px 10px}
.facility-grid{grid-template-columns:1fr 1fr;gap:8px}
.facility-grid article,.facility-grid article:nth-child(n+6){grid-column:auto;border-radius:8px}
.facility-grid img,.facility-grid article:nth-child(n+6) img{height:95px}
.facility-grid h4{font-size:.88rem;margin:5px 7px 0}
.facility-grid p{font-size:.72rem;margin:2px 7px 8px}
.workshop-ribbon small{display:none}
.workshop-grid{grid-template-columns:repeat(2,1fr);gap:7px}
.workshop-grid div{min-height:55px;border-radius:7px}
.workshop-grid strong{font-size:.85rem}
.workshop-grid span{font-size:.72rem}
.procedure-top{height:auto;grid-template-columns:1fr;gap:10px}
.notice{padding:10px;border-radius:10px}
.notice h2{font-size:1.25rem;margin:-10px -10px 9px;padding:6px}
.notice p,.notice strong{font-size:.88rem}
.procedure-steps{grid-template-columns:1fr 1fr;height:auto;gap:8px;margin-top:10px}
.procedure-steps article{padding:12px;border-radius:10px}
.procedure-steps article>span{float:none;display:block;width:max-content;margin:0 0 10px;padding:3px 10px;border-radius:8px;font-size:1.5rem}
.procedure-steps h3{font-size:1rem;min-height:0}
.procedure-steps p,.procedure-steps li{font-size:.77rem}
.procedure-steps blockquote{margin:15px 0;font-size:1rem}
.fee-banner{min-height:0;padding:10px;border-radius:11px}
.fee-banner h2{font-size:1.15rem}
.fee-banner strong{font-size:1.3rem}
.bank-account{width:100%;height:auto;flex-wrap:wrap;padding:9px;gap:4px;margin:10px 0}
.bank-account p{width:100%;font-size:.88rem;text-align:center}
.criteria-stage .ribbon-title{font-size:1rem}
.criteria-explain{font-size:.83rem;margin:10px 0}
.criteria-cards{height:auto;grid-template-columns:1fr 1fr;gap:8px}
.criteria-cards li{border-radius:10px;padding:9px}
.criteria-cards span{font-size:1.3rem;border-radius:7px}
.criteria-cards p{font-size:.77rem;margin:8px 0 0}
.register-heading{display:block}
.register-heading h2{font-size:1.8rem;padding:10px;border-radius:14px}
.register-heading>p{max-width:100%;font-size:1.15rem;margin:10px 0}
.register-intro{font-size:.94rem}
.form-list{width:100%;gap:8px}
.form-list li{min-height:65px;border-radius:10px}
.form-list span{min-width:60px;font-size:1.5rem;border-radius:10px;margin-right:10px}
.form-list strong{font-size:.85rem}
.register-device{position:relative;right:auto;top:auto;width:100%;height:300px;margin-top:15px;padding:12px;border-radius:15px}
.register-device h3{font-size:1rem;padding:6px}
.laptop{height:175px;padding:5px 5px 10px;border-radius:8px}
.laptop:after{bottom:-12px;height:12px;border-radius:0 0 12px 12px}
.laptop-screen span{font-size:1rem}
.register-device>a{font-size:.8rem;margin-top:23px;padding:5px}
.register-footnote{position:static;font-size:.78rem;margin:15px 0 0;border-radius:10px;padding:8px}
.phases-heading{width:100%;padding:8px;border-radius:17px}
.phases-heading h2{font-size:1.45rem}
.phases-heading p{font-size:.8rem}
.phase-columns{height:auto;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}
.phase-columns article{border-radius:12px;padding:10px}
.phase-columns article>span{position:static;float:left;width:38px;height:38px;font-size:1.35rem;border-radius:50%;margin-right:7px}
.phase-columns h3{margin:0 0 10px;padding:9px;font-size:1rem;border-radius:7px}
.phase-columns h4{font-size:.86rem;min-height:0}
.phase-columns ul{padding-left:15px}
.phase-columns li{font-size:.72rem}
.phase-footer{position:static;color:#a30b25;font-size:1rem;margin-top:15px}
.calendar-top{height:auto;grid-template-columns:1fr;gap:10px}
.calendar-panel,.entry-panel{border-radius:12px;padding:10px}
.calendar-panel h2,.entry-panel h2{font-size:1.35rem;margin:-10px -10px 8px;padding:10px;border-radius:12px}
.schedule-table{height:auto;font-size:.8rem}
.schedule-table>div{min-height:56px;border-radius:5px}
.entry-panel p{font-size:.83rem;margin:8px 0}
.entry-panel>strong{font-size:.84rem;margin:8px 0;padding:7px}
.vacancies-panel{height:auto;margin-top:10px;border-radius:10px;padding:7px}
.vacancies-panel h2{font-size:1.1rem;margin:-8px auto 5px;padding:3px 20px}
.vacancies-panel>div{height:auto;grid-template-columns:1fr;gap:5px}
.vacancies-panel p{font-size:.9rem;padding:5px;border-radius:6px}
.vacancies-panel p strong br{display:none}
.vacancies-panel span{font-size:.7rem;padding:3px 12px}
.costs-panel{height:auto;width:100%;margin-top:10px;padding:0}
.costs-panel h2{font-size:1.1rem;padding:6px 12px}
.costs-panel>div{font-size:.8rem;min-height:38px;padding:4px 9px}}
@media(max-width:760px){.rail-title{--rest-transform:none;--enter-transform:translateY(12px)}
.slide-motto{--rest-transform:none;--enter-transform:translateY(18px)}}
@media(max-width:480px){.slide{font-size:14px}
.facility-grid,.procedure-steps,.criteria-cards,.phase-columns{grid-template-columns:1fr}
.facility-grid img,.facility-grid article:nth-child(n+6) img{height:135px}
.criteria-cards li{display:flex;gap:11px}
.criteria-cards p{margin:0}}
@media(max-width:760px){.workshop-card{min-height:154px;border-radius:8px;grid-template-rows:78px auto 1fr}
.workshop-card img{height:78px}
.workshop-card:before{left:7px;top:58px;width:42px;height:42px;border-width:3px;font-size:1.2rem}
.workshop-card strong{font-size:.85rem;padding:7px 7px 0 52px;text-align:left}
.workshop-card span{font-size:.72rem;padding:3px 8px 8px 52px;text-align:left;line-height:1.14}}
@media(max-width:760px){.slide-levels .levels-stage{background:var(--paper);padding:22px 17px 52px}
.levels-quote,.levels-crest{display:none}
.slide-levels .slide-heading{margin-left:0;padding-right:0}
.slide-levels .slide-heading h2{font-size:2.8rem}
.slide-levels .slide-heading small{max-width:100%}
.slide-levels .level-cards{margin:20px 0 0;height:auto;grid-template-columns:1fr;gap:12px}
.slide-levels .level-card{grid-template-rows:180px auto auto 1fr auto;border-radius:14px;padding:0 13px 12px}
.slide-levels .level-card img{width:calc(100% + 26px);height:180px;margin:0 -13px}
.slide-levels .level-title-row{grid-template-columns:56px 1fr;min-height:52px;margin:-10px -4px 8px}
.slide-levels .level-medal{width:58px;height:58px;border-width:4px;font-size:1.15rem}
.slide-levels .level-title-row h3{font-size:1.45rem;padding:9px 10px 10px 18px}
.slide-levels .level-card em{font-size:1rem}
.slide-levels .level-card p{font-size:.91rem;line-height:1.28}
.slide-levels .level-card footer{gap:7px}
.slide-levels .level-feature{grid-template-rows:24px auto;font-size:.72rem}
.slide-levels .level-feature:before{width:24px;height:24px;font-size:1.35rem}}
@media(max-width:760px){.payment-trust{grid-template-columns:105px 1fr 76px;gap:8px;margin:10px 0 0;padding:8px;border-radius:10px}
.payment-bank{height:64px}
.payment-card{height:66px}
.payment-trust strong{font-size:1rem}
.payment-trust span{font-size:.8rem}}
@media(max-width:480px){.workshop-grid{grid-template-columns:1fr}
.workshop-card{grid-template-rows:125px auto 1fr;min-height:205px}
.workshop-card img{height:125px}
.workshop-card:before{top:102px}}
@media(max-width:480px){.slide-levels .level-card footer{grid-template-columns:1fr}
.slide-levels .level-feature{grid-template-columns:30px 1fr;grid-template-rows:auto;text-align:left;align-items:center;justify-items:start}
.slide-levels .level-feature:before{grid-row:auto}}
@media(max-width:480px){.payment-trust{grid-template-columns:1fr;place-items:center;text-align:center}
.payment-bank{width:150px}
.payment-card{width:95px}
.payment-trust strong{font-size:1.05rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}
*,*:before,*:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important}}
@media(min-width:761px){.slide{grid-template-columns:18.85% 81.15%;background:#fff8ef}
.rail{padding:1.75cqw .9cqw 1cqw;background:linear-gradient(105deg,#b7191f 0%,#a70c21 50%,#7d061a 100%)}
.rail-logo{width:92%;margin-top:.7cqw}
.rail-title{font-family:var(--font-script);font-size:3.25em;color:#ffe22e;letter-spacing:.01em}
.rail-title strong{font-family:var(--font-script);font-size:1.05em;color:white}
.rail-bottom{gap:.35cqw}
.rail-bottom img:first-child{max-height:5.8cqw}
.rail-bottom img:nth-child(2),.rail-bottom img:nth-child(3){max-height:6.5cqw}
.stage{padding:1.75cqw 1.9cqw 4.1cqw}
.ornamental-stage:before{background-size:18cqw;opacity:.18}
.ornamental-stage:after{height:11.5%;background:linear-gradient(0deg,#8e0018 0%,#b20d23 72%,#d69631 75%,#ffe4a2 86%,transparent 87%)}
.cover-stage{grid-template-columns:37.55% 62.45%;background:#b50f1c}
.cover-copy{padding:4.95cqw 2.75cqw 1.4cqw;background:linear-gradient(107deg,#ba171b 0%,#ad111c 70%,#900819 100%)}
.cover-school-logo{width:86%;margin:.55cqw 0 0 .35cqw}
.cover-copy h1{font-family:var(--font-script);font-size:4em;line-height:.9;color:#ffe72e;text-shadow:0 3px 0 #7b0718;margin:4.1cqw 0 1.5cqw}
.cover-copy h1 strong{font-family:var(--font-script);font-size:1.25em;color:white;text-shadow:0 3px 0 #5d0613}
.cover-copy>p{font-family:var(--font-script);font-size:2.25em;line-height:1.2;margin:0 0 1.9cqw;color:white;text-shadow:0 2px 0 #790516}
.cover-logos{grid-template-columns:44% 56%;gap:.45cqw .8cqw;margin-top:auto}
.cover-logos img:first-child{grid-column:1/-1;width:61%;max-height:6.2cqw;filter:drop-shadow(0 5px 7px #52061366)}
.cover-logos img:nth-child(2){max-height:7.8cqw;object-position:left bottom}
.cover-logos img:nth-child(3){max-height:7.3cqw;object-position:left bottom}
.cover-photo img{object-position:52% 50%}
.cover-virgin{right:-1%;bottom:-.7%;width:26.3%;max-height:59%}
.slide-welcome .stage{padding:1.35cqw 1.6cqw 4.35cqw}
.welcome-main h2{font-size:3.85em;color:#ac0821}
.welcome-panel{font-size:1.08em;line-height:1.28;color:#06498f}
.essence-card{border-radius:1.1cqw;border-color:#d19b43;background:#fff8eadf}
.register-stage{padding:1.1cqw 1.35cqw 4.05cqw}
.register-heading{align-items:flex-start;min-height:18%;gap:1.1cqw}
.register-heading:before{content:"";flex:0 0 9.2cqw;height:9.2cqw;margin-top:-.4cqw;border-radius:50%;background:radial-gradient(circle,#fff 52%,#ffe8bf 54%,#cb8b2b 72%,#fff5df 73%);box-shadow:0 5px 13px #6f210633}
.register-heading h2{flex:1;margin:.15cqw 0 0 -2.5cqw;border-radius:.5cqw 2.4cqw 2.4cqw .5cqw;padding:.55cqw 1.6cqw;font-size:2.65em;box-shadow:0 7px 0 #b78224,0 8px 13px #4b120d3d}
.register-heading h2 span{font-size:.56em;color:#ffe89b}
.register-heading>p{max-width:27%;padding:.7cqw .8cqw;border:2px solid #e3a533;border-radius:1.1cqw;background:#fffdf6;color:#8b0a22;font-size:1.65em;line-height:.92;box-shadow:0 5px 8px #7d390722}
.register-intro{width:60%;margin:-1.1cqw 0 .9cqw 16.2%;font-size:1.35em;line-height:1.22;color:#064181}
.form-list{width:55%;margin-left:7.5%;gap:.8cqw}
.form-list li{min-height:5.1cqw;border-radius:1.1cqw;background:#f8dfe8}
.form-list span{min-width:6.1cqw;border-radius:.75cqw;font-size:2.55em}
.form-list strong{font-size:1.28em;color:#083f80}
.register-device{top:24.3%;right:2.6%;width:33.5%;height:48%;border-radius:1.1cqw;background:#fff;border:3px solid #f0e8df}
.register-device h3{font-size:1.55em;border-radius:2cqw;margin:-.1cqw 0 .75cqw;padding:.55cqw 1cqw}
.register-device>a{margin-top:2.1cqw;border-color:#d99126;background:#fffdf7;color:#8b0019;font-size:1.05em}
.register-footnote{left:6.2%;right:5.2%;bottom:6.7%;font-size:1.05em;border:1px solid #ead6bf}}
.slide{position:relative;isolation:isolate}
.slide img{user-select:none}
@media(min-width:761px) and (max-width:1180px){.slide{width:min(100% - 18px,1180px);font-size:clamp(9px,1.02cqw,13.2px)}
.rail-title{font-size:2.85em}
.slide-heading h2{font-size:2.9em}
.services-stage .slide-heading h2{font-size:2.78em}
.facility-grid{gap:.45cqw}
.facility-grid h4{font-size:.9em}
.facility-grid p{font-size:.7em;line-height:1.08}
.workshop-card{grid-template-rows:4.45cqw auto 1fr;min-height:8.85cqw}
.workshop-card img{height:4.45cqw}
.procedure-steps h3,.phase-columns h3{font-size:1.12em}
.procedure-steps p,.procedure-steps li,.phase-columns li{font-size:.74em;line-height:1.28}
.calendar-panel h2,.entry-panel h2{font-size:1.45em}
.entry-panel p{font-size:.78em;line-height:1.27}
.payment-trust strong{font-size:1.02em}
.payment-trust span{font-size:.78em}}
@media(max-width:760px){body{background:#f3eee7}
.slide{width:100%;border-radius:14px;box-shadow:0 12px 32px #4c1b1b24;scroll-margin-top:64px}
.stage{border-radius:0 0 14px 14px}
.slide *{min-width:0}
.cover-photo img,.history-left img,.level-card img,.facility-grid img,.workshop-card img,.laptop-screen img{object-position:center}
.essence-card,.level-card,.facility-grid article,.workshop-card,.procedure-steps article,.criteria-cards li,.phase-columns article,.form-list li,.calendar-panel,.entry-panel,.vacancies-panel,.costs-panel{box-shadow:0 6px 16px #6f1a1a1c}
.procedure-steps,.phase-columns,.criteria-cards{gap:10px}
.procedure-steps article,.phase-columns article,.criteria-cards li{min-height:0}
.schedule-table>div{grid-template-columns:1fr;gap:0}
.schedule-table>div:first-child{grid-template-columns:1fr 1fr}
.schedule-table span,.schedule-table b{overflow-wrap:anywhere}
.costs-panel>div{grid-template-columns:1fr auto;gap:10px}
.register-device>a{overflow-wrap:anywhere}}
@media(max-width:620px){.rail{height:auto;min-height:96px}
.rail-logo{width:120px}
.rail-title{font-size:1.12rem}
.cover-logos{grid-template-columns:1fr;justify-items:center}
.cover-logos img:first-child,.cover-logos img:nth-child(2),.cover-logos img:nth-child(3){width:100%;max-width:230px;object-position:center}
.procedure-steps,.criteria-cards,.phase-columns,.facility-grid{grid-template-columns:1fr}
.facility-grid img,.facility-grid article:nth-child(n+6) img{height:150px}
.form-list li{align-items:flex-start;padding-right:8px}
.form-list span{align-self:stretch}
.calendar-panel h2,.entry-panel h2,.costs-panel h2,.vacancies-panel h2{line-height:1.08}}
@media(max-width:380px){.rail-logo{width:104px}
.rail-title{font-size:1rem}
.slide{font-size:13px;border-radius:12px}
.stage{padding-left:13px;padding-right:13px}
.cover-copy h1{font-size:1.72rem}
.welcome-main h2,.history-left h2,.slide-heading h2{font-size:2.25rem}
.register-heading h2{font-size:1.55rem}
.form-list span{min-width:50px}
.payment-bank{width:130px}}
.register-device>a{position:relative;z-index:4}
.slide a{overflow-wrap:anywhere}
@media(max-width:760px){html{scroll-padding-top:70px}}
@media(min-width:761px){.slide{min-height:0}
.stage{min-width:0}
.facility-grid article,.workshop-card,.level-card,.procedure-steps article,.criteria-cards li,.phase-columns article,.form-list li{transition:box-shadow .28s ease,border-color .28s ease,filter .28s ease}}
@media(hover:hover) and (pointer:fine){.facility-grid article:hover,.workshop-card:hover,.level-card:hover,.procedure-steps article:hover,.criteria-cards li:hover,.phase-columns article:hover,.form-list li:hover{
    z-index:3;
    border-color:#d69a3f;
    box-shadow:0 .7cqw 1.35cqw #6d160d30;
    filter:saturate(1.04);
  }
.workshop-card:hover img,.facility-grid article:hover img,.level-card:hover img{transform:scale(1.035)}
.workshop-card img,.facility-grid article img,.level-card img{transition:transform .55s cubic-bezier(.16,1,.3,1),filter .35s ease}
.register-device>a:hover{filter:brightness(1.06);transform:translateY(-1px)}}
@media(min-width:761px) and (max-width:920px){.slide{aspect-ratio:auto}
.stage{min-height:calc(100vw * .73)}
.slide-levels .level-cards{height:auto;min-height:31cqw}
.procedure-steps,.phase-columns{height:auto;min-height:34cqw}
.register-device{height:auto;min-height:27cqw}}
@media(max-width:760px){.slide:before,.slide:after{display:none}
.facility-grid article,.workshop-card,.level-card,.procedure-steps article,.criteria-cards li,.phase-columns article,.form-list li{border-color:#ead0a0}}
@media(min-width:761px){.history-items li>div{border-left:.32cqw solid #d39a43}
.history-items li:nth-child(2n)>div{border-left-color:#0a58ab}
.history-items li:nth-child(3n)>div{border-left-color:#ae1027}
.services-stage .facility-grid article{background:linear-gradient(180deg,#fff 0 78%,#fff7e8 100%)}
.facility-grid article h4{letter-spacing:.01em}
.facility-grid article:nth-child(2) h4,.facility-grid article:nth-child(5) h4{color:#0754a8}
.facility-grid article:nth-child(3) h4,.facility-grid article:nth-child(7) h4{color:#8a6813}
.workshop-card:nth-child(1) img{object-position:50% 43%}
.workshop-card:nth-child(2) img{object-position:50% 34%}
.workshop-card:nth-child(3) img{object-position:50% 42%}
.workshop-card:nth-child(4) img{object-position:50% 45%}
.workshop-card:nth-child(5) img{object-position:50% 38%}
.workshop-card:nth-child(6) img{object-position:50% 35%}
.workshop-card:nth-child(7) img{object-position:50% 40%}
.calendar-panel,.entry-panel{border-color:#e4ad50}
.schedule-table>div:not(:first-child){border-left:.28cqw solid transparent}
.schedule-table>div:nth-child(2){border-left-color:#b10c24}
.schedule-table>div:nth-child(3){border-left-color:#0756a8}
.schedule-table>div:nth-child(4){border-left-color:#11884e}
.costs-panel>div{border-left:.34cqw solid #ad0a24}
.costs-panel>div:nth-child(3){border-left-color:#c88614}
.costs-panel>div:nth-child(4){border-left-color:#0755a8}
.costs-panel b{font-size:1.12em;color:#073d7e}}
@media(max-width:760px){.history-items li>div{border-left:4px solid #d39a43}
.history-items li:nth-child(2n)>div{border-left-color:#0a58ab}
.history-items li:nth-child(3n)>div{border-left-color:#ae1027}
.workshop-card:nth-child(1) img{object-position:50% 43%}
.workshop-card:nth-child(2) img{object-position:50% 34%}
.workshop-card:nth-child(3) img{object-position:50% 42%}
.workshop-card:nth-child(4) img{object-position:50% 45%}
.workshop-card:nth-child(5) img{object-position:50% 38%}
.workshop-card:nth-child(6) img{object-position:50% 35%}
.workshop-card:nth-child(7) img{object-position:50% 40%}
.schedule-table>div:not(:first-child){border-left:4px solid #d39a43}
.schedule-table>div:nth-child(2){border-left-color:#b10c24}
.schedule-table>div:nth-child(3){border-left-color:#0756a8}
.schedule-table>div:nth-child(4){border-left-color:#11884e}
.costs-panel>div{border-left:4px solid #ad0a24}
.costs-panel>div:nth-child(3){border-left-color:#c88614}
.costs-panel>div:nth-child(4){border-left-color:#0755a8}}

/* Lámina 5: fotos más altas en la segunda fila de instalaciones y en Talleres. */
@media(min-width:761px){
.facility-grid article:nth-child(n+6) img{height:8cqw}
.workshop-card{grid-template-rows:6.3cqw auto 1fr;min-height:10.75cqw}
.workshop-card img{height:6.3cqw}
.workshop-card:before{top:3.6cqw}
.workshop-card strong{padding-left:.3cqw;padding-right:.3cqw}
.workshop-card span{padding-left:.3cqw;padding-right:.3cqw}
}

/* Lámina 4 (escritorio): dos rasgos por tarjeta, más grandes y legibles. */
@media(min-width:761px){
.slide-levels .level-card footer{grid-template-columns:repeat(2,1fr);gap:.8cqw;padding:.7cqw .3cqw .2cqw;font-size:1em}
.slide-levels .level-feature:nth-child(3){display:none}
.slide-levels .level-feature{grid-template-rows:2.6cqw auto;gap:.3cqw;font:.95em/1.1 var(--font-display)}
.slide-levels .level-feature:before{width:2.4cqw;height:2.4cqw;font-size:1.7em}
}
