@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('./assets/cormorant-regular.ttf') format('truetype')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('./assets/cormorant-italic.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400;font-display:swap;src:url('./assets/dm-sans-regular.ttf') format('truetype')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:500 700;font-display:swap;src:url('./assets/dm-sans-medium.ttf') format('truetype')}
:root{--ink:#171a18;--paper:#f2eee5;--gold:#d8ba80;--muted:#b5b9ae;--serif:'Cormorant Garamond',Georgia,serif;--sans:'DM Sans',Arial,sans-serif;--line:rgba(234,229,212,.23)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{margin:0;background:var(--ink);color:var(--paper);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:disabled{cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button{color:inherit}::selection{background:var(--gold);color:var(--ink)}.skip-link{position:fixed;top:-80px;left:20px;z-index:100;background:var(--paper);color:var(--ink);padding:14px}.skip-link:focus{top:14px}.site-header{position:absolute;z-index:10;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:30px 4.4vw;border-bottom:1px solid rgba(255,255,255,.25)}.brand{display:flex;align-items:center;gap:12px;font-size:11px;line-height:1.4;letter-spacing:.18em}.brand strong{font-weight:500;font-size:16px;letter-spacing:.3em}.brand-mark{font:43px var(--serif);border:1px solid var(--line);width:49px;height:54px;display:grid;place-items:center}.site-header nav{display:flex;align-items:center;gap:35px;font-size:14px}.outline-button{border:1px solid rgba(255,255,255,.5);background:rgba(20,27,28,.1);border-radius:2px;padding:13px 20px;display:flex;gap:28px;align-items:center;font-size:14px}.outline-button:hover{background:rgba(255,255,255,.1)}.hero{height:100svh;min-height:700px;position:relative;isolation:isolate;overflow:hidden}.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:57% 50%;z-index:-3}.hero-content{position:absolute;top:33%;left:6.3%;max-width:720px}.eyebrow{font-size:12px;letter-spacing:.23em;font-weight:500;line-height:1.6;color:var(--gold);margin:0 0 26px}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-.035em;line-height:1.03;margin:0}h1{font-size:clamp(56px,5.8vw,98px)}h1 em,h2 em{font-weight:400;color:var(--gold)}.hero-description{font-size:16px;line-height:1.7;margin-top:24px;color:#e8e8de}.journey-link{display:inline-flex;align-items:center;gap:17px;margin-top:20px;font-size:14px}.circle-arrow{width:47px;height:47px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.5);border-radius:50%;font-size:21px;transition:background .2s}.journey-link:hover .circle-arrow{background:rgba(255,255,255,.15)}.hero-bottom{position:absolute;bottom:34px;left:4.4%;right:4.4%;display:flex;align-items:flex-end;justify-content:space-between;font-size:12px;letter-spacing:.15em;line-height:1.8}.hero-bottom small{font-size:12px;letter-spacing:0;color:#d2d5cf}.hero-index{font-size:18px}.hero-index i{font-style:normal;font-size:13px;color:#b4b5a9;margin:0 10px}.story{position:relative;background:#171c1c}.scene-stage{position:sticky;top:0;height:100svh;margin-bottom:-100svh;overflow:hidden}.scene-stage>div{position:absolute;inset:0}#scene-container{z-index:1}.scene-fallback{background:linear-gradient(90deg,rgba(13,20,21,.96) 10%,rgba(13,20,21,.35) 65%),url('./frames/desktop/0001.webp') center/cover;opacity:1}.scene-vignette{z-index:2;background:linear-gradient(90deg,rgba(17,23,23,.96),rgba(17,23,23,.78) 30%,transparent 64%),linear-gradient(0deg,rgba(17,23,23,.5),transparent 20%);pointer-events:none}.chapter{height:120svh;min-height:780px;position:relative;z-index:3;display:flex;align-items:center;pointer-events:none}.chapter-copy{margin-left:8%;width:35%;max-width:470px;pointer-events:auto}.chapter h2{font-size:clamp(44px,4.5vw,72px)}.chapter-copy>p:not(.eyebrow){color:#c2c6bb;font-size:16px;line-height:1.9;max-width:350px;margin:28px 0}.chapter-detail{border-top:1px solid var(--line);padding-top:20px;display:flex;flex-direction:column;gap:9px;max-width:350px}.chapter-detail span:first-child{font-size:10px;letter-spacing:.2em;color:var(--gold)}.chapter-detail span:last-child{font-size:13px;color:var(--muted)}footer{position:relative;z-index:4;background:var(--ink);padding:30px 4.4%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;letter-spacing:.13em}footer a{letter-spacing:0;font-size:13px;color:var(--muted)}.noscript-note{padding:20px;text-align:center}
.journey-world{position:relative;isolation:isolate}.journey-world>.scene-stage{z-index:0;pointer-events:none}.journey-world .hero{z-index:2;pointer-events:none}.journey-world .hero a{pointer-events:auto}.journey-world .story{background:transparent}.has-webgl .hero-image{visibility:hidden}
@media(min-width:1700px){.hero-content{left:8%;top:34%}.hero-image{object-position:60% 50%}}
@media(max-width:760px){.site-header{padding:22px 6%}.brand-mark{width:37px;height:43px;font-size:33px}.brand{font-size:8px;gap:9px}.brand strong{font-size:12px}.site-header nav{gap:0}.nav-story{display:none}.outline-button{padding:10px 12px;gap:15px;font-size:12px}.hero{min-height:680px;max-height:1000px}.hero-image{object-position:57% center}.hero-content{top:auto;bottom:145px;left:7%;right:6%}h1{font-size:clamp(45px,10vw,68px)}.eyebrow{font-size:10px;margin-bottom:20px}.hero-description{font-size:14px;line-height:1.6;margin-top:19px}.journey-link{margin-top:13px}.hero-bottom{left:7%;right:7%;bottom:24px;font-size:10px}.hero-bottom small{font-size:10px}.hero-index{font-size:14px}.chapter{height:135svh;min-height:880px;align-items:flex-end;padding-bottom:12svh}.chapter-copy{margin:0 7%;width:86%;max-width:500px}.chapter h2{font-size:clamp(44px,10vw,64px)}.chapter-copy>p:not(.eyebrow){font-size:15px;line-height:1.75;max-width:420px;margin:20px 0}.chapter-detail{max-width:420px}.scene-vignette{background:linear-gradient(0deg,#111717 3%,rgba(17,23,23,.85) 28%,transparent 75%)}footer{flex-wrap:wrap;padding:27px 7%;font-size:10px}footer>span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Room to pull back over the river after the final chapter, on every screen size. */
.journey-outro{height:250svh;pointer-events:none}
/* HPAD signs the proposal. The logo files are used as supplied and never
   recoloured; white is the variant the brand gives for dark grounds. The story
   keeps its own typefaces — mixing a third family in for six words of credit
   would read worse than the brand's own type does here. */
.hero-credit{display:flex;align-items:center;gap:36px}
.hero-credit img{width:78px;height:78px;flex:none;margin:-21px}
.hero-credit strong{font-weight:500;letter-spacing:.12em}
.journey-outro{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:space-between;align-items:flex-start;padding:16svh 0 12svh}
.outro-quote{margin:0;max-width:760px;padding:40px 9% 40px 8%;background:linear-gradient(90deg,rgba(17,23,23,.88),rgba(17,23,23,.5) 74%,transparent)}
.outro-quote p{font-family:var(--serif);font-size:clamp(30px,3.4vw,50px);line-height:1.18;letter-spacing:-.02em;margin:0}
.outro-quote em{font-style:italic;color:var(--gold)}
.outro-quote cite{display:block;font-style:normal;font-size:12px;letter-spacing:.16em;margin-top:24px;color:#cfd3c8}
.outro-quote cite span{display:block;font-size:11px;letter-spacing:.11em;margin-top:7px;color:var(--muted)}
.outro-signature{display:flex;align-items:center;gap:32px;padding:30px 9% 30px 8%;background:linear-gradient(90deg,rgba(17,23,23,.88),rgba(17,23,23,.5) 74%,transparent)}
.outro-signature img{width:76px;height:76px;flex:none;margin:-20px}
.outro-signature p{margin:0;font-size:13px;letter-spacing:.14em}
.outro-signature span{display:block;font-size:11px;letter-spacing:.09em;margin-top:7px;color:var(--muted)}
@media(max-width:760px){
.hero-credit img{width:62px;height:62px;margin:-17px}
.hero-credit{gap:26px}
.journey-outro{padding:12svh 0 10svh}
.outro-quote{padding:26px 8% 26px 7%;max-width:none}
.outro-quote p{font-size:clamp(26px,7.4vw,36px)}
.outro-signature{padding:22px 8% 22px 7%}
}
/* The scene stays in view while the document and its accessible content scroll. */
canvas{display:block;width:100%;height:100%}.has-webgl .scene-fallback{opacity:0}.history-note{border-top:1px solid var(--line);padding-top:18px;display:flex;flex-direction:column;gap:8px}.chapter-copy>.history-note{font-size:13px!important;line-height:1.65!important;color:#b8beb3!important;margin-top:23px!important}.history-note>span:first-child{font-size:10px;letter-spacing:.13em;color:var(--gold)}.history-note a{font-size:12px;text-decoration:underline;text-underline-offset:4px;color:#c2c4b5}.story-hud{position:fixed;inset:0;z-index:8;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .4s}.story-hud.visible{opacity:1;visibility:visible}.chapter-nav{position:absolute;right:3.3%;top:36%;display:flex;flex-direction:column;gap:14px;pointer-events:auto}.chapter-dot{display:flex;align-items:center;justify-content:flex-end;gap:16px;font-size:11px;min-height:31px}.chapter-dot span{opacity:0;transition:opacity .2s}.chapter-dot:hover span,.chapter-dot:focus-visible span{opacity:1}.chapter-dot i{font-size:10px;font-style:normal;width:28px;height:28px;border:1px solid #a5a88c66;border-radius:50%;display:grid;place-items:center;color:#c3c6b2;background:#17201c66}.chapter-dot[aria-current] i{background:var(--gold);border-color:var(--gold);color:var(--ink)}.story-toolbar{position:absolute;bottom:0;left:0;right:0;min-height:82px;background:linear-gradient(0deg,#131c1cf5,#131c1c77);padding:21px 4.4%;display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:auto}.toolbar-chapter{display:grid;grid-template-columns:auto 1fr;gap:6px 13px;font-size:13px}.toolbar-chapter b{font:26px var(--serif);grid-row:span 2;color:var(--gold)}.toolbar-chapter small{font-size:9px;letter-spacing:.14em;color:var(--muted)}#motion-status{font-size:10px;letter-spacing:.13em;text-transform:uppercase;color:#c1c6b7}.toolbar-actions{display:flex;align-items:center;gap:24px}.toolbar-actions button{font-size:12px;border:0;background:none;padding:10px 0}.motion-choice{font-size:11px;display:flex;gap:8px;align-items:center;color:#c3c8bd}.motion-choice input{accent-color:var(--gold);width:14px;height:14px}.progress-track{position:absolute;bottom:0;left:0;right:0;height:2px;background:#c3c8bd1a}#story-progress{height:100%;background:var(--gold);transform:scaleX(0);transform-origin:left}.reduced-motion{scroll-behavior:auto}.reduced-motion *{animation:none!important;transition:none!important}
#explorer{border:0;padding:0;margin:0;width:100vw;max-width:none;height:100dvh;max-height:none;background:#192120;color:var(--paper);overflow:hidden}#explorer::backdrop{background:#111}.explorer-open{overflow:hidden}.explorer-header{position:absolute;top:0;left:0;right:0;z-index:6;padding:30px 4%;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(180deg,#17201dda,transparent)}.explorer-header .eyebrow{font-size:10px;margin-bottom:6px}.explorer-header h2{font-size:38px;letter-spacing:-.025em}.explorer-header .outline-button span{font-size:22px}#explore-canvas{position:absolute;inset:0;z-index:1;touch-action:none}.explore-fallback{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:55% center;display:none}.no-webgl .explore-fallback{display:block}.explore-shade{position:absolute;inset:0;pointer-events:none;z-index:2;background:linear-gradient(90deg,#15201cef,rgba(21,32,28,.7) 29%,transparent 58%),linear-gradient(0deg,#15201ca8,transparent 22%)}.zone-info{position:absolute;z-index:4;left:5%;top:24%;width:27%;max-width:360px;max-height:61%;overflow:auto;padding-right:14px;scrollbar-width:thin;scrollbar-color:#bdad8266 transparent}.zone-info .eyebrow{font-size:11px;margin-bottom:17px}.zone-info h3{font:400 48px/1.05 var(--serif);letter-spacing:-.02em;margin:0}.zone-info>p:not(.eyebrow){font-size:14px;line-height:1.85;color:#bfc9bb;margin:23px 0}.zone-info dl{border-top:1px solid var(--line);padding-top:19px;margin:24px 0}.zone-info dt{font-size:10px;letter-spacing:.14em;color:var(--gold)}.zone-info dd{margin:9px 0 0;font-size:13px}.zone-history{border-top:1px solid var(--line);padding-top:10px;font-size:12px;line-height:1.7;color:#bfc9bb}.zone-history a{font-size:12px;color:var(--gold);text-decoration:underline;text-underline-offset:4px}.zone-selector{position:absolute;z-index:5;right:3.5%;top:35%;display:flex;flex-direction:column;gap:10px}.zone-button{background:rgba(21,32,28,.75);border:1px solid #86978850;color:#c0cbbd;text-align:left;padding:11px 15px;display:flex;gap:13px;font-size:12px;min-width:133px;border-radius:2px}.zone-button>span{font-size:10px;color:var(--gold);line-height:1.7}.zone-button[aria-pressed=true]{background:var(--gold);color:#1f2a22;border-color:var(--gold)}.zone-button[aria-pressed=true]>span{color:#604d29}.hotspots{position:absolute;inset:0;pointer-events:none;z-index:3}.hotspot{pointer-events:auto;position:absolute;left:0;top:0;width:30px;height:30px;border:1px solid var(--gold);background:#18221daa;border-radius:50%;color:var(--gold);font-size:11px;box-shadow:0 0 0 5px #18221d33}.hotspot[aria-pressed=true]{background:var(--gold);color:var(--ink)}.hotspot[hidden]{display:none}.explore-controls{position:absolute;z-index:5;bottom:35px;left:56%;transform:translateX(-50%);text-align:center}.explore-controls p{font-size:11px;color:#c3c9bf;white-space:nowrap;margin-bottom:13px}.explore-controls p span{margin:0 8px;color:#8c9b88}.explore-controls>div{display:flex;border:1px solid #d7d1af50;background:#17241dcc;border-radius:3px}.explore-controls button{border:0;border-right:1px solid #d7d1af26;background:none;padding:11px 16px;font-size:17px;min-width:44px}.explore-controls button:last-child{border-right:0}.explore-controls button:hover{background:#d7d1af19}#reset-view{font-size:12px;white-space:nowrap}.explore-concept{position:absolute;z-index:4;bottom:24px;left:5%;font-size:10px;letter-spacing:.04em;color:#bec5b4}.no-webgl #explore-canvas{pointer-events:none}.fallback-message{font-size:12px!important;color:var(--gold)!important}.explore-controls[hidden]{display:none}
@media(max-width:1000px){.zone-info{width:30%;left:4%}.zone-info h3{font-size:40px}.zone-selector{right:2%}.zone-button{min-width:110px;font-size:11px;padding:10px}.toolbar-actions{gap:13px}.toolbar-chapter small{font-size:8px}.chapter-copy{width:41%;margin-left:6%}}
@media(max-width:760px){.chapter-copy{width:84%;margin-left:7%}.chapter{min-height:1000px;padding-bottom:130px}.chapter-copy>.history-note{font-size:12px!important;line-height:1.65!important;max-width:420px}.history-note>span:first-child{font-size:9px}.chapter-nav{right:5%;top:15%;gap:10px}.chapter-dot i{width:25px;height:25px;font-size:9px}.chapter-dot span{display:none}.story-toolbar{padding:15px 6%;min-height:77px}.toolbar-chapter{font-size:11px}.toolbar-chapter b{font-size:23px}.toolbar-chapter small{font-size:7px}#motion-status{display:none}.toolbar-actions{flex-direction:column;gap:0;align-items:flex-end}.toolbar-actions button{font-size:11px;padding:6px 0}.motion-choice{font-size:10px}.motion-choice input{width:12px;height:12px}.explorer-header{padding:19px 6%;align-items:flex-start}.explorer-header .eyebrow{font-size:8px}.explorer-header h2{font-size:30px}.explorer-header .outline-button{font-size:0;gap:0;padding:0;width:37px;height:37px;justify-content:center}.explorer-header .outline-button span{font-size:24px}#explore-canvas{height:56%;bottom:auto}.explore-fallback{height:58%;object-position:56% 45%}.explore-shade{height:60%;background:linear-gradient(0deg,#192120,transparent 25%)}.zone-info{left:7%;right:7%;top:64%;max-width:none;width:auto;max-height:29%;padding-right:12px}.zone-info .eyebrow{font-size:9px;margin:0 0 9px}.zone-info h3{font-size:34px}.zone-info>p:not(.eyebrow){font-size:13px;line-height:1.75;margin:15px 0}.zone-info dl{margin:17px 0;padding-top:15px}.zone-selector{top:56%;left:6%;right:6%;flex-direction:row;gap:5px;justify-content:space-between}.zone-button{flex:1;min-width:0;padding:10px 3px;font-size:9px;gap:3px;flex-direction:column;align-items:center}.zone-button>span{font-size:9px}.explore-controls{left:50%;bottom:auto;top:45%}.explore-controls p{font-size:9px;margin:0 0 7px}.explore-controls button{padding:7px 10px;min-width:35px}#reset-view{font-size:10px}.hotspots{display:none}.explore-concept{font-size:9px;left:7%;bottom:10px}.zone-history{font-size:11px}.zone-history a{font-size:11px}}
@media(max-height:650px) and (min-width:761px){.zone-info{top:25%;max-height:57%}.zone-info h3{font-size:36px}.zone-info>p:not(.eyebrow){margin:12px 0;font-size:13px}.explorer-header{padding-top:20px}.explore-controls{bottom:18px}.chapter{min-height:820px}}

/* Preserve the crown on wide screens and keep secondary controls readable. */
html{scroll-padding-top:0}.hero-image{object-position:57% 0%}.eyebrow{font-size:12px}.history-note>span:first-child{font-size:12px}.chapter-detail span:first-child{font-size:12px}.toolbar-actions button,.motion-choice{font-size:13px}.toolbar-chapter small{font-size:10px}.chapter-dot i{font-size:12px}.chapter-dot{min-height:34px}.chapter-dot span{font-size:13px}.zone-info>p:not(.eyebrow){font-size:16px}.zone-info .eyebrow,.zone-info dt{font-size:12px}.zone-info dd,.zone-history,.zone-history a{font-size:13px}.zone-button{font-size:14px}.zone-button>span{font-size:12px}.explore-controls p{font-size:12px}#reset-view{font-size:14px}.explore-concept{font-size:12px}.hotspot{font-size:12px;min-width:34px;min-height:34px}.hero-bottom small,.hero-bottom,footer{font-size:12px}
@media(min-width:1700px){.hero-image{object-position:60% 0%}}
@media(max-width:760px){.hero-image{object-position:57% 50%}.eyebrow{font-size:12px}.hero-description{font-size:16px}.hero-bottom{font-size:10px}.hero-bottom small{font-size:11px}.chapter-copy>p:not(.eyebrow){font-size:16px}.chapter-copy>.history-note{font-size:13px!important}.chapter-detail span:first-child,.history-note>span:first-child{font-size:12px}.toolbar-actions button,.motion-choice{font-size:12px}.toolbar-chapter small{font-size:9px}.toolbar-chapter{font-size:12px}.chapter-dot i{width:30px;height:30px;font-size:12px}.chapter-nav{gap:6px}.zone-info{top:65%;max-height:28%}.zone-info>p:not(.eyebrow){font-size:15px}.zone-info .eyebrow,.zone-info dt{font-size:12px}.zone-selector{overflow-x:auto;padding-bottom:6px;justify-content:flex-start;scrollbar-width:thin}.zone-button{min-width:82px;font-size:12px;flex:1 0 82px;padding:9px 4px}.zone-button>span{font-size:12px}.explore-controls{top:44%}.explore-controls p{font-size:11px}.explore-controls button{min-width:44px;min-height:42px;padding:8px 12px}#reset-view{font-size:12px}.explore-concept{font-size:11px}.zone-history,.zone-history a{font-size:12px}}
