@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,300;1,400;1,500&family=Inter:wght@300;400;500&display=swap");@font-face{font-family:VornMemorial;src:url(/fonts/vorn-memorial.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--bg-void:#06060b;--bg-deep:#0a0a12;--bg-surface:#0e0e18;--bg-elevated:#141420;--bg-card:rgba(14,14,24,.7);--text-primary:#e8e0d4;--text-secondary:#9a9285;--text-muted:#5a5550;--text-accent:#c9a84c;--text-ghost:hsla(36,30%,87%,.04);--gold:#c9a84c;--gold-dim:#8a7335;--gold-glow:rgba(201,168,76,.15);--gold-flare:rgba(201,168,76,.06);--border-subtle:rgba(201,168,76,.08);--border-faint:hsla(36,30%,87%,.04);--font-serif:"Cormorant Garamond","Georgia",serif;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,sans-serif;--font-poem:"VornMemorial","Cormorant Garamond",serif;--space-xs:0.25rem;--space-sm:0.5rem;--space-md:1rem;--space-lg:2rem;--space-xl:3rem;--space-2xl:5rem;--space-3xl:8rem;--ease-out:cubic-bezier(0.16,1,0.3,1);--ease-in-out:cubic-bezier(0.76,0,0.24,1);--dur-slow:1.8s;--dur-med:0.8s;--dur-fast:0.3s}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--bg-void);color:var(--text-primary);min-height:100vh;overflow-x:hidden;line-height:1.7}body:before{background:radial-gradient(ellipse 70% 60% at 50% 40%,transparent 0,rgba(6,6,11,.4) 60%,rgba(6,6,11,.95) 100%);z-index:1}body:after,body:before{content:"";position:fixed;inset:0;pointer-events:none}body:after{background-image:radial-gradient(1px 1px at 20% 30%,rgba(201,168,76,.12),transparent),radial-gradient(1px 1px at 80% 70%,rgba(201,168,76,.08),transparent),radial-gradient(1.5px 1.5px at 50% 50%,hsla(36,30%,87%,.06),transparent),radial-gradient(1px 1px at 35% 85%,rgba(201,168,76,.1),transparent),radial-gradient(1px 1px at 70% 20%,hsla(36,30%,87%,.04),transparent);background-size:250px 250px,300px 300px,200px 200px,350px 350px,280px 280px;animation:fogDrift 60s linear infinite;z-index:0;opacity:.5}@keyframes fogDrift{0%{transform:translate(0)}50%{transform:translate(-30px,-20px)}to{transform:translate(0)}}.memorial-container{position:relative;z-index:2;max-width:720px;margin:0 auto;padding:var(--space-3xl) var(--space-lg)}.fade-section{opacity:0;transform:translateY(24px);animation:fadeUp var(--dur-slow) var(--ease-out) forwards}.fade-section:first-child{animation-delay:.2s}.fade-section:nth-child(2){animation-delay:.6s}.fade-section:nth-child(3){animation-delay:1s}.fade-section:nth-child(4){animation-delay:1.4s}.fade-section:nth-child(5){animation-delay:1.8s}.fade-section:nth-child(6){animation-delay:2.2s}@keyframes fadeUp{to{opacity:1;transform:translateY(0)}}.ornament-divider{text-align:center;padding:var(--space-xl) 0;color:var(--gold-dim);font-family:var(--font-serif);font-size:1.5rem;letter-spacing:1rem;opacity:.4;-webkit-user-select:none;-moz-user-select:none;user-select:none}.memorial-header{text-align:center;padding-bottom:var(--space-2xl)}.memorial-header .dates{font-family:var(--font-sans);font-size:.75rem;font-weight:300;letter-spacing:.35em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-lg)}.memorial-header h1{font-family:var(--font-serif);font-size:clamp(2.5rem,6vw,4rem);font-weight:300;color:var(--text-primary);letter-spacing:-.02em;line-height:1.1;margin-bottom:var(--space-sm)}.memorial-header .subtitle{font-family:var(--font-serif);font-style:italic;font-size:1.15rem;font-weight:300;color:var(--text-secondary);margin-top:var(--space-md)}.memorial-header .candle{display:inline-block;margin-top:var(--space-lg);font-size:2rem;animation:candleFlicker 3s ease-in-out infinite;filter:drop-shadow(0 0 12px rgba(201,168,76,.4))}@keyframes candleFlicker{0%,to{opacity:.7;transform:scale(1)}25%{opacity:1;transform:scale(1.05)}50%{opacity:.8;transform:scale(.98)}75%{opacity:.95;transform:scale(1.02)}}.bio-section{padding:var(--space-xl) 0}.bio-section p{font-family:var(--font-serif);font-size:1.1rem;font-weight:300;color:var(--text-secondary);line-height:1.9;margin-bottom:var(--space-md)}.bio-section p:first-of-type:first-letter{font-size:3.2em;float:left;line-height:.8;margin-right:.08em;margin-top:.05em;color:var(--gold);font-weight:400}.poem-section{padding:var(--space-xl) 0;text-align:center}.poem-section .poem-label{font-family:var(--font-sans);font-size:.65rem;letter-spacing:.4em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-lg)}.poem-section .poem-text{font-family:var(--font-poem);font-size:1.2rem;font-weight:400;color:var(--text-primary);line-height:2.2;font-style:italic;max-width:520px;margin:0 auto}.poem-section .poem-text p{margin-bottom:var(--space-lg)}.poem-section .poem-attribution{font-family:var(--font-serif);font-size:.9rem;color:var(--gold-dim);margin-top:var(--space-xl);font-style:italic}.quote-section{padding:var(--space-xl) var(--space-lg);border-left:1px solid var(--border-subtle);margin:var(--space-xl) 0}.quote-section blockquote{font-family:var(--font-serif);font-size:1.3rem;font-weight:300;font-style:italic;color:var(--text-secondary);line-height:1.8}.quote-section cite{display:block;font-family:var(--font-sans);font-size:.75rem;font-style:normal;color:var(--text-muted);margin-top:var(--space-md);letter-spacing:.1em}.memorial-footer{text-align:center;padding:var(--space-3xl) 0 var(--space-2xl)}.memorial-footer .epitaph{font-family:var(--font-serif);font-size:.85rem;color:var(--text-muted);font-style:italic;letter-spacing:.05em}.memorial-footer .cross{display:block;font-size:1.5rem;color:var(--gold-dim);margin-bottom:var(--space-md);opacity:.5}.guestbook-container{position:relative;z-index:2;max-width:560px;margin:0 auto;padding:var(--space-3xl) var(--space-lg)}.guestbook-container h1{font-family:var(--font-serif);font-size:2rem;font-weight:300;color:var(--text-primary);text-align:center;margin-bottom:var(--space-sm)}.guestbook-container .guestbook-sub{font-family:var(--font-serif);font-size:.95rem;color:var(--text-secondary);text-align:center;font-style:italic;margin-bottom:var(--space-2xl)}.guestbook-form{display:flex;flex-direction:column;gap:var(--space-md)}.guestbook-form input,.guestbook-form textarea{font-family:var(--font-sans);font-size:.9rem;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:4px;padding:var(--space-sm) var(--space-md);color:var(--text-primary);outline:none;transition:border-color var(--dur-fast) ease}.guestbook-form input:focus,.guestbook-form textarea:focus{border-color:var(--gold-dim)}.guestbook-form textarea{min-height:120px;resize:vertical}.guestbook-form button{font-family:var(--font-sans);font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;padding:var(--space-sm) var(--space-lg);background:transparent;border:1px solid var(--gold-dim);color:var(--gold);cursor:pointer;transition:all var(--dur-fast) ease;border-radius:2px;align-self:center}.guestbook-form button:hover{background:var(--gold-flare);border-color:var(--gold)}.guestbook-response{text-align:center;font-family:var(--font-serif);font-style:italic;color:var(--text-secondary);margin-top:var(--space-lg);opacity:0;animation:fadeUp var(--dur-med) var(--ease-out) forwards}.back-link{display:block;text-align:center;margin-top:var(--space-2xl);font-family:var(--font-sans);font-size:.75rem;color:var(--text-muted);text-decoration:none;letter-spacing:.1em;transition:color var(--dur-fast) ease}.back-link:hover{color:var(--text-secondary)}.ceremony-container{position:relative;z-index:2;max-width:640px;margin:0 auto;padding:var(--space-3xl) var(--space-lg);text-align:center}.ceremony-container h1{font-family:var(--font-serif);font-size:2.2rem;font-weight:300;color:var(--text-primary);margin-bottom:var(--space-sm)}.ceremony-container .ceremony-sub{font-family:var(--font-serif);font-size:1rem;color:var(--text-secondary);font-style:italic;margin-bottom:var(--space-2xl)}.ceremony-status{font-family:var(--font-sans);font-size:.8rem;color:var(--text-muted);letter-spacing:.05em;padding:var(--space-md);border:1px solid var(--border-faint);border-radius:4px;background:var(--bg-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.ceremony-status .status-line{margin:var(--space-xs) 0}.ceremony-status .status-ok{color:#3a7a4a}.ceremony-status .status-wait{color:var(--gold-dim)}hr{border:none;border-top:1px solid var(--border-subtle);margin:var(--space-xl) 0}::selection{background:var(--gold-glow);color:var(--text-primary)}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:var(--bg-void)}::-webkit-scrollbar-thumb{background:var(--gold-dim);border-radius:2px}@media (max-width:640px){.ceremony-container,.guestbook-container,.memorial-container{padding:var(--space-2xl) var(--space-md)}.memorial-header h1{font-size:2rem}.poem-section .poem-text{font-size:1.05rem}}