/* DDHS homepage reconstruction. Scoped to this page; shared assets remain unchanged. */
body.home-v2 {
 --v2-ink:#172a3d;--v2-body:#3b4a5a;--v2-muted:#5b6b7c;
 --v2-primary:#1a3a5c;--v2-primary-deep:#0f2840;--v2-primary-soft:#2d5a87;
 --v2-accent:#3498db;--v2-accent-deep:#216b9b;--v2-accent-soft:#5dade2;--v2-accent-tint:#e8f3fb;--v2-action:#216b9b;
 --v2-gold:#f5c842;--v2-gold-deep:#d4a82d;
 --v2-paper:#fcfdfe;--v2-tint:#f3f7fa;--v2-tint-2:#e9f0f5;--v2-line:#d9e2ea;--v2-line-strong:#c5d2dd;
 --v2-on-dark:#f4f8fb;--v2-on-dark-muted:rgba(244,248,251,.82);--v2-on-dark-line:rgba(244,248,251,.2);
 --v2-display:clamp(2.5rem,4.6vw,4rem);--v2-h2:clamp(2rem,3.2vw,2.875rem);--v2-h3:1.375rem;--v2-h3-lg:1.625rem;
 --v2-lead:clamp(1.125rem,1.4vw,1.25rem);--v2-body-size:1.0625rem;--v2-body-sm:.9375rem;--v2-small:.875rem;--v2-eyebrow:.8125rem;
 --v2-sec-y:clamp(4rem,7vw,6.5rem);--v2-head-gap:48px;--v2-gap:24px;--v2-container:1200px;--v2-gutter:clamp(1.25rem,4vw,2.5rem);--v2-measure:62ch;
 --v2-r-sm:8px;--v2-r-md:12px;--v2-r-lg:16px;--v2-r-xl:24px;--v2-r-pill:999px;
 --v2-sh-sm:0 4px 12px rgba(15,40,64,.05);--v2-sh-md:0 8px 24px rgba(15,40,64,.09);--v2-sh-lg:0 16px 40px rgba(15,40,64,.14);
 background:var(--v2-paper);color:var(--v2-body);font-family:var(--font-body);line-height:1.6;
}
body.home-v2 .v2-sec,body.home-v2 .v2-sec * {box-sizing:border-box;}
body.home-v2 .v2-sec {scroll-margin-top:112px;}
body.home-v2 .v2-container {width:100%;max-width:calc(var(--v2-container) + 2 * var(--v2-gutter));padding-inline:var(--v2-gutter);margin-inline:auto;}
body.home-v2 .v2-sec h1,body.home-v2 .v2-sec h2,body.home-v2 .v2-sec h3 {font-family:var(--font-heading);font-weight:800;}
body.home-v2 .v2-sec p {font-family:var(--font-body);}
body.home-v2 .v2-eyebrow {display:inline-flex;align-items:center;gap:12px;font-family:var(--font-heading);font-size:var(--v2-eyebrow);line-height:1.5;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--v2-accent-deep);margin:0 0 16px;padding:0;border:0;border-radius:0;background:none;}
body.home-v2 .v2-eyebrow::before {content:"";position:static;width:24px;height:1px;flex:0 0 24px;background:currentColor;border-radius:0;}
body.home-v2 .v2-eyebrow--on-dark {color:var(--v2-accent-soft);}
body.home-v2 .v2-eyebrow--gold {color:var(--v2-gold);}
body.home-v2 .v2-head {max-width:var(--v2-measure);margin:0 0 var(--v2-head-gap);text-align:left;}
body.home-v2 .v2-head--center {margin-inline:auto;text-align:center;}
body.home-v2 .v2-title {font-size:var(--v2-h2);line-height:1.1;letter-spacing:-.015em;color:var(--v2-ink);margin:0;text-wrap:balance;}
body.home-v2 .v2-lead {font-size:var(--v2-lead);line-height:1.6;color:var(--v2-body);max-width:var(--v2-measure);margin:20px 0 0;}
body.home-v2 .v2-btn {display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:52px;height:auto;padding:12px 28px;border:1px solid transparent;border-radius:var(--v2-r-pill);font-family:var(--font-heading);font-size:1rem;line-height:1.5;font-weight:700;text-decoration:none;text-align:center;white-space:normal;cursor:pointer;box-shadow:none;transition:background-color 200ms ease,color 200ms ease,transform 200ms ease,box-shadow 200ms ease;}
body.home-v2 .v2-btn svg {width:20px;height:20px;flex:0 0 20px;}
body.home-v2 .v2-btn--primary {background:var(--v2-action);color:var(--v2-on-dark);}
body.home-v2 .v2-btn--white {background:var(--v2-paper);color:var(--v2-primary);}
body.home-v2 .v2-btn--outline {background:transparent;color:var(--v2-primary);border:1px solid currentColor;}
body.home-v2 .v2-btn--ghost {padding-inline:0;background:none;color:var(--v2-accent-deep);border:0;}
body.home-v2 .v2-link {display:inline-flex;align-items:center;gap:10px;min-height:44px;font-family:var(--font-heading);font-size:1rem;line-height:1.5;font-weight:700;color:var(--v2-accent-deep);text-underline-offset:5px;}
body.home-v2 .v2-link svg {width:20px;height:20px;flex:0 0 20px;}
body.home-v2 .v2-card {background:var(--v2-paper);border:1px solid var(--v2-line);border-radius:var(--v2-r-lg);box-shadow:var(--v2-sh-sm);overflow:hidden;}
body.home-v2 .v2-band {padding-block:var(--v2-sec-y);}
body.home-v2 .v2-band--paper {background:var(--v2-paper);}
body.home-v2 .v2-band--tint {background:var(--v2-tint);}
body.home-v2 .v2-band--navy {background:var(--v2-primary-deep);color:var(--v2-on-dark);}
body.home-v2 .v2-band--navy .v2-title {color:var(--v2-on-dark);}
body.home-v2 .v2-band--navy .v2-lead {color:var(--v2-on-dark-muted);line-height:1.65;}
body.home-v2 .v2-band--navy .v2-btn--outline {color:var(--v2-on-dark);}
body.home-v2 .v2-sec :is(a,button,input,select,textarea,summary):focus-visible {outline:3px solid var(--v2-accent-deep);outline-offset:5px;}
body.home-v2 .v2-band--navy :is(a,button,summary):focus-visible {outline-color:var(--v2-gold);}
@media(hover:hover){body.home-v2 .v2-btn:hover {transform:translateY(-2px);box-shadow:var(--v2-sh-md);} body.home-v2 .v2-btn--primary:hover {background:var(--v2-primary);}body.home-v2 .v2-btn--white:hover {background:var(--v2-accent-tint);}body.home-v2 .v2-link:hover {text-decoration:underline;}}
@media(max-width:1024px){body.home-v2 {padding-bottom:calc(60px + env(safe-area-inset-bottom,0px));}}
@media(max-width:767px){body.home-v2 {--v2-head-gap:32px;--v2-gap:16px;--v2-body-sm:1rem;}body.home-v2 .v2-btn{min-height:48px;padding:12px 24px;}body.home-v2 .v2-sec {scroll-margin-top:100px;}}
@media(prefers-reduced-motion:reduce){body.home-v2 *,body.home-v2 *::before,body.home-v2 *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important;}}

/* DDHS homepage v2: areas section. */
body.home-v2 #areas.v2-areas { margin: 0; padding: var(--v2-sec-y) 0; background: var(--v2-paper); }
body.home-v2 #areas.v2-areas .vd-region { display: grid; grid-template-columns: minmax(0,7fr) minmax(0,5fr); gap: 64px; align-items: start; }
body.home-v2 #areas.v2-areas .vd-region > div { min-width: 0; }
body.home-v2 #areas.v2-areas .vd-eyebrow { margin-bottom: 24px; color: var(--v2-accent-deep); }
body.home-v2 #areas.v2-areas .vd-heading { font: 800 var(--v2-h2)/1.1 Montserrat, sans-serif; letter-spacing: -.015em; color: var(--v2-ink); margin: 0 0 24px; }
body.home-v2 #areas.v2-areas .vd-intro { font: 400 var(--v2-body-size)/1.6 Sora, sans-serif; color: var(--v2-body); margin: 0 0 32px; max-width: var(--v2-measure); }
body.home-v2 #areas.v2-areas .vd-cities { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 0 24px; list-style: none; margin: 0; padding: 0; }
body.home-v2 #areas.v2-areas .vd-cities li { min-width: 0; margin: 0; padding: 0; border: 0; border-top: 1px solid var(--v2-line); }
body.home-v2 #areas.v2-areas .vd-cities a { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 44px; padding: 12px 0; font: 500 .9375rem/1.55 Sora, sans-serif; color: var(--v2-body); text-decoration: none; background: none; border: 0; border-radius: 0; overflow-wrap: anywhere; }
body.home-v2 #areas.v2-areas .vd-cities li:nth-child(-n+4) a { font-weight: 700; color: var(--v2-ink); }
body.home-v2 #areas.v2-areas .vd-cities svg { width: 18px; height: 18px; flex: 0 0 18px; color: var(--v2-accent-deep); }
body.home-v2 #areas.v2-areas .vd-cities a:hover { color: var(--v2-accent-deep); text-decoration: underline; }
body.home-v2 #areas.v2-areas a:focus-visible { outline: 3px solid var(--v2-accent); outline-offset: 4px; }
body.home-v2 #areas.v2-areas .vd-region-map { height: auto; min-height: 0; padding: 0; border: 0; background: none; box-shadow: none; overflow: visible; }
body.home-v2 #areas.v2-areas .vd-region-map iframe { display: block; width: 100%; height: 460px; box-sizing: border-box; border: 1px solid var(--v2-line); border-radius: var(--v2-r-lg); box-shadow: var(--v2-sh-sm); }
body.home-v2 #areas.v2-areas .ff-map-caption { padding: 16px 0 0; margin: 0; color: var(--v2-muted); font: 400 var(--v2-small)/1.5 Sora, sans-serif; }
body.home-v2 #areas.v2-areas .ff-map-caption a { display: inline-flex; align-items: center; min-height: 44px; color: var(--v2-accent-deep); }
@media (max-width: 1100px) { body.home-v2 #areas.v2-areas .vd-region { gap: 32px; } body.home-v2 #areas.v2-areas .vd-cities { column-gap: 16px; } }
@media (max-width: 1023px) { body.home-v2 #areas.v2-areas .vd-region { grid-template-columns: minmax(0,1fr); } body.home-v2 #areas.v2-areas .vd-cities { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 767px) { body.home-v2 #areas.v2-areas .vd-cities { grid-template-columns: repeat(2,minmax(0,1fr)); } body.home-v2 #areas.v2-areas .vd-cities a { font-size: 1rem; } body.home-v2 #areas.v2-areas .ff-map-caption { font-size: .9375rem; } }

body.home-v2 #areas.v2-areas .v2-areas-map-frame { height: 460px; overflow: hidden; border: 1px solid var(--v2-line); border-radius: var(--v2-r-lg); box-shadow: var(--v2-sh-sm); --radius-xl: var(--v2-r-lg); }
body.home-v2 #areas.v2-areas .v2-areas-map-frame iframe { height: 100%; box-shadow: none; }

body.home-v2 #areas.v2-areas .v2-container { width: 100%; max-width: var(--v2-container); margin-left: auto; margin-right: auto; padding-left: var(--v2-gutter); padding-right: var(--v2-gutter); box-sizing: border-box; }
body.home-v2 #areas.v2-areas .v2-area-more-heading {display:none;}
body.home-v2 #areas.v2-areas .v2-area-window {min-width:0;}
body.home-v2 #areas.v2-areas .vd-cities--more li:nth-child(-n+4) a {font-weight:500;color:var(--v2-body);}
@media(max-width:767px){
 body.home-v2 #areas.v2-areas .vd-region {gap:28px;}
 body.home-v2 #areas.v2-areas .vd-cities--primary {grid-template-columns:1fr 1fr;gap:12px;}
 body.home-v2 #areas.v2-areas .vd-cities--primary li {border:0;}
 body.home-v2 #areas.v2-areas .vd-cities--primary a {min-height:64px;padding:16px 12px;border:1px solid var(--v2-line);border-radius:12px;background:var(--v2-tint);font-size:.9375rem;}
 body.home-v2 #areas.v2-areas .v2-area-more-heading {display:flex;justify-content:space-between;align-items:center;gap:16px;margin:24px 0 12px;}
 body.home-v2 #areas.v2-areas .v2-area-more-heading p {margin:0;font:600 .9375rem/1.5 'Sora',sans-serif;color:var(--v2-muted);}
 body.home-v2 #areas.v2-areas .v2-area-controls {display:flex;gap:8px;}
 body.home-v2 #areas.v2-areas .v2-area-controls button {width:44px;height:44px;border:1px solid var(--v2-line-strong);border-radius:50%;background:var(--v2-paper);color:var(--v2-primary);font-size:1.125rem;cursor:pointer;}
 body.home-v2 #areas.v2-areas .v2-area-controls button:disabled {opacity:.4;cursor:default;}
 body.home-v2 #areas.v2-areas .v2-area-window {overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;padding-bottom:12px;}
 body.home-v2 #areas.v2-areas .vd-cities--more {display:grid;grid-template-columns:none;grid-auto-flow:column;grid-template-rows:repeat(2,auto);grid-auto-columns:160px;gap:8px;width:max-content;}
 body.home-v2 #areas.v2-areas .vd-cities--more li {border:0;scroll-snap-align:start;}
 body.home-v2 #areas.v2-areas .vd-cities--more a {padding:10px 12px;min-height:56px;height:100%;font-size:.875rem;line-height:1.35;border:1px solid var(--v2-line);border-radius:10px;}
 body.home-v2 #areas.v2-areas .v2-areas-map-frame {height:260px;}
}

body.home-v2 #areas.v2-areas .v2-area-controls[hidden]{display:none;}

/* Booking: retain generated controls and states; size by the actual card width. */
body.home-v2 .v2-booking { padding: 0; background: var(--v2-primary-deep); }
body.home-v2 .v2-booking .dd-stage { --dd-navy: var(--v2-primary); --dd-navy-deep: var(--v2-primary-deep); --dd-sky-glass: var(--v2-accent-soft); font-family: 'Sora', sans-serif; color: var(--v2-on-dark); box-shadow: none; }
body.home-v2 .v2-booking .booking-calendar-widget .dd-c {
  /* booking-widget.css sets max-width:none !important. */
  max-width: var(--v2-container) !important;
  display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); gap: 48px; padding: 80px var(--v2-gutter); margin: 0 auto; align-items: start;
}
body.home-v2 .v2-booking .dd-l { min-width: 0; max-width: 520px; margin: 0; gap: 24px; }
body.home-v2 .v2-booking .dd-l h2.dd-l-title { font-family: 'Montserrat', sans-serif; font-size: 2.75rem; font-weight: 800; line-height: 1.1; letter-spacing: -.015em; }
body.home-v2 .v2-booking .dd-pre { font-family: 'Montserrat', sans-serif; font-size: var(--v2-eyebrow); color: var(--v2-on-dark); letter-spacing: .12em; }
body.home-v2 .v2-booking .dd-sub { font-size: var(--v2-body-size); line-height: 1.65; color: var(--v2-on-dark-muted); }
body.home-v2 .v2-booking .dd-quote { padding: 24px; border: 1px solid var(--v2-on-dark-line); border-radius: var(--v2-r-lg); background: var(--v2-primary-deep); backdrop-filter: none; font-family: 'Sora', sans-serif; font-style: normal; font-size: var(--v2-body-size); line-height: 1.65; color: var(--v2-on-dark-muted); }
body.home-v2 .v2-booking .dd-r { container: booking-card / inline-size; width: 100%; min-width: 0; max-width: 680px; margin-left: auto; padding: 28px; gap: 16px; background: color-mix(in srgb, var(--v2-primary-deep) 90%, transparent); backdrop-filter: none; -webkit-backdrop-filter: none; border: 1px solid var(--v2-on-dark-line); border-radius: 20px; box-shadow: var(--v2-sh-md); }
body.home-v2 .v2-booking .dd-head { flex-wrap: wrap; gap: 12px; }
body.home-v2 .v2-booking .dd-head h2 { font-family: 'Montserrat', sans-serif; font-size: var(--v2-h3); font-weight: 800; color: var(--v2-on-dark); }
body.home-v2 .v2-booking .dd-svc { grid-template-columns: minmax(0,1fr); gap: 8px; }
body.home-v2 .v2-booking .dd-svc button { min-width: 0; min-height: 64px; padding: 12px; gap: 12px; font-size: 1rem; }
body.home-v2 .v2-booking .dd-svc-name { line-height: 1.4; }
body.home-v2 .v2-booking .dd-svc-sub { white-space: normal; overflow: visible; font-size: .9375rem; line-height: 1.5; opacity: 1; color: var(--v2-on-dark-muted); }
body.home-v2 .v2-booking .dd-svc button.dd-sel .dd-svc-sub { opacity: 1; color: var(--v2-body); }
body.home-v2 .v2-booking .dd-svc .dd-pr { font-size: .9375rem; color: var(--v2-on-dark); white-space: normal; text-align: right; max-width: 8ch; }
body.home-v2 .v2-booking .dd-svc button.dd-sel .dd-pr { color: var(--v2-body); }
/* Override the widget's important selected tick colours, keeping its selected hook. */
body.home-v2 .v2-booking .dd-svc button.dd-sel .dd-svc-tick { background: var(--v2-action) !important; border-color: var(--v2-action) !important; color: var(--v2-on-dark) !important; }
body.home-v2 .v2-booking .dd-cal-h, body.home-v2 .v2-booking .dd-times-h { gap: 12px; flex-wrap: wrap; font-size: 1rem; }
body.home-v2 .v2-booking .dd-week-grid { grid-template-columns: repeat(auto-fit,minmax(64px,1fr)); gap: 8px; }
body.home-v2 .v2-booking .dd-week-d { min-width: 44px; min-height: 80px; padding: 12px 4px; }
body.home-v2 .v2-booking .dd-week-dow, body.home-v2 .v2-booking .dd-week-av { font-size: .75rem; opacity: 1; letter-spacing: 0; overflow-wrap: anywhere; text-align: center; }
body.home-v2 .v2-booking .dd-times-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
body.home-v2 .v2-booking .dd-t { font-size: 1rem; min-height: 48px; }
body.home-v2 .v2-booking .dd-form { gap: 12px; }
body.home-v2 .v2-booking .dd-form-h { display: block; color: var(--v2-on-dark-muted); opacity: 1; font-size: .9375rem; line-height: 1.6; letter-spacing: 0; text-transform: none; }
body.home-v2 .v2-booking .dd-form-h small { display: block; opacity: 1; font-size: .9375rem; }
body.home-v2 .v2-booking .dd-row2 { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
body.home-v2 .v2-booking .dd-input-wrap { min-width: 0; }
body.home-v2 .v2-booking .dd-input { min-height: 48px; font-size: 1rem; border-radius: 10px; }
body.home-v2 .v2-booking .dd-input::placeholder { color: var(--v2-on-dark-muted); opacity: 1; }
body.home-v2 .v2-booking .dd-input:focus-visible { outline: 2px solid var(--v2-accent-soft); outline-offset: 2px; }
body.home-v2 .v2-booking .dd-textarea { min-height: 120px; }
body.home-v2 .v2-booking .dd-err { color: var(--v2-on-dark-muted); font-size: .9375rem; line-height: 1.6; }
body.home-v2 .v2-booking .dd-btn { min-height: 52px; border-radius: var(--v2-r-md); font-family: 'Montserrat',sans-serif; font-size: 1rem; box-shadow: var(--v2-sh-sm); }
/* The widget uses !important backgrounds and text colours. Exclude its transient states. */
body.home-v2 .v2-booking .dd-btn:not([data-state="loading"]):not([data-state="success"]):not([data-state="error"]):not(.dd-loading):not(.dd-success):not(.dd-error) { background: var(--v2-action) !important; color: var(--v2-on-dark) !important; }
body.home-v2 .v2-booking .dd-btn[data-state="loading"]::after, body.home-v2 .v2-booking .dd-btn.dd-loading::after { border-top-color: var(--v2-on-dark); }
@container booking-card (min-width: 640px) {
  body.home-v2 .v2-booking .dd-svc { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.home-v2 .v2-booking .dd-times-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@container booking-card (max-width: 460px) {
  body.home-v2 .v2-booking .dd-row2 { grid-template-columns: minmax(0,1fr); }
}
@container booking-card (max-width: 320px) {
  body.home-v2 .v2-booking .dd-svc button { display: grid; grid-template-columns: 20px minmax(0,1fr); }
  body.home-v2 .v2-booking .dd-svc .dd-pr { grid-column: 2; max-width: none; text-align: left; }
}
@media (max-width: 1099px) {
  body.home-v2 .v2-booking .booking-calendar-widget .dd-c { grid-template-columns: minmax(0,1fr); padding: 56px var(--v2-gutter); gap: 32px; }
  body.home-v2 .v2-booking .dd-l { max-width: var(--v2-measure); }
  body.home-v2 .v2-booking .dd-r { max-width: none; margin: 0; }
}
@media (max-width: 767px) {
  body.home-v2 .v2-booking .booking-calendar-widget .dd-c { padding: 40px 20px; }
  body.home-v2 .v2-booking .dd-r { padding: 20px; }
  body.home-v2 .v2-booking .dd-l h2.dd-l-title { font-size: var(--v2-h2); }
}
/* Compact mobile choices and full-width, comfortably sized customer fields. */
@media(max-width:767px){
 body.home-v2 .v2-booking .booking-calendar-widget .dd-c {padding:40px 16px;gap:24px;}
 body.home-v2 .v2-booking .dd-l {gap:16px;}
 body.home-v2 .v2-booking .dd-pre {font-size:.6875rem;letter-spacing:.08em;line-height:1.6;}
 body.home-v2 .v2-booking .dd-l h2.dd-l-title {font-size:clamp(1.875rem,7.3vw,2.5rem);line-height:1.12;}
 body.home-v2 .v2-booking .dd-sub {font-size:1rem;line-height:1.6;}
 body.home-v2 .v2-booking .dd-quote {padding:16px;font-size:.9375rem;line-height:1.6;}
 body.home-v2 .v2-booking .dd-r {padding:16px;border-radius:16px;gap:20px;}
 body.home-v2 .v2-booking .dd-head h2 {font-size:1.25rem;line-height:1.3;}
 body.home-v2 .v2-booking .dd-live {font-size:.6875rem;}
 body.home-v2 .v2-booking .dd-svc {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
 body.home-v2 .v2-booking .dd-svc button {position:relative;display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;gap:8px;padding:12px;min-height:128px;text-align:left;}
 body.home-v2 .v2-booking .dd-svc-tick {position:absolute;right:10px;top:10px;width:16px;height:16px;margin:0;}
 body.home-v2 .v2-booking .dd-svc-lbl {padding-top:20px;}
 body.home-v2 .v2-booking .dd-svc-name {font-size:.875rem;line-height:1.35;overflow-wrap:normal;}
 body.home-v2 .v2-booking .dd-svc-sub {display:none;}
 body.home-v2 .v2-booking .dd-svc .dd-pr {margin-top:auto;max-width:none;font-size:.8125rem;line-height:1.4;text-align:left;}
 body.home-v2 .v2-booking .dd-request-note {font-size:.875rem;line-height:1.6;}
 body.home-v2 .v2-booking .dd-week-grid {grid-template-columns:repeat(7,minmax(48px,1fr));gap:4px;}
 body.home-v2 .v2-booking .dd-week-d {min-height:64px;padding:10px 4px;}
 body.home-v2 .v2-booking .dd-week-dow {font-size:.6875rem;}
 body.home-v2 .v2-booking .dd-week-av {display:none;}
 body.home-v2 .v2-booking .dd-cal-h,body.home-v2 .v2-booking .dd-times-h {font-size:.9375rem;}
 body.home-v2 .v2-booking .dd-input {padding:12px;min-height:48px;font-size:1rem;}
 body.home-v2 .v2-booking .dd-textarea {min-height:104px;}
 body.home-v2 .v2-booking .dd-btn {font-size:.9375rem;padding:14px 12px;}
}

/* Quiet continuous logos, with native horizontal browsing when motion is reduced. */
body.home-v2 .v2-brand-rail {padding:32px 0 28px;background:var(--v2-paper);color:var(--v2-body);border-top:0;border-bottom:1px solid var(--v2-line);}
body.home-v2 .v2-brand-rail .br-wrap {width:100%;margin-inline:auto;padding-inline:var(--v2-gutter);}
body.home-v2 .v2-brand-rail h2 {display:flex;align-items:center;justify-content:center;margin:0 0 20px;color:var(--v2-muted);font:700 var(--v2-eyebrow)/1.5 'Montserrat',sans-serif;letter-spacing:.12em;text-align:center;}
body.home-v2 .v2-brand-rail .br-window {max-width:100%;overflow-x:auto;overflow-y:hidden;scroll-behavior:auto;scrollbar-width:none;overscroll-behavior-x:contain;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);}
body.home-v2 .v2-brand-rail .br-track {display:flex;width:max-content;}
body.home-v2 .v2-brand-rail .br-group {gap:24px;padding:8px 24px 8px 0;}
body.home-v2 .v2-brand-rail .br-group li {flex:0 0 160px;width:160px;height:72px;}
body.home-v2 .v2-brand-rail .br-group img {width:auto;height:auto;max-width:128px;max-height:56px;object-fit:contain;filter:none;opacity:1;}
body.home-v2 .v2-brand-rail .br-window:focus-visible {outline:3px solid var(--v2-accent-deep);outline-offset:-3px;mask-image:none;}
@media(max-width:767px){
 body.home-v2 .v2-brand-rail {padding:28px 0 24px;}
 body.home-v2 .v2-brand-rail h2 {font-size:.6875rem;letter-spacing:.09em;gap:8px;margin-bottom:16px;}
 body.home-v2 .v2-brand-rail .br-group {gap:16px;padding-right:16px;}
 body.home-v2 .v2-brand-rail .br-group li {flex-basis:120px;width:120px;height:64px;}
 body.home-v2 .v2-brand-rail .br-group img {max-width:104px;max-height:48px;}
}

/* DDHS homepage v2: commercial section. */
body.home-v2 .v2-commercial { margin: 0; padding: 80px 0; background: linear-gradient(135deg, var(--v2-primary-deep), var(--v2-primary)); }
body.home-v2 .v2-commercial .v2-container { display: grid; grid-template-columns: minmax(0,7fr) minmax(0,5fr); align-items: center; gap: 48px; }
body.home-v2 .v2-commercial .v2-commercial-copy { min-width: 0; margin: 0; }
body.home-v2 .v2-commercial .v2-eyebrow { color: var(--v2-on-dark-muted); margin: 0 0 24px; }
body.home-v2 .v2-commercial .v2-lead { margin-bottom: 0; }
body.home-v2 .v2-commercial .v2-btn { justify-self: end; }
@media (max-width: 1023px) { body.home-v2 .v2-commercial .v2-container { grid-template-columns: minmax(0,1fr); gap: 32px; } body.home-v2 .v2-commercial .v2-btn { justify-self: start; } }
body.home-v2 .v2-commercial .v2-title { font: 800 var(--v2-h2)/1.1 Montserrat, sans-serif; letter-spacing: -.015em; color: var(--v2-on-dark); margin: 0 0 24px; }
body.home-v2 .v2-commercial .v2-lead { font: 400 var(--v2-lead)/1.6 Sora, sans-serif; color: var(--v2-on-dark-muted); max-width: none; margin: 0 0 32px; }
body.home-v2 .v2-commercial .v2-btn { display: inline-flex; justify-content: center; align-items: center; gap: 12px; min-height: 52px; padding: 12px 24px; border-radius: var(--v2-r-pill); font: 700 1rem/1.5 Montserrat, sans-serif; text-decoration: none; text-align: center; max-width: 100%; white-space: normal; transition: transform 200ms cubic-bezier(.22,1,.36,1), box-shadow 200ms cubic-bezier(.22,1,.36,1); }
body.home-v2 .v2-commercial .v2-btn svg { flex: 0 0 20px; width: 20px; height: 20px; }
body.home-v2 .v2-commercial .v2-btn--white { background: var(--v2-paper); color: var(--v2-primary); border: 2px solid transparent; box-shadow: var(--v2-sh-sm); }
body.home-v2 .v2-commercial .v2-btn--outline { background: transparent; color: var(--v2-on-dark); border: 2px solid color-mix(in srgb, var(--v2-on-dark) 60%, transparent); box-shadow: none; }
body.home-v2 .v2-commercial .v2-btn:hover { transform: translateY(-2px); box-shadow: var(--v2-sh-md); }
body.home-v2 .v2-commercial .v2-btn--white:hover { background: var(--v2-tint); color: var(--v2-primary-deep); }
body.home-v2 .v2-commercial .v2-btn--outline:hover { background: var(--v2-primary); color: var(--v2-on-dark); }
body.home-v2 .v2-commercial .v2-btn:focus-visible { outline: 3px solid var(--v2-accent-soft); outline-offset: 4px; }
@media (max-width: 767px) { body.home-v2 .v2-commercial { padding-top: 64px; padding-bottom: 64px; } body.home-v2 .v2-commercial .v2-btn { width: 100%; min-height: 48px; } }
body.home-v2 .v2-commercial .v2-commercial-copy > .v2-lead { margin-bottom: 0; }

body.home-v2 .v2-commercial .v2-container { width: 100%; max-width: var(--v2-container); margin-left: auto; margin-right: auto; padding-left: var(--v2-gutter); padding-right: var(--v2-gutter); box-sizing: border-box; }

/* DDHS homepage v2: cta section. */
body.home-v2 .v2-cta { position: relative; isolation: isolate; overflow: hidden; margin: 0; padding: 96px 0; background: var(--v2-primary-deep); text-align: center; }
body.home-v2 .v2-cta .cta-bg { position: absolute; inset: 0; z-index: -1; }
body.home-v2 .v2-cta .cta-image { position: absolute; inset: 0; background-size: cover; background-position: center; transform: none; }
body.home-v2 .v2-cta .cta-overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(15,40,64,.86), rgba(26,58,92,.72)); }
body.home-v2 .v2-cta .cta-content { max-width: 720px; margin: 0 auto; }
body.home-v2 .v2-cta .cta-buttons { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px; }
body.home-v2 .v2-cta .v2-title { font: 800 var(--v2-h2)/1.1 Montserrat, sans-serif; letter-spacing: -.015em; color: var(--v2-on-dark); margin: 0 0 24px; }
body.home-v2 .v2-cta .v2-lead { font: 400 var(--v2-lead)/1.6 Sora, sans-serif; color: var(--v2-on-dark-muted); max-width: none; margin: 0 0 32px; }
body.home-v2 .v2-cta .v2-btn { display: inline-flex; justify-content: center; align-items: center; gap: 12px; min-height: 52px; padding: 12px 24px; border-radius: var(--v2-r-pill); font: 700 1rem/1.5 Montserrat, sans-serif; text-decoration: none; text-align: center; max-width: 100%; white-space: normal; transition: transform 200ms cubic-bezier(.22,1,.36,1), box-shadow 200ms cubic-bezier(.22,1,.36,1); }
body.home-v2 .v2-cta .v2-btn svg { flex: 0 0 20px; width: 20px; height: 20px; }
body.home-v2 .v2-cta .v2-btn--white { background: var(--v2-paper); color: var(--v2-primary); border: 2px solid transparent; box-shadow: var(--v2-sh-sm); }
body.home-v2 .v2-cta .v2-btn--outline { background: transparent; color: var(--v2-on-dark); border: 2px solid color-mix(in srgb, var(--v2-on-dark) 60%, transparent); box-shadow: none; }
body.home-v2 .v2-cta .v2-btn:hover { transform: translateY(-2px); box-shadow: var(--v2-sh-md); }
body.home-v2 .v2-cta .v2-btn--white:hover { background: var(--v2-tint); color: var(--v2-primary-deep); }
body.home-v2 .v2-cta .v2-btn--outline:hover { background: var(--v2-primary); color: var(--v2-on-dark); }
body.home-v2 .v2-cta .v2-btn:focus-visible { outline: 3px solid var(--v2-accent-soft); outline-offset: 4px; }
@media (max-width: 767px) { body.home-v2 .v2-cta { padding-top: 64px; padding-bottom: 64px; } body.home-v2 .v2-cta .v2-btn { width: 100%; min-height: 48px; } }

body.home-v2 .v2-cta .v2-container { width: 100%; max-width: var(--v2-container); margin-left: auto; margin-right: auto; padding-left: var(--v2-gutter); padding-right: var(--v2-gutter); box-sizing: border-box; }

/* Native details preserve keyboard interaction and no-JavaScript access. */
body.home-v2 .v2-faq-first {padding:var(--v2-sec-y) 0;background:var(--v2-tint);}
body.home-v2 .v2-faq-first .da-layout {width:100%;max-width:calc(var(--v2-container) + 2 * var(--v2-gutter));display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;}
body.home-v2 .v2-faq-first h2 {font-size:var(--v2-h2);line-height:1.1;color:var(--v2-ink);}
body.home-v2 .v2-faq-first details {border-top:1px solid var(--v2-line-strong);}
body.home-v2 .v2-faq-first details:last-child {border-bottom:1px solid var(--v2-line-strong);}
body.home-v2 .v2-faq-first summary {position:relative;list-style:none;padding:24px 40px 24px 0;min-height:64px;font:600 1.125rem/1.5 'Sora',sans-serif;color:var(--v2-ink);}
body.home-v2 .v2-faq-first summary::-webkit-details-marker {display:none;}
body.home-v2 .v2-faq-first summary::after,body.home-v2 .v2-faq-first summary::before {content:'';position:absolute;right:8px;top:36px;width:14px;height:2px;background:var(--v2-accent-deep);}
body.home-v2 .v2-faq-first summary::before {transform:rotate(90deg);}
body.home-v2 .v2-faq-first details[open] summary::before {transform:rotate(0);}
body.home-v2 .v2-faq-first .da-answer {padding:0 24px 24px 0;font:400 var(--v2-body-size)/1.65 'Sora',sans-serif;color:var(--v2-body);}
body.home-v2 .v2-faq-first .da-answer p {font:inherit;}
body.home-v2 .v2-faq-first .da-answer a {margin-top:12px;}
@media(max-width:1023px){body.home-v2 .v2-faq-first .da-layout {grid-template-columns:1fr;gap:32px;}}

/* One clear question rhythm, retaining existing accordion handlers and state attributes. */
body.home-v2 .v2-faq-second {padding:var(--v2-sec-y) 0;background:var(--v2-paper);}
body.home-v2 .v2-faq-second .rv-qa-grid {display:grid;grid-template-columns:300px minmax(0,1fr);gap:64px;max-width:1200px;}
body.home-v2 .v2-faq-second .rv-qa-sidebar {position:static;}
body.home-v2 .v2-faq-second .rv-qa-sidebar h2 {font-size:var(--v2-h2);line-height:1.1;}
body.home-v2 .v2-faq-second .rv-qa-sidebar h2 em {color:var(--v2-accent-deep);}
body.home-v2 .v2-faq-second .rv-qa-sidebar p {font-size:var(--v2-body-sm);line-height:1.6;color:var(--v2-muted);margin:24px 0;}
body.home-v2 .v2-faq-second .rv-qa-cta-mini {background:var(--v2-action);min-height:48px;}
body.home-v2 .v2-faq-second .rv-qa-accordion {gap:0;}
body.home-v2 .v2-faq-second .rv-qa-item {border:0;border-top:1px solid var(--v2-line-strong);border-radius:0;background:none;box-shadow:none;}
body.home-v2 .v2-faq-second .rv-qa-item:last-child {border-bottom:1px solid var(--v2-line-strong);}
body.home-v2 .v2-faq-second .rv-qa-trigger {min-height:76px;padding:24px 0;gap:16px;}
body.home-v2 .v2-faq-second .rv-qa-question {font-size:1.0625rem;line-height:1.5;font-weight:700;color:var(--v2-ink);}
body.home-v2 .v2-faq-second .rv-qa-item.open .rv-qa-question {color:var(--v2-accent-deep);}
body.home-v2 .v2-faq-second .rv-qa-chevron {width:28px;height:28px;background:var(--v2-accent-tint);}
body.home-v2 .v2-faq-second .rv-qa-chevron svg {stroke:var(--v2-accent-deep);}
body.home-v2 .v2-faq-second .rv-qa-answer {padding:0 0 24px;font-size:var(--v2-body-size);line-height:1.65;color:var(--v2-body);}
body.home-v2 .v2-faq-second .rv-qa-answer[hidden] {display:none;}
@media(max-width:1023px){body.home-v2 .v2-faq-second .rv-qa-grid {grid-template-columns:1fr;gap:32px;}}

/* Six balanced cells, including the full-gallery link, with original comparison hooks. */
body.home-v2 #gallery.v2-gallery {padding:var(--v2-sec-y) 0;background:var(--v2-tint);}
body.home-v2 #gallery.v2-gallery .section-header {max-width:800px;margin:0 auto 24px;}
body.home-v2 #gallery.v2-gallery .section-description {margin:20px auto 0;font:400 var(--v2-lead)/1.6 'Sora',sans-serif;color:var(--v2-body);}
body.home-v2 #gallery.v2-gallery .section-title {font-size:var(--v2-h2);color:var(--v2-ink);}
body.home-v2 #gallery.v2-gallery .ff-comparison-filters {display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:24px 0 32px;}
body.home-v2 #gallery.v2-gallery .ff-comparison-filters button {min-height:44px;padding:10px 16px;border:1px solid var(--v2-line-strong);border-radius:var(--v2-r-pill);background:var(--v2-paper);color:var(--v2-ink);font:600 .875rem/1.5 'Sora',sans-serif;}
body.home-v2 #gallery.v2-gallery .ff-comparison-filters button[aria-pressed=true] {background:var(--v2-primary);border-color:var(--v2-primary);color:var(--v2-on-dark);}
body.home-v2 #gallery.v2-gallery .ba-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;max-width:none;margin:0;}
body.home-v2 #gallery.v2-gallery .ba-card {border:1px solid var(--v2-line);border-radius:var(--v2-r-lg);box-shadow:var(--v2-sh-sm);background:var(--v2-paper);}
body.home-v2 #gallery.v2-gallery .ba-slider {height:280px;}
/* Comparison photos must remain unfiltered to honestly represent the original images. */
body.home-v2 #gallery.v2-gallery .ba-before {filter:none;}
body.home-v2 #gallery.v2-gallery .ba-label {gap:8px;padding:16px 12px;background:var(--v2-paper);}
body.home-v2 #gallery.v2-gallery .ba-service-name {font:700 .9375rem/1.4 'Montserrat',sans-serif;color:var(--v2-ink);text-align:center;}
body.home-v2 #gallery.v2-gallery .ba-before-tag,body.home-v2 #gallery.v2-gallery .ba-after-tag {font:700 .75rem/1.5 'Montserrat',sans-serif;letter-spacing:.02em;text-transform:uppercase;padding:4px 6px;border:0;border-radius:4px;background:var(--v2-accent-tint);color:var(--v2-accent-deep);}
body.home-v2 #gallery.v2-gallery .ba-cta-tile {display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:24px;min-height:340px;padding:40px;background:var(--v2-primary);color:var(--v2-on-dark);border-radius:var(--v2-r-lg);}
body.home-v2 #gallery.v2-gallery .ba-cta-tile h3 {font-size:var(--v2-h3-lg);color:var(--v2-on-dark);line-height:1.2;max-width:12ch;}
body.home-v2 #gallery.v2-gallery .ba-cta-tile .v2-eyebrow {color:var(--v2-accent-soft);}
body.home-v2 #gallery.v2-gallery .ba-cta-tile svg {width:32px;height:32px;}
body.home-v2 #gallery.v2-gallery #gallery-comparison-help {font:400 var(--v2-small)/1.6 'Sora',sans-serif;color:var(--v2-muted);text-align:center;margin:24px auto 0;max-width:68ch;}
body.home-v2 #gallery.v2-gallery .ff-comparison-status {position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden;white-space:nowrap;}
body.home-v2 #gallery.v2-gallery [hidden] {display:none!important;}
@media(max-width:1099px){body.home-v2 #gallery.v2-gallery .ba-grid {grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:767px){body.home-v2 #gallery.v2-gallery .ba-grid {grid-template-columns:minmax(0,1fr);gap:24px;}body.home-v2 #gallery.v2-gallery .ba-slider {height:280px;}body.home-v2 #gallery.v2-gallery .ba-cta-tile {min-height:240px;padding:32px;}}
/* Five comparison pairs occupy two balanced rows; the gallery link has its own row. */
body.home-v2 #gallery.v2-gallery .ba-grid {grid-template-columns:repeat(6,minmax(0,1fr));}
body.home-v2 #gallery.v2-gallery .ba-grid>.ba-card {grid-column:span 2;}
body.home-v2 #gallery.v2-gallery .ba-grid>.ba-card:nth-child(-n+2) {grid-column:span 3;}
body.home-v2 #gallery.v2-gallery .ba-grid:has(>[hidden])>.ba-card:not([hidden]) {grid-column:1/-1;max-width:760px;width:100%;justify-self:center;}
body.home-v2 #gallery.v2-gallery .ba-cta-tile {display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:24px;width:100%;min-height:132px;height:auto;margin-top:24px;padding:28px 32px;text-decoration:none;}
body.home-v2 #gallery.v2-gallery .ba-cta-tile h3 {font:800 clamp(1.375rem,2vw,1.75rem)/1.2 'Montserrat',sans-serif;max-width:none;margin:8px 0 0;}
body.home-v2 #gallery.v2-gallery .v2-gallery-cta-label {font:500 .875rem/1.5 'Sora',sans-serif;color:#dbe6ef;}
body.home-v2 #gallery.v2-gallery .v2-gallery-cta-button {display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:48px;flex-shrink:0;padding:12px 24px;border-radius:var(--v2-r-pill);background:var(--v2-paper);color:var(--v2-primary);font:700 .9375rem/1.5 'Montserrat',sans-serif;}
body.home-v2 #gallery.v2-gallery .v2-gallery-cta-button svg {width:20px;height:20px;}
@media(max-width:1099px){body.home-v2 #gallery.v2-gallery .ba-grid {grid-template-columns:repeat(2,minmax(0,1fr));}body.home-v2 #gallery.v2-gallery .ba-grid>.ba-card,body.home-v2 #gallery.v2-gallery .ba-grid>.ba-card:nth-child(-n+2){grid-column:auto;}body.home-v2 #gallery.v2-gallery .ba-grid>.ba-card:last-child{grid-column:1/-1;}}
@media(max-width:767px){body.home-v2 #gallery.v2-gallery .ba-grid{grid-template-columns:1fr;}body.home-v2 #gallery.v2-gallery .ba-cta-tile{flex-direction:column;align-items:flex-start;min-height:0;padding:24px;gap:24px;}body.home-v2 #gallery.v2-gallery .v2-gallery-cta-button{width:100%;}}

/* A compact reading column leaves the right side of the photograph visible. */
body.home-v2 .v2-hero {position:relative;display:flex;align-items:center;min-height:min(760px,calc(100svh - 44px));padding:144px 0 72px;background:var(--v2-primary-deep);color:var(--v2-on-dark);overflow:hidden;}
body.home-v2 .v2-hero .hero-bg,body.home-v2 .v2-hero .hero-image {position:absolute;inset:0;filter:none;}
body.home-v2 .v2-hero .hero-image img {width:100%;height:100%;object-fit:cover;object-position:center 58%;filter:none;}
body.home-v2 .v2-hero .hero-overlay {background:linear-gradient(90deg,rgba(9,28,45,.9) 0%,rgba(9,28,45,.77) 37%,rgba(9,28,45,.35) 70%,rgba(9,28,45,.16) 100%);}
body.home-v2 .v2-hero .hero-content {display:block;position:relative;z-index:2;width:100%;margin-inline:auto;padding:0 var(--v2-gutter);text-align:left;}
body.home-v2 .v2-hero .hero-main {min-width:0;max-width:720px;}
body.home-v2 .v2-hero .hero-tagline-badge {background:none;border:0;border-radius:0;padding:0;margin:0 0 24px;color:var(--v2-on-dark);font:700 var(--v2-eyebrow)/1.5 'Montserrat',sans-serif;letter-spacing:.12em;backdrop-filter:none;}
body.home-v2 .v2-hero .hero-title {max-width:none;margin:0 0 24px;color:var(--v2-on-dark);font:800 clamp(3rem,4.75vw,4.5rem)/1.04 'Montserrat',sans-serif;letter-spacing:-.035em;text-wrap:initial;}
body.home-v2 .v2-hero .v2-hero-service {display:block;}
body.home-v2 .v2-hero .v2-hero-location {display:block;margin-top:20px;font:500 clamp(1.25rem,1.8vw,1.625rem)/1.35 'Sora',sans-serif;letter-spacing:-.015em;color:var(--v2-on-dark);}
body.home-v2 .v2-hero .hero-description {max-width:49ch;margin:0 0 32px;color:#e3ebf1;font:400 1.0625rem/1.65 'Sora',sans-serif;opacity:1;}
body.home-v2 .v2-hero .hero-ctas {display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:12px;}
body.home-v2 .v2-hero .hero-ctas .v2-btn {min-width:0;width:auto;max-width:100%;padding:14px 24px;min-height:54px;backdrop-filter:none;white-space:normal;text-align:center;}
body.home-v2 .v2-hero .v2-btn--white {background:var(--v2-paper);color:var(--v2-primary);}
body.home-v2 .v2-hero .v2-btn--outline {background:rgba(15,40,64,.2);color:var(--v2-on-dark);border-color:#becdd9;}
body.home-v2 .v2-hero .v2-btn svg {flex:0 0 20px;}
@media(min-width:1600px){body.home-v2 .v2-hero .hero-main{max-width:760px;}}
@media(min-width:768px) and (max-width:1099px){body.home-v2 .v2-hero{min-height:640px;padding:136px 0 64px;}body.home-v2 .v2-hero .hero-main{max-width:650px;}}
@media(max-width:767px){
 body.home-v2 .v2-hero {min-height:0;padding:120px 0 48px;align-items:flex-start;}
 body.home-v2 .v2-hero .hero-overlay {background:linear-gradient(180deg,rgba(9,28,45,.8) 0%,rgba(9,28,45,.74) 55%,rgba(9,28,45,.58) 100%);}
 body.home-v2 .v2-hero .hero-image img {object-position:58% center;}
 body.home-v2 .v2-hero .hero-tagline-badge {margin-bottom:20px;font-size:.75rem;letter-spacing:.1em;}
 body.home-v2 .v2-hero .hero-title {font-size:clamp(1.875rem,8.6vw,2.625rem);line-height:1.08;letter-spacing:-.03em;margin-bottom:20px;overflow-wrap:normal;}
 body.home-v2 .v2-hero .v2-hero-location {margin-top:16px;font-size:clamp(1.0625rem,4.5vw,1.25rem);line-height:1.5;letter-spacing:-.025em;}
 body.home-v2 .v2-hero .hero-description {font-size:1rem;line-height:1.65;max-width:45ch;margin-bottom:28px;}
 body.home-v2 .v2-hero .hero-ctas {display:grid;grid-template-columns:1fr;gap:12px;max-width:420px;}
 body.home-v2 .v2-hero .hero-ctas .v2-btn {width:100%;min-height:52px;padding:12px 16px;font-size:.9375rem;}
}
@media(max-height:500px) and (min-width:768px){body.home-v2 .v2-hero{min-height:0;padding:116px 0 48px;}}

/* Intake: original form contract and handler-controlled success/error visibility. */
body.home-v2 .v2-intake { position: relative; padding: var(--v2-sec-y) 0; background: linear-gradient(135deg,var(--v2-primary-deep),var(--v2-primary)); overflow: hidden; }
body.home-v2 .v2-intake::before { content: none; }
body.home-v2 .v2-intake::after { content: ''; position: absolute; inset: 0; pointer-events: none; background-image: radial-gradient(var(--v2-on-dark-line) 1px,transparent 1px); background-size: 24px 24px; opacity: .4; }
body.home-v2 .v2-intake .v2-intake-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,5fr) minmax(0,7fr); grid-template-areas: 'heading form' 'next form'; gap: 32px 64px; align-items: start; max-width: var(--v2-container); padding: 0 var(--v2-gutter); margin: 0 auto; }
body.home-v2 .v2-intake .section-header { grid-area: heading; text-align: left; margin: 0; }
body.home-v2 .v2-intake .section-header h2 { font: 800 var(--v2-h2)/1.1 'Montserrat',sans-serif; letter-spacing: -.015em; color: var(--v2-on-dark); margin: 16px 0 24px; }
body.home-v2 .v2-intake .section-header p { font-size: var(--v2-lead); line-height: 1.6; color: var(--v2-on-dark-muted); margin: 0; }
body.home-v2 .v2-intake .intake-form-centered { grid-area: form; width: 100%; min-width: 0; max-width: none; margin: 0; padding: 40px; border: 1px solid var(--v2-line); background: var(--v2-paper); border-radius: var(--v2-r-xl); box-shadow: var(--v2-sh-lg); }
body.home-v2 .v2-intake .form-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
body.home-v2 .v2-intake .form-group { min-width: 0; margin-bottom: 20px; }
body.home-v2 .v2-intake .intake-form label { display: block; margin-bottom: 8px; color: var(--v2-ink); font: 600 .875rem/1.5 'Sora',sans-serif; }
body.home-v2 .v2-intake .req { color: var(--v2-action); }
body.home-v2 .v2-intake .intake-form input, body.home-v2 .v2-intake .intake-form select, body.home-v2 .v2-intake .intake-form textarea { box-sizing: border-box; width: 100%; min-width: 0; min-height: 48px; padding: 12px 16px; border: 1.5px solid var(--v2-line); border-radius: 10px; background-color: var(--v2-paper); color: var(--v2-ink); font: 400 1rem/1.5 'Sora',sans-serif; }
body.home-v2 .v2-intake .intake-form select { appearance: auto; background-image: none; padding-right: 8px; }
body.home-v2 .v2-intake .intake-form textarea { min-height: 120px; resize: vertical; }
body.home-v2 .v2-intake .intake-form input:focus, body.home-v2 .v2-intake .intake-form select:focus, body.home-v2 .v2-intake .intake-form textarea:focus { outline: none; border-color: var(--v2-accent); box-shadow: 0 0 0 3px var(--v2-accent-tint); }
body.home-v2 .v2-intake .intake-form ::placeholder { color: var(--v2-muted); opacity: 1; }
body.home-v2 .v2-intake .hp-field { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
body.home-v2 .v2-intake .intake-submit { width: 100%; min-height: 52px; padding: 12px 24px; border: 0; border-radius: var(--v2-r-md); font: 700 1rem/1.5 'Montserrat',sans-serif; cursor: pointer; box-shadow: var(--v2-sh-sm); transition: transform 200ms cubic-bezier(.22,1,.36,1),box-shadow 200ms cubic-bezier(.22,1,.36,1); /* Override accessibility.css's !important button colours and the legacy gradient. */ background: var(--v2-action) !important; color: var(--v2-on-dark) !important; }
body.home-v2 .v2-intake .intake-submit:hover:not(:disabled) { transform: translateY(-2px); box-shadow: var(--v2-sh-md); }
body.home-v2 .v2-intake .intake-submit:disabled { opacity: .6; cursor: wait; transform: none; }
body.home-v2 .v2-intake .form-privacy { margin: 16px 0 0; color: var(--v2-muted); font-size: .8125rem; line-height: 1.55; text-align: center; }
body.home-v2 .v2-intake .intake-form a, body.home-v2 .v2-intake .intake-success a { color: var(--v2-action); text-decoration: underline; text-underline-offset: 4px; }
body.home-v2 .v2-intake .intake-success { display: none; padding: 24px 0; text-align: center; }
body.home-v2 .v2-intake .intake-success h3 { font: 800 var(--v2-h3)/1.25 'Montserrat',sans-serif; color: var(--v2-ink); margin-bottom: 16px; }
body.home-v2 .v2-intake .intake-success p { font-size: var(--v2-body-size); line-height: 1.6; color: var(--v2-body); margin-bottom: 16px; }
body.home-v2 .v2-intake .intake-error { overflow-wrap: anywhere; line-height: 1.6; }
body.home-v2 .v2-intake .v2-intake-next { grid-area: next; }
body.home-v2 .v2-intake .v2-intake-next h3 { margin: 0 0 24px; color: var(--v2-on-dark); font: 800 var(--v2-h3)/1.25 'Montserrat',sans-serif; }
body.home-v2 .v2-intake .v2-intake-next ol { counter-reset: intake-next; list-style: none; margin: 0; padding: 0; display: grid; gap: 16px; }
body.home-v2 .v2-intake .v2-intake-next li { counter-increment: intake-next; display: flex; gap: 16px; color: var(--v2-on-dark-muted); font-size: .9375rem; line-height: 1.6; }
body.home-v2 .v2-intake .v2-intake-next li::before { content: counter(intake-next,decimal-leading-zero); color: var(--v2-accent-soft); font-family: 'Montserrat',sans-serif; font-weight: 700; }
@media (max-width: 1023px) {
  body.home-v2 .v2-intake .v2-intake-layout { grid-template-columns: minmax(0,1fr); grid-template-areas: 'heading' 'form' 'next'; gap: 32px; }
}
@media (max-width: 767px) {
  body.home-v2 .v2-intake .intake-form-centered { padding: 24px; }
  body.home-v2 .v2-intake .form-privacy { font-size: .9375rem; }
}
@media (max-width: 480px) {
  body.home-v2 .v2-intake .form-row { grid-template-columns: minmax(0,1fr); gap: 0; }
}
@media(max-width:767px){
 body.home-v2 .v2-intake {padding:48px 0;}
 body.home-v2 .v2-intake .v2-intake-layout {padding-inline:16px;gap:24px;}
 body.home-v2 .v2-intake .section-header h2 {font-size:clamp(1.875rem,7.5vw,2.5rem);line-height:1.12;margin:12px 0 16px;}
 body.home-v2 .v2-intake .section-header p {font-size:1rem;line-height:1.6;}
 body.home-v2 .v2-intake .intake-form-centered {padding:20px;border-radius:16px;}
 body.home-v2 .v2-intake .form-group {margin-bottom:16px;}
 body.home-v2 .v2-intake .intake-form label {margin-bottom:6px;font-size:.875rem;line-height:1.5;}
 body.home-v2 .v2-intake .intake-form :is(input,select,textarea) {padding:12px;}
 body.home-v2 .v2-intake .intake-form textarea {min-height:104px;}
 body.home-v2 .v2-intake .form-privacy {font-size:.8125rem;line-height:1.6;}
 body.home-v2 .v2-intake .v2-intake-next h3 {font-size:1.25rem;margin-bottom:16px;}
 body.home-v2 .v2-intake .v2-intake-next ol {grid-template-columns:1fr 1fr;gap:16px;}
 body.home-v2 .v2-intake .v2-intake-next li {gap:10px;font-size:.875rem;}
}

/* DDHS homepage v2: mid-cta section. */
body.home-v2 .v2-mid-cta { position: relative; isolation: isolate; overflow: hidden; margin: 0; padding: 88px var(--v2-gutter); background: var(--v2-primary-deep); text-align: center; }
body.home-v2 .v2-mid-cta .mid-cta-bg { position: absolute; inset: 0; z-index: -2; background-size: cover; background-position: center; transform: none; }
body.home-v2 .v2-mid-cta .mid-cta-overlay { position: absolute; inset: 0; z-index: -1; background: linear-gradient(95deg, rgba(15,40,64,.92), rgba(26,58,92,.72)); }
body.home-v2 .v2-mid-cta .mid-cta-content { max-width: 720px; margin: 0 auto; }
body.home-v2 .v2-mid-cta .mid-cta-eyebrow { display: inline-flex; align-items: center; gap: 12px; padding: 0; border: 0; border-radius: 0; background: none; color: var(--v2-gold); margin-bottom: 24px; font: 700 var(--v2-eyebrow)/1.5 Montserrat, sans-serif; letter-spacing: .12em; }
body.home-v2 .v2-mid-cta .mid-cta-actions { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 16px; }
/* Override the legacy mid-cta-btn background/color/shadow !important declarations. */
body.home-v2 .v2-mid-cta .mid-cta-btn { background: var(--v2-paper) !important; color: var(--v2-primary) !important; box-shadow: var(--v2-sh-sm) !important; }
body.home-v2 .v2-mid-cta .mid-cta-btn:hover { background: var(--v2-tint) !important; box-shadow: var(--v2-sh-md) !important; }
body.home-v2 .v2-mid-cta .v2-title { font: 800 var(--v2-h2)/1.1 Montserrat, sans-serif; letter-spacing: -.015em; color: var(--v2-on-dark); margin: 0 0 24px; }
body.home-v2 .v2-mid-cta .v2-lead { font: 400 var(--v2-lead)/1.6 Sora, sans-serif; color: var(--v2-on-dark-muted); max-width: none; margin: 0 0 32px; }
body.home-v2 .v2-mid-cta .v2-btn { display: inline-flex; justify-content: center; align-items: center; gap: 12px; min-height: 52px; padding: 12px 24px; border-radius: var(--v2-r-pill); font: 700 1rem/1.5 Montserrat, sans-serif; text-decoration: none; text-align: center; max-width: 100%; white-space: normal; transition: transform 200ms cubic-bezier(.22,1,.36,1), box-shadow 200ms cubic-bezier(.22,1,.36,1); }
body.home-v2 .v2-mid-cta .v2-btn svg { flex: 0 0 20px; width: 20px; height: 20px; }
body.home-v2 .v2-mid-cta .v2-btn--white { background: var(--v2-paper); color: var(--v2-primary); border: 2px solid transparent; box-shadow: var(--v2-sh-sm); }
body.home-v2 .v2-mid-cta .v2-btn--outline { background: transparent; color: var(--v2-on-dark); border: 2px solid color-mix(in srgb, var(--v2-on-dark) 60%, transparent); box-shadow: none; }
body.home-v2 .v2-mid-cta .v2-btn:hover { transform: translateY(-2px); box-shadow: var(--v2-sh-md); }
body.home-v2 .v2-mid-cta .v2-btn--white:hover { background: var(--v2-tint); color: var(--v2-primary-deep); }
body.home-v2 .v2-mid-cta .v2-btn--outline:hover { background: var(--v2-primary); color: var(--v2-on-dark); }
body.home-v2 .v2-mid-cta .v2-btn:focus-visible { outline: 3px solid var(--v2-accent-soft); outline-offset: 4px; }
@media (max-width: 767px) { body.home-v2 .v2-mid-cta { padding-top: 64px; padding-bottom: 64px; } body.home-v2 .v2-mid-cta .v2-btn { width: 100%; min-height: 48px; } }
body.home-v2 .v2-mid-cta .mid-cta-eyebrow {padding:8px 16px;border:1px solid rgba(173,211,239,.45);border-radius:var(--v2-r-pill);background:rgba(52,152,219,.12);color:#dceefb;font-size:.75rem;letter-spacing:.07em;max-width:100%;}
body.home-v2 .v2-mid-cta .mid-cta-eyebrow::before {content:none;}

/* Three clear destinations, separate from the client-logo rail. */
body.home-v2 .v2-pathways {padding:40px 0 64px;background:var(--v2-paper);}
body.home-v2 .v2-pathways .v2-pathways-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
body.home-v2 .v2-pathway {display:grid;grid-template-columns:1fr 24px;grid-template-rows:48px 1fr;align-items:start;gap:28px 16px;padding:28px;min-width:0;min-height:248px;color:var(--v2-ink);background:var(--v2-tint);border:1px solid var(--v2-line);border-radius:var(--v2-r-lg);text-decoration:none;transition:background-color 180ms,border-color 180ms,box-shadow 180ms;}
body.home-v2 .v2-pathway-icon {display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--v2-paper);color:var(--v2-accent-deep);border:1px solid var(--v2-line);border-radius:var(--v2-r-md);}
body.home-v2 .v2-pathway-copy {grid-column:1/-1;grid-row:2;min-width:0;}
body.home-v2 .v2-pathway h2 {margin:0 0 12px;color:inherit;font:800 clamp(1.125rem,1.6vw,1.375rem)/1.3 'Montserrat',sans-serif;letter-spacing:-.02em;}
body.home-v2 .v2-pathway p {margin:0;color:var(--v2-body);font:400 .9375rem/1.6 'Sora',sans-serif;max-width:34ch;}
body.home-v2 .v2-pathway-arrow {grid-column:2;grid-row:1;align-self:center;color:var(--v2-accent-deep);transition:transform 180ms;}
body.home-v2 .v2-pathway--featured {background:var(--v2-primary);border-color:var(--v2-primary);color:var(--v2-on-dark);}
body.home-v2 .v2-pathway--featured .v2-pathway-icon {background:rgba(244,248,251,.08);border-color:var(--v2-on-dark-line);color:var(--v2-on-dark);}
body.home-v2 .v2-pathway--featured .v2-pathway-arrow {color:var(--v2-on-dark);}
body.home-v2 .v2-pathway--featured p {color:#dbe6ef;}
body.home-v2 .v2-pathway:focus-visible {outline:3px solid var(--v2-accent-deep);outline-offset:5px;}
@media(hover:hover){body.home-v2 .v2-pathway:hover {border-color:var(--v2-accent-deep);box-shadow:var(--v2-sh-md);}body.home-v2 .v2-pathway--featured:hover {background:var(--v2-primary-deep);}body.home-v2 .v2-pathway:hover .v2-pathway-arrow {transform:translate(2px,-2px);}}
@media(max-width:767px){
 body.home-v2 .v2-pathways {padding:24px 0 40px;}
 body.home-v2 .v2-pathways .v2-pathways-grid {grid-template-columns:1fr;gap:12px;}
 body.home-v2 .v2-pathway {min-height:128px;grid-template-columns:40px minmax(0,1fr) 20px;grid-template-rows:auto;gap:16px;padding:20px;align-items:center;}
 body.home-v2 .v2-pathway-icon {width:40px;height:40px;border-radius:10px;}
 body.home-v2 .v2-pathway-copy {grid-column:2;grid-row:1;}
 body.home-v2 .v2-pathway-arrow {grid-column:3;grid-row:1;}
 body.home-v2 .v2-pathway-arrow svg {width:20px;height:20px;}
 body.home-v2 .v2-pathway h2 {font-size:1.125rem;margin-bottom:6px;}
 body.home-v2 .v2-pathway p {font-size:.875rem;line-height:1.5;}
}
@media(max-width:359px){body.home-v2 .v2-pathway{grid-template-columns:32px minmax(0,1fr) 18px;padding:16px;gap:12px;}body.home-v2 .v2-pathway-icon{width:32px;height:40px;background:none;border:0;}}

/* A connected four-step sequence, horizontal on desktop and vertical on phones. */
body.home-v2 .v2-process {padding:var(--v2-sec-y) 0;background:var(--v2-paper);}
body.home-v2 .v2-process .fluid-wrap {max-width:calc(var(--v2-container) + 2 * var(--v2-gutter));}
body.home-v2 .v2-process .fluid-path-heading {max-width:800px;margin-bottom:48px;}
body.home-v2 .v2-process .fluid-path-heading h2 {font-size:var(--v2-h2);line-height:1.1;color:var(--v2-ink);}
body.home-v2 .v2-process .fluid-path {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px;}
body.home-v2 .v2-process .fluid-path::before {height:2px;top:24px;left:24px;right:24px;background:var(--v2-line-strong);}
body.home-v2 .v2-process .fluid-path li::after {content:none;}
body.home-v2 .v2-process .fluid-node {width:48px;height:48px;display:grid;place-items:center;background:var(--v2-action);color:var(--v2-on-dark);font:700 .9375rem/1 'Montserrat',sans-serif;box-shadow:0 0 0 6px var(--v2-paper);margin-bottom:24px;}
body.home-v2 .v2-process .fluid-path h3 {font-size:var(--v2-h3);line-height:1.25;margin:0 0 12px;color:var(--v2-ink);}
body.home-v2 .v2-process .fluid-path p {font:400 var(--v2-body-sm)/1.6 'Sora',sans-serif;color:var(--v2-body);margin:0;}
@media(min-width:768px) and (max-width:1099px){body.home-v2 .v2-process .fluid-path {grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;}body.home-v2 .v2-process .fluid-path::before {display:none;}}
@media(max-width:767px){body.home-v2 .v2-process .fluid-path {grid-template-columns:1fr;gap:32px;}body.home-v2 .v2-process .fluid-path::before {display:block;left:20px;top:20px;bottom:24px;right:auto;width:2px;height:auto;}body.home-v2 .v2-process .fluid-path li {display:grid;grid-template-columns:40px minmax(0,1fr);gap:24px;}body.home-v2 .v2-process .fluid-node {width:40px;height:40px;margin:0;}body.home-v2 .v2-process .fluid-path h3 {font-size:1.25rem;}}

/* Full-image service cards; all eleven remain ordinary links without JavaScript. */
body.home-v2 #services.v2-services {padding:var(--v2-sec-y) 0;background:var(--v2-tint);color:var(--v2-body);}
body.home-v2 #services .fluid-wrap {width:100%;margin-inline:auto;}
body.home-v2 #services .fluid-heading {display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:32px;}
body.home-v2 #services .v2-head {margin:0;}
body.home-v2 #services .fluid-eyebrow {margin:0 0 12px;}
body.home-v2 #services .fluid-controls {display:flex;gap:8px;}
body.home-v2 #services .fluid-controls button {display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid var(--v2-line-strong);border-radius:50%;background:var(--v2-paper);color:var(--v2-primary);font:400 1.25rem 'Sora',sans-serif;cursor:pointer;}
body.home-v2 #services .fluid-controls button:hover {background:var(--v2-primary);color:var(--v2-on-dark);}
body.home-v2 #services .fluid-rail {overflow-x:auto;overflow-y:hidden;scroll-snap-type:none;scroll-behavior:auto;scrollbar-width:none;padding:0 0 8px;overscroll-behavior-x:contain;}
body.home-v2 #services .fluid-rail::-webkit-scrollbar {display:none;}
body.home-v2 #services .v2-services-track {display:flex;width:max-content;}
body.home-v2 #services .fluid-rail ul {display:flex;flex:none;list-style:none;margin:0;padding:0 20px 0 0;gap:20px;width:max-content;}
body.home-v2 #services .fluid-slide {width:350px;flex:0 0 350px;min-width:0;}
body.home-v2 #services .fluid-card {position:relative;isolation:isolate;display:block;height:500px;min-height:500px;overflow:hidden;border:1px solid #24435e;border-radius:var(--v2-r-lg);background:var(--v2-primary-deep);box-shadow:none;color:var(--v2-on-dark);text-decoration:none;transform:none;}
body.home-v2 #services .fluid-photo {position:absolute;inset:0;aspect-ratio:auto;height:100%;width:100%;background:var(--v2-primary-deep);z-index:-2;}
body.home-v2 #services .fluid-photo img {width:100%;height:100%;object-fit:cover;transition:transform 500ms ease;}
body.home-v2 #services .fluid-card::after {content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,25,40,.08),rgba(8,25,40,.2) 30%,rgba(8,25,40,.88) 59%,#081928 100%);pointer-events:none;}
body.home-v2 #services .fluid-card-copy {height:100%;padding:28px;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;}
body.home-v2 #services .fluid-card h3 {font:800 1.625rem/1.15 'Montserrat',sans-serif;letter-spacing:-.02em;margin:0 0 12px;color:var(--v2-on-dark);min-height:0;}
body.home-v2 #services .fluid-card p {font:400 .9375rem/1.6 'Sora',sans-serif;color:#e1eaf1;margin:0;min-height:4.8em;}
body.home-v2 #services .fluid-card-link {display:flex;align-items:center;justify-content:space-between;width:100%;gap:12px;margin-top:24px;min-height:48px;padding:12px 18px;border:1px solid var(--v2-paper);border-radius:var(--v2-r-pill);background:var(--v2-paper);color:var(--v2-primary);font:700 .9375rem/1.5 'Montserrat',sans-serif;}
body.home-v2 #services .fluid-card-link svg {flex:0 0 20px;}
body.home-v2 #services .fluid-extras {display:flex;justify-content:space-between;gap:16px;align-items:center;margin-top:24px;}
body.home-v2 #services .fluid-extras p {font:400 .875rem/1.5 'Sora',sans-serif;margin:0;color:var(--v2-muted);}
body.home-v2 #services .fluid-card:focus-visible {outline:3px solid var(--v2-accent-deep);outline-offset:-5px;}
@media(hover:hover){body.home-v2 #services .fluid-card:hover .fluid-photo img {transform:scale(1.035);}body.home-v2 #services .fluid-card:hover .fluid-card-link {background:var(--v2-accent-tint);}}
@media(max-width:767px){
 body.home-v2 #services .fluid-heading {gap:12px;align-items:center;margin-bottom:24px;}
 body.home-v2 #services .fluid-heading h2 {font-size:clamp(1.75rem,6.5vw,2.125rem);}
 body.home-v2 #services .fluid-controls {gap:6px;}
 body.home-v2 #services .fluid-controls button {width:44px;height:44px;}
 body.home-v2 #services .fluid-rail ul {gap:16px;padding-right:16px;}
 body.home-v2 #services .fluid-slide {width:clamp(252px,78vw,350px);flex-basis:clamp(252px,78vw,350px);}
 body.home-v2 #services .fluid-card {height:450px;min-height:450px;}
 body.home-v2 #services .fluid-card-copy {padding:24px;}
 body.home-v2 #services .fluid-card h3 {font-size:1.5rem;}
 body.home-v2 #services .fluid-card p {font-size:.875rem;min-height:6.4em;}
 body.home-v2 #services .fluid-extras {align-items:flex-start;flex-direction:column;gap:8px;margin-top:16px;}
}

body.home-v2 #services .fluid-controls[hidden]{display:none;}

/* DDHS homepage v2: social section. */
body.home-v2 .v2-social { padding: var(--v2-sec-y) 0; margin: 0; background: var(--v2-tint); }
body.home-v2 .v2-social .social-modern-grid { display: grid; grid-template-columns: minmax(0,7fr) minmax(0,5fr); align-items: end; gap: 48px; margin: 0; }
body.home-v2 .v2-social .social-modern-cta { min-width: 0; margin: 0; padding: 0; text-align: left; }
body.home-v2 .v2-social .section-tag { margin-bottom: 24px; background: none; border: 0; border-radius: 0; padding: 0; color: var(--v2-accent-deep); }
body.home-v2 .v2-social h2 { font: 800 var(--v2-h2)/1.1 Montserrat, sans-serif; letter-spacing: -.015em; margin: 0 0 24px; color: var(--v2-ink); }
body.home-v2 .v2-social .social-modern-cta > p { max-width: var(--v2-measure); font: 400 var(--v2-lead)/1.55 Sora, sans-serif; color: var(--v2-body); margin: 0; }
body.home-v2 .v2-social .social-modern-buttons { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 12px; min-width: 0; }
body.home-v2 .v2-social .social-modern-buttons .v2-btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; width: auto; min-height: 52px; max-width: 100%; padding: 12px 24px; border-radius: var(--v2-r-pill); font: 700 1rem/1.5 Montserrat, sans-serif; white-space: normal; text-align: center; box-shadow: var(--v2-sh-sm); color: var(--v2-on-dark); transition: transform 200ms cubic-bezier(.22,1,.36,1), box-shadow 200ms cubic-bezier(.22,1,.36,1); }
/* Platform brand colours remain supplied by the existing btn-facebook / btn-instagram rules. */
body.home-v2 .v2-social .v2-btn svg { flex: 0 0 20px; width: 20px; height: 20px; }
body.home-v2 .v2-social .v2-btn:hover { transform: translateY(-2px); box-shadow: var(--v2-sh-md); }
body.home-v2 .v2-social .v2-btn:focus-visible { outline: 3px solid var(--v2-primary); outline-offset: 4px; }
body.home-v2 .v2-social .social-photo-mosaic { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); grid-template-rows: auto; gap: 16px; margin-top: 40px; border-radius: 0; overflow: visible; }
body.home-v2 .v2-social .social-photo-mosaic .mosaic-item { grid-row: auto; grid-column: auto; min-height: 0; height: auto; aspect-ratio: 4 / 5; border-radius: var(--v2-r-md); position: relative; overflow: hidden; background-size: cover; background-position: center; transform: none; }
body.home-v2 .v2-social .mosaic-overlay { position: absolute; inset: 0; background: none; }
body.home-v2 .v2-social .mosaic-tag { position: absolute; left: 12px; bottom: 12px; right: auto; max-width: calc(100% - 24px); padding: 8px 12px; border: 1px solid var(--v2-on-dark-line); border-radius: var(--v2-r-sm); background: rgba(15,40,64,.72); color: var(--v2-on-dark); font: 700 .75rem/1.5 Montserrat, sans-serif; letter-spacing: .04em; text-transform: uppercase; backdrop-filter: none; white-space: normal; }
@media (max-width: 1023px) { body.home-v2 .v2-social .social-modern-grid { grid-template-columns: minmax(0,1fr); gap: 24px; } body.home-v2 .v2-social .social-modern-buttons { justify-content: flex-start; } body.home-v2 .v2-social .social-photo-mosaic { grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); } }
@media (max-width: 480px) { body.home-v2 .v2-social .social-photo-mosaic { grid-template-columns: repeat(2,minmax(0,1fr)); } body.home-v2 .v2-social .social-modern-buttons .v2-btn { width: 100%; min-height: 48px; } body.home-v2 .v2-social .mosaic-tag { left: 8px; bottom: 8px; max-width: calc(100% - 16px); padding: 4px 8px; } }

body.home-v2 .v2-social .v2-container { width: 100%; max-width: var(--v2-container); margin-left: auto; margin-right: auto; padding-left: var(--v2-gutter); padding-right: var(--v2-gutter); box-sizing: border-box; }

/* Two equally sized contact actions above the device safe area. */
body.home-v2 .v2-sticky-bar {display:none;position:fixed;inset:auto 0 0;width:100%;margin:0;padding:0;border:0;height:calc(60px + env(safe-area-inset-bottom,0px));z-index:9999;background:var(--v2-primary);box-shadow:0 -4px 20px rgba(15,40,64,.12);transform:none;opacity:1;}
body.home-v2 .v2-sticky-bar a {display:flex;flex:1 1 50%;align-items:center;justify-content:center;gap:10px;min-width:0;min-height:60px;height:100%;padding:0 12px env(safe-area-inset-bottom,0px);border:0;border-radius:0;font:700 .9375rem/1.2 'Montserrat',sans-serif;text-align:center;text-decoration:none;white-space:normal;}
body.home-v2 .v2-sticky-bar svg {flex:0 0 22px;width:22px;height:22px;}
body.home-v2 .v2-sticky-bar .sticky-cta-text {background:var(--v2-accent-tint);color:var(--v2-primary-deep)!important;}
body.home-v2 .v2-sticky-bar .sticky-cta-call {background:var(--v2-primary);color:var(--v2-on-dark);}
body.home-v2 .v2-sticky-bar a:hover {text-decoration:underline;text-underline-offset:4px;}
body.home-v2 .v2-sticky-bar a:focus-visible {outline:3px solid currentColor;outline-offset:-5px;}
@media(max-width:1024px){body.home-v2 .v2-sticky-bar{display:flex;}}

/* Homepage-only finishing for shared header/footer markup. */
body.home-v2 .header .nav {max-width:1280px;padding-inline:var(--v2-gutter);}
body.home-v2 .header .nav-cta {background:var(--v2-action);color:var(--v2-on-dark);box-shadow:none;min-height:48px;font-weight:700;}
body.home-v2 .footer {background:var(--v2-primary-deep);padding:0;color:var(--v2-on-dark-muted);}
body.home-v2 .footer>.container {max-width:1280px;padding:48px var(--v2-gutter) 40px;}
body.home-v2 .footer .footer-skyline img {height:clamp(120px,16vw,224px);object-fit:cover;object-position:center bottom;}
body.home-v2 .footer .footer-brand-band {padding:0 0 32px;border:0;border-bottom:1px solid var(--v2-on-dark-line);border-radius:0;background:none;gap:32px;margin-bottom:24px;}
body.home-v2 .footer .fbb-logo img {width:80px;height:80px;}
body.home-v2 .footer .fbb-newsletter {gap:16px;}
body.home-v2 .footer .fbb-news-headline {font-size:1.125rem;line-height:1.5;}
body.home-v2 .footer .fbb-newsletter input {min-height:48px;border-radius:var(--v2-r-md);font-size:1rem;}
body.home-v2 .footer .fbb-newsletter button {min-height:48px;border-radius:var(--v2-r-md);background:var(--v2-action);color:var(--v2-on-dark);}
body.home-v2 .footer .footer-cta-row {display:flex;gap:16px;margin:0 0 24px;flex-wrap:wrap;}
body.home-v2 .footer .fcr-btn {border-radius:var(--v2-r-pill);padding:12px 24px;min-height:48px;box-shadow:none;font-size:1rem;}
body.home-v2 .footer .fcr-btn-primary {background:var(--v2-action);}
body.home-v2 .footer .footer-contact-cards-v2 {gap:24px;margin-bottom:40px;}
body.home-v2 .footer .fcc2-card {border:0;border-radius:0;background:transparent;}
body.home-v2 .footer .fcc2-card>a,body.home-v2 .footer .fcc2-card>div {padding:12px 0;}
body.home-v2 .footer .fcc2-value {font-size:1rem;overflow-wrap:anywhere;white-space:normal;}
body.home-v2 .footer .footer-nav-grid {gap:48px;padding-bottom:32px;margin-bottom:24px;}
body.home-v2 .footer .fng-heading {font-size:.875rem;color:var(--v2-accent-soft);}
body.home-v2 .footer .fng-list {gap:0;}
body.home-v2 .footer .fng-list a {display:inline-flex;align-items:center;min-height:44px;font-size:.9375rem;color:var(--v2-on-dark-muted);}
body.home-v2 .footer .fng-list a:hover {color:var(--v2-on-dark);text-decoration:underline;text-underline-offset:4px;}
body.home-v2 .footer .footer-bottom-stacked {gap:24px;}
body.home-v2 .footer .fbs-link {flex:0 1 auto;padding:12px 20px;min-height:48px;border-radius:var(--v2-r-pill);}
body.home-v2 .footer .fbs-copy,body.home-v2 .footer .fbs-links a {color:var(--v2-on-dark-muted);font-size:.875rem;}
body.home-v2 .footer .fbs-links a {display:inline-flex;align-items:center;min-height:44px;}
body.home-v2 .footer :is(a,button,input):focus-visible {outline:3px solid var(--v2-gold);outline-offset:4px;}
@media(max-width:1024px){body.home-v2 .footer .fbb-newsletter {grid-template-columns:1fr auto;}body.home-v2 .footer .fbb-news-text {grid-column:1/-1;}}
@media(max-width:767px){body.home-v2 .footer .footer-brand-band {grid-template-columns:1fr;text-align:left;}body.home-v2 .footer .fbb-logo img{margin:0;}body.home-v2 .footer .footer-contact-cards-v2{grid-template-columns:1fr;gap:8px;}body.home-v2 .footer .footer-nav-grid {grid-template-columns:1fr 1fr;gap:32px 24px;}body.home-v2 .footer .footer-nav-grid nav:last-child {grid-column:1/-1;}body.home-v2 .footer .fng-list a {font-size:1rem;}body.home-v2 .footer .fbb-newsletter input{min-width:0;width:100%;}body.home-v2 .footer .fbs-social {flex-wrap:wrap;}}
@media(max-width:390px){body.home-v2 .footer .fbb-newsletter{grid-template-columns:1fr;}body.home-v2 .footer .fcr-btn{width:100%;}}
/* User-specified fall campaign: complete text remains readable on small phones. */
body.home-v2 .announcement-bar .announcement-content {max-width:1280px;padding-inline:var(--v2-gutter);min-height:44px;gap:20px;}
body.home-v2 .announcement-bar .announcement-left {flex:1;min-width:0;}
body.home-v2 .announcement-bar .announcement-text {display:block;white-space:normal;overflow:visible;text-overflow:clip;font:700 .8125rem/1.4 'Montserrat',sans-serif;color:var(--v2-on-dark);}
@media(max-width:767px){
 body.home-v2 .announcement-bar .announcement-content {min-height:44px;justify-content:center;padding-block:7px;}
 body.home-v2 .announcement-bar .announcement-left {width:100%;text-align:center;overflow:visible;}
 body.home-v2 .announcement-bar .announcement-text {font-size:.75rem;max-width:36ch;margin-inline:auto;text-wrap:balance;}
}
/* One navy surface across Safari's status area and the announcement. */
html.home-v2-page {background:#0f2840;}
body.home-v2 {--v2-safe-top:env(safe-area-inset-top,0px);--v2-ann-min:44px;--v2-ann-height:calc(var(--v2-ann-min) + var(--v2-safe-top));padding-top:var(--v2-ann-height);}
body.home-v2 .announcement-bar {box-sizing:border-box;height:auto;min-height:calc(var(--v2-ann-min) + var(--v2-safe-top));padding:var(--v2-safe-top) 0 0!important;background:#0f2840!important;border-bottom:0!important;}
body.home-v2 .announcement-bar .announcement-content {box-sizing:border-box;height:auto;min-height:var(--v2-ann-min);padding-block:7px;padding-left:max(var(--v2-gutter),env(safe-area-inset-left,0px));padding-right:max(var(--v2-gutter),env(safe-area-inset-right,0px));}
body.home-v2 .header {top:var(--v2-ann-height)!important;}
body.home-v2 .header .nav,body.home-v2 .v2-container {padding-left:max(var(--v2-gutter),env(safe-area-inset-left,0px));padding-right:max(var(--v2-gutter),env(safe-area-inset-right,0px));}
body.home-v2 .v2-sec {scroll-margin-top:calc(var(--v2-ann-height) + 80px);}
@media(max-width:767px){body.home-v2{--v2-ann-min:48px;}}

/* Final assembled-page refinements, after legacy cascade and all section styles. */
body.home-v2 .v2-sec .v2-container,body.home-v2 .v2-hero .hero-content,
body.home-v2 .v2-intake .v2-intake-layout {max-width:calc(var(--v2-container) + 2 * var(--v2-gutter));}
/* Widget max-width is important in its shared stylesheet. */
body.home-v2 .v2-booking .booking-calendar-widget .dd-c {max-width:calc(var(--v2-container) + 2 * var(--v2-gutter))!important;}
body.home-v2 .v2-booking .dd-l h2.dd-l-title em {font-family:var(--font-heading);font-style:normal;font-weight:800;}
body.home-v2 .v2-booking .dd-r {background:var(--v2-primary-deep);}
body.home-v2 .v2-booking .dd-week-grid {grid-template-columns:repeat(7,minmax(44px,1fr));gap:4px;overflow-x:auto;overscroll-behavior-x:contain;}
body.home-v2 .v2-booking .dd-week-av {font-size:.625rem;white-space:normal;overflow-wrap:normal;}
body.home-v2 .v2-booking .dd-week-d {min-height:72px;}
body.home-v2 .v2-booking .dd-input-wrap label {display:block;margin:0 0 8px;color:var(--v2-on-dark-muted);font:600 .875rem/1.5 'Sora',sans-serif;}
body.home-v2 .v2-booking .dd-input-wrap .dd-req {display:none;}
body.home-v2 .v2-booking .dd-input-wrap .dd-req-label {color:var(--v2-accent-soft);}
body.home-v2 .v2-booking .dd-input {border-color:#829bad;background:#173651;}
body.home-v2 .v2-booking .dd-input-wrap .dd-input::placeholder {color:#bed0dc;}
body.home-v2 .v2-booking .dd-input-wrap .dd-invalid {border-color:#ffc9c4;}
@container booking-card (min-width:480px){
 body.home-v2 .v2-booking .dd-svc {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
 body.home-v2 .v2-booking .dd-svc button {display:grid;grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;padding:12px;min-height:112px;}
 body.home-v2 .v2-booking .dd-svc-name {font-size:.9375rem;line-height:1.3;}
 body.home-v2 .v2-booking .dd-svc-sub {font-size:.8125rem;line-height:1.4;}
 body.home-v2 .v2-booking .dd-svc .dd-pr {grid-column:2;max-width:none;text-align:left;font-size:.8125rem;}
 body.home-v2 .v2-booking .dd-svc-tick {margin-top:2px;}
 body.home-v2 .v2-booking .dd-times-grid {grid-template-columns:repeat(4,minmax(0,1fr));}
}
body.home-v2 .header .nav-links>li>a::before {content:none;}
body.home-v2 #gallery.v2-gallery .section-tag {background:none;border:0;border-radius:0;padding:0;color:var(--v2-accent-deep);}
body.home-v2 #gallery.v2-gallery .ba-before {filter:none;}
body.home-v2 #gallery.v2-gallery .ba-label>span:first-child,body.home-v2 #gallery.v2-gallery .ba-label>span:last-child {font:700 .75rem/1.5 'Montserrat',sans-serif;background:var(--v2-accent-tint);color:var(--v2-accent-deep);padding:4px 6px;border-radius:4px;}
/* The legacy accessibility asset force-colours before/after tags; preserve their contrast. */
body.home-v2 #gallery.v2-gallery .ba-before-tag,body.home-v2 #gallery.v2-gallery .ba-after-tag {background:var(--v2-accent-tint)!important;color:var(--v2-accent-deep)!important;}
@media(min-width:1100px){body.home-v2 .v2-services .fluid-card h3 {min-height:2.5em;}}
@media(max-width:767px){body.home-v2 .v2-booking .dd-r {padding:16px;}}
@media(max-width:390px){body.home-v2 .v2-services .fluid-card h3 {font-size:1.25rem;}body.home-v2 .v2-services .fluid-card-copy {padding:20px;}}
@media(prefers-reduced-motion:reduce){html:has(body.home-v2){scroll-behavior:auto;}}
/* A stable mobile brand lockup leaves room for the menu without a moving ticker. */
@media(max-width:1024px){
 body.home-v2 .header .nav-mobile-ticker {display:none;}
 body.home-v2 .header .logo {display:flex;align-items:center;gap:12px;min-width:0;}
 body.home-v2 .header .logo::after {content:'D&D Home Services';font:700 .8125rem/1.3 'Montserrat',sans-serif;letter-spacing:.01em;color:inherit;}
 body.home-v2 .header .mobile-toggle {width:44px;min-width:44px;min-height:44px;align-items:center;justify-content:center;}
}
body.home-v2 .v2-booking .dd-week-av {max-width:100%;overflow-wrap:anywhere;line-height:1.25;}
body.home-v2 #areas.v2-areas .v2-container {max-width:calc(var(--v2-container) + 2 * var(--v2-gutter));}
body.home-v2 #gallery.v2-gallery .section-tag.v2-eyebrow,
body.home-v2 #social.v2-social .section-tag.v2-eyebrow {padding:0;border:0;border-radius:0;background:none;box-shadow:none;}
@media(max-width:1024px){
 body.home-v2 .header .logo {flex:1;max-width:none;width:auto;overflow:visible;}
 body.home-v2 .header .logo::after {color:var(--v2-on-dark);white-space:normal;max-width:150px;}
 body.home-v2 .header.scrolled .logo::after {color:var(--v2-ink);}
}
@media(min-width:1100px){body.home-v2 .v2-process h3 {min-height:2.5em;}}
