@font-face{font-family:Jakarta;src:url(assets/jakarta-400.ttf) format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Jakarta;src:url(assets/jakarta-500.ttf) format('truetype');font-weight:500;font-display:swap}
@font-face{font-family:Jakarta;src:url(assets/jakarta-700.ttf) format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:Jakarta;src:url(assets/jakarta-800.ttf) format('truetype');font-weight:800;font-display:swap}
:root{--ink:#112c3c;--muted:#485f6c;--paper:#fff;--wash:#edf2f5;--coral:#ef593e;--teal:#087d80;--line:rgba(17,44,60,.1);--font:Jakarta,sans-serif;--ease:cubic-bezier(.22,1,.36,1);--layer-nav:10;--layer-dialog:20;font-family:var(--font)}
html{scroll-padding-top:170px}body{background:#edf2f5;font-family:var(--font)}
button,input,a{transition:transform .4s var(--ease),opacity .4s var(--ease),background-color .4s var(--ease),color .4s var(--ease)}
button{border:0;border-radius:999px;min-height:44px;padding:12px 20px;font-weight:700;font-size:14px;background:#e8eff1}button:hover{background:#dde9ec;transform:translateY(-1px)}button:active{transform:scale(.98)}button:disabled{transform:none}
button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #087d80;outline-offset:4px}
.topbar{max-width:1384px;width:calc(100% - 48px);margin:20px auto 12px;min-height:64px;height:auto;border:0;border-radius:36px;padding:10px 14px 10px 22px;background:rgba(255,255,255,.95);box-shadow:0 14px 48px rgba(17,44,60,.035),inset 0 1px 0 rgba(255,255,255,.8);gap:24px}
.brand{font-size:16px;gap:12px}.brand small{display:block;font-size:11px;font-weight:500;letter-spacing:.06em;color:var(--muted);margin-top:2px}.monogram{border:0;border-radius:50%;width:42px;height:42px;display:grid;place-items:center;box-shadow:inset 0 -3px 0 var(--coral);font-size:14px}
.topbar nav{gap:5px}.topbar nav button{font-size:13px;background:transparent;min-height:44px;padding:10px 15px}.topbar nav button:hover{background:var(--wash)}
.journey-nav{position:sticky;top:12px;z-index:var(--layer-nav);width:max-content;max-width:calc(100% - 32px);height:auto;min-height:50px;border:0;border-radius:30px;margin:0 auto;padding:5px;gap:3px;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);box-shadow:0 8px 36px rgba(17,44,60,.04);overflow-x:auto}
.journey-nav button{border:0;border-radius:25px;padding:11px 20px;font-size:14px;min-height:42px}.journey-nav button span{font-size:11px;margin-right:8px}.journey-nav button[aria-current=step]{background:var(--ink);color:#fff}.journey-nav button[aria-current=step] span{color:#a9dbdc}
.section-nav{position:static;height:auto;min-height:54px;background:transparent;border:0;margin:auto;padding:6px 20px;gap:14px}.section-pages{gap:4px}.section-pages button{width:40px;height:40px;min-height:40px;font-size:13px;background:transparent}.section-pages button[aria-current=page]{background:#dae7ec;color:var(--ink)}.section-position,.section-label{font-size:12px}.section-label{max-width:320px}
main{max-width:1440px;padding:0 24px;margin:auto}
.slide{background:transparent;border-radius:36px;min-height:calc(100dvh - 268px);padding:48px clamp(28px,4.2vw,64px) 50px;justify-content:flex-start;overflow:visible}
.slide .eyebrow{display:table;width:auto;font-size:11px;letter-spacing:.18em;line-height:1.4;font-weight:700;padding:8px 13px;border-radius:999px;background:#dcebed;color:#08666c;margin:0 0 24px}
.slide h2,.slide.type-narrative h2,.slide.type-portfolio h2{font-size:clamp(30px,3.4vw,49px);line-height:1.13;letter-spacing:-.045em;max-width:1120px;margin:0 0 22px;font-weight:800}
.slide .lead,.slide.type-narrative .lead,.slide.type-portfolio .lead{font-size:20px;line-height:1.5;max-width:1000px;margin:0 0 32px;color:var(--muted)}
.slide .note,.slide.type-narrative .note,.slide.type-portfolio .note{max-width:none;border:0;padding:20px 0 0;margin:24px 0 0;font-size:15px;line-height:1.5;color:var(--muted)}
.slide .note:before{content:'';display:block;width:48px;height:3px;border-radius:3px;background:var(--coral);margin-bottom:14px}
.reading-sections{max-width:none;gap:24px}.reading-sections h3{font-size:22px;line-height:1.25;margin-bottom:12px;letter-spacing:-.025em}.reading-sections p{font-size:18px;line-height:1.55;max-width:70ch}.type-portfolio .reading-sections p{font-size:17px;line-height:1.5}
.reading-sources{font-size:12px;gap:10px 20px;margin-top:20px}.reading-sources a{color:#08676c;text-decoration-thickness:1px;text-underline-offset:4px}
.cover{background:#112c3c;color:#fff;padding:80px 64px;position:relative;min-height:660px;overflow:hidden}
.cover:after{content:'';position:absolute;right:-110px;top:-130px;width:580px;height:580px;border:1px solid rgba(255,255,255,.08);border-radius:50%;pointer-events:none}
.cover .eyebrow{background:rgba(157,219,217,.12);color:#ace2df}.cover h1{font-size:clamp(76px,7.4vw,114px);line-height:.98;letter-spacing:-.06em;margin:0 0 28px;max-width:65%;position:relative;z-index:1}.cover h1 span{color:#ff8b73}.cover .lead{color:#dce7ec;font-size:22px;max-width:58%;line-height:1.5}.cover .note{color:#c1d3dd;max-width:58%;font-size:16px}.cover .cover-rule{display:none}
.cover-route{position:absolute;right:54px;top:94px;width:31%;padding:7px;border-radius:32px;background:rgba(255,255,255,.08);display:flex;flex-direction:column;gap:6px;border:0}
.cover-route .route-caption{font-size:12px;padding:18px 16px 12px;color:#b7d6df;letter-spacing:.08em;text-transform:uppercase}
.cover-route>div{position:relative;display:flex;gap:20px;align-items:center;border:0;border-radius:25px;background:#1a3b4d;padding:23px;min-height:108px;box-shadow:inset 0 1px 0 rgba(255,255,255,.07)}
.cover-route b{font-size:16px;color:#8ad6d1;font-weight:500}.cover-route p{font-size:23px;line-height:1.25;margin:0;color:#fff;font-weight:700}.cover-route>div:last-child{background:#146b70}.cover-route>div:last-child b{color:#b8e7e2}
.controls{background:transparent;border:0;max-width:1440px;padding:20px 48px 24px;margin:auto;height:auto;min-height:86px}.controls>div:first-child{gap:20px;font-size:12px}.pager{gap:12px}.pager button{font-size:18px;width:auto;min-width:46px;min-height:46px;border-radius:28px;background:white;padding:13px 20px}.pager button span{font-size:13px}.pager #counter{font-size:13px;min-width:58px}.progress{height:4px;background:#dae6eb}#progress-fill{background:var(--coral);transition:none}
.slide-enter{animation:enter .8s var(--ease) both}@keyframes enter{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
dialog{z-index:var(--layer-dialog);border-radius:32px;background:#f3f7f9;padding:32px;box-shadow:0 24px 100px rgba(17,44,60,.12);max-width:1100px;width:calc(100% - 48px)}dialog::backdrop{background:rgba(17,44,60,.68);backdrop-filter:blur(18px)}#index-list{gap:8px 24px}#index-list button{border:0;border-radius:16px;padding:14px;font-size:15px;background:#fff;min-height:60px;animation:enter .7s var(--ease) both}#index-list .number{min-width:28px}
@media(max-width:900px){.topbar{width:calc(100% - 24px);margin-top:12px;padding:8px 12px}.topbar nav button{padding:10px;font-size:12px}.brand{font-size:14px}.journey-nav{justify-content:flex-start}.journey-nav button{font-size:13px;padding:11px 15px}.journey-nav button span{display:none}main{padding:0 12px}.slide{padding:32px 24px}.cover{padding:48px 30px;min-height:580px}.cover h1{font-size:76px}.cover-route{right:25px;top:90px;width:33%}.cover-route>div{padding:18px;gap:12px}.cover-route p{font-size:19px}.controls{padding:18px 30px}.place{display:none}}
@media(max-width:650px){.topbar{gap:6px}.brand small{font-size:10px}.topbar nav button{font-size:11px;padding:10px 9px}.topbar #fullscreen-button{display:none}.journey-nav{max-width:calc(100% - 24px);border-radius:24px}.journey-nav button{font-size:12px;padding:10px 13px}.section-label{display:none}.section-nav{min-height:52px}.section-pages button{width:44px;height:44px}.slide{border-radius:28px;padding:32px 20px}.slide h2,.slide.type-narrative h2,.slide.type-portfolio h2{font-size:32px;line-height:1.16}.slide .lead,.slide.type-narrative .lead,.slide.type-portfolio .lead{font-size:18px}.reading-sections p{font-size:18px}.cover{display:flex;padding:40px 25px;min-height:auto}.cover h1{font-size:67px;max-width:none}.cover .lead,.cover .note{max-width:none}.cover-route{position:static;width:100%;margin:12px 0 25px;order:3}.cover .note{order:4}.cover .cover-route>div{min-height:80px}.cover-route p{font-size:21px}.cover .eyebrow{margin-bottom:24px}.controls{padding:18px 18px;gap:8px}.controls>div:first-child{font-size:10px;max-width:100px}.pager{gap:6px}.pager button{padding:12px 16px}.pager button span{display:none}.reading-sources{font-size:12px}#index-list{grid-template-columns:1fr}.dialog-heading h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{@page{size:1440px 1000px;margin:0}html,body{background:white;font-family:var(--font);font-size:16px}main{padding:0;max-width:none}.topbar,.journey-nav,.section-nav,.controls,.progress{display:none!important}.slide,.slide[hidden]{width:1440px;height:1000px;min-height:0;padding:72px 82px;display:flex!important;border-radius:0;overflow:hidden;break-after:page;justify-content:center;background:#f1f5f7;opacity:1!important;transform:none!important;animation:none!important}.slide h2,.slide.type-narrative h2,.slide.type-portfolio h2{font-size:46px!important}.slide .lead,.slide.type-narrative .lead,.slide.type-portfolio .lead{font-size:21px!important}.slide .eyebrow{font-size:12px}.slide .note,.slide.type-narrative .note,.slide.type-portfolio .note{font-size:16px!important}.slide.type-narrative .reading-sections p{font-size:20px!important;line-height:1.5!important}.slide.type-narrative .reading-sections h3{font-size:24px!important}.cover{background:#112c3c!important;justify-content:center}.cover h1{font-size:120px}.cover .lead{font-size:24px!important;max-width:58%}.cover .cover-route{display:flex!important;right:65px;top:220px;width:380px}.cover .cover-route p{font-size:27px}.cover .cover-route>div{padding:28px}.print-page{font-size:13px;color:var(--muted);position:absolute;bottom:28px;right:42px}.cover .print-page{color:#d5e2e7}.reading-sources{font-size:13px!important}.reading-sections{gap:25px}.reading-sections p{max-width:none}}
