/*
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.
- Button classes: `fsm-btn-primary` (or Divi button one; also plain `a` / mega `li > a`),
  `fsm-btn-secondary` (or button two),
  `fsm-btn-tertiary`, `fsm-btn-quatrinary`, `fsm-btn-light-blue`
  (custom classes; no native third/fourth Divi buttons),
  `fsm-btn-link` (text + chevron; no fill), `fsm-btn-link-reverse` (same; chevron left, points left),
  `get-care-button` (Divi button, plain `a`, or mega `li > a`),
  `fsm-btn-white` (placeholder).
- Gravity Forms page wrappers: add on the Divi module wrapping the shortcode (e.g.
  `consult-request-page-gf`, `employee-portal-login-gf`, `new-work-request-gf`).
- 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.
- Use only semantic variables in component/layout rules (e.g. --text-link, --btn-primary-bg).
  Numbered ramps (--navy-600, --gray-200, --green-leaf-50) and raw hex/rgba appear only inside
  :root when mapping primitives to semantics. If you need a color in a rule, add a semantic on
  :root first, then reference that semantic.
- If a semantic is missing (e.g. --text-link-hover-surface, --elevation-brand-subtle,
  --background-brand-subtle), add it to :root and use it here. Typography tokens
  (--font-size-*, --font-weight-*, --line-height-*, --font-family-*) are still used
  where no semantic equivalent exists (e.g. --form-label-font-size, --heading-size-h3).
*/
:root {
    --font-family-heading: "DM Sans", system-ui, sans-serif;
    --font-family-body: "Roboto", system-ui, sans-serif;
    --font-family-body-accent: "Inter", system-ui, sans-serif;
    /* Default UI / forms: matches body base (Roboto). */
    --font-family-sans: var(--font-family-body);
    --font-family-serif: "Roboto Serif", Georgia, serif;

    --font-weight-extra-light: 100;
    --font-weight-light: 300;
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-black: 900;

    /* Aligned to `.styles` typography tokens */
    --font-size-50: 12px;
    --font-size-100: 14px;
    --font-size-175: 18px;
    --font-size-200: 16px;
    --font-size-210: 21px;
    --font-size-300: 20px;
    --font-size-400: 24px;
    --font-size-500: 24px;
    --font-size-600: 40px;
    --font-size-700: 48px;
    --font-size-800: 64px;
    --font-size-900: 120px;

    --line-height-xs: 1.25;
    --line-height-sm: 1.5;

    --size-0: 0rem;
    --size-1: 0.0625rem;
    --size-2: 0.125rem;
    --size-4: 0.25rem;
    --size-6: 0.375rem;
    --size-8: 0.5rem;
    --size-10: 0.625rem;
    --size-12: 0.75rem;
    --size-16: 1rem;
    --size-20: 1.25rem;
    --size-24: 1.5rem;
    --size-28: 1.75rem;
    --size-32: 2rem;
    --size-40: 2.5rem;
    --size-48: 3rem;
    --size-56: 3.5rem;
    --size-64: 4rem;
    --size-80: 5rem;
    --size-96: 6rem;
    --size-100: 6.25rem;
    --size-120: 7.5rem;
    --size-160: 10rem;
    --size-999: 999px;
    --size-negative-4: -0.25rem;
    --size-negative-8: -0.5rem;
    --size-negative-12: -0.75rem;
    --size-negative-16: -1rem;
    --size-negative-24: -1.5rem;

    /* Leaf card corners — large radius on three corners, sharp point on the fourth.
       Shorthand order: top-left, top-right, bottom-right, bottom-left. */
    --leaf-radius-lg: var(--size-64);
    --leaf-radius-lg-mobile: var(--size-40);
    --leaf-radius-point: var(--size-4);
    --leaf-radius-point-soft: var(--size-8);
    --leaf-radius-point-top-left: var(--leaf-radius-point) var(--leaf-radius-lg) var(--leaf-radius-lg) var(--leaf-radius-lg);
    --leaf-radius-point-top-right: var(--leaf-radius-lg) var(--leaf-radius-point) var(--leaf-radius-lg) var(--leaf-radius-lg);
    --leaf-radius-point-bottom-right: var(--leaf-radius-lg) var(--leaf-radius-lg) var(--leaf-radius-point) var(--leaf-radius-lg);
    --leaf-radius-point-bottom-left: var(--leaf-radius-lg) var(--leaf-radius-lg) var(--leaf-radius-lg) var(--leaf-radius-point);
    --leaf-radius-point-bottom-right-soft: var(--leaf-radius-lg) var(--leaf-radius-lg) var(--leaf-radius-point-soft) var(--leaf-radius-lg);
    --leaf-radius-point-top-left-mobile: var(--leaf-radius-point) var(--leaf-radius-lg-mobile) var(--leaf-radius-lg-mobile) var(--leaf-radius-lg-mobile);
    --leaf-radius-point-top-right-mobile: var(--leaf-radius-lg-mobile) var(--leaf-radius-point) var(--leaf-radius-lg-mobile) var(--leaf-radius-lg-mobile);
    --leaf-radius-point-bottom-right-mobile: var(--leaf-radius-lg-mobile) var(--leaf-radius-lg-mobile) var(--leaf-radius-point) var(--leaf-radius-lg-mobile);
    --leaf-radius-point-bottom-left-mobile: var(--leaf-radius-lg-mobile) var(--leaf-radius-lg-mobile) var(--leaf-radius-lg-mobile) var(--leaf-radius-point);

    --white: #FFFFFF;
    --black: #000000;

    /* ----- Navy (primary; former --blue-*) ----- */
    --navy-50: #EEF6FC;
    --navy-100: #D4E5F2;
    --navy-200: #A9CBE5;
    --navy-300: #6FA3CC;
    --navy-400: #3B7BA8;
    --navy-500: #004B87;
    --navy-600: #003D6F;
    --navy-700: #00325A;
    --navy-800: #002A4D;
    --navy-900: #001F38;
    --navy: var(--navy-500);
    --lightest-blue: var(--navy-50);

    /* ----- Sky blue (accent aqua; former --sky-*) ----- */
    --sky-blue-50: #E6F9FD;
    --sky-blue-100: #B2E5F6;
    --sky-blue-200: #7DD4EF;
    --sky-blue-300: #47C2E8;
    --sky-blue-400: #1FB4E3;
    --sky-blue-500: #00A9E0;
    --sky-blue-600: #0096C7;
    --sky-blue-700: #007FA8;
    --sky-blue-800: #00688A;
    --sky-blue-900: #004F69;
    --sky-blue: var(--sky-blue-500);
    --light-sky-blue: var(--sky-blue-100);

    /* ----- Green leaf (brand green; former --feedback-green-*) ----- */
    --green-leaf-50: #EFF6E7;
    --green-leaf-100: #D0E5B6;
    --green-leaf-200: #B8D994;
    --green-leaf-300: #9CC86E;
    --green-leaf-400: #7FB242;
    --green-leaf-500: #64A70B;
    --green-leaf-600: #548C09;
    --green-leaf-700: #437007;
    --green-leaf-800: #317400;
    --green-leaf-900: #245802;
    --green-leaf: var(--green-leaf-500);
    --lightest-green: var(--green-leaf-50);
    --light-leaf: var(--green-leaf-100);
    --dark-leaf: var(--green-leaf-800);

    /* ----- Sunshine (gold) ----- */
    --sunshine-50: #FFFBF0;
    --sunshine-100: #FEF3D4;
    --sunshine-200: #FCE9A8;
    --sunshine-300: #F9DC7A;
    --sunshine-400: #F5CB4F;
    --sunshine-500: #F1B434;
    --sunshine-600: #D9A02E;
    --sunshine-700: #B88926;
    --sunshine-800: #96721F;
    --sunshine-900: #6E5417;
    --sunshine: var(--sunshine-500);

    /* ----- Orange ----- */
    --orange-50: #FFF4ED;
    --orange-100: #FFE4D4;
    --orange-200: #FFC9A8;
    --orange-300: #FFA66B;
    --orange-400: #FF8533;
    --orange-500: #FF6900;
    --orange-600: #E65E00;
    --orange-700: #CC5500;
    --orange-800: #A34400;
    --orange-900: #7A3300;
    --orange: var(--orange-500);

    /* ----- Magenta (former --purple-*) ----- */
    --magenta-50: #FCE8F6;
    --magenta-100: #F9D1ED;
    --magenta-200: #F3A3DB;
    --magenta-300: #EC75C8;
    --magenta-400: #E040BC;
    --magenta-500: #C800A1;
    --magenta-600: #A80087;
    --magenta-700: #87006E;
    --magenta-800: #6C0058;
    --magenta-900: #510042;
    --magenta: var(--magenta-500);

    /* ----- Dark gray (charcoal) ----- */
    --dark-gray-50: #F5F5F5;
    --dark-gray-100: #E8E8E8;
    --dark-gray-200: #D1D1D1;
    --dark-gray-300: #B0B0B0;
    --dark-gray-400: #8A8A8A;
    --dark-gray-500: #6E6E6E;
    --dark-gray-600: #4A4A4A;
    --dark-gray-700: #3D3D3D;
    --dark-gray-800: #373737;
    --dark-gray-900: #1F1F1F;
    --dark-gray: var(--dark-gray-800);

    /* ----- Silver gray (sage-neutral) ----- */
    --silver-gray-50: #F7F7F5;
    --silver-gray-100: #EBEBE6;
    --silver-gray-200: #D9D9D2;
    --silver-gray-300: #BEBEB4;
    --silver-gray-400: #8E8F85;
    --silver-gray-500: #65665C;
    --silver-gray-600: #525249;
    --silver-gray-700: #454540;
    --silver-gray-800: #3A3A36;
    --silver-gray-900: #2E2E2B;
    --silver-gray: var(--silver-gray-500);

    /* Neutrals (--gray-*): alias brand ramps for compatibility */
    --gray-50: var(--silver-gray-50);
    --gray-100: var(--silver-gray-100);
    --gray-200: var(--silver-gray-200);
    --gray-300: var(--silver-gray-300);
    --gray-400: var(--silver-gray-400);
    --gray-500: var(--silver-gray-500);
    --gray-600: var(--silver-gray-600);
    --gray-700: var(--silver-gray-700);
    --gray-800: var(--dark-gray-800);
    --gray-900: var(--dark-gray-900);

    --feedback-red-50: #FEF2F2;
    --feedback-red-100: #FEE2E2;
    --feedback-red-500: #EF4444;
    --feedback-red-700: #B91C1C;

    --radius-none: var(--size-0);
    --radius-sm: var(--size-4);
    --radius-md: var(--size-8);
    --radius-lg: var(--size-16);
    --radius-xl: var(--size-24);
    --radius-full: var(--size-999);

    --border-width-none: var(--size-0);
    --border-width-default: var(--size-1);
    --border-width-strong: var(--size-2);
    --border-width-heavy: var(--size-4);

    --space-none: var(--size-0);
    --space-xs: var(--size-4);
    --space-sm: var(--size-8);
    --space-md: var(--size-12);
    --space-lg: var(--size-16);

    --space-card-sm: var(--size-20);
    --space-card-md: var(--size-24);
    --space-card-lg: var(--size-32);
    --space-card-xl: var(--size-40);

    --space-section-sm: var(--size-48);
    --space-section-md: var(--size-64);
    --space-section-lg: var(--size-80);
    --space-section-hero: var(--size-96);

    --background-primary: var(--white);
    --background-secondary: var(--lightest-green);
    --background-tertiary: var(--light-leaf);
    --background-inverse: var(--navy);
    --background-brand-subtle: #EEFBFF;

    --text-default: var(--dark-gray);
    --text-heading: var(--navy);
    --text-muted: var(--silver-gray);
    --text-link: var(--sky-blue);
    --text-link-hover-surface: rgba(0, 75, 135, 0.12);
    --text-on-action: var(--white);
    --text-inverse: var(--white);

    --icon-default: var(--sky-blue);
    --icon-muted: var(--gray-300);
    --icon-brand: var(--navy);
    --icon-on-brand: var(--white);
    --icon-on-brand-secondary: var(--light-sky-blue);

    --border-default: var(--gray-200);
    --border-interactive: var(--navy);
    --border-focus: var(--sky-blue);
    --elevation-brand-subtle: 0 2px 8px rgba(0, 75, 135, 0.08);
    --elevation-brand-medium: 0 4px 12px rgba(0, 75, 135, 0.12);

    --feedback-success-bg: var(--green-leaf-50);
    --feedback-success-text: var(--green-leaf-800);
    --feedback-destructive-bg: var(--feedback-red-50);
    --feedback-destructive-text: var(--feedback-red-700);

    --form-field-label: var(--text-default);
    --form-field-border: var(--border-default);
    --form-field-background: var(--background-primary);
    --form-field-focus: var(--border-focus);
    --form-field-text: var(--text-default);
    --form-icon: var(--icon-default);
    --form-placeholder-text: var(--text-muted);
    --form-required-error: var(--feedback-destructive-text);
    --form-success: var(--feedback-success-text);

    --btn-radius: var(--radius-md);
    --btn-padding-x: var(--space-lg);
    --btn-padding-y: var(--space-md);
    --btn-gap: var(--size-8);
    --btn-font-size: var(--font-size-175);
    --btn-font-weight: var(--font-weight-semibold);
    --btn-border-width: var(--size-2);
    --btn-focus-ring-width: var(--size-2);
    --btn-focus-ring-offset: 0px;
    --btn-focus-ring-radius: 0px;
    --btn-primary-bg: var(--navy);
    --btn-primary-bg-hover: #05345a;
    --btn-primary-text: var(--white);
    --btn-secondary-bg: var(--dark-leaf);
    --btn-secondary-bg-hover: var(--green-leaf);
    --btn-secondary-text: var(--white);
    --btn-tertiary-bg: var(--sunshine);
    --btn-tertiary-bg-hover: #ba8d2d;
    --btn-tertiary-text: #282828;
    --btn-quatrinary-bg: var(--orange);
    --btn-quatrinary-bg-hover: #ff9952;
    --btn-quatrinary-text: #282828;
    --btn-light-blue-bg: #B2E5F6;
    --btn-light-blue-bg-hover: #8DD3EE;
    --btn-light-blue-text: #282828;
    --get-care-bg: var(--navy);
    --get-care-bg-hover: var(--sunshine);
    --get-care-label: var(--white);
    --get-care-label-hover: var(--navy);
    --get-care-icon-disc: var(--sunshine);
    --btn-link-text: #000000;
    --btn-link-chevron: #000000;
    --btn-outlined-border: var(--navy);
    --btn-outlined-border-hover: var(--navy-600);
    --btn-outlined-text: var(--navy);
    --btn-outlined-text-hover: var(--navy-600);
    --btn-ghost-text: var(--navy);
    --btn-ghost-text-hover: var(--navy-600);
    --btn-ghost-bg-hover: var(--lightest-blue);
    --var---color-action-secondary-default-: var(--sky-blue);
    --var---color-action-secondary-hover-: var(--sky-blue-600);
    --var---color-action-secondary-text-: var(--white);
    --var---color-action-accent-default-: var(--orange);
    --var---color-action-accent-hover-: var(--orange-600);
    --var---color-action-accent-text-: var(--white);

    /* Focus ring & skip-link (used by core.css) */
    --focus-ring-outer: var(--sky-blue);
    --focus-ring-inner: var(--white);

    /* Video control theming (used by core.css) */
    --video-control-bg: rgba(0, 0, 0, 0.6);
    --video-control-bg-hover: rgba(0, 0, 0, 0.8);
    --video-control-shadow: rgba(0, 0, 0, 0.4);
    --video-control-shadow-hover: rgba(0, 0, 0, 0.6);
    --video-control-focus: var(--orange-400);
    --video-control-icon: var(--white);

    /* Typography design tokens (same names as `.styles` for Figma parity; available globally) */
    --number-support: 64px;
    --form-field: 16px;
    --h1: 48px;
    --h2: 40px;
    --h3: 24px;
    --h4: 24px;
    --h5: 21px;
    --h6: 18px;
    --number-feature: 120px;
    --h3-card-title: 20px;
    --large: 18px;
    --small: 12px;
    --oversize: 24px;
    --nav-text: 16px;
    --nav-text-lg: 20px;
    --btn-text: 18px;
}


/**
 * Optional typography token scope (matches :root); use for scoped overrides.
 * Utility classes below resolve via :root variables.
 */
.styles {
    --number-support: 64px;
    --form-field: 16px;
    --h1: 48px;
    --h2: 40px;
    --h3: 24px;
    --h4: 24px;
    --h5: 21px;
    --h6: 18px;
    --number-feature: 120px;
    --h3-card-title: 20px;
    --large: 18px;
    --small: 12px;
    --oversize: 24px;
    --nav-text: 16px;
    --nav-text-lg: 20px;
    --btn-text: 18px;
}

#page-container .number-support {
    font-family: var(--font-family-heading) !important;
    font-size: var(--number-support);
    line-height: 0;
    font-weight: var(--font-weight-bold);
}

#page-container .form-field {
    font-family: var(--font-family-body) !important;
    font-size: var(--form-field);
    line-height: 1.5625;
    font-weight: var(--font-weight-bold);
}

#page-container .number-feature {
    font-family: var(--font-family-heading) !important;
    font-size: var(--number-feature);
    line-height: 1;
    font-weight: var(--font-weight-regular) !important;
}

#page-container .h3-card-title {
    font-family: var(--font-family-heading) !important;
    font-size: var(--h3-card-title);
    line-height: 1.25;
    font-weight: var(--font-weight-black) !important;
}

#page-container .nav-text {
    font-size: var(--nav-text) !important;
    line-height: 0;
    font-weight: var(--font-weight-regular) !important;
}

#page-container .nav-text-lg {
    font-size: var(--nav-text-lg) !important;
    line-height: 1.2;
    font-weight: var(--font-weight-regular) !important;
}

#page-container .btn-text {
    font-size: var(--btn-text) !important;
    line-height: 1.2;
    font-weight: var(--font-weight-semibold) !important;
}

.skip-link {
    background: var(--btn-primary-bg);
    color: var(--text-inverse);
}

/*
 * Primary button (fsm-btn-primary / first module button): filled navy, white label.
 * Overrides Divi defaults and core.css #main-content .et_pb_button (uppercase, etc.).
 * Mega Menu: put `fsm-btn-primary` on the `<li>` (styles the direct `> a` only) or on the `<a>`.
 */
#page-container .et_pb_button.fsm-btn-primary,
#page-container .et_pb_button.et_pb_button_one,
#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 a.fsm-btn-primary,
#page-container a.et_pb_bg_layout_dark.fsm-btn-primary,
#page-container li.fsm-btn-primary>a,
#page-container li.et_pb_bg_layout_dark.fsm-btn-primary>a {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-height: 48px !important;
    padding: 12px 21px !important;
    border-radius: 50px !important;
    border: none !important;
    background-color: var(--btn-primary-bg) !important;
    background-image: none !important;
    color: var(--btn-primary-text) !important;
    font-family: var(--font-family-heading) !important;
    font-size: var(--font-size-175) !important;
    font-style: normal !important;
    font-weight: var(--font-weight-semibold) !important;
    line-height: normal !important;
    letter-spacing: -0.36px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

#page-container .et_pb_button.fsm-btn-primary::after,
#page-container .et_pb_button.et_pb_button_one::after,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-primary::after,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_one::after,
#page-container a.fsm-btn-primary::after,
#page-container a.et_pb_bg_layout_dark.fsm-btn-primary::after,
#page-container li.fsm-btn-primary>a::after,
#page-container li.et_pb_bg_layout_dark.fsm-btn-primary>a::after {
    display: none !important;
}

#page-container .et_pb_button.fsm-btn-primary .et_pb_button_text,
#page-container .et_pb_button.et_pb_button_one .et_pb_button_text,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-primary .et_pb_button_text,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_one .et_pb_button_text {
    color: inherit !important;
}

#page-container .et_pb_button.fsm-btn-primary:hover,
#page-container .et_pb_button.et_pb_button_one:hover,
#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 a.fsm-btn-primary:hover,
#page-container a.et_pb_bg_layout_dark.fsm-btn-primary:hover,
#page-container li.fsm-btn-primary>a:hover,
#page-container li.et_pb_bg_layout_dark.fsm-btn-primary>a:hover {
    background-color: var(--btn-primary-bg-hover) !important;
    background-image: none !important;
    color: var(--btn-primary-text) !important;
    text-decoration: underline !important;
}

#page-container .et_pb_button.fsm-btn-primary:hover .et_pb_button_text,
#page-container .et_pb_button.et_pb_button_one:hover .et_pb_button_text,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-primary:hover .et_pb_button_text,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_one:hover .et_pb_button_text {
    text-decoration: underline !important;
}

#page-container .et_pb_button.fsm-btn-primary:focus-visible,
#page-container .et_pb_button.et_pb_button_one:focus-visible,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-primary:focus-visible,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_one:focus-visible,
#page-container a.fsm-btn-primary:focus-visible,
#page-container a.et_pb_bg_layout_dark.fsm-btn-primary:focus-visible,
#page-container li.fsm-btn-primary>a:focus-visible,
#page-container li.et_pb_bg_layout_dark.fsm-btn-primary>a:focus-visible {
    background-color: var(--btn-primary-bg-hover) !important;
    background-image: none !important;
    color: var(--btn-primary-text) !important;
    outline: 2px solid var(--focus-ring-outer) !important;
    outline-offset: 2px !important;
}

/*
 * Secondary button (fsm-btn-secondary / second module button): dark leaf fill, white label;
 * hover brightens to brand green-leaf (Figma).
 * Mega Menu: put `fsm-btn-secondary` on the `<li>` (styles the direct `> a` only) or on the `<a>`.
 */
#page-container .et_pb_button.fsm-btn-secondary,
#page-container .et_pb_button.et_pb_button_two,
#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 a.fsm-btn-secondary,
#page-container a.et_pb_bg_layout_dark.fsm-btn-secondary,
#page-container li.fsm-btn-secondary>a,
#page-container li.et_pb_bg_layout_dark.fsm-btn-secondary>a {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-height: 48px !important;
    padding: 12px 21px !important;
    border-radius: 50px !important;
    border: none !important;
    background-color: var(--btn-secondary-bg) !important;
    background-image: none !important;
    color: var(--btn-secondary-text) !important;
    font-family: var(--font-family-heading) !important;
    font-size: var(--font-size-175) !important;
    font-style: normal !important;
    font-weight: var(--font-weight-semibold) !important;
    line-height: normal !important;
    letter-spacing: -0.36px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

#page-container .et_pb_button.fsm-btn-secondary::after,
#page-container .et_pb_button.et_pb_button_two::after,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-secondary::after,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_two::after,
#page-container a.fsm-btn-secondary::after,
#page-container a.et_pb_bg_layout_dark.fsm-btn-secondary::after,
#page-container li.fsm-btn-secondary>a::after,
#page-container li.et_pb_bg_layout_dark.fsm-btn-secondary>a::after {
    display: none !important;
}

#page-container .et_pb_button.fsm-btn-secondary .et_pb_button_text,
#page-container .et_pb_button.et_pb_button_two .et_pb_button_text,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-secondary .et_pb_button_text,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_two .et_pb_button_text {
    color: inherit !important;
}

#page-container .et_pb_button.fsm-btn-secondary:hover,
#page-container .et_pb_button.et_pb_button_two:hover,
#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 a.fsm-btn-secondary:hover,
#page-container a.et_pb_bg_layout_dark.fsm-btn-secondary:hover,
#page-container li.fsm-btn-secondary>a:hover,
#page-container li.et_pb_bg_layout_dark.fsm-btn-secondary>a:hover {
    background-color: var(--btn-secondary-bg-hover) !important;
    background-image: none !important;
    color: var(--btn-secondary-text) !important;
    text-decoration: underline !important;
}

#page-container .et_pb_button.fsm-btn-secondary:hover .et_pb_button_text,
#page-container .et_pb_button.et_pb_button_two:hover .et_pb_button_text,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-secondary:hover .et_pb_button_text,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_two:hover .et_pb_button_text {
    text-decoration: underline !important;
}

#page-container .et_pb_button.fsm-btn-secondary:focus-visible,
#page-container .et_pb_button.et_pb_button_two:focus-visible,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-secondary:focus-visible,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_two:focus-visible,
#page-container a.fsm-btn-secondary:focus-visible,
#page-container a.et_pb_bg_layout_dark.fsm-btn-secondary:focus-visible,
#page-container li.fsm-btn-secondary>a:focus-visible,
#page-container li.et_pb_bg_layout_dark.fsm-btn-secondary>a:focus-visible {
    background-color: var(--btn-secondary-bg-hover) !important;
    background-image: none !important;
    color: var(--btn-secondary-text) !important;
    outline: 2px solid var(--focus-ring-outer) !important;
    outline-offset: 2px !important;
}

/*
 * Tertiary button (fsm-btn-tertiary): sunshine fill, charcoal label (Figma).
 * Add custom class `fsm-btn-tertiary` on the Divi button — there is no et_pb_button_three.
 * Gravity Forms Orbital: footer buttons (Submit, Next, Previous) use tertiary styling automatically.
 * Optional: add `fsm-btn-tertiary` on non-footer GF buttons or where GF exposes a CSS class field.
 * Mega Menu: put `fsm-btn-tertiary` on the `<li>` (styles the direct `> a` only) or on the `<a>`.
 */
#page-container .et_pb_button.fsm-btn-tertiary,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-tertiary,
#page-container a.fsm-btn-tertiary,
#page-container a.et_pb_bg_layout_dark.fsm-btn-tertiary,
#page-container li.fsm-btn-tertiary>a,
#page-container li.et_pb_bg_layout_dark.fsm-btn-tertiary>a,
#page-container input[type="submit"].fsm-btn-tertiary,
#page-container button.fsm-btn-tertiary,
#page-container .gform-theme--orbital input[type="submit"].fsm-btn-tertiary,
#page-container .gform-theme--orbital button[type="submit"].fsm-btn-tertiary {
    box-sizing: border-box !important;
    display: inline-flex;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-height: 48px !important;
    padding: 12px 21px !important;
    border-radius: 50px !important;
    border: none !important;
    background-color: var(--btn-tertiary-bg) !important;
    background-image: none !important;
    color: var(--btn-tertiary-text) !important;
    font-family: var(--font-family-heading) !important;
    font-size: var(--font-size-175) !important;
    font-style: normal !important;
    font-weight: var(--font-weight-semibold) !important;
    line-height: normal !important;
    letter-spacing: -0.36px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

#page-container .et_pb_button.fsm-btn-tertiary::after,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-tertiary::after,
#page-container a.fsm-btn-tertiary::after,
#page-container a.et_pb_bg_layout_dark.fsm-btn-tertiary::after,
#page-container li.fsm-btn-tertiary>a::after,
#page-container li.et_pb_bg_layout_dark.fsm-btn-tertiary>a::after {
    display: none !important;
}

#page-container .et_pb_button.fsm-btn-tertiary .et_pb_button_text,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-tertiary .et_pb_button_text {
    color: inherit !important;
}

#page-container .et_pb_button.fsm-btn-tertiary:hover,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-tertiary:hover,
#page-container a.fsm-btn-tertiary:hover,
#page-container a.et_pb_bg_layout_dark.fsm-btn-tertiary:hover,
#page-container li.fsm-btn-tertiary>a:hover,
#page-container li.et_pb_bg_layout_dark.fsm-btn-tertiary>a:hover,
#page-container input[type="submit"].fsm-btn-tertiary:hover,
#page-container button.fsm-btn-tertiary:hover,
#page-container .gform-theme--orbital input[type="submit"].fsm-btn-tertiary:hover,
#page-container .gform-theme--orbital button[type="submit"].fsm-btn-tertiary:hover {
    background-color: var(--btn-tertiary-bg-hover) !important;
    background-image: none !important;
    color: var(--btn-tertiary-text) !important;
    text-decoration: underline !important;
}

#page-container .et_pb_button.fsm-btn-tertiary:hover .et_pb_button_text,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-tertiary:hover .et_pb_button_text {
    text-decoration: underline !important;
}

#page-container .et_pb_button.fsm-btn-tertiary:focus-visible,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-tertiary:focus-visible,
#page-container a.fsm-btn-tertiary:focus-visible,
#page-container a.et_pb_bg_layout_dark.fsm-btn-tertiary:focus-visible,
#page-container li.fsm-btn-tertiary>a:focus-visible,
#page-container li.et_pb_bg_layout_dark.fsm-btn-tertiary>a:focus-visible,
#page-container input[type="submit"].fsm-btn-tertiary:focus-visible,
#page-container button.fsm-btn-tertiary:focus-visible,
#page-container .gform-theme--orbital input[type="submit"].fsm-btn-tertiary:focus-visible,
#page-container .gform-theme--orbital button[type="submit"].fsm-btn-tertiary:focus-visible {
    background-color: var(--btn-tertiary-bg-hover) !important;
    background-image: none !important;
    color: var(--btn-tertiary-text) !important;
    outline: 2px solid var(--focus-ring-outer) !important;
    outline-offset: 2px !important;
}

/*
 * Quatrinary button (fsm-btn-quatrinary): orange fill, charcoal label (Figma).
 * Custom class on the Divi button (spelling matches design label).
 * Mega Menu: put `fsm-btn-quatrinary` on the `<li>` (styles the direct `> a` only) or on the `<a>`.
 */
#page-container .et_pb_button.fsm-btn-quatrinary,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-quatrinary,
#page-container a.fsm-btn-quatrinary,
#page-container a.et_pb_bg_layout_dark.fsm-btn-quatrinary,
#page-container li.fsm-btn-quatrinary>a,
#page-container li.et_pb_bg_layout_dark.fsm-btn-quatrinary>a {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-height: 48px !important;
    padding: 12px 21px !important;
    border-radius: 50px !important;
    border: none !important;
    background-color: var(--btn-quatrinary-bg) !important;
    background-image: none !important;
    color: var(--btn-quatrinary-text) !important;
    font-family: var(--font-family-heading) !important;
    font-size: var(--font-size-175) !important;
    font-style: normal !important;
    font-weight: var(--font-weight-semibold) !important;
    line-height: normal !important;
    letter-spacing: -0.36px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

#page-container .et_pb_button.fsm-btn-quatrinary::after,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-quatrinary::after,
#page-container a.fsm-btn-quatrinary::after,
#page-container a.et_pb_bg_layout_dark.fsm-btn-quatrinary::after,
#page-container li.fsm-btn-quatrinary>a::after,
#page-container li.et_pb_bg_layout_dark.fsm-btn-quatrinary>a::after {
    display: none !important;
}

#page-container .et_pb_button.fsm-btn-quatrinary .et_pb_button_text,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-quatrinary .et_pb_button_text {
    color: inherit !important;
}

#page-container .et_pb_button.fsm-btn-quatrinary:hover,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-quatrinary:hover,
#page-container a.fsm-btn-quatrinary:hover,
#page-container a.et_pb_bg_layout_dark.fsm-btn-quatrinary:hover,
#page-container li.fsm-btn-quatrinary>a:hover,
#page-container li.et_pb_bg_layout_dark.fsm-btn-quatrinary>a:hover {
    background-color: var(--btn-quatrinary-bg-hover) !important;
    background-image: none !important;
    color: var(--btn-quatrinary-text) !important;
    text-decoration: underline !important;
}

#page-container .et_pb_button.fsm-btn-quatrinary:hover .et_pb_button_text,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-quatrinary:hover .et_pb_button_text {
    text-decoration: underline !important;
}

#page-container .et_pb_button.fsm-btn-quatrinary:focus-visible,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-quatrinary:focus-visible,
#page-container a.fsm-btn-quatrinary:focus-visible,
#page-container a.et_pb_bg_layout_dark.fsm-btn-quatrinary:focus-visible,
#page-container li.fsm-btn-quatrinary>a:focus-visible,
#page-container li.et_pb_bg_layout_dark.fsm-btn-quatrinary>a:focus-visible {
    background-color: var(--btn-quatrinary-bg-hover) !important;
    background-image: none !important;
    color: var(--btn-quatrinary-text) !important;
    outline: 2px solid var(--focus-ring-outer) !important;
    outline-offset: 2px !important;
}

/*
 * Light blue button (fsm-btn-light-blue): light-blue fill (#B2E5F6), charcoal label.
 * Mirrors the quatrinary structure; only the background palette differs.
 * Mega Menu: put `fsm-btn-light-blue` on the `<li>` (styles the direct `> a` only) or on the `<a>`.
 */
#page-container .et_pb_button.fsm-btn-light-blue,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-light-blue,
#page-container a.fsm-btn-light-blue,
#page-container a.et_pb_bg_layout_dark.fsm-btn-light-blue,
#page-container li.fsm-btn-light-blue>a,
#page-container li.et_pb_bg_layout_dark.fsm-btn-light-blue>a {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-height: 48px !important;
    padding: 12px 21px !important;
    border-radius: 50px !important;
    border: none !important;
    background-color: var(--btn-light-blue-bg) !important;
    background-image: none !important;
    color: var(--btn-light-blue-text) !important;
    font-family: var(--font-family-heading) !important;
    font-size: var(--font-size-175) !important;
    font-style: normal !important;
    font-weight: var(--font-weight-semibold) !important;
    line-height: normal !important;
    letter-spacing: -0.36px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

#page-container .et_pb_button.fsm-btn-light-blue::after,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-light-blue::after,
#page-container a.fsm-btn-light-blue::after,
#page-container a.et_pb_bg_layout_dark.fsm-btn-light-blue::after,
#page-container li.fsm-btn-light-blue>a::after,
#page-container li.et_pb_bg_layout_dark.fsm-btn-light-blue>a::after {
    display: none !important;
}

#page-container .et_pb_button.fsm-btn-light-blue .et_pb_button_text,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-light-blue .et_pb_button_text {
    color: inherit !important;
}

#page-container .et_pb_button.fsm-btn-light-blue:hover,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-light-blue:hover,
#page-container a.fsm-btn-light-blue:hover,
#page-container a.et_pb_bg_layout_dark.fsm-btn-light-blue:hover,
#page-container li.fsm-btn-light-blue>a:hover,
#page-container li.et_pb_bg_layout_dark.fsm-btn-light-blue>a:hover {
    background-color: var(--btn-light-blue-bg-hover) !important;
    background-image: none !important;
    color: var(--btn-light-blue-text) !important;
    text-decoration: underline !important;
}

#page-container .et_pb_button.fsm-btn-light-blue:hover .et_pb_button_text,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-light-blue:hover .et_pb_button_text {
    text-decoration: underline !important;
}

#page-container .et_pb_button.fsm-btn-light-blue:focus-visible,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-light-blue:focus-visible,
#page-container a.fsm-btn-light-blue:focus-visible,
#page-container a.et_pb_bg_layout_dark.fsm-btn-light-blue:focus-visible,
#page-container li.fsm-btn-light-blue>a:focus-visible,
#page-container li.et_pb_bg_layout_dark.fsm-btn-light-blue>a:focus-visible {
    background-color: var(--btn-light-blue-bg-hover) !important;
    background-image: none !important;
    color: var(--btn-light-blue-text) !important;
    outline: 2px solid var(--focus-ring-outer) !important;
    outline-offset: 2px !important;
}

/*
 * Get Care CTA — add class `get-care-button` on a Divi button, on a plain `<a>`, or on a mega-menu `<li>`
 * (styles apply to the top-level `li > a` only so nested submenu links are untouched).
 *
 * Default (plain “Get Care” text): sunshine disc + chevron use CSS `::after` pseudo element with literal #f1b434
 * and an inline SVG (works with Font Awesome SVG+JS kits; no webfont required for the glyph).
 * Optional: add `<span class="get-care-button__icon">…</span>` + FA `<i>` if you prefer kit icons;
 * when that wrapper exists, `::after` is suppressed inside `@supports selector(:has(*))` only.
 * Max Mega Menu: default `.mega-indicator` on that link is hidden so it does not duplicate the custom chevron.
 */
#page-container .et_pb_button.get-care-button,
#page-container .et_pb_button.et_pb_bg_layout_dark.get-care-button,
#page-container a.get-care-button,
#page-container a.et_pb_bg_layout_dark.get-care-button,
#page-container li.get-care-button>a,
#page-container li.et_pb_bg_layout_dark.get-care-button>a {
    position: relative !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: 131px !important;
    max-width: 100% !important;
    padding: 5px 34px 5px 10px !important;
    border-radius: 50px !important;
    border: none !important;
    background-color: var(--get-care-bg) !important;
    background-image: none !important;
    color: var(--get-care-label) !important;
    font-family: var(--font-family-body-accent) !important;
    font-size: var(--nav-text-lg) !important;
    font-style: normal !important;
    font-weight: var(--font-weight-bold) !important;
    line-height: normal !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;
    transition: background-color 0.25s ease, color 0.25s ease !important;
}

#page-container .et_pb_button.get-care-button .et_pb_button_text,
#page-container .et_pb_button.et_pb_bg_layout_dark.get-care-button .et_pb_button_text {
    display: inline-flex !important;
    flex: 1 1 auto !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    color: inherit !important;
}

#page-container .et_pb_button.get-care-button .get-care-button__icon,
#page-container .et_pb_button.et_pb_bg_layout_dark.get-care-button .get-care-button__icon,
#page-container a.get-care-button .get-care-button__icon,
#page-container a.et_pb_bg_layout_dark.get-care-button .get-care-button__icon,
#page-container li.get-care-button>a .get-care-button__icon,
#page-container li.et_pb_bg_layout_dark.get-care-button>a .get-care-button__icon {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-shrink: 0 !important;
    width: 23px !important;
    height: 23px !important;
    padding: 4px !important;
    box-sizing: border-box !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    background-color: #f1b434 !important;
    color: var(--navy) !important;
    line-height: 0 !important;
    transform: rotate(0deg) !important;
    transform-origin: center center !important;
    transition: background-color 0.25s ease, transform 0.25s ease !important;
}

#page-container .et_pb_button.get-care-button .get-care-button__icon i,
#page-container .et_pb_button.et_pb_bg_layout_dark.get-care-button .get-care-button__icon i,
#page-container a.get-care-button .get-care-button__icon i,
#page-container a.et_pb_bg_layout_dark.get-care-button .get-care-button__icon i,
#page-container li.get-care-button>a .get-care-button__icon i,
#page-container li.et_pb_bg_layout_dark.get-care-button>a .get-care-button__icon i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 12px !important;
    line-height: 1 !important;
}

#page-container .et_pb_button.get-care-button .get-care-button__icon svg,
#page-container .et_pb_button.et_pb_bg_layout_dark.get-care-button .get-care-button__icon svg,
#page-container a.get-care-button .get-care-button__icon svg,
#page-container a.et_pb_bg_layout_dark.get-care-button .get-care-button__icon svg,
#page-container li.get-care-button>a .get-care-button__icon svg,
#page-container li.et_pb_bg_layout_dark.get-care-button>a .get-care-button__icon svg {
    width: 12px !important;
    height: 12px !important;
    fill: currentColor !important;
    color: inherit !important;
    display: block !important;
}

#page-container .et_pb_button.get-care-button:hover .get-care-button__icon,
#page-container .et_pb_button.et_pb_bg_layout_dark.get-care-button:hover .get-care-button__icon,
#page-container a.get-care-button:hover .get-care-button__icon,
#page-container a.et_pb_bg_layout_dark.get-care-button:hover .get-care-button__icon,
#page-container li.get-care-button>a:hover .get-care-button__icon,
#page-container li.et_pb_bg_layout_dark.get-care-button>a:hover .get-care-button__icon {
    background-color: transparent !important;
    transform: rotate(180deg) !important;
}

#page-container .et_pb_button.get-care-button::before,
#page-container .et_pb_button.et_pb_bg_layout_dark.get-care-button::before,
#page-container a.get-care-button::before,
#page-container a.et_pb_bg_layout_dark.get-care-button::before,
#page-container li.get-care-button>a::before,
#page-container li.et_pb_bg_layout_dark.get-care-button>a::before {
    display: none !important;
    content: none !important;
}

/* Max Mega Menu (desktop): hide plugin dropdown glyph; custom chevron is on `::after`. */
@media screen and (min-width: 982px) {

    #page-container li.get-care-button>a .mega-indicator {
        display: none !important;
    }
}

/*
 * Sunshine disc + chevron (no Font Awesome webfont): beats Divi ::after gradients via full
 * `background` shorthand + #main-content specificity.
 */
#page-container #main-content .et_pb_button.get-care-button::after,
#page-container .et_pb_button.get-care-button::after,
#page-container #main-content a.get-care-button::after,
#page-container a.get-care-button::after,
#page-container #main-content li.get-care-button>a::after,
#page-container li.get-care-button>a::after,
#page-container #main-content a.et_pb_bg_layout_dark.get-care-button::after,
#page-container a.et_pb_bg_layout_dark.get-care-button::after,
#page-container #main-content li.et_pb_bg_layout_dark.get-care-button>a::after,
#page-container li.et_pb_bg_layout_dark.get-care-button>a::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    right: 6px !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 23px !important;
    height: 23px !important;
    min-width: 23px !important;
    min-height: 23px !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    border: none !important;
    border-radius: 16px !important;
    opacity: 1 !important;
    pointer-events: none !important;
    background: #f1b434 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1.5 2L6 6.5 10.5 2' stroke='%23004B87' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 9px 6px no-repeat !important;
    transform: translateY(-50%) rotate(0deg) !important;
    transform-origin: center center !important;
    transition: background 0.25s ease, transform 0.25s ease !important;
}

@supports selector(:has(*)) {

    #page-container .et_pb_button.get-care-button:has(.get-care-button__icon),
    #page-container .et_pb_button.et_pb_bg_layout_dark.get-care-button:has(.get-care-button__icon),
    #page-container a.get-care-button:has(.get-care-button__icon),
    #page-container a.et_pb_bg_layout_dark.get-care-button:has(.get-care-button__icon),
    #page-container li.get-care-button>a:has(.get-care-button__icon),
    #page-container li.et_pb_bg_layout_dark.get-care-button>a:has(.get-care-button__icon) {
        padding: 5px 6px !important;
    }

    #page-container .et_pb_button.get-care-button:has(.get-care-button__icon)::after,
    #page-container .et_pb_button.et_pb_bg_layout_dark.get-care-button:has(.get-care-button__icon)::after,
    #page-container a.get-care-button:has(.get-care-button__icon)::after,
    #page-container a.et_pb_bg_layout_dark.get-care-button:has(.get-care-button__icon)::after,
    #page-container li.get-care-button>a:has(.get-care-button__icon)::after,
    #page-container li.et_pb_bg_layout_dark.get-care-button>a:has(.get-care-button__icon)::after {
        content: none !important;
        display: none !important;
    }
}

#page-container .et_pb_button.get-care-button:hover,
#page-container .et_pb_button.et_pb_bg_layout_dark.get-care-button:hover,
#page-container a.get-care-button:hover,
#page-container a.et_pb_bg_layout_dark.get-care-button:hover,
#page-container li.get-care-button>a:hover,
#page-container li.et_pb_bg_layout_dark.get-care-button>a:hover {
    background-color: var(--get-care-bg-hover) !important;
    background-image: none !important;
    color: var(--get-care-label-hover) !important;
}

#page-container .et_pb_button.get-care-button:focus-visible,
#page-container .et_pb_button.et_pb_bg_layout_dark.get-care-button:focus-visible,
#page-container a.get-care-button:focus-visible,
#page-container a.et_pb_bg_layout_dark.get-care-button:focus-visible,
#page-container li.get-care-button>a:focus-visible,
#page-container li.et_pb_bg_layout_dark.get-care-button>a:focus-visible {
    outline: 2px solid var(--focus-ring-outer) !important;
    outline-offset: 2px !important;
}

#page-container #main-content .et_pb_button.get-care-button:hover::after,
#page-container .et_pb_button.get-care-button:hover::after,
#page-container #main-content .et_pb_button.et_pb_bg_layout_dark.get-care-button:hover::after,
#page-container .et_pb_button.et_pb_bg_layout_dark.get-care-button:hover::after,
#page-container #main-content a.get-care-button:hover::after,
#page-container a.get-care-button:hover::after,
#page-container #main-content a.et_pb_bg_layout_dark.get-care-button:hover::after,
#page-container a.et_pb_bg_layout_dark.get-care-button:hover::after,
#page-container #main-content li.get-care-button>a:hover::after,
#page-container li.get-care-button>a:hover::after,
#page-container #main-content li.et_pb_bg_layout_dark.get-care-button>a:hover::after,
#page-container li.et_pb_bg_layout_dark.get-care-button>a:hover::after {
    background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1.5 2L6 6.5 10.5 2' stroke='%23004B87' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 9px 6px no-repeat !important;
    transform: translateY(-50%) rotate(180deg) !important;
}

@media (prefers-reduced-motion: reduce) {

    #page-container .et_pb_button.get-care-button,
    #page-container .et_pb_button.et_pb_bg_layout_dark.get-care-button,
    #page-container a.get-care-button,
    #page-container a.et_pb_bg_layout_dark.get-care-button,
    #page-container li.get-care-button>a,
    #page-container li.et_pb_bg_layout_dark.get-care-button>a,
    #page-container #main-content .et_pb_button.get-care-button::after,
    #page-container .et_pb_button.get-care-button::after,
    #page-container #main-content a.get-care-button::after,
    #page-container a.get-care-button::after,
    #page-container #main-content li.get-care-button>a::after,
    #page-container li.get-care-button>a::after,
    #page-container #main-content a.et_pb_bg_layout_dark.get-care-button::after,
    #page-container a.et_pb_bg_layout_dark.get-care-button::after,
    #page-container #main-content li.et_pb_bg_layout_dark.get-care-button>a::after,
    #page-container li.et_pb_bg_layout_dark.get-care-button>a::after,
    #page-container .et_pb_button.get-care-button .get-care-button__icon,
    #page-container .et_pb_button.et_pb_bg_layout_dark.get-care-button .get-care-button__icon,
    #page-container a.get-care-button .get-care-button__icon,
    #page-container a.et_pb_bg_layout_dark.get-care-button .get-care-button__icon,
    #page-container li.get-care-button>a .get-care-button__icon,
    #page-container li.et_pb_bg_layout_dark.get-care-button>a .get-care-button__icon {
        transition-duration: 0.02ms !important;
    }
}

/*
 * Max Mega Menu: leaf-shaped panel on primary flyout submenus (top-level panels only).
 * Scoped to direct child `ul.mega-sub-menu` so nested Get Care lists are not double-styled.
 */
#page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-flyout > ul.mega-sub-menu {
    box-sizing: border-box;
    border-radius: 4px 32px 32px 32px;
    border: 2px solid var(--navy);
    background-color: var(--white);
    box-shadow: none;
    list-style: none;
    padding: 12px 14px 14px 14px;
}

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

    /* Slight gap below trigger pills (Get Care, Our Services, etc.) */
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-flyout > ul.mega-sub-menu {
        margin-top: 6px;
    }

    /* Leaf flyouts: grow to longest label (MMM default is 250px and wraps). */
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-flyout:not(.get-care-button) > ul.mega-sub-menu {
        width: max-content;
        max-width: calc(100vw - 48px);
    }
}

/*
 * Get Care mega menu (#mega-menu-item-300): three-column CSS grid panel.
 * Section parents (cols 2–3) use `display: contents` so every link is a grid item;
 * nested links get explicit grid-row (auto-placement fills col 2 first and misaligns col 3).
 * Nested `ul` flex layout is mobile-only — desktop must keep `display: contents` on nested uls.
 * Panel stays position:absolute (MMM flyout) — never relative, or min-height inflates the nav bar.
 */
@media screen and (min-width: 982px) {

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button {
        position: relative;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu {
        display: grid;
        grid-template-columns: max-content max-content max-content;
        grid-auto-rows: max-content;
        column-gap: 24px;
        row-gap: 8px;
        align-items: start;
        position: absolute;
        top: 100%;
        left: 0;
        right: auto;
        z-index: 999;
        width: max-content;
        max-width: calc(100vw - 48px);
        margin: 6px 0 0;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(1) {
        grid-column: 1;
        grid-row: 1;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(2) {
        grid-column: 1;
        grid-row: 2;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(3) {
        grid-column: 1;
        grid-row: 3;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(4) {
        grid-column: 1;
        grid-row: 4;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(-n+4) {
        float: none;
        width: 100%;
        min-width: 0;
    }

    /* Flatten section wrappers; children participate directly in the panel grid. */
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li.mega-menu-item-has-children {
        display: contents;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li.mega-menu-item-has-children > ul.mega-sub-menu {
        display: contents;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(5) > a.mega-menu-link {
        grid-column: 2;
        grid-row: 1;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(5) > ul.mega-sub-menu > li {
        grid-column: 2;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(5) > ul.mega-sub-menu > li:nth-child(1) {
        grid-row: 2;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(5) > ul.mega-sub-menu > li:nth-child(2) {
        grid-row: 3;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(5) > ul.mega-sub-menu > li:nth-child(3) {
        grid-row: 4;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(5) > ul.mega-sub-menu > li:nth-child(4) {
        grid-row: 5;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(5) > ul.mega-sub-menu > li:nth-child(5) {
        grid-row: 6;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(5) > ul.mega-sub-menu > li:nth-child(6) {
        grid-row: 7;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(5) > ul.mega-sub-menu > li:nth-child(7) {
        grid-row: 8;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(5) > ul.mega-sub-menu > li:nth-child(8) {
        grid-row: 9;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(6) > a.mega-menu-link {
        grid-column: 3;
        grid-row: 1;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(6) > ul.mega-sub-menu > li {
        grid-column: 3;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(6) > ul.mega-sub-menu > li:nth-child(1) {
        grid-row: 2;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(6) > ul.mega-sub-menu > li:nth-child(2) {
        grid-row: 3;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(6) > ul.mega-sub-menu > li:nth-child(3) {
        grid-row: 4;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(6) > ul.mega-sub-menu > li:nth-child(4) {
        grid-row: 5;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(6) > ul.mega-sub-menu > li:nth-child(5) {
        grid-row: 6;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(6) > ul.mega-sub-menu > li:nth-child(6) {
        grid-row: 7;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(6) > ul.mega-sub-menu > li:nth-child(7) {
        grid-row: 8;
    }
}

/*
 * Nested flyouts become in-panel lists (no second bordered box).
 * `visibility: inherit` (not `visible`) follows the outer panel visibility state.
 * Flex layout is mobile-only; desktop uses `display: contents` (see grid block above).
 */
#page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu li.mega-menu-item > ul.mega-sub-menu {
    position: static;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    transform: none;
    opacity: 1;
    visibility: inherit;
    float: none;
    width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    border: none;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
}

#page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu li.mega-menu-item > ul.mega-sub-menu > li {
    float: none;
    width: 100%;
}

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

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu li.mega-menu-item > ul.mega-sub-menu {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }
}

#page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li.mega-menu-item-has-children > a.mega-menu-link .mega-indicator {
    display: none;
}

#page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu a.mega-menu-link {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: 0.25em 1em;
    line-height: normal;
    white-space: nowrap;
}

#page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu li#mega-menu-item-337 > a.mega-menu-link {
    white-space: normal;
    overflow-wrap: break-word;
}

#page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(-n+4) > a.mega-menu-link {
    font-weight: var(--font-weight-bold);
}

#page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(5) > a.mega-menu-link,
#page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(6) > a.mega-menu-link {
    font-weight: var(--font-weight-bold);
}

#page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu li.mega-menu-item > ul.mega-sub-menu a.mega-menu-link {
    font-weight: var(--font-weight-regular);
}


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

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button:not(.mega-toggle-on) > ul.mega-sub-menu {
        display: none;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button.mega-toggle-on > ul.mega-sub-menu {
        display: block;
        position: static;
        top: auto;
        left: auto;
        grid-template-columns: none;
        height: auto;
        min-height: 0;
        width: 100%;
        min-width: 0;
        max-width: none;
        overflow: visible;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button.mega-toggle-on > ul.mega-sub-menu > li:nth-child(-n+6) {
        position: static;
        top: auto;
        left: auto;
        grid-column: auto;
        grid-row: auto;
        width: 100%;
        min-width: 0;
        max-width: none;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button.mega-toggle-on > ul.mega-sub-menu > li.mega-menu-item-has-children {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button.mega-toggle-on > ul.mega-sub-menu > li.mega-menu-item-has-children > ul.mega-sub-menu {
        display: flex;
        flex-direction: column;
        gap: 8px;
    }
}

/*
 * Link-style button (`fsm-btn-link`): no fill; DM Sans; chevron in ::after (absolute, out of flow).
 * Hover/focus: underline only on label text (not under chevron) + chevron slides right (~0.2s).
 */
#page-container #main-content .et_pb_button.fsm-btn-link,
#page-container .et_pb_button.fsm-btn-link {
    box-sizing: border-box !important;
    position: relative !important;
    display: inline-block !important;
    padding: 0.25em calc(12px + 0.35em) 0.25em 0 !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: var(--btn-link-text) !important;
    font-family: var(--font-family-heading) !important;
    font-size: var(--font-size-175) !important;
    font-style: normal !important;
    font-weight: var(--font-weight-semibold) !important;
    line-height: normal !important;
    letter-spacing: -0.36px !important;
    text-align: center !important;
    text-transform: none !important;
    overflow: visible !important;
    transition: color 0.2s ease, text-decoration-color 0.2s ease !important;
}

#page-container .et_pb_button.fsm-btn-link .et_pb_button_text {
    display: inline !important;
    color: inherit !important;
}

#page-container .et_pb_button.fsm-btn-link::before {
    display: none !important;
    content: none !important;
}

body #page-container #main-content .et_pb_button.fsm-btn-link::after,
body #page-container .et_pb_button.fsm-btn-link::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    right: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    width: 12px !important;
    height: 12px !important;
    min-width: 12px !important;
    min-height: 12px !important;
    box-sizing: border-box !important;
    transform: translateY(-50%) !important;
    text-shadow: none !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    font-feature-settings: normal !important;
    font-variant: normal !important;
    font-style: normal !important;
    text-transform: none !important;
    pointer-events: none !important;
    z-index: 1 !important;
    background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 12' fill='none'%3E%3Cpath d='M2 2L6 6 2 10' stroke='%23000000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px 10px no-repeat !important;
    transition: transform 0.2s ease !important;
}

#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-link {
    color: var(--white) !important;
}

body #page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-link::after {
    background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 12' fill='none'%3E%3Cpath d='M2 2L6 6 2 10' stroke='%23FFFFFF' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px 10px no-repeat !important;
}

#page-container .et_pb_button.fsm-btn-link:hover,
#page-container .et_pb_button.fsm-btn-link:focus-visible {
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 0.12em !important;
    border-bottom: none !important;
}

#page-container .et_pb_button.fsm-btn-link:not(.et_pb_bg_layout_dark):hover,
#page-container .et_pb_button.fsm-btn-link:not(.et_pb_bg_layout_dark):focus-visible {
    color: var(--btn-link-text) !important;
    text-decoration-color: #000000 !important;
}

#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-link:hover,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-link:focus-visible {
    color: var(--white) !important;
    text-decoration-color: #ffffff !important;
}

body #page-container #main-content .et_pb_button.fsm-btn-link:hover::after,
body #page-container .et_pb_button.fsm-btn-link:hover::after,
body #page-container #main-content .et_pb_button.fsm-btn-link:focus-visible::after,
body #page-container .et_pb_button.fsm-btn-link:focus-visible::after {
    transform: translate(6px, -50%) !important;
}

#page-container .et_pb_button.fsm-btn-link:focus-visible {
    outline: 2px solid var(--focus-ring-outer) !important;
    outline-offset: 3px !important;
}

@media (prefers-reduced-motion: reduce) {

    #page-container #main-content .et_pb_button.fsm-btn-link,
    #page-container .et_pb_button.fsm-btn-link,
    body #page-container #main-content .et_pb_button.fsm-btn-link::after,
    body #page-container .et_pb_button.fsm-btn-link::after {
        transition-duration: 0.01ms !important;
    }
}

/*
 * Link-style button (`fsm-btn-link-reverse`): same as `fsm-btn-link`; chevron in ::after on the left.
 * Hover/focus: underline on label + chevron slides left (~0.2s).
 */
#page-container #main-content .et_pb_button.fsm-btn-link-reverse,
#page-container .et_pb_button.fsm-btn-link-reverse {
    box-sizing: border-box !important;
    position: relative !important;
    display: inline-block !important;
    padding: 0.25em 0 0.25em calc(12px + 0.35em) !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
    color: var(--btn-link-text) !important;
    font-family: var(--font-family-heading) !important;
    font-size: var(--font-size-175) !important;
    font-style: normal !important;
    font-weight: var(--font-weight-semibold) !important;
    line-height: normal !important;
    letter-spacing: -0.36px !important;
    text-align: center !important;
    text-transform: none !important;
    overflow: visible !important;
    transition: color 0.2s ease, text-decoration-color 0.2s ease !important;
}

#page-container .et_pb_button.fsm-btn-link-reverse .et_pb_button_text {
    display: inline !important;
    color: inherit !important;
}

#page-container .et_pb_button.fsm-btn-link-reverse::before {
    display: none !important;
    content: none !important;
}

body #page-container #main-content .et_pb_button.fsm-btn-link-reverse::after,
body #page-container .et_pb_button.fsm-btn-link-reverse::after {
    content: "" !important;
    position: absolute !important;
    top: 50% !important;
    left: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 1 !important;
    visibility: visible !important;
    display: block !important;
    width: 12px !important;
    height: 12px !important;
    min-width: 12px !important;
    min-height: 12px !important;
    box-sizing: border-box !important;
    transform: translateY(-50%) !important;
    text-shadow: none !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-family: inherit !important;
    font-weight: inherit !important;
    font-feature-settings: normal !important;
    font-variant: normal !important;
    font-style: normal !important;
    text-transform: none !important;
    pointer-events: none !important;
    z-index: 1 !important;
    background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 12' fill='none'%3E%3Cpath d='M6 2L2 6 6 10' stroke='%23000000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px 10px no-repeat !important;
    transition: transform 0.2s ease !important;
}

#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-link-reverse {
    color: var(--white) !important;
}

body #page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-link-reverse::after {
    background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 12' fill='none'%3E%3Cpath d='M6 2L2 6 6 10' stroke='%23FFFFFF' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px 10px no-repeat !important;
}

#page-container .et_pb_button.fsm-btn-link-reverse:hover,
#page-container .et_pb_button.fsm-btn-link-reverse:focus-visible {
    background: none !important;
    background-color: transparent !important;
    background-image: none !important;
    text-decoration: underline !important;
    text-decoration-thickness: 2px !important;
    text-underline-offset: 0.12em !important;
    border-bottom: none !important;
}

#page-container .et_pb_button.fsm-btn-link-reverse:not(.et_pb_bg_layout_dark):hover,
#page-container .et_pb_button.fsm-btn-link-reverse:not(.et_pb_bg_layout_dark):focus-visible {
    color: var(--btn-link-text) !important;
    text-decoration-color: #000000 !important;
}

#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-link-reverse:hover,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-link-reverse:focus-visible {
    color: var(--white) !important;
    text-decoration-color: #ffffff !important;
}

body #page-container #main-content .et_pb_button.fsm-btn-link-reverse:hover::after,
body #page-container .et_pb_button.fsm-btn-link-reverse:hover::after,
body #page-container #main-content .et_pb_button.fsm-btn-link-reverse:focus-visible::after,
body #page-container .et_pb_button.fsm-btn-link-reverse:focus-visible::after {
    transform: translate(-6px, -50%) !important;
}

#page-container .et_pb_button.fsm-btn-link-reverse:focus-visible {
    outline: 2px solid var(--focus-ring-outer) !important;
    outline-offset: 3px !important;
}

@media (prefers-reduced-motion: reduce) {

    #page-container #main-content .et_pb_button.fsm-btn-link-reverse,
    #page-container .et_pb_button.fsm-btn-link-reverse,
    body #page-container #main-content .et_pb_button.fsm-btn-link-reverse::after,
    body #page-container .et_pb_button.fsm-btn-link-reverse::after {
        transition-duration: 0.01ms !important;
    }
}

/* ── FSM Hero Link Button ────────────────────────────────── */
/*
 * Targets Divi's flat <a class="et_pb_button fsm-btn-hero-link"> structure.
 * Divi uses ::before for its hover background animation (position:absolute),
 * so that pseudo-element is suppressed here. The chevron lives on ::after
 * with order:-1 to render it on the LEFT inside the flex row.
 */

a.et_pb_button.fsm-btn-hero-link {
    display: flex !important;
    flex-direction: row;
    align-items: center !important;
    gap: 16px;
    width: max-content;
    padding: 10px;
    background: transparent !important;
    border: none !important;
    border-radius: 0;
    box-shadow: none !important;
    letter-spacing: normal;
    text-transform: none;
    cursor: pointer;
    text-decoration: none;

    color: var(--Sunshine, #F1B434) !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    font-style: normal;
    line-height: 1.2 !important;

    transition: color 0.3s ease, gap 0.3s ease;
}

/* Suppress Divi's ::before hover background animation */
a.et_pb_button.fsm-btn-hero-link::before {
    display: none !important;
    content: none !important;
}

/* Left chevron via ::after + order:-1 — SVG mask for smooth color transition */
a.et_pb_button.fsm-btn-hero-link::after {
    content: '' !important;
    display: block !important;
    position: static !important;
    order: -1;
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0;
    opacity: 1 !important;
    background-color: var(--Sunshine, #F1B434);
    -webkit-mask-image: url('/wp-content/uploads/chevron-right-white2.svg');
    mask-image: url('/wp-content/uploads/chevron-right-white2.svg');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    transition: background-color 0.3s ease;
    /* Reset Divi .et_pb_button::after defaults (absolute + translateY(-50%)). */
    transform: none !important;
    top: auto !important;
    font-size: inherit !important;
    line-height: 1 !important;
}

/* --- HOVER STATE --- */

a.et_pb_button.fsm-btn-hero-link:hover {
    gap: 8px;
    padding: 10px !important;
    color: var(--White, #FFF) !important;
    background: transparent !important;
    border: none !important;
    text-decoration: underline;
    text-decoration-style: solid;
    text-underline-offset: auto;
    text-decoration-skip-ink: auto;
}

a.et_pb_button.fsm-btn-hero-link:hover::after {
    background-color: var(--White, #FFF);
    transform: none !important;
}

/*
 * Optional (Divi Custom CSS Class): add `hero-btn-specific-scaling` next to `fsm-btn-hero-link`.
 * ≤980px: same vertical padding as default hero link (10px).
 * 981px–1023px: hold at 0px vertical padding.
 * 1024px–1300px: fluid 0→10px from 1024→1300px viewport width; horizontal stays 10px.
 */
#page-container a.et_pb_button.fsm-btn-hero-link.hero-btn-specific-scaling,
#page-container a.et_pb_button.fsm-btn-hero-link.hero-btn-specific-scaling:hover {
    padding-inline: 10px !important;
}

@media (max-width: 980px) {

    #page-container a.et_pb_button.fsm-btn-hero-link.hero-btn-specific-scaling,
    #page-container a.et_pb_button.fsm-btn-hero-link.hero-btn-specific-scaling:hover {
        padding-block: 10px !important;
    }
}

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

    #page-container a.et_pb_button.fsm-btn-hero-link.hero-btn-specific-scaling,
    #page-container a.et_pb_button.fsm-btn-hero-link.hero-btn-specific-scaling:hover {
        padding-block: 0px !important;
    }
}

@media (min-width: 1024px) {

    #page-container a.et_pb_button.fsm-btn-hero-link.hero-btn-specific-scaling,
    #page-container a.et_pb_button.fsm-btn-hero-link.hero-btn-specific-scaling:hover {
        padding-block: clamp(0px, calc((100vw - 1024px) * 10 / 276), 10px) !important;
    }
}

/* ── FSM Quick Link Button ───────────────────────────────── */
/*
 * Copy of fsm-btn-hero-link with black text/chevron for use on light backgrounds.
 * Swap the chevron SVG via the mask-image properties in ::after below.
 */

a.et_pb_button.fsm-btn-quick-link {
    display: flex !important;
    flex-direction: row;
    align-items: center !important;
    gap: 16px;
    width: max-content;
    padding: 10px;
    background: transparent !important;
    border: none !important;
    border-radius: 0;
    box-shadow: none !important;
    letter-spacing: normal;
    text-transform: none;
    cursor: pointer;
    text-decoration: none;

    color: #000 !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    font-style: normal;
    line-height: 1.2 !important;

    transition: color 0.3s ease, gap 0.3s ease;
}

/* Suppress Divi's ::before hover background animation */
a.et_pb_button.fsm-btn-quick-link::before {
    display: none !important;
    content: none !important;
}

/* Left chevron via ::after + order:-1 — SVG mask for smooth color transition */
a.et_pb_button.fsm-btn-quick-link::after {
    content: '' !important;
    display: block !important;
    position: static !important;
    order: -1;
    width: 18px !important;
    height: 18px !important;
    flex-shrink: 0;
    opacity: 1 !important;
    background-color: #000;
    -webkit-mask-image: url('/wp-content/uploads/chevron-right-white2.svg');
    mask-image: url('/wp-content/uploads/chevron-right-white2.svg');
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
    transition: background-color 0.3s ease;
    /* Reset Divi .et_pb_button::after defaults (absolute + translateY(-50%)). */
    transform: none !important;
    top: auto !important;
    font-size: inherit !important;
    line-height: 1 !important;
}

/* --- HOVER STATE --- */

a.et_pb_button.fsm-btn-quick-link:hover {
    gap: 8px;
    padding: 10px;
    color: #000 !important;
    background: transparent !important;
    border: none !important;
    text-decoration: underline;
    text-decoration-style: solid;
    text-underline-offset: auto;
    text-decoration-skip-ink: auto;
}

a.et_pb_button.fsm-btn-quick-link:hover::after {
    background-color: #000;
    transform: none !important;
}

/* Light text variant: Divi "Text Color → Light" adds et_pb_bg_layout_dark */
a.et_pb_button.et_pb_bg_layout_dark.fsm-btn-quick-link {
    color: #fff !important;
}

a.et_pb_button.et_pb_bg_layout_dark.fsm-btn-quick-link::after {
    background-color: #fff;
}

a.et_pb_button.et_pb_bg_layout_dark.fsm-btn-quick-link:hover {
    color: #fff !important;
}

a.et_pb_button.et_pb_bg_layout_dark.fsm-btn-quick-link:hover::after {
    background-color: #fff;
    transform: none !important;
}

/* ── Fluid Sizing: Hero Link & Quick Link ────────────────── */

@media (min-width: 472px) and (max-width: 767px) {

    a.et_pb_button.fsm-btn-hero-link,
    a.et_pb_button.fsm-btn-quick-link {
        font-size: clamp(18px, 2.034vw + 8.4px, 24px) !important;
    }

    a.et_pb_button.fsm-btn-hero-link::after,
    a.et_pb_button.fsm-btn-quick-link::after {
        width: clamp(18px, 2.034vw + 8.4px, 24px) !important;
        height: clamp(18px, 2.034vw + 8.4px, 24px) !important;
    }
}

@media (min-width: 768px) {

    a.et_pb_button.fsm-btn-hero-link,
    a.et_pb_button.fsm-btn-quick-link {
        font-size: 24px !important;
    }

    a.et_pb_button.fsm-btn-hero-link::after,
    a.et_pb_button.fsm-btn-quick-link::after {
        width: 24px !important;
        height: 24px !important;
    }
}

/*
 * Quick link — column-contained variant.
 * Stack with fsm-btn-quick-link on buttons in narrow/bordered columns.
 * Text wraps inside the column; chevron aligns to the first line.
 */
#page-container .et_pb_button_module_wrapper:has(.fsm-btn-quick-link-contained) {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

a.et_pb_button.fsm-btn-quick-link.fsm-btn-quick-link-contained {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0;
    box-sizing: border-box;
    align-self: stretch;
    white-space: normal;
    overflow-wrap: break-word;
    overflow: hidden;
    text-align: left !important;
    align-items: flex-start !important;
}

a.et_pb_button.fsm-btn-quick-link.fsm-btn-quick-link-contained::after {
    align-self: flex-start;
    margin-top: 0 !important;
    flex-shrink: 0;
}

a.et_pb_button.fsm-btn-quick-link.fsm-btn-quick-link-contained:hover::after {
    margin-top: 0 !important;
    transform: none !important;
}


/* WHITE BUTTON*/
#page-container .et_pb_button.fsm-btn-white {}

#page-container .et_pb_button.fsm-btn-white:hover {}

#page-container .et_pb_button.fsm-btn-white:focus {}

/* LARGE BUTTON SIZING */
#page-container .et_pb_button.large {
    padding: 1em 2em;
    font-size: var(--font-size-200);
}

/* SMALL BUTTON SIZING */
#page-container .et_pb_button.small {
    padding: .7em 1.3em;
    font-size: 14px;
}

/* Primary / secondary keep Figma sizing if Divi .large / .small are toggled */
#page-container .et_pb_button.fsm-btn-primary.large,
#page-container .et_pb_button.et_pb_button_one.large,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-primary.large,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_one.large,
#page-container a.fsm-btn-primary.large,
#page-container a.et_pb_bg_layout_dark.fsm-btn-primary.large,
#page-container li.fsm-btn-primary.large>a,
#page-container li.et_pb_bg_layout_dark.fsm-btn-primary.large>a,
#page-container .et_pb_button.fsm-btn-primary.small,
#page-container .et_pb_button.et_pb_button_one.small,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-primary.small,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_one.small,
#page-container a.fsm-btn-primary.small,
#page-container a.et_pb_bg_layout_dark.fsm-btn-primary.small,
#page-container li.fsm-btn-primary.small>a,
#page-container li.et_pb_bg_layout_dark.fsm-btn-primary.small>a,
#page-container .et_pb_button.fsm-btn-secondary.large,
#page-container .et_pb_button.et_pb_button_two.large,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-secondary.large,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_two.large,
#page-container .et_pb_button.fsm-btn-secondary.small,
#page-container .et_pb_button.et_pb_button_two.small,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-secondary.small,
#page-container .et_pb_button.et_pb_bg_layout_dark.et_pb_button_two.small,
#page-container .et_pb_button.fsm-btn-tertiary.large,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-tertiary.large,
#page-container .et_pb_button.fsm-btn-tertiary.small,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-tertiary.small,
#page-container .et_pb_button.fsm-btn-quatrinary.large,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-quatrinary.large,
#page-container .et_pb_button.fsm-btn-quatrinary.small,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-quatrinary.small,
#page-container .et_pb_button.fsm-btn-light-blue.large,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-light-blue.large,
#page-container .et_pb_button.fsm-btn-light-blue.small,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-light-blue.small {
    font-size: var(--font-size-175) !important;
    padding: 12px 21px !important;
    min-height: 48px !important;
    line-height: normal !important;
}

/* Link button: keep text sizing if Divi .large / .small are toggled (no pill padding). */
#page-container .et_pb_button.fsm-btn-link.large,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-link.large,
#page-container .et_pb_button.fsm-btn-link.small,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-link.small,
#page-container .et_pb_button.fsm-btn-link-reverse.large,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-link-reverse.large,
#page-container .et_pb_button.fsm-btn-link-reverse.small,
#page-container .et_pb_button.et_pb_bg_layout_dark.fsm-btn-link-reverse.small {
    font-size: var(--font-size-175) !important;
    padding: 0.25em 0 !important;
    min-height: 0 !important;
    line-height: normal !important;
}

/* ACCESSIBILITY UNIVERSAL TEXT LINKS */
#main-content a:not(.et_pb_button, .icon, img, .fsm-post-list a, .card, .related-service__link, .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, .related-service__link):hover {
    border-radius: 3px;
    background-color: var(--text-link-hover-surface);
    transition: ease all .2s;
}

/*
 * Font sizing and families (front-end only; not Visual Builder).
 * Scoped to #page-container. Heading utilities (.h1–.h6) pair with tags; body
 * copy utilities (.large / .small / .oversize) use var(--large) etc. and
 * exclude .et_pb_button so Divi button .large/.small stay intact.
 */
body:not(.et-vb-root-ancestor) #page-container {
    --h1: clamp(3rem, 2.5714rem + 1.9048vw, 4rem);
    --h2: clamp(2.5rem, 2.2857rem + 0.9524vw, 3rem);
    --h3: clamp(1.5rem, 1.5rem + 0vw, 1.5rem);
    --h4: 1.75rem;
    --h5: 1.5rem;
    --h6: 1.25rem;
    --large: clamp(1.5rem, 1.5rem + 0vw, 1.5rem);
    --small: clamp(0.75rem, 0.75rem + 0vw, 0.75rem);
    --oversize: 1.5rem;

    font-family: var(--font-family-body);

    h1,
    .h1 {
        font-family: var(--font-family-heading);
        font-size: var(--h1);
        line-height: 0.979167;
        font-weight: var(--font-weight-bold);
    }

    h2,
    .h2 {
        font-family: var(--font-family-heading);
        font-size: var(--h2);
        line-height: 1.15;
        font-weight: var(--font-weight-bold);
        letter-spacing: -0.01em;
    }

    h3,
    .h3 {
        font-family: var(--font-family-heading);
        font-size: var(--h3);
        line-height: 1.2;
        font-weight: var(--font-weight-black);
        letter-spacing: -0.03em;
    }

    h4,
    .h4 {
        font-family: var(--font-family-heading);
        font-size: var(--h4);
        line-height: 1.2;
        font-weight: var(--font-weight-regular);
    }

    h5,
    .h5 {
        font-family: var(--font-family-heading);
        font-size: var(--h5);
        line-height: 1.2;
        font-weight: var(--font-weight-regular);
    }

    h6,
    .h6 {
        font-family: var(--font-family-heading);
        font-size: var(--h6);
        line-height: 1.2;
        font-weight: var(--font-weight-regular);
    }

    p,
    li {
        font-family: var(--font-family-body) !important;
        font-size: clamp(1rem, 1rem + 0vw, 1rem) !important;
    }

    /* Paragraph lead / fine print / oversize; exclude Divi `.et_pb_button.large/.small` (sizing lives on button rules). */
    .large:not(.et_pb_button) {
        font-family: var(--font-family-body-accent) !important;
        font-size: var(--large) !important;
        line-height: 1.5;
        font-weight: var(--font-weight-regular) !important;
    }

    .small:not(.et_pb_button) {
        font-family: var(--font-family-body-accent) !important;
        font-size: var(--small) !important;
        line-height: 1.5;
        font-weight: var(--font-weight-regular) !important;
    }

    .oversize:not(.et_pb_button),
    .oversize p {
        font-family: var(--font-family-body-accent) !important;
        font-size: var(--oversize) !important;
        line-height: 1.4;
        font-weight: var(--font-weight-bold) !important;
    }
}

/*Blog Font Sizes*/
body:not(.et-vb-root-ancestor).post-template-default {
    h1 {
        &.entry-title {
            font-size: clamp(1.75rem, round(1.125rem + 2cqi, 0.5em), 2.625rem);
        }
    }

    h2 {
        font-size: clamp(1.5rem, round(0.875rem + 2cqi, 0.5em), 2.375rem);
    }

    h3 {
        font-size: clamp(1.25rem, round(0.75rem + 2cqi, 0.5em), 2.125rem);
    }

    h4 {
        font-size: clamp(1.125rem, round(0.625rem + 2cqi, 0.5em), 1.875rem);
    }

    h5 {
        font-size: clamp(1rem, round(0.5rem + 2cqi, 0.5em), 1.625rem);
    }

    h6 {
        font-size: clamp(0.875rem, round(0.375rem + 2cqi, 0.5em), 1.375rem);
    }
}

/* END FONT STYLE */

/* ============================================================
 * Leaf corner utilities — use in Divi Builder CSS Class field.
 *
 * Clears conflicting Divi border-radius decoration when possible;
 * !important overrides builder output on the same element.
 * Mobile (<768px) uses --leaf-radius-*-mobile tokens automatically.
 * ============================================================ */
#page-container .leaf-point-top-left {
    border-radius: var(--leaf-radius-point-top-left) !important;
}

#page-container .leaf-point-top-right {
    border-radius: var(--leaf-radius-point-top-right) !important;
}

#page-container .leaf-point-bottom-right {
    border-radius: var(--leaf-radius-point-bottom-right) !important;
}

#page-container .leaf-point-bottom-left {
    border-radius: var(--leaf-radius-point-bottom-left) !important;
}

#page-container .leaf-point-bottom-right-soft {
    border-radius: var(--leaf-radius-point-bottom-right-soft) !important;
}

@media (max-width: 767px) {
    #page-container .leaf-point-top-left {
        border-radius: var(--leaf-radius-point-top-left-mobile) !important;
    }

    #page-container .leaf-point-top-right {
        border-radius: var(--leaf-radius-point-top-right-mobile) !important;
    }

    #page-container .leaf-point-bottom-right {
        border-radius: var(--leaf-radius-point-bottom-right-mobile) !important;
    }

    #page-container .leaf-point-bottom-left {
        border-radius: var(--leaf-radius-point-bottom-left-mobile) !important;
    }
}


/* START HEADER STYLES */
#top-header {
    z-index: 99998;
}

#et-secondary-nav li ul,
#top-header {
    background-color: #fff
}

#main-header {
    margin-top: 20px;

}

.et-l--header #main-header {
    z-index: 99999 !important;
}


#top-header .et_pb_row,
#main-header .et_menu_container.et_pb_row {
    max-width: 1440px;
    width: 95%;
}

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

    .mega-menu li a {
        color: var(--text-heading) !important;
        transition: color 0.2s ease, background-color 0.2s ease, text-decoration-color 0.2s ease, opacity 0.2s ease;
    }
}

/* ACTIVE LINK STYLES */

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

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

    /*
     * Mega menu interactive states (WCAG 2.2 AA): top-level links underline; flyout rows use background.
     * Button-styled items (Get Care, fsm-btn-*) keep their component hover/focus rings.
     */
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item:not(.get-care-button):not(.fsm-btn-primary):not(.mega-fsm-btn-primary) > a.mega-menu-link:hover,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item:not(.get-care-button):not(.fsm-btn-primary):not(.mega-fsm-btn-primary) > a.mega-menu-link:focus-visible {
        opacity: 1;
        text-decoration: underline 2px currentColor;
        text-underline-offset: 8px;
    }
}

/* Primary mega menu: top-level links (plugin often sets font-family: inherit). */
#page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu>li.mega-menu-item>a.mega-menu-link {
    font-family: var(--font-family-body-accent) !important;
}

/* Secondary mega menu: top-level links (same as primary). */
#page-container #mega-menu-wrap-secondary-menu #mega-menu-secondary-menu>li.mega-menu-item>a.mega-menu-link {
    font-family: var(--font-family-body-accent) !important;
}

#mega-menu-wrap-primary-menu #mega-menu-primary-menu>li.mega-menu-item.mega-fsm-btn-primary {
    margin-right: 0;
}

/*
 * Mobile primary drawer (Figma 131:554): navy leaf panel, sunshine nav links,
 * inline +/- indicators, utility CTAs as pills, merged secondary items reordered.
 */
@media screen and (max-width: 981px) {

    #page-container #mega-menu-wrap-primary-menu .mega-menu-toggle + #mega-menu-primary-menu {
        width: min(297px, calc(100vw - 24px));
        max-width: min(297px, calc(100vw - 24px));
        right: min(-297px, calc(-100vw + 24px));
        visibility: hidden;
        height: auto;
        max-height: calc(100dvh - 24px);
        top: 12px;
        padding: 37px 16px 24px;
        background-color: var(--navy);
        border: 2px solid var(--navy);
        border-radius: 32px 4px 32px 32px;
        box-shadow: 0 4px 4px rgba(0, 0, 0, 0.25);
        gap: 0;
        flex-direction: column;
        align-items: flex-start;
    }

    #page-container #mega-menu-wrap-primary-menu .mega-menu-toggle.mega-menu-open + #mega-menu-primary-menu {
        right: 0;
        visibility: visible;
        background-color: var(--navy);
        z-index: 9999999999;
    }

    /*
     * Drawer close: hamburger-matching X (4px rounded bars), fixed above the navy panel.
     * Replaces MMM dashicons glyph and corrects stacking vs. the off-canvas panel.
     */
    #page-container #mega-menu-wrap-primary-menu .mega-menu-toggle.mega-menu-open ~ button.mega-close {
        position: fixed !important;
        top: 17px !important;
        right: 16px !important;
        left: auto !important;
        width: 40px;
        height: 40px;
        z-index: 10000000001 !important;
        visibility: visible !important;
        opacity: 1 !important;
        display: flex !important;
        align-items: center;
        justify-content: center;
        padding: 0;
        margin: 0;
        border: none;
        background: transparent;
        cursor: pointer;
        color: transparent;
        pointer-events: auto;
    }

    #page-container #mega-menu-wrap-primary-menu .mega-menu-toggle.mega-menu-open ~ button.mega-close::before,
    #page-container #mega-menu-wrap-primary-menu .mega-menu-toggle.mega-menu-open ~ button.mega-close::after {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 40px;
        height: 4px;
        margin-left: -20px;
        margin-top: -2px;
        background-color: var(--white);
        border-radius: 4px;
        font-family: none;
        font-size: 0;
        font-weight: normal;
        line-height: 1;
        display: block;
        transition: transform 0.15s ease;
    }

    #page-container #mega-menu-wrap-primary-menu .mega-menu-toggle.mega-menu-open ~ button.mega-close::before {
        transform: rotate(45deg);
    }

    #page-container #mega-menu-wrap-primary-menu .mega-menu-toggle.mega-menu-open ~ button.mega-close::after {
        transform: rotate(-45deg);
    }

    /* Shortcode wrapper: hide empty parent link; child mobile-menu-item rows supply the drawer links. */
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mobile-hide,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mega-mobile-hide {
        display: block;
        margin: 0;
        width: 100%;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mobile-hide > a.mega-menu-link,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mega-mobile-hide > a.mega-menu-link {
        display: none;
        height: 0;
        padding: 0;
        margin: 0;
        overflow: hidden;
        visibility: hidden;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item {
        margin: 0 0 17px;
        width: 100%;
        clear: both;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item > a.mega-menu-link {
        display: inline-flex;
        align-items: flex-end;
        gap: 5px;
        width: auto;
        height: auto;
        padding: 0;
        background: transparent;
        color: var(--sunshine);
        font-family: var(--font-family-body-accent);
        font-size: var(--nav-text-lg);
        font-weight: var(--font-weight-bold);
        line-height: normal;
        text-align: left;
        text-decoration: none;
        border-radius: 0;
        box-shadow: none;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item > a.mega-menu-link:hover,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item > a.mega-menu-link:focus,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item > a.mega-menu-link:focus-visible,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item > a.mega-menu-link:active,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mega-current-menu-item > a.mega-menu-link,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mega-current-menu-ancestor > a.mega-menu-link {
        color: var(--sunshine);
        text-decoration: none !important;
        background: transparent;
        opacity: 1;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item > a.mega-menu-link .mega-indicator,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item > a.mega-menu-link .mega-indicator::after {
        text-decoration: none !important;
    }

    /* Get Care + Donate: text links on mobile (not desktop pill buttons). */
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > a.mega-menu-link,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.fsm-btn-primary > a.mega-menu-link {
        position: static !important;
        box-sizing: border-box !important;
        display: inline-flex !important;
        flex-direction: row !important;
        align-items: flex-end !important;
        justify-content: flex-start !important;
        gap: 5px !important;
        width: auto !important;
        max-width: none !important;
        min-height: 0 !important;
        padding: 0 !important;
        border: none !important;
        border-radius: 0 !important;
        background: transparent !important;
        background-color: transparent !important;
        background-image: none !important;
        color: var(--sunshine) !important;
        font-family: var(--font-family-body-accent) !important;
        font-size: var(--nav-text-lg) !important;
        font-weight: var(--font-weight-bold) !important;
        line-height: normal !important;
        text-decoration: none !important;
        box-shadow: none !important;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > a.mega-menu-link::after,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > a.mega-menu-link::before,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.fsm-btn-primary > a.mega-menu-link::after,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.fsm-btn-primary > a.mega-menu-link::before {
        display: none !important;
        content: none !important;
        width: 0 !important;
        height: 0 !important;
        opacity: 0 !important;
        visibility: hidden !important;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > a.mega-menu-link .get-care-button__icon {
        display: none !important;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > a.mega-menu-link .mega-indicator {
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator {
        position: static;
        float: none;
        margin: 0;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 20px;
        height: 20px;
        line-height: 1;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-menu-item-has-children > a.mega-menu-link > span.mega-indicator::after {
        content: "\f067";
        font-family: var(--fa-style-family-classic);
        font-weight: 900;
        font-size: 16px;
        color: var(--white);
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mega-menu-item-has-children.mega-toggle-on > a.mega-menu-link > span.mega-indicator::after {
        content: "\f068";
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-flyout > ul.mega-sub-menu,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu {
        position: static;
        width: 100%;
        max-width: none;
        margin: 8px 0 0;
        padding: 0 0 0 8px;
        border: none;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu a.mega-menu-link {
        display: block;
        padding: 6px 0;
        color: var(--white);
        font-family: var(--font-family-body-accent);
        font-size: var(--nav-text);
        font-weight: var(--font-weight-regular);
        line-height: normal;
        white-space: normal;
        background: transparent;
        border-radius: 4px;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(-n+4) > a.mega-menu-link,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(5) > a.mega-menu-link,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li:nth-child(6) > a.mega-menu-link {
        font-weight: var(--font-weight-bold);
        color: var(--white);
    }

    /* Get Care mobile sections: divider after Make a Referral / after Share Your Story. */
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li#mega-menu-item-322,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.get-care-button > ul.mega-sub-menu > li#mega-menu-item-333 {
        border-top: 1px solid rgba(255, 255, 255, 0.28);
        margin-top: 12px;
        padding-top: 12px;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-flyout > ul.mega-sub-menu a.mega-menu-link {
        display: block;
        padding: 6px 0;
        color: var(--white);
        font-family: var(--font-family-body-accent);
        font-size: var(--nav-text);
        font-weight: var(--font-weight-regular);
        line-height: normal;
        white-space: normal;
        background: transparent;
        border-radius: 4px;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-flyout > ul.mega-sub-menu a.mega-menu-link:hover,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-flyout > ul.mega-sub-menu a.mega-menu-link:focus-visible {
        color: var(--white);
        background-color: rgba(255, 255, 255, 0.12);
        text-decoration: none;
    }

    /* Merged secondary items ([secondary_menu_items] shortcode). */
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item {
        display: list-item;
        margin: 0 0 17px;
        line-height: normal;
        padding: 0;
        text-align: left;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item > a.mega-menu-link,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item > a {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        padding: 0;
        color: var(--sunshine);
        font-family: var(--font-family-body-accent);
        font-size: var(--nav-text-lg);
        font-weight: var(--font-weight-bold);
        line-height: normal;
        text-decoration: none;
        background: transparent;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item:not(.telephone-icon):not(.calendar-icon):not(.Computer-icon) > a:hover,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item:not(.telephone-icon):not(.calendar-icon):not(.Computer-icon) > a:focus,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item:not(.telephone-icon):not(.calendar-icon):not(.Computer-icon) > a:focus-visible,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item:not(.telephone-icon):not(.calendar-icon):not(.Computer-icon) > a:active {
        text-decoration: none !important;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.location-dot-image > a.mega-menu-link {
        display: inline-flex;
        align-items: flex-end;
        gap: 5px;
        color: var(--sunshine);
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.location-dot-image > a::before,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.location-dot-image > a.mega-menu-link::before {
        display: none;
        content: none;
        width: 0;
        height: 0;
        margin: 0;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.location-dot-image.mega-menu-item-has-children > a.mega-menu-link::after {
        display: none;
        content: none;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.mega-menu-item-has-children > ul.mega-sub-menu {
        position: static;
        width: 100%;
        max-width: none;
        margin: 8px 0 0;
        padding: 0 0 0 8px;
        border: none;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.mega-menu-item-has-children:not(.mega-toggle-on) > ul.mega-sub-menu {
        display: none;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.mega-menu-item-has-children.mega-toggle-on > ul.mega-sub-menu {
        display: block;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.mega-menu-item-has-children > ul.mega-sub-menu a.mega-menu-link {
        display: block;
        padding: 6px 0;
        color: var(--white);
        font-family: var(--font-family-body-accent);
        font-size: var(--nav-text);
        font-weight: var(--font-weight-regular);
        line-height: normal;
        white-space: normal;
        background: transparent;
        border-radius: 4px;
        text-decoration: none;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.mega-menu-item-has-children > ul.mega-sub-menu a.mega-menu-link:hover,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.mega-menu-item-has-children > ul.mega-sub-menu a.mega-menu-link:focus-visible {
        color: var(--white);
        background-color: rgba(255, 255, 255, 0.12);
        text-decoration: none;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.telephone-icon > a[href="tel:+3302533100"] {
        display: inline-flex;
        align-items: center;
        gap: 5px;
        color: var(--white);
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.telephone-icon > a[href="tel:+3302533100"]::before {
        content: "\f095";
        font-family: var(--fa-style-family-classic);
        font-weight: 900;
        font-size: 16px;
        color: var(--white);
        width: 20px;
        height: 20px;
        margin: 0;
        line-height: 1;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.location-dot-image {
        order: 15;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.telephone-icon:has(> a[href="tel:+3302533100"]) {
        order: 16;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.telephone-icon:has(> a[href^="tel:+988"]) {
        order: 20;
        margin-top: 23px;
        margin-bottom: 18px;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.calendar-icon {
        order: 21;
        margin-bottom: 18px;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item:has(> a[href*="myhpconsumer"]) {
        order: 22;
        margin-bottom: 18px;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.Computer-icon {
        order: 23;
        margin-bottom: 0;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.telephone-icon:has(> a[href^="tel:+988"]) > a,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.calendar-icon > a,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item:has(> a[href*="myhpconsumer"]) > a,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.Computer-icon > a {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        box-sizing: border-box;
        min-height: 48px;
        padding: 12px 21px;
        border-radius: 50px;
        border: none;
        font-family: var(--font-family-heading);
        font-size: var(--font-size-175);
        font-weight: var(--font-weight-semibold);
        letter-spacing: -0.36px;
        line-height: normal;
        text-align: center;
        text-decoration: none;
        white-space: nowrap;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.telephone-icon:has(> a[href^="tel:+988"]) > a {
        background-color: var(--orange);
        color: #2b2b2b;
        min-width: 143px;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.calendar-icon > a,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item:has(> a[href*="myhpconsumer"]) > a,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.Computer-icon > a {
        background-color: var(--sunshine);
        color: #2b2b2b;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.calendar-icon > a::before,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item:has(> a[href*="myhpconsumer"]) > a::before,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.Computer-icon > a::before,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.telephone-icon:has(> a[href^="tel:+988"]) > a::before {
        display: none;
        content: none;
        width: 0;
        height: 0;
        margin: 0;
    }

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.telephone-icon:has(> a[href^="tel:+988"]) > a:hover,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.telephone-icon:has(> a[href^="tel:+988"]) > a:focus-visible,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.calendar-icon > a:hover,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.calendar-icon > a:focus-visible,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item:has(> a[href*="myhpconsumer"]) > a:hover,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item:has(> a[href*="myhpconsumer"]) > a:focus-visible,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.Computer-icon > a:hover,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item.Computer-icon > a:focus-visible {
        text-decoration: underline;
        opacity: 1;
    }
}

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

    /* Merged secondary shortcode rows + their wrapper li (mega-menu-item-186) are mobile-only. */
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mobile-menu-item,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mobile-hide,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-item.mega-mobile-hide,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu li.mobile-menu-item {
        display: none;
    }
}


/*
 * Primary flyout submenu links (Our Services, Support Us, About Us, Get Care).
 * Get Care adds grid layout and bold hierarchy in the block above.
 */
@media screen and (min-width: 982px) {

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-flyout:not(.get-care-button) > ul.mega-sub-menu > li > a.mega-menu-link {
        display: block;
        box-sizing: border-box;
        font-family: var(--font-family-body-accent);
        font-size: var(--nav-text);
        font-weight: var(--font-weight-regular);
        color: var(--text-heading);
        text-decoration: none;
        padding: 0.25em 1em;
        line-height: 2em;
    }
}

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

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-flyout:not(.get-care-button) > ul.mega-sub-menu > li > a.mega-menu-link {
        white-space: nowrap;
    }
}

#page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-flyout > ul.mega-sub-menu a.mega-menu-link {
    border-radius: 4px;
}

/* Flyout rows: background highlight only (no underline — top-level nav keeps underline). */
@media screen and (min-width: 982px) {

    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-flyout > ul.mega-sub-menu a.mega-menu-link:hover,
    #page-container #mega-menu-wrap-primary-menu #mega-menu-primary-menu > li.mega-menu-flyout > ul.mega-sub-menu a.mega-menu-link:focus-visible {
        opacity: 1;
        text-decoration: none;
        background-color: #f1f1f1;
    }
}

/*
 * Secondary utility bar (`#mega-menu-wrap-secondary-menu` / `#mega-menu-secondary-menu`): Sunshine strip, bottom corners 16px.
 * Target size ~855×38px; `max-width: 100%` keeps it inside narrow viewports.
 * 988 Lifeline (`#mega-menu-item-57`): Orange block with matching bottom radius (desktop ≥ Max Mega breakpoint).
 * `#et-secondary-menu`: right-align inside the `.container` column using `text-align: right` on
 * `.et_pb_code_inner` + `inline-block` mega wrap (avoids flex/`margin-left:auto` sending the bar past the container).
 */
@media screen and (min-width: 981px) {

    #page-container #et-secondary-menu {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        box-sizing: border-box !important;
    }

    #page-container #et-secondary-menu .et_pb_code_inner {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: right !important;
        box-sizing: border-box !important;
    }

    #page-container #mega-menu-wrap-secondary-menu {
        box-sizing: border-box !important;
        display: inline-block !important;
        float: none !important;
        width: auto !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        text-align: left !important;
        vertical-align: top !important;
    }

    #page-container #mega-menu-wrap-secondary-menu .mega-menu-toggle,
    #page-container #mega-menu-wrap-secondary-menu .mega-close {
        display: none !important;
    }

    #page-container #mega-menu-wrap-secondary-menu ul#mega-menu-secondary-menu.mega-menu {
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-end !important;
        gap: clamp(0.35rem, 1vw, 1rem) !important;
        width: 100% !important;
        height: 38px !important;
        min-height: 38px !important;
        max-height: 38px !important;
        margin: 0 !important;
        padding: 0 8px 0 0 !important;
        list-style: none !important;
        border-radius: 0 0 16px 16px !important;
        background-color: var(--sunshine) !important;
        box-shadow: none !important;
    }

    #page-container #mega-menu-wrap-secondary-menu ul#mega-menu-secondary-menu>li {
        display: flex !important;
        flex-direction: row !important;
        align-items: center !important;
        align-self: stretch !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
        background: transparent !important;
    }

    #page-container #mega-menu-wrap-secondary-menu ul#mega-menu-secondary-menu>li>a.mega-menu-link {
        display: inline-flex !important;
        align-items: center !important;
        gap: 0.4rem !important;
        box-sizing: border-box !important;
        min-height: 0 !important;
        padding: 0 0.35rem !important;
        line-height: 1.15 !important;
        color: #212121 !important;
        font-weight: var(--font-weight-semibold) !important;
        font-size: var(--font-size-100) !important;
        text-decoration: none !important;
        transition: color 0.2s ease, text-decoration-color 0.2s ease !important;
    }

    #page-container #mega-menu-wrap-secondary-menu ul#mega-menu-secondary-menu>li>a.mega-menu-link:hover,
    #page-container #mega-menu-wrap-secondary-menu ul#mega-menu-secondary-menu>li>a.mega-menu-link:focus-visible {
        opacity: 1 !important;
        text-decoration: underline 2px currentColor !important;
        text-underline-offset: 0.12em !important;
    }

    #page-container #mega-menu-wrap-secondary-menu ul#mega-menu-secondary-menu>li#mega-menu-item-346>a.mega-menu-link {
        text-decoration: underline !important;
        text-underline-offset: 0.12em !important;
    }

    #page-container #mega-menu-wrap-secondary-menu ul#mega-menu-secondary-menu>li#mega-menu-item-57 {
        align-self: stretch !important;
        margin: 0 clamp(0.35rem, 0.8vw, 0.75rem) 0 0 !important;
        padding: 0 16px !important;
        background-color: var(--orange) !important;
        border-radius: 0 0 16px 16px !important;
    }

    #page-container #mega-menu-wrap-secondary-menu ul#mega-menu-secondary-menu>li#mega-menu-item-57>a.mega-menu-link {
        color: #212121 !important;
        font-weight: var(--font-weight-bold) !important;
        padding: 0 !important;
    }

    /*
     * Locations flyout (`#mega-menu-item-347`) — sunshine dropdown (Figma 159:344).
     * Flush below the 38px utility bar; chevron aligned with icon + label row.
     */
    #page-container #mega-menu-wrap-secondary-menu #mega-menu-secondary-menu > li#mega-menu-item-347 {
        position: relative;
    }

    #page-container #mega-menu-wrap-secondary-menu #mega-menu-secondary-menu > li#mega-menu-item-347 > a.mega-menu-link {
        gap: 0.35rem;
    }

    #page-container #mega-menu-wrap-secondary-menu #mega-menu-secondary-menu > li#mega-menu-item-347 > a.mega-menu-link::before {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 20px;
        height: 20px;
        margin-right: 0;
        flex-shrink: 0;
    }

    #page-container #mega-menu-wrap-secondary-menu #mega-menu-secondary-menu > li#mega-menu-item-347 > a.mega-menu-link > .mega-indicator {
        display: inline-flex;
        align-items: center;
        align-self: center;
        height: auto;
        line-height: 1;
        margin: 0;
        flex-shrink: 0;
    }

    #page-container #mega-menu-wrap-secondary-menu #mega-menu-secondary-menu > li#mega-menu-item-347 > a.mega-menu-link > .mega-indicator::after {
        vertical-align: middle;
        line-height: 1;
    }

    #page-container #mega-menu-wrap-secondary-menu #mega-menu-secondary-menu > li#mega-menu-item-347 > ul.mega-sub-menu {
        position: absolute;
        top: 100%;
        right: 0;
        left: auto;
        transform: none;
        margin-top: 0;
        background-color: var(--sunshine);
        border: none;
        border-top: 1px solid #2b2b2b;
        border-radius: 0 0 16px 16px;
        box-shadow: none;
        box-sizing: border-box;
        padding: 18px 7px;
        width: 133px;
        min-width: 133px;
        max-width: 133px;
        list-style: none;
    }

    #page-container #mega-menu-wrap-secondary-menu #mega-menu-secondary-menu > li#mega-menu-item-347 > ul.mega-sub-menu > li {
        margin-bottom: 12px;
    }

    #page-container #mega-menu-wrap-secondary-menu #mega-menu-secondary-menu > li#mega-menu-item-347 > ul.mega-sub-menu > li:last-child {
        margin-bottom: 0;
    }

    #page-container #mega-menu-wrap-secondary-menu #mega-menu-secondary-menu > li#mega-menu-item-347 > ul.mega-sub-menu a.mega-menu-link {
        display: block;
        width: 100%;
        box-sizing: border-box;
        font-family: var(--font-family-body-accent);
        font-size: var(--nav-text);
        font-weight: var(--font-weight-bold);
        color: #2b2b2b;
        text-decoration: none;
        line-height: normal;
        padding: 0.2em 0.25em;
        border-radius: 4px;
        background-color: transparent;
        white-space: normal;
        overflow-wrap: break-word;
        word-break: normal;
        text-indent: 0;
        text-align: left;
    }

    /* Utility-bar icon ::before must not apply inside the flyout (causes reverse-indent on wrap). */
    #page-container #mega-menu-wrap-secondary-menu #mega-menu-secondary-menu > li#mega-menu-item-347 > ul.mega-sub-menu a.mega-menu-link::before {
        display: none;
        content: none;
        width: 0;
        height: 0;
        margin: 0;
    }

    #page-container #mega-menu-wrap-secondary-menu #mega-menu-secondary-menu > li#mega-menu-item-347 > ul.mega-sub-menu a.mega-menu-link:hover,
    #page-container #mega-menu-wrap-secondary-menu #mega-menu-secondary-menu > li#mega-menu-item-347 > ul.mega-sub-menu a.mega-menu-link:focus-visible {
        opacity: 1;
        text-decoration: none;
        background-color: rgba(43, 43, 43, 0.08);
    }

    /* Nav logo: scale up visually without shifting header flex layout */
    .et-l--header .logo_container,
    .et-l--header .logo_container #logo,
    .et-l--header .logo_container #logo .et_pb_image_wrap {
        overflow: visible;
    }

    .et-l--header .logo_container #logo img {
        transform: scale(1.75);
        transform-origin: bottom left;
    }
}

/*
 * Secondary Locations flyout — mobile accordion (≤981px).
 */
@media screen and (max-width: 981px) {

    #page-container #mega-menu-wrap-secondary-menu #mega-menu-secondary-menu > li#mega-menu-item-347 > ul.mega-sub-menu {
        position: static;
        top: auto;
        right: auto;
        left: auto;
        transform: none;
        margin-top: 0;
        background-color: var(--sunshine);
        border: none;
        border-top: 1px solid #2b2b2b;
        border-radius: 0 0 16px 16px;
        box-shadow: none;
        box-sizing: border-box;
        padding: 18px 7px;
        width: 100%;
        min-width: 0;
        max-width: none;
        list-style: none;
    }

    #page-container #mega-menu-wrap-secondary-menu #mega-menu-secondary-menu > li#mega-menu-item-347 > ul.mega-sub-menu > li {
        margin-bottom: 12px;
    }

    #page-container #mega-menu-wrap-secondary-menu #mega-menu-secondary-menu > li#mega-menu-item-347 > ul.mega-sub-menu > li:last-child {
        margin-bottom: 0;
    }

    #page-container #mega-menu-wrap-secondary-menu #mega-menu-secondary-menu > li#mega-menu-item-347 > ul.mega-sub-menu a.mega-menu-link {
        display: block;
        width: 100%;
        box-sizing: border-box;
        font-family: var(--font-family-body-accent);
        font-size: var(--nav-text);
        font-weight: var(--font-weight-bold);
        color: #2b2b2b;
        text-decoration: none;
        line-height: normal;
        padding: 0.2em 0.25em;
        border-radius: 4px;
        background-color: transparent;
        white-space: normal;
        overflow-wrap: break-word;
        word-break: normal;
        text-indent: 0;
        text-align: left;
    }

    #page-container #mega-menu-wrap-secondary-menu #mega-menu-secondary-menu > li#mega-menu-item-347 > ul.mega-sub-menu a.mega-menu-link::before {
        display: none;
        content: none;
        width: 0;
        height: 0;
        margin: 0;
    }

    #page-container #mega-menu-wrap-secondary-menu #mega-menu-secondary-menu > li#mega-menu-item-347 > ul.mega-sub-menu a.mega-menu-link:hover,
    #page-container #mega-menu-wrap-secondary-menu #mega-menu-secondary-menu > li#mega-menu-item-347 > ul.mega-sub-menu a.mega-menu-link:focus-visible {
        opacity: 1;
        text-decoration: none;
        background-color: rgba(43, 43, 43, 0.08);
    }
}

/*END HEADER*/

/* START FOOTER STYLES */
/*END FOOTER*/

/* START PAGE ORGANIZATION */

/*
HOMEPAGE
*/
#page-container .hero-section-downsize .et_pb_blurb.hero-text {
    max-width: 65ch;
}

/*END*/

/*
BLOG
*/
/*END*/

/*
BLOG LIST
*/
/*END*/

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

/* Global Orbital Theme Variables - Maps theme variables to Gravity Forms CSS API */
/* Match GF inline selector specificity (#gform_wrapper_N[data-form-index].gform-theme) */
#page-container [id^="gform_wrapper_"][data-form-index].gform-theme,
#page-container [id^="gform_wrapper_"][data-form-index].gform-theme--orbital,
#page-container [data-parent-form] {
    /* Primary Colors */
    --gf-color-primary: var(--btn-primary-bg);
    --gf-color-primary-contrast: var(--text-on-action);
    --gf-color-primary-darker: var(--btn-primary-bg-hover);
    --gf-color-primary-lighter: var(--btn-primary-bg);

    /* Secondary Colors */
    --gf-color-secondary: var(--icon-default);
    --gf-color-secondary-contrast: var(--text-on-action);
    --gf-color-secondary-darker: var(--var---color-action-secondary-hover-);
    --gf-color-secondary-lighter: var(--icon-default);

    /* 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-interactive);
    --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(--btn-primary-bg);
    --gf-button-primary-bg-color-hover: var(--btn-primary-bg-hover);
    --gf-button-primary-color: var(--btn-primary-text);
    --gf-button-primary-color-hover: var(--btn-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-destructive-text);
    --gf-error-bg-color: var(--feedback-destructive-bg);
    --gf-error-border-color: var(--feedback-destructive-text);

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

/* Foundation Layer Variable Overrides - Override Foundation defaults */
#page-container [id^="gform_wrapper_"][data-form-index].gform-theme--foundation,
#page-container [id^="gform_wrapper_"][data-form-index].gform-theme--api,
#page-container [data-parent-form] {
    --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: var(--gf-field-margin-bottom);
}

/* 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);
}

/* 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: var(--gf-description-color);
    font-size: var(--gf-description-font-size);
    line-height: var(--gf-description-line-height);
    margin-top: var(--gf-description-margin-top);
}

/* 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;
}

/* Form footer buttons (Submit, Next, Previous): match fsm-btn-tertiary site-wide */
#page-container .gform-theme--orbital .gform_footer .gform_button,
#page-container .gform-theme--orbital .gform_page_footer .gform_button,
#page-container .gform-theme--orbital .gform_footer input[type="submit"],
#page-container .gform-theme--orbital .gform_page_footer input[type="submit"],
#page-container .gform-theme--orbital .gform_footer button[type="submit"],
#page-container .gform-theme--orbital .gform_page_footer button[type="submit"],
#page-container .gform-theme--orbital .gform_footer input[type="button"].gform_button,
#page-container .gform-theme--orbital .gform_page_footer input[type="button"].gform_button {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    width: auto !important;
    min-height: 48px !important;
    padding: 12px 21px !important;
    border: none !important;
    border-radius: 50px !important;
    background-color: var(--btn-tertiary-bg) !important;
    background-image: none !important;
    color: var(--btn-tertiary-text) !important;
    font-family: var(--font-family-heading) !important;
    font-size: var(--font-size-175) !important;
    font-style: normal !important;
    font-weight: var(--font-weight-semibold) !important;
    line-height: normal !important;
    letter-spacing: -0.36px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

#page-container .gform-theme--orbital .gform_footer .gform_button:hover,
#page-container .gform-theme--orbital .gform_page_footer .gform_button:hover,
#page-container .gform-theme--orbital .gform_footer input[type="submit"]:hover,
#page-container .gform-theme--orbital .gform_page_footer input[type="submit"]:hover,
#page-container .gform-theme--orbital .gform_footer button[type="submit"]:hover,
#page-container .gform-theme--orbital .gform_page_footer button[type="submit"]:hover,
#page-container .gform-theme--orbital .gform_footer input[type="button"].gform_button:hover,
#page-container .gform-theme--orbital .gform_page_footer input[type="button"].gform_button:hover {
    background-color: var(--btn-tertiary-bg-hover) !important;
    background-image: none !important;
    color: var(--btn-tertiary-text) !important;
    text-decoration: underline !important;
}

#page-container .gform-theme--orbital .gform_footer .gform_button:focus-visible,
#page-container .gform-theme--orbital .gform_page_footer .gform_button:focus-visible,
#page-container .gform-theme--orbital .gform_footer input[type="submit"]:focus-visible,
#page-container .gform-theme--orbital .gform_page_footer input[type="submit"]:focus-visible,
#page-container .gform-theme--orbital .gform_footer button[type="submit"]:focus-visible,
#page-container .gform-theme--orbital .gform_page_footer button[type="submit"]:focus-visible,
#page-container .gform-theme--orbital .gform_footer input[type="button"].gform_button:focus-visible,
#page-container .gform-theme--orbital .gform_page_footer input[type="button"].gform_button:focus-visible {
    background-color: var(--btn-tertiary-bg-hover) !important;
    background-image: none !important;
    color: var(--btn-tertiary-text) !important;
    outline: 2px solid var(--focus-ring-outer) !important;
    outline-offset: 2px !important;
}

/* 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);
}

/* Top-of-form validation summary (GF outputs h2.gform_submission_error).
   Divi global h2 styles make this banner huge; match site h3 typography instead. */
#page-container .gform-theme--orbital .gform_validation_errors {
    margin-block: 0.75rem 1rem;
    padding: 0.75rem 1rem;
}

#page-container .gform-theme--orbital .gform_validation_errors .gform_submission_error,
#page-container .gform-theme--orbital .gform_validation_errors h2.gform_submission_error {
    font-family: var(--font-family-heading) !important;
    font-size: var(--h3) !important;
    line-height: 1.2 !important;
    font-weight: var(--font-weight-black) !important;
    letter-spacing: -0.03em !important;
    margin: 0 !important;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

#page-container .gform-theme--orbital .gform_validation_errors .gform-icon {
    flex-shrink: 0;
}

/* 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: 8px;
    cursor: pointer;
}

/* 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;
}

/* Progress Bar (if using progress indicators) */
#page-container .gform-theme--orbital .gf_progressbar {
    background-color: var(--background-tertiary);
    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(--gf-color-primary);
    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;
    }
}

/* END GRAVITY FORMS ORBITAL THEME STYLES */

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

/* FAQ Section Container */
#page-container .faq-section {
    padding: 45px 0;
}

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

/* Individual FAQ Toggle Item */
#page-container .faq-section .et_pb_toggle {
    background-color: var(--background-primary);
    border: 1px solid var(--navy);
    border-radius: 3px 10px 10px 10px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
    overflow: hidden;
}

/* Toggle Title (Question) */
#page-container .faq-section .et_pb_toggle_title {
    position: relative;
    padding: 0px;
    margin: 0;
    font-size: var(--font-size-300);
    font-weight: var(--font-weight-medium);
    line-height: var(--line-height-sm);
    color: var(--text-heading);
    cursor: pointer;
    transition: color 0.2s ease;
    font-family: var(--font-family-sans);
}

/* Toggle Title Hover State */
#page-container .faq-section .et_pb_toggle_title:hover {
    color: var(--btn-primary-bg-hover);
}

/* Toggle Title Focus State (Accessibility) */
#page-container .faq-section .et_pb_toggle_title:focus,
#page-container .faq-section .et_pb_toggle_title:focus-visible {
    outline: none;
    box-shadow: none;
}

/* Highlight entire card when title receives keyboard focus */
#page-container .faq-section .et_pb_toggle:has(.et_pb_toggle_title:focus-visible) {
    outline: 2px solid var(--focus-ring-outer);
    box-shadow: 0 0 0 2px var(--focus-ring-inner), var(--elevation-brand-subtle);
    outline-offset: 2px;
}

/* Expand/Collapse Icon - ETmodules (matches Divi's toggle font) */
#page-container .faq-section .et_pb_toggle_title::before {
    content: '\E050';
    font-family: ETmodules;
    display: flex;
    align-items: center;
    justify-content: center;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    width: 24px;
    height: 24px;
    font-size: 18px;
    color: var(--icon-brand);
    background-color: var(--background-primary);
    border-radius: 50%;
    transition: background-color 0.2s ease, color 0.2s ease;
    line-height: 1;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Open State - ETmodules minus icon (same circle styling as plus) */
#page-container .faq-section .et_pb_toggle_open .et_pb_toggle_title::before {
    content: '\E04F';
}

/* Toggle Content (Answer) */
#page-container .faq-section .et_pb_toggle_content {
    padding: 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 {
    margin-bottom: 16px;
    color: var(--text-default);
}

#page-container .faq-section .et_pb_toggle_content p:last-child {
    margin-bottom: 0;
    margin-right: 26px;
}

/* Open Toggle State - Enhanced Visual Feedback */
#page-container .faq-section .et_pb_toggle_open {
    border-color: var(--border-interactive);
    background-color: var(--background-primary);
    box-shadow: var(--elevation-brand-subtle);
    padding: 12px 12px 12px 14px;

}

/* Closed Toggle Hover State */

#page-container .faq-section .et_pb_toggle_close {
    padding: 12px 12px 12px 14px;
}

#page-container .faq-section .et_pb_toggle_close:hover {
    border-color: var(--border-interactive);
    background-color: var(--background-secondary);
}

/* Closed Toggle Hover - Icon Animation */
#page-container .faq-section .et_pb_toggle_close:hover .et_pb_toggle_title::before {
    background-color: var(--btn-ghost-bg-hover);
    color: var(--btn-primary-bg-hover);
}

/* Open Toggle Hover State */
#page-container .faq-section .et_pb_toggle_open:hover {
    box-shadow: var(--elevation-brand-medium);
}

#page-container .et_pb_blurb {
    max-width: unset;
}

/* Responsive Adjustments — icon stays vertically centered to title like desktop (base ::before rules) */
@media (max-width: 980px) {
    #page-container .faq-section .et_pb_module {
        margin-bottom: 0px;
    }
}

/* END FAQ SECTION STYLES */

/*
 * Divi flex `column-gap` lives on the row/column *wrapping* the Code module, not inside the mega menu DOM.
 * `:has(#et-secondary-menu)` scopes to that utility bar without numbered Divi classes.
 */
#page-container .et_flex_row:has(#et-secondary-menu),
#page-container .et_flex_column:has(#et-secondary-menu) {
    column-gap: 0;
}

/* 1. Base styles for all icons in the secondary menu */
#mega-menu-secondary-menu .mega-menu-link::before {
    content: "";
    display: inline-block;
    width: 20px;
    /* Adjust width as needed */
    height: 20px;
    /* Adjust height as needed */
    margin-right: 8px;
    vertical-align: middle;
    color: inherit;
}

/* 2. Individual Icon Assignments */

/* Telephone Icon (Used twice) */
.telephone-icon>.mega-menu-link::before {
    content: url('/wp-content/uploads/telephone-icon.svg') !important;
}

/* Calendar Icon */
.calendar-icon>.mega-menu-link::before {
    content: url('/wp-content/uploads/calendar-icon.svg') !important;
}

/* User Circle Icon */
.user-circle-icon>.mega-menu-link::before {
    content: url('/wp-content/uploads/user-circle-icon.svg') !important;
}

/* Computer Icon (Note: selector is case-sensitive to match your HTML "Computer-icon") */
.Computer-icon>.mega-menu-link::before {
    content: url('/wp-content/uploads/computer-icon.svg') !important;
}

/* Location Dot Icon */
.location-dot-image>.mega-menu-link::before {
    content: url('/wp-content/uploads/location-dot-icon.svg') !important;
}

/* ============================================================
   Footer Menu — .menu-footer-menu-container / #menu-footer-menu
   Strips list chrome and lays menu items out as an evenly-
   spaced horizontal row that wraps on smaller screens.
   Button appearance comes from fsm-btn-* classes on each <li>.
   ============================================================ */
.menu-footer-menu-container,
#menu-footer-menu {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    list-style: none;
    margin: 0;
    padding: 0;
}

#menu-footer-menu>li {
    flex: 1 1 0;
    min-width: max-content;
    list-style: none;
    margin: 0;
    padding: 0;
}

#menu-footer-menu>li>a {
    width: 100%;
}

@media (max-width: 980px) {
    #menu-footer-menu {
        flex-direction: column;
    }

    #menu-footer-menu>li {
        min-width: 0;
        width: 100%;
    }
}

@media (min-width: 981px) {
    .follow-us-clamp {
        margin-left: clamp(-10rem, -40.752rem + 31.348vw, -5rem);
    }

    .phone-number-clamp {
        margin-left: clamp(-8rem, 16.48rem - 18.83vw, -2rem);
    }
}

/* Font scales fluidly from 92px @ 981px viewport to 120px @ 1277px viewport */
#impact-stats-row .et_pb_blurb .et_pb_blurb_description p:first-of-type {
    color: #317400 !important;
    font-size: clamp(92px, -0.797px + 9.459vw, 120px) !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* (Essential as 120px will overflow mobile) */
@media (max-width: 980px) {
    #impact-stats-row .et_pb_blurb .et_pb_blurb_description p:first-of-type {
        font-size: 80px !important;
    }
}

@media (max-width: 767px) {
    #impact-stats-row .et_pb_blurb .et_pb_blurb_description p:first-of-type {
        font-size: 60px !important;
    }
}

.hero-row-full-width {
    margin-left: 0;
    margin-right: 0;
    min-width: 100%;
}

.hero-row-image .et_pb_image_wrap img {
    object-position: 40%;
    object-fit: cover;
}

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

    #page-container .hero-section-downsize.et_pb_section,
    #page-container section.hero-section-downsize {
        width: 90%;
        max-width: 1300px;
        margin-left: auto !important;
        margin-right: auto !important;
        border-top-left-radius: 4px;
        border-bottom-left-radius: 72px;
        border-top-right-radius: 72px;
        border-bottom-right-radius: 72px;
        overflow: hidden;
    }

    #page-container .hero-section-downsize .hero-row-full-width>.et_pb_column:first-child {
        margin-left: 2.5rem;
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    body:not(.et-vb-root-ancestor) #page-container .hero-section-downsize h1 {
        font-size: 55px !important;
    }
}

@media (min-width: 1024px) and (max-width: 1300px) {

    #page-container .hero-section-downsize.et_pb_section,
    #page-container section.hero-section-downsize {
        width: 90%;
        max-width: 1300px;
        margin-left: auto !important;
        margin-right: auto !important;
        border-top-left-radius: 4px;
        border-bottom-left-radius: 72px;
        border-top-right-radius: 72px;
        border-bottom-right-radius: 72px;
        overflow: hidden;
    }

    #page-container .hero-section-downsize .hero-row-full-width>.et_pb_column:first-child {
        /* 1024px→1300px: 40px→80px */
        margin-left: clamp(40px, calc(40px + (100vw - 1024px) * (40 / 276)), 80px);
        /* 1024px→1300px: 32px→64px */
        padding-top: clamp(32px, calc(32px + (100vw - 1024px) * (32 / 276)), 64px);
        padding-bottom: clamp(32px, calc(32px + (100vw - 1024px) * (32 / 276)), 64px);
    }

    body:not(.et-vb-root-ancestor) #page-container .hero-section-downsize h1 {
        font-size: clamp(55px, calc(55px + (100vw - 1024px) * (9 / 276)), 64px) !important;
    }
}

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

    /* 768px→980px: margin-left 3.5rem(≈56px)→9.5rem(≈152px) @ 16px root */
    #page-container .hero-section-downsize .hero-row-full-width>.et_pb_column:first-child .et_pb_group.et-last-child {
        margin-left: clamp(56px, calc(56px + (100vw - 768px) * (96 / 212)), 152px) !important;
    }
}

.behav-healthcare-image .et_pb_image_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    aspect-ratio: 1 / 1;
}

#behav-healthcare-ppsign-image .et_pb_image_wrap img {
    object-position: 100%;
}

#page-container {
    overflow: hidden;
}

footer.et-l.et-l--footer {
    margin-bottom: 1rem;
}

/* Footer inline text links (988, address, phone, legal) — white on dark/navy backgrounds */
footer.et-l.et-l--footer .et_pb_text_inner a {
    color: var(--white) !important;
    text-decoration-color: var(--white);
    text-decoration: underline !important;
    text-decoration-color: transparent;
}

footer.et-l.et-l--footer .et_pb_text_inner a:hover,
footer.et-l.et-l--footer .et_pb_text_inner a:focus-visible {
    color: var(--sunshine) !important;
    text-decoration-color: var(--sunshine);
}

@media (min-width: 981px) {
    .leaf-overlay {
        position: relative;
        overflow: hidden;
    }

    .leaf-overlay::after {
        content: '';
        position: absolute;
        width: auto;
        height: clamp(9.375rem, 5.3571rem + 17.8571cqi, 18.75rem);
        aspect-ratio: 122/151;
        bottom: 2%;
        right: -1%;
        background-image: url('/wp-content/uploads/white-leaf-bg-pseudo.svg');
        background-repeat: no-repeat;
        background-size: 100% 100%;
        pointer-events: none;
        z-index: 1;
        opacity: .5;
    }
}

.support-access-leaf-overlay {
    position: relative;
    overflow: hidden;
}

.support-access-leaf-overlay::after {
    content: '';
    position: absolute;
    width: auto;
    height: 180px;
    aspect-ratio: 122/151;
    bottom: 2%;
    right: 1%;
    background-image: url('/wp-content/uploads/white-leaf-bg-pseudo.svg');
    background-repeat: no-repeat;
    background-size: 100% 100%;
    pointer-events: none;
    z-index: 1;
    opacity: 1;
}

.green-leaf-overlay {
    position: relative;
    overflow: hidden;
}

.green-leaf-overlay::after {
    content: '';
    position: absolute;
    width: auto;
    height: 180px;
    aspect-ratio: 122/151;
    bottom: 2%;
    right: 1%;
    background-color: #61A60E;
    -webkit-mask: url('/wp-content/uploads/white-leaf-bg-pseudo.svg') no-repeat center / 100% 100%;
    mask: url('/wp-content/uploads/white-leaf-bg-pseudo.svg') no-repeat center / 100% 100%;
    pointer-events: none;
    transform: scaleX(-1);
    z-index: 1;
    opacity: .1;
}

.footer-leaf-overlay {
    position: relative;
    overflow: hidden;
}

.footer-leaf-overlay::after {
    content: '';
    position: absolute;
    width: auto;
    height: clamp(9.375rem, 5.3571rem + 17.8571cqi, 18.75rem);
    aspect-ratio: 122/151;
    bottom: 2%;
    right: -1%;
    background-image: url('/wp-content/uploads/white-leaf-bg-pseudo.svg');
    background-repeat: no-repeat;
    background-size: 100% 100%;
    pointer-events: none;
    z-index: 1;
    opacity: .1;
}

/* ============================================================
 * Hero Section Ribbons Background
 * ============================================================ */
#page-container .hero-section-ribbons-bg {
    background-image: url('/wp-content/themes/Divi-child/assets/images/service-category-hero-bg.svg');
    background-repeat: no-repeat;
    background-position: right top;
    background-size: auto 330px;
}

.white-link-for-navy-bg a {
    color: #fff !important;

    &:hover {
        color: var(--sunshine) !important;
    }
}

@media (min-width: 768px) and (max-width: 980px) {
    .hero-image-our-services img {
        transform: translateY(-82px) !important;
    }
}


.reverse-leaf-icon .et_pb_image_wrap {
    display: inline-block;
    transform: scaleX(-1) rotate(-30deg);
}

/* Vision + Mission image crop sizing */
#page-container .vision-mission-image-sizing .et_pb_image_wrap {
    width: 360px;
    height: 340px;
    overflow: hidden;
}

#page-container .vision-mission-image-sizing.et_pb_image img,
#page-container .vision-mission-image-sizing .et_pb_image img {
    position: relative;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 55% 50%;
    display: block;
}

@media (max-width: 767px) {
    #page-container .vision-mission-image-sizing .et_pb_image_wrap {
        width: auto;
        height: auto;
        max-height: 600px;
        aspect-ratio: 1 / 1;
        overflow: hidden;
    }
}

/* Vision + Mission secondary image overlay (opt-in) */
.vision-mission-pseudo-image {
    position: relative;
}

.vision-mission-pseudo-image::after {
    content: '';
    position: absolute;
    width: 300px;
    height: 280px;
    bottom: -40px;
    right: -270px;
    border-radius: var(--leaf-radius-point-top-right);
    transform: scaleX(-1);
    background-image:
        linear-gradient(rgba(241, 180, 52, 0.5), rgba(241, 180, 52, 0.5)),
        url('/wp-content/uploads/vision-mission-image-2-scaled.jpg');
    background-size: cover, cover;
    background-position: center, center;
    background-repeat: no-repeat, no-repeat;
    pointer-events: none;
    z-index: 2;
}

@media (max-width: 1175px) {
    .vision-mission-pseudo-image.vmp-small::after {
        width: 270px;
        height: 250px;
        bottom: -80px;
        right: -150px;
        border-radius: var(--leaf-radius-point-top-right);
    }
}

@media (max-width: 980px) {
    .vision-mission-pseudo-image.vmp-small::after {
        width: 270px;
        height: 250px;
        bottom: -150px;
        right: -50px;
        border-radius: var(--leaf-radius-point-bottom-right);
    }
}

@media (max-width: 767px) {
    .vision-mission-pseudo-image.vmp-small::after {
        width: 50vw;
        height: 34vw;
        bottom: -40px;
        right: -38px;
        border-radius: var(--leaf-radius-point-bottom-right);
    }
}

/* ============================================================
   [service-info-repeater] shortcode
   ------------------------------------------------------------
   Renders the ACF "details" repeater (heading + paragraph) as:
     - Desktop (>=981px), <=3 items : 3-up equal-height CSS grid
     - Desktop (>=981px), >3 items  : Swiper slider, 3 per view + arrows
     - Tablet/Mobile (<981px)       : Swiper slider, 1 per view + dots
   ============================================================ */

#page-container .service-info-repeater {
    position: relative;
    width: 100%;
    margin: var(--size-24) 0;
}

#page-container .service-info-repeater__swiper {
    width: 100%;
    overflow: hidden;
    padding: var(--size-8) 0 var(--size-32);
}

#page-container .service-info-repeater .swiper-wrapper {
    align-items: stretch;
}

#page-container .service-info-repeater .swiper-slide {
    height: auto;
    display: flex;
    align-items: stretch;
}

#page-container .service-info-repeater__item {
    display: flex;
    flex-direction: column;
    width: 100%;
}

#page-container .service-info-repeater__heading {
    margin: 0 0 var(--size-16);
    color: var(--text-heading);
    font-weight: var(--font-weight-bold);
}

#page-container .service-info-repeater__copy {
    margin: 0;
    color: var(--text-default);
}

/* ── Navigation arrows (desktop slider mode) ────────────── */

#page-container .service-info-repeater__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: var(--background-primary);
    box-shadow: var(--elevation-brand-medium);
    cursor: pointer;
    z-index: 10;
    display: none;
    align-items: center;
    justify-content: center;
    transition: background 0.2s ease, box-shadow 0.2s ease, opacity 0.2s ease;
}

#page-container .service-info-repeater__nav:hover {
    background: color-mix(in srgb, var(--background-primary) 90%, var(--text-heading) 10%);
}

/* Hide Swiper 12 default SVG nav icons; custom chevron uses ::before */
#page-container .service-info-repeater__nav .swiper-navigation-icon,
#page-container .service-info-repeater__nav svg {
    display: none;
}

#page-container .service-info-repeater__nav::before {
    content: '';
    display: block;
    width: 18px;
    height: 18px;
    background-color: var(--text-heading);
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-size: contain;
    mask-size: contain;
}

#page-container .service-info-repeater__nav--prev {
    left: -22px;
}

#page-container .service-info-repeater__nav--next {
    right: -22px;
}

#page-container .service-info-repeater__nav--prev::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'/%3E%3C/svg%3E");
}

#page-container .service-info-repeater__nav--next::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 18 15 12 9 6'/%3E%3C/svg%3E");
}

#page-container .service-info-repeater__nav.swiper-button-disabled {
    opacity: 0.35;
    pointer-events: none;
}

/* ── Pagination dots (mobile/tablet slider mode) ─────────── */

#page-container .service-info-repeater__pagination.swiper-pagination-bullets {
    bottom: 4px;
}

#page-container .service-info-repeater__pagination .swiper-pagination-bullet {
    background: var(--icon-muted);
    opacity: 1;
}

#page-container .service-info-repeater__pagination .swiper-pagination-bullet-active {
    background: var(--text-heading);
}

/* ── Desktop layout (>=981px) ────────────────────────────── */

@media (min-width: 981px) {

    /*
     * Grid mode: <=3 items collapse the .swiper and .swiper-wrapper layers
     * to display:contents so .swiper-slide nodes become direct children of
     * the grid container. We leave .swiper-slide intact (NOT display:contents)
     * because each slide IS the card wrapper containing the heading + copy —
     * collapsing it would make the <h3> and <p> separate grid items.
     */
    #page-container .service-info-repeater.is-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: var(--size-24);
    }

    #page-container .service-info-repeater.is-grid .swiper,
    #page-container .service-info-repeater.is-grid .swiper-wrapper {
        display: contents;
    }

    /* Reset any inline width Swiper may have applied at enabled:false breakpoint. */
    #page-container .service-info-repeater.is-grid .swiper-slide {
        width: auto;
        height: auto;
        margin: 0;
    }

    #page-container .service-info-repeater.is-grid .service-info-repeater__nav,
    #page-container .service-info-repeater.is-grid .service-info-repeater__pagination {
        display: none !important;
    }

    /* Slider mode: arrows visible, dots hidden on desktop */
    #page-container .service-info-repeater.is-slider .service-info-repeater__nav {
        display: flex;
    }

    #page-container .service-info-repeater.is-slider .service-info-repeater__pagination {
        display: none;
    }
}

/* ── Tablet/Mobile (<981px) ──────────────────────────────── */

@media (max-width: 980px) {
    #page-container .service-info-repeater__nav {
        display: none !important;
    }
}

/* ============================================================
   [related-service] shortcode
   ------------------------------------------------------------
   Renders up to 4 related services from the "service" CPT as:
     - Mobile (<768px)        : 1-per-view Swiper slider + dots
     - Tablet (>=768px)       : 2-column CSS grid
     - Desktop (>=981px)      : 4-column CSS grid
   Above mobile the JS disables Swiper so CSS grid takes over via
   display:contents on the swiper layers.
   ============================================================ */

#page-container .related-service {
    position: relative;
    width: 100%;
    margin: var(--size-24) 0;
}

#page-container .related-service__swiper {
    width: 100%;
    overflow: hidden;
    padding: var(--size-8) 0 var(--size-32);
}

#page-container .related-service .swiper-wrapper {
    align-items: stretch;
}

#page-container .related-service .swiper-slide {
    height: auto;
    display: flex;
    align-items: stretch;
}

#page-container .related-service__item {
    display: flex;
    width: 100%;
    min-height: 260px;
    background: var(--background-primary);
    border: 1px solid var(--icon-default);
    /* Heavy radius on three corners; bottom-right kept subtle for the leaf shape. */
    border-radius: var(--leaf-radius-point-bottom-right-soft);
    transition: background-color 0.2s ease;
}

#page-container .related-service__item:hover {
    background: var(--background-brand-subtle);
}

#page-container .related-service__link,
#page-container .related-service__link:hover,
#page-container .related-service__link:focus,
#page-container .related-service__link:active {
    text-decoration: none;
}

#page-container .related-service__link {
    display: flex;
    flex-direction: column;
    width: 100%;
    padding: 2rem;
}

#page-container .related-service__title,
#page-container .related-service__excerpt {
    text-decoration: none;
}

#page-container .related-service__title {
    margin: 0 0 var(--size-12);
    color: var(--text-heading);
    font-weight: var(--font-weight-bold);
}

#page-container .related-service__excerpt {
    margin: 0;
    color: var(--text-default);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    line-clamp: 4;
    overflow: hidden;
}

/* ── Pagination dots (mobile only) ───────────────────────── */

#page-container .related-service__pagination.swiper-pagination-bullets {
    bottom: 4px;
}

#page-container .related-service__pagination .swiper-pagination-bullet {
    background: var(--icon-muted);
    opacity: 1;
}

#page-container .related-service__pagination .swiper-pagination-bullet-active {
    background: var(--text-heading);
}

/* ── Tablet (>=768px): 2-column grid ─────────────────────── */

@media (min-width: 768px) {

    /*
     * Collapse .swiper and .swiper-wrapper so .swiper-slide nodes become
     * direct grid children. The slide IS the card, so we keep it intact
     * (NOT display:contents) — collapsing it would split the title and
     * excerpt into separate grid items.
     */
    #page-container .related-service {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: var(--size-24);
    }

    #page-container .related-service .swiper,
    #page-container .related-service .swiper-wrapper {
        display: contents;
    }

    /* Reset any inline width Swiper may have left behind. */
    #page-container .related-service .swiper-slide {
        width: auto;
        height: auto;
        margin: 0;
    }

    #page-container .related-service__pagination {
        display: none !important;
    }
}

/* ── Desktop (>=981px): 4-column grid ────────────────────── */

@media (min-width: 981px) {
    #page-container .related-service {
        grid-template-columns: repeat(4, 1fr);
    }
}

.serv-det-hero-image .et_pb_image_wrap img {
    object-fit: cover;
}

/* Resource single — resource_link media ([ppbh_resource_media] shortcode) */
#page-container .ppbh-resource-single-media {
    width: 100%;
    margin: 0;
}

#page-container .ppbh-resource-single-media__preview {
    display: block;
}

#page-container .ppbh-resource-single-media__preview img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.12);
}

#page-container .ppbh-resource-single-media__download-wrap {
    margin: 0.75rem 0 0;
    text-align: center;
}

#page-container .ppbh-resource-single-media__download {
    font-weight: 600;
    text-decoration: underline;
}

#page-container .ppbh-resource-single-media__video {
    display: block;
    width: 100%;
    height: auto;
}

#page-container .ppbh-resource-single-media--oembed iframe {
    max-width: 100%;
}

#page-container .serv-det-hero-image .ppbh-resource-single-media__preview img {
    width: 100%;
    max-height: 420px;
    object-fit: cover;
}

/* Font scales fluidly from 92px @ 981px viewport to 120px @ 1277px viewport */
#giving-levels-row .et_pb_blurb .et_pb_blurb_description p:first-of-type {
    color: #317400 !important;
    font-size: 58px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* (Essential as 120px will overflow mobile) */
@media (max-width: 980px) {
    #giving-levels-row .et_pb_blurb .et_pb_blurb_description p:first-of-type {
        font-size: clamp(40px, -1.576rem + 8.49vw, 58px) !important;
    }
}

@media (max-width: 767px) {
    #giving-levels-row .et_pb_blurb .et_pb_blurb_description p:first-of-type {
        font-size: 40px !important;
    }
}

.kj5k-dog-image .et_pb_image_wrap img {
    object-fit: cover;
    height: auto;
    width: 100% !important;
    max-width: 767px !important;
    object-position: center 5%;
    aspect-ratio: 1/1;
}

@media (max-width: 980px) {
    .dynamic-sponsor-logos :has(> .et_pb_image) {
        display: grid !important;
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 20px;
        justify-items: center;
        align-items: center;
    }

    .dynamic-sponsor-logos .et_pb_image {
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        justify-content: center;
    }
}

@media (min-width: 768px) and (max-width: 1120px) {
    /* .kj5k-quick-links .et_pb_group {
        padding-left: clamp(0px, 128.93px - 11.51vw, 2rem) !important;
    } */

    .kj5k-quick-links h2 {
        font-size: clamp(2rem, 4.32vw - 1.16px, 2.95rem) !important;
    }

    .kj5k-quick-links a.et_pb_button.fsm-btn-quick-link {
        font-size: clamp(16px, 1.44vw + 4.94px, 24px) !important;
    }

    .kj5k-quick-links a.et_pb_button.fsm-btn-quick-link::after {
        width: clamp(16px, 1.44vw + 4.94px, 24px) !important;
        height: clamp(16px, 1.44vw + 4.94px, 24px) !important;
    }
}

.kj5k-quick-links a.et_pb_button.fsm-btn-quick-link,
.kj5k-quick-links a.et_pb_button.fsm-btn-quick-link:hover {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

@media (min-width: 768px) and (max-width: 980px) {
    .about-hero-image img {
        transform: translateY(-130px);
    }
}

a.et_pb_button.fsm-btn-quick-link.blog-posts-quick-links,
a.et_pb_button.fsm-btn-quick-link.blog-posts-quick-links:hover {
    padding: 0 !important;
    text-align: left !important;
    max-width: 16ch;
    align-items: flex-start !important;
    text-transform: capitalize !important;
}

a.et_pb_button.fsm-btn-quick-link.blog-posts-quick-links::after {
    margin-top: 0.6em !important;
}

/* FacetWP blog_related_posts / careers_related_posts — stacks quick-link buttons */
#page-container .blog-related-posts-links,
#page-container .careers-related-posts-links {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--size-16);
    width: 100%;
}

/* ============================================
   CONTACT US + MAKE REFERRAL — Gravity Form (dark section)
   Scope: .contact-us-page-gf | .make-referral-gf on Divi Text module.
   White labels on dark sections; white field controls with dark text.
   Overrides the global GF Orbital theme defined above.
   ============================================ */

#page-container .contact-us-page-gf .gform-theme--orbital .gfield_label,
#page-container .contact-us-page-gf .gform-theme--orbital label.gfield_label,
#page-container .make-referral-gf .gform-theme--orbital .gfield_label,
#page-container .make-referral-gf .gform-theme--orbital label.gfield_label {
    color: #fff;
    margin-bottom: 0px;
    font-size: 16px !important;
}

/* Sub-labels under composite fields (address subfields: Street, City, etc.) */
#page-container .contact-us-page-gf .gform-theme--orbital .gform-field-label--type-sub,
#page-container .make-referral-gf .gform-theme--orbital .gform-field-label--type-sub {
    color: #fff;
}

#page-container .contact-us-page-gf .gform-theme--orbital .gfield_required,
#page-container .contact-us-page-gf .gform-theme--orbital .gfield_required .gfield_required_text,
#page-container .make-referral-gf .gform-theme--orbital .gfield_required,
#page-container .make-referral-gf .gform-theme--orbital .gfield_required .gfield_required_text {
    color: #fff;
    font-size: 16px !important;
}

#page-container .contact-us-page-gf .gform-theme--orbital input[type="text"],
#page-container .contact-us-page-gf .gform-theme--orbital input[type="email"],
#page-container .contact-us-page-gf .gform-theme--orbital input[type="tel"],
#page-container .contact-us-page-gf .gform-theme--orbital textarea,
#page-container .make-referral-gf .gform-theme--orbital input[type="text"],
#page-container .make-referral-gf .gform-theme--orbital input[type="email"],
#page-container .make-referral-gf .gform-theme--orbital input[type="tel"],
#page-container .make-referral-gf .gform-theme--orbital textarea {
    background-color: #fff !important;
    color: #112337;
    font-size: 16px !important;
}

/* Override Chrome/Edge browser autofill tint (e.g. Keeper, LastPass,
   1Password). Autofill ignores background-color, so we paint a full
   inset box-shadow as a stand-in white background. */
#page-container .contact-us-page-gf .gform-theme--orbital input:-webkit-autofill,
#page-container .contact-us-page-gf .gform-theme--orbital input:-webkit-autofill:hover,
#page-container .contact-us-page-gf .gform-theme--orbital input:-webkit-autofill:focus,
#page-container .contact-us-page-gf .gform-theme--orbital input:-webkit-autofill:active,
#page-container .make-referral-gf .gform-theme--orbital input:-webkit-autofill,
#page-container .make-referral-gf .gform-theme--orbital input:-webkit-autofill:hover,
#page-container .make-referral-gf .gform-theme--orbital input:-webkit-autofill:focus,
#page-container .make-referral-gf .gform-theme--orbital input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
    box-shadow: 0 0 0 1000px #fff inset !important;
    -webkit-text-fill-color: #112337 !important;
    caret-color: #112337;
    transition: background-color 5000s ease-in-out 0s;
}

#page-container .contact-us-page-gf .gform-theme--foundation .gform_fields,
#page-container .contact-us-page-gf .gform-theme--orbital .gform_fields,
#page-container .make-referral-gf .gform-theme--foundation .gform_fields,
#page-container .make-referral-gf .gform-theme--orbital .gform_fields {
    row-gap: 0;
}

#page-container .contact-us-page-gf .gform-theme--orbital select,
#page-container .make-referral-gf .gform-theme--orbital select {
    font-size: 16px !important;
    line-height: 1.25;
    color: #112337;
    padding: 8px 8px;
}

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

    .contact-us-page-gf .large:not(.et_pb_button),
    .make-referral-gf .large:not(.et_pb_button) {
        font-size: 16px !important;
        line-height: 1.25;
    }
}

#page-container .contact-us-page-gf .gform_wrapper textarea.textarea.small,
#page-container .make-referral-gf .gform_wrapper textarea.textarea.small {
    padding: 8px 16px;
}

/* Make Referral only — choice labels, descriptions, HTML field copy */
#page-container .make-referral-gf .gform-theme--orbital .gchoice label {
    font-weight: var(--font-weight-regular);
    color: #fff !important;
    cursor: pointer;
}

#page-container .make-referral-gf .gform-theme--orbital .gfield_description,
#page-container .make-referral-gf .gform-theme--orbital .gfield_description.validation_message {
    color: #fff !important;
    font-size: var(--gf-description-font-size);
    line-height: var(--gf-description-line-height);
    margin-top: var(--gf-description-margin-top);
}

#page-container .make-referral-gf .gfield_html p,
#page-container .make-referral-gf .gfield_html li,
#page-container .make-referral-gf .gfield--type-html p,
#page-container .make-referral-gf .gfield--type-html li {
    font-family: var(--font-family-body) !important;
    font-size: clamp(1rem, 1rem + 0vw, 1rem) !important;
    color: #fff !important;
}

/* ============================================
   NEW WORK REQUEST — Gravity Form (dark section, Form 18)
   Scope: .new-work-request-gf on Divi Text module wrapping GF 18.
   White labels on dark sections; white field controls with dark text.
   Extends contact-us-page-gf with checkbox, legend, file upload, date/time.
   ============================================ */

#page-container .new-work-request-gf .gform-theme--orbital {
    --gf-ctrl-label-color-primary: #fff;
    --gf-ctrl-label-color-secondary: #fff;
    --gf-description-color: #fff;
}

#page-container .new-work-request-gf .gform-theme--orbital .gfield_label,
#page-container .new-work-request-gf .gform-theme--orbital label.gfield_label,
#page-container .new-work-request-gf .gform-theme--orbital legend.gfield_label {
    color: #fff;
    margin-bottom: 0px;
    font-size: 16px !important;
}

#page-container .new-work-request-gf .gform-theme--orbital .gform-field-label--type-sub {
    color: #fff;
}

#page-container .new-work-request-gf .gform-theme--orbital .gfield_required,
#page-container .new-work-request-gf .gform-theme--orbital .gfield_required .gfield_required_text,
#page-container .new-work-request-gf .gform-theme--orbital .gfield_required_asterisk {
    color: #fff;
    font-size: 16px !important;
}

#page-container .new-work-request-gf .gform-theme--orbital .gform_required_legend {
    color: #fff !important;
}

#page-container .new-work-request-gf .gform-theme--orbital .gchoice label,
#page-container .new-work-request-gf .gform-theme--orbital .gform-field-label--type-inline {
    font-weight: var(--font-weight-regular);
    color: #fff !important;
    cursor: pointer;
}

#page-container .new-work-request-gf .gform-theme--orbital .gfield_description,
#page-container .new-work-request-gf .gform-theme--orbital .gfield_description.validation_message,
#page-container .new-work-request-gf .gform-theme--orbital .gform_fileupload_rules,
#page-container .new-work-request-gf .gform-theme--orbital .gform_drop_instructions {
    color: #fff !important;
    font-size: var(--gf-description-font-size);
    line-height: var(--gf-description-line-height);
    margin-top: var(--gf-description-margin-top);
}

#page-container .new-work-request-gf .gform-theme--orbital input[type="text"],
#page-container .new-work-request-gf .gform-theme--orbital input[type="email"],
#page-container .new-work-request-gf .gform-theme--orbital input[type="tel"],
#page-container .new-work-request-gf .gform-theme--orbital input[type="number"],
#page-container .new-work-request-gf .gform-theme--orbital input[type="date"],
#page-container .new-work-request-gf .gform-theme--orbital input[type="time"],
#page-container .new-work-request-gf .gform-theme--orbital input.datepicker,
#page-container .new-work-request-gf .gform-theme--orbital textarea {
    background-color: #fff !important;
    color: #112337;
    font-size: 16px !important;
}

#page-container .new-work-request-gf .gform-theme--orbital input:-webkit-autofill,
#page-container .new-work-request-gf .gform-theme--orbital input:-webkit-autofill:hover,
#page-container .new-work-request-gf .gform-theme--orbital input:-webkit-autofill:focus,
#page-container .new-work-request-gf .gform-theme--orbital input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
    box-shadow: 0 0 0 1000px #fff inset !important;
    -webkit-text-fill-color: #112337 !important;
    caret-color: #112337;
    transition: background-color 5000s ease-in-out 0s;
}

#page-container .new-work-request-gf .gform-theme--foundation .gform_fields,
#page-container .new-work-request-gf .gform-theme--orbital .gform_fields {
    row-gap: 0;
}

#page-container .new-work-request-gf .gform-theme--orbital select {
    font-size: 16px !important;
    line-height: 1.25;
    color: #112337;
    padding: 8px 8px;
}

#page-container .new-work-request-gf .gform-theme--orbital .hour_minute_colon {
    color: #fff;
}

body:not(.et-vb-root-ancestor) #page-container .new-work-request-gf .large:not(.et_pb_button) {
    font-size: 16px !important;
    line-height: 1.25;
}

#page-container .new-work-request-gf .gform_wrapper textarea.textarea.small {
    padding: 8px 16px;
}

/* ============================================
   CONSULT REQUEST PAGE — Gravity Form
   Scope: .consult-request-page-gf is on the Divi text
   module wrapper that contains the GF shortcode.
   Navy field labels; white inputs with dark text;
   tertiary submit button. Spacing ~2/3 of global GF.
   ============================================ */

#page-container .consult-request-page-gf .gform-theme--orbital,
#page-container .consult-request-page-gf .gform-theme--foundation {
    --gf-field-margin-bottom: 16px;
    --gf-label-margin-bottom: 5px;
    --gf-form-gap-y: 13px;
    --gf-field-gap-y: 8px;
    --gf-form-footer-margin-y-start: 16px;
    --gf-form-footer-gap: 5px;
    --gf-control-padding-y: 8px;
    --gf-control-padding-x: 11px;
}

#page-container .consult-request-page-gf .gform-theme--orbital .gfield {
    margin-bottom: 16px;
}

#page-container .consult-request-page-gf .gform-theme--orbital .gfield_label,
#page-container .consult-request-page-gf .gform-theme--orbital label.gfield_label,
#page-container .consult-request-page-gf .gform-theme--orbital legend.gfield_label {
    color: var(--navy-500);
    margin-bottom: 5px;
    font-size: 16px !important;
}

/* Sub-labels under composite fields (address subfields: Street, City, etc.) */
#page-container .consult-request-page-gf .gform-theme--orbital .gform-field-label--type-sub {
    color: var(--navy-500);
    margin-top: 4px;
}

/* #page-container .consult-request-page-gf .gform-theme--orbital .gfield_required,
#page-container .consult-request-page-gf .gform-theme--orbital .gfield_required .gfield_required_text {
    color: var(--navy-500);
    font-size: 16px !important;
} */

#page-container .consult-request-page-gf .gform-theme--orbital input[type="text"],
#page-container .consult-request-page-gf .gform-theme--orbital input[type="email"],
#page-container .consult-request-page-gf .gform-theme--orbital input[type="tel"],
#page-container .consult-request-page-gf .gform-theme--orbital input[type="url"],
#page-container .consult-request-page-gf .gform-theme--orbital textarea {
    background-color: #fff !important;
    color: #112337;
    font-size: 16px !important;
}

/* Override Chrome/Edge browser autofill tint (e.g. Keeper, LastPass,
   1Password). Autofill ignores background-color, so we paint a full
   inset box-shadow as a stand-in white background. */
#page-container .consult-request-page-gf .gform-theme--orbital input:-webkit-autofill,
#page-container .consult-request-page-gf .gform-theme--orbital input:-webkit-autofill:hover,
#page-container .consult-request-page-gf .gform-theme--orbital input:-webkit-autofill:focus,
#page-container .consult-request-page-gf .gform-theme--orbital input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
    box-shadow: 0 0 0 1000px #fff inset !important;
    -webkit-text-fill-color: #112337 !important;
    caret-color: #112337;
    transition: background-color 5000s ease-in-out 0s;
}

#page-container .consult-request-page-gf .gform-theme--foundation .gform_fields,
#page-container .consult-request-page-gf .gform-theme--orbital .gform_fields {
    row-gap: 8px;
}

#page-container .consult-request-page-gf .gform-theme--orbital .ginput_complex {
    row-gap: 8px;
    column-gap: 8px;
}

#page-container .consult-request-page-gf .gform-theme--orbital .gform_footer {
    margin-top: 16px;
    padding-top: 0;
}

#page-container .consult-request-page-gf .gform-theme--orbital select {
    font-size: 16px !important;
    line-height: 1.25;
    color: #112337;
    padding: 8px 11px;
}

body:not(.et-vb-root-ancestor) #page-container {
    .consult-request-page-gf .large:not(.et_pb_button) {
        font-size: 16px !important;
        line-height: 1.25;
    }
}

#page-container .consult-request-page-gf .gform_wrapper textarea.textarea.small,
#page-container .consult-request-page-gf .gform-theme--orbital textarea.textarea.medium {
    padding: 8px 11px;
}

/* ============================================
   EMPLOYEE PORTAL LOGIN — Gravity Forms login shortcode
   Scope: .employee-portal-login-gf on the Divi Text module wrapping:
   [gravityform action="login" ...]
   Login wrapper lacks data-form-index; map Orbital vars on #gform_wrapper_0.
   ============================================ */

#page-container .employee-portal-login-gf #gform_wrapper_0.gf_login_form.gform-theme,
#page-container .employee-portal-login-gf #gform_wrapper_0.gf_login_form.gform-theme--orbital {
    --gf-color-primary: var(--btn-primary-bg);
    --gf-color-primary-contrast: var(--text-on-action);
    --gf-color-primary-darker: var(--btn-primary-bg-hover);
    --gf-color-primary-lighter: var(--btn-primary-bg);
    --gf-color-secondary: var(--icon-default);
    --gf-color-secondary-contrast: var(--text-on-action);
    --gf-color-secondary-darker: var(--var---color-action-secondary-hover-);
    --gf-color-secondary-lighter: var(--icon-default);
    --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);
    --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);
    --gf-ctrl-outline-color-focus: var(--border-interactive);
    --gf-ctrl-outline-width-focus: 2px;
    --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);
    --gf-description-color: var(--text-muted);
    --gf-description-font-size: var(--font-size-100);
    --gf-description-line-height: var(--line-height-sm);
    --gf-button-primary-bg-color: var(--btn-primary-bg);
    --gf-button-primary-bg-color-hover: var(--btn-primary-bg-hover);
    --gf-button-primary-color: var(--btn-primary-text);
    --gf-button-primary-color-hover: var(--btn-primary-text);
    --gf-control-border-radius: 4px;
    --gf-control-border-width: 1px;
    --gf-control-padding-x: 16px;
    --gf-control-padding-y: 12px;
    --gf-field-margin-bottom: 24px;
    --gf-label-margin-bottom: 8px;
    --gf-description-margin-top: 4px;
    --gf-control-font-size: var(--font-size-200);
    --gf-control-line-height: var(--line-height-sm);
    --gf-control-font-family: var(--font-family-sans);
    --gf-error-color: var(--feedback-destructive-text);
    --gf-error-bg-color: var(--feedback-destructive-bg);
    --gf-error-border-color: var(--feedback-destructive-text);
    --gf-success-color: var(--form-success);
    --gf-success-bg-color: var(--feedback-success-bg);
}

#page-container .employee-portal-login-gf #gform_wrapper_0.gf_login_form.gform-theme--foundation,
#page-container .employee-portal-login-gf .gform-theme--orbital,
#page-container .employee-portal-login-gf .gform-theme--foundation {
    --gf-form-gap-x: 16px;
    --gf-form-gap-y: 13px;
    --gf-form-footer-margin-y-start: 16px;
    --gf-form-footer-gap: 5px;
    --gf-field-gap-x: 12px;
    --gf-field-gap-y: 8px;
    --gf-field-margin-bottom: 16px;
    --gf-label-margin-bottom: 5px;
    --gf-control-padding-y: 8px;
    --gf-control-padding-x: 11px;
}

#page-container .employee-portal-login-gf .gform-theme--orbital .gfield {
    margin-bottom: 16px;
}

#page-container .employee-portal-login-gf .gform-theme--orbital .gfield_label,
#page-container .employee-portal-login-gf .gform-theme--orbital label.gfield_label {
    color: var(--navy-500);
    margin-bottom: 5px;
    font-size: 16px !important;
}

#page-container .employee-portal-login-gf .gform-theme--orbital input[type="text"],
#page-container .employee-portal-login-gf .gform-theme--orbital input[type="password"] {
    background-color: #fff !important;
    color: #112337;
    font-size: 16px !important;
}

#page-container .employee-portal-login-gf .gform-theme--orbital input:-webkit-autofill,
#page-container .employee-portal-login-gf .gform-theme--orbital input:-webkit-autofill:hover,
#page-container .employee-portal-login-gf .gform-theme--orbital input:-webkit-autofill:focus,
#page-container .employee-portal-login-gf .gform-theme--orbital input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
    box-shadow: 0 0 0 1000px #fff inset !important;
    -webkit-text-fill-color: #112337 !important;
    caret-color: #112337;
    transition: background-color 5000s ease-in-out 0s;
}

#page-container .employee-portal-login-gf .gform-theme--foundation .gform_fields,
#page-container .employee-portal-login-gf .gform-theme--orbital .gform_fields {
    row-gap: 8px;
}

#page-container .employee-portal-login-gf .gform-theme--orbital .gform_footer {
    margin-top: 16px;
    padding-top: 0;
}

#page-container .employee-portal-login-gf .gform-theme--orbital .gfield--type-remember_me .gchoice label {
    color: var(--text-default);
    cursor: pointer;
    font-family: var(--font-family-sans);
    font-size: var(--font-size-200);
    font-weight: var(--font-weight-regular);
}

#page-container .employee-portal-login-gf .gform-theme--orbital .gfield--type-remember_me input[type="checkbox"] {
    margin-right: 8px;
}

#page-container .employee-portal-login-gf .gf_login_links {
    font-family: var(--font-family-sans);
    font-size: var(--font-size-200);
    line-height: var(--line-height-sm);
    margin-top: 16px;
}

#page-container .employee-portal-login-gf .gf_login_links a {
    color: #004B87;
    text-decoration: underline;
    text-decoration-color: #004B87;
}

#page-container .employee-portal-login-gf .gf_login_links a:hover,
#page-container .employee-portal-login-gf .gf_login_links a:focus-visible {
    text-decoration: none;
}

/* ============================================================
 * Pill-style FacetWP Facet (.pill-btn-facet)
 *
 * Supports both Checkbox and Radio facet types. FacetWP renders:
 *   - Checkboxes: .facetwp-type-checkboxes > .facetwp-checkbox
 *   - Radio:      .facetwp-type-radio      > .facetwp-radio
 * Both use the same `.checked` and `.disabled` modifier classes, so
 * styles are kept in one combined selector list.
 * ============================================================ */
#page-container .pill-btn-facet .facetwp-type-checkboxes,
#page-container .pill-btn-facet .facetwp-type-radio {
    display: flex;
    flex-wrap: wrap;
    gap: var(--size-8);
}

#page-container .pill-btn-facet .facetwp-checkbox,
#page-container .pill-btn-facet .facetwp-radio {
    background: var(--white);
    color: var(--navy);
    border: 0;
    border-radius: var(--size-32);
    box-shadow: inset 0 0 0 1px var(--navy);
    padding: var(--size-8) var(--size-16);
    margin: 0;
    cursor: pointer;
    font-family: var(--font-family-body);
    font-size: var(--font-size-200);
    font-weight: var(--font-weight-medium);
    line-height: 1.25;
    display: inline-flex;
    align-items: center;
    gap: var(--size-4);
    user-select: none;
    transition: background-color 0.2s ease, box-shadow 0.2s ease, color 0.2s ease;
}

#page-container .pill-btn-facet .facetwp-checkbox:hover,
#page-container .pill-btn-facet .facetwp-radio:hover {
    background-color: color-mix(in srgb, var(--sky-blue) 12%, white);
}

#page-container .pill-btn-facet .facetwp-checkbox:focus-visible,
#page-container .pill-btn-facet .facetwp-radio:focus-visible {
    outline: 2px solid var(--focus-ring-outer);
    outline-offset: 2px;
}

#page-container .pill-btn-facet .facetwp-checkbox.checked,
#page-container .pill-btn-facet .facetwp-radio.checked {
    background-color: color-mix(in srgb, var(--sky-blue) 12%, white);
    box-shadow: inset 0 0 0 2px var(--navy);
    color: var(--navy-900);
}

#page-container .pill-btn-facet .facetwp-checkbox.disabled,
#page-container .pill-btn-facet .facetwp-radio.disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

#page-container .pill-btn-facet .facetwp-checkbox .facetwp-counter,
#page-container .pill-btn-facet .facetwp-radio .facetwp-counter {
    color: #004B87 !important;
    opacity: 1;
}

/* Green variant of .pill-btn-facet (e.g., blog category filters).
 * Apply alongside .pill-btn-facet on the same wrapper, e.g.:
 *   pill-btn-facet pill-btn-facet--green
 * Only color tokens are overridden; layout/typography inherit from the base. */
#page-container .pill-btn-facet--green .facetwp-checkbox,
#page-container .pill-btn-facet--green .facetwp-radio {
    color: var(--green-leaf-800);
    box-shadow: inset 0 0 0 1px var(--green-leaf-500);
}

#page-container .pill-btn-facet--green .facetwp-checkbox:hover,
#page-container .pill-btn-facet--green .facetwp-radio:hover {
    background-color: var(--green-leaf-50);
}

#page-container .pill-btn-facet--green .facetwp-checkbox.checked,
#page-container .pill-btn-facet--green .facetwp-radio.checked {
    background-color: var(--green-leaf-50);
    box-shadow: inset 0 0 0 2px var(--green-leaf-700);
    color: var(--green-leaf-900);
}

/* ============================================================
 * Service Card Listing (.blue-leaf-service-cards)
 *
 * FacetWP all_services: static cards (.post-info only, no permalink). All services
 * render at once; service_categories facet filters the set (no load-more pager).
 * Legacy crisis/outpatient templates may still wrap .post-info in > a;
 * :has(> a) keeps hover + arrow affordance only when a link is present.
 * ============================================================ */
#page-container .fsm-post-list.blue-leaf-service-cards {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
    display: grid;
    /* 3 per row on desktop, 2 on tablet (768-980), 1 on phone (<768) */
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--size-24);
}

#page-container .blue-leaf-service-cards .fsm-post-item {
    position: relative;
    border: 2px solid var(--sky-blue);
    border-radius: var(--leaf-radius-point-bottom-right);
    background: var(--white);
    margin: 0;
    padding: 0;
}

#page-container .blue-leaf-service-cards .fsm-post-item:has(> a) {
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

#page-container .blue-leaf-service-cards .fsm-post-item:has(> a):hover,
#page-container .blue-leaf-service-cards .fsm-post-item:has(> a):focus-within {
    border-color: var(--navy);
    background-color: color-mix(in srgb, var(--sky-blue) 12%, white);
}

#page-container .blue-leaf-service-cards .fsm-post-item .post-info {
    padding: var(--size-32);
}

#page-container .blue-leaf-service-cards .fsm-post-item>a {
    display: block;
    position: relative;
    height: 100%;
    padding: var(--size-32) var(--size-32) calc(var(--size-32) + var(--size-56)) var(--size-32);
    color: inherit;
    text-decoration: none;
}

#page-container .blue-leaf-service-cards .fsm-post-item>a .post-info {
    padding: 0;
}

#page-container .blue-leaf-service-cards .fsm-post-item .post-info h3 {
    color: var(--navy);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-300);
    line-height: var(--line-height-xs);
    margin: 0 0 var(--size-12);
    padding: 0;
}

#page-container .blue-leaf-service-cards .fsm-post-item .post-info p {
    color: var(--text-default);
    font-size: var(--font-size-200);
    line-height: var(--line-height-sm);
    margin: 0;
}

#page-container .blue-leaf-service-cards .fsm-post-item>a::after {
    content: '';
    position: absolute;
    right: var(--size-24);
    bottom: var(--size-20);
    width: var(--size-56);
    height: var(--size-56);
    background-color: var(--navy);
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><line x1='4' y1='12' x2='20' y2='12'/><polyline points='13 5 20 12 13 19'/></svg>") no-repeat center / contain;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><line x1='4' y1='12' x2='20' y2='12'/><polyline points='13 5 20 12 13 19'/></svg>") no-repeat center / contain;
    opacity: 0;
    transition: opacity 0.2s ease;
    pointer-events: none;
}

#page-container .blue-leaf-service-cards .fsm-post-item:has(> a):hover>a::after,
#page-container .blue-leaf-service-cards .fsm-post-item:has(> a):focus-within>a::after {
    opacity: 1;
}

@media (min-width: 768px) and (max-width: 980px) {
    #page-container .fsm-post-list.blue-leaf-service-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--size-20);
    }
}

@media (max-width: 767px) {
    #page-container .fsm-post-list.blue-leaf-service-cards {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--size-16);
    }

    #page-container .blue-leaf-service-cards .fsm-post-item {
        border-radius: var(--leaf-radius-point-bottom-right-mobile);
    }

    #page-container .blue-leaf-service-cards .fsm-post-item .post-info {
        padding: var(--size-20);
    }

    #page-container .blue-leaf-service-cards .fsm-post-item>a {
        padding: var(--size-20) var(--size-20) calc(var(--size-20) + var(--size-56)) var(--size-20);
    }

    #page-container .blue-leaf-service-cards .fsm-post-item>a .post-info {
        padding: 0;
    }
}

/* ============================================================
 * Career card listing (FacetWP careers — .ppbh-career-cards)
 *
 * Two-column grid grouped by careers_category h3 headings.
 * Professional text cards — no leaf bubble or leaf-radius shapes.
 * See reference/facetwp-listing-careers.php.
 * ============================================================ */
#page-container .ppbh-careers-listing {
    display: flex;
    flex-direction: column;
    gap: var(--size-32);
    width: 100%;
}

#page-container .ppbh-careers-category__heading {
    color: var(--dark-leaf);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-400);
    line-height: var(--line-height-xs);
    margin: 0 0 var(--size-16);
    padding: 0;
}

#page-container .fsm-post-list.ppbh-career-cards {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--size-24);
}

#page-container .ppbh-career-cards .fsm-post-item {
    position: relative;
    border: 1px solid var(--sky-blue);
    border-radius: 32px 32px 4px 32px;
    background: var(--white);
    margin: 0;
    padding: 0;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

#page-container .ppbh-career-cards .fsm-post-item:hover,
#page-container .ppbh-career-cards .fsm-post-item:focus-within {
    border-color: var(--navy);
    background-color: var(--navy-50);
}

#page-container .ppbh-career-cards .fsm-post-item>a {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    height: 100%;
    padding: var(--size-24);
    color: inherit;
    text-decoration: none;
}

#page-container .ppbh-career-cards .fsm-post-item .post-info {
    flex: 1 1 auto;
}

#page-container .ppbh-career-cards .fsm-post-item .career-card-title {
    color: var(--navy);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-300);
    line-height: var(--line-height-xs);
    margin: 0 0 var(--size-12);
    padding: 0;
}

#page-container .ppbh-career-cards .fsm-post-item .career-card-excerpt {
    color: var(--text-default);
    font-size: var(--font-size-200);
    line-height: var(--line-height-sm);
    margin: 0;
}

#page-container .ppbh-career-cards .fsm-post-item .career-card-cta {
    display: inline-block;
    margin-top: var(--size-16);
    color: var(--navy-600);
    font-size: var(--font-size-200);
    font-weight: var(--font-weight-semibold);
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

#page-container .ppbh-career-cards .fsm-post-item>a:hover .career-card-cta,
#page-container .ppbh-career-cards .fsm-post-item>a:focus-visible .career-card-cta {
    color: var(--navy);
}

#page-container .ppbh-career-cards .fsm-post-item>a:focus-visible {
    outline: 2px solid var(--navy);
    outline-offset: 2px;
}

@media (max-width: 767px) {
    #page-container .fsm-post-list.ppbh-career-cards {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--size-16);
    }

    #page-container .ppbh-career-cards .fsm-post-item>a {
        padding: var(--size-20);
    }
}

/* ============================================================
 * Resource card listing (FacetWP all_resources — .ppbh-resource-leaf-cards)
 *
 * Three-column grid (9 per page, 3×3); document = sky-blue, video = green-leaf,
 * article = orange, coping skills = sunshine (700 border / 800 text on white).
 * Type label bottom-right; external link only. See
 * reference/facetwp-listing-all_resources.php.
 * ============================================================ */
#page-container .fsm-post-list.ppbh-resource-leaf-cards {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--size-24);
}

#page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item {
    position: relative;
    border-radius: var(--leaf-radius-point-bottom-right);
    background: var(--white);
    transition: border-color 0.2s ease, background-color 0.2s ease;
    min-height: 240px;
    margin: 0;
    padding: 0;
}

#page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item--resource-document {
    border: 2px solid var(--sky-blue);
}

#page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item--resource-document:hover,
#page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item--resource-document:focus-within {
    border-color: var(--navy);
    background-color: color-mix(in srgb, var(--sky-blue) 12%, white);
}

#page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item--resource-video {
    border: 2px solid var(--green-leaf-500);
}

#page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item--resource-video:hover,
#page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item--resource-video:focus-within {
    border-color: var(--green-leaf-800);
    background-color: var(--green-leaf-50);
}

#page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item--resource-article {
    border: 2px solid var(--orange-500);
}

#page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item--resource-article:hover,
#page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item--resource-article:focus-within {
    border-color: var(--orange-800);
    background-color: var(--orange-50);
}

#page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item--resource-coping-skills {
    border: 2px solid var(--sunshine-700);
}

#page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item--resource-coping-skills:hover,
#page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item--resource-coping-skills:focus-within {
    border-color: var(--sunshine-800);
    background-color: var(--sunshine-50);
}

#page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item>a {
    display: block;
    position: relative;
    height: 100%;
    padding: var(--size-24) var(--size-24) calc(var(--size-24) + var(--size-32)) var(--size-24);
    color: inherit;
    text-decoration: none;
}

#page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item .post-info h3 {
    color: var(--navy);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    /* 20px — overrides global h3 (1.5rem) !important */
    font-size: 1.25rem !important;
    line-height: var(--line-height-xs);
    margin: 0 0 var(--size-8);
    padding: 0;
}

#page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item--resource-video .post-info h3 {
    color: var(--green-leaf-800);
}

#page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item--resource-article .post-info h3 {
    color: var(--orange-800);
}

#page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item--resource-coping-skills .post-info h3 {
    color: var(--sunshine-800);
}

#page-container .fsm-post-list.ppbh-resource-leaf-cards .resource-card-excerpt {
    color: var(--text-default);
    font-size: var(--font-size-200);
    line-height: var(--line-height-sm);
    margin: 0;
    /* Word count capped in PHP (PPBH_RESOURCE_CARD_EXCERPT_WORDS); no line-clamp here. */
}

#page-container .fsm-post-list.ppbh-resource-leaf-cards .resource-card-type {
    position: absolute;
    right: var(--size-20);
    bottom: var(--size-16);
    font-family: var(--font-family-heading);
    font-size: var(--font-size-100);
    font-weight: var(--font-weight-semibold);
    line-height: 1;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    pointer-events: none;
}

#page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item--resource-document .resource-card-type {
    color: #004B87;
}

#page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item--resource-video .resource-card-type {
    color: var(--green-leaf-800);
}

#page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item--resource-article .resource-card-type {
    color: var(--orange-800);
}

#page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item--resource-coping-skills .resource-card-type {
    color: #705414;
}

@media (min-width: 768px) and (max-width: 980px) {
    #page-container .fsm-post-list.ppbh-resource-leaf-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--size-20);
    }
}

@media (max-width: 767px) {
    #page-container .fsm-post-list.ppbh-resource-leaf-cards {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--size-16);
    }

    #page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item {
        min-height: 200px;
        border-radius: var(--leaf-radius-point-bottom-right-mobile);
    }

    #page-container .fsm-post-list.ppbh-resource-leaf-cards .fsm-post-item>a {
        padding: var(--size-20) var(--size-20) calc(var(--size-20) + var(--size-32)) var(--size-20);
    }
}

/*
 * FacetWP load-more appends ol/ul + .services-pagination per batch. Hide every
 * pager wrapper except the last so only one Show More appears at the bottom.
 */
#page-container .facetwp-template[data-name="all_resources"],
#page-container .facetwp-template[data-name="blog_posts"],
#page-container .facetwp-template[data-name="success_stories"] {
    display: flex;
    flex-direction: column;
    gap: var(--size-24);
}

#page-container .facetwp-template[data-name="all_resources"] .services-pagination,
#page-container .facetwp-template[data-name="blog_posts"] .services-pagination,
#page-container .facetwp-template[data-name="success_stories"] .services-pagination {
    margin: 0;
}

#page-container .facetwp-template[data-name="all_resources"] .services-pagination:not(:last-child),
#page-container .facetwp-template[data-name="blog_posts"] .services-pagination:not(:last-child),
#page-container .facetwp-template[data-name="success_stories"] .services-pagination:not(:last-child) {
    display: none;
}

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

    #page-container .facetwp-template[data-name="all_resources"],
    #page-container .facetwp-template[data-name="blog_posts"],
    #page-container .facetwp-template[data-name="success_stories"] {
        gap: var(--size-20);
    }
}

@media (max-width: 767px) {

    #page-container .facetwp-template[data-name="all_resources"],
    #page-container .facetwp-template[data-name="blog_posts"],
    #page-container .facetwp-template[data-name="success_stories"] {
        gap: var(--size-16);
    }
}

/* ============================================================
 * Blog card listing (FacetWP blog_posts — .green-leaf-blog-cards)
 *
 * Three-column grid (same rhythm as .blue-leaf-service-cards).
 * Leaf shape with sharp top-left point (--leaf-radius-point-top-left).
 * Border 1px light leaf; hover fill lightest green; title + Read More
 * in dark leaf. No featured image — markup lives in FacetWP listing
 * template (see reference/facetwp-listing-blog_posts.php).
 * ============================================================ */
#page-container .fsm-post-list.green-leaf-blog-cards {
    list-style: none;
    padding: 0;
    margin: 0;
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--size-24);
}

#page-container .fsm-post-list.green-leaf-blog-cards .fsm-post-item {
    position: relative;
    border: 1px solid var(--green-leaf-100);
    border-radius: var(--leaf-radius-point-top-left);
    background: var(--white);
    transition: background-color 0.2s ease;
    /* Row rhythm: 150% of prior 240px baseline */
    min-height: 360px;
    margin: 0;
    padding: 0;
}

#page-container .fsm-post-list.green-leaf-blog-cards .fsm-post-item:hover,
#page-container .fsm-post-list.green-leaf-blog-cards .fsm-post-item:focus-within {
    background-color: var(--green-leaf-50);
}

#page-container .fsm-post-list.green-leaf-blog-cards .fsm-post-item>a {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    height: 100%;
    padding: var(--size-32);
    color: inherit;
    text-decoration: none;
}

#page-container .fsm-post-list.green-leaf-blog-cards .fsm-post-item .post-info {
    flex: 1 1 auto;
}

#page-container .fsm-post-list.green-leaf-blog-cards .fsm-post-item .post-info h3 {
    color: var(--dark-leaf);
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-300);
    line-height: var(--line-height-xs);
    margin: 0 0 var(--size-12);
    padding: 0;
}

#page-container .fsm-post-list.green-leaf-blog-cards .fsm-post-item .blog-card-excerpt {
    color: var(--text-default);
    font-size: var(--font-size-200);
    line-height: var(--line-height-sm);
}

/* Reusable inline SVG icons — 1em matches surrounding text size */
#page-container .ppbh-icon-svg {
    display: inline-block;
    width: 1em;
    height: 1em;
    flex-shrink: 0;
    vertical-align: -0.125em;
}

.white-icon span.et-pb-icon {
    color: #fff !important;
}

#page-container .ppbh-icon-svg:not(.ppbh-icon-youtube) path {
    fill: currentColor;
}

/* YouTube in card links: never use currentColor (anchor inheritance can make fill invisible) */
#page-container .blog-card-video-label .ppbh-icon-youtube path {
    fill: #004b87 !important;
}

#page-container .blog-card-video-label {
    display: inline-flex;
    align-items: center;
    gap: 0.5em;
}

#page-container .fsm-post-list.green-leaf-blog-cards .blog-card-readmore {
    margin-top: auto;
    align-self: flex-end;
    font-family: var(--font-family-heading);
    font-size: var(--font-size-175);
    font-weight: var(--font-weight-semibold);
    color: var(--dark-leaf);
    position: relative;
    padding-right: calc(var(--size-12) + 0.3em);
    line-height: 1.25;
}

#page-container .fsm-post-list.green-leaf-blog-cards .blog-card-readmore::after {
    content: '';
    position: absolute;
    right: 0;
    top: 50%;
    width: 10px;
    height: 10px;
    transform: translateY(-50%);
    background-color: var(--dark-leaf);
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 12' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='M2 2L6 6 2 10'/></svg>") no-repeat center / 8px 10px;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 12' fill='none' stroke='black' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'><path d='M2 2L6 6 2 10'/></svg>") no-repeat center / 8px 10px;
    pointer-events: none;
}

#page-container .fsm-post-list.green-leaf-blog-cards .fsm-post-item>a:focus-visible {
    outline: 2px solid var(--focus-ring-outer);
    outline-offset: 2px;
}

@media (min-width: 768px) and (max-width: 980px) {
    #page-container .fsm-post-list.green-leaf-blog-cards {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--size-20);
    }
}

@media (max-width: 767px) {
    #page-container .fsm-post-list.green-leaf-blog-cards {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--size-16);
    }

    #page-container .fsm-post-list.green-leaf-blog-cards .fsm-post-item {
        min-height: 200px;
        border-radius: var(--leaf-radius-point-top-left-mobile);
    }

    #page-container .fsm-post-list.green-leaf-blog-cards .fsm-post-item>a {
        padding: var(--size-20);
    }
}

/* ============================================================
 * Featured success stories — [ppbh_featured_success_stories]
 *
 * Two-card grid for homepage stories row (intro column stays in Divi).
 * Leaf shapes: first card point bottom-right; second point bottom-left.
 * Tablet and mobile: second card hidden (intro + one story).
 * ============================================================ */
#page-container .et_pb_row:has(.ppbh-featured-stories-cards) {
    align-items: stretch;
}

#page-container .et_pb_column:has(.ppbh-featured-stories-cards) {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    height: auto;
    min-height: 100%;
}

#page-container .et_pb_code:has(.ppbh-featured-stories-cards),
#page-container .et_pb_code_inner:has(.ppbh-featured-stories-cards) {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height: 100%;
}

#page-container .ppbh-featured-stories-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--size-16);
    width: 100%;
    height: 100%;
    min-height: 100%;
    flex: 1 1 auto;
    margin: 0;
    align-items: stretch;
}

#page-container .ppbh-featured-stories-cards__card {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    row-gap: var(--size-10);
    height: 100%;
    min-height: 100%;
    background-color: var(--green-leaf-50);
    border-radius: var(--leaf-radius-point-bottom-right);
    padding: var(--size-40) var(--size-24);
    margin: 0;
}

#page-container .ppbh-featured-stories-cards__card--second {
    border-radius: var(--leaf-radius-point-bottom-left);
}

#page-container .ppbh-featured-stories-cards__title {
    color: #212121;
    font-family: var(--font-family-heading);
    font-weight: var(--font-weight-bold);
    font-size: var(--font-size-300);
    line-height: var(--line-height-xs);
    margin: 0;
    padding: 0;
}

#page-container .ppbh-featured-stories-cards__description {
    color: var(--text-default);
    font-size: var(--font-size-200);
    line-height: var(--line-height-sm);
    margin: 0;
}

#page-container .ppbh-featured-stories-cards__link {
    align-self: flex-start;
    margin-top: 0;
}

@media (max-width: 980px) {
    #page-container .ppbh-featured-stories-cards__card--second {
        display: none;
    }
}

@media (max-width: 767px) {
    #page-container .ppbh-featured-stories-cards {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--size-20);
    }
}

/* ============================================================
 * Services Listing Pagination (.services-pagination)
 *
 * Holds either the FacetWP "Load More" button (when no category
 * filter is active) or a "See More" link to the category archive
 * (when a single category is selected). The PHP listing template
 * renders exactly one of the two based on the current facet state,
 * so the wrapper is empty/visible only when needed.
 *
 * Visually this mirrors the `fsm-btn-link` look (DM Sans label +
 * chevron in ::after, slides 4px on hover) without depending on
 * Divi's `.et_pb_button` ancestor.
 * ============================================================ */
#page-container .services-pagination {
    margin: var(--size-32) 0 0;
    display: flex;
    justify-content: center;
    width: 100%;
}

#page-container .services-pagination .facetwp-load-more,
#page-container .services-pagination .services-see-more {
    appearance: none;
    background: none;
    border: 0;
    box-shadow: none;
    color: var(--btn-link-text);
    cursor: pointer;
    display: inline-block;
    font-family: var(--font-family-heading);
    font-size: var(--font-size-175);
    font-weight: var(--font-weight-semibold);
    letter-spacing: -0.36px;
    line-height: 1.25;
    padding: var(--size-8) calc(var(--size-12) + 0.35em) var(--size-8) 0;
    position: relative;
    text-decoration: none;
    text-decoration-color: transparent;
    text-underline-offset: 4px;
    transition: color 0.2s ease, text-decoration-color 0.2s ease;
}

#page-container .services-pagination .facetwp-load-more::after,
#page-container .services-pagination .services-see-more::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    width: 12px;
    height: 12px;
    transform: translateY(-50%);
    background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 12' fill='none'%3E%3Cpath d='M2 2L6 6 2 10' stroke='%23000000' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px 10px no-repeat;
    transition: transform 0.2s ease;
    pointer-events: none;
}

#page-container .services-pagination .facetwp-load-more:hover,
#page-container .services-pagination .facetwp-load-more:focus-visible,
#page-container .services-pagination .services-see-more:hover,
#page-container .services-pagination .services-see-more:focus-visible {
    color: var(--btn-link-text);
    text-decoration: underline;
    text-decoration-color: currentColor;
}

#page-container .services-pagination .facetwp-load-more:hover::after,
#page-container .services-pagination .facetwp-load-more:focus-visible::after,
#page-container .services-pagination .services-see-more:hover::after,
#page-container .services-pagination .services-see-more:focus-visible::after {
    transform: translateY(-50%) translateX(4px);
}

/* FacetWP hides the load-more button itself once all results are
   loaded -- nothing extra needed; the wrapper just becomes empty. */
#page-container .services-pagination .facetwp-load-more.disabled,
#page-container .services-pagination .facetwp-load-more[disabled] {
    display: none;
}

/* ============================================================
 * Team Leaves Grid (.team-leaves)
 * ============================================================ */
#page-container .team-leaves {
    background-image: url('/wp-content/uploads/Full-leaves-bg.svg');
    background-repeat: repeat-y;
    background-position: center top;
    background-size: auto auto;
}

#page-container .team-leaves .et_pb_column:has(> .et_pb_blurb) {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--size-32);
    align-items: stretch;
}

#page-container .team-leaves .et_pb_blurb {
    background-color: color-mix(in srgb, var(--green-leaf) 50%, transparent);
    box-shadow: 0 2px 18px 0 rgba(0, 0, 0, 0.3);
    border-radius: 32px 32px 3px 32px;
    padding: var(--size-16);
    margin: 0;
    width: 100%;
    height: 100%;
    max-width: none;
}

#page-container .team-leaves .et_pb_blurb .et_pb_blurb_content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--size-16);
    max-width: none;
}

#page-container .team-leaves .et_pb_main_blurb_image {
    width: 100%;
    max-width: 300px;
    margin: 0 auto;
}

#page-container .team-leaves .et_pb_main_blurb_image .et_pb_image_wrap {
    display: block;
    width: 100%;
    max-width: 300px;
    max-height: 300px;
    aspect-ratio: 1 / 1;
    margin: 0 auto;
    padding: 12px;
    box-sizing: border-box;
}

#page-container .team-leaves .et_pb_main_blurb_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    background-color: var(--white);
    border: 2px solid var(--dark-leaf);
    border-radius: 16px;
    display: block;
}

#page-container .team-leaves .et_pb_blurb_container {
    padding: var(--size-8) var(--size-16) 0;
    text-align: center;
    width: 100%;
}

#page-container .team-leaves .et_pb_module_header {
    margin: 0 0 var(--size-8);
}

#page-container .team-leaves .et_pb_blurb_description p {
    margin: 0;
}

@media (max-width: 980px) {
    #page-container .team-leaves .et_pb_column:has(> .et_pb_blurb) {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--size-24);
    }
}

@media (max-width: 767px) {
    #page-container .team-leaves .et_pb_column:has(> .et_pb_blurb) {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--size-20);
    }

    #page-container .team-leaves .et_pb_blurb {
        border-radius: 48px 48px 4px 48px;
    }
}

/* ============================================================
 * Executive Team Leaves (.executive-team-leaves)
 * ============================================================ */
#page-container .executive-team-leaves .et_pb_column:has(> .et_pb_blurb) {
    grid-template-columns: minmax(0, 1fr);
}

#page-container .executive-team-leaves .et_pb_blurb .et_pb_blurb_content {
    flex-direction: row;
    align-items: flex-start;
    gap: var(--size-24);
}

#page-container .executive-team-leaves .et_pb_main_blurb_image {
    flex: 0 0 auto;
    width: clamp(180px, 28%, 280px);
    margin: 0;
}

#page-container .executive-team-leaves .et_pb_blurb_container {
    flex: 1 1 0;
    min-width: 0;
    padding: 0;
    text-align: left;
}

#page-container .executive-team-leaves .et_pb_module_header {
    text-align: left;
}

#page-container .executive-team-leaves .et_pb_blurb_description,
#page-container .executive-team-leaves .et_pb_blurb_description p {
    text-align: left;
}

@media (max-width: 767px) {
    #page-container .executive-team-leaves .et_pb_blurb .et_pb_blurb_content {
        flex-direction: column;
        align-items: center;
        gap: var(--size-16);
    }

    #page-container .executive-team-leaves .et_pb_main_blurb_image {
        width: 100%;
        max-width: 280px;
        margin: 0 auto;
    }

    #page-container .executive-team-leaves .et_pb_blurb_container {
        padding: var(--size-8) var(--size-16) 0;
        text-align: center;
    }

    #page-container .executive-team-leaves .et_pb_module_header {
        text-align: center;
    }

    #page-container .executive-team-leaves .et_pb_blurb_description,
    #page-container .executive-team-leaves .et_pb_blurb_description p {
        text-align: left !important;
    }
}

/* ============================================================
   Success story single — post navigation as primary buttons
   Add custom class `success-story-post-nav` on the Divi Post
   Navigation module (or a parent row/section that wraps it).
   ============================================================ */
#page-container .success-story-post-nav .et_pb_posts_nav.nav-single {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: var(--size-16);
    width: 100%;
    margin: var(--size-24) 0;
}

#page-container .success-story-post-nav .nav-previous,
#page-container .success-story-post-nav .nav-next {
    display: block;
    max-width: 100%;
}

#page-container .success-story-post-nav .nav-previous:empty,
#page-container .success-story-post-nav .nav-next:empty {
    display: none;
}

#page-container .success-story-post-nav .nav-previous a,
#page-container .success-story-post-nav .nav-next a {
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 10px !important;
    min-height: 48px !important;
    max-width: 100%;
    padding: 12px 21px !important;
    border-radius: 50px !important;
    border: none !important;
    background-color: var(--btn-primary-bg) !important;
    background-image: none !important;
    color: var(--btn-primary-text) !important;
    font-family: var(--font-family-heading) !important;
    font-size: var(--font-size-175) !important;
    font-style: normal !important;
    font-weight: var(--font-weight-semibold) !important;
    line-height: normal !important;
    letter-spacing: -0.36px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

#page-container .success-story-post-nav .meta-nav {
    display: inline !important;
    flex-shrink: 0;
    color: inherit !important;
    font-family: inherit !important;
    font-size: 1.125em !important;
    font-weight: inherit !important;
    line-height: 1 !important;
    letter-spacing: normal !important;
}

/* Previous: arrow before title (← points left, outward) */
#page-container .success-story-post-nav .nav-previous a {
    flex-direction: row !important;
}

#page-container .success-story-post-nav .nav-previous .meta-nav {
    order: -1;
    margin-right: 2px;
}

/* Next: arrow after title (→ points right, outward) */
#page-container .success-story-post-nav .nav-next a {
    flex-direction: row !important;
}

#page-container .success-story-post-nav .nav-next .meta-nav {
    order: 1;
    margin-left: 2px;
}

#page-container .success-story-post-nav .nav-label {
    color: inherit !important;
}

#page-container .success-story-post-nav .nav-previous a:hover,
#page-container .success-story-post-nav .nav-next a:hover {
    background-color: var(--btn-primary-bg-hover) !important;
    background-image: none !important;
    color: var(--btn-primary-text) !important;
    text-decoration: underline !important;
}

#page-container .success-story-post-nav .nav-previous a:focus-visible,
#page-container .success-story-post-nav .nav-next a:focus-visible {
    background-color: var(--btn-primary-bg-hover) !important;
    background-image: none !important;
    color: var(--btn-primary-text) !important;
    outline: 2px solid var(--focus-ring-outer) !important;
    outline-offset: 2px !important;
}

@media (max-width: 767px) {
    #page-container .success-story-post-nav .et_pb_posts_nav.nav-single {
        flex-direction: column;
        align-items: stretch;
    }

    #page-container .success-story-post-nav .nav-previous a,
    #page-container .success-story-post-nav .nav-next a {
        width: 100%;
        justify-content: center !important;
    }
}

#page-container .gform-theme--orbital .reduced-select-padding-y select {
    padding: 6px var(--gf-control-padding-x);
}

#page-container .gform-theme--orbital .uploadfield-unset-padding-y .ginput_container_fileupload input[type="file"] {
    padding: unset;
}

body:not(.et-vb-root-ancestor) #page-container #erp-h1-downsize h1,
body:not(.et-vb-root-ancestor) #page-container #erp-h1-downsize .h1 {
    /* 390px→1300px: 28px→64px; long ERP hero title */
    font-size: clamp(1.75rem, calc(1.75rem + (100vw - 390px) * 36 / 910), 4rem) !important;
}

@media (max-width: 980px) {
    #page-container .hero-section-downsize .hero-row-full-width>.et_pb_column:first-child .et_pb_group.et-last-child:has(#erp-h1-downsize) {
        margin-left: unset !important;
    }
}

/* Long blog single titles (Theme Builder #long-blog-title-sizing) */
body:not(.et-vb-root-ancestor).long-blog-title #page-container #long-blog-title-sizing h1,
body:not(.et-vb-root-ancestor).long-blog-title #page-container #long-blog-title-sizing .h1 {
    /* 390px→1300px: 32px→48px; long blog post title */
    font-size: clamp(2rem, calc(2rem + (100vw - 390px) * 16 / 910), 3rem) !important;
    line-height: 1.1;
}

body:not(.et-vb-root-ancestor).long-blog-title #page-container .et_pb_column:has(#long-blog-title-sizing) {
    width: 98% !important;
}

/* ==========================================================================
   Pay Bill Form (Form ID 5) — scoped input overrides (.paybill-form)
   Add the `paybill-form` class to the Divi module that wraps the Gravity Form.
   This adjusts input sizing without affecting other Orbital Gravity Forms.
   ========================================================================== */

#page-container .paybill-form .gform-theme--orbital input[type="text"],
#page-container .paybill-form .gform-theme--orbital input[type="email"],
#page-container .paybill-form .gform-theme--orbital input[type="tel"],
#page-container .paybill-form .gform-theme--orbital input[type="url"],
#page-container .paybill-form .gform-theme--orbital input[type="number"],
#page-container .paybill-form .gform-theme--orbital input[type="password"],
#page-container .paybill-form .gform-theme--orbital input[type="date"],
#page-container .paybill-form .gform-theme--orbital input[type="time"],
#page-container .paybill-form .gform-theme--orbital textarea,
#page-container .paybill-form .gform-theme--orbital select {
    font-size: 1em !important;
    line-height: normal !important;
    padding: unset !important;
}

/* ==========================================================================
   Share Your Story (Form ID 7) — Clinic Location select line-height
   Add share-story-gf on the Divi module wrapping gform_wrapper_7.
   ========================================================================== */

#page-container .share-story-gf .gform-theme--orbital select {
    line-height: 0.75 !important;
}

/* ==========================================================================
   New Patient Upload (.new-patient-upload)
   Custom CSS class added to the Divi Code module that wraps the Gravity Form
   on the New Patient page. The form lives in an intentionally dark-background
   section, so labels/descriptions are forced white and the GF file input padding
   is stripped. Footer buttons use global tertiary styling (see GF Orbital footer block).
   All rules are scoped to .new-patient-upload so other Gravity
   Forms across the site are unaffected.
   ========================================================================== */

/* Strip the default Gravity Forms padding on the file input so the picker
   sits flush. Selector is prefixed with #page-container to outrank the
   default rule: #page-container .gform-theme--orbital .ginput_container_fileupload input[type="file"]. */
#page-container .new-patient-upload .gform-theme--orbital .ginput_container_fileupload input[type="file"] {
    padding: 0;
}

/* Dark section (default): light text on labels, legends, sub-labels, required
   indicators, descriptions, and form title. #page-container prefix outranks
   GF Orbital defaults (--gf-ctrl-label-color-primary, --gf-description-color). */
#page-container .new-patient-upload .gform_title,
#page-container .new-patient-upload .gform_description,
#page-container .new-patient-upload .gfield_label,
#page-container .new-patient-upload legend.gfield_label,
#page-container .new-patient-upload .gform-field-label,
#page-container .new-patient-upload .gform-field-label--type-sub,
#page-container .new-patient-upload .gfield_required,
#page-container .new-patient-upload .gfield_required .gfield_required_text,
#page-container .new-patient-upload .gfield_description,
#page-container .new-patient-upload .gfield_description.validation_message,
#page-container .new-patient-upload .gform_fileupload_rules,
#page-container .new-patient-upload .gform_confirmation_message {
    color: #fff !important;
}

/* Field controls: white background + dark text on both dark and light sections. */
#page-container .new-patient-upload .gform-theme--orbital input[type="text"],
#page-container .new-patient-upload .gform-theme--orbital input[type="email"],
#page-container .new-patient-upload .gform-theme--orbital input[type="tel"],
#page-container .new-patient-upload .gform-theme--orbital input[type="url"],
#page-container .new-patient-upload .gform-theme--orbital input[type="number"],
#page-container .new-patient-upload .gform-theme--orbital input[type="password"],
#page-container .new-patient-upload .gform-theme--orbital textarea,
#page-container .new-patient-upload .gform-theme--orbital select {
    background-color: #fff !important;
    color: #112337 !important;
}

#page-container .new-patient-upload .gform-theme--orbital input::placeholder,
#page-container .new-patient-upload .gform-theme--orbital textarea::placeholder {
    color: #585e6a !important;
    opacity: 1;
}

#page-container .new-patient-upload .gform-theme--orbital input:-webkit-autofill,
#page-container .new-patient-upload .gform-theme--orbital input:-webkit-autofill:hover,
#page-container .new-patient-upload .gform-theme--orbital input:-webkit-autofill:focus,
#page-container .new-patient-upload .gform-theme--orbital input:-webkit-autofill:active {
    -webkit-box-shadow: 0 0 0 1000px #fff inset !important;
    box-shadow: 0 0 0 1000px #fff inset !important;
    -webkit-text-fill-color: #112337 !important;
    caret-color: #112337;
}

/* Light section: dark label text (controls stay white per above). */
#page-container .et_pb_bg_layout_light .new-patient-upload .gform_title,
#page-container .et_pb_bg_layout_light .new-patient-upload .gform_description,
#page-container .et_pb_bg_layout_light .new-patient-upload .gfield_label,
#page-container .et_pb_bg_layout_light .new-patient-upload legend.gfield_label,
#page-container .et_pb_bg_layout_light .new-patient-upload .gform-field-label,
#page-container .et_pb_bg_layout_light .new-patient-upload .gform-field-label--type-sub,
#page-container .et_pb_bg_layout_light .new-patient-upload .gfield_required,
#page-container .et_pb_bg_layout_light .new-patient-upload .gfield_required .gfield_required_text,
#page-container .et_pb_bg_layout_light .new-patient-upload .gfield_description,
#page-container .et_pb_bg_layout_light .new-patient-upload .gfield_description.validation_message,
#page-container .et_pb_bg_layout_light .new-patient-upload .gform_fileupload_rules,
#page-container .new-patient-upload.et_pb_bg_layout_light .gform_title,
#page-container .new-patient-upload.et_pb_bg_layout_light .gform_description,
#page-container .new-patient-upload.et_pb_bg_layout_light .gfield_label,
#page-container .new-patient-upload.et_pb_bg_layout_light legend.gfield_label,
#page-container .new-patient-upload.et_pb_bg_layout_light .gform-field-label,
#page-container .new-patient-upload.et_pb_bg_layout_light .gform-field-label--type-sub,
#page-container .new-patient-upload.et_pb_bg_layout_light .gfield_required,
#page-container .new-patient-upload.et_pb_bg_layout_light .gfield_required .gfield_required_text,
#page-container .new-patient-upload.et_pb_bg_layout_light .gfield_description,
#page-container .new-patient-upload.et_pb_bg_layout_light .gfield_description.validation_message,
#page-container .new-patient-upload.et_pb_bg_layout_light .gform_fileupload_rules {
    color: #282828 !important;
}

/* Thank-you / confirmation: strip GF Orbital's default pale green box; add a
   2px bordered frame. White border on dark backgrounds, dark border on light
   (Divi et_pb_bg_layout_dark / et_pb_bg_layout_light on the module or ancestor). */
#page-container .new-patient-upload .gform_confirmation_wrapper {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 1.5rem !important;
    border: 2px solid #fff !important;
}

#page-container .new-patient-upload .gform_confirmation_message {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: var(--font-family-heading);
    font-size: var(--font-size-175);
    line-height: 1.4;
}

/* Light background: dark border + dark text */
#page-container .et_pb_bg_layout_light .new-patient-upload .gform_confirmation_wrapper,
#page-container .new-patient-upload.et_pb_bg_layout_light .gform_confirmation_wrapper {
    border-color: #282828 !important;
}

#page-container .et_pb_bg_layout_light .new-patient-upload .gform_confirmation_message,
#page-container .new-patient-upload.et_pb_bg_layout_light .gform_confirmation_message {
    color: #282828 !important;
}

/*
 * Telehealth disclaimer modal (Divi canvas #telehealth-disclaimer-modal)
 *
 * Backdrop element #ppbh-telehealth-modal-backdrop is injected by
 * assets/js/telehealth-disclaimer-modal.js. Scroll lock via body class.
 * Trigger any link/button with class ppbh-telehealth-modal-trigger site-wide.
 */
body.ppbh-telehealth-modal-open {
    overflow: hidden;
}

#ppbh-telehealth-modal-backdrop {
    background: rgba(0, 0, 0, 0.55);
    inset: 0;
    position: fixed;
    z-index: 100000000000;
}

#ppbh-telehealth-modal-backdrop[hidden] {
    display: none !important;
}

#telehealth-disclaimer-modal {
    align-items: center;
    background: transparent !important;
    inset: 0;
    justify-content: center;
    max-width: none !important;
    pointer-events: none;
    position: fixed !important;
    width: 100% !important;
    z-index: 100000000001 !important;
}

#telehealth-disclaimer-modal>* {
    pointer-events: auto;
}

#telehealth-disclaimer-modal .et_pb_button.fsm-btn-primary,
#telehealth-disclaimer-modal a.fsm-btn-primary {
    align-items: center !important;
    background-color: var(--btn-primary-bg) !important;
    background-image: none !important;
    border: none !important;
    border-radius: 50px !important;
    box-sizing: border-box !important;
    color: var(--btn-primary-text) !important;
    display: inline-flex !important;
    font-family: var(--font-family-heading) !important;
    font-size: var(--font-size-175) !important;
    font-style: normal !important;
    font-weight: var(--font-weight-semibold) !important;
    gap: 10px !important;
    justify-content: center !important;
    letter-spacing: -0.36px !important;
    line-height: normal !important;
    min-height: 48px !important;
    padding: 12px 21px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: none !important;
    transition: background-color 0.2s ease, color 0.2s ease !important;
}

#telehealth-disclaimer-modal .et_pb_button.fsm-btn-primary::after,
#telehealth-disclaimer-modal a.fsm-btn-primary::after {
    display: none !important;
}

#telehealth-disclaimer-modal .et_pb_button.fsm-btn-primary .et_pb_button_text {
    color: inherit !important;
}

#telehealth-disclaimer-modal .et_pb_button.fsm-btn-primary:hover,
#telehealth-disclaimer-modal a.fsm-btn-primary:hover {
    background-color: var(--btn-primary-bg-hover) !important;
    background-image: none !important;
    color: var(--btn-primary-text) !important;
    text-decoration: underline !important;
}

#telehealth-disclaimer-modal .et_pb_button.fsm-btn-primary:hover .et_pb_button_text {
    text-decoration: underline !important;
}

#telehealth-disclaimer-modal .et_pb_button.fsm-btn-primary:focus-visible,
#telehealth-disclaimer-modal a.fsm-btn-primary:focus-visible {
    background-color: var(--btn-primary-bg-hover) !important;
    background-image: none !important;
    color: var(--btn-primary-text) !important;
    outline: 2px solid var(--focus-ring-outer) !important;
    outline-offset: 2px !important;
}

#telehealth-disclaimer-modal .et_pb_button_0_tb_header_wrapper {
    text-align: center;
}

#page-container #telehealth-disclaimer-modal {
    padding-bottom: 0;
    padding-top: .01px;
}

/* ============================================================
   CLS — layout reservation (header, heroes, Swiper rows)
   ============================================================ */

/* TB header logo: reserve space before SVG metrics resolve */
#page-container .et-l--header .logo_container #logo img,
.et-l--header .logo_container #logo img {
    width: 265px;
    max-width: 100%;
    height: auto;
    aspect-ratio: 265 / 68;
}

/* Inner-page hero sections (Get Care, Our Services, etc.) */
#page-container .hero-section-downsize.et_pb_section,
#page-container section.hero-section-downsize {
    min-height: 280px;
}

@media (min-width: 768px) {

    #page-container .hero-section-downsize.et_pb_section,
    #page-container section.hero-section-downsize {
        min-height: 340px;
    }
}

@media (min-width: 981px) {

    #page-container .hero-section-downsize.et_pb_section,
    #page-container section.hero-section-downsize {
        min-height: 400px;
    }
}

/* Homepage / page Swiper Engine rows — hold height until JS init */
#page-container .hero-image-rotation.is-swiper {
    min-height: 360px;
}

#page-container .comp-behav-svc-cards.is-swiper {
    min-height: 320px;
}

#page-container .impact-stats-row-cards.is-swiper {
    min-height: 180px;
}

@media (min-width: 981px) {

    #page-container .hero-image-rotation.is-swiper {
        min-height: 560px;
    }

    #page-container .comp-behav-svc-cards.is-swiper {
        min-height: 420px;
    }

    #page-container .impact-stats-row-cards.is-swiper {
        min-height: 200px;
    }
}

/* AIOSEO admin bar notification badge: enforce accessible contrast. */
#wpadminbar .aioseo-menu-notification-counter.aioseo-menu-notification-counter-frontend {
    color: #ffffff !important;
    background-color: #8f1d1f !important;
}

/* AIOSEO "Search Engines Blocked!" label: enforce accessible contrast. */
#wpadminbar #wp-admin-bar-aioseo-admin-bar-noindex-warning span {
    color: #ffffff !important;
    background-color: #8f1d1f !important;
}

/* Intl Tel Input a11y/status text: enforce accessible contrast. */
.iti__a11y-text {
    color: #ffffff !important;
    background-color: #004b87 !important;
}