:root{--bg-primary:#111418;--bg-secondary:#171c23;--bg-card:#1d232d;--bg-card-hover:#242c38;--accent-gold:#d4af37;--accent-gold-soft:#c5a880;--accent-gold-glow:#d4af3726;--text-primary:#f1f5f9;--text-secondary:#cbd5e1;--text-muted:#94a3b8;--border-color:#ffffff14;--border-gold:#d4af3740;--font-serif:"Cormorant Garamond", Georgia, serif;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--radius-sm:8px;--radius-md:16px;--radius-lg:24px}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.6}body{min-height:100vh;overflow-x:hidden}.font-serif{font-family:var(--font-serif)}.text-gold{color:var(--accent-gold-soft)}.container{max-width:1120px;margin:0 auto;padding:0 1.5rem}.privacy-badge{border:1px solid var(--border-gold);color:var(--accent-gold-soft);background:#d4af3714;border-radius:100px;align-items:center;gap:.5rem;margin-bottom:2rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;display:inline-flex}.navbar{z-index:50;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);background:#111418d9;padding:1rem 0;transition:all .3s;position:sticky;top:0}.nav-container{justify-content:space-between;align-items:center;gap:1rem;display:flex}.nav-logo{font-family:var(--font-serif);color:var(--text-primary);white-space:nowrap;align-items:center;gap:.5rem;font-size:1.35rem;font-weight:600;text-decoration:none;display:flex}.nav-links{white-space:nowrap;align-items:center;gap:1.15rem;list-style:none;display:flex}.nav-link{color:var(--text-secondary);font-size:.9rem;text-decoration:none;transition:color .2s}.nav-link:hover{color:var(--accent-gold-soft)}.hero-section{text-align:center;background:radial-gradient(circle at 50% 20%,#d4af370f 0%,#11141800 70%);padding:4rem 0 5rem;position:relative}.hero-frame{background:linear-gradient(135deg,#d4af3766,#ffffff0d,#d4af3733);border-radius:50%;width:220px;height:220px;margin:0 auto 2rem;padding:6px;position:relative;box-shadow:0 20px 40px #00000080}.hero-img{object-fit:cover;filter:brightness(.98)contrast(1.02);border-radius:50%;width:100%;height:100%}.hero-title{font-family:var(--font-serif);letter-spacing:-.01em;color:var(--text-primary);margin-bottom:.5rem;font-size:3rem;font-weight:600}.hero-dates{font-family:var(--font-serif);color:var(--accent-gold-soft);letter-spacing:.05em;margin-bottom:1.5rem;font-size:1.35rem}.hero-quote{font-family:var(--font-serif);color:var(--text-secondary);max-width:680px;margin:0 auto 2rem;font-size:1.25rem;font-style:italic;line-height:1.7}.candle-widget{background:var(--bg-card);border:1px solid var(--border-gold);cursor:pointer;border-radius:100px;align-items:center;gap:1rem;padding:.75rem 1.5rem;transition:all .3s;display:inline-flex;box-shadow:0 4px 20px #0003}.candle-widget:hover{background:var(--bg-card-hover);transform:translateY(-2px);box-shadow:0 6px 24px #d4af3726}.flame-icon{width:24px;height:24px;color:var(--accent-gold);animation:2s ease-in-out infinite alternate flamePulse}@keyframes flamePulse{0%{opacity:.85;filter:drop-shadow(0 0 4px #d4af3799);transform:scale(1)rotate(-2deg)}50%{opacity:1;filter:drop-shadow(0 0 10px #d4af37e6);transform:scale(1.1)rotate(2deg)}to{opacity:.9;filter:drop-shadow(0 0 6px #d4af37b3);transform:scale(.95)rotate(-1deg)}}.section-wrapper{border-top:1px solid var(--border-color);padding:4rem 0}.section-header{text-align:center;margin-bottom:3rem}.section-title{font-family:var(--font-serif);margin-bottom:.5rem;font-size:2.25rem;font-weight:600}.section-subtitle{color:var(--text-muted);font-size:1rem}.card-grid-2{grid-template-columns:1fr 1fr;align-items:start;gap:2rem;display:grid}@media (width<=768px){.card-grid-2{grid-template-columns:1fr}.hero-title{font-size:2.25rem}.nav-links{display:none}}.memorial-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:2rem;transition:all .3s}.memorial-card:hover{border-color:var(--border-gold)}.memorial-card-img{border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:transform .3s}.memorial-card-img:hover{transform:scale(1.01)}.playlist-box{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);padding:1.5rem}.playlist-item{border-bottom:1px solid var(--border-color);align-items:center;gap:1rem;padding:.75rem 0;display:flex}.playlist-item:last-child{border-bottom:none}.playlist-num{font-family:var(--font-serif);color:var(--accent-gold-soft);width:24px;font-size:1.2rem}.button-gold{background:var(--accent-gold);color:#111418;cursor:pointer;border:none;border-radius:100px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.button-gold:hover{background:#e5be48;transform:translateY(-1px)}.button-secondary{background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-color);cursor:pointer;border-radius:100px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.button-secondary:hover{background:var(--bg-card-hover);border-color:var(--border-gold)}.condolences-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:2rem;display:flex}.search-input{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);border-radius:100px;outline:none;width:320px;max-width:100%;padding:.75rem 1.25rem;font-size:.95rem;transition:border-color .2s}.search-input:focus{border-color:var(--accent-gold)}.condolence-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-bottom:1.5rem;padding:2rem;transition:all .3s;position:relative}.condolence-card:hover{border-color:var(--border-gold);transform:translateY(-2px);box-shadow:0 10px 30px #0000004d}.condolence-header{justify-content:space-between;align-items:flex-start;margin-bottom:1rem;display:flex}.condolence-author{font-family:var(--font-serif);color:var(--accent-gold-soft);font-size:1.35rem;font-weight:600}.condolence-meta{color:var(--text-muted);font-size:.85rem}.condolence-body{color:var(--text-secondary);white-space:pre-line;font-size:1.025rem;line-height:1.7}.condolence-attachment{border-radius:var(--radius-sm);border:1px solid var(--border-color);cursor:pointer;max-width:360px;margin-top:1.25rem;transition:transform .2s}.condolence-attachment:hover{transform:scale(1.02)}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:100;background:#000000d9;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-gold);border-radius:var(--radius-md);width:100%;max-width:600px;max-height:90vh;padding:2.5rem;position:relative;overflow-y:auto;box-shadow:0 20px 50px #000000b3}.form-group{margin-bottom:1.25rem}.form-label{color:var(--text-secondary);margin-bottom:.5rem;font-size:.9rem;display:block}.form-input,.form-textarea{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);outline:none;padding:.75rem 1rem;font-family:inherit;font-size:.975rem}.form-input:focus,.form-textarea:focus{border-color:var(--accent-gold)}.preview-box{border:1px dashed var(--border-gold);border-radius:var(--radius-sm);color:var(--accent-gold-soft);background:#d4af370d;margin-top:.5rem;padding:.75rem 1rem;font-size:.875rem}.footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border-color);padding:3rem 0;font-size:.875rem}
