@font-face{font-family:Cormorant Garamond;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/cg-300-latin.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--cream: #f5f0e8;--cream-dark: #ede5d5;--gold: #c9a96e;--gold-light: #e8d5aa;--gold-label: #7a5c28;--rose: #845e57;--rose-light: #e8b8b3;--charcoal: #2c2a27;--charcoal-mid: #4a4640;--charcoal-soft:#6b6560;--ink: #1a1814;--white-tint: rgba(245, 240, 232, .92);--font-serif: "Cormorant Garamond", Georgia, serif;--font-sans: "Jost", sans-serif;--section-pad: clamp(5rem, 10vw, 9rem);--inner-max: 900px;--inner-wide: 1200px}.lang-toggle{position:fixed;top:1.25rem;right:1.5rem;z-index:100;display:flex;align-items:center;gap:0;background:#1a18148c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(201,169,110,.3);border-radius:2rem;padding:.25rem}.lang-btn{background:none;border:none;cursor:pointer;font-family:var(--font-sans);font-size:.7rem;font-weight:500;letter-spacing:.15em;color:#f5f0e88c;padding:.35rem .75rem;border-radius:1.5rem;transition:color .25s,background .25s;line-height:1}.lang-btn--active{background:var(--gold);color:var(--ink)}.lang-btn:hover:not(.lang-btn--active){color:var(--cream)}.lang-divider{display:none}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--charcoal);font-family:var(--font-sans);font-weight:300;font-size:1rem;line-height:1.75;-webkit-font-smoothing:antialiased}img{display:block;width:100%;height:100%;object-fit:cover}figure{margin:0}.hero{position:relative;height:100svh;min-height:600px;display:flex;align-items:flex-end;justify-content:flex-start;overflow:hidden}.hero__bg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;object-position:80% top;z-index:0}.hero__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,#1a1814eb,#1a1814a6 38%,#1a18141a 65%,#1a181400),linear-gradient(to bottom,#1a181400,#1a181400 55%,#1a18148c)}.hero__content{position:relative;z-index:2;padding:0 clamp(2rem,6vw,5rem) 5.5rem;max-width:560px;text-align:left;animation:heroFadeUp 1.6s cubic-bezier(.22,1,.36,1) both;align-self:flex-end}@media(max-width:1023px){.hero{align-items:flex-end;justify-content:center}.hero__bg{object-position:center top}.hero__overlay{background:linear-gradient(to bottom,#1a18140d,#1a18140d 45%,#1a1814bf 75%,#1a1814e6)}.hero__content{text-align:center;max-width:640px;padding:0 2rem 4rem}.hero__quote{margin:0 auto}}@media(max-width:600px){.hero__bg{object-position:center 10%}.hero__content{padding:0 1.5rem 3rem}.hero__scroll-hint{right:50%;transform:translate(50%)}}.hero__pre{font-family:var(--font-sans);font-weight:400;font-size:.75rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold-light);margin-bottom:1.25rem;opacity:.9}.hero__name{font-family:var(--font-serif);font-weight:300;font-size:clamp(2.4rem,4.5vw,5rem);line-height:1.05;color:var(--cream);letter-spacing:.02em;margin-bottom:1rem}.hero__dates{font-family:var(--font-serif);font-weight:300;font-size:clamp(1rem,2vw,1.35rem);color:var(--gold-light);letter-spacing:.12em;margin-bottom:2.25rem}.hero__quote{font-family:var(--font-serif);font-style:italic;font-weight:300;font-size:clamp(1.1rem,2.2vw,1.5rem);color:#f5f0e8e0;line-height:1.6;max-width:600px;margin:0 auto;border:none;quotes:none}.hero__scroll-hint{position:absolute;bottom:1rem;left:clamp(2rem,6vw,5rem);z-index:2}.hero__scroll-hint span{display:block;width:1px;height:60px;background:linear-gradient(to bottom,transparent,var(--gold-light));margin:0 auto;animation:scrollPulse 2s ease-in-out infinite}.parallax-divider{height:420px;background-attachment:fixed;background-size:cover;background-position:center;position:relative}.parallax-divider:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:#1a181473}.parallax-divider--light:after{background:#1a18144d}.section{padding:var(--section-pad) 1.5rem;background:var(--cream)}.section:nth-child(2n){background:var(--cream-dark)}.section__inner{max-width:var(--inner-wide);margin:0 auto}.section__inner--narrow{max-width:var(--inner-max)}.section__label{font-family:var(--font-sans);font-size:.7rem;font-weight:500;letter-spacing:.4em;text-transform:uppercase;color:var(--gold-label);margin-bottom:1rem}.section__heading{font-family:var(--font-serif);font-weight:300;font-size:clamp(2rem,4vw,3.25rem);color:var(--charcoal);line-height:1.1;margin-bottom:clamp(2.5rem,5vw,4rem);position:relative;padding-bottom:1.25rem}.section__heading:after{content:"";position:absolute;bottom:0;left:0;width:48px;height:1px;background:var(--gold)}.obituary__body{max-width:680px}.obituary__body p{font-family:var(--font-serif);font-size:clamp(1.05rem,1.8vw,1.25rem);color:var(--charcoal-mid);line-height:1.85;margin-bottom:1.5rem}.obituary__body p:last-child{margin-bottom:0}.gallery{position:relative;width:100%}.prayer-section .section__inner--narrow{text-align:center}.prayer-section .section__heading:after{left:50%;transform:translate(-50%)}.prayer{font-family:Lora,Georgia,serif;font-style:italic;font-size:clamp(1.05rem,1.8vw,1.35rem);font-weight:400;color:var(--charcoal-mid);line-height:2.2;letter-spacing:.01em}.prayer__break{margin-top:1.5rem}.prayer__amen{margin-top:1.5rem;font-family:Lora,Georgia,serif;font-weight:500;font-style:normal;letter-spacing:.15em;color:var(--gold-label)}.prayer__lang--hidden{display:none}.timeline{position:relative;padding-left:2px}.timeline:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:1px;background:linear-gradient(to bottom,var(--gold-light),transparent)}.timeline__item{position:relative;padding-left:clamp(2rem,5vw,3.5rem);padding-bottom:clamp(2.5rem,5vw,4rem)}.timeline__item:last-child{padding-bottom:0}.timeline__marker{position:absolute;left:-5px;top:8px;width:11px;height:11px;border-radius:50%;background:var(--gold);border:2px solid var(--cream);box-shadow:0 0 0 2px var(--gold)}.timeline__date{font-family:var(--font-sans);font-size:.7rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-label);margin-bottom:.5rem}.timeline__title{font-family:var(--font-serif);font-weight:400;font-size:clamp(1.4rem,2.5vw,2rem);color:var(--charcoal);margin-bottom:.35rem}.timeline__time{font-family:var(--font-sans);font-size:.875rem;color:var(--charcoal-soft);margin-bottom:.5rem}.timeline__location{font-family:var(--font-serif);font-size:1.05rem;color:var(--charcoal-mid);margin-bottom:.15rem}.timeline__address{font-family:var(--font-sans);font-size:.85rem;color:var(--charcoal-soft);margin-bottom:.5rem}.timeline__note{font-family:var(--font-serif);font-style:italic;font-size:.95rem;color:var(--rose);margin-bottom:.35rem}.timeline__flowers{margin-top:.75rem;font-size:.85rem;font-family:var(--font-sans);color:var(--charcoal-soft);max-width:480px;line-height:1.6;border-left:2px solid var(--gold-light);padding-left:1rem}.footer{background:var(--ink);padding:clamp(3rem,6vw,5rem) 1.5rem;text-align:center}.footer__inner{max-width:600px;margin:0 auto}.footer__name{font-family:var(--font-serif);font-size:clamp(1.5rem,3vw,2.25rem);font-weight:300;color:var(--cream);letter-spacing:.04em;margin-bottom:.5rem}.footer__dates{font-family:var(--font-sans);font-size:.8rem;letter-spacing:.25em;color:var(--gold);margin-bottom:1.5rem}.footer__quote{font-family:var(--font-serif);font-style:italic;font-size:1rem;color:#f5f0e8a6;line-height:1.7}.reveal{opacity:0;transform:translateY(28px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}.timeline__item:nth-child(1){transition-delay:0s}.timeline__item:nth-child(2){transition-delay:.12s}.timeline__item:nth-child(3){transition-delay:.24s}.timeline__item:nth-child(4){transition-delay:.36s}@keyframes heroFadeUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes scrollPulse{0%,to{opacity:.3;transform:scaleY(.8)}50%{opacity:1;transform:scaleY(1)}}@media(hover:none)and (pointer:coarse){.parallax-divider{background-attachment:scroll}}
