:root{font-family:"Avenir Next",Avenir,"Segoe UI",sans-serif;color:#082740;background:#f7f3e8;--caption:0;--caption-y:18px;--cue:1;--logo-size:min(38svh,340px,60vw);--logo-top:15svh;--brand-gap:56px;--brand-progress:0;--brand-alpha:0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a:focus-visible,button:focus-visible{outline:2px solid #208538;outline-offset:7px}.skip{position:fixed;top:-100px;left:20px;z-index:30;padding:12px 20px;background:#082740;color:#faf7ef}.skip:focus{top:16px}header{position:fixed;inset:0 0 auto;z-index:10;padding:32px 44px;display:flex;align-items:center;justify-content:space-between;gap:20px;pointer-events:none}header a,header button{pointer-events:auto}.wordmark{font:600 23px/1.2 Georgia,serif;letter-spacing:-.6px}nav{display:flex;align-items:center;gap:28px;font-size:12px}#play{border:1px solid #08274030;border-radius:2px;padding:9px 14px;background:#f7f3e8c0;cursor:pointer;min-width:110px}#play span{margin-left:12px}#play:disabled{opacity:.5;cursor:default}#play:hover:not(:disabled){background:#fffdf7}.back{border-bottom:1px solid #08274040;padding-block:4px}.journey{position:relative;height:340svh}.stage{position:sticky;top:0;height:100svh;overflow:hidden;isolation:isolate;background:#f7f3e8}#ocean{position:absolute;inset:0;width:100%;height:100%;z-index:1;opacity:0;transition:opacity .5s}body[data-renderer="webgl"][data-webgl-status="ready"] #ocean{opacity:1}.identity{position:absolute;z-index:3;left:20px;right:20px;top:calc(var(--logo-top) + var(--logo-size) + 22px);text-align:center;opacity:var(--caption);transform:translateY(var(--caption-y));pointer-events:none}.identity h1{font:500 clamp(30px,3.6vw,48px)/1.15 Georgia,serif;letter-spacing:-1.5px;margin:0}.identity p{font:italic 16px/1.7 Georgia,serif;color:#526473;margin:12px 0 0}.identity a{display:inline-flex;align-items:center;gap:16px;margin-top:23px;padding:8px 0;border-bottom:1px solid #20853860;color:#17692b;font-size:12px;font-weight:600;pointer-events:auto}.identity a span{font-size:18px;font-weight:400}.scroll-cue{position:absolute;z-index:4;left:50%;bottom:34px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:18px;color:#faf7ef;font:italic 14px/1.5 Georgia,serif;padding:12px 20px;white-space:nowrap;opacity:var(--cue)}.scroll-cue>span{width:1px;height:34px;background:linear-gradient(transparent,#faf7efb0);position:relative}.scroll-cue>span::after{content:"";position:absolute;bottom:0;left:-3px;width:7px;height:7px;border-right:1px solid #faf7efb0;border-bottom:1px solid #faf7efb0;transform:rotate(45deg)}.reveal-anchor{position:absolute;top:calc((100% - 100svh) * .73);scroll-margin-top:-90px}.continuation{text-align:center;padding:84px 20px 76px}.continuation>p{font:italic 18px/1.4 Georgia,serif;color:#536879;margin:0}.continuation h2{font:500 clamp(36px,5vw,54px)/1.2 Georgia,serif;letter-spacing:-1.5px;margin:14px 0 28px}.continuation>a:not(.restart){display:inline-flex;gap:26px;background:#208538;color:white;padding:15px 24px;font-size:13px;border-radius:3px}.restart{display:block;width:max-content;margin:44px auto 0;font-size:12px;color:#536879}.fallback{position:absolute;inset:0;background:#f7f3e8;transition:opacity .35s}.fallback>img:first-child{position:absolute;top:var(--logo-top);left:50%;transform:translateX(-50%);width:var(--logo-size);height:auto;clip-path:circle(47.7%);mix-blend-mode:multiply}.fallback-water{position:absolute;bottom:-4%;left:50%;transform:translateX(-50%);width:max(110vw,900px);height:auto}.fallback::after{content:"";position:absolute;bottom:0;height:3%;width:100%;background:#082740}body[data-renderer="webgl"][data-webgl-status="ready"] .fallback{opacity:0;visibility:hidden}body[data-renderer="fallback"] .journey{height:100svh}body[data-renderer="fallback"] .identity{opacity:1;transform:none}body[data-renderer="fallback"] .scroll-cue{display:none}.status{position:absolute;z-index:5;bottom:18px;left:20px;right:20px;text-align:center;font-size:12px;color:#faf7ef;line-height:1.5}.status[hidden]{display:none}body.past header{background:#f7f3e8f5;border-bottom:1px solid #08274015}@media(max-width:600px){:root{--logo-top:21svh;--logo-size:min(65vw,31svh)}header{padding:24px 20px}.wordmark{font-size:20px}nav{gap:12px}#play{padding:8px 10px;min-width:98px;font-size:11px}#play span{margin-left:7px}.back{display:none}.journey{height:310svh}.identity{top:calc(var(--logo-top) + var(--logo-size) + 18px)}.identity h1{font-size:31px;letter-spacing:-1px}.identity p{font-size:14px;margin-top:10px}.identity a{margin-top:18px}.scroll-cue{font-size:13px;bottom:28px}.continuation{padding-block:64px}.status{font-size:11px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.journey{height:100svh}.stage{position:relative}.identity{opacity:1!important;transform:none!important}.scroll-cue{display:none}#ocean,.fallback{transition:none}}

body.reduced-motion .journey{height:100svh}body.reduced-motion .stage{position:relative}body.reduced-motion .scroll-cue{display:none}html:has(body.reduced-motion){scroll-behavior:auto}

/* The fixed image takes over only when the WebGL emblem reaches this exact box. */
.wordmark{position:relative;white-space:nowrap}
.brand-symbol{position:absolute;left:0;top:50%;transform:translateY(-50%);width:44px;height:44px;clip-path:circle(47.7%);mix-blend-mode:multiply;opacity:var(--brand-alpha);pointer-events:none}
.brand-label{display:inline-block;padding-left:calc(var(--brand-gap) * var(--brand-progress))}
body.static-docked .brand-symbol{opacity:1}body.static-docked .brand-label{padding-left:var(--brand-gap)}
@media(max-width:600px){:root{--brand-gap:46px}.brand-symbol{width:36px;height:36px}}
@media(max-width:380px){:root{--brand-gap:40px}header{padding:20px 16px;gap:10px}.wordmark{font-size:16px}.brand-symbol{width:32px;height:32px}#play{min-width:84px;padding:8px;font-size:10px}}

.identity h1{max-width:none}

/* Separate travelling emblem avoids the opaque header covering its final approach. */
.flying-emblem{position:fixed;left:0;top:0;z-index:11;max-width:none;clip-path:circle(47.7%);pointer-events:none;will-change:transform,opacity}
.flying-emblem[hidden]{display:none}
