/* Give each inner page an opening that serves its own content. */
.home .ko-header-call { display: block; }
.ko-nav-mobile-appointment { display: none !important; }
.ko-masthead .wp-block-navigation-item__content[aria-current="page"], .ko-masthead .current-menu-item > .wp-block-navigation-item__content { color: var(--ko-color-secondary); text-decoration: underline; text-decoration-thickness: .15em; text-underline-offset: .55em; }
.ko-services-hero .ko-services-hero-inner { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: clamp(2rem, 7vw, 7rem); align-items: center; padding-block: clamp(3.5rem, 5vw, 4.75rem); }
.ko-services-hero .ko-services-heading { max-width: none; }
.ko-services-hero .ko-services-heading h1 { max-width: 15ch; margin-bottom: 1rem; }
.ko-services-intro .ko-lead { max-width: 35ch; margin: 0; color: var(--ko-color-white); font-size: clamp(1.15rem, 1.8vw, 1.4rem); }
.ko-services-start { margin: 1.5rem 0 0; color: var(--ko-color-white); font-size: 1rem; }
.ko-services-start a { color: var(--ko-color-white); font-weight: 700; text-decoration-color: var(--ko-color-accent); text-underline-offset: .2em; }
.ko-services-hero + .ko-service-groups { padding-top: clamp(2.5rem, 4vw, 3.5rem); }
.ko-service-group h2 { min-height: 0; margin-bottom: 1.25rem; }
.ko-contact-hero .ko-editorial-heading { padding-block: clamp(3.5rem, 5vw, 4.75rem); }
.ko-contact-hero .ko-heading-context { padding: 0; border: 0; border-radius: 0; background: transparent; color: var(--ko-color-white); }
.ko-contact-hero .ko-heading-context .ko-lead { color: var(--ko-color-white); }
.ko-contact-hero .ko-contact-hero-phone a { color: var(--ko-color-white); font-size: clamp(2rem, 3.5vw, 3.25rem); text-decoration-color: var(--ko-color-accent); }
.ko-contact-hero .ko-heading-context .ko-text-link a { color: var(--ko-color-accent); }

.ko-updates-hero-inner, .ko-events-main .tribe-events-header__content-title { padding-block: clamp(2.25rem, 3.5vw, 3rem); }
.ko-updates-main > .alignwide { padding-block: clamp(2.5rem, 4vw, 3.5rem); }
@media (max-width: 1100px) {
 .ko-masthead .is-menu-open .ko-nav-mobile-appointment { display: flex !important; }
}
@media (max-width: 782px) {
 .ko-inner-hero :is(.ko-about-feature, .ko-booking-feature, .ko-editorial-heading, .ko-services-hero-inner) { padding-block: 2.5rem; }
 .ko-services-hero .ko-services-hero-inner, .ko-contact-hero .ko-editorial-heading { padding-block: 2.5rem; }
 .ko-services-hero .ko-services-hero-inner { display: block; }
 .ko-team-hero-inner { gap: 1.5rem; padding-block: 2.75rem; }
 .ko-page-main .ko-team-hero h1 { margin-bottom: 1rem; font-size: clamp(3rem, 10vw, 4.5rem); }
 .ko-team-reach-card { padding: 1.25rem 0 0; border-top: 1px solid #ffffff66; border-radius: 0; background: transparent; color: var(--ko-color-white); }
 .ko-team-reach-card .ko-eyebrow { color: var(--ko-color-accent); }
 .ko-team-reach-card h2 { max-width: none; margin-bottom: .5rem; color: var(--ko-color-white); font-size: 1.5rem; }
 .ko-team-reach-card > p:not(.ko-eyebrow) { max-width: none; margin-bottom: .5rem; }
 .ko-team-hero-phone { margin-top: .75rem; }
 .ko-team-hero-phone a { color: var(--ko-color-accent); }
 .ko-team-people { padding-block: 2.75rem; }
 .ko-appointments-hero .ko-booking-phone { padding: 1.25rem 0 0; border: 0; border-top: 1px solid #ffffff66; border-radius: 0; background: transparent; color: var(--ko-color-white); }
 .ko-appointments-hero .ko-booking-phone h2, .ko-appointments-hero .ko-booking-phone a { color: var(--ko-color-white); }
 .ko-appointments-hero .ko-booking-phone .ko-phone { margin-block: .5rem; font-size: 2rem; }
 .ko-appointments-hero .ko-booking-phone .ko-text-link a { color: var(--ko-color-accent); }
 .ko-updates-hero-inner, .ko-events-main .tribe-events-header__content-title { padding-block: 2.5rem; }
}
@media (max-width: 540px) {
 .home .ko-header-call { display: none; }
 .ko-footer.ko-footer-compact { padding-top: 1.75rem; }
 .ko-footer-grid { gap: 1rem; }
 .ko-footer-compact .ko-wordmark { margin-bottom: .5rem; font-size: 1.5rem; }
 .ko-footer-brand .ko-small, .ko-footer-contact p:nth-of-type(2) { display: none; }
 .ko-footer-contact .ko-text-link { margin-top: .5rem; }
 .ko-footer-compact .wp-block-navigation__container { gap: 0 .5rem; }
 .ko-footer-support { margin-top: .75rem; padding-top: .75rem; gap: .25rem 1rem; }
 .ko-footer-support .ko-small { display: none; }
 .ko-footer-compact .ko-footer-meta { margin-top: .75rem; padding-top: .75rem; }
}

/* Lighter task pages keep the KO palette without repeating the green banner. */
.wp-site-blocks { display: flex; flex-direction: column; min-height: 100vh; }
.wp-site-blocks > main { flex: 1 0 auto; }
.ko-inner-hero.ko-light-hero { background: var(--ko-color-surface); color: var(--ko-color-text); }
.ko-inner-hero.ko-contact-hero { background: var(--ko-color-soft); }
.ko-inner-hero.ko-light-hero :is(.ko-about-feature-copy, .ko-booking-feature-copy, .ko-heading-copy, .ko-services-heading, .ko-services-intro) { color: var(--ko-color-text); }
.ko-inner-hero.ko-light-hero :is(.ko-heading-copy, .ko-services-heading) h1 { color: var(--ko-color-primary); }
.ko-inner-hero.ko-light-hero :is(.ko-heading-copy, .ko-services-heading) .ko-eyebrow { color: var(--ko-color-secondary); }
.ko-inner-hero.ko-light-hero :is(.ko-services-intro) .ko-lead, .ko-inner-hero.ko-light-hero .ko-heading-context .ko-lead { color: var(--ko-color-text); }
.ko-inner-hero.ko-light-hero .ko-services-intro .ko-lead, .ko-inner-hero.ko-light-hero .ko-heading-copy .ko-lead { color: var(--ko-color-text); }
.ko-inner-hero.ko-light-hero :is(.ko-services-start) { color: var(--ko-color-text); }
.ko-inner-hero.ko-light-hero :is(.ko-services-start) a { color: var(--ko-color-secondary); text-decoration-color: var(--ko-color-secondary); }
.ko-inner-hero.ko-contact-hero .ko-contact-hero-phone a { color: var(--ko-color-primary); text-decoration-color: var(--ko-color-secondary); }
.ko-inner-hero.ko-contact-hero .ko-heading-context .ko-text-link a { color: var(--ko-color-secondary); }
.ko-updates-main .ko-archive-intro { background: var(--ko-color-surface); color: var(--ko-color-text); }
.ko-updates-main .ko-archive-intro h1 { color: var(--ko-color-primary); }
.ko-updates-main .ko-archive-intro p { color: var(--ko-color-text); }
.ko-events-main .tribe-events-header__content-title::before { background: var(--ko-color-surface); }
.ko-events-main .tribe-events-header__content-title h1 { color: var(--ko-color-primary); }

/* Updates use the same clear, bounded content rhythm as the team cards. */
.ko-updates-main > .alignwide { width: min(100% - 2 * var(--ko-gutter), var(--ko-wide)); margin-inline: auto; }
.ko-updates-main .ko-results .wp-block-post-template { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.75rem); }
.ko-updates-main .ko-results .wp-block-post { min-width: 0; }
.ko-updates-main .ko-result { display: flex; flex-direction: column; height: 100%; gap: 1.25rem; padding: clamp(1.5rem, 2.5vw, 2.25rem); border: 1px solid var(--ko-color-border); border-top: .3rem solid var(--ko-color-secondary); border-radius: 1rem; background: var(--ko-color-soft); }
.ko-updates-main .ko-result h2 { margin: 0; line-height: 1.18; }
.ko-updates-main .ko-result h2 a { color: var(--ko-color-primary); text-decoration: none; }
.ko-updates-main .ko-result h2 a:hover, .ko-updates-main .ko-result h2 a:focus-visible { text-decoration: underline; }
.ko-updates-main .ko-result .wp-block-post-excerpt { margin-top: auto; }
.ko-updates-main .ko-result .wp-block-post-excerpt__more-link { color: var(--ko-color-secondary); }
.ko-sample-event .tribe-events-single .tribe-events-notices,
.ko-sample-event .tribe-events-single .tribe-events-c-subscribe-dropdown__container { display: none; }
@media (max-width: 900px) { .ko-updates-main .ko-results .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .ko-updates-main .ko-results .wp-block-post-template { grid-template-columns: 1fr; } }

