:root{--navy:#071a3a;--navy-light:#102a55;--blue:#3567c8;--yellow:#ffd53d;--white:#fff;--ink:#071a3a;--mist:#edf3ff;--serif:Georgia,"Times New Roman",serif;--sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:5rem}
body{margin:0;background:var(--white);color:var(--ink);font:1rem/1.5 var(--sans)}
a{color:inherit}
:focus-visible{outline:3px solid var(--yellow);outline-offset:4px}
.skip-link{position:absolute;top:-5rem;left:1rem;z-index:30;background:var(--white);padding:.7rem 1rem}
.skip-link:focus{top:1rem}
.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.65rem clamp(1rem,4vw,4rem);background:rgba(7,26,58,.97);color:var(--white);border-bottom:1px solid rgba(255,255,255,.15);backdrop-filter:blur(10px)}
.brand{display:flex;align-items:center;gap:.65rem;text-decoration:none;line-height:1.1}
.brand img{width:34px;height:42px;object-fit:contain}
.brand strong,.brand small{display:block}
.brand strong{font:1.02rem var(--serif);color:var(--white)}
.brand small{margin-top:.25rem;color:#d7e2f5;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.5rem;padding:.95rem 1.7rem;background:var(--yellow);border:2px solid var(--yellow);border-radius:.2rem;color:var(--navy);text-align:center;text-decoration:none;font-size:.9rem;font-weight:900;letter-spacing:.055em;line-height:1.2;transition:transform .18s,background .18s}
.button:hover{transform:translateY(-2px);background:#ffe372;border-color:#ffe372}
.button-small{min-height:2.7rem;padding:.65rem 1rem;font-size:.7rem;letter-spacing:.035em}
.eyebrow{margin:0 0 .75rem;color:var(--yellow);font-size:.75rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
h1,h2,h3,p{margin-top:0}
.hero{position:relative;overflow:hidden;display:flex;align-items:center;min-height:min(690px,calc(100svh - 68px));padding:clamp(3.5rem,9vw,7.5rem) clamp(1.25rem,9vw,8rem);background:radial-gradient(ellipse at 82% 48%,rgba(53,103,200,.42),transparent 38%),var(--navy);color:var(--white)}
.hero-content{position:relative;z-index:1;max-width:870px}
.live-dot{display:inline-block;width:.52rem;height:.52rem;margin:0 .48rem .04rem 0;border-radius:50%;background:var(--yellow);box-shadow:0 0 0 5px rgba(255,213,61,.14)}
.hero h1{margin:.2rem 0 .8rem;font:900 clamp(3.3rem,10vw,8rem)/.87 var(--sans);letter-spacing:-.075em}
.hero h1 em{color:var(--yellow);font-style:normal}
.hero-subtitle{margin:0 0 .75rem;color:#e7edfa;font:clamp(1.2rem,2.7vw,2rem)/1.2 var(--serif)}
.hero-date{margin:0 0 1.1rem;color:var(--white);font-size:1.02rem;font-weight:850;letter-spacing:.02em}
.hero-date>span:first-child,.closing-date span{padding:0 .25rem;color:var(--yellow)}
.timezone{font-size:.85em;font-weight:600;color:#cbd8ef}
.hero-copy{max-width:650px;margin:0 0 1.5rem;color:#d1dcef;font-size:clamp(1rem,1.6vw,1.12rem)}
.button-primary{background:var(--yellow);color:var(--navy)}
.hero-mark{position:absolute;right:clamp(1.5rem,7vw,7rem);bottom:3.25rem;display:flex;align-items:center;gap:.7rem;color:#c5d2e9;font-size:.68rem;font-weight:900;letter-spacing:.13em}
.hero-mark b{color:var(--yellow);font-size:1.35rem}
.stages{padding:clamp(3.4rem,7vw,6.5rem) clamp(1.1rem,7vw,6rem);background:var(--white);text-align:center}
.section-heading{margin:0 auto 2rem}
.section-heading .eyebrow{color:#4266a8}
.section-heading h2{margin:0;color:var(--navy);font:800 clamp(2.2rem,5vw,4rem)/.98 var(--sans);letter-spacing:-.06em}
.section-heading h2 span{color:#4266a8}
.stage-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;max-width:1120px;margin:0 auto}
.stage{position:relative;display:flex;min-height:240px;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:1.35rem;text-align:left}
.stage-book{background:var(--yellow);color:var(--navy)}
.stage-video{background:#dfe9ff;color:var(--navy)}
.stage-learning{background:#3567c8;color:var(--white)}
.stage-experience{background:var(--navy);color:var(--white)}
.stage-number{font-size:.72rem;font-weight:900;letter-spacing:.12em;opacity:.7}
.stage-icon{width:48px;height:48px;fill:none;stroke:currentColor;stroke-width:2.3;stroke-linecap:round;stroke-linejoin:round}
.stage h3{margin:1.4rem 0 0;font-size:clamp(.8rem,1.3vw,1rem);font-weight:900;line-height:1.2;letter-spacing:.025em}
.journey{display:flex;align-items:center;justify-content:center;gap:clamp(.35rem,2vw,1.3rem);max-width:950px;margin:2.15rem auto 1.5rem;color:var(--navy);font-size:clamp(.67rem,1.5vw,.95rem);font-weight:900;letter-spacing:.08em}
.journey b{color:#5679bb;font-size:1.25rem}
.closing{padding:clamp(3.8rem,8vw,7rem) 1.25rem;background:var(--navy);color:var(--white);text-align:center}
.closing h2{margin:.5rem auto 1rem;color:var(--white);font:900 clamp(2.4rem,6.2vw,5.2rem)/.95 var(--sans);letter-spacing:-.065em}
.closing h2 em{color:var(--yellow);font-style:normal}
.closing>p:not(.eyebrow):not(.closing-date){max-width:720px;margin:0 auto 1.5rem;color:#d2ddef;font-size:clamp(1rem,1.8vw,1.15rem)}
.closing-date{margin:0 auto 1.5rem;font-size:clamp(.78rem,1.8vw,1rem);font-weight:900;letter-spacing:.08em}
.button-large{min-height:4rem;padding:1rem 2rem;font-size:1rem}
.site-footer{display:flex;justify-content:space-between;gap:1rem;padding:1.1rem clamp(1.25rem,6vw,5rem);background:#041127;color:var(--white);font-size:.85rem}
.site-footer a{text-underline-offset:.2rem}
@media(max-width:850px){.stage-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stage{min-height:210px}}
@media(max-width:620px){
  .site-header{padding:.55rem .75rem;gap:.45rem}
  .brand{gap:.45rem}
  .brand img{width:27px;height:34px}
  .brand strong{font-size:.8rem}
  .brand small{font-size:.57rem}
  .button-small{min-height:2.45rem;padding:.5rem .58rem;font-size:.58rem;max-width:48%}
  .hero{min-height:calc(100svh - 58px);padding:3.2rem 1.15rem 5.5rem}
  .hero h1{font-size:clamp(3.2rem,14.5vw,5rem)}
  .hero-mark{right:auto;left:1.15rem;bottom:1.7rem;font-size:.58rem}
  .hero-content>.button,.stages>.button,.closing>.button{width:100%}
  .stage-grid{gap:.55rem}
  .stage{min-height:178px;padding:1rem}
  .stage-icon{width:40px;height:40px}
  .stage h3{font-size:.73rem}
  .journey{flex-wrap:wrap;gap:.3rem .45rem;margin:1.5rem auto 1.25rem;font-size:.62rem;letter-spacing:.04em}
  .journey b{font-size:.95rem}
  .site-footer{flex-direction:column;align-items:flex-start}
}
@media(max-width:370px){.brand strong{font-size:.73rem}.button-small{font-size:.52rem}.stage{min-height:160px;padding:.8rem}.stage h3{font-size:.68rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}

/* Actualización editorial LIBER 2026; conserva estilos y funciones existentes. */
.hero{display:grid;grid-template-columns:minmax(0,1.18fr) minmax(0,1fr);gap:clamp(1rem,3vw,3rem);padding:clamp(3rem,6vw,6rem) clamp(1.25rem,6vw,6rem);background:var(--navy)}
.hero-content{min-width:0}.hero h1{font-size:clamp(3.1rem,6.5vw,6.3rem);letter-spacing:-.065em}
.hero-emblem{min-width:0}.hero-emblem img{display:block;width:100%;height:auto;mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 5%,#000 95%,transparent);mask-composite:intersect;-webkit-mask-image:linear-gradient(to right,transparent,#000 5%,#000 95%,transparent),linear-gradient(to bottom,transparent,#000 5%,#000 95%,transparent);-webkit-mask-composite:source-in}
.liber-section{background:#f6f3ec;padding:clamp(3rem,7vw,6rem) clamp(1.2rem,6vw,5rem)}
.liber-wrap{max-width:1160px;margin:auto}.liber-section .eyebrow{color:#806018}
.liber-section h2{font-size:clamp(2rem,4.5vw,4rem);letter-spacing:-.05em;line-height:1.05;margin-bottom:1.1rem}
.liber-subtitle{font:clamp(1.4rem,2.8vw,2.1rem)/1.25 var(--serif);color:#896b29;margin-bottom:1.5rem}
.liber-intro{max-width:830px;font-size:1.05rem;line-height:1.75}
.editorial-link{display:inline-block;color:#5f480d;font-weight:800;font-size:.8rem;letter-spacing:.04em;text-underline-offset:5px}
.liber-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:1.35rem;margin:2.5rem 0 3.5rem}
.liber-gallery figure{margin:0;min-width:0}.liber-gallery img{display:block;width:100%;height:auto;object-fit:contain}
.liber-gallery figcaption{padding:1rem 0;line-height:1.5;font-size:.95rem}
.liber-gallery figcaption span{display:block;font-size:.67rem;letter-spacing:.12em;color:#806018;font-weight:850;margin-bottom:.35rem}
.saturnino-card{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:2rem;align-items:center;padding:clamp(1.2rem,3vw,2.5rem);background:var(--navy);color:white}
.saturnino-preview{display:block;text-decoration:none;min-width:0}.saturnino-preview img{width:100%;height:auto;display:block}.saturnino-preview span{display:block;color:#dac483;font-size:.66rem;font-weight:850;letter-spacing:.12em;padding-top:.85rem}
.saturnino-card .eyebrow{color:#dac483}.saturnino-card h3{font:clamp(2.1rem,3.3vw,3rem)/1.07 var(--serif);margin-bottom:1rem}.saturnino-card p:not(.eyebrow){color:#d5def0;line-height:1.7}
.saturnino-url{display:block;overflow-wrap:anywhere;font-size:.78rem;color:#d5def0;margin-top:1rem;text-underline-offset:4px}
.workbook-resource{display:flex;align-items:center;gap:2rem;justify-content:space-between;margin-top:2.5rem;border-top:1px solid #d5c9ae;padding-top:2rem}
.workbook-resource>div{max-width:750px}.workbook-resource h3{font:1.8rem var(--serif);margin-bottom:.7rem}.workbook-resource p{line-height:1.7}.workbook-note{font-size:.85rem;color:#65583e}.workbook-resource>a{flex-shrink:0}
@media(max-width:900px){.hero{grid-template-columns:1fr 1fr}.hero h1{font-size:clamp(3rem,6.5vw,4rem)}.saturnino-card{grid-template-columns:1fr}.liber-gallery{gap:.9rem}.workbook-resource{display:block}.workbook-resource>a{margin-top:.5rem}}
@media(max-width:620px){.hero{grid-template-columns:1fr;min-height:auto;padding:3rem 1.15rem 1rem;gap:1rem}.hero h1{font-size:clamp(3rem,13.5vw,4.8rem)}.hero-emblem{width:min(100%,390px);margin:auto}.liber-gallery{grid-template-columns:1fr;gap:1.6rem;max-width:460px;margin:2rem auto}.saturnino-card{gap:1.5rem}.saturnino-card .button{width:100%}.liber-intro{font-size:1rem}.workbook-resource{margin-top:2rem}}

/* Insignia editorial integrada en el cierre, sobre el mismo azul marino. */
.hero{display:flex;background:var(--navy)}.hero-content{max-width:870px}.hero h1{font-size:clamp(3.3rem,10vw,8rem)}
.closing{background:var(--navy);isolation:isolate}
.closing-emblem{width:min(100%,350px);margin:0 auto 1.5rem;background:var(--navy)}
.closing-emblem img{display:block;width:100%;height:auto;mix-blend-mode:lighten;clip-path:ellipse(40% 43% at 55% 46%);mask-image:radial-gradient(ellipse 40% 43% at 55% 46%,#000 95%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 40% 43% at 55% 46%,#000 95%,transparent 100%)}
@media(max-width:620px){.hero h1{font-size:clamp(3rem,13.5vw,4.8rem)}.closing-emblem{width:min(100%,280px);margin-bottom:1rem}}

/* VSL: conserva la identidad editorial y el recorrido de inscripción. */
.vsl-section{padding:clamp(2.5rem,6vw,5rem) clamp(1.1rem,6vw,5rem);background:var(--navy);color:var(--white);text-align:center}
.vsl-wrap{max-width:1000px;margin:0 auto}
.vsl-section h2{max-width:780px;margin:0 auto 1rem;font:800 clamp(1.8rem,4vw,3.3rem)/1.08 var(--sans);letter-spacing:-.045em}
.vsl-intro{max-width:680px;margin:0 auto 1.8rem;color:#d1dcef;font-size:clamp(1rem,1.6vw,1.12rem)}
.vsl-player{position:relative;width:100%;aspect-ratio:16/9;overflow:hidden;border:1px solid rgba(255,213,61,.3);border-radius:.5rem;background:#000;box-shadow:0 20px 60px rgba(0,0,0,.25)}
.vsl-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.vsl-alternative{margin:.9rem 0 1.6rem;color:#d1dcef;font-size:.85rem}
.vsl-alternative a{text-underline-offset:.2em}
.vsl-action p{margin:1rem 0 0;color:#d1dcef;font-size:.9rem;line-height:1.7}
@media(max-width:600px){.vsl-section{padding:2.5rem 1rem}.vsl-action .button{width:100%;max-width:360px}.vsl-action p{font-size:.82rem}.vsl-player{border-radius:.25rem}}

/* Registro visible y conectado al formulario original. */
.registration-section{background:#f6f3ec;color:var(--navy);padding:clamp(2.5rem,6vw,5rem) clamp(1rem,5vw,4rem);scroll-margin-top:100px}
.registration-wrap{max-width:900px;margin:auto;text-align:center}
.registration-section .eyebrow{color:#806018}.registration-section h2{font:800 clamp(2rem,4vw,3.3rem)/1.12 var(--sans);letter-spacing:-.04em;margin:.7rem 0 1.2rem}
.registration-intro{max-width:720px;margin:0 auto 1rem;font-size:1.1rem;line-height:1.7}.registration-note{font-size:.95rem;line-height:1.6;margin:0 auto 1.5rem;color:#42516a}
.registration-form{background:white;border:1px solid #d6b45d;border-radius:12px;overflow:hidden;box-shadow:0 12px 40px #071a3a12}
.registration-form iframe{display:block;width:100%;height:2100px;border:0;background:white}
.registration-alternative,.registration-privacy{font-size:.92rem;line-height:1.6;margin:1.1rem 0}.registration-section a:not(.button){color:#354c78;text-decoration:underline;text-underline-offset:3px}.registration-section .button{margin-top:1rem;white-space:normal}
@media(max-width:600px){.registration-form iframe{height:2450px}.registration-section{scroll-margin-top:90px}.registration-intro{font-size:1rem}.registration-section .button{width:100%}}

/* Three clear routes: programme, newsletter and presentation. */
.choice-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:stretch;gap:.7rem;margin:1.4rem auto 0;max-width:100%}
.choice-actions .button{flex:0 1 auto;white-space:normal}
.choice-actions .button-newsletter{background:#fff;color:#102746;border-color:#fff}
.choice-actions .button-newsletter:hover{background:#eef2f7;border-color:#eef2f7}
.choice-actions .button-presentation{background:#d1d5db;color:#182333;border-color:#d1d5db}
.choice-actions .button-presentation:hover{background:#e5e7eb;border-color:#e5e7eb}
.choice-actions-header{margin:0;justify-content:flex-end;gap:.45rem}
@media(max-width:760px){.site-header{flex-wrap:wrap}.choice-actions-header{width:100%;justify-content:center;padding-bottom:.35rem}.choice-actions-header .button-small{max-width:none;flex:1 1 28%;font-size:.6rem;padding:.65rem .45rem}.choice-actions:not(.choice-actions-header){flex-direction:column;width:100%;max-width:420px}.choice-actions:not(.choice-actions-header) .button{width:100%;max-width:none}}
