:root{--bg:#0b0b0e;--fg:#f5f3f8;--muted:#929097;--purple:#b099ff;--line:#28262f;--font:'Microsoft YaHei','DengXian',sans-serif;--gutter:64px;--deck-scale:1}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:94px}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:14px}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;border:0}button:disabled{cursor:default;opacity:.4}[hidden]{display:none!important}svg{display:block}img{max-width:100%}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--purple);outline-offset:5px}.mono{font-family:'Bahnschrift','Microsoft YaHei',sans-serif;letter-spacing:1.7px}.skip-link{position:fixed;top:-100px;left:20px;z-index:100;background:var(--purple);padding:15px;color:var(--bg)}.skip-link:focus{top:10px}body.dialog-open{overflow:hidden}
.nav{height:94px;padding:0 var(--gutter);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff16;position:sticky;top:0;z-index:20;background:#0b0b0ef5;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:13px;font-size:18px;font-weight:700;letter-spacing:1px}.brand small{font-size:10px;letter-spacing:2.2px;display:block;color:#aaa6b1;margin-top:5px;font-weight:400}.navlinks{display:flex;align-items:center;gap:39px;font-size:13px}.navlinks a.active{color:var(--purple)}.navlinks a:not(.contact):hover{color:var(--purple)}.navlinks .contact{border:1px solid #5c516f;border-radius:99px;padding:12px 20px;display:flex;gap:23px;align-items:center}.contact span{color:var(--purple);font-size:17px}.menu-toggle{display:none}
.hero{height:800px;position:relative;overflow:hidden;margin:0 18px;border-radius:0 0 6px 6px}.hero-bg,.hero-video,.hero-tint,.hero-noise{position:absolute;inset:0;width:100%;height:100%}.hero-bg{background: url('assets/showreel-cover.jpg') center 49%/cover;filter:brightness(.62) saturate(.55)}.hero-video{object-fit:cover;filter:brightness(.62) saturate(.55)}.hero-tint{background:linear-gradient(90deg,#090710b5,#1d13312b 65%),linear-gradient(0deg,#0b0b0e,transparent 43%),linear-gradient(150deg,#3d166f47,transparent 60%);pointer-events:none}.hero-noise{opacity:.1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' opacity='.6' filter='url(%23n)'/%3E%3C/svg%3E")}.hero-content{position:absolute;left:70px;top:110px}.eyebrow{font-size:11px;color:#c3b6e3;display:flex;gap:12px;align-items:center;letter-spacing:2.5px}.dot{width:6px;height:6px;background:var(--purple);border-radius:50%;box-shadow:0 0 16px #bc9eff70}.hero h1{font-size:102px;font-weight:600;line-height:1.24;letter-spacing:-5px;margin:28px 0 27px}.hero h1 span{color:#c0a9ff}.hero-copy{color:#cfccd7;font-size:15px;letter-spacing:2px;line-height:2}.hero-action{display:flex;gap:20px;align-items:center;margin-top:40px;background:transparent;padding:0;text-align:left}.round{height:53px;width:53px;display:grid;place-items:center;border:1px solid #e4dbff8c;background:#ffffff06;border-radius:50%;transition:background .2s,transform .2s}.hero-action:hover .round{background:#b099ff30;transform:scale(1.08)}.action-title{font-size:13px;letter-spacing:1px}.hero-action small{display:block;color:#b6afc1;font-size:10px;margin-top:8px;letter-spacing:1.7px}.hero-right{position:absolute;right:49px;top:44px;writing-mode:vertical-rl;font-size:10px;letter-spacing:2.5px;color:#cbc3d4}.hero-bottom{position:absolute;left:70px;right:50px;bottom:51px;display:flex;align-items:end;justify-content:space-between}.bottom-label{font-size:10px;letter-spacing:2px;color:#b8b1c4;line-height:2}.bottom-label span{color:#e4dced;letter-spacing:1px}.hero-buttons{display:flex;align-items:center;gap:27px}.outline-small{padding:10px 14px;border:1px solid #ffffff40;background:#1010165c;border-radius:99px;font-size:11px}.scroll{display:flex;align-items:center;gap:15px;letter-spacing:2px;font-size:10px}.scroll span{font-size:21px;color:var(--purple)}.home-bottom{height:106px;padding:25px var(--gutter);display:flex;justify-content:space-between;align-items:center}.home-bottom h2{font-size:23px;margin:0;font-weight:500}.home-bottom h2 span{font-size:11px;color:var(--muted);margin-left:20px;letter-spacing:2px}.home-bottom a{font-size:12px;color:var(--purple);display:flex;gap:20px}
.gallery{padding-top:43px;scroll-margin-top:94px}.intro{padding:0 var(--gutter);display:flex;justify-content:space-between;align-items:flex-end}.intro .eyebrow{color:var(--purple);font-size:10px}.intro h2{font-weight:500;font-size:44px;letter-spacing:-1px;margin:16px 0 0}.aside{text-align:right;color:var(--muted);font-size:12px;line-height:2}.aside small{font-size:10px;letter-spacing:2px;color:#b5a9c7}.filters{display:flex;gap:12px;padding:27px var(--gutter) 0;flex-wrap:wrap}.filters button{background:transparent;color:#aaa6b1;font-size:12px;border:1px solid #37333f;padding:10px 19px;border-radius:99px;transition:background .2s,border-color .2s}.filters button:hover{border-color:#a98be2}.filters button[aria-pressed=true]{background:var(--purple);color:#181122;border-color:var(--purple)}.filters button span{font-size:10px;opacity:.6;margin-left:8px}
.stage{height:494px;position:relative;perspective:1150px;overflow:hidden;margin-top:13px;touch-action:pan-y;user-select:none;outline-offset:-8px!important}.space{position:absolute;left:50%;width:1600px;height:494px;margin-left:-800px;transform:scale(var(--deck-scale));transform-origin:50% 0;transform-style:preserve-3d;pointer-events:none}.horizon{position:absolute;left:0;right:0;top:340px;height:1px;background:linear-gradient(90deg,transparent,#9d74d12b,transparent)}.light{position:absolute;left:50%;top:335px;transform:translateX(-50%);width:970px;max-width:100%;height:170px;border-radius:50%;background:radial-gradient(ellipse,#a374e720,transparent 65%);filter:blur(20px);pointer-events:none}.arc{position:absolute;left:50%;bottom:26px;width:1200px;height:125px;transform:translateX(-50%);border:1px solid #b099ff13;border-top:0;border-radius:0 0 50% 50%;pointer-events:none}.arc.second{width:1430px;height:164px;bottom:-28px;border-color:#b099ff09}.film{position:absolute;left:50%;top:70px;width:440px;height:280px;margin-left:-220px;transform-style:preserve-3d;transition:transform .62s cubic-bezier(.2,.75,.18,1),top .62s,opacity .45s;will-change:transform;pointer-events:none}.stage.dragging .film{transition:none}.face{position:relative;height:280px;width:440px;overflow:hidden;border-radius:7px;background:#17121e;border:1px solid #d4bfff26;box-shadow:0 8px 25px #0009;padding:0;text-align:left;display:block;pointer-events:auto;transition:filter .5s,border-color .5s}.face img{width:100%;height:100%;object-fit:cover;display:block;pointer-events:none;filter:brightness(.85) saturate(.6)}.face:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#0c0719a6,transparent 60%);pointer-events:none}.film.active .face{border-color:#bca2fd99;box-shadow:0 0 0 1px #aa81e916,0 20px 45px #0009}.face .caption{position:absolute;bottom:29px;left:30px;z-index:3}.face strong{font-size:25px;font-weight:400;letter-spacing:4px}.film.active .caption strong{letter-spacing:7px;font-size:28px}.face .caption small{display:block;font-size:9px;letter-spacing:2.2px;margin-top:10px;color:#d4cbdc}.badge{position:absolute;top:18px;left:20px;padding:5px 10px;border:1px solid #ffffff36;background:#100a1b46;border-radius:99px;font-size:10px;z-index:3}.duration{position:absolute;bottom:17px;right:17px;font-size:11px;color:#dfd5ee;z-index:3;font-family:'Bahnschrift'}.reflection{position:absolute;left:0;right:0;top:288px;height:142px;overflow:hidden;transform:scaleY(-1);opacity:.19;mask-image:linear-gradient(to top,#000,transparent 85%);pointer-events:none}.reflection img{width:100%;height:280px;object-fit:cover;display:block;position:absolute;bottom:0;filter:brightness(.7) saturate(.6)}.play-circle{height:60px;width:60px;border-radius:50%;position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);background:#b099ffe6;box-shadow:0 0 0 8px #cab3ff16;border:1px solid #dccaff63;display:grid;place-items:center;z-index:4;color:#201332;opacity:0;transition:opacity .25s}.film.active .play-circle{opacity:1}.arrow{position:absolute;top:221px;z-index:8;height:44px;width:44px;border:1px solid #65517480;border-radius:50%;background:#121018be;display:grid;place-items:center;color:#c4b5dc;font-size:20px}.arrow:hover{background:#b099ff29}.arrow.left{left:40px}.arrow.right{right:40px}
.selection{text-align:center;margin-top:-2px}.number{font-size:10px;letter-spacing:2px;color:#857494}.number span{color:var(--purple)}.selection h3{font-size:25px;font-weight:400;letter-spacing:1px;margin:14px 0 11px}.details{font-size:11px;color:#92899f;letter-spacing:.7px}.details i{display:inline-block;width:3px;height:3px;background:#665773;border-radius:50%;vertical-align:middle;margin:0 13px}.dots{display:flex;gap:9px;justify-content:center;margin-top:20px;align-items:center}.dots button{height:22px;width:16px;padding:0;background:transparent;display:grid;place-items:center}.dots button:before{content:'';height:4px;width:4px;background:#48424f;border-radius:4px;transition:width .25s,background .25s}.dots button[aria-current=true]{width:24px}.dots button[aria-current=true]:before{width:24px;background:var(--purple)}.gallery-bottom{display:flex;align-items:center;justify-content:space-between;margin:30px var(--gutter) 0;border-top:1px solid var(--line);padding:24px 0 40px;font-size:10px;color:#77717f}.gesture{display:flex;align-items:center;gap:16px;color:#b7a8cc;font-size:11px}.separator{color:#4b3f59}.mouse-icon{width:14px;height:20px;border:1px solid #9883b4;border-radius:8px;position:relative}.mouse-icon:before{content:'';position:absolute;left:5px;top:4px;width:2px;height:5px;border-radius:3px;background:var(--purple)}.view-toggle{color:var(--purple);font-size:11px;letter-spacing:.5px;background:transparent;padding:7px 0}.view-toggle span{margin-left:10px}.empty-gallery{padding:150px 20px;text-align:center;color:var(--muted)}.flat-grid{columns:3;column-gap:28px;padding:50px var(--gutter) 0}.flat-work{display:inline-block;width:100%;margin-bottom:35px;break-inside:avoid}.flat-cover{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden;border-radius:5px;background:#18151f;border:1px solid #ffffff12;padding:0}.flat-cover img{height:100%;width:100%;object-fit:cover;transition:transform .4s}.flat-cover:hover img{transform:scale(1.04)}.flat-cover.portrait{aspect-ratio:3/4}.flat-cover .badge{top:15px;left:15px}.flat-cover .play-circle{opacity:0;height:45px;width:45px}.flat-cover:hover .play-circle,.flat-cover:focus-visible .play-circle{opacity:1}.flat-title{display:flex;justify-content:space-between;align-items:center;margin:15px 0 0;font-size:15px;font-weight:400}.flat-title span{color:var(--purple)}.flat-detail{color:var(--muted);font-size:11px;margin:9px 0 0}
.about{padding:85px 78px 0;border-top:1px solid #ffffff0b;scroll-margin-top:94px}.about-top{display:grid;grid-template-columns:1.2fr 1fr;gap:100px}.about h2{font-size:69px;font-weight:500;letter-spacing:-3px;line-height:1.4;margin:15px 0 30px}.about h2 span{color:var(--purple)}.about p{font-size:15px;line-height:2.2;color:#aaa4b4;max-width:570px}.orbit-art{height:380px;position:relative;display:grid;place-items:center;overflow:hidden}.orbit{height:280px;width:280px;border:1px solid #7c589855;border-radius:50%;position:absolute;transform:rotate(-23deg) scaleX(1.4) scaleY(.67)}.orbit:nth-child(2){transform:rotate(42deg) scaleX(1.4) scaleY(.67);border-color:#bda3ff77}.orbit:nth-child(3){transform:rotate(95deg) scaleX(1.4) scaleY(.67);border-color:#ffffff24}.orb{height:155px;width:155px;border-radius:50%;background:radial-gradient(circle at 28% 24%,#e4dcff,#a983e5 28%,#422968 62%,#17101f 84%);box-shadow:0 0 90px #7645ae23;position:relative}.orbit-art .caption{position:absolute;bottom:13px;font-size:10px;letter-spacing:3px;color:#82738d}.contact-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;margin-top:60px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);scroll-margin-top:120px}.contact-cell{padding:29px 0 36px;border-right:1px solid var(--line);margin-right:31px;min-width:0}.contact-cell:last-child{border:0;margin:0}.contact-cell small{color:#878091;font-size:10px;letter-spacing:2px}.contact-value{font-weight:400;font-size:20px;display:flex;justify-content:space-between;margin-top:18px;margin-right:35px;gap:12px;overflow-wrap:anywhere}.contact-value span{color:var(--purple)}.contact-value.unset{color:#817988;font-size:17px}.footer{min-height:100px;display:flex;align-items:center;justify-content:space-between;color:#6e6878;font-size:10px;letter-spacing:1px;gap:20px}.footer a{color:#baa7d7;font-size:12px}
dialog{padding:0;width:min(1090px,calc(100% - 48px));max-height:calc(100dvh - 48px);border:1px solid #3a3347;border-radius:12px;background:#141218;color:var(--fg);overflow:auto;box-shadow:0 25px 100px #000a}dialog::backdrop{background:#08070cba;backdrop-filter:blur(12px)}.modal-top{height:61px;display:flex;justify-content:space-between;align-items:center;padding:0 27px;border-bottom:1px solid #2c2735}.modal-top small{font-size:10px;letter-spacing:2px;color:#b1a6c5}.modal-top button{background:transparent;color:#aca3b8;font-size:25px;font-weight:300;width:38px;height:38px}.media-container{aspect-ratio:16/7.46;background:#050508;position:relative;overflow:hidden}.media-container video{height:100%;width:100%;object-fit:contain;display:block}.media-poster{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;filter:saturate(.6) brightness(.65)}.media-preview-copy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(0deg,#030306aa,transparent 40%);padding:25px}.media-preview-copy strong{font-size:46px;letter-spacing:14px;font-weight:400}.media-preview-copy small{font-size:10px;letter-spacing:4px;margin-top:15px;color:#c4b6d3}.media-preview-copy p{position:absolute;bottom:18px;margin:0;font-size:11px;color:#d1c2df;background:#120d1bbd;padding:9px 15px;border:1px solid #9474b34a;border-radius:99px;letter-spacing:0}.media-error{position:absolute;bottom:58px;left:50%;transform:translateX(-50%);max-width:85%;text-align:center;font-size:12px;color:#eadcf5;background:#21162de0;padding:12px 18px;border-radius:8px;line-height:1.7}.modal-info{padding:26px 31px 29px}.modal-info .heading{display:flex;justify-content:space-between;align-items:center;gap:15px}.modal-info h2{font-size:25px;font-weight:500;margin:0;overflow-wrap:anywhere}.pill{font-size:10px;padding:6px 10px;border:1px solid #5d477e;color:#c0a6f0;border-radius:99px;white-space:nowrap}.modal-info p{color:#a29aa9;font-size:12px;line-height:1.9;margin:14px 0 19px;white-space:pre-line}.meta{display:flex;gap:28px;font-size:10px;color:#aaa2b2;padding-top:16px;border-top:1px solid #302937;align-items:center;flex-wrap:wrap}.meta button{margin-left:auto;color:var(--purple);background:transparent;font-size:11px;padding:5px 0}.load-status{padding:30px;margin:30px 64px;border:1px solid #776391;color:#dccdef;border-radius:8px}
@media(prefers-reduced-motion:no-preference){.hero-content{animation:enter .85s both}.hero-right{animation:enter 1s .2s both}.hero-bottom{animation:enter .9s .3s both}@keyframes enter{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}
@media(min-width:1601px){.hero{height:min(850px,calc(100vh - 94px))}.hero-content{left:calc((100vw - 1464px)/2 + 70px)}}
@media(max-width:1100px){:root{--gutter:36px}.aside{max-width:260px}.intro h2{font-size:38px}.about{padding:65px 36px 0}.about-top{gap:35px}.about h2{font-size:50px}.contact-value{font-size:16px}.gallery-bottom>.mono{display:none}.hero h1{font-size:88px}}
@media(max-width:700px){:root{--gutter:22px}html{scroll-padding-top:74px}.nav{height:74px}.brand{font-size:15px;gap:10px}.brand img{width:26px;height:26px}.brand small{font-size:8px;letter-spacing:1.2px}.menu-toggle{display:flex;background:transparent;padding:12px 0 12px 12px;width:40px;height:40px;flex-direction:column;justify-content:center;gap:6px}.menu-toggle span{height:1px;width:22px;background:#d1b9ee}.navlinks{position:absolute;top:74px;left:0;right:0;background:#101016fa;display:none;padding:25px 22px 30px;border-bottom:1px solid var(--line);flex-wrap:wrap;gap:25px;backdrop-filter:blur(12px)}.navlinks.open{display:flex}.navlinks .contact{margin-left:auto;padding:9px 14px}.hero{height:calc(100svh - 74px);min-height:650px;max-height:790px;margin:0 8px}.hero-content{left:25px;right:20px;top:105px}.hero h1{font-size:clamp(48px,13.5vw,77px);letter-spacing:-2px;margin:27px 0}.hero-copy{font-size:12px;letter-spacing:.5px;line-height:2.1;max-width:340px}.eyebrow{font-size:8px;letter-spacing:1.5px}.hero-action{margin-top:32px;gap:14px}.round{height:47px;width:47px}.hero-right{display:none}.hero-bottom{left:25px;right:20px;bottom:30px}.bottom-label{font-size:8px;letter-spacing:1px}.bottom-label span{font-size:9px}.scroll{font-size:8px;letter-spacing:.8px;gap:7px}.hero-buttons{gap:10px}.outline-small{font-size:9px;padding:8px 10px}.home-bottom{height:95px;padding:22px var(--gutter)}.home-bottom h2{font-size:20px}.home-bottom h2 span{display:none}.home-bottom a{font-size:11px;gap:10px}.gallery{padding-top:30px;scroll-margin-top:74px}.intro{align-items:flex-start}.intro h2{font-size:29px;letter-spacing:-1px;line-height:1.4}.intro .eyebrow{font-size:7px;letter-spacing:1.3px}.aside{display:none}.filters{padding-top:23px;gap:8px}.filters button{padding:8px 12px;font-size:11px}.filters button span{font-size:9px;margin-left:5px}.stage{height:340px;perspective:850px;margin-top:20px}.horizon{top:220px}.light{top:210px;width:650px;height:90px}.arc{width:700px;bottom:15px;height:80px}.arc.second{width:840px;bottom:-20px;height:95px}.arrow{top:153px;height:35px;width:35px;font-size:17px}.arrow.left{left:10px}.arrow.right{right:10px}.selection h3{font-size:22px}.details{font-size:10px}.number{font-size:9px}.gallery-bottom{margin-top:20px;gap:15px;flex-wrap:wrap;padding:20px 0 30px}.gesture{font-size:10px;gap:9px}.gesture .mouse-icon{display:none}.view-toggle{font-size:10px}.view-toggle span{margin-left:2px}.flat-grid{columns:2;column-gap:15px;padding-top:30px}.flat-title{font-size:12px}.flat-detail{font-size:9px}.flat-cover .badge{font-size:8px;top:8px;left:8px;padding:4px 6px}.flat-cover .duration{font-size:9px;bottom:9px;right:9px}.flat-work{margin-bottom:25px}.about{padding:50px 22px 0;scroll-margin-top:74px}.about-top{display:flex;flex-direction:column;gap:0}.about h2{font-size:38px;letter-spacing:-1.5px;margin:20px 0}.about p{font-size:12px;line-height:2.1}.orbit-art{height:250px;margin-top:10px}.orbit{height:190px;width:190px}.orb{width:105px;height:105px}.orbit-art .caption{font-size:8px;letter-spacing:1.8px}.contact-grid{grid-template-columns:1fr;margin-top:30px}.contact-cell{padding:22px 0;margin-right:0;border-right:0;border-bottom:1px solid var(--line)}.contact-value{font-size:17px;margin-right:0;margin-top:12px}.contact-value.unset{font-size:15px}.footer{padding:25px 0;min-height:100px;gap:15px;flex-wrap:wrap;font-size:9px}.footer>.mono{display:none}.footer a{font-size:10px}dialog{width:calc(100% - 24px);max-height:calc(100dvh - 24px);border-radius:9px}.modal-top{height:50px;padding:0 17px}.modal-top small{font-size:8px;letter-spacing:1.2px}.media-container{aspect-ratio:16/10}.media-preview-copy strong{font-size:26px;letter-spacing:6px}.media-preview-copy small{font-size:7px;letter-spacing:2px}.media-preview-copy p{font-size:9px;bottom:13px;max-width:90%;line-height:1.7;white-space:normal;border-radius:6px}.modal-info{padding:21px 19px}.modal-info h2{font-size:21px}.modal-info p{font-size:11px}.meta{gap:15px;font-size:9px}.meta button{font-size:10px}.pill{font-size:9px}.media-error{font-size:10px;bottom:45px;width:90%}.load-status{margin:20px;padding:20px}}
.face .caption{right:26px}.face strong,.film.active .caption strong{font-size:25px;letter-spacing:1px;line-height:1.4;overflow-wrap:anywhere}.selection .details{margin-top:14px}.modal-info #dialog-responsibilities{color:#c5b8d5;margin-bottom:12px}.modal-info #dialog-note{font-size:11px;color:#8f849d;margin-top:0}@media(max-width:700px){.modal-info .heading{align-items:flex-start;flex-wrap:wrap}.modal-info #dialog-note{font-size:10px}}
.hero-copy-en{max-width:620px;margin:10px 0 0;color:#aaa6b1;font-size:12px;line-height:1.8;letter-spacing:.7px}
.hero-bottom{justify-content:flex-end}
#works,#about{scroll-margin-top:0}#contact{scroll-margin-top:20px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
.modal-info #dialog-responsibilities{color:#c0a6f0}
.modal-info #dialog-responsibilities + #dialog-note + .meta{border-top:0;padding-top:4px}
.hero h1{font-size:88px}
@media(max-width:1100px){.hero h1{font-size:78px}}
@media(max-width:700px){.hero h1{font-size:clamp(44px,12.5vw,70px)}}
.modal-info .pill{font-size:12px}
@media(max-width:700px){.modal-info .pill{font-size:11px}}
.gallery-bottom{justify-content:flex-end;border-top:0}
.gallery-bottom .gesture{position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap}
@media(min-width:701px){.gallery{padding-top:28px}.filters{padding-top:20px}.stage{height:440px}.space{height:440px}.horizon{top:300px}.light{top:295px}.arrow{top:190px}.reflection{height:100px}.gallery-bottom{margin-top:14px;padding-top:10px;padding-bottom:24px}.dots{margin-top:12px}}
.hero-explore,.gallery-bottom .view-toggle{width:100px;display:flex;align-items:center;justify-content:space-between;color:var(--purple);font-size:12px;letter-spacing:.5px;white-space:nowrap}
.hero-explore span,.gallery-bottom .view-toggle span{margin-left:10px}
.gallery{position:relative;overflow:hidden;background:linear-gradient(180deg,#0b0b0e 0%,#0d0b13 54%,#1c1430 100%)}
.stage{overflow:visible}
.reflection{height:360px;opacity:.22;mask-image:linear-gradient(to top,#000,transparent 92%)}
.reflection img{height:360px}
.selection,.gallery-bottom{position:relative;z-index:2}
.gallery-bottom{margin-right:68px;border-top:0}
.about{background:#1c1430;border-top:0}
@media(min-width:701px){.stage{height:480px}.space{height:480px}.horizon{top:330px}.light{top:325px}.arrow{top:210px}.gallery-bottom{margin-top:20px;padding-top:20px;padding-bottom:34px}}
@media(min-width:701px){.selection{margin-top:16px}.gallery-bottom{margin-top:8px;padding-bottom:20px}}
@media(max-width:700px){.hero-explore,.gallery-bottom .view-toggle{width:92px;font-size:10px}.gallery-bottom{margin-right:28px;border-top:0}.gallery{background:linear-gradient(180deg,#0b0b0e 0%,#0d0b13 58%,#1c1430 100%)}.about{background:#1c1430;border-top:0}.reflection{height:260px}.reflection img{height:260px}}
.gallery{padding-top:52px;background:radial-gradient(ellipse at 50% 67%,#b099ff09,transparent 65%),var(--bg)}
.about{background:var(--bg)}
.reflection-scene{position:absolute;inset:0;perspective:1150px;pointer-events:none;opacity:.13;mask-image:linear-gradient(to bottom,#000 0px,#000 330px,#0000 475px);-webkit-mask-image:linear-gradient(to bottom,#000 0px,#000 330px,#0000 475px)}
.reflection{height:280px;opacity:1;border:1px solid #d4bfff24;border-radius:7px;background:var(--bg);box-shadow:none;mask-image:none;-webkit-mask-image:none;overflow:hidden}
.reflection img{height:280px;filter:brightness(.78) saturate(.62)}
@media(max-width:700px){.gallery{padding-top:46px;background:radial-gradient(ellipse at 50% 67%,#b099ff09,transparent 65%),var(--bg)}.about{background:var(--bg)}.reflection-scene{perspective:850px;mask-image:linear-gradient(to bottom,#000 0px,#000 180px,#0000 270px);-webkit-mask-image:linear-gradient(to bottom,#000 0px,#000 180px,#0000 270px)}}
.hero{margin-left:0;margin-right:0;border-radius:0}
.gallery-bottom{margin-right:50px}
.gallery{background:linear-gradient(180deg,var(--bg) 0%,#0f0d16 44%,#171322 76%,#121019 88%,var(--bg) 100%)}
.gallery::after{content:'';position:absolute;bottom:0;left:0;right:0;height:150px;background:linear-gradient(180deg,#0b0b0e00,var(--bg));pointer-events:none}
.stage::before{content:'';position:absolute;left:50%;top:285px;transform:translateX(-50%);width:min(1400px,110%);height:280px;border-radius:50%;background:radial-gradient(ellipse,#b099ff14 0%,#a78bfa09 42%,transparent 72%);pointer-events:none}
.arc{bottom:-48px;height:205px;border-color:#b099ff20;mask-image:linear-gradient(180deg,#0008,#000);background:radial-gradient(ellipse at 50% 10%,#b099ff07,transparent 75%)}
.arc.second{bottom:-70px;height:250px;border-color:#b099ff12;background:none}
.reflection-scene{bottom:-160px;perspective-origin:50% var(--reflection-origin,240px);opacity:.18;mask-image:linear-gradient(to bottom,#000 0px,#000 345px,#0000 var(--reflection-end,580px));-webkit-mask-image:linear-gradient(to bottom,#000 0px,#000 345px,#0000 var(--reflection-end,580px))}
@media(max-width:700px){.gallery-bottom{margin-right:20px}.stage::before{top:180px;height:225px}.arc{height:145px;bottom:-30px}.arc.second{height:175px;bottom:-50px}.reflection-scene{mask-image:linear-gradient(to bottom,#000 0px,#000 190px,#0000 var(--reflection-end,425px));-webkit-mask-image:linear-gradient(to bottom,#000 0px,#000 190px,#0000 var(--reflection-end,425px))}}
.hero-buttons{align-items:flex-end}
.gallery{background:linear-gradient(180deg,var(--bg) 0%,#0c0b10 42%,#100e17 75%,#0d0c12 94%,var(--bg) 100%)}
.gallery::after{height:54px;background:linear-gradient(180deg,#0b0b0e00,var(--bg))}
.stage::before{background:radial-gradient(ellipse,#b099ff06 0%,#a78bfa03 45%,transparent 75%)}
.light{background:radial-gradient(ellipse,#a374e70a,transparent 70%)}
.arc{background:radial-gradient(ellipse at 50% 10%,#b099ff03,transparent 75%);border-color:#b099ff17}
.arc.second{background:none;border-color:#b099ff0d}
.reflection-scene{opacity:.15;mask-image:linear-gradient(to bottom,#000 0px,#000 var(--reflection-start,345px),#0000 var(--reflection-end,580px));-webkit-mask-image:linear-gradient(to bottom,#000 0px,#000 var(--reflection-start,345px),#0000 var(--reflection-end,580px))}
@media(min-width:701px){
  .hero{height:calc(100svh - 94px);min-height:620px}
  .gallery{height:calc(100svh - 94px);min-height:620px;display:flex;flex-direction:column;padding-top:52px}
  .gallery>.intro,.gallery>.filters{flex-shrink:0}
  #carousel-view{display:flex;flex-direction:column;flex:1;min-height:0}
  .stage{flex:1;min-height:0;height:auto}
  .space{height:100%}
  .selection{flex-shrink:0;margin-top:16px}
  .gallery-bottom{flex-shrink:0;margin:24px 50px 51px var(--gutter);padding:0}
  .gallery-bottom .view-toggle{padding:0}
  .stage .arrow{top:calc(var(--deck-scale) * 220px)}
  .stage .horizon,.stage .light{top:72%}
  .stage::before{top:70%;height:65%}
}
@media(max-width:700px){.gallery-bottom{margin-bottom:30px;padding-bottom:0}.gallery-bottom .view-toggle{padding:0}}
#deck{z-index:1}
.reflection-scene{z-index:0}
.reflection{border-color:#d4bfff42}
@media(min-width:701px){
  .about{height:calc(100svh - 94px);min-height:620px;padding:52px var(--gutter) 0;display:flex;flex-direction:column}
  .about>.eyebrow{flex-shrink:0}
  .about-top{flex:1;min-height:0;align-items:center;gap:60px}
  .about h2{font-size:clamp(38px,4vw,64px);margin:14px 0 20px}
  .about p{font-size:14px;line-height:2;margin:0}
  .orbit-art{height:clamp(240px,34vh,380px)}
  .contact-grid{flex-shrink:0;margin-top:20px}
  .contact-cell{padding:22px 0 26px}
  .footer{flex-shrink:0;min-height:80px}
}
.about h2{font-size:44px;letter-spacing:-1px;line-height:1.4}
#about-copy{display:grid;gap:8px}
#about-copy p{margin:0}
#about-heading-en{font-size:10px;color:var(--purple);line-height:1.8;letter-spacing:1.7px}
@media(max-width:1100px){.about h2{font-size:38px}}
@media(max-width:700px){.about h2{font-size:29px}#about-heading-en{font-size:7px;letter-spacing:1.3px}}
/* Compact sound icon; its box shares the explore link's bottom edge. */
.hero-buttons .sound-toggle{display:grid;place-items:center;flex:none;width:32px;height:32px;padding:5px;border-radius:999px;color:#c3b6e3}
.sound-toggle .sound-slash,.sound-toggle[aria-pressed="false"] .sound-waves{display:none}
.sound-toggle[aria-pressed="false"] .sound-slash{display:block}
