.button{--button-bg:var(--base-100);--button-fg:var(--base-500);--button-hover-bg:var(--base-400);--button-hover-fg:var(--base-100);--button-ease-power:cubic-bezier(.22, 1, .36, 1);align-items:center;gap:.25rem;width:max-content;text-decoration:none;display:inline-flex}.button--light{--button-bg:var(--base-100);--button-fg:var(--base-500)}.button--dark{--button-bg:var(--base-100);--button-fg:var(--base-500);--button-hover-bg:var(--base-300);--button-hover-fg:var(--base-500)}.button__label,.button__icon{min-height:3rem;color:var(--button-fg);isolation:isolate;transition:color .3s var(--button-ease-power);border-radius:.4rem;justify-content:center;align-items:center;display:inline-flex;position:relative;overflow:hidden}.button__label{padding:0 1.5rem}.button__label:before,.button__icon:before{content:"";background-color:var(--button-hover-bg);transition:transform .35s var(--button-ease-power);z-index:1;border-radius:.4rem;position:absolute;inset:0;transform:translateY(100%)}.button__label:after,.button__icon:after{content:"";background-color:var(--button-bg);transition:transform .35s var(--button-ease-power);z-index:0;border-radius:.4rem;position:absolute;inset:0;transform:scale(1)}.button--default .button__icon{aspect-ratio:1;width:3rem;font-size:1.25rem}.button--no-icon .button__label{padding:0 2rem}.button p.mono{z-index:2;margin:0;position:relative}.button__icon>*{z-index:2;position:relative}.button:hover .button__label,.button:hover .button__icon{color:var(--button-hover-fg)}.button:hover .button__label:before,.button:hover .button__icon:before{transform:translateY(0)}.button:hover .button__label:after,.button:hover .button__icon:after{transform:scale(.9)}.button:focus-visible{outline:2px solid var(--button-hover-bg);outline-offset:3px}
.passage-canvas{z-index:1;pointer-events:none;visibility:hidden;background:#000;width:100%;height:100%;position:absolute;inset:0}.passage-canvas--active{visibility:visible;pointer-events:auto}.passage-canvas canvas{width:100%;height:100%;position:absolute;top:0;left:0}
.gallery-passage{width:100%;min-height:100svh;position:relative}.gallery-passage-viewport{z-index:3;opacity:1;background:#000;width:100%;height:100svh;position:relative;overflow:hidden}.gallery-passage-viewport--booting{background-color:#000}.gallery-passage-viewport--booting>*{visibility:hidden;opacity:0;pointer-events:none}.gallery-passage--exited .gallery-passage-viewport{opacity:0;visibility:hidden;pointer-events:none}.gallery-passage--pinned .gallery-passage-viewport{box-shadow:0 -2px #000,0 2px #000}.gallery-passage--handoff .gallery-passage-viewport{opacity:calc(1 - var(--passage-works-handoff,0))}.gallery-passage--immersive{background-color:#000;min-height:100svh}.gallery-passage--immersive .gallery-passage-viewport{background-color:#000;background-image:none;height:100svh}.gallery-passage-fallback{display:none}.gallery-passage--show-fallback{min-height:0}.gallery-passage--show-fallback .gallery-passage-viewport{display:none}.gallery-passage--show-fallback .gallery-passage-fallback{color:var(--base-100);background-color:#000;display:block}.gallery-passage-fallback__inner{flex-direction:column;gap:clamp(1.5rem,4vw,2.5rem);width:min(100%,56rem);margin:0 auto;padding:clamp(5.5rem,14vw,7rem) .75rem clamp(3rem,8vw,4rem);display:flex}.gallery-passage-fallback__header{flex-direction:column;gap:1rem;max-width:40rem;display:flex}.gallery-passage-fallback__header h1.v2{color:var(--base-100);font-size:clamp(2rem,8vw,3.75rem);line-height:.95}.gallery-passage-fallback__lede{max-width:34rem;color:color-mix(in srgb, var(--base-100) 78%, transparent);font-size:clamp(.95rem,2.4vw,1.05rem);line-height:1.45}.gallery-passage-fallback__feature{color:inherit;background-color:#111;border-radius:.75rem;flex-direction:column;text-decoration:none;display:flex;overflow:hidden}.gallery-passage-fallback__feature:focus-visible{outline:2px solid var(--base-500);outline-offset:3px}.gallery-passage-fallback__feature-media{aspect-ratio:16/10;width:100%;position:relative}.gallery-passage-fallback__feature-copy{padding:1.25rem 1rem 1.5rem}.gallery-passage-fallback__feature-copy h2{margin-top:.35rem;font-size:clamp(1.75rem,7vw,2.75rem);line-height:.95}
.scroll-down-indicator{transform:translateX(-50%) translateY(var(--scroll-indicator-translate,0)) scale(var(--scroll-indicator-scale,1));color:#fff;opacity:var(--scroll-indicator-opacity,1);z-index:4;pointer-events:none;flex-direction:column;align-items:center;transition:opacity .3s,transform .3s;display:flex;position:absolute;bottom:2.5rem;left:50%}.modern-scroll-indicator{flex-direction:column;align-items:center;height:3.5rem;display:flex;position:relative}.indicator-line{background:linear-gradient(to bottom, rgba(255, 255, 255, calc(var(--scroll-indicator-opacity,1) * .9)), rgba(255, 255, 255, calc(var(--scroll-indicator-opacity,1) * .2)));transform-origin:top;width:1px;height:2.5rem;margin-bottom:.2rem;transition:background .3s;position:relative}.indicator-dot-container{justify-content:center;align-items:center;width:40px;height:5px;display:flex;position:absolute;top:-3px;left:50%;transform:translate(-50%)}.indicator-dot{z-index:2;background-color:#fff;border-radius:50%;width:5px;height:5px;box-shadow:0 0 8px #fffc}.half-circle-left{opacity:.6;z-index:1;background-color:#0000;border-left:1px solid #fffc;border-radius:8px 0 0 8px;width:8px;height:8px;position:absolute;left:.65rem}.half-circle-right{opacity:.6;z-index:1;background-color:#0000;border-right:1px solid #fffc;border-radius:0 8px 8px 0;width:8px;height:8px;position:absolute;right:.65rem}.indicator-arrows{opacity:calc(var(--scroll-indicator-opacity,1) * 1.2);flex-direction:column;align-items:center;transition:opacity .2s;animation:2s ease-in-out infinite scroll-down-float;display:flex}.arrow-down{border-bottom:1px solid #fff;border-right:1px solid #fff;width:10px;height:10px;margin-bottom:-4px;transform:rotate(45deg)}.arrow-down-2{opacity:.6}.scroll-down-indicator--enter .indicator-dot{animation:.45s forwards scroll-down-dot-in}.scroll-down-indicator--enter .half-circle-left{opacity:0;animation:.4s 80ms forwards scroll-down-arc-in}.scroll-down-indicator--enter .half-circle-right{opacity:0;animation:.4s .14s forwards scroll-down-arc-in}.scroll-down-indicator--enter .indicator-line{animation:.5s .1s forwards scroll-down-line-in;transform:scaleY(0)}.scroll-down-indicator--enter .indicator-arrows{opacity:0;animation:.4s .35s forwards scroll-down-arrows-in,2s ease-in-out .75s infinite scroll-down-float}@keyframes scroll-down-dot-in{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes scroll-down-arc-in{to{opacity:.6}}@keyframes scroll-down-line-in{to{transform:scaleY(1)}}@keyframes scroll-down-arrows-in{to{opacity:1}}@keyframes scroll-down-float{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.scroll-down-indicator--enter .indicator-dot,.scroll-down-indicator--enter .half-circle-left,.scroll-down-indicator--enter .half-circle-right,.scroll-down-indicator--enter .indicator-line,.scroll-down-indicator--enter .indicator-arrows{opacity:unset;animation:none;transform:none}.indicator-arrows{animation:none}}
