:root{--burgundy: #8B1538;--burgundy-dark: #5c0e25;--burgundy-light: #b91d4a;--forest-green: #1D4332;--forest-green-dark: #0f2219;--forest-green-light: #2a5f47;--gold: #D4AF37;--gold-light: #e6c860;--gold-dark: #a88a2b;--cream: #FDF8E8;--cream-dark: #f5ecd0;--snow-white: #ffffff;--night-sky: #0a0a14;--night-sky-light: #141428;--bg-gradient: radial-gradient(ellipse at top, #1a0a14 0%, #0a0a14 50%, #050508 100%);--font-display: "Cormorant Garamond", serif;--font-body: "Quicksand", sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--transition-door: .8s cubic-bezier(.4, 0, .2, 1);--shadow-glow: 0 0 20px rgba(212, 175, 55, .3);--shadow-glow-strong: 0 0 40px rgba(212, 175, 55, .5);--shadow-door: 0 10px 40px rgba(0, 0, 0, .5);--door-size: min(40vw, 150px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#050508}body{font-family:var(--font-body);background:var(--bg-gradient);background-attachment:fixed;background-size:100% 100vh;background-repeat:no-repeat;background-color:#050508;color:var(--cream);min-height:100vh;min-height:100dvh;overflow-x:hidden;line-height:1.6;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}#root{min-height:100vh;min-height:100dvh}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;line-height:1.2}::selection{background:var(--burgundy);color:var(--cream)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--night-sky)}::-webkit-scrollbar-thumb{background:var(--burgundy-dark);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--burgundy)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:480px){:root{--door-size: min(42vw, 160px)}}@media(min-width:768px){:root{--door-size: 180px}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-glow{0%,to{box-shadow:var(--shadow-glow)}50%{box-shadow:var(--shadow-glow-strong)}}@keyframes shimmer{0%{background-position:-200% center}to{background-position:200% center}}@keyframes twinkle{0%,to{opacity:.3}50%{opacity:1}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-5px)}40%,80%{transform:translate(5px)}}
