:root { --mp-ink:#27231f; --mp-stone:#b9b3a7; --mp-light:#f4f0e7; --mp-gold:#8b6c2e; --mp-danger:#8b2d2d; }
.mp-memory,.mp-person{max-width:1180px;margin:3rem auto;padding:0 1.25rem;color:var(--mp-ink);font-family:Georgia,"Times New Roman",serif}
.mp-page-header{text-align:center;margin-bottom:2.5rem}.mp-page-header h1,.mp-person h1{font-size:clamp(2.2rem,5vw,4.3rem);line-height:1.05;margin:.25rem 0 1.5rem}
.mp-kicker{text-transform:uppercase;letter-spacing:.14em;font:600 .75rem/1.4 system-ui,sans-serif;color:var(--mp-gold)}
.mp-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;align-items:start}
.mp-card{text-align:center}.mp-matzevah{position:relative;display:flex;min-height:350px;padding:4.5rem 1.2rem 2rem;flex-direction:column;align-items:center;gap:.65rem;color:#292723!important;text-decoration:none!important;background:linear-gradient(135deg,#d4d0c7,#aaa59a);border:1px solid #8e897f;border-radius:9rem 9rem .4rem .4rem;box-shadow:inset 0 0 24px #fff6,0 12px 25px #211b1322;transition:transform .2s,box-shadow .2s;overflow:hidden}
.mp-matzevah:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 30% 20%,#fff5 0 2px,transparent 3px),radial-gradient(circle at 70% 60%,#625f5844 0 1px,transparent 2px);background-size:53px 47px,41px 37px;pointer-events:none}
.mp-matzevah:hover{transform:translateY(-5px);box-shadow:inset 0 0 24px #fff6,0 18px 32px #211b1333}.mp-matzevah strong{font-size:1.35rem;z-index:1}.mp-matzevah span{z-index:1}.mp-symbol{font-size:2.4rem;color:var(--mp-gold)}.mp-hebrew{font-family:Arial,sans-serif;font-size:1.05rem}
.mp-card-actions,.mp-admin-actions,.mp-form-actions{display:flex;justify-content:center;align-items:center;gap:.65rem;margin-top:.9rem}.mp-stone-count{font:500 .8rem system-ui,sans-serif;color:#625d54}
.mp-button{appearance:none;border:1px solid #756f65;background:#fff;color:var(--mp-ink);border-radius:99px;padding:.7rem 1rem;font:600 .82rem/1 system-ui,sans-serif;cursor:pointer}.mp-button:hover{background:#eee9df}.mp-button:disabled{opacity:.55;cursor:wait}.mp-primary{background:var(--mp-ink);color:#fff;border-color:var(--mp-ink)}.mp-primary:hover{background:#49433c}.mp-danger{color:var(--mp-danger);border-color:#c9a2a2}
.mp-dialog{width:min(760px,calc(100% - 2rem));border:0;border-radius:1rem;padding:0;box-shadow:0 25px 80px #0005}.mp-dialog::backdrop{background:#17130f99}.mp-dialog form{padding:1.5rem}.mp-dialog-head{display:flex;justify-content:space-between;align-items:center}.mp-dialog-head h2{margin:0}.mp-close{border:0;background:none;font-size:2rem;cursor:pointer}.mp-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.2rem}.mp-fields label{display:flex;flex-direction:column;gap:.35rem;font:600 .8rem system-ui,sans-serif}.mp-fields input,.mp-fields textarea{border:1px solid #aaa49a;border-radius:.45rem;padding:.7rem;font:400 1rem/1.4 system-ui,sans-serif}.mp-wide{grid-column:1/-1}
.mp-person-header{display:grid;grid-template-columns:1fr 340px;gap:2rem;align-items:center;border-bottom:1px solid #c8c0b2;padding-bottom:2rem}.mp-person-body{max-width:760px;font-size:1.1rem;line-height:1.75;margin:2.5rem 0}.mp-person-body h2{margin-top:2rem}.mp-back{display:inline-block;margin-left:1rem;color:var(--mp-ink)}
.mp-person-photo{margin:2.5rem 0 0;max-width:760px}.mp-person-photo img{display:block;width:100%;height:auto;max-height:620px;object-fit:cover;border-radius:.75rem;box-shadow:0 12px 30px #211b1322}
.mp-pyramid{min-height:190px;display:flex;flex-wrap:wrap-reverse;align-content:flex-start;justify-content:center;gap:2px;padding:1rem}.mp-pyramid span{display:block;width:42px;height:29px;border-radius:55% 45% 50% 48%;background:linear-gradient(145deg,#bdb8ae,#726e67);box-shadow:inset 3px 3px 5px #fff5,0 2px 3px #0003;transform:rotate(var(--r,2deg))}.mp-pyramid span:nth-child(3n){--r:-8deg}.mp-pyramid span:nth-child(4n){--r:7deg}.mp-pyramid strong{flex-basis:100%;text-align:center;margin-top:.8rem;font:600 .85rem system-ui,sans-serif}
@media(max-width:850px){.mp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mp-person-header{grid-template-columns:1fr}.mp-pyramid{justify-content:flex-start}}
@media(max-width:560px){.mp-grid{grid-template-columns:1fr}.mp-fields{grid-template-columns:1fr}.mp-wide{grid-column:auto}.mp-matzevah{min-height:320px}.mp-card{max-width:360px;margin:auto}}
@media(prefers-reduced-motion:reduce){.mp-matzevah{transition:none}}
