/* Self-contained service presentation, without legacy panel or subgrid rules. */
body.page-services .services-catalog{padding:64px 0 40px;background:#fff}
body.page-services .services-catalog-inner{width:min(1280px,calc(100% - 96px));margin-inline:auto}
body.page-services .service-offering{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"photo intro" "details details";column-gap:56px;row-gap:38px;margin:0 0 104px;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent;align-items:center;scroll-margin-top:120px}
body.page-services .service-offering:nth-child(even){grid-template-areas:"intro photo" "details details"}
body.page-services .service-offering-photo{grid-area:photo;position:relative;display:block;width:100%;height:auto;aspect-ratio:3/2;margin:0;padding:0;overflow:hidden;border:0;border-radius:0;background:#edf0f4}
body.page-services .service-offering-photo>img{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;border-radius:0}
body.page-services .service-offering-intro{grid-area:intro;min-width:0;padding:20px 0}
body.page-services .service-offering-heading>span{display:block;margin:0 0 18px;color:#014153;font-size:11px;font-weight:700;line-height:1.4;letter-spacing:.15em}
body.page-services .service-offering-heading>h2{margin:0 0 22px;max-width:100%;font-size:clamp(30px,2.7vw,44px);font-weight:700;line-height:1.13;letter-spacing:-.025em;color:#014153;overflow-wrap:normal;hyphens:none}
body.page-services .service-offering-heading>p{margin:0;color:#526070;font-size:16px;line-height:1.8;max-width:580px}
body.page-services .service-offering-details{grid-area:details;display:flex;flex-direction:row;align-items:flex-start;gap:48px;width:100%;margin:0;padding:0;border:0;background:transparent}
body.page-services .service-offering-group{display:block;flex:1 1 0;min-width:0;margin:0;padding:0;border:0;background:transparent}
body.page-services .service-offering-group>h3{display:block;position:static;margin:0 0 14px;padding:0;min-height:0;color:#014153;font-size:17px;font-weight:600;line-height:1.5;letter-spacing:0}
body.page-services .service-offering-group>ul{display:flex;flex-direction:column;gap:9px;position:static;margin:0;padding:0;list-style:none;border:0}
body.page-services .service-offering-group>ul>li{display:block;margin:0;padding:0;border:0;color:#526070;font-size:15px;font-weight:400;line-height:1.65}
@media(max-width:1000px){body.page-services .service-offering{column-gap:32px;row-gap:30px}body.page-services .service-offering-details{gap:28px}body.page-services .service-offering-heading>h2{font-size:32px}}
@media(max-width:800px){
 body.page-services .services-catalog{padding-block:36px 8px}
 body.page-services .services-catalog-inner{width:calc(100% - 40px)}
 body.page-services .service-offering,body.page-services .service-offering:nth-child(even){grid-template-columns:minmax(0,1fr);grid-template-areas:"photo" "intro" "details";row-gap:24px;margin-bottom:64px}
 body.page-services .service-offering-intro{padding:0}
 body.page-services .service-offering-heading>h2{font-size:30px;margin-bottom:16px}
 body.page-services .service-offering-details{flex-direction:column;gap:24px}
 body.page-services .service-offering-group{flex:0 0 auto;width:100%}
 body.page-services .service-offering-group>h3{margin-bottom:9px}
}

/* Service sections: compact introduction and a clearly separated detail row. */
body.page-services .service-offering{overflow:hidden;border-radius:12px;background:#fff;border:1px solid #e1e5eb;column-gap:0;row-gap:0;margin-bottom:64px;align-items:stretch}
body.page-services .service-offering-photo{aspect-ratio:auto;height:clamp(280px,25vw,360px);min-height:0}
body.page-services .service-offering-intro{display:flex;align-items:center;padding:36px 40px;background:#f5f6f8}
body.page-services .service-offering-heading>span{display:flex;align-items:center;gap:12px;text-transform:uppercase;margin-bottom:18px}
body.page-services .service-offering-heading>span::before{content:"";display:block;flex:0 0 20px;width:20px;height:1px;background:currentColor}
body.page-services .service-offering-heading>h2{font-size:clamp(28px,2.4vw,38px);margin-bottom:18px;color:#014153}
body.page-services .service-offering-heading>p{font-size:16px;line-height:1.75;color:#4b5664}
body.page-services .service-offering-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:36px 40px 40px;box-sizing:border-box;gap:36px;border-top:1px solid #e1e5eb;background:#fff}
body.page-services .service-offering-group>h3{margin:0 0 16px;color:#014153;font-size:17px;font-weight:600;line-height:1.5}
body.page-services .service-offering-group>ul{gap:0}
body.page-services .service-offering-group>ul>li{padding:10px 0;border-bottom:1px solid #e8ebef;color:#4b5664}
body.page-services .service-offering-group>ul>li:first-child{padding-top:0}
body.page-services .service-offering-group>ul>li:last-child{border-bottom:0;padding-bottom:0}
@media(max-width:1000px) and (min-width:801px){body.page-services .service-offering-intro{padding:28px}body.page-services .service-offering-details{padding:30px 28px;gap:24px}}
@media(max-width:800px){
 body.page-services .services-catalog-inner{width:calc(100% - 40px)}
 body.page-services .service-offering,body.page-services .service-offering:nth-child(even){row-gap:0;margin-bottom:36px;border-radius:12px}
 body.page-services .service-offering-photo{aspect-ratio:3/2;height:auto}
 body.page-services .service-offering-intro{padding:28px 24px 30px}
 body.page-services .service-offering-heading>span{font-size:11px;letter-spacing:.15em;margin-bottom:16px}
 body.page-services .service-offering-heading>h2{font-size:clamp(28px,6.5vw,36px);line-height:1.15;letter-spacing:-.025em;margin-bottom:16px}
 body.page-services .service-offering-details{grid-template-columns:minmax(0,1fr);padding:28px 24px 32px;gap:28px}
 body.page-services .service-offering-group>h3{font-size:16px;margin-bottom:12px}
 body.page-services .service-offering-group>ul>li{font-size:14px;line-height:1.65;padding:9px 0}
}

/* Give the cover the same editorial transition used on the sectors page. */
body.page-services .services-editorial-intro{padding:88px 0;background:#eff0f2}
body.page-services .services-editorial-intro .section-intro{margin-bottom:0}
body.page-services .services-catalog{padding-top:64px}
@media(max-width:800px){body.page-services .services-editorial-intro{padding:76px 0 80px}body.page-services .services-editorial-intro .section-intro{gap:20px}body.page-services .services-catalog{padding-top:40px}}
