.services .service-card{cursor:pointer;font-family:inherit;color:inherit}
body.service-modal-open{overflow:hidden}
dialog#detail-dialog.service-dialog{width:420px;max-width:calc(100vw - 48px);max-height:calc(100dvh - 48px);padding:0;border:1px solid #e0e8f1;border-radius:18px;background:#fff;color:#06152d;box-shadow:0 18px 65px #06152d40;overflow:auto}
.service-dialog::backdrop{background:#07162c66}
.service-popup-media{position:relative;height:220px;background:#edf4fb;overflow:hidden}
.service-popup-media>img{display:block;width:100%;height:220px;object-fit:cover}
.service-popup-label{position:absolute;top:14px;left:14px;border:1px solid var(--popup-accent);border-radius:20px;padding:6px 11px;background:#fffffff2;color:var(--popup-accent);font-size:12px;font-weight:700;line-height:1.3}

.service-popup-copy{padding:20px 22px 23px;text-align:center}
.service-dialog #detail-title{font-size:20px;line-height:1.35;font-weight:800;letter-spacing:-.035em;margin:0 0 10px}
.service-dialog #detail-content p{font-size:14px;line-height:1.65;letter-spacing:-.02em;color:#40566f;margin:0}
@media(max-width:700px){
.services .service-card,.services .service-card:hover,.services .service-card:active,.services .service-card:focus{transform:none!important;transition:none!important;animation:none!important;box-shadow:0 3px 9px #174c8412!important;background:#fff!important;cursor:default;border-color:#e4edf7;border-top-color:var(--accent)}
.services .service-card:disabled{opacity:1;color:inherit;-webkit-text-fill-color:currentColor}
.services .service-card .chevron{display:none!important}
.service-dialog{display:none!important}
}
@media(prefers-reduced-motion:reduce){.services .service-card{transition:none!important;transform:none!important}}

/* Click to show beside the source card; leaving that source card dismisses it. */
dialog#detail-dialog.service-dialog{position:fixed;inset:auto;margin:0;z-index:2000}

/* Approved five-card layout: equal size, photo and live text in equal halves. */
dialog#detail-dialog.service-dialog{width:520px;height:660px;max-height:calc(100dvh - 24px);max-width:calc(100vw - 24px);overflow:auto;pointer-events:none}
.service-popup-media{height:50%;min-height:0}
.service-popup-media>img{height:100%;width:100%;object-fit:cover}
.service-popup-copy{height:50%;padding:17px 24px 18px;text-align:left;overflow:auto;word-break:keep-all;overflow-wrap:break-word}
.service-popup-label{display:inline-block;position:static;border:0;border-radius:18px;padding:5px 10px;margin-bottom:9px;background:color-mix(in srgb,var(--popup-accent) 11%,white);font-size:12px;font-weight:800}
.service-dialog #detail-title{font-size:23px;line-height:1.3;letter-spacing:-.045em;margin:0 0 10px}
.service-dialog #detail-content p{font-size:13px;line-height:1.65;letter-spacing:-.02em;margin:0 0 8px}
.service-dialog #detail-content p.popup-summary{font-weight:700;color:var(--popup-accent);font-size:14px}
.service-dialog #detail-content p.popup-note{border-top:1px solid #e4eaf0;padding-top:9px;margin-top:9px;margin-bottom:0;font-size:12px;color:#52667c}
@media(min-width:701px){.services .service-card strong{font-size:clamp(13px,1.02vw,20px)}.services .service-card:first-child strong{font-size:clamp(12px,.98vw,19px)}}

/* Reduce all approved popups uniformly to 70% of their previous size. */
dialog#detail-dialog.service-dialog{transform:scale(.85);transform-origin:top left}

/* Tighten unused bottom space while keeping all five cards the same size. */
dialog#detail-dialog.service-dialog{height:600px}
.service-popup-copy{padding:14px 22px 10px}
.service-dialog #detail-content p:last-child{margin-bottom:0}

/* Keep the approved outer size; improve body legibility at 100% browser zoom. */
.service-popup-media{height:40%}
.service-popup-copy{height:60%;padding:14px 22px 10px}
.service-dialog #detail-title{font-size:24px;line-height:1.3}
.service-popup-label{font-size:13px;margin-bottom:8px}
.service-dialog #detail-content p{font-size:15.5px;line-height:1.5;margin-bottom:9px;color:#263d55}
.service-dialog #detail-content p.popup-summary{font-size:15.5px;line-height:1.45}
.service-dialog #detail-content p.popup-note{font-size:14px;line-height:1.5;padding-top:8px;margin-top:8px;color:#40566f}
.services .repair-tools-icon{color:var(--accent,#087f8c)}

/* Use the remaining copy area for larger, higher-contrast type on every card. */
.service-dialog #detail-title{font-size:26px;line-height:1.3;margin-bottom:11px}
.service-popup-label{font-size:14px}
.service-dialog #detail-content p{font-size:17.5px;line-height:1.5;margin-bottom:10px;color:#20364d;letter-spacing:-.025em}
.service-dialog #detail-content p.popup-summary{font-size:17.5px;line-height:1.45}
.service-dialog #detail-content p.popup-note{font-size:16px;line-height:1.5;color:#344b63;padding-top:10px;margin-top:10px}

/* All cards end just below their final line; preserve approved type and photo size. */
dialog#detail-dialog.service-dialog{height:auto;min-height:0}
.service-popup-media{height:240px}
.service-popup-copy{height:auto;min-height:0;padding-bottom:12px;overflow:visible}
.service-dialog #detail-content p:last-child{margin-bottom:0}
