*,*:after,*:before{box-sizing:border-box}:root{font-size:12px;--color-text: #fff;--color-bg: #1a1a1f;--color-link: #fff;--color-link-hover: #fff;--page-padding: 1.5rem}html{width:100%;height:100dvh;overflow:hidden;touch-action:none;background:url(../background.webp) no-repeat center center;background-size:cover}body{margin:0;color:var(--color-text);background:transparent;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;height:100dvh;overflow:hidden;touch-action:none}.loading-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10000;background:url(../background.webp) no-repeat center center;background-size:cover;display:flex;justify-content:center;align-items:center;opacity:1;pointer-events:all;transition:opacity 1s cubic-bezier(.25,1,.5,1)}.loading-overlay.fade-out{opacity:0;pointer-events:none}@keyframes fadeTintOut{0%{opacity:1}to{opacity:0}}.loading-overlay__tint{position:absolute;top:0;left:0;width:100%;height:100%;background:#0d0d0f;z-index:1;animation:fadeTintOut 1.8s cubic-bezier(.25,1,.5,1) forwards}.loader{position:relative;z-index:2;opacity:1;transition:opacity .6s cubic-bezier(.25,1,.5,1)}.loader.fade-out{opacity:0}.site-header,.site-footer,.gallery__wrapper__gl,.window-frame{transition:opacity 1s cubic-bezier(.25,1,.5,1)}body.loading .site-header,body.loading .site-footer,body.loading .gallery__wrapper__gl,body.loading .window-frame{opacity:0}body.phase-ui .site-header,body.phase-ui .site-footer,body.phase-ui .gallery__wrapper__gl,body.phase-ui .window-frame{opacity:1}.loader{--s: 25px;--g: 5px;width:calc(3*(1.353*var(--s) + var(--g)));display:grid;justify-items:end;aspect-ratio:3;overflow:hidden;--_m: linear-gradient(90deg, #0000, #000 15px calc(100% - 15px) , #0000);-webkit-mask:var(--_m);mask:var(--_m)}.loader:before{content:"";width:200%;background:linear-gradient(90deg,#ff1818 50%,#0000 0),conic-gradient(from -90deg at var(--s) calc(.353*var(--s)),#fff 135deg,#666 0 270deg,#aaa 0);background-blend-mode:multiply;--_m: linear-gradient(to bottom right, #0000 calc(.25*var(--s)), #000 0 calc(100% - calc(.25*var(--s)) - 1.414*var(--g)), #0000 0), conic-gradient(from -90deg at right var(--g) bottom var(--g), #000 90deg, #0000 0);-webkit-mask:var(--_m);mask:var(--_m);background-size:calc(100%/3) 100%,calc(100%/6) 100%;-webkit-mask-size:calc(100%/6) 100%;mask-size:calc(100%/6) 100%;-webkit-mask-composite:source-in;mask-composite:intersect;animation:l10 1s infinite linear}@keyframes l10{to{transform:translate(calc(100%/3))}}a{text-decoration:none;color:var(--color-link);outline:none;cursor:pointer}a:hover{text-decoration:underline;color:var(--color-link-hover)}a:focus{outline:none;background:#d3d3d3}a:focus:not(:focus-visible){background:transparent}a:focus:focus-visible{outline:2px solid red;background:transparent}.site-header{position:fixed;top:0;left:0;width:100%;height:36px;z-index:2000;display:flex;align-items:center;padding:0 0 0 16px;background:linear-gradient(to bottom,#fff,#dbdbdb,#999);pointer-events:auto}@media screen and (min-width:53em){.site-header{height:28px;padding:0 0 0 12px}}.site-header__logo{display:flex;align-items:center;gap:8px}.site-header__logo-img{height:22px;width:auto;object-fit:contain}@media screen and (min-width:53em){.site-header__logo-img{height:18px}}.site-header__nav{display:flex;align-items:stretch;gap:0;margin-left:12px;height:100%}.site-header__right{display:flex;align-items:stretch;gap:0;margin-left:auto;height:100%}.site-header__right .site-header__menu-btn{padding-left:8px;padding-right:8px}.site-header__menu-btn{font-family:Roboto,sans-serif;font-size:12px;font-weight:500;color:#000;text-decoration:none;padding:0 4px;border-radius:0;cursor:pointer;line-height:1;display:flex;align-items:center;outline:none}.site-header__menu-btn:focus,.site-header__menu-btn:focus-visible,.site-header__menu-btn:active{background:transparent!important;color:#000!important;text-decoration:none!important;outline:none!important;-webkit-tap-highlight-color:transparent}.site-header__menu-btn.is-pressed{background:#4296fa!important;color:#fff!important;text-decoration:none!important;outline:none}@media(hover:hover){.site-header__menu-btn:hover{background:#4296fa!important;color:#fff!important;text-decoration:none!important}}.site-footer{position:fixed;bottom:12px;bottom:calc(12px + env(safe-area-inset-bottom,0px));left:0;z-index:2000;padding:10px 16px;background:transparent;pointer-events:none}@media screen and (max-width:52.99em){.site-footer{bottom:24px;bottom:calc(24px + env(safe-area-inset-bottom,0px))}}.site-footer__text{font-family:Inter,sans-serif;font-size:14px;font-weight:600;color:#fffc;letter-spacing:.02em}main{width:100%;height:100dvh;overflow:hidden}.content{padding:0;display:flex;flex-direction:column;width:100vw;height:100dvh;position:relative;z-index:2;justify-content:center;align-items:center}canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;transition:opacity 1.5s cubic-bezier(.25,1,.5,1)}body.loading canvas{opacity:0;pointer-events:none}body.phase-media canvas{opacity:1;pointer-events:auto}.gallery__overlay{position:absolute;bottom:0;left:0;width:100%;background:linear-gradient(to top,#4296fa 0%,transparent 100%);backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);z-index:100;padding:16px 20px;pointer-events:none;max-height:100%;overflow:hidden;transition:opacity 1s cubic-bezier(.25,1,.5,1)}body.loading .gallery__overlay{opacity:0}body.phase-overlay .gallery__overlay{opacity:1}.gallery__overlay-heading{font-family:Inter,sans-serif;font-size:18px;font-weight:600;color:#fff;margin:0 0 2px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gallery__overlay-subheading{font-family:Inter,sans-serif;font-size:16px;font-weight:600;color:#ffffffdf;margin:0;line-height:1.3}.window-frame{flex-shrink:0;display:flex;flex-direction:column;background:transparent;border-radius:1px;box-shadow:0 12px 36px #00000040,0 4px 12px #00000026}.window-titlebar{height:20px;min-height:20px;background:#d1d1d1;display:flex;align-items:center;padding:0 8px;gap:6px}@media screen and (max-width:52.99em){.window-titlebar{height:24px;min-height:24px}}.window-titlebar__icon{height:20px;width:20px;object-fit:contain;flex-shrink:0;margin-left:-6px;margin-right:-4px}.window-titlebar__text{font-family:Inter,sans-serif;font-size:11px;font-weight:500;color:#000;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2}.window-body{border-left:4px solid #d1d1d1;border-right:4px solid #d1d1d1;border-bottom:4px solid #d1d1d1}.gallery__media__video__gl{position:relative;opacity:0;width:auto;height:100%;object-fit:contain;pointer-events:none}video::-webkit-media-controls{display:none!important}video::-webkit-media-controls-enclosure{display:none!important}video::-webkit-media-controls-panel{display:none!important}.gallery__intro,.gallery__outro{flex-shrink:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;height:80vh;width:440px;max-width:85vw;padding-right:3rem;background:transparent;box-sizing:border-box;will-change:opacity,filter}@media screen and (max-width:52.99em){.gallery__intro,.gallery__outro{height:40dvh;width:280px;padding-right:1.5rem}}.gallery__intro-brand{font-family:Inter,sans-serif;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.15em;color:#4296fa;margin-bottom:1.5rem}.gallery__intro-cta{display:inline-flex;align-items:center;gap:6px;background-color:#aaccf4;color:#000!important;font-family:Inter,sans-serif;font-size:11px;font-weight:600;padding:6px;border-color:#2d2d2d;border:.2px solid;text-decoration:none;transition:none;margin-bottom:2rem;pointer-events:auto;border-radius:4px;text-shadow:none!important}@media(hover:hover){.gallery__intro-cta:hover{background-color:#0f87fa;text-decoration-line:none;transition:none}}.gallery__intro-cta:active{background-color:#0d75db;transform:scale(.97);transition:transform .05s ease}.gallery__intro-cta-chevron{width:12px;height:12px;stroke:#000;transition:none}.gallery__intro-title{font-family:Inter,sans-serif;font-size:clamp(3rem,6vw,4rem);font-weight:700;line-height:1.1;color:#fff;margin:0 0 1.5rem;letter-spacing:-.02em}.gallery__intro-description{font-family:Inter,sans-serif;font-size:18px;font-weight:800;line-height:1.6;color:#ffffffe6;margin:0 0 3rem}.gallery__intro-hint{display:flex;align-items:center;gap:.75rem;font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:#fffc;animation:nudgeText 1.5s infinite ease-in-out}.gallery__intro-hint .hint-desktop{display:inline}.gallery__intro-hint .hint-mobile{display:none}@media screen and (max-width:52.99em){.gallery__intro-hint .hint-desktop{display:none}.gallery__intro-hint .hint-mobile{display:inline}}@keyframes nudgeText{0%,to{transform:translate(0)}50%{transform:translate(6px)}}.gallery__outro{padding-left:4rem}@media screen and (max-width:52.99em){.gallery__outro{padding-left:2rem}}.gallery__wrapper{position:relative;width:100%;overflow:hidden;-webkit-user-select:none;user-select:none}.gallery__wrapper__gl{position:relative;width:100%;overflow:visible;-webkit-user-select:none;user-select:none}.gallery__image__container,.gallery__image__container__gl{display:flex;gap:2rem;will-change:transform;height:100%;padding-left:calc(8vw + 32px)}@media screen and (max-width:52.99em){.gallery__image__container,.gallery__image__container__gl{padding-left:24px}}.gallery__image__container:after,.gallery__image__container__gl:after{content:"";display:block;flex:0 0 calc(8vw + 32px)}@media screen and (max-width:52.99em){.gallery__image__container:after,.gallery__image__container__gl:after{flex:0 0 24px}}.gallery__media,.gallery__media__gl{max-height:80vh;height:80vh;overflow:hidden;position:relative;display:flex;width:fit-content}.gallery__empty__gl{aspect-ratio:4 / 3;max-height:80vh;height:80vh;overflow:hidden;position:relative;display:block}@media screen and (max-width:52.99em){.gallery__media,.gallery__media__gl,.gallery__empty__gl{max-height:40dvh;height:40dvh}}.gallery__media__image{position:relative;width:auto;height:100%;object-fit:contain}.gallery__media__image__gl{position:relative;opacity:0;width:auto;height:100%;object-fit:contain}
