
@font-face{font-family:'SF Pro';src:local('SF Pro Text'),local('Arial');font-weight:400}
@font-face{font-family:'SF Pro';src:local('SF Pro Text Bold'),local('Arial Bold');font-weight:700}
@font-face{font-family:'SF Pro Thin';src:local('SF Pro Display Thin'),local('Helvetica Neue Thin');font-weight:100}
@font-face{font-family:Aalto;src:local('Aalto'),local('Arial Narrow'),local('Bahnschrift');font-weight:400;font-stretch:50% 100%}
:root{font-family:'SF Pro',Arial,sans-serif;color:#fff;background:#090807;font-synthesis:none}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}
.experience{position:relative;width:100%;height:100%;min-height:540px;overflow:hidden;background:#0a0908}
.backgrounds,.background,.shade,.transition-layer,.transition-layer video{position:absolute;inset:0;width:100%;height:100%}
.background{object-fit:cover;opacity:0;transition:opacity .8s ease}.background.is-visible{opacity:1}
.shade{z-index:1;background:linear-gradient(to bottom,rgba(0,0,0,.32) 0%,rgba(0,0,0,.4) 52%,rgba(0,0,0,.9) 100%);pointer-events:none}
.chrome{position:absolute;z-index:4;transition:opacity .45s ease,filter .45s ease}
.experience.is-transitioning .chrome{opacity:0;filter:blur(8px);pointer-events:none}
.header{left:clamp(18px,1.95vw,28px);right:clamp(18px,1.95vw,28px);top:clamp(18px,3.1vh,28px);display:flex;justify-content:space-between;align-items:center}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:8px}
.nav{display:flex;align-items:center;height:42px;padding:4px 5px;border:1px solid rgba(255,255,255,.45);background:rgba(255,255,255,.1);backdrop-filter:blur(12px);border-radius:999px}
.nav a{color:#fff;text-decoration:none;padding:8px 19px;border-radius:999px;line-height:1}.nav a.active{background:#fff;color:#000}
.menu{height:42px;padding:0 20px;border:0;border-radius:999px;background:#fff;color:#000;cursor:pointer;font:inherit}
.planet-list{left:clamp(18px,1.95vw,28px);top:50%;transform:translateY(-43%);display:flex;flex-direction:column;gap:6px;font-size:16px}
.planet-item{display:flex;align-items:center;min-height:20px}.planet-item.active{font-size:18px;font-weight:700;gap:8px}.planet-item.active:before{content:'';width:16px;height:16px;border-radius:50%;background:#fff}
.portal-wrap{left:50%;top:50%;width:min(320px,31vw);transform:translate(-50%,-54%);perspective:none}
.portal-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;font-size:16px;opacity:0}.portal-heading strong{font-size:18px;margin-left:8px}
.portal{position:relative;display:block;width:100%;aspect-ratio:320/350;padding:0;overflow:visible;border:0;border-radius:90px;background:transparent;cursor:pointer;box-shadow:none;transform:none!important}
.portal video,.portal img{visibility:hidden;position:absolute;width:1px;height:1px;pointer-events:none}
.portal-canvas{position:fixed;inset:0;z-index:3;width:100%;height:100%;pointer-events:none}
.planet-content{left:clamp(28px,4vw,58px);right:clamp(28px,3vw,44px);bottom:clamp(24px,3vh,30px);display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.planet-content h1{font-family:Aalto,'Arial Narrow',sans-serif;font-stretch:condensed;font-variation-settings:'wdth' 75;font-size:clamp(128px,21.8vw,314px);font-weight:400;line-height:.72;margin:0 0 -.04em;letter-spacing:0;transform:translateX(-32px);opacity:0}
.planet-content dl{flex-shrink:0;width:min(447px,34vw);margin:0;font-size:16px}.fact{display:grid;grid-template-columns:138px 1fr;gap:18px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.48);opacity:0}.fact:last-child{border-bottom:0}.fact dt{font-weight:700}.fact dd{margin:0}
.transition-layer{display:none}.scene-canvas{display:none}
.loading{position:absolute;z-index:12;left:50%;bottom:30px;transform:translateX(-50%);opacity:0;font-size:12px;letter-spacing:.14em;text-transform:uppercase;transition:opacity .2s}.experience.is-loading .loading{opacity:.8}
.experience.is-transitioning .header,.experience.is-transitioning .planet-list{opacity:1;filter:none;pointer-events:auto}.experience.is-transitioning .shade{opacity:1}.experience.is-committing .background{transition:none!important}
.preloader{position:absolute;inset:0;z-index:20;background:#000;overflow:hidden}.preloader video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.preloader-shade{position:absolute;inset:auto 0 0;height:35%;background:linear-gradient(to bottom,transparent,#000)}.preloader.is-background{z-index:0}.preloader.is-background .preloader-shade{opacity:0}
.floating-logo{position:fixed;z-index:22;left:50%;top:50%;width:59px;height:58px;transform:translate(-50%,-50%);will-change:left,top,width,height,transform;transition:left 2s cubic-bezier(.16,1,.3,1),top 2s cubic-bezier(.16,1,.3,1),width 2s cubic-bezier(.16,1,.3,1),height 2s cubic-bezier(.16,1,.3,1),transform 2s cubic-bezier(.16,1,.3,1)}
.floating-logo.is-docked{left:clamp(18px,1.95vw,28px);top:clamp(18px,3.1vh,28px);width:37px;height:36px;transform:none}.floating-logo.is-settled{z-index:5}
.preloader-count{position:fixed;z-index:22;left:50%;bottom:clamp(22px,3.1vh,28px);display:flex;align-items:flex-end;gap:4px;transform:translateX(-50%);font-family:'SF Pro',Arial,sans-serif;line-height:1}.preloader-count>span:first-child{font-family:'SF Pro Thin','SF Pro',Arial,sans-serif;font-size:64px;font-weight:100}.preloader-count .percent{font-size:24px;padding-bottom:4px}.preloader-count.is-leaving{animation:preload-count-out .75s cubic-bezier(.22,1,.36,1) both}
@keyframes preload-count-out{to{opacity:0;filter:blur(7px);transform:translate(-50%,-34px)}}body:not(.preload-complete) .custom-cursor{opacity:0!important}
html,body,button,a,.portal{cursor:none!important}.custom-cursor{display:block;position:fixed;left:0;top:0;z-index:100;width:1px;height:1px;pointer-events:none;opacity:0;transition:opacity .2s ease}.custom-cursor.is-visible{opacity:1}
.cursor-dot,.cursor-orbit{position:absolute;left:0;top:0;border-radius:50%;transform:translate(-50%,-50%)}.cursor-dot{width:12px;height:12px;background:#fff}.cursor-orbit{width:36px;height:36px;border:1px solid #fff;background:rgba(255,255,255,.4);transition:transform .3s cubic-bezier(.22,1,.36,1)}.custom-cursor.is-enter .cursor-orbit{transform:translate(-50%,-50%) scale(1.16)}.cursor-label{position:absolute;top:26px;left:0;transform:translateX(-50%) translateY(-4px);font:16px/1.2 'SF Pro',Arial,sans-serif;white-space:nowrap;opacity:0;transition:opacity .2s ease,transform .3s cubic-bezier(.22,1,.36,1)}.custom-cursor.is-enter .cursor-label{opacity:1;transform:translateX(-50%) translateY(0)}
body:not(.intro-ready) .header,body:not(.intro-ready) .planet-list,body:not(.intro-ready) .planet-content h1,body:not(.intro-ready) .planet-content .fact{opacity:0}
.intro-ready .header{animation:reveal-down .9s cubic-bezier(.22,1,.36,1) .1s both}.intro-ready .planet-list{animation:reveal-side .9s cubic-bezier(.22,1,.36,1) .65s both}
.content-revealing h1{animation:title-rise 1.05s cubic-bezier(.16,1,.3,1) both}.content-revealing .fact{animation:fact-rise .72s cubic-bezier(.22,1,.36,1) both}.fact:nth-child(1){animation-delay:.52s}.fact:nth-child(2){animation-delay:.68s}.fact:nth-child(3){animation-delay:.84s}.fact:nth-child(4){animation-delay:1s}
.mask-revealing .portal-heading{animation:portal-caption .85s cubic-bezier(.22,1,.36,1) both}.planet-list.is-switching .planet-item{animation:menu-row .58s cubic-bezier(.22,1,.36,1) both}.planet-item:nth-child(1){animation-delay:.02s}.planet-item:nth-child(2){animation-delay:.05s}.planet-item:nth-child(3){animation-delay:.08s}.planet-item:nth-child(4){animation-delay:.11s}.planet-item:nth-child(5){animation-delay:.14s}.planet-item:nth-child(6){animation-delay:.17s}.planet-item:nth-child(7){animation-delay:.2s}.planet-item:nth-child(8){animation-delay:.23s}.planet-list.is-switching .planet-item.active:before{animation:active-dot .55s cubic-bezier(.22,1,.36,1) .18s both}
@keyframes reveal-down{from{opacity:0;filter:blur(8px);transform:translateY(-18px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
@keyframes reveal-side{from{opacity:0;filter:blur(8px);transform:translate(-20px,-43%)}to{opacity:1;filter:blur(0);transform:translate(0,-43%)}}
@keyframes title-rise{from{opacity:0;filter:blur(12px);transform:translate(-32px,42px)}to{opacity:1;filter:blur(0);transform:translate(-32px,0)}}
@keyframes fact-rise{from{opacity:0;filter:blur(7px);transform:translateY(18px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
@keyframes portal-caption{from{opacity:0;filter:blur(7px);transform:translateY(22px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
@keyframes menu-row{from{opacity:.35;transform:translateX(-8px)}to{opacity:1;transform:translateX(0)}}@keyframes active-dot{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}
:focus-visible{outline:2px solid white;outline-offset:6px}
.menu-panel{position:absolute;z-index:8;right:28px;top:82px;padding:24px;min-width:210px;border:1px solid #ffffff45;border-radius:24px;background:#090807da;backdrop-filter:blur(20px)}.menu-panel[hidden]{display:none}.menu-panel a{display:block;color:#fff;text-decoration:none;padding:10px 0}.menu-panel p{font-size:12px;color:#aaa;margin:14px 0 0}
@media(max-width:900px){.nav{display:none}.portal-wrap{width:min(300px,48vw)}.planet-content h1{font-size:clamp(105px,24vw,190px)}.planet-content dl{width:43vw}.fact{grid-template-columns:110px 1fr}.planet-list{font-size:14px}.planet-item.active{font-size:16px}}
@media(max-width:640px){.experience{min-height:600px}.planet-list{display:none}.portal-wrap{top:44%;width:min(260px,66vw)}.planet-content{left:18px;right:18px;bottom:18px;display:block}.planet-content h1{font-size:clamp(98px,30vw,160px);margin-bottom:20px;transform:none}.content-revealing h1{animation-name:phone-title-rise}.planet-content dl{width:100%;font-size:13px}.fact{grid-template-columns:92px 1fr;padding:5px 0}.portal-heading{font-size:14px}.portal-heading strong{font-size:16px}.menu{height:38px}.portal{border-radius:70px}}
@keyframes phone-title-rise{from{opacity:0;filter:blur(12px);transform:translateY(42px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
@media(pointer:coarse){html,body,button,a,.portal{cursor:auto!important}.custom-cursor{display:none}}
@media(prefers-reduced-motion:reduce){*{transition-duration:.01ms!important}.portal{transform:none!important}}

.travel-status{position:fixed;z-index:15;top:80px;left:50%;transform:translateX(-50%);font:14px Arial,sans-serif;color:#fff;text-align:center;pointer-events:none}
.portal:focus-visible,.menu:focus-visible,a:focus-visible{outline:2px solid #fff;outline-offset:6px}
.planet-item{appearance:none;border:0;padding:0;background:none;color:inherit;font:inherit;text-align:left;width:max-content;cursor:pointer}
.planet-item:disabled{opacity:.38!important;cursor:default}
.planet-item:not(:disabled):hover{opacity:.75}
.planet-item:focus-visible{outline:2px solid white;outline-offset:5px;border-radius:2px}
.planet-list[aria-busy="true"]{pointer-events:none}
.floating-logo{width:240px;height:auto;object-fit:contain;filter:brightness(0) invert(1)}
.floating-logo.is-docked{width:180px;height:auto}
.portal-wrap{width:min(280px,24vw);top:49%}
.portal-heading{font-size:11px;letter-spacing:.13em}.portal-heading strong{font-size:12px;letter-spacing:0}
.project-deck{position:absolute;left:0;width:100%;height:0;z-index:2;--step:min(220px,17vw)}
.project-card{position:absolute;left:50%;top:0;width:min(190px,16vw);height:min(265px,22vw);border:1px solid #ffffff25;background:#171717;padding:0;overflow:hidden;border-radius:62px;box-shadow:0 16px 60px #0006;color:white;transform:translate(-50%,-50%);transition:filter .4s ease,opacity .4s ease;cursor:pointer}
.project-card img{width:100%;height:100%;object-fit:cover;display:block}
.project-card span{position:absolute;bottom:0;left:0;right:0;padding:50px 18px 25px;background:linear-gradient(transparent,#000b);font:11px/1.4 Arial,sans-serif;text-align:left;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.project-card[data-offset="-1"]{transform:translate(calc(-50% - var(--step)),-50%) rotate(-7deg)}
.project-card[data-offset="1"]{transform:translate(calc(-50% + var(--step)),-50%) rotate(7deg)}
.project-card[data-offset="-2"]{transform:translate(calc(-50% - var(--step)*1.8),-50%) rotate(-13deg) scale(.84);filter:brightness(.75);z-index:-1}
.project-card[data-offset="2"]{transform:translate(calc(-50% + var(--step)*1.8),-50%) rotate(13deg) scale(.84);filter:brightness(.75);z-index:-1}
.project-card:hover{filter:brightness(1.1)}
body:not(.intro-ready) .project-deck{opacity:0}
.experience.is-transitioning .project-deck{opacity:0!important;pointer-events:none}
.experience.is-sliding #portal-canvas,.experience.is-sliding .project-card{visibility:hidden}
.experience.is-sliding .project-caption{opacity:.35}
.carousel-motion{position:fixed;inset:0;z-index:3;pointer-events:none}
.carousel-motion-card{position:absolute;left:0;top:0;border-radius:90px;overflow:hidden;background:#171717;transform-origin:center;box-shadow:0 16px 60px #0006;will-change:transform,opacity}
.carousel-motion-card img{display:block;width:100%;height:100%;object-fit:cover}
.project-caption{margin:14px auto 0;text-align:center;max-width:340px}
.project-caption p{font-size:14px;line-height:1.35;margin:0 0 5px;min-height:38px;display:flex;justify-content:center;align-items:center}
.project-caption>span{font-size:9px;letter-spacing:.19em;color:#ffffffa0}
.project-controls{display:flex;align-items:center;justify-content:center;gap:22px;margin-top:12px;font-size:10px;letter-spacing:.1em}
.project-controls button{border:1px solid #ffffff60;border-radius:50%;background:#ffffff08;color:white;width:30px;height:30px;font-size:18px}
#project-viewer{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;border:0;margin:0;padding:0;background:#090909;color:#fff;overflow:hidden}
#project-viewer[open]{display:flex;flex-direction:column}
#project-viewer::backdrop{background:#090909}
#project-viewer,#project-viewer *{cursor:auto!important}
#project-viewer button{cursor:pointer!important}
.viewer-header{display:flex;align-items:center;justify-content:space-between;padding:24px 32px;gap:24px;min-height:100px}
.viewer-header span{font-size:10px;letter-spacing:.18em;color:#999;text-transform:uppercase}
.viewer-header h2{font:400 22px/1.3 Arial,sans-serif;margin:8px 0 0}
.viewer-header>button{background:none;color:white;border:1px solid #ffffff60;border-radius:99px;padding:10px 20px;white-space:nowrap}
.viewer-stage{min-height:0;flex:1;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 25px}
.viewer-stage>img{max-width:calc(100% - 130px);width:auto;height:100%;object-fit:contain;min-width:0}
.viewer-stage>button{flex-shrink:0;border:1px solid #fff6;color:white;border-radius:50%;background:none;width:42px;height:42px;font-size:20px}
.viewer-footer{padding:20px 32px;display:flex;align-items:center;gap:24px;font-size:12px;letter-spacing:.1em}
.viewer-footer>span{white-space:nowrap;flex-shrink:0}
#photo-thumbnails{display:flex;gap:10px;overflow:auto;padding:4px;scrollbar-width:none}
#photo-thumbnails::-webkit-scrollbar{display:none}
#photo-thumbnails button{padding:0;border:1px solid transparent;border-radius:6px;overflow:hidden;flex-shrink:0;background:none;opacity:.45}
#photo-thumbnails button[aria-pressed="true"]{border-color:white;opacity:1}
#photo-thumbnails img{display:block;width:65px;height:45px;object-fit:cover}
@media(max-width:900px){.floating-logo.is-docked{width:155px}.portal-wrap{width:min(260px,36vw)}.project-deck{--step:20vw}.project-card{width:22vw;height:30vw;border-radius:42px}.project-caption p{font-size:12px}.project-controls{margin-top:8px}}
@media(max-width:640px){.floating-logo.is-docked{width:145px}.portal-wrap{width:54vw!important;top:45%!important}.project-deck{--step:32vw}.project-card{width:35vw;height:48vw;border-radius:38px}.project-card[data-offset="-2"],.project-card[data-offset="2"]{opacity:.65}.project-card span{display:none}.project-caption{margin-top:10px}.project-caption p{min-height:34px;font-size:11px}.project-caption>span{font-size:8px}.project-controls{gap:16px}.project-controls button{width:26px;height:26px}.planet-content h1{font-size:14vw!important}.planet-content dl{font-size:11px!important}.viewer-header{padding:20px 16px;min-height:100px;gap:12px}.viewer-header h2{font-size:16px}.viewer-header>button{padding:8px 12px}.viewer-stage{padding:0 8px;gap:4px}.viewer-stage>button{width:30px;height:30px}.viewer-stage>img{max-width:calc(100% - 68px)}.viewer-footer{padding:16px 12px;gap:12px}#photo-thumbnails img{width:50px;height:38px}}
.planet-content h1{font-size:clamp(64px,10vw,144px);line-height:.86;white-space:nowrap;letter-spacing:-.035em}
.photo-credit{display:block;margin-top:16px;max-width:270px;color:#aaa;font-size:10px;line-height:1.5}
.menu-panel .photo-credit a{display:inline;padding:0;color:inherit}
@media(max-width:900px){.planet-content h1{font-size:clamp(60px,10vw,100px)}}
@media(max-width:640px){.planet-list{display:flex;left:18px;right:18px;top:92px;transform:none;flex-direction:row;gap:18px;font-size:13px}.planet-item.active{font-size:13px;gap:5px}.planet-item.active:before{width:7px;height:7px}.intro-ready .planet-list{animation:reveal-down .9s ease .65s both}.planet-content h1{font-size:clamp(48px,16vw,96px);margin-bottom:14px}.planet-content dl{font-size:12px}.fact{grid-template-columns:82px 1fr}.portal-wrap{top:43%;width:min(240px,58vw)}}
