.opening-open{overflow:hidden}
.opening{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;overflow-x:hidden;overflow-y:auto;padding:max(28px,env(safe-area-inset-top)) 5.5vw max(28px,env(safe-area-inset-bottom));background:#151615;color:#eff0e7;isolation:isolate;opacity:1;transition:opacity .65s ease,visibility .65s}
.opening[hidden]{display:none}
.opening-header,.opening-footer{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.opening-brand{display:flex;align-items:center;gap:13px;font-size:15px;letter-spacing:1px;line-height:1.5}
.opening-brand svg{width:38px;fill:none;stroke:#eff0e7;stroke-width:1.5;flex:none}
.opening-brand-dot{fill:#d9ef83;stroke:#151615;stroke-width:3}
.opening-brand>span>span{display:block;margin-top:2px;font-size:10px;letter-spacing:2.5px;color:#929b84}
.opening-badge{font-size:10px;letter-spacing:2px;color:#8f9786}
.opening-body{position:relative;display:flex;align-items:center;flex:1;min-height:440px;padding:65px 0 75px}
.opening-copy{position:relative;z-index:2;width:min(760px,75vw)}
.opening-eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 30px;color:#929d83;font-size:10px;letter-spacing:2.5px}
.opening-eyebrow>span{display:block;width:29px;height:1px;background:#d9ef83;opacity:.65}
.opening-title{margin:0;font-size:clamp(40px,5.8vw,84px);font-weight:500;line-height:1.23;letter-spacing:-.035em;white-space:pre-line;overflow-wrap:anywhere}
.opening-edition{margin:27px 0 0;color:#a8b09c;font-size:15px;line-height:1.7;letter-spacing:2px}
.opening-enter{display:flex;align-items:center;justify-content:space-between;gap:44px;min-width:196px;min-height:58px;margin-top:45px;padding:0 21px 0 25px;border:1px solid #d9ef8366;border-radius:32px;background:#d9ef8308;color:#d9ef83;font:inherit;font-size:14px;letter-spacing:2px;cursor:pointer;transition:background .2s,border-color .2s,opacity .2s}
.opening-enter svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round;transition:transform .25s}
.opening-enter:hover:not(:disabled){background:#d9ef8318;border-color:#d9ef83}
.opening-enter:hover:not(:disabled) svg{transform:translateX(4px)}
.opening-enter:disabled{opacity:.4;cursor:wait}
.opening-enter:focus-visible{outline:2px solid #d9ef83;outline-offset:7px}
.opening-orbit{position:absolute;top:50%;left:68%;width:min(57vw,760px);aspect-ratio:1;transform:translate(-50%,-50%);pointer-events:none;transition:opacity .65s,transform .8s}
.opening-orbit>svg{display:block;width:100%;height:100%;overflow:visible}
.opening-ring{stroke:#d9ef832a;stroke-width:.65}
.opening-ring.faint{stroke:#d9ef8312}
.opening-ticks{stroke:#d9ef8336;stroke-width:6;stroke-dasharray:.1 1.9}
.opening-arc{stroke:#d9ef8370;stroke-width:1;stroke-dasharray:23 77;stroke-linecap:round}
.opening-node{fill:#d9ef83}
.opening-halo{fill:#d9ef8310;stroke:#d9ef8325;stroke-width:.5}
.opening-segments{stroke:#d9ef832f;stroke-width:.8;stroke-dasharray:24 9 2 23 13 29}
.opening-cross{stroke:#d9ef8350;stroke-width:.7}
.opening-core{fill:#151615;stroke:#d9ef8319;stroke-width:.6}
.opening-rotor,.opening-inner-rotor{transform-origin:300px 300px;animation:opening-turn 55s linear infinite}
.opening-inner-rotor{animation-duration:39s;animation-direction:reverse}
.opening-readout{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;font-variant-numeric:tabular-nums}
.opening-readout>span:first-child{font-size:clamp(30px,3.7vw,52px);font-weight:300;line-height:1;letter-spacing:-2px;color:#d6ddc9}
.opening-readout>span:last-child{font-size:8px;letter-spacing:2.8px;color:#69725d}
.opening-footer{gap:24px;padding-top:20px;border-top:1px solid #d9ef8312;font-size:10px;letter-spacing:1px;color:#7f8973}
.opening-footer>span:last-child{font-size:8px;letter-spacing:2px}
.opening-footer>span:last-child>span{margin-left:16px;color:#b3c29c;font-size:13px}
.opening.is-leaving{opacity:0;visibility:hidden;pointer-events:none}
.opening.is-leaving .opening-orbit{opacity:0;transform:translate(-50%,-50%) rotate(12deg) scale(1.05)}
#journey:focus{outline:none}
@keyframes opening-turn{to{transform:rotate(360deg)}}
@media(max-width:700px){.opening{padding:24px 6vw max(26px,env(safe-area-inset-bottom))}.opening-brand{font-size:13px;gap:10px}.opening-brand svg{width:32px}.opening-brand>span>span{font-size:9px;letter-spacing:2px}.opening-badge{max-width:85px;text-align:right;font-size:8px;line-height:1.7;letter-spacing:1.5px}.opening-body{min-height:420px;padding:90px 0 65px}.opening-copy{width:100%}.opening-eyebrow{margin-bottom:25px;font-size:8px;letter-spacing:1.8px}.opening-eyebrow>span{width:22px}.opening-title{font-size:clamp(32px,9.8vw,57px);line-height:1.32;letter-spacing:-.04em}.opening-edition{font-size:12px;letter-spacing:1.5px;margin-top:25px}.opening-enter{min-width:181px;min-height:55px;margin-top:36px;padding-left:23px;font-size:13px}.opening-orbit{left:88%;top:40%;width:138vw;max-width:640px;opacity:.45}.opening-readout{opacity:.6}.opening-readout>span:first-child{font-size:36px}.opening-footer{padding-top:18px;font-size:9px;gap:12px}.opening-footer>span:last-child{font-size:7px;letter-spacing:1px}.opening-footer>span:last-child>span{margin-left:8px}}
@media(max-height:560px){.opening{padding-top:20px;padding-bottom:20px}.opening-body{min-height:0;padding:24px 0}.opening-title{font-size:clamp(26px,4vw,44px);line-height:1.15}.opening-eyebrow{margin-bottom:12px}.opening-edition{margin-top:12px;font-size:12px}.opening-enter{margin-top:18px;min-height:44px}.opening-footer{padding-top:10px}}
@media(prefers-reduced-motion:reduce){.opening,.opening-orbit,.opening-enter,.opening-enter svg{transition:none}.opening-rotor,.opening-inner-rotor{animation:none}}
