/* Links to the detailed offers. The enquiry button remains independent. */
.service-detail-link { display:block; min-height:44px; align-content:center; margin:10px 0 14px; font-size:14px; line-height:1.6; font-weight:600; text-decoration:underline; text-underline-offset:5px; }
/* The stretched link covers the card at every size, with enquiry above it. */
.service-card:has(.service-detail-link) { position:relative; cursor:pointer; }
.service-detail-link::after { content:""; display:block; position:absolute; inset:0; z-index:1; }
.service-card:has(.service-detail-link) .action-button { position:relative; z-index:2; }
.service-card:has(.service-detail-link:focus-visible) { outline:2px solid #071D32; outline-offset:5px; }
.service-detail-link:focus-visible { outline:none; }
.service-card-actions { display:flex; align-items:center; width:100%; margin-top:auto; gap:20px; }
.service-card-actions .service-detail-link { margin:0; }
.service-card-actions .action-button { margin-top:0; }
@media(min-width:761px) {
 .service-card-actions { justify-content:space-between; }
 .service-card-actions .service-detail-link { display:inline-flex; align-items:center; gap:8px; text-decoration:none; }
 .service-card-actions .service-detail-link::before { content:'→'; order:1; }
}
@supports(grid-template-rows:subgrid) {
 @media(max-width:760px), (max-width:999px) and (max-height:500px) {
  .service-card:has(.service-detail-link) { grid-row:span 3; }
 }
}

/* Mobile service cards use the same calm framed treatment as desktop. */
@media(max-width:760px), (max-width:999px) and (max-height:500px) {
 .services .services-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
 .services .service-card { display:flex; flex-direction:column; grid-row:auto; padding:16px; border:1px solid rgba(7,29,50,.2); background:rgba(255,255,255,.10); }
 .services .service-card-body { display:flex; flex-direction:column; align-items:flex-start; }
 .services .service-card-title { min-height:2.5em; margin:0 0 12px; font-size:18px; line-height:1.25; }
 .services .service-card-text { flex:1; font-size:14px; line-height:1.6; }
 .services .service-detail-link { display:inline-flex; align-items:center; gap:8px; margin:14px 0 0; min-height:44px; text-decoration:none; font-size:13px; line-height:1.5; }
 .services .service-detail-link::before { content:'→'; order:1; flex-shrink:0; }
}

@media(max-width:360px) {
 .services .services-grid { gap:12px; }
 .services .service-card { padding:12px; }
 .services .service-card-title { font-size:17px; }
 .services .service-detail-link { gap:6px; }
}

@media(max-width:760px), (max-width:999px) and (max-height:500px) {
 .services .service-card-actions { justify-content:flex-start; gap:0; margin-top:0; }
}
