/*
Custom CSS for website theme
Version: 1.0
Description: Used to establish the look and feel for the custom website
Author: Full Spectrum Marketing
Author URL: http://www.fsm.agency

DEVELOPER NOTES:
- #page-container selector is intentionally used throughout for scoping to override
  Divi and WordPress core styles. This ensures proper specificity and prevents
  style conflicts with parent theme and plugin styles.
- Empty button style declarations (fsm-btn-*) are framework placeholders for
  custom website implementations. Fill these in per project requirements.
- Transition syntax: Property-specific transitions (e.g., "border-color 0.2s ease")
  are preferred for performance and clarity, but "ease all" is acceptable for
  simple cases where multiple properties need the same transition.
- Copy variables from theme.css to variables.css when ready to organize per project.
*/

#page-container {
    overflow: hidden;
}

:focus-visible {
    outline: 3px solid var(--border-focus);
    box-shadow: 0 0 0 2px var(--background-elevated);
    outline-offset: 2px;
    position: relative;
    z-index: 1;
}

/* Skip to main content: off-screen until focused (accessibility) */
.skip-link {
    position: absolute;
    left: -9999px;
    z-index: 999999;
    padding: 0.75rem 1rem;
    background: var(--action-primary-bg, #145C95);
    color: var(--text-inverse);
    font-weight: 600;
    text-decoration: none;
    border-radius: 0 0 4px 0;
}
.skip-link:focus {
    position: fixed;
    left: 0;
    top: 0;
    outline: 3px solid var(--border-focus);
    outline-offset: 2px;
}

/* GLOBAL BUTTON STYLES */
#page-container #main-content .et_pb_button {
    border-radius: 0.375rem;
    color: var(--action-primary-text, #FFF);
    background-color: var(--action-primary-bg, #145C95);
    text-align: center;
    font-style: normal;
    font-weight: 600;
    font-family: var(--font-family-body, Outfit, sans-serif);
    font-size: 1rem;
    line-height: 125%;
    /* 1.25rem */
    letter-spacing: 0.02rem;
    text-transform: uppercase;
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease, padding 0.3s ease;
    border: none;
    padding: 12px 20px;
    /* From Figma design */
    position: relative;
    /* For absolute positioning of ::after */
}

#page-container #main-content .et_pb_button:hover {
    background-color: var(--action-primary-bg-hover, #F26522);
    color: var(--action-primary-text, #FFF);
    padding-right: 32px;
    /* Accommodate icon on hover */
}

/* Menu button styling - matches main button styles */
.mega-menu-button.menu-button,
li.menu-button {
    display: flex !important;
    align-items: center !important;
    height: auto !important;
}

.mega-menu-button.menu-button .mega-menu-link,
.mega-menu-button.menu-button a,
li.menu-button .mega-menu-link,
li.menu-button a {
    border-radius: 0.375rem !important;
    color: var(--action-primary-text, #FFF) !important;
    background-color: var(--action-primary-bg, #145C95) !important;
    text-align: center !important;
    font-style: normal !important;
    font-weight: 600 !important;
    font-family: var(--font-family-body, Outfit, sans-serif) !important;
    font-size: 1rem !important;
    line-height: 1.5 !important;
    /* Match menu items line-height */
    letter-spacing: 0.02rem !important;
    text-transform: uppercase !important;
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease !important;
    border: none !important;
    padding: 0.5rem 1.25rem !important;
    /* Match vertical padding with menu items */
    position: relative;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-decoration: none !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    vertical-align: baseline !important;
}

.mega-menu-button.menu-button .mega-menu-link:hover,
.mega-menu-button.menu-button a:hover,
li.menu-button .mega-menu-link:hover,
li.menu-button a:hover {
    background-color: var(--action-primary-bg-hover, #F26522) !important;
    color: var(--action-primary-text, #FFF) !important;
    padding: 12px 20px !important;
    /* No extra padding on hover */
    opacity: 1 !important;
}


/* BUTTON TEXT IS DARK - PRIMARY */
#page-container .et_pb_button.fsm-btn-primary,
#page-container .et_pb_button.et_pb_button_one {
    border-radius: 0.375rem;
    background: var(--action-primary-bg, #145C95);
    color: var(--action-primary-text, #FFF);
    font-family: var(--font-family-body, Outfit, sans-serif);
    font-size: 1rem;
    font-style: normal;
    font-weight: 600;
    line-height: 125%;
    /* 1.25rem */
    letter-spacing: 0.02rem;
    text-transform: uppercase;
    border: none;
    padding: 12px 20px;
    /* From Figma design */
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease, padding 0.3s ease;
    position: relative;
    /* For absolute positioning of ::after */
}

#page-container .et_pb_button.fsm-btn-primary:hover,
#page-container .et_pb_button.et_pb_button_one:hover {
    background: var(--action-primary-bg-hover, #F26522);
    color: var(--action-primary-text, #FFF);
    padding-right: 32px;
    /* Accommodate icon + 12px padding */
}

#page-container .et_pb_button.fsm-btn-primary:focus,
#page-container .et_pb_button.et_pb_button_one:focus {
    outline: 2px solid var(--action-primary-bg-hover, #F26522);
    outline-offset: 2px;
}

/* BUTTON TEXT IS DARK - SECONDARY */
#page-container .et_pb_button.fsm-btn-secondary,
#page-container .et_pb_button.et_pb_button_two {
    border-radius: 0.375rem;
    background: var(--color-action-secondary-default);
    color: var(--color-action-secondary-text);
    font-family: var(--font-family-body, Outfit, sans-serif);
    font-size: 1rem;
    font-style: normal;
    font-weight: 600;
    line-height: 125%;
    /* 1.25rem */
    letter-spacing: 0.02rem;
    text-transform: uppercase;
    border: none;
    padding: 12px 20px;
    /* From Figma design */
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease, padding 0.3s ease;
    position: relative;
    /* For absolute positioning of ::after */
}

#page-container .et_pb_button.fsm-btn-secondary:hover,
#page-container .et_pb_button.et_pb_button_two:hover {
    background: var(--color-action-secondary-hover);
    color: var(--color-action-secondary-text);
    padding-right: 32px;
    /* Accommodate icon + 12px padding */
}

#page-container .et_pb_button.fsm-btn-secondary:focus,
#page-container .et_pb_button.et_pb_button_two:focus {
    outline: 2px solid var(--color-action-secondary-hover);
    outline-offset: 2px;
}

/* BUTTON TEXT IS LIGHT - PRIMARY (Inverse/Outlined) */
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-primary,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_one,
#page-container .et_pb_button.fsm-btn-inverse-primary {
    border-radius: 0.375rem;
    border: 2px solid var(--action-primary-bg, #145C95);
    background: transparent;
    color: var(--action-primary-bg, #145C95);
    font-family: var(--font-family-body, Outfit, sans-serif);
    font-size: 1rem;
    font-style: normal;
    font-weight: 600;
    line-height: 125%;
    /* 1.25rem */
    letter-spacing: 0.02rem;
    text-transform: uppercase;
    padding: 12px 20px;
    /* From Figma design */
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease, padding 0.3s ease;
    position: relative;
    /* For absolute positioning of ::after */
}

#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-primary:hover,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_one:hover,
#page-container .et_pb_button.fsm-btn-inverse-primary:hover {
    border: 2px solid var(--action-primary-bg-hover, #F26522);
    color: var(--action-primary-bg-hover, #F26522);
    background: transparent;
    padding-right: 32px;
    /* Accommodate icon + 12px padding */
}

#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-primary:focus,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_one:focus,
#page-container .et_pb_button.fsm-btn-inverse-primary:focus {
    outline: 2px solid var(--action-primary-bg-hover, #F26522);
    outline-offset: 2px;
}

/* BUTTON TEXT IS LIGHT - SECONDARY (Inverse/Outlined) */
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-secondary,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_two,
#page-container .et_pb_button.fsm-btn-inverse-secondary {
    border-radius: 0.375rem;
    border: 2px solid var(--color-action-secondary-default);
    background: transparent;
    color: var(--color-action-secondary-default);
    font-family: var(--font-family-body, Outfit, sans-serif);
    font-size: 1rem;
    font-style: normal;
    font-weight: 600;
    line-height: 125%;
    /* 1.25rem */
    letter-spacing: 0.02rem;
    text-transform: uppercase;
    padding: 12px 20px;
    /* From Figma design */
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease, padding 0.3s ease;
    position: relative;
    /* For absolute positioning of ::after */
}

#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-secondary:hover,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_two:hover,
#page-container .et_pb_button.fsm-btn-inverse-secondary:hover {
    border: 2px solid var(--color-action-secondary-hover);
    color: var(--color-action-secondary-hover);
    background: transparent;
    padding-right: 32px;
    /* Accommodate icon + 12px padding */
}

#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-secondary:focus,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_two:focus,
#page-container .et_pb_button.fsm-btn-inverse-secondary:focus {
    outline: 2px solid var(--color-action-secondary-hover);
    outline-offset: 2px;
}

/* WHITE BUTTON - White bg, blue text, light blue hover (e.g. EXPLORE PROGRAMS) */
#page-container #main-content .et_pb_button.fsm-btn-white {
    border-radius: 0.375rem;
    background: var(--background-elevated);
    color: var(--action-secondary-text);
    font-family: var(--font-family-body, Outfit, sans-serif);
    font-size: 1rem;
    font-style: normal;
    font-weight: 600;
    line-height: 125%;
    letter-spacing: 0.02rem;
    text-transform: uppercase;
    border: none;
    padding: 12px 20px;
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease, padding 0.3s ease;
    position: relative;
}

#page-container #main-content .et_pb_button.fsm-btn-white:hover {
    background: var(--action-secondary-bg-hover);
    color: var(--action-secondary-text);
    padding-right: 32px;
    /* Accommodate icon + 12px padding (same as other buttons) */
}

#page-container #main-content .et_pb_button.fsm-btn-white:focus {
    outline: 2px solid var(--border-focus, #145C95);
    outline-offset: 2px;
}

/* Icon/arrow in ::after (Divi data-icon) inherits button color via currentColor */
#page-container #main-content .et_pb_button.fsm-btn-white::after {
    color: inherit;
}

/* LARGE BUTTON SIZING */
#page-container .et_pb_button.large {
    padding: 1rem 2rem;
    font-size: clamp(1rem, 0.875rem + 0.5vw, 1.125rem);
}

/* SMALL BUTTON SIZING */
#page-container .et_pb_button.small {
    padding: 0.5rem 1rem;
    font-size: clamp(0.875rem, 0.75rem + 0.5vw, 0.9375rem);
}

/* ACCESSIBILITY UNIVERSAL TEXT LINKS */
#main-content a:not(.et_pb_button, .icon, img, .fsm-post-list a, .card, .exclude-style) {
    border-radius: 4px;
    padding: 2px;
    transition: ease all .2s;
    display: inline;
    overflow: hidden;
    text-decoration: underline;
}

#main-content a:not(.et_pb_button, .icon, img, .fsm-post-list a, .card):hover {
    border-radius: 3px;
    background-color: var(--background-link-hover);
    transition: ease all .2s;
}

/* ---------------------------------------------------------------------------
   FSM Post List – FacetWP blog cards (template blog_posts)
   Card layout: image, title, excerpt, READ MORE link. Rounded corners, shadow.
---------------------------------------------------------------------------- */
#page-container .fsm-post-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 1.5rem;
}

@media (min-width: 981px) {
    #page-container .fsm-post-list {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Related posts: max 3 per row */
/* #page-container .fsm-related-posts .fsm-post-list {
    grid-template-columns: 1fr;
} */
@media (min-width: 600px) and (max-width: 980px) {

    #page-container .fsm-related-posts .fsm-post-list,
    #page-container .fsm-post-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

#page-container .fsm-post-list .fsm-post-item {
    margin: 0;
    padding: 0;
}

#page-container .fsm-post-list .fsm-post-card {
    display: flex;
    flex-direction: column;
    background-color: var(--background-elevated);
    border-radius: 8px;
    box-shadow: var(--shadow-card);
    padding: 1.5rem;
    height: 100%;
    transition: box-shadow 0.2s ease;
    border: 1px solid var(--border-default);
}

#page-container .fsm-post-list .fsm-post-card:hover {
    box-shadow: var(--shadow-card-hover);
}

#page-container .fsm-post-list .fsm-post-card__image-link {
    display: block;
    text-decoration: none;
    line-height: 0;
}

#page-container .fsm-post-list .fsm-post-card__image {
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: 4px;
}

#page-container .fsm-post-list .fsm-post-card__image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: 4px;
}

/* Placeholder (logo) when no featured image: center logo, keep SVG sharp */
#page-container .fsm-post-list .fsm-post-card__image--placeholder {
    background-color: var(--background-subtle, #F7F7F7);
    display: flex;
    align-items: center;
    justify-content: center;
}

#page-container .fsm-post-list .fsm-post-card__image--placeholder img {
    width: auto;
    height: auto;
    max-width: 50%;
    max-height: 70%;
    object-fit: contain;
}

#page-container .fsm-post-list .fsm-post-card__content {
    padding: 1.25rem 0 0;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

#page-container .fsm-post-list .fsm-post-card__title {
    font-size: clamp(1.25rem, 1.125rem + 0.35vw, 1.5rem);
    font-weight: var(--font-weight-bold);
    line-height: 1.35;
    font-family: var(--font-family-sans);
    color: var(--text-heading-primary, #145C95);
}

#page-container .fsm-post-list .fsm-post-card__title a {
    color: inherit;
    text-decoration: none;
}

#page-container .fsm-post-list .fsm-post-card__title a:hover {
    color: var(--text-link-hover, #145C95);
    text-decoration: underline;
}

/* When hovering the card image link, underline the title too */
#page-container .fsm-post-list .fsm-post-card:has(.fsm-post-card__image-link:hover) .fsm-post-card__title a {
    color: var(--text-link-hover, #145C95);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

#page-container .fsm-post-list .fsm-post-card__excerpt {
    font-size: var(--font-size-200, 1rem);
    line-height: 1.5;
    color: #333;
    margin: 0 0 1rem;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

#page-container .fsm-post-list .fsm-post-card__excerpt p {
    margin: 0 0 0.5em;
}

#page-container .fsm-post-list .fsm-post-card__excerpt p:last-child {
    margin-bottom: 0;
}

#page-container .fsm-post-list .fsm-post-card__read-more {
    margin-top: auto;
    font-size: var(--font-size-200, 1rem);
    font-weight: 600;
    color: var(--text-heading-secondary);
    text-decoration: underline;
    gap: 0.35em;
    text-underline-offset: 0.2rem;
    width: fit-content;
    padding: 0.2em 0.4em;
    margin-left: -0.4em;
    margin-bottom: -0.2em;
    border-radius: 3px;
    transition: color 0.2s ease, background-color 0.2s ease;

}


#page-container .fsm-post-list .fsm-post-card__read-more:hover {
    color: var(--text-link-hover, #145C95);
    background-color: var(--background-link-hover);
}

#page-container .fsm-post-list .fsm-post-card__read-more .fa-arrow-up-right {
    font-size: 0.85em;
    display: inline;
    text-decoration: inherit;
}

/* ---------------------------------------------------------------------------
   FacetWP pager – Older Posts / Newer Posts (prev/next only, line below)
---------------------------------------------------------------------------- */
#page-container .facetwp-pager {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.75rem;
    padding: 1.25rem 0 10px;
    margin-top: 1.5rem;
    border-bottom: 1px solid var(--border-inverse);
    font-size: var(--font-size-200, 1rem);
    font-family: var(--font-family-sans);
}

#page-container .facetwp-pager .facetwp-page {
    color: var(--text-secondary, #333);
    text-decoration: none;
}

#page-container .facetwp-pager .facetwp-page:hover {
    color: var(--text-link-hover, #145C95);
}

/* Show only Prev and Next; hide page numbers, first, last, dots */
#page-container .facetwp-pager .facetwp-page:not(.prev):not(.next) {
    display: none !important;
}

/* Post meta shortcode [fsm_post_meta]: title, date, author, category */
#page-container .fsm-post-meta__title {
    margin: 0 0 0.5rem;
}

#page-container .fsm-post-meta__details {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    font-size: var(--font-size-200, 1rem);
    color: var(--text-tertiary, #4A4A4A);
}


/* Author details shortcode [fsm_author_details] */

#page-container .fsm-author-details__heading {
    color: var(--text-secondary, #666);
    font-family: var(--font-family-heading, Outfit);
    font-size: 1.5rem !important;
    font-style: normal;
    font-weight: var(--font-weight-bold);
    line-height: 115%;
}

#page-container .fsm-author-details__card {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    padding-top: 1.5rem;
    border-radius: 8px;
}

#page-container .fsm-author-details__image-wrap {
    flex-shrink: 0;
}

#page-container .fsm-author-details__image {
    width: 10rem;
    height: 10rem;
    object-fit: cover;
    border-radius: 8px;
    display: block;
    border-radius: 1rem;
}

@media (min-width: 981px) {
    #page-container .fsm-author-details__content {
        max-width: 57ch;
    }
}

#page-container .fsm-author-details__name {
    padding-bottom: 0;
    color: var(--text-primary, #333);
    font-family: var(--font-family-heading, Outfit);
    font-size: 1.25rem;
    font-style: normal;
    font-weight: var(--font-weight-bold);
    line-height: 115%;
}

#page-container .fsm-author-details__job {
    margin: 0 0 0.75rem;
    font-size: var(--font-size-200, 1rem);
    color: var(--text-secondary, #333);
}

#page-container .fsm-author-details__bio {
    font-size: var(--font-size-200, 1rem);
    line-height: 1.5;
    color: var(--text-secondary, #333);
}

#page-container .fsm-author-details__bio p:last-child {
    margin-bottom: 0;
}

/* Related posts shortcode [fsm_related_posts] */
#page-container .fsm-related-posts {
    margin: 2rem 0;
}

#page-container .fsm-related-posts__heading {
    margin: 0 0 0.75rem;
    font-size: clamp(1.25rem, 1.125rem + 0.35vw, 1.5rem);
    font-weight: 600;
    font-family: var(--font-family-sans);
    color: var(--text-primary, #333);
}

#page-container .fsm-related-posts__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

#page-container .fsm-related-posts__item {
    margin-bottom: 0.5rem;
}

#page-container .fsm-related-posts__item:last-child {
    margin-bottom: 0;
}

#page-container .fsm-related-posts__link {
    color: var(--text-heading-primary, #145C95);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

#page-container .fsm-related-posts__link:hover {
    color: var(--text-link-hover, #145C95);
}

p {
    line-height: 1.6rem;
}

/* 
    Font Sizing
*/

body:not(.et-vb-root-ancestor) #page-container {
    h1 {
        /* H1: Mobile=44px (2.75rem), Desktop=64px (4rem) - from Figma */
        font-size: clamp(2.75rem, 2.5rem + 1vw, 4rem);
        font-weight: var(--font-weight-bold, 600);
        font-family: var(--font-family-heading, Outfit, sans-serif);
    }

    #page-container h2 {
        /* H2: Mobile=32px (2rem), Desktop=40px (2.5rem) - from Figma */
        font-size: clamp(2rem, 1.875rem + 0.5vw, 2.5rem);
        font-weight: var(--font-weight-semibold, 600);
        font-family: var(--font-family-heading, Outfit, sans-serif);
        color: var(--text-heading-primary);
    }

    #page-container h3 {
        /* H3: Mobile=28px (1.75rem), Desktop=32px (2rem) - from Figma */
        font-size: clamp(1.75rem, 1.625rem + 0.5vw, 2rem);
        font-weight: var(--font-weight-semibold, 600);
        font-family: var(--font-family-heading, Outfit, sans-serif);
    }

    #page-container h4 {
        /* H4: Mobile=24px (1.5rem), Desktop=24px (1.5rem) - from Figma */
        font-size: clamp(1.5rem, 1.375rem + 0.5vw, 1.5rem);
        font-weight: var(--font-weight-semibold, 600);
        font-family: var(--font-family-heading, Outfit, sans-serif);
    }

    #page-container h5 {
        /* H5: Mobile=20px (1.25rem), Desktop=20px (1.25rem) - from Figma */
        font-size: clamp(1.25rem, 1.125rem + 0.5vw, 1.25rem);
        font-weight: var(--font-weight-semibold, 600);
        font-family: var(--font-family-heading, Outfit, sans-serif);
    }

    #page-container h6 {
        /* H6: Using paragraph size - Mobile=16px (1rem), Desktop=16px (1rem) - from Figma */
        font-size: clamp(1rem, 0.875rem + 0.5vw, 1rem);
        font-weight: var(--font-weight-semibold, 600);
        font-family: var(--font-family-heading, Outfit, sans-serif);
    }
}

body:not(.et-vb-root-ancestor) {

    p,
    li {
        /* Paragraph: Mobile=16px (1rem), Desktop=16px (1rem) - from Figma */
        font-size: clamp(1rem, 0.875rem + 0.5vw, 1rem);
        font-family: var(--font-family-body, Outfit, sans-serif);
        font-weight: var(--font-weight-regular, 400);
    }
}

body .small {
    font-size: .75rem;
}

/*Blog Font Sizes - Using Figma typography values*/
body:not(.et-vb-root-ancestor).post-template-default {
    h1 {
        &.entry-title {
            /* H1: Mobile=44px (2.75rem), Desktop=64px (4rem) - from Figma */
            font-size: clamp(2.75rem, 2.5rem + 1vw, 4rem) !important;
        }
    }

    h2 {
        /* H2: Mobile=32px (2rem), Desktop=40px (2.5rem) - from Figma */
        font-size: clamp(2rem, 1.875rem + 0.5vw, 2.5rem) !important;
        font-weight: var(--font-weight-bold, 700);
        font-family: var(--font-family-heading, Outfit, sans-serif);
        color: var(--text-heading-primary);

    }

    h3 {
        /* H3: Mobile=28px (1.75rem), Desktop=32px (2rem) - from Figma */
        font-size: clamp(1.75rem, 1.625rem + 0.5vw, 2rem) !important;
    }

    h4 {
        /* H4: Mobile=24px (1.5rem), Desktop=24px (1.5rem) - from Figma */
        font-size: clamp(1.5rem, 1.375rem + 0.5vw, 1.5rem) !important;
    }

    h5 {
        /* H5: Mobile=20px (1.25rem), Desktop=20px (1.25rem) - from Figma */
        font-size: clamp(1.25rem, 1.125rem + 0.5vw, 1.25rem) !important;
    }

    h6 {
        /* H6: Using paragraph size - Mobile=16px (1rem), Desktop=16px (1rem) - from Figma */
        font-size: clamp(1rem, 0.875rem + 0.5vw, 1rem) !important;
    }
}


#page-container h2 {
    /* H2: Mobile=32px (2rem), Desktop=40px (2.5rem) - from Figma */
    font-size: clamp(2rem, 1.875rem + 0.5vw, 2.5rem) !important;
    font-weight: var(--font-weight-bold, 700);
    font-family: var(--font-family-heading, Outfit, sans-serif);
    color: var(--text-heading-primary);

}

/* END FONT STYLE */


/* START HEADER STYLES */
.et-l--header #main-header,
#main-header {
    padding: 20px 0;
}


@media (max-width: 980px) {

    #mega-menu-wrap-primary-menu .mega-menu-toggle.mega-menu-open~button.mega-close {
        right: 10px;
    }

    #page-container #mega-menu-wrap-primary-menu .mega-menu-toggle~button.mega-close:before {
        font-size: 26px;
    }

    #mega-menu-wrap-primary-menu .mega-menu-toggle+#mega-menu-primary-menu {
        background-color: var(--background-page);
    }

    #mega-menu-primary-menu ul.mega-sub-menu {
        border: unset ! IMPORTANT;
        box-shadow: unset ! IMPORTANT;
    }

    a.mega-menu-link {
        background-color: var(--background-page) ! IMPORTANT;
    }

    #mega-menu-wrap-primary-menu #mega-menu-primary-menu>li.mega-menu-item:not(.mega-menu-button)>a.mega-menu-link {
        height: 2em;
        padding-left: 0 !important;
    }

    ul.mega-sub-menu {
        background-color: var(--background-page) ! IMPORTANT;
    }

    ul#mega-menu-primary-menu {
        gap: 1rem;
    }

    .mega-sub-menu .mega-menu-item a {
        text-decoration: underline 2px var(--text-heading-primary) ! IMPORTANT;
    }

    #mega-menu-wrap-primary-menu .mega-menu-toggle~button.mega-close:before {
        display: flex;
        content: "";
        font-family: dashicons;
        font-weight: normal;
        color: var(--text-heading-primary);
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        font-size: 16px;
    }

    nav#mega-menu-wrap-primary-menu {
        border: 2px solid var(--blue-600);
        border-radius: 4px;
    }

    #mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-1 .mega-toggle-animated-inner,
    #mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-1 .mega-toggle-animated-inner::before,
    #mega-menu-wrap-primary-menu .mega-menu-toggle .mega-toggle-block-1 .mega-toggle-animated-inner::after {
        background-color: var(--background-blue);
    }

    #mega-menu-wrap-primary-menu .mega-menu-toggle {
        background: var(--background-page);
    }

    ul.mega-sub-menu {
        margin: 10px 0px !important;
    }

}

/* Align all menu items vertically */
@media (min-width: 981px) {

    ul.mega-sub-menu {
        padding: 20px 0 !important;
        border-top: 3px solid var(--text-heading-primary) ! IMPORTANT;
    }

    #mega-menu-wrap-primary-menu #mega-menu-primary-menu {
        display: flex !important;
        align-items: center !important;
    }

    #mega-menu-wrap-primary-menu #mega-menu-primary-menu>li {
        display: flex !important;
        align-items: center !important;
        vertical-align: middle !important;
        position: relative !important;
    }

    /* Fix submenu positioning */
    #mega-menu-wrap-primary-menu #mega-menu-primary-menu>li.mega-menu-flyout ul.mega-sub-menu {
        top: 100% !important;
        margin-top: 0 !important;
    }

    .mega-menu li {
        display: flex;
        align-items: center;
        height: auto;
    }
}

.mega-menu li a {
    color: var(--nav-text, #333) !important;
    font-family: var(--font-family-heading, Outfit) !important;
    font-size: var(--font-size-md, 1.25rem) !important;
    font-style: normal !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    letter-spacing: 0.025rem !important;
    transition: ease all 0.3s !important;
    display: flex;
    align-items: center;
    padding: 0.5rem 1rem !important;
    vertical-align: baseline !important;
}

.mega-menu li a:hover {
    opacity: .8 !important;
}

/* ACTIVE LINK STYLES */

.mega-current-menu-item a.mega-menu-link {
    text-decoration: underline 2px inherit !important;
    text-underline-offset: 8px !important;
}

/* Plain links in main content only (excludes header nav, footer, arrow CTAs, and buttons) */
#page-container #main-content a:not(.arrow):not(.et_pb_button) {
    color: var(--text-heading-primary, #145C95);
}


/*mobile menu*/
#page-container #et-boc #mega-menu-wrap-primary-menu li#mobile-menu-item {
    text-align: left !important;

}

#page-container #et-boc #mega-menu-wrap-primary-menu li#mobile-menu-item a {
    color: var(--nav-text, #333) !important;
    text-decoration-color: var(--red-400) !important;
    font-family: var(--font-family-heading, Outfit) !important;
    font-size: var(--font-size-md, 1.25rem) !important;
    font-style: normal !important;
    font-weight: 600 !important;
    line-height: normal !important;
    letter-spacing: 0.025rem !important;
    padding: 0 10px;
}

li.mobile-menu-item a:hover {
    color: var(--Primary-Color) !important;
    text-decoration: underline !important;
}

#page-container #et-boc .mega-mobile-hide {
    display: none !important;
}

#page-container #et-boc li.mobile-menu-item {

    line-height: 3em;
    padding-top: 0;
    padding-bottom: 0;
}


#mega-menu-wrap-primary-menu #mega-menu-primary-menu>li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link,
li.mobile-menu-item {
    color: var(--nav-text, #333) !important;
    font-family: var(--font-family-heading, Outfit) !important;
    font-size: var(--font-size-md, 1.25rem) !important;
    font-style: normal !important;
    font-weight: 600 !important;
    line-height: normal !important;
    letter-spacing: 0.025rem !important;
}

@media screen and (min-width: 980px) {
    li.mobile-menu-item {
        display: none;
    }
}

/*END HEADER*/

/* START FOOTER STYLES */
/* Footer buttons - white default, light blue hover */
#page-container #footer .et_pb_button,
#page-container footer .et_pb_button {
    border-radius: 0.375rem;
    border: 2px solid var(--nav-dropdown-bg);
    background: transparent;
    color: var(--text-inverse);
    font-family: var(--font-family-body, Outfit, sans-serif);
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 600;
    line-height: 125%;
    /* 1.25rem */
    letter-spacing: 0.02rem;
    /* text-transform: uppercase; */
    padding: 5px 10px;
    /* From Figma design */
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease, padding 0.3s ease;
    position: relative;
    /* For absolute positioning of ::after */
}

#page-container #footer .et_pb_button:hover,
#page-container footer .et_pb_button:hover {
    border-radius: 0.375rem;
    border: 2px solid var(--action-secondary-bg-hover);
    background: transparent;
    color: var(--action-secondary-bg-hover);
    font-family: var(--font-family-body, Outfit, sans-serif);
    font-size: 1.25rem;
    font-style: normal;
    font-weight: 600;
    line-height: 125%;
    /* 1.25rem */
    letter-spacing: 0.02rem;
    /* text-transform: uppercase; */
    padding-right: 32px;
    /* Accommodate icon + 12px padding */
}


#main-footer p.footer-nav {
    color: var(--text-inverse, #FFF);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-normal);
    opacity: 0.8;
    text-decoration: underline 2px var(--text-link);
    text-underline-offset: .5rem;
    font-size: var(--font-size-300);
    padding-bottom: 1rem;
}

#main-footer {
    padding-top: 3rem;
    padding-bottom: 3rem;
}

.bottom-footer {
    padding-top: 0;
}


.footer-navigation-group a {
    color: var(--text-inverse);
    font-size: var(--font-size-300);
}

.footer-navigation-group a:hover,
.contact-group a:hover {
    text-decoration: underline;
}

.contact-group .et_pb_blurb_container {
    padding-left: .5rem;
}

.contact-group span.et_pb_image_wrap {
    width: 24px;
    text-align: center;
}

.contact-group a {
    color: var(--text-inverse, #FFF);
    font-family: var(--font-family-body, Inter);
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
}

.bottom-footer p,
.bottom-footer a {
    color: var(--text-inverse-muted);
}

.bottom-footer a {
    text-decoration: underline;
}

.bottom-footer a:hover {
    text-decoration: none;
}

a.icon {
    text-decoration: none;
}

a.icon:hover {
    opacity: .8;
}

@media (max-width: 980px) {
    .contact-group {
        padding-bottom: 2.5rem;
        padding-top: 2.5rem;
    }

    .top-footer-group.mobile .et_pb_column {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
        column-gap: 2.5rem;
        row-gap: 2.5rem;
    }

    #main-footer .top-footer-group {
        display: flex;
        flex-direction: row;
        flex-wrap: nowrap;
    }

}

@media (min-width: 981px) {
    .top-footer-group .et_pb_column {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 0;
        flex-direction: row;
    }

    .top-footer-group .et_pb_column>* {
        flex: 0 1 auto;
        max-width: 20%;
    }



    .contact-group .et_pb_column {
        display: flex;
        align-items: flex-start;
        flex-direction: row;
    }

    .top-footer-group .et_pb_button {
        min-width: 160px !important;
        text-align: center;
    }

}

.top-footer-group .et_pb_column img {
    max-width: 50%;
    height: auto;
    object-fit: contain;
}

#main-header img {
    max-width: 50%;
    height: auto;
}

/*END FOOTER*/

/* START PAGE ORGANIZATION */

/* Default section background when not set */
#page-container .et_pb_section:not([style*="background"]):not(.et_pb_section_has_background) {
    background-color: var(--background-page);
}

.green-text {
    color: var(--green-600);
}

#main-content p.large {
    color: var(--text-heading-secondary);
    font-size: 24px;
    font-weight: 700;
    line-height: 125%;
}

#page-container .orange-underline,
#page-container .green-underline {
    padding-bottom: 2rem;
    position: relative;
    margin-bottom: 1.5rem;
}

#page-container h1.green-underline {
    padding-bottom: 2.5rem;
    position: relative;
    margin-bottom: 1.5rem;
}

#main-content h1 {
    color: var(--text-heading-hero);
}

#main-content h2.hero-h2 {
    color: var(--text-heading-hero);
}

.rotating-hero h3 {
    color: var(--text-heading-primary);
    font-family: var(--font-family-heading, Outfit);
    font-size: 2rem;
    font-weight: var(--font-weight-bold);
}

.orange-text h4,
.green-text h4,
.blue-text h4 {
    font-family: var(--font-family-heading, Outfit);
    font-weight: var(--font-weight-bold);
    line-height: 115%;
}

.orange-text h4 {
    color: var(--text-on-peach, #913D14);
}

.green-text h4 {
    color: var(--text-on-mint);
}

.blue-text h4 {
    color: var(--text-heading-primary);
}

#page-container .orange-underline:after,
#page-container .green-underline:after {
    border-radius: 4px;
    position: absolute;
    left: 0;
    bottom: 0;
    height: 0.625rem;
    width: 100%;
    max-width: 6.25rem;
    content: "";
}

#page-container h1.green-underline:after {
    border-radius: 4px;
    position: absolute;
    left: 0;
    bottom: 0;
    height: 0.625rem;
    width: 100%;
    max-width: 30%;
    content: "";
}

#page-container .orange-underline:after {
    background: var(--action-primary-bg-hover);
}

#page-container .green-underline:after {
    background: var(--color-action-secondary-default);
}

/*
HOMEPAGE
*/

/* Scoped to .rotating-group (Divi section) – animated rotating CTA word */
.rotating-group .rotating-word {
    display: inline-block;
    transition: opacity 0.35s ease, transform 0.35s ease;
}

.rotating-group .rotating-word.rotating-word--changing {
    opacity: 0;
    transform: translateY(-0.35em);
}

@media (prefers-reduced-motion: reduce) {
    .rotating-group .rotating-word {
        transition-duration: 0.01s;
    }
}

.program-item h3 {
    font-family: var(--font-family-heading, Outfit);
    font-size: 1.75rem;
    font-weight: var(--font-weight-bold);
}

.program-item.land h3,
.program-item.land a {
    color: var(--text-heading-primary, #145C95);
}

.program-item.opportunities h3 {
    color: var(--text-on-mint);
}

.program-item.opportunities a {
    color: var(--text-on-mint);
}

.program-item.community h3 {
    color: var(--text-on-peach);
}

.program-item.community a {
    color: var(--orange-600);
}

a.arrow {
    letter-spacing: 0.02rem;
    text-transform: uppercase;
    color: var(--text-heading-primary);
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 0.2rem;
}

a.arrow i {
    display: inline;
    text-decoration: inherit;
}

/* Program cards: equal-height row and push link to bottom of card */
.program-cards.et_pb_row,
.et_pb_row:has(.program-item),
.quick-links-container {
    align-items: stretch;
}

.program-cards .et_pb_column,
.et_pb_row:has(.program-item) .et_pb_column,
.quick-links-container .et_pb_column {
    display: flex !important;
    flex-direction: column;
}

.program-cards .program-item.et_pb_blurb,
.et_pb_row:has(.program-item) .program-item.et_pb_blurb,
.quick-link-item.et_pb_blurb {
    display: flex !important;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.program-cards .program-item .et_pb_blurb_content,
.et_pb_row:has(.program-item) .program-item .et_pb_blurb_content,
.quick-link-item .et_pb_blurb_content {
    display: flex !important;
    flex-direction: column;
    flex: 1;
    min-height: 0;
    row-gap: 0.5rem;
}

.program-cards .program-item .et_pb_blurb_container,
.et_pb_row:has(.program-item) .program-item .et_pb_blurb_container,
.quick-link-item .et_pb_blurb_container {
    display: flex !important;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.program-cards .program-item .et_pb_blurb_description,
.et_pb_row:has(.program-item) .program-item .et_pb_blurb_description,
.quick-link-item .et_pb_blurb_description {
    display: flex !important;
    flex-direction: column;
    flex: 1;
    min-height: 0;
}

.program-cards .program-item .et_pb_blurb_description p:last-of-type,
.et_pb_row:has(.program-item) .program-item .et_pb_blurb_description p:last-of-type,
.quick-link-item .et_pb_blurb_description p:last-of-type {
    margin-top: auto;
}

.program-cards .column-1:hover {
    background-color: #D4EFFC;
    border-color: #145C95;
}

.program-cards .column-2:hover {
    background-color: #F0F9F2;
    border-color: #226D2C;
}

.program-cards .column-3:hover {
    background-color: #FEF3EE;
    border-color: #C2511B;
}

#page-container #et-boc #et-main-area #main-content .counter-item h2 {
    font-size: 3.5rem ! IMPORTANT;
}

@media screen and (min-width: 981px) {

    h1 {
        max-width: 15ch;
    }

    .rotating-hero .et_pb_text_inner {
        row-gap: 1.8rem;
        display: flex;
        flex-direction: column;
    }

    .rotating-hero.small-gap .et_pb_text_inner {
        row-gap: 0rem;
        max-width: 73ch;
    }

    .max-width-half-p p {
        max-width: 44ch;
    }

    #main-content .rotating-hero {
        padding-bottom: 7rem;
    }

    .program-item .et_pb_blurb_description {
        max-width: 40ch;
    }

    .global-counter-container .et_pb_blurb_position_left .et_pb_main_blurb_image,
    .global-counter-container .et_pb_blurb_position_right .et_pb_main_blurb_image {
        width: 5.5rem;
        display: table-cell;
        line-height: 0;
    }

    .global-counter-container .et_pb_blurb_5.counter-item .et_pb_blurb_container {
        padding-left: 0 !important;
    }

    .global-counter-container {
        row-gap: 3.5rem;
    }

    .programs-container h2 {
        padding-bottom: 1rem;
    }

    #page-container .global-counter-container h2 {
        font-size: 3rem !important;
    }

    .mailing-list {
        align-items: baseline;
    }

    .mailing-list p {
        max-width: 46ch;
    }

}


@media screen and (max-width: 980px) {
    .rotating-hero .et_pb_text_inner {
        row-gap: 1rem;
        display: flex;
        flex-direction: column;
    }

    .rotating-hero.small-gap {
        gap: 1.5rem;
    }

    #page-container h1.green-underline {
        padding-bottom: 1rem;
        position: relative;
        margin-bottom: 1rem;
    }


    .rotating-hero.small-gap .et_pb_text_inner {
        row-gap: 0rem;
    }

    .rotating-hero.small-gap .et_pb_column_2,
    .improving-cards {
        gap: 1rem;
    }

    #main-content .board-item .et_pb_blurb_content.et_flex_module {
        align-items: flex-start;
    }

    #main-content .board-item h3,
    #main-content .board-item p {
        text-align: left !important;
    }

    #main-content .board-grid-three .et_pb_row {
        padding-bottom: 1rem;
    }

    #main-content .board-grid-three {
        padding-top: 2rem;
        padding-bottom: 1.5rem;
    }

    .board-grid-three .et_pb_text {
        width: 100%;
    }

    .rotating-hero .et_pb_row_0.et_pb_row.et_flex_row {
        flex-direction: column-reverse;
    }

    .programs-container .et_pb_row,
    .programs-container {
        gap: 1rem;
    }

    #page-container #et-main-area .programs-container h2 {
        padding-bottom: 1rem;
    }


    .global-counter-container .counter-item .et_pb_main_blurb_image {
        min-height: 5rem;
        min-width: 6rem;
    }

    .counter-item p {
        padding-top: .2rem;
    }

    .global-counter-container {
        gap: 2rem;
    }

    #page-container .global-counter-container h2 {
        font-size: 2.5rem !important;
        margin-bottom: 0;
    }

    .faq-row {
        gap: 0rem;
    }

    #page-container .faq-section .et_pb_toggle,
    #page-container .meeting-minutes-section .et_pb_toggle,
    #page-container .reports-section .et_pb_toggle,
    #page-container .policies-section .et_pb_toggle {
        margin-bottom: 0;
    }

    #page-container .faq-section .et_pb_accordion,
    #page-container .meeting-minutes-section .et_pb_accordion,
    #page-container .reports-section .et_pb_accordion,
    #page-container .policies-section .et_pb_accordion {
        gap: 1rem;
    }

    .faq-section,
    .meeting-minutes-section,
    .reports-section,
    .policies-section {
        gap: 2rem;
    }

}



#page-container .counter-item p {
    opacity: 0.8;
}

.et-pb-parallax-background {
    opacity: 0.12;
}

/* Background image at 0.7 opacity: image must live on ::before (CSS cannot opacity only the element’s background) */
.background-opacity {
    position: relative;
    background-image: none !important;
}

.background-opacity::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: url(https://pclbdevenvironment.kinsta.cloud/wp-content/uploads/map-grid.svg) !important;
    background-repeat: no-repeat !important;
    background-size: cover;
    background-position: center;
    opacity: 0.7;
    z-index: 0;
}

.background-opacity>* {
    position: relative;
    z-index: 1;
}

.counter-item h2 {
    margin-bottom: 0;
}

/* Global counter section: icon size, dotted line, and button styling */
.global-counter-container .counter-item .et_pb_main_blurb_image img {
    object-fit: cover;
    width: 5.5rem !important;
    height: 5.5rem !important;
}

.global-counter-container .counter-item .et_pb_image_wrap {
    display: block;
}

.global-counter-container .counter-item .et_pb_main_blurb_image {
    min-height: 5rem;
}

.global-counter-container .et_pb_row:not(.counter-group) {
    position: relative;
    padding-top: 1.5rem;
}

.global-counter-container .et_pb_row:not(.counter-group)::after {
    right: 0;
    width: 50%;
    border-color: var(--border-focus, #145C95);
}

#page-container #et-main-area .et_pb_button.primary-inverse {
    border: 2px solid var(--text-inverse);
    background: transparent;
    color: var(--text-inverse);
    font-size: 1.13rem;
    
}

#page-container #et-main-area .et_pb_button.primary-inverse:hover {
    border-color: var(--action-secondary-bg-hover);
    background: var(--background-overlay-light);
    color: var(--text-inverse);
    font-size: 1.13rem;
}

#page-container .mailing-list h2 {
    color: var(--text-heading-hero);
    padding-bottom: 1rem;
}

legend.gfield_label.gform-field-label.gfield_label_before_complex,
label.gfield_label.gform-field-label {
    gap: 0;
}

#page-container .gform_fields {
    row-gap: 1rem;
}


/* About us section */

@media screen and (min-width: 981px) {
    .board-grid-three .et_pb_text_inner {
        display: flex;
        flex-direction: column;
        gap: .5rem;
    }

    .blurb-images-container .et_pb_column {
        max-width: 255px;
    }

    .blurb-images-container {
        gap: 7rem;
    }

    .partner-logo-row.grid-four .et_pb_column {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        align-items: center;
        row-gap: 0;
    }

    .partner-grid-nine {
        display: grid;
        grid-template-columns: repeat(9, 1fr);
        align-items: baseline;
        justify-content: space-evenly;
        column-gap: 1rem;
    }

    .partner-grid-four {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        align-items: baseline;
        justify-content: space-evenly;
        column-gap: 2rem;
    }

    .community-partners {
        gap: 0;
    }

    .text-partners {
        padding-top: 4rem;
    }


}

.community-partners h3 {
    color: var(--text-heading-hero);
    font-family: var(--font-family-heading, Outfit);
    font-size: 2rem;
    font-weight: var(--font-weight-bold);
}

.text-partners h3 {
    padding-bottom: 1rem;
}

.cta-contact-container .et_pb_social_media_follow_network a.icon,
.blog-post .et_pb_social_media_follow_network a.icon {
    background-color: var(--action-primary-bg) !important;
}

.cta-contact-container a {
    text-decoration: none !important;
    font-weight: 600;
}

.cta-contact-container a:hover {
    text-decoration: underline !important;
}

/* Partner logo row: Swiper only at ≤980px (script runs on /partners/ only) */
@media screen and (max-width: 980px) {


    .partner-grid-nine {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: 5rem;
    }

    .text-partners {
        padding-top: 2rem;
    }

    .partner-logo-row.grid-four .fsm-partner-logo-swiper {
        width: 100%;
        padding-bottom: 2.5rem;
        /* padding-top: 3rem; */
        position: relative;
    }

    .partner-logo-row.grid-four .fsm-partner-logo-swiper .swiper-button-prev,
    .partner-logo-row.grid-four .fsm-partner-logo-swiper .swiper-button-next {
        top: 0;
        bottom: auto;
        left: 0;
        right: auto;
        margin-top: 0;
        transform: none;
        width: 2.5rem;
        height: 2.5rem;
    }

    .partner-logo-row.grid-four .fsm-partner-logo-swiper .swiper-button-next {
        left: 2.75rem;
    }

    .partner-logo-row.grid-four .fsm-partner-logo-swiper .swiper-slide {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .partner-logo-row.grid-four .fsm-partner-logo-swiper .swiper-slide .et_pb_image_wrap img {
        max-width: 100%;
        height: auto;
    }

    .community-partners {
        row-gap: 1rem;
    }

    .swiper-button-next,
    .swiper-button-prev {
        color: var(--color-action-secondary-default);
    }
}

.board-item h3 {
    color: var(--text-primary, #333);
    font-family: var(--font-family-heading, Outfit);
    font-size: 1.25rem;
    font-weight: var(--font-weight-bold);
    margin-bottom: .25rem;
}

.board-item .et_pb_blurb_content.et_flex_module {
    gap: 0.8rem;
}


.board-grid-three {
    gap: 0rem;

}

.board-grid-three .et_pb_row {
    padding-bottom: 4rem;
}

.board-grid-three .et_pb_row_9.et_pb_row.et_flex_row {
    padding-bottom: 1.5rem;
}

#page-container #et-boc #main-content .quick-link-item.blue-text .et_pb_blurb_container h2 {
    color: var(--text-heading-primary);
    font-size: 1.125rem !important;
    line-height: 115% !important;
}

#page-container #et-boc #main-content .quick-link-item.orange-text .et_pb_blurb_container h2 {
    color: var(--text-on-peach);
    font-size: 1.125rem !important;
    line-height: 115% !important;
    margin-bottom: 1rem;
}

#page-container #et-boc #main-content .quick-link-item.green-text .et_pb_blurb_container h2 {
    color: var(--text-on-mint);
    font-size: 1.125rem !important;
    line-height: 115% !important;
}

#page-container .green-text a.arrow {
    color: var(--text-on-mint);
    text-decoration-color: var(--color-action-secondary-default);
}

#page-container .orange-text a.arrow {
    color: var(--text-on-peach);
    text-decoration-color: var(--warning-500);
}

.blue-text a.arrow {
    color: var(--text-heading-primary);
    text-decoration-color: var(--blue-400);
}


#page-container .get-involved-cta h2 {
    color: var(--text-inverse);
    line-height: 120%;
}

#main-content .get-involved-cta p.large {
    color: var(--text-inverse);
    font-weight: 400;
}

/*END*/

/*
 * Get Involved CTA – convo icon emerging from button (scoped to .get-involved-cta)
 * @since 1.0.0
 */
#page-container .get-involved-cta {
    position: relative;
    overflow: visible;
}

#page-container .get-involved-cta .et_pb_row {
    position: relative;
    z-index: 1;
}

#page-container .get-involved-cta::after {
    content: "";
    position: absolute;
    left: 53%;
    bottom: 3.5rem;
    width: 140px;
    height: 100px;
    transform: translateX(35%);
    background-image: url("https://pclbdevenvironment.kinsta.cloud/wp-content/uploads/convo-icon.png");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center bottom;
    pointer-events: none;
    opacity: 0.85;
    z-index: 0;
}

@media (min-width: 768px) {
    #page-container .get-involved-cta::after {
        width: 200px;
        height: 160px;
        bottom: 3.25rem;
        transform: translateX(30%);
    }
}

/*END*/

/*
BLOG
*/

#page-container .nav-next a span,
#page-container .nav-previous a span,
#page-container a.facetwp-page.next,
#page-container a.facetwp-page.prev {
    color: var(--text-primary) ! IMPORTANT;
    font-family: var(--font-family-body, Inter);
    font-size: var(--font-size-sm, 1rem);
    font-style: normal;
    font-weight: 400;
    line-height: 100%;
}

#page-container .nav-next a:hover,
#page-container .nav-previous a:hover,
#page-container a.facetwp-page.next:hover,
#page-container a.facetwp-page.prev:hover {
    color: var(--text-heading-primary) ! IMPORTANT;
    text-decoration: underline ! IMPORTANT;
}

#page-container span.nav-next a,
#page-container span.nav-previous a,
#page-container a.facetwp-page.next,
#page-container a.facetwp-page.prev {
    text-decoration: none;
}

#page-container .nav-previous a span {
    color: var(--text-primary) ! IMPORTANT;
    font-family: var(--font-family-body, Inter);
    font-size: var(--font-size-sm, 1rem);
    font-style: normal;
}

#page-container .share {
    color: var(--Text-Brand-Default, #2C2C2C);
    padding-top: 2rem;
    font-size: var(--font-size-md, 1.25rem);
    padding-bottom: .3rem;
}

span.fsm-post-meta__date {
    color: var(--Text-Default-Secondary, #444);
    font-family: var(--font-family-body, Inter);
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
}

span.fsm-post-meta__author {
    color: var(--Text-Default-Secondary, #444);
    font-family: var(--font-family-body, Inter);
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
}

span.fsm-post-meta__category {
    color: var(--Text-Default-Secondary, #444);
    font-family: var(--font-family-body, Inter);
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 160%;
}

#page-container h1.fsm-post-meta__title {
    color: var(--Text-Default-Default, #1E1E1E);
    font-family: var(--font-family-heading, Outfit);
    font-size: 2.5rem ! IMPORTANT;
    font-style: normal;
    font-weight: var(--font-weight-bold);
    line-height: 125%;
}

.et_pb_post_content ul {
    padding-bottom: 0;
}

.fsm-post-meta__details {
    padding-top: 1rem;
}

#page-container #main-content .all-posts-btn p a {
    color: var(--Text-Default-Default, #1E1E1E) !important;
    font-weight: 600 !important;
    text-decoration: none;
}

#page-container #main-content .all-posts-btn i.fa-regular.fa-arrow-left {
    display: inline;
    text-decoration: inherit;
}

#page-container #main-content .all-posts-btn p a:hover {
    text-decoration: underline !important;
}

.all-posts-btn {
    padding-bottom: 2rem;
}

@media screen and (min-width: 981px) {
    #main-content .rotating-hero.blog-post {
        padding-bottom: 2rem;
    }

    #main-content .rotating-hero.blog-post h1 {
        max-width: unset;
    }
}

.blog-sidebar .et_pb_module.et_pb_button_module_wrapper.et_pb_button_0_wrapper {
    margin-top: 1rem;
}

@media screen and (max-width: 980px) {

    .all-posts-btn {
        padding-bottom: 1rem;
    }

    .fsm-post-meta__details {
        padding-top: 0;
    }

    #page-container .share {
        padding-top: 1rem;
    }

    #page-container .fsm-author-details__card {
        padding-top: 0.5rem;
        gap: 1rem;
    }
}


/*END*/


/*programs page*/
.blurb-image-sizing span.et_pb_image_wrap.et_pb_only_image_mode_wrap,
.blurb-image-sizing span.et_pb_image_wrap.et_pb_only_image_mode_wrap img {
    max-width: 284px;
    max-height: 188px;
}

@media screen and (max-width: 980px) {
    .programs-container.blurb-image-sizing .et_pb_row {
        gap: 2rem;
    }

    #page-container #et-main-area .programs-container.blurb-image-sizing h2,
    #page-container #et-main-area .programs-container.no-gap h2 {
        padding-bottom: 0rem;
    }
}

/*END*/

/*
BLOG LIST
*/
/*END*/

/* ============================================
   GRAVITY FORMS ORBITAL THEME STYLES
   ============================================ */

/* Global Orbital Theme Variables - Maps theme variables to Gravity Forms CSS API */
.gform-theme--orbital {
    /* Primary Colors - map to semantic action/button tokens */
    --gf-color-primary: var(--action-primary-bg);
    --gf-color-primary-contrast: var(--action-primary-text);
    --gf-color-primary-darker: var(--blue-600);
    --gf-color-primary-lighter: var(--blue-400);
    /* In-control primary (button backgrounds, icons) - site palette */
    --gf-color-in-ctrl-primary: var(--action-primary-bg);

    /* Secondary Colors - map to semantic secondary button tokens */
    --gf-color-secondary: var(--color-action-secondary-default);
    --gf-color-secondary-contrast: var(--color-action-secondary-text);
    --gf-color-secondary-darker: var(--color-action-secondary-hover);
    --gf-color-secondary-lighter: var(--green-400);

    /* Control Colors */
    --gf-control-bg-color: var(--background-primary);
    --gf-control-bg-color-focus: var(--background-primary);
    --gf-control-border-color: var(--border-default);
    --gf-control-border-color-focus: var(--gf-color-primary);
    --gf-control-color: var(--text-default);
    --gf-control-color-focus: var(--text-default);
    --gf-control-color-placeholder: var(--text-muted);

    /* Framework Control Variables (gf-ctrl-* shorthand) */
    --gf-ctrl-bg-color: var(--gf-control-bg-color);
    --gf-ctrl-bg-color-focus: var(--gf-control-bg-color-focus);
    --gf-ctrl-border-color: var(--gf-control-border-color);
    --gf-ctrl-border-color-focus: var(--gf-color-primary);
    --gf-ctrl-color: var(--gf-control-color);
    --gf-ctrl-color-focus: var(--gf-control-color-focus);

    /* Focus Outline Variables - Subtle shadow for depth, border provides main feedback */
    --gf-ctrl-outline-color-focus: var(--border-focus);
    --gf-ctrl-outline-width-focus: 2px;

    /* Label Colors */
    --gf-label-color: var(--text-heading);
    --gf-label-font-size: var(--font-size-200);
    --gf-label-font-weight: var(--font-weight-medium);
    --gf-label-line-height: var(--line-height-sm);

    /* Description Colors */
    --gf-description-color: var(--text-muted);
    --gf-description-font-size: var(--font-size-100);
    --gf-description-line-height: var(--line-height-sm);

    /* Button Colors */
    --gf-button-primary-bg-color: var(--action-primary-default);
    --gf-button-primary-bg-color-hover: var(--action-primary-hover);
    --gf-button-primary-color: var(--action-primary-text);
    --gf-button-primary-color-hover: var(--action-primary-text);

    /* Border & Radius */
    --gf-control-border-radius: 4px;
    --gf-control-border-width: 1px;
    --gf-control-padding-x: 16px;
    --gf-control-padding-y: 12px;

    /* Spacing */
    --gf-field-margin-bottom: 24px;
    --gf-label-margin-bottom: 8px;
    --gf-description-margin-top: 4px;

    /* Typography */
    --gf-control-font-size: var(--font-size-200);
    --gf-control-line-height: var(--line-height-sm);
    --gf-control-font-family: var(--font-family-sans);

    /* Error States */
    --gf-error-color: var(--feedback-red-500);
    --gf-error-bg-color: var(--feedback-red-50);
    --gf-error-border-color: var(--feedback-red-500);

    /* Success States */
    --gf-success-color: var(--feedback-green-500);
    --gf-success-bg-color: var(--feedback-green-50);
}

/* Foundation Layer Variable Overrides - Override Foundation defaults */
#page-container .gform-theme--foundation,
#page-container .gform-theme--api {
    --gf-form-gap-x: 16px;
    --gf-form-gap-y: 20px;
    --gf-form-footer-margin-y-start: 24px;
    --gf-form-footer-gap: 8px;
    --gf-field-gap-x: 12px;
    --gf-field-gap-y: 12px;
    --gf-field-date-width: 168px;
    --gf-field-time-width: 110px;
    --gf-field-list-btns-gap: 8px;
    --gf-field-list-btns-width: calc(32px + var(--gf-field-list-btns-gap) + var(--gf-field-gap-x));
    --gf-field-pg-steps-gap-y: 8px;
    --gf-field-pg-steps-gap-x: 24px;
    --gf-label-width: 30%;
    --gf-label-req-gap: 6px;
}

/* Form Wrapper Base Styles */
#page-container .gform-theme--orbital {
    font-family: var(--font-family-sans);
    color: var(--text-default);
}

/* Form Field Container */
#page-container .gform-theme--orbital .gfield {
    margin-bottom: 0;
}

/* Labels */
#page-container .gform-theme--orbital .gfield_label,
#page-container .gform-theme--orbital label.gfield_label {
    color: var(--gf-label-color);
    font-size: var(--gf-label-font-size);
    font-weight: var(--gf-label-font-weight);
    line-height: var(--gf-label-line-height);
    margin-bottom: var(--gf-label-margin-bottom);
    font-family: var(--font-family-sans);
}

#page-container label.gfield_label.gform-field-label,
#page-container legend.gfield_label.gform-field-label.gfield_label_before_complex,
#page-container legend.gfield_label.gform-field-label {
    font-size: clamp(1rem, 0.875rem + 0.5vw, 1rem) !important;
    font-family: var(--font-family-body, Outfit, sans-serif) !important;
    font-weight: 600 !important;
    color: #333333;
}

#page-container label.gform-field-label.gform-field-label--type-sub,
#page-container .gfield_description {
    font-family: var(--font-family-body, Outfit, sans-serif) !important;
    font-weight: 600 !important;
    color: #333333;
}

#page-container input {
    font-family: var(--font-family-body) !important;
    font-weight: 600 !important;
}

/* Required Label Indicator */
#page-container .gform-theme--orbital .gfield_required {
    color: var(--gf-error-color);
    margin-left: 4px;
}

/* Field Descriptions */
#page-container .gform-theme--orbital .gfield_description,
#page-container .gform-theme--orbital .gfield_description.validation_message {
    color: #333333;
    font-size: var(--gf-description-font-size);
    line-height: var(--gf-description-line-height);
    margin-top: var(--gf-description-margin-top);
}

label.gform-field-label.gform-field-label--type-inline.gfield_consent_label,
#page-container .gform-theme--orbital .gchoice label {
    font-size: clamp(1rem, 0.875rem + 0.5vw, 1rem) !important;
    font-family: var(--font-family-body) !important;
    font-weight: 400 !important;
    color: #333333;
}

/* Text Inputs, Textareas, Selects */
#page-container .gform-theme--orbital input[type="text"],
#page-container .gform-theme--orbital input[type="email"],
#page-container .gform-theme--orbital input[type="tel"],
#page-container .gform-theme--orbital input[type="url"],
#page-container .gform-theme--orbital input[type="number"],
#page-container .gform-theme--orbital input[type="password"],
#page-container .gform-theme--orbital input[type="date"],
#page-container .gform-theme--orbital input[type="time"],
#page-container .gform-theme--orbital textarea,
#page-container .gform-theme--orbital select {
    background-color: var(--gf-control-bg-color);
    border: var(--gf-control-border-width) solid var(--gf-control-border-color);
    border-radius: var(--gf-control-border-radius);
    color: var(--gf-control-color);
    font-size: var(--gf-control-font-size);
    line-height: var(--gf-control-line-height);
    font-family: var(--gf-control-font-family);
    padding: var(--gf-control-padding-y) var(--gf-control-padding-x);
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
    width: 100%;
}

/* Input Focus States - Framework handles focus states via CSS variables */
/* Removed manual focus styles to allow framework variables to work properly */

/* Placeholder Text */
#page-container .gform-theme--orbital input::placeholder,
#page-container .gform-theme--orbital textarea::placeholder {
    color: var(--gf-control-color-placeholder);
    opacity: 1;
}

/* Submit Button */
#page-container .gform-theme--orbital .gform_button,
#page-container .gform-theme--orbital input[type="submit"],
#page-container .gform-theme--orbital button[type="submit"] {
    background-color: var(--gf-button-primary-bg-color);
    color: var(--gf-button-primary-color);
    border: none;
    border-radius: var(--gf-control-border-radius);
    padding: var(--gf-control-padding-y) var(--gf-control-padding-x);
    font-size: var(--gf-control-font-size);
    font-weight: var(--font-weight-medium);
    font-family: var(--font-family-sans);
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.1s ease;
    text-transform: uppercase;
    letter-spacing: 0.32px;
}

#page-container .gform-theme--orbital .gform_button:hover,
#page-container .gform-theme--orbital input[type="submit"]:hover,
#page-container .gform-theme--orbital button[type="submit"]:hover {
    background-color: var(--gf-button-primary-bg-color-hover);
}

#page-container .gform-theme--orbital .gform_button:active,
#page-container .gform-theme--orbital input[type="submit"]:active,
#page-container .gform-theme--orbital button[type="submit"]:active {
    transform: translateY(1px);
}

/* GF submit / next: match inverse primary (transparent, blue border/text) */
#page-container .gform_button,
#page-container .gform_next_button,
#page-container .gform-theme--orbital .gform_button,
#page-container .gform-theme--orbital input[type="submit"],
#page-container .gform-theme--orbital button[type="submit"] {
    border-radius: 0.375rem;
    border: 2px solid var(--action-primary-bg, #145C95);
    background: transparent;
    color: var(--action-primary-bg, #145C95);
    font-family: var(--font-family-body, Outfit, sans-serif);
    font-size: 1rem;
    font-style: normal;
    font-weight: 600;
    line-height: 125%;
    letter-spacing: 0.02rem;
    text-transform: uppercase;
    padding: 12px 20px;
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

#page-container .gform_button:hover,
#page-container .gform_next_button:hover,
#page-container .gform-theme--orbital .gform_button:hover,
#page-container .gform-theme--orbital input[type="submit"]:hover,
#page-container .gform-theme--orbital button[type="submit"]:hover {
    border: 2px solid var(--action-primary-bg-hover, #F26522);
    color: var(--action-primary-bg-hover, #F26522);
    background: transparent;
}

#page-container .gform_button:focus,
#page-container .gform_next_button:focus,
#page-container .gform-theme--orbital .gform_button:focus,
#page-container .gform-theme--orbital input[type="submit"]:focus,
#page-container .gform-theme--orbital button[type="submit"]:focus {
    outline: 2px solid var(--action-primary-bg-hover, #F26522);
    outline-offset: 2px;
}

/* Override GF framework .gform-theme-button--control (higher specificity so theme styles win) */
#page-container .gform-theme--orbital .gform_wrapper .gform-theme-button--control {
    border-radius: 0.375rem;
    border: 2px solid var(--action-primary-bg, #145C95);
    background: transparent;
    color: var(--action-primary-bg, #145C95);
    font-family: var(--font-family-body, Outfit, sans-serif);
    font-size: 1rem;
    font-style: normal;
    font-weight: 600;
    line-height: 125%;
    letter-spacing: 0.02rem;
    text-transform: uppercase;
    padding: 12px 20px;
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease;
}

#page-container .gform-theme--orbital .gform_wrapper .gform-theme-button--control:hover {
    border: 2px solid var(--action-primary-bg-hover, #F26522);
    color: var(--action-primary-bg-hover, #F26522);
    background: transparent;
}

#page-container .gform-theme--orbital .gform_wrapper .gform-theme-button--control:focus {
    outline: 2px solid var(--action-primary-bg-hover, #F26522);
    outline-offset: 2px;
}

/* GF Previous: same styles as #page-container #main-content .et_pb_button */
#page-container .gform_previous_button {
    border-radius: 0.375rem;
    color: var(--action-primary-text, #FFF);
    background-color: var(--action-primary-bg, #145C95);
    text-align: center;
    font-style: normal;
    font-weight: 600;
    font-family: var(--font-family-body, Outfit, sans-serif);
    font-size: 1rem;
    line-height: 125%;
    letter-spacing: 0.02rem;
    text-transform: uppercase;
    transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease, padding 0.3s ease;
    border: none;
    padding: 12px 20px;
    position: relative;
}

#page-container .gform_previous_button:hover {
    background-color: var(--action-primary-bg-hover, #F26522);
    color: var(--action-primary-text, #FFF);
    padding-right: 32px;
    /* Accommodate icon on hover */
}

#page-container .gform_previous_button:focus {
    outline: 2px solid var(--action-primary-bg-hover, #F26522);
    outline-offset: 2px;
}

/* Error States */
#page-container .gform-theme--orbital .gfield_error input,
#page-container .gform-theme--orbital .gfield_error textarea,
#page-container .gform-theme--orbital .gfield_error select {
    border-color: var(--gf-error-border-color);
    background-color: var(--gf-error-bg-color);
}

#page-container .gform-theme--orbital .gfield_error .validation_message {
    color: var(--gf-error-color);
    font-size: var(--gf-description-font-size);
    margin-top: var(--gf-description-margin-top);
}

/* Success Message */
#page-container .gform-theme--orbital .gform_confirmation_message {
    background-color: var(--gf-success-bg-color);
    color: var(--gf-success-color);
    padding: 16px;
    border-radius: var(--gf-control-border-radius);
    border-left: 4px solid var(--gf-success-color);
    margin-bottom: var(--gf-field-margin-bottom);
}

/* Checkbox and Radio Styles */
#page-container .gform-theme--orbital .gchoice label {
    font-weight: var(--font-weight-regular);
    color: var(--text-default);
    cursor: pointer;
}

#page-container .gform-theme--orbital input[type="checkbox"],
#page-container .gform-theme--orbital input[type="radio"] {
    width: auto;
    margin-right: 0px;
    cursor: pointer;
}

.gform-theme--framework .gfield--type-choice .gchoice {
    align-items: center;
}

/* File Upload Field */
#page-container .gform-theme--orbital .ginput_container_fileupload input[type="file"] {
    padding: var(--gf-control-padding-y);
}

/* Hidden Fields */
#page-container .gform-theme--orbital .gform_hidden {
    display: none;
}

/* Page Break Navigation */
#page-container .gform-theme--orbital .gform_page_footer {
    margin-top: 32px;
}

/* Orbital footer: keep previous button matching main .et_pb_button (override theme gray) */
#page-container .gform-theme--orbital .gform_page_footer .gform_previous_button {
    background-color: var(--action-primary-bg, #145C95);
    color: var(--action-primary-text, #FFF);
    border: none;
}

#page-container .gform-theme--orbital .gform_page_footer .gform_previous_button:hover {
    background-color: var(--action-primary-bg-hover, #F26522);
    color: var(--action-primary-text, #FFF);
}

/* Progress Bar (if using progress indicators) */
#page-container .gform-theme--orbital .gf_progressbar {
    background-color: var(--background-section-alt);
    border-radius: var(--gf-control-border-radius);
    height: 8px;
    margin-bottom: var(--gf-field-margin-bottom);
}

#page-container .gform-theme--orbital .gf_progressbar_percentage {
    background-color: var(--gcid-prvzvqkm2n);
    border-radius: var(--gf-control-border-radius);
    height: 100%;
    transition: width 0.3s ease;
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    #page-container .gform-theme--orbital {
        --gf-control-padding-x: 14px;
        --gf-control-padding-y: 10px;
        --gf-field-margin-bottom: 20px;
    }
}

#page-container select#input_4_6_4,
#page-container select#input_4_17_4,
#page-container select#input_4_21_4,
#page-container select#input_4_22_4 {
    padding: .5em 1em;
    font-size: 1em;
    border: 1px solid var(--border-overlay);
}

input#input_4_40,
input#input_4_41,
input#input_4_42 {
    padding: 0em 0em ! IMPORTANT;
}

div#input_4_27 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

@media screen and (max-width: 768px) {

    div#input_4_27 {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* END GRAVITY FORMS ORBITAL THEME STYLES */

/* ============================================
   FAQ SECTION STYLES
   ============================================ */

/* FAQ Section Container (also used by Meeting Minutes and Reports shortcodes) */
#page-container .faq-section {
    padding: 60px 0;
}

#page-container .meeting-minutes-section,
#page-container .reports-section,
#page-container .policies-section {
    padding: 0px;
}

/* FAQ Accordion Container */
#page-container .faq-section .et_pb_accordion,
#page-container .meeting-minutes-section .et_pb_accordion,
#page-container .reports-section .et_pb_accordion,
#page-container .policies-section .et_pb_accordion {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Individual FAQ Toggle Item */
#page-container .faq-section .et_pb_toggle,
#page-container .meeting-minutes-section .et_pb_toggle,
#page-container .reports-section .et_pb_toggle,
#page-container .policies-section .et_pb_toggle {
    background-color: var(--background-primary);
    border: 1px solid var(--border-default);
    border-radius: 8px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    overflow: hidden;
    padding-top: 1rem;
    padding-bottom: 1rem;
    padding-left: 1rem;
    padding-right: 20px;
}

/* Toggle Title (Question) */
#page-container .faq-section .et_pb_toggle_title,
#page-container .meeting-minutes-section .et_pb_toggle_title,
#page-container .reports-section .et_pb_toggle_title,
#page-container .policies-section .et_pb_toggle_title {
    position: relative;
    padding: 0px 24px 0px 0px;
    margin: 0;
    font-size: 1.25rem ! IMPORTANT;
    font-weight: 600;
    line-height: 140%;
    color: var(--text-heading-secondary);
    cursor: pointer;
    transition: color 0.2s ease;
    font-family: var(--font-family-heading) !important;
}

/* Toggle Title Hover State */
#page-container .faq-section .et_pb_toggle_title:hover,
#page-container .meeting-minutes-section .et_pb_toggle_title:hover,
#page-container .reports-section .et_pb_toggle_title:hover,
#page-container .policies-section .et_pb_toggle_title:hover {
    color: var(--text-link-hover);
}


/* Expand/Collapse Icon - Using Font Awesome 7 Pro (loaded via Divi Integrations) */
#page-container .faq-section .et_pb_toggle_title::before,
#page-container .meeting-minutes-section .et_pb_toggle_title::before,
#page-container .reports-section .et_pb_toggle_title::before,
#page-container .policies-section .et_pb_toggle_title::before {
    content: '\f078';
    font-family: "Font Awesome 7 Pro", "Font Awesome 7 Free" !important;
    display: flex;
    align-items: center;
    justify-content: center;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    position: absolute;
    right: 0px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    font-size: 18px;
    color: var(--text-heading-primary);
    border-radius: 50%;
    transition: background-color 0.2s ease, color 0.2s ease;
    line-height: 1;
    margin: 0;
    padding-top: 0;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 6px;
    box-sizing: border-box;
}

/* Open State - Font Awesome minus icon */
#page-container .faq-section .et_pb_toggle_open .et_pb_toggle_title::before,
#page-container .meeting-minutes-section .et_pb_toggle_open .et_pb_toggle_title::before,
#page-container .reports-section .et_pb_toggle_open .et_pb_toggle_title::before,
#page-container .policies-section .et_pb_toggle_open .et_pb_toggle_title::before {
    content: '\f077';
    /* Minus icon (mathematical minus sign) */
    color: var(--text-heading-primary);
    transition: background-color 0.2s ease, color 0.2s ease;
}

/* Toggle Content (Answer) */
#page-container .faq-section .et_pb_toggle_content,
#page-container .meeting-minutes-section .et_pb_toggle_content,
#page-container .reports-section .et_pb_toggle_content,
#page-container .policies-section .et_pb_toggle_content {
    padding: 15px 24px 0px 0px;
    color: var(--text-default);
    font-size: var(--font-size-200);
    line-height: var(--line-height-sm);
    font-family: var(--font-family-sans);
    transition: opacity 0.3s ease, max-height 0.3s ease;
}

/* Toggle Content Paragraphs */
#page-container .faq-section .et_pb_toggle_content p,
#page-container .meeting-minutes-section .et_pb_toggle_content p,
#page-container .reports-section .et_pb_toggle_content p,
#page-container .policies-section .et_pb_toggle_content p {
    margin-bottom: 16px;
    color: var(--text-default);
}

#page-container .faq-section .et_pb_toggle_content p:last-child,
#page-container .meeting-minutes-section .et_pb_toggle_content p:last-child,
#page-container .reports-section .et_pb_toggle_content p:last-child,
#page-container .policies-section .et_pb_toggle_content p:last-child {
    margin-bottom: 0;
}

/* Meeting Minutes / Reports / Policies: toggles closed by default (open/close via JS) */
#page-container .meeting-minutes-section .et_pb_toggle .et_pb_toggle_content,
#page-container .reports-section .et_pb_toggle .et_pb_toggle_content,
#page-container .policies-section .et_pb_toggle .et_pb_toggle_content {
    display: none;
}

#page-container .meeting-minutes-section .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_content,
#page-container .reports-section .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_content,
#page-container .policies-section .et_pb_toggle.et_pb_toggle_open .et_pb_toggle_content {
    display: block;
}

/* Open Toggle State - Enhanced Visual Feedback */
#page-container .faq-section .et_pb_toggle_open,
#page-container .meeting-minutes-section .et_pb_toggle_open,
#page-container .reports-section .et_pb_toggle_open,
#page-container .policies-section .et_pb_toggle_open {
    border-color: var(--border-focus);
    background-color: var(--background-primary);
}

/* Closed Toggle Hover State */
/* #page-container .faq-section .et_pb_toggle_close:hover,
#page-container .meeting-minutes-section .et_pb_toggle_close:hover,
#page-container .reports-section .et_pb_toggle_close:hover,
#page-container .policies-section .et_pb_toggle_close:hover {
    border-color: var(--border-focus);
    background-color: var(--background-secondary);
} */

/* Closed Toggle Hover - Icon Animation */
#page-container .faq-section .et_pb_toggle_close:hover .et_pb_toggle_title::before,
#page-container .meeting-minutes-section .et_pb_toggle_close:hover .et_pb_toggle_title::before,
#page-container .reports-section .et_pb_toggle_close:hover .et_pb_toggle_title::before,
#page-container .policies-section .et_pb_toggle_close:hover .et_pb_toggle_title::before {
    color: var(--text-link-hover);
}

/* Open Toggle Hover State */
#page-container .faq-section .et_pb_toggle_open:hover,
#page-container .meeting-minutes-section .et_pb_toggle_open:hover,
#page-container .reports-section .et_pb_toggle_open:hover,
#page-container .policies-section .et_pb_toggle_open:hover {
    box-shadow: 0 4px 12px rgba(59, 130, 246, 0.12);
}

/* Meeting Minutes (list of PDF links per year) */
#page-container .meeting-minutes-section .meeting-minutes-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

#page-container .meeting-minutes-section .meeting-minutes-list li {
    margin-bottom: 0.75rem;
}

#page-container .meeting-minutes-section .meeting-minutes-list li:last-child {
    margin-bottom: 0;
}

#page-container .meeting-minutes-section .meeting-minutes-list a {
    color: var(--text-heading-primary, #145C95);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

#page-container .meeting-minutes-section .meeting-minutes-list a:hover {
    color: var(--text-link-hover);
}

#page-container .meeting-minutes-section .meeting-minutes-list a i.fa-solid.fa-arrow-up-right,
#page-container .reports-section .reports-list a i.fa-solid.fa-arrow-up-right,
#page-container .policies-section .policies-list a i.fa-solid.fa-arrow-up-right {
    display: inline;
    text-decoration: inherit;
}

/* Reports (list of PDF links per toggle) */
#page-container .reports-section .reports-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

#page-container .reports-section .reports-list li {
    margin-bottom: 0.75rem;
}

#page-container .reports-section .reports-list li:last-child {
    margin-bottom: 0;
}

#page-container .reports-section .reports-list a {
    color: var(--text-heading-primary, #145C95);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

#page-container .reports-section .reports-list a:hover {
    color: var(--text-link-hover);
}

/* Policies (list of PDF links) */
#page-container .policies-section .policies-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

#page-container .policies-section .policies-list li {
    margin-bottom: 0.75rem;
}

#page-container .policies-section .policies-list li:last-child {
    margin-bottom: 0;
}

#page-container .policies-section .policies-list a {
    color: var(--text-heading-primary, #145C95);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

#page-container .policies-section .policies-list a:hover {
    color: var(--blue-600);
}


/* Responsive Adjustments */
@media (max-width: 768px) {
    #page-container .faq-section {
        padding: 40px 0;
    }

    #page-container .meeting-minutes-section,
    #page-container .reports-section,
    #page-container .policies-section {
        padding: 0px;
    }

    #page-container .faq-section .et_pb_accordion,
    #page-container .meeting-minutes-section .et_pb_accordion,
    #page-container .reports-section .et_pb_accordion,
    #page-container .policies-section .et_pb_accordion {
        gap: 12px;
    }

    #page-container .faq-section .et_pb_toggle_title,
    #page-container .meeting-minutes-section .et_pb_toggle_title,
    #page-container .reports-section .et_pb_toggle_title {
        padding: 0px 24px 0px 0px;
        font-size: var(--font-size-200);
    }

    #page-container .faq-section .et_pb_toggle_title::before,
    #page-container .meeting-minutes-section .et_pb_toggle_title::before,
    #page-container .reports-section .et_pb_toggle_title::before {
        right: 0px;
        top: 20px;
        width: 20px;
        height: 20px;
        font-size: var(--font-size-300);
    }

    #page-container .faq-section .et_pb_toggle_content,
    #page-container .meeting-minutes-section .et_pb_toggle_content,
    #page-container .reports-section .et_pb_toggle_content {
        padding: 15px 20px 0px 0px;
        font-size: var(--font-size-100);
    }

}

/* END FAQ SECTION STYLES */

/* ---------------------------------------------------------------------------
   Hero rotator (shortcode fsm_hero_rotator)
   Scoped to .fsm-hero-media and .rotating-hero to avoid affecting other layout.
   Fade transition between images.
   Divi nesting: section > row > column > et_pb_code > et_pb_code_inner > fsm-hero-media.
   Height chain: make hero column and code module fill row height so fsm-hero-media can fill.
---------------------------------------------------------------------------- */
#page-container .rotating-hero .et_pb_column:has(.fsm-hero-media) {
    display: flex;
    flex-direction: column;
}

#page-container .rotating-hero .et_pb_column:has(.fsm-hero-media) .et_pb_code {
    flex: 1 1 0;
    min-height: 0;
    display: flex;
    flex-direction: column;
}

#page-container .rotating-hero .et_pb_column:has(.fsm-hero-media) .et_pb_code_inner {
    flex: 1;
    min-height: 0;
    display: flex;
}

#page-container .fsm-hero-media {
    position: relative;
    flex: 1;
    min-height: 0;
    width: 100%;
    overflow: hidden;
}

#page-container .fsm-hero-media .fsm-hero-rotator {
    position: absolute;
    inset: 0;
    overflow: hidden;
}

#page-container .fsm-hero-media .fsm-hero-rotator img {
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: 100%;
    aspect-ratio: 8 / 7;
    object-fit: cover;
    object-position: center;
    transform: translateY(-50%);
    opacity: 0;
    transition: opacity 2s ease-in-out;
    z-index: 0;
    border-radius: 16px;
}

#page-container .fsm-hero-media .fsm-hero-rotator img.active-image {
    opacity: 1;
    z-index: 1;
}

/* ---------------------------------------------------------------------------
   Before/After slider (shortcode fsm_before_after_slider)
   Draggable divider: right = more before, left = more after.
   Uses --fsm-ba-position (0–100%) set by JS.
---------------------------------------------------------------------------- */
#page-container .fsm-before-after-slider {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    cursor: ew-resize;
    user-select: none;
    -webkit-user-select: none;
    /* Prevent horizontal drag from scrolling the page on touch devices */
    touch-action: pan-y;
}

#page-container .fsm-before-after-slider .fsm-ba-before,
#page-container .fsm-before-after-slider .fsm-ba-after {
    position: absolute;
    inset: 0;
}

#page-container .fsm-before-after-slider .fsm-ba-before img,
#page-container .fsm-before-after-slider .fsm-ba-after img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.fsm-before-after-slider img {
    border-radius: 16px;
}

#page-container .fsm-before-after-slider .fsm-ba-after {
    clip-path: inset(0 0 0 var(--fsm-ba-position, 50%));
    z-index: 1;
}

#page-container .fsm-before-after-slider .fsm-ba-divider {
    position: absolute;
    left: var(--fsm-ba-position, 50%);
    top: 0;
    bottom: 0;
    width: 4px;
    background: var(--background-elevated);
    transform: translateX(-50%);
    z-index: 2;
    pointer-events: none;
}

#page-container .fsm-before-after-slider .fsm-ba-handle {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: var(--background-elevated-95);
    box-shadow: var(--shadow-modal);
    display: flex;
    align-items: center;
    justify-content: center;
}

#page-container .fsm-before-after-slider .fsm-ba-handle::after {
    content: "\2194";
    font-size: 18px;
    line-height: 1;
    color: var(--text-primary);
}

/* Property embed widget wrapper – add class "property-embed-wrapper" to the Code module (or Section/Row) containing the iframe */
/* #page-container .property-embed-wrapper {
    border: 1px solid var(--border-default);
    border-radius: 16px;
    overflow: hidden;
    background: var(--background-elevated);
} */

/*
 * Available Properties: parent-page iframe only (applies on pclbdevenvironment.kinsta.cloud).
 * The listing UI lives at https://pclrc.pps.land/pclrc-improved-properties/ inside #myiframe.
 * Cross-origin: CSS cannot size the iframe to inner content. Use min-height as a fallback until
 * pclrc.pps.land posts height via postMessage; parent script pclrc-property-embed-resize.js sets
 * iframe.style.height (see comment block in that file for the child-page snippet).
 * Rules in the "PCLRC improved properties" block below only apply when .parcel-views share this document.
 */
/*
 * Inline embed often has height="0" + scrolling="no" + overflow-y:hidden — that clips tall
 * listings with no way to scroll inside the frame. Allow vertical scroll here (!important beats
 * inline overflow) and drop scrolling="no" from the Code module HTML when you can.
 */
#page-container .property-embed-wrapper iframe,
#page-container .property-embed-wrapper iframe#myiframe {
    display: block;
    width: 100%;
    overflow-y: auto !important;
    min-height: 100vh;
    height: auto;
    max-height: none;
    border: none;
    background-color: #fff;
    overflow-y: auto !important;
    overflow-x: hidden;
    -webkit-overflow-scrolling: touch;
}






