*{box-sizing:border-box}img{max-width:100%}button{font-family:inherit}:root{--sand:#F3F6F8;--sand-deep:#EAE7E2;--card:#FFFFFF;--card-line:#E0E1DF;--ink:#252525;--muted:#6F6F6F;--azure:#345E7D;--azure-ink:#294D68;--azure-tint:#E4EDF3;--rose:#B57F72;--rose-ink:#8A5A4F;--rose-tint:#F3E6E2;--sage:#7E9B84;--sage-ink:#556F5C;--sage-tint:#E7EEE8;--r-card:16px;--r-btn:10px;--shadow:0 6px 24px rgba(37,55,72,.10);box-sizing:border-box;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0)}html{scroll-padding-top:env(safe-area-inset-top,0)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--sand:#141B22;--sand-deep:#1A222B;--card:#1D2732;--card-line:#2A3B4D;--ink:#E9EFF4;--muted:#9DAFBE;--azure:#5E89AB;--azure-ink:#7FA6C4;--azure-tint:#22323F;--rose-tint:#332622;--sage-tint:#222E26;--shadow:0 6px 24px rgba(0,0,0,.4)}}*{margin:0;padding:0;box-sizing:inherit}body{font-family:Plus Jakarta Sans,system-ui,sans-serif;background:var(--sand);color:var(--ink);line-height:1.55}.wrap{max-width:1080px;margin:0 auto;padding:0 24px}a{color:var(--azure)}.btn{display:inline-block;background:var(--azure);color:#fff;border:none;border-radius:var(--r-btn);padding:14px 26px;font-family:inherit;font-weight:700;font-size:1rem;line-height:1.2;text-decoration:none;cursor:pointer;white-space:nowrap;text-align:center}.btn:hover{background:var(--azure-ink)}.btn.ghost{background:transparent;color:var(--azure);border:2px solid var(--azure)}.btn.ghost:hover{background:var(--azure-tint)}header{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:var(--sand);border-bottom:1px solid var(--card-line)}.nav{display:flex;align-items:center;gap:22px;height:76px}.brand img{height:40px;width:auto;display:block}.nav-search{display:flex;align-items:center;gap:9px;background:var(--card);border:1px solid var(--card-line);border-radius:10px;padding:9px 14px;flex:0 1 250px;min-width:140px;color:var(--muted)}.nav-search input{border:none;background:none;outline:none;font:inherit;font-size:.93rem;color:var(--ink);width:100%;min-width:0}.nav .spacer{flex:1 1}.nav a.link{color:var(--ink);text-decoration:none;font-weight:600;font-size:.95rem;white-space:nowrap}@media (max-width:760px){.nav a.link{display:none}.nav-search{flex:1 1 auto}.nav a.btn{padding:10px 14px;font-size:.9rem}}@media (max-width:540px){.nav a.btn{display:none}.nav{gap:14px}}.page{display:grid;grid-template-columns:1.55fr 1fr;grid-gap:18px 30px;gap:18px 30px;padding:38px 24px 90px;align-items:start}.pagehead{grid-column:1/-1}@media (max-width:920px){.page{grid-template-columns:1fr}}.inmem{color:var(--rose-ink);font-weight:700;font-size:.95rem}h1{font-size:clamp(1.7rem,3.4vw,2.35rem);font-weight:800;letter-spacing:-.01em;line-height:1.12;margin:4px 0 2px}.dates{color:var(--muted);font-weight:600;margin-bottom:2px}.hero-photo{width:100%;aspect-ratio:4/3;border-radius:var(--r-card);border:1px solid var(--card-line);cursor:pointer;box-shadow:var(--shadow)}.story{margin-top:26px}.sect h2,.story h2{font-size:1.25rem;font-weight:800;margin-bottom:10px}.story p{margin-bottom:14px;font-size:1.02rem}.story p.mut{color:var(--muted)}.sect{margin-top:30px;background:var(--card);border:1px solid var(--card-line);border-radius:var(--r-card);box-shadow:var(--shadow);padding:22px 24px}.svc .row{display:flex;gap:12px;margin-top:10px;font-weight:600}.svc .row span:first-child{color:var(--muted);min-width:96px;font-weight:600;flex:none}.svc .event{border-top:1px solid var(--card-line);padding-top:16px;margin-top:18px}.svc .event:first-of-type{border-top:none;padding-top:4px;margin-top:6px}.svc .event h3{font-size:1.05rem;font-weight:800}.svc a{font-weight:700;font-size:.92rem}.mem{border-top:1px solid var(--card-line);padding:14px 0}.mem:first-of-type{border-top:none}.mem .who{font-weight:800;font-size:.95rem}.mem .who span{color:var(--muted);font-weight:600;font-size:.87rem;margin-left:8px}.mem p{margin-top:4px;font-size:.99rem}.memo-box{margin-top:14px;display:flex;gap:10px}.memo-box input{flex:1 1;border:1px solid var(--card-line);border-radius:10px;background:var(--sand);padding:12px 14px;font:inherit;color:var(--ink)}.photos{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin-top:10px}.photos button{aspect-ratio:1/1;border-radius:12px;background-size:cover;background-position:50%;border:1px solid var(--card-line);cursor:pointer;padding:0}.photos button:hover{box-shadow:var(--shadow)}.givebar{display:none;position:fixed;left:0;right:0;bottom:0;background:var(--card);border-top:1px solid var(--card-line);padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));z-index:70}.givebar .btn{width:100%}@media (max-width:920px){.givebar{display:block}aside .card{position:static}body{padding-bottom:76px}}footer{background:var(--sand-deep);padding:34px 0 46px}.foot{display:flex;align-items:center;gap:24px;flex-wrap:wrap;color:var(--muted);font-weight:500;font-size:.92rem}.foot img{height:26px;width:auto}.foot .made{margin-left:auto}.managed{margin-top:26px;color:var(--muted);font-weight:600;font-size:.95rem}.managed b{color:var(--ink)}aside .card{background:var(--card);border:1px solid var(--card-line);border-radius:var(--r-card);box-shadow:var(--shadow);padding:24px;position:-webkit-sticky;position:sticky;top:96px}.total{font-size:2rem;font-weight:800;letter-spacing:-.01em}.total small{display:block;font-size:.95rem;color:var(--muted);font-weight:600;letter-spacing:0;margin-top:2px}aside .btn{width:100%;margin-top:16px;padding:15px 20px;font-size:1.05rem}.share-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-top:10px}.share-row .btn{margin-top:0;font-size:.93rem;padding:11px 10px}.assure{margin-top:14px;background:var(--sage-tint);color:var(--sage-ink);border-radius:10px;padding:12px 14px;font-size:.92rem;font-weight:600}.gifts{margin-top:18px}.gifts h3{font-size:1rem;font-weight:800;margin-bottom:6px}.gift{display:flex;justify-content:space-between;gap:10px;border-top:1px solid var(--card-line);padding:10px 0;font-size:.95rem}.gift:first-of-type{border-top:none}.gift .n{font-weight:700}.gift .m{color:var(--muted);font-weight:500;font-size:.89rem;margin-top:2px}.gift .a{font-weight:800;white-space:nowrap}.see-all{font-weight:700;font-size:.9rem;padding-top:12px;border-top:1px solid var(--card-line);margin-top:4px}.fine-link,.see-all{display:block;text-align:center;color:var(--muted);text-decoration:none}.fine-link{margin-top:14px;font-size:.87rem;font-weight:600}