@font-face{font-family:BodoniBioSer;src:url("assets/fonts/bodoni-book.woff2") format("woff2");font-display:swap}
@font-face{font-family:BodoniBioSer;src:url("assets/fonts/bodoni-bold.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:InterBioSer;src:url("assets/fonts/inter.woff2") format("woff2");font-display:swap}

:root{--ink:#071317;--paper:#eef0e8;--ivory:#fcfbf5;--acid:#d3ff63;--coral:#ff695e;--cool:#a3e5dd;--glass:rgba(5,23,29,.63);--glass-edge:rgba(218,244,232,.26);--mute:#c4d0cd;--ease:cubic-bezier(.22,.8,.18,1);--shadow:0 26px 70px rgba(0,0,0,.25)}
*{box-sizing:border-box}
html{background:var(--ink);scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--ivory);font-family:InterBioSer,Arial,sans-serif;font-size:16px;line-height:1.5}
button,a{font:inherit}
button{cursor:pointer}
button:focus-visible,a:focus-visible{outline:2px solid var(--acid);outline-offset:4px}
::selection{background:var(--acid);color:var(--ink)}
.skip-link{position:fixed;left:1rem;top:-4rem;z-index:50;background:var(--acid);color:var(--ink);padding:.7rem 1rem;text-decoration:none}.skip-link:focus{top:1rem}

.experience{position:relative;isolation:isolate;min-height:100svh;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr auto auto auto;gap:0;overflow:hidden;padding:1.15rem clamp(1rem,4vw,4.5rem) 1.35rem;background:#0a191b}
.scene-media,.scene-image,.scene-scrim,.scene-scan,.scene-vignette{position:absolute;inset:0}
.scene-media{z-index:-3;overflow:hidden;background:#102326}
.scene-image{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.76) contrast(1.06) brightness(.92);transform:scale(1.035);transition:opacity .72s var(--ease),transform 1.1s var(--ease),filter .8s var(--ease)}
.scene-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(.76) contrast(1.06) brightness(.92);opacity:0;transition:opacity .45s ease;pointer-events:none}.scene-video.is-ready{opacity:1}.explore-tools a{display:inline-flex;align-items:center;min-height:44px;color:var(--acid);font-size:.8rem;padding:0 .5rem}.explore-tools button:disabled{opacity:.45;cursor:default}@media(max-width:850px){.scene-video{object-position:60% center}}
.scene-image.secondary-image{opacity:0;transform:scale(1.09)}
.experience.is-secondary .scene-image:not(.secondary-image){opacity:0;transform:scale(.99)}
.experience.is-secondary .secondary-image{opacity:1;transform:scale(1.04)}
.scene-scrim{background:linear-gradient(100deg,rgba(3,15,19,.95) 0%,rgba(4,20,23,.82) 28%,rgba(4,19,21,.58) 46%,rgba(4,17,18,.2) 70%,rgba(3,10,12,.62) 100%)}
.scene-scan{opacity:.45;background:linear-gradient(90deg,rgba(163,229,221,.15) 1px,transparent 1px) 0 0/26% 100%,linear-gradient(0deg,rgba(163,229,221,.11) 1px,transparent 1px) 0 0/100% 25%;mask-image:linear-gradient(90deg,#000,transparent 75%)}
.scene-vignette{background:radial-gradient(circle at 62% 50%,transparent 0%,transparent 25%,rgba(0,0,0,.36) 100%)}

.topbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:44px;border-bottom:1px solid rgba(238,240,232,.24);padding-bottom:.85rem;position:relative;z-index:2}
.brand{display:inline-flex;align-items:center;gap:.65rem;color:var(--ivory);font-size:.8rem;font-weight:700;letter-spacing:.03em;text-decoration:none;text-transform:uppercase}.brand-mark{display:inline-flex;gap:2px;height:14px;align-items:end}.brand-mark i{display:block;width:3px;background:var(--acid)}.brand-mark i:nth-child(1){height:7px}.brand-mark i:nth-child(2){height:14px}.brand-mark i:nth-child(3){height:10px}
.top-title,.top-state{margin:0;color:#eef4f1;font-size:.68rem;letter-spacing:.13em;text-transform:uppercase}.top-state{font-variant-numeric:tabular-nums;color:var(--acid)}

.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,382px);gap:clamp(2rem,6vw,9rem);align-items:end;padding:clamp(2.4rem,9vh,8rem) 0 clamp(1.3rem,3vh,2.7rem);min-height:0}
.hero-copy{align-self:center;max-width:690px}.chapter,.section-number{margin:0 0 .6rem;color:var(--acid);font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.hero-copy .scene-title{display:flex;flex-direction:column;margin:0;line-height:.82;font-family:BodoniBioSer,Georgia,serif;font-weight:400;letter-spacing:-.03em;text-wrap:balance}.hero-copy .scene-title span:first-child{font-family:InterBioSer,Arial,sans-serif;font-size:clamp(.84rem,1vw,1.15rem);font-weight:700;letter-spacing:.18em;margin:0 0 .6rem .2rem;color:var(--acid)}.hero-copy .scene-title span:last-child{font-size:clamp(4.15rem,11vw,10rem)}
.scene-subtitle{max-width:29rem;margin:1.3rem 0 1.4rem;font:clamp(1.05rem,1.7vw,1.46rem)/1.35 BodoniBioSer,Georgia,serif;color:var(--ivory)}
.scene-facts{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem;color:var(--mute);font-size:.66rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.fact-line{height:1px;width:26px;background:var(--acid)}

.glass-card{position:relative;border:1px solid var(--glass-edge);border-radius:16px;background:linear-gradient(135deg,rgba(216,253,240,.14),rgba(5,28,35,.59) 38%,rgba(3,12,16,.7));box-shadow:var(--shadow);backdrop-filter:blur(15px) saturate(125%);-webkit-backdrop-filter:blur(15px) saturate(125%)}
.explainer-card{align-self:end;padding:1.3rem 1.35rem 1.25rem;animation:card-in .8s var(--ease) both}.card-signal{display:flex;align-items:center;gap:4px;margin-bottom:1.75rem;height:15px}.card-signal span{width:3px;background:var(--acid);border-radius:3px}.card-signal span:nth-child(1){height:7px}.card-signal span:nth-child(2){height:15px}.card-signal span:nth-child(3){height:10px}.card-label{margin:0 0 .5rem;color:var(--acid);font-size:.65rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.card-main{margin:0;color:#fff;font:1.6rem/1.04 BodoniBioSer,Georgia,serif;letter-spacing:-.015em}.card-detail{min-height:3.7rem;margin:1rem 0 1.2rem;color:#d7e1de;font-size:.82rem;line-height:1.48}.watch-button{display:inline-flex;align-items:center;gap:.5rem;padding:.68rem .78rem;border:1px solid rgba(211,255,99,.72);border-radius:7px;background:rgba(211,255,99,.11);color:var(--acid);font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;transition:background .25s var(--ease),transform .25s var(--ease)}.watch-button svg{width:16px;height:16px}.watch-button:hover{background:var(--acid);color:var(--ink);transform:translateY(-2px)}

.curve-panel{position:relative;padding:.6rem 0 0;align-self:end}.curve-meta,.curve-legend{display:flex;justify-content:space-between;gap:1rem;color:#eef4f1;font-size:.7rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.curve-meta{margin-bottom:.15rem;padding:0 1.5%}.curve{display:block;width:100%;height:auto;overflow:visible}.curve-base{fill:none;stroke:rgba(244,244,236,.32);stroke-width:1.25}.curve-active{fill:none;stroke:var(--cool);stroke-width:2.4;stroke-linecap:round}.curve-rest{fill:none;stroke:var(--coral);stroke-width:2.6;stroke-linecap:round}.curve-highlight{fill:none;stroke:var(--acid);stroke-width:3.1;stroke-linecap:round;filter:drop-shadow(0 0 7px rgba(211,255,99,.8));transition:d .5s var(--ease),stroke .4s var(--ease)}.curve-boundary{stroke:rgba(238,240,232,.4);stroke-width:1;stroke-dasharray:4 5}.crisis-boundary{stroke:rgba(255,105,94,.65)}.curve-dot{fill:var(--acid);transition:cx .6s var(--ease),cy .6s var(--ease),fill .4s}.curve-halo{fill:none;stroke:var(--acid);stroke-width:1;opacity:.65;transform-box:fill-box;transform-origin:center;animation:halo 2s ease-in-out infinite;transition:cx .6s var(--ease),cy .6s var(--ease),stroke .4s}.curve-legend{justify-content:flex-start;gap:1.4rem;margin:.1rem 0 0;padding:0 1.5%;font-size:.68rem}.legend-dot{display:inline-block;width:6px;height:6px;margin-right:.42rem;border-radius:50%;vertical-align:1px}.active-dot{background:var(--cool)}.rest-dot{background:var(--coral)}.peak-dot{background:var(--acid)}

.phase-nav{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.55rem;margin-top:1.25rem}.phase-button{position:relative;isolation:isolate;display:grid;grid-template-columns:auto 1fr;gap:.1rem .6rem;min-height:81px;overflow:hidden;padding:.72rem .72rem .68rem;border:1px solid rgba(238,240,232,.22);border-radius:12px;background:rgba(7,23,27,.47);color:var(--ivory);text-align:left;backdrop-filter:blur(13px);-webkit-backdrop-filter:blur(13px);transition:border-color .25s var(--ease),transform .25s var(--ease),background .25s var(--ease)}.phase-button::before{content:"";position:absolute;z-index:0;inset:0;background:var(--thumbnail) center/cover;opacity:.2;filter:saturate(.65)}.phase-button::after{content:"";position:absolute;z-index:1;inset:0;background:linear-gradient(110deg,rgba(5,20,24,.85),rgba(5,20,24,.38))}.phase-button>span{position:relative;z-index:2}.phase-button:hover{transform:translateY(-3px);border-color:rgba(211,255,99,.7)}.phase-button.is-active{border-color:var(--acid);background:rgba(13,39,43,.7)}.phase-index{grid-row:span 2;color:var(--acid);font-size:.72rem;font-weight:700;letter-spacing:.08em}.phase-label{font:1.16rem/1 BodoniBioSer,Georgia,serif;letter-spacing:-.01em}.phase-model{color:#d0dcd9;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.phase-button.sensitive .phase-model::after{content:" · sensible";color:#ffbdad}

.playback-controls{display:flex;align-items:center;gap:.55rem;margin-top:1rem}.icon-button,.play-route{height:39px;border:1px solid rgba(238,240,232,.3);background:rgba(6,22,26,.63);color:var(--ivory);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:transform .2s var(--ease),background .2s var(--ease)}.icon-button{display:grid;place-items:center;width:39px;border-radius:50%}.icon-button svg{width:19px;height:19px}.icon-button:hover,.play-route:hover{background:rgba(211,255,99,.15);transform:translateY(-2px)}.play-route{display:inline-flex;align-items:center;gap:.5rem;padding:0 .9rem;border-radius:6px;font-size:.61rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.play-route svg{width:15px;height:15px}.play-route.is-playing{border-color:var(--acid);color:var(--acid)}.keyboard-hint{margin-left:.35rem;color:rgba(238,240,232,.58);font-size:.6rem;letter-spacing:.05em}.keyboard-hint kbd{display:inline-block;margin-left:.25rem;border:1px solid rgba(238,240,232,.25);border-radius:3px;padding:.1rem .28rem;font-family:InterBioSer,Arial,sans-serif;font-size:.6rem}
.media-note{align-self:end;margin:.75rem 0 0;color:rgba(238,240,232,.72);font-size:.59rem}.hundred-mark{position:absolute;right:clamp(1rem,4vw,4.5rem);bottom:1.35rem;color:rgba(238,240,232,.72);font:700 .6rem/1 InterBioSer,Arial,sans-serif;letter-spacing:.14em}

.video-section,.method-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,7vw,8rem);padding:clamp(4rem,9vw,9rem) clamp(1rem,8vw,10rem);background:var(--paper);color:#092025}.video-section{border-top:1px solid rgba(211,255,99,.28)}.video-copy h2,.method-section h2{margin:0;font:clamp(3rem,7vw,7.2rem)/.83 BodoniBioSer,Georgia,serif;letter-spacing:-.045em}.video-copy>p:not(.section-number){max-width:33rem;margin:1.7rem 0;color:#375057;font-size:1rem}.source-link{display:inline-flex;gap:.5rem;color:#092025;font-size:.7rem;font-weight:700;letter-spacing:.1em;text-decoration-color:var(--coral);text-decoration-thickness:2px;text-underline-offset:6px;text-transform:uppercase}.video-shell{align-self:center;margin:0}.video-shell iframe{display:block;aspect-ratio:16/9;width:100%;border:0;border-radius:13px;box-shadow:0 24px 65px rgba(7,19,23,.28)}.video-shell figcaption{margin-top:.7rem;color:#60767a;font-size:.62rem}
.method-section{background:#071317;color:var(--ivory)}.method-copy{align-self:center}.method-copy>p{margin:0;max-width:45rem;color:#c9d6d4;font:clamp(1.1rem,1.8vw,1.5rem)/1.35 BodoniBioSer,Georgia,serif}.method-copy dl{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;margin:2.2rem 0 0}.method-copy dl div{padding-top:.9rem;border-top:1px solid rgba(238,240,232,.32)}.method-copy dt{color:var(--acid);font-size:.68rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.method-copy dd{margin:.5rem 0 0;color:#c8d1cf;font-size:.78rem}.footer-note{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:2rem;padding:1.6rem clamp(1rem,8vw,10rem);background:#061013;color:#b9c5c2}.footer-note p{max-width:50rem;margin:0;font-size:.64rem}.footer-note a{color:#e8efec;text-decoration-color:rgba(211,255,99,.55);text-decoration-thickness:1px;text-underline-offset:4px}

/* Legibilidad: conserva el detalle editorial, pero no baja de 11 px en los controles. */
.top-title,.top-state,.chapter,.section-number,.scene-facts,.card-label,.curve-meta,.curve-legend,.phase-index,.phase-model,.play-route,.keyboard-hint,.media-note,.hundred-mark,.method-copy dt,.footer-note p,.footer-note a,.video-shell figcaption{font-size:.7rem}.card-main{line-height:1.2}.watch-button{font-size:.72rem}.video-section .section-number{color:#0d5958}.video-shell figcaption{color:#3f5e63}

@keyframes card-in{from{opacity:0;transform:translateY(18px);filter:blur(4px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}
@keyframes halo{0%,100%{transform:scale(.72);opacity:.15}50%{transform:scale(1.06);opacity:.72}}
.experience.is-changing .hero-copy,.experience.is-changing .explainer-card{animation:swap-in .58s var(--ease) both}@keyframes swap-in{from{opacity:.3;transform:translateY(11px)}to{opacity:1;transform:translateY(0)}}

@media (max-width:850px){.experience{min-height:100svh;padding:1rem 1rem 1.15rem}.top-title{display:none}.hero-grid{grid-template-columns:1fr;gap:1.35rem;padding:clamp(2rem,8vh,4.5rem) 0 1rem}.hero-copy .scene-title span:last-child{font-size:clamp(4.2rem,18vw,7.1rem)}.explainer-card{max-width:540px}.curve-meta{font-size:.48rem}.curve-legend{gap:.65rem;font-size:.49rem}.phase-nav{display:flex;overflow-x:auto;margin-right:-1rem;padding:0 1rem .35rem 0;scroll-snap-type:x mandatory}.phase-button{flex:0 0 144px;scroll-snap-align:start}.playback-controls{margin-top:.85rem}.keyboard-hint{display:none}.video-section,.method-section{grid-template-columns:1fr;gap:2.2rem;padding:4.5rem 1.25rem}.method-copy dl{grid-template-columns:1fr}.method-copy dl div{display:grid;grid-template-columns:90px 1fr;gap:1rem}.method-copy dd{margin:0}.footer-note{display:block;padding:1.3rem 1.25rem}.footer-note a{display:inline-block;margin-top:.85rem}.hundred-mark{right:1rem;bottom:1.25rem}}
@media (max-width:510px){.topbar{padding-bottom:.7rem}.brand{font-size:.7rem}.top-state{font-size:.6rem}.hero-grid{padding-top:2.5rem}.scene-subtitle{font-size:1.2rem}.scene-facts{font-size:.55rem}.explainer-card{padding:1.05rem}.card-main{font-size:1.43rem}.card-detail{font-size:.75rem}.curve-panel{margin-top:.15rem}.curve-meta{padding:0;font-size:.43rem}.curve-legend{padding:0;font-size:.44rem}.media-note{padding-right:2.2rem}.video-copy h2,.method-section h2{font-size:3.45rem}.video-copy>p:not(.section-number){font-size:.92rem}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.scene-image{transform:none!important}}

/* V2: recorrido manipulable y narración por estación. */
.curve{max-width:1200px;margin-inline:auto;max-height:none!important}.media-note{font-size:13px!important;color:rgba(238,240,232,.9)}
.experience{grid-template-rows:none;min-height:100svh;padding-top:1.2rem}.hero-grid{padding-top:3rem;gap:3rem}.hero-copy .scene-title span:last-child{font-size:clamp(3.4rem,7vw,7rem)}.curve{max-height:210px;touch-action:pan-y;cursor:ew-resize}.phase-nav{grid-template-columns:repeat(7,minmax(0,1fr))}.phase-button{min-height:110px}.phase-button::before{opacity:.65}.phase-button::after{background:linear-gradient(0deg,rgba(3,15,19,.94),rgba(3,15,19,.3))}.phase-model{align-self:end}.scrubber-control{margin-top:.8rem}.scrubber-control label{display:flex;justify-content:space-between;gap:1rem;font-size:.82rem;color:var(--ivory)}.scrubber-control output{color:var(--acid)}.scrubber-control input{width:100%;height:32px;accent-color:var(--acid);cursor:ew-resize}.scrubber-control p{margin:0;color:#e6eeea;font-size:.82rem;line-height:1.45}.explore-tools{display:flex;gap:.65rem;margin-top:.7rem;flex-wrap:wrap}.explore-tools button{min-height:44px;padding:.6rem 1rem;border:1px solid var(--glass-edge);border-radius:8px;background:var(--glass);color:var(--ivory);font-size:.8rem}.explore-tools button:hover,.explore-tools button[aria-pressed=true]{border-color:var(--acid);color:var(--acid)}.voice-panel{margin-top:1rem;padding:1rem 0;border-top:1px solid var(--glass-edge)}.voice-panel>div{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.voice-panel strong{font-size:.85rem;font-weight:500;color:var(--acid)}.voice-panel audio{height:40px;width:min(100%,360px);color-scheme:dark}.voice-panel details{margin-top:.7rem;max-width:75ch}.voice-panel summary{cursor:pointer;font-size:.85rem;min-height:32px}.voice-panel p{font-size:1rem;line-height:1.65;color:var(--ivory)}.icon-button{width:44px;height:44px}.play-route{height:44px}.scene-media{pointer-events:none}.phase-button:focus-visible,.explore-tools button:focus-visible{outline:2px solid var(--acid);outline-offset:3px}.hundred-mark{bottom:.6rem}.media-note{padding-right:3rem}.phase-button,.card-main{line-height:1.3}.keyboard-hint,.keyboard-hint kbd{font-size:.7rem}
@media(max-width:850px){.hero-grid{padding-top:2rem;gap:1.2rem}.phase-button{flex-basis:165px}.scene-media{bottom:auto;height:950px}.experience{background:#071317}.scene-scrim{background:linear-gradient(0deg,#071317,rgba(7,19,23,.25) 50%,rgba(7,19,23,.7))}.curve-meta,.curve-legend,.scene-facts,.top-state,.phase-model,.phase-index{font-size:12px;letter-spacing:.035em}.curve-meta{gap:.4rem}.curve-legend{flex-wrap:wrap}.scene-image{object-position:60% center}.voice-panel>div{gap:.7rem}.card-detail{font-size:14px}.scrubber-control label{font-size:13px}.hero-copy .scene-title span:last-child{overflow-wrap:anywhere}.topbar{gap:.5rem}}
@media(prefers-reduced-motion:reduce){.curve-halo,.explainer-card,.experience.is-changing .hero-copy,.experience.is-changing .explainer-card{animation:none!important}.scene-image,.curve-dot,.curve-highlight{transition:opacity 120ms linear!important}}

/* V3: reproductor de narración propio (sustituye los controles nativos del navegador). */
.audio-player{display:flex;align-items:center;gap:.65rem;flex:1 1 300px;max-width:430px}
.audio-play{display:grid;place-items:center;flex:0 0 auto;width:40px;height:40px;border:1px solid var(--glass-edge);border-radius:50%;background:rgba(6,22,26,.62);color:var(--acid);cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease)}
.audio-play:hover{background:rgba(211,255,99,.16);border-color:var(--acid);transform:translateY(-1px)}
.audio-play svg{width:15px;height:15px}
.audio-player .icon-pause{display:none}
.audio-player.is-playing .icon-play{display:none}
.audio-player.is-playing .icon-pause{display:block}
.audio-time{min-width:32px;color:#d5e0dd;font-size:11px;font-variant-numeric:tabular-nums;letter-spacing:.02em;text-align:center}
.audio-seek{flex:1;height:24px;margin:0;background:transparent;accent-color:var(--acid);cursor:pointer}
.audio-seek:focus-visible{outline:2px solid var(--acid);outline-offset:4px;border-radius:3px}
.audio-player,.audio-seek{-webkit-tap-highlight-color:transparent}
/* Protección de contraste para rótulos pequeños sobre imagen en movimiento. */
.curve-meta,.curve-legend,.scene-facts,.keyboard-hint,.media-note,.scrubber-control p,.top-title{text-shadow:0 1px 8px rgba(0,0,0,.5)}
.scene-facts{color:#f2f7f4}
.footer-mark{color:#8b9b98;font-size:.64rem;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
@media(max-width:510px){.audio-player{flex-basis:100%;max-width:none}}

/* Superficies del navegador: barra de desplazamiento y cursor alineados al mundo. */
html{scrollbar-width:thin;scrollbar-color:rgba(211,255,99,.42) rgba(7,19,23,.92)}
body{caret-color:var(--acid)}

/* V4: utilidades de accesibilidad y secciones de lectura (recorrido y preguntas). */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.read-section{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(2rem,7vw,8rem);padding:clamp(3.5rem,8vw,8rem) clamp(1rem,8vw,10rem);background:var(--paper);color:#092025;border-top:1px solid rgba(9,32,37,.14)}
.read-section h2{margin:0;font:clamp(2.6rem,6vw,6.2rem)/.86 BodoniBioSer,Georgia,serif;letter-spacing:-.04em}
.read-copy{max-width:46rem}
.read-copy>p{margin:0 0 2rem;color:#375057;font-size:1rem;line-height:1.6}
.station-list{list-style:none;margin:0;padding:0}
.station-list li{display:grid;grid-template-columns:2.4rem 1fr;gap:.2rem 1rem;padding:1rem 0;border-top:1px solid rgba(9,32,37,.16)}
.station-list li:first-child{border-top:0;padding-top:0}
.station-index{grid-row:span 2;color:#7c8f8c;font-size:.7rem;font-weight:700;letter-spacing:.12em;font-variant-numeric:tabular-nums}
.station-list h3{margin:0;font:1.28rem/1.2 BodoniBioSer,Georgia,serif;font-weight:400;letter-spacing:-.01em}
.station-list p{margin:.25rem 0 0;color:#4a6067;font-size:.95rem;line-height:1.5}
.faq-item{padding:1.15rem 0;border-top:1px solid rgba(9,32,37,.16)}
.faq-item:first-child{border-top:0;padding-top:0}
.faq-item h3{margin:0 0 .35rem;font:1.32rem/1.25 BodoniBioSer,Georgia,serif;font-weight:400;letter-spacing:-.012em}
.faq-item p{margin:0;max-width:62ch;color:#4a6067;font-size:.98rem;line-height:1.55}
@media(max-width:850px){.read-section{grid-template-columns:1fr;gap:1.6rem;padding:3.5rem 1.25rem}.read-section h2{font-size:clamp(2.4rem,11vw,3.6rem)}}

/* V5: curva por tramos, siete estaciones y lectura del ciclo completo. */
.curve-track{pointer-events:visiblePainted}
.curve-hits{pointer-events:none}
.curve-hit{fill:none;stroke:transparent;stroke-width:30;pointer-events:stroke;cursor:ew-resize}
.curve-seg{fill:none;stroke-width:2.6;stroke-linecap:round;opacity:.92;pointer-events:stroke;cursor:pointer;transition:stroke-width .22s var(--ease),opacity .22s var(--ease)}
.curve-seg[data-state="normal"]{stroke:#cfd8d4}
.curve-seg[data-state="simpatico"]{stroke:var(--cool)}
.curve-seg[data-state="vagotonia"]{stroke:var(--coral)}
.curve-seg[data-state="epicrisis"]{stroke:var(--acid)}
.curve-track:hover .curve-seg{opacity:.42}
.curve-track:hover .curve-seg:hover,.curve-track:hover .curve-seg.is-active{opacity:1}
.curve-seg:hover,.curve-seg.is-hot{stroke-width:4.4}
.curve-seg.is-active{stroke-width:3.6;filter:drop-shadow(0 0 8px rgba(211,255,99,.35))}
.curve-runner{fill:var(--ivory);opacity:.9;filter:drop-shadow(0 0 6px rgba(252,251,245,.75));pointer-events:none}
.curve-name{position:fixed;z-index:30;margin:0;padding:.35rem .6rem;border:1px solid var(--glass-edge);border-radius:6px;background:rgba(5,23,29,.93);color:var(--ivory);font-size:11px;letter-spacing:.08em;text-transform:uppercase;pointer-events:none;opacity:0;transform:translate(-50%,-160%);transition:opacity .18s var(--ease)}
.curve-name.is-on{opacity:1}
.base-dot{background:#cfd8d4}
.curve-meta{position:relative;display:block;height:1.05rem;margin-bottom:.15rem;padding:0 1.5%}
.curve-meta > span{position:absolute;left:var(--x);top:0;white-space:nowrap}
.voice-panel.is-silent .audio-player{display:none}
@media(max-width:850px){
  .curve-meta{position:static;display:flex;height:auto;justify-content:space-between;gap:.35rem;padding:0}
  .curve-meta > span{position:static;font-size:10px;letter-spacing:.02em}
  .curve-meta .only-wide{display:none}
  .curve-legend{display:grid;grid-template-columns:1fr 1fr;gap:.25rem .8rem;font-size:10.5px}
  .curve-name{font-size:10px}
}

/* V6: créditos y coreografía. */
.footer-credits{display:flex;align-items:center;justify-content:flex-end;gap:.9rem;font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;color:#93a4a1}
.footer-legal{display:flex;align-items:center;flex-wrap:wrap;justify-content:flex-end;gap:.35rem .55rem;margin:0}
.footer-credits a{transition:color .2s var(--ease)}
.footer-credits a:hover{color:var(--acid)}
.footer-sep{color:#4a5c5a}
.footer-instagram{display:inline-grid;place-items:center;width:34px;height:34px;border:1px solid rgba(238,240,232,.24);border-radius:50%;color:#e8efec;transition:border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}
.footer-instagram svg{width:16px;height:16px}
.footer-instagram:hover{border-color:var(--acid);color:var(--acid);transform:translateY(-1px)}
@media(max-width:850px){
  .footer-note{grid-template-columns:1fr;gap:1.25rem}
  .footer-credits{justify-content:space-between;align-items:flex-start;gap:.9rem;line-height:1.5}
  .footer-legal{justify-content:flex-start}
  .footer-sep{display:none}
  .footer-instagram{width:30px;height:30px}
  .footer-instagram svg{width:14px;height:14px}
}

/* --- Coreografía: una entrada ensayada, transiciones de estación y aparición de lectura --- */
@keyframes rise-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes title-wipe{from{clip-path:inset(0 0 102% 0);transform:translateY(.24em)}to{clip-path:inset(-8% 0 -8% 0);transform:none}}
@keyframes fade-in{from{opacity:0}to{opacity:1}}
@keyframes card-line{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}

.experience.is-entering .topbar{animation:rise-in .55s var(--ease) both}
.experience.is-entering .scene-title{animation:title-wipe .78s cubic-bezier(.16,1,.3,1) .06s both}
.experience.is-entering .scene-subtitle{animation:rise-in .6s var(--ease) .18s both}
.experience.is-entering .scene-facts{animation:rise-in .6s var(--ease) .26s both}
.experience.is-entering .explainer-card{animation:rise-in .7s var(--ease) .22s both}
.experience.is-entering .curve-panel{animation:rise-in .7s var(--ease) .3s both}
.experience.is-entering .scrubber-control{animation:rise-in .6s var(--ease) .38s both}
.experience.is-entering .phase-button{animation:rise-in .45s var(--ease) both}
.experience.is-entering .phase-button:nth-child(1){animation-delay:0.32s}
.experience.is-entering .phase-button:nth-child(2){animation-delay:0.37s}
.experience.is-entering .phase-button:nth-child(3){animation-delay:0.42s}
.experience.is-entering .phase-button:nth-child(4){animation-delay:0.47s}
.experience.is-entering .phase-button:nth-child(5){animation-delay:0.52s}
.experience.is-entering .phase-button:nth-child(6){animation-delay:0.57s}
.experience.is-entering .phase-button:nth-child(7){animation-delay:0.62s}
.experience.is-entering .playback-controls,.experience.is-entering .explore-tools,.experience.is-entering .voice-panel{animation:rise-in .6s var(--ease) .5s both}

/* Cambio de estación: el título entra con máscara, la tarjeta escalona sus líneas. */
.experience.is-changing .hero-copy,
.experience.is-changing .explainer-card{animation:none}
.experience.is-changing .scene-title{animation:title-wipe .5s cubic-bezier(.16,1,.3,1) both}
.experience.is-changing .scene-subtitle{animation:rise-in .42s var(--ease) .05s both}
.experience.is-changing .scene-facts{animation:rise-in .42s var(--ease) .09s both}
.experience.is-changing .explainer-card{animation:fade-in .4s var(--ease) both}
.experience.is-changing .card-label{animation:card-line .38s var(--ease) .08s both}
.experience.is-changing .card-main{animation:card-line .44s var(--ease) .13s both}
.experience.is-changing .card-detail{animation:card-line .44s var(--ease) .19s both}
.experience.is-changing .card-signal{animation:card-line .4s var(--ease) .05s both}

/* Lectura: la lista aparece como lista, una sola vez. */
.read-section .station-list li,.read-section .faq-item{opacity:0;transform:translateY(10px)}
.read-section.is-in .station-list li,.read-section.is-in .faq-item{animation:card-line .5s var(--ease) both}
.read-section.is-in .station-list li:nth-child(1){animation-delay:.02s}
.read-section.is-in .station-list li:nth-child(2){animation-delay:.07s}
.read-section.is-in .station-list li:nth-child(3){animation-delay:.12s}
.read-section.is-in .station-list li:nth-child(4){animation-delay:.17s}
.read-section.is-in .station-list li:nth-child(5){animation-delay:.22s}
.read-section.is-in .station-list li:nth-child(6){animation-delay:.27s}
.read-section.is-in .station-list li:nth-child(7){animation-delay:.32s}
.read-section.is-in .faq-item:nth-child(1){animation-delay:.02s}
.read-section.is-in .faq-item:nth-child(2){animation-delay:.07s}
.read-section.is-in .faq-item:nth-child(3){animation-delay:.12s}
.read-section.is-in .faq-item:nth-child(4){animation-delay:.17s}
.read-section.is-in .faq-item:nth-child(5){animation-delay:.22s}
.read-section.is-in .faq-item:nth-child(6){animation-delay:.27s}
.read-section.is-in .faq-item:nth-child(7){animation-delay:.32s}
.curve-dot{transform-box:fill-box;transform-origin:center}
.pressable:active{transform:translateY(1px)}

@media(prefers-reduced-motion:reduce){
  .experience.is-entering .topbar,.experience.is-entering .scene-title,.experience.is-entering .scene-subtitle,
  .experience.is-entering .scene-facts,.experience.is-entering .explainer-card,.experience.is-entering .curve-panel,
  .experience.is-entering .scrubber-control,.experience.is-entering .phase-button,.experience.is-entering .playback-controls,
  .experience.is-entering .explore-tools,.experience.is-entering .voice-panel{animation:none}
  .read-section .station-list li,.read-section .faq-item{opacity:1;transform:none}
  .read-section.is-in .station-list li,.read-section.is-in .faq-item{animation:none}
}

/* V7: materiales descargables con reproductor propio. */
.materials-section{border-top:1px solid rgba(9,32,37,.14)}
.material-list{list-style:none;margin:0;padding:0}
.material-item{padding:1.35rem 0;border-top:1px solid rgba(9,32,37,.16)}
.material-item:first-child{border-top:0;padding-top:0}
.material-kind{margin:0 0 .2rem;color:#7c8f8c;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.material-item h3{margin:0;font:1.32rem/1.25 BodoniBioSer,Georgia,serif;font-weight:400;letter-spacing:-.012em;color:#092025}
.material-meta{margin:.35rem 0 0;color:#5b7076;font-size:.84rem;font-variant-numeric:tabular-nums}
.material-actions{display:flex;flex-wrap:wrap;gap:.55rem;margin-top:.9rem}
.material-button{display:inline-flex;align-items:center;min-height:40px;padding:0 1rem;border:1px solid #092025;border-radius:7px;background:#092025;color:var(--ivory);font-size:.74rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;transition:background .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}
.material-button:hover{background:#0d2c33;transform:translateY(-1px)}
.material-button.is-ghost{background:transparent;color:#092025}
.material-button.is-ghost:hover{background:rgba(9,32,37,.08)}
.material-audio{display:flex;align-items:center;gap:.75rem;margin-top:.85rem}
.material-audio .audio-play{width:44px;height:44px;border-color:rgba(9,32,37,.28);color:#092025;background:transparent}
.material-audio .audio-play:hover{border-color:#092025;background:rgba(9,32,37,.07)}
.material-audio .audio-player.is-playing .icon-play{display:none}
.material-audio.is-playing .icon-play{display:none}
.material-audio.is-playing .icon-pause{display:block}
.material-audio .icon-pause{display:none}
.material-audio-body{flex:1;min-width:0}
.material-audio-line{display:flex;align-items:center;gap:.6rem}
.material-audio .audio-time{color:#5b7076;font-size:11.5px;font-variant-numeric:tabular-nums}
.material-audio .audio-seek{flex:1;height:22px;accent-color:#092025;cursor:pointer;background:transparent;min-width:0}
.material-download{display:grid;place-items:center;flex:0 0 auto;width:34px;height:34px;border:1px solid rgba(9,32,37,.24);border-radius:50%;color:#092025;transition:border-color .2s var(--ease),color .2s var(--ease),transform .2s var(--ease)}
.material-download svg{width:15px;height:15px}
.material-download:hover{border-color:#092025;transform:translateY(-1px)}
@media(max-width:510px){.material-audio{gap:.55rem}.material-audio .audio-seek{height:20px}}
