.cw-contact.ic-contact{--cw-ink:var(--rb-ink)!important;--cw-tint:var(--rb-paper)!important;background:var(--rb-paper);color:var(--rb-ink);font-family:var(--rb-body-font);padding-bottom:65px}
.ic-contact *{min-width:0;box-sizing:border-box}
.ic-contact .cw-inner{width:min(1280px,calc(100% - 112px));max-width:none;margin-inline:auto}
.ic-contact :is(h1,h2,h3){font-family:var(--rb-heading-font)!important;color:var(--rb-ink)!important;font-weight:600!important;letter-spacing:-.04em}
.ic-contact p{color:var(--rb-muted)!important;font-family:var(--rb-body-font);font-size:.91rem!important;line-height:1.85!important}
.ic-contact .cw-hero{padding:150px 0 55px;background:var(--rb-paper);border:0}
.ic-contact .ic-opening{display:grid;grid-template-columns:1.15fr .85fr;gap:75px;align-items:center}
.ic-contact .cw-hero h1{font-size:clamp(2.4rem,4vw,4.1rem);line-height:1.1;max-width:18ch;margin-bottom:25px}
.ic-contact .cw-eyebrow{font-size:.7rem!important;letter-spacing:.12em;margin-bottom:22px}
.ic-contact .cw-lead{max-width:52ch;margin-bottom:24px}
.ic-contact .cw-primary{background:var(--rb-ink);color:var(--rb-on-ink)!important;padding:14px 23px;min-height:50px;font:500 .84rem/1.5 var(--rb-body-font);border-radius:5px}
.ic-contact .cw-channels{margin-top:25px;padding-top:20px;gap:8px 24px;border-color:var(--rb-line)}
.ic-contact .cw-channels a{font-size:.8rem;font-weight:500;display:inline-flex;align-items:center;min-height:44px}
.ic-contact .ic-photo{margin:0}
.ic-contact .ic-photo>div{background:var(--rb-soft);border-radius:22px;overflow:hidden;display:flex;justify-content:center}
.ic-contact .ic-photo img{display:block;width:100%;height:auto;max-height:450px;object-fit:contain}
.ic-contact .ic-photo figcaption{color:var(--rb-muted);font-size:.72rem;line-height:1.6;margin-top:14px}
.ic-contact .ic-intake{padding-block:30px 65px;border-top:1px solid var(--rb-line)}
.ic-contact .ic-intake-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:65px;align-items:start}
.ic-contact .cw-faq{padding:0;background:transparent;border:0}
.ic-contact .cw-faq .cw-inner{width:100%;margin:0}
.ic-contact .cw-faq h2{font-size:2rem;line-height:1.2;margin:0 0 25px}
.ic-contact .cw-faq details{border:0;border-bottom:1px solid var(--rb-line);border-radius:0;margin:0;padding:0;background:transparent}
.ic-contact .cw-faq details:first-of-type{border-top:1px solid var(--rb-line)}
.ic-contact .cw-faq summary{min-height:64px;padding:19px 0;font:500 .91rem/1.65 var(--rb-body-font);color:var(--rb-ink);cursor:pointer}
.ic-contact .cw-faq details p{font-size:.86rem!important;margin:0;padding:0 0 22px}
.ic-contact .ic-preparation{margin-top:35px;border:1px solid var(--rb-line);border-radius:13px;padding:0 20px}
.ic-contact .ic-preparation>summary{cursor:pointer;min-height:64px;padding:20px 0;font:500 .85rem/1.6 var(--rb-body-font)}
.ic-contact .cw-preparation{position:static;padding:15px 0 22px;background:transparent;border:0;box-shadow:none}
.ic-contact .cw-preparation h2{font-size:1.4rem}
.ic-contact .cw-preparation h3{font-size:1rem}
.ic-contact .cw-preparation p{font-size:.84rem!important}
.ic-contact .cw-after{background:var(--rb-soft);border-color:var(--rb-line)}
.ic-contact .cw-form-card{padding:35px;background:var(--rb-soft);border:0;border-radius:22px;box-shadow:none}
.ic-contact .cw-form-card h2{font-size:1.75rem;line-height:1.25;margin-bottom:20px}
.ic-contact .cw-form-card>p{font-size:.84rem!important;margin-bottom:28px}
.ic-contact .intake-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px!important}
.ic-contact .intake-form :is(label,.form-label){display:block!important;font:500 .78rem/1.5 var(--rb-body-font)!important;color:var(--rb-ink)!important;margin-bottom:8px!important}
.ic-contact .intake-form :is(input:not([type="checkbox"]),select,textarea){width:100%!important;min-height:48px;padding:12px 14px!important;background:var(--rb-paper);color:var(--rb-ink);border:1px solid var(--rb-line)!important;border-radius:5px!important;font:400 .85rem/1.5 var(--rb-body-font)!important;box-shadow:none}
.ic-contact .intake-form>noscript,.ic-contact .intake-form>div:has(textarea),.ic-contact .intake-form>button,.ic-contact .intake-form>p{grid-column:1/-1}
.ic-contact .intake-submit{min-height:52px;background:var(--rb-ink)!important;color:var(--rb-on-ink)!important;border:0!important;box-shadow:none!important;border-radius:5px;font:500 .85rem/1.5 var(--rb-body-font);transform:none;transition:none}
.ic-contact .intake-form>p{font-size:.76rem!important;margin:0}
.ic-contact :is(input,select,textarea,button,a,summary):focus-visible{outline:3px solid var(--rb-ink);outline-offset:4px;transition:none}
.ic-contact .rb-reviews{margin-block:0 40px}
.ic-contact .rb-reviews__list{grid-template-columns:repeat(2,minmax(0,1fr))}
.ic-contact .ic-calendar{border:1px solid var(--rb-line);border-radius:14px;padding:0 24px;background:var(--rb-soft)}
.ic-contact .ic-calendar>summary{cursor:pointer;min-height:65px;padding:21px 0;font:500 .9rem/1.6 var(--rb-body-font)}
.ic-contact .ic-calendar[open]{padding-bottom:25px}
.ic-contact .ic-calendar[open]>summary{border-bottom:1px solid var(--rb-line)}
.ic-contact .ic-calendar>p{font-size:.86rem!important;margin:22px 0}
.ic-contact .booking-calendar-widget noscript p{display:none}
.ic-contact .cw-resources{background:transparent;padding:25px 0 0;border:0}
.ic-contact .cw-resource-links a{font-size:.76rem;min-height:44px;display:inline-flex;align-items:center}
.ic-contact :is(section,details,[id]){scroll-margin-top:145px}
@media(max-width:1050px){.ic-contact .cw-inner{width:calc(100% - 64px)}.ic-contact .ic-opening{gap:40px}.ic-contact .ic-intake-grid{grid-template-columns:.8fr 1.2fr;gap:35px}.ic-contact .cw-form-card{padding:26px}.ic-contact .intake-form{grid-template-columns:1fr}}
@media(max-width:760px){.ic-contact .cw-inner{width:calc(100% - 36px)}.ic-contact .cw-hero{padding:145px 0 38px}.ic-contact .ic-opening,.ic-contact .ic-intake-grid{grid-template-columns:1fr;gap:30px}.ic-contact .cw-hero h1{font-size:clamp(2.25rem,9vw,3.2rem)}.ic-contact .ic-photo img{max-height:320px}.ic-contact .cw-channels{display:grid;gap:2px}.ic-contact .ic-intake{padding-block:35px 40px}.ic-contact .cw-form-card{padding:24px 20px}.ic-contact .rb-reviews__list{grid-template-columns:1fr}.ic-contact .ic-calendar{padding-inline:18px}}
@media(prefers-reduced-motion:reduce){.ic-contact *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

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

/* Correct remaining legacy light-on-light actions and the embedded dark form. */
.ic-contact .cw-hero .cw-primary{background:var(--rb-ink)!important;color:var(--rb-on-ink)!important}
.ic-contact .cw-hero a:not(.cw-primary){color:var(--rb-ink)!important}
.ic-contact .cw-hero .cw-channels{border-top-color:var(--rb-line)!important}
.ic-contact .ic-intake-grid{grid-template-columns:1.2fr .8fr}
@media(max-width:760px){.ic-contact .ic-intake-grid{grid-template-columns:1fr}}
.ic-contact .intake-form :is(input:not([type="checkbox"]),select,textarea){border-color:#948779!important}
.ic-contact .intake-form :is(input,textarea)::placeholder{color:#655d55;opacity:1}
.ic-contact .ic-calendar .booking-calendar-widget :is(h2,h3,p){color:#fff!important}
.ic-contact .ic-calendar .booking-calendar-widget .dd-l .dd-sub{color:#e1e7ee!important}
.ic-contact .ic-calendar .booking-calendar-widget :is(a,button,input,textarea):focus-visible{outline-color:#fff}
