@font-face{font-family:Space;src:url('/assets/space-grotesk.woff2') format('woff2');font-style:normal;font-weight:300 700;font-display:swap}
/* Layers: scene 0, content 1, masthead 3, intro 4, skip control 5. */
:root{color-scheme:dark;--paper:#111713;--ink:#f1f1e8;--muted:#a8b0a6;--accent:#eef2e7;--line:#ffffff26;--field:#19221b;--error:#ffa991;font-family:Space,Arial,sans-serif;background:var(--paper);color:var(--ink);font-synthesis:none}
:root[data-theme=light]{color-scheme:light;--paper:#edf0e7;--ink:#16251b;--muted:#53634f;--accent:#223c2b;--line:#16251b33;--field:#f8faf1;--error:#a73222}
@media(prefers-color-scheme:light){:root:not([data-theme=dark]){color-scheme:light;--paper:#edf0e7;--ink:#16251b;--muted:#53634f;--accent:#223c2b;--line:#16251b33;--field:#f8faf1;--error:#a73222}}
*{box-sizing:border-box}body{margin:0;min-height:100dvh;position:relative;isolation:isolate;overflow-x:hidden;display:flex;flex-direction:column}button,input{font:inherit}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;touch-action:manipulation}a{color:inherit}button:disabled{cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}button:focus:not(:focus-visible){outline:none}button[hidden]{display:none!important}::selection{color:var(--paper);background:var(--accent)}
.masthead{position:relative;z-index:3;height:80px;min-height:80px;margin:0 6%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;gap:14px;align-items:center;text-decoration:none}.brand-symbol{font-weight:700;letter-spacing:-5px;font-size:40px;line-height:1}.brand-symbol>span{font-size:9px;letter-spacing:0;vertical-align:top;display:inline-block;margin:6px 0 0 4px}.brand-name{font-size:10px;font-weight:600;letter-spacing:1.1px;line-height:1.1}.controls{display:flex;gap:24px;align-items:center}.utility-button{padding:12px 0;min-width:24px;border:0;background:none;display:flex;gap:8px;align-items:center;font-size:12px}.pause-symbol{font-size:14px}.theme-button{font-size:20px;min-width:28px;justify-content:center}
#scene{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.terrain-image{position:absolute;inset:0;background:url('/assets/yorkshire-terrain.webp') 50% 55%/cover;opacity:0;pointer-events:none;z-index:0}.edge-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,var(--paper) 2%,transparent 65%);opacity:.35}
#gateway{position:relative;z-index:1;flex:1;min-height:500px;padding:55px 6% 75px;display:flex;align-items:center}.gateway-copy{width:56%;max-width:760px}h1{font-size:clamp(52px,6.2vw,96px);font-weight:500;line-height:1.08;letter-spacing:-.055em;margin:0 0 22px}.headline-mask{display:block;overflow:hidden;padding:0 0 .13em;margin-bottom:-.13em}.headline-line{display:block;transform-origin:left bottom;will-change:transform}.introduction{font-size:17px;line-height:1.6;color:var(--muted);margin:0 0 40px;font-weight:400}#access-form{max-width:390px}label{display:block;font-size:12px;margin-bottom:10px}.access-field{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:12px;background:var(--field);padding:5px;min-height:62px;transition:border-color .2s,box-shadow .2s}.access-field:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}input{min-width:0;flex:1;width:100%;color:var(--ink);background:transparent;border:0;outline:0!important;padding:12px 14px;font-size:15px}input::placeholder{color:var(--muted);opacity:1}#access-submit{flex:none;width:50px;min-height:50px;border:0;border-radius:8px;display:grid;place-items:center;color:var(--paper);background:var(--ink);overflow:hidden;transition:opacity .2s}#access-submit:hover{opacity:.8}.submit-arrow{width:26px;height:26px;display:block;transition:transform .25s}#access-submit:hover .submit-arrow{transform:translate(2px,-2px)}.submit-loader{display:none;width:20px;height:20px;border:1px solid var(--muted);border-top-color:var(--paper);border-radius:50%}#access-form[aria-busy=true] .submit-arrow{display:none}#access-form[aria-busy=true] .submit-loader{display:block;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#access-message{min-height:40px;font-size:12px;color:var(--muted);line-height:1.6;margin:12px 0 0}#access-message.is-error{color:var(--error)}.access-field:has([aria-invalid=true]){border-color:var(--error)}.no-script{font-size:12px;color:var(--error)}
.page-footer{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 6% 28px}.copyright{font-size:11px;color:var(--muted)}.replay-button{display:flex;gap:8px;align-items:center;background:none;border:0;font-size:12px;padding:7px 0;color:var(--muted)}.replay-button>span{font-size:18px}
.intro{position:fixed;inset:0;z-index:4;pointer-events:none;visibility:hidden;overflow:hidden}.intro-title{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;text-align:center;line-height:1;letter-spacing:-.065em;opacity:0;font-size:clamp(60px,12vw,190px);font-weight:500;will-change:transform,opacity}.intro-title strong{font-weight:500;color:var(--ink);perspective:800px;white-space:nowrap}.kinetic-char{display:inline-block;transform-origin:center 80%;backface-visibility:hidden}.intro-track{position:absolute;bottom:59px;left:6%;right:6%;height:1px;background:var(--line)}.intro-track span{display:block;height:1px;transform:scaleX(0);transform-origin:left;background:var(--ink)}.skip-button{position:fixed;z-index:5;right:6%;bottom:15px;background:none;border:0;padding:12px 0;font-size:12px;display:flex;gap:14px;align-items:center}.skip-button>span{font-size:18px}.intro-playing{overflow:hidden}.intro-playing #gateway,.intro-playing .page-footer{pointer-events:none}.intro-playing .intro{visibility:visible}
@media(max-width:767px){.masthead{height:79px;min-height:79px}.brand-symbol{font-size:35px}.brand-name{font-size:9px}.control-label{display:none}#gateway{padding:255px 7% 10px;min-height:590px;align-items:flex-start}.gateway-copy{width:100%;max-width:none}h1{font-size:clamp(40px,10vw,64px);margin-bottom:17px}.introduction{font-size:14px;line-height:1.65;margin-bottom:30px}#access-form{max-width:none}input{font-size:16px;padding-left:12px}.page-footer{padding:18px 7% 22px}.copyright{font-size:10px}.replay-button{font-size:11px}.intro-title{font-size:15.5vw;padding-bottom:10%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:0s!important;transition-duration:0s!important}.headline-line{will-change:auto}}

/* Self-hosted SVG icons: platform fonts never render these controls. */
.icon{display:inline-block;width:18px;height:18px;flex:none;vertical-align:middle;background:currentColor;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}.icon-arrow{--icon:url("/assets/icons/arrow-up-right.svg")}.icon-pause{--icon:url("/assets/icons/pause.svg")}.icon-play{--icon:url("/assets/icons/play.svg")}.icon-theme{--icon:url("/assets/icons/circle-half.svg");width:20px;height:20px}.icon-replay{--icon:url("/assets/icons/arrow-counter-clockwise.svg");width:16px;height:16px}.submit-arrow.icon{width:26px;height:26px}.pause-symbol.icon{width:14px;height:14px}
