:root{--bg-main: #fbf9f5;--bg-card: #ffffff;--bg-glass: rgba(255, 255, 255, .78);--bg-dark: #121417;--text-main: #2b2523;--text-muted: #6e6561;--text-light: #9c918c;--rose-gold: #d98880;--rose-gold-dark: #b8625b;--rose-gold-light: #fae5df;--gold: #c5a059;--gold-light: #f7edd8;--wine: #68222d;--shadow-sm: 0 2px 8px rgba(43, 37, 35, .04);--shadow-md: 0 6px 20px rgba(43, 37, 35, .07);--shadow-lg: 0 16px 40px rgba(43, 37, 35, .1);--shadow-glow: 0 0 30px rgba(217, 136, 128, .25);--font-serif: "Playfair Display", "Cormorant Garamond", Georgia, serif;--font-script: "Great Vibes", cursive;--font-sans: "Montserrat", -apple-system, BlinkMacSystemFont, sans-serif;--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--ease-smooth: cubic-bezier(.16, 1, .3, 1);--transition-fast: .2s var(--ease-smooth);--transition-normal: .35s var(--ease-smooth)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-family:var(--font-sans);background-color:var(--bg-main);color:var(--text-main);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}body{overflow-x:hidden;line-height:1.6;position:relative}.bg-ambient{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;overflow:hidden}.ambient-orb{position:absolute;border-radius:50%;filter:blur(80px);opacity:.35;will-change:transform;transform:translateZ(0);animation:floatOrb 25s infinite alternate ease-in-out}.ambient-orb-1{width:500px;height:500px;background:radial-gradient(circle,var(--rose-gold-light),transparent);top:-100px;left:-100px}.ambient-orb-2{width:600px;height:600px;background:radial-gradient(circle,var(--gold-light),transparent);bottom:10%;right:-150px;animation-duration:32s;animation-delay:-5s}@keyframes floatOrb{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(40px,60px,0) scale(1.08)}to{transform:translate3d(-30px,30px,0) scale(.96)}}.glass-panel{background:var(--bg-glass);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.65)}.font-serif{font-family:var(--font-serif)}.font-script{font-family:var(--font-script)}.font-sans{font-family:var(--font-sans)}.gold-gradient-text{background:linear-gradient(135deg,var(--rose-gold-dark) 0%,var(--gold) 50%,var(--rose-gold) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.btn-luxury{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;border-radius:9999px;font-family:var(--font-sans);font-size:.95rem;font-weight:600;letter-spacing:.5px;cursor:pointer;border:none;outline:none;transition:transform var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast);will-change:transform}.btn-luxury-primary{background:linear-gradient(135deg,var(--rose-gold) 0%,var(--rose-gold-dark) 100%);color:#fff;box-shadow:0 4px 18px #b8625b59}.btn-luxury-primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 24px #b8625b73}.btn-luxury-primary:active{transform:translateY(0) scale(.98)}.btn-luxury-outline{background:#fffc;color:var(--text-main);border:1px solid rgba(217,136,128,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-luxury-outline:hover{background:#fff;border-color:var(--rose-gold);transform:translateY(-2px);box-shadow:var(--shadow-md)}.navbar-wrap{position:fixed;top:0;left:0;right:0;z-index:50;transition:all var(--transition-normal);padding:16px 24px}.navbar-scrolled{padding:10px 24px;background:#ffffffe0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid rgba(224,168,153,.2);box-shadow:var(--shadow-sm)}.navbar-container{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.navbar-logo{font-family:var(--font-serif);font-size:1.35rem;font-weight:700;text-decoration:none;color:var(--text-main);display:flex;align-items:center;gap:8px}.navbar-links{display:flex;align-items:center;gap:28px;list-style:none}.navbar-links a{text-decoration:none;color:var(--text-muted);font-size:.9rem;font-weight:500;letter-spacing:.3px;transition:color var(--transition-fast);position:relative}.navbar-links a:after{content:"";position:absolute;bottom:-4px;left:50%;width:0;height:2px;background:var(--rose-gold);transition:all var(--transition-fast);transform:translate(-50%);border-radius:2px}.navbar-links a:hover{color:var(--rose-gold-dark)}.navbar-links a:hover:after{width:100%}.image-skeleton{background:linear-gradient(90deg,#f0eae5 25%,#faf5f2,#f0eae5 75%);background-size:200% 100%;animation:shimmer 1.8s infinite}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.photo-masonry-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}@media (min-width: 768px){.photo-masonry-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px}}.photo-card{position:relative;border-radius:16px;overflow:hidden;background-color:#f5eee8;cursor:pointer;box-shadow:var(--shadow-sm);transition:transform var(--transition-normal),box-shadow var(--transition-normal);will-change:transform}.photo-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.photo-card img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease-smooth)}.photo-card:hover img{transform:scale(1.05)}.photo-card-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 40%,rgba(20,15,15,.7) 100%);opacity:0;transition:opacity var(--transition-normal);display:flex;flex-direction:column;justify-content:flex-end;padding:18px;color:#fff}.photo-card:hover .photo-card-overlay{opacity:1}.lightbox-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0a0a0cf0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:100;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .25s ease}.lightbox-backdrop.active{opacity:1;pointer-events:auto}.vinyl-player-widget{position:fixed;bottom:24px;right:24px;z-index:45;display:flex;align-items:center;gap:12px;padding:8px 16px 8px 8px;border-radius:9999px;background:#ffffffe6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid rgba(224,168,153,.4);box-shadow:0 8px 28px #2b252326;transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.vinyl-disc{width:44px;height:44px;border-radius:50%;background:radial-gradient(circle,#2b2b2b 30%,#151515 70%);border:2px solid #e0a899;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:0 2px 8px #0000004d}.vinyl-disc.spinning{animation:spinVinyl 6s linear infinite}@keyframes spinVinyl{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vinyl-center-dot{width:14px;height:14px;border-radius:50%;background:#fff;border:3px solid var(--rose-gold-dark)}.sound-bars{display:flex;align-items:flex-end;gap:3px;height:16px}.sound-bar{width:3px;background:var(--rose-gold-dark);border-radius:2px;height:4px}.sound-bars.playing .sound-bar:nth-child(1){animation:soundEq .9s infinite ease-in-out}.sound-bars.playing .sound-bar:nth-child(2){animation:soundEq .7s infinite .2s ease-in-out}.sound-bars.playing .sound-bar:nth-child(3){animation:soundEq 1.1s infinite .4s ease-in-out}.sound-bars.playing .sound-bar:nth-child(4){animation:soundEq .8s infinite .1s ease-in-out}@keyframes soundEq{0%,to{height:4px}50%{height:16px}}.birthday-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#120e0fcc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:120;display:flex;align-items:center;justify-content:center;padding:16px;animation:fadeIn .3s ease}.birthday-card-container{background:#fff;border-radius:24px;max-width:640px;width:100%;max-height:90vh;overflow-y:auto;position:relative;border:1px solid rgba(224,168,153,.4);box-shadow:0 20px 60px #00000059;animation:scaleUp .35s var(--ease-spring)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}@media (max-width: 768px){.navbar-wrap{padding:10px 14px}.navbar-container{gap:8px}.navbar-logo{font-size:1.05rem;gap:4px}.navbar-links{display:none}.vinyl-player-widget{bottom:14px;right:14px;padding:6px 12px 6px 6px;transform:scale(.92);transform-origin:bottom right}}@media (max-width: 420px){.navbar-btn-text{display:none}}
