@font-face{font-family:Lyon;src:url('../assets/lyon-arabic-display-regular.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:Lyon;src:url('../assets/lyon-arabic-display-bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:ZainSwashes;src:url('../assets/zain-swashes-variable.woff2') format('woff2');font-weight:600;font-display:swap}
@font-face{font-family:Montserrat;src:url('../assets/montserrat-variable.woff2') format('woff2');font-weight:100 900;font-display:swap}
:root{--cream:#ead8c1;--burgundy:#4e0000;--olive:#46472a;--mountain:#674636;--gutter:clamp(24px,6vw,88px);--radius:12px;--panel:rgba(234,216,193,.96);--control:rgba(78,0,0,.90);--reading-panel-opacity:1;scroll-behavior:smooth;scroll-padding-top:110px;color-scheme:light}
*{box-sizing:border-box}html,body{margin:0;width:100%;max-width:100%;overflow-x:clip}body{background:var(--mountain);color:var(--burgundy);font:400 18px/1.8 Lyon,serif}h1,h2,p{margin:0}h1,h2{text-wrap:balance}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{touch-action:manipulation;min-height:44px;-webkit-tap-highlight-color:#ead8c122}button:focus-visible,a:focus-visible{outline:2px solid var(--cream);outline-offset:3px;box-shadow:0 0 0 5px var(--burgundy)}button:disabled{cursor:wait;opacity:.65}svg{flex-shrink:0}.shell{width:calc(100% - var(--gutter)*2);max-width:1280px;margin-inline:auto}.brand-latin,[lang=en],#journey-position,.countdown b{font-family:Montserrat,sans-serif;font-variant-numeric:tabular-nums}.brand-latin{unicode-bidi:isolate}.swash,.brand-accent{font-family:ZainSwashes,Lyon,serif;font-weight:600;font-feature-settings:'swsh' 1,'calt' 1;font-variation-settings:'long' 180;font-synthesis:none;font-style:normal}.chapter h1 .swash,.chapter h2 .swash{font-size:1.08em}.skip-link{position:fixed;top:-100px;right:var(--gutter);z-index:50;background:var(--cream);color:var(--burgundy);padding:12px 20px;border-radius:var(--radius)}.skip-link:focus{top:15px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.scene{position:fixed;inset:0;z-index:-1;overflow:hidden}.scene canvas,.scene-fallback,.scene-shade{position:absolute;inset:0;width:100%;height:100%}.scene-fallback{background-color:#a5adbc;background-image:url('../assets/hail.jpg');background-repeat:no-repeat;background-position:center bottom;background-size:100% auto}.scene.has-webgl .scene-fallback{visibility:hidden}.scene-shade{pointer-events:none;background:linear-gradient(180deg,#4e000026,transparent 18%,transparent 85%,#67463633)}.reading-shade{display:none}
/* Local cream scrims protect the lettering; they never recolor the full scene. */
.chapter-copy{isolation:isolate}.chapter-copy:before{content:'';position:absolute;inset:-38px -70px -30px -70px;z-index:-1;pointer-events:none;background:linear-gradient(270deg,var(--panel) 0%,rgba(234,216,193,.95) 84%,transparent 100%);opacity:var(--reading-panel-opacity);mask-image:linear-gradient(180deg,transparent,#000 30px,#000 calc(100% - 30px),transparent)}.copy--right:before{right:calc(-1 * var(--gutter))}.copy--left:before,.copy--center:before{left:calc(-1 * var(--gutter));background:linear-gradient(90deg,var(--panel) 0%,rgba(234,216,193,.95) 84%,transparent 100%)}
.masthead{position:fixed;inset:0 0 auto;z-index:20;padding:18px 0 24px;background:linear-gradient(180deg,rgba(78,0,0,.96),rgba(78,0,0,.91) 67%,transparent);color:var(--cream);pointer-events:none}.masthead-inner{display:flex;justify-content:space-between;align-items:center;gap:28px}.masthead-inner>*{pointer-events:auto}.identity{display:flex;align-items:center;gap:20px;min-width:0}.identity img{width:98px;height:74px;object-fit:contain}.identity>span{font-size:18px;line-height:1.55;padding-inline-start:20px;border-inline-start:1px solid #ead8c166;min-width:0}.identity small{display:block;font-size:12px;font-weight:400;margin-top:3px}.header-actions{display:flex;align-items:center;gap:22px}.text-control{background:none;border:0;padding:8px 0;color:inherit;font-size:13px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px}.date-link{display:inline-flex;align-items:center;gap:12px;font-size:14px;border-bottom:1px solid #ead8c170;padding:8px 0}
.chapter{position:relative;min-height:140svh;display:flow-root;overflow-x:clip}.chapter-inner{min-height:inherit;position:relative;display:flow-root}.chapter-copy{position:sticky;top:25vh;padding:18px 0 30px;width:min(450px,43%);will-change:auto}.copy--right{margin-inline-start:0;margin-inline-end:auto}.copy--left{margin-inline-start:auto;margin-inline-end:0}.chapter h1,.chapter h2{font:700 clamp(43px,4.35vw,65px)/1.37 Lyon,serif;margin-bottom:20px;overflow:visible}.chapter h1 em{font-style:normal}.chapter-copy>p,.arrival-meta p{font-size:19px;line-height:1.85;max-width:36ch}.chapter--welcome{min-height:135svh}.chapter--gateway,.chapter--encounter{min-height:145svh}.chapter--impact{min-height:140svh}.journey-link{display:inline-flex;align-items:center;gap:22px;border-bottom:1px solid #4e000075;margin-top:24px;padding:10px 0;font-size:16px}.brand-weave{position:relative;width:168px;height:28px;margin:24px 0 18px;background:var(--burgundy);border-block:2px solid var(--olive)}.brand-weave:after{content:'';position:absolute;inset:3px 8px;background:var(--cream);mask:url('assets/sadu-unit.svg') repeat-x center/26px 23px}.brand-weave--mountains{background:var(--olive);border-color:var(--burgundy)}.brand-weave--mountains:after{mask-image:url('assets/mountains-unit.svg');mask-size:41px 23px}.chapter-copy>.supporting-copy{font-size:15px;line-height:1.7}
.chapter--arrival{min-height:115svh}.chapter--arrival .copy--center{width:min(450px,43%);margin-inline-start:auto;margin-inline-end:0;text-align:right;top:17vh;padding-bottom:24px}.chapter--arrival h2{font-family:ZainSwashes,Lyon,serif;font-size:76px;line-height:1.3;margin-bottom:10px}.arrival-meta p{font-size:16px;max-width:none}.event-date{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 .32em}.event-date .date-part{white-space:nowrap}.chapter--arrival .brand-weave{width:100%;max-width:374px;height:25px;margin:17px 0}.chapter--arrival .brand-weave:after{mask-size:25px 20px}.countdown{display:flex;justify-content:flex-start;gap:10px;direction:rtl;margin-top:14px}.countdown>div{display:flex;flex-direction:column;align-items:center;min-width:85px;background:var(--control);color:var(--cream);border:1px solid rgba(78,0,0,.25);border-radius:var(--radius);padding:12px 10px 9px}.countdown b{font-size:44px;font-weight:400;line-height:1.15;direction:ltr}.countdown span{font-size:13px;margin-top:7px}.countdown i{display:none}.calendar-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;border:1px solid rgba(78,0,0,.25);border-radius:var(--radius);background:var(--control);color:var(--cream);font-size:16px;padding:11px 22px;margin-top:20px;min-height:48px;transition:transform 120ms ease}.calendar-button:active{transform:scale(.97)}.arrival-actions>.guide-coming{font-size:13px;margin-top:14px}.arrival-actions>#countdown-ended{font-size:15px;margin-top:12px}.calendar-status{font-size:13px;margin-top:10px;min-height:0}.calendar-status:empty{display:none}
.journey-footer{padding:24px 0 122px;background:linear-gradient(0deg,#4e0000eb,transparent);color:var(--cream)}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:24px;font-size:13px}.footer-inner a{display:inline-flex;gap:15px;align-items:center}.journey-bottom{position:fixed;bottom:0;left:0;right:0;z-index:20;padding:12px 0 max(15px,env(safe-area-inset-bottom));background:linear-gradient(0deg,rgba(78,0,0,.97),rgba(78,0,0,.91) 72%,transparent);color:var(--cream)}.bottom-inner{display:flex;justify-content:space-between;align-items:center;gap:35px}.route{display:flex;gap:22px;font-size:12px;align-items:center}.route a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;position:relative}.route a[aria-current=step]:after{content:'';position:absolute;width:16px;height:2px;background:var(--cream);bottom:4px;right:calc(50% - 8px)}.journey-progress{display:flex;align-items:center;gap:17px;font-size:11px}.progress-track{width:90px;height:1px;background:#ead8c14d}.progress-track i{display:block;width:100%;height:1px;background:var(--cream);transform:scaleX(0);transform-origin:right}#journey-position{white-space:nowrap;font-size:11px}.sound-status{position:fixed;bottom:102px;left:var(--gutter);z-index:30;font-size:13px;background:var(--burgundy);color:var(--cream);padding:8px 14px;border-radius:var(--radius)}.sound-status:empty{display:none}.noscript-note{padding:16px;background:var(--cream);color:var(--burgundy);position:fixed;bottom:90px;inset-inline:var(--gutter);z-index:40;border-radius:var(--radius)}.motion-paused .chapter-copy{will-change:auto}
@media(hover:hover) and (pointer:fine){.text-control:hover,.route a:hover,.journey-link:hover,.footer-inner a:hover,.date-link:hover{text-decoration:underline;text-underline-offset:5px}.calendar-button:hover{transform:translateY(-2px)}}
@media(max-width:1100px){:root{--gutter:32px}.header-actions{gap:15px}.identity{gap:15px}.identity>span{font-size:16px;padding-inline-start:15px}.identity img{width:83px;height:63px}.journey-progress #station-caption{display:none}.chapter-copy{width:44%}.chapter h1,.chapter h2{font-size:46px}.chapter-copy>p{font-size:18px}.route{gap:12px}.bottom-inner{gap:24px}.countdown{gap:7px}.countdown>div{min-width:65px;padding:10px 8px}.countdown b{font-size:33px}.chapter--arrival .copy--center{width:min(410px,48%);top:15vh}.chapter--arrival h2{font-size:63px}}
@media(min-width:651px) and (max-width:1100px) and (orientation:portrait){.chapter-copy{width:min(440px,62%);top:23vh}.chapter h1,.chapter h2{font-size:48px}.chapter--arrival .copy--center{width:410px;max-width:65%;top:14vh}.chapter--arrival h2{font-size:64px}.chapter--arrival .countdown>div{min-width:82px}.chapter--arrival .countdown b{font-size:38px}.chapter--arrival .calendar-button{margin-top:17px}.chapter--arrival .arrival-actions>.guide-coming{margin-top:12px}}
@media(max-width:650px){:root{--gutter:24px;scroll-padding-top:120px}.masthead{padding:12px 0 19px}.masthead-inner{align-items:flex-start;gap:8px}.identity{gap:9px;min-height:62px}.identity img{width:64px;height:51px}.identity>span{font-size:13px;padding-inline-start:9px;max-width:118px}.identity small{font-size:11px;margin-top:3px}.header-actions{display:grid;grid-template-columns:1fr;justify-items:end;gap:0;min-width:78px;flex-shrink:0}.text-control{font-size:11px;padding:5px 0;min-height:44px}.date-link{display:none}.text-control svg{width:14px;height:14px}.chapter{min-height:140svh}.chapter-copy{width:100%;top:25vh;padding:16px 0 22px}.chapter-copy:before,.copy--left:before,.copy--center:before{inset:-26px -24px -22px -24px;mask-image:linear-gradient(180deg,transparent,#000 22px,#000 calc(100% - 22px),transparent);background:linear-gradient(90deg,transparent,rgba(234,216,193,.97) 7%,rgba(234,216,193,.97) 93%,transparent)}.chapter h1,.chapter h2{font-size:40px;line-height:1.4;margin-bottom:17px}.chapter-copy>p{font-size:17px;line-height:1.8;max-width:31ch}.swash,.brand-accent{font-variation-settings:'long' 100}.chapter--welcome{min-height:135svh}.chapter--welcome .chapter-copy{top:17vh;width:100%}.chapter--welcome .chapter-copy:before{bottom:auto;height:186px}.chapter--welcome h1{font-size:34px;max-width:250px;margin-inline-start:auto}.chapter--welcome .chapter-copy>p{display:none}.chapter--welcome .journey-link{margin-top:218px;float:left;font-size:13px;background:var(--control);color:var(--cream);padding:9px 13px;border:0;border-radius:var(--radius);gap:15px}.chapter--gateway{min-height:140svh}.chapter--gateway .chapter-copy{top:25vh}.chapter--encounter,.chapter--impact{min-height:140svh}.brand-weave{margin:18px 0 15px;width:148px;height:25px}.brand-weave:after{mask-size:23px 20px}.brand-weave--mountains:after{mask-size:37px 20px}.chapter-copy>.supporting-copy{font-size:14px}.chapter--arrival{min-height:115svh}.chapter--arrival .copy--center{width:100%;max-width:none;margin-inline:auto;text-align:center;top:15vh;padding:12px 0 18px}.chapter--arrival h2{font-size:51px;margin-bottom:7px}.arrival-meta p{font-size:14px}.event-date{justify-content:center;gap:0 .3em}.chapter--arrival .brand-weave{width:100%;margin:13px auto;height:22px}.chapter--arrival .brand-weave:after{mask-size:23px 17px}.countdown{justify-content:center;gap:7px;margin-top:13px}.countdown>div{min-width:66px;padding:10px 8px 8px}.countdown b{font-size:34px}.countdown span{font-size:12px;margin-top:5px}.calendar-button{margin-top:16px;min-height:44px;padding:9px 19px;font-size:14px}.arrival-actions>.guide-coming{font-size:12px;margin-top:10px}.journey-bottom{padding-top:9px;padding-bottom:max(12px,env(safe-area-inset-bottom))}.bottom-inner{display:block}.route{justify-content:space-between;gap:4px;font-size:11px}.route a{min-width:44px;min-height:44px}.journey-progress{justify-content:space-between;gap:18px;margin-top:5px}.journey-progress #station-caption{display:inline;font-size:10px}.progress-track{flex:1;max-width:90px}.footer-inner{flex-wrap:wrap;justify-content:center;font-size:12px;text-align:center;gap:10px}.footer-inner a{min-height:44px}.journey-footer{padding-bottom:125px}.sound-status{bottom:109px;max-width:calc(100% - var(--gutter)*2)}.scene-fallback{background-image:url('assets/art-v6/hail-portrait-q96.webp');background-size:100% auto;background-position:center bottom}}
@media(max-width:350px){:root{--gutter:20px}.identity>span{max-width:105px;font-size:12px}.identity img{width:58px;height:47px}.identity{gap:7px}.chapter h1{font-size:31px}.chapter h2{font-size:36px}.countdown{gap:6px}.countdown>div{min-width:60px;padding-inline:6px}.countdown b{font-size:31px}.chapter-copy>p{font-size:16px}.chapter--arrival h2{font-size:46px}.arrival-meta p{font-size:13px}.chapter--welcome .chapter-copy:before{height:178px}}
@media(max-height:600px) and (orientation:landscape){:root{--gutter:28px;scroll-padding-top:92px}.masthead{padding:8px 0 18px}.identity img{width:66px;height:50px}.identity>span{font-size:14px}.identity small{font-size:10px}.header-actions{display:flex;gap:16px}.text-control{font-size:12px}.date-link{display:none}.chapter,.chapter--welcome,.chapter--gateway,.chapter--encounter,.chapter--impact,.chapter--arrival{min-height:195svh}.chapter-copy,.chapter--gateway .chapter-copy,.chapter--welcome .chapter-copy{top:90px;width:min(440px,57%);padding:10px 0 15px}.chapter h1,.chapter h2{font-size:31px;line-height:1.25;margin-bottom:12px}.chapter-copy>p{font-size:14px;line-height:1.6}.brand-weave{height:20px;margin:12px 0 9px}.brand-weave:after{inset-block:2px;mask-size:20px 15px}.chapter-copy>.supporting-copy{font-size:12px}.chapter--welcome .chapter-copy>p{display:block;font-size:14px}.chapter--welcome .journey-link{float:none;background:none;color:var(--burgundy);margin-top:12px;border-bottom:1px solid #4e000075;border-radius:0;padding:6px 0;font-size:13px;min-height:44px}.chapter--welcome .chapter-copy:before{height:auto;bottom:-6px}.chapter--arrival .copy--center{top:83px;width:100%;max-width:900px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:24px;text-align:right;margin-inline:auto;padding:12px 0}.chapter--arrival h2{font-size:44px}.arrival-meta p{font-size:13px}.event-date{justify-content:flex-start}.chapter--arrival .brand-weave{height:20px;margin:12px 0}.countdown{margin-top:0;gap:6px;justify-content:flex-start}.countdown>div{min-width:54px;padding:8px 6px 6px}.countdown b{font-size:28px}.countdown span{font-size:11px;margin-top:3px}.calendar-button{font-size:13px;margin-top:10px;min-height:44px;padding:7px 15px}.arrival-actions>.guide-coming{font-size:11px;margin-top:7px}.journey-bottom{padding:7px 0 9px}.bottom-inner{display:flex}.route{gap:12px}.route a{min-height:44px}.journey-progress{margin:0}.journey-progress #station-caption{display:none}.footer-inner{justify-content:space-between}.chapter-copy:before,.copy--left:before{inset-block:-20px;mask-image:linear-gradient(180deg,transparent,#000 17px,#000 calc(100% - 17px),transparent)}.sound-status{bottom:72px}}
@media(max-height:420px) and (orientation:landscape){.chapter-copy,.chapter--gateway .chapter-copy,.chapter--welcome .chapter-copy{top:77px}.chapter h1,.chapter h2{font-size:28px}.chapter-copy>p{font-size:13px}.chapter-copy>.supporting-copy{display:none}.chapter--arrival .copy--center{top:75px}.chapter--arrival h2{font-size:38px}.chapter--arrival .brand-weave{height:18px}.arrival-actions>.guide-coming{display:none}.identity img{height:44px}.identity>span{font-size:13px}.masthead{padding-block:6px 15px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.chapter-copy{will-change:auto}}

.sound-waves{display:none}#sound-toggle[data-playing="true"] .sound-cross{display:none}#sound-toggle[data-playing="true"] .sound-waves{display:block}.chapter h1:focus,.chapter h2:focus{outline:0}

/* Whole identity units: no cropped half motifs at either end of a band. */
.brand-weave{display:flex;align-items:center;justify-content:center;gap:8px;width:max-content;height:auto;max-width:100%;padding:4px 8px;overflow:hidden}
.brand-weave:after{display:none}.brand-weave img{display:block;flex:none;width:26px;height:24px;object-fit:contain}.brand-weave--mountains img{width:34px;height:22px}
.chapter--arrival .brand-weave{width:max-content;max-width:100%;height:auto;gap:10px;padding:4px 8px}.chapter--arrival .brand-weave img{width:26px;height:24px}
@media(max-width:650px){.brand-weave{gap:7px;padding:3px 7px}.brand-weave img{width:24px;height:22px}.brand-weave--mountains img{width:31px;height:20px}.chapter--arrival .brand-weave{gap:8px;padding:3px 8px;margin:12px auto}.chapter--arrival .brand-weave img{width:24px;height:22px}}
@media(max-height:600px) and (orientation:landscape){.brand-weave{gap:6px;padding:2px 6px}.brand-weave img,.chapter--arrival .brand-weave img{width:21px;height:19px}.brand-weave--mountains img{width:28px;height:18px}.chapter--arrival .brand-weave{height:auto;margin:10px 0;padding:2px 6px;gap:7px}}
/* Lettering sits directly in the landscape with original identity ink. */
.chapter-copy:before{display:none}
.chapter-copy{color:var(--burgundy)}
.chapter h1,.chapter h2,.chapter-copy>p,.arrival-meta p{text-shadow:none}
.chapter--arrival h2,.arrival-meta p,.arrival-actions>p{text-shadow:none}
.masthead{background:linear-gradient(180deg,rgba(78,0,0,.82),rgba(78,0,0,.70) 60%,transparent)}
.journey-bottom{background:linear-gradient(0deg,rgba(78,0,0,.85),rgba(78,0,0,.72) 70%,transparent)}
.brand-weave img{width:32px;height:29px}.brand-weave--mountains img{width:40px;height:24px}
.chapter--arrival .brand-weave{gap:8px;padding:3px 8px;margin-block:13px}
.chapter--arrival .brand-weave img{width:44px;height:40px}
.scene-fallback{background-color:#9bb0cb}
.scene-fallback:after{content:'';position:absolute;inset-inline:0;height:48px;bottom:calc(56.25vw - 48px);background:linear-gradient(180deg,#9bb0cb,transparent);pointer-events:none}
@media(max-width:650px){.brand-weave img{width:28px;height:26px}.brand-weave--mountains img{width:35px;height:22px}.chapter--arrival .brand-weave{gap:6px;padding:3px 8px;margin-block:11px}.chapter--arrival .brand-weave img{width:44px;height:40px}.scene-fallback{background-color:#89a1c6}.scene-fallback:after{bottom:calc(150vw - 48px);background:linear-gradient(180deg,#89a1c6,transparent)}}
@media(max-width:350px){.chapter--arrival .brand-weave{gap:5px;padding-inline:7px}.chapter--arrival .brand-weave img{width:42px;height:38px}}
@media(max-height:600px) and (orientation:landscape){.brand-weave img{width:24px;height:22px}.brand-weave--mountains img{width:31px;height:20px}.chapter--arrival .brand-weave{gap:7px;padding:2px 6px;margin:10px 0}.chapter--arrival .brand-weave img{width:30px;height:27px}}
/* The first invitation stays above the road sign. */
@media(max-width:650px){.chapter--welcome .journey-link{margin-top:24px;float:none;background:none;color:var(--burgundy);border:0;border-bottom:1px solid #4e000075;border-radius:0;padding:8px 0;gap:17px}}

/* Preserve equal gutters and room for the phone's cutout and home indicator. */
:root{--safe-top:env(safe-area-inset-top,0px);--safe-gutter:max(var(--gutter),env(safe-area-inset-left,0px),env(safe-area-inset-right,0px))}
.shell{width:calc(100% - var(--safe-gutter)*2)}.masthead{padding-top:calc(18px + var(--safe-top))}.skip-link{right:var(--safe-gutter)}
@media(max-width:650px){.masthead{padding-top:calc(12px + var(--safe-top))}.chapter-copy,.chapter--gateway .chapter-copy{top:max(25svh,calc(125px + var(--safe-top)))}.chapter--welcome .chapter-copy{top:max(17svh,calc(125px + var(--safe-top)))}.chapter--arrival .copy--center{top:max(15svh,calc(125px + var(--safe-top)))}.calendar-button{min-width:168px}}
@media(max-height:700px) and (max-width:650px) and (orientation:portrait){.chapter-copy,.chapter--gateway .chapter-copy{top:max(21svh,calc(112px + var(--safe-top)))}.chapter h1,.chapter h2{font-size:35px;line-height:1.32;margin-bottom:13px}.chapter-copy>p{font-size:15px;line-height:1.7}.chapter-copy>.supporting-copy{font-size:13px}.brand-weave{margin-block:14px 11px}.chapter--welcome .chapter-copy{top:max(20svh,calc(112px + var(--safe-top)))}.chapter--welcome h1{font-size:31px}.chapter--welcome .journey-link{margin-top:17px}.chapter--arrival .copy--center{top:max(16svh,calc(112px + var(--safe-top)))}.chapter--arrival h2{font-size:43px;margin-bottom:5px}.arrival-meta p{font-size:13px}.chapter--arrival .brand-weave{margin-block:9px;gap:6px}.chapter--arrival .brand-weave img{width:34px;height:31px}.countdown{margin-top:10px}.countdown b{font-size:30px}.countdown>div{padding-block:8px 7px}.calendar-button{margin-top:13px}.arrival-actions>.guide-coming{margin-top:8px;font-size:11px}}
@media(max-height:600px) and (orientation:landscape){.masthead{padding-top:calc(8px + var(--safe-top))}.chapter-copy,.chapter--gateway .chapter-copy,.chapter--welcome .chapter-copy{top:calc(90px + var(--safe-top))}.chapter--arrival .copy--center{top:calc(83px + var(--safe-top))}}
@media(max-height:420px) and (orientation:landscape){.masthead{padding-top:calc(6px + var(--safe-top))}.chapter-copy,.chapter--gateway .chapter-copy,.chapter--welcome .chapter-copy{top:calc(77px + var(--safe-top))}.chapter--arrival .copy--center{top:calc(75px + var(--safe-top))}}

/* On phones the upper half carries the invitation; the lower half belongs to Hail. */
@media(max-width:650px) and (orientation:portrait){.chapter--arrival .copy--center{top:max(14svh,calc(116px + var(--safe-top)));padding-top:10px}.chapter--arrival h2{font-size:43px;line-height:1.25;margin-bottom:5px}.arrival-meta p{font-size:13px}.chapter--arrival .brand-weave{margin-block:9px;gap:7px}.chapter--arrival .brand-weave img{width:36px;height:33px}.chapter--arrival .countdown{margin-top:10px}.chapter--arrival .countdown b{font-size:32px}.chapter--arrival .countdown>div{padding-block:8px 7px}.chapter--arrival .calendar-button{margin-top:12px}.chapter--arrival .arrival-actions>.guide-coming{display:none}}
@media(max-width:350px) and (orientation:portrait){.chapter--arrival h2{font-size:40px}.chapter--arrival .countdown b{font-size:30px}.chapter--arrival .brand-weave{gap:6px}.chapter--arrival .brand-weave img{width:34px;height:31px}}
/* At extreme browser zoom, keep the complete text readable in ordinary document flow. */
@media(max-width:299px){:root{--gutter:12px}.masthead-inner{display:block}.identity{justify-content:center;min-height:52px;gap:6px}.identity img{width:45px;height:38px}.identity>span{font-size:10px;max-width:95px;padding-inline-start:6px}.identity small{font-size:9px}.header-actions{display:flex;justify-content:space-between;width:100%;gap:8px}.text-control{font-size:10px}.text-control#sound-toggle span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.text-control svg{width:17px;height:17px}.chapter,.chapter--welcome,.chapter--gateway,.chapter--encounter,.chapter--impact,.chapter--arrival{min-height:0;padding-block:calc(145px + var(--safe-top)) 165px}.chapter-inner{min-height:0}.chapter-copy,.chapter--welcome .chapter-copy,.chapter--gateway .chapter-copy,.chapter--arrival .copy--center{position:relative;top:auto!important;width:100%;max-width:none;padding:0;margin:0}.chapter h1,.chapter h2,.chapter--welcome h1{font-size:25px;line-height:1.4;max-width:none;margin-bottom:13px}.swash,.brand-accent{font-variation-settings:'long' 25}.chapter-copy>p{font-size:13px;line-height:1.8}.chapter--welcome .chapter-copy>p{display:block;font-size:13px}.chapter--welcome .journey-link{margin-top:17px;font-size:12px;gap:10px}.journey-link svg{width:18px}.brand-weave{gap:4px;padding:3px 6px}.brand-weave img{width:18px;height:17px}.brand-weave--mountains img{width:23px;height:16px}.chapter--arrival h2{font-size:26px}.arrival-meta p{font-size:12px}.chapter--arrival .brand-weave{gap:4px;padding:3px 5px}.chapter--arrival .brand-weave img{width:20px;height:19px}.chapter--arrival .countdown{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.chapter--arrival .countdown>div{min-width:0}.chapter--arrival .countdown b{font-size:25px}.countdown span{font-size:11px}.calendar-button{min-width:0;width:100%;font-size:12px;gap:7px;padding-inline:10px}.calendar-button svg{width:16px}.route{flex-wrap:wrap;justify-content:center;gap:0}.route a{min-width:44px}.journey-progress{gap:8px;flex-wrap:wrap;font-size:10px}.journey-progress #station-caption{display:none}.progress-track{max-width:50px}.journey-bottom{padding-top:6px}}

/* A single complete sadu signature beside the date leaves the painted mountain unobstructed. */
@media(max-width:650px) and (orientation:portrait){.arrival-details{display:flex;align-items:center;justify-content:center;gap:15px;margin-block:6px}.arrival-details .event-date{display:block;text-align:right;font-size:13px;line-height:1.55}.arrival-details .date-part,.arrival-details .credit-part{display:block}.chapter--arrival .arrival-details .brand-weave{width:44px;min-width:44px;height:42px;margin:0;padding:3px 4px;gap:0}.chapter--arrival .arrival-details .brand-weave img{width:34px;height:31px}.chapter--arrival .arrival-details .brand-weave img:nth-child(n+2){display:none}.chapter--arrival .countdown{margin-top:8px}.chapter--arrival .calendar-button{margin-top:10px}}
@media(max-width:299px){.arrival-details{gap:7px}.arrival-details .event-date{font-size:10px}.chapter--arrival .arrival-details .brand-weave{width:31px;min-width:31px;height:32px;padding:2px}.chapter--arrival .arrival-details .brand-weave img{width:24px;height:22px}}
/* Short screens protect the welcome lettering instead of stacking controls over it. */
@media(max-width:650px) and (orientation:portrait){.chapter--arrival .copy--center{--arrival-top:max(14svh,calc(116px + var(--safe-top)));top:var(--arrival-top)}.countdown span{line-height:1.4}}
@media(min-height:621px) and (max-height:700px) and (max-width:650px) and (orientation:portrait){.chapter--arrival h2{font-size:34px;line-height:1.25}.arrival-details .event-date{font-size:12px;line-height:1.55}.chapter--arrival .arrival-details .brand-weave{width:39px;min-width:39px;height:38px}.chapter--arrival .arrival-details .brand-weave img{width:30px;height:28px}.chapter--arrival .countdown b{font-size:28px}.chapter--arrival .countdown span{font-size:11px;margin-top:4px}.chapter--arrival .countdown>div{padding-block:7px 6px}.chapter--arrival .calendar-button{position:absolute;top:calc(72svh - var(--arrival-top));left:50%;transform:translateX(-50%);margin-top:0;white-space:nowrap}}
@media(max-height:620px) and (max-width:650px) and (orientation:portrait){.chapter--arrival h2{font-size:32px;line-height:1.25}.arrival-details{margin-block:6px}.arrival-details .event-date{font-size:12px;line-height:1.4;text-align:center}.arrival-details .credit-part{display:none}.chapter--arrival .arrival-details .brand-weave{display:none}.chapter--arrival .countdown{position:absolute;top:calc(68svh - var(--arrival-top));left:50%;transform:translateX(-50%);margin-top:0;white-space:nowrap}.chapter--arrival .countdown b{font-size:28px}.chapter--arrival .countdown span{font-size:11px;margin-top:4px}.chapter--arrival .countdown>div{padding-block:7px 6px}.chapter--arrival .calendar-button{margin-top:6px}}
@media(max-height:600px) and (orientation:landscape){.chapter--arrival h2{font-size:34px;line-height:1.25;margin-bottom:5px}.arrival-meta p{font-size:12px;line-height:1.4}.chapter--arrival .brand-weave{margin-block:5px}.chapter--arrival .brand-weave img{width:22px;height:20px}}
@media(max-height:360px) and (orientation:landscape){.chapter--arrival .copy--center{top:calc(68px + var(--safe-top));padding-top:8px}.chapter--arrival h2{font-size:28px}.chapter--arrival .brand-weave{display:none}}
@media(max-width:299px){.chapter--arrival .copy--center{top:auto!important}.chapter--arrival .countdown{position:static;transform:none;margin-top:10px;white-space:normal}.chapter--arrival .calendar-button{position:static;transform:none;margin-top:10px;white-space:normal}.arrival-details .credit-part{display:block}}
/* The static scene uses the same native image scale and horizon as the 3D destination. */
.scene-fallback{background-color:#745b53;background-image:url('../assets/hail.jpg'),linear-gradient(180deg,#9bb0cb 0%,#9bb0cb 50%,#745b53 50%,#745b53 100%);background-size:106% auto,100% 100%;background-position:center calc(50svh - 34.5825vw),center;background-repeat:no-repeat}
.scene-fallback:after{top:calc(50svh + 25.0425vw - 27px);bottom:auto;height:54px;background:linear-gradient(180deg,transparent,#745b53 65%)}
@media(max-aspect-ratio:6/5){.scene-fallback{background-color:#5e4e51;background-image:url('assets/art-v6/hail-portrait-q96.webp'),linear-gradient(180deg,#89a1c6 0%,#89a1c6 50%,#5e4e51 50%,#5e4e51 100%);background-size:106% auto,100% 100%;background-position:center calc(50svh - 89.04vw),center}.scene-fallback:after{top:calc(50svh + 69.96vw - 27px);bottom:auto;background:linear-gradient(180deg,transparent,#5e4e51 65%)}}

@media(max-height:700px) and (max-width:650px) and (orientation:portrait){.masthead-inner{align-items:center}.header-actions{display:flex;align-items:center;gap:6px;min-width:98px}.text-control#sound-toggle span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.text-control#sound-toggle svg{width:17px;height:17px}.chapter--arrival .copy--center{--arrival-top:max(14svh,calc(92px + var(--safe-top)))}}
@media(max-width:299px){.masthead{position:relative;inset:auto;padding-bottom:18px}.masthead-inner{display:block}.header-actions{display:flex;justify-content:space-between;min-width:0}.chapter,.chapter--welcome,.chapter--gateway,.chapter--encounter,.chapter--impact,.chapter--arrival{padding-block:42px 58px}.journey-bottom{position:relative;inset:auto;padding:12px 0 16px;background:rgba(78,0,0,.88)}.bottom-inner{display:block}.chapter--arrival .copy--center{--arrival-top:0px}}

/* With the final lower horizon, short phones keep the timer above the art and the action on the road. */
@media(max-height:620px) and (max-width:650px) and (orientation:portrait){.chapter--arrival .countdown{position:static;transform:none;margin-top:8px;white-space:normal}.chapter--arrival .calendar-button{position:absolute;top:calc(74svh - var(--arrival-top));left:50%;transform:translateX(-50%);margin-top:0;white-space:nowrap}}
@media(max-width:299px){.chapter--arrival .calendar-button{position:static;transform:none;margin-top:10px;white-space:normal}}

/* Original letterforms stay crisp without text effects. */
.chapter h1,.chapter h2{text-shadow:none}.chapter--arrival h2{text-shadow:none}

/* Arrival fades into its protected final position; it never sweeps across the painted welcome. */
.chapter--arrival .copy--center{position:fixed;left:var(--safe-gutter);right:auto}
@media(max-width:650px){.chapter--arrival .copy--center{width:calc(100% - var(--safe-gutter)*2);left:var(--safe-gutter);right:auto;margin-inline:0}}
@media(max-height:600px) and (orientation:landscape){.chapter--arrival .copy--center{left:0;right:0;width:calc(100% - var(--safe-gutter)*2);margin-inline:auto}}
@media(max-width:299px){.chapter--arrival .copy--center{position:relative;left:auto;right:auto;width:100%;margin-inline:0;top:auto!important}}
/* Scene captions follow the rendered camera clock, not the scroll spacers beneath it. */
body[data-scene-sync="frames"] .chapter-copy{position:fixed}
body[data-scene-sync="frames"] .copy--right{right:var(--safe-gutter);left:auto;margin-inline:0}
body[data-scene-sync="frames"] .copy--left{left:var(--safe-gutter);right:auto;margin-inline:0}
@media(max-width:650px){body[data-scene-sync="frames"] .chapter-copy{width:calc(100% - var(--safe-gutter)*2);left:var(--safe-gutter);right:auto;margin-inline:0}}
@media(max-height:600px) and (orientation:landscape){body[data-scene-sync="frames"] .chapter-copy{width:min(440px,57%)}body[data-scene-sync="frames"] .chapter--arrival .copy--center{width:calc(100% - var(--safe-gutter)*2);left:0;right:0;margin-inline:auto}}
@media(max-width:299px){body[data-scene-sync="frames"] .chapter-copy{position:relative;top:auto!important;left:auto;right:auto;width:100%;margin-inline:0}}

/* Without JavaScript, the same narrative stays readable as an ordinary document. */
html:not([data-js="ready"]) .chapter-copy{position:relative;top:auto!important;left:auto;right:auto;width:100%;max-width:650px;margin-inline:auto;opacity:1;transform:none}
html:not([data-js="ready"]) .chapter-inner{padding-block:140px 45px}
html:not([data-js="ready"]) .header-actions .text-control,html:not([data-js="ready"]) .countdown,html:not([data-js="ready"]) .calendar-button,html:not([data-js="ready"]) .journey-progress{display:none}
.scene canvas{visibility:hidden}.scene.has-webgl canvas{visibility:visible}

/* Clean identity ink: no framing gradients, text effects, or luminous lettering. */
h1,h2,p,a,button,b,span,small,time,em{text-shadow:none!important;filter:none!important;-webkit-text-stroke:0!important}
a:focus-visible,button:focus-visible{box-shadow:none!important;outline:2px solid currentColor;outline-offset:4px}
.masthead,.journey-bottom,.journey-footer{background:none!important;box-shadow:none!important;backdrop-filter:none!important}
.scene-shade,.reading-shade{display:none!important}.masthead{color:var(--burgundy)}.identity>span{border-color:rgba(78,0,0,.24)}.date-link{border-color:rgba(78,0,0,.35)}
body[data-ink="light"] .masthead{color:var(--cream)}body[data-ink="light"] .identity>span,body[data-ink="light"] .date-link{border-color:rgba(234,216,193,.4)}
.chapter:not(.chapter--arrival) .chapter-copy{top:15svh;left:0;right:0;width:min(620px,calc(100% - var(--safe-gutter)*2));margin-inline:auto;padding:0;text-align:center;color:var(--burgundy)}
.chapter h1,.chapter h2{font-size:40px;line-height:1.25;margin-bottom:12px}.chapter h1{font-size:46px}.chapter-copy>p{width:max-content;max-width:100%;margin-inline:auto;font-size:18px;line-height:1.5}.chapter-copy>.supporting-copy{display:none}.chapter--welcome .journey-link{margin-top:20px;color:var(--burgundy);border-color:rgba(78,0,0,.35)}
.brand-weave,.chapter--arrival .brand-weave{background:transparent;border:0;padding:0;box-shadow:none}.brand-weave{margin:15px auto 0;gap:8px}.brand-weave img{width:28px;height:26px}.brand-weave--mountains img{width:35px;height:22px}
.journey-bottom{padding:0 0 max(17px,env(safe-area-inset-bottom));color:var(--burgundy)}.bottom-inner{display:flex;justify-content:center;gap:0}.route{gap:18px;font-size:13px}.route a{min-height:44px;min-width:44px}.route a[aria-current="step"]:after{background:currentColor}.journey-progress{display:none!important}body[data-ground-ink="light"] .journey-bottom{color:var(--cream)}
@media(min-width:1000px){.chapter:not(.chapter--welcome):not(.chapter--arrival) h2 .heading-break{display:none}}
@media(max-width:650px){.chapter:not(.chapter--arrival) .chapter-copy{top:max(17svh,calc(112px + var(--safe-top)));left:var(--safe-gutter);right:auto;width:calc(100% - var(--safe-gutter)*2);margin-inline:0;padding:0}.chapter h1,.chapter h2{font-size:36px;line-height:1.22;margin-bottom:12px}.chapter--welcome h1{font-size:34px;max-width:none;margin-inline:0}.chapter-copy>p{font-size:17px;line-height:1.5}.chapter--welcome .journey-link{float:none;background:none;border-radius:0;margin-top:22px;padding:8px 0}.brand-weave{gap:7px;margin-top:14px}.brand-weave img{width:24px;height:22px}.brand-weave--mountains img{width:31px;height:20px}.route{gap:8px;font-size:12px}.chapter--arrival h2{font-size:40px}}
@media(max-height:700px) and (max-width:650px) and (orientation:portrait){.chapter:not(.chapter--arrival) .chapter-copy{top:max(17svh,calc(93px + var(--safe-top)))}.chapter h1,.chapter h2,.chapter--welcome h1{font-size:31px}.chapter-copy>p{font-size:15px}.brand-weave img{width:22px;height:20px}}
@media(max-height:600px) and (orientation:landscape){.chapter:not(.chapter--arrival) .chapter-copy{top:calc(85px + var(--safe-top));width:min(580px,calc(100% - var(--safe-gutter)*2))}.chapter h1,.chapter h2{font-size:28px;line-height:1.2}.chapter-copy>p{font-size:14px;line-height:1.4}.brand-weave{margin-top:10px}.brand-weave img{width:20px;height:18px}.chapter--arrival h2{font-size:34px}.chapter:not(.chapter--arrival) .heading-break{display:none}.route{font-size:12px;gap:14px}}
@media(max-width:299px){.chapter:not(.chapter--arrival) .chapter-copy{position:relative;top:auto!important;left:auto;right:auto;width:100%;margin-inline:0}.chapter h1,.chapter h2,.chapter--welcome h1{font-size:25px}.chapter-copy>p{font-size:13px}.route{gap:0}}
/* The sign owns the centre of the opening shot; the invitation stays in the clear sky to its right. */
.chapter--welcome .chapter-copy>p{display:none}
@media(min-width:1101px){.chapter.chapter--welcome .chapter-copy{top:125px;left:calc(50% + 48px);right:auto;width:360px;margin-inline:0}}
@media(min-width:651px) and (max-width:1100px){.chapter.chapter--welcome .chapter-copy{top:125px;left:calc(50% + 24px);right:auto;width:min(320px,calc(50% - var(--safe-gutter) - 24px));margin-inline:0}.chapter--welcome h1{font-size:40px}}
@media(max-width:650px){.chapter.chapter--welcome .chapter-copy{left:var(--safe-gutter);right:auto;width:calc(100% - var(--safe-gutter)*2)}}

/* Keep each header element in the ink appropriate to its own side of the gorge. */
body[data-ink="light"] .masthead{color:var(--burgundy)}body[data-ink="light"] .header-actions{color:var(--cream)}body[data-ink="light"] .identity>span{border-color:rgba(78,0,0,.24)}
.chapter--impact h2 .heading-break{display:block!important}
@media(min-width:1000px){.chapter.chapter--impact .chapter-copy{width:310px}}
@media(max-width:650px){.chapter.chapter--impact .chapter-copy{left:auto;right:var(--safe-gutter);width:195px;margin-inline:0}.chapter--impact h2{font-size:30px}.chapter--impact .chapter-copy>p{font-size:16px;max-width:185px}.chapter--impact .brand-weave--mountains img{width:29px}}

body[data-identity-ink="light"] .identity{color:var(--cream)}body[data-identity-ink="light"] .identity>span{border-color:rgba(234,216,193,.4)}.masthead .identity,.header-actions{transition:color 120ms linear}
@media(max-width:650px){.chapter.chapter--impact .chapter-copy{left:var(--safe-gutter);right:auto;width:calc(100% - var(--safe-gutter)*2)}.chapter--impact h2{font-size:34px}.chapter--impact .chapter-copy>p{max-width:100%}}
@media(max-height:700px) and (max-width:650px){.chapter--impact h2{font-size:31px}}
@media(max-width:299px){.chapter.chapter--impact .chapter-copy{left:auto;right:auto;width:100%}}

@media(max-height:700px) and (max-width:650px) and (orientation:portrait){.chapter.chapter--impact .chapter-copy{top:max(17svh,calc(103px + var(--safe-top)))}}

/* Compact, accessible icon controls and the short brand-pattern opening. */
.header-actions .text-control{width:44px;height:44px;padding:0;flex:none}.header-actions .text-control svg{width:20px;height:20px}.header-actions{gap:12px}
.motion-play{display:none}.motion-paused .motion-pause{display:none}.motion-paused .motion-play{display:block}
.journey-boot{display:none;position:fixed;inset:0;z-index:1000;background:var(--cream);place-items:center;opacity:0;pointer-events:none;transition:opacity 240ms ease}
.booting .journey-boot{display:grid;opacity:1;pointer-events:auto}.boot-leaving .journey-boot{display:grid;opacity:0}
.journey-boot svg{width:clamp(100px,19vw,160px);height:auto;overflow:visible}.boot-stitch{transform-box:fill-box;transform-origin:center;animation:stitch-reveal 700ms cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--stitch)*105ms)}
@keyframes stitch-reveal{from{opacity:0;transform:translateY(6px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:650px){.header-actions{display:flex;gap:2px;min-width:90px;align-items:center;justify-content:flex-end}.header-actions .text-control{min-width:44px}.text-control#sound-toggle svg{width:20px;height:20px}}
@media(prefers-reduced-motion:reduce){.boot-stitch{animation:none}.journey-boot{transition:none}}

/* One symmetric mobile reading column, including the date and countdown. */
@media(max-width:650px){
 body[data-scene-sync] .chapter .chapter-copy{left:var(--safe-gutter);right:var(--safe-gutter);width:auto;margin-inline:0;padding-inline:0;text-align:center}
 .chapter .chapter-copy h1,.chapter .chapter-copy h2{width:100%;max-width:none;margin-inline:0;text-align:center;text-wrap:balance}
 .chapter .chapter-copy>p{width:100%;max-width:none;margin-inline:0;text-align:center;text-wrap:balance}
 .chapter--arrival .arrival-details{display:flex;flex-direction:column-reverse;align-items:center;gap:7px}
 .chapter--arrival .arrival-details .event-date{width:100%;margin-inline:0;text-align:center}
 .chapter--arrival .arrival-details .brand-weave{width:26px;min-width:26px;height:24px;padding:0;margin:0}
 .chapter--arrival .arrival-details .brand-weave img{width:26px;height:24px}
 .chapter--arrival .countdown{justify-content:center}
}
.calendar-picker{position:fixed;inset:0;width:min(420px,calc(100% - 40px));max-height:calc(100svh - 40px);margin:auto;padding:30px 24px 24px;border:1px solid rgba(70,71,42,.28);border-radius:var(--radius);background:var(--cream);color:var(--burgundy);box-shadow:none;overflow-y:auto;text-align:center}
.calendar-picker::backdrop{background:rgba(40,28,24,.42)}html:has(.calendar-picker[open]){overflow:hidden}
.calendar-close{position:absolute;top:8px;left:8px;display:grid;place-items:center;width:44px;height:44px;border:0;background:none;color:var(--burgundy);cursor:pointer}
.calendar-ornament{display:flex;gap:3px;justify-content:center;margin:4px 0 14px}.calendar-ornament img{width:26px;height:24px}
.calendar-picker h2{font:700 29px/1.4 Lyon,serif;margin:0 0 4px}.calendar-picker>p{font-size:15px;line-height:1.6;margin:0 0 20px}
.calendar-option{display:flex;align-items:center;gap:14px;padding:14px 16px;margin-top:10px;border:1px solid rgba(70,71,42,.28);border-radius:var(--radius);background:transparent;color:var(--burgundy);min-height:74px;text-align:right;text-decoration:none}
.calendar-option:hover{background:rgba(70,71,42,.06)}.calendar-option>svg:first-child{color:var(--olive);flex:none}.calendar-option>svg:last-child{margin-inline-start:auto;flex:none}.calendar-option>span{display:flex;flex-direction:column;gap:4px;min-width:0}.calendar-option b{font:500 15px/1.5 Montserrat,sans-serif;text-align:right}.calendar-option small{font:400 14px/1.5 Lyon,serif}.calendar-picker>.calendar-note{font-size:13px;margin:16px 0 0;color:var(--olive)}
@media(max-width:350px){.calendar-picker{padding-inline:16px}.calendar-picker h2{font-size:26px}.calendar-option{padding-inline:10px;gap:10px}.calendar-option b{font-size:14px}.calendar-option small{font-size:13px}}
@media(max-height:480px){.calendar-picker{padding-block:16px}.calendar-ornament{display:none}.calendar-picker>p{margin-bottom:10px}.calendar-option{min-height:60px;padding-block:9px}.calendar-picker>.calendar-note{margin-top:10px}}
