.service-detail-hero{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(200px,.65fr);align-items:center;gap:40px;padding-block:70px 50px}
.service-breadcrumb{font-size:.85rem;color:#426b66}
.service-detail-title{display:flex;gap:20px;align-items:flex-start;margin-top:28px}
.service-detail-title .service-icon{width:60px;height:60px;flex-shrink:0;color:#176a73}
.service-detail-title h1{font-size:clamp(2rem,3.8vw,3.3rem);line-height:1.55;margin:0;overflow-wrap:anywhere}
.service-summary{font-size:1.25rem;font-weight:600;margin-top:26px}
.service-detail-hero>.vignette{width:100%;max-width:290px;justify-self:end}
.service-detail-body>section{padding-block:36px;border-top:1px solid #b7cec5}
.service-detail-body h2{font-size:1.7rem;margin:0 0 28px}
.service-consult-grid,.service-evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.service-consult-grid article,.service-evidence-grid article{min-width:0;padding:24px;border-radius:18px;background:#fffdf5bb;border:1px solid #c3d9cf}
.service-consult-grid h3,.service-evidence-grid h3{font-size:1.05rem;line-height:1.7;margin:14px 0 10px}
.service-consult-grid p{font-size:.94rem;margin:0;line-height:1.9}
.service-evidence-grid strong,.service-evidence-grid h3.service-evidence-lead{display:block;font-size:clamp(1.4rem,2.4vw,2rem);line-height:1.6;color:#176a73;overflow-wrap:anywhere}
.service-evidence-grid p{font-size:.82rem;line-height:1.9;color:#46635f;margin:0}
.service-related{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 30px}
.service-related a{padding:16px 0;border-bottom:1px solid #b7cec5;line-height:1.8;overflow-wrap:anywhere}
.service-detail-actions{display:flex;flex-wrap:wrap;align-items:center;gap:24px;padding-block:24px 70px}
.service-detail-actions .text-link{margin:0}
.service-detail-link{display:inline-block;margin-top:18px;min-height:44px;line-height:1.8}
@media(max-width:800px){.service-detail-hero{grid-template-columns:1fr;padding-block:45px 30px;gap:18px}.service-detail-hero>.vignette{max-width:220px}.service-consult-grid,.service-evidence-grid{grid-template-columns:1fr}.service-related{grid-template-columns:1fr}.service-detail-title{gap:12px}.service-detail-title .service-icon{width:40px;height:40px}.service-detail-title h1{font-size:1.9rem}.service-summary{font-size:1.05rem}}
.large-text .service-detail-hero,.large-text .service-consult-grid,.large-text .service-evidence-grid,.large-text .service-related{grid-template-columns:1fr}

/* Keep each number paired with its heading instead of competing with it. */
.service-consult-title{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.service-consult-title .number{position:static;display:block;flex:0 0 auto;font-size:1.55rem;line-height:1;font-weight:500;letter-spacing:.02em;color:#5d928c;margin:0;padding:0}
.service-consult-grid .service-consult-title h3{margin:0;font-size:1.08rem;line-height:1.6}
.service-evidence-grid--community{grid-template-columns:repeat(2,minmax(0,1fr))}
.service-evidence-photo-card{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}
.service-evidence-photo{display:block;width:210px;max-width:100%;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%;filter:saturate(.88)}
.tennis-evidence-photo{object-position:center 35%}
.service-evidence-photo-card>div{width:100%}
.service-evidence-metrics{display:flex;justify-content:center;gap:36px;margin:20px 0 14px}
.service-evidence-metrics span{display:block;font-size:.8rem;color:#46635f}
.service-evidence-metrics strong{font-size:2.7rem;line-height:1.3;margin-top:6px}
.service-evidence-metrics small{font-size:1.1rem;margin-inline:3px}
@media(max-width:800px){.service-evidence-grid--community{grid-template-columns:1fr}.service-evidence-photo{width:190px}.service-consult-title{gap:12px;margin-bottom:14px}.service-consult-title .number{font-size:1.4rem}}

/* Wrap the long service name at meaningful boundaries on narrow screens. */
.service-detail-hero>div{min-width:0}
.service-detail-title h1{min-width:0;max-width:100%;overflow-wrap:normal;word-break:normal}
.service-detail-title h1>span{display:inline-block;max-width:100%}
@media(max-width:800px){.service-detail-title:has(h1>span){display:block}.service-detail-title:has(h1>span) .service-icon{margin-bottom:14px}.service-detail-title h1:has(>span){font-size:clamp(1.25rem,5.8vw,2.4rem);line-height:1.65}}

.service-evidence-grid .service-evidence-start{font-size:1rem;font-weight:600;color:#176a73;margin-bottom:10px}
.service-evidence-grid .service-evidence-date{font-size:.72rem;margin-top:12px;color:#526963}

.service-evidence-grid h3.service-evidence-lead{margin:0 0 10px}

/* Service names keep their meaning together instead of leaving a stray final word. */
.service-detail-title h1 .service-title-line{display:block;text-wrap:balance;overflow-wrap:anywhere}
.service-detail-title h1{text-wrap:balance}
@media(max-width:800px){
 .service-detail-title{display:block}
 .service-detail-title .service-icon{margin-bottom:14px}
 .service-detail-title h1,.service-detail-title h1:has(>span){font-size:clamp(1.25rem,5.8vw,2.4rem);line-height:1.6}
}
