@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+SC:wght@400;500;600&display=swap');
:root{--bg:#f7f5ef;--ink:#2b3e33;--green:#56745c;--muted:#7b8176;--line:#dfE2d7}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.8 -apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}a{color:inherit;text-decoration:none}img{display:block;width:100%;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2,.serif{font-family:'Noto Serif SC',Songti SC,serif;font-weight:400}h1{font-size:clamp(42px,5.2vw,74px);line-height:1.4;letter-spacing:3px;margin:25px 0}h2{font-size:clamp(28px,3vw,40px);line-height:1.6;margin:14px 0 22px}h3{font-size:19px;font-weight:500}p{margin-bottom:20px}.green{color:var(--green)}.wrap{max-width:1190px;margin:auto;padding:0 35px}header{max-width:1330px;margin:auto;height:108px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:12px;font-size:26px;letter-spacing:4px;font-weight:600}.brand-icon{color:var(--green);font-size:40px}.brand small{display:block;font:8px/1.6 sans-serif;letter-spacing:3px}nav{display:flex;gap:34px;font-size:13px}a:hover{color:var(--green)}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:15px 25px;border-radius:5px;background:var(--green);color:#fff;border:1px solid var(--green);font-size:14px}.button:hover{background:#3d5945}.button.small{font-size:12px;padding:10px 18px}.eyebrow{font-size:10px;letter-spacing:2.3px;font-weight:600;color:var(--green)}.eyebrow span{display:inline-block;width:6px;height:6px;border-radius:50%;background:#91a681;margin-right:8px}.hero{display:grid;grid-template-columns:1fr 1fr;gap:60px;padding-top:45px;padding-bottom:85px;align-items:center}.hero-image{position:relative;padding-bottom:35px}.hero-image>img{height:560px;border-radius:180px 180px 8px 8px;object-position:48% center}.image-label{position:absolute;left:24px;top:35px;color:#fff;font-size:9px;letter-spacing:3px;writing-mode:vertical-rl}.photo-note{position:absolute;bottom:0;left:-30px;background:#fffdf6;padding:25px 34px;box-shadow:0 8px 30px #24362810;transform:rotate(-4deg);font-family:serif;font-size:20px;line-height:1.6}.photo-note small{display:block;color:var(--muted);font:10px/2 sans-serif;margin-top:10px}.lead{font-size:20px;letter-spacing:2px}.muted,.intro{color:var(--muted)}.intro{font-size:14px;line-height:2}.actions{display:flex;align-items:center;gap:25px;flex-wrap:wrap;margin:27px 0 16px}.text-link{background:none;border:0;padding:0;font-size:13px;color:var(--ink);text-decoration:underline;text-underline-offset:6px}.tiny{font-size:11px;color:var(--muted);line-height:1.8}.world{background:#e9ede4;padding:55px 0}.world-inner{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.world h2{font-size:30px}.world p{font-size:13px;color:#6e7d6d;margin:0}.stats{display:grid;grid-template-columns:1fr 1fr;text-align:center;gap:18px}.stats>div+div{border-left:1px solid #cbd5c8}.stats strong{font-family:Georgia,serif;font-size:64px;font-weight:400;display:block;line-height:1.2}.stats span{font-size:12px;display:block;margin-top:15px}.stats p,.stats small{grid-column:1/-1}.stats small{font-size:10px;color:#71816f}.section{padding-top:85px;padding-bottom:85px}.section-heading{display:flex;justify-content:space-between;gap:30px;align-items:center}.section-heading p{font-size:13px;color:var(--muted)}.filters{display:flex;gap:10px;margin:20px 0 30px}button[data-filter]{border:1px solid var(--line);border-radius:25px;background:transparent;padding:8px 21px;color:var(--ink);font-size:12px}button[data-filter].active{color:white;background:var(--green)}.memorials{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.empty{grid-column:1/-1;border:1px dashed #c4cdbd;text-align:center;padding:45px 20px;border-radius:8px;background:#f0f1e9}.empty .flower{font-size:34px;color:#91a681}.empty h3{margin:8px 0;font-family:serif;font-size:23px}.empty p{color:var(--muted);font-size:13px}.memorial-card{border:1px solid var(--line);padding:0 0 22px;text-align:left;background:#fffdf8;border-radius:9px;overflow:hidden;color:var(--ink)}.memorial-card img{height:230px}.memorial-card .placeholder{height:180px;display:grid;place-items:center;background:#e9eee3;font-size:44px}.memorial-card h3,.memorial-card p{margin:16px 22px 0}.memorial-card p{font-size:12px;color:var(--muted)}.story{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-top:20px;padding-bottom:50px}.story-image img{height:460px;border-radius:8px 8px 140px 8px}.story-image span{display:block;font-size:11px;color:var(--muted);margin-top:15px}.story-copy p{font-size:14px;color:var(--muted);line-height:2.2}.story-copy .handwritten{font-family:serif;color:var(--green);font-size:20px}.ways{display:grid;grid-template-columns:repeat(3,1fr);gap:42px;margin-top:45px}.ways article{border-top:1px solid #bac7b3;padding-top:24px}.ways span{font-size:11px;color:var(--green);letter-spacing:2px}.ways h3{margin:18px 0}.ways p,.steps p{font-size:13px;color:var(--muted)}.steps-band{background:#eeeee4}.steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:48px;padding:0;margin-top:35px}.steps b{display:grid;place-items:center;border:1px solid #b4c1ac;border-radius:50%;width:32px;height:32px;font-family:serif;font-weight:400;margin-bottom:20px}.faq{display:grid;grid-template-columns:1fr 1.5fr;gap:65px}details{border-bottom:1px solid var(--line);padding:19px 0}summary{cursor:pointer;font-size:15px}details p{margin:16px 0 5px;color:var(--muted);font-size:13px}.closing{text-align:center;background:#dfe7d9;padding:65px 20px}.closing>span{font-size:40px;color:var(--green)}.closing p{font-size:13px;color:#6b7e68}footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:25px;padding-top:42px!important;padding-bottom:42px!important}footer p,footer a:not(.brand),footer small{font-size:11px;color:var(--muted);margin:0}dialog{border:1px solid var(--line);border-radius:14px;padding:32px;width:min(620px,94vw);max-height:90vh;background:var(--bg);color:var(--ink)}dialog::backdrop{background:#17261e88;backdrop-filter:blur(4px)}.dialog-top{display:flex;align-items:center;justify-content:space-between}.dialog-top button{border:0;background:none;font-size:28px;color:var(--ink)}label{display:block;margin:16px 0 8px;font-size:12px}input,select,textarea{display:block;width:100%;background:#fffdf9;border:1px solid #ccd3c6;border-radius:5px;padding:10px;color:var(--ink);margin-top:5px}textarea{resize:vertical}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.check{display:flex;align-items:center;gap:10px}.check input{width:auto;margin:0}.detail-photo{max-height:330px;border-radius:8px}.detail-story{white-space:pre-wrap;overflow-wrap:anywhere;line-height:2}.danger,#form-error{color:#a04435}#owner-tools{border-top:1px solid var(--line);margin-top:20px}#owner-tools button{border:1px solid var(--line);border-radius:5px;background:white;padding:8px 16px}#detail-status{white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.mobile{display:none}:focus-visible{outline:3px solid #ad8b58;outline-offset:4px}@media(max-width:760px){header{height:85px;padding:0 20px}nav{display:none}.wrap{padding-left:22px;padding-right:22px}.brand{font-size:22px}.hero{grid-template-columns:1fr;gap:25px;padding-top:20px;padding-bottom:50px}h1{font-size:48px;margin:20px 0}.hero-image{margin-left:20px}.hero-image>img{height:400px}.hero-copy{padding-bottom:10px}.photo-note{left:-15px;font-size:17px}.world-inner,.story,.faq{grid-template-columns:1fr;gap:30px}.stats strong{font-size:52px}.world-inner>div:first-child{text-align:center}.world h2 br{display:none}.section{padding-top:55px;padding-bottom:55px}.section-heading{display:block}.section-heading h2{font-size:29px}.ways,.steps{grid-template-columns:1fr;gap:20px}.story{gap:25px}.story-image img{height:360px}.memorials{grid-template-columns:1fr 1fr}.memorial-card img{height:180px}.memorial-card h3,.memorial-card p{margin-left:12px;margin-right:12px}.faq{gap:0}footer{justify-content:flex-start}footer small{width:100%}.form-row{gap:10px}dialog{padding:22px}.mobile{display:block}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
