*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:DM Sans,system-ui,sans-serif;background:#f5f3ef;color:#1a1a18;-webkit-font-smoothing:antialiased}body.is-loading{overflow:hidden}.page-loader{position:fixed;inset:0;z-index:3000;display:grid;place-items:center;background:linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0 / 42px 42px,linear-gradient(0deg,rgba(255,255,255,.025) 1px,transparent 1px) 0 0 / 42px 42px,radial-gradient(ellipse at 50% 0%,rgba(214,121,84,.28),transparent 54%),#11100e;color:#f6efe5;transition:opacity .72s ease,visibility .72s ease}.page-loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-frame{width:min(360px,calc(100vw - 56px));display:grid;justify-items:center;gap:22px;transform:translateY(-2vh)}.loader-mark{position:relative;width:116px;height:148px;padding:10px;border:1px solid rgba(246,239,229,.28);background:#f6efe50e;box-shadow:0 32px 80px #00000057,inset 0 1px #ffffff1f;transform:rotate(-7deg);animation:loaderFloat 2.6s cubic-bezier(.4,0,.2,1) infinite}.loader-mark:before,.loader-mark:after{content:"";position:absolute;left:12px;right:12px;height:5px;background:repeating-linear-gradient(90deg,rgba(246,239,229,.62) 0 7px,transparent 7px 14px);opacity:.58}.loader-mark:before{top:-15px}.loader-mark:after{bottom:-15px}.loader-mark span{display:block;width:100%;height:100%;background:linear-gradient(145deg,rgba(255,255,255,.2),transparent 34%),linear-gradient(160deg,#f0d7ba,#c46b57 45%,#2e2527);box-shadow:inset 0 0 0 1px #fff3;animation:loaderExpose 1.45s ease-in-out infinite}.loader-title{font-family:Cormorant Garamond,serif;font-size:25px;font-weight:300;letter-spacing:.22em;text-align:center;text-shadow:0 12px 36px rgba(0,0,0,.36)}.loader-track{width:min(250px,70vw);height:2px;overflow:hidden;background:#f6efe529}.loader-track span{display:block;width:42%;height:100%;background:linear-gradient(90deg,transparent,#f6efe5,#cf7257,transparent);animation:loaderTrack 1.05s cubic-bezier(.65,0,.35,1) infinite}@keyframes loaderFloat{0%,to{transform:rotate(-7deg) translateY(0)}50%{transform:rotate(-4deg) translateY(-8px)}}@keyframes loaderExpose{0%,to{filter:saturate(.9) brightness(.9)}50%{filter:saturate(1.18) brightness(1.08)}}@keyframes loaderTrack{0%{transform:translate(-115%)}to{transform:translate(250%)}}@media(prefers-reduced-motion:reduce){.loader-mark,.loader-mark span,.loader-track span{animation:none}}.header{position:fixed;top:0;left:0;width:100%;z-index:100;padding:20px 0;pointer-events:none;transition:background .4s}.header.scrolled{background:#f5f3eff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.header-inner{max-width:1400px;margin:0 auto;padding:0 32px;display:flex;justify-content:space-between;align-items:center;pointer-events:auto}.logo{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:300;letter-spacing:.2em;color:#fff;text-decoration:none;transition:color .4s}.header.scrolled .logo{color:#1a1a18}.header-tag{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#ffffff80;font-weight:300;transition:color .4s}.header.scrolled .header-tag{color:#999}.immersive-btn{background:none;border:none;cursor:pointer;color:#fff9;padding:6px;border-radius:50%;transition:all .3s;display:flex;align-items:center;justify-content:center}.immersive-btn:hover{color:#fff;background:#ffffff1a}.header.scrolled .immersive-btn{color:#888}.header.scrolled .immersive-btn:hover{color:#1a1a18;background:#0000000d}.immersive-overlay{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;overflow:hidden}.immersive-overlay.active{display:flex}.immersive-bg{position:absolute;inset:0;background:#0a0a0a}.immersive-bg-img{position:absolute;inset:-5%;width:110%;height:110%;object-fit:cover;opacity:0;filter:blur(30px) brightness(.4);transition:opacity 3s ease}.immersive-bg-img.show{opacity:.6}.music-card{position:relative;z-index:1;width:min(430px,92vw);max-height:calc(100vh - 48px);background:#ffffff14;-webkit-backdrop-filter:blur(40px) saturate(1.2);backdrop-filter:blur(40px) saturate(1.2);border:1px solid rgba(255,255,255,.1);border-radius:28px;padding:28px;color:#fff;box-shadow:0 30px 80px #00000080;animation:cardIn .8s cubic-bezier(.16,1,.3,1) both;display:block;overflow:visible}.player-main{min-width:0;text-align:center;display:flex;flex-direction:column}.player-lyrics{min-width:0;min-height:0;display:flex;flex-direction:column;margin-bottom:15px}.player-playlist{position:absolute;left:0;right:0;bottom:0;z-index:12;padding:16px 16px 18px;display:flex;flex-direction:column;background:linear-gradient(180deg,#1c1b19f0,#080808eb),#0a0a0ae0;border:1px solid rgba(255,255,255,.14);border-radius:24px;box-shadow:0 -18px 70px #0000007a,inset 0 1px #ffffff14;-webkit-backdrop-filter:blur(28px) saturate(1.25);backdrop-filter:blur(28px) saturate(1.25);transform:translateY(calc(100% + 28px));opacity:0;pointer-events:none;transition:transform .46s cubic-bezier(.2,.8,.2,1),opacity .28s ease}.music-card.playlist-open .player-playlist{transform:translateY(0);opacity:1;pointer-events:auto}@keyframes cardIn{0%{opacity:0;transform:scale(.9) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}.music-art{width:260px;height:260px;margin:0 auto 28px;border-radius:16px;overflow:hidden;box-shadow:0 15px 40px #0006;position:relative;flex:0 0 auto}.music-art img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.music-card.playing .music-art img{transform:scale(1.05)}.music-art .art-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 60%,rgba(0,0,0,.4))}.art-progress{position:absolute;bottom:0;left:0;right:0;height:3px;background:#ffffff26;border-radius:0 0 16px 16px;overflow:hidden}.art-progress-bar{height:100%;width:0%;background:#ffffffb3;transition:width linear}.music-title{font-family:Cormorant Garamond,serif;font-size:22px;font-weight:300;letter-spacing:.05em;margin:4px 0}.music-artist{font-size:12px;color:#ffffff80;letter-spacing:.1em;margin-bottom:24px}.music-progress{width:100%;height:3px;background:#ffffff26;border-radius:2px;margin-bottom:8px;cursor:pointer;position:relative;flex:0 0 auto}.music-progress-bar{height:100%;background:#fff;border-radius:2px;width:0%;transition:width .3s linear}.music-times{display:flex;justify-content:space-between;font-size:10px;color:#fff6;letter-spacing:.05em}.music-controls{position:relative;display:flex;align-items:center;justify-content:center;gap:28px;margin-bottom:0}.control-extras{position:absolute;top:50%;display:flex;align-items:center;gap:8px;transform:translateY(-50%)}.ctrl-btn.small{width:34px;height:34px;padding:7px;background:#ffffff14;color:#ffffff9e}.ctrl-btn.small:hover,.ctrl-btn.small.active{background:#ffffff29;color:#fff}.volume-popover{position:absolute;right:42px;bottom:44px;z-index:8;width:34px;height:120px;padding:14px 0;display:flex;align-items:center;justify-content:center;background:#0a0a0ac2;border:1px solid rgba(255,255,255,.1);border-radius:18px;box-shadow:0 18px 42px #0000004d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);opacity:0;transform:translateY(8px) scale(.96);pointer-events:none;transition:opacity .2s ease,transform .2s ease}.volume-popover.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.volume-slider{width:86px;height:4px;transform:rotate(-90deg);accent-color:#fff;cursor:pointer}.ctrl-btn{background:none;border:none;cursor:pointer;color:#ffffffb3;padding:8px;border-radius:50%;transition:all .2s;display:flex;align-items:center;justify-content:center}.ctrl-btn:hover{color:#fff;transform:scale(1.1)}.ctrl-btn.play{width:52px;height:52px;background:#ffffff26;color:#fff}.ctrl-btn.play:hover{background:#ffffff40}.lyrics-wrap{flex:1;min-height:0;height:auto;overflow:hidden;position:relative;mask-image:linear-gradient(transparent,#000 16%,#000 84%,transparent);-webkit-mask-image:linear-gradient(transparent,#000 16%,#000 84%,transparent)}.lyrics-inner{transition:transform .6s cubic-bezier(.4,0,.2,1);padding:18px 0}.lyric-line{text-align:center;padding:6px 16px;font-size:13px;color:#ffffff57;transition:all .4s ease;line-height:1.6}.lyric-line.active{color:#fff;font-size:14px;font-weight:300;text-shadow:0 0 20px rgba(255,255,255,.15)}.playlist-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;flex:0 0 auto}.playlist-title{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#ffffffb8}.playlist-close{width:30px;height:30px;border-radius:50%;border:0;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#ffffff9e;background:#ffffff14;transition:background .2s ease,color .2s ease,transform .2s ease}.playlist-close:hover{background:#ffffff29;color:#fff;transform:rotate(90deg)}.player-playlist .playlist-toggle{display:none}.playlist-wrap{flex:1;min-height:0;max-height:none;overflow:hidden;display:flex;flex-direction:column}.playlist-wrap.open{max-height:none}.playlist-toggle{justify-self:start;margin-bottom:12px;background:none;border:none;cursor:pointer;color:#ffffff94;font-size:11px;letter-spacing:.1em;padding:4px 0;font-family:inherit;transition:color .2s;display:flex;align-items:center;gap:6px}.playlist-toggle:hover{color:#ffffffdb}.playlist-toggle svg{transition:transform .3s}.playlist-toggle.open svg{transform:rotate(180deg)}.playlist{flex:1;min-height:0;list-style:none;margin:0;max-height:none;overflow-y:auto;overscroll-behavior:contain}.playlist::-webkit-scrollbar{width:3px}.playlist::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:2px}.playlist li{padding:11px 10px;border-radius:12px;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:10px;margin-bottom:6px;font-size:12px;color:#ffffff80}.playlist li:hover{background:#ffffff0f;color:#fffc}.playlist li.active{background:#ffffff1a;color:#fff}.playlist li .pl-num{font-size:10px;opacity:.4;width:18px;text-align:right}.playlist li.active .pl-num{opacity:1}.playlist li .pl-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.playlist li .pl-dur{font-size:10px;opacity:.3;white-space:nowrap}@media(max-width:760px),(max-height:680px){.music-card{width:min(420px,92vw);max-height:calc(100vh - 32px);grid-template-columns:1fr;gap:18px;padding:18px 22px}.player-lyrics,.player-playlist{border-left:0}.music-controls{justify-content:center;gap:22px}.control-extras{right:0;gap:6px;transform:translateY(-50%)}.ctrl-btn.small{width:31px;height:31px;padding:6px}.volume-popover{right:auto;left:0;bottom:40px}.lyrics-wrap{height:135px;flex:0 0 150px}.playlist-wrap{flex:0 0 auto}.playlist{max-height:132px}.music-art{width:min(260px,100%);margin-bottom:0}.music-artist{margin-bottom:15px}}@media(max-width:380px){.music-controls{justify-content:center;gap:18px;padding-right:0;padding-bottom:0}.control-extras{top:50%;right:0;bottom:auto;transform:translateY(-50%);gap:4px}.ctrl-btn.small{width:28px;height:28px;padding:5px}.volume-popover{left:0;right:auto;bottom:34px;transform:translateY(8px) scale(.96)}.volume-popover.open{transform:translateY(0) scale(1)}}.immersive-close{position:absolute;top:24px;right:28px;z-index:2;background:#ffffff1a;border:none;color:#fff9;cursor:pointer;width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:18px;transition:all .2s}.immersive-close:hover{background:#fff3;color:#fff}.hero{position:relative;width:100%;height:100vh;min-height:500px;overflow:hidden;display:flex;align-items:center;justify-content:center}.hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}.hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(to bottom,#0003,#0000001a,#f5f3ef)}.hero-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:0}.hero-vignette{position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,.4) 100%)}.hero-filmgrain{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.06;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grainShift .5s steps(4) infinite}@keyframes grainShift{0%{transform:translate(0)}25%{transform:translate(-2%,-3%)}50%{transform:translate(3%,1%)}75%{transform:translate(-1%,2%)}to{transform:translate(2%,-1%)}}.hero-content{position:relative;z-index:2;text-align:center;padding:0 32px}.hero-title{font-family:Cormorant Garamond,serif;font-style:italic;font-weight:300;font-size:clamp(32px,6vw,64px);line-height:1.15;color:#fff;text-shadow:0 2px 30px rgba(0,0,0,.3);animation:heroFadeIn 1.2s ease both}.hero-sub{font-size:14px;color:#ffffffb3;font-weight:300;letter-spacing:.15em;margin-top:20px;animation:heroFadeIn 1.2s ease .3s both}.hero-scroll{position:absolute;bottom:40px;left:50%;transform:translate(-50%);z-index:2;color:#ffffff80;font-size:12px;letter-spacing:.2em;text-transform:uppercase;animation:heroFadeIn 1.2s ease .6s both,bounce 2s ease infinite 1.8s}.hero-scroll:after{content:"";display:block;width:1px;height:32px;background:#ffffff4d;margin:10px auto 0}@keyframes heroFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(8px)}}.filter-bar{max-width:1400px;margin:0 auto;padding:40px 32px 32px;display:flex;gap:8px;flex-wrap:wrap;transition:opacity .28s ease,transform .28s ease,background .28s ease,box-shadow .28s ease}.filter-bar.as-sidebar{position:fixed;left:22px;top:50%;z-index:90;width:118px;max-width:none;margin:0;padding:18px 0 18px 22px;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:4px;background:#f5f3efc2;border:1px solid rgba(26,26,24,.08);border-radius:24px;box-shadow:0 22px 60px #26221b1f;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);transform:translateY(-50%);animation:sideRailIn .34s cubic-bezier(.2,.8,.2,1) both}.filter-bar.as-sidebar:before{content:"";position:absolute;left:24px;top:26px;bottom:26px;width:1px;background:linear-gradient(to bottom,transparent,rgba(26,26,24,.22) 12%,rgba(26,26,24,.22) 88%,transparent)}.filter-btn{padding:6px 18px;border:1px solid #ddd;border-radius:20px;background:transparent;color:#888;font-family:inherit;font-size:12px;letter-spacing:.08em;cursor:pointer;transition:all .25s}.filter-bar.as-sidebar .filter-btn{position:relative;width:100%;padding:9px 12px 9px 28px;border-color:transparent;border-radius:0;background:transparent;color:#8d877e;text-align:left;font-size:11px;letter-spacing:.12em}.filter-bar.as-sidebar .filter-btn:before{content:"";position:absolute;left:-2px;top:50%;width:9px;height:9px;border-radius:50%;background:#f5f3ef;border:1px solid rgba(26,26,24,.28);transform:translateY(-50%);transition:all .25s ease;box-shadow:0 0 0 5px #f5f3efe0}.filter-bar.as-sidebar .filter-btn:after{content:"";position:absolute;left:10px;right:12px;top:50%;height:1px;background:#1a1a1814;transform:scaleX(0);transform-origin:left;transition:transform .25s ease}.filter-btn:hover{border-color:#999;color:#555}.filter-bar.as-sidebar .filter-btn:hover{border-color:transparent;color:#1a1a18;transform:translate(3px)}.filter-bar.as-sidebar .filter-btn:hover:after{transform:scaleX(1)}.filter-btn.active{background:#1a1a18;color:#f5f3ef;border-color:#1a1a18}.filter-bar.as-sidebar .filter-btn.active{background:transparent;color:#1a1a18;border-color:transparent;box-shadow:none;font-weight:400}.filter-bar.as-sidebar .filter-btn.active:before{width:13px;height:13px;left:-4px;background:#1a1a18;border-color:#1a1a18;box-shadow:0 0 0 5px #f5f3efeb,0 0 0 8px #1a1a1814}@keyframes sideRailIn{0%{opacity:0;transform:translateY(-44%) translate(-14px)}to{opacity:1;transform:translateY(-50%) translate(0)}}@media(max-width:640px){.filter-bar.as-sidebar{left:8px;width:94px;padding:14px 0 14px 18px;border-radius:20px}.filter-bar.as-sidebar:before{left:20px}.filter-bar.as-sidebar .filter-btn{padding-left:24px;font-size:10px}}.gallery-wrap{max-width:1400px;margin:0 auto;padding:0 24px 80px}.gallery{column-count:2;column-gap:16px;overflow-anchor:none}@media(min-width:768px){.gallery{column-count:3;column-gap:20px}}@media(min-width:1200px){.gallery{column-count:4;column-gap:24px}}.gallery .item{width:100%;margin:0 0 16px;display:inline-block;break-inside:avoid;page-break-inside:avoid;border-radius:10px;overflow:hidden;position:relative;cursor:pointer;background:#ebe8e1;box-shadow:0 18px 45px #26221b0f;opacity:1;transform:translateY(0);overflow-anchor:none}@media(min-width:768px){.gallery .item{margin-bottom:20px}}@media(min-width:1200px){.gallery .item{margin-bottom:24px}}.gallery .item img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transform:translateY(26px) scale(1.035);filter:blur(8px);transition:opacity .72s cubic-bezier(.2,.8,.2,1),transform .72s cubic-bezier(.2,.8,.2,1),filter .72s ease}.gallery .item img.loaded{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}.gallery .item:hover img.loaded{transform:translateY(-3px) scale(1.03)}.gallery .item .placeholder{width:100%;aspect-ratio:3/4;background:linear-gradient(180deg,#ffffff57,#fff0 42%),linear-gradient(110deg,#e8e6e1 30%,#f0eee9,#e8e6e1 70%);background-size:100% 100%,200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:10px;transition:opacity .38s ease .18s}.gallery .item .placeholder.hidden{animation:none;opacity:0}.gallery-empty{padding:72px 24px;text-align:center;color:#9b958b;letter-spacing:.12em;font-size:12px;text-transform:uppercase;border:1px dashed #ddd8cf;border-radius:18px}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.gallery .item .info{position:absolute;bottom:0;left:0;right:0;padding:40px 16px 14px;background:linear-gradient(to top,rgba(0,0,0,.55),transparent);opacity:0;transition:opacity .3s}.gallery .item:hover .info{opacity:1}.info .year-tag{display:inline-block;padding:3px 10px;background:#ffffff26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:12px;color:#fff;font-size:10px;letter-spacing:.15em;font-weight:300}@keyframes fadeIn{to{opacity:1;transform:translateY(0)}}@keyframes cardReveal{0%{opacity:0;transform:translateY(24px);filter:blur(7px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.back-top{position:fixed;right:24px;bottom:24px;z-index:120;width:48px;height:48px;border:1px solid rgba(26,26,24,.12);border-radius:50%;background:#f5f3efdb;color:#1a1a18;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 18px 50px #26221b24;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);opacity:0;transform:translateY(16px) scale(.92);pointer-events:none;transition:opacity .28s ease,transform .28s ease,background .28s ease}.back-top.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.back-top:hover{background:#1a1a18;color:#f5f3ef;transform:translateY(-3px) scale(1)}.back-top svg{transition:transform .28s ease}.back-top:hover svg{transform:translateY(-2px)}@media(max-width:640px){.back-top{right:16px;bottom:16px;width:44px;height:44px}}.lightbox{display:none;position:fixed;inset:0;background:#000000eb;z-index:1000;justify-content:center;align-items:center}.lightbox.active{display:flex}.lightbox img{max-width:92vw;max-height:90vh;border-radius:8px;animation:popIn .25s ease}@keyframes popIn{0%{transform:scale(.92);opacity:0}}.lb-close{position:absolute;top:20px;right:28px;color:#fff9;font-size:32px;cursor:pointer;transition:color .2s;background:none;border:none;font-family:inherit;z-index:2;line-height:1}.lb-close:hover{color:#fff}.lb-nav{position:absolute;top:50%;transform:translateY(-50%);color:#fff6;font-size:44px;cursor:pointer;padding:16px;-webkit-user-select:none;user-select:none;background:none;border:none;font-family:inherit;transition:color .2s;z-index:2;line-height:1}.lb-nav:hover{color:#fff}.lb-prev{left:8px}.lb-next{right:8px}.footer{max-width:1400px;margin:0 auto;padding:0 32px 40px}.footer-inner{border-top:1px solid #e0ddd8;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.footer span{font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#aaa;font-weight:300}
