/* A service explorer: page-local styling, original CMS photographs. */
.service-heading, .service-explorer { --service-rail:22%; --service-gap:64px; }
.service-heading { display:grid; grid-template-columns:minmax(260px,var(--service-rail)) minmax(0,1fr); gap:var(--service-gap); align-items:center; padding:54px 0 17px; border-bottom:1px solid var(--border-color); }
.service-heading h1 { font-size:72px; line-height:1.15; font-weight:250; letter-spacing:-.055em; }
.service-heading > p { font-size:22px; line-height:1.45; font-weight:350; letter-spacing:-.035em; }
.service-heading__hint { display:block; }
.service-explorer { display:grid; grid-template-columns:minmax(260px,var(--service-rail)) minmax(0,1fr); gap:var(--service-gap); align-items:start; padding:32px 0 48px; }
.service-picker { display:flex; flex-direction:column; flex-wrap:nowrap; justify-content:flex-start; gap:0; min-width:0; }
.service-picker__item { display:grid; grid-template-columns:30px minmax(0,1fr) 22px; align-items:center; gap:18px; min-height:73px; padding:14px 25px; border-bottom:1px solid var(--border-color); color:#000; font-size:22px; line-height:1.4; font-weight:400; letter-spacing:-.04em; text-decoration:none; transition:background .15s,color .15s; }
.service-picker__item:hover { background:#f5f5f5; }
.service-picker__item::after { display:none; }
.service-picker__number { font-size:15px; font-weight:350; letter-spacing:0; }
.service-picker__item .public-arrow { opacity:0; }
.service-picker__item[aria-selected="true"] { background:#000; border-color:#000; color:#fff; }
.service-picker__item[aria-selected="true"] .public-arrow { opacity:1; }
.service-picker__item:focus-visible { outline-offset:-4px; }
.service-explorer__content { min-width:0; }
.service-panel { min-width:0; min-height:680px; scroll-margin-top:calc(var(--header-height) + 24px); }
.service-panel[hidden], .service-select[hidden] { display:none!important; }
.service-explorer:not(.is-enhanced) .service-panel + .service-panel { padding-top:48px; margin-top:48px; border-top:1px solid var(--border-color); }
.service-panel__figure { margin:0; }
.service-panel__photo, .service-panel__media { display:block; }
.service-panel__media { width:100%; aspect-ratio:1.9; overflow:hidden; }
.service-panel__media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; filter:none; transition:transform .25s; }
.service-panel__photo:hover img { transform:scale(1.01); }
.service-panel__caption { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px 24px; min-height:38px; padding-top:4px; }
.service-panel__caption > p { color:#666; font-size:14px; line-height:1.5; }
.service-panel__zoom { display:inline-flex; align-items:center; gap:16px; min-height:34px; margin-left:auto; border-bottom:1px solid #000; font-size:16px; line-height:1.4; color:#000; }
.service-panel__zoom svg { width:20px; height:20px; }
.service-panel__summary { display:flex; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; gap:24px 36px; margin-top:28px; }
.service-panel__copy { min-width:0; }
.service-panel__copy h2 { font-size:42px; line-height:1.35; font-weight:300; letter-spacing:-.045em; }
.service-panel__copy > p { color:#555; font-size:22px; line-height:1.65; font-weight:350; letter-spacing:-.035em; margin-top:4px; overflow-wrap:anywhere; }
.service-panel__actions { margin:0; gap:36px; }
.service-panel__actions .public-button { min-height:54px; padding:12px 30px; gap:28px; font-size:18px; font-weight:400; }
.service-panel__actions .public-text-link { font-size:18px; gap:30px; }
.service-select { display:none; }
.service-panel--text { padding:50px 36px 30px; }
.service-panel--text .service-panel__summary { display:block; margin:0; }
.service-panel--text .service-panel__copy h2 { font-size:80px; line-height:1.35; font-weight:250; }
.service-panel--text .service-panel__copy > p { max-width:510px; margin-top:14px; color:#000; font-size:36px; line-height:1.6; font-weight:300; text-wrap:balance; }
.service-panel__guidance { position:relative; margin-top:84px; padding-top:22px; }
.service-panel__guidance::before { content:''; position:absolute; top:0; left:0; width:66px; border-top:1px solid #000; }
.service-panel__guidance h3 { font-size:22px; line-height:1.5; font-weight:400; letter-spacing:-.035em; }
.service-panel__guidance p { color:#555; font-size:20px; line-height:1.6; font-weight:350; margin-top:3px; }
.service-panel--text .service-panel__actions { flex-direction:column; align-items:flex-start; margin-top:48px; gap:16px; }
.service-panel--text .public-button { min-height:64px; padding-left:32px; padding-right:32px; }
@media (max-width:1200px) {
    .service-heading, .service-explorer { --service-gap:40px; grid-template-columns:240px minmax(0,1fr); }
    .service-heading h1 { font-size:52px; }
    .service-heading > p { font-size:19px; }
    .service-picker__item { font-size:19px; gap:10px; padding:12px 16px; min-height:65px; }
    .service-panel { min-height:590px; }
    .service-panel__copy h2 { font-size:34px; }
    .service-panel__summary { gap:20px; }
    .service-panel--text { padding:32px 8px; }
    .service-panel--text .service-panel__copy h2 { font-size:64px; }
    .service-panel--text .service-panel__copy > p { font-size:30px; }
    .service-panel__guidance { margin-top:60px; }
}
@media (max-width:767px) {
    .service-heading { display:block; padding:26px 0 18px; border:0; }
    .service-heading h1 { font-size:40px; line-height:1.3; font-weight:300; }
    .service-heading > p { font-size:17px; line-height:1.65; margin-top:10px; }
    .service-heading__hint { display:none; }
    .service-explorer { display:block; padding:0 0 48px; }
    .service-explorer.is-enhanced .service-picker { display:none; }
    .service-picker { margin-bottom:30px; }
    .service-explorer.is-enhanced .service-select { display:block; margin-bottom:24px; }
    .service-select label { display:block; font-size:14px; line-height:1.5; margin-bottom:8px; }
    .service-select__control { position:relative; }
    .service-select select { appearance:none; -webkit-appearance:none; display:block; width:100%; min-height:48px; border:1px solid var(--border-color); border-bottom:1px solid #000; border-radius:0; background:#fff; color:#000; padding:10px 48px 10px 14px; font:400 18px/1.5 var(--display-font); letter-spacing:-.035em; }
    .service-select__control svg { position:absolute; right:14px; top:50%; width:22px; height:22px; transform:translateY(-50%); pointer-events:none; }
    .service-panel { min-height:0; }
    .service-panel__media { aspect-ratio:4/3; }
    .service-panel__caption { min-height:36px; gap:6px 12px; }
    .service-panel__caption > p { font-size:12px; }
    .service-panel__zoom { font-size:14px; gap:12px; min-height:36px; }
    .service-panel__summary { display:block; margin-top:14px; }
    .service-panel__copy h2 { font-size:28px; line-height:1.4; }
    .service-panel__copy > p { font-size:17px; line-height:1.65; margin-top:4px; }
    .service-panel__actions { display:flex; flex-direction:column; align-items:stretch; margin-top:14px; gap:8px; }
    .service-panel__actions .public-button { justify-content:space-between; min-height:46px; padding:10px 18px; font-size:17px; }
    .service-panel__actions .public-text-link { font-size:17px; min-height:44px; padding-left:10px; padding-right:10px; }
    .service-panel--text { padding:10px 0 14px; }
    .service-panel--text .service-panel__copy h2 { font-size:42px; }
    .service-panel--text .service-panel__copy > p { font-size:24px; margin-top:12px; }
    .service-panel__guidance { margin-top:36px; padding-top:18px; }
    .service-panel__guidance h3 { font-size:18px; }
    .service-panel__guidance p { font-size:17px; }
    .service-panel--text .service-panel__actions { align-items:stretch; margin-top:28px; gap:12px; }
}
@media (prefers-reduced-motion:reduce) {
    .service-picker__item, .service-panel__media img { transition:none; }
}
