/* Clinic home: photographic orientation, visual service menus and a facility gallery. */
.dc-home { --dc-home-beauty:#77576b; background:#fff; }
.dc-home .dc-container { width:min(1240px,calc(100% - 80px)); }
.dc-home section[id] { scroll-margin-top:150px; }
.dc-home p { font-size:16px; line-height:1.95; }
.dc-home figure { margin:0; }
.dc-home .dc-home-eyebrow { color:var(--dc-green); font-size:14px; font-weight:600; line-height:1.7; letter-spacing:.08em; margin:0 0 16px; }
.dc-home figcaption { color:var(--dc-muted); font-size:12px; line-height:1.7; margin-top:8px; }
.dc-home .dc-button { display:inline-flex; align-items:center; justify-content:space-between; border-radius:999px; gap:18px; min-height:56px; font-size:16px; font-weight:600; padding:15px 24px; }
.dc-home .dc-button:hover { transform:none; }
.dc-home .dc-button--primary { background:#28794f; border-color:#28794f; color:#fff; }
.dc-home .dc-button--medical { background:#23677f; border-color:#23677f; color:#fff; }
.dc-home .dc-button--beauty { background:var(--dc-home-beauty); color:#fff; border-color:var(--dc-home-beauty); }
.dc-home .dc-button--quiet { background:#fff; border:1px solid #a8bfae; }
.dc-home .dc-home-inline { align-items:center; display:inline-flex; gap:16px; color:var(--dc-green); font-size:15px; font-weight:500; min-height:44px; line-height:1.7; text-decoration:none; }
.dc-home .dc-home-inline .clinic-icon { width:18px; height:18px; flex-basis:18px; }
.dc-home-links { display:flex; flex-wrap:wrap; align-items:center; gap:6px 24px; }
.dc-home-links a { display:inline-flex; justify-content:space-between; gap:20px; align-items:center; min-height:44px; color:var(--dc-green); font-size:15px; line-height:1.7; text-decoration:none; border-bottom:1px solid #c3d8cb; }
.dc-home-hero { position:relative; isolation:isolate; overflow:hidden; padding:0; background:#f3f8f5; }
.dc-home-hero__grid { display:flex; align-items:center; min-height:420px; position:relative; }
.dc-home-hero__copy { padding:24px 0; width:55%; min-width:0; position:relative; z-index:2; }
.hp-clinic-refresh .dc-home-hero h1 { font-family:var(--hp-font-primary); font-size:clamp(34px,3.5vw,46px); line-height:1.55; font-weight:700; letter-spacing:.025em; color:#233d35; margin:0 0 16px; }
.dc-home-hero .dc-hero__phrase { display:block; }
.dc-home-hero__lead { max-width:30em; margin:0; }
.dc-home-hero__actions { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:24px; max-width:610px; }
.dc-home-hero__actions .dc-button { text-align:left; padding:15px 19px; min-height:78px; gap:12px; box-shadow:0 7px 20px #174f3d12; }
.dc-home-hero__actions .dc-button>span { flex:1; }
.dc-home-hero__actions .clinic-icon:first-child { width:28px; height:28px; flex-basis:28px; }
.dc-home-hero__actions .clinic-icon:last-child { width:16px; height:16px; flex-basis:16px; }
.dc-home-hero__actions small { display:block; font-size:12px; font-weight:400; margin-bottom:4px; }
.dc-home-hero__photo { position:absolute; inset:0 0 0 26%; z-index:-1; }
.dc-home-hero__photo::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#f3f8f5 0%,#f3f8f5f5 12%,#f3f8f5a6 33%,#f3f8f500 61%); pointer-events:none; }
.dc-home-hero__frame { position:relative; height:100%; overflow:hidden; }
.dc-home-hero__frame img { width:100%; height:100%; object-fit:cover; object-position:66% center; display:block; }
.dc-home .dc-home-hero__photo-label { position:absolute; right:24px; bottom:18px; color:#294133; background:#fffffff0; margin:0; padding:6px 12px; font-size:12px; border-radius:4px; z-index:1; }
.dc-home .dc-home-quick { margin:16px auto; }
.dc-home .dc-home-quick>a { min-height:82px; padding-block:12px; }
.dc-home .dc-today { padding:8px 0 0; background:#fff; }
.dc-home .dc-today__inner { display:grid; grid-template-columns:220px minmax(0,1fr) 265px; align-items:center; gap:32px; padding:28px 32px; border:1px solid #dce9df; border-radius:18px; background:#fff; box-shadow:0 12px 38px #355a4210; }
.dc-today__title { display:grid; grid-template-columns:38px minmax(0,1fr); gap:12px; align-items:center; align-self:start; }
.dc-today__title .clinic-section-symbol { width:38px; height:38px; }
.dc-today__title .dc-home-inline { grid-column:1/-1; }
.dc-home .dc-today h2 { font-family:var(--hp-font-primary); font-size:20px; font-weight:600; line-height:1.7; margin:0; }
.dc-home .dc-today .dc-home-inline { font-size:13px; gap:8px; }
.dc-today__contact { text-align:center; }
.dc-home .dc-today__contact p { font-size:12px; color:#65796e; margin:8px 0 0; }
.dc-home .dc-today .clinic-phone-button { padding-inline:17px; }
.dc-home .dc-today .clinic-phone-button strong { font-size:22px; }
.dc-home .dc-section { padding:88px 0; }
.hp-clinic-refresh .dc-home .dc-section h2 { font-family:var(--hp-font-primary); font-size:clamp(27px,2.7vw,36px); font-weight:700; line-height:1.7; letter-spacing:.03em; margin-top:0; }
.dc-home .dc-section-heading { text-align:center; margin:0 0 24px; max-width:none; }
.dc-home .dc-section-heading .clinic-section-symbol { margin-bottom:12px; }
.dc-section-heading>p { color:var(--dc-green); font-size:14px; letter-spacing:.12em; font-weight:600; margin:0 0 10px; }
.dc-home-medical__intro { max-width:46em; margin:0 auto 36px; text-align:center; }
.dc-home .hp-outpatient-menu { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.dc-home .hp-outpatient-menu__item { position:relative; display:grid; grid-template-columns:48px minmax(0,1fr); gap:18px; padding:22px 24px 30px; align-items:center; border:1px solid #dce9df; border-radius:12px; min-height:145px; background:#fff; overflow:hidden; }
.dc-home .hp-outpatient-menu__item--featured { display:flex; flex-direction:column; align-items:stretch; padding:0; gap:0; }
.dc-home .hp-outpatient-menu__photo { width:100%; height:180px; position:relative; overflow:hidden; }
.dc-home .hp-outpatient-menu__photo img { display:block; width:100%; height:100%; object-fit:cover; transition:transform 220ms cubic-bezier(.2,.8,.2,1); }
.dc-home .hp-outpatient-menu__photo figcaption { position:absolute; right:8px; bottom:6px; background:#ffffffeb; padding:2px 5px; color:#536b60; font-size:11px; }
.dc-home .hp-outpatient-menu__item--featured .hp-outpatient-menu__content { padding:22px 24px 34px; }
.dc-home .hp-outpatient-menu__icon { width:48px; height:48px; border-radius:50%; }
.dc-home .hp-outpatient-menu__icon svg { width:28px; height:28px; }
.dc-home .hp-outpatient-menu h3 { font-size:19px; margin-bottom:8px; }
.dc-home .hp-outpatient-menu__description { font-size:14px; line-height:1.8; }
.dc-home .hp-outpatient-menu__arrow { position:absolute; bottom:12px; right:16px; display:grid; place-items:center; width:26px; height:26px; border-radius:50%; font-size:16px; background:#edf5ef; }
.dc-home-medical__note { margin-top:26px; color:var(--dc-muted); }
.dc-home-doctor-link { display:grid; grid-template-columns:132px minmax(0,1fr) 300px; align-items:center; gap:40px; padding:28px 32px; margin-top:32px; background:#f4f8f5; border-left:3px solid #79a88a; border-radius:0 12px 12px 0; }
.dc-home-doctor-link__photo img { width:132px; height:160px; object-fit:cover; border-radius:6px; display:block; }
.dc-home-doctor-link h3 { margin:0 0 8px; font-size:23px; }
.dc-home-doctor-link p { margin:0; }
.dc-home-doctor-link .dc-home-eyebrow { margin-bottom:8px; }
.dc-home-doctor-link .dc-home-links { max-width:340px; }
.dc-home .dc-home-paths { padding:0; background:#edf5f1; }
.dc-home-paths__layout { display:grid; grid-template-columns:1fr 1fr; gap:70px; align-items:center; }
.dc-home-paths__layout figure { position:relative; align-self:stretch; }
.dc-home-paths__layout img { width:100%; height:100%; max-height:410px; object-fit:cover; display:block; }
.dc-home-paths__layout figcaption { position:absolute; right:12px; bottom:8px; background:#ffffffe8; padding:2px 6px; color:#53695a; }
.dc-home-paths__visit { padding:36px 0; }
.dc-home .dc-home-paths__visit h2 { font-size:30px; margin:0 0 16px; }
.dc-home-paths__visit .dc-home-links { margin-top:24px; }
.dc-home-care { background:linear-gradient(#fff 0 38%,#f2f7ee 65%,#f2f7ee 100%); }
.dc-home-care__intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:80px; align-items:center; margin-bottom:56px; }
.dc-home-care__intro h2 { margin:0 0 24px; }
.dc-home-care__intro img { width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:8px 72px 8px 8px; }
.dc-facility-carousel__heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:20px; }
.dc-facility-carousel__heading .dc-home-eyebrow { margin-bottom:6px; }
.dc-facility-carousel__heading h3 { font-family:var(--hp-font-primary); font-weight:700; font-size:27px; margin:0; }
.dc-home-facility { display:flex; flex-direction:column; border:1px solid #d8e4da; border-radius:12px; text-decoration:none; color:var(--dc-body); overflow:hidden; background:#fff; box-shadow:0 4px 14px #24473208; }
.dc-home-facility__photo { width:100%; overflow:hidden; aspect-ratio:16/10; }
.dc-home-facility img { display:block; width:100%; height:100%; object-fit:cover; transition:transform 220ms cubic-bezier(.2,.8,.2,1); }
.dc-home-facility__body { display:flex; flex-direction:column; flex:1; min-width:0; padding:24px; }
.dc-home-facility h3 { font-size:20px; line-height:1.65; font-weight:600; margin:0 0 14px; }
.dc-home .dc-home-facility p { font-size:15px; margin:0 0 16px; line-height:1.8; }
.dc-home-facility .dc-facility-name { display:block; }
.dc-home-facility__more { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--dc-green); font-size:14px; min-height:44px; border-top:1px solid #d8e4da; margin-top:auto; padding-top:8px; }
.dc-home-facility__more .clinic-icon { width:18px; height:18px; flex-basis:18px; }
.dc-home-care__reading { display:grid; grid-template-columns:1fr 1fr; gap:32px; margin-top:40px; }
.dc-home-care__reading>article { padding:30px; background:#ffffffb3; border:1px solid #dce8dc; border-radius:14px; }
.dc-home-care__reading h3 { font-size:22px; margin:0 0 16px; }
.dc-home-visit { background:#f3f8f6; border-top:1px solid #dde9e1; }
.dc-home-visit__grid { display:grid; grid-template-columns:1fr 1.15fr; gap:72px; }
.dc-home-visit h2 { margin:0; }
.dc-home-visit p { margin-top:0; }
.dc-home-beauty { background:#fbf7f9; }
.dc-home-beauty__grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:80px; align-items:center; }
.dc-home-beauty__grid img { width:100%; height:auto; border-radius:70px 12px 12px 12px; }
.dc-home-beauty__menu { display:grid; grid-template-columns:1fr 1fr; gap:0 24px; margin:28px 0; }
.dc-home-beauty__menu a { display:flex; min-height:50px; gap:12px; justify-content:space-between; align-items:center; font-size:15px; border-bottom:1px solid #e0d6dd; color:var(--dc-home-beauty); }
.dc-home-beauty .dc-actions { margin:24px 0; display:flex; gap:20px; align-items:center; flex-wrap:wrap; }
.dc-home .dc-home-beauty .dc-home-eyebrow { color:var(--dc-home-beauty); }
.dc-home-access__grid { display:grid; grid-template-columns:1.1fr 1fr; gap:80px; align-items:center; }
.dc-home-access__contact { padding:36px; background:#f1f7f3; border:1px solid #d8e4da; border-radius:16px; }
.dc-contents { background:#f5f8f3; }
.dc-contents__grid { display:grid; grid-template-columns:1.1fr 1fr; gap:72px; }
.dc-contents h2 { margin-bottom:40px; }
.dc-contents h3 { font-size:23px; margin:0 0 20px; }
.dc-news { margin:0 0 20px; padding:0; list-style:none; }
.dc-news ul { list-style:none; padding:0; }
.dc-column-links>a { display:flex; align-items:center; gap:20px; min-height:56px; border-bottom:1px solid #cedbd0; color:var(--dc-green); font-size:16px; }
.dc-news li { padding:18px 0; border-bottom:1px solid #cedbd0; }
.dc-news time { display:block; font-size:14px; margin-bottom:8px; }
.dc-news a { font-size:16px; line-height:1.8; color:var(--dc-ink); }
.dc-home-contact { padding:72px 0; background:#205b43; color:#fff; }
.dc-home .dc-home-contact h2 { color:#fff; margin:0 0 36px; }
.dc-home-contact__grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:32px; }
.dc-home-contact__grid>article { padding-right:24px; border-right:1px solid #ffffff40; }
.dc-home-contact__grid>article:last-child { border:0; padding-right:0; }
.dc-home .dc-home-contact h3 { color:#fff; font-size:22px; margin:0 0 16px; }
.dc-home-contact p { font-size:14px; color:#e9f3ec; }
.dc-home-contact a { display:flex; min-height:44px; align-items:center; color:#fff; text-decoration:underline; text-underline-offset:5px; }
.dc-home-contact a:first-of-type { margin:12px 0; }
.hp-clinic-refresh .dc-home-contact .clinic-phone-button { background:#fff; color:#205b43; border-color:#fff; width:100%; justify-content:flex-start; }
.dc-home-contact__action:not(.clinic-phone-button) { font-size:18px; font-weight:600; }
@media(hover:hover) and (pointer:fine) {
 .dc-home .hp-outpatient-menu__item--featured:hover img { transform:scale(1.025); }
 .dc-home-facility:hover img { transform:scale(1.025); }
 .dc-home :is(.dc-home-inline,.dc-home-links a):hover { text-decoration:underline; text-underline-offset:5px; }
 .dc-home-hero__actions .dc-button:hover { box-shadow:0 8px 20px #174f3d25; }
}
@media(max-width:1180px) {
 .dc-home .dc-container { width:calc(100% - 48px); }
 .dc-home-hero__copy { width:62%; }
 .dc-home-hero__grid { min-height:420px; }
 .dc-home .dc-today__inner { grid-template-columns:190px minmax(0,1fr); padding:26px; gap:24px; }
 .dc-today__contact { grid-column:1 / -1; display:flex; align-items:center; justify-content:center; gap:20px; border-top:1px solid #dce9df; padding-top:20px; }
 .dc-home-care__intro,.dc-home-beauty__grid,.dc-home-access__grid,.dc-home-paths__layout { gap:40px; }
 .dc-home-doctor-link { grid-template-columns:110px minmax(0,1fr); gap:24px; }
 .dc-home-doctor-link__photo img { width:110px; height:135px; }
 .dc-home-doctor-link .dc-home-links { grid-column:2; }
 .dc-home-contact__grid { gap:24px; }
 .hp-clinic-refresh .dc-home-contact .clinic-phone-button { padding-inline:14px; gap:10px; }
 .hp-clinic-refresh .dc-home-contact .clinic-phone-button strong { font-size:19px; }
}
@media(max-width:900px) {
 .dc-home .hp-outpatient-menu { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .dc-home .hp-outpatient-menu__item--featured:last-child { grid-column:1/-1; display:grid; grid-template-columns:42% 1fr; }
 .dc-home .hp-outpatient-menu__item--featured:last-child .hp-outpatient-menu__photo { height:100%; min-height:180px; }

 .dc-home-hero__copy { width:73%; }
 .dc-home-hero__photo { left:18%; }
 .dc-home-hero__photo::after { background:linear-gradient(90deg,#f3f8f5 0%,#f3f8f5eb 24%,#f3f8f570 65%,#f3f8f500); }
 .dc-home-hero__lead { max-width:27em; }
 .dc-home-contact__grid { grid-template-columns:1fr; }
 .dc-home .dc-home-contact__grid>article { padding:0 0 24px; border-right:0; border-bottom:1px solid #ffffff40; }
 .hp-clinic-refresh .dc-home-contact .clinic-phone-button { max-width:350px; }
}
@media(max-width:767px) {
 .dc-home .hp-outpatient-menu { gap:12px; }
 .dc-home .hp-outpatient-menu__item { display:flex; flex-direction:column; align-items:flex-start; padding:18px 14px 35px; gap:12px; min-height:0; }
 .dc-home .hp-outpatient-menu__item--featured { padding:0; gap:0; }
 .dc-home .hp-outpatient-menu__photo { height:115px; }
 .dc-home .hp-outpatient-menu__photo figcaption { font-size:10px; right:4px; bottom:4px; }
 .dc-home .hp-outpatient-menu__item--featured .hp-outpatient-menu__content { padding:16px 14px 34px; }
 .dc-home .hp-outpatient-menu__item--featured:last-child .hp-outpatient-menu__photo { min-height:170px; }
 .dc-home .hp-outpatient-menu h3 { font-size:16px; line-height:1.6; }
 .dc-home .hp-outpatient-menu__description { font-size:14px; line-height:1.75; }
 .dc-home .hp-outpatient-menu__icon { width:42px; height:42px; }

 .dc-home .dc-container { width:calc(100% - 32px); }
 .dc-home-hero__grid { min-height:0; display:block; }
 .dc-home-hero__copy { padding:28px 0 18px; width:100%; }
 .hp-clinic-refresh .dc-home-hero h1 { font-size:32px; line-height:1.7; margin-bottom:14px; letter-spacing:.015em; }
 .dc-home .dc-home-eyebrow { font-size:13px; margin-bottom:12px; }
 .dc-home-hero__photo { inset:0; }
 .dc-home-hero__photo::after { background:linear-gradient(90deg,#f3f8f5f7 0%,#f3f8f5ed 38%,#f3f8f590 70%,#f3f8f530),linear-gradient(0deg,#f3f8f5 1%,#f3f8f500 50%); }
 .dc-home-hero__frame img { object-position:58% center; }
 .dc-home .dc-home-hero__photo-label { display:none; }
 .dc-home .dc-home-hero__lead { font-size:14px; line-height:1.85; max-width:21em; margin-right:30px; }
 .dc-home-hero__actions { margin-top:34px; gap:8px; }
 .dc-home-hero__actions .dc-button { min-height:73px; font-size:14px; padding:12px; gap:8px; }
 .dc-home-hero__actions .clinic-icon:first-child { width:24px; height:24px; flex-basis:24px; }
 .dc-home-hero__actions .clinic-icon:last-child { display:none; }
 .dc-home-hero__actions small { font-size:11px; margin:0 0 5px; }
 .dc-home .dc-home-quick { margin:16px auto 22px; }
 .dc-home .dc-today { padding-top:0; }
 .dc-home .dc-today__inner { display:block; padding:22px 16px; border-radius:14px; }
 .dc-today__title { display:grid; grid-template-columns:40px 1fr; gap:4px 12px; align-items:center; margin-bottom:16px; }
 .dc-today__title .clinic-section-symbol { width:40px; height:40px; grid-row:1/3; }
 .dc-home .dc-today h2 { font-size:21px; margin:0; }
 .dc-home .dc-today .dc-home-inline { min-height:34px; }
 .dc-today__contact { display:block; margin-top:20px; padding-top:20px; }
 .dc-home .dc-section { padding:56px 0; }
 .hp-clinic-refresh .dc-home .dc-section h2 { font-size:27px; line-height:1.65; }
 .dc-home-medical__intro { text-align:left; margin-bottom:24px; }
 .dc-home .dc-section-heading { text-align:left; margin-bottom:20px; }
 .dc-home .dc-section-heading .clinic-section-symbol { width:42px; height:42px; float:left; margin-right:12px; }
 .dc-home .dc-section-heading h2 { clear:both; padding-top:16px; margin-bottom:14px; }
 .dc-home .dc-section-heading>p { min-height:42px; display:flex; align-items:center; }
 .dc-home-doctor-link { display:grid; grid-template-columns:88px minmax(0,1fr); gap:18px; padding:24px 18px; }
 .dc-home-doctor-link__photo img { width:88px; height:110px; }
 .dc-home-doctor-link__photo figcaption { font-size:11px; }
 .dc-home-doctor-link .dc-home-links { grid-column:1/-1; }
 .dc-home-doctor-link h3 { font-size:19px; }
 .dc-home-doctor-link p { font-size:14px; }
 .dc-home-doctor-link .dc-home-links { margin-top:20px; }
 .dc-home-paths__layout { width:100%!important; display:flex; flex-direction:column; gap:0; }
 .dc-home-paths__layout figure { width:100%; height:220px; }
 .dc-home-paths__layout img { height:220px; object-position:center 42%; }
 .dc-home-paths__visit { padding:30px 24px; }
 .dc-home-care__intro,.dc-home-care__reading,.dc-home-visit__grid,.dc-home-beauty__grid,.dc-home-access__grid,.dc-contents__grid { grid-template-columns:minmax(0,1fr); gap:28px; }
 .dc-home-care__intro { margin-bottom:36px; }
 .dc-home-care__intro img { border-radius:8px 48px 8px 8px; }
 .dc-facility-carousel__heading { display:block; margin-bottom:12px; }
 .dc-facility-carousel__heading h3 { font-size:25px; }
 .dc-facility-carousel__heading .dc-home-inline { font-size:14px; margin-top:8px; }
 .dc-home-facility__body { padding:20px; }
 .dc-home-facility h3 { font-size:20px; }
 .dc-home-care__reading { margin-top:26px; gap:16px; }
 .dc-home-care__reading>article { padding:24px; }
 .dc-home-care__reading h3 { font-size:21px; }
 .dc-home-beauty__menu { grid-template-columns:minmax(0,1fr); }
 .dc-home-access__contact { padding:26px 20px; }
 .dc-home-contact { padding:48px 0; }
 .dc-home .dc-home-contact h2 { font-size:24px; line-height:1.7; }
 .dc-home .dc-home-contact__grid>article:last-child { border:0; }
}
@media(max-width:359px) {
 .hp-clinic-refresh .dc-home-hero h1 { font-size:29px; }
 .dc-home-hero__actions .dc-button { padding:12px 10px; font-size:13px; gap:6px; }
 .dc-home-hero__actions .clinic-icon:first-child { width:21px; height:21px; flex-basis:21px; }
 .dc-home-hero__actions small { font-size:10px; }
}
html[data-font-size="large"] .dc-home :is(p,.dc-button,.dc-home-links a) { font-size:20px; }
html[data-font-size="large"] .dc-home-hero__actions { grid-template-columns:minmax(0,1fr); max-width:420px; }
html[data-font-size="large"] .dc-home-hero__copy { width:70%; }
@media(max-width:767px) { html[data-font-size="large"] .dc-home-hero__copy { width:100%; } }
@media(prefers-reduced-motion:reduce) { .dc-home-facility img,.dc-home .hp-outpatient-menu__photo img { transition:none; transform:none!important; } }

/* Core service banners: one whole-card destination per service. */
.clinic-core__intro { max-width:760px; margin:0 0 30px; line-height:1.9; }
.clinic-core__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.clinic-core__banner { display:flex; flex-direction:column; overflow:hidden; border:1px solid #d8e3dc; border-radius:16px; background:#fff; color:#234d3b; text-decoration:none; }
.clinic-core__banner figure { position:relative; margin:0; }
.clinic-core__banner img { display:block; width:100%; height:210px; object-fit:cover; }
.clinic-core__banner figcaption { position:absolute; bottom:8px; right:8px; padding:3px 8px; background:#fff; font-size:12px; color:#345146; }
.clinic-core__copy { display:flex; flex:1; flex-direction:column; gap:10px; padding:26px; }
.clinic-core__copy small { font-size:14px; }
.clinic-core__copy strong { font-size:28px; }
.clinic-core__copy>span { font-size:16px; line-height:1.9; }
.clinic-core__copy .clinic-core__label { align-self:flex-start; margin-top:auto; padding:8px 16px; border-radius:6px; background:#eaf2ed; font-size:15px; font-weight:600; }
.clinic-core__banner:hover .clinic-core__label { background:#dcebe1; text-decoration:underline; }
.clinic-core__banner:focus-visible { outline:3px solid #28794f; outline-offset:5px; }
.clinic-core__about { margin-top:28px; }
.hp-clinic-refresh .dc-home-access .clinic-phone-button small,
.hp-clinic-refresh .dc-home-access .clinic-phone-button strong { color:inherit; }
@media(max-width:767px) { .clinic-core__grid { grid-template-columns:1fr; gap:18px; } .clinic-core__banner img { height:170px; } .clinic-core__copy { padding:22px; } .clinic-core__copy strong { font-size:25px; } }

/* Preserve the compact 1.3.3 TOP rhythm around a dedicated moving photo strip. */
.clinic-home-facilities { background:#fff; padding:40px 0; border-top:1px solid #e0e8e2; }
.clinic-home-facilities h2 { font-size:26px; line-height:1.5; margin:0; }
.clinic-home-facilities .clinic-facility-intro { font-size:14px; line-height:1.85; margin:12px 0 20px; }
.clinic-facility-viewport { position:relative; overflow-x:auto; overscroll-behavior-x:contain; padding:4px 0 14px; scrollbar-width:none; }
.clinic-facility-viewport::-webkit-scrollbar { display:none; }
.clinic-facility-track { display:flex; gap:16px; width:max-content; }
.clinic-facility-set { display:flex; gap:16px; }
.clinic-facility-viewport.is-marquee { overflow:hidden; touch-action:pan-y; }
.is-marquee .clinic-facility-track { will-change:transform; }
.clinic-facility-slide { width:272px; flex:0 0 272px; min-width:0; border:1px solid #d8e3dc; border-radius:8px; background:#fff; overflow:hidden; }
.clinic-facility-card-content { display:block; height:100%; color:#263b30; text-decoration:none; cursor:pointer; }
.clinic-facility-slide img { width:100%; height:150px; display:block; object-fit:cover; }
.clinic-facility-card-content>div { padding:16px; }
.clinic-facility-slide h3 { font-size:18px; line-height:1.6; margin:0 0 12px; min-height:2.9em; }
.clinic-facility-detail-label { display:block; border-top:1px solid #e2e9e3; padding-top:12px; font-size:14px; font-weight:600; color:#20583f; }
.clinic-facility-viewport:focus-visible,.clinic-facility-card-content:focus-visible { outline:3px solid #246b4b; outline-offset:3px; }
.hp-clinic-home .dc-home-contact .dc-button--quiet { color:#20583f; background:#fff; border-color:#fff; text-decoration:none; }
@media(hover:hover) and (pointer:fine) { .clinic-facility-card-content:hover .clinic-facility-detail-label { text-decoration:underline; }.hp-clinic-home .dc-home-contact .dc-button--quiet:hover { background:#edf4ee; } }
@media(max-width:767px) { .clinic-home-facilities { padding:32px 0; }.clinic-home-facilities h2 { font-size:24px; }.clinic-facility-slide { width:248px; flex-basis:248px; }.clinic-facility-slide img { height:145px; } }
@media(prefers-reduced-motion:reduce) { .clinic-facility-track { transform:none!important; will-change:auto!important; }.clinic-facility-viewport { scroll-behavior:auto!important; }.clinic-facility-set[aria-hidden="true"] { display:none; } }

.clinic-facility-card-content:focus-visible { outline-offset:-4px; }

/* The mobile photograph keeps its approved 211px height; actions follow below. */
.dc-home-hero__grid { min-height:460px; }
.dc-home-hero__copy { width:61%; }
.hp-clinic-refresh .dc-home-hero h1 { font-size:clamp(32px,3.2vw,44px); line-height:1.5; }
.dc-home-hero .dc-hero__phrase { white-space:nowrap; }
@media(max-width:767px) {
 .dc-home-hero__photo { inset:0 0 auto; height:211px; }
 .dc-home-hero__grid { min-height:0; }
 .dc-home-hero__copy { width:100%; padding:20px 0 18px; }
 .hp-clinic-refresh .dc-home-hero h1 { font-size:clamp(24px,6.4vw,27px); line-height:1.4; margin:0 0 12px; }
 .dc-home .dc-home-hero__lead { font-size:14px; line-height:1.7; max-width:none; margin:0; }
 .dc-home-hero__actions { margin-top:32px; }
 .dc-home-hero__actions .dc-button { padding:12px 9px; gap:6px; font-size:13px; }
}

.clinic-core__symbol { display:grid; place-items:center; min-height:220px; background:#edf5ef; }.clinic-core__symbol .clinic-icon { width:88px; height:88px; color:#28794f; }
@media(max-width:767px){.clinic-core__symbol{min-height:170px;}}
.hp-clinic-refresh .dc-home-contact .clinic-phone-button small,.hp-clinic-refresh .dc-home-contact .clinic-phone-button strong { color:inherit; }
@media(hover:hover) and (pointer:fine) { .hp-clinic-refresh .dc-home-contact .clinic-phone-button:hover { background:#edf4ee; color:#205b43; } }

/* The clinic photograph and headline remain on separate surfaces. */
.dc-home-hero--community { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); background:#f5f7f3; }
.dc-home-hero--community .dc-home-hero__photo { position:relative; inset:auto; z-index:auto; order:2; height:460px; }
.dc-home-hero--community .dc-home-hero__photo::after { display:none; }
.dc-home-hero--community .dc-home-hero__photo-label { display:block; left:auto; right:12px; bottom:12px; font-size:11px; padding:4px 8px; background:rgba(255,255,255,.92); color:#284137; }
.dc-home-hero--community .dc-home-hero__frame img { object-position:center center; }
.dc-home-hero--community .dc-home-hero__lead span { display:inline-block; white-space:nowrap; }
.dc-home .dc-home-hero--community .dc-home-hero__grid { order:1; width:auto; margin:0; min-height:0; padding:36px clamp(24px,4vw,64px); }
.dc-home-hero--community .dc-home-hero__copy { width:100%; padding:0; }
.hp-clinic-refresh .dc-home-hero--community h1 { font-size:clamp(30px,2.8vw,40px); line-height:1.55; }
.dc-home-hero--community .dc-home-hero__actions { grid-template-columns:1fr 1fr; gap:10px; max-width:none; }
.dc-home-hero--community .dc-home-hero__actions .dc-button { min-height:62px; }
@media(max-width:767px) {
 .dc-home-hero--community { display:flex; flex-direction:column; }
 .dc-home-hero--community .dc-home-hero__photo { order:0; height:211px; }
 .dc-home .dc-home-hero--community .dc-home-hero__grid { order:1; padding:24px 16px 26px; }
 .hp-clinic-refresh .dc-home-hero--community h1 { font-size:clamp(24px,6.4vw,27px); line-height:1.4; }
 .dc-home-hero--community .dc-home-hero__actions { grid-template-columns:1fr 1fr; margin-top:20px; max-width:none; }
 .dc-home-hero--community .dc-home-hero__actions .dc-button { min-height:73px; }
}

.dc-home-care--reading{padding-top:0}.clinic-core__banner figure{position:relative}.clinic-core__image-role{position:absolute;right:8px;bottom:8px;background:rgba(255,255,255,.92);color:#284137;font-size:11px;padding:3px 6px;line-height:1.5}

/* 1.4.5: align the PC first view with the hours/services content column. */
@media (min-width: 768px) {
 .dc-home-hero--community { width:min(1240px,calc(100% - 80px)); margin-inline:auto; }
 .dc-home .dc-home-hero--community .dc-home-hero__grid { padding:32px clamp(24px,2.6vw,40px); }
 .hp-clinic-refresh .dc-home-hero--community h1 { font-size:clamp(28px,2.6vw,36px); }
}
@media (min-width: 768px) and (max-width: 1180px) {
 .dc-home-hero--community { width:calc(100% - 48px); }
}

.clinic-core__mobile-summary,.clinic-core__chevron,
.dc-seasonal-notice__image,.dc-seasonal-notice__mobile-copy { display:none; }
@media (max-width: 767px) {
 /* 1.4.6: the photo fills the right 60%; the text has its own pale backing. */
 .clinic-core__grid { grid-template-columns:minmax(0,1fr); gap:14px; }
 .clinic-core__banner { position:relative; display:flex; flex-direction:row; align-items:center; min-height:136px; border-radius:12px; isolation:isolate; }
 .clinic-core__banner figure { position:absolute; inset:0 0 0 40%; z-index:-2; }
 .clinic-core__banner picture,.clinic-core__banner img { display:block; width:100%; height:100%; }
 .clinic-core__banner img { object-fit:cover; object-position:center; }
 .clinic-core__banner::before { content:""; position:absolute; inset:0 auto 0 0; width:54%; z-index:-1; background:linear-gradient(90deg,#fafcf8 0%,#fafcf8 82%,rgba(250,252,248,0) 100%); }
 .clinic-core__copy { flex:0 0 44%; min-width:0; box-sizing:border-box; gap:8px; padding:20px 0 20px 14px; }
 .clinic-core__copy strong { font-size:20px; font-weight:700; line-height:1.4; color:#234d3b; }
 .clinic-core__copy .clinic-core__mobile-summary { display:block; font-size:14px; line-height:1.6; color:#234d3b; }
 .clinic-core__copy .clinic-core__desktop-kicker,.clinic-core__copy .clinic-core__description,.clinic-core__copy .clinic-core__label { display:none; }
 .clinic-core__chevron { position:absolute; right:12px; top:50%; transform:translateY(-50%); display:grid; place-items:center; width:32px; height:32px; margin:0; border-radius:50%; color:#234d3b; background:rgba(255,255,255,.94); }
 .clinic-core__chevron .clinic-icon { width:18px; height:18px; }
 .clinic-core__banner:hover strong { text-decoration:underline; text-underline-offset:4px; }
 .hp-clinic-refresh .dc-seasonal-notice--company-flu { border-radius:14px; background:#f5f6ee; }
 .dc-seasonal-notice--company-flu .dc-seasonal-notice__image { display:block; width:100%; height:140px; }
 .dc-seasonal-notice__image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 56%; }
 .hp-clinic-refresh .dc-seasonal-notice--company-flu .dc-seasonal-notice__inner { display:flex; flex-direction:column; align-items:stretch; gap:12px; padding:20px; }
 .dc-seasonal-notice--company-flu .dc-seasonal-notice__art,
 .dc-seasonal-notice--company-flu .dc-seasonal-notice__eyebrow,
 .dc-seasonal-notice--company-flu .dc-seasonal-notice__desktop-copy { display:none; }
 .dc-seasonal-notice--company-flu .dc-seasonal-notice__mobile-copy { display:inline; }
 .hp-clinic-refresh .dc-seasonal-notice--company-flu h2 { font-size:20px; line-height:1.55; word-break:normal; overflow-wrap:normal; }
 .hp-clinic-refresh .dc-seasonal-notice--company-flu .dc-seasonal-notice__body { margin:0; font-size:14px; line-height:1.8; }
 .hp-clinic-refresh .dc-seasonal-notice--company-flu .dc-button--seasonal { margin:0; min-height:48px; padding:12px 16px; font-size:14px; }
 .dc-home .dc-today .dc-home-inline { min-height:44px; }
}

/* 1.4.6: override the shared section spacing on both sides of the facility row. */
.dc-home .clinic-home-facilities { padding-block:40px 18px; }
.dc-home .dc-home-care--reading { padding-top:0; }
.dc-home-care--reading .dc-home-care__reading { margin-top:0; }
.dc-seasonal-notice__price { display:inline-block; white-space:nowrap; }
@media(max-width:767px) { .dc-home .clinic-home-facilities { padding-top:32px; } }
