.service-card--life, .service-card--health, .service-card--retirement, .service-card--business { position: relative; }
.service-details-trigger { display: inline-flex; align-items: center; gap: 9px; margin-top: 18px; padding: 0; border: 0; background: transparent; color: var(--navy); font: 700 12px 'DM Sans', sans-serif; letter-spacing: .04em; cursor: pointer; opacity: 0; pointer-events: none; transform: translateY(8px); transition: opacity .22s ease, transform .22s ease, color .2s ease; }
.service-details-trigger b { display: grid; width: 23px; height: 23px; place-items: center; border-radius: 50%; background: var(--gold); color: var(--navy); font-size: 15px; transition: transform .2s ease; }
.service-card--life:hover .service-details-trigger, .service-card--life:focus-within .service-details-trigger, .service-card--health:hover .service-details-trigger, .service-card--health:focus-within .service-details-trigger, .service-card--retirement:hover .service-details-trigger, .service-card--retirement:focus-within .service-details-trigger, .service-card--business:hover .service-details-trigger, .service-card--business:focus-within .service-details-trigger { opacity: 1; pointer-events: auto; transform: translateY(0); }
.service-details-trigger:hover { color: #8f681e; }
.service-details-trigger:hover b { transform: translateX(3px); }
.life-details-modal { position: fixed; z-index: 100; inset: 0; display: grid; place-items: center; padding: 24px; opacity: 0; pointer-events: none; transition: opacity .22s ease; }
.life-details-modal[aria-hidden="false"] { opacity: 1; pointer-events: auto; }
.life-details-modal__backdrop { position: absolute; inset: 0; background: rgba(5, 20, 39, .72); backdrop-filter: blur(7px); }
.life-details-modal__content { position: relative; z-index: 1; width: min(680px, 100%); max-height: min(760px, calc(100vh - 48px)); overflow: auto; padding: clamp(32px, 5vw, 58px); border: 1px solid rgba(223,194,120,.72); border-radius: 26px; background: #fffdf8; box-shadow: 0 28px 80px rgba(0,0,0,.32); color: var(--ink); }
.life-details-modal__content h2 { margin: 7px 0 20px; color: var(--navy); font-size: clamp(2.5rem, 6vw, 4rem); }
.life-details-modal__content p { margin: 0 0 18px; color: #425363; font-size: 1rem; line-height: 1.72; }
.life-details-modal__content .life-details-modal__lead { margin-bottom: 23px; color: var(--navy); font-size: 1.14rem; line-height: 1.58; }
.life-details-modal__content .button { margin-top: 8px; }
.life-details-modal__close { position: absolute; top: 17px; right: 18px; display: grid; width: 37px; height: 37px; place-items: center; border: 0; border-radius: 50%; background: var(--navy); color: #fff; font-size: 27px; line-height: 1; cursor: pointer; }
.life-details-modal__close:hover { background: #174b7e; }
body.modal-open { overflow: hidden; }
@media (hover: none) { .service-details-trigger { opacity: 1; pointer-events: auto; transform: none; } }
@media (max-width: 560px) { .life-details-modal { padding: 12px; } .life-details-modal__content { max-height: calc(100vh - 24px); padding: 42px 26px 30px; border-radius: 20px; } }
