.memorial-page{max-width:1440px;margin:0 auto;padding:clamp(16px,2vw,28px) clamp(20px,4vw,64px) 80px;color:#f1f1f2}
.memorial-heading{max-width:none;margin-bottom:28px}
.memorial-introduction>span{display:inline}
.memorial-eyebrow{color:#d88980;font-size:13px;letter-spacing:.18em;text-transform:uppercase;margin:0 0 12px}
.memorial-heading h2{font-family:"Avenir Next Condensed","Arial Narrow","Liberation Sans Narrow",sans-serif;font-size:clamp(44px,6vw,80px);font-weight:600;line-height:1.06;margin:0 0 18px;letter-spacing:-.025em}
.memorial-heading h2 span{color:#cb423e}
.memorial-feature{margin-bottom:64px;padding-bottom:56px;border-bottom:1px solid #453c3a}
.memorial-feature-heading{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:36px}
.memorial-feature-heading h1{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:#fff;font-size:clamp(34px,4.5vw,62px);line-height:1.2;letter-spacing:-.025em;margin:0}
.memorial-anthem-button{margin:0}
.memorial-anthem-button:focus-visible{outline:2px solid #fff;outline-offset:4px}
@media(max-width:800px){.memorial-feature-heading{flex-wrap:wrap;gap:18px}}
.memorial-feature-art{position:relative}
.memorial-feature-overlay{position:absolute;left:14px;right:14px;bottom:14px;display:flex;align-items:center;gap:30px;padding:12px 16px;border:1px solid transparent;isolation:isolate}
.memorial-feature-overlay::before{content:"";position:absolute;inset:-1px -1px -1px 68px;z-index:-1;background:rgba(24,22,22,.92);border:1px solid rgba(221,190,170,.35);border-left:0;border-radius:0 12px 12px 0;box-shadow:0 4px 18px rgba(0,0,0,.22)}
.memorial-feature-logo-slot{position:relative;width:120px;height:72px;flex-shrink:0}
.memorial-feature-logo-badge{box-sizing:border-box;position:absolute;top:50%;left:-26px;transform:translateY(calc(-50% - 12px));width:156px;height:156px;padding:5px;border:1px solid rgba(221,190,170,.35);border-radius:50%;background:#181616;box-shadow:0 4px 18px rgba(0,0,0,.22)}
.memorial-feature-logo{display:block;width:100%;height:100%;object-fit:contain}
.memorial-feature-overlay p{margin:0;color:#f1e6db;line-height:1.45}
.memorial-feature-overlay strong{display:block;font-size:clamp(16px,1.6vw,21px);font-weight:600}
.memorial-feature-overlay span{display:block;margin-top:4px;color:#d2b8ab;font-size:clamp(12px,1.1vw,15px)}
.memorial-feature-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,4vw,60px);align-items:start}
.memorial-feature-photo{display:block;width:100%;height:auto;border-radius:16px;border:1px solid #4c4440}
.memorial-feature-copy p{color:#fff;font-size:clamp(16px,1.4vw,19px);line-height:1.8;margin:0 0 20px}
.memorial-feature-copy p:last-child{margin-bottom:0}
.memorial-feature-copy .memorial-feature-promise{padding:20px 0;border-top:1px solid #453c3a;border-bottom:1px solid #453c3a;color:#fff;font-size:clamp(22px,2.3vw,30px);line-height:1.4}
.memorial-feature-promise span{color:#cb423e}
.memorial-take-action{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:13px 26px;border:1px solid #e26159;border-radius:8px;background:#bd3933;color:#fff;font:inherit;font-size:17px;font-weight:700;line-height:1.4;opacity:1}
.memorial-take-action{text-decoration:none}
@media(max-width:800px){.memorial-feature-layout{grid-template-columns:1fr}.memorial-feature-art{max-width:540px;width:100%;margin:auto}.memorial-feature{margin-bottom:44px;padding-bottom:36px}.memorial-feature-heading{margin-bottom:26px}}
@media(max-width:520px){.memorial-feature-heading{align-items:flex-start}.memorial-feature-overlay{left:10px;right:10px;bottom:10px;padding:10px;gap:22px}.memorial-feature-overlay::before{left:46px}.memorial-feature-logo-slot{width:86px;height:54px}.memorial-feature-logo-badge{width:116px;height:116px;left:-22px;padding:4px;transform:translateY(calc(-50% - 8px))}}
.memorial-heading>p:last-child{font-size:clamp(17px,2vw,21px);color:#bfc1c7;line-height:1.6;margin:0}
.memorial-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,380px);align-items:start;gap:24px;margin-bottom:28px}
.memorial-notice{box-sizing:border-box;display:flex;align-items:center;min-height:50px;font-size:14px;line-height:1.6;color:#b7b9c0;border-left:3px solid #bd7770;padding:10px 16px;background:#17191d;margin:0}
.memorial-search{margin:0;min-width:0}
.memorial-search label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:680px){.memorial-toolbar{grid-template-columns:1fr;gap:14px}}
.memorial-search input{box-sizing:border-box;width:100%;min-height:50px;padding:13px 16px;border:1px solid #454951;border-radius:9px;background:#17191d;color:#f1f1f2;font:inherit;font-size:16px;color-scheme:dark}
.memorial-search input::placeholder{color:#9499a3}
.memorial-search input:focus-visible{outline:2px solid #d88980;outline-offset:3px}
#memorial-search-status{font-size:13px;color:#b7b9c0;margin:10px 0 0}
#memorial-search-status:empty{display:none}
#memorial-search-empty{color:#bfc1c7;padding:24px 0}
.memorial-card[hidden],#memorial-search-empty[hidden]{display:none}
.memorial-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.memorial-card{min-width:0;overflow:hidden;background:#17191d;border:1px solid #34373d;border-radius:14px}
.memorial-portrait{aspect-ratio:4/5;background:#101113;display:flex;align-items:center;justify-content:center;overflow:hidden}
/* Contain preserves each cat, group portrait and any name embedded in the image. */
.memorial-portrait img{width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.memorial-caption{display:flex;align-items:baseline;gap:8px;padding:19px 18px 22px;border-top:1px solid #303238}
.memorial-caption h2{font-size:20px;line-height:1.3;font-weight:600;margin:0;color:#f2f2f3}
.memorial-caption p{font-size:14px;line-height:1.65;color:#c2c3c8;margin:0}
.memorial-caption .memorial-unconfirmed{color:#989ca5}
.memorial-caption .memorial-survivor-label{color:#d2b8ab;font-size:13px;white-space:nowrap}
.memorial-footnote{margin-top:40px;padding-top:24px;border-top:1px solid #303238;color:#9297a1;font-size:13px;line-height:1.7}
.memorial-footnote p{margin:0 0 6px}.memorial-footnote a{color:#d9a19a;text-underline-offset:3px}
.content-memorial-button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}
@media(max-width:1050px){.memorial-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}}
@media(max-width:720px){.memorial-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.memorial-caption{padding:15px 12px 18px}.memorial-caption h2{font-size:18px}.memorial-caption p{font-size:13px}}
@media(max-width:360px){.memorial-grid{grid-template-columns:1fr}}

/* Names sit inside the photos without altering image files. */
.memorial-card{position:relative}
.memorial-caption{position:absolute;inset:auto 0 0;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;padding:48px 18px 18px;border:0;background:linear-gradient(transparent,rgba(0,0,0,.65) 48%,rgba(0,0,0,.88));text-shadow:0 1px 4px #000;pointer-events:none}
@media(max-width:720px){.memorial-caption{padding:38px 12px 12px}.memorial-caption h2{font-size:clamp(15px,3.3vw,18px)}}
