/*
Theme Name: Six Feathers Medical Centre
Author: Site Team
Description: A modern, compact block theme for Keewaytinook Okimakanak health services.
Version: 2.4.0
Requires at least: 7.1
Requires PHP: 8.2
Text Domain: six-feathers
*/
:root {
  /* Dark companion for readable text and sections with white copy. */
  --ko-color-primary: var(--wp--preset--color--ko-green-dark);
  --ko-color-brand: var(--wp--preset--color--ko-green);
  --ko-color-secondary: var(--wp--preset--color--ko-red);
  --ko-color-accent: var(--wp--preset--color--ko-yellow);
  --ko-color-surface: var(--wp--preset--color--paper);
  --ko-color-soft: var(--wp--preset--color--mist);
  --ko-color-text: var(--wp--preset--color--ink);
  --ko-color-white: var(--wp--preset--color--white);
  --ko-color-border: var(--wp--preset--color--border);
  --ko-font-body: var(--wp--preset--font-family--system-sans);
  --ko-font-heading: var(--wp--preset--font-family--system-sans);
  --ko-type-small: var(--wp--preset--font-size--small);
  --ko-type-body: var(--wp--preset--font-size--body);
  --ko-type-lead: var(--wp--preset--font-size--lead);
  --ko-type-h4: var(--wp--preset--font-size--h-4);
  --ko-type-h3: var(--wp--preset--font-size--h-3);
  --ko-type-h2: var(--wp--preset--font-size--h-2);
  --ko-type-display: var(--wp--preset--font-size--display);
  --ko-type-page: var(--wp--preset--font-size--page-title);
  --ko-type-label: var(--wp--custom--type--label-size);
  --ko-type-wordmark: var(--wp--custom--type--wordmark-size);
  --ko-type-phone: var(--wp--custom--type--phone-size);
  --ko-type-footer-mark: var(--wp--custom--type--footer-mark);
  --ko-leading-body: var(--wp--custom--type--body-leading);
  --ko-leading-heading: var(--wp--custom--type--heading-leading);
  --ko-tracking-tight: var(--wp--custom--type--tight-tracking);
  --ko-tracking-label: var(--wp--custom--type--label-tracking);
  --ko-weight-label: var(--wp--custom--type--label-weight);
  --ko-weight-normal: var(--wp--custom--type--normal-weight);
  --ko-weight-strong: var(--wp--custom--type--strong-weight);
  --ko-underline: var(--wp--custom--type--underline);
  --ko-underline-offset: var(--wp--custom--type--underline-offset);
  --ko-space-xs: var(--wp--preset--spacing--10);
  --ko-space-sm: var(--wp--preset--spacing--20);
  --ko-space-md: var(--wp--preset--spacing--30);
  --ko-space-lg: var(--wp--preset--spacing--40);
  --ko-space-xl: var(--wp--preset--spacing--50);
  --ko-space-2xl: var(--wp--preset--spacing--60);
  --ko-space-3xl: var(--wp--preset--spacing--70);
  --ko-space-4xl: var(--wp--preset--spacing--80);
  --ko-wide: var(--wp--style--global--wide-size);
  --ko-gutter: var(--wp--custom--layout--gutter);
  --ko-panel-padding: var(--wp--custom--layout--panel-padding);
  --ko-card-padding: var(--wp--custom--layout--card-padding);
  --ko-page-inset: var(--wp--custom--layout--page-inset);
  --ko-reading: var(--wp--custom--layout--reading);
  --ko-lead-measure: var(--wp--custom--layout--lead-measure);
  --ko-title-measure: var(--wp--custom--layout--title-measure);
  --ko-narrow: var(--wp--custom--layout--narrow);
  --ko-main-min: var(--wp--custom--layout--main-min);
  --ko-section: var(--wp--custom--layout--section);
  --ko-section-compact: var(--wp--custom--layout--section-compact);
  --ko-gap: var(--wp--custom--layout--grid-gap);
  --ko-radius: var(--wp--custom--radius--small);
  --ko-shadow: var(--wp--custom--shadow--soft);
  --ko-motion: var(--wp--custom--motion--fast);
  --ko-ease: var(--wp--custom--motion--ease);
  --ko-reduced: var(--wp--custom--motion--reduced);
  --ko-control: var(--wp--custom--control--height);
  --ko-control-border: var(--wp--custom--control--border);
  --ko-focus-width: var(--wp--custom--control--focus-width);
  --ko-focus-offset: var(--wp--custom--control--focus-offset);
  --ko-rule: var(--wp--custom--rule--width);
  --ko-rule-strong: var(--wp--custom--rule--strong);
  --ko-art-gap: var(--wp--custom--art--line-gap);
  --ko-art-opacity: var(--wp--custom--art--opacity);
  --ko-art-angle: var(--wp--custom--art--angle);
  --ko-art-inset: var(--wp--custom--art--inset);
  --ko-art-width: var(--wp--custom--art--width);
  --ko-art-height: var(--wp--custom--art--height);
  --ko-art-mobile-height: var(--wp--custom--art--mobile-height);
  --ko-art-desktop-height: var(--wp--custom--art--desktop-height);
  --ko-media-landscape: var(--wp--custom--media--landscape);
  --ko-media-portrait: var(--wp--custom--media--portrait);
  --ko-media-focus: var(--wp--custom--media--focus);
}
* { box-sizing: border-box; }
body { margin: 0; color: var(--ko-color-text); background: var(--ko-color-surface); font-family: var(--ko-font-body); line-height: var(--ko-leading-body); -webkit-font-smoothing: antialiased; }
.wp-site-blocks > *, .ko-page-main, .ko-page-main > *, .ko-page-main .wp-block-post-content > * { margin-block-start: 0; }
.ko-page-main { min-height: var(--ko-main-min); }
h1, h2, h3, p { margin-block: 0; }
h1, h2, h3 { color: var(--ko-color-primary); font-family: var(--ko-font-heading); font-weight: var(--ko-weight-strong); line-height: var(--ko-leading-heading); text-wrap: balance; }
h1 { font-size: var(--ko-type-page); letter-spacing: var(--ko-tracking-tight); }
h2 { font-size: var(--ko-type-h2); letter-spacing: var(--ko-tracking-tight); }
h3 { font-size: var(--ko-type-h3); }
p { max-width: var(--ko-reading); }
p + p { margin-block-start: var(--ko-space-md); }
a { color: var(--ko-color-secondary); text-decoration-thickness: var(--ko-underline); text-underline-offset: var(--ko-underline-offset); transition: color var(--ko-motion) var(--ko-ease), background-color var(--ko-motion) var(--ko-ease); }
a:hover { color: var(--ko-color-primary); }
a, input { overflow-wrap: anywhere; }
.ko-phone a { white-space: nowrap; }
:focus-visible { outline: var(--ko-focus-width) solid currentColor; outline-offset: var(--ko-focus-offset); }
.wp-block-group > * { min-width: 0; }
.ko-wrap { width: calc(100% - var(--ko-gutter) * 2); max-width: var(--ko-wide); margin-inline: auto; }
.ko-eyebrow { font-size: var(--ko-type-label); font-weight: var(--ko-weight-label); letter-spacing: var(--ko-tracking-label); text-transform: uppercase; color: var(--ko-color-secondary); margin: 0 0 var(--ko-space-md); }
.ko-lead { font-size: var(--ko-type-lead); max-width: var(--ko-lead-measure); }
.ko-small { font-size: var(--ko-type-small); }
.ko-text-link { margin-top: var(--ko-space-md); font-weight: var(--ko-weight-strong); }
.wp-block-buttons { margin-top: var(--ko-space-lg); }
.wp-element-button, .wp-block-button__link, .wp-block-search__button { min-height: var(--ko-control); border: var(--ko-control-border) solid var(--ko-color-primary); border-radius: var(--wp--custom--radius--pill); box-shadow: none; background: var(--ko-color-brand); color: var(--ko-color-text); font-family: var(--ko-font-body); font-size: var(--ko-type-small); font-weight: var(--ko-weight-strong); padding: var(--ko-space-sm) var(--ko-space-lg); text-decoration: none; }
.wp-element-button:hover, .wp-block-button__link:hover, .wp-block-search__button:hover { background: var(--ko-color-secondary); color: var(--ko-color-white); }
.ko-utility { background: var(--ko-color-secondary); color: var(--ko-color-white); padding: var(--ko-space-xs) var(--ko-gutter); font-size: var(--ko-type-label); }
.ko-utility > *, .ko-masthead > * { max-width: var(--ko-wide); margin-inline: auto; }
.ko-utility p { margin: 0; }
.ko-utility a { color: inherit; }
.ko-masthead { padding: var(--ko-space-md) var(--ko-gutter); border-bottom: var(--ko-rule) solid var(--ko-color-border); background: var(--ko-color-white); }
.ko-masthead > .wp-block-group { justify-content: space-between; gap: var(--ko-space-lg); }
.ko-wordmark { font-family: var(--ko-font-heading); font-size: var(--ko-type-wordmark); font-weight: var(--ko-weight-strong); line-height: 1; letter-spacing: var(--ko-tracking-tight); margin: 0; }
.ko-wordmark a { color: inherit; text-decoration: none; }
.ko-masthead-actions { gap: var(--ko-space-lg); }
.ko-masthead .wp-block-navigation-item__content { color: var(--ko-color-text); display: flex; align-items: center; min-height: var(--ko-control); font-size: var(--ko-type-small); font-weight: var(--ko-weight-strong); text-decoration: none; }
.ko-masthead .current-menu-item > a, .ko-masthead .current_page_item > a, .ko-masthead a[aria-current="page"] { text-decoration: underline; text-decoration-color: var(--ko-color-secondary); text-decoration-thickness: var(--ko-rule-strong); }
.ko-header-call { margin: 0; }
.ko-header-call a { display: inline-flex; align-items: center; min-height: var(--ko-control); padding: var(--ko-space-xs) var(--ko-space-lg); border: var(--ko-rule) solid var(--ko-color-primary); border-radius: var(--wp--custom--radius--pill); color: var(--ko-color-primary); text-decoration: none; font-size: var(--ko-type-small); font-weight: var(--ko-weight-strong); }
.ko-header-call a:hover { background: var(--ko-color-primary); color: var(--ko-color-white); }
.ko-home-opening { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(21rem, .85fr); gap: var(--ko-gap); align-items: center; margin-block: var(--ko-space-xl); padding: clamp(2rem, 4.5vw, 4.75rem); border-radius: var(--wp--custom--radius--large); background: var(--ko-color-soft); }
.ko-home-visual { position: relative; display: grid; gap: var(--ko-space-md); }
.ko-care-panel { padding: clamp(1.75rem, 3vw, 2.75rem); border-radius: var(--wp--custom--radius--medium); background-color: var(--ko-color-primary); background-image: radial-gradient(circle at 82% 16%, rgba(251,229,79,.26) 0 2.5rem, transparent 2.55rem), linear-gradient(135deg, transparent 0 72%, rgba(255,255,255,.055) 72% 78%, transparent 78%); color: var(--ko-color-white); box-shadow: var(--wp--custom--shadow--card); }
.ko-care-panel h2, .ko-care-panel h3 { color: var(--ko-color-white); }
.ko-care-panel > .ko-eyebrow { color: var(--ko-color-accent); margin-bottom: var(--ko-space-lg); }
.ko-care-panel > h2 { font-size: var(--ko-type-h2); margin-bottom: var(--ko-space-xl); }
.ko-care-option { display: grid; grid-template-columns: 2rem 1fr; gap: var(--ko-space-md); padding-block: var(--ko-space-md); border-top: var(--ko-rule) solid rgba(255,255,255,.25); }
.ko-care-option p { margin: 0; }
.ko-care-option h3 { margin-bottom: var(--ko-space-xs); font-size: var(--ko-type-h4); letter-spacing: -.02em; }
.ko-care-number { color: var(--ko-color-accent); font-size: var(--ko-type-small); font-weight: var(--ko-weight-strong); }
.ko-home-visual .ko-visit-note { background: var(--ko-color-white); padding: var(--ko-space-lg); display: grid; grid-template-columns: 1fr 1fr; gap: var(--ko-space-sm) var(--ko-space-lg); position: relative; border: var(--ko-rule) solid var(--ko-color-border); border-radius: var(--wp--custom--radius--medium); box-shadow: var(--ko-shadow); }
.ko-home-visual .ko-visit-note::before { display: none; }
.ko-home-visual .ko-visit-note h2 { display: none; }
.ko-home-visual .ko-visit-note > .ko-eyebrow { grid-column: 1 / -1; margin: 0; }
.ko-home-visual .ko-visit-note > p { font-size: var(--ko-type-small); margin: 0; }
.ko-home-visual .ko-hours { margin: 0; }
.ko-home-visual .ko-hours p { font-size: var(--ko-type-small); }
.ko-home-visual .ko-visit-note .ko-text-link { grid-column: 1 / -1; }
.ko-home-title h1 { font-size: var(--ko-type-display); margin-bottom: var(--ko-space-lg); }
.ko-home-title > .ko-eyebrow { margin-bottom: var(--ko-space-lg); }
.ko-visit-note { border-top: var(--ko-rule-strong) solid var(--ko-color-primary); padding: var(--ko-space-xl) 0 0 var(--ko-space-xl); position: relative; }
.ko-visit-note::before { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--ko-rule); background: var(--ko-color-border); }
.ko-visit-note h2 { margin-bottom: var(--ko-space-lg); }
.ko-hours { margin-top: var(--ko-space-xl); }
.ko-hours .ko-eyebrow { margin-bottom: var(--ko-space-xs); }
.ko-hours .ko-small { margin-top: var(--ko-space-xs); }
.ko-home-actions { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: var(--ko-space-md); padding-block: var(--ko-space-lg) var(--ko-section-compact); }
.ko-action-card { display: flex; flex-direction: column; min-height: 100%; overflow: hidden; border: var(--ko-rule) solid var(--ko-color-border); border-radius: var(--wp--custom--radius--medium); background: var(--ko-color-white); box-shadow: var(--ko-shadow); transition: transform var(--ko-motion) var(--ko-ease), box-shadow var(--ko-motion) var(--ko-ease); }
.ko-action-card:hover { transform: translateY(-3px); box-shadow: var(--wp--custom--shadow--card); }
.ko-action-card > *:not(.ko-card-graphic) { margin-inline: var(--ko-space-lg); }
.ko-action-card > .ko-eyebrow { margin-top: var(--ko-space-lg); margin-bottom: var(--ko-space-xs); }
.ko-action-card > h3 { margin-bottom: var(--ko-space-sm); }
.ko-action-card > .ko-text-link { margin-top: auto; padding-block: var(--ko-space-lg); }
.ko-card-graphic { position: relative; min-height: 10rem; overflow: hidden; background-color: var(--ko-color-soft); background-size: 28px 28px, auto; }
.ko-card-graphic::before, .ko-card-graphic::after { content: ""; position: absolute; border-radius: 50%; }
.ko-card-graphic::before { width: 9rem; height: 9rem; right: -1.5rem; top: -2rem; background: rgba(255,255,255,.5); }
.ko-card-graphic::after { width: 5rem; height: 5rem; left: 2rem; bottom: -2.25rem; border: 1.5rem solid rgba(57,172,139,.18); }
.ko-card-graphic span { position: absolute; left: var(--ko-space-lg); top: var(--ko-space-lg); z-index: 1; display: grid; place-items: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--ko-color-white); color: var(--ko-color-primary); font-size: var(--ko-type-small); font-weight: var(--ko-weight-strong); box-shadow: var(--ko-shadow); }
.ko-card-graphic--appointments { background-image: linear-gradient(45deg, rgba(139,29,38,.16) 25%, transparent 25%, transparent 75%, rgba(139,29,38,.16) 75%), linear-gradient(135deg, var(--ko-color-soft), #dcece4); }
.ko-card-graphic--virtual { background-color: var(--ko-color-accent); background-image: radial-gradient(circle at 25% 30%, rgba(255,255,255,.48) 0 4rem, transparent 4.05rem), linear-gradient(145deg, transparent 0 62%, rgba(57,172,139,.16) 62%); }
.ko-card-graphic--services { background-color: var(--ko-color-secondary); background-image: linear-gradient(120deg, transparent 0 45%, rgba(255,255,255,.16) 45% 52%, transparent 52% 68%, rgba(255,255,255,.09) 68%); }
.ko-service-intro { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.65fr); gap: var(--ko-gap); padding-block: var(--ko-section); }
.ko-margin { padding-top: var(--ko-space-xs); }
.ko-feature-story { padding: clamp(1.5rem, 3vw, 2.5rem); margin-bottom: var(--ko-space-md); border-radius: var(--wp--custom--radius--medium); background: var(--ko-color-primary); color: var(--ko-color-white); }
.ko-feature-story h3, .ko-feature-story a { color: var(--ko-color-white); }
.ko-feature-story .ko-eyebrow { color: var(--ko-color-accent); }
.ko-feature-story .ko-eyebrow { display: flex; align-items: center; gap: var(--ko-space-lg); }
.ko-feature-story .ko-eyebrow::after { content: ""; height: var(--ko-rule); flex: 1; background: rgba(255,255,255,.28); }
.ko-feature-story h3 { font-size: var(--ko-type-h2); margin-bottom: var(--ko-space-lg); }
.ko-preview-row { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--ko-space-xl); border-top: var(--ko-rule) solid var(--ko-color-border); padding: var(--ko-space-lg) var(--ko-space-md); border-radius: var(--ko-radius); }
.ko-preview-row:hover { background: var(--ko-color-soft); }
.ko-preview-row .ko-text-link { grid-column: 2; margin-top: var(--ko-space-sm); }
.ko-preview-row p { margin-top: 0; }
.ko-home-updates { position: relative; overflow: hidden; background: var(--ko-color-soft); }
.ko-home-updates::after { content: ""; position: absolute; width: 34rem; height: 34rem; right: -12rem; bottom: -19rem; border: 5rem solid rgba(139,29,38,.08); border-radius: 50%; pointer-events: none; }
.ko-updates-layout { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.5fr); gap: var(--ko-gap); padding-block: var(--ko-section); }
.ko-updates-intro h2 { margin-bottom: var(--ko-space-lg); }
.ko-placeholder-note { display: inline-block; margin-top: var(--ko-space-lg); 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-secondary); font-size: var(--ko-type-small); font-weight: var(--ko-weight-strong); }
.ko-update-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: var(--ko-space-md); }
.ko-update-card { padding: var(--ko-space-lg); border: var(--ko-rule) solid var(--ko-color-border); border-radius: var(--wp--custom--radius--medium); background: rgba(255,255,255,.74); backdrop-filter: blur(8px); }
.ko-update-card--featured { grid-column: 1 / -1; min-height: 15rem; padding: clamp(1.75rem,3vw,2.75rem); background-color: var(--ko-color-primary); background-image: linear-gradient(125deg, transparent 0 68%, rgba(251,229,79,.17) 68% 75%, transparent 75%); color: var(--ko-color-white); }
.ko-update-card--featured h3, .ko-update-card--featured a { color: var(--ko-color-white); }
.ko-update-card--featured h3 { max-width: 20ch; font-size: var(--ko-type-h2); }
.ko-update-meta { margin: 0 0 var(--ko-space-lg); color: var(--ko-color-secondary); font-size: var(--ko-type-label); font-weight: var(--ko-weight-strong); letter-spacing: var(--ko-tracking-label); text-transform: uppercase; }
.ko-update-card--featured .ko-update-meta { color: var(--ko-color-accent); }
.ko-update-card h3 { margin-bottom: var(--ko-space-md); }
.ko-community-feature { background: var(--ko-color-primary); color: var(--ko-color-white); position: relative; }
.ko-community-feature { background-image: linear-gradient(135deg, transparent 0 44%, rgba(255,255,255,.025) 44% 51%, transparent 51%), radial-gradient(circle at 8% 78%, rgba(251,229,79,.1) 0 8rem, transparent 8.1rem); }
.ko-community-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--ko-gap); padding-block: var(--ko-section); }
.ko-community-feature h2, .ko-community-feature a { color: var(--ko-color-white); }
.ko-community-feature .ko-eyebrow { color: var(--ko-color-accent); }
.ko-community-copy h2 { margin-bottom: var(--ko-space-xl); }
.ko-community-index { align-self: center; }
.ko-community-index p { font-family: var(--ko-font-heading); font-size: var(--ko-type-h4, 1.125rem); font-weight: var(--ko-weight-strong); border-top: var(--ko-rule) solid rgba(255,255,255,.25); padding-block: var(--ko-space-md); margin: 0; line-height: 1.25; }
.ko-cultural-note { display: grid; grid-template-columns: 1fr 2fr; column-gap: var(--ko-gap); margin-block: var(--ko-section-compact); padding: var(--ko-space-xl); border-radius: var(--wp--custom--radius--medium); background: var(--ko-color-soft); }
.ko-cultural-note .ko-text-link { grid-column: 2; }
.ko-closing { display: grid; grid-template-columns: 1.3fr 1fr; column-gap: var(--ko-gap); margin-bottom: var(--ko-section); padding: var(--ko-space-xl); border-top: 4px solid var(--ko-color-accent); border-radius: var(--wp--custom--radius--medium); background: #FFF9D9; }
.ko-closing > .ko-eyebrow { grid-column: 1 / -1; }
.ko-closing h2 { max-width: var(--ko-title-measure); }
.ko-closing-action { align-self: end; }
.ko-about-opening { margin-block: var(--ko-space-xl); padding: clamp(2rem, 4.5vw, 4.75rem); border-radius: var(--wp--custom--radius--large); background-color: var(--ko-color-soft); background-image: radial-gradient(circle at 88% 22%, rgba(251,229,79,.45) 0 5rem, transparent 5.05rem), linear-gradient(135deg, transparent 0 75%, rgba(139,29,38,.07) 75%); }
.ko-about-opening h1 { max-width: none; }
.ko-about-lede { max-width: var(--ko-reading); margin: var(--ko-space-xl) 0 0 auto; padding-left: var(--ko-space-lg); border-left: var(--ko-rule-strong) solid var(--ko-color-accent); }
.ko-narrative { display: grid; grid-template-columns: 1fr 2fr; gap: var(--ko-gap); padding-block: var(--ko-section); }
.ko-narrative-body > h2 { margin-bottom: var(--ko-space-2xl); }
.ko-reach-pair { display: grid; grid-template-columns: 1fr 1fr; gap: var(--ko-gap); }
.ko-reach { padding: var(--ko-space-lg); border-radius: var(--wp--custom--radius--medium); background: var(--ko-color-soft); }
.ko-reach h3 { margin-bottom: var(--ko-space-md); }
.ko-about-communities { display: grid; grid-template-columns: 1fr 1.4fr; gap: var(--ko-gap); margin-bottom: var(--ko-section-compact); padding: var(--ko-space-xl); border-radius: var(--wp--custom--radius--medium); background: var(--ko-color-primary); color: var(--ko-color-white); }
.ko-about-communities h2 { color: var(--ko-color-white); }
.ko-about-communities .ko-eyebrow { color: var(--ko-color-accent); }
.ko-about-communities .ko-community-index p { border-color: rgba(255,255,255,.25); }
.ko-community-heading h2 { margin-bottom: var(--ko-space-xl); }
.ko-directory-opening { display: grid; grid-template-columns: 1.3fr 1fr; column-gap: var(--ko-gap); align-items: end; margin-block: var(--ko-space-xl); padding: clamp(2rem, 4.5vw, 4.75rem); border-radius: var(--wp--custom--radius--large); background-color: var(--ko-color-soft); background-image: linear-gradient(115deg, transparent 0 73%, rgba(139,29,38,.08) 73% 80%, transparent 80%), radial-gradient(circle at 95% 90%, rgba(251,229,79,.35) 0 5rem, transparent 5.05rem); }
.ko-directory-opening > .ko-eyebrow { grid-column: 1 / -1; }
.ko-directory-title { font-family: var(--ko-font-body); font-size: var(--ko-type-small); font-weight: var(--ko-weight-strong); letter-spacing: normal; padding-bottom: var(--ko-space-lg); }
.ko-directory-row { display: grid; grid-template-columns: auto minmax(0, 1.3fr) minmax(0, 1fr); gap: var(--ko-gap); border-top: var(--ko-rule) solid var(--ko-color-border); padding: var(--ko-space-lg) var(--ko-space-md); border-radius: var(--ko-radius); scroll-margin-top: var(--ko-space-xl); }
.ko-directory-row:first-of-type { border-color: var(--ko-color-primary); }
.ko-directory-row { transition: background-color var(--ko-motion) var(--ko-ease); }
.ko-directory-row:hover { background: var(--ko-color-soft); }
.ko-row-number { font-size: var(--ko-type-small); color: var(--ko-color-secondary); }
.ko-directory-row > p { margin: 0; }
.ko-access { margin-top: var(--ko-section-compact); background: var(--ko-color-primary); color: var(--ko-color-white); }
.ko-access h2, .ko-access h3, .ko-access a { color: var(--ko-color-white); }
.ko-access .ko-eyebrow { color: var(--ko-color-accent); }
.ko-access-inner { display: grid; grid-template-columns: 1fr 1.65fr; gap: var(--ko-gap); padding-block: var(--ko-section-compact); }
.ko-step { border-top: var(--ko-rule) solid rgba(255,255,255,.25); padding-block: var(--ko-space-lg); }
.ko-step .ko-eyebrow { margin-bottom: var(--ko-space-xs); }
.ko-step h3 { margin-bottom: var(--ko-space-sm); }
.ko-before-visit { display: flex; gap: var(--ko-gap); padding-block: var(--ko-section-compact); }
.ko-before-visit .ko-eyebrow { flex-shrink: 0; }
.ko-contact-opening { display: grid; grid-template-columns: 1fr 1.2fr; gap: var(--ko-gap); margin-block: var(--ko-space-xl); padding: clamp(2rem, 4.5vw, 4.75rem); border-radius: var(--wp--custom--radius--large); background-color: var(--ko-color-soft); background-image: linear-gradient(35deg, transparent 0 76%, rgba(139,29,38,.08) 76% 83%, transparent 83%); }
.ko-contact-phones h2 { font-family: var(--ko-font-body); font-size: var(--ko-type-small); letter-spacing: normal; font-weight: var(--ko-weight-strong); }
.ko-phone { font-family: var(--ko-font-heading); font-size: var(--ko-type-phone); line-height: var(--ko-leading-heading); margin-block: var(--ko-space-md); }
.ko-phone a { color: var(--ko-color-primary); text-decoration-thickness: var(--ko-rule); }
.ko-phone-primary, .ko-phone-secondary { padding: var(--ko-space-lg); border-radius: var(--wp--custom--radius--medium); background: var(--ko-color-white); box-shadow: var(--ko-shadow); }
.ko-phone-secondary { margin-top: var(--ko-space-md); }
.ko-visit-layout { display: grid; grid-template-columns: 1.2fr 1fr; gap: var(--ko-gap); padding-block: var(--ko-section-compact); border-top: var(--ko-rule) solid var(--ko-color-primary); }
.ko-address h2 { margin-bottom: var(--ko-space-xl); }
.ko-hours-sheet { align-self: start; background: var(--ko-color-soft); padding: var(--ko-space-xl); border-radius: var(--wp--custom--radius--medium); }
.ko-hours-sheet h2 { font-size: var(--ko-type-h3); margin-bottom: var(--ko-space-xl); }
.ko-hours-row { display: flex; justify-content: space-between; gap: var(--ko-space-md); padding-block: var(--ko-space-md); border-top: var(--ko-rule) solid var(--ko-color-border); }
.ko-hours-row p { margin: 0; }
.ko-correspondence { display: grid; grid-template-columns: 2fr 1fr; gap: var(--ko-gap); padding-block: var(--ko-section-compact); border-top: var(--ko-rule) solid var(--ko-color-border); }
.ko-correspondence h2 { font-size: var(--ko-type-h3); }
.ko-fax p { margin-top: var(--ko-space-lg); }
.ko-emergency { display: flex; align-items: baseline; gap: var(--ko-gap); border-top: var(--ko-rule-strong) solid var(--ko-color-primary); padding-block: var(--ko-space-xl) var(--ko-section-compact); }
.ko-emergency h2 { font-size: var(--ko-type-h3); }
.ko-emergency p { margin: 0; }
.ko-footer { background-color: var(--ko-color-primary); background-image: radial-gradient(circle at 92% 8%, rgba(251,229,79,.1) 0 9rem, transparent 9.1rem); color: var(--ko-color-white); padding: var(--ko-section-compact) var(--ko-gutter) var(--ko-space-xl); }
.ko-footer-inner { max-width: var(--ko-wide); margin-inline: auto; }
.ko-footer h2, .ko-footer h3, .ko-footer a { color: inherit; }
.ko-footer a:hover { color: var(--ko-color-accent); }
.ko-footer-top { display: grid; grid-template-columns: 1.3fr 1fr auto; gap: var(--ko-gap); align-items: start; padding-bottom: var(--ko-space-xl); }
.ko-footer-top .ko-wordmark { font-size: var(--ko-type-footer-mark); }
.ko-footer-top > p:not(.ko-wordmark) { max-width: var(--ko-narrow); margin: 0; }
.ko-footer-details { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); column-gap: var(--ko-gap); row-gap: var(--ko-space-xl); padding-block: var(--ko-space-xl); border-top: var(--ko-rule) solid rgba(255,255,255,.2); }
.ko-footer-details h2 { font-family: var(--ko-font-body); font-size: var(--ko-type-small); font-weight: var(--ko-weight-strong); letter-spacing: normal; margin-bottom: var(--ko-space-md); color: var(--ko-color-accent); }
.ko-footer-details > .wp-block-group { margin: 0; }
.ko-footer-meta { border-top: var(--ko-rule) solid var(--ko-color-accent); padding-top: var(--ko-space-lg); font-size: var(--ko-type-small); }
.ko-footer-meta p { margin: 0; }
.ko-secondary { min-height: var(--ko-main-min); padding: var(--ko-section) var(--ko-gutter); }
.ko-secondary > .alignwide { max-width: var(--ko-wide); margin-inline: auto; }
.ko-secondary h1 { max-width: var(--ko-title-measure); margin-bottom: var(--ko-space-xl); overflow-wrap: anywhere; }
.ko-secondary .wp-block-search { max-width: var(--ko-reading); margin-block: var(--ko-space-xl); }
.wp-block-search__label { display: block; font-size: var(--ko-type-small); margin-bottom: var(--ko-space-xs); }
.wp-block-search__input { min-width: 0; min-height: var(--ko-control); border: var(--ko-control-border) solid var(--ko-color-secondary); border-radius: var(--ko-radius); font: inherit; background: var(--ko-color-white); color: var(--ko-color-text); padding: var(--ko-space-sm); }
.ko-results { margin-top: var(--ko-section-compact); }
.ko-update-date { color: var(--ko-color-secondary); font-size: var(--ko-type-small); font-weight: var(--ko-weight-strong); margin-bottom: var(--ko-space-xs); }
.ko-results .wp-block-post-template { display: block; padding: 0; }
.ko-result { display: grid; grid-template-columns: 1fr 1.6fr; gap: var(--ko-gap); border-top: var(--ko-rule) solid var(--ko-color-border); padding-block: var(--ko-space-xl); }
.ko-result h2 { font-size: var(--ko-type-h3); }
.ko-result .wp-block-post-excerpt { margin: 0; }
.ko-result .wp-block-post-excerpt__more-text { margin-top: var(--ko-space-sm); }
.tribe-events-view, .tribe-common { font-family: var(--ko-font-body); }
.tribe-events .tribe-events-header, .tribe-events .tribe-events-calendar-month { max-width: var(--ko-wide); margin-inline: auto; }
.ko-media-landscape img { aspect-ratio: var(--ko-media-landscape); object-fit: cover; object-position: var(--ko-media-focus); }
.ko-media-portrait img { aspect-ratio: var(--ko-media-portrait); object-fit: cover; object-position: var(--ko-media-focus); }
.ko-home-opening > *, .ko-service-intro > *, .ko-preview-row > *, .ko-community-layout > *, .ko-cultural-note > *, .ko-closing > *, .ko-narrative > *, .ko-reach-pair > *, .ko-about-communities > *, .ko-directory-opening > *, .ko-directory-row > *, .ko-access-inner > *, .ko-contact-opening > *, .ko-visit-layout > *, .ko-correspondence > *, .ko-footer-top > *, .ko-footer-details > *, .ko-result > * { margin-block-start: 0; }
