*{box-sizing:border-box}body{margin:0;color:#203a2f;background:#faf8f2;font-family:system-ui,-apple-system,"PingFang SC",sans-serif}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #bc835c;outline-offset:3px}
.memorial-case-page{background:#faf8f2;color:#203a2f}.case-page{background:#faf8f2;min-height:70vh;padding:54px 0 90px}.case-shell{width:min(1220px,100% - 48px);margin:0 auto}.case-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin:10px 0 28px}.case-eyebrow{color:#69806e;font-size:12px;font-weight:800;letter-spacing:.14em}.case-heading h1{font-size:clamp(34px,4.3vw,54px);line-height:1.2;letter-spacing:-.04em;margin:12px 0;color:#1e3b2e}.case-heading p{margin:0;color:#65766a;font-size:16px;line-height:1.8}.case-total{display:flex;align-items:baseline;gap:10px;white-space:nowrap}.case-total strong{font:700 38px Georgia,serif;color:#bd805d}.case-total span{color:#6f7f73;font-size:13px}.case-disclosure{display:flex;gap:14px;align-items:start;padding:15px 18px;background:#f3ede4;border-left:3px solid #b77959;border-radius:4px 10px 10px 4px;color:#6e5a48;margin:24px 0}.case-disclosure strong{flex:none;font-size:13px;color:#76503b}.case-disclosure span{font-size:13px;line-height:1.7}.case-filters{display:flex;gap:8px;flex-wrap:wrap;padding:22px 0 16px;border-bottom:1px solid #e3e5dc}.case-filter{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid #dfe5dc;border-radius:999px;background:#fffefa;color:#496251;font-size:13px;font-weight:700}.case-filter b{font-size:11px;color:#879288}.case-filter:hover,.case-filter.active{background:#244d39;color:#fff;border-color:#244d39}.case-filter.active b,.case-filter:hover b{color:#dfe9d4}.case-results{color:#78877b;font-size:12px;margin:18px 0}.case-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.case-card{overflow:hidden;background:#fffefa;border:1px solid #e7e7dd;border-radius:14px;box-shadow:0 9px 25px #223d2d0a;display:flex;flex-direction:column}.case-card-photo{position:relative;display:block;height:236px;background:#e8ece2;overflow:hidden}.case-card-photo img{width:100%;height:100%;object-fit:cover;transition:transform .3s}.case-card:hover .case-card-photo img{transform:scale(1.025)}.case-card-photo>span{position:absolute;left:13px;top:13px;padding:5px 9px;border-radius:999px;background:#fffcf0eF;color:#775b44;font-size:11px;font-weight:700}.case-card-body{display:flex;flex:1;flex-direction:column;padding:18px 19px}.case-card-meta{display:flex;justify-content:space-between;gap:10px;color:#78887c;font-size:11px}.case-card-body h2{font-size:21px;margin:10px 0 2px;line-height:1.4}.case-card-body h2 a{color:#254734}.case-breed{font-size:12px;margin:0 0 12px;color:#9a745b!important}.case-story{font-size:13px;line-height:1.75;margin:0 0 15px;color:#5f7065!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:68px}.case-counts{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.case-counts span{padding:5px 8px;border-radius:5px;background:#f3f4ee;color:#627467;font-size:11px}.case-card-link{display:flex;justify-content:space-between;align-items:center;margin-top:15px;padding-top:12px;border-top:1px solid #e9ece5;color:#2e5b41;font-weight:800;font-size:13px}.case-credit{font-size:10px;color:#829086;margin-top:12px;line-height:1.5}.case-credit a{color:#53725d;text-decoration:underline;text-underline-offset:2px}.case-pagination{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:38px}.case-pagination a{display:grid;place-items:center;min-width:36px;height:36px;padding:0 9px;border:1px solid #dbe2d8;border-radius:7px;background:#fffefa;color:#536b5a;font-size:13px}.case-pagination a[aria-current="page"]{background:#244d39;border-color:#244d39;color:white}.case-back{display:inline-block;margin:8px 0 20px;color:#496b53;font-size:13px;font-weight:700}.case-detail-hero{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);gap:50px;align-items:center;padding:24px;background:#fffefa;border:1px solid #e8e8de;border-radius:16px}.case-detail-hero figure{margin:0}.case-detail-hero figure>img{width:100%;height:420px;object-fit:cover;border-radius:11px;background:#edf0e7}.case-detail-hero figcaption{font-size:10px;line-height:1.5;color:#859086;margin-top:8px}.case-detail-hero figcaption a{color:#607865;text-decoration:underline}.case-filter-label{display:inline-block;padding:6px 9px;border-radius:4px;background:#eef2e9;color:#4c7055;font-size:11px;font-weight:800}.case-detail-copy h1{font-size:clamp(36px,4vw,54px);line-height:1.16;color:#203d30;margin:17px 0 5px}.case-detail-copy h1 small{display:block;font-size:19px;font-weight:500;margin-top:8px;color:#637669;letter-spacing:0}.case-years{color:#a57b5d!important;font:14px Georgia,serif}.case-detail-story{font-size:15px;line-height:2;color:#52695b!important;margin:22px 0}.case-detail-counts{display:flex;flex-wrap:wrap;gap:8px}.case-detail-counts span{display:flex;gap:7px;align-items:center;padding:8px 10px;border:1px solid #e5e9df;border-radius:6px;color:#6b7a6e;font-size:12px}.case-detail-counts b{color:#355d43}.case-disabled-note{display:block;margin-top:17px;font-size:11px;line-height:1.6;color:#899288}.case-detail-section{padding-top:55px}.case-detail-title h2{font-size:28px;margin:8px 0 20px;color:#284533}.case-detail-title h2 small{font-size:12px;color:#889389;font-weight:500;margin-left:8px;letter-spacing:0}.case-gifts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.case-gift{padding:19px;border:1px solid #e6e8df;border-radius:10px;background:#fffefa}.case-gift span{font-size:12px;color:#8c7258;font-weight:700}.case-gift strong{display:block;font:700 26px Georgia,serif;color:#32583f;margin:8px 0}.case-gift p{font-size:12px;color:#778479;margin:0;line-height:1.65}.case-comments{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.case-comment{padding:16px 18px;background:#fffefa;border:1px solid #e8e9e1;border-radius:9px}.case-comment>div{display:flex;justify-content:space-between;gap:15px}.case-comment strong{font-size:13px;color:#355a41}.case-comment time{font-size:11px;color:#97a096}.case-comment p{font-size:13px;line-height:1.75;margin:9px 0 0;color:#69796e}.case-end-link{margin-top:35px;text-align:center}.case-end-link a{color:#2d5a3d;font-size:14px;font-weight:800}.case-footer{padding:27px 20px;background:#203c30;color:#dfe8da;text-align:center;font-size:12px}.case-footer a{color:#f3eedf}.case-footer span{margin-left:18px;opacity:.75}
@media(max-width:900px){.case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-detail-hero{gap:27px}.case-detail-hero figure>img{height:350px}}
@media(max-width:650px){.case-page{padding:35px 0 65px}.case-shell{width:min(100% - 32px,1220px)}.case-heading{align-items:start;flex-direction:column;gap:13px}.case-heading h1{font-size:35px}.case-heading p{font-size:14px}.case-disclosure{gap:8px;flex-direction:column;padding:13px}.case-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:13px}.case-filter{flex:none}.case-grid{grid-template-columns:1fr;gap:15px}.case-card-photo{height:230px}.case-detail-hero{grid-template-columns:1fr;gap:22px;padding:14px}.case-detail-hero figure>img{height:auto;aspect-ratio:1.25}.case-detail-copy{padding:0 5px 7px}.case-detail-copy h1{font-size:39px}.case-gifts{grid-template-columns:1fr}.case-comments{grid-template-columns:1fr}.case-detail-section{padding-top:40px}}


.memorial-case-section{margin-top:40px;padding-top:30px;border-top:1px solid #dce4d9}.memorial-case-section .case-heading h2{font-size:clamp(28px,3.5vw,40px);line-height:1.25;margin:10px 0;color:#1e3b2e}.memorial-case-section .case-card h2{font-size:21px}.memorial-case-section .case-heading{align-items:center}

.public-memorial-page .page-title{margin-bottom:20px}.public-memorial-page .memorial-case-section{margin-top:0;padding-top:0;border-top:0}.public-memorial-page .case-heading{display:none}.public-memorial-page .case-disclosure{margin:14px 0 4px;padding:10px 14px}.public-memorial-page .case-filters{padding-top:16px}.owner-memorial-section{margin-top:48px;padding-top:30px;border-top:1px solid #dce4d9}.owner-memorial-section>p{color:#65766a;margin-bottom:24px}

.unified-memorial-grid>.public-memorial-card{display:flex;flex-direction:column;align-self:stretch}.unified-memorial-grid .public-memorial-photo{height:240px;flex:none}.unified-memorial-grid .public-memorial-copy{position:static;padding:20px;background:#fffefa;color:#203a2f}.unified-memorial-grid .public-memorial-copy h3{margin:10px 0}.unified-memorial-grid .public-memorial-copy p{color:#65766a}

/* Compact directory inspired by the user-provided memorial reference. */
.public-memorial-page{background:#f7f3ed;padding-top:0}
.memorial-directory-hero{text-align:center;background:linear-gradient(120deg,#203e34,#335c48);color:#fffaf3;margin:0 -28px 28px;border-radius:0 0 22px 22px;padding:46px 24px 38px;position:relative;overflow:hidden}
.memorial-directory-hero .eyebrow{color:#d8c6ab;letter-spacing:.16em}.memorial-directory-hero h1{color:#fffaf3;font-size:clamp(32px,4vw,44px);line-height:1.3;margin:14px 0 12px}.memorial-directory-hero>p{color:#d8e2d9;margin:0}.memorial-directory-hero .btn{margin-top:22px;background:#d39167;border:0;border-radius:999px;color:white;padding:13px 28px;font-weight:700}
.memorial-directory-stats{display:flex;justify-content:center;gap:42px;margin-top:22px}.memorial-directory-stats div{display:flex;flex-direction:column;gap:4px}.memorial-directory-stats strong{font:700 29px system-ui}.memorial-directory-stats span{font-size:12px;color:#d2ded5}
.unified-memorial-grid{gap:22px;align-items:stretch}
.unified-memorial-grid>.case-card,.unified-memorial-grid>.public-memorial-card{display:flex;flex-direction:column;padding:0;gap:0;border:1px solid #e6ddd2;border-radius:18px;background:#fff;box-shadow:0 5px 18px #4e3e2910;overflow:hidden;min-height:0}
.unified-memorial-grid .case-card-photo,.unified-memorial-grid .public-memorial-photo{display:block;width:100%;height:auto;aspect-ratio:4/3;min-height:0;border-radius:0;overflow:hidden;flex:none;align-self:stretch}.unified-memorial-grid .case-card-photo img,.unified-memorial-grid .public-memorial-photo img{width:100%;height:100%;object-fit:cover;object-position:center 42%}
.unified-memorial-grid .case-card-body,.unified-memorial-grid .public-memorial-copy{padding:16px 18px;background:#fff;display:flex;flex-direction:column;min-width:0;position:static;flex:1}.unified-memorial-grid .case-card-meta{font-size:11px;gap:8px;flex-wrap:wrap;line-height:1.4;color:#8b938b}.unified-memorial-grid .case-card h2,.unified-memorial-grid .public-memorial-copy h3{font:700 21px/1.35 system-ui;margin:8px 0 5px;color:#2c4237}.unified-memorial-grid .case-breed{font-size:12px;margin:0 0 8px;color:#938675}.unified-memorial-grid .case-story{display:none}.unified-memorial-grid .case-counts{margin-top:auto;gap:12px;padding-top:9px;flex-wrap:wrap;font-size:11px;border-top:1px solid #f0eee8}.unified-memorial-grid .case-counts span{padding:0;background:none;border:0;border-radius:0}.unified-memorial-grid .case-card-link{margin-top:9px;padding-top:0;border:0;font-size:12px}.unified-memorial-grid .public-memorial-copy>p{display:none}.unified-memorial-grid .public-memorial-actions{margin-top:auto;gap:7px;padding-top:10px;align-items:center}.unified-memorial-grid .public-memorial-actions>a{font-size:12px;width:auto;margin-right:auto}.unified-memorial-grid .public-memorial-actions button{font-size:11px;padding:5px 7px}.unified-memorial-grid .public-memorial-copy>.tiny{font-size:11px;color:#8b938b}
.home-memorials{padding-top:50px!important;padding-bottom:50px!important}.home-memorials .home-section-head{margin-bottom:24px}.home-memorials .home-section-head h2{font-size:32px;margin:8px 0}.home-memorials .home-section-head p{margin:8px 0 0;font-size:14px}.home-memorials .home-privacy-note{margin-top:18px;font-size:11px}
.public-memorial-page .case-disclosure{background:transparent;border-left:0;padding:4px 0;color:#8b8579;gap:8px}.public-memorial-page .case-disclosure span{font-size:11px}.public-memorial-page .case-disclosure strong{font-size:11px;color:#7a7267}
@media(max-width:1100px){.unified-memorial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.unified-memorial-grid{grid-template-columns:1fr;gap:12px}.memorial-directory-hero{margin:0 -18px 20px;padding:30px 20px}.memorial-directory-hero h1{font-size:32px}.memorial-directory-stats{gap:32px}.public-memorial-page .case-disclosure{display:block}.public-memorial-page .case-disclosure strong{margin-right:6px}}

/* One metric and interaction system for owner memorials and teaching cases. */
.memorial-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:auto;padding-top:12px;border-top:1px solid #e9e8eb}
.memorial-metrics span,.unified-memorial-grid .case-counts span{display:flex;align-items:center;justify-content:center;gap:3px;min-width:0;padding:7px 3px;background:#f0f6ff;border-radius:8px;color:#37596c;font-size:11px;white-space:nowrap}
.memorial-metrics b{font-weight:800;font-variant-numeric:tabular-nums}
.unified-memorial-grid .case-counts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;padding-top:12px}
.unified-memorial-grid .public-memorial-copy .memorial-metrics{width:100%}
.case-gift-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:12px}
.case-gift-actions button{min-height:35px;border:1px solid #e7ced8;border-radius:9px;background:#fff1f5;color:#8f3d59;font-size:12px;font-weight:700;cursor:pointer}
.case-gift-actions button:hover:not(:disabled){background:#fce3eb;border-color:#cf9caf}
.case-gift-actions button:disabled{opacity:.55;cursor:wait}
.case-interaction-status{min-height:0;margin:4px 0 0;color:#48677a;font-size:11px;line-height:1.4}
.case-interaction-status:empty{display:none}
.case-detail-copy .case-gift-actions{margin-top:22px}
.case-detail-copy .case-gift-actions button{min-height:42px}
.unified-memorial-grid .public-memorial-actions{margin-top:10px}
.unified-memorial-grid .public-memorial-actions button{background:#fff1f5;color:#8f3d59;border-color:#e7ced8}
.unified-memorial-grid .case-card-link{margin-top:10px}
.case-detail-hero,.case-gift,.case-comment{background:#fffefd;border-color:#e7e3e4}
.case-detail-copy h1,.case-detail-title h2,.case-card-body h2 a{color:#294d63}
.case-detail-counts span{background:#f0f6ff;border-color:#dfebf5;color:#37596c}
@media(max-width:420px){.memorial-metrics span,.unified-memorial-grid .case-counts span{font-size:10px}.case-gift-actions button{font-size:11px}}
