:root{--ink:#12382b;--green:#155f43;--light:#f5faf7;--gold:#e8bd55;--line:#cbdcd2}*{box-sizing:border-box}body{margin:0;background:var(--light);color:var(--ink);font:17px/1.6 system-ui,sans-serif}a{color:var(--green)}header{background:#fff;border-bottom:1px solid var(--line)}nav,.wrap{max-width:1240px;margin:auto;padding:22px 28px}nav{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}nav .brand{font-weight:800;font-size:22px;display:flex;align-items:center;gap:12px;text-decoration:none}nav img{width:48px;height:48px}nav .links{display:flex;flex-wrap:wrap;gap:22px}h1,h2,h3{line-height:1.15}h1{font-family:Georgia,serif;font-size:clamp(2.3rem,5vw,4rem);margin:18px 0}h2{font-family:Georgia,serif;font-size:2rem}p{max-width:72ch}.eyebrow{text-transform:uppercase;letter-spacing:.13em;font-weight:750;font-size:14px}.lead{font-size:20px}.button,button{display:inline-block;background:var(--green);color:#fff;border:0;border-radius:7px;padding:12px 20px;font:700 16px system-ui;text-decoration:none;cursor:pointer}.secondary{background:white;color:var(--green);border:1px solid var(--green)}.danger{background:#a72d35}.intro{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:center;padding:32px 0}.intro img{width:100%;max-height:280px;object-fit:contain}.map{height:490px;border-radius:12px;border:1px solid var(--line);background:#e5f0e9;z-index:0}.toolbar{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:22px 0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card{background:#fff;border:1px solid var(--line);padding:24px;border-radius:12px;min-width:0}.card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:8px}.price{font-size:32px;font-weight:800;margin:18px 0}.small{font-size:14px;color:#466757}.notice{padding:18px 22px;border-left:4px solid var(--gold);background:#fff6dc;margin:20px 0}.success{border-color:#155f43;background:#e4f4e9}.error{border-color:#b7353f;background:#ffecef}label{display:block;font-weight:650;margin:18px 0 7px}input,select,textarea{font:inherit;padding:11px 12px;border:1px solid #98b0a2;border-radius:6px;background:#fff;color:var(--ink);width:100%;max-width:100%}input[type=checkbox]{width:auto}textarea{min-height:120px}form{max-width:760px}.row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.story{max-width:880px}.story .dedication{font-family:Georgia,serif;font-size:26px;color:#496d58}.media-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.media-grid img,.media-grid video{width:100%;max-height:460px;object-fit:contain;background:#e7eee9;border-radius:10px}.empty{text-align:center;padding:36px;border:1px dashed #7f9d8b;border-radius:12px;margin:22px 0}.stats{display:flex;gap:18px;flex-wrap:wrap}.stats .card{flex:1;min-width:180px}.stats strong{display:block;font-size:30px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;font-size:15px}td,th{text-align:left;padding:14px 10px;border-bottom:1px solid var(--line);vertical-align:top}footer{border-top:1px solid var(--line);margin-top:50px;padding:28px;background:#fff}pre{white-space:pre-wrap;overflow-wrap:anywhere}.certificate{border:8px double #155f43;padding:50px;text-align:center;background:#fff}.certificate p{margin:auto}.certificate img{width:110px}details{margin:18px 0}summary{cursor:pointer;font-weight:700}.pin{background:#155f43;border:3px solid white;box-shadow:0 2px 8px #0005;border-radius:50%;width:22px!important;height:22px!important}.pin-remembrance{background:#76528c}.pin-celebration{background:#ac6718}.pin-gratitude{background:#147d94}@media(max-width:800px){.wrap,nav{padding:18px}.intro{grid-template-columns:1fr;gap:12px}.intro img{max-height:180px}.grid{grid-template-columns:1fr 1fr}.map{height:370px}}@media(max-width:540px){.grid,.row,.media-grid{grid-template-columns:1fr}nav .links{gap:14px;font-size:15px}.certificate{padding:25px}.map{height:330px}}@media print{header,footer,.actions,.notice{display:none}.certificate{break-inside:avoid}body{background:white}.wrap{padding:0}}

.intro h1{font-size:clamp(2rem,4vw,3rem)}.intro{padding:18px 0}.intro img{max-height:240px}
