.memorial-cta .hero-photo{object-position:center 58%}.memorial-cta .memorial-contact-panel{background:#fff;color:#203442;padding:2rem;border-radius:16px}.memorial-contact-panel .button{display:block;margin:1rem 0;text-align:center}.memorial-contact-panel p{color:#526572;font-size:.9rem}.memorial-cta .contact{align-items:start}.memorial-cta .cta-hero::before{background:linear-gradient(90deg,rgba(12,35,51,.94),rgba(12,35,51,.65) 58%,rgba(12,35,51,.3))}@media(max-width:650px){.memorial-contact-panel{padding:1.2rem!important}.memorial-cta .hero-photo{object-position:65% center}}

.keepsake-photo{width:100%;height:180px;object-fit:cover;object-position:center;border-radius:12px;margin-bottom:1rem}

@media(min-width:1100px){.memorial-services{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(min-width:650px) and (max-width:1099px){.memorial-services{grid-template-columns:repeat(2,minmax(0,1fr))}}

.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.product-card{display:flex;flex-direction:column;overflow:hidden}.product-photo{width:100%;height:210px;object-fit:cover;border-radius:10px}.product-photo-credit{font-size:.75rem!important;margin:6px 0 18px!important}.product-prices{margin-top:auto;padding-top:1rem}.product-prices>div{display:flex;justify-content:space-between;gap:12px;border-top:1px solid #dfe5e8;padding:12px 0}.product-prices dt{font-size:.9rem}.product-prices dd{font-weight:700;white-space:nowrap;margin:0;color:#124a6b}.product-card .button{margin-top:16px;text-align:center}.price-note{font-size:.85rem;color:#526572;margin-top:24px}@media(max-width:1000px){.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.product-grid{grid-template-columns:1fr}.product-prices>div{flex-wrap:wrap}}


/* Shared row tracks keep neighbouring cards aligned without truncating text. */
.product-grid{align-items:stretch;row-gap:20px}
.product-card{display:grid;grid-template-rows:subgrid;grid-row:span 5;gap:20px}
.product-media{height:244px;min-width:0}
.product-photo{object-fit:contain;background:#f5f7f8;height:210px;display:block}
.product-photo-credit{margin:6px 0 0!important}
.product-design{height:210px;background:#f5f7f8;border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#526572}
.product-design span{width:64px;height:64px;color:#176a50}
.product-design svg{width:100%;height:100%}
.product-design p{font-size:.85rem;margin:12px 0 0}
.product-card h3,.product-card>p,.product-prices{margin:0}
.product-prices{padding:0;align-self:start}
.product-prices>div{min-height:74px;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:baseline}
.product-card .button{margin:0;align-self:end;width:100%;min-height:54px}
.memorial-services .service-card-bottom{display:grid;grid-template-rows:2.6em auto;gap:12px;padding-top:0;margin-top:0;align-self:end}
.memorial-services .card-price{margin:0;line-height:1.3}
.memorial-services .button{min-height:66px;margin:0}
@media(min-width:650px){.memorial-services{row-gap:20px}.memorial-services .service-card{display:grid;grid-template-rows:subgrid;grid-row:span 4;gap:20px}.memorial-services .service-card h3,.memorial-services .service-card>p,.memorial-services .service-icon{margin:0}}
@media(max-width:650px){.product-card{display:flex;gap:0}.product-media{height:auto;margin-bottom:20px}.product-design{height:140px}.product-card h3{margin-bottom:16px}.product-card>p{margin-bottom:20px}.product-prices{margin-bottom:20px;width:100%}.product-card .button{margin-top:auto}.memorial-services .service-card-bottom{grid-template-rows:auto auto;margin-top:auto;padding-top:12px}.memorial-services .card-price:empty{display:none}.memorial-services .button{min-height:48px}}
