@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=Crimson+Text:ital,wght@0,400;0,600;1,400&family=Playfair+Display:ital,wght@0,400;0,700;1,400&display=swap";:root{--cream:#f5f3ef;--warm-white:#fdfbf7;--soft-gray:#8b8680;--charcoal:#3a3531;--gold:#c9a961;--gold-light:#e6d5a8;--rose-gold:#b76e79;--font-display:"Playfair Display",serif;--font-script:"Cormorant Garamond",serif;--font-body:"Crimson Text",serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--warm-white);color:var(--charcoal);font-family:var(--font-body);font-size:18px;line-height:1.7}.hero,.memorial-site{min-height:100vh}.hero{align-items:center;background:linear-gradient(135deg,var(--cream) 0,var(--warm-white) 100%);display:flex;justify-content:center;overflow:hidden;padding:4rem 2rem;position:relative}.floral-corner{animation:floralFadeIn 2s ease-out;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='280' height='280' fill='none' viewBox='0 0 280 280'%3E%3Cpath fill='%23c9a961' d='m140 20 20 60 60 20-60 20-20 60-20-60-60-20 60-20Z'/%3E%3Cpath fill='%23c9a961' d='m200 80 10 20 20 10-20 10-10 20-10-20-20-10 20-10ZM80 80l10 20 20 10-20 10-10 20-10-20-20-10 20-10Z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:contain;height:280px;opacity:.15;position:absolute;width:280px}.top-left{left:0;top:0;transform:rotate(0)}.top-right{right:0;top:0;transform:rotate(90deg)}.bottom-left{bottom:0;left:0;transform:rotate(-90deg)}.bottom-right{bottom:0;right:0;transform:rotate(180deg)}@keyframes floralFadeIn{0%{opacity:0;transform:scale(.8)}to{opacity:.15;transform:scale(1)}}.hero-content{animation:heroContentFadeIn 1.5s ease-out;text-align:center;z-index:1}@keyframes heroContentFadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.in-loving-memory{color:var(--charcoal);font-family:var(--font-script);font-size:3rem;font-style:italic;font-weight:300;letter-spacing:.5px;margin-bottom:3rem}.portrait-frame{animation:portraitReveal 1.8s ease-out .3s both;height:320px;margin:0 auto 2rem;position:relative;width:320px}@keyframes portraitReveal{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.gold-ring{background:linear-gradient(135deg,var(--gold) 0,var(--gold-light) 50%,var(--gold) 100%);border:8px solid transparent;border-radius:50%;box-shadow:0 8px 32px #c9a96133,inset 0 2px 8px #c9a9614d;inset:-10px;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;padding:8px;position:absolute}.portrait{border-radius:50%;box-shadow:0 12px 48px #00000026;height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.name{color:var(--charcoal);font-family:var(--font-script);font-size:4.5rem;font-style:italic;font-weight:400;letter-spacing:1px;margin-bottom:.5rem}.dates{font-size:1.3rem;margin-bottom:1rem}.dates,.tagline{color:var(--soft-gray);font-family:var(--font-body);font-style:italic}.tagline{font-size:1.2rem;font-weight:400}.main-nav{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-bottom:1px solid rgba(201,169,97,.2);box-shadow:0 2px 20px #0000000d;display:flex;gap:3rem;justify-content:center;padding:1.5rem 2rem;position:sticky;top:0;z-index:100}.nav-link{color:var(--charcoal);font-family:var(--font-body);font-size:1.1rem;font-weight:600;position:relative;text-decoration:none;transition:color .3s ease}.nav-link:after{background:var(--gold);bottom:-4px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.nav-link:hover{color:var(--gold)}.nav-link:hover:after{width:100%}.section{padding:6rem 2rem}.container{margin:0 auto;max-width:900px}.section-title{color:var(--charcoal);font-family:var(--font-display);font-size:3rem;font-weight:400;margin-bottom:1rem;position:relative;text-align:center}.section-title:after{background:linear-gradient(90deg,transparent,var(--gold),transparent);content:"";display:block;height:3px;margin:1.5rem auto;width:80px}.section-subtitle{color:var(--soft-gray);font-size:1.2rem;font-style:italic;margin-bottom:3rem;text-align:center}.about-section{background:var(--warm-white)}.obituary p{line-height:1.9;margin-bottom:1.5rem;text-align:justify}.obituary p:last-child{margin-bottom:0}.service-section{background:var(--cream)}.service-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-bottom:4rem}.service-card{background:#fff;border-radius:12px;border-top:4px solid var(--gold);box-shadow:0 4px 24px #00000014;padding:2.5rem;text-align:center;transition:transform .3s ease,box-shadow .3s ease}.service-card:hover{box-shadow:0 8px 32px #0000001f;transform:translateY(-4px)}.icon{font-size:3rem;margin-bottom:1rem}.service-card h3{color:var(--charcoal);font-family:var(--font-display);font-size:1.8rem;margin-bottom:1rem}.service-detail{color:var(--charcoal);font-size:1.1rem;font-weight:600;margin:.5rem 0}.service-location{color:var(--gold);font-size:1.2rem;font-weight:600;margin:1rem 0 .5rem}.address{color:var(--soft-gray);font-size:1rem;font-style:italic}.memorial-donations{background:#fff;border-left:4px solid var(--rose-gold);border-radius:12px;box-shadow:0 4px 24px #0000000f;padding:2.5rem}.memorial-donations h3{color:var(--charcoal);font-family:var(--font-display);font-size:1.6rem;margin-bottom:1rem}.memorial-donations p{line-height:1.8}.memories-section{background:var(--warm-white)}.memory-form{background:#fff;border-radius:12px;box-shadow:0 4px 32px #00000014;margin-bottom:4rem;padding:3rem}.form-group{margin-bottom:2rem}.form-group label{color:var(--charcoal);display:block;font-family:var(--font-body);font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.form-group input,.form-group textarea{background:var(--warm-white);border:2px solid #e5e3df;border-radius:8px;font-family:var(--font-body);font-size:1rem;padding:1rem;transition:border-color .3s ease;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:var(--gold);outline:none}.form-group textarea{min-height:150px;resize:vertical}.submit-btn{background:linear-gradient(135deg,var(--gold) 0,var(--gold-light) 100%);border:none;border-radius:8px;box-shadow:0 4px 16px #c9a9614d;color:#fff;cursor:pointer;font-family:var(--font-body);font-size:1.1rem;font-weight:600;padding:1rem 3rem;transition:transform .3s ease,box-shadow .3s ease}.submit-btn:hover{box-shadow:0 6px 24px #c9a96166;transform:translateY(-2px)}.memories-heading{color:var(--charcoal);font-family:var(--font-display);font-size:2rem;margin-bottom:2rem;text-align:center}.memory-card{background:#fff;border-left:4px solid var(--gold);border-radius:12px;box-shadow:0 2px 16px #0000000f;margin-bottom:1.5rem;padding:2rem}.memory-header{color:var(--charcoal);font-size:1.1rem;margin-bottom:1rem}.memory-header strong{font-weight:600}.memory-text{color:var(--charcoal);line-height:1.8;margin-bottom:1rem}.memory-date{color:var(--soft-gray);font-size:.9rem;font-style:italic}.gallery-section{background:var(--cream)}.gallery-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-bottom:3rem}.gallery-placeholder{align-items:center;aspect-ratio:1;background:#fff;border:2px dashed var(--gold-light);border-radius:12px;box-shadow:0 4px 16px #00000014;display:flex;flex-direction:column;justify-content:center}.placeholder-icon{font-size:3rem;margin-bottom:.5rem;opacity:.5}.gallery-note,.gallery-placeholder p{color:var(--soft-gray);font-style:italic}.gallery-note{line-height:1.8;text-align:center}.gallery-note a{color:var(--gold);font-weight:600;text-decoration:none}.gallery-note a:hover{text-decoration:underline}.site-footer{background:linear-gradient(135deg,var(--charcoal) 0,#2a2622 100%);color:var(--cream);padding:4rem 2rem 2rem}.footer-content{margin:0 auto;max-width:900px;text-align:center}.footer-quote{margin-bottom:2rem}.footer-quote p{color:var(--gold-light);font-family:var(--font-script);font-size:1.8rem;font-style:italic;line-height:1.6}.footer-info{line-height:1.8;margin-bottom:2rem}.footer-copyright{border-top:1px solid rgba(201,169,97,.3);padding-top:2rem}.footer-copyright p{color:var(--soft-gray);font-size:.95rem}@media(max-width:768px){.in-loving-memory{font-size:2rem}.portrait-frame{height:260px;width:260px}.name{font-size:3rem}.dates{font-size:1.1rem}.main-nav{flex-wrap:wrap;gap:1.5rem;padding:1rem}.nav-link{font-size:1rem}.section{padding:4rem 1.5rem}.section-title{font-size:2.2rem}.service-grid{grid-template-columns:1fr}.memory-form{padding:2rem 1.5rem}.footer-quote p{font-size:1.4rem}}@media(max-width:480px){body{font-size:16px}.hero{padding:3rem 1rem}.in-loving-memory{font-size:1.6rem}.portrait-frame{height:220px;width:220px}.name{font-size:2.4rem}.floral-corner{height:180px;width:180px}}
