/* Patient pathways. Shared palette, typography and spacing come from theme.json. */
.ko-brand { display: flex; align-items: center; gap: var(--ko-space-sm); flex-shrink: 0; }
.ko-brand > * { margin: 0; }
.ko-brand img { width: 4rem; height: 4rem; object-fit: contain; }
.ko-wordmark { line-height: 1.15; }
.ko-wordmark span { display: inline-block; font-size: var(--ko-type-small); font-weight: 500; letter-spacing: -.01em; }
.ko-masthead .wp-block-navigation__container { gap: var(--ko-space-lg); }
.ko-header-call a { background: var(--ko-color-brand); color: var(--ko-color-text); gap: var(--ko-space-sm); white-space: nowrap; }
.ko-header-call a:hover { background: var(--ko-color-secondary); color: var(--ko-color-white); }
.ko-home-opening { margin-block: var(--ko-page-inset) 0; padding: var(--ko-panel-padding); grid-template-columns: minmax(0, 1.25fr) minmax(0, .85fr); gap: clamp(2rem, 5vw, 5rem); background: var(--ko-color-soft); }
.ko-home-title h1 { font-size: var(--ko-type-display); line-height: var(--ko-leading-heading); }
.ko-home-title > .ko-eyebrow { max-width: 33ch; }
.ko-home-title .ko-lead { font-size: clamp(1.0625rem, 1.6vw, 1.25rem); }
.ko-booking-alternative { margin-top: var(--ko-space-md); font-size: var(--ko-type-small); }
.ko-booking-alternative a { white-space: nowrap; }
.wp-block-buttons .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: var(--ko-space-lg); box-shadow: none; }
.ko-visit-card { padding: var(--ko-space-xl); border-radius: var(--wp--custom--radius--medium); background: var(--ko-color-white); border: var(--ko-rule) solid var(--ko-color-border); }
.ko-visit-card h2 { font-size: var(--ko-type-h3); margin-bottom: var(--ko-space-lg); }
.ko-visit-detail { margin-top: var(--ko-space-lg); padding-top: var(--ko-space-lg); border-top: var(--ko-rule) solid var(--ko-color-border); }
.ko-visit-detail p { margin-top: var(--ko-space-xs); font-size: var(--ko-type-small); }
.ko-visit-detail .ko-eyebrow { font-size: var(--ko-type-label); }
.ko-visit-tag { margin-top: var(--ko-space-lg); font-size: var(--ko-type-label); color: var(--ko-color-secondary); }
.ko-patient-paths { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--ko-space-lg); padding-block: var(--ko-space-xl) var(--ko-section-compact); }
.ko-path { position: relative; display: flex; flex-direction: column; margin: 0; padding: var(--ko-space-xl); border: var(--ko-rule) solid var(--ko-color-border); border-radius: var(--wp--custom--radius--medium); background: var(--ko-color-white); }
.ko-path .ko-eyebrow { margin: 0 0 var(--ko-space-lg); }
.ko-path-number { position: absolute; top: var(--ko-space-lg); right: var(--ko-space-lg); color: var(--ko-color-secondary); font-size: var(--ko-type-small); }
.ko-path h2 { font-size: var(--ko-type-h3); line-height: 1.18; margin-bottom: var(--ko-space-md); max-width: 18ch; }
.ko-path > p:not([class]) { font-size: var(--ko-type-small); }
.ko-path .ko-text-link { margin-top: auto; padding-top: var(--ko-space-lg); font-size: var(--ko-type-small); }
.ko-margin h2 { margin-bottom: var(--ko-space-lg); }
.ko-service-intro { padding-top: var(--ko-space-xl); }
.ko-preview-row h3 { font-size: var(--ko-type-h3); line-height: 1.2; }
.ko-preview-row .ko-text-link { font-size: var(--ko-type-small); }
.ko-home-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ko-gap); padding-block: var(--ko-section); }
.ko-home-bottom > * { margin: 0; padding: var(--ko-space-xl); }
.ko-home-bottom h2 { font-size: var(--ko-type-h2); margin-bottom: var(--ko-space-md); }
.ko-footer-top .ko-wordmark { font-size: var(--ko-type-h2); }
.ko-footer-top .ko-wordmark span { font-size: var(--ko-type-lead); line-height: 1.35; }
.ko-footer-top .wp-block-navigation__container { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--ko-space-xs) var(--ko-space-lg); }
.ko-footer .wp-block-navigation-item__content { display: inline-flex; align-items: center; min-height: var(--ko-control); }
.ko-footer-details { font-size: var(--ko-type-small); }
.ko-page-intro { margin-block: var(--ko-page-inset); padding: var(--ko-panel-padding); background: var(--ko-color-soft); border-radius: var(--wp--custom--radius--large); }
.ko-page-intro h1 { max-width: 20ch; font-size: var(--ko-type-page); margin-bottom: var(--ko-space-lg); }
.ko-page-intro .ko-lead { max-width: 55ch; }
.ko-content-split { display: grid; grid-template-columns: 1.15fr 1fr; gap: var(--ko-gap); padding-block: var(--ko-space-md) var(--ko-section); }
.ko-content-split > * { margin: 0; padding: var(--ko-space-xl); }
.ko-content-split h2 { font-size: var(--ko-type-h3); margin-bottom: var(--ko-space-lg); }
.ko-booking-card { background: var(--ko-color-primary); color: var(--ko-color-white); border-radius: var(--wp--custom--radius--medium); }
.ko-booking-card h2 { color: inherit; }
.ko-booking-card .ko-eyebrow { color: var(--ko-color-accent); }
.ko-booking-card .wp-element-button { background: var(--ko-color-accent); color: var(--ko-color-primary); }
.ko-booking-card .wp-element-button:hover { background: var(--ko-color-white); }
.ko-booking-card .ko-small { margin-top: var(--ko-space-lg); }
.ko-visit-faq { padding-bottom: var(--ko-section); }
.ko-visit-faq h2 { margin-bottom: var(--ko-space-xl); }
.ko-faq-list details { border-top: var(--ko-rule) solid var(--ko-color-border); }
.ko-faq-list details:last-child { border-bottom: var(--ko-rule) solid var(--ko-color-border); }
.ko-faq-list summary { padding-block: var(--ko-space-lg); font-weight: var(--ko-weight-strong); color: var(--ko-color-primary); cursor: pointer; }
.ko-faq-list details p { padding: 0 0 var(--ko-space-lg) var(--ko-space-lg); }
.ko-staff-section { padding-block: var(--ko-space-md) var(--ko-section); }
.ko-preview-notice { max-width: none; border-left: var(--ko-rule-strong) solid var(--ko-color-secondary); padding: var(--ko-space-sm) var(--ko-space-lg); margin-bottom: var(--ko-space-xl); font-size: var(--ko-type-small); }
.ko-staff-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--ko-space-lg); }
.ko-staff-card { margin: 0; border: var(--ko-rule) solid var(--ko-color-border); border-radius: var(--wp--custom--radius--medium); overflow: hidden; background: var(--ko-color-white); }
.ko-staff-photo { position: relative; margin: 0; }
.ko-staff-photo img { display: block; width: 100%; height: auto; border-radius: 0; aspect-ratio: 6 / 5; object-fit: cover; }
.ko-staff-photo figcaption { position: absolute; bottom: var(--ko-space-sm); left: var(--ko-space-sm); margin: 0; padding: var(--ko-space-xs) var(--ko-space-sm); border-radius: var(--wp--custom--radius--pill); background: var(--ko-color-white); color: var(--ko-color-primary); font-size: var(--ko-type-label); }
.ko-staff-copy { padding: var(--ko-space-lg); margin: 0; }
.ko-staff-copy h2 { font-size: var(--ko-type-h4); line-height: 1.25; margin-bottom: var(--ko-space-sm); }
.ko-staff-copy p { font-size: var(--ko-type-small); }
.ko-staff-copy .ko-eyebrow { font-size: var(--ko-type-label); }
/* Shared page rhythm: older clinic pages and newer patient pages use the same tokens. */
html { scrollbar-gutter: stable; }
.ko-page-main :is(.ko-home-opening, .ko-page-intro, .ko-about-opening, .ko-directory-opening, .ko-contact-opening) {
 margin-block: var(--ko-page-inset);
 padding: var(--ko-panel-padding);
 background: var(--ko-color-soft);
 border-radius: var(--wp--custom--radius--large);
}
.ko-page-main h1, .ko-secondary h1 { font-size: var(--ko-type-page); line-height: var(--ko-leading-heading); margin-block: 0 1.25rem; }
.ko-page-main .ko-home-title h1 { font-size: var(--ko-type-display); }
.ko-page-main .ko-directory-opening h1 { margin-bottom: 0; }
.ko-page-main .ko-eyebrow + :is(h1, h2, h3) { margin-top: 0; }
.ko-page-main :is(.ko-page-intro, .ko-home-title) .ko-lead { font-size: var(--ko-type-lead); }
.ko-about-lede { margin-inline: 0; max-width: 55ch; padding-left: 0; border-left: 0; }
.ko-secondary { padding-block: var(--ko-page-inset) var(--ko-section); }
.ko-secondary .ko-archive-intro { margin-block: 0 var(--ko-space-xl); }
.ko-archive-intro > p { font-size: var(--ko-type-lead); }
.ko-staff-grid > *, .ko-patient-paths > * { margin-block-start: 0; }
:is(.ko-phone-primary, .ko-phone-secondary, .ko-visit-card, .ko-path, .ko-reach, .ko-hours-sheet) {
 padding: var(--ko-card-padding);
 border: var(--ko-rule) solid var(--ko-color-border);
 border-radius: var(--wp--custom--radius--medium);
 box-shadow: none;
}
.ko-path h2, .ko-preview-row h3 { line-height: var(--wp--custom--type--card-leading); }
.ko-directory-row, .ko-preview-row { border-radius: 0; }
.ko-directory-row:first-of-type, .ko-visit-layout { border-top-color: var(--ko-color-border); }
.ko-page-main .ko-text-link { font-size: var(--ko-type-small); }
.wp-element-button, .wp-block-search__button, .ko-header-call a { box-shadow: none; }

/* The Events Calendar uses its own variables. Map them to the clinic palette. */
.ko-events-main > .tribe-block { margin-block-start: 0; }
.tribe-common, .tribe-events, .tribe-events-single, #tribe-events-pg-template {
 --tec-font-family-sans-serif: var(--ko-font-body);
 --tec-font-weight-bold: var(--ko-weight-strong);
 --tec-color-text-primary: var(--ko-color-text);
 --tec-color-text-secondary: var(--ko-color-text);
 --tec-color-text-events-title: var(--ko-color-primary);
 --tec-color-text-event-title: var(--ko-color-primary);
 --tec-color-link-primary: var(--ko-color-primary);
 --tec-color-link-accent: var(--ko-color-secondary);
 --tec-color-link-accent-hover: var(--ko-color-primary);
 --tec-color-accent-primary: var(--ko-color-primary);
 --tec-color-accent-primary-hover: var(--ko-color-secondary);
 --tec-color-accent-primary-active: var(--ko-color-primary);
 --tec-color-accent-primary-background: var(--ko-color-soft);
 --tec-color-accent-primary-background-datepicker: var(--ko-color-soft);
 --tec-color-accent-secondary: var(--ko-color-primary);
 --tec-color-button-primary: var(--ko-color-primary);
 --tec-color-button-primary-hover: var(--ko-color-secondary);
 --tec-color-button-primary-active: var(--ko-color-primary);
 --tec-color-button-secondary: var(--ko-color-primary);
 --tec-color-button-secondary-hover: var(--ko-color-secondary);
 --tec-color-button-secondary-active: var(--ko-color-primary);
 --tec-color-background-events-bar-submit-button: var(--ko-color-primary);
 --tec-color-background-events-bar-submit-button-hover: var(--ko-color-secondary);
 --tec-color-background-events-bar-submit-button-active: var(--ko-color-primary);
 --tec-color-background-messages: var(--ko-color-soft);
 --tec-color-background-secondary: var(--ko-color-soft);
 --tec-color-border-default: var(--ko-color-border);
 --tec-color-border-secondary: var(--ko-color-border);
 --tec-color-border-events-bar: var(--ko-color-border);
 --tec-color-border-secondary-month-grid: var(--ko-color-border);
 --tec-color-border-active: var(--ko-color-secondary);
 --tec-color-icon-focus: var(--ko-color-secondary);
 --tec-color-event-icon-hover: var(--ko-color-secondary);
 --tec-form-color-accent-primary: var(--ko-color-primary);
 --tec-form-color-border-default: var(--ko-color-secondary);
 --tec-outline-color-default: var(--ko-color-primary);
 --tec-border-radius-default: var(--ko-radius);
}
.ko-events-main .tribe-common.tribe-events .tribe-events-l-container {
 width: calc(100% - var(--ko-gutter) * 2);
 max-width: var(--ko-wide);
 min-height: var(--ko-main-min);
 padding: var(--ko-page-inset) 0 var(--ko-section);
 margin-inline: auto;
}
.ko-events-main .tribe-events-header__content-title { margin: 0 0 var(--ko-space-xl); padding: var(--ko-panel-padding); background: var(--ko-color-soft); border-radius: var(--wp--custom--radius--large); }
.ko-events-main .tribe-events-header__content-title h1 {
 position: static !important; width: auto; height: auto; clip: auto; clip-path: none; overflow: visible;
 margin: 0; padding: 0; white-space: normal; font: var(--ko-weight-strong) var(--ko-type-page)/var(--ko-leading-heading) var(--ko-font-heading); color: var(--ko-color-primary);
}
.ko-events-main .tribe-common .tribe-common-c-btn, .ko-events-main .tribe-events .tribe-events-c-subscribe-dropdown__button {
 min-height: var(--ko-control); padding: var(--ko-space-sm) var(--ko-space-lg); border-radius: var(--wp--custom--radius--pill);
 font-family: var(--ko-font-body); font-size: var(--ko-type-small); font-weight: var(--ko-weight-strong); box-shadow: none;
}
.ko-events-main .tribe-events .tribe-events-c-events-bar { border: var(--ko-rule) solid var(--ko-color-border); border-radius: var(--wp--custom--radius--medium); box-shadow: none; }
.ko-events-main #tribe-events-pg-template { width: calc(100% - var(--ko-gutter) * 2); max-width: var(--ko-wide); padding: var(--ko-page-inset) 0 var(--ko-section); margin-inline: auto; }
.ko-events-main #tribe-events-content { font-family: var(--ko-font-body); color: var(--ko-color-text); }
.ko-events-main #tribe-events-content h1 { font-size: var(--ko-type-page); color: var(--ko-color-primary); line-height: var(--ko-leading-heading); }
.ko-events-main #tribe-events-content :is(h2, h3, p, a, dt, dd, .tribe-events-schedule) { font-family: var(--ko-font-body); }
.ko-events-main #tribe-events-content :is(h2, h3) { color: var(--ko-color-primary); }
.ko-events-main #tribe-events-content .tribe-events-content { font-size: var(--ko-type-body); line-height: var(--ko-leading-body); }
.ko-events-main #tribe-events-content .tribe-events-content h2 { font-size: var(--ko-type-h2); }
.ko-events-main #tribe-events-content .tribe-events-content h3 { font-size: var(--ko-type-h3); }
.ko-events-main .tribe-events-single-section { border-color: var(--ko-color-border); }
.ko-events-main .tribe-events .tribe-events-calendar-month__day-cell[aria-expanded="true"] .tribe-events-calendar-month__day-date-daynum { color: var(--ko-color-white); }
@media (max-width: 1100px) {
 .ko-masthead .wp-block-navigation__responsive-container-open { display: flex; align-items: center; justify-content: center; width: var(--ko-control); min-height: var(--ko-control); }
 .ko-masthead .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none; }
 .ko-masthead .wp-block-navigation__responsive-container.is-menu-open { padding: var(--ko-space-xl); background: var(--ko-color-surface); }
 .ko-masthead .is-menu-open .wp-block-navigation-item__content { font-size: var(--ko-type-h3); }
 .ko-staff-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .ko-footer-details { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 782px) {
 .ko-brand img { width: 3rem; height: 3rem; }
 .ko-wordmark { font-size: 1.2rem; }
 .ko-wordmark span { font-size: .7rem; max-width: 18ch; }
 .ko-home-opening, .ko-content-split, .ko-home-bottom, .ko-patient-paths { grid-template-columns: 1fr; }
 .ko-home-opening { gap: var(--ko-space-xl); }
 .ko-visit-card { padding: var(--ko-space-lg); }
 .ko-path { padding: var(--ko-space-lg); }
 .ko-path h2 { max-width: none; }
 .ko-path .ko-eyebrow { margin-bottom: var(--ko-space-sm); }
 .ko-home-bottom { gap: var(--ko-space-lg); }
 .ko-home-bottom > *, .ko-content-split > * { padding: var(--ko-space-lg); }
 .ko-footer-top { grid-template-columns: 1fr; }
 .ko-footer-top .wp-block-navigation { margin: 0; }
}
@media (max-width: 480px) {
 .ko-masthead > .wp-block-group { flex-wrap: wrap; gap: var(--ko-space-sm); }
 .ko-masthead-actions { width: 100%; justify-content: space-between; flex-direction: row-reverse; margin: 0; }
 .ko-header-call a { min-height: var(--ko-control); padding-inline: var(--ko-space-lg); }
 .ko-brand img { width: 3.25rem; height: 3.25rem; }
 .ko-wordmark { font-size: 1.35rem; }
 .ko-wordmark span { max-width: none; font-size: .75rem; }
 .ko-staff-grid, .ko-footer-details { grid-template-columns: 1fr; }
 .ko-staff-photo img { max-height: 16rem; }
 .ko-content-split .ko-phone { font-size: 1.75rem; }
}

/* Editorial compositions: useful content, compact rhythm, no label-only columns. */
.ko-editorial-heading, .ko-about-feature, .ko-booking-feature { display: grid; grid-template-columns: 1.1fr 1fr; gap: 2.5rem; align-items: center; margin-block: 2rem; }
.ko-editorial-heading { padding-block: 1rem 2rem; border-bottom: 1px solid var(--ko-color-border); }
.ko-page-main .wp-block-post-content > :is(.ko-editorial-heading, .ko-about-feature, .ko-booking-feature) { margin-top: 2rem; }
.ko-page-main .wp-block-post-content > .ko-action-strip { margin-bottom: 2.5rem; }
:is(.ko-editorial-heading, .ko-about-feature, .ko-booking-feature) h1 { font-size: clamp(2.25rem, 4.4vw, 3.5rem); line-height: 1.08; letter-spacing: -.035em; margin-bottom: 1.25rem; }
:is(.ko-editorial-heading, .ko-about-feature, .ko-booking-feature) > * { margin: 0; min-width: 0; }
.ko-heading-context .ko-lead { font-size: 1.125rem; margin: 0; }
.ko-about-feature, .ko-booking-feature { padding: 2rem; background: var(--ko-color-soft); border-radius: var(--wp--custom--radius--large); }
.ko-about-feature-copy .ko-lead { font-size: 1.125rem; }
.ko-photo-placeholder { position: relative; overflow: hidden; border-radius: 1rem; }
.ko-photo-placeholder img { display: block; width: 100%; aspect-ratio: 10 / 7; object-fit: cover; }
.ko-photo-placeholder figcaption { margin: 0; padding: 1rem; background: var(--ko-color-white); color: var(--ko-color-primary); text-align: center; font-size: .875rem; }
.ko-content-section, .ko-next-steps { padding-block: 2rem; }
.ko-section-heading, .ko-community-panel-intro { display: flex; justify-content: space-between; align-items: end; gap: 2rem; margin-bottom: 1.25rem; }
.ko-section-heading > *, .ko-community-panel-intro > * { margin: 0; }
.ko-section-heading > p, .ko-community-panel-intro > p { max-width: 42ch; }
:is(.ko-section-title, .ko-team-invitation, .ko-action-strip, .ko-access-strip) h2 { font-size: clamp(1.75rem, 3vw, 2.25rem); line-height: 1.15; margin-bottom: .75rem; }
.ko-section-title h2 { margin-bottom: 0; max-width: 24ch; }
.ko-care-grid, .ko-location-grid, .ko-home-service-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.ko-care-card, .ko-service-tile, .ko-contact-option, .ko-location-card, .ko-home-service-tile { margin: 0; padding: 1.75rem; border: 1px solid var(--ko-color-border); border-radius: 1rem; background: var(--ko-color-white); }
.ko-service-icon { display: inline-flex; width: 3rem; height: 3rem; align-items: center; justify-content: center; border-radius: .75rem; background: var(--ko-color-soft); color: var(--ko-color-secondary); margin-bottom: 1rem; }
:is(.ko-care-card, .ko-service-tile, .ko-home-service-tile, .ko-location-card, .ko-booking-phone) :is(h2, h3) { font-size: 1.5rem; line-height: 1.2; margin-bottom: .75rem; }
.ko-card-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin-block: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--ko-color-border); }
.ko-card-facts p { margin: 0; font-size: .875rem; }
.ko-card-facts strong { color: var(--ko-color-primary); }
.ko-care-card .ko-text-link, .ko-home-service-tile .ko-text-link { margin-bottom: 0; }
.ko-community-panel { padding: 2rem; margin-block: 1rem; background: var(--ko-color-primary); color: white; border-radius: 1rem; }
.ko-community-panel h2 { color: white; }
.ko-community-panel .ko-eyebrow { color: var(--ko-color-accent); }
.ko-community-chips { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
.ko-community-chips p { margin: 0; padding: .875rem 1rem; border: 1px solid #ffffff40; border-radius: .5rem; font-size: .9375rem; }
.ko-team-invitation, .ko-action-strip, .ko-access-strip { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-block: 2rem; }
:is(.ko-team-invitation, .ko-action-strip, .ko-access-strip) > * { margin: 0; }
.ko-team-invitation-copy { max-width: 68ch; }
.ko-action-strip { padding: 1.75rem 2rem; background: var(--ko-color-soft); border-radius: 1rem; margin-block: 0 2.5rem; }
.ko-action-strip h2 { font-size: 1.5rem; }
.ko-action-strip p { margin: 0; }
.ko-services-grid, .ko-step-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
.ko-service-tile { display: flex; flex-direction: column; align-items: start; }
.ko-service-tile p { font-size: .9375rem; margin: 0 0 1.5rem; }
.ko-service-tile .ko-service-note { margin: auto 0 0; padding-top: 1rem; border-top: 1px solid var(--ko-color-border); font-size: .875rem; width: 100%; }
.ko-access-strip { margin-top: 1.25rem; padding: 1.75rem; border-radius: 1rem; background: var(--ko-color-soft); }
.ko-access-strip-copy { max-width: 68ch; }
.ko-access-strip p:last-child { margin-bottom: 0; }
.ko-numbered-step { margin: 0; padding: 1.5rem 0; border-top: 1px solid var(--ko-color-border); }
.ko-step-number { display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; width: 2rem; height: 2rem; border-radius: 50%; background: var(--ko-color-soft); color: var(--ko-color-primary); font-size: .875rem; font-weight: 700; margin: 0 0 1rem; }
.ko-numbered-step h3 { font-size: 1.25rem; margin-bottom: .75rem; }
.ko-contact-options { display: grid; grid-template-columns: 1fr; margin-block: 1rem; }
.ko-contact-option h2 { font-size: clamp(1.25rem, 2.1vw, 1.625rem); line-height: 1.2; margin-bottom: 1rem; }
.ko-contact-option p { font-size: .9375rem; }
.ko-contact-option .ko-text-link { margin-bottom: 0; }
.ko-location-grid > * { margin: 0; }
.ko-location-grid .ko-hours-sheet { align-self: stretch; }
.ko-arrival-note { padding-top: 1rem; margin-top: 1rem; border-top: 1px solid var(--ko-color-border); font-size: .9375rem; }
.ko-contact-bottom { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; padding-block: 1rem 2rem; }
.ko-contact-bottom > * { margin: 0; }
.ko-contact-bottom h2, .ko-contact-bottom h3 { font-size: 1.25rem; margin-bottom: .75rem; }
.ko-contact-privacy { border-left: 3px solid var(--ko-color-accent); padding-left: 1.5rem; }
.ko-booking-phone { padding: 2rem; border: 1px solid var(--ko-color-border); border-radius: 1rem; background: var(--ko-color-white); }
.ko-booking-phone .ko-phone { font-size: clamp(1.5rem, 3vw, 2rem); }
.ko-booking-feature-copy .ko-small { margin-top: 1rem; }
.ko-home-services { padding-top: 1rem; }
.ko-home-service-tile { padding: 1.5rem; }
.ko-home-service-tile p { font-size: .9375rem; }
.ko-patient-paths { padding-bottom: 2rem; }
.ko-home-bottom { padding-block: 2.5rem; }
.ko-staff-section { padding-bottom: 2.5rem; }
main .wp-block-post-content > .ko-closing { margin-bottom: 2.5rem; }
.ko-footer.ko-footer-compact { padding: 2.5rem 0 1.25rem; }
.ko-footer-grid { display: grid; grid-template-columns: 1.05fr 1fr 1.1fr; gap: 2rem; }
.ko-footer-grid > * { margin: 0; min-width: 0; }
.ko-footer-compact .ko-wordmark { font-size: 2rem; margin-bottom: 1rem; }
.ko-footer-compact .ko-wordmark span { display: block; font-size: 1rem; margin-top: .375rem; }
.ko-footer-compact h2 { font-size: .8125rem; text-transform: uppercase; letter-spacing: .08em; color: var(--ko-color-accent); margin-bottom: .75rem; }
.ko-footer-compact p, .ko-footer-compact nav { font-size: .875rem; }
.ko-footer-compact .wp-block-navigation__container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 .875rem; }
.ko-footer-support { display: flex; flex-wrap: wrap; gap: .5rem 2rem; border-top: 1px solid #ffffff30; padding-top: 1.25rem; margin-top: 1.5rem; }
.ko-footer-support p { margin: 0; }
.ko-footer-support .ko-small { flex-basis: 100%; opacity: .8; font-size: .8125rem; }
.ko-footer-compact .ko-footer-meta { padding-top: 1rem; margin-top: 1rem; }
.ko-footer-compact .ko-footer-meta p { font-size: .75rem; }
@media (max-width: 1000px) {
 .ko-services-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .ko-footer-grid { grid-template-columns: 1fr 1fr; }
 .ko-footer-brand { grid-column: 1 / -1; }
}
@media (max-width: 782px) {
 .ko-editorial-heading, .ko-about-feature, .ko-booking-feature, .ko-care-grid, .ko-location-grid, .ko-contact-bottom { grid-template-columns: 1fr; gap: 1.5rem; }
 .ko-editorial-heading { gap: .5rem; margin-block: 1.5rem; }
 .ko-about-feature, .ko-booking-feature { padding: 1.5rem; }
 .ko-section-heading, .ko-community-panel-intro, .ko-team-invitation, .ko-action-strip, .ko-access-strip { flex-direction: column; align-items: start; gap: 1rem; }
 .ko-community-chips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .ko-community-panel { padding: 1.5rem; }
 .ko-step-grid { grid-template-columns: 1fr; gap: 0; }
 .ko-numbered-step { padding-block: 1.25rem; }
 .ko-numbered-step p:last-child { margin-bottom: 0; }
 .ko-booking-phone { padding: 1.5rem; }
}
@media (max-width: 540px) {
 .ko-services-grid, .ko-home-service-grid, .ko-footer-grid { grid-template-columns: 1fr; }
 .ko-care-card, .ko-service-tile, .ko-contact-option, .ko-location-card { padding: 1.25rem; }
 .ko-card-facts, .ko-community-chips { grid-template-columns: 1fr; gap: .75rem; }
 .ko-action-strip { padding: 1.5rem; }
 .ko-footer-grid { gap: 1.5rem; }
 .ko-footer-brand { grid-column: auto; }
 .ko-footer-compact .wp-block-navigation__container { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .ko-footer-compact .ko-footer-meta { display: block; }
}

