/*
Theme Name:     Kadence Echo EMF
Theme URI:      https://echo-factory.com/
Template:       kadence
Author:         Echo-Factory
Author URI:     https://echo-factory.com/
Description:    Echo Motion Fitness child theme for Kadence (content types, ACF fields, brand styles). By Echo-Factory.
Version:        2.13.5
License:        GNU General Public License v3.0 (or later)
License URI:    https://www.gnu.org/licenses/gpl-3.0.html
*/

.contact-form label.gfield_label.gform-field-label,
.contact-form .gform-footer.gform_footer > #gform_submit_button_1.gform_button.button {
	font-family: var(--global-heading-font-family);
	text-transform: uppercase;
}

.contact-form .gform-footer.gform_footer > #gform_submit_button_1.gform_button.button {
	padding: 16px 32px;
	border-radius: 26px;
}

.contact-form .gform-footer.gform_footer > #gform_submit_button_1.gform_button.button:hover {
	background-color: var(--global-palette2);
	color: var(--global-palette3);
}

.gform_heading {
	display: none;
}

.map-wrapper > .kt-inside-inner-col {
	overflow: hidden;
}

@media (width <= 1024px) {
	.hide-mobile {
		display: none;
	}
}

@media (width > 1024px) {
	.hide-desktop {
		display: none;
	}
}

/* ==========================================================================
   Site expansion 2026: template components (Kadence Elements + [emf_*] shortcodes).
   Colors come from the Kadence global palette: 1 blue, 2 mint, 3 ink, 4 navy, 5 muted, 6 line, 7 mist, 8 mint-soft, 9 white.
   ========================================================================== */
.emf-eyebrow { font-family: var(--global-heading-font-family); font-size: 12.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; margin: 0 0 .75rem; }
.emf-muted { color: var(--global-palette5); }
.emf-textlink { color: var(--global-palette1); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.emf-status { display: inline-block; background: var(--global-palette2); color: var(--global-palette4); font-family: var(--global-heading-font-family); font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; vertical-align: middle; margin: 0 0 .75rem; }
.emf-mini { font-size: 13px !important; letter-spacing: .1em; margin: 1.5rem 0 .5rem !important; }

.emf-locdetails dl { display: grid; grid-template-columns: max-content 1fr; gap: .4rem 1.25rem; margin: 0 0 1rem; }
.emf-locdetails dt { font-family: var(--global-heading-font-family); font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding-top: .3em; }
.emf-locdetails dd { margin: 0; }
.emf-locdetails a[href^="tel"] { color: inherit; font-weight: 600; }

.emf-hours { width: 100%; border-collapse: collapse; margin: 0; }
.emf-hours th, .emf-hours td { text-align: left; padding: .55rem 0; border-bottom: 1px solid var(--global-palette6); font-size: 16px; }
.emf-hours th { font-weight: 600; width: 45%; }

.emf-map { border-radius: 18px; overflow: hidden; aspect-ratio: 4 / 3; background: var(--global-palette7); }
.emf-map iframe { width: 100%; height: 100%; border: 0; display: block; }
.emf-map--empty { display: grid; place-items: center; color: var(--global-palette5); }

.emf-loccards, .emf-coachgrid, .emf-quotes, .emf-chips, .emf-checks { list-style: none; margin: 0; padding: 0; }
.emf-loccards { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 16px; }
.emf-loccards li { border: 1px solid var(--global-palette6); border-radius: 12px; padding: 22px; }
.emf-loccards h3 { margin: 0 0 .5rem; }
.emf-loccards a { color: var(--global-palette4); }

.emf-checks li { position: relative; padding-left: 1.6em; margin: .35rem 0; }
.emf-checks li::before { content: ""; position: absolute; left: 0; top: .45em; width: .9em; height: .5em; border-left: 3px solid var(--global-palette4); border-bottom: 3px solid var(--global-palette4); transform: rotate(-45deg); }
.emf-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.emf-chips li { background: var(--global-palette8); border-radius: 999px; padding: 6px 14px; font-size: 14px; font-weight: 600; }
.emf-role { font-family: var(--global-heading-font-family); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin: 0; }

.emf-coachgrid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 24px; }
.emf-coachgrid a { display: grid; gap: 4px; color: var(--global-palette4); text-decoration: none; }
.emf-coachgrid img, .emf-avatar { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 18px; background: var(--global-palette7); display: block; margin-bottom: 8px; }
.emf-coachgrid b { font-family: var(--global-heading-font-family); text-transform: uppercase; }

.emf-quotes { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 24px; }
.emf-quotes blockquote, .emf-bigquote { margin: 0; border: 0; background: var(--global-palette8); border-radius: 18px; padding: 32px; font-size: 20px; line-height: 1.5; }
.emf-quotes footer, .emf-attrib { font-family: var(--global-heading-font-family); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin-top: 1rem; }

.emf-acc details { border: 1px solid var(--global-palette6); border-radius: 12px; margin: 0 0 10px; background: var(--global-palette9); }
.emf-acc summary { cursor: pointer; padding: 18px 22px; font-weight: 600; font-size: 18px; list-style: none; display: flex; justify-content: space-between; gap: 1rem; min-height: 44px; }
.emf-acc summary::-webkit-details-marker { display: none; }
.emf-acc summary::after { content: "+"; font-family: var(--global-heading-font-family); font-size: 22px; line-height: 1; }
.emf-acc details[open] summary::after { content: "–"; }
.emf-acc summary:focus-visible { outline: 3px solid var(--global-palette1); outline-offset: 2px; border-radius: 12px; }
.emf-acc-body { padding: 0 22px 18px; }
.emf-acc-body > :last-child { margin-bottom: 0; }

.emf-panel { border-radius: 18px; }
.emf-dark, .emf-dark h1, .emf-dark h2, .emf-dark h3 { color: var(--global-palette9); }
.emf-dark p { color: #d6dee6; }
.emf-dark .emf-eyebrow { color: var(--global-palette2); }

/* Buttons: Space Mono uppercase labels (design system "button-label"); outline = navy on light, white on dark. */
.wp-block-button__link { font-family: var(--global-heading-font-family); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; padding: 14px 26px; min-height: 44px; }
:root { --global-palette-btn-out: var(--global-palette4); --global-palette-btn-out-hover: var(--global-palette1); }
.emf-dark .wp-block-button__link { --global-palette-btn-out: var(--global-palette9); --global-palette-btn-out-hover: var(--global-palette2); }
.wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) { border-color: currentColor; }
.wp-block-button__link:focus-visible { outline: 3px solid var(--global-palette1); outline-offset: 3px; }

/* Footer (Kadence footer widgets): Locations column, legal nav. */
.site-footer .emf-flabel { font-weight: 700; margin: 0 0 1rem; color: var(--global-palette4); }
.site-footer .emf-floc { margin: 0 0 1rem; font-size: 16px; line-height: 1.6; }
.site-footer .emf-floc a { color: var(--global-palette4); }
.site-footer .emf-legal .wp-block-kadence-navigation .menu { flex-wrap: wrap; justify-content: flex-end; gap: 4px 16px; }
.site-footer .emf-legal a { font-family: var(--global-heading-font-family); font-size: 12px; text-transform: uppercase; color: var(--global-palette4); padding: 4px 0; }

/* Header navigation (#149) and legal nav (#267): Kadence scopes nav styles to .wp-block-kadence-navigation{ID}-cpt-id. */
@media (min-width: 1025px) {
	.wp-block-kadence-navigation149-cpt-id .menu-container > ul.kb-navigation { column-gap: 22px; flex-wrap: nowrap; }
	.wp-block-kadence-navigation149-cpt-id .menu-container > ul.kb-navigation > li > .kb-link-wrap > .kb-nav-link-content { white-space: nowrap; }
	.wp-block-kadence-navigation149-cpt-id .menu-container ul.kb-nav-sub-menu { border-radius: 12px; box-shadow: 0 12px 30px rgba(12, 35, 63, .12); padding: 8px 0; min-width: 250px; background: var(--global-palette9); overflow: hidden; }
	.wp-block-kadence-navigation149-cpt-id .menu-container ul.kb-nav-sub-menu .kb-nav-link-content { font-size: 16px; padding: 10px 20px; color: var(--global-palette4); white-space: nowrap; }
	.wp-block-kadence-navigation149-cpt-id .menu-container ul.kb-nav-sub-menu .kb-nav-link-content:hover { background: var(--global-palette8); }
}
.wp-block-kadence-singlebtn, .kb-button { white-space: nowrap; }
/* Logo never shrinks below a readable size; tighten the nav between 1025px and 1280px instead. */
.kb-identity141_ee0475-50 .wp-block-site-logo, .kb-identity141_ee0475-50 .custom-logo { min-width: 200px; }
.wp-block-kadence-header-section141_7edc2f-9a { flex-shrink: 0; }
@media (min-width: 1025px) and (max-width: 1280px) {
	.wp-block-kadence-navigation149-cpt-id .menu-container > ul.kb-navigation { column-gap: 6px; }
	.wp-block-kadence-navigation149-cpt-id .menu-container > ul.kb-navigation > li > .kb-link-wrap > .kb-nav-link-content { font-size: 12px; }
	.kb-identity141_ee0475-50 .wp-block-site-logo, .kb-identity141_ee0475-50 .custom-logo { min-width: 170px; }
}
.kb-nav-link-content:focus-visible { outline: 3px solid var(--global-palette1); outline-offset: 2px; }
.wp-block-kadence-navigation267-cpt-id .menu-container > ul.kb-navigation { flex-direction: row; flex-wrap: wrap; justify-content: flex-end; column-gap: 18px; row-gap: 4px; }
.wp-block-kadence-navigation267-cpt-id .menu-container > ul.kb-navigation > li > .kb-link-wrap > .kb-nav-link-content { padding: 4px 0; }
@media (max-width: 767px) { .wp-block-kadence-navigation267-cpt-id .menu-container > ul.kb-navigation { justify-content: center; } }

/* ==========================================================================
   Pages (Home T1, About T2, …) built by scripts/build-pages.py: Kadence rows + core blocks.
   ========================================================================== */
.emf-brush { font-family: "Flood Std Regular", "Flood Std", "Brush Script MT", cursive; font-weight: 400; text-transform: none; letter-spacing: 0; font-size: 1.15em; line-height: .8; }
.emf-hl { color: var(--global-palette1); }
.emf-dark .emf-hl { color: var(--global-palette2); }
.emf-lede { font-size: 20.8px; font-weight: 300; line-height: 1.6; max-width: 62ch; }
.emf-lede-sm { color: var(--global-palette5); max-width: 65ch; }
.emf-tbd { display: inline-block; border: 1.5px dashed currentColor; border-radius: 6px; padding: 0 6px; font-size: .8em; opacity: .85; }
.emf-panel > .kt-row-column-wrap, .emf-panel { border-radius: 18px; }
.emf-panel.kt-row-has-bg { overflow: hidden; }
.emf-sechead h2 { margin-bottom: .4rem; }
.emf-sechead + .emf-cards, .emf-sechead + .emf-panel { margin-top: 0; }

/* Hero */
.emf-hero h1 { font-size: clamp(42px, 3.5vw + 20px, 86px); line-height: 1.02; color: var(--global-palette9); }
.emf-hero .emf-lede { color: #d6dee6; }
.emf-facts { font-family: var(--global-heading-font-family); font-size: 12.5px; letter-spacing: .12em; text-transform: uppercase; color: var(--global-palette2) !important; margin-top: 1.25rem; }

/* Cards (columns inside .emf-cards rows) */
.emf-cards .kt-inside-inner-col > :last-child { margin-bottom: 0; }
.emf-card > .kt-inside-inner-col { border: 1px solid var(--global-palette6); border-radius: 18px; padding: 24px; height: 100%; background: var(--global-palette9); }
.emf-card.emf-flag > .kt-inside-inner-col, .emf-card.emf-mint > .kt-inside-inner-col { background: var(--global-palette8); border-color: transparent; }
.emf-card h3 { font-size: 18px; margin: 0 0 .5rem; }
.emf-badge p, .emf-card p { font-size: 16px; }
.emf-prog > .kt-inside-inner-col, .emf-path > .kt-inside-inner-col { padding: 0 0 22px; overflow: hidden; }
.emf-prog .kt-inside-inner-col > :not(figure), .emf-path .kt-inside-inner-col > * { margin-left: 22px; margin-right: 22px; }
.emf-path > .kt-inside-inner-col { padding-top: 22px; }
.emf-cardimg { margin: 0 0 16px; }
.emf-cardimg img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.emf-chipline { font-family: var(--global-heading-font-family); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--global-palette4); margin-bottom: .5rem; }
.emf-pathtag { display: inline-grid; place-items: center; min-width: 48px; height: 48px; padding: 0 10px; border-radius: 999px; background: var(--global-palette2); color: var(--global-palette4); font-family: var(--global-heading-font-family); font-weight: 700; }

/* Trust strip */
.emf-trust .emf-trustitem p { position: relative; padding-left: 40px; font-size: 15px; color: var(--global-palette5); margin: 0; }
.emf-trust .emf-trustitem p strong { color: var(--global-palette4); font-size: 17px; }
.emf-trust .emf-trustitem p::before { content: ""; position: absolute; left: 0; top: 2px; width: 28px; height: 28px; border-radius: 50%; background: var(--global-palette2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M8 14.5l4 4 8-9' stroke='%230C233F' stroke-width='2.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 28px no-repeat; }

/* Images */
.emf-img { margin: 0; }
.emf-img img { border-radius: 18px; display: block; width: 100%; }
.emf-cover img { aspect-ratio: 4 / 3; object-fit: cover; }
.emf-portrait img { aspect-ratio: 4 / 5; object-fit: cover; }
.emf-caption { font-size: 14px; color: var(--global-palette5); margin-top: .5rem; }

/* Quotes, lists, steps */
.emf-pull { border-left: 4px solid var(--global-palette2); margin: 1.5rem 0; padding: .25rem 0 .25rem 1.25rem; font-size: 20px; line-height: 1.5; }
.emf-pull cite { display: block; font-family: var(--global-heading-font-family); font-size: 12.5px; font-style: normal; letter-spacing: .1em; text-transform: uppercase; margin-top: .5rem; }
.emf-checks-light li::before { border-color: var(--global-palette2); }
.emf-dark .emf-checks li { color: #d6dee6; }
.emf-dark .emf-checks strong { color: var(--global-palette9); }
.emf-steps { list-style: none; counter-reset: s; padding: 0; }
.emf-steps li { counter-increment: s; position: relative; padding: 0 0 1.25rem 3.25rem; }
.emf-steps li::before { content: counter(s); position: absolute; left: 0; top: -2px; width: 36px; height: 36px; border-radius: 50%; background: var(--global-palette4); color: var(--global-palette2); display: grid; place-items: center; font-family: var(--global-heading-font-family); font-weight: 700; }
.emf-mile p { font-size: 15px; margin: 0; }
.emf-mile strong { display: block; font-family: var(--global-heading-font-family); font-size: 18px; color: var(--global-palette1); }
.emf-when { font-family: var(--global-heading-font-family); font-size: 12px; letter-spacing: .1em; text-transform: uppercase; color: var(--global-palette1); margin-bottom: .25rem; }

/* Non-profit band and final CTA */
.emf-np h2 { margin-top: .25rem; }
.emf-final h2 { color: var(--global-palette9); }
.emf-final .emf-brush { color: var(--global-palette2); }
.emf-muted-dark { color: #afc0d1 !important; font-size: 14px; margin: 1rem 0 0; }
.emf-phone { font-family: var(--global-heading-font-family); font-size: 26px; font-weight: 700; color: var(--global-palette9) !important; text-decoration: none; }
@media (max-width: 767px) {
	.kb-row-layout-wrap.emf-panel > .kt-row-column-wrap { padding-left: 20px !important; padding-right: 20px !important; }
	.kb-row-layout-wrap.emf-hero > .kt-row-column-wrap { padding-top: 48px !important; padding-bottom: 48px !important; }
}

/* Breadcrumbs, quick facts, Funding Finder, copy box */
.emf-crumbs { font-size: 14px; color: var(--global-palette5); margin: 0 0 1rem; display: flex; flex-wrap: wrap; gap: 8px; }
.emf-crumbs a { color: var(--global-palette1); }
.emf-qfacts { list-style: none; padding: 0; margin: 1.25rem 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
.emf-qfacts li { background: var(--global-palette9); border-radius: 12px; padding: 12px 14px; font-size: 15px; margin: 0; }
.emf-qfacts li::before { display: none; }
.emf-qfacts strong { display: block; font-family: var(--global-heading-font-family); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--global-palette5); }
.emf-btn-navy, .emf-btn-mint { display: inline-flex; align-items: center; min-height: 44px; padding: 12px 24px; border-radius: 999px; font-family: var(--global-heading-font-family); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; border: 0; cursor: pointer; }
.emf-btn-navy { background: var(--global-palette4); color: var(--global-palette9) !important; }
.emf-btn-mint { background: var(--global-palette2); color: var(--global-palette4); }
.emf-btn-navy:hover { background: var(--global-palette1); }
.emf-btn-mint:hover { background: var(--global-palette4); color: var(--global-palette2); }
.emf-btn-navy:focus-visible, .emf-btn-mint:focus-visible, .emf-opt input:focus-visible + span { outline: 3px solid var(--global-palette1); outline-offset: 3px; }
.emf-finder { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; background: var(--global-palette7); border-radius: 18px; padding: 28px; }
.emf-finder fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: 10px; }
.emf-finder legend { font-family: var(--global-heading-font-family); font-weight: 700; font-size: 18px; text-transform: uppercase; margin-bottom: 12px; }
.emf-opt { display: flex; gap: 12px; align-items: flex-start; background: var(--global-palette9); border: 2px solid transparent; border-radius: 12px; padding: 14px 16px; cursor: pointer; min-height: 44px; }
.emf-opt:has(input:checked) { border-color: var(--global-palette4); }
.emf-opt input { margin-top: 5px; accent-color: var(--global-palette4); width: 18px; height: 18px; }
.emf-opt span { font-weight: 600; }
.emf-opt small { display: block; font-weight: 400; color: var(--global-palette5); font-size: 14px; }
.emf-finder-result { background: var(--global-palette4); color: #d6dee6; border-radius: 12px; padding: 24px; align-self: start; }
.emf-finder-result p { color: #d6dee6; }
.emf-finder-result .emf-btn-navy { background: var(--global-palette2); color: var(--global-palette4) !important; }
@media (max-width: 767px) { .emf-finder { grid-template-columns: 1fr; padding: 20px; } }
.emf-copybox { background: var(--global-palette7); border-radius: 18px; padding: 28px; }
.emf-copybox-h { font-size: 22px !important; }
.emf-copybox pre { background: var(--global-palette9); border: 1px solid var(--global-palette6); border-radius: 12px; padding: 18px; white-space: pre-wrap; font-family: var(--global-body-font-family); font-size: 15px; line-height: 1.6; color: var(--global-palette4); }
.emf-copied { font-size: 14px; color: var(--global-palette5); margin-left: 8px; }
.emf-crow { display: flex; flex-wrap: wrap; gap: 10px; }
.emf-compare { overflow-x: auto; margin: 0; }
.emf-compare table { width: 100%; border-collapse: collapse; min-width: 640px; font-size: 16px; }
.emf-compare th, .emf-compare td { text-align: left; padding: 14px 16px; border: 0; border-bottom: 1px solid var(--global-palette6); vertical-align: top; }
.emf-compare thead th { font-family: var(--global-heading-font-family); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; background: var(--global-palette4); color: var(--global-palette9); }
.emf-compare thead th:first-child { border-top-left-radius: 12px; } .emf-compare thead th:last-child { border-top-right-radius: 12px; }
.emf-compare tbody th { font-weight: 600; width: 22%; }
.emf-compare figcaption { text-align: left; font-size: 14px; color: var(--global-palette5); }

/* FAQ page filters */
.emf-filters { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.emf-filters button { min-height: 44px; padding: 8px 18px; border-radius: 999px; border: 2px solid var(--global-palette6); background: var(--global-palette9); color: var(--global-palette4); font-family: var(--global-heading-font-family); font-size: 12.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
.emf-filters button[aria-pressed="true"] { background: var(--global-palette4); border-color: var(--global-palette4); color: var(--global-palette9); }
.emf-filters button:focus-visible { outline: 3px solid var(--global-palette1); outline-offset: 2px; }
.emf-faqgroup { margin-bottom: 32px; }
.emf-faqgroup h2 { font-size: 26px; }

/* Book a Class: Gravity Form #1 (two steps) */
.emf-leadform-wrap .gform_wrapper { background: var(--global-palette7); border-radius: 18px; padding: 28px; }
.emf-leadform .gf_progressbar_wrapper, .emf-leadform .gf_page_steps { margin-bottom: 20px; }
.emf-leadform .gf_step { font-family: var(--global-heading-font-family); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.emf-leadform .gf_step_active .gf_step_number { background: var(--global-palette4) !important; color: var(--global-palette9) !important; border-color: var(--global-palette4) !important; }
.emf-leadform .gfield_label, .emf-leadform legend.gfield_label { font-family: var(--global-body-font-family) !important; text-transform: none !important; font-weight: 600 !important; font-size: 16px !important; color: var(--global-palette4); }
.emf-leadform input[type=text], .emf-leadform input[type=tel], .emf-leadform input[type=email], .emf-leadform input[type=number], .emf-leadform select, .emf-leadform textarea { border: 1.5px solid #8a97a6 !important; border-radius: 10px !important; min-height: 48px; padding: 10px 14px !important; font-size: 16px !important; background: var(--global-palette9) !important; }
.emf-leadform input:focus-visible, .emf-leadform select:focus-visible, .emf-leadform textarea:focus-visible { outline: 3px solid var(--global-palette1) !important; outline-offset: 1px; }
.emf-leadform .emf-seg .gfield_radio { display: flex !important; flex-wrap: wrap; gap: 8px; }
.emf-leadform .emf-seg .gchoice { margin: 0 !important; }
.emf-leadform .emf-seg .gchoice input { position: absolute; opacity: 0; }
.emf-leadform .emf-seg .gchoice label { display: inline-flex !important; align-items: center; min-height: 44px; padding: 8px 18px; border: 2px solid var(--global-palette6); border-radius: 999px; background: var(--global-palette9); cursor: pointer; font-weight: 600; max-width: none !important; }
.emf-leadform .emf-seg .gchoice input:checked + label { background: var(--global-palette4); color: var(--global-palette9); border-color: var(--global-palette4); }
.emf-leadform .emf-seg .gchoice input:focus-visible + label { outline: 3px solid var(--global-palette1); outline-offset: 2px; }
.emf-leadform .gform_page_footer .gform_button, .emf-leadform .gform_next_button, .emf-leadform .gform_footer .gform_button { background: var(--global-palette2) !important; color: var(--global-palette4) !important; border-radius: 999px !important; min-height: 48px; padding: 12px 28px !important; font-family: var(--global-heading-font-family) !important; text-transform: uppercase; font-size: 13px !important; letter-spacing: .08em; border: 0 !important; }
.emf-leadform .gform_previous_button { background: transparent !important; color: var(--global-palette4) !important; border: 2px solid var(--global-palette4) !important; border-radius: 999px !important; min-height: 48px; padding: 10px 24px !important; font-family: var(--global-heading-font-family) !important; text-transform: uppercase; font-size: 13px !important; }
.emf-leadform .gfield_validation_message, .emf-leadform .validation_message { color: #b42318 !important; background: none !important; border: 0 !important; padding: 4px 0 0 !important; font-weight: 600; }
.emf-big404 { font-family: var(--global-heading-font-family); font-size: clamp(80px, 10vw + 20px, 180px); font-weight: 700; line-height: 1; color: var(--global-palette2); margin: 0; }
.emf-chiplink { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 18px; margin: 0 6px 6px 0; border-radius: 999px; border: 2px solid var(--global-palette6); background: var(--global-palette9); color: var(--global-palette4) !important; font-family: var(--global-heading-font-family); font-size: 12.5px; font-weight: 700; text-transform: uppercase; text-decoration: none; }
.emf-chiplink:hover { border-color: var(--global-palette4); }
.emf-toc { columns: 2; font-size: 16px; }
.emf-legal-page .kt-inside-inner-col { max-width: 760px; }
.emf-legal-page h2 { font-size: 24px; margin-top: 2rem; }
.emf-eyebrow + h1.wp-block-heading { margin-top: .25em; }
.loop-entry .entry-title { font-size: 22px !important; line-height: 1.2 !important; }
.loop-entry .entry-taxonomies a { color: var(--global-palette1); }

/* ==========================================================================
   BENTO LAYOUT v2 (2026-10-15, Colin: "lean back into the mockups").
   Every section is a contained grid (.emf-sec) of rounded boxes (.emf-box--*), or one rounded box itself (.emf-rowbox--*).
   Mirrors design/site/emf.src.css: --max 1300px, --gap 14–24px, --r 18px, --r-sm 12px, section spacing 56–104px.
   ========================================================================== */
:root { --emf-gap: clamp(14px, 1.6vw, 24px); --emf-r: 18px; --emf-r-sm: 12px; --emf-gutter: clamp(16px, 4vw, 70px); --emf-section: clamp(56px, 7vw, 104px); --emf-pad: clamp(24px, 3.4vw, 50px); }
.entry-content > .kb-row-layout-wrap.emf-sec, .kb-row-layout-wrap.emf-sec { width: min(1300px, calc(100% - 2 * var(--emf-gutter))); margin: var(--emf-section) auto 0 !important; }
.kb-row-layout-wrap.emf-sec.emf-tight { margin-top: var(--emf-gap) !important; }
.kb-row-layout-wrap.emf-sec.emf-first { margin-top: 8px !important; }
.kb-row-layout-wrap.emf-sec.emf-last { margin-bottom: var(--emf-section) !important; }
.kb-row-layout-wrap.emf-sec > .kt-row-column-wrap { padding: 0 !important; column-gap: var(--emf-gap) !important; row-gap: var(--emf-gap) !important; max-width: none !important; }
.emf-sec > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col { padding: 0; }
.emf-sec h2 { font-size: clamp(26px, 1.5vw + 16px, 40px); line-height: 1.12; text-wrap: balance; }
.emf-sec h3 { font-size: clamp(16px, .4vw + 13px, 21.6px); line-height: 1.15; }

/* Section heading: title left, intro right */
.emf-head > .kt-row-column-wrap { align-items: end; }
.emf-head h2 { margin: 0; }
.emf-head p { color: var(--global-palette5); margin: 0; max-width: 52ch; }

/* Boxes (columns) */
.wp-block-kadence-column.emf-box > .kt-inside-inner-col { border-radius: var(--emf-r); padding: var(--emf-pad) !important; height: 100%; display: flex; flex-direction: column; justify-content: center; gap: 14px; }
.wp-block-kadence-column.emf-box > .kt-inside-inner-col > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.wp-block-kadence-column.emf-box.emf-top > .kt-inside-inner-col { justify-content: flex-start; }
.wp-block-kadence-column.emf-box.emf-sm > .kt-inside-inner-col { border-radius: var(--emf-r-sm); padding: 22px !important; gap: 10px; }
.wp-block-kadence-column.emf-box--line > .kt-inside-inner-col { border: 1.5px solid var(--global-palette6); }
.wp-block-kadence-column.emf-box--outline > .kt-inside-inner-col { border: 2px solid var(--global-palette4); }
.wp-block-kadence-column.emf-box--img > .kt-inside-inner-col { padding: 0 !important; overflow: hidden; min-height: 300px; }
.wp-block-kadence-column.emf-box--img figure, .wp-block-kadence-column.emf-box--img .wp-block-image { margin: 0 !important; height: 100%; }
.wp-block-kadence-column.emf-box--img img { width: 100% !important; height: 100% !important; object-fit: cover; display: block; border-radius: 0 !important; min-height: 300px; }
.wp-block-kadence-column.emf-box--card > .kt-inside-inner-col { padding: 0 !important; overflow: hidden; justify-content: flex-start; gap: 0; }
.wp-block-kadence-column.emf-box--card figure { margin: 0 !important; }
.wp-block-kadence-column.emf-box--card figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; display: block; border-radius: 0 !important; }
.wp-block-kadence-column.emf-box--card > .kt-inside-inner-col > :not(figure) { padding: 0 22px; margin-top: 12px !important; }
.wp-block-kadence-column.emf-box--card > .kt-inside-inner-col > :last-child { padding-bottom: 22px; }

/* Dark boxes: fill + text color are native Kadence settings; .emf-on-dark only recolors accents (eyebrows, highlights, checks, outline buttons). */
.emf-hero :is(h1, h2, h3, strong) { color: var(--global-palette9); }
.emf-hero :is(p, li) { color: #d6dee6; }
:is(.emf-on-dark, .emf-hero) :is(.emf-eyebrow, .emf-hl, .emf-brush, .emf-when) { color: var(--global-palette2) !important; }
:is(.emf-on-dark, .emf-hero) .emf-textlink { color: var(--global-palette2); }
:is(.emf-on-dark, .emf-hero) .emf-checks li::before { border-color: var(--global-palette2); }
:is(.emf-on-dark, .emf-hero) .wp-block-button__link { --global-palette-btn-out: var(--global-palette9); --global-palette-btn-out-hover: var(--global-palette2); }
.wp-block-kadence-column.emf-box--mint .emf-eyebrow, .wp-block-kadence-column.emf-box--mint .emf-hl { color: var(--global-palette4) !important; }

/* Row boxes: the whole section is one rounded box */
.kb-row-layout-wrap.emf-rowbox { border-radius: var(--emf-r); overflow: hidden; }
.kb-row-layout-wrap.emf-rowbox > .kt-row-column-wrap { padding: clamp(28px, 5vw, 80px) !important; align-items: center; }
.emf-rowbox--outline { border: 2px solid var(--global-palette4); }
.emf-rowbox--outline > .kt-row-column-wrap { padding: clamp(24px, 4vw, 44px) !important; }

/* Hero: contained, rounded, photo with navy gradient */
.kb-row-layout-wrap.emf-hero { border-radius: var(--emf-r); overflow: hidden; min-height: clamp(420px, 52vw, 640px); display: flex; align-items: flex-end; }
.kb-row-layout-wrap.emf-hero > .kt-row-column-wrap { padding: clamp(28px, 5vw, 64px) !important; width: 100%; }
.emf-hero .kt-row-layout-overlay { background: linear-gradient(180deg, rgba(12,35,63,.35) 0%, rgba(12,35,63,.55) 45%, rgba(12,35,63,.92) 100%), rgba(0,85,175,.28) !important; opacity: 1 !important; }
.emf-hero h1 { font-size: clamp(42px, 3.5vw + 20px, 86px) !important; line-height: 1.02 !important; }
.emf-hero .emf-lede { max-width: 54ch; }

/* Small parts from the concept */
.emf-ic { width: 46px; height: 46px; border-radius: 12px; background: var(--global-palette8) center / 26px no-repeat; margin: 0 !important; font-size: 0; }
.emf-on-dark .emf-ic { background-color: var(--global-palette2); }
.emf-ic--person { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26' fill='none' stroke='%230C233F' stroke-width='2'%3E%3Ccircle cx='13' cy='7' r='3.5'/%3E%3Cpath d='M5 22c0-4.4 3.6-8 8-8s8 3.6 8 8' stroke-linecap='round'/%3E%3C/svg%3E"); }
.emf-ic--eye { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26' fill='none' stroke='%230C233F' stroke-width='2'%3E%3Cpath d='M3 13c2.5-4 5.5-6 10-6s7.5 2 10 6c-2.5 4-5.5 6-10 6s-7.5-2-10-6z'/%3E%3Ccircle cx='13' cy='13' r='2.5' fill='%230C233F'/%3E%3C/svg%3E"); }
.emf-ic--target { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26' fill='none' stroke='%230C233F' stroke-width='2'%3E%3Ccircle cx='13' cy='13' r='9'/%3E%3Ccircle cx='13' cy='13' r='4.5'/%3E%3Ccircle cx='13' cy='13' r='1.5' fill='%230C233F'/%3E%3C/svg%3E"); }
.emf-ic--cal { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26' fill='none' stroke='%230C233F' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3.5' y='5' width='19' height='17' rx='3'/%3E%3Cpath d='M3.5 10h19M9 3v4M17 3v4'/%3E%3C/svg%3E"); }
.emf-ic--check { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26' fill='none' stroke='%230C233F' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 13.5l4.5 4.5L20 8'/%3E%3C/svg%3E"); }
.emf-ic--heart { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26' fill='none' stroke='%230C233F' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M13 21s-8-4.6-8-10.2A4.3 4.3 0 0 1 13 8a4.3 4.3 0 0 1 8 2.8C21 16.4 13 21 13 21z'/%3E%3C/svg%3E"); }
.emf-ic--dollar { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26' fill='none' stroke='%230C233F' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M13 4v18M17.5 8.5c-.8-1.4-2.4-2-4.5-2-2.6 0-4.3 1.3-4.3 3.2 0 4.5 9.1 2.6 9.1 7.1 0 2-1.9 3.4-4.8 3.4-2.3 0-4-.8-4.8-2.4'/%3E%3C/svg%3E"); }
.emf-ic--pin { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26' fill='none' stroke='%230C233F' stroke-width='2'%3E%3Cpath d='M13 23s7-6.6 7-12.3A7 7 0 0 0 6 10.7C6 16.4 13 23 13 23z'/%3E%3Ccircle cx='13' cy='10.5' r='2.5'/%3E%3C/svg%3E"); }
.emf-trustbox > .kt-inside-inner-col { flex-direction: row !important; align-items: flex-start; justify-content: flex-start !important; gap: 14px; }
.emf-trustbox p { font-size: 14px; color: var(--global-palette5); }
.emf-trustbox p strong { display: block; font-family: var(--global-heading-font-family); text-transform: uppercase; letter-spacing: .04em; font-size: 13.5px; color: var(--global-palette4); margin-bottom: 2px; }
.emf-tick { flex: none; width: 28px; height: 28px; border-radius: 50%; margin: 0 !important; font-size: 0; background: var(--global-palette2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M8 14.5l4 4 8-9' stroke='%230C233F' stroke-width='2.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 28px no-repeat; }
.emf-chips2 { display: flex; flex-wrap: wrap; gap: 6px; }
.emf-chips2 span { background: var(--global-palette9); border-radius: 999px; padding: 4px 10px; font-family: var(--global-heading-font-family); font-size: 10.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--global-palette4); }
.wp-block-kadence-column.emf-box--card h3 { font-size: 17px !important; }
.emf-pull2 { font-family: var(--global-heading-font-family); font-weight: 700; font-size: clamp(18px, .6vw + 14px, 24px); line-height: 1.3; color: var(--global-palette4); position: relative; padding-left: 0; }
.emf-pull2::before { content: "\201C"; color: var(--global-palette2); font-size: 1.6em; line-height: 0; vertical-align: -.35em; margin-right: 4px; }
.emf-seals { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.emf-seals figure, .emf-seals .wp-block-image { margin: 0 !important; text-align: center; }
.emf-seals img, .emf-seal-txt { width: 92px !important; height: 92px !important; border-radius: 50% !important; margin: 0 auto 10px !important; display: grid; place-items: center; object-fit: contain; background: var(--global-palette9); }
.emf-seal-txt { background: var(--global-palette2); color: var(--global-palette4) !important; font-family: var(--global-heading-font-family); font-weight: 700; font-size: 11px; line-height: 1.15; text-transform: uppercase; padding: 10px; text-align: center; }
.emf-seals figcaption, .emf-seals p { font-size: 12.5px; color: #c9d5e1 !important; text-align: center; margin: 0; }
@media (max-width: 767px) { .emf-seals { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.emf-bigquote2 { font-family: var(--global-heading-font-family); font-weight: 700; font-size: clamp(22px, 1rem + 1.8vw, 40px); line-height: 1.2; color: var(--global-palette4); text-align: center; max-width: 24ch; margin: 0 auto !important; text-wrap: balance; }
.emf-cite { font-family: var(--global-heading-font-family); letter-spacing: .1em; text-transform: uppercase; font-size: 13px; text-align: center; color: var(--global-palette4); }
.emf-path2 > .kt-inside-inner-col { flex-direction: row !important; align-items: center; justify-content: flex-start !important; gap: 16px; }
.emf-path2 .emf-pathtag { flex: none; min-width: 44px; height: 44px; font-size: 13px; background: var(--global-palette8); }
.emf-path2 h3 { margin: 0 0 4px !important; }
.emf-path2 p { font-size: 15px; color: var(--global-palette5); margin: 0; }
.emf-stat strong { display: block; font-family: var(--global-heading-font-family); font-size: clamp(28px, 2vw + 16px, 44px); line-height: 1; color: var(--global-palette4); margin-bottom: 6px; }
.emf-on-dark .emf-stat strong { color: var(--global-palette2); }
.emf-stat { font-size: 15px; }
.emf-num { font-family: var(--global-heading-font-family); font-weight: 700; font-size: 13px; letter-spacing: .1em; color: var(--global-palette1); }
.emf-on-dark .emf-num { color: var(--global-palette2); }
.emf-map2 iframe { width: 100%; height: 100%; min-height: 380px; border: 0; display: block; }
.wp-block-kadence-column.emf-box--img .emf-map { border-radius: 0; aspect-ratio: auto; height: 100%; }
.wp-block-kadence-column.emf-box--img .emf-map iframe { min-height: 380px; }

/* Tabs (Kids / Teens / Adults) */
.emf-tabs [role=tablist] { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 18px; }
.emf-tabs [role=tab] { min-height: 44px; padding: 8px 18px; border-radius: 999px; border: 2px solid var(--global-palette4); background: transparent; color: var(--global-palette4); font-family: var(--global-heading-font-family); font-size: 12.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; cursor: pointer; }
.emf-tabs [role=tab][aria-selected=true] { background: var(--global-palette4); color: var(--global-palette9); }
.emf-tabs [role=tab]:focus-visible { outline: 3px solid var(--global-palette1); outline-offset: 2px; }
.emf-tabpanel { background: var(--global-palette9); border-radius: var(--emf-r-sm); padding: clamp(22px, 3vw, 36px); }
.emf-tabpanel h3 { margin-top: 0; }
.emf-tabpanel ul { list-style: none; padding: 0; margin: 14px 0 20px; }
.emf-tabpanel li { position: relative; padding-left: 22px; margin: 6px 0; }
.emf-tabpanel li::before { content: ""; position: absolute; left: 0; top: .55em; width: 10px; height: 10px; border-radius: 50%; background: var(--global-palette2); }

/* Funding Finder (navy, as in the concept) */
.emf-finder { background: var(--global-palette4); color: var(--global-palette9); grid-template-columns: 1fr; gap: 18px; }
.emf-finder legend { color: var(--global-palette9); font-size: 15px; letter-spacing: .04em; }
.emf-opt { background: rgba(255,255,255,.04); border: 1.5px solid rgba(255,255,255,.18); color: var(--global-palette9); padding: 12px 16px; }
.emf-opt:has(input:checked) { border-color: var(--global-palette2); background: rgba(112,239,204,.08); }
.emf-opt small { color: #c9d5e1; }
.emf-opt input { accent-color: var(--global-palette2); }
.emf-finder-result { background: var(--global-palette2); color: var(--global-palette4); }
.emf-finder-result p { color: var(--global-palette4) !important; font-weight: 500; }
.emf-finder-result .emf-btn-navy { background: var(--global-palette4); color: var(--global-palette9) !important; }

/* Shortcode output inside boxes */
.wp-block-kadence-column.emf-box .emf-loccards li, .wp-block-kadence-column.emf-box .emf-acc details { background: var(--global-palette9); }
.wp-block-kadence-column.emf-box--mist .emf-acc details { border-color: transparent; }
.emf-loccards li { background: var(--global-palette7); border: 0; border-radius: var(--emf-r-sm); }
.emf-quotes blockquote { background: var(--global-palette2); font-family: var(--global-heading-font-family); font-weight: 700; font-size: 20px; }

@media (max-width: 1024px) {
	.wp-block-kadence-column.emf-box--img > .kt-inside-inner-col, .wp-block-kadence-column.emf-box--img img { min-height: 240px; }
}
.kb-row-layout-wrap.emf-sec:not(.emf-head) > .kt-row-column-wrap { align-items: stretch !important; }
.emf-sec > .kt-row-column-wrap > .wp-block-kadence-column { align-self: stretch; }
.emf-paths { display: grid; gap: var(--emf-gap); height: 100%; }
.emf-path3 { display: flex; gap: 16px; align-items: center; border: 1.5px solid var(--global-palette6); border-radius: var(--emf-r-sm); padding: 22px 24px; text-decoration: none; color: var(--global-palette4); background: var(--global-palette9); }
.emf-path3:hover { border-color: var(--global-palette4); }
.emf-path3:focus-visible { outline: 3px solid var(--global-palette1); outline-offset: 2px; }
.emf-path3 .emf-pathtag { flex: none; min-width: 44px; height: 44px; font-size: 13px; background: var(--global-palette8); }
.emf-path3 b { display: block; font-family: var(--global-heading-font-family); text-transform: uppercase; letter-spacing: .03em; margin-bottom: 4px; }
.emf-path3 span span { display: block; font-size: 15px; color: var(--global-palette5); }
.emf-finder { height: 100%; border-radius: var(--emf-r); padding: clamp(26px, 4vw, 48px); }
.wp-block-kadence-column.emf-box--mist .emf-qfacts li { background: var(--global-palette9); }
.emf-feature-quote { margin: 0; display: grid; gap: 22px; padding: clamp(20px, 4vw, 60px) 0; }
.emf-quotebox:not(:has(.emf-feature-quote)) { display: none; }
.emf-compare { margin: 0 !important; }
.emf-sec .kt-inside-inner-col:has(> .emf-paths), .emf-sec .kt-inside-inner-col:has(> .emf-finder) { height: 100%; }
.emf-paths { grid-auto-rows: 1fr; }
.emf-locdetails .emf-textlink { display: inline-flex; min-height: 44px; align-items: center; }
.emf-feature-quote blockquote, blockquote.emf-bigquote2 { border: 0 !important; padding: 0 !important; background: none !important; }
.emf-coachsec:not(:has(.emf-coachgrid)) { display: none !important; }
.emf-bigquote3 p { font-family: var(--global-heading-font-family); font-weight: 700; font-size: clamp(22px, 1rem + 1.6vw, 36px); line-height: 1.2; color: var(--global-palette4); }
.emf-plainlink { color: inherit; text-decoration: none; }
.emf-plainlink:hover { text-decoration: underline; }
.emf-box--img .wp-block-post-featured-image { margin: 0; height: 100%; }
.emf-box--img .wp-block-post-featured-image img { height: 100% !important; object-fit: cover; }
/* Blog loop cards: rounded mist boxes (bento) */
.loop-entry { border-radius: var(--emf-r) !important; overflow: hidden; background: var(--global-palette7) !important; box-shadow: none !important; }
.loop-entry .entry-content-wrap { padding: 22px !important; }
.loop-entry .post-thumbnail { border-radius: 0; }
.emf-sec h1, .emf-sec .wp-block-post-title { overflow-wrap: normal; word-break: normal; hyphens: manual; }
.emf-sec .wp-block-post-title { font-size: clamp(34px, 2.6vw + 14px, 60px); line-height: 1.04; }
:is(.emf-on-dark) .emf-hours :is(th, td) { color: #d6dee6; border-color: rgba(255,255,255,.18); }
:is(.emf-on-dark) .emf-hours th { color: var(--global-palette9); }
:is(.emf-on-dark) .emf-locdetails :is(dt, dd, a) { color: #d6dee6; }

/* Blog + category archives: post grid lines up with the bento sections (same width and gap as .emf-sec). */
:is(.blog, .archive) #archive-container { width: min(1300px, calc(100% - 2 * var(--emf-gutter))); margin: var(--emf-gap) auto var(--emf-section); gap: var(--emf-gap) !important; }
:is(.blog, .archive) .loop-entry .post-thumbnail { margin: 0; }
.archive .entry-hero-container-inner, .archive .archive-title { width: min(1300px, calc(100% - 2 * var(--emf-gutter))); margin-inline: auto; }
.loop-entry .entry-meta .posted-by, .loop-entry .entry-meta .posted-by + .meta-divider, .loop-entry .entry-meta .meta-divider:first-child { display: none; }

/* Home hero video (Kadence row background video): readable pause control; reduced motion = still photo. */
.emf-hero--video .kb-blocks-bg-video-container video { filter: grayscale(1); }
.emf-hero--video .kb-background-video-buttons-wrapper { z-index: 5; right: 16px; bottom: 16px; }
.emf-hero--video .kb-background-video-buttons-wrapper button { min-width: 44px; min-height: 44px; border-radius: 999px; background: rgba(12,35,63,.7); color: #fff; border: 1.5px solid rgba(255,255,255,.6); }
.emf-hero--video .kb-background-video-buttons-wrapper button:focus-visible { outline: 3px solid var(--global-palette2); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .emf-hero--video .kb-blocks-bg-video-container, .emf-hero--video .kb-background-video-buttons-wrapper { display: none !important; } }
#book-form { scroll-margin-top: 24px; }

/* Header dropdowns above page content: Kadence rows give .kt-row-column-wrap z-index 1, which painted over the menus. */
#masthead, .site-header, header.wp-block-kadence-header { position: relative; z-index: 1000; }
/* Native column/row link colors (Kadence "linkColor") also hit button labels; buttons keep their own colors. */
.emf-on-dark .wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-text-color) { color: var(--global-palette4) !important; }
.emf-on-dark .wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-text-color):hover { color: var(--global-palette2) !important; }
.emf-on-dark .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) { color: var(--global-palette9) !important; }
.emf-on-dark .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):hover { color: var(--global-palette4) !important; }
.wp-block-kadence-column .wp-block-button > .wp-block-button__link:not(.has-text-color) { text-decoration: none; }

/* Coach carousel (Kadence Post Grid/Carousel on About) */
.emf-coach-carousel .kt-blocks-post-grid-item { border-radius: var(--emf-r); overflow: hidden; }
.emf-coach-carousel .kadence-post-image img, .emf-coach-carousel .kadence-post-image-inner-intrisic img { border-radius: 0; }
.emf-coach-carousel .entry-title { font-size: 18px !important; text-transform: uppercase; margin-bottom: 4px !important; }
.emf-coach-carousel .entry-title a { color: var(--global-palette4); text-decoration: none; }
.emf-coach-carousel .entry-content p { font-size: 15px; color: var(--global-palette5); margin: 0; }
.emf-coach-carousel .kt-blocks-post-readmore { background: transparent !important; color: var(--global-palette1) !important; padding: 0 !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.emf-coach-carousel .splide__arrow { width: 44px; height: 44px; }
.emf-coach-carousel .splide__arrow:focus-visible, .emf-coach-carousel .splide__pagination__page:focus-visible { outline: 3px solid var(--global-palette1); outline-offset: 2px; }
.emf-coach-carousel .kt-blocks-post-grid-item-inner { padding-left: 20px !important; padding-right: 20px !important; }
.emf-coach-carousel .kt-blocks-post-grid-item .entry-content, .emf-coach-carousel .kt-blocks-post-grid-item .entry-footer, .emf-coach-carousel .kt-blocks-post-grid-item .entry-header { padding-left: 0 !important; padding-right: 0 !important; }
.emf-coach-carousel .splide__slide { height: auto; }
.emf-coach-carousel .splide__slide > .kt-blocks-post-grid-item { height: 100%; }
.emf-coach-carousel .kt-blocks-post-grid-item .entry-footer { padding-bottom: 20px; }
.emf-coach-carousel .kt-blocks-post-grid-item .entry-header { padding-top: 16px; }
.emf-coach-carousel .kt-blocks-post-grid-item-inner-wrap > .kadence-post-image { margin: 0; }

/* ===== BugHerd round 1 (Mike, 2026-10-15) ===== */
/* Coach cards: role, credentials, programs (no single pages, no links) */
.emf-coach-carousel .entry-content { display: block; }
.emf-coach-carousel .entry-content > p { display: contents; }
.emf-cc-role { display: block; font-weight: 600; color: var(--global-palette4); margin-bottom: 8px; }
.emf-cc-creds { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.emf-cc-creds span { background: var(--global-palette8); border-radius: 999px; padding: 3px 10px; font-size: 12.5px; color: var(--global-palette4); }
.emf-cc-progs { display: block; font-size: 14px; color: var(--global-palette5); }
.emf-cc-progs b { font-family: var(--global-heading-font-family); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--global-palette4); margin-right: 4px; }
.emf-coach-carousel .kt-blocks-post-grid-item .entry-footer { padding-bottom: 20px; }
/* Kids / Teens / Adults on one card (no tabs) */
.emf-aud-all { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; padding: 0 !important; overflow: hidden; }
.emf-aud-all > div { padding: clamp(20px, 2.4vw, 32px); }
.emf-aud-all > div + div { border-left: 1.5px solid var(--global-palette6); }
.emf-aud-all h3 { margin: 0 0 .5rem; }
.emf-aud-all p { font-size: 15.5px; }
@media (max-width: 1024px) { .emf-aud-all { grid-template-columns: 1fr; } .emf-aud-all > div + div { border-left: 0; border-top: 1.5px solid var(--global-palette6); } }
/* Hide on phones (About timeline + community) */
@media (max-width: 767px) { .kb-row-layout-wrap.emf-hide-mobile, .emf-hide-mobile { display: none !important; } }
/* Trust strip: Regional Centers as separate chips */
.emf-rc-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 4px !important; }
.emf-rc-chips span { background: var(--global-palette9); border: 1.5px solid var(--global-palette6); border-radius: 999px; padding: 3px 10px; font-size: 12.5px; font-weight: 600; color: var(--global-palette4); }
.emf-trustbox .emf-rc-chips + p { margin-top: 0 !important; }
/* Call / text button in final CTAs */
.emf-final-call .wp-block-button__link { font-size: 15px !important; }
/* Comparison table: more visual */
.emf-compare table { border-collapse: separate; border-spacing: 0; border-radius: 14px; overflow: hidden; }
.emf-compare thead th { background: var(--global-palette4); color: var(--global-palette9); padding: 18px 16px; font-size: 13px; }
.emf-compare thead th:not(:first-child) { color: var(--global-palette2); }
.emf-compare tbody tr:nth-child(odd) td, .emf-compare tbody tr:nth-child(odd) th { background: var(--global-palette7); }
.emf-compare tbody tr:nth-child(even) td, .emf-compare tbody tr:nth-child(even) th { background: var(--global-palette9); }
.emf-compare tbody th { font-family: var(--global-heading-font-family); font-size: 12.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--global-palette4); }
.emf-compare td { border-bottom: 0 !important; }
.emf-compare td strong { display: inline-block; background: var(--global-palette2); color: var(--global-palette4); border-radius: 999px; padding: 2px 10px; font-family: var(--global-heading-font-family); font-size: 13px; }
/* Header: phone button + sticky */
.kb-header-container .emf-hdr-phone .kb-button, .emf-hdr-phone { white-space: nowrap; }
/* Footer 501(c)(3) line + mobile header buttons */
.site-footer .emf-501c3 { font-size: 13px; line-height: 1.5; color: var(--global-palette5); max-width: 46ch; margin-top: 1rem; }
.emf-hdr-mbtns { display: flex; gap: 8px; align-items: center; margin-right: 8px; }
@media (max-width: 420px) { .wp-block-kadence-header-tablet .wp-block-site-logo img, .kb-header-container-tablet .custom-logo { max-width: 150px; } }
/* Footer on phones (BugHerd #12): stack and center the three columns */
@media (max-width: 767px) {
	.site-footer .site-middle-footer-inner-wrap { gap: 28px; }
	.site-footer .footer-widget-area { text-align: center; }
	.site-footer .emf-floc, .site-footer .emf-501c3 { margin-left: auto; margin-right: auto; }
	.wp-block-kadence-navigation267-cpt-id .menu-container > ul.kb-navigation { justify-content: center; }
}
/* Sticky header (BugHerd #10): plain CSS sticky; Kadence's sticky script didn't pin this block header. Slimmer once scrolled. */
header.wp-block-kadence-header { position: sticky !important; top: var(--wp-admin--admin-bar--height, 0px); background: var(--global-palette9); }
header.wp-block-kadence-header .kadence-header-row-inner { transition: padding .2s ease; }
body.emf-scrolled header.wp-block-kadence-header .wp-block-kadence-header-row-center .kadence-header-row-inner { padding-top: 12px !important; padding-bottom: 12px !important; }
body.emf-scrolled header.wp-block-kadence-header { box-shadow: 0 6px 20px rgba(12, 35, 63, .08); }
@media (prefers-reduced-motion: reduce) { header.wp-block-kadence-header .kadence-header-row-inner { transition: none; } }
/* Header buttons side by side (phone + Book a Class; mobile Book + Call) */
header.wp-block-kadence-header .kb-btns141_927bb5-60, header.wp-block-kadence-header .emf-hdr-mbtns { display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important; align-items: center; gap: 8px; }
header.wp-block-kadence-header .kb-btns141_927bb5-60 .kb-button, header.wp-block-kadence-header .emf-hdr-mbtns .kb-button { margin: 0 !important; }
@media (min-width: 1025px) and (max-width: 1280px) { header.wp-block-kadence-header a.emf-hdr-phone { padding-left: 12px !important; padding-right: 12px !important; } }
/* Header fit with the phone button */
@media (min-width: 1025px) {
	header.wp-block-kadence-header .wp-block-kadence-header-section141_217a7c-5d { flex-shrink: 1; min-width: 0; }
	.wp-block-kadence-navigation149-cpt-id .menu-container > ul.kb-navigation { column-gap: 10px; }
	header.wp-block-kadence-header a.emf-hdr-phone { font-size: 12px !important; padding: 10px 14px !important; }
	header.wp-block-kadence-header .kb-btns141_927bb5-60 .kb-button { padding-left: 16px !important; padding-right: 16px !important; }
}
@media (min-width: 1025px) and (max-width: 1360px) {
	header.wp-block-kadence-header a.emf-hdr-phone .kt-btn-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	header.wp-block-kadence-header a.emf-hdr-phone { padding: 10px 12px !important; }
	header.wp-block-kadence-header a.emf-hdr-phone .kb-svg-icon-wrap { margin: 0 !important; }
	.wp-block-kadence-navigation149-cpt-id .menu-container > ul.kb-navigation > li > .kb-link-wrap > .kb-nav-link-content { font-size: 12px; padding-left: 6px; padding-right: 6px; }
}
@media (max-width: 1024px) {
	header.wp-block-kadence-header .emf-hdr-mbtns { gap: 6px; margin-right: 2px; }
	header.wp-block-kadence-header .emf-hdr-mbtns .kb-button { padding: 8px 12px !important; }
}

@media (min-width: 1025px) and (max-width: 1500px) {
	.kb-identity141_ee0475-50 .wp-block-site-logo, .kb-identity141_ee0475-50 .custom-logo { min-width: 0; width: 230px !important; max-width: 230px; }
	header.wp-block-kadence-header .kadence-column141_1d240c-6b > .kt-inside-inner-col { padding-left: 18px !important; padding-right: 18px !important; }
}
.emf-aud-intro { max-width: 70ch; }
.emf-rowbox .emf-aud-all { margin: 8px 0 20px; }
@media (max-width: 767px) {
	.site-footer .emf-legal, .site-footer .footer-widget5 { width: 100%; text-align: center; }
	.site-footer .emf-legal .wp-block-kadence-navigation, .site-footer .emf-legal .menu-container { display: flex; justify-content: center; width: 100%; }
	.site-footer .wp-block-kadence-navigation267-cpt-id .menu-container > ul.kb-navigation { justify-content: center !important; }
}
/* Funding Finder as one full-width card: options | live answer (BugHerd #43) */
.emf-finder-sec .emf-finder { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: start; }
@media (max-width: 900px) { .emf-finder-sec .emf-finder { grid-template-columns: 1fr; } }
/* ============ BugHerd round 2 (Mike, 2026-10-15) ============ */
/* #71: a different photo on phones */
.emf-only-mob { display: none !important; }
@media (max-width: 767px) { .emf-only-desk { display: none !important; } .emf-only-mob { display: block !important; } }
/* #64: "Our Programs" trust card: program chips are links; the whole card links to /programs/ */
.emf-box.emf-cardlink { position: relative; }
.emf-box.emf-cardlink a.emf-cardlink { color: inherit; text-decoration: none; }
.emf-box.emf-cardlink a.emf-cardlink::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.emf-box.emf-cardlink:hover a.emf-cardlink { text-decoration: underline; }
.emf-box.emf-cardlink:has(a.emf-cardlink:focus-visible) { outline: 3px solid var(--global-palette1); outline-offset: 2px; }
.emf-rc-chips.emf-chiplinks a { position: relative; z-index: 1; background: var(--global-palette9); border: 1.5px solid var(--global-palette6); border-radius: 999px; padding: 3px 10px; font-size: 12.5px; font-weight: 600; color: var(--global-palette4); text-decoration: none; }
.emf-rc-chips.emf-chiplinks a:hover, .emf-rc-chips.emf-chiplinks a:focus-visible { background: var(--global-palette4); border-color: var(--global-palette4); color: var(--global-palette9); }
/* #65: Funding Finder answer box fills the height of the options, with more detail */
.emf-finder-sec .emf-finder { align-items: stretch; }
.emf-finder-sec .emf-finder-result { display: flex; flex-direction: column; align-self: stretch; padding: clamp(24px, 3vw, 36px); }
.emf-finder-result .emf-finder-kicker { font-family: var(--global-heading-font-family); text-transform: uppercase; letter-spacing: .04em; font-size: 15px; font-weight: 700; margin: 0 0 6px !important; }
.emf-finder-result .emf-finder-points { list-style: none; margin: 16px 0 24px; padding: 0; display: grid; gap: 10px; }
.emf-finder-result .emf-finder-points li { position: relative; padding-left: 30px; color: var(--global-palette4); font-weight: 500; line-height: 1.45; }
.emf-finder-result .emf-finder-points li::before { content: ""; position: absolute; left: 0; top: 1px; width: 20px; height: 20px; border-radius: 50%; background: var(--global-palette4) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 10.5l3 3 5-6' stroke='%2373ECC8' stroke-width='2.2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 20px no-repeat; }
.emf-finder-result [data-emf-finder-text] { margin: 0 !important; }
.emf-finder-result > p:last-child { margin-top: auto !important; margin-bottom: 0 !important; }
/* #58: "I'm looking for fitness options" choices all the same width (as wide as the longest) */
.emf-leadform .emf-seg .gfield_radio { display: inline-grid !important; grid-template-columns: minmax(0, 1fr); gap: 8px; }
.emf-leadform .emf-seg .gchoice { display: block !important; width: 100%; }  /* GF lays each choice out as a radio|label grid */
.emf-leadform .emf-seg .gchoice label { width: 100% !important; justify-content: center; box-sizing: border-box; }
/* #60: a visible arrow on every dropdown */
.emf-leadform_wrapper .emf-leadform select { -webkit-appearance: none !important; appearance: none !important; padding-right: 44px !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C233F' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important; background-position: right 14px center !important; background-size: 18px !important; }
/* #61: header phone + Book buttons the same size */
header.wp-block-kadence-header .kb-btns141_927bb5-60 .kb-button { min-height: 50px; padding-top: 0 !important; padding-bottom: 0 !important; display: inline-flex !important; align-items: center; box-sizing: border-box; font-size: 13.5px !important; line-height: 1 !important; }
/* ...but on narrow desktops (1025-1150px) the phone button is icon-only so it doesn't run into the nav; same height, label kept for screen readers */
@media (min-width: 1025px) and (max-width: 1150px) {
	header.wp-block-kadence-header a.emf-hdr-phone { width: 50px; padding: 0 !important; justify-content: center; }
	header.wp-block-kadence-header a.emf-hdr-phone .kt-btn-inner-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	header.wp-block-kadence-header a.emf-hdr-phone .kb-svg-icon-wrap { margin: 0 !important; }
}
/* #57: blog sidebar (search + recent posts) in a box that matches the site */
.primary-sidebar .widget { background: var(--global-palette7); border-radius: var(--emf-r); padding: 24px; margin-bottom: 20px; }
.primary-sidebar .widget h2, .primary-sidebar .widget .wp-block-search__label, .primary-sidebar .widget .widget-title { font-family: var(--global-heading-font-family); text-transform: uppercase; letter-spacing: .04em; font-size: 15px !important; font-weight: 700; color: var(--global-palette4); margin: 0 0 12px; }
.primary-sidebar .wp-block-search__inside-wrapper { gap: 8px; }
.primary-sidebar .wp-block-search__input { border: 1.5px solid #8a97a6; border-radius: 999px; min-height: 46px; padding: 8px 16px; background: var(--global-palette9); font-size: 15px; }
.primary-sidebar .wp-block-search__button { background: var(--global-palette2) !important; color: var(--global-palette4) !important; border: 0 !important; border-radius: 999px !important; min-height: 46px; padding: 0 18px !important; margin-left: 0 !important; font-family: var(--global-heading-font-family); text-transform: uppercase; font-size: 12.5px; letter-spacing: .06em; }
.primary-sidebar .wp-block-latest-posts, .primary-sidebar .widget ul { list-style: none; margin: 0; padding: 0; }
.primary-sidebar .wp-block-latest-posts li, .primary-sidebar .widget ul li { padding: 10px 0; border-top: 1px solid var(--global-palette6); margin: 0; }
.primary-sidebar .wp-block-latest-posts li:first-child, .primary-sidebar .widget ul li:first-child { border-top: 0; padding-top: 0; }
.primary-sidebar .wp-block-latest-posts a, .primary-sidebar .widget ul a { color: var(--global-palette4); font-weight: 600; text-decoration: none; line-height: 1.4; }
.primary-sidebar .wp-block-latest-posts a:hover, .primary-sidebar .widget ul a:hover { color: var(--global-palette1); text-decoration: underline; }
/* #56: CTA card at the end of every blog post */
.single-post .emf-post-cta { margin: clamp(32px, 4vw, 56px) 0 0 !important; }
.single-post .emf-post-cta > .kt-row-column-wrap { padding: 0 !important; max-width: none !important; }
/* ============ BugHerd round 3 (Mike, 2026-10-17/18) ============ */
/* Placeholder photo slot (community tiles #108, board members #130) until EMF sends photos */
.emf-photo-tbd { display: grid; place-items: center; width: 100%; background: var(--global-palette8) repeating-linear-gradient(135deg, transparent 0 14px, rgba(12, 35, 63, .04) 14px 28px); border-radius: var(--emf-r-sm); }
.wp-block-kadence-column.emf-box--card > .kt-inside-inner-col > .emf-photo-tbd { padding: 0 !important; margin-top: 0 !important; border-radius: 0; }
/* Stacked boxes inside one column (Schedule #117) */
.wp-block-kadence-column.emf-box--stack > .kt-inside-inner-col { padding: 0 !important; background: none; gap: var(--emf-gap); justify-content: flex-start; }
.emf-stackbox { border-radius: var(--emf-r); padding: var(--emf-pad); margin: 0 !important; flex: 1 1 auto; }
.emf-stackbox--navy { background: var(--global-palette4); color: var(--global-palette9); }
.emf-stackbox--navy h3, .emf-stackbox--navy p { color: var(--global-palette9); }
/* Contact section (same booking form, #102/#109/#125) */
.emf-contact .emf-leadform-wrap .gform_wrapper { background: transparent; padding: 0; }
.emf-contact .emf-on-dark .emf-checks li, .emf-contact .emf-on-dark p { color: var(--global-palette9); }
/* Visit row: details | storefront photo | map (#104/#110) */
.wp-block-kadence-column.emf-box--img .emf-map iframe { min-height: 340px; }
/* Footer non-profit button (#111) */
.site-footer .emf-fnp { margin: 1rem 0 0 !important; }
@media (max-width: 767px) { .site-footer .emf-fnp { justify-content: center; } }
/* Zeffy donate buttons on the Non-Profit impact cards (plugin outputs a plain blue button; match the site's pill buttons) */
.emf-donate-cards .kt-inside-inner-col { justify-content: flex-start; }
.emf-donate-cards .zeffy-button-wrapper { text-align: left; margin: auto 0 0 !important; padding-top: 18px; }
.emf-donate-cards .zeffy-donate-btn { background: var(--global-palette4) !important; color: var(--global-palette9) !important; border-radius: 999px !important; min-height: 48px; padding: 12px 24px !important;
	font-family: var(--global-heading-font-family) !important; text-transform: uppercase; font-size: 13px !important; letter-spacing: .08em; line-height: 1.2 !important; font-weight: 700; }
.emf-donate-cards .emf-on-dark .zeffy-donate-btn { background: var(--global-palette2) !important; color: var(--global-palette4) !important; }
.emf-donate-cards .zeffy-donate-btn:hover { filter: brightness(1.12); }
.emf-donate-cards .zeffy-donate-btn:focus-visible { outline: 3px solid var(--global-palette1); outline-offset: 2px; }
/* ============ BugHerd round 4 (Mike, 2026-10-21/23) ============ */
/* #139: the Space Mono Bold file was declared as weight 400, so bold (700) headings were faux-bolded. Declare the same file at 700. */
@font-face { font-family: "Space Mono Bold"; font-style: normal; font-weight: 700; font-display: swap; src: url("/wp-content/uploads/2025/09/SpaceMono-Bold.woff") format("woff"); }
h1, h2, h3, h4, h5, h6, .wp-block-heading { font-synthesis: none; }
/* Full-width photo row (Non-Profit #153) */
.emf-fullphoto .emf-photo-tbd { border-radius: 0; min-height: 260px; }
/* Blog posts from Mike's guides (#154-#158) */
.single-post .entry-content > * + * { margin-top: 1.1em; }
.single-post .entry-content h2.wp-block-heading { margin-top: 1.8em; }
.single-post .emf-caption { font-size: 14px; color: var(--global-palette5); }
.single-post .emf-takeaways { background: var(--global-palette8); border-radius: var(--emf-r); padding: clamp(20px, 3vw, 32px); }
.single-post .emf-takeaways h2.wp-block-heading { margin-top: 0; font-size: 20px; }
.single-post .emf-takeaways ul { margin-bottom: 0; padding-left: 1.2em; }
.single-post .emf-takeaways li + li { margin-top: .5em; }
.single-post .emf-callout { background: var(--global-palette4); color: var(--global-palette9); border-radius: var(--emf-r); padding: clamp(20px, 3vw, 32px); }
.single-post .emf-callout p, .single-post .emf-callout strong { color: var(--global-palette9); }
.single-post .emf-callout a { color: var(--global-palette2); font-weight: 600; }
.single-post .emf-template { background: var(--global-palette7); border-left: 4px solid var(--global-palette2); border-radius: var(--emf-r-sm); padding: 16px 20px; font-size: 15px; }
.single-post .emf-template p { margin: 0 0 .6em; }
.single-post .emf-blogtable { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: var(--emf-r-sm); border: 1px solid var(--global-palette6); }
.single-post .emf-blogtable table { border-collapse: collapse; width: 100%; min-width: 560px; font-size: 15px; }
.single-post .emf-blogtable th { background: var(--global-palette4); color: var(--global-palette9); text-align: left; font-family: var(--global-heading-font-family); font-size: 12.5px; letter-spacing: .05em; text-transform: uppercase; padding: 12px 14px; border: 0; }
.single-post .emf-blogtable td { padding: 12px 14px; border: 0; border-top: 1px solid var(--global-palette6); vertical-align: top; }
.single-post .emf-blogtable tbody tr:nth-child(even) td { background: var(--global-palette7); }
.single-post .emf-blogtable td:first-child { font-weight: 600; min-width: 160px; }
.single-post .emf-blogfaq { background: var(--global-palette7); border-radius: var(--emf-r-sm); padding: 14px 18px; }
.single-post .emf-blogfaq + .emf-blogfaq { margin-top: 10px; }
.single-post .emf-blogfaq summary { font-weight: 700; cursor: pointer; color: var(--global-palette4); }
.single-post .emf-blogfaq p { margin: .6em 0 0; }
.single-post .emf-img-tbd img { border-radius: var(--emf-r); width: 100%; height: auto; }
.single-post .emf-img-tbd figcaption { font-size: 13px; color: var(--global-palette5); text-align: center; }
.single-post .emf-related { list-style: none; padding: 0; display: grid; gap: 8px; }
.single-post .emf-related a { display: block; background: var(--global-palette7); border-radius: var(--emf-r-sm); padding: 12px 16px; font-weight: 600; color: var(--global-palette4); text-decoration: none; }
.single-post .emf-related a:hover, .single-post .emf-related a:focus-visible { background: var(--global-palette8); text-decoration: underline; }
.single-post .emf-sources { font-size: 13.5px; color: var(--global-palette5); }
/* Blog tables on phones: each row becomes a small card (name, then location, then description) instead of a wide scrolling table */
@media (max-width: 640px) {
	.single-post .emf-blogtable { border: 0; overflow: visible; }
	.single-post .emf-blogtable table { min-width: 0; }
	.single-post .emf-blogtable thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.single-post .emf-blogtable table, .single-post .emf-blogtable tbody, .single-post .emf-blogtable tr, .single-post .emf-blogtable td { display: block; width: 100%; }
	.single-post .emf-blogtable tr { background: var(--global-palette7); border-radius: var(--emf-r-sm); padding: 12px 14px; margin-bottom: 10px; }
	.single-post .emf-blogtable tbody tr:nth-child(even) td { background: none; }
	.single-post .emf-blogtable td { border: 0 !important; padding: 2px 0 !important; min-width: 0 !important; }
	.single-post .emf-blogtable td:nth-child(2) { font-size: 13.5px; color: var(--global-palette5); }
	.single-post .emf-blogtable td:nth-child(3) { margin-top: 6px; }
}

/* ============ Figma design-system revisions (Aude, 2026-10-29) ============
   Source: Figma "Style Tiles", pages "Desktop/Mobile Design System & Pages — Oct '26" → Notes for Dev.
   Palette (Kadence, scripts/ds-settings.php): 5 → black #000D10 (no secondary gray text), 6 line #A9B8C6, 7 gray panel #E4EAF0.
   Body Work Sans 16/26 black; titles dark blue; on dark blue: titles mint/white, body white; inline links dark blue + underlined.
   Mobile (≤767): 20 gutters, 32 section spacing, 12 gaps, 16 box padding, full-width stacked buttons. */
:root { --emf-focus: var(--global-palette4); }
@media (max-width: 767px) { :root { --emf-gap: 12px; --emf-gutter: 20px; --emf-section: 32px; --emf-pad: 16px; } }

/* Type */
.emf-sec h2, .emf-faqgroup h2 { font-size: 40px; line-height: 48px; letter-spacing: 0; text-wrap: balance; }
.emf-sec h3 { font-size: 24px; line-height: 32px; letter-spacing: 0; }
:is(.wp-block-kadence-column.emf-box, .emf-card, .wp-block-kadence-column.emf-box--card) h3 { font-size: 20px !important; line-height: 28px !important; }
.emf-hero h1, .kb-row-layout-wrap.emf-hero h1 { font-size: 56px !important; line-height: 64px !important; letter-spacing: 0; }
.emf-lede { font-size: 20px; line-height: 32px; font-weight: 400; }
.emf-lede-sm, .emf-head p { color: var(--global-palette3); }
:is(.emf-bigquote2, .emf-bigquote3 p, .emf-feature-quote blockquote p, .emf-pull2) { font-family: var(--global-body-font-family); font-weight: 500; font-size: 32px; line-height: 44px; text-transform: none; letter-spacing: 0; }
.emf-quotes blockquote { font-family: var(--global-body-font-family); font-weight: 500; text-transform: none; }
.emf-eyebrow, .emf-facts, .wp-block-button__link, .emf-btn-navy, .emf-btn-mint, .emf-filters button, .emf-chiplink, .emf-tabs [role=tab] { letter-spacing: .06em; }
@media (max-width: 767px) {
	.emf-sec h2, .emf-faqgroup h2 { font-size: 26px; line-height: 34px; }
	.emf-sec h3 { font-size: 20px; line-height: 28px; }
	:is(.wp-block-kadence-column.emf-box, .emf-card, .wp-block-kadence-column.emf-box--card) h3 { font-size: 18px !important; line-height: 26px !important; }
	.emf-hero h1, .kb-row-layout-wrap.emf-hero h1 { font-size: 32px !important; line-height: 40px !important; }
	.emf-hero h1 .emf-brush { font-size: 38px; line-height: 40px; }
	.emf-lede { font-size: 18px; line-height: 28px; }
	:is(.emf-bigquote2, .emf-bigquote3 p, .emf-feature-quote blockquote p, .emf-pull2) { font-size: 22px; line-height: 32px; }
}
/* Body text never below 16px (was 12.5–15px in these spots) */
.emf-chips li, .emf-trust .emf-trustitem p, .emf-caption, .emf-mile p, .emf-muted-dark, .emf-crumbs, .emf-qfacts li, .emf-opt small,
.emf-copybox pre, .emf-copied, .emf-compare figcaption, .emf-trustbox p, .emf-seals figcaption, .emf-seals p, .emf-path2 p, .emf-stat,
.emf-finder legend, .emf-path3 span span, .emf-coach-carousel .entry-content p, .emf-cc-progs, .emf-aud-all p, .emf-rc-chips span,
.primary-sidebar .wp-block-search__input, .single-post .emf-caption, .single-post .emf-template, .single-post .emf-blogtable table,
.single-post .emf-img-tbd figcaption, .single-post .emf-sources, .single-post .emf-blogtable td:nth-child(2) { font-size: 16px; line-height: 26px; }
.emf-final-call .wp-block-button__link { font-size: 13px !important; }

/* Text on dark blue: body white, card titles mint */
.emf-hero :is(p, li), .emf-hero .emf-lede, .emf-dark p, .emf-muted-dark, .emf-opt small, .emf-on-dark .emf-seals figcaption, .emf-on-dark .emf-seals p { color: var(--global-palette9) !important; }
.emf-on-dark .emf-hours :is(th, td), .emf-on-dark .emf-locdetails :is(dt, dd, a) { color: var(--global-palette9); }
.wp-block-kadence-column.emf-box.emf-on-dark h3, .emf-on-dark .emf-stat strong { color: var(--global-palette2); }

/* Links: inline links dark blue + underlined (mint on dark) */
.emf-textlink, .entry-content :is(p, li, dd, td) a:not([class]) { color: var(--global-palette4); text-decoration: underline; text-underline-offset: 3px; }
:is(.emf-on-dark, .emf-hero) :is(.emf-textlink, p a:not([class]), li a:not([class])) { color: var(--global-palette2); }
.emf-big404 { color: var(--global-palette4); } /* never mint text on white */

/* Focus: 3px ring, 2px offset (dark blue; mint on dark) */
:is(.wp-block-button__link, .kb-button, .kb-nav-link-content, .emf-acc summary, .emf-filters button, .emf-tabs [role=tab], .emf-path3, .emf-chiplink, .emf-btn-navy, .emf-btn-mint, .emf-leadform input, .emf-leadform select, .emf-leadform textarea, a):focus-visible { outline: 3px solid var(--emf-focus) !important; outline-offset: 2px !important; }
:is(.emf-on-dark, .emf-hero, .emf-finder, .site-footer .emf-on-dark) :focus-visible { --emf-focus: var(--global-palette2); }
.emf-leadform .emf-seg .gchoice input:focus-visible + label { outline: 3px solid var(--emf-focus); outline-offset: 2px; }

/* Buttons: 44 tall, radius 30. Primary mint on white; dark blue on gray or light mint; outline (2px) for secondary. */
.wp-block-button__link, .emf-btn-navy, .emf-btn-mint { min-height: 44px; border-radius: 30px !important; padding: 14px 28px; line-height: 16px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.wp-block-button.is-style-outline > .wp-block-button__link { border-width: 2px; padding: 12px 22px; }
:is(.wp-block-kadence-column.emf-box--mist, .wp-block-kadence-column.emf-box--mintsoft, .wp-block-kadence-column.emf-box--card, .emf-card.emf-mint, .emf-card.emf-flag, .emf-leadform-wrap) .wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-background) { background: var(--global-palette4) !important; color: var(--global-palette9) !important; }
:is(.wp-block-kadence-column.emf-box--mist, .wp-block-kadence-column.emf-box--mintsoft, .wp-block-kadence-column.emf-box--card, .emf-card.emf-mint, .emf-card.emf-flag, .emf-leadform-wrap) .wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-background):hover { background: var(--global-palette1) !important; }
@media (max-width: 767px) {
	.entry-content .wp-block-buttons { flex-direction: column; align-items: stretch; gap: 12px; }
	.entry-content .wp-block-buttons > .wp-block-button { width: 100%; margin: 0; }
	.entry-content .wp-block-buttons > .wp-block-button > .wp-block-button__link { width: 100%; }
	.entry-content :is(.emf-btn-navy, .emf-btn-mint) { width: 100%; }
}

/* Cards: radius 18, padding 24, no border; light mint on white, white on gray (tone is set per page in the editor) */
.emf-card > .kt-inside-inner-col { border: 0; border-radius: 18px; padding: 24px; }
.wp-block-kadence-column.emf-box.emf-sm > .kt-inside-inner-col { padding: 24px !important; }
.wp-block-kadence-column.emf-box--line > .kt-inside-inner-col { border-width: 1px; }
@media (max-width: 767px) {
	.emf-card > .kt-inside-inner-col, .wp-block-kadence-column.emf-box.emf-sm > .kt-inside-inner-col { padding: 16px !important; }
	.wp-block-kadence-column.emf-box > .kt-inside-inner-col { gap: 12px; }
}

/* Pills (key facts): Space Mono label + Work Sans 16 value; light mint, white on light-mint boxes */
.emf-chips li { background: var(--global-palette8); color: var(--global-palette3); border-radius: 30px; padding: 6px 14px; font-weight: 400; }
.wp-block-kadence-column.emf-box--mintsoft .emf-chips li, .emf-card.emf-mint .emf-chips li { background: var(--global-palette9); }

/* Dropdowns (FAQ accordions): open rows with dividers, first item open, 44+ tap target */
.emf-acc details, .wp-block-kadence-column.emf-box .emf-acc details, .wp-block-kadence-column.emf-box--mist .emf-acc details { border: 0; border-bottom: 1px solid var(--global-palette6); border-radius: 0; margin: 0; background: transparent; }
.emf-acc summary { padding: 20px 0; min-height: 44px; align-items: center; font-family: var(--global-body-font-family); font-weight: 600; font-size: 16px; line-height: 26px; color: var(--global-palette4); }
.emf-acc details[open] > summary { padding-bottom: 12px; }
.emf-acc summary::after { font-size: 20px; line-height: 28px; flex: none; }
.emf-acc-body { padding: 0 0 20px; }
.emf-acc summary:focus-visible { border-radius: 4px; }
.emf-on-dark .emf-acc summary { color: var(--global-palette9); }

/* Comparison table: dark header row, zebra rows (white / light mint), radius 12; side-scrolls on phones */
.emf-compare { border-radius: 12px; }
.emf-compare table { border-radius: 12px; min-width: 760px; }
.emf-compare th, .emf-compare td { padding: 16px 20px; border-bottom: .5px solid var(--global-palette6) !important; vertical-align: middle; }
.emf-compare thead th, .emf-compare thead th:not(:first-child) { font-size: 18px; line-height: 28px; letter-spacing: 0; color: var(--global-palette9); padding: 20px; border-bottom: 0 !important; }
.emf-compare tbody tr:nth-child(odd) td, .emf-compare tbody tr:nth-child(odd) th { background: var(--global-palette9); }
.emf-compare tbody tr:nth-child(even) td, .emf-compare tbody tr:nth-child(even) th { background: var(--global-palette8); }
.emf-compare tbody th { font-size: 13px; line-height: 20px; letter-spacing: .06em; width: 22%; }
.emf-compare td { color: var(--global-palette3); }
@media (max-width: 767px) {
	.emf-compare th, .emf-compare td, .emf-compare thead th { padding: 12px 10px; }
	.emf-compare tbody th { min-width: 130px; }
	.emf-compare td { min-width: 200px; }
	.emf-compare thead th { font-size: 16px; line-height: 24px; }
}

/* Forms (Gravity Form #1): gray panel, 48px inputs with 1px dark-blue border, radius 12; 44px choice pills; dark-blue Next */
.emf-leadform-wrap .gform_wrapper { background: var(--global-palette7); border-radius: 18px; padding: 40px; }
.emf-leadform :is(input[type=text], input[type=tel], input[type=email], input[type=number], select) { border: 1px solid var(--global-palette4) !important; border-radius: 12px !important; height: 48px; min-height: 48px; padding: 0 16px !important; }
.emf-leadform textarea { border: 1px solid var(--global-palette4) !important; border-radius: 12px !important; padding: 12px 16px !important; }
.emf-leadform .emf-seg .gfield_radio { gap: 12px; }
.emf-leadform .emf-seg .gchoice label { min-height: 44px; padding: 10px 20px; border: 1px solid var(--global-palette4); border-radius: 30px; font-weight: 400; color: var(--global-palette4); }
.emf-leadform .emf-seg .gchoice input:checked + label { background: var(--global-palette4); color: var(--global-palette9); }
.emf-leadform input[type=checkbox] { width: 24px; height: 24px; accent-color: var(--global-palette4); border-radius: 6px; }
.emf-leadform .gf_step_number { width: 32px !important; height: 32px !important; border-radius: 16px !important; border: 1.5px solid var(--global-palette4) !important; background: var(--global-palette9) !important; color: var(--global-palette4) !important; display: inline-grid !important; place-items: center; }
.emf-leadform .gf_step_active .gf_step_number { background: var(--global-palette4) !important; color: var(--global-palette9) !important; }
.emf-leadform .gform_page_footer .gform_button, .emf-leadform .gform_next_button, .emf-leadform .gform_footer .gform_button { background: var(--global-palette4) !important; color: var(--global-palette9) !important; min-height: 44px; padding: 14px 28px !important; border-radius: 30px !important; letter-spacing: .06em; }
.emf-leadform .gform_page_footer .gform_button:hover, .emf-leadform .gform_next_button:hover, .emf-leadform .gform_footer .gform_button:hover { background: var(--global-palette1) !important; }
.emf-leadform .gform_previous_button { min-height: 44px; border-radius: 30px !important; padding: 12px 22px !important; letter-spacing: .06em; }
@media (max-width: 767px) {
	.emf-leadform-wrap .gform_wrapper { padding: 16px; }
	.emf-leadform .emf-seg .gfield_radio { flex-direction: column; }
	.emf-leadform .emf-seg .gchoice, .emf-leadform .emf-seg .gchoice label { width: 100%; }
	.emf-leadform .gf_page_steps { justify-content: center; }
	.emf-leadform :is(.gform_page_footer, .gform_footer) { flex-direction: column; gap: 12px; }
	.emf-leadform :is(.gform_page_footer, .gform_footer) :is(.gform_button, .gform_next_button, .gform_previous_button) { width: 100% !important; margin: 0 !important; }
}

/* Filter chips (FAQ topics): 44 tall, hug width; one swipeable row on phones */
.emf-filters button { border: 1px solid var(--global-palette4); font-size: 13px; }
@media (max-width: 767px) {
	.emf-filters { flex-wrap: nowrap; overflow-x: auto; gap: 8px; padding-bottom: 4px; scrollbar-width: thin; }
	.emf-filters button { flex: none; white-space: nowrap; }
}

/* Blog cards on phones: title and Read more only */
@media (max-width: 767px) {
	:is(.blog, .archive) .loop-entry :is(.post-thumbnail, .entry-taxonomies, .entry-meta, .entry-summary) { display: none; }
}
/* Chip links are pills, not inline links */
.entry-content :is(.emf-rc-chips, .emf-chiplinks, .emf-chips) a { text-decoration: none; }
.emf-leadform :is(.gform_next_button, .gform_previous_button, .gform_button) { min-height: 44px !important; }
.entry-content :is(.emf-rc-chips, .emf-chiplinks, .emf-chips) a { text-decoration: none !important; }
.loop-entry .entry-title { font-size: 20px !important; line-height: 28px !important; }
@media (max-width: 767px) {
	.loop-entry .entry-title { font-size: 18px !important; line-height: 26px !important; }
	/* Hero video pause control moves to the top corner so it doesn't sit on the full-width button */
	.emf-hero--video .kb-background-video-buttons-wrapper { top: 12px; bottom: auto; right: 12px; }
}

/* ============ Figma header + footer (Aude, 2026-10-29) ============ */
/* Desktop header: 24/70 padding, gray nav pill (palette7 in header #141), 13px nav labels, 44px buttons */
@media (min-width: 1025px) {
	header.wp-block-kadence-header .wp-block-kadence-header-row-center .kadence-header-row-inner { padding-top: 24px; padding-bottom: 24px; }
	header.wp-block-kadence-header .kadence-column141_1d240c-6b > .kt-inside-inner-col { padding: 6px 14px !important; border-radius: 30px !important; }
	.wp-block-kadence-navigation149-cpt-id .menu-container > ul.kb-navigation > li > .kb-link-wrap > .kb-nav-link-content { font-size: 13px; line-height: 16px; letter-spacing: .06em; min-height: 44px; padding: 14px 16px; }
	header.wp-block-kadence-header .kb-btns141_927bb5-60 { gap: 12px; margin-left: 32px; }
	header.wp-block-kadence-header .kb-btns141_927bb5-60 .kb-button { min-height: 44px; border-radius: 30px !important; font-size: 13px !important; letter-spacing: .06em; line-height: 16px; }
	header.wp-block-kadence-header .kb-btns141_927bb5-60 .kb-button:not(.emf-hdr-phone) { padding: 14px 28px !important; }
	header.wp-block-kadence-header .kb-btns141_927bb5-60 a.emf-hdr-phone { padding: 12px 22px !important; gap: 8px; }
}
@media (min-width: 1361px) { .kb-identity141_ee0475-50 .wp-block-site-logo, .kb-identity141_ee0475-50 .custom-logo { width: 246px !important; max-width: 246px; min-width: 0; } }
/* Phone header (≤767): logo + menu toggle only; Book and the phone number move into the open menu */
@media (max-width: 767px) {
	header.wp-block-kadence-header .emf-hdr-mbtns { display: none !important; }
	header.wp-block-kadence-header .wp-block-kadence-header-row-center .kadence-header-row-inner { padding: 10px 20px !important; min-height: 64px; }
	.kb-header-container-tablet .wp-block-site-logo img, .wp-block-kadence-header-tablet .wp-block-site-logo img { width: 150px !important; max-width: 150px; }
	button.wp-block-kadence-off-canvas-trigger { width: 44px; height: 44px; padding: 10px !important; }
	button.wp-block-kadence-off-canvas-trigger svg { width: 24px !important; height: 24px !important; }
}
/* Open phone menu: logo top-left, close top-right, 13px items with dividers, full-width Book + phone */
.wp-block-kadence-off-canvas .kb-off-canvas-inner { padding: 10px 20px 32px !important; }
.wp-block-kadence-off-canvas .emf-oc-logo { margin: 0 0 8px; min-height: 44px; display: flex; align-items: center; }
.wp-block-kadence-off-canvas .emf-oc-logo img { width: 150px; height: auto; }
.wp-block-kadence-off-canvas .kb-off-canvas-close { top: 10px !important; right: 20px !important; width: 44px; height: 44px; padding: 10px !important; }
.wp-block-kadence-off-canvas .kb-off-canvas-close svg { width: 24px !important; height: 24px !important; }
.wp-block-kadence-off-canvas .wp-block-kadence-navigation149-cpt-id .menu-container > ul.kb-navigation > li { border-bottom: 1px solid var(--global-palette6); }
.wp-block-kadence-off-canvas .wp-block-kadence-navigation149-cpt-id .menu-container > ul.kb-navigation > li > .kb-link-wrap > .kb-nav-link-content { font-family: var(--global-heading-font-family); font-size: 13px !important; line-height: 16px !important; letter-spacing: .06em; padding: 20px 0 !important; min-height: 44px; }
.wp-block-kadence-off-canvas .wp-block-kadence-navigation149-cpt-id .kb-nav-sub-menu .kb-nav-link-content { font-size: 16px !important; line-height: 26px !important; padding: 10px 0 10px 16px !important; text-transform: none; font-family: var(--global-body-font-family); }
.wp-block-kadence-off-canvas .wp-block-kadence-navigation149-cpt-id .kb-nav-dropdown-toggle-btn { min-width: 44px; min-height: 44px; }
.wp-block-kadence-off-canvas .wp-block-kadence-navigation149-cpt-id .kb-nav-dropdown-toggle-btn svg { width: 14px; height: 14px; }
.wp-block-kadence-off-canvas .emf-oc-actions { display: flex !important; flex-direction: column !important; gap: 12px; margin-top: 32px; }
.wp-block-kadence-off-canvas .emf-oc-actions .kb-button { width: 100%; justify-content: center; min-height: 44px; margin: 0 !important; border-radius: 30px !important; font-size: 13px !important; letter-spacing: .06em; }

/* Footer (one widget, block-94): brand | Explore | Locations, divider, Vendor info | dark-blue non-profit card; bottom bar © | legal */
.site-footer .site-middle-footer-inner-wrap { padding-top: 64px; padding-bottom: 40px; }
.site-footer .footer-widget1 { width: 100%; }
.emf-foot { width: 100%; text-align: left; }
.emf-foot-top { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 40px; padding-bottom: 40px; border-bottom: 1px solid var(--global-palette6); }
.emf-foot-mid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; align-items: start; padding-top: 40px; }
.emf-foot-brand { display: grid; gap: 20px; justify-items: start; }
.emf-foot-logo { margin: 0 !important; }
.emf-foot-logo img { width: 246px; height: auto; display: block; }
.emf-foot-book { margin: 0 !important; }
.emf-foot-book .wp-block-button__link { min-width: 246px; }
.emf-foot-social { display: flex; align-items: center; gap: 4px; margin: 0; }
.emf-foot-social .wp-block-social-links { margin: 0 !important; }
.emf-foot-social .wp-social-link a { width: 44px; height: 44px; display: grid; place-items: center; padding: 0; }
.emf-foot-social p { margin: 0; font-size: 16px; }
.emf-foot-social p a { color: var(--global-palette4); text-decoration: none; }
.emf-foot-social p a:hover { text-decoration: underline; }
.emf-foot-acc { margin: 0; }
.emf-foot-acc > summary { list-style: none; font-family: var(--global-heading-font-family); font-size: 13px; line-height: 16px; letter-spacing: .06em; text-transform: uppercase; color: var(--global-palette4); margin-bottom: 16px; }
.emf-foot-acc > summary::-webkit-details-marker { display: none; }
.emf-foot-acc p, .emf-foot .emf-floc { font-size: 16px; line-height: 26px; margin: 0 0 12px; color: var(--global-palette3); }
.emf-foot .emf-floc a { color: var(--global-palette3); }
.emf-foot-links { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, max-content); grid-auto-flow: column; grid-template-rows: repeat(4, auto); column-gap: 48px; row-gap: 6px; }
.emf-foot-links a { color: var(--global-palette4); text-decoration: none; font-size: 16px; line-height: 26px; }
.emf-foot-links a:hover { text-decoration: underline; }
.emf-foot-mid > .emf-foot-acc { padding: 0 20px; }
.emf-foot-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.emf-foot-chips span { background: var(--global-palette8); color: var(--global-palette4); border-radius: 30px; padding: 6px 14px; font-family: var(--global-heading-font-family); font-size: 13px; line-height: 20px; letter-spacing: .06em; }
.emf-foot-np { background: var(--global-palette4); border-radius: 12px; padding: 26px 28px; display: grid; gap: 14px; }
.site-footer .emf-foot-np .emf-501c3 { color: var(--global-palette9); font-size: 16px; line-height: 24px; max-width: none; margin: 0; }
.site-footer .emf-foot-np .emf-tbd { color: var(--global-palette9); }
.site-footer .emf-foot-np .emf-fnp { margin: 0 !important; }
.site-footer .emf-foot-np .wp-block-button__link:focus-visible { --emf-focus: var(--global-palette9); }
/* Bottom bar */
.site-footer .site-bottom-footer-inner-wrap { padding-top: 16px; padding-bottom: 28px; align-items: center; }
.site-footer .footer-html { font-size: 12px; letter-spacing: .05em; color: var(--global-palette4); }
.site-footer .footer-widget5 { justify-self: end; }
.site-footer .emf-legal a { font-size: 12px; letter-spacing: .05em; min-height: 44px; display: inline-flex; align-items: center; }
@media (min-width: 768px) {
	.emf-foot-acc > summary { pointer-events: none; cursor: default; }
}
@media (max-width: 1024px) and (min-width: 768px) {
	.emf-foot-top { grid-template-columns: 1fr 1fr; }
	.emf-foot-brand { grid-column: 1 / -1; }
}
/* Phone footer: brand stacked and centered, then collapsible Explore / Locations / Vendor Information, non-profit card, legal, © */
@media (max-width: 767px) {
	.site-footer .site-middle-footer-inner-wrap { padding: 40px 20px 20px; }
	.emf-foot-top, .emf-foot-mid { display: block; padding: 0; border: 0; }
	.emf-foot-brand { justify-items: stretch; padding-bottom: 32px; }
	.emf-foot-logo img { width: 300px; max-width: 100%; }
	.emf-foot-book .wp-block-button, .emf-foot-book .wp-block-button__link { width: 100%; min-width: 0; }
	.emf-foot-social { justify-content: center; }
	.emf-foot-acc { border-top: 1px solid var(--global-palette6); padding: 0 !important; }
	.emf-foot-mid > .emf-foot-acc { border-bottom: 1px solid var(--global-palette6); margin-bottom: 32px; }
	.emf-foot-acc > summary { display: flex; justify-content: space-between; align-items: center; min-height: 44px; padding: 14px 0; margin: 0; cursor: pointer; }
	.emf-foot-acc > summary::after { content: ""; width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translateY(-3px); transition: transform .2s; }
	.emf-foot-acc[open] > summary::after { transform: rotate(-135deg) translateY(-3px); }
	.emf-foot-acc[open] > :not(summary) { margin-bottom: 16px; }
	.emf-foot-links { grid-auto-flow: row; grid-template-columns: 1fr; grid-template-rows: none; }
	.emf-foot-links a { display: inline-flex; min-height: 44px; align-items: center; }
	.emf-foot-np { padding: 26px 20px; }
	.emf-foot-np .wp-block-button, .emf-foot-np .wp-block-button__link { width: 100%; }
	.site-footer .site-bottom-footer-inner-wrap { display: flex; flex-direction: column-reverse; gap: 8px; padding: 0 20px 28px; }
	.site-footer .footer-widget5 { justify-self: center; }
	.site-footer .wp-block-kadence-navigation267-cpt-id .menu-container > ul.kb-navigation { justify-content: center !important; column-gap: 12px; }
}
/* Group blocks wrap children in an inner container: let the footer grids/flex see the children */
.emf-foot .wp-block-group__inner-container { display: contents; }
@media (min-width: 1025px) {
	.wp-block-kadence-navigation149-cpt-id .menu-container > ul.kb-navigation > li.menu-item--has-toggle > .kb-link-wrap > .kb-nav-link-content { padding-right: 36px; }
	header .wp-block-kadence-navigation149-cpt-id .menu-container > ul.kb-navigation > li.menu-item--has-toggle > .kb-link-wrap > .kb-nav-dropdown-toggle-btn { right: 14px; }
	header .wp-block-kadence-navigation149-cpt-id .kb-nav-dropdown-toggle-btn svg { width: 14px; height: 14px; }
}
.emf-foot-links li { margin: 0; padding: 0; }
.site-footer .footer-widget5, .site-footer .footer-widget5 .emf-legal, .site-footer .footer-widget5 .wp-block-kadence-navigation { width: 100%; }
@media (min-width: 768px) { .site-footer .wp-block-kadence-navigation267-cpt-id .menu-container > ul.kb-navigation { justify-content: flex-end !important; } }
@media (max-width: 767px) { .site-footer .site-container { padding-left: 20px; padding-right: 20px; } .site-footer .site-middle-footer-inner-wrap, .site-footer .site-bottom-footer-inner-wrap { padding-left: 0; padding-right: 0; } }
.site-footer .emf-foot-links { padding: 0 !important; }
@media (min-width: 768px) { .site-footer .footer-widget5 nav.navigation { justify-content: flex-end; } .site-footer .footer-widget5 .menu-container { margin-left: auto; } }
@media (min-width: 1025px) and (max-width: 1280px) {
	.wp-block-kadence-navigation149-cpt-id .menu-container > ul.kb-navigation > li > .kb-link-wrap > .kb-nav-link-content { padding-left: 10px; padding-right: 10px; }
	.wp-block-kadence-navigation149-cpt-id .menu-container > ul.kb-navigation > li.menu-item--has-toggle > .kb-link-wrap > .kb-nav-link-content { padding-right: 28px; }
	header .wp-block-kadence-navigation149-cpt-id .menu-container > ul.kb-navigation > li.menu-item--has-toggle > .kb-link-wrap > .kb-nav-dropdown-toggle-btn { right: 8px; }
	header.wp-block-kadence-header .kb-btns141_927bb5-60 { margin-left: 16px; }
}
@media (min-width: 1025px) and (max-width: 1280px) { .wp-block-kadence-navigation149-cpt-id .menu-container > ul.kb-navigation { column-gap: 12px !important; } }
@media (min-width: 1025px) and (max-width: 1280px) {
	.wp-block-kadence-navigation149-cpt-id .menu-container > ul.kb-navigation > li.menu-item--has-toggle > .kb-link-wrap > .kb-nav-link-content { padding-right: 22px; }
	header .wp-block-kadence-navigation149-cpt-id .menu-container > ul.kb-navigation > li.menu-item--has-toggle > .kb-link-wrap > .kb-nav-dropdown-toggle-btn { right: 2px; }
}
@media (min-width: 1025px) and (max-width: 1280px) {
	header .wp-block-kadence-navigation149-cpt-id .menu-container > ul.kb-navigation > li.menu-item--has-toggle > .kb-link-wrap > .kb-nav-dropdown-toggle-btn { right: auto; left: -20px; }
}
@media (min-width: 1281px) {
	header .wp-block-kadence-navigation149-cpt-id .menu-container > ul.kb-navigation > li.menu-item--has-toggle > .kb-link-wrap > .kb-nav-link-content { padding-right: 38px; }
	header .wp-block-kadence-navigation149-cpt-id .menu-container > ul.kb-navigation > li.menu-item--has-toggle > .kb-link-wrap > .kb-nav-dropdown-toggle-btn { right: auto; left: -36px; }
}
/* Nav hover/current: never mint text on white or gray; dark blue + underline instead */
.wp-block-kadence-navigation149-cpt-id .menu-container ul.kb-navigation li > .kb-link-wrap > .kb-nav-link-content:hover,
.wp-block-kadence-navigation149-cpt-id .menu-container ul.kb-navigation li:hover > .kb-link-wrap > .kb-nav-link-content,
.wp-block-kadence-navigation149-cpt-id .menu-container ul.kb-navigation li.current-menu-item > .kb-link-wrap > .kb-nav-link-content,
.wp-block-kadence-navigation149-cpt-id .menu-container ul.kb-navigation li.current-menu-ancestor > .kb-link-wrap > .kb-nav-link-content { color: var(--global-palette4) !important; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }
.wp-block-kadence-navigation149-cpt-id .menu-container ul.kb-navigation li:hover > .kb-link-wrap > .kb-nav-dropdown-toggle-btn { color: var(--global-palette4) !important; }
.wp-block-kadence-navigation267-cpt-id .kb-nav-link-content:hover, .emf-foot-links a:hover { color: var(--global-palette4) !important; }

/* ============ Figma page layouts (Aude, 2026-10-29): open sections + full-width gray bands ============
   .emf-band: full-bleed gray section (row bgColor palette7), content at the 1300 grid. .emf-band--cont: second row of the same band.
   .emf-open: column with no box (text sits on the section background). .emf-divider-top: 1px line above a section. */
.kb-row-layout-wrap.emf-sec.emf-band { width: 100%; max-width: none; margin: var(--emf-section) 0 0 !important; padding: var(--emf-section) var(--emf-gutter) !important; }
.kb-row-layout-wrap.emf-sec.emf-band > .kt-row-column-wrap { max-width: 1300px !important; margin: 0 auto; }
.kb-row-layout-wrap.emf-sec.emf-band--head { padding-bottom: 24px !important; }
.kb-row-layout-wrap.emf-sec.emf-band--cont { margin-top: 0 !important; padding-top: 0 !important; }
.kb-row-layout-wrap.emf-sec.emf-band + .kb-row-layout-wrap.emf-sec:not(.emf-band) { margin-top: var(--emf-section) !important; }
.kb-row-layout-wrap.emf-sec.emf-band.emf-last { margin-bottom: 0 !important; }
.wp-block-kadence-column.emf-open > .kt-inside-inner-col { padding: 0 !important; display: flex; flex-direction: column; justify-content: center; gap: 16px; height: 100%; }
.wp-block-kadence-column.emf-open.emf-top > .kt-inside-inner-col { justify-content: flex-start; }
.wp-block-kadence-column.emf-open > .kt-inside-inner-col > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.wp-block-kadence-column.emf-open h2 { margin-bottom: 4px !important; }
.kb-row-layout-wrap.emf-sec.emf-divider-top { border-top: 1px solid var(--global-palette6); padding-top: var(--emf-section) !important; }
@media (min-width: 768px) { .kb-row-layout-wrap.emf-sec:has(> .kt-row-column-wrap > .emf-open) > .kt-row-column-wrap { column-gap: clamp(24px, 6vw, 92px) !important; } }
.wp-block-kadence-column.emf-box--white > .kt-inside-inner-col { border-radius: var(--emf-r); }
.emf-lead { font-weight: 600; font-size: 18px; line-height: 28px; }
/* Accent words in headings: navy on light (Flood brush accent still marks them); mint only on dark */
.emf-hl { color: inherit; }
/* Secondary (outline) buttons on dark blue: mint outline + mint text */
.emf-on-dark .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color) { color: var(--global-palette2) !important; border-color: var(--global-palette2) !important; }
.emf-on-dark .wp-block-button.is-style-outline > .wp-block-button__link:not(.has-text-color):hover { background: var(--global-palette2) !important; color: var(--global-palette4) !important; }
:is(.emf-band, .wp-block-kadence-column.emf-box--white) .wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-background) { background: var(--global-palette4) !important; color: var(--global-palette9) !important; }
:is(.emf-band) .wp-block-kadence-column.emf-box--white .wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-background) { background: var(--global-palette2) !important; color: var(--global-palette4) !important; }
.wp-block-kadence-column.emf-box--mintsoft .emf-ic { background-color: var(--global-palette4); }

/* Hero: 560 tall (380 on phones), text centered vertically */
.kb-row-layout-wrap.emf-hero { min-height: 560px; align-items: center; }
@media (max-width: 767px) { .kb-row-layout-wrap.emf-hero { min-height: 380px; } .kb-row-layout-wrap.emf-hero > .kt-row-column-wrap { padding: 32px 24px !important; } }

/* Card icon tiles (46, radius 12, 26px icon): light mint on dark blue / white / gray cards */
.emf-ic--programs { background-image: url("assets/icons/programs.svg"); }
.emf-ic--clock { background-image: url("assets/icons/clock.svg"); }
.emf-ic--badge { background-image: url("assets/icons/badge.svg"); }
.emf-on-dark .emf-ic { background-color: var(--global-palette8); }
/* Key-fact cards (dark blue): icon, mint title, light-mint pills */
.wp-block-kadence-column.emf-trustbox.emf-on-dark > .kt-inside-inner-col { flex-direction: column !important; align-items: flex-start; justify-content: flex-start !important; gap: 16px; padding: 24px !important; border-radius: 18px; }
.emf-trustbox.emf-on-dark p { color: var(--global-palette9); font-size: 16px; line-height: 26px; margin: 0; }
.emf-trustbox.emf-on-dark p strong, .emf-trustbox.emf-on-dark p strong a { display: block; font-size: 20px; line-height: 28px; letter-spacing: 0; color: var(--global-palette2); margin-bottom: 16px; }
.emf-trustbox.emf-on-dark .emf-rc-chips { gap: 8px; margin: 0 !important; }
.emf-trustbox.emf-on-dark .emf-rc-chips :is(span, a) { background: var(--global-palette8); color: var(--global-palette3) !important; border: 0; border-radius: 30px; padding: 6px 14px; font-weight: 400; font-size: 16px; line-height: 26px; }
.emf-box.emf-cardlink.emf-on-dark:has(a.emf-cardlink:focus-visible) { outline-color: var(--global-palette4); }

/* Kids / teens / adults band: heading, large intro, three white cards with check lists, full-width button */
.emf-aud-band .emf-aud-intro { font-size: 20px; line-height: 32px; max-width: 62ch; }
.emf-aud-band .emf-aud-all { gap: 24px; margin: 32px 0 !important; overflow: visible; }
.emf-aud-band .emf-aud-all > div { background: var(--global-palette9); border-radius: 18px; padding: 24px; border: 0 !important; }
.emf-aud-band .emf-aud-all h3 { font-size: 20px; line-height: 28px; margin: 0 0 12px; }
.emf-aud-band .emf-aud-all p { font-size: 16px; line-height: 26px; }
.emf-aud-band .emf-aud-all ul { list-style: none; padding: 0; margin: 16px 0 0; display: grid; gap: 8px; }
.emf-aud-band .emf-aud-all li { position: relative; padding-left: 28px; font-size: 16px; line-height: 26px; }
.emf-aud-band .emf-aud-all li::before { content: ""; position: absolute; left: 3px; top: 7px; width: 11px; height: 6px; border-left: 2px solid var(--global-palette4); border-bottom: 2px solid var(--global-palette4); transform: rotate(-45deg); background: none; border-radius: 0; }
.emf-aud-band .wp-block-buttons, .emf-aud-band .wp-block-button, .emf-aud-band .wp-block-button__link { width: 100%; }
@media (max-width: 767px) { .emf-aud-band .emf-aud-all { gap: 12px; margin: 16px 0 !important; } .emf-aud-band .emf-aud-intro { font-size: 18px; line-height: 28px; } }

/* Founder: bold pull line in dark blue with curly quotes */
.emf-open .emf-pull2 { font-family: var(--global-body-font-family); font-weight: 600; font-size: 20px; line-height: 28px; color: var(--global-palette4); }
.emf-open .emf-pull2::before { content: "\201C"; color: inherit; font-size: 1em; line-height: inherit; vertical-align: baseline; margin: 0; }
.emf-open .emf-pull2::after { content: "\201D"; }

/* Credentials on white: light-mint badge cards */
.emf-open .emf-seals { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.emf-open .emf-seals figure { background: var(--global-palette8); border-radius: 12px; padding: 24px 12px; display: grid; justify-items: center; align-content: start; gap: 16px; }
.emf-open .emf-seals img { width: 76px !important; height: 76px !important; background: transparent; border-radius: 0 !important; margin: 0 !important; }
.emf-open .emf-seal-txt { width: 76px !important; height: 76px !important; margin: 0 !important; background: var(--global-palette4); color: var(--global-palette8) !important; font-size: 9.5px; }
.emf-open .emf-seals figcaption { color: var(--global-palette3) !important; font-size: 16px; line-height: 26px; }
@media (max-width: 767px) { .emf-open .emf-seals { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } }

/* Quote: white speech-bubble card with a dark-blue quote badge, on a gray band */
.emf-band .emf-feature-quote { position: relative; background: var(--global-palette9); border-radius: 18px; padding: 56px 64px 40px; max-width: 920px; margin: 28px auto 0; gap: 24px; text-align: left; }
.emf-band .emf-feature-quote::before { content: "\201C"; position: absolute; top: -28px; left: 64px; width: 56px; height: 56px; border-radius: 50%; background: var(--global-palette4); color: var(--global-palette2); font-family: var(--global-heading-font-family); font-weight: 700; font-size: 44px; line-height: 72px; text-align: center; }
.emf-band .emf-feature-quote .emf-bigquote2 { text-align: left; max-width: none; margin: 0 !important; color: var(--global-palette4); font-family: var(--global-body-font-family); font-weight: 500; font-size: 32px; line-height: 44px; }
.emf-band .emf-feature-quote .emf-cite { text-align: left; border-top: 1px solid var(--global-palette6); padding-top: 20px; }
@media (max-width: 767px) { .emf-band .emf-feature-quote { padding: 44px 20px 24px; } .emf-band .emf-feature-quote::before { left: 20px; } .emf-band .emf-feature-quote .emf-bigquote2 { font-size: 22px; line-height: 32px; } }

/* Contact intro on white */
.emf-contact .emf-open h2 { margin-bottom: 0 !important; }
.emf-contact .emf-open p, .emf-contact .emf-open .emf-checks li { color: var(--global-palette3); }

/* CTA band: dark blue, rounded */
.kb-row-layout-wrap.emf-cta { border-radius: 18px; }
@media (max-width: 767px) { .kb-row-layout-wrap.emf-cta > .kt-row-column-wrap { padding: 32px 24px !important; } }
/* Photo | text rows: 41/59, tall portrait photo (Figma Strength + Founder) */
@media (min-width: 768px) {
	.kb-row-layout-wrap.emf-split-img > .kt-row-column-wrap { grid-template-columns: minmax(0, 41fr) minmax(0, 59fr) !important; }
	.kb-row-layout-wrap.emf-split-img .wp-block-kadence-column.emf-box--img > .kt-inside-inner-col, .kb-row-layout-wrap.emf-split-img .wp-block-kadence-column.emf-box--img img { min-height: clamp(420px, 44vw, 640px); }
}
/* Headings split over two balanced lines; CTA and short panel headings handled below */
.emf-sec h2 { max-width: 24ch; }
.emf-cta h2 { max-width: none; }
.wp-block-kadence-column.emf-box--white h2 { max-width: 14ch; }
/* Body large for section intros */
.emf-head p, .emf-cta p, .wp-block-kadence-column.emf-box--white:not(.emf-sm) h2 + p, .emf-contact .emf-open h2 + p, .emf-split-img .emf-pull2 + p, .emf-split-panel .emf-open h2 + p { font-size: 20px; line-height: 32px; }
.emf-lead { line-height: 32px; }
.emf-split-img .emf-pull2 { font-size: 22px; line-height: 30px; }
@media (max-width: 767px) {
	.emf-head p, .emf-cta p, .wp-block-kadence-column.emf-box--white:not(.emf-sm) h2 + p, .emf-contact .emf-open h2 + p, .emf-split-img .emf-pull2 + p, .emf-split-panel .emf-open h2 + p { font-size: 18px; line-height: 28px; }
	.emf-split-img .emf-pull2 { font-size: 18px; line-height: 26px; }
}
/* Form keeps its own gray panel when the column is open */
.emf-leadform-wrap .gform_wrapper, .emf-open .emf-leadform-wrap .gform_wrapper.gravity-theme { background: var(--global-palette7) !important; border-radius: 18px !important; padding: 40px !important; }
@media (max-width: 767px) { .emf-leadform-wrap .gform_wrapper, .emf-open .emf-leadform-wrap .gform_wrapper.gravity-theme { padding: 16px !important; } }
.emf-band .emf-feature-quote::before { width: 64px; height: 64px; font-size: 48px; line-height: 82px; top: -32px; }
@media (min-width: 768px) {
	.kb-row-layout-wrap.emf-split-panel > .kt-row-column-wrap { grid-template-columns: minmax(0, 59fr) minmax(0, 41fr) !important; }
	.kb-row-layout-wrap.emf-split-img .wp-block-kadence-column.emf-box--img > .kt-inside-inner-col, .kb-row-layout-wrap.emf-split-img .wp-block-kadence-column.emf-box--img img { min-height: clamp(400px, 42vw, 620px); max-height: 660px; }
}
@media (max-width: 767px) {
	/* Key-fact cards: icon left of the title, pills full width below */
	.wp-block-kadence-column.emf-trustbox.emf-on-dark > .kt-inside-inner-col { display: grid !important; grid-template-columns: 46px minmax(0, 1fr); column-gap: 12px; row-gap: 12px; align-items: center; padding: 16px !important; }
	.emf-trustbox.emf-on-dark .kt-inside-inner-col > div { display: contents; }
	.emf-trustbox.emf-on-dark p strong, .emf-trustbox.emf-on-dark p strong a { margin-bottom: 0; font-size: 18px; line-height: 26px; }
	.emf-trustbox.emf-on-dark .kt-inside-inner-col > div > p:not(:first-child) { grid-column: 1 / -1; }
	/* Photo rows keep the desktop portrait ratio */
	.kb-row-layout-wrap.emf-split-img .wp-block-kadence-column.emf-box--img > .kt-inside-inner-col, .kb-row-layout-wrap.emf-split-img .wp-block-kadence-column.emf-box--img img { min-height: 0 !important; aspect-ratio: 528 / 630; height: auto !important; }
	.wp-block-kadence-column.emf-box--img .emf-map iframe { min-height: 200px; }
	.wp-block-kadence-column.emf-box--img > .kt-inside-inner-col:has(.emf-map) { min-height: 200px; }
}

/* ---- About (and reused on later pages) ---- */
@media (min-width: 768px) { .kb-row-layout-wrap.emf-split-panel .wp-block-kadence-column.emf-box--img > .kt-inside-inner-col, .kb-row-layout-wrap.emf-split-panel .wp-block-kadence-column.emf-box--img img { min-height: clamp(380px, 38vw, 560px); } }
/* Quote card in a column (white on gray): badge, Quote/Large, divider, attribution */
.wp-block-kadence-column.emf-quotecard > .kt-inside-inner-col { position: relative; padding: 56px 44px 40px !important; overflow: visible; justify-content: center; gap: 24px; }
.wp-block-kadence-column.emf-quotecard { margin-top: 32px; }
.wp-block-kadence-column.emf-quotecard > .kt-inside-inner-col::before { content: "\201C"; position: absolute; top: -32px; left: 44px; width: 64px; height: 64px; border-radius: 50%; background: var(--global-palette4); color: var(--global-palette2); font-family: var(--global-heading-font-family); font-weight: 700; font-size: 48px; line-height: 82px; text-align: center; }
.emf-quotecard .emf-pull2 { font-family: var(--global-body-font-family); font-weight: 500; font-size: 32px; line-height: 44px; color: var(--global-palette4); text-transform: none; }
.emf-quotecard .emf-pull2::before, .emf-quotecard .emf-pull2::after { content: none; }
.emf-quotecard .emf-cite { text-align: left; border-top: 1px solid var(--global-palette6); padding-top: 20px; margin: 0 !important; }
@media (max-width: 767px) { .wp-block-kadence-column.emf-quotecard > .kt-inside-inner-col { padding: 44px 20px 24px !important; } .wp-block-kadence-column.emf-quotecard > .kt-inside-inner-col::before { left: 20px; } .emf-quotecard .emf-pull2 { font-size: 22px; line-height: 32px; } }
/* Checklists on light-mint / white panels: dark-blue checks, no box */
.wp-block-kadence-column.emf-box--mintsoft .emf-checks li::before, .emf-np-panel ul li::before { border-color: var(--global-palette4); }
.emf-np-panel ul:not([class*=emf-]) { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.emf-np-panel ul:not([class*=emf-]) li { position: relative; padding-left: 28px; }
.emf-np-panel ul:not([class*=emf-]) li::before { content: ""; position: absolute; left: 3px; top: 7px; width: 11px; height: 6px; border-left: 2px solid var(--global-palette4); border-bottom: 2px solid var(--global-palette4); transform: rotate(-45deg); }
.emf-np-panel h2 + p { font-size: 20px; line-height: 32px; font-weight: 400; }
.emf-np-panel h2 + p strong { font-weight: 400; }
@media (max-width: 767px) { .emf-np-panel h2 + p { font-size: 18px; line-height: 28px; } }
/* Steps on a light-mint card: no numbers, dividers between steps */
.emf-steps-card .emf-steps { counter-reset: none; display: grid; gap: 0; }
.emf-steps-card .emf-steps li { padding: 16px 0 !important; border-bottom: 1px solid var(--global-palette6); margin: 0 !important; }
.emf-steps-card .emf-steps li:first-child { padding-top: 0 !important; }
.emf-steps-card .emf-steps li:last-child { border-bottom: 0; padding-bottom: 0 !important; }
.emf-steps-card .emf-steps li::before { display: none !important; }
/* Cards with an inset photo (light mint) */
.wp-block-kadence-column.emf-card-inset > .kt-inside-inner-col { padding: 16px !important; gap: 0; }
.wp-block-kadence-column.emf-card-inset figure img { border-radius: 12px !important; aspect-ratio: 4 / 3; }
.wp-block-kadence-column.emf-card-inset > .kt-inside-inner-col > :not(figure) { padding: 0 !important; margin-top: 16px !important; }
/* Coach cards (white on the gray band): inset photo, role label, check list of credentials, divider, programs */
.emf-band .emf-coach-carousel .kt-blocks-post-grid-item { background: var(--global-palette9) !important; border-radius: 18px; padding: 16px; box-shadow: none !important; }
.emf-band .emf-coach-carousel .kadence-post-image img { border-radius: 12px !important; }
.emf-band .emf-coach-carousel .kt-blocks-post-grid-item-inner { padding: 0 !important; }
.emf-coach-carousel .entry-title { font-size: 20px !important; line-height: 28px !important; }
.emf-cc-role { font-family: var(--global-heading-font-family); font-size: 13px; line-height: 20px; letter-spacing: .06em; text-transform: uppercase; color: var(--global-palette4); margin-bottom: 16px; }
.emf-cc-creds { display: grid; gap: 8px; padding-bottom: 16px; margin-bottom: 16px; border-bottom: 1px solid var(--global-palette6); }
.emf-cc-creds span { position: relative; background: none; border-radius: 0; padding: 0 0 0 28px; font-size: 16px; line-height: 26px; color: var(--global-palette3); }
.emf-cc-creds span::before { content: ""; position: absolute; left: 3px; top: 7px; width: 11px; height: 6px; border-left: 2px solid var(--global-palette4); border-bottom: 2px solid var(--global-palette4); transform: rotate(-45deg); }
.emf-cc-progs { color: var(--global-palette3); }
.emf-cc-progs b { display: block; font-size: 13px; letter-spacing: .06em; margin: 0 0 4px; }
/* Form on a white panel inside a gray band; mint Next (mint on white) */
.emf-band .emf-leadform-wrap .gform_wrapper, .emf-band .emf-open .emf-leadform-wrap .gform_wrapper.gravity-theme { background: var(--global-palette9) !important; }
.emf-band .emf-leadform :is(.gform_next_button, .gform_page_footer .gform_button, .gform_footer .gform_button) { background: var(--global-palette2) !important; color: var(--global-palette4) !important; }
.emf-band .emf-leadform :is(.gform_next_button, .gform_page_footer .gform_button, .gform_footer .gform_button):hover { background: var(--global-palette4) !important; color: var(--global-palette9) !important; }

h1, .emf-sec h2 { text-wrap: balance; }
.wp-block-kadence-column.emf-quotecard .emf-pull2 { font-size: 32px; line-height: 44px; }
.wp-block-kadence-column.emf-quotecard .emf-cite { font-size: 13px; line-height: 20px; }
@media (max-width: 767px) { .wp-block-kadence-column.emf-quotecard .emf-pull2 { font-size: 22px; line-height: 32px; } }
.emf-steps-card .emf-steps { padding-left: 0 !important; margin: 0 !important; }
.emf-steps-card .emf-steps li { padding-left: 0 !important; }
@media (min-width: 768px) {
	.emf-leadform .emf-seg .gfield_radio { flex-direction: row !important; flex-wrap: wrap; }
	.emf-leadform .emf-seg .gchoice { width: auto !important; flex: none; }
}
.wp-block-kadence-column:is(.emf-box, .emf-open) .emf-checks { padding-left: 0 !important; margin-left: 0 !important; }
.wp-block-kadence-column:is(.emf-box, .emf-open) .emf-checks li { padding-left: 28px; }

/* ---- Programs (stats, program cards, table, stacked CTA) ---- */
.emf-statcard .emf-stat { color: var(--global-palette9); }
.emf-statcard .emf-stat strong { font-size: 40px; line-height: 48px; color: var(--global-palette2); margin-bottom: 4px; text-transform: uppercase; }
@media (max-width: 767px) { .emf-statcard .emf-stat strong { font-size: 32px; line-height: 40px; } }
.wp-block-kadence-column.emf-card-white .wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-background) { background: var(--global-palette2) !important; color: var(--global-palette4) !important; }
.wp-block-kadence-column.emf-card-white .wp-block-button:not(.is-style-outline) > .wp-block-button__link:not(.has-background):hover { background: var(--global-palette4) !important; color: var(--global-palette9) !important; }
.wp-block-kadence-column.emf-card-white .wp-block-buttons { margin-top: auto !important; padding-top: 16px; }
.wp-block-kadence-column.emf-card-white > .kt-inside-inner-col { justify-content: flex-start; }
.emf-open .emf-compare td strong { background: none; padding: 0; font-family: var(--global-body-font-family); font-size: 16px; font-weight: 400; color: var(--global-palette3); }
.emf-open .emf-compare figcaption { text-align: left; margin-top: 12px; }
/* Light-mint coach cards on white sections */
.emf-sec:not(.emf-band) .emf-coach-carousel .kt-blocks-post-grid-item { background: var(--global-palette8) !important; border-radius: 18px; padding: 16px; box-shadow: none !important; }
.emf-sec:not(.emf-band) .emf-coach-carousel .kadence-post-image img { border-radius: 12px !important; }
.emf-sec:not(.emf-band) .emf-coach-carousel .kt-blocks-post-grid-item-inner { padding: 0 !important; }
/* CTA with three actions: text on top, buttons in one row */
@media (min-width: 768px) {
	.kb-row-layout-wrap.emf-cta-stack > .kt-row-column-wrap { grid-template-columns: 1fr !important; row-gap: 24px !important; }
	.kb-row-layout-wrap.emf-cta-stack .wp-block-kadence-column:last-child > .kt-inside-inner-col { display: flex; flex-direction: row !important; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: flex-start; }
	.kb-row-layout-wrap.emf-cta-stack .wp-block-kadence-column:last-child .wp-block-buttons { margin: 0 !important; gap: 12px; }
	.kb-row-layout-wrap.emf-cta-stack p { max-width: 62ch; }
}
@media (min-width: 768px) { .emf-leadform-wrap .gform_wrapper .gfield_radio { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: 12px; } .emf-leadform-wrap .gform_wrapper .gfield_radio .gchoice { width: auto !important; } }
@media (max-width: 767px) { .emf-leadform-wrap .gform_wrapper .gfield_radio { display: flex !important; flex-direction: column !important; gap: 12px; width: 100%; } }
.emf-compare :is(tbody th, tbody td) { padding: 16px 20px !important; }
@media (max-width: 767px) { .emf-compare :is(thead th, tbody th, tbody td) { padding: 12px 10px !important; } }

/* ---- Program pages ---- */
/* Hero key facts: light-mint label/value pills on a dark-blue panel */
.emf-open .emf-qfacts { display: flex !important; flex-wrap: wrap; gap: 8px; background: var(--global-palette4); border-radius: 12px; padding: 16px; margin: 8px 0 !important; list-style: none; grid-template-columns: none !important; }
.emf-open .emf-qfacts li { display: inline-flex; align-items: center; gap: 8px; background: var(--global-palette8); border-radius: 30px; padding: 6px 14px; margin: 0; color: var(--global-palette3); font-size: 16px; line-height: 26px; }
.emf-open .emf-qfacts strong { display: inline; font-family: var(--global-heading-font-family); font-size: 13px; line-height: 20px; letter-spacing: .06em; text-transform: uppercase; color: var(--global-palette4); }
/* White cards on the gray band: numbers and links in dark blue */
.wp-block-kadence-column.emf-box--white .emf-num { color: var(--global-palette4); }

/* ---- Funding pages ---- */
/* Funding Finder, light: gray panel, white option cards with dark-blue border, plain answer column */
.emf-finder-light .emf-finder { background: var(--global-palette7); color: var(--global-palette3); }
.emf-finder-light .emf-finder legend { color: var(--global-palette4); font-family: var(--global-heading-font-family); font-size: 13px; letter-spacing: .06em; text-transform: uppercase; }
.emf-finder-light .emf-opt { background: var(--global-palette9); border: 1px solid var(--global-palette4); color: var(--global-palette3); border-radius: 12px; padding: 16px 20px; }
.emf-finder-light .emf-opt:has(input:checked) { border-width: 2px; background: var(--global-palette9); }
.emf-finder-light .emf-opt small { color: var(--global-palette3); }
.emf-finder-light .emf-opt input { accent-color: var(--global-palette4); }
.emf-finder-light .emf-finder-result { background: transparent; color: var(--global-palette3); padding: 0 0 0 16px; }
.emf-finder-light .emf-finder-result p { color: var(--global-palette3) !important; font-weight: 400; }
.emf-finder-light .emf-finder-result .emf-checks li::before, .emf-finder-light .emf-finder-result li::before { border-color: var(--global-palette4) !important; background: none !important; }
.emf-finder-light .emf-finder-kicker { color: var(--global-palette4); font-size: 20px; line-height: 28px; }
@media (max-width: 900px) { .emf-finder-light .emf-finder-result { padding: 0; } }
/* Copy box on light mint: white message panel, dark-blue copy button */
.wp-block-kadence-column.emf-box--mintsoft .emf-copybox pre { border: 0; color: var(--global-palette3); font-size: 16px; line-height: 26px; }
.wp-block-kadence-column.emf-box--mintsoft .emf-copybox .emf-btn-mint { background: var(--global-palette4); color: var(--global-palette9); }

/* ---- Book a Class, Non-Profit, Schedule ---- */
.emf-stackbox--mintsoft { background: var(--global-palette8); color: var(--global-palette3); border-radius: var(--emf-r); padding: 24px; }
.emf-stackbox--mintsoft h3 { color: var(--global-palette4); font-size: 20px; line-height: 28px; }
.emf-hourscard .emf-hours th, .emf-hourscard .emf-hours td { padding: 12px 0; }
.emf-hourscard .emf-hours td { text-align: right; }
.emf-hourscard .wp-block-buttons, .emf-hourscard .wp-block-button, .emf-hourscard .wp-block-button__link { width: 100%; }
/* Donate cards on white / light mint: plugin button follows the card's button rule (dark blue on tint, mint on white) */
.emf-donate-cards .emf-box--mintsoft .zeffy-donate-button, .emf-donate-cards .emf-box--mintsoft .emf-donate-btn { background: var(--global-palette4) !important; color: var(--global-palette9) !important; }
.emf-donate-cards .emf-box--white .zeffy-donate-button, .emf-donate-cards .emf-box--white .emf-donate-btn { background: var(--global-palette2) !important; color: var(--global-palette4) !important; }
/* Full-width photo placeholder on the gray band: white panel */
.emf-band .emf-photo-tbd, .emf-band.emf-fullphoto .emf-box--img > .kt-inside-inner-col { background: var(--global-palette9) !important; }
.emf-card-inset .emf-photo-tbd { border-radius: 12px; }

/* ---- FAQ page: filters in a left column, questions on white; Blog cards light mint; single post header ---- */
.emf-faqpage > .kt-row-column-wrap { grid-template-columns: 1fr !important; }
.emf-faqpage .wp-block-kadence-column.emf-box--img { display: none; }
@media (min-width: 1025px) {
	.emf-faqpage .kt-inside-inner-col:has(> .emf-filters), .emf-faqpage .wp-block-shortcode:has(.emf-filters) { display: grid; grid-template-columns: 220px minmax(0, 1fr); column-gap: 32px; align-items: start; }
	.emf-faqpage .emf-filters { flex-direction: column; align-items: flex-start; position: sticky; top: 120px; }
}
.emf-faqpage .emf-faqgroup h2 { font-size: 20px; line-height: 28px; margin-bottom: 8px; }
.emf-faqpage .emf-filters button { border-width: 1px; }
:is(.blog, .archive) .loop-entry { background: var(--global-palette8) !important; }
:is(.blog, .archive) .loop-entry .entry-taxonomies a { color: var(--global-palette4); font-family: var(--global-heading-font-family); font-size: 13px; letter-spacing: .06em; }
:is(.blog, .archive) .loop-entry .post-thumbnail { margin: 16px 16px 0 !important; border-radius: 12px; overflow: hidden; }
:is(.blog, .archive) .loop-entry .entry-title { font-size: 20px !important; line-height: 28px !important; }
:is(.blog, .archive) .loop-entry .more-link-wrap a, :is(.blog, .archive) .loop-entry .post-more-link { color: var(--global-palette4); text-decoration: underline; }
.emf-posthead { width: min(1300px, calc(100% - 2 * var(--emf-gutter))); margin: 40px auto 32px; display: grid; gap: 16px; }
.emf-postmeta { margin: 0; font-size: 13px; color: var(--global-palette3); }
.emf-postcat { font-family: var(--global-heading-font-family); letter-spacing: .06em; text-transform: uppercase; color: var(--global-palette4); text-decoration: none; margin-right: 8px; }
.emf-posttitle { margin: 0; font-size: 40px; line-height: 48px; max-width: 40ch; text-wrap: balance; }
.emf-postimg { margin: 8px 0 0; }
.emf-postimg img { width: 100%; height: auto; max-height: 520px; object-fit: cover; border-radius: 18px; display: block; }
.single-post .article-post-thumbnail { display: none; }
.single-post .primary-sidebar .widget { background: var(--global-palette9) !important; border: 1px solid var(--global-palette6); border-radius: 18px; }
.single-post .entry-content h2 { font-size: 24px; line-height: 32px; }
.single-post .emf-blogtable thead th { font-size: 18px; line-height: 28px; }
.single-post .emf-blogtable tbody tr:nth-child(even) td { background: var(--global-palette8); }
@media (max-width: 767px) { .emf-posttitle { font-size: 26px; line-height: 34px; } .emf-posthead { margin: 24px auto 24px; } }
/* Funding finder fixes: option sub-labels and answer checks */
.emf-finder-light .emf-opt small { display: block !important; color: var(--global-palette3) !important; }
.emf-finder-light .emf-finder-result ul { list-style: none; padding: 0; }
.emf-finder-light .emf-finder-result li { position: relative; padding-left: 28px; }
.emf-finder-light .emf-finder-result li::before { content: ""; position: absolute; left: 3px; top: 7px; width: 11px; height: 6px; border-left: 2px solid var(--global-palette4); border-bottom: 2px solid var(--global-palette4); transform: rotate(-45deg); border-radius: 0; }
.single-post .entry .post-thumbnail.article-post-thumbnail { display: none !important; }
.single-post .content-wrap > .post-thumbnail.article-post-thumbnail { display: none !important; }
/* Icon tiles on light-mint cards: white tile, dark-blue icon (the line icons are dark-blue SVGs) */
.wp-block-kadence-column.emf-box--mintsoft .emf-ic { background-color: var(--global-palette9); }
.emf-leadform :is(.gform_next_button, .gform_button, .gform_previous_button) { text-transform: uppercase; }
@media (max-width: 767px) {
	.emf-donate-cards :is(.zeffy-donate-button, .emf-donate-btn, a.wp-block-button__link), .emf-donate-cards .wp-block-button { width: 100%; justify-content: center; text-align: center; }
	.emf-leadform .gf_page_steps { display: flex !important; flex-direction: row !important; gap: 16px; justify-content: flex-start; }
	.emf-leadform .emf-seg .gchoice label { justify-content: flex-start; text-align: left; font-size: 16px; }
}
/* Legal pages: readable column */
.emf-legal-page .emf-open > .kt-inside-inner-col { max-width: 760px; gap: 12px; }
.emf-legal-page h2 { font-size: 24px; line-height: 32px; margin-top: 24px !important; }
.emf-legal-page ul { padding-left: 1.2em; }
.emf-box--mintsoft .emf-toc { columns: 1; }

/* ============ BugHerd round 5 (Mike, 2026-10-29) ============ */
/* Hidden for now, kept in the editor (#191, #193, #195, #210, #211) */
/* Repeated class = higher specificity, so layout rules like `.emf-open .emf-qfacts { display: flex !important }` can't un-hide it. */
.emf-hidden.emf-hidden.emf-hidden { display: none !important; }
/* Icon tiles on light-mint cards: dark-blue tile, mint icon via mask (#201–#203, Figma Card icon spec) */
.emf-ic--person { --emf-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26' fill='none' stroke='%230C233F' stroke-width='2'%3E%3Ccircle cx='13' cy='7' r='3.5'/%3E%3Cpath d='M5 22c0-4.4 3.6-8 8-8s8 3.6 8 8' stroke-linecap='round'/%3E%3C/svg%3E"); }
.emf-ic--eye { --emf-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26' fill='none' stroke='%230C233F' stroke-width='2'%3E%3Cpath d='M3 13c2.5-4 5.5-6 10-6s7.5 2 10 6c-2.5 4-5.5 6-10 6s-7.5-2-10-6z'/%3E%3Ccircle cx='13' cy='13' r='2.5' fill='%230C233F'/%3E%3C/svg%3E"); }
.emf-ic--target { --emf-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26' fill='none' stroke='%230C233F' stroke-width='2'%3E%3Ccircle cx='13' cy='13' r='9'/%3E%3Ccircle cx='13' cy='13' r='4.5'/%3E%3Ccircle cx='13' cy='13' r='1.5' fill='%230C233F'/%3E%3C/svg%3E"); }
.emf-ic--cal { --emf-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26' fill='none' stroke='%230C233F' stroke-width='2' stroke-linecap='round'%3E%3Crect x='3.5' y='5' width='19' height='17' rx='3'/%3E%3Cpath d='M3.5 10h19M9 3v4M17 3v4'/%3E%3C/svg%3E"); }
.emf-ic--check { --emf-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26' fill='none' stroke='%230C233F' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 13.5l4.5 4.5L20 8'/%3E%3C/svg%3E"); }
.emf-ic--heart { --emf-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26' fill='none' stroke='%230C233F' stroke-width='2' stroke-linejoin='round'%3E%3Cpath d='M13 21s-8-4.6-8-10.2A4.3 4.3 0 0 1 13 8a4.3 4.3 0 0 1 8 2.8C21 16.4 13 21 13 21z'/%3E%3C/svg%3E"); }
.emf-ic--dollar { --emf-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26' fill='none' stroke='%230C233F' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M13 4v18M17.5 8.5c-.8-1.4-2.4-2-4.5-2-2.6 0-4.3 1.3-4.3 3.2 0 4.5 9.1 2.6 9.1 7.1 0 2-1.9 3.4-4.8 3.4-2.3 0-4-.8-4.8-2.4'/%3E%3C/svg%3E"); }
.emf-ic--pin { --emf-ic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 26 26' fill='none' stroke='%230C233F' stroke-width='2'%3E%3Cpath d='M13 23s7-6.6 7-12.3A7 7 0 0 0 6 10.7C6 16.4 13 23 13 23z'/%3E%3Ccircle cx='13' cy='10.5' r='2.5'/%3E%3C/svg%3E"); }
.emf-ic--programs { --emf-ic: url("assets/icons/programs.svg"); }
.emf-ic--clock { --emf-ic: url("assets/icons/clock.svg"); }
.emf-ic--badge { --emf-ic: url("assets/icons/badge.svg"); }
.wp-block-kadence-column.emf-box--mintsoft .emf-ic { position: relative; background-color: var(--global-palette4) !important; background-image: none !important; }
.wp-block-kadence-column.emf-box--mintsoft .emf-ic::after { content: ""; position: absolute; inset: 10px; background: var(--global-palette2); -webkit-mask: var(--emf-ic) center / 26px no-repeat; mask: var(--emf-ic) center / 26px no-repeat; }
/* Board photos (#204–#206): square, inset like the other cards */
.emf-board-photo { margin: 0 !important; }
.emf-board-photo img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; object-position: center 25%; border-radius: 12px; display: block; }
/* Credential badges with real logos (#187, #188) */
.emf-open .emf-seals figure img { object-fit: contain; }

/* DEV 04.1 (2026-10-29): nav dropdown toggles meet WCAG 2.2 target size (24×24). */
.kb-nav-dropdown-toggle-btn { min-width: 24px; }
