:root{--bg:#f7f4ee;--paper:#fffdf9;--ink:#25312d;--muted:#6d7772;--sage:#688076;--sage2:#dde5df;--line:#e8e1d7;--warm:#b28f69;--shadow:0 16px 50px #2f393314}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}a{color:inherit;text-decoration:none}.siteHeader{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;max-width:1180px;min-height:76px;margin:auto;padding:14px 24px;display:flex}.brand{align-items:center;gap:12px;font-family:Georgia,serif;font-size:22px;display:flex}.brandLogo{object-fit:contain;border-radius:8px;width:40px;height:40px}.brandName{line-height:1}nav{align-items:center;gap:22px;display:flex}.button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;padding:13px 21px;font-weight:650;display:inline-flex}.button.secondary{color:var(--ink);background:0 0;border:1px solid #bcc9c2}.button.soft{background:var(--sage2);color:var(--ink)}.button.small{padding:9px 15px;font-size:14px}main{min-height:calc(100vh - 150px)}.hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:70px;max-width:1180px;margin:auto;padding:90px 24px 100px;display:grid}.eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--sage);font-size:12px;font-weight:800}h1,h2,h3{margin-top:0;font-family:Georgia,Times New Roman,serif;font-weight:500;line-height:1.08}h1{letter-spacing:-.045em;margin-bottom:24px;font-size:clamp(52px,7vw,90px)}h2{letter-spacing:-.03em;font-size:clamp(34px,4vw,52px)}.lead{color:var(--muted);max-width:610px;font-size:19px}.actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.portraitWrap{position:relative}.portrait{height:590px;box-shadow:var(--shadow);background:linear-gradient(150deg,#d8dfd9,#efe4d4);border-radius:180px 180px 28px 28px;place-items:center;display:grid;overflow:hidden}.portraitInner{text-align:center;padding:45px}.portraitInner .initials{color:#66776f;font-family:Georgia,serif;font-size:120px}.portraitInner p{font-family:Georgia,serif;font-size:21px;font-style:italic}.heroMark{flex-direction:column;justify-content:center;align-items:center;gap:22px;padding:20px;display:flex;position:relative}.heroLogo{width:100%;max-width:520px;height:auto;box-shadow:var(--shadow);object-fit:contain;border-radius:50%}.floatingNote{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;align-self:flex-start;max-width:260px;padding:16px 22px;font-size:14px}.portraitWrap .floatingNote{position:absolute;bottom:48px;left:-42px}.section{max-width:1100px;margin:auto;padding:90px 24px}.center{text-align:center}.featureGrid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:45px;display:grid}.card{background:var(--paper);border:1px solid var(--line);border-radius:22px;padding:26px;box-shadow:0 8px 28px #2f39330a}.card h3{margin-bottom:8px;font-size:25px}.iconCircle{background:var(--sage2);border-radius:50%;place-items:center;width:46px;height:46px;margin-bottom:24px;display:grid}.shell{max-width:1100px;margin:auto;padding:50px 24px 100px}.formCard{background:var(--paper);border:1px solid var(--line);max-width:690px;box-shadow:var(--shadow);border-radius:24px;margin:20px auto;padding:34px}label,.fieldLabel{margin:18px 0 7px;font-size:13px;font-weight:750;display:block}input,textarea,select{width:100%;font:inherit;color:var(--ink);background:#fff;border:1px solid #d8d2ca;border-radius:12px;outline:none;padding:13px 14px}input:focus,textarea:focus,select:focus{border-color:var(--sage);box-shadow:0 0 0 3px #6880761f}textarea{resize:vertical;min-height:140px}.twoCol{grid-template-columns:1fr 1fr;gap:15px;display:grid}.muted{color:var(--muted)}.dashboardHead{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:28px;display:flex}.memorialHero{color:#fff;text-align:center;background-color:#0000;background-image:linear-gradient(#161e1b1f,#161e1ba6),linear-gradient(135deg,#9eaea7,#e7d7c2);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;place-items:end center;min-height:650px;padding:55px 24px;display:grid}.memorialHero h1{margin:0;font-size:clamp(52px,8vw,96px)}.memorialHero .dates{letter-spacing:.08em;font-family:Georgia,serif;font-size:20px}.memorialNav{z-index:5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--line);background:#f7f4eeed;justify-content:center;gap:26px;padding:14px;display:flex;position:sticky;top:0}.story{max-width:760px;margin:auto;font-family:Georgia,serif;font-size:20px;line-height:1.9}.gallery{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.photo{aspect-ratio:1;background:#d8dfd9;border-radius:15px;overflow:hidden}.photo img{object-fit:cover;width:100%;height:100%}.gallery.natural .photo{aspect-ratio:auto;background:0 0}.gallery.natural .photo img{object-fit:initial;height:auto;display:block}.quote{color:#53635d;max-width:820px;margin:28px auto;font-family:Georgia,serif;font-size:clamp(19px,3.4vw,28px);font-style:italic;line-height:1.45}.status{background:#f0e8d8;border-radius:999px;padding:5px 10px;font-size:12px;font-weight:750;display:inline-block}.toolbar{flex-wrap:wrap;gap:9px;display:flex}.contribution{grid-template-columns:100px 1fr auto;align-items:center;gap:18px;display:grid}.thumb{background:#dde5df;border-radius:12px;width:100px;height:100px;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.cemeteryList{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;display:grid}.cemeteryCard{background:var(--paper);border:1px solid var(--line);border-radius:20px;transition:transform .18s,box-shadow .18s;overflow:hidden;box-shadow:0 8px 28px #2f39330a}.cemeteryCard:hover{box-shadow:var(--shadow);transform:translateY(-2px)}.cemeteryHero{background:linear-gradient(135deg,#d8dfd9,#efe4d4) 50%/cover;height:170px}footer{text-align:center;color:var(--muted);padding:35px;font-size:13px}@media (max-width:800px){.brand{font-size:18px}.hero{grid-template-columns:1fr;padding-top:50px}.portrait{height:440px}.heroLogo{max-width:340px}.floatingNote{left:12px}.favourites{grid-template-columns:1fr 1fr!important}.featureGrid,.gallery{grid-template-columns:1fr}.siteHeader nav>a:first-child{display:none}.twoCol{grid-template-columns:1fr}.contribution{grid-template-columns:70px 1fr}.contribution .toolbar{grid-column:2}.thumb{width:70px;height:70px}.memorialNav{justify-content:flex-start;padding-left:20px;overflow:auto}}@keyframes skPulse{0%{background-position:100% 0}to{background-position:-100% 0}}.sk{background:linear-gradient(90deg,#0000000d 0%,#00000017 45%,#0000000d 90%) 0 0/200% 100%;border-radius:8px;animation:1.6s ease-in-out infinite skPulse;display:block}@media (prefers-reduced-motion:reduce){.sk{animation:none}}.skRow{align-items:center;gap:12px;display:flex}.skStack{flex-direction:column;gap:10px;display:flex}iframe#nl-badge-frame,iframe[title="Powered by Netlify"]{display:none!important}.songPill{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff24;border:1px solid #ffffff8c;border-radius:999px;align-items:center;gap:8px;margin-top:16px;padding:8px 16px;font-size:14px;font-weight:600;transition:background .15s;display:inline-flex}.songPill:hover{background:#ffffff3d}.songBar{z-index:60;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:12px;padding:10px 16px;font-size:14px;font-weight:550;display:inline-flex;position:fixed;bottom:20px;right:20px}.songStop{color:var(--sage);cursor:pointer;background:0 0;border:0;padding:0 2px;font-size:13px;font-weight:700;text-decoration:underline}@media (max-width:800px){.songBar{padding:9px 14px;font-size:13px;bottom:12px;right:12px}}
