@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;450;500;600;700&family=Manrope:wght@400;500;600;650;700;800&display=swap');
:root{--navy:#071d30;--navy2:#0b2b43;--ink:#102d41;--muted:#547080;--cyan:#73e0cb;--paper:#f7f9f8;--line:#dce5e7;--font:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--font);font-size:17px;line-height:1.65}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button,select{font:inherit}button{cursor:pointer}a:focus-visible,button:focus-visible,select:focus-visible{outline:3px solid #0a9f89;outline-offset:5px}.skip{position:fixed;top:-100px;left:12px;background:white;padding:12px;z-index:999}.skip:focus{top:12px}header{position:sticky;top:0;z-index:20;background:rgba(247,249,248,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(15px)}.header-inner{max-width:1500px;margin:auto;min-height:88px;padding:18px 4%;display:flex;align-items:center;gap:24px}.brand{display:flex;gap:10px;align-items:center;font:800 23px 'Manrope',sans-serif;letter-spacing:-1px;white-space:nowrap}.brand svg{width:33px;height:33px}.brand small{font:500 9px var(--font);display:block;letter-spacing:2.1px;line-height:1.3}.nav{display:flex;align-items:center;gap:19px;margin-left:auto}.nav a{font-size:12px;line-height:1.25;max-width:102px;font-weight:600}.nav a:hover,.nav a[aria-current=page]{color:#007b71}.lang{font-size:12px;display:flex;border-left:1px solid var(--line);padding-left:15px;gap:9px}.lang button{border:0;background:none;padding:4px 0;color:var(--muted);font-size:12px}.lang button[aria-pressed=true]{color:var(--ink);font-weight:800;border-bottom:2px solid #079983}.access{font-size:12px!important;background:var(--navy);color:white!important;padding:11px 14px;border-radius:3px;white-space:nowrap}.menu{display:none;border:1px solid var(--line);background:none;padding:5px 12px}.wrap{max-width:1240px;margin:auto;padding-left:48px;padding-right:48px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:2px;text-transform:uppercase;display:flex;align-items:center;gap:11px;margin:0 0 24px}.eyebrow:before{content:'';width:24px;height:1px;background:currentColor}h1,h2,h3{font-family:'Manrope',sans-serif;line-height:1.13;letter-spacing:-1.8px;margin-top:0}h1{font-size:clamp(42px,5.6vw,78px);font-weight:500;max-width:950px}h2{font-size:clamp(33px,4vw,51px);font-weight:500}h3{font-size:25px;letter-spacing:-.7px;font-weight:600}p{margin:0 0 23px}strong{font-weight:700}.hero{color:white;background:var(--navy);position:relative;overflow:hidden}.hero .wrap{position:relative;z-index:2;padding-top:89px;padding-bottom:44px}.hero h1{max-width:830px;margin-bottom:25px}.hero h1 em{color:var(--cyan);font-style:normal}.hero .lead{max-width:670px;color:#d1e1e7;font-size:18px}.hero .intro{max-width:660px;font-size:15px;color:#b6cbd6;line-height:1.75}.hero .eyebrow{color:var(--cyan)}.actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;padding:13px 21px;background:var(--navy);color:white;font-size:14px;font-weight:600;border:1px solid var(--navy);border-radius:3px;line-height:1.5}.button:after{content:'↗';font-size:19px}.button.primary{background:var(--cyan);border-color:var(--cyan);color:var(--navy)}.button.outline{background:transparent;border-color:#71909e;color:inherit}.button.light{background:white;border-color:var(--line);color:var(--ink)}.hero-bottom{display:flex;justify-content:space-between;gap:24px;border-top:1px solid #304857;margin-top:65px;padding-top:22px;font-size:11px;letter-spacing:1.6px;text-transform:uppercase;color:#a8c5cf}.signal{position:absolute;right:-140px;top:40px;width:740px;height:730px;opacity:.55;pointer-events:none}.signal svg{width:100%;height:100%;animation:breathe 13s ease-in-out infinite alternate}.signal:before{content:'';position:absolute;inset:80px;background:radial-gradient(ellipse,#139c914d,transparent 65%);filter:blur(40px)}@keyframes breathe{from{transform:rotate(-4deg) scale(.96);opacity:.65}to{transform:rotate(5deg) scale(1.04);opacity:1}}section.block{padding:100px 0;border-bottom:1px solid var(--line)}.split{display:grid;grid-template-columns:.92fr 1.08fr;gap:90px;align-items:start}.split p{color:var(--muted)}.number{font-size:11px;letter-spacing:2px;color:#63828e;margin-bottom:23px}.section-link{font-size:14px;font-weight:700;display:inline-block;border-bottom:1px solid #0b8b7e;padding-bottom:7px;margin-top:12px}.section-link:after{content:' ↗'}.pathline{display:flex;gap:0;padding:30px 0 0}.pathline span{flex:1;border-top:1px solid #aac7ca;padding-top:16px;font-size:12px}.pathline span:before{content:'';display:block;background:#1aa590;border:4px solid var(--paper);outline:1px solid #1aa590;width:10px;height:10px;border-radius:50%;margin-top:-22px;margin-bottom:13px}.module-list{margin-top:44px;display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.module-item{padding:28px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);transition:background .2s}.module-item:hover{background:#edf4f1}.module-item h3{font-size:20px;margin-bottom:17px}.module-item .number{margin-bottom:19px}.module-item p{font-size:14px;color:var(--muted);margin-bottom:8px}.badge{display:inline-block;font-size:10px;letter-spacing:.4px;padding:4px 8px;background:#edf2f3;color:#56727d;border:1px solid #dce5e7;border-radius:2px;margin:6px 5px 0 0}.badge.dev{background:#f5f0e7;color:#7c6335;border-color:#e9dfcc}.quote-band{background:#e7f0ed}.quote-band h2{max-width:800px}.quote-band .bigquote{font-size:clamp(29px,4vw,50px);line-height:1.25;letter-spacing:-1.5px;max-width:900px;color:var(--ink)}.dark{background:var(--navy);color:white}.dark p{color:#bed2dc}.dark .eyebrow{color:var(--cyan)}.small{font-size:12px;color:var(--muted)}.dark .small{color:#a7c2cc}.page-head{padding:78px 0 55px;border-bottom:1px solid var(--line)}.page-head h1{font-size:clamp(40px,5vw,66px);margin-bottom:23px;max-width:940px}.page-head .lead{font-size:20px;color:var(--muted);max-width:810px}.content{padding:65px 0 90px}.reading{max-width:810px}.reading h2{font-size:32px;margin-top:42px}.reading h3{margin-top:30px}.note{background:#eaf1ef;border-left:3px solid #2eaa93;padding:20px 24px;font-size:14px;line-height:1.7;margin:25px 0}.note.warm{background:#f6f0e5;border-color:#af8c4d}.module-detail{display:grid;grid-template-columns:70px 1fr;gap:22px;padding:38px 0;border-bottom:1px solid var(--line);scroll-margin-top:120px}.module-detail h2{font-size:29px;margin-bottom:14px}.module-detail .num{font-size:14px;color:#619286;font-weight:600}.module-detail p{max-width:800px;color:var(--muted)}.capacity{font-size:13px;padding-top:10px;border-top:1px solid var(--line);max-width:800px;margin-top:20px}.capacity span{font-weight:700}.steps{counter-reset:step;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;margin:45px 0}.step{border-top:2px solid #7eb9ac;padding-top:20px}.step:before{counter-increment:step;content:'0' counter(step);font-size:12px;letter-spacing:1px;color:#2c8d7c}.step h3{margin:22px 0 15px;font-size:22px}.step p{font-size:14px;color:var(--muted)}.story-intro{padding:60px 0}.timeline{margin:40px 0;border-left:1px solid #abc8c6;padding-left:33px}.event{position:relative;padding:4px 0 25px}.event:before{content:'';width:9px;height:9px;border-radius:50%;background:#168d7b;position:absolute;left:-38px;top:10px}.event small{color:#288d7f;font-size:11px;text-transform:uppercase;letter-spacing:1.5px}.event h3{margin:10px 0 15px}.event p{color:var(--muted);max-width:800px}.branches{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin:30px 0}.branch{background:transparent;text-align:left;border:1px solid #b5cbc9;padding:24px;color:var(--ink);border-radius:3px;line-height:1.4;font-weight:600}.branch small{display:block;font-weight:400;margin-top:12px;color:var(--muted)}.branch[aria-pressed=true]{background:var(--navy);color:white;border-color:var(--navy)}.branch[aria-pressed=true] small{color:#b8d4db}.branch-content{min-height:240px;padding:35px;background:#e9f0ed;border:1px solid #d8e4df;margin-bottom:50px}.branch-content h3{margin-bottom:15px}.branch-content p{max-width:870px}.agreement{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:24px;align-items:center;padding:20px 0;border-bottom:1px solid #36505f;font-size:14px}.agreement small{display:block;color:#a6c3cf}.agreement button{justify-self:start;background:#173c50;color:#b9eddf;border:1px solid #477265;padding:9px 12px;border-radius:3px;font-size:12px}.privacy-grid{display:grid;grid-template-columns:1fr 1fr;gap:35px}.privacy-grid article{border-top:1px solid var(--line);padding-top:25px}.privacy-grid h3{font-size:22px}.privacy-grid p{font-size:15px;color:var(--muted)}footer{background:#061825;color:#cadbe1;padding:54px 0 25px}footer .top{display:flex;justify-content:space-between;gap:30px}footer .tagline{max-width:320px;font-size:15px;margin-top:24px}footer .links{display:flex;flex-wrap:wrap;gap:20px;font-size:12px}.footer-bottom{display:flex;justify-content:space-between;gap:25px;margin-top:45px;border-top:1px solid #2b424f;padding-top:22px;font-size:11px;color:#89a8b7}.voice-box{padding:25px 0 0;font-size:12px}.voice-box button{font-size:12px;color:#d3e8e9;border:1px solid #41616e;background:transparent;padding:9px 13px;border-radius:3px}.voice-box button:disabled{opacity:.55;cursor:not-allowed}.voice-box p{margin:10px 0 0;max-width:660px;color:#9eb9c5;font-size:11px}.voice-status{display:block;min-height:20px;color:var(--cyan);margin-top:5px}.review-strip{font-size:11px;letter-spacing:.6px;background:#e5efec;color:#40695e;padding:7px 4%;text-align:center}.inline-arrow{color:#0a816f}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1450px){.hero .wrap{padding-top:115px;padding-bottom:50px}}@media(max-width:1200px){.nav{gap:12px}.nav a{font-size:11px}.header-inner{gap:17px}.brand{font-size:21px}.access{padding:9px}.wrap{padding-left:35px;padding-right:35px}.split{gap:50px}.signal{right:-300px;opacity:.4}}@media(max-width:1000px){.menu{display:block;margin-left:auto}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:24px 30px;border-bottom:1px solid var(--line);align-items:stretch}.nav.open{display:flex;flex-direction:column}.nav a{max-width:none;font-size:16px;padding:9px 0}.nav a.access{padding:12px}.header-inner{min-height:75px}.lang{padding-left:0;border:0}.signal{right:-360px}.steps{grid-template-columns:1fr 1fr}.hero .intro{max-width:620px}}@media(max-width:680px){body{font-size:16px}.wrap{padding-left:23px;padding-right:23px}.header-inner{padding:16px 20px;gap:15px}.brand{font-size:19px}.brand svg{width:27px}.brand small{font-size:7px}.lang{gap:7px}.menu{font-size:12px;padding:5px 8px}.hero .wrap{padding-top:57px}.hero h1{font-size:43px;letter-spacing:-1.9px}.hero .lead{font-size:17px}.hero .intro{font-size:14px}.signal{right:-380px;top:50px;opacity:.25}.hero-bottom{margin-top:45px;flex-direction:column;gap:10px;font-size:9px}.split{grid-template-columns:1fr;gap:23px}section.block{padding:60px 0}.module-list{grid-template-columns:1fr}.module-item{padding:24px;display:grid;grid-template-columns:32px 1fr;gap:12px}.module-item .number{grid-row:1 / span 3}.module-item h3{margin:0}.module-item p,.module-item .badge{grid-column:2}.module-item .badge{justify-self:start}.actions{align-items:stretch;flex-direction:column;gap:10px}.button{font-size:13px}.page-head{padding-top:51px}.page-head h1{font-size:40px}.page-head .lead{font-size:18px}.content{padding-top:42px}.module-detail{grid-template-columns:30px 1fr;gap:10px}.module-detail h2{font-size:24px}.branches,.privacy-grid{grid-template-columns:1fr}.branches{gap:10px}.branch{padding:19px}.branch-content{padding:25px}.steps{gap:28px 22px}.step h3{font-size:20px}.agreement{grid-template-columns:1fr;gap:12px}.pathline{flex-wrap:wrap;gap:20px 0}.pathline span{flex:1 0 50%}footer .top,.footer-bottom{flex-direction:column}.footer-bottom{gap:10px}.review-strip{font-size:10px}.reading h2{font-size:28px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Persistent, explicit opt-in voice navigation. Footer clearance prevents overlap. */
[hidden]{display:none!important}.voice-widget{position:fixed;bottom:20px;right:22px;z-index:35;width:280px;color:#d7ecea;font-size:12px}.voice-toggle{width:100%;display:flex;align-items:center;justify-content:center;gap:11px;background:#103b43;border:1px solid #6aa89a;color:#ecfcf6;padding:13px 17px;border-radius:6px;box-shadow:0 5px 22px #001c3229;font-weight:600;font-size:13px}.voice-chevron{margin-left:auto}.voice-toggle[aria-expanded=true] .voice-chevron{transform:rotate(180deg)}.voice-panel{background:#092a3a;border:1px solid #507a80;border-radius:6px;padding:19px;margin-bottom:10px;box-shadow:0 6px 25px #001c3233;max-height:55vh;overflow:auto}.voice-panel p{font-size:12px;line-height:1.6;color:#c2d9df;margin-bottom:15px}.voice-panel button{background:#73e0cb;border:0;color:#071d30;font-size:12px;font-weight:700;padding:10px 15px;border-radius:3px;width:100%}.voice-panel button:disabled{background:#a9bdb9;cursor:not-allowed}.voice-panel .voice-status{font-size:12px;line-height:1.5;margin-top:12px;min-height:0}.footer-bottom{padding-bottom:70px}@media(max-width:680px){.voice-widget{bottom:12px;right:14px;width:250px;max-width:calc(100vw - 28px)}.voice-toggle{padding:11px 15px}.voice-panel{padding:17px}.footer-bottom{padding-bottom:65px}}

/* Institutional mark and a header that keeps access and languages separate. */
.header-inner{max-width:1600px;padding-inline:clamp(20px,2.3vw,38px);gap:clamp(12px,1.2vw,20px)}
.brand{flex:0 0 auto;gap:10px;font-size:22px;letter-spacing:-.8px}
.brand-copy{display:block;line-height:1.05}
.brand-copy strong{display:block}
.brand-copy small{display:block;font:500 9px/1.25 var(--font);letter-spacing:.12px;margin-top:4px}
.brand-mark{position:relative;display:block;flex:0 0 60px;width:60px;height:58px;overflow:hidden;border-radius:5px}
.brand-mark img{position:absolute;display:block;width:108px;height:auto;max-width:none;top:-12px;left:50%;transform:translateX(-50%)}
.nav{flex:1 1 auto;min-width:0;justify-content:flex-end;gap:clamp(10px,1vw,16px)}
.nav a{min-width:0}
.nav .access{flex:0 0 auto;max-width:none}
.lang{flex:0 0 auto;white-space:nowrap}
@media(max-width:1450px){.header-inner{min-height:78px}.brand{margin-right:auto}.menu{display:block;order:2;margin-left:0}.lang{order:1}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--paper);padding:24px 30px;border-bottom:1px solid var(--line);align-items:stretch;justify-content:flex-start}.nav.open{display:flex;flex-direction:column}.nav a{max-width:none;font-size:16px;padding:9px 0}.nav a.access{padding:12px;align-self:flex-start}}
@media(max-width:680px){.header-inner{gap:12px}.brand{font-size:19px;gap:8px}.brand-mark{flex-basis:48px;width:48px;height:47px}.brand-mark img{width:88px;top:-10px}.brand-copy small{font-size:8px}.lang{gap:7px}.menu{font-size:12px}}
@media(max-width:520px){.header-inner{flex-wrap:wrap}.brand{width:100%}.lang{margin-left:auto}.menu{margin-left:0}}

/* Optional prerecorded narration: one file per scene and research branch. */
.audio-clip{display:flex;flex-direction:column;gap:7px;max-width:100%;margin:16px 0 22px}
.audio-label{font-size:12px;font-weight:700;letter-spacing:.2px;color:#275c67}
.audio-clip audio{display:block;width:320px;max-width:100%;height:42px}
.actions>.audio-clip{margin:0;min-width:280px}
.branch-content .audio-clip{margin:22px 0 14px}
.dark .audio-label{color:#b8eade}
.dark .audio-clip{margin:25px 0 30px}
@media(max-width:680px){.actions>.audio-clip{min-width:0;width:100%}.audio-clip audio{width:100%}}
