/* Extends the exact final core CSS. Scope is limited to opted-in service layouts. */
.sl-service .rb-content{max-width:none;margin:0;padding:0;background:transparent;color:var(--rb-ink);font-family:var(--rb-body-font);border:0;border-radius:0}
.sl-service .rb-content :is(h2,h3){font-family:var(--rb-heading-font);color:var(--rb-ink);font-weight:600;letter-spacing:-.035em;text-wrap:balance}
.sl-service .rb-content h2{font-size:clamp(1.8rem,2.8vw,2.8rem);line-height:1.18;margin:0 0 28px}
.sl-service .rb-content h3{font-size:1.18rem;line-height:1.4;margin:0 0 14px;letter-spacing:-.02em}
.sl-service .rb-content p{font-size:.94rem;line-height:1.85;color:var(--rb-muted)}
.sl-service .rb-content a:not(.rb-button-link):not(.rb-content__primary){text-underline-offset:4px}
.sl-service .rb-content a:hover{text-decoration:underline}
.sl-service .sl-opening{padding-top:155px}
.sl-service .sl-opening-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(36px,6vw,86px);align-items:center}
.sl-service .sl-opening :is(.service-hero,.page-hero){min-height:0!important;height:auto!important;max-height:none!important;padding:0!important;margin:0!important;background:transparent!important;color:var(--rb-ink)!important;overflow:visible!important;display:block!important;position:static!important;text-align:left!important}
.sl-service .sl-opening :is(.service-hero,.page-hero)::before,.sl-service .sl-opening :is(.service-hero,.page-hero)::after{display:none!important}
.sl-service .sl-opening :is(.container,.service-hero-content,.page-hero-content,.breadcrumb-bar){width:100%!important;max-width:none!important;min-height:0!important;margin:0!important;padding:0!important;background:transparent!important;text-align:left!important;position:static!important;transform:none!important;opacity:1!important}
.sl-service .sl-opening .breadcrumb{justify-content:flex-start!important;flex-wrap:wrap;gap:8px;font-size:.69rem;margin-bottom:28px!important;color:var(--rb-muted)!important}
.sl-service .sl-opening .breadcrumb *{color:var(--rb-muted)!important;text-shadow:none!important}
.sl-service .sl-opening h1{font:600 clamp(2.35rem,3.8vw,4.05rem)/1.1 var(--rb-heading-font)!important;letter-spacing:-.055em!important;color:var(--rb-ink)!important;margin:0 0 25px!important;max-width:19ch!important;text-shadow:none!important;text-wrap:balance}
.sl-service .sl-opening :is(p,.service-hero-sub,.page-hero-subtitle){font:400 .95rem/1.85 var(--rb-body-font)!important;color:var(--rb-muted)!important;max-width:52ch!important;margin:0 0 20px!important;text-shadow:none!important}
.sl-service .sl-opening :is(.section-eyebrow,.page-hero-label,.hero-eyebrow){font-size:.7rem!important;color:var(--rb-muted)!important;background:transparent!important;letter-spacing:.1em!important}
.sl-service .sl-opening :is(.service-hero-actions,.page-hero-actions,.hero-actions){display:flex!important;flex-wrap:wrap;gap:14px 20px;margin:24px 0 0!important}
.sl-service .sl-opening :is(a.btn,a.button){font:500 .79rem/1.5 var(--rb-body-font)!important;text-shadow:none!important;box-shadow:none!important;border-radius:5px!important;min-height:48px;padding:13px 18px!important;background:var(--rb-ink)!important;color:var(--rb-on-ink)!important;border:1px solid var(--rb-ink)!important}
.sl-service .sl-opening a[href^="tel:"]{color:var(--rb-ink)!important;background:transparent!important;border:0!important;padding-inline:0!important;font-size:.82rem!important}
.sl-service .sl-outcome-lead{margin-top:34px;padding-top:28px;border-top:1px solid var(--rb-line)}
.sl-service .sl-outcome-lead .rb-content__outcome,.sl-service .sl-outcome-lead .rb-content__block{margin:0;padding:0;border:0;background:transparent;border-radius:0;box-shadow:none}
.sl-service .sl-outcome-lead h2{font-size:1.43rem;letter-spacing:-.025em;margin-bottom:16px;line-height:1.3}
.sl-service .sl-opening-photo{margin:0;align-self:center}
.sl-service .sl-opening-photo>div{display:flex;align-items:center;justify-content:center;border-radius:22px;overflow:hidden;background:var(--rb-soft);min-height:330px}
.sl-service .sl-opening-photo img{display:block;width:100%;height:auto;max-height:640px;object-fit:contain}
.sl-service .sl-opening-photo figcaption{font-size:.73rem;line-height:1.6;margin-top:16px;color:var(--rb-muted)}
.sl-service .sl-credit{display:block;font-size:.66rem;margin-top:6px}
.sl-service .sl-credit a{text-decoration:underline}
.sl-service .sl-page-nav{display:flex;gap:30px;flex-wrap:wrap;margin-top:44px;padding:15px 0;border-block:1px solid var(--rb-line);font-size:.76rem}
.sl-service .sl-page-nav a{display:inline-flex;align-items:center;min-height:44px}
.sl-service .sl-considerations{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px;padding-block:65px 80px}
.sl-service .sl-considerations .rb-content__block{padding:0;border:0;background:transparent;border-radius:0;box-shadow:none}
.sl-service .sl-considerations h3{font-size:1.12rem}
.sl-service .sl-considerations p{font-size:.88rem}
.sl-service .sl-scope-band{background:var(--rb-soft);padding-block:75px}
.sl-service .rb-content__section{margin:0;padding:0;border:0;background:transparent}
.sl-service .rb-content__columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px}
.sl-service .rb-content__columns>.rb-content__block{padding:25px 0 0;border:0;border-top:1px solid var(--rb-line);border-radius:0;background:transparent;box-shadow:none}
.sl-service .rb-content__scope>.rb-content__intro{max-width:800px;margin:0 0 35px;font-size:.81rem}
.sl-service .rb-content__options{margin-top:70px}
.sl-service .sl-location{padding-block:45px 0}
.sl-service .sl-location .rb-content__section{max-width:none}
.sl-service .sl-location h2{font-size:1.6rem;margin-bottom:20px}
.sl-service .sl-location :is(ul,p){font-size:.87rem;line-height:1.9}
.sl-service .sl-location ul{display:flex;flex-wrap:wrap;gap:12px 28px;list-style:none;margin:20px 0 0;padding:0}
.sl-service .sl-location a{display:inline-block;min-height:32px;text-decoration:underline}
.sl-service .rb-reviews{margin-top:68px}
.sl-service .sl-process{padding-block:85px}
.sl-service .rb-content__process .rb-content__columns{display:block;counter-reset:sl-step}
.sl-service .rb-content__process .rb-content__block{display:grid;grid-template-columns:55px .85fr 1.4fr;gap:30px;padding:29px 0;align-items:start;counter-increment:sl-step}
.sl-service .rb-content__process .rb-content__block::before{content:counter(sl-step,decimal-leading-zero);font:500 .78rem/1.8 var(--rb-body-font);color:var(--rb-muted)}
.sl-service .rb-content__process .rb-content__block>h3{margin:0;font-size:1.25rem}
.sl-service .rb-content__process .rb-content__block>p{margin:0}
.sl-service .rb-content__preparation{margin-top:65px}
.sl-service .sl-checklist{margin-top:36px}
.sl-service .sl-faq-contact{display:grid;grid-template-columns:1.25fr .75fr;gap:65px;align-items:start;padding-bottom:65px}
.sl-service .sl-faq-contact>.rb-content__section{max-width:none}
.sl-service .rb-faq{display:block;margin:0;border-top:1px solid var(--rb-line)}
.sl-service .rb-faq__item{border:0;border-bottom:1px solid var(--rb-line);border-radius:0;background:transparent;box-shadow:none;margin:0}
.sl-service .rb-faq__question{padding:20px 0;min-height:64px;font:500 .91rem/1.55 var(--rb-body-font);color:var(--rb-ink);cursor:pointer}
.sl-service .rb-faq__question::marker{color:var(--rb-ink)}
.sl-service .rb-faq__answer{padding:0 0 26px}
.sl-service .rb-faq__answer p{font-size:.89rem}
.sl-service .rb-content__references{display:block;margin-top:13px;font-size:.71rem;line-height:1.7}
.sl-service .rb-content__source{display:inline;text-decoration:underline}
.sl-service .sl-contact-card{padding:37px;border-radius:22px;background:var(--rb-ink);color:var(--rb-on-ink)}
.sl-service .sl-contact-card :is(h2,p,.rb-kicker){color:var(--rb-on-ink)}
.sl-service .sl-contact-card h2{font-size:2rem;margin-bottom:22px}
.sl-service .sl-contact-card p{font-size:.86rem}
.sl-service .sl-contact-card .rb-button-link{background:var(--rb-paper);color:var(--rb-ink);font-size:.81rem;margin-top:28px;gap:24px}
.sl-service .sl-contact-card :is(a,button):focus-visible{outline-color:var(--rb-paper)}
.sl-service .sl-phone{display:inline-flex;align-items:center;min-height:48px;font-size:.9rem;font-weight:500;margin-top:15px}
.sl-service .sl-disclosure{border:1px solid var(--rb-line);border-radius:13px;background:transparent;padding:0 26px}
.sl-service .sl-disclosure>summary{cursor:pointer;min-height:64px;padding:21px 0;font:500 .9rem/1.5 var(--rb-body-font);color:var(--rb-ink)}
.sl-service .sl-disclosure[open]>summary{border-bottom:1px solid var(--rb-line);margin-bottom:25px}
.sl-service .sl-disclosure[open]{padding-bottom:26px}
.sl-service .sl-disclosure .container{width:100%!important;max-width:none!important;padding-inline:0!important}
.sl-service .sl-support{padding-bottom:55px}
.sl-service .sl-support .rb-content__related{padding:0;margin:0 0 28px;background:transparent;border:0}
.sl-service .sl-support .rb-content__related h2{font-size:1.5rem}
.sl-service .sl-support .rb-content__related ul{display:flex;gap:14px 28px;flex-wrap:wrap;padding:0;list-style:none}
.sl-service .sl-original-context :is(.service-content,.content-section){padding:25px 0!important;margin:0!important;background:transparent!important;border:0!important}
.sl-service .sl-original-context :is(.service-layout,.service-page-layout){display:block!important}
.sl-service .sl-original-context :is(.service-sidebar,.service-page-sidebar){position:static!important;width:100%!important;max-width:none!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px!important;padding:0!important}
.sl-service .sl-original-context :is(.service-article,.service-page-main){margin:0!important;padding:0!important}
.sl-service .sl-support :is(h2,h3){font-size:1.2rem!important;color:var(--rb-ink)!important}
.sl-service .sl-support p{font-size:.86rem!important;color:var(--rb-muted)!important}
.sl-service .sl-original-actions{margin-top:28px;padding-top:25px;border-top:1px solid var(--rb-line)}
.sl-service .sl-original-actions :is(.service-hero-actions,.page-hero-ctas,.page-hero-actions,.hero-actions){display:flex;gap:15px;flex-wrap:wrap}
.sl-service .sl-original-actions a.btn{background:var(--rb-soft)!important;color:var(--rb-ink)!important;border:1px solid var(--rb-line)!important;box-shadow:none!important;min-height:44px;padding:12px 18px;font-size:.8rem}
.sl-service .sl-support :is(.mid-cta-banner,.cta-section,.cta-inner){background:var(--rb-soft)!important;color:var(--rb-ink)!important;box-shadow:none!important;border-radius:12px!important;padding:25px!important;margin:25px 0!important}
.sl-service .sl-support :is(.mid-cta-banner,.cta-section,.cta-inner) :is(a,span){color:var(--rb-ink)!important}
.sl-service .sl-support .brand-rail,.sl-service .sl-support .trusted-by{margin:30px 0!important;padding:25px 0!important;background:var(--rb-soft)!important}
.sl-service .sl-checklist .service-process{padding:10px 0!important;background:transparent!important;margin:0!important}
.sl-service .sl-checklist .section-header{text-align:left!important;margin-bottom:24px!important}
.sl-service .sl-checklist :is(h2,h3){font-size:1.2rem!important;color:var(--rb-ink)!important}
.sl-service .sl-checklist .process-steps{gap:30px!important}
.sl-service .sl-checklist .process-step{padding:0!important;background:transparent!important;box-shadow:none!important}
.sl-service .sl-enquire{display:grid;grid-template-columns:1fr 1fr;gap:65px;padding-block:50px 55px;border-top:1px solid var(--rb-line)}
.sl-service .sl-enquire h2{font-size:clamp(2rem,3vw,3rem)}
.sl-service .sl-enquire .rb-content__cta{margin:0;padding:0;border:0;background:transparent;border-radius:0;display:block}
.sl-service .sl-enquire .rb-content__primary{display:inline-flex;align-items:center;min-height:50px;background:var(--rb-ink);color:var(--rb-on-ink);font-size:.86rem;padding:14px 22px;border-radius:5px;text-decoration:none;border:0}
.sl-service .sl-enquire .rb-content__cta p{margin-top:22px;max-width:53ch;font-size:.82rem}
.sl-service .sl-calendar{background:var(--rb-soft)}
.sl-service .sl-calendar>p{font-size:.87rem;margin:0 0 26px}
.sl-service .sl-calendar .service-booking{margin:0!important;padding:0!important;background:transparent!important}
/* Preserve mount bytes and runtime contract while hiding obsolete static booking prompts. */
.sl-service .sl-calendar .booking-section-header,.sl-service .sl-calendar .booking-calendar-widget>h3:first-child,.sl-service .sl-calendar .booking-calendar-widget>p:nth-child(2){display:none}
.sl-service :is(section,details,[id]){scroll-margin-top:150px}
@media(max-width:1050px){.sl-service .sl-opening-grid{gap:35px}.sl-service .sl-considerations,.sl-service .rb-content__columns{gap:25px}.sl-service .sl-faq-contact{grid-template-columns:1.15fr .85fr;gap:35px}.sl-service .sl-contact-card{padding:26px}.sl-service .sl-original-context :is(.service-sidebar,.service-page-sidebar){grid-template-columns:1fr 1fr}.sl-service .rb-content__process .rb-content__block{grid-template-columns:35px .8fr 1.2fr;gap:20px}}
@media(max-width:760px){.sl-service .sl-opening{padding-top:145px}.sl-service .sl-opening-grid{grid-template-columns:1fr;gap:32px}.sl-service .sl-opening h1{font-size:clamp(2.2rem,9vw,3.2rem)!important;max-width:20ch!important}.sl-service .sl-opening-photo>div{min-height:0}.sl-service .sl-opening-photo img{max-height:490px}.sl-service .sl-page-nav{gap:6px 23px;margin-top:30px}.sl-service .sl-considerations{grid-template-columns:1fr;gap:30px;padding-block:40px 55px}.sl-service .sl-scope-band{padding-block:52px}.sl-service .rb-content__columns{grid-template-columns:1fr;gap:26px}.sl-service .rb-content__options{margin-top:48px}.sl-service .sl-process{padding-block:55px}.sl-service .rb-content__process .rb-content__block{grid-template-columns:32px 1fr;gap:15px}.sl-service .rb-content__process .rb-content__block>p{grid-column:2}.sl-service .rb-content__preparation{margin-top:45px}.sl-service .sl-faq-contact,.sl-service .sl-enquire{grid-template-columns:1fr;gap:30px}.sl-service .sl-faq-contact{padding-bottom:45px}.sl-service .sl-disclosure{padding-inline:18px}.sl-service .sl-original-context :is(.service-sidebar,.service-page-sidebar){grid-template-columns:1fr}.sl-service .sl-location ul{display:block}.sl-service .sl-location li{margin:9px 0}.sl-service .sl-enquire{padding-block:38px 40px}.sl-service .sl-support{padding-bottom:38px}}
@media(prefers-reduced-motion:reduce){.sl-service *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Final integration fixes, scoped to rebuilt service pages. */
[data-rb-brand="DDPM"] .sl-service .sl-opening{padding-top:55px}
.sl-service .sl-calendar{padding-inline:0}
.sl-service .sl-calendar>summary,.sl-service .sl-calendar>p{margin-inline:26px}
.sl-service .sl-calendar .booking-calendar-widget{width:100%!important;max-width:100%!important;left:auto!important;right:auto!important;margin:0!important}
.sl-service .sl-calendar .dd-stage{border-radius:0 0 12px 12px!important}
.sl-service .sl-calendar .dd-c{padding:32px;min-width:0;grid-template-columns:minmax(0,1fr)}
.sl-service .sl-calendar :is(.dd-l,.dd-r,.dd-form,.dd-head){min-width:0;max-width:100%}
.sl-service .sl-calendar .dd-head h2{font-size:21px;line-height:1.25;letter-spacing:-.02em;margin:0;color:#fff}
.sl-service .sl-calendar .dd-l .dd-sub{font-size:15.5px;line-height:1.6;color:#e1e7ee}
.sl-service .sl-calendar h3.dd-form-h{font-size:12px;line-height:1.5;letter-spacing:.08em;margin:0;color:#fff;opacity:1;gap:12px;flex-wrap:wrap}
.sl-service .sl-calendar h3.dd-form-h small{color:#e1e7ee;opacity:1}
.sl-service .sl-calendar .dd-svc button.dd-sel .dd-svc-tick{background:#fff!important;border-color:#fff!important;color:#0f2540!important}
.sl-service .sl-calendar .dd-times-h{flex-wrap:wrap;gap:10px}
.sl-service .sl-calendar .dd-times-nav{flex-shrink:0}
.sl-service .sl-calendar .dd-cal-h{flex-wrap:wrap;gap:10px}
.sl-service .sl-calendar .dd-week-nav{flex-shrink:0}
.sl-service .sl-calendar .dd-svc{grid-template-columns:repeat(2,minmax(0,1fr))}
.sl-service .sl-calendar .dd-svc button{min-width:0}
.sl-service .sl-calendar .dd-svc-name{white-space:normal;overflow-wrap:break-word}
.sl-service .sl-calendar :is(.dd-input,.dd-textarea){background:#25384c!important;color:#fff!important;border:1px solid #9aaabd!important}
.sl-service .sl-calendar :is(.dd-input,.dd-textarea)::placeholder{color:#cbd5e1!important;opacity:1}
.sl-service .sl-calendar .dd-r{background:#172c45!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}
.sl-service .sl-calendar .dd-ov{background:rgba(15,37,64,.9)!important}
.sl-service .sl-calendar .dd-req{color:#ffacac}
.sl-service .sl-calendar .dd-svc .dd-pr{color:#e1e7ee;opacity:1}
.sl-service .sl-calendar .dd-svc button.dd-sel .dd-pr{color:#40516a}
.sl-service .sl-checklist .step-number{background:var(--rb-ink)!important;color:var(--rb-on-ink)!important}
.sl-service .sl-support a.btn{background:var(--rb-paper)!important;color:var(--rb-ink)!important;border-color:var(--rb-ink)!important}
@media(max-width:760px){
  [data-rb-brand="DDPM"] .sl-service .sl-opening{padding-top:38px}
  .sl-service .sl-calendar>summary,.sl-service .sl-calendar>p{margin-inline:18px}
  .sl-service .sl-calendar .dd-c{padding:16px}
  .sl-service .sl-calendar .dd-r{padding:16px}
  .sl-service .sl-calendar .dd-l-title{overflow-wrap:break-word}
}
@media(max-width:390px){
  .sl-service .sl-calendar .dd-row2{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:600px){.sl-service .sl-calendar .dd-svc{grid-template-columns:minmax(0,1fr)}}
