@font-face{font-family:HKNova;src:url(/fonts/HKNova-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:HKNova;src:url(/fonts/HKNova-SemiBold.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:HKNova;src:url(/fonts/HKNova-Bold.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}body{font-family:HKNova,sans-serif}:root{--bg: radial-gradient(circle at top, #101622, #02030a);--accent: #ffffff;--text: #f9fafb}:root.theme-frost{--bg: radial-gradient(circle at top, #BBDD9F, #2e837f)}:root.theme-cozy{--bg: radial-gradient(circle at top, #a55e20, #0b0203)}:root.theme-nordic{--bg: radial-gradient(circle at top, #badff1, #111827);--text: #e5e7eb}:root.theme-electric{--bg: radial-gradient(circle at top, #4c2997, #020617)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%}body{background:var(--bg);color:var(--text)}#app{height:100%}.layout-immersive{position:relative;height:100vh;width:100%;overflow:hidden}.scene-wrapper{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:0;overflow:hidden}#scene-canvas{width:100%;height:100%;display:block}.ui-overlay{position:relative;z-index:1;top:0;right:0;bottom:0;left:0;height:100%;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}.overlay-header{padding:1.25rem 1.5rem .75rem;background:linear-gradient(to bottom,rgba(0,0,0,.55),transparent)}.header-inner{max-width:980px;margin:0 auto;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;pointer-events:auto}.logo{height:28px;width:auto;opacity:.85;transition:opacity .2s ease}.logo:hover{opacity:1}.mood-selector h2{font-size:.95rem;margin:0 0 .4rem;opacity:.9}.mood-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.mood-btn{padding:.45rem .9rem;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:#0f172a66;color:inherit;font-family:HKNova,sans-serif;cursor:pointer;font-size:.85rem;opacity:.9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:background .2s ease,transform .15s ease,opacity .15s ease,border-color .2s ease}.mood-btn:hover{transform:translateY(-1px);opacity:1;border-color:#fff6}.mood-btn.is-active{background:#ffffff1f;opacity:1}.overlay-footer{padding:.75rem 1.5rem 1.5rem;background:linear-gradient(to top,rgba(0,0,0,.65),transparent)}.footer-inner{max-width:980px;margin:0 auto;display:flex;flex-direction:row;gap:2rem;align-items:flex-end;pointer-events:auto}.spotify-wrapper{flex:1.4;min-width:0}.spotify-wrapper h2{font-size:.95rem;margin:0 0 .5rem;opacity:.9}#spotify-embed iframe{border-radius:.75rem;overflow:hidden}.greeting{flex:1;font-size:.9rem;line-height:1.5;opacity:.92}.agency-signature{margin-top:.5rem;font-size:.8rem;opacity:.7}#loader-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,#0f172ae6,#020617fa);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:opacity .4s ease,visibility .4s ease}#loader-overlay.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.loader-inner{display:flex;flex-direction:column;align-items:center;gap:.9rem}.snowglobe-loader{position:relative;width:88px;display:flex;flex-direction:column;align-items:center;animation:snowglobe-float 2.4s ease-in-out infinite}.snowglobe-glass{position:relative;width:72px;height:72px;border-radius:999px;overflow:hidden;border:1px solid rgba(248,250,252,.7);background:radial-gradient(circle at 30% 20%,#f8fafcf2,#94a3b826),radial-gradient(circle at 70% 80%,rgba(69,164,160,.55),transparent 60%);box-shadow:0 0 22px #45a4a0a6,0 0 34px #0f172ae6,inset 0 0 18px #0f172acc}.snowglobe-glass:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(to bottom,rgba(248,250,252,.55),transparent 45%);mix-blend-mode:screen;opacity:.9}.snowglobe-snow{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.snowglobe-snow:before,.snowglobe-snow:after,.snowglobe-snow>div{content:"";position:absolute;top:-30%;right:-30%;bottom:-30%;left:-30%;background-repeat:repeat;background-size:100px 100px;animation-timing-function:linear;animation-iteration-count:infinite;will-change:transform}.snowglobe-snow:before{background-image:radial-gradient(rgba(255,255,255,.98) 2.6px,transparent 4px),radial-gradient(rgba(255,255,255,.75) 2px,transparent 4px);background-position:0 0,90px -50px;animation-name:snow-parallax-near;animation-duration:6s;opacity:1}.snowglobe-snow:after{background-image:radial-gradient(rgba(255,255,255,.9) 2px,transparent 4px),radial-gradient(rgba(255,255,255,.7) 1.6px,transparent 4px);background-position:40px -20px,130px 10px;animation-name:snow-parallax-mid;animation-duration:10s;opacity:.9}.snowglobe-snow>div{background-image:radial-gradient(rgba(255,255,255,.7) 1.4px,transparent 4px),radial-gradient(rgba(255,255,255,.5) 1.1px,transparent 4px);background-position:10px -10px,100px -30px;animation-name:snow-parallax-far;animation-duration:16s;opacity:.8}@keyframes snow-parallax-near{0%{transform:translate3d(0,-15%,0)}to{transform:translate3d(-10%,100%,0)}}@keyframes snow-parallax-mid{0%{transform:translate3d(0,-12%,0)}to{transform:translate3d(5%,100%,0)}}@keyframes snow-parallax-far{0%{transform:translate3d(0,-8%,0)}to{transform:translate3d(-4%,100%,0)}}.snowglobe-base{margin-top:6px;width:64px;height:18px;border-radius:999px 999px 8px 8px;background:linear-gradient(to bottom,#45a4a0,#2f746f);box-shadow:0 8px 18px #0f172abf,0 0 12px #45a4a0b3;position:relative}.snowglobe-base:before{content:"";position:absolute;inset:2px 8px auto;height:4px;border-radius:999px;background:linear-gradient(to right,#f8fafcd9,#f8fafc1a);opacity:.9}.loader-text{font-size:.9rem;letter-spacing:.04em;text-transform:uppercase;opacity:.8;text-align:center}.loader-highlight{color:#45a4a0}@keyframes snowglobe-float{0%{transform:translateY(0)}50%{transform:translateY(-6px)}to{transform:translateY(0)}}@media (max-width: 900px){.overlay-header{padding:1rem 1rem .5rem}.overlay-footer{padding:.5rem 1rem 1rem}.footer-inner{flex-direction:column;align-items:stretch;gap:1.25rem}.spotify-wrapper,.greeting{width:100%}.greeting{font-size:.85rem}}@media (max-width: 600px){.mood-buttons{gap:.4rem}.mood-btn{font-size:.8rem;padding:.4rem .75rem}.site-title{font-size:.85rem}}
