.dom-service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 24px;align-items:stretch}.dom-service-card{display:flex;flex-direction:column;min-width:0;padding-bottom:4px}.dom-service-card h3{font-family:var(--dom-heading-font);font-size:20px;font-weight:700;line-height:1.3;margin:16px 0 18px;overflow-wrap:anywhere}.dom-service-card h3 a{color:inherit;text-decoration:none}.dom-service-card h3 a:hover{text-decoration:underline;text-decoration-color:var(--dom-accent,#5E303A);text-underline-offset:5px}.dom-service-card-action{margin-top:auto}.dom-service-card-action .dom-button{width:100%;justify-content:space-between;color:#fff!important}.dom-service-no-photo{display:grid;place-items:center;height:100%;width:100%;background:#f4f1f2;color:var(--dom-accent,#5E303A);font-size:32px;letter-spacing:.1em}.dom-service-branch summary{display:flex;align-items:center;justify-content:space-between;gap:10px;cursor:pointer;padding:14px 16px;font-weight:600;color:var(--dom-accent,#5E303A);list-style:none;border-bottom:1px solid #e8e0e3}.dom-service-branch summary::-webkit-details-marker{display:none}.dom-service-branch[open]>summary>span{transform:rotate(180deg)}.dom-service-branch ul{padding-left:12px!important}.dom-service-branch ul a{font-size:14px}.dom-services-intro{margin-bottom:28px}.dom-service-page .dom-course-section:empty{display:none}
@media(max-width:1100px){.dom-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.dom-service-grid{grid-template-columns:1fr;gap:28px}.dom-service-card h3{font-size:20px}}
.dom-service-page>.dom-courses{padding:0}.dom-service-card .dom-course-photo{margin:0;flex-shrink:0}

.dom-service-layout-solo{grid-template-columns:minmax(0,1fr)}
.dom-service-page .dom-course-detail{min-width:0}
/* Service pages use a compact information layout and their own booking banner. */
.dom-service-page .dom-course-detail-head h1{margin-top:0}
.dom-service-page .dom-course-section{margin:22px 0}
.dom-service-booking{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,2fr);border:1px solid #e8e0e3;background:#fff;margin-top:28px;box-shadow:0 4px 20px #21171b08;scroll-margin-top:var(--dom-course-sticky-top,140px);font-family:var(--dom-body-font,Arial,sans-serif)}
.dom-service-booking-intro{padding:28px;background:var(--dom-cta-bg,#5E303A);color:#fff;display:flex;flex-direction:column;justify-content:center;gap:18px}
.dom-service-page .dom-service-booking-intro h2{margin:0;color:#fff;font-family:var(--dom-heading-font);font-size:clamp(24px,1.8vw,26px);font-weight:600;line-height:1.2;overflow-wrap:normal}
.dom-service-booking-intro>span{display:block;width:42px;height:1px;background:#ffffff80}
.dom-service-booking-fields{padding:26px 30px;min-width:0}
.dom-service-page .dom-service-booking-fields h3{margin:0 0 18px;font-family:var(--dom-heading-font,Arial,sans-serif);font-size:22px;font-weight:600;line-height:1.25}
.dom-service-booking-inputs{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:18px}
.dom-service-booking-form label{font-size:14px;line-height:1.4;min-width:0}
.dom-service-booking-inputs label{display:flex;flex-direction:column;gap:8px}
.dom-service-booking-inputs input{box-sizing:border-box;width:100%;min-width:0;border:1px solid #d9c9cd;background:#fff;color:#171717;padding:13px 14px;font:inherit;min-height:48px;border-radius:0}
.dom-service-booking-inputs input:focus-visible{outline:2px solid var(--dom-cta-bg,#5E303A);outline-offset:2px}
.dom-service-booking-bottom{display:flex;align-items:center;gap:20px;justify-content:space-between;margin-top:18px}
.dom-service-booking-consent{display:flex;align-items:flex-start;gap:9px;flex:1}
.dom-service-booking-consent input{width:16px;height:16px;margin:2px 0 0;flex-shrink:0;accent-color:var(--dom-cta-bg,#5E303A)}
.dom-service-booking-consent a{color:var(--dom-cta-bg,#5E303A);text-underline-offset:3px}
.dom-service-booking-bottom .dom-button{min-height:46px;padding:12px 20px;gap:24px;white-space:nowrap;background:var(--dom-cta-bg,#5E303A);color:#fff!important}
.dom-service-booking-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.dom-service-booking .dom-form-status{margin:12px 0 0;font-size:13px;line-height:1.45}.dom-service-booking .dom-form-status:empty{display:none}
@media(max-width:1100px){.dom-service-booking{grid-template-columns:minmax(260px,.75fr) minmax(0,2fr)}.dom-service-booking-bottom{flex-wrap:wrap}}
@media(max-width:680px){.dom-service-page .dom-course-detail-head h1{font-size:28px}.dom-service-booking{grid-template-columns:1fr}.dom-service-booking-intro{padding:22px}.dom-service-booking-fields{padding:22px}.dom-service-booking-inputs{grid-template-columns:1fr}.dom-service-booking-bottom{align-items:stretch;flex-direction:column;gap:16px}.dom-service-booking-bottom .dom-button{width:100%;justify-content:space-between}}

/* The service hierarchy uses the same parent relation in the menu and the page. */
.dom-service-branch[data-service-active=true]>summary{border-left:2px solid var(--dom-accent,#5E303A)}
.dom-service-page .dom-service-branch>summary{font-size:15px;font-weight:500;color:var(--dom-text,#171717);background:#fff}
.dom-service-page .dom-service-branch>ul{padding-left:12px!important;border:0}
.dom-service-children{margin:24px 0 22px}
.dom-service-page .dom-service-children>h2{font-family:var(--dom-heading-font);font-size:24px;line-height:1.25;font-weight:600;margin:0 0 16px}
.dom-service-child-list{display:grid;gap:14px}
.dom-service-child-card{display:grid;grid-template-columns:180px minmax(0,1fr) auto;align-items:center;gap:22px;padding:12px;border:1px solid #e1dadd;background:#fff;min-width:0}
.dom-service-child-photo{display:block;height:100px;overflow:hidden}.dom-service-child-photo picture,.dom-service-child-photo img{display:block;width:100%;height:100%;object-fit:cover}
.dom-service-child-copy{min-width:0}.dom-service-page .dom-service-child-copy h3{font-family:var(--dom-heading-font);font-size:20px;line-height:1.3;font-weight:600;margin:0;overflow-wrap:anywhere}.dom-service-child-copy h3 a{color:inherit;text-decoration:none}.dom-service-child-copy h3 a:hover{text-decoration:underline;text-decoration-color:var(--dom-accent,#5E303A);text-underline-offset:4px}.dom-service-child-copy p{font-size:15px;line-height:1.5;color:#666;margin:8px 0 0}
.dom-service-child-card>.dom-button{white-space:nowrap;min-height:46px;margin:0;padding:12px 22px;color:#fff!important;background:var(--dom-cta-bg,#5E303A)}
@media(max-width:1100px){.dom-service-child-card{grid-template-columns:140px minmax(0,1fr) auto;gap:16px}.dom-service-child-card>.dom-button{padding:12px 16px}}
@media(max-width:680px){.dom-service-child-card{grid-template-columns:minmax(0,1fr);gap:14px;padding:14px}.dom-service-child-photo{height:auto;aspect-ratio:2/1}.dom-service-child-card>.dom-button{width:100%;justify-content:space-between}.dom-service-page .dom-service-children>h2{font-size:22px}}

/* The section name navigates; the remaining summary area toggles its children. */
body.dom-theme .dom-service-branch>summary {padding:0;gap:0;}
body.dom-theme .dom-service-branch>summary>a.dom-service-parent-link {display:block;flex:1;min-width:0;margin:0;padding:14px 16px;border:0;background:transparent;color:inherit;font:inherit;text-decoration:none;}
body.dom-theme .dom-service-branch>summary>a.dom-service-parent-link:hover {text-decoration:underline;text-underline-offset:4px;}
body.dom-theme .dom-service-branch>summary>a.dom-service-parent-link:focus-visible {outline:2px solid var(--dom-accent,#5E303A);outline-offset:-3px;}
body.dom-theme .dom-service-branch>summary>span {display:grid;place-items:center;flex:0 0 44px;min-height:44px;}

/* Consistent root navigation, regardless of whether a service has children. */
body.dom-theme .dom-service-page .dom-course-sidebar nav>ul>li>a,
body.dom-theme .dom-service-page .dom-course-sidebar nav>ul>li>.dom-service-branch>summary,
body.dom-theme .dom-service-page .dom-course-sidebar nav>ul>li>.dom-service-branch>summary>a.dom-service-parent-link {
 font-family:var(--dcf-body,var(--dom-body-font,sans-serif))!important;
 font-size:15px; font-weight:500!important; line-height:1.5; color:var(--dom-text,#171717);
}
body.dom-theme .dom-service-page .dom-course-sidebar nav>ul>li>a {padding:14px 16px;border-left-width:0;}
body.dom-theme .dom-service-page .dom-course-sidebar nav>ul>li>a>span[aria-hidden] {display:none;}
body.dom-theme .dom-service-card h3 {text-align:center;font-family:var(--dcf-body,var(--dom-heading-font,sans-serif))!important;font-weight:500!important;line-height:1.4;margin:16px 0 4px;}
body.dom-theme .dom-service-card h3 a {font:inherit!important;}

/* The full services menu scrolls with the document, not inside a fixed panel. */
body.dom-theme .dom-service-page .dom-course-sidebar {position:static!important;top:auto!important;align-self:start;}
body.dom-theme .dom-service-page .dom-course-sidebar nav {max-height:none!important;height:auto;overflow:visible!important;overscroll-behavior:auto;}

/* 1.8.118: consultation navigation follows the course catalogue typography. */
body.dom-theme .dom-service-page .dom-course-sidebar nav>ul>li>a,
body.dom-theme .dom-service-page .dom-course-sidebar nav>ul>li>.dom-service-branch>summary,
body.dom-theme .dom-service-page .dom-course-sidebar nav>ul>li>.dom-service-branch>summary>a.dom-service-parent-link {
 font-family:var(--dom-body-font,Arial,sans-serif)!important;
 font-size:15px;font-weight:400!important;line-height:1.5;color:#444;
}
body.dom-theme .dom-service-page .dom-course-sidebar nav>ul>li>a {padding:18px 20px;border-left:3px solid transparent;}
body.dom-theme .dom-service-page .dom-service-branch>summary>a.dom-service-parent-link {padding:18px 20px;border-left:3px solid transparent;}
body.dom-theme .dom-service-page .dom-course-sidebar nav a:hover {color:var(--dom-cta-bg,#5E303A);}
body.dom-theme .dom-service-card h3 {font-family:var(--dom-body-font,Arial,sans-serif)!important;font-size:20px;font-weight:700!important;line-height:1.3;color:var(--dom-cta-bg,#5E303A);}
body.dom-theme.dom-font-collection .dom-service-card h3 {font-weight:600!important;}
body.dom-theme .dom-service-card h3 a {color:var(--dom-cta-bg,#5E303A);}
@media(max-width:680px){body.dom-theme .dom-service-card h3 {font-size:22px;}}
