/*
Theme Name: WSFD
Theme URI: https://wsfd.wyo.gov/
Description: Divi child theme for Wyoming State Forestry Division (WSFD). Custom styles and theme overrides for the West Edge Divi 5 rebuild.
Author: West Edge
Author URI: https://wearewestedge.com/
Template: Divi
Version: 0.1.213
Requires at least: 6.0
Text Domain: wsfd
*/

/*
Brand type (Figma):
- Dunbar Tall — display / nav / H1–H4 (Adobe Fonts kit CSS name `dunbar-tall`, and/or self-host)
- New Science Serif — buttons / H5 / hero subheads (Adobe kit CSS name `new-science-serif`, and/or self-host)
- Commissioner — body / UI (self-hosted OFL in assets/fonts/commissioner/)
See assets/fonts/README.md and assets/css/fonts.css.
*/

:root {
	--wsfd-conserve: #000d04;
	--wsfd-forest: #0f5624;
	--wsfd-leaf: #448843;
	--wsfd-growth: #f4ebe0;
	--wsfd-protection: #371f1b;
	--wsfd-bark: #d2b99a;
	/* Figma Chevron down stroke (Header Mobile Open 2287:22235) */
	--wsfd-nav-chevron: #a18b70;
	--wsfd-ember: #633c35;
	/*
	 * Divi Theme Options link token (#448843 / Leaf) is 4.33:1 on white — fails WCAG AA.
	 * Override to Conserve-green so global `a{color:var(--gcid-link-color)}` passes (≥4.5:1).
	 */
	--gcid-link-color: #063915;
	--wsfd-link: #063915;
	/*
	 * Mobile open flyout top (Figma 2287:22235 header block = 89px).
	 * header-nav.js overwrites with measured header/logo bottom (incl. admin bar).
	 */
	--wsfd-mobile-flyout-top: 89px;
	--wsfd-mobile-flyout-top-base: 89px;
	--wsfd-font-display: 'Dunbar Tall', dunbar-tall, 'Helvetica Neue', Helvetica, Arial, sans-serif;
	/* Include Typekit family name so Adobe kit faces resolve on every device */
	--wsfd-font-serif: 'New Science Serif', new-science-serif, Georgia, 'Times New Roman', serif;
	--wsfd-font-body: 'Commissioner', 'Helvetica Neue', Helvetica, Arial, sans-serif;
	/*
	 * Homepage content rail — Divi Theme Options (80% / max 1080px).
	 * @1440 → ~1080 content / ~180 inset. Interiors stay wider (page-inline =
	 * 64px gutter only) — intentional home/interior inconsistency (0.1.161+).
	 * Header seal stays at Figma space-1600 (64px). Hero bg stays full-bleed.
	 */
	--wsfd-page-gutter: 64px;
	--wsfd-content-width: var(--content-width, 80%);
	--wsfd-content-max-width: var(--content-max-width, 1080px);
	--wsfd-content-rail-width: min(var(--wsfd-content-width), var(--wsfd-content-max-width));
	--wsfd-content-rail-inset: max(0px, calc((100% - var(--wsfd-content-rail-width)) / 2));
	/*
	 * Figma type scale 3121:4205 (Design → Desktop headings).
	 * H1 Dunbar 64/70 w700 · H2 Dunbar 36/44 w700 (sheet R75 SoT) · H3 New Science 36/40 w600
	 * H4 Dunbar 24/30 w700 · H5 New Science 22/26 w600 · H6 Dunbar 20/24 w700
	 */
	--wsfd-h1-size: 64px;
	--wsfd-h1-lh: 70px;
	--wsfd-h1-weight: 700;
	/*
	 * Photo / dark page-hero bars (not homepage slider).
	 * Client: 300 desktop / 200 mobile min-height; height:auto grows
	 * for long titles so crumbs never sit under the hanging seal.
	 */
	--wsfd-photo-hero-parent-height: 300px;
	--wsfd-photo-hero-child-height: 300px;
	--wsfd-photo-hero-parent-height-sm: 200px;
	--wsfd-photo-hero-child-height-sm: 200px;
	/* Mobile photo-hero H1 (all interiors except homepage slider). */
	--wsfd-photo-hero-h1-size-sm: 38px;
	--wsfd-photo-hero-h1-lh-sm: 40px;
	/*
	 * Hanging seal — vertical clearance so crumbs/H1 never sit under the seal.
	 * Desktop: seal 175×186, bar 102 → hang ≈84. ≤980: hang ≈54.
	 * Do NOT shift hero text right — grow padding-top / min-height instead.
	 */
	--wsfd-header-seal-hang: 84px;
	--wsfd-hero-crumb-pad-top: calc(
		var(--wsfd-header-seal-hang) + 16px
	); /* ~100px */
	--wsfd-header-seal-hang-sm: 54px;
	--wsfd-hero-crumb-pad-top-sm: calc(
		var(--wsfd-header-seal-hang-sm) + 16px
	); /* ~70px */
	--wsfd-h2-size: 36px;
	--wsfd-h2-lh: 44px;
	--wsfd-h2-weight: 700;
	--wsfd-h3-size: 36px;
	--wsfd-h3-lh: 40px;
	--wsfd-h3-weight: 600;
	--wsfd-h4-size: 24px;
	--wsfd-h4-lh: 30px;
	--wsfd-h4-weight: 700;
	--wsfd-h5-size: 22px;
	--wsfd-h5-lh: 26px;
	--wsfd-h5-weight: 600;
	--wsfd-h6-size: 20px;
	--wsfd-h6-lh: 24px;
	--wsfd-h6-weight: 700;
	/* Inter-column gap for page content (replaces Divi 5.5% default when scoped) */
	--wsfd-row-gutter: 32px;
	--wsfd-hero-arrow-size: 35px;
	/* Figma Hero Slider 3064:2751 — gap between arrow chip and content (Frame 17) */
	--wsfd-hero-arrow-gap: 48px;
	/* Hero content = same rail as cards (not thinner inner inset) */
	--wsfd-hero-content-inset: var(--wsfd-content-rail-inset);
	--wsfd-hero-content-width: var(--wsfd-content-rail-width);
	--wsfd-hero-image-width: 500px;
	--wsfd-hero-content-gap: 64px;
	--wsfd-hero-image-height: 413px;
	/* Figma Hero Slider: space below image = 32 (to pause) + 35 + 48 pb */
	--wsfd-hero-pad-bottom: 115px;
}

/* Row 11 — keep Divi spacing tokens aligned with Figma page gutters / rail.
 * Divi Design System injects `:root { --section-gutter: 60px }` inline after
 * theme CSS; win with equal/higher specificity + !important. */
html,
html:root {
	--section-gutter: var(--wsfd-page-gutter, 64px) !important;
}

/*
 * Interior page shells (About/Fire/News/PG/Contact/etc.) + photo/child hero
 * title+crumb text. 64px gutters only (~1312 @1440) — NOT the homepage
 * 80%/1080 rail. Home and interiors are intentionally inconsistent.
 * Hero backgrounds stay full-bleed; only text uses this inset.
 */
html {
	--wsfd-page-inline: var(--wsfd-page-gutter, 64px);
}

/*
 * Divi Theme Options / customizer injects:
 *   .et-l--body ul { list-style-type: disc; padding-left: 1em; }
 * That beats single-class resets on our shortcode grids/cards (contact, programs,
 * news, resources, search, parent/child). Kill bullets for WSFD component lists only —
 * leave real prose lists in .et_pb_text / post content alone.
 */
#et-boc .et-l--body ul[class*='wsfd-'],
#et-boc .et-l--body ul[class*='wsfd-'] > li,
#page-container .et-l--body ul[class*='wsfd-'],
#page-container .et-l--body ul[class*='wsfd-'] > li,
.et-l--body ul[class*='wsfd-'],
.et-l--body ul[class*='wsfd-'] > li,
#left-area ul[class*='wsfd-'],
#left-area ul[class*='wsfd-'] > li {
	list-style: none !important;
	list-style-type: none !important;
	padding-left: 0 !important;
	margin-left: 0 !important;
}

#et-boc .et-l--body ul[class*='wsfd-'],
#page-container .et-l--body ul[class*='wsfd-'],
.et-l--body ul[class*='wsfd-'],
#left-area ul[class*='wsfd-'] {
	padding-bottom: 0 !important;
}

/* -------------------------------------------------------------------------
   Global Alerts bar (ACF options → et_theme_builder_template_before_header)
   Figma: Matquee Alert Bar (3071:804) — forest/300 bar + pill chips
   ------------------------------------------------------------------------- */
.wsfd-global-alert {
	/* Figma forest/300 */
	background-color: #063915;
	color: #ffffff;
	overflow: hidden;
	position: relative;
	z-index: 100001;
}

.wsfd-global-alert__inner {
	overflow: hidden;
	padding: 8px 0;
	white-space: nowrap;
}

.wsfd-global-alert__track {
	display: inline-flex;
	align-items: center;
	gap: 24px;
	min-width: 100%;
	animation: wsfd-alert-marquee 40s linear infinite;
	will-change: transform;
}

.wsfd-global-alert:hover .wsfd-global-alert__track,
.wsfd-global-alert:focus-within .wsfd-global-alert__track {
	animation-play-state: paused;
}

.wsfd-global-alert[data-alert-count='1'] .wsfd-global-alert__track {
	animation-duration: 28s;
}

.wsfd-global-alert__item {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	gap: 8px;
	padding: 8px 16px;
	border: 1px solid rgba(255, 255, 255, 0.5);
	border-radius: 999px;
	background-color: rgba(255, 255, 255, 0.25);
	color: #ffffff !important;
	font-family: var(--wsfd-font-body);
	font-size: 16px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.25;
	text-decoration: none !important;
	white-space: nowrap;
}

a.wsfd-global-alert__item:hover,
a.wsfd-global-alert__item:focus {
	background-color: rgba(255, 255, 255, 0.32);
	color: #ffffff !important;
	outline: none;
}

a.wsfd-global-alert__item:focus-visible {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

.wsfd-global-alert__icon {
	display: block;
	flex: 0 0 20px;
	width: 20px;
	height: 20px;
}

.wsfd-global-alert__text {
	display: inline-flex;
	align-items: baseline;
	gap: 0.35em;
}

.wsfd-global-alert__title {
	font-weight: 600;
}

.wsfd-global-alert__desc {
	font-weight: 400;
}

/* Decorative separator — glyph via CSS (no text node / no aria-hidden). */
.wsfd-global-alert__sep {
	font-weight: 400;
	opacity: 0.85;
}

.wsfd-global-alert__sep::before {
	content: '\2014'; /* em dash */
}

.wsfd-global-alert__clone {
	display: contents;
}

@keyframes wsfd-alert-marquee {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.wsfd-global-alert__track {
		animation: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 12px 24px;
		padding: 0 24px;
	}

	.wsfd-global-alert__item {
		white-space: normal;
	}
}

/* -------------------------------------------------------------------------
   Theme Builder header polish
   Figma Desktop Default (7717:3642): 102px bar, 175×186 hanging seal @ left 64
   ------------------------------------------------------------------------- */
/* Divi TB wrappers clip by default — keep hanging seal + dropdowns visible */
.et-l--header,
.et-l--header .et_builder_inner_content,
.et-l--header .et_pb_section,
.et-l--header .et_pb_row,
.et-l--header .et_pb_column {
	overflow: visible !important;
}

/* Keep TB header above body/hero so desktop dropdowns are not painted under page sections. */
.et-l--header {
	position: relative;
	z-index: 100100 !important;
}

.et-l--body {
	position: relative;
	z-index: 1;
}

.et-l--header .wsfd-global-header,
.wsfd-global-header .et_pb_row,
.wsfd-global-header .et_pb_column,
.wsfd-global-header .et_pb_menu,
.wsfd-global-header .et_pb_menu_inner_container,
.wsfd-global-header .et_pb_menu__wrap,
.wsfd-global-header .et_pb_menu__menu,
.wsfd-global-header .et-menu,
.wsfd-global-header .et-menu > li {
	overflow: visible !important;
}

/* Beat TB inline padding-left/right:64 on the section (avoid double gutters) */
.et-l--header .wsfd-global-header.et_pb_section,
.wsfd-global-header.et_pb_section {
	position: relative;
	background-color: var(--wsfd-conserve) !important;
	overflow: visible !important;
	padding: 0 !important;
	min-height: 102px;
	height: 102px;
	z-index: 100100;
}

/* Divi sets z-index:auto on .et_pb_menu.et_hover_enabled:hover — that drops
   the open dropdown under the next section (hero). Keep menu above body. */
.wsfd-global-header .et_pb_menu.et_hover_enabled,
.wsfd-global-header .et_pb_menu.et_hover_enabled:hover,
.wsfd-global-header .et_pb_menu:hover {
	z-index: 100101 !important;
}

.wsfd-global-header .et_pb_row {
	width: 100% !important;
	max-width: 100% !important;
	padding-left: var(--wsfd-page-gutter) !important;
	padding-right: var(--wsfd-page-gutter) !important;
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 24px !important;
	min-height: 102px;
	height: 102px;
	/* Keep row unpositioned so the seal anchors to the header section */
	position: static !important;
}

/* Logo column reserves Figma seal width; seal itself is absolutely positioned */
.wsfd-global-header .et_pb_row > .et_pb_column:first-child {
	flex: 0 0 175px !important;
	width: 175px !important;
	max-width: 175px !important;
	min-height: 0 !important;
	overflow: visible !important;
	position: static !important;
}

.wsfd-global-header .et_pb_row > .et_pb_column.et_pb_column--with-menu,
.wsfd-global-header .et_pb_row > .et_pb_column:last-child {
	flex: 1 1 auto !important;
	width: auto !important;
	max-width: none !important;
	min-width: 0 !important;
	overflow: visible !important;
}

/*
 * Hanging seal: absolute to the header section (not the padded row).
 * Left edge = Figma space-1600 (64px) — matches Header seal x=64.
 * Overrides TB .et_pb_image_0_tb_header { width:100%; margin-bottom:-84px }.
 */
.wsfd-header-logo.et_pb_image,
.wsfd-header-logo {
	position: absolute !important;
	left: var(--wsfd-page-gutter) !important;
	top: 0 !important;
	width: 175px !important;
	max-width: 175px !important;
	margin: 0 !important;
	padding: 0 !important;
	z-index: 100003;
	line-height: 0;
	display: block !important;
}

.wsfd-header-logo .et_pb_image_wrap,
.wsfd-header-logo a {
	display: block !important;
	width: 175px !important;
	max-width: 100% !important;
	line-height: 0;
}

.wsfd-header-logo img,
.wsfd-header-logo img[src*='.svg'] {
	display: block !important;
	width: 175px !important;
	height: auto !important;
	/* Reserve seal footprint before SVG paints (CLS). */
	aspect-ratio: 175 / 200;
	max-width: 100% !important;
	position: relative;
	z-index: 100003;
}

/* Skip link — visible on focus only */
.wsfd-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 1000000;
	padding: 12px 16px;
	background: var(--wsfd-forest);
	color: #ffffff;
	font-family: var(--wsfd-font-body);
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	border-radius: 0 0 4px 0;
}

.wsfd-skip-link:focus,
.wsfd-skip-link:focus-visible {
	left: 0;
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}

/* Theme main landmark — keep Divi's #main-content white fill from painting the page. */
main.wsfd-main#main-content {
	background-color: transparent !important;
	display: block;
}

#main-content:focus {
	outline: none;
}

.wsfd-global-header .et_pb_menu,
.wsfd-global-header .et_pb_menu_inner_container {
	background: transparent !important;
	box-shadow: none !important;
	width: 100% !important;
}

/*
 * Desktop horizontal nav only — do NOT force display:flex on .et-menu /
 * .et_pb_menu__menu at ≤980px (that overrides Divi’s hamburger switch).
 */
@media only screen and (min-width: 981px) {
	.wsfd-global-header .et_pb_menu__wrap,
	.wsfd-global-header .et_pb_menu__menu {
		display: flex !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
		justify-content: flex-end !important;
		width: 100% !important;
		max-width: 100% !important;
		gap: 8px;
	}

	.wsfd-global-header .et-menu {
		display: flex !important;
		flex-wrap: nowrap !important;
		justify-content: flex-end;
		align-items: center;
		gap: 0 8px;
		width: auto !important;
		max-width: 100%;
	}

	.wsfd-global-header .et_mobile_nav_menu {
		display: none !important;
	}
}

.wsfd-global-header .et-menu > li {
	margin: 0 !important;
	padding: 0 !important;
	position: relative;
	flex: 0 0 auto;
}

.wsfd-global-header .et-menu > li > a {
	color: #ffffff !important;
	font-family: var(--wsfd-font-display) !important;
	font-size: 17px !important;
	font-weight: 500 !important;
	line-height: 21px !important;
	padding: 8px 12px !important;
	border: 2px solid transparent;
	border-radius: 4px;
	white-space: nowrap !important;
	display: inline-flex !important;
	align-items: center !important;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.wsfd-global-header .et-menu > li.menu-item-has-children > a {
	/* Figma dropdown pill: pl-16 pr-12, 4px gap before chevron */
	display: inline-flex !important;
	align-items: center !important;
	gap: 4px;
	padding: 8px 12px 8px 16px !important;
}

/*
 * Replace Divi ETmodules "3" caret — glyph metrics vary by label length/descenders.
 * Fixed 15×15 flex slot + masked chevron so Fire/Forestry share one center + gap.
 */
.wsfd-global-header .et_pb_menu .et-menu > li.menu-item-has-children > a:after {
	content: "" !important;
	font-family: none !important;
	font-size: 0 !important;
	font-weight: 400 !important;
	line-height: 0 !important;
	speak: never;
	position: static !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	inset: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	display: block !important;
	flex: 0 0 15px;
	align-self: center;
	width: 15px !important;
	height: 15px !important;
	box-sizing: border-box !important;
	border: none !important;
	border-radius: 0 !important;
	background-color: currentColor !important;
	background-image: none !important;
	transform: none !important;
	translate: none !important;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23000' d='M1.2 1.4L6 6.2l4.8-4.8L12 2.6 6 8.6 0 2.6z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23000' d='M1.2 1.4L6 6.2l4.8-4.8L12 2.6 6 8.6 0 2.6z'/%3E%3C/svg%3E");
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: 10px 6px;
	mask-size: 10px 6px;
}

.wsfd-global-header .et-menu > li > a:hover,
.wsfd-global-header .et-menu > li.current-menu-item > a,
.wsfd-global-header .et-menu > li.current-menu-ancestor > a {
	color: var(--wsfd-bark) !important;
}

/* Desktop: green open-parent pill for ALL top-level items (with or without children) */
.wsfd-global-header .et_pb_menu .et-menu > li:hover > a,
.wsfd-global-header .et_pb_menu .et-menu > li.et-hover > a,
.wsfd-global-header .et_pb_menu .et-menu > li:focus-within > a,
.wsfd-global-header .et_pb_menu .et-menu > li.menu-item-has-children:hover > a,
.wsfd-global-header .et_pb_menu .et-menu > li.menu-item-has-children.et-hover > a,
.wsfd-global-header .et_pb_menu .et-menu > li.menu-item-has-children:focus-within > a {
	background-color: var(--wsfd-forest) !important;
	border: 2px solid var(--wsfd-leaf) !important;
	border-radius: 4px !important;
	color: #ffffff !important;
}

.wsfd-global-header .et_pb_menu .et-menu > li.menu-item-has-children:hover > a:after,
.wsfd-global-header .et_pb_menu .et-menu > li.menu-item-has-children.et-hover > a:after,
.wsfd-global-header .et_pb_menu .et-menu > li.menu-item-has-children:focus-within > a:after {
	background-color: #ffffff !important;
	color: #ffffff !important;
	transform: none !important;
	translate: none !important;
}

/*
 * Desktop dropdown panel — Forest green (Figma 3049:4539).
 * Divi 5 TB critical CSS no longer ships classic `.nav li ul { position:absolute;
 * visibility:hidden; opacity:0 }` on Theme Builder headers, so WSFD must own
 * absolute positioning + hover/focus show-hide. Without this, submenus stay
 * position:static in the flex row and paint always-visible stacked panels
 * (looks like mobile open-menu CSS leaking onto desktop).
 * Scoped to ≥981px so ≤980px accordion rules on `.et_mobile_menu` stay alone.
 */
@media only screen and (min-width: 981px) {
	/*
	 * Beat Divi CPT unified CSS
	 * `.et-db #et-boc .et-l .et_pb_menu_0_tb_header … ul{background:#000d04!important;font-size:15px}`
	 * which otherwise leaves P&G (and other CPT) pages with a black, tighter dropdown.
	 * Must include #et-boc or Divi’s ID selector wins over body+classes alone.
	 */
	body.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .nav li ul,
	body.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .nav li ul.sub-menu,
	body.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu.et_pb_menu .nav li ul.sub-menu,
	body.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu .et-menu > li > ul.sub-menu,
	body .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu.et_pb_menu .nav li ul,
	body .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu.et_pb_menu .nav li ul.sub-menu,
	body .wsfd-global-header .et_pb_menu.et_pb_menu .nav li ul.sub-menu,
	body .wsfd-global-header .et_pb_menu .et-menu > li > ul.sub-menu {
		position: absolute !important;
		display: block !important;
		visibility: hidden;
		opacity: 0;
		pointer-events: none;
		background-color: var(--wsfd-forest, #0f5624) !important;
		border: none !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		padding: 12px 10px !important;
		min-width: 245px !important;
		width: max-content;
		max-width: min(360px, 90vw);
		left: 0 !important;
		right: auto !important;
		/* Visual gap under parent pill (Figma); hit-area bridged via ::before */
		top: calc(100% + 4px) !important;
		z-index: 100200;
		font-size: 17px !important;
		float: none !important;
	}

	/*
	 * Show-state must match hide-state specificity (incl. #et-boc).
	 * Without these, the green-panel base (visibility:hidden) wins on hover —
	 * Fire/Forestry chevrons appear but dropdowns never open.
	 */
	body.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .nav li:hover > ul,
	body.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .nav li.et-hover > ul,
	body.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .nav li:focus-within > ul,
	body.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .nav li.et-touch-hover > ul,
	body.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .nav li:hover > ul.sub-menu,
	body.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .nav li.et-hover > ul.sub-menu,
	body.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .nav li:focus-within > ul.sub-menu,
	body.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .nav li.et-touch-hover > ul.sub-menu,
	body.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu.et_pb_menu .nav li:hover > ul.sub-menu,
	body.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu.et_pb_menu .nav li.et-hover > ul.sub-menu,
	body.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu.et_pb_menu .nav li:focus-within > ul.sub-menu,
	body.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu.et_pb_menu .nav li.et-touch-hover > ul.sub-menu,
	body.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu .et-menu > li:hover > ul.sub-menu,
	body.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu .et-menu > li.et-hover > ul.sub-menu,
	body.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu .et-menu > li:focus-within > ul.sub-menu,
	body.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu .et-menu > li.et-touch-hover > ul.sub-menu,
	body .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .nav li:hover > ul,
	body .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .nav li.et-hover > ul,
	body .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .nav li:focus-within > ul,
	body .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .nav li.et-touch-hover > ul,
	body .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .et-menu > li:hover > ul.sub-menu,
	body .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .et-menu > li.et-hover > ul.sub-menu,
	body .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .et-menu > li:focus-within > ul.sub-menu,
	body .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .et-menu > li.et-touch-hover > ul.sub-menu,
	body .wsfd-global-header .et_pb_menu .et-menu > li:hover > ul.sub-menu,
	body .wsfd-global-header .et_pb_menu .et-menu > li.et-hover > ul.sub-menu,
	body .wsfd-global-header .et_pb_menu .et-menu > li:focus-within > ul.sub-menu,
	body .wsfd-global-header .et_pb_menu .et-menu > li.et-touch-hover > ul.sub-menu {
		visibility: visible !important;
		opacity: 1 !important;
		pointer-events: auto !important;
	}

	/*
	 * Invisible hover bridge: keep li:hover / :focus-within while the pointer
	 * crosses the visual gap between the parent pill and the dropdown panel.
	 * Does not change spacing, colors, or the visible gap.
	 */
	.wsfd-global-header .et_pb_menu .et-menu > li > ul.sub-menu::before {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		top: -12px;
		height: 12px;
	}

	.wsfd-global-header .et_pb_menu .et-menu > li > ul.sub-menu > li {
		margin: 0 0 12px !important;
		padding: 0 !important;
		width: 100%;
	}

	.wsfd-global-header .et_pb_menu .et-menu > li > ul.sub-menu > li:last-child {
		margin-bottom: 0 !important;
	}

	body .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .et-menu > li > ul.sub-menu a,
	body .wsfd-global-header .et_pb_menu .et-menu > li > ul.sub-menu a {
		background: transparent !important;
		border-radius: 8px !important;
		color: #ffffff !important;
		display: block !important;
		font-size: 17px !important;
		font-weight: 500 !important;
		line-height: 21px !important;
		padding: 8px 16px !important;
		white-space: normal !important;
		width: 100%;
		transition: background-color 0.15s ease;
	}

	body .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .et-menu > li > ul.sub-menu a:hover,
	body .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .et-menu > li > ul.sub-menu a:focus,
	body .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .et-menu > li > ul.sub-menu a:focus-visible,
	body .wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .et-menu > li > ul.sub-menu .current-menu-item > a,
	body .wsfd-global-header .et_pb_menu .et-menu > li > ul.sub-menu a:hover,
	body .wsfd-global-header .et_pb_menu .et-menu > li > ul.sub-menu a:focus,
	body .wsfd-global-header .et_pb_menu .et-menu > li > ul.sub-menu a:focus-visible,
	body .wsfd-global-header .et_pb_menu .et-menu > li > ul.sub-menu .current-menu-item > a {
		background-color: rgba(68, 136, 67, 0.45) !important;
		color: #ffffff !important;
	}

	.wsfd-global-header .et_pb_menu .et-menu > li > ul.sub-menu a:focus-visible {
		outline: 2px solid #ffffff;
		outline-offset: 2px;
	}
}

.wsfd-global-header .et_pb_menu__search-button,
.wsfd-global-header .et_pb_menu__icon.et_pb_menu__search-button {
	color: #ffffff !important;
	align-self: center !important;
	flex: 0 0 auto;
	margin: 0 !important;
}

/* Header search: typed text must be white on dark bar (not Divi #333) */
.wsfd-global-header .et_pb_menu__search-input,
.wsfd-global-header .et_pb_menu .et_pb_menu__search-input,
.wsfd-global-header input.et_pb_menu__search-input {
	color: #ffffff !important;
	caret-color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

.wsfd-global-header .et_pb_menu__search-input::placeholder {
	color: rgba(255, 255, 255, 0.65) !important;
	opacity: 1 !important;
}

/* Dual close controls: keep menu close icon; hide Divi’s blue field “X” */
.wsfd-global-header .et_close_search_field,
.wsfd-global-header span.et_close_search_field {
	display: none !important;
}

.wsfd-global-header .et_pb_menu__close-search-button,
.wsfd-global-header .et_pb_menu__close-search-button:after {
	color: #ffffff !important;
}

.wsfd-global-header .et_mobile_nav_menu,
.wsfd-global-header .mobile_menu_bar:before {
	color: #ffffff !important;
}

/* -------------------------------------------------------------------------
   Tablet + phone nav (Figma Header Platform=Mobile Default / Open 2287:22235)
   ≤980px: logo + hamburger; full-bleed white flyout; #A18B70 accordion chevrons
   ------------------------------------------------------------------------- */
@media only screen and (max-width: 980px) {
	/* Figma Mobile Default (2299:23639): 83px bar, 120×127 seal @ left 11 */
	.et-l--header .wsfd-global-header,
	.et-l--header .wsfd-global-header.et_pb_section,
	body .et-l--header .wsfd-global-header.et_pb_section {
		min-height: 83px !important;
		height: 83px !important;
		overflow: visible !important;
	}

	/* Keep open header + seal above the fixed flyout stacking context (R17) */
	.et-l--header .wsfd-global-header:has(.mobile_nav.opened),
	.et-l--header .wsfd-global-header.et_pb_section:has(.mobile_nav.opened),
	body .et-l--header .wsfd-global-header.et_pb_section:has(.mobile_nav.opened) {
		min-height: 89px !important;
		height: 89px !important;
		position: relative;
		z-index: 100010;
		isolation: isolate;
	}

	/* Admin bar: raise default flyout top until JS measures */
	.admin-bar {
		--wsfd-mobile-flyout-top: 121px;
	}

	.wsfd-global-header .et_pb_row {
		padding-left: 24px !important;
		padding-right: 24px !important;
		min-height: 83px !important;
		height: 83px !important;
		gap: 16px !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
	}

	.wsfd-global-header:has(.mobile_nav.opened) .et_pb_row {
		min-height: 89px !important;
		height: 89px !important;
	}

	/* Keep logo + toggle on one row even when TB columns are 24/24 */
	.wsfd-global-header .et_pb_row > .et_pb_column:first-child {
		flex: 0 0 120px !important;
		width: 120px !important;
		max-width: 120px !important;
	}

	.wsfd-global-header .et_pb_row > .et_pb_column:last-child {
		flex: 1 1 auto !important;
		width: auto !important;
		max-width: none !important;
		/* Divi flex columns default to column — force row so toggle pins right */
		display: flex !important;
		flex-direction: row !important;
		justify-content: flex-end !important;
		align-items: center !important;
	}

	.wsfd-header-logo.et_pb_image,
	.wsfd-header-logo {
		left: 11px !important;
		top: 0 !important;
		width: 120px !important;
		max-width: 120px !important;
	}

	.wsfd-header-logo .et_pb_image_wrap,
	.wsfd-header-logo a {
		width: 120px !important;
	}

	.wsfd-header-logo img,
	.wsfd-header-logo img[src*='.svg'] {
		width: 120px !important;
		height: auto !important;
	}

	/*
	 * Figma Mobile Open (2287:22235): brand mark 60×69, no hang, left 24.
	 * Prefer :has(.opened) so shrink does not depend on JS class timing.
	 */
	.wsfd-global-header:has(.mobile_nav.opened) .wsfd-header-logo.et_pb_image,
	.wsfd-global-header:has(.mobile_nav.opened) .wsfd-header-logo,
	.wsfd-header-logo.wsfd-header-logo--menu-open,
	.wsfd-header-logo.et_pb_image.wsfd-header-logo--menu-open {
		left: 24px !important;
		top: 10px !important;
		width: 60px !important;
		max-width: 60px !important;
		z-index: 100020;
		position: relative;
	}

	.wsfd-global-header:has(.mobile_nav.opened) .wsfd-header-logo .et_pb_image_wrap,
	.wsfd-global-header:has(.mobile_nav.opened) .wsfd-header-logo a,
	.wsfd-header-logo.wsfd-header-logo--menu-open .et_pb_image_wrap,
	.wsfd-header-logo.wsfd-header-logo--menu-open a {
		width: 60px !important;
	}

	.wsfd-global-header:has(.mobile_nav.opened) .wsfd-header-logo img,
	.wsfd-global-header:has(.mobile_nav.opened) .wsfd-header-logo img[src*='.svg'],
	.wsfd-header-logo.wsfd-header-logo--menu-open img,
	.wsfd-header-logo.wsfd-header-logo--menu-open img[src*='.svg'] {
		width: 60px !important;
		height: 69px !important;
		aspect-ratio: 60 / 69;
		object-fit: contain;
	}

	.wsfd-global-header .et_pb_menu,
	.wsfd-global-header .et_pb_menu.et_pb_menu {
		padding: 0 !important;
		margin: 0 !important;
	}

	.wsfd-global-header .et_pb_menu,
	.wsfd-global-header .et_pb_menu_inner_container {
		width: auto !important;
		margin-left: auto !important;
		display: flex !important;
		flex-direction: row !important;
		justify-content: flex-end !important;
		align-items: center !important;
		position: relative;
		min-height: 0 !important;
	}

	.wsfd-global-header .et_pb_menu__wrap {
		width: auto !important;
		display: flex !important;
		flex-direction: row !important;
		justify-content: flex-end !important;
		align-items: center !important;
		position: relative;
		flex: 0 0 auto !important;
	}

	/* Hide desktop horizontal nav — force Divi’s mobile pattern */
	.wsfd-global-header .et_pb_menu .et_pb_menu__menu,
	.wsfd-global-header .et_pb_menu__menu,
	.wsfd-global-header .et-menu {
		display: none !important;
	}

	/* Figma closed header: hamburger only (no search icon) */
	.wsfd-global-header .et_pb_menu__search-button,
	.wsfd-global-header .et_pb_menu__icon.et_pb_menu__search-button {
		display: none !important;
	}

	.wsfd-global-header .et_pb_menu .et_mobile_nav_menu,
	.wsfd-global-header .et_mobile_nav_menu {
		display: flex !important;
		float: none !important;
		margin: 0 !important;
		align-items: center !important;
		position: relative;
		z-index: 100020;
	}

	.wsfd-global-header .mobile_nav {
		position: relative;
		display: flex;
		align-items: center;
		z-index: 100020;
	}

	/* Hamburger — larger + vertically centered (Figma 2287:22651) */
	.wsfd-global-header .et_pb_menu .mobile_nav .mobile_menu_bar,
	.wsfd-global-header .mobile_menu_bar {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 32px;
		height: 32px;
		line-height: 0 !important;
		cursor: pointer;
		position: relative;
		z-index: 100021;
	}

	.wsfd-global-header .et_pb_menu .mobile_nav .mobile_menu_bar:before,
	.wsfd-global-header .mobile_menu_bar:before {
		color: #ffffff !important;
		content: "a" !important;
		font-family: ETmodules !important;
		font-size: 32px !important;
		line-height: 1 !important;
		position: static !important;
		top: auto !important;
		left: auto !important;
		speak: none;
	}

	/* Open: X close (Figma State=Open) */
	.wsfd-global-header .et_pb_menu .mobile_nav.opened .mobile_menu_bar,
	.wsfd-global-header .mobile_nav.opened .mobile_menu_bar {
		width: 35px;
		height: 35px;
	}

	.wsfd-global-header .et_pb_menu .mobile_nav.opened .mobile_menu_bar:before,
	.wsfd-global-header .mobile_nav.opened .mobile_menu_bar:before {
		content: "M" !important;
		font-size: 22px !important;
		color: #ffffff !important;
	}

	/*
	 * Figma Mobile Open (2287:22235): full-bleed white panel under header.
	 * Must be position:fixed — absolute + 100vw from the menu column was
	 * offset ~160px right and clipped chevrons (looked like a right drawer).
	 *
	 * CRITICAL: only show when .mobile_nav.opened. Forcing display:flex on every
	 * .et_mobile_menu kept the panel visible after Divi removed .opened →
	 * hamburger (no X), hanging seal clipped by white panel, no way to close.
	 */
	.wsfd-global-header .et_pb_menu.et_pb_menu .et_mobile_menu,
	.wsfd-global-header .et_pb_menu .et_mobile_menu {
		display: none !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}

	.wsfd-global-header .et_pb_menu.et_pb_menu .mobile_nav.opened .et_mobile_menu,
	.wsfd-global-header .et_pb_menu .mobile_nav.opened .et_mobile_menu {
		background: #ffffff !important;
		border: none !important;
		border-top: none !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		position: fixed !important;
		left: 0 !important;
		right: 0 !important;
		/* R17: always clear open header chrome (logo + close); JS refines */
		top: var(--wsfd-mobile-flyout-top, 89px) !important;
		bottom: 0 !important;
		width: 100vw !important;
		max-width: 100vw !important;
		margin: 0 !important;
		/* Figma Open root gap 30px between header block and Navigation Pill List */
		padding: 30px 24px 48px !important;
		/* Below logo + close; above page content */
		z-index: 100005;
		list-style: none !important;
		text-align: left !important;
		display: flex !important;
		visibility: visible !important;
		pointer-events: auto !important;
		flex-direction: column !important;
		gap: 12px !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		-webkit-overflow-scrolling: touch;
		box-sizing: border-box !important;
	}

	/* Navigation Pill — border #f4ebe0 2px; gap 12 between rows (Slot 2) */
	.wsfd-global-header .et_pb_menu .et_mobile_menu > li {
		border-bottom: 2px solid var(--wsfd-growth) !important;
		margin: 0 !important;
		padding: 0 !important;
		width: 100%;
		float: none !important;
		flex: 0 0 auto;
	}

	/* Dunbar Tall Medium 17/21 — pt 8 / pb 16 / px 8 (Figma Navigation Pill) */
	.wsfd-global-header .et_pb_menu.et_pb_menu .et_mobile_menu > li > a,
	.wsfd-global-header .et_pb_menu .et_mobile_menu > li > a {
		align-items: center;
		background: transparent !important;
		border-bottom: none !important;
		color: var(--wsfd-conserve) !important;
		display: flex !important;
		font-family: var(--wsfd-font-display) !important;
		font-size: 17px !important;
		font-weight: 500 !important;
		justify-content: space-between;
		line-height: 21px !important;
		padding: 8px 8px 16px !important;
		position: relative;
		width: 100%;
		gap: 8px;
	}

	/* Figma Chevron down 20×20 stroke #A18B70 */
	.wsfd-global-header .et_pb_menu .et_mobile_menu > li.menu-item-has-children > a:after {
		content: "" !important;
		font-family: none !important;
		font-size: 0 !important;
		display: block !important;
		flex: 0 0 20px;
		width: 20px !important;
		height: 20px !important;
		margin-left: auto;
		opacity: 1 !important;
		position: static !important;
		right: auto !important;
		top: auto !important;
		border: none !important;
		background-color: transparent !important;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5 7.5L10 12.5L15 7.5' stroke='%23A18B70' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
		background-repeat: no-repeat !important;
		background-position: center !important;
		background-size: 20px 20px !important;
		-webkit-mask-image: none !important;
		mask-image: none !important;
		transform: none;
		transition: transform 0.2s ease;
	}

	.wsfd-global-header .et_pb_menu .et_mobile_menu > li.menu-item-has-children.wsfd-mobile-open > a:after {
		transform: rotate(180deg);
	}

	/* Current/hover — forest (Figma). Beat Divi et-cache tan (#d2b99a) on ancestors. */
	.wsfd-global-header .et_pb_menu .et_mobile_menu > li > a:hover,
	.wsfd-global-header .et_pb_menu .et_mobile_menu > li > a:focus,
	.wsfd-global-header .et_pb_menu .et_mobile_menu > li.current-menu-item > a,
	.wsfd-global-header .et_pb_menu .et_mobile_menu > li.current-menu-ancestor > a,
	.wsfd-global-header .et_pb_menu .et_mobile_menu > li.current-menu-parent > a,
	.wsfd-global-header .et_pb_menu .et_mobile_menu > li.current_page_ancestor > a,
	.wsfd-global-header .et_pb_menu .et_mobile_menu > li.current-page-ancestor > a,
	.wsfd-global-header .et_pb_menu.et_pb_menu .et_mobile_menu > li.current-menu-ancestor > a,
	.wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu .et_mobile_menu > li.current-menu-ancestor > a,
	.wsfd-global-header .et_pb_menu_0_tb_header.et_pb_menu ul li.current-menu-ancestor > a,
	body .wsfd-global-header .et_pb_menu .et_mobile_menu > li.current-menu-ancestor > a {
		color: var(--wsfd-forest, #0f5624) !important;
		background: transparent !important;
		opacity: 1 !important;
		outline: none;
	}

	.wsfd-global-header .et_pb_menu .et_mobile_menu > li > a:focus-visible {
		outline: 2px solid var(--wsfd-forest);
		outline-offset: 2px;
	}

	.wsfd-global-header .mobile_menu_bar:focus-visible {
		outline: 2px solid #ffffff;
		outline-offset: 3px;
	}

	/*
	 * Accordion: override Divi’s always-open mobile submenus
	 * (.et_pb_menu .et_mobile_menu li ul { display:block !important }).
	 * CPT singles load style-static-cpt with .et-db #et-boc .et-l … which
	 * beats the non-ID selectors — include that chain so PG singles match pages.
	 */
	.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu .et_mobile_menu li ul.sub-menu,
	.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu .et_mobile_menu li ul,
	.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu .et_mobile_menu > li > ul.sub-menu,
	.wsfd-global-header .et_pb_menu.et_pb_menu .et_mobile_menu li ul.sub-menu,
	.wsfd-global-header .et_pb_menu .et_mobile_menu li ul,
	.wsfd-global-header .et_pb_menu .et_mobile_menu > li > ul.sub-menu {
		background: transparent !important;
		border: none !important;
		box-shadow: none !important;
		display: none !important;
		left: auto !important;
		padding: 0 0 8px 8px !important;
		position: static !important;
		top: auto !important;
		width: 100% !important;
		min-width: 0 !important;
		opacity: 1 !important;
		visibility: visible !important;
		float: none !important;
	}

	.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu .et_mobile_menu > li.wsfd-mobile-open > ul.sub-menu,
	.et-db #et-boc .et-l .wsfd-global-header .et_pb_menu .et_mobile_menu > li.wsfd-mobile-open > ul,
	.wsfd-global-header .et_pb_menu .et_mobile_menu > li.wsfd-mobile-open > ul.sub-menu,
	.wsfd-global-header .et_pb_menu .et_mobile_menu > li.wsfd-mobile-open > ul {
		display: block !important;
	}

	.wsfd-global-header .et_pb_menu.et_pb_menu .et_mobile_menu li ul.sub-menu a,
	.wsfd-global-header .et_pb_menu .et_mobile_menu li ul a {
		background: transparent !important;
		border-bottom: none !important;
		color: var(--wsfd-ember) !important;
		display: block !important;
		font-size: 15px !important;
		font-weight: 500 !important;
		line-height: 1.35 !important;
		padding: 10px 8px !important;
		white-space: normal !important;
		justify-content: flex-start;
	}

	.wsfd-global-header .et_pb_menu .et_mobile_menu li ul.sub-menu a:hover,
	.wsfd-global-header .et_pb_menu .et_mobile_menu li ul.sub-menu .current-menu-item > a,
	.wsfd-global-header .et_pb_menu .et_mobile_menu li ul a:hover {
		color: var(--wsfd-forest) !important;
		background: transparent !important;
		opacity: 1 !important;
	}
}

/* WP admin bar — CSS fallback until header-nav.js measures (JS wins when open) */
@media only screen and (max-width: 980px) {
	body.admin-bar {
		--wsfd-mobile-flyout-top: calc(var(--wsfd-mobile-flyout-top-base, 89px) + 32px);
	}
}

@media only screen and (max-width: 782px) {
	body.admin-bar {
		--wsfd-mobile-flyout-top: calc(var(--wsfd-mobile-flyout-top-base, 89px) + 46px);
	}
}

/* -------------------------------------------------------------------------
   Global Footer (Figma Platform=Desktop 7717:4142 / Mobile 321:11146)
   ------------------------------------------------------------------------- */
.wsfd-global-footer.et_pb_section {
	border-top: 4px solid #9a6056 !important;
	padding: 32px 64px !important;
}

.wsfd-global-footer .et_pb_row {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.wsfd-global-footer .wsfd-footer-main.et_pb_row {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: flex-start !important;
	gap: 16px;
	margin-bottom: 32px !important;
	padding: 0 !important;
}

/* Divi 5 flex columns default to equal width — force Figma 50 / 25 / 25 */
.wsfd-global-footer .wsfd-footer-main > .et_pb_column {
	margin: 0 !important;
	min-width: 0;
	max-width: none !important;
	width: auto !important;
}

.wsfd-global-footer .wsfd-footer-main > .wsfd-footer-brand,
.wsfd-global-footer .wsfd-footer-main > .et_pb_column_0_tb_footer {
	flex: 2 1 0 !important;
}

.wsfd-global-footer .wsfd-footer-main > .wsfd-footer-nav-col,
.wsfd-global-footer .wsfd-footer-main > .wsfd-footer-legal-col,
.wsfd-global-footer .wsfd-footer-main > .et_pb_column_1_tb_footer,
.wsfd-global-footer .wsfd-footer-main > .et_pb_column_2_tb_footer {
	flex: 1 1 0 !important;
}

.wsfd-footer-logo,
.wsfd-footer-logo .et_pb_image_wrap,
.wsfd-footer-logo img {
	display: block;
	width: 175px !important;
	height: 200px !important;
	max-width: 175px !important;
	object-fit: contain;
}

.wsfd-footer-heading.et_pb_module,
.wsfd-global-footer .wsfd-footer-heading h3,
.wsfd-global-footer .wsfd-footer-heading p.et_pb_module_header,
.wsfd-global-footer p.wsfd-footer-heading {
	margin: 0 !important;
	padding: 0 !important;
	color: #ffffff !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	line-height: 26px !important;
}

.wsfd-global-footer .wsfd-footer-heading h3,
.wsfd-global-footer .wsfd-footer-heading p.et_pb_module_header {
	padding-bottom: 0 !important;
}

.wsfd-footer-contact.et_pb_text,
.wsfd-footer-contact .et_pb_text_inner {
	width: 100%;
	max-width: 265px;
}

.wsfd-footer-contact .et_pb_text_inner p {
	margin: 0 !important;
	padding: 0 !important;
	color: #ffffff !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
}

.wsfd-footer-contact .wsfd-footer-address {
	margin-bottom: 8px !important;
}

.wsfd-footer-contact .wsfd-footer-address-line {
	display: block;
}

.wsfd-footer-contact .wsfd-footer-address-line + .wsfd-footer-address-line {
	margin-top: 15px;
}

.wsfd-footer-contact .wsfd-footer-phone a,
.wsfd-footer-contact a {
	color: var(--wsfd-growth) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px;
	background: transparent !important;
}

/* Figma Leaf/550 — footer text-link hover/focus (not white) */
.wsfd-footer-contact .wsfd-footer-phone a:hover,
.wsfd-footer-contact .wsfd-footer-phone a:focus-visible,
.wsfd-footer-contact a:hover,
.wsfd-footer-contact a:focus-visible {
	color: var(--wsfd-leaf) !important;
}

.wsfd-footer-contact .wsfd-footer-phone a:focus-visible,
.wsfd-footer-contact a:focus-visible {
	outline: 2px solid var(--wsfd-leaf);
	outline-offset: 2px;
}

/* Vertical menu lists (Divi Menu defaults to row/wrap) */
.wsfd-footer-nav.et_pb_menu,
.wsfd-footer-legal.et_pb_menu,
.wsfd-footer-nav .et_pb_menu_inner_container,
.wsfd-footer-legal .et_pb_menu_inner_container {
	background: transparent !important;
	box-shadow: none !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Divi 5 flex columns default to 30px gap — Figma uses 10px title→list */
.wsfd-global-footer .wsfd-footer-brand,
.wsfd-global-footer .wsfd-footer-nav-col,
.wsfd-global-footer .wsfd-footer-legal-col {
	gap: 10px !important;
	row-gap: 10px !important;
}

.wsfd-footer-heading.et_pb_module {
	margin: 0 !important;
}

.wsfd-footer-nav-col .et_pb_module,
.wsfd-footer-legal-col .et_pb_module,
.wsfd-footer-brand .et_pb_module {
	margin-bottom: 0 !important;
}

.wsfd-footer-nav .et_pb_menu__wrap,
.wsfd-footer-legal .et_pb_menu__wrap,
.wsfd-footer-nav .et_pb_menu__menu,
.wsfd-footer-legal .et_pb_menu__menu {
	display: block !important;
	width: 100% !important;
	visibility: visible !important;
	opacity: 1 !important;
	height: auto !important;
	overflow: visible !important;
}

/* Always show footer link lists (never Divi hamburger) at all breakpoints */
.wsfd-footer-nav .et_pb_menu .et_pb_menu__menu,
.wsfd-footer-legal .et_pb_menu .et_pb_menu__menu {
	display: block !important;
}

.wsfd-footer-nav .et-menu,
.wsfd-footer-legal .et-menu {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: flex-start !important;
	gap: 8px !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100%;
	list-style: none !important;
	visibility: visible !important;
	height: auto !important;
}

.wsfd-footer-nav .et-menu > li,
.wsfd-footer-legal .et-menu > li {
	display: block !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto;
	max-width: 100%;
}

.wsfd-footer-nav .et-menu a,
.wsfd-footer-legal .et-menu a {
	display: inline !important;
	color: var(--wsfd-growth) !important;
	background: transparent !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	padding: 0 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px;
	white-space: normal !important;
}

/* Figma Leaf/550 (#448843) — Navigation / Legal link hover + keyboard focus */
.wsfd-footer-nav .et-menu a:hover,
.wsfd-footer-nav .et-menu a:focus-visible,
.wsfd-footer-legal .et-menu a:hover,
.wsfd-footer-legal .et-menu a:focus-visible {
	color: var(--wsfd-leaf) !important;
}

.wsfd-footer-nav .et-menu a:focus-visible,
.wsfd-footer-legal .et-menu a:focus-visible {
	outline: 2px solid var(--wsfd-leaf);
	outline-offset: 2px;
}

/* OSLI wraps like Figma desktop (two lines) */
.wsfd-footer-legal .et-menu > li:first-child {
	max-width: 256px;
}

@media only screen and (max-width: 980px) {
	/* Row 120 — mobile Legal links share one left edge (no OSLI max-width indent). */
	.wsfd-footer-legal .et-menu > li:first-child {
		max-width: none;
		width: 100%;
	}

	.wsfd-footer-legal .et-menu a {
		display: block !important;
	}
}

.wsfd-footer-nav .et_mobile_nav_menu,
.wsfd-footer-legal .et_mobile_nav_menu {
	display: none !important;
}

/* Leaf socket bar (Figma Footer Desktop 3033:8849 — items-center, py 10, px 25) */
.et-db #et-boc .et-l .wsfd-global-footer .wsfd-footer-bar.et_pb_row,
.wsfd-global-footer .wsfd-footer-bar.et_pb_row {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	column-gap: 12px !important;
	row-gap: 0 !important;
	gap: 12px !important;
	background-color: var(--wsfd-leaf) !important;
	border-radius: 8px !important;
	padding: 10px 25px !important;
	margin: 0 !important;
	min-height: 0 !important;
	/* Kill Divi flex row gutters that inflate bar height */
	--vertical-gap: 0px !important;
	--horizontal-gap: 12px !important;
	--row-gutter-vertical: 0px !important;
}

.et-db #et-boc .et-l .wsfd-global-footer .wsfd-footer-bar > .et_pb_column,
.wsfd-global-footer .wsfd-footer-bar > .et_pb_column {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	align-self: center !important;
	justify-content: flex-start !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	max-width: none !important;
	min-height: 0 !important;
	--vertical-gap: 0px !important;
	--horizontal-gap: 0px !important;
}

.et-db #et-boc .et-l .wsfd-global-footer .wsfd-footer-bar > .et_pb_column_3_tb_footer,
.wsfd-global-footer .wsfd-footer-bar > .et_pb_column_3_tb_footer {
	flex: 1 1 auto !important;
	width: auto !important;
}

.et-db #et-boc .et-l .wsfd-global-footer .wsfd-footer-bar > .et_pb_column_4_tb_footer,
.wsfd-global-footer .wsfd-footer-bar > .et_pb_column_4_tb_footer {
	flex: 0 0 auto !important;
	width: auto !important;
	justify-content: flex-end !important;
}

.wsfd-footer-copy.et_pb_module,
.wsfd-footer-copy,
.wsfd-footer-copy .et_pb_text_inner,
.wsfd-footer-copy .et_pb_text_inner p {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--wsfd-conserve) !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	min-height: 0 !important;
}

.wsfd-footer-copy.et_pb_text {
	display: flex !important;
	align-items: center !important;
	width: auto !important;
}

.wsfd-footer-copy a,
.wsfd-footer-copy a strong {
	color: var(--wsfd-conserve) !important;
	font-weight: 700 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px;
	background: transparent !important;
}

/* ul.wsfd-footer-social is the module itself (not a nested ul) */
ul.wsfd-footer-social.et_pb_social_media_follow,
.wsfd-footer-social.et_pb_social_media_follow {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: 12px !important;
	column-gap: 12px !important;
	row-gap: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
	min-height: 0 !important;
	list-style: none !important;
	--flex-direction: row !important;
	--vertical-gap: 0px !important;
	--horizontal-gap: 12px !important;
}

.wsfd-footer-social li,
.wsfd-footer-social .et_pb_social_media_follow_network {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 0 !important;
	min-height: 0 !important;
}

.wsfd-footer-social li a.icon {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 26px !important;
	height: 26px !important;
	min-width: 26px !important;
	min-height: 26px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	box-sizing: border-box !important;
	color: var(--wsfd-conserve) !important;
	font-size: 18px !important;
	line-height: 0 !important;
	overflow: hidden !important;
	vertical-align: middle !important;
}

.wsfd-footer-social li.et-social-youtube a.icon {
	width: 22px !important;
	height: 22px !important;
	min-width: 22px !important;
	min-height: 22px !important;
	font-size: 16px !important;
}

/* Divi defaults :before to 32×32 / line-height 32 — that top-biases the bar */
.wsfd-footer-social li a.icon:before {
	display: block !important;
	position: static !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	color: var(--wsfd-conserve) !important;
	font-size: inherit !important;
	line-height: 26px !important;
	text-align: center !important;
}

.wsfd-footer-social li.et-social-youtube a.icon:before {
	line-height: 22px !important;
}

.wsfd-footer-social li a.icon span,
.wsfd-footer-social .et_pb_social_media_follow_network_name {
	display: none !important;
}

.wsfd-footer-social li a.icon:hover,
.wsfd-footer-social li a.icon:hover:before {
	color: #ffffff !important;
}

/*
 * Classic sidebar Search widget (block-2) — Divi defaults hide the label and use
 * #666 on #ddd for the button (fails AA). Screen-reader label + forest button.
 */
.et_pb_widget .wp-block-search__label,
.widget_search .wp-block-search__label,
.widget_block .wp-block-search__label {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
	display: block !important;
}

.et_pb_widget .wp-block-search__button,
.widget_search .wp-block-search__button,
.widget_block .wp-block-search__button,
.widget_search #searchsubmit {
	background-color: var(--wsfd-forest) !important;
	border-color: var(--wsfd-forest) !important;
	color: #ffffff !important;
}

.et_pb_widget .wp-block-search__button:hover,
.widget_search .wp-block-search__button:hover,
.widget_block .wp-block-search__button:hover,
.widget_search #searchsubmit:hover,
.et_pb_widget .wp-block-search__button:focus-visible,
.widget_search .wp-block-search__button:focus-visible,
.widget_block .wp-block-search__button:focus-visible {
	background-color: var(--wsfd-conserve) !important;
	border-color: var(--wsfd-conserve) !important;
	color: #ffffff !important;
}

.et_pb_widget .wp-block-search__input,
.widget_search .wp-block-search__input,
.widget_block .wp-block-search__input,
.widget_search input#s {
	color: var(--wsfd-conserve) !important;
	border-color: var(--wsfd-ember) !important;
}

/*
 * Tablet footer (Figma Homepage: Tablet 3088:2028)
 * Logo centered full-width; HQ | Nav | Legal in 3 equal columns; socket row.
 */
@media only screen and (min-width: 768px) and (max-width: 980px) {
	.wsfd-global-footer.et_pb_section {
		padding: 32px !important;
	}

	.wsfd-global-footer .wsfd-footer-main.et_pb_row {
		display: grid !important;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: 24px;
		row-gap: 24px;
		align-items: start;
		margin-bottom: 24px !important;
	}

	/* Flatten brand column so logo / HQ modules join the parent grid */
	.wsfd-global-footer .wsfd-footer-main > .wsfd-footer-brand,
	.wsfd-global-footer .wsfd-footer-main > .et_pb_column_0_tb_footer {
		display: contents !important;
	}

	.wsfd-footer-logo {
		grid-column: 1 / -1;
		justify-self: center;
		margin: 0 auto !important;
	}

	.wsfd-footer-logo,
	.wsfd-footer-logo .et_pb_image_wrap,
	.wsfd-footer-logo img {
		width: 160px !important;
		height: 183px !important;
		max-width: 160px !important;
	}

	.wsfd-footer-brand .wsfd-footer-heading,
	.wsfd-footer-contact {
		grid-column: 1;
		text-align: left;
		width: 100%;
		max-width: 100%;
	}

	.wsfd-global-footer .wsfd-footer-main > .wsfd-footer-nav-col,
	.wsfd-global-footer .wsfd-footer-main > .et_pb_column_1_tb_footer {
		grid-column: 2;
		width: auto !important;
		max-width: none !important;
	}

	.wsfd-global-footer .wsfd-footer-main > .wsfd-footer-legal-col,
	.wsfd-global-footer .wsfd-footer-main > .et_pb_column_2_tb_footer {
		grid-column: 3;
		width: auto !important;
		max-width: none !important;
	}

	.wsfd-footer-contact.et_pb_text,
	.wsfd-footer-contact .et_pb_text_inner {
		max-width: 100%;
	}

	.wsfd-global-footer .wsfd-footer-bar.et_pb_row {
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 12px;
	}

	ul.wsfd-footer-social.et_pb_social_media_follow,
	.wsfd-footer-social.et_pb_social_media_follow {
		justify-content: flex-end !important;
	}
}

/* Phone footer (Figma Platform=Mobile 321:11146) — full stack + socket column */
@media only screen and (max-width: 767px) {
	.wsfd-global-footer.et_pb_section {
		padding: 32px !important;
	}

	.wsfd-global-footer .wsfd-footer-main.et_pb_row {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		gap: 24px;
		margin-bottom: 24px !important;
	}

	.wsfd-global-footer .wsfd-footer-main > .et_pb_column,
	.wsfd-global-footer .wsfd-footer-main > .wsfd-footer-brand,
	.wsfd-global-footer .wsfd-footer-main > .et_pb_column_0_tb_footer {
		display: flex !important;
		flex-direction: column !important;
		flex: 0 0 auto !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.wsfd-footer-brand {
		align-items: center !important;
		text-align: center;
	}

	.wsfd-footer-logo,
	.wsfd-footer-logo .et_pb_image_wrap,
	.wsfd-footer-logo img {
		width: 160px !important;
		height: 183px !important;
		max-width: 160px !important;
		margin-left: auto;
		margin-right: auto;
	}

	.wsfd-footer-brand .wsfd-footer-heading,
	.wsfd-footer-contact .et_pb_text_inner {
		text-align: center;
	}

	.wsfd-footer-contact.et_pb_text,
	.wsfd-footer-contact .et_pb_text_inner {
		max-width: 100%;
	}

	/* R133 — center HQ / Navigation / Legal link lists on mobile. */
	.wsfd-global-footer .wsfd-footer-heading h3,
	.wsfd-global-footer .wsfd-footer-heading p.et_pb_module_header,
	.wsfd-global-footer p.wsfd-footer-heading,
	.wsfd-global-footer .wsfd-footer-nav .et-menu,
	.wsfd-global-footer .wsfd-footer-nav .et-menu a,
	.wsfd-global-footer .wsfd-footer-legal-col .et-menu,
	.wsfd-global-footer .wsfd-footer-legal-col .et-menu a,
	.wsfd-global-footer .wsfd-footer-contact .et_pb_text_inner,
	.wsfd-global-footer .wsfd-footer-contact .et_pb_text_inner p,
	.wsfd-global-footer .wsfd-footer-nav-col,
	.wsfd-global-footer .wsfd-footer-legal-col {
		text-align: center !important;
	}

	.wsfd-global-footer .wsfd-footer-nav .et-menu,
	.wsfd-global-footer .wsfd-footer-legal-col .et-menu {
		align-items: center !important;
	}

	.wsfd-global-footer .wsfd-footer-nav .et-menu > li,
	.wsfd-global-footer .wsfd-footer-legal-col .et-menu > li {
		width: 100%;
		text-align: center !important;
	}

	/* Beat desktop `.et-db #et-boc … flex-direction: row !important` */
	.et-db #et-boc .et-l .wsfd-global-footer .wsfd-footer-bar.et_pb_row,
	.wsfd-global-footer .wsfd-footer-bar.et_pb_row {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
		gap: 10px !important;
		row-gap: 10px !important;
		column-gap: 0 !important;
		--flex-direction: column !important;
		--horizontal-gap: 0px !important;
		--vertical-gap: 10px !important;
	}

	.et-db #et-boc .et-l .wsfd-global-footer .wsfd-footer-bar > .et_pb_column,
	.wsfd-global-footer .wsfd-footer-bar > .et_pb_column,
	.et-db #et-boc .et-l .wsfd-global-footer .wsfd-footer-bar > .et_pb_column_3_tb_footer,
	.wsfd-global-footer .wsfd-footer-bar > .et_pb_column_3_tb_footer,
	.et-db #et-boc .et-l .wsfd-global-footer .wsfd-footer-bar > .et_pb_column_4_tb_footer,
	.wsfd-global-footer .wsfd-footer-bar > .et_pb_column_4_tb_footer {
		display: flex !important;
		flex: 0 0 auto !important;
		flex-direction: column !important;
		justify-content: flex-start !important;
		align-items: flex-start !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	.wsfd-footer-copy.et_pb_module,
	.wsfd-footer-copy,
	.wsfd-footer-copy.et_pb_text,
	.wsfd-footer-copy .et_pb_text_inner {
		max-width: 100% !important;
		width: 100% !important;
	}

	ul.wsfd-footer-social.et_pb_social_media_follow,
	.wsfd-footer-social.et_pb_social_media_follow {
		justify-content: flex-start !important;
		width: auto !important;
		max-width: 100% !important;
	}
}

/* Tablet hero title: single line (Figma 3077:3074); phone keeps natural wrap */
@media only screen and (min-width: 768px) and (max-width: 980px) {
	.wsfd-hero .et_pb_slide_title br {
		display: none;
	}

	/*
	 * Tablet crumb heroes: keep normal horizontal gutters; push content down
	 * with padding-top so breadcrumbs clear the hanging seal (no left shift).
	 */
	.wsfd-page-hero--child,
	.wsfd-page-hero--parent,
	.wsfd-pg-hero,
	.wsfd-pg-hero--single,
	.wsfd-news-hero,
	.wsfd-res-hero,
	.wsfd-contact-hero,
	.wsfd-contact-hero--single {
		padding-top: var(--wsfd-hero-crumb-pad-top-sm, 70px) !important;
		min-height: var(--wsfd-photo-hero-parent-height-sm, 200px) !important;
		height: auto !important;
	}
}

/* -------------------------------------------------------------------------
   Hero slider (Figma Homepage Desktop / Hero Slider 3064:2751)
   Full-bleed bg; text+image rail matches Divi content width (same as cards).
   ------------------------------------------------------------------------- */
.wsfd-hero.et_pb_section {
	padding: 0 !important;
	overflow: hidden;
	position: relative;
	--wsfd-hero-rail-width: var(--wsfd-content-rail-width);
	--wsfd-hero-rail-inset: var(--wsfd-content-rail-inset);
	/*
	 * Figma: arrows sit OUTSIDE content (35px chip + 48px gap), not on rail edges.
	 * Floor at page gutter 64px so controls never leave the viewport.
	 */
	--wsfd-hero-control-inset: max(
		var(--wsfd-page-gutter, 64px),
		calc(
			var(--wsfd-hero-rail-inset) - var(--wsfd-hero-arrow-gap) -
				var(--wsfd-hero-arrow-size)
		)
	);
	--wsfd-hero-image-height: 413px;
	/* Figma 3064:2751: 32 gap + 35 pause + 48 pb below image row */
	--wsfd-hero-pad-bottom: 115px;
}

.wsfd-hero .et_pb_row,
.wsfd-hero .et_pb_row_0 {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	/* Full-bleed row; content width applied on slide inner */
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.wsfd-hero .et_pb_column,
.wsfd-hero .et_pb_column_0 {
	width: 100% !important;
	max-width: 100% !important;
}

.wsfd-hero .et_pb_slider,
.wsfd-hero .et_pb_slides,
.wsfd-hero .et_pb_slide {
	width: 100% !important;
	max-width: 100% !important;
}

.wsfd-hero .et_pb_slider .et_pb_slide {
	min-height: 0;
	padding: 0 !important;
}

.wsfd-hero .et_pb_slide .et_pb_container {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
}

.wsfd-hero .et_pb_slider {
	position: relative;
}

.wsfd-hero .et_pb_slider_container_inner {
	/*
	 * Stable 2-col grid (Figma Frame 17: fluid copy + fixed 500px media).
	 * DOM is image then copy — place explicitly so H1/copy length cannot
	 * shift the framed image across slides.
	 */
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) var(--wsfd-hero-image-width);
	grid-template-rows: auto;
	align-items: start;
	justify-content: stretch;
	column-gap: var(--wsfd-hero-content-gap);
	row-gap: 0;
	width: var(--wsfd-content-width);
	max-width: var(--wsfd-content-max-width);
	margin-left: auto;
	margin-right: auto;
	min-height: calc(
		var(--wsfd-hero-image-height) + 100px + var(--wsfd-hero-pad-bottom)
	);
	padding: 100px 0 var(--wsfd-hero-pad-bottom);
	box-sizing: border-box;
}

.wsfd-hero .et_pb_slide_with_image .et_pb_slide_description {
	float: none !important;
	position: relative !important;
	display: flex !important;
	grid-column: 1;
	grid-row: 1;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: 0;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	min-height: var(--wsfd-hero-image-height);
	padding: 0 !important;
	box-sizing: border-box;
	text-align: left;
}

.wsfd-hero .et_pb_slide_description::after {
	content: '';
	display: block;
	flex: 1 1 auto;
	min-height: 0;
	width: 100%;
	pointer-events: none;
}

/* Figma / sheet R5: 52 / 60 / weight 700 */
.wsfd-hero .et_pb_slide_title {
	letter-spacing: 0 !important;
	font-family: var(--wsfd-font-display) !important;
	font-weight: 700 !important;
	color: var(--wsfd-bark) !important;
	font-size: 52px !important;
	line-height: 60px !important;
	/* Figma: 12px under H1; flush with image top */
	margin: 0 0 12px !important;
	padding: 0 !important;
	/* Wrap inside left column only — never change media column geometry */
	max-width: 100%;
	overflow-wrap: break-word;
}

.wsfd-hero .et_pb_slide_title a {
	color: inherit !important;
	letter-spacing: inherit !important;
	line-height: inherit !important;
}

.wsfd-hero .et_pb_slide_content {
	/* Figma: 32px from copy block to CTA (title+sub already 12 apart) */
	margin: 0 0 32px !important;
	padding: 0 !important;
	max-width: 100%;
}

.wsfd-hero .et_pb_slide_content,
.wsfd-hero .et_pb_slide_content p {
	color: #ffffff !important;
	font-family: var(--wsfd-font-serif) !important;
	font-size: 22px !important;
	font-weight: 600 !important;
	line-height: 26px !important;
	margin: 0 !important;
}

.wsfd-hero .et_pb_button_wrapper {
	margin: 0 !important;
	padding: 0 !important;
}

.wsfd-hero .et_pb_slide_image,
.wsfd-hero .et_pb_media_alignment_center .et_pb_slide_image {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	display: block !important;
	grid-column: 2;
	grid-row: 1;
	justify-self: stretch;
	width: var(--wsfd-hero-image-width) !important;
	min-width: var(--wsfd-hero-image-width) !important;
	max-width: var(--wsfd-hero-image-width) !important;
	margin: 0 !important;
	margin-top: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding: 0 !important;
	transform: none !important;
}

.wsfd-hero .et_pb_slide_image img,
.wsfd-hero .et_pb_slide_image img.active {
	display: block !important;
	border-radius: 32px !important;
	border: 6px solid var(--wsfd-bark) !important;
	box-sizing: border-box;
	max-height: var(--wsfd-hero-image-height) !important;
	width: var(--wsfd-hero-image-width) !important;
	max-width: 100% !important;
	height: var(--wsfd-hero-image-height) !important;
	object-fit: cover !important;
}

/* Kill Divi entrance keyframes on hero media only — never lock slide opacity. */
.wsfd-hero .et-pb-active-slide .et_pb_slide_image img {
	animation: none !important;
}

/* R71: never underline button labels (Divi link defaults) */
body #page-container .et_pb_button,
body #page-container a.et_pb_button,
body #page-container .et_pb_more_button.et_pb_button,
.wsfd-hero .et_pb_more_button.et_pb_button,
.wsfd-audience-cards .et_pb_button,
.wsfd-about .et_pb_button,
.wsfd-404__cta,
.wsfd-page-related-pg__all,
.wsfd-page__nav-link {
	text-decoration: none !important;
}

.wsfd-hero .et_pb_more_button.et_pb_button,
.wsfd-audience-cards .et_pb_button,
.wsfd-about .et_pb_button {
	background-color: var(--wsfd-forest) !important;
	border: 2px solid var(--wsfd-leaf) !important;
	border-radius: 4px !important;
	color: #ffffff !important;
	font-family: var(--wsfd-font-serif) !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	padding: 6px 12px !important;
	display: inline-flex !important;
	align-items: center !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: 8px !important;
	white-space: nowrap !important;
	width: auto !important;
	max-width: none !important;
	text-decoration: none !important;
}

/* Primary button hover — Figma 4185:3778 (#D1422A / #942C1B + trailing arrow).
   Arrow is in-flow (::after + gap); do not add Divi-style padding-right for
   an absolute icon or label+arrow wrap onto two lines. */
body #page-container .et_pb_button:hover,
body #page-container .et_pb_button:focus-visible,
body #page-container .et_pb_more_button.et_pb_button:hover,
body #page-container .et_pb_more_button.et_pb_button:focus-visible,
.wsfd-hero .et_pb_more_button.et_pb_button:hover,
.wsfd-hero .et_pb_more_button.et_pb_button:focus-visible,
.wsfd-audience-cards .et_pb_button:hover,
.wsfd-audience-cards .et_pb_button:focus-visible,
.wsfd-about .et_pb_button:hover,
.wsfd-about .et_pb_button:focus-visible {
	background-color: #d1422a !important;
	border-color: #942c1b !important;
	color: #ffffff !important;
	display: inline-flex !important;
	align-items: center !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	gap: 8px !important;
	white-space: nowrap !important;
	padding: 6px 12px !important;
	width: auto !important;
	max-width: none !important;
}

body #page-container .et_pb_button:hover::after,
body #page-container .et_pb_button:focus-visible::after,
body #page-container .et_pb_more_button.et_pb_button:hover::after,
body #page-container .et_pb_more_button.et_pb_button:focus-visible::after,
.wsfd-hero .et_pb_more_button.et_pb_button:hover::after,
.wsfd-hero .et_pb_more_button.et_pb_button:focus-visible::after,
.wsfd-audience-cards .et_pb_button:hover::after,
.wsfd-audience-cards .et_pb_button:focus-visible::after,
.wsfd-about .et_pb_button:hover::after,
.wsfd-about .et_pb_button:focus-visible::after {
	content: "" !important;
	display: inline-block !important;
	width: 16px !important;
	height: 16px !important;
	margin: 0 !important;
	flex: 0 0 16px !important;
	align-self: center !important;
	/* Sheet R10: arrow icons dark (#54150A), not white. */
	color: #54150a !important;
	background-color: #54150a !important;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Ccircle cx='8' cy='8' r='7' stroke='%23000' stroke-width='1.5'/%3E%3Cpath d='M5.5 8h5M8 5.5L10.5 8 8 10.5' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Ccircle cx='8' cy='8' r='7' stroke='%23000' stroke-width='1.5'/%3E%3Cpath d='M5.5 8h5M8 5.5L10.5 8 8 10.5' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	-webkit-mask-size: contain !important;
	mask-size: contain !important;
	-webkit-mask-repeat: no-repeat !important;
	mask-repeat: no-repeat !important;
	-webkit-mask-position: center !important;
	mask-position: center !important;
	opacity: 1 !important;
	position: static !important;
	transform: none !important;
	line-height: 0 !important;
	vertical-align: middle !important;
}

/* About — Figma Panel Image Content 3071:2466: pt 48 / pb 24.
   Use 48px bottom so the CTA clears the dark map section when the photo
   does not drive section height.
   Type (Figma tokens — Heading 2 + Heading 5; R75 sheet SoT 36/44):
   - About title (h2): Dunbar Tall Bold 36/44 #371F1B
   - Mission statement (h3): New Science Serif SemiBold 22/26 #000D04
   Divi module CSS pins both; lock sizes here. */
.wsfd-about .et_pb_heading .et_pb_module_header,
.wsfd-about h2.et_pb_module_header,
.wsfd-about h2 {
	font-family: var(--wsfd-font-display) !important;
	font-size: var(--wsfd-h2-size, 36px) !important;
	line-height: var(--wsfd-h2-lh, 44px) !important;
	font-weight: var(--wsfd-h2-weight, 700) !important;
	color: var(--wsfd-protection, #371f1b) !important;
}

.wsfd-about .et_pb_text_inner h3,
.wsfd-about h3 {
	font-family: var(--wsfd-font-serif) !important;
	font-size: var(--wsfd-h5-size, 22px) !important;
	line-height: var(--wsfd-h5-lh, 26px) !important;
	font-weight: var(--wsfd-h5-weight, 600) !important;
	color: var(--wsfd-conserve, #000d04) !important;
}

.wsfd-about.et_pb_section {
	padding-top: 48px !important;
	padding-bottom: 48px !important;
}

/* About photo already has baked-in clipped-trees border — strip Divi frame only */
.wsfd-about .et_pb_image .et_pb_image_wrap,
.wsfd-about .et_pb_image img {
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

.wsfd-about .et_pb_image .et_pb_image_wrap {
	overflow: visible !important;
}

/* Tablet about (Figma 3085:1908): stacked image (600) + text, 24px gutters */
@media only screen and (max-width: 980px) {
	.wsfd-about.et_pb_section {
		padding: 32px 24px 48px !important;
	}

	.wsfd-about .et_pb_row {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
	}

	.wsfd-about .et_pb_row > .et_pb_column {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}

	.wsfd-about .et_pb_image {
		width: 100% !important;
		max-width: 600px !important;
		margin-left: auto !important;
		margin-right: auto !important;
		margin-bottom: 0 !important;
	}

	.wsfd-about .et_pb_image .et_pb_image_wrap,
	.wsfd-about .et_pb_image img {
		width: 100% !important;
		height: auto !important;
		max-height: 372px;
		object-fit: cover;
	}
}

/* Phone about (Figma 3088:2960): 24px gutters, image 354×224 full width */
@media only screen and (max-width: 767px) {
	.wsfd-about.et_pb_section {
		padding: 32px 24px 48px !important;
	}

	.wsfd-about .et_pb_image {
		max-width: 100% !important;
	}

	.wsfd-about .et_pb_image .et_pb_image_wrap,
	.wsfd-about .et_pb_image img {
		width: 100% !important;
		height: 224px !important;
		max-height: 224px !important;
		object-fit: cover !important;
	}
}

/* Arrows: 35px chips in side gutters outside text/image (Figma gap 48) */
.wsfd-hero .et-pb-arrow-prev,
.wsfd-hero .et-pb-arrow-next,
.wsfd-hero button.et-pb-arrow-prev,
.wsfd-hero button.et-pb-arrow-next {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: var(--wsfd-hero-arrow-size) !important;
	height: var(--wsfd-hero-arrow-size) !important;
	margin-top: 0 !important;
	padding: 0 !important;
	top: 50% !important;
	transform: translateY(-50%);
	background: rgba(244, 235, 224, 0.2) !important;
	border: 1.5px solid rgba(244, 235, 224, 0.5) !important;
	border-radius: 30px !important;
	color: #ffffff !important;
	font-size: 0 !important;
	line-height: 0 !important;
	text-indent: 0 !important;
	opacity: 1 !important;
	z-index: 5;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}

.wsfd-hero .et-pb-arrow-prev {
	left: var(--wsfd-hero-control-inset) !important;
}

.wsfd-hero .et-pb-arrow-next {
	right: var(--wsfd-hero-control-inset) !important;
}

.wsfd-hero .et-pb-arrow-prev:before,
.wsfd-hero .et-pb-arrow-next:before {
	color: #ffffff !important;
	font-size: 18px !important;
	line-height: 1 !important;
	opacity: 1 !important;
}

/* Figma 3064:2408 — hover Growth fill + Protection chevron (R8) */
.wsfd-hero .et-pb-arrow-prev:hover,
.wsfd-hero .et-pb-arrow-next:hover,
.wsfd-hero .et-pb-arrow-prev:focus-visible,
.wsfd-hero .et-pb-arrow-next:focus-visible {
	background: rgba(244, 235, 224, 0.75) !important;
	border-color: rgba(244, 235, 224, 0.5) !important;
	color: #371f1b !important;
}

.wsfd-hero .et-pb-arrow-prev:hover:before,
.wsfd-hero .et-pb-arrow-next:hover:before,
.wsfd-hero .et-pb-arrow-prev:focus-visible:before,
.wsfd-hero .et-pb-arrow-next:focus-visible:before {
	color: #371f1b !important;
}

/*
 * Progress bars (Figma Slide Counter 3064:2539 / Hero 3064:2371):
 * equal-width rounded bars, gap 32px, under copy column.
 * Active: bark #d2b99a @ 100%, 6px. Inactive: bark @ 25%, 6px.
 * Note: bark / bark@25% fail WCAG non-text contrast scanners (WAVE ~1.88–2.29:1);
 * Figma design intent wins over a11y contrast overrides here (0.1.186–187).
 */
.wsfd-hero .et-pb-controllers {
	display: flex !important;
	align-items: center;
	justify-content: flex-start;
	gap: 32px;
	position: absolute;
	/* Align bar bottom with framed image bottom (same as content pad-bottom). */
	bottom: var(--wsfd-hero-pad-bottom) !important;
	/* Under copy column — content rail left */
	left: var(--wsfd-hero-rail-inset) !important;
	right: auto !important;
	width: calc(
		var(--wsfd-hero-rail-width) - var(--wsfd-hero-content-gap) -
			var(--wsfd-hero-image-width)
	) !important;
	max-width: none !important;
	height: 6px !important;
	text-align: left;
	z-index: 4;
}

.wsfd-hero .et-pb-controllers::before {
	content: none !important;
	display: none !important;
}

.wsfd-hero .et-pb-controllers a,
.wsfd-hero .et-pb-controllers button.wsfd-hero__dot,
.wsfd-hero .et-pb-controllers button {
	position: relative;
	z-index: 1;
	flex: 1 1 0 !important;
	display: block !important;
	width: auto !important;
	min-width: 0 !important;
	height: 6px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	/* Inactive — bark @ 25% (Figma stroke-opacity 0.25). */
	background-color: rgba(210, 185, 154, 0.25) !important;
	border-radius: 999px !important;
	opacity: 1 !important;
	color: transparent !important;
	font-size: 0 !important;
	line-height: 0 !important;
	text-indent: -9999px;
	overflow: hidden;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	transition: background-color 0.2s ease;
}

.wsfd-hero .et-pb-controllers .et-pb-active-control,
.wsfd-hero .et-pb-controllers a.et-pb-active-control,
.wsfd-hero .et-pb-controllers a[aria-current='true'],
.wsfd-hero .et-pb-controllers button.wsfd-hero__dot.et-pb-active-control,
.wsfd-hero .et-pb-controllers button.wsfd-hero__dot[aria-current='true'],
.wsfd-hero .et-pb-controllers button.et-pb-active-control,
.wsfd-hero .et-pb-controllers button[aria-current='true'] {
	height: 6px !important;
	/* Active — bark full (Figma #D2B99A). */
	background-color: var(--wsfd-bark, #d2b99a) !important;
}

.wsfd-hero .et-pb-controllers a:focus-visible,
.wsfd-hero .et-pb-controllers button.wsfd-hero__dot:focus-visible,
.wsfd-hero .et-pb-controllers button:focus-visible {
	outline: 2px solid var(--wsfd-bark);
	outline-offset: 3px;
}

/*
 * Beat Divi et-cache with Figma Slide Counter tokens (not Ember/Protection).
 */
body .wsfd-hero .et_pb_slider .et-pb-controllers a:not(.et-pb-active-control),
body .wsfd-hero .et_pb_slider .et-pb-controllers button:not(.et-pb-active-control),
body .wsfd-hero .et_pb_slider_0 .et-pb-controllers a:not(.et-pb-active-control),
body .wsfd-hero .et_pb_slider_0 .et-pb-controllers button:not(.et-pb-active-control) {
	background-color: rgba(210, 185, 154, 0.25) !important;
	height: 6px !important;
}

body .wsfd-hero .et_pb_slider .et-pb-controllers a.et-pb-active-control,
body .wsfd-hero .et_pb_slider .et-pb-controllers a[aria-current='true'],
body .wsfd-hero .et_pb_slider .et-pb-controllers button.et-pb-active-control,
body .wsfd-hero .et_pb_slider .et-pb-controllers button[aria-current='true'],
body .wsfd-hero .et_pb_slider_0 .et-pb-controllers a.et-pb-active-control,
body .wsfd-hero .et_pb_slider_0 .et-pb-controllers a[aria-current='true'],
body .wsfd-hero .et_pb_slider_0 .et-pb-controllers button.et-pb-active-control,
body .wsfd-hero .et_pb_slider_0 .et-pb-controllers button[aria-current='true'] {
	background-color: #d2b99a !important;
	height: 6px !important;
}

/* ADA pause/play — Figma 3064:2514 / ADA Controls: under right arrow (35px chip, pb 48) */
.wsfd-hero .wsfd-hero__pause {
	position: absolute;
	right: var(--wsfd-hero-control-inset); /* match .et-pb-arrow-next */
	bottom: 48px;
	z-index: 6;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 35px;
	height: 35px;
	padding: 0;
	margin: 0;
	border: 1.5px solid rgba(244, 235, 224, 0.5);
	border-radius: 30px;
	background: rgba(244, 235, 224, 0.2);
	color: #ffffff;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}

.wsfd-hero .wsfd-hero__pause:focus-visible {
	outline: 2px solid var(--wsfd-bark);
	outline-offset: 3px;
}

/* Figma 3064:2428 — pause/play hover Growth @75% + Protection icon (R8) */
.wsfd-hero .wsfd-hero__pause:hover,
.wsfd-hero .wsfd-hero__pause:focus-visible {
	background: rgba(244, 235, 224, 0.75);
	border-color: rgba(244, 235, 224, 0.5);
	color: #371f1b;
}

.wsfd-hero .wsfd-hero__pause:hover .wsfd-hero__pause-icon--pause span,
.wsfd-hero .wsfd-hero__pause:focus-visible .wsfd-hero__pause-icon--pause span {
	background: #371f1b;
}

.wsfd-hero .wsfd-hero__pause:hover .wsfd-hero__pause-icon--play,
.wsfd-hero .wsfd-hero__pause:focus-visible .wsfd-hero__pause-icon--play {
	border-left-color: #371f1b;
}

.wsfd-hero .wsfd-hero__pause-icon--pause {
	display: inline-flex;
	align-items: stretch;
	justify-content: center;
	gap: 4px;
	width: 10px;
	height: 12px;
}

.wsfd-hero .wsfd-hero__pause-icon--pause span {
	display: block;
	width: 3px;
	height: 100%;
	border-radius: 1px;
	background: #ffffff;
}

.wsfd-hero .wsfd-hero__pause-icon--play {
	display: none;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 10px;
	border-color: transparent transparent transparent #ffffff;
	margin-left: 2px;
}

.wsfd-hero .wsfd-hero__pause.is-paused .wsfd-hero__pause-icon--pause {
	display: none;
}

.wsfd-hero .wsfd-hero__pause.is-paused .wsfd-hero__pause-icon--play {
	display: block;
}

/*
 * Do NOT force opacity/visibility/display on .et_pb_slide — Divi jQuery
 * animates those. :has() + !important caused CPU thrash / stuck transitions.
 */
.wsfd-hero .et_pb_slider.et_pb_preload,
.wsfd-hero .et_pb_preload {
	background-image: none !important;
}

.wsfd-hero .et_pb_slider.et_pb_preload:before,
.wsfd-hero .et_pb_preload:before {
	display: none !important;
	content: none !important;
}

/* Audience cards — Figma Frame 13 / Card (3071:2312)
   Card: padding 24, gap image→body 20, border 3px ember, radius 8
   Image: 160h, border 2px ember, radius 10
   Title: 24/30 bold sans; title→body 8; body→button 16
   Column is the card shell; neutralize Divi blurb card chrome.
   Keep Divi content width (80% / max 1080) — same rail as hero content. */
.wsfd-audience-cards.et_pb_section {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.wsfd-audience-cards .et_pb_row {
	align-items: stretch !important;
	display: flex !important;
	width: var(--wsfd-content-width) !important;
	max-width: var(--wsfd-content-max-width) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.wsfd-audience-cards .et_pb_column {
	background-color: var(--wsfd-protection) !important;
	border: 3px solid var(--wsfd-ember) !important;
	border-radius: 8px !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
	padding: 24px !important;
}

/* Divi module settings put card chrome on blurbs — strip it */
.wsfd-audience-cards .et_pb_blurb,
.wsfd-audience-cards .et_pb_blurb_0,
.wsfd-audience-cards .et_pb_blurb_1,
.wsfd-audience-cards .et_pb_blurb_2 {
	background-color: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	flex: 1 1 auto;
	gap: 0 !important;
	margin-bottom: 0 !important;
	min-height: 0 !important;
	overflow: visible !important;
	padding: 0 !important;
	row-gap: 0 !important;
	width: 100% !important;
}

.wsfd-audience-cards .et_pb_blurb .et_pb_blurb_content {
	/* Figma card gap image→body = 20 (Divi flex defaults to 30) */
	gap: 20px !important;
	max-width: 100% !important;
	row-gap: 20px !important;
	width: 100% !important;
}

.wsfd-audience-cards .et_pb_main_blurb_image {
	line-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 100% !important;
}

.wsfd-audience-cards .et_pb_blurb .et_pb_main_blurb_image .et_pb_image_wrap {
	border: 2px solid var(--wsfd-ember) !important;
	border-radius: 10px !important;
	box-sizing: border-box !important;
	display: block !important;
	height: 160px !important;
	overflow: hidden !important;
	width: 100% !important;
}

.wsfd-audience-cards .et_pb_blurb .et_pb_main_blurb_image img {
	border: none !important;
	border-radius: 0 !important;
	box-sizing: border-box !important;
	display: block !important;
	height: 100% !important;
	object-fit: cover !important;
	width: 100% !important;
}

.wsfd-audience-cards .et_pb_blurb_container {
	padding: 0 !important;
	text-align: left !important;
}

.wsfd-audience-cards .et_pb_module_header,
.wsfd-audience-cards .et_pb_module_header a {
	color: #ffffff !important;
	font-family: var(--wsfd-font-display) !important;
	font-size: 24px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	line-height: 30px !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
}

.wsfd-audience-cards .et_pb_blurb_description,
.wsfd-audience-cards .et_pb_blurb_description p {
	color: #ffffff !important;
	font-family: var(--wsfd-font-body) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.25 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Row 106 — Forestry card in-text links: bold + underline; underline off on hover. */
.wsfd-audience-cards .et_pb_blurb_description a {
	color: #ffffff !important;
	font-weight: 700 !important;
	text-decoration: underline !important;
	text-underline-offset: 2px;
}

.wsfd-audience-cards .et_pb_blurb_description a:hover,
.wsfd-audience-cards .et_pb_blurb_description a:focus-visible {
	text-decoration: none !important;
}

.wsfd-audience-cards .et_pb_button_module_wrapper,
.wsfd-audience-cards .et_pb_button_0_wrapper,
.wsfd-audience-cards .et_pb_button_1_wrapper,
.wsfd-audience-cards .et_pb_button_2_wrapper {
	margin: auto 0 0 0 !important;
	padding: 16px 0 0 !important;
	text-align: left !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	overflow: hidden;
}

/* Beat Divi module/preset critical CSS (et_pb_button_N + :after content "=").
   Keep label + arrow on one line; terracotta hover like hero "What We Do". */
body #page-container .et_pb_section.wsfd-audience-cards .et_pb_button,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button_0,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button_1,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button_2,
body #page-container .et_pb_section.wsfd-about .et_pb_button,
body #page-container .et_pb_section.wsfd-about a.et_pb_button,
body #page-container .et_pb_section.wsfd-about a.et_pb_button_3,
	body #page-container .et_pb_section.wsfd-about a.preset--module--divi-button--default,
body #page-container .et_pb_section.wsfd-audience-cards a.preset--module--divi-button--default {
	background-color: var(--wsfd-forest) !important;
	border: 2px solid var(--wsfd-leaf) !important;
	border-width: 2px !important;
	border-radius: 4px !important;
	color: #ffffff !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
	margin: 0 !important;
	padding: 6px 12px !important;
	display: inline-flex !important;
	align-items: center !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	white-space: normal !important;
	width: auto !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	text-decoration: none !important;
}

body #page-container .et_pb_section.wsfd-audience-cards .et_pb_button:hover,
body #page-container .et_pb_section.wsfd-audience-cards .et_pb_button:focus-visible,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button:hover,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button:focus-visible,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button_0:hover,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button_0:focus-visible,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button_1:hover,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button_1:focus-visible,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button_2:hover,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button_2:focus-visible,
body #page-container .et_pb_section.wsfd-about .et_pb_button:hover,
body #page-container .et_pb_section.wsfd-about .et_pb_button:focus-visible,
body #page-container .et_pb_section.wsfd-about a.et_pb_button:hover,
body #page-container .et_pb_section.wsfd-about a.et_pb_button:focus-visible,
body #page-container .et_pb_section.wsfd-about a.et_pb_button_3:hover,
body #page-container .et_pb_section.wsfd-about a.et_pb_button_3:focus-visible,
body #page-container .et_pb_section.wsfd-about a.preset--module--divi-button--default:hover,
body #page-container .et_pb_section.wsfd-about a.preset--module--divi-button--default:focus-visible,
body #page-container .et_pb_section.wsfd-audience-cards a.preset--module--divi-button--default:hover,
body #page-container .et_pb_section.wsfd-audience-cards a.preset--module--divi-button--default:focus-visible {
	background-color: #d1422a !important;
	border-color: #942c1b !important;
	color: #ffffff !important;
	padding: 6px 12px !important;
	display: inline-flex !important;
	align-items: center !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	gap: 8px !important;
	white-space: normal !important;
	width: auto !important;
	max-width: 100% !important;
}

body #page-container .et_pb_section.wsfd-audience-cards .et_pb_button::after,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button::after,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button_0::after,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button_1::after,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button_2::after,
body #page-container .et_pb_section.wsfd-about .et_pb_button::after,
body #page-container .et_pb_section.wsfd-about a.et_pb_button::after,
body #page-container .et_pb_section.wsfd-about a.et_pb_button_3::after,
body #page-container .et_pb_section.wsfd-about a.preset--module--divi-button--default::after,
body #page-container .et_pb_section.wsfd-audience-cards a.preset--module--divi-button--default::after {
	content: none !important;
	display: none !important;
}

body #page-container .et_pb_section.wsfd-audience-cards .et_pb_button:hover::after,
body #page-container .et_pb_section.wsfd-audience-cards .et_pb_button:focus-visible::after,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button:hover::after,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button:focus-visible::after,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button_0:hover::after,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button_0:focus-visible::after,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button_1:hover::after,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button_1:focus-visible::after,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button_2:hover::after,
body #page-container .et_pb_section.wsfd-audience-cards a.et_pb_button_2:focus-visible::after,
body #page-container .et_pb_section.wsfd-about .et_pb_button:hover::after,
body #page-container .et_pb_section.wsfd-about .et_pb_button:focus-visible::after,
body #page-container .et_pb_section.wsfd-about a.et_pb_button:hover::after,
body #page-container .et_pb_section.wsfd-about a.et_pb_button:focus-visible::after,
body #page-container .et_pb_section.wsfd-about a.et_pb_button_3:hover::after,
body #page-container .et_pb_section.wsfd-about a.et_pb_button_3:focus-visible::after,
body #page-container .et_pb_section.wsfd-about a.preset--module--divi-button--default:hover::after,
body #page-container .et_pb_section.wsfd-about a.preset--module--divi-button--default:focus-visible::after,
body #page-container .et_pb_section.wsfd-audience-cards a.preset--module--divi-button--default:hover::after,
body #page-container .et_pb_section.wsfd-audience-cards a.preset--module--divi-button--default:focus-visible::after {
	content: "" !important;
	display: inline-block !important;
	width: 16px !important;
	height: 16px !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	flex: 0 0 16px !important;
	align-self: center !important;
	/* Sheet R10: arrow icons dark (#54150A), not white. */
	color: #54150a !important;
	background-color: #54150a !important;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Ccircle cx='8' cy='8' r='7' stroke='%23000' stroke-width='1.5'/%3E%3Cpath d='M5.5 8h5M8 5.5L10.5 8 8 10.5' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Ccircle cx='8' cy='8' r='7' stroke='%23000' stroke-width='1.5'/%3E%3Cpath d='M5.5 8h5M8 5.5L10.5 8 8 10.5' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	-webkit-mask-size: contain !important;
	mask-size: contain !important;
	-webkit-mask-repeat: no-repeat !important;
	mask-repeat: no-repeat !important;
	-webkit-mask-position: center !important;
	mask-position: center !important;
	opacity: 1 !important;
	position: static !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	transform: none !important;
	line-height: 0 !important;
	font-size: 0 !important;
	vertical-align: middle !important;
}

/* Interactive Fire Map — simple ArcGIS Web AppBuilder iframe */
.wsfd-fire-map .wsfd-fire-map__embed,
.wsfd-fire-map .et_pb_code_inner {
	width: 100%;
	margin: 0;
	padding: 0;
}

.wsfd-fire-map .wsfd-fire-map__embed {
	position: relative;
	overflow: hidden;
	border-radius: 12px;
	background-color: #1a1512;
	min-height: 640px;
}

.wsfd-fire-map .wsfd-fire-map__iframe,
.wsfd-fire-map iframe {
	display: block;
	width: 100%;
	min-height: 640px;
	height: 640px;
	border: 0;
	border-radius: 12px;
	background-color: #1a1512;
}

/* R107 — Activate map removed; hide any cached markup. */
.wsfd-fire-map .wsfd-fire-map__activate,
.wsfd-fire-map .wsfd-fire-map__activate-label {
	display: none !important;
}

.wsfd-fire-map .wsfd-fire-map__embed.is-activated .wsfd-fire-map__activate,
.wsfd-fire-map .wsfd-fire-map__activate[hidden] {
	display: none !important;
}

/* Tablet fire map (Figma 3086:1921): shorter map frame ~382 */
@media only screen and (min-width: 768px) and (max-width: 980px) {
	.wsfd-fire-map.et_pb_section {
		padding: 32px 24px !important;
	}

	.wsfd-fire-map .wsfd-fire-map__iframe,
	.wsfd-fire-map iframe {
		min-height: 382px;
		height: 382px;
	}
}

@media only screen and (max-width: 767px) {
	.wsfd-fire-map.et_pb_section {
		padding: 24px !important;
		text-align: left !important;
	}

	.wsfd-fire-map .et_pb_row {
		width: 100% !important;
		max-width: 100% !important;
		padding: 0 !important;
	}

	.wsfd-fire-map .et_pb_heading,
	.wsfd-fire-map .et_pb_heading .et_pb_module_header,
	.wsfd-fire-map .et_pb_heading_container,
	.wsfd-fire-map .et_pb_column {
		text-align: left !important;
	}

	body #page-container .et_pb_section.wsfd-fire-map .et_pb_heading .et_pb_module_header {
		text-align: left !important;
		width: 100% !important;
	}

	.wsfd-fire-map .wsfd-fire-map__embed {
		min-height: 320px;
	}

	.wsfd-fire-map .wsfd-fire-map__iframe,
	.wsfd-fire-map iframe {
		min-height: 320px;
		height: 320px;
	}
}

/* Reduced motion: stop marquees (alerts / partners) */
@media (prefers-reduced-motion: reduce) {
	.wsfd-global-alert__track,
	.wsfd-partners__track {
		animation: none !important;
		transform: none !important;
	}
}

/* -------------------------------------------------------------------------
   Partners logo marquee (.wsfd-partners) — Figma 3072:497
   Data: ACF options repeater + [wsfd_partners_marquee] shortcode (PHP).
   Motion: CSS infinite track (pause on hover / focus-within).
   ------------------------------------------------------------------------- */
.wsfd-partners {
	/* Do not clip here — full-bleed marquee uses 100vw breakout. */
	overflow: visible;
}

.wsfd-partners .wsfd-partners__intro-row,
.wsfd-partners .et_pb_row:first-child {
	max-width: 1080px;
	margin-left: auto !important;
	margin-right: auto !important;
}

.wsfd-partners .et_pb_heading .et_pb_module_header {
	font-family: var(--wsfd-font-display);
	font-weight: 700;
	color: var(--wsfd-protection) !important;
}

/* Kill legacy Theme Options rule that beige-boxed ALL .wsfd-partners .et_pb_text */
.wsfd-partners .wsfd-partners__intro-row .et_pb_text,
.wsfd-partners .et_pb_row:first-child .et_pb_text {
	background-color: transparent !important;
	border-radius: 0 !important;
	min-height: 0 !important;
}

.wsfd-partners .wsfd-partners__intro-row .et_pb_text_inner p {
	font-family: var(--wsfd-font-body);
	font-weight: 700;
	color: var(--wsfd-conserve);
	min-height: 0;
}

.wsfd-partners .wsfd-partners__marquee-row,
.wsfd-partners .wsfd-partners__marquee-row .et_pb_column,
.wsfd-partners .wsfd-partners__marquee-code,
.wsfd-partners .wsfd-partners__marquee-code .et_pb_code_inner,
.wsfd-partners .wsfd-partners__marquee-code .et_pb_text_inner {
	width: 100% !important;
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Shortcode Text module: no intro beige box / stray paragraph spacing */
.wsfd-partners .wsfd-partners__marquee-code.et_pb_text,
.wsfd-partners .wsfd-partners__marquee-row .et_pb_text {
	background-color: transparent !important;
	border-radius: 0 !important;
	min-height: 0 !important;
}

.wsfd-partners .wsfd-partners__marquee-code .et_pb_text_inner > p:only-child {
	margin: 0;
}

.wsfd-partners__logo-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

/* Full-bleed strip (edge-to-edge), independent of alert marquee */
.wsfd-partners__marquee {
	box-sizing: border-box;
	width: 100vw;
	max-width: 100vw;
	position: relative;
	left: 50%;
	right: 50%;
	margin-left: -50vw;
	margin-right: -50vw;
	overflow: hidden;
	padding: 0;
}

.wsfd-partners.is-marquee-ready .et_pb_row_6col,
.wsfd-partners.is-marquee-ready .wsfd-partners__source-row {
	display: none !important;
}

.wsfd-partners__track {
	display: flex;
	width: max-content;
	align-items: center;
	animation: wsfd-partners-marquee 40s linear infinite;
	will-change: transform;
}

.wsfd-partners__marquee:hover .wsfd-partners__track,
.wsfd-partners__marquee:focus-within .wsfd-partners__track {
	animation-play-state: paused;
}

/* Trailing padding equals gap so -50% translate loops seamlessly across two sets. */
.wsfd-partners__set {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 64px;
	padding-right: 64px;
}

.wsfd-partners__logo {
	box-sizing: border-box;
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 200px;
	height: 100px;
	border-radius: 10px;
	background-color: var(--wsfd-growth);
	overflow: hidden;
}

.wsfd-partners__logo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: 12px 16px;
}

@keyframes wsfd-partners-marquee {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.wsfd-partners__track {
		animation: none;
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
		max-width: var(--wsfd-content-max-width, calc(100% - 2 * var(--wsfd-page-gutter, 64px)));
		margin: 0 auto;
		padding: 0 24px;
		gap: 24px 32px;
	}

	.wsfd-partners__set[aria-hidden='true'] {
		display: none;
	}

	.wsfd-partners__marquee {
		width: 100%;
		max-width: 100%;
		left: auto;
		right: auto;
		margin-left: 0;
		margin-right: 0;
	}
}

@media only screen and (max-width: 980px) {
	.wsfd-partners__set {
		gap: 32px;
		padding-right: 32px;
	}

	.wsfd-partners__logo {
		width: 160px;
		height: 80px;
		border-radius: 8px;
	}
}

@media only screen and (max-width: 1200px) {
	.wsfd-hero {
		--wsfd-hero-image-width: 420px;
		--wsfd-hero-content-gap: 40px;
		--wsfd-hero-image-height: 347px;
		--wsfd-hero-pad-bottom: 64px;
	}

	.wsfd-hero .et_pb_slider_container_inner {
		column-gap: 40px;
		padding: 88px 0 var(--wsfd-hero-pad-bottom);
		min-height: calc(
			var(--wsfd-hero-image-height) + 88px + var(--wsfd-hero-pad-bottom)
		);
	}

	.wsfd-hero .et_pb_slide_image img {
		height: var(--wsfd-hero-image-height) !important;
	}
}

/* Mirror hero.css tablet/phone tokens (hero.css wins via late print; keep in sync) */
@media only screen and (max-width: 980px) {
	:root {
		--wsfd-page-gutter: 24px;
		--wsfd-content-width: calc(100% - 48px);
		--wsfd-content-max-width: 1080px;
		--wsfd-content-rail-width: min(var(--wsfd-content-width), var(--wsfd-content-max-width));
		--wsfd-content-rail-inset: max(0px, calc((100% - var(--wsfd-content-rail-width)) / 2));
		--wsfd-hero-content-inset: var(--wsfd-content-rail-inset);
		--wsfd-hero-content-width: var(--wsfd-content-rail-width);
	}

	.wsfd-hero {
		--wsfd-hero-image-width: 100%;
		--wsfd-hero-image-height: 250px;
		--wsfd-hero-content-gap: 24px;
		--wsfd-hero-mobile-pb: 24px;
		--wsfd-hero-mobile-ctrl-gap: 8px;
		--wsfd-hero-mobile-content-gap: 24px;
		--wsfd-hero-mobile-pad-bottom: calc(
			var(--wsfd-hero-mobile-content-gap) + 6px + var(--wsfd-hero-mobile-ctrl-gap) +
				var(--wsfd-hero-arrow-size, 35px) + var(--wsfd-hero-mobile-pb)
		);
		--wsfd-hero-ctrl-cluster-width: calc(
			(3 * var(--wsfd-hero-arrow-size, 35px)) + 16px
		);
		--wsfd-hero-ctrl-cluster-start: calc(
			var(--wsfd-hero-rail-inset, var(--wsfd-content-rail-inset)) +
				(
					var(--wsfd-hero-rail-width, var(--wsfd-content-rail-width)) -
						var(--wsfd-hero-ctrl-cluster-width)
				) / 2
		);
	}

	.wsfd-audience-cards {
		--wsfd-content-width: calc(100% - 48px);
	}

	.wsfd-audience-cards.et_pb_section {
		padding-top: 32px !important;
		padding-bottom: 32px !important;
	}

	.wsfd-audience-cards .et_pb_row {
		flex-wrap: wrap !important;
		gap: 24px !important;
		row-gap: 24px !important;
	}

	.wsfd-audience-cards .et_pb_row > .et_pb_column {
		flex: 1 1 calc(50% - 12px) !important;
		width: calc(50% - 12px) !important;
		max-width: calc(50% - 12px) !important;
		margin: 0 !important;
	}

	.wsfd-hero .et_pb_row,
	.wsfd-hero .et_pb_row_0 {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	.wsfd-hero .et_pb_slider_container_inner {
		display: flex !important;
		flex-direction: column;
		align-items: stretch;
		grid-template-columns: none;
		gap: 24px;
		padding: 64px 0 var(--wsfd-hero-mobile-pad-bottom, 97px);
		min-height: 0;
	}

	.wsfd-hero .et_pb_slide_with_image .et_pb_slide_description {
		min-height: 0 !important;
	}

	.wsfd-hero .et_pb_slide_description .et_pb_button_wrapper {
		margin-bottom: 0 !important;
	}

	.wsfd-hero .et_pb_slide_description::after {
		display: none;
	}

	/* Figma Heading 1 - Mobile: 46 / 48 / tracking 0.46px */
	.wsfd-hero .et_pb_slide_title {
		font-size: 46px !important;
		line-height: 48px !important;
		letter-spacing: 0.46px !important;
		max-width: none;
	}

	.wsfd-hero .et_pb_slide_content,
	.wsfd-hero .et_pb_slide_content p {
		font-size: 20px !important;
		line-height: 24px !important;
	}

	.wsfd-hero .et_pb_slide_image {
		position: relative !important;
		left: auto !important;
		right: auto !important;
		margin: 0 !important;
		grid-column: auto;
		grid-row: auto;
		width: 100% !important;
		min-width: 0 !important;
		max-width: none !important;
	}

	.wsfd-hero .et_pb_slide_image img {
		height: 250px !important;
		aspect-ratio: auto;
	}

	.wsfd-hero .et_pb_slide_with_image .et_pb_slide_description {
		float: none !important;
		grid-column: auto;
		grid-row: auto;
		width: 100%;
	}

	.wsfd-hero .et-pb-controllers {
		left: var(--wsfd-hero-rail-inset) !important;
		width: var(--wsfd-hero-rail-width) !important;
		bottom: calc(
			var(--wsfd-hero-mobile-pb, 24px) + var(--wsfd-hero-arrow-size, 35px) +
				var(--wsfd-hero-mobile-ctrl-gap, 8px)
		) !important;
	}

	/* Mobile: left arrow | pause | right arrow under bars (centered).
	 * Beat Divi CPT `#et-boc … .et-pb-arrow-*{top:50%}`. */
	body.et-db #et-boc .et-l .wsfd-hero .et-pb-arrow-prev,
	body.et-db #et-boc .et-l .wsfd-hero .et-pb-arrow-next,
	body.et-db #et-boc .et-l .wsfd-hero .et-pb-arrow-prev.wsfd-hero__arrow,
	body.et-db #et-boc .et-l .wsfd-hero .et-pb-arrow-next.wsfd-hero__arrow,
	.wsfd-hero .et-pb-arrow-prev,
	.wsfd-hero .et-pb-arrow-next {
		display: inline-flex !important;
		visibility: visible !important;
		position: absolute !important;
		top: auto !important;
		bottom: var(--wsfd-hero-mobile-pb, 24px) !important;
		transform: none !important;
		margin: 0 !important;
		margin-top: 0 !important;
		opacity: 1 !important;
		background: rgba(244, 235, 224, 0.35) !important;
		border-color: rgba(244, 235, 224, 0.7) !important;
		z-index: 8;
	}

	body.et-db #et-boc .et-l .wsfd-hero .et-pb-arrow-prev,
	body.et-db #et-boc .et-l .wsfd-hero .et-pb-arrow-prev.wsfd-hero__arrow,
	.wsfd-hero .et-pb-arrow-prev {
		left: var(--wsfd-hero-ctrl-cluster-start) !important;
		right: auto !important;
	}

	body.et-db #et-boc .et-l .wsfd-hero .et-pb-arrow-next,
	body.et-db #et-boc .et-l .wsfd-hero .et-pb-arrow-next.wsfd-hero__arrow,
	.wsfd-hero .et-pb-arrow-next {
		left: calc(
			var(--wsfd-hero-ctrl-cluster-start) + (2 * var(--wsfd-hero-arrow-size, 35px)) + 16px
		) !important;
		right: auto !important;
	}

	body.et-db #et-boc .et-l .wsfd-hero .wsfd-hero__pause,
	.wsfd-hero .wsfd-hero__pause {
		left: calc(
			var(--wsfd-hero-ctrl-cluster-start) + var(--wsfd-hero-arrow-size, 35px) + 8px
		) !important;
		right: auto !important;
		bottom: var(--wsfd-hero-mobile-pb, 24px) !important;
		visibility: visible !important;
		opacity: 1 !important;
		background: rgba(244, 235, 224, 0.35) !important;
		border-color: rgba(244, 235, 224, 0.7) !important;
		z-index: 8;
	}

	.wsfd-partners .wsfd-partners__intro-row,
	.wsfd-partners .et_pb_row:first-child {
		/* R134 — match other home section horizontal padding on mobile. */
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.wsfd-partners .wsfd-partners__intro-row .et_pb_column,
	.wsfd-partners .et_pb_row:first-child .et_pb_column {
		padding-left: var(--wsfd-page-gutter, 24px) !important;
		padding-right: var(--wsfd-page-gutter, 24px) !important;
	}
}

@media only screen and (max-width: 767px) {
	:root {
		--wsfd-page-gutter: 24px;
		--wsfd-content-width: calc(100% - 48px);
		--wsfd-content-max-width: 1080px;
		--wsfd-content-rail-width: min(var(--wsfd-content-width), var(--wsfd-content-max-width));
		--wsfd-content-rail-inset: max(0px, calc((100% - var(--wsfd-content-rail-width)) / 2));
		--wsfd-hero-content-inset: var(--wsfd-content-rail-inset);
		--wsfd-hero-content-width: var(--wsfd-content-rail-width);
	}

	.wsfd-audience-cards .et_pb_row > .et_pb_column {
		flex: 1 1 100% !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.wsfd-audience-cards .et_pb_module_header,
	.wsfd-audience-cards .et_pb_module_header a {
		font-size: 22px !important;
		line-height: 26px !important;
	}

	.wsfd-partners .et_pb_heading .et_pb_module_header {
		font-size: 32px !important;
		line-height: 40px !important;
		text-align: left !important;
	}

	.wsfd-partners .wsfd-partners__intro-row .et_pb_text,
	.wsfd-partners .wsfd-partners__intro-row .et_pb_text_inner,
	.wsfd-partners .wsfd-partners__intro-row .et_pb_text_inner p,
	.wsfd-partners .et_pb_row:first-child .et_pb_heading,
	.wsfd-partners .et_pb_row:first-child .et_pb_text {
		text-align: left !important;
	}
}

/*
 * Unified mobile photo-hero H1 (P&G / News / Contact / pages / Resources).
 * Must beat Divi desktop triple-class selectors such as
 * `.wsfd-pg-hero .et_pb_heading_container .et_pb_module_header` (0,3,0).
 */
@media only screen and (max-width: 834px) {
	body .wsfd-page-hero__title,
	body .wsfd-pg-hero__title,
	body .wsfd-pg-hero h1.et_pb_module_header,
	body .wsfd-pg-hero .et_pb_heading_container h1,
	body .wsfd-pg-hero .et_pb_heading_container h1.et_pb_module_header,
	body .wsfd-pg-hero .et_pb_heading_container .et_pb_module_header,
	body .wsfd-pg-hero .wsfd-pg-hero__title h1,
	body .wsfd-pg-hero .wsfd-pg-hero__title h1.et_pb_module_header,
	body .wsfd-pg-hero .wsfd-pg-hero__title .et_pb_module_header,
	body .wsfd-news-hero h1.et_pb_module_header,
	body .wsfd-news-hero .et_pb_heading_container h1,
	body .wsfd-news-hero .et_pb_heading_container h1.et_pb_module_header,
	body .wsfd-news-hero .et_pb_heading_container .et_pb_module_header,
	body .wsfd-news-hero .wsfd-news-hero__title h1.et_pb_module_header,
	body .wsfd-news-hero .wsfd-news-hero__title .et_pb_module_header,
	body .wsfd-contact-hero__title,
	body .wsfd-contact-hero h1.et_pb_module_header,
	body .wsfd-contact-hero .et_pb_heading_container h1,
	body .wsfd-contact-hero .et_pb_heading_container h1.et_pb_module_header,
	body .wsfd-contact-hero .et_pb_heading_container .et_pb_module_header,
	body .wsfd-contact-hero .wsfd-contact-hero__title h1.et_pb_module_header,
	body .wsfd-contact-hero .wsfd-contact-hero__title .et_pb_module_header,
	body .wsfd-res-hero h1.et_pb_module_header,
	body .wsfd-res-hero .et_pb_heading_container h1,
	body .wsfd-res-hero .et_pb_heading_container h1.et_pb_module_header,
	body .wsfd-res-hero .et_pb_heading_container .et_pb_module_header,
	body .wsfd-res-hero .wsfd-pg-hero__title h1.et_pb_module_header,
	body .wsfd-res-hero .wsfd-pg-hero__title .et_pb_module_header,
	body h1.wsfd-pg-hero__title,
	body h1.wsfd-contact-hero__title {
		font-size: var(--wsfd-photo-hero-h1-size-sm, 38px) !important;
		line-height: var(--wsfd-photo-hero-h1-lh-sm, 40px) !important;
		font-weight: 700 !important;
		letter-spacing: 0 !important;
	}
}

/*
 * Divi default `@media (max-width:980px){.et_pb_section{padding:50px 0}}`
 * and `--section-padding` inflate interior page / PG mobile padding with no
 * editor control. Keep heroes untouched; tighten Post Content sections/rows.
 */
@media only screen and (max-width: 980px) {
	body.wsfd-template-child .wsfd-page-body .et_pb_post_content > .et-l--post > .et_builder_inner_content > .et_pb_section,
	body.wsfd-template-parent .wsfd-page-body .et_pb_post_content > .et-l--post > .et_builder_inner_content > .et_pb_section,
	body.wsfd-template-child .wsfd-page-body .et_pb_fullwidth_post_content > .et-l--post > .et_builder_inner_content > .et_pb_section,
	body.wsfd-template-parent .wsfd-page-body .et_pb_fullwidth_post_content > .et-l--post > .et_builder_inner_content > .et_pb_section,
	body.wsfd-template-child .wsfd-page-body .et_pb_post_content > .et_builder_inner_content > .et_pb_section,
	body.wsfd-template-parent .wsfd-page-body .et_pb_post_content > .et_builder_inner_content > .et_pb_section,
	body.single-program-grant .wsfd-pg-single-body .et_pb_post_content > .et-l--post > .et_builder_inner_content > .et_pb_section,
	body.single-program-grant .wsfd-pg-single-body .et_pb_fullwidth_post_content > .et-l--post > .et_builder_inner_content > .et_pb_section,
	body.single-program-grant .wsfd-pg-single-body .et_pb_post_content > .et_builder_inner_content > .et_pb_section,
	body.single-program-grant .wsfd-pg-single-body .et_pb_fullwidth_post_content > .et_builder_inner_content > .et_pb_section {
		--section-padding: 0;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	body.wsfd-template-child .wsfd-page-body .et_pb_post_content .et_pb_row,
	body.wsfd-template-parent .wsfd-page-body .et_pb_post_content .et_pb_row,
	body.wsfd-template-child .wsfd-page-body .et_pb_fullwidth_post_content .et_pb_row,
	body.wsfd-template-parent .wsfd-page-body .et_pb_fullwidth_post_content .et_pb_row,
	body.single-program-grant .wsfd-pg-single-body .et_pb_post_content .et_pb_row,
	body.single-program-grant .wsfd-pg-single-body .et_pb_fullwidth_post_content .et_pb_row {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
}
