/**
 * Tropical Plant Rentals – custom styles
 *
 * Add all theme customisations here. This file is loaded after the parent
 * theme (Spectra One) so these rules override theme defaults.
 */

/* Hamilton Script – local font (not on Google Fonts) */
@font-face {
	font-family: "Hamilton Script";
	src: url("../fonts/Hamilton-Script.otf") format("opentype");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

/* Hamilton Script fallback – metric overrides to reduce CLS before font loads */
@font-face {
	font-family: "Hamilton Script fallback";
	src: local("Arial");
	size-adjust: 115%;
	ascent-override: 90%;
	descent-override: 22%;
}

/* Hamilton Script: add class .tpr-script-font to any text element to use this font.
 * Font size and line height inherit from editor typography settings. */
.tpr-script-font,
.tpr-script-font * {
	font-family: var(--typography-font-family-font-decorative, "Hamilton Script"), "Hamilton Script fallback", cursive !important;
	font-style: normal !important;
	font-weight: 400 !important;
}

/* Fix UAGB word-break: the plugin sets word-break:break-word on headings &
   paragraphs which causes mid-word line breaks (e.g. "T" / "ropical").
   overflow-wrap:break-word is the correct long-word fallback. */
.wp-block-uagb-advanced-heading h1,
.wp-block-uagb-advanced-heading h2,
.wp-block-uagb-advanced-heading h3,
.wp-block-uagb-advanced-heading h4,
.wp-block-uagb-advanced-heading h5,
.wp-block-uagb-advanced-heading h6,
.wp-block-uagb-advanced-heading p,
.wp-block-uagb-advanced-heading div,
.wp-block-uagb-container p {
	word-break: normal;
	overflow-wrap: break-word;
}

/*
 * Spectra Container: `row-gap` / `column-gap` only work on flex or grid containers. Spectra’s
 * generated CSS often puts gap + flex-direction on `.uagb-container-inner-blocks-wrap` (e.g.
 * alignfull + inner alignwide) but omits `display`, so spacing never shows—especially nested
 * containers. Establish the formatting context on the wrap and keep a definite width for % gaps.
 */
.wp-block-uagb-container.uagb-layout-flex > .uagb-container-inner-blocks-wrap,
.uagb-is-root-container.alignfull.wp-block-uagb-container > .uagb-container-inner-blocks-wrap {
	display: flex;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	min-width: 0;
}

.wp-block-uagb-container.uagb-layout-grid > .uagb-container-inner-blocks-wrap {
	display: grid;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	min-width: 0;
}

/* When grid CSS targets the outer block (nested containers), it still needs a grid FC. */
.wp-block-uagb-container.uagb-layout-grid {
	display: grid;
}


/* Font Awesome 6 classic regular arrows (Pro kit or compatible webfont) */
:root {
	--tpr-fa-classic-regular: "Font Awesome 6 Pro", "Font Awesome 6 Free", "Font Awesome 5 Free", "FontAwesome";
}

/* UAGB Counter block suffix (e.g. "+") – Hamilton Script, 44px */
.uagb-counter-block-suffix {
	font-family: var(--typography-font-family-font-decorative, "Hamilton Script"), "Hamilton Script fallback", cursive !important;
	font-size: 44px !important;
	font-style: normal !important;
	font-weight: 400 !important;
}

/* UAGB Counter: number div fits content (no fixed height), tight line-height, small gap to title */
.wp-block-uagb-counter .wp-block-uagb-counter__number {
	height: auto !important;
	min-height: 0 !important;
	line-height: 1 !important;
	margin-bottom: 0.25rem !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}
.wp-block-uagb-counter .wp-block-uagb-counter__title {
	margin-top: 0 !important;
}

/* --------------------------------------------------------------------------
 * Whole card shares the button URL:
 *
 * 1. Add class `tpr-card-link-delegate-host` on the Spectra/UAGB container that wraps
 *    BOTH columns (image/background + copy/button) for that one card row.
 * 2. On the image / background column only, add either `tpr-card-link-button` or the
 *    alias `tpr-card-link-bg` (same behaviour).
 *
 * JS resolves the URL from any usable <a> inside the delegate host and listens on
 * that host so clicks on the image column or the text column navigate like the CTA.
 *
 * If the CTA is not an <a> (e.g. core Button as <button>), set attribute
 * data-tpr-card-href="/your/path" on the image column element that carries the marker
 * class. To force which in-card link wins when there are several, add class
 * tpr-card-link-source on the CTA <a>.
 * -------------------------------------------------------------------------- */
.tpr-card-link-button,
.tpr-card-link-bg {
	cursor: pointer;
}

/* Parent that receives delegated whole-card clicks (split bg column + CTA sibling). */
.tpr-card-link-button-delegated-host {
	cursor: pointer;
}

/* Location loop cards: same capture-phase behaviour as .tpr-card-link-button; URL from
 * UAGB Advanced Heading link inside the card (see tpr-card-link-locations.js). */
.tpr-card-link-locations {
	cursor: pointer;
}

/* UAGB Info Box: icon hover colour when hovering the row (not only the thin CTA overlay).
 * --tpr-ifb-icon-hover is set from block iconHover / iconColor in functions.php.
 * "Link to whole box" uses an overlay <a>; it captures hover so :hover on the content-wrap
 * does not match. Use :has(.uagb-infbox__link-to-all:hover) (and focus) like Spectra's ~ rules.
 * Stacked icon "circle" is .uagb-iconbox-icon-wrap background, not svg fill — set that too.
 * NOTE: wp-block-uagb-info-box and uagb-infobox__content-wrap are on the SAME element — use a
 * compound selector (.wp-block-uagb-info-box.uagb-infobox__content-wrap), not a descendant chain. */
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:where(:hover, :focus-within) .uagb-ifb-icon-wrap svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:hover) .uagb-ifb-icon-wrap svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:focus-visible) .uagb-ifb-icon-wrap svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:hover) .uagb-ifb-icon-wrap svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:focus-visible) .uagb-ifb-icon-wrap svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:where(:hover, :focus-within) .uagb-ifb-left-title-image svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:hover) .uagb-ifb-left-title-image svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:focus-visible) .uagb-ifb-left-title-image svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:hover) .uagb-ifb-left-title-image svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:focus-visible) .uagb-ifb-left-title-image svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:where(:hover, :focus-within) .uagb-ifb-right-title-image svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:hover) .uagb-ifb-right-title-image svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:focus-visible) .uagb-ifb-right-title-image svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:hover) .uagb-ifb-right-title-image svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:focus-visible) .uagb-ifb-right-title-image svg {
	fill: var(--tpr-ifb-icon-hover, #D2FC51) !important;
	color: var(--tpr-ifb-icon-hover, #D2FC51) !important;
}

/* Inner shapes often set fill via SVG attributes; override disk (circle) for hover without forcing every path. */
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:where(:hover, :focus-within) .uagb-ifb-icon-wrap svg circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:hover) .uagb-ifb-icon-wrap svg circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:focus-visible) .uagb-ifb-icon-wrap svg circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:hover) .uagb-ifb-icon-wrap svg circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:focus-visible) .uagb-ifb-icon-wrap svg circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:where(:hover, :focus-within) .uagb-ifb-left-title-image svg circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:hover) .uagb-ifb-left-title-image svg circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:focus-visible) .uagb-ifb-left-title-image svg circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:hover) .uagb-ifb-left-title-image svg circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:focus-visible) .uagb-ifb-left-title-image svg circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:where(:hover, :focus-within) .uagb-ifb-right-title-image svg circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:hover) .uagb-ifb-right-title-image svg circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:focus-visible) .uagb-ifb-right-title-image svg circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:hover) .uagb-ifb-right-title-image svg circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:focus-visible) .uagb-ifb-right-title-image svg circle {
	fill: var(--tpr-ifb-icon-hover, #D2FC51) !important;
}

/* Stacked / framed icon shape: circle background or border (Spectra uses :hover on the wrap;
 * overlay link blocks that). Match when row or whole-box link is hovered. */
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:where(:hover, :focus-within) .uagb-iconbox-icon-wrap.uagb-infobox-shape-circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:hover) .uagb-iconbox-icon-wrap.uagb-infobox-shape-circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:focus-visible) .uagb-iconbox-icon-wrap.uagb-infobox-shape-circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:hover) .uagb-iconbox-icon-wrap.uagb-infobox-shape-circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:focus-visible) .uagb-iconbox-icon-wrap.uagb-infobox-shape-circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:where(:hover, :focus-within) .uagb-iconbox-icon-wrap.uagb-infobox-shape-squre,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:hover) .uagb-iconbox-icon-wrap.uagb-infobox-shape-squre,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:focus-visible) .uagb-iconbox-icon-wrap.uagb-infobox-shape-squre,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:hover) .uagb-iconbox-icon-wrap.uagb-infobox-shape-squre,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:focus-visible) .uagb-iconbox-icon-wrap.uagb-infobox-shape-squre {
	background-color: var(--tpr-ifb-icon-hover, #D2FC51) !important;
	border-color: var(--tpr-ifb-icon-hover, #D2FC51) !important;
}

/* Lime-disk infoboxes: class tpr-infobox-lime-disk is added in functions.php (next-project,
 * projects-archive whole-box link, or Additional CSS classes tpr-infobox-lime-disk-hover /
 * tpr-back-to-projects-link). Stacked circle = .uagb-iconbox-icon-wrap background; keep glyph #0f2902 on lime. */
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:where(:hover, :focus-within) .uagb-iconbox-icon-wrap.uagb-infobox-shape-circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:hover) .uagb-iconbox-icon-wrap.uagb-infobox-shape-circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:focus-visible) .uagb-iconbox-icon-wrap.uagb-infobox-shape-circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:hover) .uagb-iconbox-icon-wrap.uagb-infobox-shape-circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:focus-visible) .uagb-iconbox-icon-wrap.uagb-infobox-shape-circle,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:where(:hover, :focus-within) .uagb-iconbox-icon-wrap.uagb-infobox-shape-squre,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:hover) .uagb-iconbox-icon-wrap.uagb-infobox-shape-squre,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:focus-visible) .uagb-iconbox-icon-wrap.uagb-infobox-shape-squre,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:hover) .uagb-iconbox-icon-wrap.uagb-infobox-shape-squre,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:focus-visible) .uagb-iconbox-icon-wrap.uagb-infobox-shape-squre {
	background-color: #D2FC51 !important;
	border-color: #D2FC51 !important;
}

.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:where(:hover, :focus-within) .uagb-ifb-icon-wrap svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:hover) .uagb-ifb-icon-wrap svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:focus-visible) .uagb-ifb-icon-wrap svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:hover) .uagb-ifb-icon-wrap svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:focus-visible) .uagb-ifb-icon-wrap svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:where(:hover, :focus-within) .uagb-ifb-left-title-image svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:hover) .uagb-ifb-left-title-image svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:focus-visible) .uagb-ifb-left-title-image svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:hover) .uagb-ifb-left-title-image svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:focus-visible) .uagb-ifb-left-title-image svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:where(:hover, :focus-within) .uagb-ifb-right-title-image svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:hover) .uagb-ifb-right-title-image svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:focus-visible) .uagb-ifb-right-title-image svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:hover) .uagb-ifb-right-title-image svg,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:focus-visible) .uagb-ifb-right-title-image svg {
	fill: #0f2902 !important;
	color: #0f2902 !important;
}

.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:where(:hover, :focus-within) .uagb-ifb-icon-wrap svg path,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:hover) .uagb-ifb-icon-wrap svg path,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:focus-visible) .uagb-ifb-icon-wrap svg path,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:hover) .uagb-ifb-icon-wrap svg path,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:focus-visible) .uagb-ifb-icon-wrap svg path,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:where(:hover, :focus-within) .uagb-ifb-left-title-image svg path,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:hover) .uagb-ifb-left-title-image svg path,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:focus-visible) .uagb-ifb-left-title-image svg path,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:hover) .uagb-ifb-left-title-image svg path,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:focus-visible) .uagb-ifb-left-title-image svg path,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:where(:hover, :focus-within) .uagb-ifb-right-title-image svg path,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:hover) .uagb-ifb-right-title-image svg path,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infobox-link-wrap:focus-visible) .uagb-ifb-right-title-image svg path,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:hover) .uagb-ifb-right-title-image svg path,
.wp-block-uagb-info-box.uagb-infobox__content-wrap.tpr-infobox-lime-disk.tpr-uagb-infobox-icon-hover-fix:has(.uagb-infbox__link-to-all:focus-visible) .uagb-ifb-right-title-image svg path {
	fill: #0f2902 !important;
}

/* Stat outline h3: visually hidden, only for document outline / SEO */
.tpr-stat-outline-h3 {
	position: absolute !important;
	left: -10000px !important;
	top: 0 !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
	pointer-events: none !important;
}

/*
 * Stat boxes row: UAGB counter “title” + companion caption (.tpr-stat-text) — fixed px size at
 * every viewport so Spectra responsive typography does not scale them apart.
 */
#stat-boxes .wp-block-uagb-counter .wp-block-uagb-counter__title,
#stat-boxes p.tpr-stat-text,
#stat-boxes-v2 .wp-block-uagb-counter .wp-block-uagb-counter__title,
#stat-boxes-v2 p.tpr-stat-text {
	font-size: 15px !important;
	line-height: 1.35 !important;
}

/*
 * Stat boxes row: equal column height; top-stack content (no flex-end — that misaligned icons vs numbers).
 * Do not override UAGB counter number font — block / theme styles own typography.
 */
#stat-boxes .uagb-layout-grid.uagb-is-root-container > .uagb-container-inner-blocks-wrap,
#stat-boxes-v2 .uagb-layout-grid.uagb-is-root-container > .uagb-container-inner-blocks-wrap {
	align-items: stretch !important;
}
#stat-boxes .uagb-layout-grid.uagb-is-root-container > .uagb-container-inner-blocks-wrap > .wp-block-uagb-container,
#stat-boxes-v2 .uagb-layout-grid.uagb-is-root-container > .uagb-container-inner-blocks-wrap > .wp-block-uagb-container {
	flex: 1 1 0 !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	align-items: center !important;
	min-width: 0 !important;
	min-height: 0 !important;
	align-self: stretch !important;
}
#stat-boxes .uagb-layout-grid.uagb-is-root-container > .uagb-container-inner-blocks-wrap > .wp-block-uagb-container > .uagb-container-inner-blocks-wrap,
#stat-boxes .uagb-layout-grid.uagb-is-root-container > .uagb-container-inner-blocks-wrap > .wp-block-uagb-container > .uagb-container-inner-block,
#stat-boxes-v2 .uagb-layout-grid.uagb-is-root-container > .uagb-container-inner-blocks-wrap > .wp-block-uagb-container > .uagb-container-inner-blocks-wrap,
#stat-boxes-v2 .uagb-layout-grid.uagb-is-root-container > .uagb-container-inner-blocks-wrap > .wp-block-uagb-container > .uagb-container-inner-block {
	flex: 1 1 auto !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	align-items: center !important;
	min-height: 0 !important;
	width: 100% !important;
	text-align: center;
}
/*
 * Nested Spectra containers still use justify-content:center from block CSS; in equal-height
 * stat columns that vertically centers a lone .tpr-stat-text vs counter+title stacks in
 * sibling cells — align caption stacks from the top like counter columns.
 */
#stat-boxes .uagb-layout-grid.uagb-is-root-container .wp-block-uagb-container .wp-block-uagb-container,
#stat-boxes-v2 .uagb-layout-grid.uagb-is-root-container .wp-block-uagb-container .wp-block-uagb-container {
	justify-content: flex-start !important;
}
/* Caption-only grid cells (no UAGB counter): drop stacked top padding on inner Spectra
 * wrappers only — keep the grid cell’s own padding in sync with counter columns */
#stat-boxes .uagb-layout-grid.uagb-is-root-container > .uagb-container-inner-blocks-wrap > .wp-block-uagb-container:has(p.tpr-stat-text):not(:has(.wp-block-uagb-counter)) > .uagb-container-inner-blocks-wrap,
#stat-boxes-v2 .uagb-layout-grid.uagb-is-root-container > .uagb-container-inner-blocks-wrap > .wp-block-uagb-container:has(p.tpr-stat-text):not(:has(.wp-block-uagb-counter)) > .uagb-container-inner-blocks-wrap {
	padding-top: 0 !important;
}
#stat-boxes .uagb-layout-grid.uagb-is-root-container > .uagb-container-inner-blocks-wrap > .wp-block-uagb-container:has(p.tpr-stat-text):not(:has(.wp-block-uagb-counter)) .wp-block-uagb-container,
#stat-boxes-v2 .uagb-layout-grid.uagb-is-root-container > .uagb-container-inner-blocks-wrap > .wp-block-uagb-container:has(p.tpr-stat-text):not(:has(.wp-block-uagb-counter)) .wp-block-uagb-container {
	padding-top: 0 !important;
}
/* Icon row: centre icons without forcing a tall empty band */
#stat-boxes .uagb-layout-grid.uagb-is-root-container .wp-block-uagb-container .wp-block-image,
#stat-boxes .uagb-layout-grid.uagb-is-root-container .wp-block-uagb-container figure.wp-block-image,
#stat-boxes-v2 .uagb-layout-grid.uagb-is-root-container .wp-block-uagb-container .wp-block-image,
#stat-boxes-v2 .uagb-layout-grid.uagb-is-root-container .wp-block-uagb-container figure.wp-block-image {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	box-sizing: border-box;
}
/* Counter value: width only — no font-size / weight / min-height (those override Spectra). */
#stat-boxes .uagb-layout-grid.uagb-is-root-container .wp-block-uagb-counter .wp-block-uagb-counter__number,
#stat-boxes-v2 .uagb-layout-grid.uagb-is-root-container .wp-block-uagb-counter .wp-block-uagb-counter__number {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
/*
 * tpr-stat-number / tpr-stat-h3 on advanced heading: optional hook for editor “Additional CSS class”.
 * No typography overrides here — size/face come from the Spectra heading block settings.
 */
#stat-boxes .uagb-layout-grid.uagb-is-root-container .wp-block-uagb-advanced-heading.tpr-stat-number .uagb-heading-text,
#stat-boxes .uagb-layout-grid.uagb-is-root-container .wp-block-uagb-advanced-heading.tpr-stat-h3 .uagb-heading-text,
#stat-boxes-v2 .uagb-layout-grid.uagb-is-root-container .wp-block-uagb-advanced-heading.tpr-stat-number .uagb-heading-text,
#stat-boxes-v2 .uagb-layout-grid.uagb-is-root-container .wp-block-uagb-advanced-heading.tpr-stat-h3 .uagb-heading-text {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box;
	text-align: center;
}

/* TPR Anchor Links block – zero-height jump target, no visible space */
.tpr-anchor-target {
	display: block;
	height: 0;
	overflow: hidden;
	margin: 0;
	padding: 0;
	/* Offset for sticky sub nav (60px) so jump targets aren't hidden */
	scroll-margin-top: 60px;
}

/* Offset all anchor scrolls for sticky sub nav */
html {
	scroll-padding-top: 60px;
}

/* Prevent horizontal overflow on mobile (100vw, full-bleed elements can cause scroll).
 * Use `clip` (not `hidden`) so html/body doesn't become a scroll container — `hidden` would make
 * `position: sticky` descendants stop pinning (body scrollTop stays 0 while html scrolls, so sticky
 * never sees scroll). `clip` suppresses overflow without establishing a scrolling box.
 * Only on <body>, not <html>, so fixed-position descendants (mobile sub-nav overlay) are still
 * painted against the viewport rather than clipped to the html box. */
body {
	overflow-x: clip;
}

/* Sticky sidebar needs visible overflow; only when sidebar is actually sticky (desktop-wide). */
@media (min-width: 1025px) {
	body.tpr-has-sticky-sidebar-row {
		overflow-x: visible !important;
	}

	html:has(body.tpr-has-sticky-sidebar-row) {
		overflow-x: visible !important;
	}
}

/*
 * Prose lists: use the same fluid --wp--preset--font-size--medium as paragraphs.
 * (List blocks rarely add has-medium-font-size on each li; :where() must NOT wrap the
 * prose wrapper here — zero specificity would lose to UAGB / theme rules.)
 */
:is(.entry-content, .wp-block-post-content)
	.wp-block-list:not(.has-small-font-size):not(.has-x-small-font-size):not(.has-xx-small-font-size)
	:is(li, .wp-block-list-item),
:is(.entry-content, .wp-block-post-content)
	.wp-block-uagb-advanced-heading
	.uagb-heading-text
	:is(ul, ol):not(.has-small-font-size):not(.has-x-small-font-size):not(.has-xx-small-font-size)
	:is(li, .wp-block-list-item),
.tpr-faq-wrapper
	.tpr-faq-answer
	.uagb-heading-text
	:is(ul, ol):not(.has-small-font-size):not(.has-x-small-font-size):not(.has-xx-small-font-size)
	:is(li, .wp-block-list-item),
/* Single FAQ: plain ul/ol in post body (no .wp-block-list class on older or migrated content) */
body.single-faqs
	:is(.entry-content, .wp-block-post-content)
	:is(ul, ol):not(.tpr-page-anchor-links):not(.wp-block-navigation__submenu-container):not(
		.wp-block-page-list
	)
	> li {
	font-size: var(--wp--preset--font-size--medium);
}

/* Body copy: fixed 18px on wide viewports (1600px+).
 * Spectra uses --wp--preset--font-size--medium for body; overriding the token
 * also updates blocks that use the Medium preset.
 * Post paragraphs often inherit a smaller px/rem from parent UAGB containers — set
 * explicit medium on default prose so it still reads 18px (we do not bump --small: nav etc.).
 * Use :is(.entry-content, …) — not :where — so these rules win over UAGB defaults. */
@media (min-width: 1600px) {
	:root {
		--wp--preset--font-size--medium: 18px;
	}

	:is(.entry-content, .wp-block-post-content)
		p:not(.has-small-font-size):not(.has-x-small-font-size):not(.has-xx-small-font-size):not(
			.has-xxx-small-font-size
		),
	:is(.entry-content, .wp-block-post-content)
		.wp-block-list:not(.has-small-font-size):not(.has-x-small-font-size):not(.has-xx-small-font-size)
		:is(li, .wp-block-list-item),
	:is(.entry-content, .wp-block-post-content)
		.wp-block-uagb-advanced-heading
		.uagb-heading-text
		:is(ul, ol):not(.has-small-font-size):not(.has-x-small-font-size):not(.has-xx-small-font-size)
		:is(li, .wp-block-list-item),
	:is(.entry-content, .wp-block-post-content)
		.wp-block-uagb-advanced-heading
		.uagb-heading-text
		p:not(.has-small-font-size):not(.has-x-small-font-size):not(.has-xx-small-font-size):not(
			.has-xxx-small-font-size
		),
	.tpr-faq-wrapper
		.tpr-faq-answer
		.uagb-heading-text
		:is(ul, ol):not(.has-small-font-size):not(.has-x-small-font-size):not(.has-xx-small-font-size)
		:is(li, .wp-block-list-item),
	.tpr-faq-wrapper
		.tpr-faq-answer
		.uagb-heading-text
		p:not(.has-small-font-size):not(.has-x-small-font-size):not(.has-xx-small-font-size):not(
			.has-xxx-small-font-size
		),
	body.single-faqs
		:is(.entry-content, .wp-block-post-content)
		:is(ul, ol):not(.tpr-page-anchor-links):not(.wp-block-navigation__submenu-container):not(
			.wp-block-page-list
		)
		> li {
		font-size: var(--wp--preset--font-size--medium);
	}
}

/* Sub nav bar (jump to): above sticky category bar when both stuck */
.wp-block-uagb-container.uagb-position__sticky.tpr-sub-nav-bar {
	z-index: 100000 !important;
}

/*
 * `.wp-site-blocks > *:not(footer):not(header)` later in this file sets `z-index: 1` on
 * `.entry-content`, which creates a stacking context that caps the sub-nav bar's 100000
 * z-index locally. The Spectra sticky site header is `position: fixed; z-index: 999`
 * (see `.swt-sticky-header` in spectra-one/inc/extensions/header.php), so when the sub-nav
 * pins at `top: 0` the header still paints over it.
 * On pages with a sticky sub-nav, raise the entry-content stacking context to 1001 — above
 * the sticky header (999) but still below sticky CTA (999999) and mobile overlays (1000000+).
 */
body:has(.uagb-position__sticky.tpr-sub-nav-bar) .wp-site-blocks > .entry-content,
body:has(.uagb-position__sticky.tpr-sub-nav-bar) .wp-site-blocks > .wp-block-post-content,
body:has(.uagb-position__sticky.tpr-sub-nav-bar) .entry-content,
body:has(.uagb-position__sticky.tpr-sub-nav-bar) .wp-block-post-content {
	z-index: 1001;
}

/*
 * UAGB's JS-driven sticky waits for the bar to scroll past the top by ~one bar-height before
 * switching to position:fixed — leaving a ~80px window where the bar has scrolled off but isn't
 * pinned yet (bar visibly disappears, then snaps back to the top). Native CSS position:sticky
 * keeps the bar glued to the top edge with no gap. Scoped to the sub-nav's .tpr-sub-nav-has-mobile
 * wrapper so other UAGB sticky blocks (e.g. product filter) keep their existing JS behaviour.
 */
.wp-block-uagb-container.uagb-position__sticky.tpr-sub-nav-has-mobile {
	position: sticky !important;
	top: 0 !important;
	left: auto !important;
	width: auto !important;
}

/*
 * Sticky filter / taxonomy bars: `position: fixed` top is viewport-relative. Do not add
 * `--tpr-header-height` here — that measures a tall header *block* and leaves a huge empty band
 * when the masthead has scrolled away. Use ~10px below the admin bar only (Spectra offset is overridden).
 * Our Range ≥1088px: tpr-sticky-product-filter-bar.js uses live header bottom + gap instead.
 * ≤1087px: when Jump-to (`.tpr-sub-nav-has-mobile` stuck) is pinned, `--tpr-sticky-stack-extra` adds ~60px
 * so `#tpr-product-listing` / gallery / outer range filter rows clear the sub-nav.
 */
:root {
	--tpr-sticky-filter-gap: 10px;
	/* Raised when Jump-to sub-nav is pinned so filter stickies sit below it (≤1087px). */
	--tpr-sticky-stack-extra: 0px;
}
@media (max-width: 1087px) {
	body:has(.uagb-position__sticky.tpr-sub-nav-has-mobile.uagb-position__sticky--stuck) {
		--tpr-sticky-stack-extra: 60px;
	}
}
body:not(.admin-bar) .tpr-resources-filter-outer-container .wp-block-uagb-container.uagb-position__sticky--stuck,
body:not(.admin-bar) .tpr-projects-listing-wrapper .wp-block-uagb-container.uagb-position__sticky--stuck,
body:not(.admin-bar).post-type-archive-project .wp-block-uagb-loop-builder:has(.tpr-grid-gallery-dropdown) .wp-block-uagb-container.uagb-position__sticky--stuck,
body:not(.admin-bar) #tpr-product-listing .tpr-product-filter-outer-container .wp-block-uagb-container.uagb-position__sticky--stuck,
body:not(.admin-bar) .tpr-grid-gallery-filters .wp-block-uagb-container.uagb-position__sticky--stuck,
body:not(.admin-bar) .tpr-grid-gallery-filter .wp-block-uagb-container.uagb-position__sticky--stuck,
body:not(.admin-bar) .tpr-grid-gallery-wrapper .wp-block-uagb-container.uagb-position__sticky--stuck,
body:not(.admin-bar) #tpr-product-listing .wp-block-uagb-loop-builder:has(.tpr-product-filter-inner-container) .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck,
body:not(.admin-bar) #tpr-product-listing .wp-block-uagb-loop-builder:has(.tpr-resources-filter-inner-container) .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck,
body:not(.admin-bar) #tpr-product-listing .wp-block-uagb-loop-builder.tpr-product-filter-inner-container .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck,
body:not(.admin-bar) #tpr-product-listing .wp-block-uagb-loop-builder.tpr-resources-filter-inner-container .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck,
body:not(.admin-bar):is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder:has(.tpr-product-filter-inner-container) .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck,
body:not(.admin-bar):is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder:has(.tpr-resources-filter-inner-container) .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck,
body:not(.admin-bar):is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder.tpr-product-filter-inner-container .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck,
body:not(.admin-bar):is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder.tpr-resources-filter-inner-container .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck {
	top: calc(
		env(safe-area-inset-top, 0px) + var(--tpr-sticky-stack-extra, 0px) + var(--tpr-sticky-filter-gap, 10px)
	) !important;
}
body.admin-bar .tpr-resources-filter-outer-container .wp-block-uagb-container.uagb-position__sticky--stuck,
body.admin-bar .tpr-projects-listing-wrapper .wp-block-uagb-container.uagb-position__sticky--stuck,
body.admin-bar.post-type-archive-project .wp-block-uagb-loop-builder:has(.tpr-grid-gallery-dropdown) .wp-block-uagb-container.uagb-position__sticky--stuck,
body.admin-bar #tpr-product-listing .tpr-product-filter-outer-container .wp-block-uagb-container.uagb-position__sticky--stuck,
body.admin-bar .tpr-grid-gallery-filters .wp-block-uagb-container.uagb-position__sticky--stuck,
body.admin-bar .tpr-grid-gallery-filter .wp-block-uagb-container.uagb-position__sticky--stuck,
body.admin-bar .tpr-grid-gallery-wrapper .wp-block-uagb-container.uagb-position__sticky--stuck,
body.admin-bar #tpr-product-listing .wp-block-uagb-loop-builder:has(.tpr-product-filter-inner-container) .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck,
body.admin-bar #tpr-product-listing .wp-block-uagb-loop-builder:has(.tpr-resources-filter-inner-container) .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck,
body.admin-bar #tpr-product-listing .wp-block-uagb-loop-builder.tpr-product-filter-inner-container .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck,
body.admin-bar #tpr-product-listing .wp-block-uagb-loop-builder.tpr-resources-filter-inner-container .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck,
body.admin-bar:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder:has(.tpr-product-filter-inner-container) .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck,
body.admin-bar:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder:has(.tpr-resources-filter-inner-container) .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck,
body.admin-bar:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder.tpr-product-filter-inner-container .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck,
body.admin-bar:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder.tpr-resources-filter-inner-container .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck {
	top: calc(
		env(safe-area-inset-top, 0px) + 32px + var(--tpr-sticky-stack-extra, 0px) + var(--tpr-sticky-filter-gap, 10px)
	) !important;
}
@media screen and (max-width: 782px) {
	body.admin-bar .tpr-resources-filter-outer-container .wp-block-uagb-container.uagb-position__sticky--stuck,
	body.admin-bar .tpr-projects-listing-wrapper .wp-block-uagb-container.uagb-position__sticky--stuck,
	body.admin-bar.post-type-archive-project .wp-block-uagb-loop-builder:has(.tpr-grid-gallery-dropdown) .wp-block-uagb-container.uagb-position__sticky--stuck,
	body.admin-bar #tpr-product-listing .tpr-product-filter-outer-container .wp-block-uagb-container.uagb-position__sticky--stuck,
	body.admin-bar .tpr-grid-gallery-filters .wp-block-uagb-container.uagb-position__sticky--stuck,
	body.admin-bar .tpr-grid-gallery-filter .wp-block-uagb-container.uagb-position__sticky--stuck,
	body.admin-bar .tpr-grid-gallery-wrapper .wp-block-uagb-container.uagb-position__sticky--stuck,
	body.admin-bar #tpr-product-listing .wp-block-uagb-loop-builder:has(.tpr-product-filter-inner-container) .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck,
	body.admin-bar #tpr-product-listing .wp-block-uagb-loop-builder:has(.tpr-resources-filter-inner-container) .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck,
	body.admin-bar #tpr-product-listing .wp-block-uagb-loop-builder.tpr-product-filter-inner-container .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck,
	body.admin-bar #tpr-product-listing .wp-block-uagb-loop-builder.tpr-resources-filter-inner-container .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck,
	body.admin-bar:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder:has(.tpr-product-filter-inner-container) .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck,
	body.admin-bar:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder:has(.tpr-resources-filter-inner-container) .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck,
	body.admin-bar:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder.tpr-product-filter-inner-container .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck,
	body.admin-bar:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder.tpr-resources-filter-inner-container .uagb-position__sticky.wp-block-uagb-container.uagb-position__sticky--stuck {
		top: calc(
			env(safe-area-inset-top, 0px) + 46px + var(--tpr-sticky-stack-extra, 0px) + var(--tpr-sticky-filter-gap, 10px)
		) !important;
	}
}
@media (max-width: 1087px) {
	body:not(.admin-bar) #our-price-range .tpr-product-filter-outer-container .wp-block-uagb-container.uagb-position__sticky--stuck {
		top: calc(
			env(safe-area-inset-top, 0px) + var(--tpr-sticky-stack-extra, 0px) + var(--tpr-sticky-filter-gap, 10px)
		) !important;
	}
	body.admin-bar #our-price-range .tpr-product-filter-outer-container .wp-block-uagb-container.uagb-position__sticky--stuck {
		top: calc(
			env(safe-area-inset-top, 0px) + 32px + var(--tpr-sticky-stack-extra, 0px) + var(--tpr-sticky-filter-gap, 10px)
		) !important;
	}
}
@media screen and (max-width: 782px) {
	body.admin-bar #our-price-range .tpr-product-filter-outer-container .wp-block-uagb-container.uagb-position__sticky--stuck {
		top: calc(
			env(safe-area-inset-top, 0px) + 46px + var(--tpr-sticky-stack-extra, 0px) + var(--tpr-sticky-filter-gap, 10px)
		) !important;
	}
}

/* Sticky category bar (inside product filter): below jump to bar */
.tpr-product-filter-outer-container .wp-block-uagb-container.uagb-position__sticky,
.tpr-product-filter-outer-container .uagb-position__sticky,
.tpr-resources-filter-outer-container .wp-block-uagb-container.uagb-position__sticky,
.tpr-resources-filter-outer-container .uagb-position__sticky,
.tpr-product-listing .wp-block-uagb-container.uagb-position__sticky,
.tpr-projects-listing-wrapper .wp-block-uagb-container.uagb-position__sticky {
	z-index: 999 !important;
}

/* When Spectra switches sticky to "restricted" (bottom of parent), hide instead of jumping */
.tpr-product-filter-outer-container .wp-block-uagb-container.uagb-position__sticky--restricted,
.tpr-product-filter-outer-container .uagb-position__sticky--restricted,
.tpr-resources-filter-outer-container .wp-block-uagb-container.uagb-position__sticky--restricted,
.tpr-resources-filter-outer-container .uagb-position__sticky--restricted,
.tpr-product-listing .wp-block-uagb-container.uagb-position__sticky--restricted,
.tpr-projects-listing-wrapper .wp-block-uagb-container.uagb-position__sticky--restricted {
	visibility: hidden !important;
	pointer-events: none !important;
}

/* Projects filter row can share a flex row with the loop; when fixed, avoid vertically centering the pill under a tall sibling. */
.tpr-projects-listing-wrapper > .wp-block-uagb-container.uagb-position__sticky--stuck {
	align-items: flex-start !important;
	align-content: flex-start !important;
}
.tpr-projects-listing-wrapper > .wp-block-uagb-container.uagb-position__sticky--stuck .tpr-grid-gallery-dropdown.tpr-grid-gallery-dropdown--buttons {
	margin-top: 0 !important;
}

/*
 * Sticky sidebar in a UAGB layout grid — opt-in only (native CSS sticky, not Spectra sticky).
 *
 * Put `tpr-sticky-sidebar-grid` on EITHER the outer `uagb-layout-grid` row OR the sidebar column.
 * Post content must include that class string so body gets `tpr-has-sticky-sidebar-row` (undoes
 * global html/body overflow-x:hidden, which otherwise kills sticky in Chrome).
 *
 * Optional: `tpr-sticky-sidebar-col` when the class is on the grid but the sidebar is not first.
 *
 * Sticky is desktop-only (min-width: 1025px) so iPad/tablet and mobile get normal flow — avoids overlap
 * with the main column when the grid stacks or is narrow.
 *
 * --tpr-header-height: set from header in functions.php footer script.
 */
@media (max-width: 1024px) {
	:where(.entry-content, .wp-block-post-content)
		.tpr-sticky-sidebar-grid.uagb-layout-grid
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container.tpr-sticky-sidebar-col,
	:where(.entry-content, .wp-block-post-content)
		.tpr-sticky-sidebar-grid.uagb-layout-grid
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container:first-child,
	:where(.entry-content, .wp-block-post-content)
		.uagb-layout-grid
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container.tpr-sticky-sidebar-grid {
		position: static !important;
		top: auto !important;
		bottom: auto !important;
		z-index: auto !important;
	}
}

@media (min-width: 1025px) {
	/* Spectra alignfull / inner wrappers must not clip sticky descendants */
	body.tpr-has-sticky-sidebar-row
		:where(.entry-content, .wp-block-post-content)
		.uagb-layout-grid:has(.tpr-sticky-sidebar-grid),
	body.tpr-has-sticky-sidebar-row
		:where(.entry-content, .wp-block-post-content)
		.uagb-layout-grid.tpr-sticky-sidebar-grid {
		overflow: visible !important;
	}

	:where(.entry-content, .wp-block-post-content) .tpr-sticky-sidebar-grid.uagb-layout-grid > .uagb-container-inner-blocks-wrap,
	:where(.entry-content, .wp-block-post-content)
		.uagb-layout-grid:has(> .uagb-container-inner-blocks-wrap > .wp-block-uagb-container.tpr-sticky-sidebar-grid)
		> .uagb-container-inner-blocks-wrap {
		align-items: start !important;
		overflow: visible !important;
	}

	:where(.entry-content, .wp-block-post-content)
		.tpr-sticky-sidebar-grid.uagb-layout-grid
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container.tpr-sticky-sidebar-col,
	:where(.entry-content, .wp-block-post-content)
		.tpr-sticky-sidebar-grid.uagb-layout-grid
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container:first-child,
	:where(.entry-content, .wp-block-post-content)
		.uagb-layout-grid
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container.tpr-sticky-sidebar-grid {
		position: sticky !important;
		--tpr-sticky-sidebar-pad: 1.25rem;
		top: calc(var(--tpr-header-height, 57px) + var(--tpr-sticky-sidebar-pad)) !important;
		align-self: start !important;
		min-width: 0 !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		overflow-wrap: break-word !important;
		overflow-x: visible !important;
		overflow-y: visible !important;
		z-index: 2;
	}

	body.admin-bar
		:where(.entry-content, .wp-block-post-content)
		.tpr-sticky-sidebar-grid.uagb-layout-grid
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container.tpr-sticky-sidebar-col,
	body.admin-bar
		:where(.entry-content, .wp-block-post-content)
		.tpr-sticky-sidebar-grid.uagb-layout-grid
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container:first-child,
	body.admin-bar
		:where(.entry-content, .wp-block-post-content)
		.uagb-layout-grid
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container.tpr-sticky-sidebar-grid {
		top: calc(32px + var(--tpr-header-height, 57px) + var(--tpr-sticky-sidebar-pad)) !important;
	}

	:where(.entry-content, .wp-block-post-content)
		.tpr-sticky-sidebar-grid.uagb-layout-grid
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container.tpr-sticky-sidebar-col
		[class*="uagb-container-inner"],
	:where(.entry-content, .wp-block-post-content)
		.tpr-sticky-sidebar-grid.uagb-layout-grid
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container:first-child
		[class*="uagb-container-inner"],
	:where(.entry-content, .wp-block-post-content)
		.uagb-layout-grid
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container.tpr-sticky-sidebar-grid
		[class*="uagb-container-inner"] {
		min-width: 0 !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
}

/* [page-anchor-links] jump menu: horizontal, no bullets, no underline, bold */
.tpr-page-anchor-links,
.tpr-has-page-anchor-links .tpr-page-anchor-links {
	display: flex !important;
	flex-direction: row;
	flex-wrap: wrap;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 0 1.5em;
}
.tpr-page-anchor-links li {
	list-style: none !important;
	margin: 0 !important;
}
.tpr-page-anchor-links .wp-block-navigation-item__label {
	font-size: 13px !important;
}
.tpr-page-anchor-links a,
.tpr-page-anchor-links .wp-block-navigation-item__content {
	text-decoration: none !important;
	font-weight: 700 !important;
}
.tpr-page-anchor-links a:hover,
.tpr-page-anchor-links .wp-block-navigation-item__content:hover,
.tpr-page-anchor-links a:hover .wp-block-navigation-item__label,
.tpr-page-anchor-links .wp-block-navigation-item__content:hover .wp-block-navigation-item__label {
	color: #D2FC51 !important;
}
/* Sticky sub nav bar: same hover color (overrides block/theme color vars) */
.uagb-position__sticky .tpr-page-anchor-links a:hover,
.uagb-position__sticky .tpr-page-anchor-links .wp-block-navigation-item__content:hover,
.uagb-position__sticky .tpr-page-anchor-links a:hover .wp-block-navigation-item__label,
.uagb-position__sticky .tpr-page-anchor-links .wp-block-navigation-item__content:hover .wp-block-navigation-item__label {
	color: #D2FC51 !important;
}

/* Sub nav mobile: hamburger + overlay at 1088px (matches main nav breakpoint) */
.tpr-sub-nav-mobile-trigger {
	display: none;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	gap: 0.5rem;
	background: transparent;
	border: none;
	color: inherit;
	cursor: pointer;
	font-family: inherit;
	font-size: inherit;
	font-weight: 700;
	padding: 0.5rem 0;
	/* UAGB / theme often set text-transform on buttons — label casing comes from JS (“jump to”) */
	text-transform: none !important;
	font-variant: normal !important;
}
.tpr-sub-nav-mobile-trigger-label {
	flex: 0 0 auto;
	text-transform: none !important;
	font-variant: normal !important;
}
.tpr-sub-nav-mobile-trigger svg {
	flex-shrink: 0;
}
/* Open: hide hamburger (close X lives in the overlay header). */
.tpr-sub-nav-has-mobile.tpr-sub-nav-mobile-open .tpr-sub-nav-mobile-trigger svg {
	opacity: 0;
	pointer-events: none;
}
/* Overlay is appended to <body> (not nested in the sticky bar) so its z-index lives in the root
   stacking context. Otherwise it gets trapped inside .entry-content (z-index:1) and later page
   sections paint above it. z-index sits above .tpr-gf-cta-sticky (999999). */
.tpr-sub-nav-mobile-overlay {
	display: none;
	position: fixed;
	inset: 0;
	background: #0F2902;
	color: #fff;
	z-index: 1000000;
	box-sizing: border-box;
	flex-direction: column;
}
.tpr-sub-nav-mobile-overlay.is-open {
	display: flex;
}
.tpr-sub-nav-mobile-overlay-header {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	padding: 0.75rem 5%;
	padding-top: calc(0.75rem + env(safe-area-inset-top, 0));
	padding-left: max(5%, env(safe-area-inset-left, 0));
	padding-right: max(5%, env(safe-area-inset-right, 0));
	box-sizing: border-box;
}
.tpr-sub-nav-mobile-overlay-header-label {
	font-size: calc(1rem + 10px);
	line-height: 1.05;
	font-weight: 700;
}
.tpr-sub-nav-mobile-close {
	flex: 0 0 auto;
	width: 24px;
	height: 24px;
	background: transparent;
	border: none;
	color: inherit;
	cursor: pointer;
	padding: 0;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	-webkit-tap-highlight-color: transparent;
}
.tpr-sub-nav-mobile-close:focus {
	outline: none;
}
.tpr-sub-nav-mobile-close:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 2px;
}
.tpr-sub-nav-mobile-overlay-content {
	flex: 1 1 auto;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	padding: 0.5rem 5% 1.5rem;
	padding-left: max(5%, env(safe-area-inset-left, 0));
	padding-right: max(5%, env(safe-area-inset-right, 0));
	padding-bottom: calc(1.5rem + env(safe-area-inset-bottom, 0));
	box-sizing: border-box;
}
.tpr-sub-nav-mobile-overlay-links {
	display: flex !important;
	flex-direction: column !important;
	gap: 0.35rem !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.tpr-sub-nav-mobile-overlay-links > li:first-child {
	margin-top: 0 !important;
}
.tpr-sub-nav-mobile-overlay-links > li:first-child a,
.tpr-sub-nav-mobile-overlay-links > li:first-child .wp-block-navigation-item__content {
	padding-top: 0 !important;
}
.tpr-sub-nav-mobile-overlay-links .wp-block-navigation-item__label {
	font-size: 13px !important;
}
.tpr-sub-nav-mobile-overlay-links a,
.tpr-sub-nav-mobile-overlay-links .wp-block-navigation-item__content {
	display: block;
	padding: 0.5em 0;
	text-decoration: none !important;
	font-weight: 700 !important;
	color: inherit !important;
}
.tpr-sub-nav-mobile-overlay-links a:hover,
.tpr-sub-nav-mobile-overlay-links .wp-block-navigation-item__content:hover {
	color: #D2FC51 !important;
}
/* Hide floating CTA / other stickies while the sub-nav overlay is open so they don't overlap links. */
html.has-modal-open .tpr-gf-cta-block.tpr-gf-cta-sticky {
	display: none !important;
}
@media (max-width: 1087px) {
	/* “Jump to” label only (not overlay links or sitewide script font). ~+10px vs inherited bar size. */
	.tpr-sub-nav-has-mobile .tpr-sub-nav-mobile-trigger .tpr-sub-nav-mobile-trigger-label {
		font-size: calc(1em + 10px) !important;
		line-height: 1.05 !important;
	}
	.tpr-sub-nav-has-mobile .tpr-sub-nav-mobile-trigger {
		display: flex !important;
	}
	.tpr-sub-nav-has-mobile .wp-block-group:has(.tpr-page-anchor-links),
	.tpr-sub-nav-has-mobile .wp-block-navigation:has(.tpr-page-anchor-links) {
		display: none !important;
	}
	.tpr-sub-nav-has-mobile .uagb-container-inner-block,
	.tpr-sub-nav-has-mobile .uagb-container-inner-blocks-wrap {
		justify-content: center !important;
	}
}
@media (min-width: 1088px) {
	.tpr-sub-nav-has-mobile .tpr-sub-nav-mobile-trigger {
		display: none !important;
	}
	.tpr-sub-nav-mobile-overlay,
	.tpr-sub-nav-mobile-overlay.is-open {
		display: none !important;
	}
}

/*
 * Sticky “Jump to” sub-nav (alignfull): keep the outer bar full-bleed for background/sticky behaviour;
 * constrain the inner row to the same Spectra inner width the editor uses (--inner-content-custom-width, e.g. 90%).
 */
html body .uagb-position__sticky.wp-block-uagb-container.tpr-sub-nav-has-mobile.uagb-is-root-container > .uagb-container-inner-blocks-wrap,
html body .uagb-position__sticky.wp-block-uagb-container.tpr-sub-nav-has-mobile.uagb-is-root-container > .uagb-container-inner-block {
	max-width: var(--inner-content-custom-width, min(100%, 90%)) !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
	min-width: 0 !important;
}

/* Homepage video banner spacer: 60px at all breakpoints for consistent gap to CTA bar */
body.home .wp-block-spacer.tpr-video-banner-spacer {
	height: 60px !important;
}

/* Gravity Forms: brand + stacked layout for form IDs 2 and 5 (Get Started quote/contact).
   Form 6 (partner / express interest in #tpr-get-started): see #gform_wrapper_6 block (link-style submit = button[type="button"]).
   Form 7 (franchise opportunities page): duplicate rules below #gform_wrapper_7 — same styling as form 6.
   Form 8 (careers opportunities page): duplicate rules below #gform_wrapper_8 — same styling as form 6.
   Any other form ID: same look via .tpr-gf-brand-default (class added in PHP; exclude list defaults to form 3 only).
   Form 3 CTA: #gform_wrapper_3 has dedicated rules below — excluded from the default class. */

/* All forms: hide “* indicates required fields” under the heading */
.gform_wrapper .gform_required_legend {
	display: none !important;
}

/* All forms: kill every shadow the GF theme framework adds (inputs, wrappers, focus rings) */
.gform_wrapper input,
.gform_wrapper textarea,
.gform_wrapper select,
.gform_wrapper .gform-theme-field-control,
.gform_wrapper .ginput_container,
.gform_wrapper .chosen-single {
	box-shadow: none !important;
	--tw-ring-shadow: 0 0 #0000 !important;
}

#gform_wrapper_2.gform_wrapper,
#gform_wrapper_5.gform_wrapper {
	--gf-color-danger: #FF6333 !important;
	--gf-color-danger-rgb: 255, 99, 51 !important;
}

/* Get Started section (#tpr-get-started): no shadow on phone / tel inputs (form 2). */
#tpr-get-started #gform_wrapper_2 input[type="tel"],
#tpr-get-started #gform_2 input[type="tel"],
#tpr-get-started #input_2_3 {
	box-shadow: none !important;
	filter: none !important;
}

/*
 * Get Started section: top padding applies at all viewport sizes; horizontal/bottom
 * overrides are scoped to the Spectra/UAGB tablet breakpoint (976px) and mobile.
 * #tpr-get-started or .tpr-get-started (class added in PHP when HTML anchor is tpr-get-started).
 */
#tpr-get-started,
.wp-block-uagb-container.tpr-get-started {
	padding-top: 15% !important;
}

@media only screen and (max-width: 767px) {
	#tpr-get-started,
	.wp-block-uagb-container.tpr-get-started {
		padding-top: 20% !important;
	}
}

@media only screen and (max-width: 976px) {
	#tpr-get-started,
	.wp-block-uagb-container.tpr-get-started {
		box-sizing: border-box !important;
		padding-right: 5% !important;
		padding-bottom: 8% !important;
		padding-left: 5% !important;
	}

	#tpr-get-started > .uagb-container-inner-blocks-wrap,
	.wp-block-uagb-container.tpr-get-started > .uagb-container-inner-blocks-wrap {
		max-width: 90% !important;
		width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

/*
 * Contact options (UAGB grid): markup is row-major (Call icon, Chat icon, headings, bodies)
 * so a single-column grid reads Call/Chat interleaved. Spectra sets this block to one column
 * from max-width 976px; use flex + order so the stack matches the two desktop columns.
 */
@media only screen and (max-width: 976px) {
	.wp-block-uagb-container[class*="tpr-contact-option"].uagb-layout-grid > .uagb-container-inner-blocks-wrap {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		row-gap: 20px !important;
		column-gap: 0 !important;
	}

	.wp-block-uagb-container[class*="tpr-contact-option"].uagb-layout-grid > .uagb-container-inner-blocks-wrap > * {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}

	.wp-block-uagb-container[class*="tpr-contact-option"].uagb-layout-grid > .uagb-container-inner-blocks-wrap > *:nth-child(1) {
		order: 1 !important;
	}

	.wp-block-uagb-container[class*="tpr-contact-option"].uagb-layout-grid > .uagb-container-inner-blocks-wrap > *:nth-child(2) {
		order: 4 !important;
	}

	.wp-block-uagb-container[class*="tpr-contact-option"].uagb-layout-grid > .uagb-container-inner-blocks-wrap > *:nth-child(3) {
		order: 2 !important;
	}

	.wp-block-uagb-container[class*="tpr-contact-option"].uagb-layout-grid > .uagb-container-inner-blocks-wrap > *:nth-child(4) {
		order: 5 !important;
	}

	.wp-block-uagb-container[class*="tpr-contact-option"].uagb-layout-grid > .uagb-container-inner-blocks-wrap > *:nth-child(5) {
		order: 3 !important;
	}

	.wp-block-uagb-container[class*="tpr-contact-option"].uagb-layout-grid > .uagb-container-inner-blocks-wrap > *:nth-child(6) {
		order: 6 !important;
	}
}

#gform_wrapper_2 .validation_error,
#gform_wrapper_5 .validation_error,
#gform_wrapper_2 .gfield_error .validation_message,
#gform_wrapper_5 .gfield_error .validation_message {
	color: #FF6333 !important;
}

#gform_wrapper_2 .gfield_error input,
#gform_wrapper_2 .gfield_error select,
#gform_wrapper_2 .gfield_error textarea,
#gform_wrapper_5 .gfield_error input,
#gform_wrapper_5 .gfield_error select,
#gform_wrapper_5 .gfield_error textarea {
	border-color: #FF6333 !important;
}

#gform_wrapper_2 .gfield_required,
#gform_wrapper_5 .gfield_required {
	color: #FF6333 !important;
}

/* ==========================================================================
   Gravity Forms 2 & 5 — stacked field layout (not form 3 CTA bar).
   ========================================================================== */

#gform_wrapper_2 .gform_heading,
#gform_wrapper_5 .gform_heading {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
	padding-top: 0 !important;
	padding-block-start: 0 !important;
}

#gform_wrapper_2 .gform_title,
#gform_wrapper_2 .gform_heading .gform_title,
#gform_wrapper_5 .gform_title,
#gform_wrapper_5 .gform_heading .gform_title,
#gform_wrapper_6 .gform_title,
#gform_wrapper_6 .gform_heading .gform_title,
#gform_wrapper_7 .gform_title,
#gform_wrapper_7 .gform_heading .gform_title,
#gform_wrapper_8 .gform_title,
#gform_wrapper_8 .gform_heading .gform_title,
.tpr-gf-brand-default .gform_title,
.tpr-gf-brand-default .gform_heading .gform_title {
	font-weight: 700 !important;
	margin-top: 0 !important;
	margin-block-start: 0 !important;
	padding-top: 0 !important;
	padding-block-start: 0 !important;
}

/* Get Started section: contact form (GF 5) — space above submit */
#tpr-get-started .tpr-get-started-form-panel--contact #gform_wrapper_5 .gform_footer input[type="submit"],
#tpr-get-started .tpr-get-started-form-panel--contact #gform_submit_button_5,
.wp-block-uagb-container.tpr-get-started .tpr-get-started-form-panel--contact #gform_wrapper_5 .gform_footer input[type="submit"],
.wp-block-uagb-container.tpr-get-started .tpr-get-started-form-panel--contact #gform_submit_button_5 {
	margin-top: 5% !important;
}

/* Branded GF forms in the Get Started Spectra section: top breathing room (class from PHP covers new form IDs). */
#tpr-get-started .tpr-gf-brand-default.gform_wrapper,
.wp-block-uagb-container.tpr-get-started .tpr-gf-brand-default.gform_wrapper {
	padding-top: 5% !important;
	box-sizing: border-box !important;
}

#gform_wrapper_2 .gfield_label,
#gform_wrapper_2 .gform-field-label,
#gform_wrapper_2 legend.gfield_label,
#gform_wrapper_5 .gfield_label,
#gform_wrapper_5 .gform-field-label,
#gform_wrapper_5 legend.gfield_label {
	font-weight: 700 !important;
	color: #0f2902;
}

#gform_wrapper_2 .gform_fields,
#gform_wrapper_5 .gform_fields {
	gap: 10px 1rem !important;
	row-gap: 10px !important;
	column-gap: 1rem !important;
}

#gform_wrapper_2 .gfield,
#gform_wrapper_5 .gfield {
	margin-block: 0 !important;
	margin-inline: 0 !important;
	padding-block: 0 !important;
	padding-inline: 0 !important;
}

#gform_wrapper_2 .gfield_label,
#gform_wrapper_2 legend.gfield_label,
#gform_wrapper_5 .gfield_label,
#gform_wrapper_5 legend.gfield_label {
	margin-block: 0 0.35rem !important;
	margin-inline: 0 !important;
	padding: 0 !important;
}

#gform_wrapper_2 .ginput_container,
#gform_wrapper_5 .ginput_container {
	margin-block: 0 !important;
	margin-inline: 0 !important;
	padding: 0 !important;
}

#gform_wrapper_2 .gfield_description,
#gform_wrapper_5 .gfield_description {
	margin-block: 0.25rem 0 !important;
}

#gform_wrapper_2 .gfield--type-html,
#gform_wrapper_2 .gfield--type-section,
#gform_wrapper_5 .gfield--type-html,
#gform_wrapper_5 .gfield--type-section {
	margin-block: 0.35rem 0 !important;
}

/* No drop shadows on fields */
#gform_wrapper_2 input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="image"]),
#gform_wrapper_2 textarea,
#gform_wrapper_2 select,
#gform_wrapper_2 .ginput_container,
#gform_wrapper_2 .ginput_container input,
#gform_wrapper_2 .ginput_container textarea,
#gform_wrapper_2 .ginput_container select,
#gform_wrapper_5 input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="image"]),
#gform_wrapper_5 textarea,
#gform_wrapper_5 select,
#gform_wrapper_5 .ginput_container,
#gform_wrapper_5 .ginput_container input,
#gform_wrapper_5 .ginput_container textarea,
#gform_wrapper_5 .ginput_container select {
	box-shadow: none !important;
	filter: none !important;
}

/* Single focus line — no outline + box-shadow double ring */
#gform_wrapper_2 input:focus,
#gform_wrapper_2 input:focus-visible,
#gform_wrapper_2 textarea:focus,
#gform_wrapper_2 textarea:focus-visible,
#gform_wrapper_2 select:focus,
#gform_wrapper_2 select:focus-visible,
#gform_wrapper_5 input:focus,
#gform_wrapper_5 input:focus-visible,
#gform_wrapper_5 textarea:focus,
#gform_wrapper_5 textarea:focus-visible,
#gform_wrapper_5 select:focus,
#gform_wrapper_5 select:focus-visible {
	box-shadow: none !important;
	outline: none !important;
	filter: none !important;
	--tw-ring-shadow: 0 0 #0000 !important;
	--tw-ring-color: transparent !important;
	border-color: #0f2902;
	border-width: 2px;
}

/* Suppress GF theme wrapper ring so only the input border shows */
#gform_wrapper_2 .gform-theme-field-control:focus-within,
#gform_wrapper_5 .gform-theme-field-control:focus-within,
#gform_wrapper_6 .gform-theme-field-control:focus-within,
#gform_wrapper_7 .gform-theme-field-control:focus-within,
#gform_wrapper_8 .gform-theme-field-control:focus-within,
.tpr-gf-brand-default .gform-theme-field-control:focus-within {
	outline: none !important;
	box-shadow: none !important;
	--tw-ring-shadow: 0 0 #0000 !important;
}

#gform_wrapper_2 .chosen-container-single .chosen-single,
#gform_wrapper_2 .chosen-container-active.chosen-with-drop .chosen-single,
#gform_wrapper_5 .chosen-container-single .chosen-single,
#gform_wrapper_5 .chosen-container-active.chosen-with-drop .chosen-single {
	box-shadow: none !important;
	outline: none !important;
	filter: none !important;
}

/* Generic submit: no shadow + bold (form 3 CTA has its own rules) */
#gform_wrapper_2 .gform_footer input[type="submit"],
#gform_wrapper_2 .gform_footer button[type="submit"],
#gform_wrapper_2 input.gform_button[type="submit"],
#gform_wrapper_2 button.gform_button,
#gform_wrapper_5 .gform_footer input[type="submit"],
#gform_wrapper_5 .gform_footer button[type="submit"],
#gform_wrapper_5 input.gform_button[type="submit"],
#gform_wrapper_5 button.gform_button {
	box-shadow: none !important;
	font-weight: 700 !important;
}

/*
 * Selects / Chosen: full width of the field column
 */
#gform_wrapper_2 .ginput_container_select,
#gform_wrapper_5 .ginput_container_select {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	display: block;
}

#gform_wrapper_2 .ginput_container_select > select,
#gform_wrapper_5 .ginput_container_select > select {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

#gform_wrapper_2 .ginput_container_select .chosen-container,
#gform_wrapper_2 .ginput_container_select .chosen-container-single,
#gform_wrapper_5 .ginput_container_select .chosen-container,
#gform_wrapper_5 .ginput_container_select .chosen-container-single {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

#gform_wrapper_2 .ginput_container_select .chosen-container-single .chosen-single,
#gform_wrapper_5 .ginput_container_select .chosen-container-single .chosen-single {
	width: 100% !important;
	box-sizing: border-box;
	display: flex !important;
	align-items: center !important;
}

#gform_wrapper_2 .ginput_container_select .chosen-container-single .chosen-single span,
#gform_wrapper_5 .ginput_container_select .chosen-container-single .chosen-single span {
	line-height: 1.45 !important;
	max-height: none !important;
}

/*
 * Datepicker (single text field): GF theme often sizes the input to placeholder width; match selects’ full row width.
 * Exclude .gform-grid-col segments (multi-input date fields).
 */
#gform_wrapper_2 .ginput_container_date:not(.gform-grid-col),
#gform_wrapper_5 .ginput_container_date:not(.gform-grid-col) {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0.5rem;
}

#gform_wrapper_2 .ginput_container_date:not(.gform-grid-col) > input,
#gform_wrapper_5 .ginput_container_date:not(.gform-grid-col) > input {
	flex: 1 1 0;
	min-width: 0;
	width: auto !important;
	max-width: none !important;
	box-sizing: border-box;
}

/*
 * GF Orbital sets --gf-local-width:auto on datepicker inputs (shrinks to value width).
 * Force full width of the grid column so date matches sibling fields / row above.
 */
#gform_wrapper_2.gform-theme--framework .gfield--input-type-datepicker .ginput_container_date input,
#gform_wrapper_5.gform-theme--framework .gfield--input-type-datepicker .ginput_container_date input {
	--gf-local-width: 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

#gform_wrapper_2 .ginput_container_date:not(.gform-grid-col) .ui-datepicker-trigger,
#gform_wrapper_5 .ginput_container_date:not(.gform-grid-col) .ui-datepicker-trigger {
	flex-shrink: 0;
}

/* --------------------------------------------------------------------------
   Default “pill” submit (text + white circle + arrow): forms 2 & 5 only
   -------------------------------------------------------------------------- */
/* GF Orbital often uses flex on .gform_footer; text-align alone won’t move the submit — end-align the row */
#gform_wrapper_2 .gform_footer,
#gform_wrapper_2 .gform-footer,
#gform_wrapper_5 .gform_footer,
#gform_wrapper_5 .gform-footer {
	margin-top: 0.5rem;
	padding: 0;
	border: none;
	text-align: right;
	display: flex !important;
	flex-wrap: wrap;
	justify-content: flex-end !important;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
}

#gform_wrapper_2 .gform_footer input[type="submit"],
#gform_wrapper_2 .gform_footer button[type="submit"],
#gform_wrapper_2 .gform_footer button.gform_button,
#gform_wrapper_2 .gfield--type-submit input[type="submit"],
#gform_wrapper_2 .gfield--type-submit button[type="submit"],
#gform_wrapper_2 .gfield--type-submit button.gform_button,
#gform_wrapper_5 .gform_footer input[type="submit"],
#gform_wrapper_5 .gform_footer button[type="submit"],
#gform_wrapper_5 .gform_footer button.gform_button,
#gform_wrapper_5 .gfield--type-submit input[type="submit"],
#gform_wrapper_5 .gfield--type-submit button[type="submit"],
#gform_wrapper_5 .gfield--type-submit button.gform_button {
	appearance: none;
	-webkit-appearance: none;
	width: auto !important;
	min-width: 8rem;
	min-height: 2.75rem;
	height: auto !important;
	padding: 0.65rem 3.15rem 0.65rem 1.35rem !important;
	border: none !important;
	border-radius: 999px !important;
	background-color: #d2fc51 !important;
	background-repeat: no-repeat !important;
	background-position: right 0.45rem center !important;
	background-size: 40px 32px !important;
	color: #0f2902 !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	cursor: pointer;
	box-shadow: none !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	text-align: center;
	transition: background-color 0.2s ease, color 0.2s ease, background-image 0.2s ease;
	position: relative;
}

/* White circle + FA arrow-right (solid path in SVG); inputs cannot use ::after */
#gform_wrapper_2 .gform_footer input[type="submit"],
#gform_wrapper_2 .gfield--type-submit input[type="submit"],
#gform_wrapper_5 .gform_footer input[type="submit"],
#gform_wrapper_5 .gfield--type-submit input[type="submit"] {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='32' viewBox='0 0 40 32' fill='none'%3E%3Ccircle cx='20' cy='16' r='12' fill='%23fff'/%3E%3Cg transform='translate(20 16) scale(0.031) translate(-224 -256)'%3E%3Cpath fill='%230F2902' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/g%3E%3C/svg%3E") !important;
}

#gform_wrapper_2 .gform_footer button[type="submit"],
#gform_wrapper_2 .gform_footer button.gform_button,
#gform_wrapper_2 .gfield--type-submit button[type="submit"],
#gform_wrapper_2 .gfield--type-submit button.gform_button,
#gform_wrapper_5 .gform_footer button[type="submit"],
#gform_wrapper_5 .gform_footer button.gform_button,
#gform_wrapper_5 .gfield--type-submit button[type="submit"],
#gform_wrapper_5 .gfield--type-submit button.gform_button {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='32' viewBox='0 0 40 32'%3E%3Ccircle cx='20' cy='16' r='12' fill='%23fff'/%3E%3C/svg%3E") !important;
}

#gform_wrapper_2 .gform_footer button[type="submit"]::after,
#gform_wrapper_2 .gform_footer button.gform_button::after,
#gform_wrapper_2 .gfield--type-submit button[type="submit"]::after,
#gform_wrapper_2 .gfield--type-submit button.gform_button::after,
#gform_wrapper_5 .gform_footer button[type="submit"]::after,
#gform_wrapper_5 .gform_footer button.gform_button::after,
#gform_wrapper_5 .gfield--type-submit button[type="submit"]::after,
#gform_wrapper_5 .gfield--type-submit button.gform_button::after {
	content: "";
	width: 1em;
	height: 1em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='black' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='black' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E") no-repeat center / contain;
	position: absolute;
	right: calc(0.45rem + 20px);
	top: 50%;
	transform: translate(50%, -50%);
	color: #0f2902;
	font-size: 0.85rem;
	pointer-events: none;
}

/* GF “link” submit = <button type="button"> + inline SVG; flex was squashing it — we only use the CSS background */
#gform_wrapper_2 .gform_footer button[type="submit"] svg,
#gform_wrapper_2 .gform_footer button.gform_button svg,
#gform_wrapper_2 .gfield--type-submit button[type="submit"] svg,
#gform_wrapper_2 .gfield--type-submit button.gform_button svg,
#gform_wrapper_5 .gform_footer button[type="submit"] svg,
#gform_wrapper_5 .gform_footer button.gform_button svg,
#gform_wrapper_5 .gfield--type-submit button[type="submit"] svg,
#gform_wrapper_5 .gfield--type-submit button.gform_button svg {
	display: none !important;
}

#gform_wrapper_2 .gform_footer input[type="submit"]:hover,
#gform_wrapper_2 .gform_footer button[type="submit"]:hover,
#gform_wrapper_2 .gform_footer button.gform_button:hover,
#gform_wrapper_2 .gfield--type-submit input[type="submit"]:hover,
#gform_wrapper_2 .gfield--type-submit button[type="submit"]:hover,
#gform_wrapper_2 .gfield--type-submit button.gform_button:hover,
#gform_wrapper_5 .gform_footer input[type="submit"]:hover,
#gform_wrapper_5 .gform_footer button[type="submit"]:hover,
#gform_wrapper_5 .gform_footer button.gform_button:hover,
#gform_wrapper_5 .gfield--type-submit input[type="submit"]:hover,
#gform_wrapper_5 .gfield--type-submit button[type="submit"]:hover,
#gform_wrapper_5 .gfield--type-submit button.gform_button:hover {
	background-color: #0f2902 !important;
	color: #fff !important;
}

#gform_wrapper_2 .gform_footer input[type="submit"]:hover,
#gform_wrapper_2 .gfield--type-submit input[type="submit"]:hover,
#gform_wrapper_5 .gform_footer input[type="submit"]:hover,
#gform_wrapper_5 .gfield--type-submit input[type="submit"]:hover {
	/* Lime circle + dark FA arrow on dark green hover */
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='32' viewBox='0 0 40 32' fill='none'%3E%3Ccircle cx='20' cy='16' r='12' fill='%23D2FC51'/%3E%3Cg transform='translate(20 16) scale(0.031) translate(-224 -256)'%3E%3Cpath fill='%230F2902' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/g%3E%3C/svg%3E") !important;
}

#gform_wrapper_2 .gform_footer button[type="submit"]:hover,
#gform_wrapper_2 .gform_footer button.gform_button:hover,
#gform_wrapper_2 .gfield--type-submit button[type="submit"]:hover,
#gform_wrapper_2 .gfield--type-submit button.gform_button:hover,
#gform_wrapper_5 .gform_footer button[type="submit"]:hover,
#gform_wrapper_5 .gform_footer button.gform_button:hover,
#gform_wrapper_5 .gfield--type-submit button[type="submit"]:hover,
#gform_wrapper_5 .gfield--type-submit button.gform_button:hover {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='32' viewBox='0 0 40 32'%3E%3Ccircle cx='20' cy='16' r='12' fill='%23D2FC51'/%3E%3C/svg%3E") !important;
}

#gform_wrapper_2 .gform_footer button[type="submit"]:hover::after,
#gform_wrapper_2 .gform_footer button.gform_button:hover::after,
#gform_wrapper_2 .gfield--type-submit button[type="submit"]:hover::after,
#gform_wrapper_2 .gfield--type-submit button.gform_button:hover::after,
#gform_wrapper_5 .gform_footer button[type="submit"]:hover::after,
#gform_wrapper_5 .gform_footer button.gform_button:hover::after,
#gform_wrapper_5 .gfield--type-submit button[type="submit"]:hover::after,
#gform_wrapper_5 .gfield--type-submit button.gform_button:hover::after {
	color: #0f2902 !important;
}

#gform_wrapper_2 .gform_footer input[type="submit"]:focus,
#gform_wrapper_2 .gform_footer input[type="submit"]:focus-visible,
#gform_wrapper_2 .gform_footer button[type="submit"]:focus,
#gform_wrapper_2 .gform_footer button[type="submit"]:focus-visible,
#gform_wrapper_2 .gform_footer button.gform_button:focus,
#gform_wrapper_2 .gform_footer button.gform_button:focus-visible,
#gform_wrapper_2 .gfield--type-submit input[type="submit"]:focus,
#gform_wrapper_2 .gfield--type-submit input[type="submit"]:focus-visible,
#gform_wrapper_2 .gfield--type-submit button[type="submit"]:focus,
#gform_wrapper_2 .gfield--type-submit button[type="submit"]:focus-visible,
#gform_wrapper_2 .gfield--type-submit button.gform_button:focus,
#gform_wrapper_2 .gfield--type-submit button.gform_button:focus-visible,
#gform_wrapper_5 .gform_footer input[type="submit"]:focus,
#gform_wrapper_5 .gform_footer input[type="submit"]:focus-visible,
#gform_wrapper_5 .gform_footer button[type="submit"]:focus,
#gform_wrapper_5 .gform_footer button[type="submit"]:focus-visible,
#gform_wrapper_5 .gform_footer button.gform_button:focus,
#gform_wrapper_5 .gform_footer button.gform_button:focus-visible,
#gform_wrapper_5 .gfield--type-submit input[type="submit"]:focus,
#gform_wrapper_5 .gfield--type-submit input[type="submit"]:focus-visible,
#gform_wrapper_5 .gfield--type-submit button[type="submit"]:focus,
#gform_wrapper_5 .gfield--type-submit button[type="submit"]:focus-visible,
#gform_wrapper_5 .gfield--type-submit button.gform_button:focus,
#gform_wrapper_5 .gfield--type-submit button.gform_button:focus-visible {
	outline: 2px solid #0f2902;
	outline-offset: 2px;
	box-shadow: none !important;
}

/*
 * GF 6 (partner / express interest): match quote form layout + pill submit.
 * Scope: html/body + #tpr-get-started #gform_wrapper_6 (e.g. projects template). Franchise page uses form 7 below.
 * GF default “link” submit is <button type="button" id="gform_submit_button_6_link"> — not type=submit, so
 * always include .gform_button / #gform_submit_button_6_link, not only button[type="submit"].
 */
html body #gform_wrapper_6.gform_wrapper,
#tpr-get-started #gform_wrapper_6.gform_wrapper {
	--gf-color-danger: #ff6333 !important;
	--gf-color-danger-rgb: 255, 99, 51 !important;
}

html body #gform_wrapper_6.gform_wrapper.gform-theme--framework,
#tpr-get-started #gform_wrapper_6.gform_wrapper.gform-theme--framework {
	--gf-ctrl-bg-color: #e7eae6;
	--gf-ctrl-border-color: transparent;
	--gf-ctrl-border-color-focus: #0f2902;
	--gf-ctrl-border-width: 1px;
	--gf-ctrl-radius: 50px;
	--gf-ctrl-padding-x: 1.1rem;
	--gf-ctrl-padding-y: 0.65rem;
	--gf-color-in-ctrl-contrast: #0f2902;
	--gf-ctrl-textarea-radius: 1rem;
}

html body #gform_wrapper_6 input[type="tel"],
html body #gform_6 input[type="tel"],
#tpr-get-started #gform_wrapper_6 input[type="tel"],
#tpr-get-started #gform_6 input[type="tel"] {
	box-shadow: none !important;
	filter: none !important;
}

html body #gform_wrapper_6 .validation_error,
html body #gform_wrapper_6 .gfield_error .validation_message,
#tpr-get-started #gform_wrapper_6 .validation_error,
#tpr-get-started #gform_wrapper_6 .gfield_error .validation_message {
	color: #ff6333 !important;
}

html body #gform_wrapper_6 .gfield_error input,
html body #gform_wrapper_6 .gfield_error select,
html body #gform_wrapper_6 .gfield_error textarea,
#tpr-get-started #gform_wrapper_6 .gfield_error input,
#tpr-get-started #gform_wrapper_6 .gfield_error select,
#tpr-get-started #gform_wrapper_6 .gfield_error textarea {
	border-color: #ff6333 !important;
}

html body #gform_wrapper_6 .gfield_required,
#tpr-get-started #gform_wrapper_6 .gfield_required {
	color: #ff6333 !important;
}

html body #gform_wrapper_6 .gform_heading,
#tpr-get-started #gform_wrapper_6 .gform_heading {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
	padding-top: 0 !important;
	padding-block-start: 0 !important;
}

html body #gform_wrapper_6 .gfield_label,
html body #gform_wrapper_6 .gform-field-label,
html body #gform_wrapper_6 legend.gfield_label,
#tpr-get-started #gform_wrapper_6 .gfield_label,
#tpr-get-started #gform_wrapper_6 .gform-field-label,
#tpr-get-started #gform_wrapper_6 legend.gfield_label {
	font-weight: 700 !important;
	color: #0f2902;
}

html body #gform_wrapper_6 .gform_fields,
#tpr-get-started #gform_wrapper_6 .gform_fields {
	gap: 10px 1rem !important;
	row-gap: 10px !important;
	column-gap: 1rem !important;
}

html body #gform_wrapper_6 .gfield,
#tpr-get-started #gform_wrapper_6 .gfield {
	margin-block: 0 !important;
	margin-inline: 0 !important;
	padding-block: 0 !important;
	padding-inline: 0 !important;
}

html body #gform_wrapper_6 .gfield_label,
html body #gform_wrapper_6 legend.gfield_label,
#tpr-get-started #gform_wrapper_6 .gfield_label,
#tpr-get-started #gform_wrapper_6 legend.gfield_label {
	margin-block: 0 0.35rem !important;
	margin-inline: 0 !important;
	padding: 0 !important;
}

html body #gform_wrapper_6 .ginput_container,
#tpr-get-started #gform_wrapper_6 .ginput_container {
	margin-block: 0 !important;
	margin-inline: 0 !important;
	padding: 0 !important;
}

html body #gform_wrapper_6 .gfield_description,
#tpr-get-started #gform_wrapper_6 .gfield_description {
	margin-block: 0.25rem 0 !important;
}

html body #gform_wrapper_6 .gfield--type-html,
html body #gform_wrapper_6 .gfield--type-section,
#tpr-get-started #gform_wrapper_6 .gfield--type-html,
#tpr-get-started #gform_wrapper_6 .gfield--type-section {
	margin-block: 0.35rem 0 !important;
}

html body #gform_wrapper_6 input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="image"]),
html body #gform_wrapper_6 textarea,
html body #gform_wrapper_6 select,
html body #gform_wrapper_6 .ginput_container,
html body #gform_wrapper_6 .ginput_container input,
html body #gform_wrapper_6 .ginput_container textarea,
html body #gform_wrapper_6 .ginput_container select,
#tpr-get-started #gform_wrapper_6 input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="image"]),
#tpr-get-started #gform_wrapper_6 textarea,
#tpr-get-started #gform_wrapper_6 select,
#tpr-get-started #gform_wrapper_6 .ginput_container,
#tpr-get-started #gform_wrapper_6 .ginput_container input,
#tpr-get-started #gform_wrapper_6 .ginput_container textarea,
#tpr-get-started #gform_wrapper_6 .ginput_container select {
	box-shadow: none !important;
	filter: none !important;
}

html body #gform_wrapper_6 input:focus,
html body #gform_wrapper_6 input:focus-visible,
html body #gform_wrapper_6 textarea:focus,
html body #gform_wrapper_6 textarea:focus-visible,
html body #gform_wrapper_6 select:focus,
html body #gform_wrapper_6 select:focus-visible,
#tpr-get-started #gform_wrapper_6 input:focus,
#tpr-get-started #gform_wrapper_6 input:focus-visible,
#tpr-get-started #gform_wrapper_6 textarea:focus,
#tpr-get-started #gform_wrapper_6 textarea:focus-visible,
#tpr-get-started #gform_wrapper_6 select:focus,
#tpr-get-started #gform_wrapper_6 select:focus-visible {
	box-shadow: none !important;
	outline: none !important;
	filter: none !important;
	--tw-ring-shadow: 0 0 #0000 !important;
	--tw-ring-color: transparent !important;
	border-color: #0f2902;
	border-width: 2px;
}

html body #gform_wrapper_6 .chosen-container-single .chosen-single,
html body #gform_wrapper_6 .chosen-container-active.chosen-with-drop .chosen-single,
#tpr-get-started #gform_wrapper_6 .chosen-container-single .chosen-single,
#tpr-get-started #gform_wrapper_6 .chosen-container-active.chosen-with-drop .chosen-single {
	box-shadow: none !important;
	outline: none !important;
	filter: none !important;
}

html body #gform_wrapper_6 .gform_footer input[type="submit"],
html body #gform_wrapper_6 .gform_footer button[type="submit"],
html body #gform_wrapper_6 .gform_footer button[type="button"].gform_button,
html body #gform_wrapper_6 .gform_footer button.gform_button,
html body #gform_wrapper_6 input.gform_button[type="submit"],
html body #gform_wrapper_6 button.gform_button,
#tpr-get-started #gform_wrapper_6 .gform_footer input[type="submit"],
#tpr-get-started #gform_wrapper_6 .gform_footer button[type="submit"],
#tpr-get-started #gform_wrapper_6 .gform_footer button[type="button"].gform_button,
#tpr-get-started #gform_wrapper_6 .gform_footer button.gform_button,
#tpr-get-started #gform_wrapper_6 input.gform_button[type="submit"],
#tpr-get-started #gform_wrapper_6 button.gform_button {
	box-shadow: none !important;
	font-weight: 700 !important;
}

html body #gform_wrapper_6 .ginput_container_select,
#tpr-get-started #gform_wrapper_6 .ginput_container_select {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	display: block;
}

html body #gform_wrapper_6 .ginput_container_select > select,
#tpr-get-started #gform_wrapper_6 .ginput_container_select > select {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

html body #gform_wrapper_6 .ginput_container_select .chosen-container,
html body #gform_wrapper_6 .ginput_container_select .chosen-container-single,
#tpr-get-started #gform_wrapper_6 .ginput_container_select .chosen-container,
#tpr-get-started #gform_wrapper_6 .ginput_container_select .chosen-container-single {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

html body #gform_wrapper_6 .ginput_container_select .chosen-container-single .chosen-single,
#tpr-get-started #gform_wrapper_6 .ginput_container_select .chosen-container-single .chosen-single {
	width: 100% !important;
	box-sizing: border-box;
	display: flex !important;
	align-items: center !important;
}

html body #gform_wrapper_6 .ginput_container_select .chosen-container-single .chosen-single span,
#tpr-get-started #gform_wrapper_6 .ginput_container_select .chosen-container-single .chosen-single span {
	line-height: 1.45 !important;
	max-height: none !important;
}

html body #gform_wrapper_6 .ginput_container_date:not(.gform-grid-col),
#tpr-get-started #gform_wrapper_6 .ginput_container_date:not(.gform-grid-col) {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0.5rem;
}

html body #gform_wrapper_6 .ginput_container_date:not(.gform-grid-col) > input,
#tpr-get-started #gform_wrapper_6 .ginput_container_date:not(.gform-grid-col) > input {
	flex: 1 1 0;
	min-width: 0;
	width: auto !important;
	max-width: none !important;
	box-sizing: border-box;
}

html body #gform_wrapper_6.gform-theme--framework .gfield--input-type-datepicker .ginput_container_date input,
#tpr-get-started #gform_wrapper_6.gform-theme--framework .gfield--input-type-datepicker .ginput_container_date input {
	--gf-local-width: 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

html body #gform_wrapper_6 .ginput_container_date:not(.gform-grid-col) .ui-datepicker-trigger,
#tpr-get-started #gform_wrapper_6 .ginput_container_date:not(.gform-grid-col) .ui-datepicker-trigger {
	flex-shrink: 0;
}

html body #gform_wrapper_6 .gform_footer,
html body #gform_wrapper_6 .gform-footer,
html body #gform_wrapper_6 .gform_page_footer,
html body #gform_wrapper_6 .gform-page-footer,
#tpr-get-started #gform_wrapper_6 .gform_footer,
#tpr-get-started #gform_wrapper_6 .gform-footer,
#tpr-get-started #gform_wrapper_6 .gform_page_footer,
#tpr-get-started #gform_wrapper_6 .gform-page-footer {
	margin-top: 0.5rem;
	padding: 0;
	border: none;
	text-align: right;
	display: flex !important;
	flex-wrap: wrap;
	justify-content: flex-end !important;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
}

html body #gform_wrapper_6 .gform_footer input[type="submit"],
html body #gform_wrapper_6 .gform_footer button[type="submit"],
html body #gform_wrapper_6 .gform_footer button[type="button"].gform_button,
html body #gform_wrapper_6 .gform_footer button.gform_button,
html body #gform_wrapper_6 .gform_page_footer input[type="submit"],
html body #gform_wrapper_6 .gform_page_footer button[type="submit"],
html body #gform_wrapper_6 .gform_page_footer button[type="button"].gform_button,
html body #gform_wrapper_6 .gform_page_footer button.gform_button,
html body #gform_wrapper_6 #gform_submit_button_6,
html body #gform_wrapper_6 #gform_submit_button_6_link,
html body #gform_wrapper_6 .gfield--type-submit input[type="submit"],
html body #gform_wrapper_6 .gfield--type-submit button[type="submit"],
html body #gform_wrapper_6 .gfield--type-submit button[type="button"],
html body #gform_wrapper_6 .gfield--type-submit button.gform_button,
#tpr-get-started #gform_wrapper_6 .gform_footer input[type="submit"],
#tpr-get-started #gform_wrapper_6 .gform_footer button[type="submit"],
#tpr-get-started #gform_wrapper_6 .gform_footer button[type="button"].gform_button,
#tpr-get-started #gform_wrapper_6 .gform_footer button.gform_button,
#tpr-get-started #gform_wrapper_6 .gform_page_footer input[type="submit"],
#tpr-get-started #gform_wrapper_6 .gform_page_footer button[type="submit"],
#tpr-get-started #gform_wrapper_6 .gform_page_footer button[type="button"].gform_button,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button.gform_button,
#tpr-get-started #gform_wrapper_6 #gform_submit_button_6,
#tpr-get-started #gform_wrapper_6 #gform_submit_button_6_link,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit input[type="submit"],
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button[type="submit"],
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button[type="button"],
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button.gform_button {
	appearance: none;
	-webkit-appearance: none;
	width: auto !important;
	min-width: 8rem;
	min-height: 2.75rem;
	height: auto !important;
	padding: 0.65rem 3.15rem 0.65rem 1.35rem !important;
	border: none !important;
	border-radius: 999px !important;
	background-color: #d2fc51 !important;
	background-repeat: no-repeat !important;
	background-position: right 0.45rem center !important;
	background-size: 40px 32px !important;
	color: #0f2902 !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	cursor: pointer;
	box-shadow: none !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	text-align: center;
	transition: background-color 0.2s ease, color 0.2s ease, background-image 0.2s ease;
	position: relative;
}

html body #gform_wrapper_6 .gform_footer input[type="submit"],
html body #gform_wrapper_6 .gform_page_footer input[type="submit"],
html body #gform_wrapper_6 #gform_submit_button_6,
html body #gform_wrapper_6 .gfield--type-submit input[type="submit"],
#tpr-get-started #gform_wrapper_6 .gform_footer input[type="submit"],
#tpr-get-started #gform_wrapper_6 .gform_page_footer input[type="submit"],
#tpr-get-started #gform_wrapper_6 #gform_submit_button_6,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit input[type="submit"] {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='32' viewBox='0 0 40 32' fill='none'%3E%3Ccircle cx='20' cy='16' r='12' fill='%23fff'/%3E%3Cg transform='translate(20 16) scale(0.031) translate(-224 -256)'%3E%3Cpath fill='%230F2902' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/g%3E%3C/svg%3E") !important;
}

html body #gform_wrapper_6 .gform_footer button[type="submit"],
html body #gform_wrapper_6 .gform_footer button[type="button"].gform_button,
html body #gform_wrapper_6 .gform_footer button.gform_button,
html body #gform_wrapper_6 .gform_page_footer button[type="submit"],
html body #gform_wrapper_6 .gform_page_footer button[type="button"].gform_button,
html body #gform_wrapper_6 .gform_page_footer button.gform_button,
html body #gform_wrapper_6 #gform_submit_button_6_link,
html body #gform_wrapper_6 .gfield--type-submit button[type="submit"],
html body #gform_wrapper_6 .gfield--type-submit button[type="button"],
html body #gform_wrapper_6 .gfield--type-submit button.gform_button,
#tpr-get-started #gform_wrapper_6 .gform_footer button[type="submit"],
#tpr-get-started #gform_wrapper_6 .gform_footer button[type="button"].gform_button,
#tpr-get-started #gform_wrapper_6 .gform_footer button.gform_button,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button[type="submit"],
#tpr-get-started #gform_wrapper_6 .gform_page_footer button[type="button"].gform_button,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button.gform_button,
#tpr-get-started #gform_wrapper_6 #gform_submit_button_6_link,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button[type="submit"],
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button[type="button"],
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button.gform_button {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='32' viewBox='0 0 40 32'%3E%3Ccircle cx='20' cy='16' r='12' fill='%23fff'/%3E%3C/svg%3E") !important;
}

html body #gform_wrapper_6 .gform_footer button[type="submit"]::after,
html body #gform_wrapper_6 .gform_footer button[type="button"].gform_button::after,
html body #gform_wrapper_6 .gform_footer button.gform_button::after,
html body #gform_wrapper_6 .gform_page_footer button[type="submit"]::after,
html body #gform_wrapper_6 .gform_page_footer button[type="button"].gform_button::after,
html body #gform_wrapper_6 .gform_page_footer button.gform_button::after,
html body #gform_wrapper_6 #gform_submit_button_6_link::after,
html body #gform_wrapper_6 .gfield--type-submit button[type="submit"]::after,
html body #gform_wrapper_6 .gfield--type-submit button[type="button"]::after,
html body #gform_wrapper_6 .gfield--type-submit button.gform_button::after,
#tpr-get-started #gform_wrapper_6 .gform_footer button[type="submit"]::after,
#tpr-get-started #gform_wrapper_6 .gform_footer button[type="button"].gform_button::after,
#tpr-get-started #gform_wrapper_6 .gform_footer button.gform_button::after,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button[type="submit"]::after,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button[type="button"].gform_button::after,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button.gform_button::after,
#tpr-get-started #gform_wrapper_6 #gform_submit_button_6_link::after,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button[type="submit"]::after,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button[type="button"]::after,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button.gform_button::after {
	content: "";
	width: 1em;
	height: 1em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='black' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='black' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E") no-repeat center / contain;
	position: absolute;
	right: calc(0.45rem + 20px);
	top: 50%;
	transform: translate(50%, -50%);
	color: #0f2902;
	font-size: 0.85rem;
	pointer-events: none;
}

html body #gform_wrapper_6 .gform_footer button[type="submit"] svg,
html body #gform_wrapper_6 .gform_footer button[type="button"].gform_button svg,
html body #gform_wrapper_6 .gform_footer button.gform_button svg,
html body #gform_wrapper_6 .gform_page_footer button[type="submit"] svg,
html body #gform_wrapper_6 .gform_page_footer button[type="button"].gform_button svg,
html body #gform_wrapper_6 .gform_page_footer button.gform_button svg,
html body #gform_wrapper_6 #gform_submit_button_6_link svg,
html body #gform_wrapper_6 .gfield--type-submit button[type="submit"] svg,
html body #gform_wrapper_6 .gfield--type-submit button[type="button"] svg,
html body #gform_wrapper_6 .gfield--type-submit button.gform_button svg,
#tpr-get-started #gform_wrapper_6 .gform_footer button[type="submit"] svg,
#tpr-get-started #gform_wrapper_6 .gform_footer button[type="button"].gform_button svg,
#tpr-get-started #gform_wrapper_6 .gform_footer button.gform_button svg,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button[type="submit"] svg,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button[type="button"].gform_button svg,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button.gform_button svg,
#tpr-get-started #gform_wrapper_6 #gform_submit_button_6_link svg,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button[type="submit"] svg,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button[type="button"] svg,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button.gform_button svg {
	display: none !important;
}

html body #gform_wrapper_6 .gform_footer input[type="submit"]:hover,
html body #gform_wrapper_6 .gform_footer button[type="submit"]:hover,
html body #gform_wrapper_6 .gform_footer button[type="button"].gform_button:hover,
html body #gform_wrapper_6 .gform_footer button.gform_button:hover,
html body #gform_wrapper_6 .gform_page_footer input[type="submit"]:hover,
html body #gform_wrapper_6 .gform_page_footer button[type="submit"]:hover,
html body #gform_wrapper_6 .gform_page_footer button[type="button"].gform_button:hover,
html body #gform_wrapper_6 .gform_page_footer button.gform_button:hover,
html body #gform_wrapper_6 #gform_submit_button_6:hover,
html body #gform_wrapper_6 #gform_submit_button_6_link:hover,
html body #gform_wrapper_6 .gfield--type-submit input[type="submit"]:hover,
html body #gform_wrapper_6 .gfield--type-submit button[type="submit"]:hover,
html body #gform_wrapper_6 .gfield--type-submit button[type="button"]:hover,
html body #gform_wrapper_6 .gfield--type-submit button.gform_button:hover,
#tpr-get-started #gform_wrapper_6 .gform_footer input[type="submit"]:hover,
#tpr-get-started #gform_wrapper_6 .gform_footer button[type="submit"]:hover,
#tpr-get-started #gform_wrapper_6 .gform_footer button[type="button"].gform_button:hover,
#tpr-get-started #gform_wrapper_6 .gform_footer button.gform_button:hover,
#tpr-get-started #gform_wrapper_6 .gform_page_footer input[type="submit"]:hover,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button[type="submit"]:hover,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button[type="button"].gform_button:hover,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button.gform_button:hover,
#tpr-get-started #gform_wrapper_6 #gform_submit_button_6:hover,
#tpr-get-started #gform_wrapper_6 #gform_submit_button_6_link:hover,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit input[type="submit"]:hover,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button[type="submit"]:hover,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button[type="button"]:hover,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button.gform_button:hover {
	background-color: #0f2902 !important;
	color: #fff !important;
}

html body #gform_wrapper_6 .gform_footer input[type="submit"]:hover,
html body #gform_wrapper_6 .gform_page_footer input[type="submit"]:hover,
html body #gform_wrapper_6 #gform_submit_button_6:hover,
html body #gform_wrapper_6 .gfield--type-submit input[type="submit"]:hover,
#tpr-get-started #gform_wrapper_6 .gform_footer input[type="submit"]:hover,
#tpr-get-started #gform_wrapper_6 .gform_page_footer input[type="submit"]:hover,
#tpr-get-started #gform_wrapper_6 #gform_submit_button_6:hover,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit input[type="submit"]:hover {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='32' viewBox='0 0 40 32' fill='none'%3E%3Ccircle cx='20' cy='16' r='12' fill='%23D2FC51'/%3E%3Cg transform='translate(20 16) scale(0.031) translate(-224 -256)'%3E%3Cpath fill='%230F2902' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/g%3E%3C/svg%3E") !important;
}

html body #gform_wrapper_6 .gform_footer button[type="submit"]:hover,
html body #gform_wrapper_6 .gform_footer button[type="button"].gform_button:hover,
html body #gform_wrapper_6 .gform_footer button.gform_button:hover,
html body #gform_wrapper_6 .gform_page_footer button[type="submit"]:hover,
html body #gform_wrapper_6 .gform_page_footer button[type="button"].gform_button:hover,
html body #gform_wrapper_6 .gform_page_footer button.gform_button:hover,
html body #gform_wrapper_6 #gform_submit_button_6_link:hover,
html body #gform_wrapper_6 .gfield--type-submit button[type="submit"]:hover,
html body #gform_wrapper_6 .gfield--type-submit button[type="button"]:hover,
html body #gform_wrapper_6 .gfield--type-submit button.gform_button:hover,
#tpr-get-started #gform_wrapper_6 .gform_footer button[type="submit"]:hover,
#tpr-get-started #gform_wrapper_6 .gform_footer button[type="button"].gform_button:hover,
#tpr-get-started #gform_wrapper_6 .gform_footer button.gform_button:hover,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button[type="submit"]:hover,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button[type="button"].gform_button:hover,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button.gform_button:hover,
#tpr-get-started #gform_wrapper_6 #gform_submit_button_6_link:hover,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button[type="submit"]:hover,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button[type="button"]:hover,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button.gform_button:hover {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='32' viewBox='0 0 40 32'%3E%3Ccircle cx='20' cy='16' r='12' fill='%23D2FC51'/%3E%3C/svg%3E") !important;
}

html body #gform_wrapper_6 .gform_footer button[type="submit"]:hover::after,
html body #gform_wrapper_6 .gform_footer button[type="button"].gform_button:hover::after,
html body #gform_wrapper_6 .gform_footer button.gform_button:hover::after,
html body #gform_wrapper_6 .gform_page_footer button[type="submit"]:hover::after,
html body #gform_wrapper_6 .gform_page_footer button[type="button"].gform_button:hover::after,
html body #gform_wrapper_6 .gform_page_footer button.gform_button:hover::after,
html body #gform_wrapper_6 #gform_submit_button_6_link:hover::after,
html body #gform_wrapper_6 .gfield--type-submit button[type="submit"]:hover::after,
html body #gform_wrapper_6 .gfield--type-submit button[type="button"]:hover::after,
html body #gform_wrapper_6 .gfield--type-submit button.gform_button:hover::after,
#tpr-get-started #gform_wrapper_6 .gform_footer button[type="submit"]:hover::after,
#tpr-get-started #gform_wrapper_6 .gform_footer button[type="button"].gform_button:hover::after,
#tpr-get-started #gform_wrapper_6 .gform_footer button.gform_button:hover::after,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button[type="submit"]:hover::after,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button[type="button"].gform_button:hover::after,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button.gform_button:hover::after,
#tpr-get-started #gform_wrapper_6 #gform_submit_button_6_link:hover::after,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button[type="submit"]:hover::after,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button[type="button"]:hover::after,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button.gform_button:hover::after {
	color: #0f2902 !important;
}

html body #gform_wrapper_6 .gform_footer input[type="submit"]:focus,
html body #gform_wrapper_6 .gform_footer input[type="submit"]:focus-visible,
html body #gform_wrapper_6 .gform_footer button[type="submit"]:focus,
html body #gform_wrapper_6 .gform_footer button[type="submit"]:focus-visible,
html body #gform_wrapper_6 .gform_footer button[type="button"].gform_button:focus,
html body #gform_wrapper_6 .gform_footer button[type="button"].gform_button:focus-visible,
html body #gform_wrapper_6 .gform_footer button.gform_button:focus,
html body #gform_wrapper_6 .gform_footer button.gform_button:focus-visible,
html body #gform_wrapper_6 .gform_page_footer input[type="submit"]:focus,
html body #gform_wrapper_6 .gform_page_footer input[type="submit"]:focus-visible,
html body #gform_wrapper_6 .gform_page_footer button[type="submit"]:focus,
html body #gform_wrapper_6 .gform_page_footer button[type="submit"]:focus-visible,
html body #gform_wrapper_6 .gform_page_footer button[type="button"].gform_button:focus,
html body #gform_wrapper_6 .gform_page_footer button[type="button"].gform_button:focus-visible,
html body #gform_wrapper_6 .gform_page_footer button.gform_button:focus,
html body #gform_wrapper_6 .gform_page_footer button.gform_button:focus-visible,
html body #gform_wrapper_6 #gform_submit_button_6:focus,
html body #gform_wrapper_6 #gform_submit_button_6:focus-visible,
html body #gform_wrapper_6 #gform_submit_button_6_link:focus,
html body #gform_wrapper_6 #gform_submit_button_6_link:focus-visible,
html body #gform_wrapper_6 .gfield--type-submit input[type="submit"]:focus,
html body #gform_wrapper_6 .gfield--type-submit input[type="submit"]:focus-visible,
html body #gform_wrapper_6 .gfield--type-submit button[type="submit"]:focus,
html body #gform_wrapper_6 .gfield--type-submit button[type="submit"]:focus-visible,
html body #gform_wrapper_6 .gfield--type-submit button[type="button"]:focus,
html body #gform_wrapper_6 .gfield--type-submit button[type="button"]:focus-visible,
html body #gform_wrapper_6 .gfield--type-submit button.gform_button:focus,
html body #gform_wrapper_6 .gfield--type-submit button.gform_button:focus-visible,
#tpr-get-started #gform_wrapper_6 .gform_footer input[type="submit"]:focus,
#tpr-get-started #gform_wrapper_6 .gform_footer input[type="submit"]:focus-visible,
#tpr-get-started #gform_wrapper_6 .gform_footer button[type="submit"]:focus,
#tpr-get-started #gform_wrapper_6 .gform_footer button[type="submit"]:focus-visible,
#tpr-get-started #gform_wrapper_6 .gform_footer button[type="button"].gform_button:focus,
#tpr-get-started #gform_wrapper_6 .gform_footer button[type="button"].gform_button:focus-visible,
#tpr-get-started #gform_wrapper_6 .gform_footer button.gform_button:focus,
#tpr-get-started #gform_wrapper_6 .gform_footer button.gform_button:focus-visible,
#tpr-get-started #gform_wrapper_6 .gform_page_footer input[type="submit"]:focus,
#tpr-get-started #gform_wrapper_6 .gform_page_footer input[type="submit"]:focus-visible,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button[type="submit"]:focus,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button[type="submit"]:focus-visible,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button[type="button"].gform_button:focus,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button[type="button"].gform_button:focus-visible,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button.gform_button:focus,
#tpr-get-started #gform_wrapper_6 .gform_page_footer button.gform_button:focus-visible,
#tpr-get-started #gform_wrapper_6 #gform_submit_button_6:focus,
#tpr-get-started #gform_wrapper_6 #gform_submit_button_6:focus-visible,
#tpr-get-started #gform_wrapper_6 #gform_submit_button_6_link:focus,
#tpr-get-started #gform_wrapper_6 #gform_submit_button_6_link:focus-visible,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit input[type="submit"]:focus,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit input[type="submit"]:focus-visible,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button[type="submit"]:focus,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button[type="submit"]:focus-visible,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button[type="button"]:focus,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button[type="button"]:focus-visible,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button.gform_button:focus,
#tpr-get-started #gform_wrapper_6 .gfield--type-submit button.gform_button:focus-visible {
	outline: 2px solid #0f2902;
	outline-offset: 2px;
	box-shadow: none !important;
}


/*
 * GF 7 (franchise / express interest): match quote form layout + pill submit.
 * Scope: html/body + #gform_wrapper_7 (franchise opportunities page; mirrors form 6 styling).
 * GF default “link” submit is <button type="button" id="gform_submit_button_7_link"> — not type=submit, so
 * always include .gform_button / #gform_submit_button_7_link, not only button[type="submit"].
 */
html body #gform_wrapper_7.gform_wrapper,
#tpr-get-started #gform_wrapper_7.gform_wrapper {
	--gf-color-danger: #ff6333 !important;
	--gf-color-danger-rgb: 255, 99, 51 !important;
}

html body #gform_wrapper_7.gform_wrapper.gform-theme--framework,
#tpr-get-started #gform_wrapper_7.gform_wrapper.gform-theme--framework {
	--gf-ctrl-bg-color: #e7eae6;
	--gf-ctrl-border-color: transparent;
	--gf-ctrl-border-color-focus: #0f2902;
	--gf-ctrl-border-width: 1px;
	--gf-ctrl-radius: 50px;
	--gf-ctrl-padding-x: 1.1rem;
	--gf-ctrl-padding-y: 0.65rem;
	--gf-color-in-ctrl-contrast: #0f2902;
	--gf-ctrl-textarea-radius: 1rem;
}

html body #gform_wrapper_7 input[type="tel"],
html body #gform_7 input[type="tel"],
#tpr-get-started #gform_wrapper_7 input[type="tel"],
#tpr-get-started #gform_7 input[type="tel"] {
	box-shadow: none !important;
	filter: none !important;
}

html body #gform_wrapper_7 .validation_error,
html body #gform_wrapper_7 .gfield_error .validation_message,
#tpr-get-started #gform_wrapper_7 .validation_error,
#tpr-get-started #gform_wrapper_7 .gfield_error .validation_message {
	color: #ff6333 !important;
}

html body #gform_wrapper_7 .gfield_error input,
html body #gform_wrapper_7 .gfield_error select,
html body #gform_wrapper_7 .gfield_error textarea,
#tpr-get-started #gform_wrapper_7 .gfield_error input,
#tpr-get-started #gform_wrapper_7 .gfield_error select,
#tpr-get-started #gform_wrapper_7 .gfield_error textarea {
	border-color: #ff6333 !important;
}

html body #gform_wrapper_7 .gfield_required,
#tpr-get-started #gform_wrapper_7 .gfield_required {
	color: #ff6333 !important;
}

html body #gform_wrapper_7 .gform_heading,
#tpr-get-started #gform_wrapper_7 .gform_heading {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
	padding-top: 0 !important;
	padding-block-start: 0 !important;
}

html body #gform_wrapper_7 .gfield_label,
html body #gform_wrapper_7 .gform-field-label,
html body #gform_wrapper_7 legend.gfield_label,
#tpr-get-started #gform_wrapper_7 .gfield_label,
#tpr-get-started #gform_wrapper_7 .gform-field-label,
#tpr-get-started #gform_wrapper_7 legend.gfield_label {
	font-weight: 700 !important;
	color: #0f2902;
}

html body #gform_wrapper_7 .gform_fields,
#tpr-get-started #gform_wrapper_7 .gform_fields {
	gap: 10px 1rem !important;
	row-gap: 10px !important;
	column-gap: 1rem !important;
}

html body #gform_wrapper_7 .gfield,
#tpr-get-started #gform_wrapper_7 .gfield {
	margin-block: 0 !important;
	margin-inline: 0 !important;
	padding-block: 0 !important;
	padding-inline: 0 !important;
}

html body #gform_wrapper_7 .gfield_label,
html body #gform_wrapper_7 legend.gfield_label,
#tpr-get-started #gform_wrapper_7 .gfield_label,
#tpr-get-started #gform_wrapper_7 legend.gfield_label {
	margin-block: 0 0.35rem !important;
	margin-inline: 0 !important;
	padding: 0 !important;
}

html body #gform_wrapper_7 .ginput_container,
#tpr-get-started #gform_wrapper_7 .ginput_container {
	margin-block: 0 !important;
	margin-inline: 0 !important;
	padding: 0 !important;
}

html body #gform_wrapper_7 .gfield_description,
#tpr-get-started #gform_wrapper_7 .gfield_description {
	margin-block: 0.25rem 0 !important;
}

html body #gform_wrapper_7 .gfield--type-html,
html body #gform_wrapper_7 .gfield--type-section,
#tpr-get-started #gform_wrapper_7 .gfield--type-html,
#tpr-get-started #gform_wrapper_7 .gfield--type-section {
	margin-block: 0.35rem 0 !important;
}

html body #gform_wrapper_7 input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="image"]),
html body #gform_wrapper_7 textarea,
html body #gform_wrapper_7 select,
html body #gform_wrapper_7 .ginput_container,
html body #gform_wrapper_7 .ginput_container input,
html body #gform_wrapper_7 .ginput_container textarea,
html body #gform_wrapper_7 .ginput_container select,
#tpr-get-started #gform_wrapper_7 input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="image"]),
#tpr-get-started #gform_wrapper_7 textarea,
#tpr-get-started #gform_wrapper_7 select,
#tpr-get-started #gform_wrapper_7 .ginput_container,
#tpr-get-started #gform_wrapper_7 .ginput_container input,
#tpr-get-started #gform_wrapper_7 .ginput_container textarea,
#tpr-get-started #gform_wrapper_7 .ginput_container select {
	box-shadow: none !important;
	filter: none !important;
}

html body #gform_wrapper_7 input:focus,
html body #gform_wrapper_7 input:focus-visible,
html body #gform_wrapper_7 textarea:focus,
html body #gform_wrapper_7 textarea:focus-visible,
html body #gform_wrapper_7 select:focus,
html body #gform_wrapper_7 select:focus-visible,
#tpr-get-started #gform_wrapper_7 input:focus,
#tpr-get-started #gform_wrapper_7 input:focus-visible,
#tpr-get-started #gform_wrapper_7 textarea:focus,
#tpr-get-started #gform_wrapper_7 textarea:focus-visible,
#tpr-get-started #gform_wrapper_7 select:focus,
#tpr-get-started #gform_wrapper_7 select:focus-visible {
	box-shadow: none !important;
	outline: none !important;
	filter: none !important;
	--tw-ring-shadow: 0 0 #0000 !important;
	--tw-ring-color: transparent !important;
	border-color: #0f2902;
	border-width: 2px;
}

html body #gform_wrapper_7 .chosen-container-single .chosen-single,
html body #gform_wrapper_7 .chosen-container-active.chosen-with-drop .chosen-single,
#tpr-get-started #gform_wrapper_7 .chosen-container-single .chosen-single,
#tpr-get-started #gform_wrapper_7 .chosen-container-active.chosen-with-drop .chosen-single {
	box-shadow: none !important;
	outline: none !important;
	filter: none !important;
}

html body #gform_wrapper_7 .gform_footer input[type="submit"],
html body #gform_wrapper_7 .gform_footer button[type="submit"],
html body #gform_wrapper_7 .gform_footer button[type="button"].gform_button,
html body #gform_wrapper_7 .gform_footer button.gform_button,
html body #gform_wrapper_7 input.gform_button[type="submit"],
html body #gform_wrapper_7 button.gform_button,
#tpr-get-started #gform_wrapper_7 .gform_footer input[type="submit"],
#tpr-get-started #gform_wrapper_7 .gform_footer button[type="submit"],
#tpr-get-started #gform_wrapper_7 .gform_footer button[type="button"].gform_button,
#tpr-get-started #gform_wrapper_7 .gform_footer button.gform_button,
#tpr-get-started #gform_wrapper_7 input.gform_button[type="submit"],
#tpr-get-started #gform_wrapper_7 button.gform_button {
	box-shadow: none !important;
	font-weight: 700 !important;
}

html body #gform_wrapper_7 .ginput_container_select,
#tpr-get-started #gform_wrapper_7 .ginput_container_select {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	display: block;
}

html body #gform_wrapper_7 .ginput_container_select > select,
#tpr-get-started #gform_wrapper_7 .ginput_container_select > select {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

html body #gform_wrapper_7 .ginput_container_select .chosen-container,
html body #gform_wrapper_7 .ginput_container_select .chosen-container-single,
#tpr-get-started #gform_wrapper_7 .ginput_container_select .chosen-container,
#tpr-get-started #gform_wrapper_7 .ginput_container_select .chosen-container-single {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

html body #gform_wrapper_7 .ginput_container_select .chosen-container-single .chosen-single,
#tpr-get-started #gform_wrapper_7 .ginput_container_select .chosen-container-single .chosen-single {
	width: 100% !important;
	box-sizing: border-box;
	display: flex !important;
	align-items: center !important;
}

html body #gform_wrapper_7 .ginput_container_select .chosen-container-single .chosen-single span,
#tpr-get-started #gform_wrapper_7 .ginput_container_select .chosen-container-single .chosen-single span {
	line-height: 1.45 !important;
	max-height: none !important;
}

html body #gform_wrapper_7 .ginput_container_date:not(.gform-grid-col),
#tpr-get-started #gform_wrapper_7 .ginput_container_date:not(.gform-grid-col) {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0.5rem;
}

html body #gform_wrapper_7 .ginput_container_date:not(.gform-grid-col) > input,
#tpr-get-started #gform_wrapper_7 .ginput_container_date:not(.gform-grid-col) > input {
	flex: 1 1 0;
	min-width: 0;
	width: auto !important;
	max-width: none !important;
	box-sizing: border-box;
}

html body #gform_wrapper_7.gform-theme--framework .gfield--input-type-datepicker .ginput_container_date input,
#tpr-get-started #gform_wrapper_7.gform-theme--framework .gfield--input-type-datepicker .ginput_container_date input {
	--gf-local-width: 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

html body #gform_wrapper_7 .ginput_container_date:not(.gform-grid-col) .ui-datepicker-trigger,
#tpr-get-started #gform_wrapper_7 .ginput_container_date:not(.gform-grid-col) .ui-datepicker-trigger {
	flex-shrink: 0;
}

html body #gform_wrapper_7 .gform_footer,
html body #gform_wrapper_7 .gform-footer,
html body #gform_wrapper_7 .gform_page_footer,
html body #gform_wrapper_7 .gform-page-footer,
#tpr-get-started #gform_wrapper_7 .gform_footer,
#tpr-get-started #gform_wrapper_7 .gform-footer,
#tpr-get-started #gform_wrapper_7 .gform_page_footer,
#tpr-get-started #gform_wrapper_7 .gform-page-footer {
	margin-top: 0.5rem;
	padding: 0;
	border: none;
	text-align: right;
	display: flex !important;
	flex-wrap: wrap;
	justify-content: flex-end !important;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
}

html body #gform_wrapper_7 .gform_footer input[type="submit"],
html body #gform_wrapper_7 .gform_footer button[type="submit"],
html body #gform_wrapper_7 .gform_footer button[type="button"].gform_button,
html body #gform_wrapper_7 .gform_footer button.gform_button,
html body #gform_wrapper_7 .gform_page_footer input[type="submit"],
html body #gform_wrapper_7 .gform_page_footer button[type="submit"],
html body #gform_wrapper_7 .gform_page_footer button[type="button"].gform_button,
html body #gform_wrapper_7 .gform_page_footer button.gform_button,
html body #gform_wrapper_7 #gform_submit_button_7,
html body #gform_wrapper_7 #gform_submit_button_7_link,
html body #gform_wrapper_7 .gfield--type-submit input[type="submit"],
html body #gform_wrapper_7 .gfield--type-submit button[type="submit"],
html body #gform_wrapper_7 .gfield--type-submit button[type="button"],
html body #gform_wrapper_7 .gfield--type-submit button.gform_button,
#tpr-get-started #gform_wrapper_7 .gform_footer input[type="submit"],
#tpr-get-started #gform_wrapper_7 .gform_footer button[type="submit"],
#tpr-get-started #gform_wrapper_7 .gform_footer button[type="button"].gform_button,
#tpr-get-started #gform_wrapper_7 .gform_footer button.gform_button,
#tpr-get-started #gform_wrapper_7 .gform_page_footer input[type="submit"],
#tpr-get-started #gform_wrapper_7 .gform_page_footer button[type="submit"],
#tpr-get-started #gform_wrapper_7 .gform_page_footer button[type="button"].gform_button,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button.gform_button,
#tpr-get-started #gform_wrapper_7 #gform_submit_button_7,
#tpr-get-started #gform_wrapper_7 #gform_submit_button_7_link,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit input[type="submit"],
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button[type="submit"],
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button[type="button"],
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button.gform_button {
	appearance: none;
	-webkit-appearance: none;
	width: auto !important;
	min-width: 8rem;
	min-height: 2.75rem;
	height: auto !important;
	padding: 0.65rem 3.15rem 0.65rem 1.35rem !important;
	border: none !important;
	border-radius: 999px !important;
	background-color: #d2fc51 !important;
	background-repeat: no-repeat !important;
	background-position: right 0.45rem center !important;
	background-size: 40px 32px !important;
	color: #0f2902 !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	cursor: pointer;
	box-shadow: none !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	text-align: center;
	transition: background-color 0.2s ease, color 0.2s ease, background-image 0.2s ease;
	position: relative;
}

html body #gform_wrapper_7 .gform_footer input[type="submit"],
html body #gform_wrapper_7 .gform_page_footer input[type="submit"],
html body #gform_wrapper_7 #gform_submit_button_7,
html body #gform_wrapper_7 .gfield--type-submit input[type="submit"],
#tpr-get-started #gform_wrapper_7 .gform_footer input[type="submit"],
#tpr-get-started #gform_wrapper_7 .gform_page_footer input[type="submit"],
#tpr-get-started #gform_wrapper_7 #gform_submit_button_7,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit input[type="submit"] {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='32' viewBox='0 0 40 32' fill='none'%3E%3Ccircle cx='20' cy='16' r='12' fill='%23fff'/%3E%3Cg transform='translate(20 16) scale(0.031) translate(-224 -256)'%3E%3Cpath fill='%230F2902' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/g%3E%3C/svg%3E") !important;
}

html body #gform_wrapper_7 .gform_footer button[type="submit"],
html body #gform_wrapper_7 .gform_footer button[type="button"].gform_button,
html body #gform_wrapper_7 .gform_footer button.gform_button,
html body #gform_wrapper_7 .gform_page_footer button[type="submit"],
html body #gform_wrapper_7 .gform_page_footer button[type="button"].gform_button,
html body #gform_wrapper_7 .gform_page_footer button.gform_button,
html body #gform_wrapper_7 #gform_submit_button_7_link,
html body #gform_wrapper_7 .gfield--type-submit button[type="submit"],
html body #gform_wrapper_7 .gfield--type-submit button[type="button"],
html body #gform_wrapper_7 .gfield--type-submit button.gform_button,
#tpr-get-started #gform_wrapper_7 .gform_footer button[type="submit"],
#tpr-get-started #gform_wrapper_7 .gform_footer button[type="button"].gform_button,
#tpr-get-started #gform_wrapper_7 .gform_footer button.gform_button,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button[type="submit"],
#tpr-get-started #gform_wrapper_7 .gform_page_footer button[type="button"].gform_button,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button.gform_button,
#tpr-get-started #gform_wrapper_7 #gform_submit_button_7_link,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button[type="submit"],
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button[type="button"],
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button.gform_button {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='32' viewBox='0 0 40 32'%3E%3Ccircle cx='20' cy='16' r='12' fill='%23fff'/%3E%3C/svg%3E") !important;
}

html body #gform_wrapper_7 .gform_footer button[type="submit"]::after,
html body #gform_wrapper_7 .gform_footer button[type="button"].gform_button::after,
html body #gform_wrapper_7 .gform_footer button.gform_button::after,
html body #gform_wrapper_7 .gform_page_footer button[type="submit"]::after,
html body #gform_wrapper_7 .gform_page_footer button[type="button"].gform_button::after,
html body #gform_wrapper_7 .gform_page_footer button.gform_button::after,
html body #gform_wrapper_7 #gform_submit_button_7_link::after,
html body #gform_wrapper_7 .gfield--type-submit button[type="submit"]::after,
html body #gform_wrapper_7 .gfield--type-submit button[type="button"]::after,
html body #gform_wrapper_7 .gfield--type-submit button.gform_button::after,
#tpr-get-started #gform_wrapper_7 .gform_footer button[type="submit"]::after,
#tpr-get-started #gform_wrapper_7 .gform_footer button[type="button"].gform_button::after,
#tpr-get-started #gform_wrapper_7 .gform_footer button.gform_button::after,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button[type="submit"]::after,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button[type="button"].gform_button::after,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button.gform_button::after,
#tpr-get-started #gform_wrapper_7 #gform_submit_button_7_link::after,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button[type="submit"]::after,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button[type="button"]::after,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button.gform_button::after {
	content: "";
	width: 1em;
	height: 1em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='black' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='black' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E") no-repeat center / contain;
	position: absolute;
	right: calc(0.45rem + 20px);
	top: 50%;
	transform: translate(50%, -50%);
	color: #0f2902;
	font-size: 0.85rem;
	pointer-events: none;
}

html body #gform_wrapper_7 .gform_footer button[type="submit"] svg,
html body #gform_wrapper_7 .gform_footer button[type="button"].gform_button svg,
html body #gform_wrapper_7 .gform_footer button.gform_button svg,
html body #gform_wrapper_7 .gform_page_footer button[type="submit"] svg,
html body #gform_wrapper_7 .gform_page_footer button[type="button"].gform_button svg,
html body #gform_wrapper_7 .gform_page_footer button.gform_button svg,
html body #gform_wrapper_7 #gform_submit_button_7_link svg,
html body #gform_wrapper_7 .gfield--type-submit button[type="submit"] svg,
html body #gform_wrapper_7 .gfield--type-submit button[type="button"] svg,
html body #gform_wrapper_7 .gfield--type-submit button.gform_button svg,
#tpr-get-started #gform_wrapper_7 .gform_footer button[type="submit"] svg,
#tpr-get-started #gform_wrapper_7 .gform_footer button[type="button"].gform_button svg,
#tpr-get-started #gform_wrapper_7 .gform_footer button.gform_button svg,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button[type="submit"] svg,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button[type="button"].gform_button svg,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button.gform_button svg,
#tpr-get-started #gform_wrapper_7 #gform_submit_button_7_link svg,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button[type="submit"] svg,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button[type="button"] svg,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button.gform_button svg {
	display: none !important;
}

html body #gform_wrapper_7 .gform_footer input[type="submit"]:hover,
html body #gform_wrapper_7 .gform_footer button[type="submit"]:hover,
html body #gform_wrapper_7 .gform_footer button[type="button"].gform_button:hover,
html body #gform_wrapper_7 .gform_footer button.gform_button:hover,
html body #gform_wrapper_7 .gform_page_footer input[type="submit"]:hover,
html body #gform_wrapper_7 .gform_page_footer button[type="submit"]:hover,
html body #gform_wrapper_7 .gform_page_footer button[type="button"].gform_button:hover,
html body #gform_wrapper_7 .gform_page_footer button.gform_button:hover,
html body #gform_wrapper_7 #gform_submit_button_7:hover,
html body #gform_wrapper_7 #gform_submit_button_7_link:hover,
html body #gform_wrapper_7 .gfield--type-submit input[type="submit"]:hover,
html body #gform_wrapper_7 .gfield--type-submit button[type="submit"]:hover,
html body #gform_wrapper_7 .gfield--type-submit button[type="button"]:hover,
html body #gform_wrapper_7 .gfield--type-submit button.gform_button:hover,
#tpr-get-started #gform_wrapper_7 .gform_footer input[type="submit"]:hover,
#tpr-get-started #gform_wrapper_7 .gform_footer button[type="submit"]:hover,
#tpr-get-started #gform_wrapper_7 .gform_footer button[type="button"].gform_button:hover,
#tpr-get-started #gform_wrapper_7 .gform_footer button.gform_button:hover,
#tpr-get-started #gform_wrapper_7 .gform_page_footer input[type="submit"]:hover,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button[type="submit"]:hover,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button[type="button"].gform_button:hover,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button.gform_button:hover,
#tpr-get-started #gform_wrapper_7 #gform_submit_button_7:hover,
#tpr-get-started #gform_wrapper_7 #gform_submit_button_7_link:hover,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit input[type="submit"]:hover,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button[type="submit"]:hover,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button[type="button"]:hover,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button.gform_button:hover {
	background-color: #0f2902 !important;
	color: #fff !important;
}

html body #gform_wrapper_7 .gform_footer input[type="submit"]:hover,
html body #gform_wrapper_7 .gform_page_footer input[type="submit"]:hover,
html body #gform_wrapper_7 #gform_submit_button_7:hover,
html body #gform_wrapper_7 .gfield--type-submit input[type="submit"]:hover,
#tpr-get-started #gform_wrapper_7 .gform_footer input[type="submit"]:hover,
#tpr-get-started #gform_wrapper_7 .gform_page_footer input[type="submit"]:hover,
#tpr-get-started #gform_wrapper_7 #gform_submit_button_7:hover,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit input[type="submit"]:hover {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='32' viewBox='0 0 40 32' fill='none'%3E%3Ccircle cx='20' cy='16' r='12' fill='%23D2FC51'/%3E%3Cg transform='translate(20 16) scale(0.031) translate(-224 -256)'%3E%3Cpath fill='%230F2902' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/g%3E%3C/svg%3E") !important;
}

html body #gform_wrapper_7 .gform_footer button[type="submit"]:hover,
html body #gform_wrapper_7 .gform_footer button[type="button"].gform_button:hover,
html body #gform_wrapper_7 .gform_footer button.gform_button:hover,
html body #gform_wrapper_7 .gform_page_footer button[type="submit"]:hover,
html body #gform_wrapper_7 .gform_page_footer button[type="button"].gform_button:hover,
html body #gform_wrapper_7 .gform_page_footer button.gform_button:hover,
html body #gform_wrapper_7 #gform_submit_button_7_link:hover,
html body #gform_wrapper_7 .gfield--type-submit button[type="submit"]:hover,
html body #gform_wrapper_7 .gfield--type-submit button[type="button"]:hover,
html body #gform_wrapper_7 .gfield--type-submit button.gform_button:hover,
#tpr-get-started #gform_wrapper_7 .gform_footer button[type="submit"]:hover,
#tpr-get-started #gform_wrapper_7 .gform_footer button[type="button"].gform_button:hover,
#tpr-get-started #gform_wrapper_7 .gform_footer button.gform_button:hover,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button[type="submit"]:hover,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button[type="button"].gform_button:hover,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button.gform_button:hover,
#tpr-get-started #gform_wrapper_7 #gform_submit_button_7_link:hover,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button[type="submit"]:hover,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button[type="button"]:hover,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button.gform_button:hover {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='32' viewBox='0 0 40 32'%3E%3Ccircle cx='20' cy='16' r='12' fill='%23D2FC51'/%3E%3C/svg%3E") !important;
}

html body #gform_wrapper_7 .gform_footer button[type="submit"]:hover::after,
html body #gform_wrapper_7 .gform_footer button[type="button"].gform_button:hover::after,
html body #gform_wrapper_7 .gform_footer button.gform_button:hover::after,
html body #gform_wrapper_7 .gform_page_footer button[type="submit"]:hover::after,
html body #gform_wrapper_7 .gform_page_footer button[type="button"].gform_button:hover::after,
html body #gform_wrapper_7 .gform_page_footer button.gform_button:hover::after,
html body #gform_wrapper_7 #gform_submit_button_7_link:hover::after,
html body #gform_wrapper_7 .gfield--type-submit button[type="submit"]:hover::after,
html body #gform_wrapper_7 .gfield--type-submit button[type="button"]:hover::after,
html body #gform_wrapper_7 .gfield--type-submit button.gform_button:hover::after,
#tpr-get-started #gform_wrapper_7 .gform_footer button[type="submit"]:hover::after,
#tpr-get-started #gform_wrapper_7 .gform_footer button[type="button"].gform_button:hover::after,
#tpr-get-started #gform_wrapper_7 .gform_footer button.gform_button:hover::after,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button[type="submit"]:hover::after,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button[type="button"].gform_button:hover::after,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button.gform_button:hover::after,
#tpr-get-started #gform_wrapper_7 #gform_submit_button_7_link:hover::after,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button[type="submit"]:hover::after,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button[type="button"]:hover::after,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button.gform_button:hover::after {
	color: #0f2902 !important;
}

html body #gform_wrapper_7 .gform_footer input[type="submit"]:focus,
html body #gform_wrapper_7 .gform_footer input[type="submit"]:focus-visible,
html body #gform_wrapper_7 .gform_footer button[type="submit"]:focus,
html body #gform_wrapper_7 .gform_footer button[type="submit"]:focus-visible,
html body #gform_wrapper_7 .gform_footer button[type="button"].gform_button:focus,
html body #gform_wrapper_7 .gform_footer button[type="button"].gform_button:focus-visible,
html body #gform_wrapper_7 .gform_footer button.gform_button:focus,
html body #gform_wrapper_7 .gform_footer button.gform_button:focus-visible,
html body #gform_wrapper_7 .gform_page_footer input[type="submit"]:focus,
html body #gform_wrapper_7 .gform_page_footer input[type="submit"]:focus-visible,
html body #gform_wrapper_7 .gform_page_footer button[type="submit"]:focus,
html body #gform_wrapper_7 .gform_page_footer button[type="submit"]:focus-visible,
html body #gform_wrapper_7 .gform_page_footer button[type="button"].gform_button:focus,
html body #gform_wrapper_7 .gform_page_footer button[type="button"].gform_button:focus-visible,
html body #gform_wrapper_7 .gform_page_footer button.gform_button:focus,
html body #gform_wrapper_7 .gform_page_footer button.gform_button:focus-visible,
html body #gform_wrapper_7 #gform_submit_button_7:focus,
html body #gform_wrapper_7 #gform_submit_button_7:focus-visible,
html body #gform_wrapper_7 #gform_submit_button_7_link:focus,
html body #gform_wrapper_7 #gform_submit_button_7_link:focus-visible,
html body #gform_wrapper_7 .gfield--type-submit input[type="submit"]:focus,
html body #gform_wrapper_7 .gfield--type-submit input[type="submit"]:focus-visible,
html body #gform_wrapper_7 .gfield--type-submit button[type="submit"]:focus,
html body #gform_wrapper_7 .gfield--type-submit button[type="submit"]:focus-visible,
html body #gform_wrapper_7 .gfield--type-submit button[type="button"]:focus,
html body #gform_wrapper_7 .gfield--type-submit button[type="button"]:focus-visible,
html body #gform_wrapper_7 .gfield--type-submit button.gform_button:focus,
html body #gform_wrapper_7 .gfield--type-submit button.gform_button:focus-visible,
#tpr-get-started #gform_wrapper_7 .gform_footer input[type="submit"]:focus,
#tpr-get-started #gform_wrapper_7 .gform_footer input[type="submit"]:focus-visible,
#tpr-get-started #gform_wrapper_7 .gform_footer button[type="submit"]:focus,
#tpr-get-started #gform_wrapper_7 .gform_footer button[type="submit"]:focus-visible,
#tpr-get-started #gform_wrapper_7 .gform_footer button[type="button"].gform_button:focus,
#tpr-get-started #gform_wrapper_7 .gform_footer button[type="button"].gform_button:focus-visible,
#tpr-get-started #gform_wrapper_7 .gform_footer button.gform_button:focus,
#tpr-get-started #gform_wrapper_7 .gform_footer button.gform_button:focus-visible,
#tpr-get-started #gform_wrapper_7 .gform_page_footer input[type="submit"]:focus,
#tpr-get-started #gform_wrapper_7 .gform_page_footer input[type="submit"]:focus-visible,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button[type="submit"]:focus,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button[type="submit"]:focus-visible,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button[type="button"].gform_button:focus,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button[type="button"].gform_button:focus-visible,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button.gform_button:focus,
#tpr-get-started #gform_wrapper_7 .gform_page_footer button.gform_button:focus-visible,
#tpr-get-started #gform_wrapper_7 #gform_submit_button_7:focus,
#tpr-get-started #gform_wrapper_7 #gform_submit_button_7:focus-visible,
#tpr-get-started #gform_wrapper_7 #gform_submit_button_7_link:focus,
#tpr-get-started #gform_wrapper_7 #gform_submit_button_7_link:focus-visible,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit input[type="submit"]:focus,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit input[type="submit"]:focus-visible,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button[type="submit"]:focus,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button[type="submit"]:focus-visible,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button[type="button"]:focus,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button[type="button"]:focus-visible,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button.gform_button:focus,
#tpr-get-started #gform_wrapper_7 .gfield--type-submit button.gform_button:focus-visible {
	outline: 2px solid #0f2902;
	outline-offset: 2px;
	box-shadow: none !important;
}

/*
 * GF 8 (careers / express interest): match quote form layout + pill submit.
 * Scope: html/body + #gform_wrapper_8 (careers opportunities page; same styling as form 6 / franchise form 7).
 * GF default “link” submit is <button type="button" id="gform_submit_button_8_link"> — not type=submit, so
 * always include .gform_button / #gform_submit_button_8_link, not only button[type="submit"].
 */
html body #gform_wrapper_8.gform_wrapper,
#tpr-get-started #gform_wrapper_8.gform_wrapper {
	--gf-color-danger: #ff6333 !important;
	--gf-color-danger-rgb: 255, 99, 51 !important;
}

html body #gform_wrapper_8.gform_wrapper.gform-theme--framework,
#tpr-get-started #gform_wrapper_8.gform_wrapper.gform-theme--framework {
	--gf-ctrl-bg-color: #e7eae6;
	--gf-ctrl-border-color: transparent;
	--gf-ctrl-border-color-focus: #0f2902;
	--gf-ctrl-border-width: 1px;
	--gf-ctrl-radius: 50px;
	--gf-ctrl-padding-x: 1.1rem;
	--gf-ctrl-padding-y: 0.65rem;
	--gf-color-in-ctrl-contrast: #0f2902;
	--gf-ctrl-textarea-radius: 1rem;
}

html body #gform_wrapper_8 input[type="tel"],
html body #gform_8 input[type="tel"],
#tpr-get-started #gform_wrapper_8 input[type="tel"],
#tpr-get-started #gform_8 input[type="tel"] {
	box-shadow: none !important;
	filter: none !important;
}

html body #gform_wrapper_8 .validation_error,
html body #gform_wrapper_8 .gfield_error .validation_message,
#tpr-get-started #gform_wrapper_8 .validation_error,
#tpr-get-started #gform_wrapper_8 .gfield_error .validation_message {
	color: #ff6333 !important;
}

html body #gform_wrapper_8 .gfield_error input,
html body #gform_wrapper_8 .gfield_error select,
html body #gform_wrapper_8 .gfield_error textarea,
#tpr-get-started #gform_wrapper_8 .gfield_error input,
#tpr-get-started #gform_wrapper_8 .gfield_error select,
#tpr-get-started #gform_wrapper_8 .gfield_error textarea {
	border-color: #ff6333 !important;
}

html body #gform_wrapper_8 .gfield_required,
#tpr-get-started #gform_wrapper_8 .gfield_required {
	color: #ff6333 !important;
}

html body #gform_wrapper_8 .gform_heading,
#tpr-get-started #gform_wrapper_8 .gform_heading {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
	padding-top: 0 !important;
	padding-block-start: 0 !important;
}

html body #gform_wrapper_8 .gfield_label,
html body #gform_wrapper_8 .gform-field-label,
html body #gform_wrapper_8 legend.gfield_label,
#tpr-get-started #gform_wrapper_8 .gfield_label,
#tpr-get-started #gform_wrapper_8 .gform-field-label,
#tpr-get-started #gform_wrapper_8 legend.gfield_label {
	font-weight: 700 !important;
	color: #0f2902;
}

html body #gform_wrapper_8 .gform_fields,
#tpr-get-started #gform_wrapper_8 .gform_fields {
	gap: 10px 1rem !important;
	row-gap: 10px !important;
	column-gap: 1rem !important;
}

html body #gform_wrapper_8 .gfield,
#tpr-get-started #gform_wrapper_8 .gfield {
	margin-block: 0 !important;
	margin-inline: 0 !important;
	padding-block: 0 !important;
	padding-inline: 0 !important;
}

html body #gform_wrapper_8 .gfield_label,
html body #gform_wrapper_8 legend.gfield_label,
#tpr-get-started #gform_wrapper_8 .gfield_label,
#tpr-get-started #gform_wrapper_8 legend.gfield_label {
	margin-block: 0 0.35rem !important;
	margin-inline: 0 !important;
	padding: 0 !important;
}

html body #gform_wrapper_8 .ginput_container,
#tpr-get-started #gform_wrapper_8 .ginput_container {
	margin-block: 0 !important;
	margin-inline: 0 !important;
	padding: 0 !important;
}

html body #gform_wrapper_8 .gfield_description,
#tpr-get-started #gform_wrapper_8 .gfield_description {
	margin-block: 0.25rem 0 !important;
}

html body #gform_wrapper_8 .gfield--type-html,
html body #gform_wrapper_8 .gfield--type-section,
#tpr-get-started #gform_wrapper_8 .gfield--type-html,
#tpr-get-started #gform_wrapper_8 .gfield--type-section {
	margin-block: 0.35rem 0 !important;
}

html body #gform_wrapper_8 input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="image"]),
html body #gform_wrapper_8 textarea,
html body #gform_wrapper_8 select,
html body #gform_wrapper_8 .ginput_container,
html body #gform_wrapper_8 .ginput_container input,
html body #gform_wrapper_8 .ginput_container textarea,
html body #gform_wrapper_8 .ginput_container select,
#tpr-get-started #gform_wrapper_8 input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="image"]),
#tpr-get-started #gform_wrapper_8 textarea,
#tpr-get-started #gform_wrapper_8 select,
#tpr-get-started #gform_wrapper_8 .ginput_container,
#tpr-get-started #gform_wrapper_8 .ginput_container input,
#tpr-get-started #gform_wrapper_8 .ginput_container textarea,
#tpr-get-started #gform_wrapper_8 .ginput_container select {
	box-shadow: none !important;
	filter: none !important;
}

html body #gform_wrapper_8 input:focus,
html body #gform_wrapper_8 input:focus-visible,
html body #gform_wrapper_8 textarea:focus,
html body #gform_wrapper_8 textarea:focus-visible,
html body #gform_wrapper_8 select:focus,
html body #gform_wrapper_8 select:focus-visible,
#tpr-get-started #gform_wrapper_8 input:focus,
#tpr-get-started #gform_wrapper_8 input:focus-visible,
#tpr-get-started #gform_wrapper_8 textarea:focus,
#tpr-get-started #gform_wrapper_8 textarea:focus-visible,
#tpr-get-started #gform_wrapper_8 select:focus,
#tpr-get-started #gform_wrapper_8 select:focus-visible {
	box-shadow: none !important;
	outline: none !important;
	filter: none !important;
	--tw-ring-shadow: 0 0 #0000 !important;
	--tw-ring-color: transparent !important;
	border-color: #0f2902;
	border-width: 2px;
}

html body #gform_wrapper_8 .chosen-container-single .chosen-single,
html body #gform_wrapper_8 .chosen-container-active.chosen-with-drop .chosen-single,
#tpr-get-started #gform_wrapper_8 .chosen-container-single .chosen-single,
#tpr-get-started #gform_wrapper_8 .chosen-container-active.chosen-with-drop .chosen-single {
	box-shadow: none !important;
	outline: none !important;
	filter: none !important;
}

html body #gform_wrapper_8 .gform_footer input[type="submit"],
html body #gform_wrapper_8 .gform_footer button[type="submit"],
html body #gform_wrapper_8 .gform_footer button[type="button"].gform_button,
html body #gform_wrapper_8 .gform_footer button.gform_button,
html body #gform_wrapper_8 input.gform_button[type="submit"],
html body #gform_wrapper_8 button.gform_button,
#tpr-get-started #gform_wrapper_8 .gform_footer input[type="submit"],
#tpr-get-started #gform_wrapper_8 .gform_footer button[type="submit"],
#tpr-get-started #gform_wrapper_8 .gform_footer button[type="button"].gform_button,
#tpr-get-started #gform_wrapper_8 .gform_footer button.gform_button,
#tpr-get-started #gform_wrapper_8 input.gform_button[type="submit"],
#tpr-get-started #gform_wrapper_8 button.gform_button {
	box-shadow: none !important;
	font-weight: 700 !important;
}

html body #gform_wrapper_8 .ginput_container_select,
#tpr-get-started #gform_wrapper_8 .ginput_container_select {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	display: block;
}

html body #gform_wrapper_8 .ginput_container_select > select,
#tpr-get-started #gform_wrapper_8 .ginput_container_select > select {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

html body #gform_wrapper_8 .ginput_container_select .chosen-container,
html body #gform_wrapper_8 .ginput_container_select .chosen-container-single,
#tpr-get-started #gform_wrapper_8 .ginput_container_select .chosen-container,
#tpr-get-started #gform_wrapper_8 .ginput_container_select .chosen-container-single {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

html body #gform_wrapper_8 .ginput_container_select .chosen-container-single .chosen-single,
#tpr-get-started #gform_wrapper_8 .ginput_container_select .chosen-container-single .chosen-single {
	width: 100% !important;
	box-sizing: border-box;
	display: flex !important;
	align-items: center !important;
}

html body #gform_wrapper_8 .ginput_container_select .chosen-container-single .chosen-single span,
#tpr-get-started #gform_wrapper_8 .ginput_container_select .chosen-container-single .chosen-single span {
	line-height: 1.45 !important;
	max-height: none !important;
}

html body #gform_wrapper_8 .ginput_container_date:not(.gform-grid-col),
#tpr-get-started #gform_wrapper_8 .ginput_container_date:not(.gform-grid-col) {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0.5rem;
}

html body #gform_wrapper_8 .ginput_container_date:not(.gform-grid-col) > input,
#tpr-get-started #gform_wrapper_8 .ginput_container_date:not(.gform-grid-col) > input {
	flex: 1 1 0;
	min-width: 0;
	width: auto !important;
	max-width: none !important;
	box-sizing: border-box;
}

html body #gform_wrapper_8.gform-theme--framework .gfield--input-type-datepicker .ginput_container_date input,
#tpr-get-started #gform_wrapper_8.gform-theme--framework .gfield--input-type-datepicker .ginput_container_date input {
	--gf-local-width: 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

html body #gform_wrapper_8 .ginput_container_date:not(.gform-grid-col) .ui-datepicker-trigger,
#tpr-get-started #gform_wrapper_8 .ginput_container_date:not(.gform-grid-col) .ui-datepicker-trigger {
	flex-shrink: 0;
}

html body #gform_wrapper_8 .gform_footer,
html body #gform_wrapper_8 .gform-footer,
html body #gform_wrapper_8 .gform_page_footer,
html body #gform_wrapper_8 .gform-page-footer,
#tpr-get-started #gform_wrapper_8 .gform_footer,
#tpr-get-started #gform_wrapper_8 .gform-footer,
#tpr-get-started #gform_wrapper_8 .gform_page_footer,
#tpr-get-started #gform_wrapper_8 .gform-page-footer {
	margin-top: 0.5rem;
	padding: 0;
	border: none;
	text-align: right;
	display: flex !important;
	flex-wrap: wrap;
	justify-content: flex-end !important;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
}

html body #gform_wrapper_8 .gform_footer input[type="submit"],
html body #gform_wrapper_8 .gform_footer button[type="submit"],
html body #gform_wrapper_8 .gform_footer button[type="button"].gform_button,
html body #gform_wrapper_8 .gform_footer button.gform_button,
html body #gform_wrapper_8 .gform_page_footer input[type="submit"],
html body #gform_wrapper_8 .gform_page_footer button[type="submit"],
html body #gform_wrapper_8 .gform_page_footer button[type="button"].gform_button,
html body #gform_wrapper_8 .gform_page_footer button.gform_button,
html body #gform_wrapper_8 #gform_submit_button_8,
html body #gform_wrapper_8 #gform_submit_button_8_link,
html body #gform_wrapper_8 .gfield--type-submit input[type="submit"],
html body #gform_wrapper_8 .gfield--type-submit button[type="submit"],
html body #gform_wrapper_8 .gfield--type-submit button[type="button"],
html body #gform_wrapper_8 .gfield--type-submit button.gform_button,
#tpr-get-started #gform_wrapper_8 .gform_footer input[type="submit"],
#tpr-get-started #gform_wrapper_8 .gform_footer button[type="submit"],
#tpr-get-started #gform_wrapper_8 .gform_footer button[type="button"].gform_button,
#tpr-get-started #gform_wrapper_8 .gform_footer button.gform_button,
#tpr-get-started #gform_wrapper_8 .gform_page_footer input[type="submit"],
#tpr-get-started #gform_wrapper_8 .gform_page_footer button[type="submit"],
#tpr-get-started #gform_wrapper_8 .gform_page_footer button[type="button"].gform_button,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button.gform_button,
#tpr-get-started #gform_wrapper_8 #gform_submit_button_8,
#tpr-get-started #gform_wrapper_8 #gform_submit_button_8_link,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit input[type="submit"],
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button[type="submit"],
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button[type="button"],
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button.gform_button {
	appearance: none;
	-webkit-appearance: none;
	width: auto !important;
	min-width: 8rem;
	min-height: 2.75rem;
	height: auto !important;
	padding: 0.65rem 3.15rem 0.65rem 1.35rem !important;
	border: none !important;
	border-radius: 999px !important;
	background-color: #d2fc51 !important;
	background-repeat: no-repeat !important;
	background-position: right 0.45rem center !important;
	background-size: 40px 32px !important;
	color: #0f2902 !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	cursor: pointer;
	box-shadow: none !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	text-align: center;
	transition: background-color 0.2s ease, color 0.2s ease, background-image 0.2s ease;
	position: relative;
}

html body #gform_wrapper_8 .gform_footer input[type="submit"],
html body #gform_wrapper_8 .gform_page_footer input[type="submit"],
html body #gform_wrapper_8 #gform_submit_button_8,
html body #gform_wrapper_8 .gfield--type-submit input[type="submit"],
#tpr-get-started #gform_wrapper_8 .gform_footer input[type="submit"],
#tpr-get-started #gform_wrapper_8 .gform_page_footer input[type="submit"],
#tpr-get-started #gform_wrapper_8 #gform_submit_button_8,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit input[type="submit"] {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='32' viewBox='0 0 40 32' fill='none'%3E%3Ccircle cx='20' cy='16' r='12' fill='%23fff'/%3E%3Cg transform='translate(20 16) scale(0.031) translate(-224 -256)'%3E%3Cpath fill='%230F2902' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/g%3E%3C/svg%3E") !important;
}

html body #gform_wrapper_8 .gform_footer button[type="submit"],
html body #gform_wrapper_8 .gform_footer button[type="button"].gform_button,
html body #gform_wrapper_8 .gform_footer button.gform_button,
html body #gform_wrapper_8 .gform_page_footer button[type="submit"],
html body #gform_wrapper_8 .gform_page_footer button[type="button"].gform_button,
html body #gform_wrapper_8 .gform_page_footer button.gform_button,
html body #gform_wrapper_8 #gform_submit_button_8_link,
html body #gform_wrapper_8 .gfield--type-submit button[type="submit"],
html body #gform_wrapper_8 .gfield--type-submit button[type="button"],
html body #gform_wrapper_8 .gfield--type-submit button.gform_button,
#tpr-get-started #gform_wrapper_8 .gform_footer button[type="submit"],
#tpr-get-started #gform_wrapper_8 .gform_footer button[type="button"].gform_button,
#tpr-get-started #gform_wrapper_8 .gform_footer button.gform_button,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button[type="submit"],
#tpr-get-started #gform_wrapper_8 .gform_page_footer button[type="button"].gform_button,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button.gform_button,
#tpr-get-started #gform_wrapper_8 #gform_submit_button_8_link,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button[type="submit"],
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button[type="button"],
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button.gform_button {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='32' viewBox='0 0 40 32'%3E%3Ccircle cx='20' cy='16' r='12' fill='%23fff'/%3E%3C/svg%3E") !important;
}

html body #gform_wrapper_8 .gform_footer button[type="submit"]::after,
html body #gform_wrapper_8 .gform_footer button[type="button"].gform_button::after,
html body #gform_wrapper_8 .gform_footer button.gform_button::after,
html body #gform_wrapper_8 .gform_page_footer button[type="submit"]::after,
html body #gform_wrapper_8 .gform_page_footer button[type="button"].gform_button::after,
html body #gform_wrapper_8 .gform_page_footer button.gform_button::after,
html body #gform_wrapper_8 #gform_submit_button_8_link::after,
html body #gform_wrapper_8 .gfield--type-submit button[type="submit"]::after,
html body #gform_wrapper_8 .gfield--type-submit button[type="button"]::after,
html body #gform_wrapper_8 .gfield--type-submit button.gform_button::after,
#tpr-get-started #gform_wrapper_8 .gform_footer button[type="submit"]::after,
#tpr-get-started #gform_wrapper_8 .gform_footer button[type="button"].gform_button::after,
#tpr-get-started #gform_wrapper_8 .gform_footer button.gform_button::after,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button[type="submit"]::after,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button[type="button"].gform_button::after,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button.gform_button::after,
#tpr-get-started #gform_wrapper_8 #gform_submit_button_8_link::after,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button[type="submit"]::after,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button[type="button"]::after,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button.gform_button::after {
	content: "";
	width: 1em;
	height: 1em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='black' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='black' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E") no-repeat center / contain;
	position: absolute;
	right: calc(0.45rem + 20px);
	top: 50%;
	transform: translate(50%, -50%);
	color: #0f2902;
	font-size: 0.85rem;
	pointer-events: none;
}

html body #gform_wrapper_8 .gform_footer button[type="submit"] svg,
html body #gform_wrapper_8 .gform_footer button[type="button"].gform_button svg,
html body #gform_wrapper_8 .gform_footer button.gform_button svg,
html body #gform_wrapper_8 .gform_page_footer button[type="submit"] svg,
html body #gform_wrapper_8 .gform_page_footer button[type="button"].gform_button svg,
html body #gform_wrapper_8 .gform_page_footer button.gform_button svg,
html body #gform_wrapper_8 #gform_submit_button_8_link svg,
html body #gform_wrapper_8 .gfield--type-submit button[type="submit"] svg,
html body #gform_wrapper_8 .gfield--type-submit button[type="button"] svg,
html body #gform_wrapper_8 .gfield--type-submit button.gform_button svg,
#tpr-get-started #gform_wrapper_8 .gform_footer button[type="submit"] svg,
#tpr-get-started #gform_wrapper_8 .gform_footer button[type="button"].gform_button svg,
#tpr-get-started #gform_wrapper_8 .gform_footer button.gform_button svg,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button[type="submit"] svg,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button[type="button"].gform_button svg,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button.gform_button svg,
#tpr-get-started #gform_wrapper_8 #gform_submit_button_8_link svg,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button[type="submit"] svg,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button[type="button"] svg,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button.gform_button svg {
	display: none !important;
}

html body #gform_wrapper_8 .gform_footer input[type="submit"]:hover,
html body #gform_wrapper_8 .gform_footer button[type="submit"]:hover,
html body #gform_wrapper_8 .gform_footer button[type="button"].gform_button:hover,
html body #gform_wrapper_8 .gform_footer button.gform_button:hover,
html body #gform_wrapper_8 .gform_page_footer input[type="submit"]:hover,
html body #gform_wrapper_8 .gform_page_footer button[type="submit"]:hover,
html body #gform_wrapper_8 .gform_page_footer button[type="button"].gform_button:hover,
html body #gform_wrapper_8 .gform_page_footer button.gform_button:hover,
html body #gform_wrapper_8 #gform_submit_button_8:hover,
html body #gform_wrapper_8 #gform_submit_button_8_link:hover,
html body #gform_wrapper_8 .gfield--type-submit input[type="submit"]:hover,
html body #gform_wrapper_8 .gfield--type-submit button[type="submit"]:hover,
html body #gform_wrapper_8 .gfield--type-submit button[type="button"]:hover,
html body #gform_wrapper_8 .gfield--type-submit button.gform_button:hover,
#tpr-get-started #gform_wrapper_8 .gform_footer input[type="submit"]:hover,
#tpr-get-started #gform_wrapper_8 .gform_footer button[type="submit"]:hover,
#tpr-get-started #gform_wrapper_8 .gform_footer button[type="button"].gform_button:hover,
#tpr-get-started #gform_wrapper_8 .gform_footer button.gform_button:hover,
#tpr-get-started #gform_wrapper_8 .gform_page_footer input[type="submit"]:hover,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button[type="submit"]:hover,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button[type="button"].gform_button:hover,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button.gform_button:hover,
#tpr-get-started #gform_wrapper_8 #gform_submit_button_8:hover,
#tpr-get-started #gform_wrapper_8 #gform_submit_button_8_link:hover,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit input[type="submit"]:hover,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button[type="submit"]:hover,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button[type="button"]:hover,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button.gform_button:hover {
	background-color: #0f2902 !important;
	color: #fff !important;
}

html body #gform_wrapper_8 .gform_footer input[type="submit"]:hover,
html body #gform_wrapper_8 .gform_page_footer input[type="submit"]:hover,
html body #gform_wrapper_8 #gform_submit_button_8:hover,
html body #gform_wrapper_8 .gfield--type-submit input[type="submit"]:hover,
#tpr-get-started #gform_wrapper_8 .gform_footer input[type="submit"]:hover,
#tpr-get-started #gform_wrapper_8 .gform_page_footer input[type="submit"]:hover,
#tpr-get-started #gform_wrapper_8 #gform_submit_button_8:hover,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit input[type="submit"]:hover {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='32' viewBox='0 0 40 32' fill='none'%3E%3Ccircle cx='20' cy='16' r='12' fill='%23D2FC51'/%3E%3Cg transform='translate(20 16) scale(0.031) translate(-224 -256)'%3E%3Cpath fill='%230F2902' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/g%3E%3C/svg%3E") !important;
}

html body #gform_wrapper_8 .gform_footer button[type="submit"]:hover,
html body #gform_wrapper_8 .gform_footer button[type="button"].gform_button:hover,
html body #gform_wrapper_8 .gform_footer button.gform_button:hover,
html body #gform_wrapper_8 .gform_page_footer button[type="submit"]:hover,
html body #gform_wrapper_8 .gform_page_footer button[type="button"].gform_button:hover,
html body #gform_wrapper_8 .gform_page_footer button.gform_button:hover,
html body #gform_wrapper_8 #gform_submit_button_8_link:hover,
html body #gform_wrapper_8 .gfield--type-submit button[type="submit"]:hover,
html body #gform_wrapper_8 .gfield--type-submit button[type="button"]:hover,
html body #gform_wrapper_8 .gfield--type-submit button.gform_button:hover,
#tpr-get-started #gform_wrapper_8 .gform_footer button[type="submit"]:hover,
#tpr-get-started #gform_wrapper_8 .gform_footer button[type="button"].gform_button:hover,
#tpr-get-started #gform_wrapper_8 .gform_footer button.gform_button:hover,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button[type="submit"]:hover,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button[type="button"].gform_button:hover,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button.gform_button:hover,
#tpr-get-started #gform_wrapper_8 #gform_submit_button_8_link:hover,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button[type="submit"]:hover,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button[type="button"]:hover,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button.gform_button:hover {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='32' viewBox='0 0 40 32'%3E%3Ccircle cx='20' cy='16' r='12' fill='%23D2FC51'/%3E%3C/svg%3E") !important;
}

html body #gform_wrapper_8 .gform_footer button[type="submit"]:hover::after,
html body #gform_wrapper_8 .gform_footer button[type="button"].gform_button:hover::after,
html body #gform_wrapper_8 .gform_footer button.gform_button:hover::after,
html body #gform_wrapper_8 .gform_page_footer button[type="submit"]:hover::after,
html body #gform_wrapper_8 .gform_page_footer button[type="button"].gform_button:hover::after,
html body #gform_wrapper_8 .gform_page_footer button.gform_button:hover::after,
html body #gform_wrapper_8 #gform_submit_button_8_link:hover::after,
html body #gform_wrapper_8 .gfield--type-submit button[type="submit"]:hover::after,
html body #gform_wrapper_8 .gfield--type-submit button[type="button"]:hover::after,
html body #gform_wrapper_8 .gfield--type-submit button.gform_button:hover::after,
#tpr-get-started #gform_wrapper_8 .gform_footer button[type="submit"]:hover::after,
#tpr-get-started #gform_wrapper_8 .gform_footer button[type="button"].gform_button:hover::after,
#tpr-get-started #gform_wrapper_8 .gform_footer button.gform_button:hover::after,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button[type="submit"]:hover::after,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button[type="button"].gform_button:hover::after,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button.gform_button:hover::after,
#tpr-get-started #gform_wrapper_8 #gform_submit_button_8_link:hover::after,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button[type="submit"]:hover::after,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button[type="button"]:hover::after,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button.gform_button:hover::after {
	color: #0f2902 !important;
}

html body #gform_wrapper_8 .gform_footer input[type="submit"]:focus,
html body #gform_wrapper_8 .gform_footer input[type="submit"]:focus-visible,
html body #gform_wrapper_8 .gform_footer button[type="submit"]:focus,
html body #gform_wrapper_8 .gform_footer button[type="submit"]:focus-visible,
html body #gform_wrapper_8 .gform_footer button[type="button"].gform_button:focus,
html body #gform_wrapper_8 .gform_footer button[type="button"].gform_button:focus-visible,
html body #gform_wrapper_8 .gform_footer button.gform_button:focus,
html body #gform_wrapper_8 .gform_footer button.gform_button:focus-visible,
html body #gform_wrapper_8 .gform_page_footer input[type="submit"]:focus,
html body #gform_wrapper_8 .gform_page_footer input[type="submit"]:focus-visible,
html body #gform_wrapper_8 .gform_page_footer button[type="submit"]:focus,
html body #gform_wrapper_8 .gform_page_footer button[type="submit"]:focus-visible,
html body #gform_wrapper_8 .gform_page_footer button[type="button"].gform_button:focus,
html body #gform_wrapper_8 .gform_page_footer button[type="button"].gform_button:focus-visible,
html body #gform_wrapper_8 .gform_page_footer button.gform_button:focus,
html body #gform_wrapper_8 .gform_page_footer button.gform_button:focus-visible,
html body #gform_wrapper_8 #gform_submit_button_8:focus,
html body #gform_wrapper_8 #gform_submit_button_8:focus-visible,
html body #gform_wrapper_8 #gform_submit_button_8_link:focus,
html body #gform_wrapper_8 #gform_submit_button_8_link:focus-visible,
html body #gform_wrapper_8 .gfield--type-submit input[type="submit"]:focus,
html body #gform_wrapper_8 .gfield--type-submit input[type="submit"]:focus-visible,
html body #gform_wrapper_8 .gfield--type-submit button[type="submit"]:focus,
html body #gform_wrapper_8 .gfield--type-submit button[type="submit"]:focus-visible,
html body #gform_wrapper_8 .gfield--type-submit button[type="button"]:focus,
html body #gform_wrapper_8 .gfield--type-submit button[type="button"]:focus-visible,
html body #gform_wrapper_8 .gfield--type-submit button.gform_button:focus,
html body #gform_wrapper_8 .gfield--type-submit button.gform_button:focus-visible,
#tpr-get-started #gform_wrapper_8 .gform_footer input[type="submit"]:focus,
#tpr-get-started #gform_wrapper_8 .gform_footer input[type="submit"]:focus-visible,
#tpr-get-started #gform_wrapper_8 .gform_footer button[type="submit"]:focus,
#tpr-get-started #gform_wrapper_8 .gform_footer button[type="submit"]:focus-visible,
#tpr-get-started #gform_wrapper_8 .gform_footer button[type="button"].gform_button:focus,
#tpr-get-started #gform_wrapper_8 .gform_footer button[type="button"].gform_button:focus-visible,
#tpr-get-started #gform_wrapper_8 .gform_footer button.gform_button:focus,
#tpr-get-started #gform_wrapper_8 .gform_footer button.gform_button:focus-visible,
#tpr-get-started #gform_wrapper_8 .gform_page_footer input[type="submit"]:focus,
#tpr-get-started #gform_wrapper_8 .gform_page_footer input[type="submit"]:focus-visible,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button[type="submit"]:focus,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button[type="submit"]:focus-visible,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button[type="button"].gform_button:focus,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button[type="button"].gform_button:focus-visible,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button.gform_button:focus,
#tpr-get-started #gform_wrapper_8 .gform_page_footer button.gform_button:focus-visible,
#tpr-get-started #gform_wrapper_8 #gform_submit_button_8:focus,
#tpr-get-started #gform_wrapper_8 #gform_submit_button_8:focus-visible,
#tpr-get-started #gform_wrapper_8 #gform_submit_button_8_link:focus,
#tpr-get-started #gform_wrapper_8 #gform_submit_button_8_link:focus-visible,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit input[type="submit"]:focus,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit input[type="submit"]:focus-visible,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button[type="submit"]:focus,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button[type="submit"]:focus-visible,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button[type="button"]:focus,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button[type="button"]:focus-visible,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button.gform_button:focus,
#tpr-get-started #gform_wrapper_8 .gfield--type-submit button.gform_button:focus-visible {
	outline: 2px solid #0f2902;
	outline-offset: 2px;
	box-shadow: none !important;
}

/*
 * Gravity Forms — default branded styling (any form unless excluded in PHP).
 * Wrapper gets .tpr-gf-brand-default via gform_get_form_filter; default excluded form IDs: 3 (CTA).
 * Matches form 8 styling; #gform_wrapper_N rules elsewhere override when needed.
 */
html body .tpr-gf-brand-default.gform_wrapper,
#tpr-get-started .tpr-gf-brand-default.gform_wrapper {
	--gf-color-danger: #ff6333 !important;
	--gf-color-danger-rgb: 255, 99, 51 !important;
}

html body .tpr-gf-brand-default.gform_wrapper.gform-theme--framework,
#tpr-get-started .tpr-gf-brand-default.gform_wrapper.gform-theme--framework {
	--gf-ctrl-bg-color: #e7eae6;
	--gf-ctrl-border-color: transparent;
	--gf-ctrl-border-color-focus: #0f2902;
	--gf-ctrl-border-width: 1px;
	--gf-ctrl-radius: 50px;
	--gf-ctrl-padding-x: 1.1rem;
	--gf-ctrl-padding-y: 0.65rem;
	--gf-color-in-ctrl-contrast: #0f2902;
	--gf-ctrl-textarea-radius: 1rem;
}

html body .tpr-gf-brand-default input[type="tel"],
html body .tpr-gf-brand-default.gform_wrapper form input[type="tel"],
#tpr-get-started .tpr-gf-brand-default input[type="tel"],
#tpr-get-started .tpr-gf-brand-default.gform_wrapper form input[type="tel"] {
	box-shadow: none !important;
	filter: none !important;
}

html body .tpr-gf-brand-default .validation_error,
html body .tpr-gf-brand-default .gfield_error .validation_message,
#tpr-get-started .tpr-gf-brand-default .validation_error,
#tpr-get-started .tpr-gf-brand-default .gfield_error .validation_message {
	color: #ff6333 !important;
}

html body .tpr-gf-brand-default .gfield_error input,
html body .tpr-gf-brand-default .gfield_error select,
html body .tpr-gf-brand-default .gfield_error textarea,
#tpr-get-started .tpr-gf-brand-default .gfield_error input,
#tpr-get-started .tpr-gf-brand-default .gfield_error select,
#tpr-get-started .tpr-gf-brand-default .gfield_error textarea {
	border-color: #ff6333 !important;
}

html body .tpr-gf-brand-default .gfield_required,
#tpr-get-started .tpr-gf-brand-default .gfield_required {
	color: #ff6333 !important;
}

html body .tpr-gf-brand-default .gform_heading,
#tpr-get-started .tpr-gf-brand-default .gform_heading {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
	padding-top: 0 !important;
	padding-block-start: 0 !important;
}

html body .tpr-gf-brand-default .gfield_label,
html body .tpr-gf-brand-default .gform-field-label,
html body .tpr-gf-brand-default legend.gfield_label,
#tpr-get-started .tpr-gf-brand-default .gfield_label,
#tpr-get-started .tpr-gf-brand-default .gform-field-label,
#tpr-get-started .tpr-gf-brand-default legend.gfield_label {
	font-weight: 700 !important;
	color: #0f2902;
}

html body .tpr-gf-brand-default .gform_fields,
#tpr-get-started .tpr-gf-brand-default .gform_fields {
	gap: 10px 1rem !important;
	row-gap: 10px !important;
	column-gap: 1rem !important;
}

html body .tpr-gf-brand-default .gfield,
#tpr-get-started .tpr-gf-brand-default .gfield {
	margin-block: 0 !important;
	margin-inline: 0 !important;
	padding-block: 0 !important;
	padding-inline: 0 !important;
}

html body .tpr-gf-brand-default .gfield_label,
html body .tpr-gf-brand-default legend.gfield_label,
#tpr-get-started .tpr-gf-brand-default .gfield_label,
#tpr-get-started .tpr-gf-brand-default legend.gfield_label {
	margin-block: 0 0.35rem !important;
	margin-inline: 0 !important;
	padding: 0 !important;
}

html body .tpr-gf-brand-default .ginput_container,
#tpr-get-started .tpr-gf-brand-default .ginput_container {
	margin-block: 0 !important;
	margin-inline: 0 !important;
	padding: 0 !important;
}

html body .tpr-gf-brand-default .gfield_description,
#tpr-get-started .tpr-gf-brand-default .gfield_description {
	margin-block: 0.25rem 0 !important;
}

html body .tpr-gf-brand-default .gfield--type-html,
html body .tpr-gf-brand-default .gfield--type-section,
#tpr-get-started .tpr-gf-brand-default .gfield--type-html,
#tpr-get-started .tpr-gf-brand-default .gfield--type-section {
	margin-block: 0.35rem 0 !important;
}

html body .tpr-gf-brand-default input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="image"]),
html body .tpr-gf-brand-default textarea,
html body .tpr-gf-brand-default select,
html body .tpr-gf-brand-default .ginput_container,
html body .tpr-gf-brand-default .ginput_container input,
html body .tpr-gf-brand-default .ginput_container textarea,
html body .tpr-gf-brand-default .ginput_container select,
#tpr-get-started .tpr-gf-brand-default input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="image"]),
#tpr-get-started .tpr-gf-brand-default textarea,
#tpr-get-started .tpr-gf-brand-default select,
#tpr-get-started .tpr-gf-brand-default .ginput_container,
#tpr-get-started .tpr-gf-brand-default .ginput_container input,
#tpr-get-started .tpr-gf-brand-default .ginput_container textarea,
#tpr-get-started .tpr-gf-brand-default .ginput_container select {
	box-shadow: none !important;
	filter: none !important;
}

html body .tpr-gf-brand-default input:focus,
html body .tpr-gf-brand-default input:focus-visible,
html body .tpr-gf-brand-default textarea:focus,
html body .tpr-gf-brand-default textarea:focus-visible,
html body .tpr-gf-brand-default select:focus,
html body .tpr-gf-brand-default select:focus-visible,
#tpr-get-started .tpr-gf-brand-default input:focus,
#tpr-get-started .tpr-gf-brand-default input:focus-visible,
#tpr-get-started .tpr-gf-brand-default textarea:focus,
#tpr-get-started .tpr-gf-brand-default textarea:focus-visible,
#tpr-get-started .tpr-gf-brand-default select:focus,
#tpr-get-started .tpr-gf-brand-default select:focus-visible {
	box-shadow: none !important;
	outline: none !important;
	filter: none !important;
	--tw-ring-shadow: 0 0 #0000 !important;
	--tw-ring-color: transparent !important;
	border-color: #0f2902;
	border-width: 2px;
}

html body .tpr-gf-brand-default .chosen-container-single .chosen-single,
html body .tpr-gf-brand-default .chosen-container-active.chosen-with-drop .chosen-single,
#tpr-get-started .tpr-gf-brand-default .chosen-container-single .chosen-single,
#tpr-get-started .tpr-gf-brand-default .chosen-container-active.chosen-with-drop .chosen-single {
	box-shadow: none !important;
	outline: none !important;
	filter: none !important;
}

html body .tpr-gf-brand-default .gform_footer input[type="submit"],
html body .tpr-gf-brand-default .gform_footer button[type="submit"],
html body .tpr-gf-brand-default .gform_footer button[type="button"].gform_button,
html body .tpr-gf-brand-default .gform_footer button.gform_button,
html body .tpr-gf-brand-default input.gform_button[type="submit"],
html body .tpr-gf-brand-default button.gform_button,
#tpr-get-started .tpr-gf-brand-default .gform_footer input[type="submit"],
#tpr-get-started .tpr-gf-brand-default .gform_footer button[type="submit"],
#tpr-get-started .tpr-gf-brand-default .gform_footer button[type="button"].gform_button,
#tpr-get-started .tpr-gf-brand-default .gform_footer button.gform_button,
#tpr-get-started .tpr-gf-brand-default input.gform_button[type="submit"],
#tpr-get-started .tpr-gf-brand-default button.gform_button {
	box-shadow: none !important;
	font-weight: 700 !important;
}

html body .tpr-gf-brand-default .ginput_container_select,
#tpr-get-started .tpr-gf-brand-default .ginput_container_select {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	display: block;
}

html body .tpr-gf-brand-default .ginput_container_select > select,
#tpr-get-started .tpr-gf-brand-default .ginput_container_select > select {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

html body .tpr-gf-brand-default .ginput_container_select .chosen-container,
html body .tpr-gf-brand-default .ginput_container_select .chosen-container-single,
#tpr-get-started .tpr-gf-brand-default .ginput_container_select .chosen-container,
#tpr-get-started .tpr-gf-brand-default .ginput_container_select .chosen-container-single {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

html body .tpr-gf-brand-default .ginput_container_select .chosen-container-single .chosen-single,
#tpr-get-started .tpr-gf-brand-default .ginput_container_select .chosen-container-single .chosen-single {
	width: 100% !important;
	box-sizing: border-box;
	display: flex !important;
	align-items: center !important;
}

html body .tpr-gf-brand-default .ginput_container_select .chosen-container-single .chosen-single span,
#tpr-get-started .tpr-gf-brand-default .ginput_container_select .chosen-container-single .chosen-single span {
	line-height: 1.45 !important;
	max-height: none !important;
}

html body .tpr-gf-brand-default .ginput_container_date:not(.gform-grid-col),
#tpr-get-started .tpr-gf-brand-default .ginput_container_date:not(.gform-grid-col) {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	gap: 0.5rem;
}

html body .tpr-gf-brand-default .ginput_container_date:not(.gform-grid-col) > input,
#tpr-get-started .tpr-gf-brand-default .ginput_container_date:not(.gform-grid-col) > input {
	flex: 1 1 0;
	min-width: 0;
	width: auto !important;
	max-width: none !important;
	box-sizing: border-box;
}

html body .tpr-gf-brand-default.gform-theme--framework .gfield--input-type-datepicker .ginput_container_date input,
#tpr-get-started .tpr-gf-brand-default.gform-theme--framework .gfield--input-type-datepicker .ginput_container_date input {
	--gf-local-width: 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

html body .tpr-gf-brand-default .ginput_container_date:not(.gform-grid-col) .ui-datepicker-trigger,
#tpr-get-started .tpr-gf-brand-default .ginput_container_date:not(.gform-grid-col) .ui-datepicker-trigger {
	flex-shrink: 0;
}

html body .tpr-gf-brand-default .gform_footer,
html body .tpr-gf-brand-default .gform-footer,
html body .tpr-gf-brand-default .gform_page_footer,
html body .tpr-gf-brand-default .gform-page-footer,
#tpr-get-started .tpr-gf-brand-default .gform_footer,
#tpr-get-started .tpr-gf-brand-default .gform-footer,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer,
#tpr-get-started .tpr-gf-brand-default .gform-page-footer {
	margin-top: 0.5rem;
	padding: 0;
	border: none;
	text-align: right;
	display: flex !important;
	flex-wrap: wrap;
	justify-content: flex-end !important;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
}

html body .tpr-gf-brand-default .gform_footer input[type="submit"],
html body .tpr-gf-brand-default .gform_footer button[type="submit"],
html body .tpr-gf-brand-default .gform_footer button[type="button"].gform_button,
html body .tpr-gf-brand-default .gform_footer button.gform_button,
html body .tpr-gf-brand-default .gform_page_footer input[type="submit"],
html body .tpr-gf-brand-default .gform_page_footer button[type="submit"],
html body .tpr-gf-brand-default .gform_page_footer button[type="button"].gform_button,
html body .tpr-gf-brand-default .gform_page_footer button.gform_button,
html body .tpr-gf-brand-default [id^="gform_submit_button_"]:not([id$="_link"]),
html body .tpr-gf-brand-default [id^="gform_submit_button_"][id$="_link"],
html body .tpr-gf-brand-default .gfield--type-submit input[type="submit"],
html body .tpr-gf-brand-default .gfield--type-submit button[type="submit"],
html body .tpr-gf-brand-default .gfield--type-submit button[type="button"],
html body .tpr-gf-brand-default .gfield--type-submit button.gform_button,
#tpr-get-started .tpr-gf-brand-default .gform_footer input[type="submit"],
#tpr-get-started .tpr-gf-brand-default .gform_footer button[type="submit"],
#tpr-get-started .tpr-gf-brand-default .gform_footer button[type="button"].gform_button,
#tpr-get-started .tpr-gf-brand-default .gform_footer button.gform_button,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer input[type="submit"],
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button[type="submit"],
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button[type="button"].gform_button,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button.gform_button,
#tpr-get-started .tpr-gf-brand-default [id^="gform_submit_button_"]:not([id$="_link"]),
#tpr-get-started .tpr-gf-brand-default [id^="gform_submit_button_"][id$="_link"],
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit input[type="submit"],
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button[type="submit"],
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button[type="button"],
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button.gform_button {
	appearance: none;
	-webkit-appearance: none;
	width: auto !important;
	min-width: 8rem;
	min-height: 2.75rem;
	height: auto !important;
	padding: 0.65rem 3.15rem 0.65rem 1.35rem !important;
	border: none !important;
	border-radius: 999px !important;
	background-color: #d2fc51 !important;
	background-repeat: no-repeat !important;
	background-position: right 0.45rem center !important;
	background-size: 40px 32px !important;
	color: #0f2902 !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	cursor: pointer;
	box-shadow: none !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	text-align: center;
	transition: background-color 0.2s ease, color 0.2s ease, background-image 0.2s ease;
	position: relative;
}

html body .tpr-gf-brand-default .gform_footer input[type="submit"],
html body .tpr-gf-brand-default .gform_page_footer input[type="submit"],
html body .tpr-gf-brand-default [id^="gform_submit_button_"]:not([id$="_link"]),
html body .tpr-gf-brand-default .gfield--type-submit input[type="submit"],
#tpr-get-started .tpr-gf-brand-default .gform_footer input[type="submit"],
#tpr-get-started .tpr-gf-brand-default .gform_page_footer input[type="submit"],
#tpr-get-started .tpr-gf-brand-default [id^="gform_submit_button_"]:not([id$="_link"]),
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit input[type="submit"] {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='32' viewBox='0 0 40 32' fill='none'%3E%3Ccircle cx='20' cy='16' r='12' fill='%23fff'/%3E%3Cg transform='translate(20 16) scale(0.031) translate(-224 -256)'%3E%3Cpath fill='%230F2902' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/g%3E%3C/svg%3E") !important;
}

html body .tpr-gf-brand-default .gform_footer button[type="submit"],
html body .tpr-gf-brand-default .gform_footer button[type="button"].gform_button,
html body .tpr-gf-brand-default .gform_footer button.gform_button,
html body .tpr-gf-brand-default .gform_page_footer button[type="submit"],
html body .tpr-gf-brand-default .gform_page_footer button[type="button"].gform_button,
html body .tpr-gf-brand-default .gform_page_footer button.gform_button,
html body .tpr-gf-brand-default [id^="gform_submit_button_"][id$="_link"],
html body .tpr-gf-brand-default .gfield--type-submit button[type="submit"],
html body .tpr-gf-brand-default .gfield--type-submit button[type="button"],
html body .tpr-gf-brand-default .gfield--type-submit button.gform_button,
#tpr-get-started .tpr-gf-brand-default .gform_footer button[type="submit"],
#tpr-get-started .tpr-gf-brand-default .gform_footer button[type="button"].gform_button,
#tpr-get-started .tpr-gf-brand-default .gform_footer button.gform_button,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button[type="submit"],
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button[type="button"].gform_button,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button.gform_button,
#tpr-get-started .tpr-gf-brand-default [id^="gform_submit_button_"][id$="_link"],
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button[type="submit"],
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button[type="button"],
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button.gform_button {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='32' viewBox='0 0 40 32'%3E%3Ccircle cx='20' cy='16' r='12' fill='%23fff'/%3E%3C/svg%3E") !important;
}

html body .tpr-gf-brand-default .gform_footer button[type="submit"]::after,
html body .tpr-gf-brand-default .gform_footer button[type="button"].gform_button::after,
html body .tpr-gf-brand-default .gform_footer button.gform_button::after,
html body .tpr-gf-brand-default .gform_page_footer button[type="submit"]::after,
html body .tpr-gf-brand-default .gform_page_footer button[type="button"].gform_button::after,
html body .tpr-gf-brand-default .gform_page_footer button.gform_button::after,
html body .tpr-gf-brand-default [id^="gform_submit_button_"][id$="_link"]::after,
html body .tpr-gf-brand-default .gfield--type-submit button[type="submit"]::after,
html body .tpr-gf-brand-default .gfield--type-submit button[type="button"]::after,
html body .tpr-gf-brand-default .gfield--type-submit button.gform_button::after,
#tpr-get-started .tpr-gf-brand-default .gform_footer button[type="submit"]::after,
#tpr-get-started .tpr-gf-brand-default .gform_footer button[type="button"].gform_button::after,
#tpr-get-started .tpr-gf-brand-default .gform_footer button.gform_button::after,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button[type="submit"]::after,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button[type="button"].gform_button::after,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button.gform_button::after,
#tpr-get-started .tpr-gf-brand-default [id^="gform_submit_button_"][id$="_link"]::after,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button[type="submit"]::after,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button[type="button"]::after,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button.gform_button::after {
	content: "";
	width: 1em;
	height: 1em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='black' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='black' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E") no-repeat center / contain;
	position: absolute;
	right: calc(0.45rem + 20px);
	top: 50%;
	transform: translate(50%, -50%);
	color: #0f2902;
	font-size: 0.85rem;
	pointer-events: none;
}

html body .tpr-gf-brand-default .gform_footer button[type="submit"] svg,
html body .tpr-gf-brand-default .gform_footer button[type="button"].gform_button svg,
html body .tpr-gf-brand-default .gform_footer button.gform_button svg,
html body .tpr-gf-brand-default .gform_page_footer button[type="submit"] svg,
html body .tpr-gf-brand-default .gform_page_footer button[type="button"].gform_button svg,
html body .tpr-gf-brand-default .gform_page_footer button.gform_button svg,
html body .tpr-gf-brand-default [id^="gform_submit_button_"][id$="_link"] svg,
html body .tpr-gf-brand-default .gfield--type-submit button[type="submit"] svg,
html body .tpr-gf-brand-default .gfield--type-submit button[type="button"] svg,
html body .tpr-gf-brand-default .gfield--type-submit button.gform_button svg,
#tpr-get-started .tpr-gf-brand-default .gform_footer button[type="submit"] svg,
#tpr-get-started .tpr-gf-brand-default .gform_footer button[type="button"].gform_button svg,
#tpr-get-started .tpr-gf-brand-default .gform_footer button.gform_button svg,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button[type="submit"] svg,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button[type="button"].gform_button svg,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button.gform_button svg,
#tpr-get-started .tpr-gf-brand-default [id^="gform_submit_button_"][id$="_link"] svg,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button[type="submit"] svg,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button[type="button"] svg,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button.gform_button svg {
	display: none !important;
}

html body .tpr-gf-brand-default .gform_footer input[type="submit"]:hover,
html body .tpr-gf-brand-default .gform_footer button[type="submit"]:hover,
html body .tpr-gf-brand-default .gform_footer button[type="button"].gform_button:hover,
html body .tpr-gf-brand-default .gform_footer button.gform_button:hover,
html body .tpr-gf-brand-default .gform_page_footer input[type="submit"]:hover,
html body .tpr-gf-brand-default .gform_page_footer button[type="submit"]:hover,
html body .tpr-gf-brand-default .gform_page_footer button[type="button"].gform_button:hover,
html body .tpr-gf-brand-default .gform_page_footer button.gform_button:hover,
html body .tpr-gf-brand-default [id^="gform_submit_button_"]:not([id$="_link"]):hover,
html body .tpr-gf-brand-default [id^="gform_submit_button_"][id$="_link"]:hover,
html body .tpr-gf-brand-default .gfield--type-submit input[type="submit"]:hover,
html body .tpr-gf-brand-default .gfield--type-submit button[type="submit"]:hover,
html body .tpr-gf-brand-default .gfield--type-submit button[type="button"]:hover,
html body .tpr-gf-brand-default .gfield--type-submit button.gform_button:hover,
#tpr-get-started .tpr-gf-brand-default .gform_footer input[type="submit"]:hover,
#tpr-get-started .tpr-gf-brand-default .gform_footer button[type="submit"]:hover,
#tpr-get-started .tpr-gf-brand-default .gform_footer button[type="button"].gform_button:hover,
#tpr-get-started .tpr-gf-brand-default .gform_footer button.gform_button:hover,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer input[type="submit"]:hover,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button[type="submit"]:hover,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button[type="button"].gform_button:hover,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button.gform_button:hover,
#tpr-get-started .tpr-gf-brand-default [id^="gform_submit_button_"]:not([id$="_link"]):hover,
#tpr-get-started .tpr-gf-brand-default [id^="gform_submit_button_"][id$="_link"]:hover,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit input[type="submit"]:hover,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button[type="submit"]:hover,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button[type="button"]:hover,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button.gform_button:hover {
	background-color: #0f2902 !important;
	color: #fff !important;
}

html body .tpr-gf-brand-default .gform_footer input[type="submit"]:hover,
html body .tpr-gf-brand-default .gform_page_footer input[type="submit"]:hover,
html body .tpr-gf-brand-default [id^="gform_submit_button_"]:not([id$="_link"]):hover,
html body .tpr-gf-brand-default .gfield--type-submit input[type="submit"]:hover,
#tpr-get-started .tpr-gf-brand-default .gform_footer input[type="submit"]:hover,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer input[type="submit"]:hover,
#tpr-get-started .tpr-gf-brand-default [id^="gform_submit_button_"]:not([id$="_link"]):hover,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit input[type="submit"]:hover {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='32' viewBox='0 0 40 32' fill='none'%3E%3Ccircle cx='20' cy='16' r='12' fill='%23D2FC51'/%3E%3Cg transform='translate(20 16) scale(0.031) translate(-224 -256)'%3E%3Cpath fill='%230F2902' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/g%3E%3C/svg%3E") !important;
}

html body .tpr-gf-brand-default .gform_footer button[type="submit"]:hover,
html body .tpr-gf-brand-default .gform_footer button[type="button"].gform_button:hover,
html body .tpr-gf-brand-default .gform_footer button.gform_button:hover,
html body .tpr-gf-brand-default .gform_page_footer button[type="submit"]:hover,
html body .tpr-gf-brand-default .gform_page_footer button[type="button"].gform_button:hover,
html body .tpr-gf-brand-default .gform_page_footer button.gform_button:hover,
html body .tpr-gf-brand-default [id^="gform_submit_button_"][id$="_link"]:hover,
html body .tpr-gf-brand-default .gfield--type-submit button[type="submit"]:hover,
html body .tpr-gf-brand-default .gfield--type-submit button[type="button"]:hover,
html body .tpr-gf-brand-default .gfield--type-submit button.gform_button:hover,
#tpr-get-started .tpr-gf-brand-default .gform_footer button[type="submit"]:hover,
#tpr-get-started .tpr-gf-brand-default .gform_footer button[type="button"].gform_button:hover,
#tpr-get-started .tpr-gf-brand-default .gform_footer button.gform_button:hover,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button[type="submit"]:hover,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button[type="button"].gform_button:hover,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button.gform_button:hover,
#tpr-get-started .tpr-gf-brand-default [id^="gform_submit_button_"][id$="_link"]:hover,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button[type="submit"]:hover,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button[type="button"]:hover,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button.gform_button:hover {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='32' viewBox='0 0 40 32'%3E%3Ccircle cx='20' cy='16' r='12' fill='%23D2FC51'/%3E%3C/svg%3E") !important;
}

html body .tpr-gf-brand-default .gform_footer button[type="submit"]:hover::after,
html body .tpr-gf-brand-default .gform_footer button[type="button"].gform_button:hover::after,
html body .tpr-gf-brand-default .gform_footer button.gform_button:hover::after,
html body .tpr-gf-brand-default .gform_page_footer button[type="submit"]:hover::after,
html body .tpr-gf-brand-default .gform_page_footer button[type="button"].gform_button:hover::after,
html body .tpr-gf-brand-default .gform_page_footer button.gform_button:hover::after,
html body .tpr-gf-brand-default [id^="gform_submit_button_"][id$="_link"]:hover::after,
html body .tpr-gf-brand-default .gfield--type-submit button[type="submit"]:hover::after,
html body .tpr-gf-brand-default .gfield--type-submit button[type="button"]:hover::after,
html body .tpr-gf-brand-default .gfield--type-submit button.gform_button:hover::after,
#tpr-get-started .tpr-gf-brand-default .gform_footer button[type="submit"]:hover::after,
#tpr-get-started .tpr-gf-brand-default .gform_footer button[type="button"].gform_button:hover::after,
#tpr-get-started .tpr-gf-brand-default .gform_footer button.gform_button:hover::after,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button[type="submit"]:hover::after,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button[type="button"].gform_button:hover::after,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button.gform_button:hover::after,
#tpr-get-started .tpr-gf-brand-default [id^="gform_submit_button_"][id$="_link"]:hover::after,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button[type="submit"]:hover::after,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button[type="button"]:hover::after,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button.gform_button:hover::after {
	color: #0f2902 !important;
}

html body .tpr-gf-brand-default .gform_footer input[type="submit"]:focus,
html body .tpr-gf-brand-default .gform_footer input[type="submit"]:focus-visible,
html body .tpr-gf-brand-default .gform_footer button[type="submit"]:focus,
html body .tpr-gf-brand-default .gform_footer button[type="submit"]:focus-visible,
html body .tpr-gf-brand-default .gform_footer button[type="button"].gform_button:focus,
html body .tpr-gf-brand-default .gform_footer button[type="button"].gform_button:focus-visible,
html body .tpr-gf-brand-default .gform_footer button.gform_button:focus,
html body .tpr-gf-brand-default .gform_footer button.gform_button:focus-visible,
html body .tpr-gf-brand-default .gform_page_footer input[type="submit"]:focus,
html body .tpr-gf-brand-default .gform_page_footer input[type="submit"]:focus-visible,
html body .tpr-gf-brand-default .gform_page_footer button[type="submit"]:focus,
html body .tpr-gf-brand-default .gform_page_footer button[type="submit"]:focus-visible,
html body .tpr-gf-brand-default .gform_page_footer button[type="button"].gform_button:focus,
html body .tpr-gf-brand-default .gform_page_footer button[type="button"].gform_button:focus-visible,
html body .tpr-gf-brand-default .gform_page_footer button.gform_button:focus,
html body .tpr-gf-brand-default .gform_page_footer button.gform_button:focus-visible,
html body .tpr-gf-brand-default [id^="gform_submit_button_"]:not([id$="_link"]):focus,
html body .tpr-gf-brand-default [id^="gform_submit_button_"]:not([id$="_link"]):focus-visible,
html body .tpr-gf-brand-default [id^="gform_submit_button_"][id$="_link"]:focus,
html body .tpr-gf-brand-default [id^="gform_submit_button_"][id$="_link"]:focus-visible,
html body .tpr-gf-brand-default .gfield--type-submit input[type="submit"]:focus,
html body .tpr-gf-brand-default .gfield--type-submit input[type="submit"]:focus-visible,
html body .tpr-gf-brand-default .gfield--type-submit button[type="submit"]:focus,
html body .tpr-gf-brand-default .gfield--type-submit button[type="submit"]:focus-visible,
html body .tpr-gf-brand-default .gfield--type-submit button[type="button"]:focus,
html body .tpr-gf-brand-default .gfield--type-submit button[type="button"]:focus-visible,
html body .tpr-gf-brand-default .gfield--type-submit button.gform_button:focus,
html body .tpr-gf-brand-default .gfield--type-submit button.gform_button:focus-visible,
#tpr-get-started .tpr-gf-brand-default .gform_footer input[type="submit"]:focus,
#tpr-get-started .tpr-gf-brand-default .gform_footer input[type="submit"]:focus-visible,
#tpr-get-started .tpr-gf-brand-default .gform_footer button[type="submit"]:focus,
#tpr-get-started .tpr-gf-brand-default .gform_footer button[type="submit"]:focus-visible,
#tpr-get-started .tpr-gf-brand-default .gform_footer button[type="button"].gform_button:focus,
#tpr-get-started .tpr-gf-brand-default .gform_footer button[type="button"].gform_button:focus-visible,
#tpr-get-started .tpr-gf-brand-default .gform_footer button.gform_button:focus,
#tpr-get-started .tpr-gf-brand-default .gform_footer button.gform_button:focus-visible,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer input[type="submit"]:focus,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer input[type="submit"]:focus-visible,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button[type="submit"]:focus,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button[type="submit"]:focus-visible,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button[type="button"].gform_button:focus,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button[type="button"].gform_button:focus-visible,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button.gform_button:focus,
#tpr-get-started .tpr-gf-brand-default .gform_page_footer button.gform_button:focus-visible,
#tpr-get-started .tpr-gf-brand-default [id^="gform_submit_button_"]:not([id$="_link"]):focus,
#tpr-get-started .tpr-gf-brand-default [id^="gform_submit_button_"]:not([id$="_link"]):focus-visible,
#tpr-get-started .tpr-gf-brand-default [id^="gform_submit_button_"][id$="_link"]:focus,
#tpr-get-started .tpr-gf-brand-default [id^="gform_submit_button_"][id$="_link"]:focus-visible,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit input[type="submit"]:focus,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit input[type="submit"]:focus-visible,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button[type="submit"]:focus,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button[type="submit"]:focus-visible,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button[type="button"]:focus,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button[type="button"]:focus-visible,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button.gform_button:focus,
#tpr-get-started .tpr-gf-brand-default .gfield--type-submit button.gform_button:focus-visible {
	outline: 2px solid #0f2902;
	outline-offset: 2px;
	box-shadow: none !important;
}

/* Bold: always Poppins 700, no native/synthetic bold */
b,
strong,
[class*="has-bold-font-weight"],
[class*="weight-700"],
[style*="font-weight: 700"],
[style*="font-weight: bold"] {
	font-family: "Poppins", sans-serif !important;
	font-weight: 700 !important;
	font-synthesis: none;
}

/* Green pill — shared tokens: case-study Paragraph + Spectra Advanced Heading (hero tag).
 * .tpr-green-button is the same look (Additional CSS class alias for loop cards / CTAs). */
.tpr-green-pill,
.tpr-green-button {
	--tpr-green-pill-font-size: 13px;
	--tpr-green-pill-pad-y: 0.65em;
	--tpr-green-pill-pad-x: 0.95em;
	--tpr-green-pill-line-height: 1.35;
	width: fit-content !important;
	max-width: fit-content !important;
	display: block !important;
	margin-right: auto !important;
}

/* Hide Spectra heading pill when no text added */
.tpr-green-pill:has(.uagb-heading-text:empty),
.tpr-green-button:has(.uagb-heading-text:empty) {
	display: none !important;
}

/* Core Paragraph pill (e.g. #case-study-feature): match hero heading pill */
p.tpr-green-pill,
p.tpr-green-pill.has-background,
p.tpr-green-button,
p.tpr-green-button.has-background {
	font-family: "Poppins", sans-serif !important;
	font-size: var(--tpr-green-pill-font-size) !important;
	font-weight: 700 !important;
	line-height: var(--tpr-green-pill-line-height) !important;
	color: #0f2902 !important;
	-webkit-text-fill-color: #0f2902 !important;
	background-color: #d2fc51 !important;
	background-image: none !important;
	padding: var(--tpr-green-pill-pad-y) var(--tpr-green-pill-pad-x) !important;
	border-radius: 9999px !important;
	box-sizing: border-box !important;
	text-decoration: none !important;
}

/* Spectra outputs `.wp-block-uagb-advanced-heading .uagb-heading-text` at equal specificity;
   use the block class so our pill always wins. Gradient heading mode uses -webkit-text-fill-color
   and background-clip — reset those so solid #0f2902 shows on the lime fill. */
.wp-block-uagb-advanced-heading.tpr-green-pill .uagb-heading-text,
.tpr-green-pill .uagb-heading-text,
.wp-block-uagb-advanced-heading.tpr-green-button .uagb-heading-text,
.tpr-green-button .uagb-heading-text {
	background-color: #d2fc51 !important;
	background-image: none !important;
	color: #0f2902 !important;
	-webkit-text-fill-color: #0f2902 !important;
	-webkit-background-clip: border-box !important;
	background-clip: border-box !important;
	padding: var(--tpr-green-pill-pad-y) var(--tpr-green-pill-pad-x) !important;
	border-radius: 9999px !important;
	display: inline-block !important;
	font-family: "Poppins", sans-serif !important;
	font-size: var(--tpr-green-pill-font-size) !important;
	font-weight: 700 !important;
	line-height: var(--tpr-green-pill-line-height) !important;
	text-decoration: none !important;
	text-decoration-line: none !important;
}

.wp-block-uagb-advanced-heading.tpr-green-pill,
.wp-block-uagb-advanced-heading.tpr-green-button {
	background: transparent !important;
	background-image: none !important;
}

.wp-block-uagb-advanced-heading.tpr-green-pill .uagb-heading-text a,
.wp-block-uagb-advanced-heading.tpr-green-pill .uagb-heading-text a:link,
.wp-block-uagb-advanced-heading.tpr-green-pill .uagb-heading-text a:visited,
.wp-block-uagb-advanced-heading.tpr-green-pill .uagb-heading-text a:hover,
.wp-block-uagb-advanced-heading.tpr-green-pill .uagb-heading-text a:focus,
.wp-block-uagb-advanced-heading.tpr-green-pill .uagb-heading-text a:active,
.tpr-green-pill .uagb-heading-text a,
.tpr-green-pill .uagb-heading-text a:link,
.tpr-green-pill .uagb-heading-text a:visited,
.tpr-green-pill .uagb-heading-text a:hover,
.tpr-green-pill .uagb-heading-text a:focus,
.tpr-green-pill .uagb-heading-text a:active,
.wp-block-uagb-advanced-heading.tpr-green-button .uagb-heading-text a,
.wp-block-uagb-advanced-heading.tpr-green-button .uagb-heading-text a:link,
.wp-block-uagb-advanced-heading.tpr-green-button .uagb-heading-text a:visited,
.wp-block-uagb-advanced-heading.tpr-green-button .uagb-heading-text a:hover,
.wp-block-uagb-advanced-heading.tpr-green-button .uagb-heading-text a:focus,
.wp-block-uagb-advanced-heading.tpr-green-button .uagb-heading-text a:active,
.tpr-green-button .uagb-heading-text a,
.tpr-green-button .uagb-heading-text a:link,
.tpr-green-button .uagb-heading-text a:visited,
.tpr-green-button .uagb-heading-text a:hover,
.tpr-green-button .uagb-heading-text a:focus,
.tpr-green-button .uagb-heading-text a:active {
	color: #0f2902 !important;
	-webkit-text-fill-color: #0f2902 !important;
	text-decoration: none !important;
	text-decoration-line: none !important;
}

/**
 * Location listings (outer UAGB container): remove default link underline only.
 * Block id af4b8ed2; class tpr-location-listings-root is added in PHP (or add it in editor if you recreate the block).
 */
.wp-block-uagb-container.uagb-block-af4b8ed2 a:link,
.wp-block-uagb-container.uagb-block-af4b8ed2 a:visited,
.wp-block-uagb-container.uagb-block-af4b8ed2 a:hover,
.wp-block-uagb-container.uagb-block-af4b8ed2 a:focus,
.wp-block-uagb-container.uagb-block-af4b8ed2 a:active,
.wp-block-uagb-container.uagb-block-af4b8ed2 a *,
.wp-block-uagb-container.uagb-block-af4b8ed2 a:hover *,
.tpr-location-listings-root a:link,
.tpr-location-listings-root a:visited,
.tpr-location-listings-root a:hover,
.tpr-location-listings-root a:focus,
.tpr-location-listings-root a:active,
.tpr-location-listings-root a *,
.tpr-location-listings-root a:hover * {
	text-decoration: none !important;
	text-decoration-line: none !important;
}

/**
 * “Choose a service” row: pill bar layout. Bar background/border-radius come from the UAGB container in the editor.
 * Add Additional CSS class `tpr-service-pill-nav` on that container, or rely on auto-class for block id d9ec68af.
 * PHP also omits this container when there are no links; this hides it if any edge markup slips through.
 */
.wp-block-uagb-container.tpr-service-pill-nav:not(:has(a[href])) {
	display: none !important;
}

.tpr-service-pill-nav .uagb-container-inner-blocks-wrap {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 0.65rem 1.1rem !important;
	width: 100%;
	box-sizing: border-box;
}

.tpr-service-pill-nav .uagb-container-inner-blocks-wrap > .wp-block-uagb-advanced-heading:first-child .uagb-heading-text,
.tpr-service-pill-nav .uagb-container-inner-blocks-wrap > p:first-child:not(:has(a)) {
	font-family: var(--typography-font-family-font-decorative, "Hamilton Script"), "Hamilton Script fallback", cursive !important;
	font-size: clamp(1.1rem, 2.5vw, 1.65rem) !important;
	font-weight: 400 !important;
	font-style: normal !important;
	color: #fff !important;
	line-height: 1.2 !important;
	margin: 0 !important;
	white-space: nowrap;
}

.tpr-service-pill-nav .uagb-buttons__wrap,
.tpr-service-pill-nav .wp-block-buttons {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 0.45rem !important;
}

.tpr-service-pill-nav .wp-block-uagb-buttons,
.tpr-service-pill-nav .wp-block-buttons {
	margin: 0 !important;
}

.tpr-service-pill-nav .wp-block-uagb-button,
.tpr-service-pill-nav .wp-block-button {
	margin: 0 !important;
}

.tpr-service-pill-nav .wp-block-uagb-button .uagb-button__link,
.tpr-service-pill-nav .wp-block-uagb-button a.uagb-buttons-repeater,
.tpr-service-pill-nav .wp-block-uagb-button a.wp-block-button__link,
.tpr-service-pill-nav .wp-block-button .wp-block-button__link {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	border-radius: 999px !important;
	padding: 10px 14px !important;
	font-family: "Poppins", sans-serif !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	border: none !important;
	box-shadow: none !important;
	/* Match .tpr-product-filter-* / loop-category pill buttons */
	background-color: #273e1b !important;
	color: #fff !important;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.tpr-service-pill-nav .wp-block-uagb-button .uagb-button__link:not(.tpr-service-pill-nav__active) *,
.tpr-service-pill-nav .wp-block-uagb-button a.uagb-buttons-repeater:not(.tpr-service-pill-nav__active) *,
.tpr-service-pill-nav .wp-block-uagb-button a.wp-block-button__link:not(.tpr-service-pill-nav__active) *,
.tpr-service-pill-nav .wp-block-button .wp-block-button__link:not(.tpr-service-pill-nav__active) * {
	color: #fff !important;
}

.tpr-service-pill-nav .wp-block-uagb-button .uagb-button__link:hover:not(.tpr-service-pill-nav__active),
.tpr-service-pill-nav .wp-block-uagb-button a.uagb-buttons-repeater:hover:not(.tpr-service-pill-nav__active),
.tpr-service-pill-nav .wp-block-uagb-button a.wp-block-button__link:hover:not(.tpr-service-pill-nav__active),
.tpr-service-pill-nav .wp-block-button .wp-block-button__link:hover:not(.tpr-service-pill-nav__active) {
	background-color: #1f3315 !important;
	color: #fff !important;
}

.tpr-service-pill-nav a.tpr-service-pill-nav__active,
.tpr-service-pill-nav .wp-block-uagb-button a.tpr-service-pill-nav__active,
.tpr-service-pill-nav .wp-block-button .wp-block-button__link.tpr-service-pill-nav__active {
	background-color: #beef3c !important;
	color: #1a2b16 !important;
	border-radius: 999px !important;
}

.tpr-service-pill-nav a.tpr-service-pill-nav__active *,
.tpr-service-pill-nav .wp-block-uagb-button a.tpr-service-pill-nav__active *,
.tpr-service-pill-nav .wp-block-button .wp-block-button__link.tpr-service-pill-nav__active * {
	background-color: #beef3c !important;
	color: #1a2b16 !important;
}

.tpr-service-pill-nav .wp-block-list {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 0.45rem !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.tpr-service-pill-nav .wp-block-list li {
	margin: 0 !important;
}

.tpr-service-pill-nav .wp-block-list a {
	display: inline-flex !important;
	align-items: center !important;
	border-radius: 999px !important;
	padding: 10px 14px !important;
	font-family: "Poppins", sans-serif !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	text-decoration: none !important;
	background-color: #273e1b !important;
	color: #fff !important;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.tpr-service-pill-nav .wp-block-list a:not(.tpr-service-pill-nav__active) * {
	color: #fff !important;
}

.tpr-service-pill-nav .wp-block-list a:hover:not(.tpr-service-pill-nav__active) {
	background-color: #1f3315 !important;
	color: #fff !important;
}

.tpr-service-pill-nav .uagb-container-inner-blocks-wrap > p:first-child:has(a) {
	display: contents;
}

.tpr-service-pill-nav .uagb-container-inner-blocks-wrap > p:first-child:has(a) a {
	display: inline-flex !important;
	align-items: center !important;
	border-radius: 999px !important;
	padding: 10px 14px !important;
	font-family: "Poppins", sans-serif !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	text-decoration: none !important;
	background-color: #273e1b !important;
	color: #fff !important;
	margin-right: 0.35rem;
	margin-bottom: 0.25rem;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.tpr-service-pill-nav .uagb-container-inner-blocks-wrap > p:first-child:has(a) a:not(.tpr-service-pill-nav__active) * {
	color: #fff !important;
}

.tpr-service-pill-nav .uagb-container-inner-blocks-wrap > p:first-child:has(a) a:hover:not(.tpr-service-pill-nav__active) {
	background-color: #1f3315 !important;
	color: #fff !important;
}

@media (max-width: 600px) {
	.tpr-service-pill-nav .uagb-container-inner-blocks-wrap > .wp-block-uagb-advanced-heading:first-child .uagb-heading-text,
	.tpr-service-pill-nav .uagb-container-inner-blocks-wrap > p:first-child:not(:has(a)) {
		white-space: normal;
		width: 100%;
		flex: 0 0 100%;
	}
}

/*
 * Tablet (769–976px): the pill's default block padding (~3px left) clips the
 * "choose a service" script label and wrapped button rows sit flex-start.
 * Mirror the ≤768px padding/radius (defined in the tablet/mobile block around
 * line 6562), centre the label on its own row, and cap the button list width
 * so the 5 buttons wrap as 3 + 2 in a tight, centred cluster.
 */
@media (min-width: 769px) and (max-width: 976px) {
	.tpr-service-pill-nav {
		border-radius: 16px !important;
		padding: 15px 20px !important;
	}

	/* Centre the "choose a service" script label on its own row. */
	.tpr-service-pill-nav .uagb-container-inner-blocks-wrap > .wp-block-uagb-advanced-heading:first-child,
	.tpr-service-pill-nav .uagb-container-inner-blocks-wrap > p:first-child:not(:has(a)) {
		width: 100% !important;
		flex: 0 0 100% !important;
		text-align: center !important;
	}

	.tpr-service-pill-nav .uagb-container-inner-blocks-wrap > .wp-block-uagb-advanced-heading:first-child .uagb-heading-text {
		text-align: center !important;
	}

	/*
	 * Cap the button list width so 5 buttons wrap as 3 + 2 while each row
	 * stays a tight, centred cluster — buttons keep their natural widths
	 * instead of being forced into evenly spread 33% columns.
	 */
	.tpr-service-pill-nav .wp-block-list,
	.tpr-service-pill-nav .uagb-buttons__wrap,
	.tpr-service-pill-nav .wp-block-buttons {
		justify-content: center !important;
		max-width: 640px !important;
	}

	/*
	 * The UAGB block that wraps the button list is a flex child of the inner
	 * wrap sized to its content. Auto-margins centre that wrapper within its
	 * row so the whole button cluster sits in the middle of the pill.
	 */
	.tpr-service-pill-nav .uagb-container-inner-blocks-wrap > *:not(:first-child) {
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

/* Ticker shortcode [tpr-ticker]: 3D carousel (rotateX flip) */
/* inline-grid: .tpr-ticker__intrinsic sets width from longest term; perspective stacks in same cell */
.tpr-ticker--3d {
	--tpr-ticker-duration: 16s;
	display: inline-grid;
	grid-template-columns: minmax(0, max-content);
	grid-template-rows: auto;
	vertical-align: baseline;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.tpr-ticker__intrinsic {
	grid-area: 1 / 1;
	align-self: start;
	visibility: hidden;
	white-space: nowrap;
	font: inherit;
	font-weight: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	pointer-events: none;
	user-select: none;
}

/* On smaller screens, constrain ticker to viewport. Root padding on `.uagb-heading-text` applies only
 * when the heading contains `.tpr-ticker` — otherwise hero H1/H2/copy sit inset vs Yoast breadcrumbs. */
@media (max-width: 1024px) {
	.tpr-video-banner .wp-block-uagb-advanced-heading:has(.tpr-ticker):not(.tpr-green-pill, .tpr-green-button) .uagb-heading-text,
	.tpr-video-text-container .wp-block-uagb-advanced-heading:has(.tpr-ticker):not(.tpr-green-pill, .tpr-green-button) .uagb-heading-text,
	.wp-block-uagb-advanced-heading:has(.tpr-ticker):not(.tpr-green-pill, .tpr-green-button) .uagb-heading-text {
		padding-left: var(--wp--style--root--padding-left, 1.5rem) !important;
		padding-right: var(--wp--style--root--padding-right, 1.5rem) !important;
		box-sizing: border-box !important;
		max-width: 100vw !important;
	}
	/* Stay inline with preceding text (e.g. "for …"); do not force full-width block */
	.tpr-ticker--3d {
		display: inline-grid;
		max-width: min(100%, 100vw) !important;
		box-sizing: border-box;
	}
	.tpr-ticker__perspective {
		min-width: 0;
		max-width: 100%;
	}
	/* Align wrapped text to top so no gap appears above ticker */
	.tpr-ticker__slot-inner {
		vertical-align: top;
	}
	/* Reduce gap between ticker and content above (tagline) */
	.tpr-video-banner .wp-block-uagb-advanced-heading:has(.tpr-ticker),
	.tpr-video-text-container .wp-block-uagb-advanced-heading:has(.tpr-ticker) {
		margin-top: 0.25em !important;
	}
}

/* On narrow mobile, the ticker's intrinsic width (longest term, e.g. "fit-out companies")
 * exceeds what fits alongside the preceding word at this font size. Safari responds by
 * pushing the last preceding word onto its own line (e.g. "partnerships / for / {ticker}"),
 * leaving "for" orphaned. Switching from inline-grid to (block-level) grid lets preceding
 * text wrap naturally ("partnerships for / {ticker}") while preserving the grid-area 1/1
 * stacking that overlays the perspective on the intrinsic sizer — so no vertical gap. */
@media (max-width: 767px) {
	.tpr-ticker--3d {
		display: grid !important;
		width: max-content;
		max-width: 100%;
	}
	/* Tighten the 3D carousel to a single line so adjacent rotating slots don't
	 * bleed below the visible term. Default 4em assumed multi-line wrap inside
	 * the ticker; with block layout each term already gets its own line. */
	.tpr-ticker--3d .tpr-ticker__perspective {
		height: 1.3em !important;
		line-height: 1.3em !important;
	}
}

.tpr-ticker__perspective {
	grid-area: 1 / 1;
	align-self: start;
	display: block;
	position: relative;
	height: 4em;
	width: 100%;
	min-width: 0;
	line-height: 1.2em;
	perspective: 3000px;
	overflow: visible;
	/* Prevent adjacent slots from showing during 3D rotation; only the front-facing slot should be visible */
	isolation: isolate;
}

@media (min-width: 768px) {
	.tpr-ticker__perspective {
		height: 3.8em;
		line-height: 1.2em;
	}
}

/* Desktop: single-line ticker sits inline with sentence above (no extra gap).
 * Width comes from .tpr-ticker__intrinsic (longest term). Ensure left padding. */
@media (min-width: 1025px) {
	.tpr-video-banner .wp-block-uagb-advanced-heading:has(.tpr-ticker):not(.tpr-green-pill, .tpr-green-button) .uagb-heading-text,
	.tpr-video-text-container .wp-block-uagb-advanced-heading:has(.tpr-ticker):not(.tpr-green-pill, .tpr-green-button) .uagb-heading-text,
	.wp-block-uagb-advanced-heading:has(.tpr-ticker) .uagb-heading-text {
		padding-left: var(--wp--style--root--padding-left, 1.5rem) !important;
		box-sizing: border-box !important;
	}
	.tpr-ticker__perspective {
		height: 1.2em;
	}
	/* Single-line perspective: nudge rotating word to sit with sibling baseline/cap height */
	.tpr-video-banner .wp-block-uagb-advanced-heading:has(.tpr-ticker) .tpr-ticker__slot-inner,
	.tpr-video-text-container .wp-block-uagb-advanced-heading:has(.tpr-ticker) .tpr-ticker__slot-inner {
		vertical-align: middle;
	}
}

/* tpr-homepage-h1: "with" bold but not in h1; "design-led plant hire..." is semantic h1 */
.tpr-homepage-h1 .tpr-h1-prefix {
	font-weight: bold;
	font-size: inherit;
}
/* Inherit all block editor typography – don't pull in default h1 styles */
.tpr-homepage-h1 .uagb-heading-text h1,
.tpr-homepage-h1 h1 {
	display: inline;
	margin: 0;
}

/* Inherit all typography from parent */
.tpr-homepage-h1 .uagb-heading-text h1,
.tpr-homepage-h1 h1 {
	font-size: inherit !important;
	font-weight: inherit !important;
	font-family: inherit !important;
	line-height: inherit !important;
	letter-spacing: inherit !important;
	color: inherit !important;
}

/*
 * Video hero fallback: WP Rocket lazy-loads the poster background image on the
 * <video> element via a CSS variable that is only set after JS fires. Until the
 * video or poster loads, the banner is transparent/white. A solid dark
 * background-color on the wrapper ensures the hero text is always readable.
 */
.tpr-video-banner {
	background-color: #0f2902;
}

/*
 * Spectra background video (container / section / columns): sage behind the element while
 * the file buffers. If the block has a Fallback image in the editor, theme PHP also sets
 * the <video poster> attribute so the image shows before the first decoded frame.
 */
body .wp-block-uagb-container .uagb-container__video-wrap,
body .wp-block-uagb-section .uagb-section__video-wrap,
body .wp-block-uagb-columns .uagb-columns__video-wrap {
	background-color: #879480;
}

body .wp-block-uagb-container .uagb-container__video-wrap video,
body .wp-block-uagb-section .uagb-section__video-wrap video,
body .wp-block-uagb-columns .uagb-columns__video-wrap video {
	background: transparent;
}

/*
 * Video hero: Spectra puts the dark overlay on .tpr-video-text-container::before (full height).
 * On tablet/mobile, shorten the gradient so more of the hero image shows through; desktop unchanged.
 */
@media (max-width: 1087px) {
	.tpr-video-banner .tpr-video-text-container.uagb-is-root-container::before {
		background: linear-gradient(
			to top,
			rgba(15, 41, 2, 0.82) 0%,
			rgba(15, 41, 2, 0.42) 16%,
			rgba(15, 41, 2, 0.12) 28%,
			rgba(15, 41, 2, 0) 38%
		) !important;
	}
}

/* Hero text section: 60px gap above CTA bar – consistent at all breakpoints */
.tpr-video-text-container .uagb-container-inner-block,
.tpr-video-text-container .uagb-container-inner-blocks-wrap,
.tpr-video-text-container [class*="uagb-container-inner"] {
	padding-bottom: 60px !important;
	box-sizing: border-box !important;
}

/* Mobile: add top padding so video banner content clears the header; reduced to bring text closer */
@media (max-width: 1087px) {
	.tpr-video-text-container .uagb-container-inner-block,
	.tpr-video-text-container .uagb-container-inner-blocks-wrap,
	.tpr-video-text-container [class*="uagb-container-inner"] {
		padding-top: calc(48px + env(safe-area-inset-top, 0)) !important;
	}
	/*
	 * Yoast breadcrumbs first: keep header / notch clearance on the inner wrap (padding-top),
	 * not as a tall margin before the title stack — that read as a huge gap under the trail on tablet.
	 */
	.tpr-video-text-container .uagb-container-inner-block:has(> .wp-block-yoast-seo-breadcrumbs:first-child),
	.tpr-video-text-container .uagb-container-inner-blocks-wrap:has(> .wp-block-yoast-seo-breadcrumbs:first-child),
	.tpr-video-text-container .uagb-container-inner-block:has(> .yoast-breadcrumbs:first-child),
	.tpr-video-text-container .uagb-container-inner-blocks-wrap:has(> .yoast-breadcrumbs:first-child),
	.tpr-video-text-container .uagb-container-inner-block:has(> .tpr-yoast-breadcrumb-shift:first-child),
	.tpr-video-text-container .uagb-container-inner-blocks-wrap:has(> .tpr-yoast-breadcrumb-shift:first-child),
	.tpr-video-text-container [class*="uagb-container-inner"]:has(> .wp-block-yoast-seo-breadcrumbs:first-child),
	.tpr-video-text-container [class*="uagb-container-inner"]:has(> .yoast-breadcrumbs:first-child),
	.tpr-video-text-container [class*="uagb-container-inner"]:has(> .tpr-yoast-breadcrumb-shift:first-child) {
		padding-top: max(48px, env(safe-area-inset-top, 0px)) !important;
	}
	.tpr-video-text-container .uagb-container-inner-block:has(> .wp-block-yoast-seo-breadcrumbs:first-child) > *:nth-child(2),
	.tpr-video-text-container .uagb-container-inner-blocks-wrap:has(> .wp-block-yoast-seo-breadcrumbs:first-child) > *:nth-child(2),
	.tpr-video-text-container .uagb-container-inner-block:has(> .yoast-breadcrumbs:first-child) > *:nth-child(2),
	.tpr-video-text-container .uagb-container-inner-blocks-wrap:has(> .yoast-breadcrumbs:first-child) > *:nth-child(2),
	.tpr-video-text-container .uagb-container-inner-block:has(> .tpr-yoast-breadcrumb-shift:first-child) > *:nth-child(2),
	.tpr-video-text-container .uagb-container-inner-blocks-wrap:has(> .tpr-yoast-breadcrumb-shift:first-child) > *:nth-child(2),
	.tpr-video-text-container [class*="uagb-container-inner"]:has(> .wp-block-yoast-seo-breadcrumbs:first-child) > *:nth-child(2),
	.tpr-video-text-container [class*="uagb-container-inner"]:has(> .yoast-breadcrumbs:first-child) > *:nth-child(2),
	.tpr-video-text-container [class*="uagb-container-inner"]:has(> .tpr-yoast-breadcrumb-shift:first-child) > *:nth-child(2) {
		margin-top: 0.5rem !important;
	}
	/* Reduce block gap between logo/50 Years and h1 to eliminate large gap above heading */
	.tpr-video-text-container .uagb-container-inner-blocks-wrap,
	.tpr-video-text-container .uagb-container-inner-block {
		--wp--style--block-gap: 0.5rem !important;
		gap: 0.5rem !important;
	}
	.tpr-video-text-container .wp-block-uagb-advanced-heading:first-child,
	.tpr-video-text-container header.wp-block-uagb-advanced-heading:first-child {
		margin-top: 0 !important;
	}
	/* Remove top margin from h1 and its block so logo moves down closer */
	.tpr-video-text-container .wp-block-uagb-advanced-heading .uagb-heading-text,
	.tpr-video-text-container h1.uagb-heading-text {
		margin-top: 0 !important;
	}
}

/*
 * Tablet (768–976px): bottom-align hero above the quote bar (all pages that use the video hero pattern).
 * Spectra/UAGB “inner content” containers apply tablet justify-content to
 * `.uagb-is-root-container.alignfull > .uagb-container-inner-blocks-wrap`, not the root — so we
 * must override that wrap (and/or use a column flex root). Max width matches UAGB_TABLET_BREAKPOINT (976).
 */
@media only screen and (min-width: 768px) and (max-width: 976px) {
	.tpr-video-banner .tpr-video-text-container.uagb-is-root-container {
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-end !important;
		align-items: stretch !important;
		align-content: flex-end !important;
	}
	/* Inner flex column (Spectra): normal block order; root flex-end places this wrap at the bottom of the hero */
	.tpr-video-text-container.uagb-is-root-container > .uagb-container-inner-blocks-wrap {
		justify-content: flex-start !important;
		align-items: flex-start !important;
		margin-top: 0 !important;
		margin-block-start: 0 !important;
		padding-top: max(1rem, env(safe-area-inset-top, 0px)) !important;
		/* Slightly less air above the quote/CTA bar on tablet (was 76px). */
		padding-bottom: 48px !important;
	}
	.tpr-video-text-container.uagb-is-root-container > .uagb-container-inner-blocks-wrap:has(> .wp-block-yoast-seo-breadcrumbs:first-child),
	.tpr-video-text-container.uagb-is-root-container > .uagb-container-inner-blocks-wrap:has(> .yoast-breadcrumbs:first-child),
	.tpr-video-text-container.uagb-is-root-container > .uagb-container-inner-blocks-wrap:has(> .tpr-yoast-breadcrumb-shift:first-child) {
		/* Match max-width:1087 breadcrumb rule: clearance above the trail, not a band before the headings. */
		padding-top: max(48px, env(safe-area-inset-top, 0px)) !important;
	}
	.tpr-video-banner.uagb-layout-grid .uagb-container-inner-blocks-wrap,
	.tpr-video-banner .uagb-layout-grid > .uagb-container-inner-blocks-wrap {
		align-items: stretch !important;
		justify-content: flex-end !important;
		align-content: end !important;
	}
	.tpr-video-banner .uagb-layout-grid .wp-block-uagb-container.tpr-video-text-container,
	.tpr-video-banner .uagb-layout-grid .tpr-video-text-container {
		align-self: stretch !important;
	}
	.tpr-video-banner.wp-block-uagb-container.uagb-is-root-container > .uagb-container-inner-blocks-wrap,
	.tpr-video-banner.wp-block-uagb-container.uagb-is-root-container > .uagb-container-inner-block {
		justify-content: flex-end !important;
		align-items: stretch !important;
	}
	/*
	 * Tighter stack: default .tpr-ticker__perspective is 3.8em from 768px up until the 1025px
	 * desktop rule (1.2em) — that leaves a tall empty band under “Transforming …” on tablet.
	 */
	body.home .tpr-video-text-container .wp-block-uagb-advanced-heading.uagb-block-ffa49355 .tpr-ticker__perspective {
		height: 1.3em !important;
		line-height: 1.3em !important;
	}
	body.home .tpr-video-text-container .wp-block-uagb-advanced-heading.uagb-block-a4ff36c4 {
		margin-top: 0.15em !important;
		margin-bottom: 0.65rem !important;
	}
}

/*
 * Mobile (<768px): same bottom-align stack as tablet — headline + subhead cluster above the quote bar.
 * (Tablet rules are 768–976px only; without this, flex-start leaves a large empty band on small phones.)
 */
@media only screen and (max-width: 767px) {
	.tpr-video-banner .tpr-video-text-container.uagb-is-root-container {
		display: flex !important;
		flex-direction: column !important;
		justify-content: flex-end !important;
		align-items: stretch !important;
		align-content: flex-end !important;
	}
	.tpr-video-text-container.uagb-is-root-container > .uagb-container-inner-blocks-wrap {
		justify-content: flex-start !important;
		align-items: flex-start !important;
		margin-top: 0 !important;
		margin-block-start: 0 !important;
		padding-top: max(1rem, env(safe-area-inset-top, 0px)) !important;
		padding-bottom: 48px !important;
	}
	.tpr-video-text-container.uagb-is-root-container > .uagb-container-inner-blocks-wrap:has(> .wp-block-yoast-seo-breadcrumbs:first-child),
	.tpr-video-text-container.uagb-is-root-container > .uagb-container-inner-blocks-wrap:has(> .yoast-breadcrumbs:first-child),
	.tpr-video-text-container.uagb-is-root-container > .uagb-container-inner-blocks-wrap:has(> .tpr-yoast-breadcrumb-shift:first-child) {
		padding-top: max(48px, env(safe-area-inset-top, 0px)) !important;
	}
	.tpr-video-banner.uagb-layout-grid .uagb-container-inner-blocks-wrap,
	.tpr-video-banner .uagb-layout-grid > .uagb-container-inner-blocks-wrap {
		align-items: stretch !important;
		justify-content: flex-end !important;
		align-content: end !important;
	}
	.tpr-video-banner .uagb-layout-grid .wp-block-uagb-container.tpr-video-text-container,
	.tpr-video-banner .uagb-layout-grid .tpr-video-text-container {
		align-self: stretch !important;
	}
	.tpr-video-banner.wp-block-uagb-container.uagb-is-root-container > .uagb-container-inner-blocks-wrap,
	.tpr-video-banner.wp-block-uagb-container.uagb-is-root-container > .uagb-container-inner-block {
		justify-content: flex-end !important;
		align-items: stretch !important;
	}
	body.home .tpr-video-text-container .wp-block-uagb-advanced-heading.uagb-block-ffa49355 .tpr-ticker__perspective {
		height: 1.3em !important;
		line-height: 1.3em !important;
	}
	body.home .tpr-video-text-container .wp-block-uagb-advanced-heading.uagb-block-a4ff36c4 {
		margin-top: 0.15em !important;
		margin-bottom: 0.65rem !important;
	}
}

/* Desktop: reduce spacing above h1 so it sits closer to ticker / "Transforming hospitality" */
@media (min-width: 1088px) {
	.tpr-video-text-container .uagb-container-inner-blocks-wrap,
	.tpr-video-text-container .uagb-container-inner-block {
		--wp--style--block-gap: 0.5rem !important;
		gap: 0.5rem !important;
	}
	.tpr-video-text-container .wp-block-uagb-advanced-heading .uagb-heading-text,
	.tpr-video-text-container h1.uagb-heading-text {
		margin-top: 0 !important;
	}
}

/* Homepage hero ticker: laptop / smaller desktop (below 1600px) — nudge down 1px */
@media (min-width: 1025px) and (max-width: 1599px) {
	body.home .tpr-video-text-container .wp-block-uagb-advanced-heading.uagb-block-ffa49355 .tpr-ticker--3d {
		transform: translateY(1px);
	}
}

/* ==========================================================================
   Large desktop (1600px+): homepage video hero + site-wide H1 (60px).
   — Homepage: ticker 80px; semantic line uagb-block-a4ff36c4 keeps dedicated 60px (not global-h1-only).
   — Other pages: `h1` at 60px except homepage, design-plant-partnerships, or h1 inside uagb-block-a4ff36c4.
   ========================================================================== */
@media (min-width: 1600px) {
	.tpr-video-banner .tpr-video-text-container figure.wp-block-image img.wp-image-340,
	.tpr-video-banner .tpr-video-text-container img.wp-image-340 {
		width: 700px !important;
		max-width: 100%;
		height: auto !important;
	}

	/* “Transforming offices…” ticker heading (homepage only) */
	body.home .tpr-video-text-container .wp-block-uagb-advanced-heading.uagb-block-ffa49355 .uagb-heading-text,
	body.home .tpr-video-text-container .wp-block-uagb-advanced-heading.uagb-block-ffa49355 .uagb-heading-text strong {
		font-size: 80px !important;
		line-height: 1.1 !important;
	}

	body.home .tpr-video-text-container .wp-block-uagb-advanced-heading.uagb-block-ffa49355 .tpr-ticker__perspective {
		height: 1.15em;
		line-height: 1.15em;
	}

	body.home .tpr-video-text-container .wp-block-uagb-advanced-heading.uagb-block-ffa49355 .tpr-ticker__slot-inner {
		vertical-align: middle;
	}

	/* Optical alignment with “Transforming” at 80px — ticker sits slightly low on wide viewports */
	body.home .tpr-video-text-container .wp-block-uagb-advanced-heading.uagb-block-ffa49355 .tpr-ticker--3d {
		transform: translateY(-4px);
	}

	/* “design-led plant hire…” (uagb-block-a4ff36c4) — homepage hero only; same 60px treatment as before site-wide H1 */
	body.home .tpr-video-text-container .wp-block-uagb-advanced-heading.uagb-block-a4ff36c4 {
		margin-bottom: 10px !important;
	}

	body.home .tpr-video-text-container .wp-block-uagb-advanced-heading.uagb-block-a4ff36c4 .uagb-heading-text,
	body.home .tpr-video-text-container .wp-block-uagb-advanced-heading.uagb-block-a4ff36c4 .uagb-heading-text h1,
	body.home .tpr-video-text-container .wp-block-uagb-advanced-heading.uagb-block-a4ff36c4 .uagb-heading-text strong {
		font-size: 60px !important;
		line-height: 1.1 !important;
	}

	/*
	 * Large-desktop H1 (60px): site-wide except homepage, design-plant-partnerships, and h1 inside
	 * uagb-block-a4ff36c4 (that block uses the homepage scoped rules when in hero, or editor markup elsewhere).
	 * Exclude body.block-editor-page (Gutenberg shell): the document bar title is an h1 and must not use 60px.
	 * Editor canvas uses .block-editor-iframe__body, not .block-editor-page, so content preview is unchanged.
	 */
	html body:not(.home):not(.page-slug-design-plant-partnerships):not(.block-editor-page) h1:not(:is(.wp-block-uagb-advanced-heading.uagb-block-a4ff36c4 *)),
	html body:not(.home):not(.page-slug-design-plant-partnerships):not(.block-editor-page) h1.uagb-heading-text:not(:is(.wp-block-uagb-advanced-heading.uagb-block-a4ff36c4 *)),
	html body:not(.home):not(.page-slug-design-plant-partnerships):not(.block-editor-page) .wp-block-uagb-advanced-heading:not(.uagb-block-a4ff36c4) .uagb-heading-text > h1 {
		font-size: 60px !important;
		line-height: 1.1 !important;
	}

	html body:not(.home):not(.page-slug-design-plant-partnerships):not(.block-editor-page) h1:not(:is(.wp-block-uagb-advanced-heading.uagb-block-a4ff36c4 *)) strong,
	html body:not(.home):not(.page-slug-design-plant-partnerships):not(.block-editor-page) h1.uagb-heading-text:not(:is(.wp-block-uagb-advanced-heading.uagb-block-a4ff36c4 *)) strong {
		font-size: inherit !important;
	}

	/*
	 * `.tpr-banner-h2-text`: site-wide utility (45px) at large desktop — any wrapper, UAGB heading, or inner node.
	 * UAGB chains beat Spectra block CSS (.wp-block-uagb-advanced-heading.uagb-block-* … !important).
	 */
	html body .tpr-banner-h2-text,
	html body .wp-block-uagb-advanced-heading .uagb-heading-text .tpr-banner-h2-text,
	html body .wp-block-uagb-advanced-heading.tpr-banner-h2-text .uagb-heading-text,
	html body .wp-block-uagb-advanced-heading .uagb-heading-text.tpr-banner-h2-text,
	html body .wp-block-uagb-advanced-heading.tpr-banner-h2-text .uagb-heading-text strong,
	html body .wp-block-uagb-advanced-heading .uagb-heading-text .tpr-banner-h2-text strong {
		font-size: 45px !important;
		line-height: 1.15 !important;
	}

	/* Homepage ticker block: beat 80px on this block wherever it appears */
	html body.home .wp-block-uagb-advanced-heading.uagb-block-ffa49355 .uagb-heading-text .tpr-banner-h2-text,
	html body.home .wp-block-uagb-advanced-heading.uagb-block-ffa49355.tpr-banner-h2-text .uagb-heading-text,
	html body.home .wp-block-uagb-advanced-heading.uagb-block-ffa49355.tpr-banner-h2-text .uagb-heading-text strong {
		font-size: 45px !important;
		line-height: 1.15 !important;
	}
}

/* Mobile: default h1 font size (not the block editor admin shell — same as large-desktop H1 note above) */
@media (max-width: 767px) {
	body:not(.block-editor-page) h1 {
		font-size: 38px !important;
	}
	body:not(.block-editor-page) h2 {
		font-size: 25px !important;
	}
	.wp-block-accordion-heading__toggle-title {
		font-size: 20px !important;
	}
}

/* Gutenberg top bar: template/post name uses an h1 — keep admin UI scale if theme CSS loads in the shell */
body.block-editor-page .editor-document-bar__title h1 {
	font-size: var(--wp-admin-font-size, 13px) !important;
	line-height: 1.4 !important;
	font-weight: 400 !important;
}

.tpr-ticker__carousel {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	will-change: transform;
	transform-style: preserve-3d;
	transform-origin: 50% 50%;
	animation: tpr-text-rotate var(--tpr-ticker-duration, 16s) ease-in-out infinite;
}

/* No default opacity: 0 – visibility animations control opacity; base opacity would override them and hide all terms. */
.tpr-ticker__slot {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	display: table;
	table-layout: fixed;
	/* One line per term so phrases like "project managers" never split */
	white-space: nowrap;
	text-align: left;
	will-change: transform;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}

.tpr-ticker__slot-inner {
	display: table-cell;
	vertical-align: top;
	width: 100%;
	word-wrap: normal;
	overflow-wrap: normal;
	white-space: nowrap;
	padding-left: 4px; /* Prevent first letter clipping from perspective overflow */
	box-sizing: border-box;
}

/* Slot visibility: crossfade at each rotate step; last→first uses same window as final tpr-text-rotate segment (no pop at 100%%). */
.tpr-ticker[data-tpr-count="2"] .tpr-ticker__slot:nth-child(1) { animation: tpr-vis-slot-2-1 var(--tpr-ticker-duration, 16s) ease-in-out infinite; }
.tpr-ticker[data-tpr-count="2"] .tpr-ticker__slot:nth-child(2) { animation: tpr-vis-slot-2-2 var(--tpr-ticker-duration, 16s) ease-in-out infinite; }

.tpr-ticker[data-tpr-count="4"] .tpr-ticker__slot:nth-child(1) { animation: tpr-vis-slot-4-1 var(--tpr-ticker-duration, 16s) ease-in-out infinite; }
.tpr-ticker[data-tpr-count="4"] .tpr-ticker__slot:nth-child(2) { animation: tpr-vis-slot-4-2 var(--tpr-ticker-duration, 16s) ease-in-out infinite; }
.tpr-ticker[data-tpr-count="4"] .tpr-ticker__slot:nth-child(3) { animation: tpr-vis-slot-4-3 var(--tpr-ticker-duration, 16s) ease-in-out infinite; }
.tpr-ticker[data-tpr-count="4"] .tpr-ticker__slot:nth-child(4) { animation: tpr-vis-slot-4-4 var(--tpr-ticker-duration, 16s) ease-in-out infinite; }

.tpr-ticker[data-tpr-count="3"] .tpr-ticker__slot:nth-child(1) { animation: tpr-vis-slot-3-1 var(--tpr-ticker-duration, 16s) ease-in-out infinite; }
.tpr-ticker[data-tpr-count="3"] .tpr-ticker__slot:nth-child(2) { animation: tpr-vis-slot-3-2 var(--tpr-ticker-duration, 16s) ease-in-out infinite; }
.tpr-ticker[data-tpr-count="3"] .tpr-ticker__slot:nth-child(3) { animation: tpr-vis-slot-3-3 var(--tpr-ticker-duration, 16s) ease-in-out infinite; }

.tpr-ticker[data-tpr-count="5"] .tpr-ticker__slot:nth-child(1) { animation: tpr-vis-slot-5-1 var(--tpr-ticker-duration, 16s) ease-in-out infinite; }
.tpr-ticker[data-tpr-count="5"] .tpr-ticker__slot:nth-child(2) { animation: tpr-vis-slot-5-2 var(--tpr-ticker-duration, 16s) ease-in-out infinite; }
.tpr-ticker[data-tpr-count="5"] .tpr-ticker__slot:nth-child(3) { animation: tpr-vis-slot-5-3 var(--tpr-ticker-duration, 16s) ease-in-out infinite; }
.tpr-ticker[data-tpr-count="5"] .tpr-ticker__slot:nth-child(4) { animation: tpr-vis-slot-5-4 var(--tpr-ticker-duration, 16s) ease-in-out infinite; }
.tpr-ticker[data-tpr-count="5"] .tpr-ticker__slot:nth-child(5) { animation: tpr-vis-slot-5-5 var(--tpr-ticker-duration, 16s) ease-in-out infinite; }

.tpr-ticker[data-tpr-count="6"] .tpr-ticker__slot:nth-child(1) { animation: tpr-vis-slot-6-1 var(--tpr-ticker-duration, 16s) ease-in-out infinite; }
.tpr-ticker[data-tpr-count="6"] .tpr-ticker__slot:nth-child(2) { animation: tpr-vis-slot-6-2 var(--tpr-ticker-duration, 16s) ease-in-out infinite; }
.tpr-ticker[data-tpr-count="6"] .tpr-ticker__slot:nth-child(3) { animation: tpr-vis-slot-6-3 var(--tpr-ticker-duration, 16s) ease-in-out infinite; }
.tpr-ticker[data-tpr-count="6"] .tpr-ticker__slot:nth-child(4) { animation: tpr-vis-slot-6-4 var(--tpr-ticker-duration, 16s) ease-in-out infinite; }
.tpr-ticker[data-tpr-count="6"] .tpr-ticker__slot:nth-child(5) { animation: tpr-vis-slot-6-5 var(--tpr-ticker-duration, 16s) ease-in-out infinite; }
.tpr-ticker[data-tpr-count="6"] .tpr-ticker__slot:nth-child(6) { animation: tpr-vis-slot-6-6 var(--tpr-ticker-duration, 16s) ease-in-out infinite; }

/* 2 words: last→first crossfade matches tpr-text-rotate-2w (92–97%%). */
@keyframes tpr-vis-slot-2-1 { 0%, 42% { opacity: 1; } 47% { opacity: 0; } 48%, 91% { opacity: 0; } 92% { opacity: 0; } 97% { opacity: 1; } 97%, 100% { opacity: 1; } }
@keyframes tpr-vis-slot-2-2 { 0%, 41% { opacity: 0; } 42% { opacity: 0; } 47% { opacity: 1; } 47%, 91% { opacity: 1; } 92% { opacity: 1; } 97% { opacity: 0; } 97%, 100% { opacity: 0; } }

/* 4 words: default carousel tpr-text-rotate; wrap crossfade 87–92%%. */
@keyframes tpr-vis-slot-4-1 { 0%, 18% { opacity: 1; } 19% { opacity: 1; } 23% { opacity: 0; } 24%, 86% { opacity: 0; } 87% { opacity: 0; } 92% { opacity: 1; } 92%, 100% { opacity: 1; } }
@keyframes tpr-vis-slot-4-2 { 0%, 17% { opacity: 0; } 18% { opacity: 0; } 21% { opacity: 1; } 23%, 41% { opacity: 1; } 42% { opacity: 1; } 46% { opacity: 0; } 47%, 100% { opacity: 0; } }
@keyframes tpr-vis-slot-4-3 { 0%, 40% { opacity: 0; } 41% { opacity: 0; } 43.5% { opacity: 1; } 64% { opacity: 1; } 65% { opacity: 1; } 69% { opacity: 0; } 70%, 100% { opacity: 0; } }
@keyframes tpr-vis-slot-4-4 { 0%, 17% { opacity: 0; } 18%, 40% { opacity: 0; } 41%, 63% { opacity: 0; } 64% { opacity: 0; } 66.5% { opacity: 1; } 69%, 85% { opacity: 1; } 87% { opacity: 1; } 92% { opacity: 0; } 92%, 100% { opacity: 0; } }

/* 3 words: tpr-text-rotate-3w wrap 78–84%%. */
@keyframes tpr-vis-slot-3-1 { 0%, 22% { opacity: 1; } 23% { opacity: 1; } 28% { opacity: 0; } 29%, 76% { opacity: 0; } 77% { opacity: 0; } 84% { opacity: 1; } 84%, 100% { opacity: 1; } }
@keyframes tpr-vis-slot-3-2 { 0%, 21% { opacity: 0; } 22% { opacity: 0; } 25.5% { opacity: 1; } 28%, 50% { opacity: 1; } 51% { opacity: 1; } 56% { opacity: 0; } 57%, 100% { opacity: 0; } }
@keyframes tpr-vis-slot-3-3 { 0%, 21% { opacity: 0; } 22%, 49% { opacity: 0; } 50% { opacity: 0; } 53% { opacity: 1; } 56%, 77% { opacity: 1; } 78% { opacity: 1; } 84% { opacity: 0; } 84%, 100% { opacity: 0; } }

/* 5 words: tpr-text-rotate-5w wrap 94–98%%. */
@keyframes tpr-vis-slot-5-1 { 0%, 14% { opacity: 1; } 15% { opacity: 1; } 18% { opacity: 0; } 19%, 93% { opacity: 0; } 94% { opacity: 0; } 98% { opacity: 1; } 98%, 100% { opacity: 1; } }
@keyframes tpr-vis-slot-5-2 { 0%, 13% { opacity: 0; } 14% { opacity: 0; } 17% { opacity: 1; } 18%, 34% { opacity: 1; } 35% { opacity: 1; } 38% { opacity: 0; } 39%, 100% { opacity: 0; } }
@keyframes tpr-vis-slot-5-3 { 0%, 33% { opacity: 0; } 34% { opacity: 0; } 37% { opacity: 1; } 38%, 54% { opacity: 1; } 55% { opacity: 1; } 58% { opacity: 0; } 59%, 100% { opacity: 0; } }
@keyframes tpr-vis-slot-5-4 { 0%, 13% { opacity: 0; } 14%, 56% { opacity: 0; } 57% { opacity: 1; } 58%, 74% { opacity: 1; } 75% { opacity: 1; } 78% { opacity: 0; } 79%, 100% { opacity: 0; } }
@keyframes tpr-vis-slot-5-5 { 0%, 13% { opacity: 0; } 14%, 33% { opacity: 0; } 34%, 75% { opacity: 0; } 77% { opacity: 1; } 78%, 92% { opacity: 1; } 94% { opacity: 1; } 98% { opacity: 0; } 98%, 100% { opacity: 0; } }

/* Pause on each word, quick transition between */
@keyframes tpr-text-rotate {
	0% { transform: rotateX(0deg); }
	18% { transform: rotateX(0deg); }
	23% { transform: rotateX(-90deg); }
	41% { transform: rotateX(-90deg); }
	46% { transform: rotateX(-180deg); }
	64% { transform: rotateX(-180deg); }
	69% { transform: rotateX(-270deg); }
	87% { transform: rotateX(-270deg); }
	92% { transform: rotateX(-360deg); }
	100% { transform: rotateX(-360deg); }
}

@keyframes tpr-text-rotate-3w {
	0% { transform: rotateX(0deg); }
	22% { transform: rotateX(0deg); }
	28% { transform: rotateX(-120deg); }
	50% { transform: rotateX(-120deg); }
	56% { transform: rotateX(-240deg); }
	78% { transform: rotateX(-240deg); }
	84% { transform: rotateX(-360deg); }
	100% { transform: rotateX(-360deg); }
}

@keyframes tpr-text-rotate-5w {
	0% { transform: rotateX(0deg); }
	14% { transform: rotateX(0deg); }
	18% { transform: rotateX(-72deg); }
	34% { transform: rotateX(-72deg); }
	38% { transform: rotateX(-144deg); }
	54% { transform: rotateX(-144deg); }
	58% { transform: rotateX(-216deg); }
	74% { transform: rotateX(-216deg); }
	78% { transform: rotateX(-288deg); }
	94% { transform: rotateX(-288deg); }
	98% { transform: rotateX(-360deg); }
	100% { transform: rotateX(-360deg); }
}

/* 2 words */
@keyframes tpr-text-rotate-2w {
	0% { transform: rotateX(0deg); }
	42% { transform: rotateX(0deg); }
	47% { transform: rotateX(-180deg); }
	92% { transform: rotateX(-180deg); }
	97% { transform: rotateX(-360deg); }
	100% { transform: rotateX(-360deg); }
}
/* 6 words */
@keyframes tpr-text-rotate-6w {
	0% { transform: rotateX(0deg); }
	12% { transform: rotateX(0deg); }
	15% { transform: rotateX(-60deg); }
	28% { transform: rotateX(-60deg); }
	31% { transform: rotateX(-120deg); }
	44% { transform: rotateX(-120deg); }
	47% { transform: rotateX(-180deg); }
	61% { transform: rotateX(-180deg); }
	64% { transform: rotateX(-240deg); }
	77% { transform: rotateX(-240deg); }
	80% { transform: rotateX(-300deg); }
	93% { transform: rotateX(-300deg); }
	96% { transform: rotateX(-360deg); }
	100% { transform: rotateX(-360deg); }
}
/* 6 words: tpr-text-rotate-6w wrap 93–96%%. */
@keyframes tpr-vis-slot-6-1 { 0%, 11% { opacity: 1; } 12% { opacity: 1; } 15% { opacity: 0; } 16%, 92% { opacity: 0; } 93% { opacity: 0; } 96% { opacity: 1; } 96%, 100% { opacity: 1; } }
@keyframes tpr-vis-slot-6-2 { 0%, 10% { opacity: 0; } 11% { opacity: 0; } 14% { opacity: 1; } 15%, 27% { opacity: 1; } 28% { opacity: 1; } 31% { opacity: 0; } 32%, 100% { opacity: 0; } }
@keyframes tpr-vis-slot-6-3 { 0%, 27% { opacity: 0; } 28% { opacity: 0; } 30% { opacity: 1; } 31%, 43% { opacity: 1; } 44% { opacity: 1; } 47% { opacity: 0; } 48%, 100% { opacity: 0; } }
@keyframes tpr-vis-slot-6-4 { 0%, 43% { opacity: 0; } 44% { opacity: 0; } 46% { opacity: 1; } 47%, 60% { opacity: 1; } 61% { opacity: 1; } 64% { opacity: 0; } 65%, 100% { opacity: 0; } }
@keyframes tpr-vis-slot-6-5 { 0%, 60% { opacity: 0; } 61% { opacity: 0; } 63% { opacity: 1; } 64%, 76% { opacity: 1; } 77% { opacity: 1; } 80% { opacity: 0; } 81%, 100% { opacity: 0; } }
@keyframes tpr-vis-slot-6-6 { 0%, 76% { opacity: 0; } 77% { opacity: 0; } 79% { opacity: 1; } 80%, 92% { opacity: 1; } 93% { opacity: 1; } 96% { opacity: 0; } 96%, 100% { opacity: 0; } }

/* 5 words: order 1→2→3→4→5→1 */
.tpr-ticker[data-tpr-count="5"] .tpr-ticker__carousel {
	animation: tpr-text-rotate-5w var(--tpr-ticker-duration, 16s) ease-in-out infinite;
}
/* 3 words */
.tpr-ticker[data-tpr-count="3"] .tpr-ticker__carousel {
	animation: tpr-text-rotate-3w var(--tpr-ticker-duration, 16s) ease-in-out infinite;
}
/* 2 words */
.tpr-ticker[data-tpr-count="2"] .tpr-ticker__carousel {
	animation: tpr-text-rotate-2w var(--tpr-ticker-duration, 16s) ease-in-out infinite;
}
/* 6 words */
.tpr-ticker[data-tpr-count="6"] .tpr-ticker__carousel {
	animation: tpr-text-rotate-6w var(--tpr-ticker-duration, 16s) ease-in-out infinite;
}

/* Align ticker with surrounding text */
h1 .tpr-ticker,
h2 .tpr-ticker,
h3 .tpr-ticker,
h4 .tpr-ticker,
h5 .tpr-ticker,
h6 .tpr-ticker {
	vertical-align: baseline;
}

/* Video hero: slight downward nudge vs strict baseline so it sits with adjacent words. */
.tpr-video-banner .tpr-ticker--3d,
.tpr-video-text-container .tpr-ticker--3d {
	vertical-align: -3px;
}

/* Squiggle underline via editor highlight: select text → apply Highlight / inline color.
 * Underline colour = highlight colour (set in block editor). JS sets --tpr-underline-color on the mark.
 */
/* Remove any inherited/block text-decoration so only our squiggle shows */
.uagb-heading-text:has(mark.has-inline-color),
.wp-block-accordion-heading:has(mark.has-inline-color),
.wp-block-accordion-heading__toggle-title:has(mark.has-inline-color),
h1:has(mark.has-inline-color),
h2:has(mark.has-inline-color),
h3:has(mark.has-inline-color),
h4:has(mark.has-inline-color),
h5:has(mark.has-inline-color),
h6:has(mark.has-inline-color) {
	text-decoration: none !important;
	text-decoration-line: none !important;
	text-decoration-thickness: 0 !important;
	text-underline-offset: unset !important;
}
mark.has-inline-color {
	display: inline;
	color: inherit !important;
	background: none !important;
	background-color: transparent !important;
	text-decoration: none !important;
	text-decoration-line: none !important;
	text-decoration-color: transparent !important;
	box-shadow: none !important;
	border-bottom: none !important;
}

/* JS always wraps each wrapped visual line in span.tpr-squiggle-line (inline-block),
 * so the mark stays inline (flows with neighboring text) while each line gets its
 * own squiggle via the pseudo-element below. Height is em-based so short spans
 * (e.g. a 4-letter word alone on a line) still show a visible squiggle — an
 * aspect-ratio approach collapses to sub-pixel height for narrow spans.
 * Uses background-image (colored SVG) instead of mask-image for Safari/iOS compatibility. */
mark.has-inline-color .tpr-squiggle-line {
	display: inline-block;
	position: relative;
	padding-bottom: 0.25em;
}
mark.has-inline-color .tpr-squiggle-line::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100% !important;
	height: 0.22em;
	background-color: var(--tpr-underline-color, #D2FC51) !important;
	background-image: var(--tpr-squiggle-bg);
	background-size: 100% 100%;
	background-position: left bottom;
	background-repeat: no-repeat;
	mask-image: var(--tpr-squiggle-url, url("../images/squiggle-underline.svg"));
	-webkit-mask-image: var(--tpr-squiggle-url, url("../images/squiggle-underline.svg"));
	mask-size: 100% 100%;
	-webkit-mask-size: 100% 100%;
	mask-position: left bottom;
	-webkit-mask-position: left bottom;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
}
mark.has-inline-color[style*="--tpr-squiggle-bg"] .tpr-squiggle-line::after {
	background-color: transparent !important;
	mask-image: none !important;
	-webkit-mask-image: none !important;
}

/* Force all children (e.g. span) to inherit heading colour so underlined text isn’t overridden to white. */
mark.has-inline-color span,
mark.has-inline-color * {
	color: inherit !important;
	background: none !important;
	text-decoration: none !important;
	text-decoration-line: none !important;
}

/* Italic in any heading = lime green accent */
.uagb-heading-text em,
.uagb-heading-text i,
.uagb-heading-text strong em,
.uagb-heading-text strong i,
.uagb-heading-text b em,
.uagb-heading-text b i,
.uagb-heading-text em strong,
.uagb-heading-text em b,
.uagb-heading-text i strong,
.uagb-heading-text i b,
h1 em, h1 i, h2 em, h2 i, h3 em, h3 i, h4 em, h4 i, h5 em, h5 i, h6 em, h6 i,
mark.has-inline-color em,
mark.has-inline-color i,
mark.has-inline-color strong em,
mark.has-inline-color strong i,
mark.has-inline-color b em,
mark.has-inline-color b i,
mark.has-inline-color em strong,
mark.has-inline-color em b,
mark.has-inline-color i strong,
mark.has-inline-color i b,
.uagb-heading-text:has(mark.has-inline-color) em,
.uagb-heading-text:has(mark.has-inline-color) i,
.uagb-heading-text:has(mark.has-inline-color) strong em,
.uagb-heading-text:has(mark.has-inline-color) strong i,
.uagb-heading-text:has(mark.has-inline-color) b em,
.uagb-heading-text:has(mark.has-inline-color) b i,
.uagb-heading-text:has(mark.has-inline-color) em strong,
.uagb-heading-text:has(mark.has-inline-color) em b,
.uagb-heading-text:has(mark.has-inline-color) i strong,
.uagb-heading-text:has(mark.has-inline-color) i b {
	color: #D2FC51 !important;
	font-style: normal;
}


/* Block-level squiggle (optional): add CSS class "tpr-squiggle-underline" to the block.
 * Override color with --tpr-underline-color on a parent. */
.tpr-squiggle-underline,
.wp-block-uagb-advanced-heading.tpr-squiggle-underline .uagb-heading-text {
	--tpr-underline-color: #D2FC51;
	display: inline-block;
	background-color: var(--tpr-underline-color);
	mask-image: var(--tpr-squiggle-url, url("../images/squiggle-underline.svg"));
	-webkit-mask-image: var(--tpr-squiggle-url, url("../images/squiggle-underline.svg"));
	mask-size: 100% 0.4em;
	-webkit-mask-size: 100% 0.4em;
	mask-position: bottom;
	-webkit-mask-position: bottom;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	padding-bottom: 0.2em;
}

.tpr-squiggle-white { --tpr-underline-color: #fff; }
.tpr-squiggle-lime { --tpr-underline-color: #D2FC51; }
.tpr-squiggle-dark { --tpr-underline-color: #1a1a1a; }

/* Accordion arrow (tpr-Accordian-Arrow / tpr-Accordion-Arrow): caption left of arrow, site-wide */
.wp-block-uagb-image.tpr-Accordian-Arrow,
.wp-block-uagb-image.tpr-Accordion-Arrow {
	height: auto !important;
	min-height: 0 !important;
	transform: translate(-80px, 15px) !important;
	margin-bottom: -30px !important;
	position: relative !important;
	z-index: 10 !important;
}
.wp-block-uagb-image.tpr-Accordian-Arrow .wp-block-uagb-image__figure,
.wp-block-uagb-image.tpr-Accordion-Arrow .wp-block-uagb-image__figure {
	display: flex !important;
	flex-direction: row-reverse !important;
	align-items: flex-end !important;
	justify-content: flex-end !important;
	gap: 0.75rem !important;
}
.wp-block-uagb-image.tpr-Accordian-Arrow figcaption,
.wp-block-uagb-image.tpr-Accordian-Arrow .uagb-image-caption,
.wp-block-uagb-image.tpr-Accordion-Arrow figcaption,
.wp-block-uagb-image.tpr-Accordion-Arrow .uagb-image-caption {
	flex-shrink: 0 !important;
	margin: 0 !important;
	margin-bottom: 42px !important;
	white-space: nowrap !important;
}

/* Accordion arrow layout: at smaller screens, heading + image side by side; image column = image width */
@media (max-width: 1024px) {
	[class*="uagb-container-inner"]:has(> header.wp-block-uagb-advanced-heading):has(> .wp-block-uagb-image.tpr-Accordian-Arrow),
	[class*="uagb-container-inner"]:has(> header.wp-block-uagb-advanced-heading):has(> .wp-block-uagb-image.tpr-Accordion-Arrow) {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		align-items: flex-start !important;
		gap: 1rem !important;
		grid-template-columns: unset !important;
		grid-template-rows: unset !important;
	}
	[class*="uagb-container-inner"]:has(> .wp-block-uagb-image.tpr-Accordian-Arrow) > .wp-block-uagb-advanced-heading,
	[class*="uagb-container-inner"]:has(> .wp-block-uagb-image.tpr-Accordion-Arrow) > .wp-block-uagb-advanced-heading,
	[class*="uagb-container-inner"]:has(> .wp-block-uagb-image.tpr-Accordian-Arrow) > header.wp-block-uagb-advanced-heading,
	[class*="uagb-container-inner"]:has(> .wp-block-uagb-image.tpr-Accordion-Arrow) > header.wp-block-uagb-advanced-heading {
		flex: 1 1 0 !important;
		min-width: 0 !important;
	}
	[class*="uagb-container-inner"] > .wp-block-uagb-image.tpr-Accordian-Arrow,
	[class*="uagb-container-inner"] > .wp-block-uagb-image.tpr-Accordion-Arrow {
		flex: 0 0 auto !important;
		width: fit-content !important;
		transform: translate(-80px, 15px) !important;
	}
}

/* Accordion arrow: at 771–838px stack to prevent overlap */
@media (max-width: 838px) {
	[class*="uagb-container-inner"]:has(> header.wp-block-uagb-advanced-heading):has(> .wp-block-uagb-image.tpr-Accordian-Arrow),
	[class*="uagb-container-inner"]:has(> header.wp-block-uagb-advanced-heading):has(> .wp-block-uagb-image.tpr-Accordion-Arrow) {
		flex-direction: column !important;
	}
	[class*="uagb-container-inner"]:has(> .wp-block-uagb-image.tpr-Accordian-Arrow) > .wp-block-uagb-advanced-heading,
	[class*="uagb-container-inner"]:has(> .wp-block-uagb-image.tpr-Accordion-Arrow) > .wp-block-uagb-advanced-heading,
	[class*="uagb-container-inner"]:has(> .wp-block-uagb-image.tpr-Accordian-Arrow) > header.wp-block-uagb-advanced-heading,
	[class*="uagb-container-inner"]:has(> .wp-block-uagb-image.tpr-Accordion-Arrow) > header.wp-block-uagb-advanced-heading {
		width: 100% !important;
		max-width: 100% !important;
	}
	[class*="uagb-container-inner"] > .wp-block-uagb-image.tpr-Accordian-Arrow,
	[class*="uagb-container-inner"] > .wp-block-uagb-image.tpr-Accordion-Arrow {
		width: 100% !important;
		max-width: 100% !important;
		transform: translate(-20px, 10px) !important;
	}
}

/* Accordion arrow: on mobile, stack heading + image vertically at full width */
@media (max-width: 767px) {
	[class*="uagb-container-inner"]:has(> header.wp-block-uagb-advanced-heading):has(> .wp-block-uagb-image.tpr-Accordian-Arrow),
	[class*="uagb-container-inner"]:has(> header.wp-block-uagb-advanced-heading):has(> .wp-block-uagb-image.tpr-Accordion-Arrow) {
		flex-direction: column !important;
	}
	[class*="uagb-container-inner"]:has(> .wp-block-uagb-image.tpr-Accordian-Arrow) > .wp-block-uagb-advanced-heading,
	[class*="uagb-container-inner"]:has(> .wp-block-uagb-image.tpr-Accordion-Arrow) > .wp-block-uagb-advanced-heading,
	[class*="uagb-container-inner"]:has(> .wp-block-uagb-image.tpr-Accordian-Arrow) > header.wp-block-uagb-advanced-heading,
	[class*="uagb-container-inner"]:has(> .wp-block-uagb-image.tpr-Accordion-Arrow) > header.wp-block-uagb-advanced-heading {
		width: 100% !important;
		max-width: 100% !important;
	}
	[class*="uagb-container-inner"] > .wp-block-uagb-image.tpr-Accordian-Arrow,
	[class*="uagb-container-inner"] > .wp-block-uagb-image.tpr-Accordion-Arrow {
		width: 100% !important;
		max-width: 100% !important;
		transform: translate(-20px, 10px) !important;
	}
}

/* Accordion arrow: shift left on tablet */
@media (min-width: 768px) and (max-width: 1024px) {
	.wp-block-uagb-image.tpr-Accordian-Arrow,
	.wp-block-uagb-image.tpr-Accordion-Arrow {
		transform: translate(-120px, 15px) !important;
	}
}

/* ==========================================================================
   Benefits accordion – image container and overlap
   ========================================================================== */

/* 1. Items sit against the bottom edge of the container */
#benefits .benefits-content-container .benefits-image-container,
#benefits-accordians .benefits-content-container .benefits-image-container {
	align-self: stretch;
}

/* Text column: min-width when side-by-side so images don't overlap text */
@media (min-width: 977px) {
	#benefits .benefits-content-container > [class*="uagb-container-inner"] > *:first-child,
	#benefits .benefits-content-container > *:first-child,
	#benefits-accordians .benefits-content-container > [class*="uagb-container-inner"] > *:first-child,
	#benefits-accordians .benefits-content-container > *:first-child {
		min-width: 520px !important;
		flex-shrink: 0 !important;
	}
}
/* Benefits image overlap: only when columns are side-by-side (above 976px) */
@media (min-width: 977px) {
	#benefits .benefits-image-container,
	#benefits-accordians .benefits-image-container {
		display: flex !important;
		flex-direction: row;
		align-items: flex-end !important;
		justify-content: flex-end !important;
		width: 100% !important;
		position: relative;
		overflow: visible;
		grid-template-columns: unset !important;
		grid-template-rows: unset !important;
	}
	#benefits .benefits-image-container > .uagb-container-inner-block,
	#benefits .benefits-image-container > .uagb-container-inner-blocks-wrap,
	#benefits .benefits-image-container > [class*="uagb-container-inner"],
	#benefits-accordians .benefits-image-container > .uagb-container-inner-block,
	#benefits-accordians .benefits-image-container > .uagb-container-inner-blocks-wrap,
	#benefits-accordians .benefits-image-container > [class*="uagb-container-inner"] {
		display: flex !important;
		flex-direction: row;
		align-items: flex-end !important;
		justify-content: flex-end !important;
		width: 100% !important;
		position: relative;
		overflow: visible;
		grid-template-columns: unset !important;
		grid-template-rows: unset !important;
	}
	#benefits .benefits-image-container .wp-block-uagb-image,
	#benefits-accordians .benefits-image-container .wp-block-uagb-image {
		align-self: flex-end;
		float: none !important;
	}
	#benefits .benefits-image-container .wp-block-uagb-image.benefits-image-overlap,
	#benefits-accordians .benefits-image-container .wp-block-uagb-image.benefits-image-overlap {
		position: absolute !important;
		right: 80px !important;
		bottom: 0 !important;
		margin: 0 !important;
		z-index: 2;
	}
	#benefits .benefits-image-container .wp-block-uagb-image.benefits-image-underlap,
	#benefits-accordians .benefits-image-container .wp-block-uagb-image.benefits-image-underlap {
		position: relative;
		z-index: 1;
	}
}

/* Benefits images: right-aligned, side-by-side when columns stack (976px and below) */
@media (max-width: 976px) {
	#benefits .benefits-image-container,
	#benefits-accordians .benefits-image-container {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		justify-content: flex-end !important;
		align-items: flex-end !important;
		width: 100% !important;
	}
	#benefits .benefits-image-container > [class*="uagb-container-inner"],
	#benefits-accordians .benefits-image-container > [class*="uagb-container-inner"] {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		justify-content: flex-end !important;
		align-items: flex-end !important;
		width: fit-content !important;
		max-width: 100% !important;
		margin-left: auto !important;
	}
	#benefits .benefits-image-container .wp-block-uagb-image.benefits-image-overlap,
	#benefits-accordians .benefits-image-container .wp-block-uagb-image.benefits-image-overlap {
		position: relative !important;
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	/* Prevent image stretch on iPhone – maintain aspect ratio */
	#benefits .benefits-image-container img,
	#benefits-accordians .benefits-image-container img {
		object-fit: cover !important;
	}
}

/* Mobile: prevent stretched images in UAGB full-width containers (e.g. section with single image) */
@media (max-width: 767px) {
	.wp-block-uagb-container.alignfull .uagb-container-inner-blocks-wrap img,
	.wp-block-uagb-container.alignfull .uagb-container-inner-block img {
		object-fit: cover;
	}
}

/*
 * Get Started (and similar): alignfull UAGB row uagb-block-fc6c65a8 — fixed pixel widths blow past
 * the viewport on iPhone. Clamp image + figure to 100% width and preserve aspect ratio.
 */
@media (max-width: 767px) {
	.wp-block-uagb-container.uagb-block-fc6c65a8.alignfull > .uagb-container-inner-blocks-wrap,
	.wp-block-uagb-container.uagb-block-fc6c65a8.alignfull > .uagb-container-inner-block {
		max-width: 100% !important;
		box-sizing: border-box !important;
	}

	.wp-block-uagb-container.uagb-block-fc6c65a8 .wp-block-uagb-image,
	.wp-block-uagb-container.uagb-block-fc6c65a8 .wp-block-uagb-image__figure,
	.wp-block-uagb-container.uagb-block-fc6c65a8 figure.wp-block-uagb-image__figure {
		max-width: 100% !important;
		width: 100% !important;
		box-sizing: border-box !important;
	}

	.wp-block-uagb-container.uagb-block-fc6c65a8 .wp-block-uagb-image img,
	.wp-block-uagb-container.uagb-block-fc6c65a8 img[class*="uag-image-"] {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		object-fit: contain !important;
		box-sizing: border-box !important;
	}
}

/* ==========================================================================
   Gravity Form 3 – pill filter bar (dark grey pill, lime submit button)
   ========================================================================== */

/* Hide required fields legend for this form only */
#gform_wrapper_3 .gform_required_legend {
	display: none !important;
}

/* Pill container: translucent bar, single line (all dropdowns + arrow) */
#gform_wrapper_3.gform_wrapper {
	--gf-color-danger: #FF6333 !important;
	--gf-color-danger-rgb: 255, 99, 51 !important;
	--tpr-gf-bg: #3d4a3d;
	--tpr-gf-text: #fff;
	/* Solid white labels (GF theme / .gform-field-label can override rgba otherwise) */
	--tpr-gf-label: #fff;
	--tpr-gf-accent: #D2FC51;
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	flex-wrap: nowrap;
	/* Slightly more top than bottom padding so label+value block sits visually centred in the pill */
	padding: 12px 10px 8px 24px;
	gap: 10px;
	border-radius: 999px;
	background: #94949433;
	backdrop-filter: blur(17px);
	-webkit-backdrop-filter: blur(17px);
	width: fit-content;
	max-width: 100%;
	box-sizing: border-box;
}

/* Override Gravity Forms theme layout – use flex row so body + footer sit side by side */
#gform_wrapper_3 form {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex: 1;
	min-width: 0;
	min-height: 0;
	margin: 0;
	padding: 0;
	align-self: stretch;
	gap: 0 1rem;
}

#gform_wrapper_3 .gform_heading {
	display: none !important;
	margin-bottom: 0;
}

/* Target both gform_body and gform-body (GF theme uses hyphen) */
#gform_wrapper_3 .gform_body,
#gform_wrapper_3 .gform-body {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex-wrap: nowrap !important;
	gap: 0 1.5rem;
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	padding: 0;
}

#gform_wrapper_3 .gform_fields {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: flex-start !important;
	flex-wrap: nowrap !important;
	gap: 0 1.5rem;
	flex: 1 1 auto;
	min-width: 0;
	list-style: none;
	margin: 0;
	padding: 0;
	border: none;
}

/* Align 4th field ("Get a quote") – hide extra elements that add height and cause misalignment */
#gform_wrapper_3 .gform_fields > .gfield:nth-child(4) .gfield_description,
#gform_wrapper_3 .gform_fields > .gfield:nth-child(4) .validation_message {
	display: none !important;
}

#gform_wrapper_3 .gfield {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 0;
	margin: 0;
	border: none;
	flex-shrink: 1;
	min-width: 0;
}

/* Label above value – 10px, no margin below */
#gform_wrapper_3 .gfield_label,
#gform_wrapper_3 .gform-field-label,
#gform_wrapper_3 legend.gfield_label,
#gform_wrapper_3 label.gfield_label {
	font-size: 10px;
	line-height: 1.2;
	color: var(--tpr-gf-label) !important;
	font-weight: 500;
	margin-bottom: 0;
}

/* No space between label text and required asterisk; prevent asterisk from affecting field height (fixes "Get a quote" misalignment) */
#gform_wrapper_3 .gfield_required {
	margin-left: -0.15em;
	display: inline;
	vertical-align: baseline;
	line-height: inherit;
	font-size: inherit;
	color: #fff !important;
}

#gform_wrapper_3 .ginput_container {
	margin-top: 0;
	position: relative;
	max-width: 100%;
	min-width: 0;
	overflow: hidden;
}

/* Placeholders and dropdown text: smaller size so options (e.g. "Get a quote") don’t get cut off */
#gform_wrapper_3 input::placeholder,
#gform_wrapper_3 textarea::placeholder,
#gform_wrapper_3 .chosen-container-single .chosen-single span,
#gform_wrapper_3 .ginput_container select,
#gform_wrapper_3 .ginput_container_select .chosen-container-single .chosen-single {
	font-size: 12px;
}
#gform_wrapper_3 .chosen-container-single .chosen-single span,
#gform_wrapper_3 .ginput_container select {
	white-space: nowrap;
}

/* Dropdown width: truncate with ellipsis when the gfield shrinks below the select's intrinsic width
   (narrow desktop). Native <select> ignores overflow, but Chrome 117+ applies text-overflow:ellipsis
   when width is constrained. width:100% makes the select fill the (possibly shrunk) .ginput_container.
   The container carries its own overflow:hidden as a belt-and-braces clip so overflow never reaches
   past the chevron (::after at right:0). */
#gform_wrapper_3 .ginput_container select,
#gform_wrapper_3 .ginput_container_select .chosen-container-single {
	overflow: hidden;
	width: 100%;
	max-width: 100%;
	min-width: 0;
}
#gform_wrapper_3 .chosen-container-single .chosen-single span {
	overflow: hidden;
	text-overflow: ellipsis;
	display: block;
	min-width: 0;
}
#gform_wrapper_3 .ginput_container select {
	text-overflow: ellipsis;
}

/* Dropdown: bold white, transparent bg, custom chevron, no shadow */
#gform_wrapper_3 .ginput_container select {
	appearance: none;
	background: transparent;
	border: none;
	box-shadow: none !important;
	color: var(--tpr-gf-text);
	font-weight: 700;
	font-family: inherit;
	padding: 0.2em 1.5em 0.2em 0;
	cursor: pointer;
	outline: none;
}

#gform_wrapper_3 .ginput_container select:hover,
#gform_wrapper_3 .ginput_container select:focus {
	color: var(--tpr-gf-text);
}

/* CTA dropdowns: single focus ring (GF theme adds outline + shadow — avoid double green line) */
#gform_wrapper_3 .ginput_container select:focus,
#gform_wrapper_3 .ginput_container select:focus-visible,
#gform_wrapper_3 .ginput_container_select .chosen-container-single .chosen-single:focus,
#gform_wrapper_3 .ginput_container_select .chosen-container-single .chosen-single:focus-visible {
	outline: none !important;
	box-shadow: none !important;
	border: none !important;
	--tw-ring-shadow: 0 0 #0000 !important;
}

#gform_wrapper_3 .gform-theme-field-control:focus-within {
	outline: none !important;
	box-shadow: none !important;
}

/* Chevron (dropdown arrow) */
#gform_wrapper_3 .ginput_container::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	margin-top: -0.25rem;
	width: 0.5rem;
	height: 0.5rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	pointer-events: none;
	opacity: 0.9;
	color: var(--tpr-gf-text);
}

/* Chosen (Location) – same look as native selects, no shadow */
#gform_wrapper_3 .ginput_container_select .chosen-container-single .chosen-single {
	position: relative;
	display: flex;
	align-items: center;
	height: auto;
	min-height: 1.5em;
	padding: 0.2em 1.5em 0.2em 0;
	background: transparent !important;
	border: none !important;
	color: var(--tpr-gf-text);
	font-weight: 700;
	font-family: inherit;
	box-shadow: none !important;
	white-space: nowrap;
}


#gform_wrapper_3 .ginput_container_select .chosen-container-single .chosen-single span {
	color: inherit;
}

#gform_wrapper_3 .ginput_container_select .chosen-container-single .chosen-single div b {
	display: none;
}

#gform_wrapper_3 .ginput_container_select .chosen-container-single .chosen-single::after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	margin-top: -0.25rem;
	width: 0.5rem;
	height: 0.5rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: rotate(45deg);
	opacity: 0.9;
	color: var(--tpr-gf-text);
}

#gform_wrapper_3 .ginput_container_select .chosen-container-single.chosen-container-active .chosen-single {
	background: transparent !important;
	border: none !important;
}

/* Overlay when dropdown open: darken + blur rest of page (on body, full viewport) */
.tpr-gf-dropdown-backdrop {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.55);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	z-index: 999998;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease;
}

.tpr-gf-dropdown-backdrop.is-visible {
	opacity: 1;
	pointer-events: auto;
}

/* Form above backdrop when dropdown open */
#gform_wrapper_3.tpr-gf-dropdown-open {
	position: relative;
	z-index: 999999;
}

/* Dropdown panel: solid light grey, rounded, soft shadow (example-style) */
#gform_wrapper_3 .chosen-container .chosen-drop {
	top: auto !important;
	bottom: 100%;
	margin-top: 0;
	margin-bottom: 0.35rem;
	background: #e8e8e8 !important;
	border: none;
	border-radius: 12px;
	box-shadow: none;
	z-index: 9999;
	padding: 0.25rem 0;
}

#gform_wrapper_3 .chosen-container .chosen-results {
	padding: 0;
	max-height: 240px;
}

#gform_wrapper_3 .chosen-container .chosen-results li {
	color: #1a1a1a;
	padding: 0.5rem 1rem;
}

#gform_wrapper_3 .chosen-container.chosen-container-active .chosen-drop,
#gform_wrapper_3 .chosen-container.chosen-with-drop .chosen-drop {
	display: block !important;
	clip: auto !important;
	clip-path: none !important;
}

#gform_wrapper_3 .chosen-container .chosen-results li.highlighted {
	background: rgba(0, 0, 0, 0.08);
}

/* Footer: submit pinned to the right end of the pill (fields flex from the left) */
#gform_wrapper_3 .gform_footer {
	margin: 0 0 0 auto;
	padding: 0;
	padding-left: 0.5rem;
	border: none;
	flex-shrink: 0;
}

/* Submit = lime green circle + Font Awesome 6 classic regular arrow-right (footer AND inline) */
#gform_wrapper_3 .gform_footer input[type="submit"],
#gform_wrapper_3 .gform_footer button[type="submit"],
#gform_wrapper_3 .gform_footer button.gform_button,
#gform_wrapper_3 .gform_footer .tpr-cta-custom-form__submit,
#gform_wrapper_3 .gfield--type-submit input[type="submit"],
#gform_wrapper_3 .gfield--type-submit button[type="submit"],
#gform_wrapper_3 .gfield--type-submit button.gform_button {
	width: 3rem;
	height: 3rem;
	min-width: 3rem;
	padding: 0;
	border: none;
	border-radius: 50%;
	background-color: var(--tpr-gf-accent) !important;
	color: transparent !important;
	font-size: 0 !important;
	line-height: 0 !important;
	overflow: visible !important;
	cursor: pointer;
	transition: background-color 0.2s, transform 0.2s;
	display: flex !important;
	align-items: center;
	justify-content: center;
	position: relative;
	flex-shrink: 0;
	box-sizing: border-box;
}

/* <input type="submit"> cannot use ::after — FA arrow-right (solid path, same glyph as free solid) */
#gform_wrapper_3 .gform_footer input[type="submit"],
#gform_wrapper_3 .gfield--type-submit input[type="submit"] {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%230F2902' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: 28px 28px !important;
}

#gform_wrapper_3 .gform_footer button[type="submit"],
#gform_wrapper_3 .gform_footer button.gform_button,
#gform_wrapper_3 .gform_footer .tpr-cta-custom-form__submit,
#gform_wrapper_3 .gfield--type-submit button[type="submit"],
#gform_wrapper_3 .gfield--type-submit button.gform_button {
	background-image: none !important;
}

#gform_wrapper_3 .gform_footer button[type="submit"]::after,
#gform_wrapper_3 .gform_footer button.gform_button::after,
#gform_wrapper_3 .gform_footer .tpr-cta-custom-form__submit::after,
#gform_wrapper_3 .gfield--type-submit button[type="submit"]::after,
#gform_wrapper_3 .gfield--type-submit button.gform_button::after {
	content: "";
	width: 1em;
	height: 1em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='black' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='black' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E") no-repeat center / contain;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	color: #0f2902;
	font-size: 1.125rem;
	pointer-events: none;
}

/* Hide GF's built-in SVG icon when button type is link (type="button" on link-style submit) */
#gform_wrapper_3 .gform_footer button[type="submit"] svg,
#gform_wrapper_3 .gform_footer button.gform_button svg,
#gform_wrapper_3 .gform_footer .tpr-cta-custom-form__submit svg,
#gform_wrapper_3 .gfield--type-submit button[type="submit"] svg,
#gform_wrapper_3 .gfield--type-submit button.gform_button svg {
	display: none !important;
}

/* Submit focus: no blue outline */
#gform_wrapper_3 .gform_footer input[type="submit"]:focus,
#gform_wrapper_3 .gform_footer input[type="submit"]:focus-visible,
#gform_wrapper_3 .gform_footer button[type="submit"]:focus,
#gform_wrapper_3 .gform_footer button[type="submit"]:focus-visible,
#gform_wrapper_3 .gform_footer button.gform_button:focus,
#gform_wrapper_3 .gform_footer button.gform_button:focus-visible,
#gform_wrapper_3 .gform_footer .tpr-cta-custom-form__submit:focus,
#gform_wrapper_3 .gform_footer .tpr-cta-custom-form__submit:focus-visible,
#gform_wrapper_3 .gfield--type-submit input[type="submit"]:focus,
#gform_wrapper_3 .gfield--type-submit input[type="submit"]:focus-visible,
#gform_wrapper_3 .gfield--type-submit button[type="submit"]:focus,
#gform_wrapper_3 .gfield--type-submit button[type="submit"]:focus-visible,
#gform_wrapper_3 .gfield--type-submit button.gform_button:focus,
#gform_wrapper_3 .gfield--type-submit button.gform_button:focus-visible {
	outline: none !important;
	box-shadow: none !important;
}

/* Submit hover: dark green bg, white arrow */
#gform_wrapper_3 .gform_footer input[type="submit"]:hover,
#gform_wrapper_3 .gform_footer button[type="submit"]:hover,
#gform_wrapper_3 .gform_footer button.gform_button:hover,
#gform_wrapper_3 .gform_footer .tpr-cta-custom-form__submit:hover,
#gform_wrapper_3 .gfield--type-submit input[type="submit"]:hover,
#gform_wrapper_3 .gfield--type-submit button[type="submit"]:hover,
#gform_wrapper_3 .gfield--type-submit button.gform_button:hover {
	background-color: #0F2902 !important;
	transform: scale(1.02);
}

#gform_wrapper_3 .gform_footer input[type="submit"]:hover,
#gform_wrapper_3 .gfield--type-submit input[type="submit"]:hover {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath fill='%23fff' d='M438.6 278.6c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3L338.8 224 32 224c-17.7 0-32 14.3-32 32s14.3 32 32 32l306.7 0L233.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160z'/%3E%3C/svg%3E") !important;
}

#gform_wrapper_3 .gform_footer button[type="submit"]:hover::after,
#gform_wrapper_3 .gform_footer button.gform_button:hover::after,
#gform_wrapper_3 .gform_footer .tpr-cta-custom-form__submit:hover::after,
#gform_wrapper_3 .gfield--type-submit button[type="submit"]:hover::after,
#gform_wrapper_3 .gfield--type-submit button.gform_button:hover::after {
	color: #fff !important;
}

/* Custom CTA form: confirmation message after successful submit */
#gform_wrapper_3 .tpr-cta-confirmation {
	padding: 1rem 1.5rem;
	color: var(--tpr-gf-text);
	font-size: 14px;
	line-height: 1.5;
}

#gform_wrapper_3 .tpr-cta-confirmation p:last-child {
	margin-bottom: 0;
}

/* Form 3: tablet and mobile – bar hugs content, smaller font so text fits on one line */
@media (max-width: 1024px) {
	/* CTA block: hug content, same horizontal padding for alignment */
	.tpr-gf-cta-block {
		width: fit-content !important;
		max-width: 100% !important;
		padding-left: var(--wp--style--root--padding-left, 1.5rem) !important;
		padding-right: var(--wp--style--root--padding-right, 1.5rem) !important;
		box-sizing: border-box !important;
	}
	/* Form pill: hug content (no gap right of submit), one line, smaller font */
	#gform_wrapper_3.gform_wrapper {
		width: fit-content !important;
		max-width: 100% !important;
		/* Equal block padding so the row + lime submit stay vertically centred (desktop uses 12/8 for label optical balance). */
		padding: 10px 16px 10px 24px !important;
		gap: 10px !important;
		flex-wrap: nowrap !important;
		align-items: center !important;
	}
	#gform_wrapper_3 .gform_body,
	#gform_wrapper_3 .gform_fields {
		gap: 0 1rem !important;
		flex-wrap: nowrap !important;
		flex: 1 1 auto !important;
		min-width: 0 !important;
		justify-content: flex-start !important;
	}
	#gform_wrapper_3 .gfield {
		flex-shrink: 1 !important;
		min-width: 0 !important;
	}
	#gform_wrapper_3 .gform_footer {
		flex-shrink: 0 !important;
		align-self: center !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		margin: 0 0 0 auto !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}
	#gform_wrapper_3 .gfield_label,
	#gform_wrapper_3 .gform-field-label {
		font-size: 10px !important;
		line-height: 1.2 !important;
	}
	#gform_wrapper_3 input::placeholder,
	#gform_wrapper_3 textarea::placeholder,
	#gform_wrapper_3 .chosen-container-single .chosen-single span,
	#gform_wrapper_3 .ginput_container select,
	#gform_wrapper_3 .ginput_container_select .chosen-container-single .chosen-single {
		font-size: 11px !important;
	}
	#gform_wrapper_3 .ginput_container select {
		padding: 0.2em 1.5em 0.2em 0 !important;
	}
	#gform_wrapper_3 .ginput_container_select .chosen-container-single .chosen-single {
		padding: 0.2em 1.5em 0.2em 0 !important;
		min-height: 1.5em !important;
	}
	#gform_wrapper_3 .gform_footer input[type="submit"],
	#gform_wrapper_3 .gform_footer button[type="submit"],
	#gform_wrapper_3 .gform_footer button.gform_button,
	#gform_wrapper_3 .gform_footer .tpr-cta-custom-form__submit,
	#gform_wrapper_3 .gfield--type-submit input[type="submit"],
	#gform_wrapper_3 .gfield--type-submit button[type="submit"],
	#gform_wrapper_3 .gfield--type-submit button.gform_button {
		width: 3rem !important;
		height: 3rem !important;
		min-width: 3rem !important;
		background-size: 28px 28px !important;
		align-self: center !important;
	}

	/* FA arrow: true centre in circle (desktop keeps +1px optical nudge). */
	#gform_wrapper_3 .gform_footer button[type="submit"]::after,
	#gform_wrapper_3 .gform_footer button.gform_button::after,
	#gform_wrapper_3 .gform_footer .tpr-cta-custom-form__submit::after,
	#gform_wrapper_3 .gfield--type-submit button[type="submit"]::after,
	#gform_wrapper_3 .gfield--type-submit button.gform_button::after {
		transform: translate(-50%, -50%) !important;
	}
}

/*
 * Narrow CTA bar (container query): when the bar itself is narrow (e.g. hero bar sits in a half-width
 * UAGB grid column so it's ~520–680px even on wide viewports), the fields can't fit at the default
 * 12px size and native <select> doesn't shrink below its longest option — text ends up running past
 * the chevron (::after at right:0 of .ginput_container). Switch to compact font + allow flex-wrap so
 * content fits cleanly regardless of viewport width.
 *
 * Container context lives on .tpr-gf-cta-center-wrap (width: 100%), NOT on .tpr-gf-cta-block: the
 * block uses `width: fit-content` and `container-type: inline-size` applies size containment that
 * blocks content-based sizing, so fit-content resolves to 0 on the inner block. The wrap has an
 * explicit stretch width so containment is safe there.
 */
.tpr-gf-cta-center-wrap {
	container-type: inline-size;
	container-name: tpr-cta-bar;
}
@container tpr-cta-bar (max-width: 720px) {
	#gform_wrapper_3.gform_wrapper {
		padding: 10px 16px 10px 24px !important;
		gap: 10px !important;
		flex-wrap: wrap !important;
	}
	#gform_wrapper_3 .gform_body,
	#gform_wrapper_3 .gform_fields {
		gap: 6px 1rem !important;
		flex-wrap: wrap !important;
	}
	#gform_wrapper_3 .gfield_label,
	#gform_wrapper_3 .gform-field-label {
		font-size: 10px !important;
		line-height: 1.2 !important;
	}
	#gform_wrapper_3 input::placeholder,
	#gform_wrapper_3 textarea::placeholder,
	#gform_wrapper_3 .chosen-container-single .chosen-single span,
	#gform_wrapper_3 .ginput_container select,
	#gform_wrapper_3 .ginput_container_select .chosen-container-single .chosen-single {
		font-size: 11px !important;
	}
}

/* Form 3: narrow tablet – allow bar to wrap so all fields fit */
@media (min-width: 768px) and (max-width: 900px) {
	#gform_wrapper_3.gform_wrapper {
		flex-wrap: wrap !important;
	}
	#gform_wrapper_3 .gform_body,
	#gform_wrapper_3 .gform_fields {
		flex-wrap: wrap !important;
	}
}

/* Form 3: mobile + tablet – collapsed trigger (Let's get started + chevron) / expanded (2x2 grid + X).
 * Extended to 1023px so anywhere the 4 fields would stack awkwardly, users get the mobile pattern
 * instead (trigger opens an expanded 2x2). Desktop ≥1024px still shows the form inline. */
@media (max-width: 1023px) {
	.tpr-gf-cta-block {
		width: 100% !important;
		max-width: 100% !important;
	}
	/* Collapsed: show trigger, hide form (specificity must beat grid layout rules below) */
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible:not(.tpr-gf-cta-expanded) .tpr-gf-cta-mobile-trigger {
		display: flex !important;
	}
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible:not(.tpr-gf-cta-expanded) #gform_wrapper_3.gform_wrapper {
		display: none !important;
	}
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible:not(.tpr-gf-cta-expanded) .tpr-gf-cta-mobile-close {
		display: none !important;
	}
	/* Expanded: hide trigger, show form + close */
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded .tpr-gf-cta-mobile-trigger {
		display: none !important;
	}
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded .tpr-gf-cta-mobile-close {
		display: flex !important;
	}
}

/* Trigger + close styling — always available (display toggled by the mobile/container rules). */
.tpr-gf-cta-mobile-trigger {
	display: none;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	padding: 12px 16px 12px 30px;
	border-radius: 999px;
	background: #94949433;
	backdrop-filter: blur(17px);
	-webkit-backdrop-filter: blur(17px);
	cursor: pointer;
	border: none;
	box-sizing: border-box;
	pointer-events: auto;
	user-select: none;
	-webkit-tap-highlight-color: transparent;
	position: relative;
	z-index: 1;
	touch-action: manipulation;
}
.tpr-gf-cta-mobile-trigger-text {
	color: #fff;
	font-weight: 700;
	font-size: 14px;
	font-family: inherit;
}
.tpr-gf-cta-mobile-chevron {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.5rem;
	height: 3.5rem;
	min-width: 3.5rem;
	border-radius: 50%;
	background-color: #D2FC51;
	color: #0F2902;
	flex-shrink: 0;
}
.tpr-gf-cta-mobile-chevron svg {
	width: 18px;
	height: 18px;
}
/* Close X: centre on top-right corner, half outside the box */
.tpr-gf-cta-mobile-close {
	display: none;
	position: absolute;
	top: 0;
	right: 0;
	width: 28px;
	height: 28px;
	transform: translate(50%, -50%);
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	z-index: 10;
	padding: 0;
}
.tpr-gf-cta-mobile-close:hover {
	background: transparent;
	color: #D2FC51;
}
.tpr-gf-cta-mobile-close svg {
	width: 14px;
	height: 14px;
}

/* Form 3: small mobile – trigger bar and expanded form */
@media (max-width: 480px) {
	.tpr-gf-cta-mobile-trigger {
		padding: 10px 12px 10px 20px !important;
		gap: 10px !important;
	}
	.tpr-gf-cta-mobile-trigger-text {
		font-size: 13px !important;
	}
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3.gform_wrapper {
		padding: 12px 16px 12px 16px !important;
	}
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_body {
		gap: 8px !important;
	}
}

/* Form 3: very small mobile */
@media (max-width: 360px) {
	.tpr-gf-cta-mobile-trigger {
		padding: 8px 10px 8px 16px !important;
		gap: 8px !important;
	}
	.tpr-gf-cta-mobile-trigger-text {
		font-size: 12px !important;
	}
	.tpr-gf-cta-mobile-chevron {
		width: 2.5rem !important;
		height: 2.5rem !important;
		min-width: 2.5rem !important;
	}
	.tpr-gf-cta-mobile-chevron svg {
		width: 14px !important;
		height: 14px !important;
	}
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3.gform_wrapper {
		padding: 10px 12px 10px 12px !important;
	}
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_body {
		gap: 6px !important;
	}
	.tpr-gf-cta-block #gform_wrapper_3 .gform_footer input[type="submit"],
	.tpr-gf-cta-block #gform_wrapper_3 .gform_footer button[type="submit"],
	.tpr-gf-cta-block #gform_wrapper_3 .gform_footer button.gform_button,
	.tpr-gf-cta-block #gform_wrapper_3 .gform_footer .tpr-cta-custom-form__submit,
	.tpr-gf-cta-block #gform_wrapper_3 .gfield--type-submit input[type="submit"],
	.tpr-gf-cta-block #gform_wrapper_3 .gfield--type-submit button[type="submit"],
	.tpr-gf-cta-block #gform_wrapper_3 .gfield--type-submit button.gform_button,
	.tpr-gf-cta-block #gform_wrapper_3 #field_submit input[type="submit"],
	.tpr-gf-cta-block #gform_wrapper_3 #gform_submit_button_3 {
		width: 3rem !important;
		height: 3rem !important;
		min-width: 3rem !important;
	}
}

/* Desktop: if mobile UI was injected, hide trigger and close, show form */
@media (min-width: 1024px) {
	.tpr-gf-cta-mobile-trigger,
	.tpr-gf-cta-mobile-close {
		display: none !important;
	}
	/* Pill uses 12/8 top/bottom padding for label+value optical balance — the submit circle
	 * inherits that asymmetry via flex align-items: center. Nudge just the submit up 2px so
	 * the circle has equal visual space above and below within the pill. */
	#gform_wrapper_3 .gform_footer input[type="submit"],
	#gform_wrapper_3 .gform_footer button[type="submit"],
	#gform_wrapper_3 .gform_footer button.gform_button,
	#gform_wrapper_3 .gform_footer .tpr-cta-custom-form__submit,
	#gform_wrapper_3 .gfield--type-submit input[type="submit"],
	#gform_wrapper_3 .gfield--type-submit button[type="submit"],
	#gform_wrapper_3 .gfield--type-submit button.gform_button {
		transform: translateY(-2px);
	}
	#gform_wrapper_3 .gform_footer input[type="submit"]:hover,
	#gform_wrapper_3 .gform_footer button[type="submit"]:hover,
	#gform_wrapper_3 .gform_footer button.gform_button:hover,
	#gform_wrapper_3 .gform_footer .tpr-cta-custom-form__submit:hover,
	#gform_wrapper_3 .gfield--type-submit input[type="submit"]:hover,
	#gform_wrapper_3 .gfield--type-submit button[type="submit"]:hover,
	#gform_wrapper_3 .gfield--type-submit button.gform_button:hover {
		transform: translateY(-2px) scale(1.02);
	}
}

/* Container query: whenever the CTA block itself is narrow (even at desktop viewport in a
 * constrained column), switch to the "Let's get started" trigger that expands to a 2x2 grid. */
@container tpr-cta (max-width: 700px) {
	/* Force the block to fill its container so the trigger pill spans the available width
	 * (otherwise width: fit-content shrinks the block to the trigger's intrinsic size). */
	.tpr-gf-cta-block {
		width: 100% !important;
		max-width: 100% !important;
	}
	.tpr-gf-cta-mobile-collapsible:not(.tpr-gf-cta-expanded) .tpr-gf-cta-mobile-trigger {
		display: flex !important;
	}
	.tpr-gf-cta-mobile-collapsible:not(.tpr-gf-cta-expanded) #gform_wrapper_3.gform_wrapper {
		display: none !important;
	}
	.tpr-gf-cta-mobile-collapsible:not(.tpr-gf-cta-expanded) .tpr-gf-cta-mobile-close {
		display: none !important;
	}
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded .tpr-gf-cta-mobile-trigger {
		display: none !important;
	}
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded .tpr-gf-cta-mobile-close {
		display: flex !important;
	}
	/* Expanded: pill spans the whole block (= original trigger width) so the form doesn't shrink
	 * to content and leave empty space. 2x2 grid for fields + right-aligned submit row. */
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3.gform_wrapper {
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_body {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		gap: 10px !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_fields {
		display: contents !important;
	}
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 form {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
	}
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield,
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield_content {
		width: 100% !important;
		min-width: 0 !important;
	}
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_footer {
		display: flex !important;
		justify-content: flex-end !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}
}

/* Form 3: mobile + tablet – 2x2 grid layout when expanded */
@media (max-width: 1023px) {
	.tpr-gf-cta-block #gform_wrapper_3.gform_wrapper {
		display: flex !important;
		flex-direction: column !important;
		width: 100% !important;
		max-width: 100% !important;
		padding: 12px 16px !important;
		gap: 10px !important;
		border-radius: 16px !important;
	}
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3.gform_wrapper {
		padding: 16px 30px 16px 30px !important;
		border-radius: 30px !important;
		overflow: visible !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 form {
		width: 100% !important;
		max-width: 100% !important;
		display: flex !important;
		flex-direction: column !important;
	}
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_body {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
		grid-template-rows: auto auto !important;
		gap: 10px !important;
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 auto !important;
		min-width: 0 !important;
	}
	.tpr-gf-cta-block #gform_wrapper_3 .gform_fields {
		display: contents !important;
	}
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield:nth-child(1) {
		grid-column: 1 !important;
		grid-row: 1 !important;
		min-width: 0 !important;
	}
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield:nth-child(2) {
		grid-column: 2 !important;
		grid-row: 1 !important;
		min-width: 0 !important;
	}
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield:nth-child(3) {
		grid-column: 1 !important;
		grid-row: 2 !important;
		min-width: 0 !important;
	}
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield:nth-child(4) {
		grid-column: 2 !important;
		grid-row: 2 !important;
		min-width: 0 !important;
	}
	/*
	 * Submit lives in .gform_footer (sibling of .gform_body), not inside the grid. Full-width row, lime circle
	 * right-aligned (same side as the collapsed “Let’s get started” chevron).
	 */
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_footer {
		display: flex !important;
		flex-direction: row !important;
		justify-content: flex-end !important;
		align-items: center !important;
		align-self: stretch !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		transform: none !important;
	}
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 #field_submit,
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield--type-submit,
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_fields > *:nth-child(5) {
		grid-column: auto !important;
		grid-row: auto !important;
		margin: 0 !important;
		transform: none !important;
	}
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield,
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 li.gfield,
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield_content {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box !important;
	}
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .ginput_container,
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .ginput_container_select,
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .ginput_container_select .chosen-container,
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .ginput_container_select .chosen-container-single,
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .ginput_container_select .chosen-container .chosen-single,
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .chosen-container,
	.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .chosen-container-single {
		min-width: 0 !important;
		width: 100% !important;
		max-width: none !important;
		box-sizing: border-box !important;
	}
	.tpr-gf-cta-block #gform_wrapper_3 .ginput_container,
	.tpr-gf-cta-block #gform_wrapper_3 .ginput_container_select .chosen-container {
		min-width: 0 !important;
		width: 100% !important;
	}
	.tpr-gf-cta-block #gform_wrapper_3 .ginput_container select,
	.tpr-gf-cta-block #gform_wrapper_3 .ginput_container_select .chosen-container-single .chosen-single {
		min-width: 0 !important;
		width: 100% !important;
	}
	.tpr-gf-cta-block #gform_wrapper_3 .gfield_label,
	.tpr-gf-cta-block #gform_wrapper_3 .gform-field-label {
		font-size: 10px !important;
	}
	.tpr-gf-cta-block #gform_wrapper_3 input::placeholder,
	.tpr-gf-cta-block #gform_wrapper_3 .chosen-container-single .chosen-single span,
	.tpr-gf-cta-block #gform_wrapper_3 .ginput_container select,
	.tpr-gf-cta-block #gform_wrapper_3 .ginput_container_select .chosen-container-single .chosen-single {
		font-size: 11px !important;
	}
	.tpr-gf-cta-block #gform_wrapper_3 .gform_footer input[type="submit"],
	.tpr-gf-cta-block #gform_wrapper_3 .gform_footer button[type="submit"],
	.tpr-gf-cta-block #gform_wrapper_3 .gform_footer button.gform_button,
	.tpr-gf-cta-block #gform_wrapper_3 .gform_footer .tpr-cta-custom-form__submit,
	.tpr-gf-cta-block #gform_wrapper_3 .gfield--type-submit input[type="submit"],
	.tpr-gf-cta-block #gform_wrapper_3 .gfield--type-submit button[type="submit"],
	.tpr-gf-cta-block #gform_wrapper_3 .gfield--type-submit button.gform_button,
	.tpr-gf-cta-block #gform_wrapper_3 #field_submit input[type="submit"],
	.tpr-gf-cta-block #gform_wrapper_3 #gform_submit_button_3 {
		width: 3.5rem !important;
		height: 3.5rem !important;
		min-width: 3.5rem !important;
	}
	/*
	 * Mobile CTA: the ≤1024px block centers the footer row (justify-content: center), which leaves
	 * the lime submit inset from the right column dropdowns. Pin the footer full width and end-align
	 * the button so it lines up with the right-hand fields (same as collapsible-expanded rules above).
	 */
	.tpr-gf-cta-block #gform_wrapper_3 .gform_footer,
	.tpr-gf-cta-block #gform_wrapper_3 form .gform_footer {
		display: flex !important;
		flex-direction: row !important;
		justify-content: flex-end !important;
		align-items: center !important;
		align-self: stretch !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
		flex-shrink: 0 !important;
	}
}

/* Tablet + mobile (≤1023px) expanded state: stacked layout.
 * Row 1 = close X (right-aligned, in-flow above the fields).
 * Rows 2–5 = full-width selectors, one per row, so each uses the full container width.
 * Row 6 = full-width green submit button below the fields. */
@media (max-width: 1023px) {
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3.gform_wrapper {
		padding: 14px 20px 20px 20px !important;
		border-radius: 24px !important;
		gap: 12px !important;
		position: relative !important;
	}
	/* Single column stack: each selector gets full container width. */
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_body {
		grid-template-columns: minmax(0, 1fr) !important;
		grid-template-rows: auto !important;
		gap: 10px !important;
	}
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield:nth-child(1),
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield:nth-child(2),
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield:nth-child(3),
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield:nth-child(4) {
		grid-column: 1 !important;
		grid-row: auto !important;
	}
	/* Close X: in-flow at the top of the card, right-aligned above the first selector. */
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded .tpr-gf-cta-mobile-close {
		position: static !important;
		align-self: flex-end !important;
		margin: 0 0 4px 0 !important;
		transform: none !important;
		width: 32px !important;
		height: 32px !important;
		background: rgba(255, 255, 255, 0.12) !important;
	}
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded .tpr-gf-cta-mobile-close:hover {
		background: rgba(255, 255, 255, 0.22) !important;
		color: #D2FC51 !important;
	}
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 form {
		flex-direction: column !important;
		align-items: stretch !important;
	}
	/* Submit button: full-width row below the selectors, 20px breathing room above. */
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_footer {
		position: static !important;
		display: flex !important;
		flex-direction: row !important;
		justify-content: center !important;
		align-items: center !important;
		width: 100% !important;
		margin: 20px 0 0 0 !important;
		padding: 0 !important;
		flex: 0 0 auto !important;
	}
	/* Stretch submit to fill the row instead of the small lime circle. */
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_footer input[type="submit"],
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_footer button[type="submit"],
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_footer button.gform_button,
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_footer .tpr-cta-custom-form__submit,
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield--type-submit input[type="submit"],
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield--type-submit button[type="submit"],
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield--type-submit button.gform_button,
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 #field_submit input[type="submit"],
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 #gform_submit_button_3 {
		position: relative !important;
		width: 100% !important;
		height: auto !important;
		min-height: 52px !important;
		min-width: 0 !important;
		border-radius: 999px !important;
		padding: 14px 24px !important;
	}
	/* Submit button contents centered as a label+arrow pair (not a spread label + far-right arrow).
	 * Button is empty — aria-label="Submit" — so label comes from ::before and arrow from ::after. */
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_footer button.gform_button,
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_footer .tpr-cta-custom-form__submit,
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_footer button[type="submit"],
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield--type-submit button.gform_button,
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield--type-submit button[type="submit"] {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 10px !important;
	}
	/* "Let's get started" label. */
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_footer button.gform_button::before,
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_footer .tpr-cta-custom-form__submit::before,
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_footer button[type="submit"]::before,
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield--type-submit button.gform_button::before,
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield--type-submit button[type="submit"]::before {
		content: "Let's get started";
		font-weight: 700;
		font-size: 16px;
		color: #0f2902;
		letter-spacing: 0.01em;
	}
	/* Arrow sits inline next to the label (both centered as a pair). */
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_footer button[type="submit"]::after,
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_footer button.gform_button::after,
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_footer .tpr-cta-custom-form__submit::after,
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield--type-submit button[type="submit"]::after,
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield--type-submit button.gform_button::after {
		position: static !important;
		left: auto !important;
		right: auto !important;
		top: auto !important;
		transform: none !important;
	}
	/* Hover: label + arrow go white (matches the existing hover that turns the button dark green). */
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_footer button.gform_button:hover::before,
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_footer .tpr-cta-custom-form__submit:hover::before,
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform_footer button[type="submit"]:hover::before,
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield--type-submit button.gform_button:hover::before,
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield--type-submit button[type="submit"]:hover::before {
		color: #fff !important;
	}
	/* Dropdown chevrons: match the close X circle (32px, same rgba bg) and align to the right edge
	 * of each selector row, matching the X's right edge for visual alignment. */
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .ginput_container::after,
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .ginput_container_select .chosen-container-single .chosen-single::after {
		width: 32px !important;
		height: 32px !important;
		margin-top: -16px !important;
		right: 0 !important;
		border: none !important;
		background: rgba(255, 255, 255, 0.12) !important;
		border-radius: 50% !important;
		transform: none !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		/* Replace the border-based caret with an inline SVG chevron so it sits centered in the circle. */
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 8 10 12 14 8'/%3E%3C/svg%3E") !important;
		background-repeat: no-repeat !important;
		background-position: center !important;
		background-size: 16px 16px !important;
	}
	/* Larger selector text now that each field has the full container width. */
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield_label,
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gform-field-label {
		font-size: 13px !important;
	}
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 input::placeholder,
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .chosen-container-single .chosen-single span,
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .ginput_container select,
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .ginput_container_select .chosen-container-single .chosen-single {
		font-size: 16px !important;
	}
	/* Give each row more height so the bigger text has room above/below the floated label. */
	.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield {
		min-height: 60px !important;
		padding-top: 20px !important;
	}
}

/*
 * Mobile expanded CTA: each stacked field is a full-row touch target (label + value + chevron).
 * Before: select was sized to placeholder (~124px) via JS inline style, so only the text was
 * tappable and the chevron area did nothing (ginput_container::after has pointer-events:none).
 *
 * Fix: make .gfield a positioning context, float the label over the top, and stretch the select
 * to cover the whole row. The label gets pointer-events:none so the entire row (label strip,
 * value strip, chevron strip) delegates taps to the native <select>.
 */
.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield {
	position: relative !important;
	min-height: 52px !important;
	display: block !important;
	padding-top: 16px !important;
}
.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield .gfield_label {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	margin: 0 !important;
	pointer-events: none !important;
	z-index: 2 !important;
}
.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield .ginput_container,
.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield .ginput_container_select {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	min-width: 0 !important;
	display: block !important;
	overflow: visible !important;
}
.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield .ginput_container select {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	/* Label sits at the top; push select text to the lower half so it stays readable under the label. */
	padding: 16px 1.75em 0 0 !important;
	cursor: pointer !important;
	z-index: 1 !important;
}
/* Chosen (rare on CTA, but present for field 3 on some pages) – same full-row hit area. */
.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield .ginput_container_select .chosen-container,
.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield .ginput_container_select .chosen-container-single {
	width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
}
.tpr-gf-cta-block.tpr-gf-cta-mobile-collapsible.tpr-gf-cta-expanded #gform_wrapper_3 .gfield .ginput_container_select .chosen-container-single .chosen-single {
	width: 100% !important;
	height: 100% !important;
	padding: 16px 1.75em 0 0 !important;
	align-items: flex-end !important;
}

/* Form 3: narrow viewports – smaller font so dropdowns + arrow stay on one line */
@media (max-width: 640px) {
	#gform_wrapper_3 .gfield_label,
	#gform_wrapper_3 .gform-field-label {
		font-size: 9px !important;
	}
	#gform_wrapper_3 input::placeholder,
	#gform_wrapper_3 textarea::placeholder,
	#gform_wrapper_3 .chosen-container-single .chosen-single span,
	#gform_wrapper_3 .ginput_container select,
	#gform_wrapper_3 .ginput_container_select .chosen-container-single .chosen-single {
		font-size: 10px !important;
	}
	#gform_wrapper_3 .gform_body,
	#gform_wrapper_3 .gform_fields {
		gap: 0 0.65rem !important;
	}
	#gform_wrapper_3.gform_wrapper {
		padding: 10px 12px 6px 16px !important;
		gap: 8px !important;
	}
	#gform_wrapper_3 .ginput_container select {
		min-width: 4rem !important;
	}
	#gform_wrapper_3 .gform_footer input[type="submit"],
	#gform_wrapper_3 .gform_footer button[type="submit"],
	#gform_wrapper_3 .gform_footer button.gform_button,
	#gform_wrapper_3 .gform_footer .tpr-cta-custom-form__submit,
	#gform_wrapper_3 .gfield--type-submit input[type="submit"],
	#gform_wrapper_3 .gfield--type-submit button[type="submit"],
	#gform_wrapper_3 .gfield--type-submit button.gform_button {
		width: 2.75rem !important;
		height: 2.75rem !important;
		min-width: 2.75rem !important;
		background-size: 24px 24px !important;
	}
}

/* Form 3: very narrow – keep 4+ dropdowns + arrow on one line */
@media (max-width: 480px) {
	#gform_wrapper_3 .gfield_label,
	#gform_wrapper_3 .gform-field-label {
		font-size: 8px !important;
	}
	#gform_wrapper_3 input::placeholder,
	#gform_wrapper_3 textarea::placeholder,
	#gform_wrapper_3 .chosen-container-single .chosen-single span,
	#gform_wrapper_3 .ginput_container select,
	#gform_wrapper_3 .ginput_container_select .chosen-container-single .chosen-single {
		font-size: 9px !important;
	}
	#gform_wrapper_3 .gform_body,
	#gform_wrapper_3 .gform_fields {
		gap: 0 0.5rem !important;
	}
	#gform_wrapper_3.gform_wrapper {
		padding: 8px 10px 6px 12px !important;
		gap: 6px !important;
	}
	#gform_wrapper_3 .ginput_container select {
		min-width: 3rem !important;
	}
	#gform_wrapper_3 .gform_footer input[type="submit"],
	#gform_wrapper_3 .gform_footer button[type="submit"],
	#gform_wrapper_3 .gform_footer button.gform_button,
	#gform_wrapper_3 .gform_footer .tpr-cta-custom-form__submit,
	#gform_wrapper_3 .gfield--type-submit input[type="submit"],
	#gform_wrapper_3 .gfield--type-submit button[type="submit"],
	#gform_wrapper_3 .gfield--type-submit button.gform_button {
		width: 2.5rem !important;
		height: 2.5rem !important;
		min-width: 2.5rem !important;
		background-size: 22px 22px !important;
	}
}

/* ==========================================================================
   Header: mobile nav breakpoint at 1088px (hamburger below this width)
   ========================================================================== */

/* Below 1088px: show hamburger, hide desktop nav row (override core 600px breakpoint) */
@media (max-width: 1087px) {
	/* Core places the close at dialog top-right; JS pins it over the open icon (tpr-mobile-nav-actions.js). */
	header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		position: fixed !important;
		right: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		z-index: 100001 !important;
		-webkit-tap-highlight-color: transparent;
	}
	header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		padding-top: 2.5rem !important;
	}
	/* Mega overlay: full-width panel. Core wraps the dialog in .wp-block-navigation__responsive-close with
	   auto margins + max-width: var(--wp--style--global--wide-size) (resolves to 90%), so zero out RC padding,
	   then override the close wrapper and dialog to 100% so row borders span full viewport width. */
	header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
	header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		/* Reserve vertical room for the absolutely-positioned top actions row (search + phone + CTA) aligned with X. */
		padding-top: 3rem !important;
		padding-left: 5% !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
		gap: 0 !important;
		row-gap: 0 !important;
		position: relative !important;
	}
	header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex !important;
	}
	header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none !important;
	}
	/* Issue 1: FOUC fix — Core renders a 2-line SVG before JS replaces it with a 3-line icon.
	   Hide Core's default SVG and use a CSS ::before mask icon until JS fires.
	   Lock the button dimensions so the swap from ::before → JS SVG can't nudge the box by ~1px. */
	header .wp-block-navigation__responsive-container-open {
		width: 24px !important;
		height: 24px !important;
		min-width: 24px !important;
		min-height: 24px !important;
		flex: 0 0 24px !important;
		padding: 0 !important;
		box-sizing: content-box !important;
		line-height: 0 !important;
	}
	header .wp-block-navigation__responsive-container-open svg:not(.tpr-nav-icon-svg) {
		display: none !important;
	}
	header .wp-block-navigation__responsive-container-open::before {
		content: "";
		display: block;
		width: 24px;
		height: 24px;
		flex: 0 0 24px;
		background-color: currentColor;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='5.5' width='16' height='2' rx='1'/%3E%3Crect x='4' y='11' width='16' height='2' rx='1'/%3E%3Crect x='4' y='16.5' width='16' height='2' rx='1'/%3E%3C/svg%3E") no-repeat center / contain;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Crect x='4' y='5.5' width='16' height='2' rx='1'/%3E%3Crect x='4' y='11' width='16' height='2' rx='1'/%3E%3Crect x='4' y='16.5' width='16' height='2' rx='1'/%3E%3C/svg%3E") no-repeat center / contain;
	}
	/* Once JS injects .tpr-nav-icon-svg, hide the CSS fallback and force the SVG to the same dimensions. */
	header .wp-block-navigation__responsive-container-open:has(.tpr-nav-icon-svg)::before {
		display: none !important;
	}
	header .wp-block-navigation__responsive-container-open svg.tpr-nav-icon-svg {
		width: 24px !important;
		height: 24px !important;
		flex: 0 0 24px !important;
		display: block !important;
	}
	/* Mobile: hide search, call, Let's get started from header bar – they move to top of mobile menu */
	header .wp-block-search.wp-block-search__button-only,
	header .wp-block-buttons,
	header .wp-block-uagb-buttons,
	header a[href^="tel:"] {
		display: none !important;
	}
	/* Top actions row sits on the SAME line as the fixed X close button (pinned at top-right over the hamburger).
	   Position it absolutely inside the content (which is now position: relative) so the nav list below starts
	   flush under it; reserve ~4rem on the right for the close button. */
	header .wp-block-navigation__responsive-container-content .tpr-mobile-nav-actions {
		position: absolute !important;
		top: 0.25rem !important;
		left: 5% !important;
		right: 3rem !important;
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 0.5rem !important;
		align-items: center !important;
		padding: 0 !important;
		margin: 0 !important;
		border: none !important;
		min-height: 24px !important;
	}
	header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .tpr-mobile-nav-actions {
		/* Mega-menu actions is absolutely positioned above; no margin-bottom needed (content padding-top reserves space). */
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}
	header .wp-block-navigation__responsive-container-content .tpr-mobile-nav-actions .wp-block-search,
	header .wp-block-navigation__responsive-container-content .tpr-mobile-nav-actions .wp-block-buttons,
	header .wp-block-navigation__responsive-container-content .tpr-mobile-nav-actions .wp-block-uagb-buttons,
	header .wp-block-navigation__responsive-container-content .tpr-mobile-nav-actions a[href^="tel:"] {
		display: flex !important;
	}
	/* Inline GET search (built in tpr-mobile-nav-actions.js — avoids broken cloned block / lime square) */
	header .wp-block-navigation__responsive-container-content .tpr-mobile-nav-inline-search {
		flex: 1 1 140px !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}
	header .wp-block-navigation__responsive-container-content .tpr-mobile-nav-inline-search__form {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		gap: 0.35rem !important;
		width: 100% !important;
		min-height: 2rem !important;
		height: 2rem !important;
		padding: 0.1rem 0.15rem 0.1rem 0.75rem !important;
		box-sizing: border-box !important;
		border-radius: 999px !important;
		background: #fff !important;
		border: none !important;
	}
	header .wp-block-navigation__responsive-container-content .tpr-mobile-nav-inline-search__input {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		border: 0 !important;
		background: transparent !important;
		color: #0f2902 !important;
		font-family: "Poppins", sans-serif !important;
		/* 16px prevents iOS Safari auto-zoom when Core's focusFirstElement programmatically focuses this input on overlay open. */
		font-size: 16px !important;
		line-height: 1.3 !important;
		outline: none !important;
		box-shadow: none !important;
	}
	header .wp-block-navigation__responsive-container-content .tpr-mobile-nav-inline-search__input::placeholder {
		color: rgba(15, 41, 2, 0.45) !important;
		font-family: "Poppins", sans-serif !important;
	}
	header .wp-block-navigation__responsive-container-content .tpr-mobile-nav-inline-search__submit {
		flex-shrink: 0 !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 1.75rem !important;
		height: 1.75rem !important;
		padding: 0 !important;
		margin: 0 !important;
		border: none !important;
		border-radius: 50% !important;
		background: #d2fc51 !important;
		color: #0f2902 !important;
		cursor: pointer !important;
		-webkit-tap-highlight-color: transparent;
	}
	header .wp-block-navigation__responsive-container-content .tpr-mobile-nav-inline-search__submit svg {
		display: block !important;
	}
	/* Phone button inside cloned UAGB buttons: strip lime bg, show as simple icon */
	header .wp-block-navigation__responsive-container-content .tpr-mobile-nav-actions .tpr-mobile-nav-action-clone a[href^="tel:"] {
		background: transparent !important;
		border: none !important;
		padding: 0 !important;
		font-size: 0 !important;
		line-height: 0 !important;
		color: #fff !important;
	}
	header .wp-block-navigation__responsive-container-content .tpr-mobile-nav-actions .tpr-mobile-nav-action-clone .wp-block-uagb-button:has(a[href^="tel:"]),
	header .wp-block-navigation__responsive-container-content .tpr-mobile-nav-actions .tpr-mobile-nav-action-clone .wp-block-button:has(a[href^="tel:"]) {
		background: transparent !important;
		border: none !important;
		padding: 0 !important;
	}
	header .wp-block-navigation__responsive-container-content .tpr-mobile-nav-actions .tpr-mobile-nav-action-clone a[href^="tel:"] .uagb-button__link,
	header .wp-block-navigation__responsive-container-content .tpr-mobile-nav-actions .tpr-mobile-nav-action-clone a[href^="tel:"].uagb-button__link {
		background: transparent !important;
		border: none !important;
		padding: 0 !important;
		font-size: 0 !important;
		color: #fff !important;
	}
	header .wp-block-navigation__responsive-container-content .tpr-mobile-nav-actions .tpr-mobile-nav-action-clone .uagb-button__wrapper:has(a[href^="tel:"]) .uagb-button__link {
		background: transparent !important;
		border: none !important;
		padding: 0.5rem !important;
		color: #fff !important;
	}
	/* Move hamburger to far right (search/button hidden, so just logo + hamburger) */
	header .uagb-container-inner-block,
	header .uagb-container-inner-blocks-wrap {
		display: flex !important;
		flex-wrap: wrap !important;
	}
	header .wp-block-navigation {
		order: 10 !important;
		margin-right: 0 !important;
	}
	/* All header elements (hamburger) sit on the right. Constrain the inner row to the same 90%
	   wide-size the page uses so the hamburger lines up with the right edge of page content. */
	header .uagb-container-inner-block,
	header .uagb-container-inner-blocks-wrap {
		justify-content: flex-end !important;
		max-width: 90% !important;
		width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
	}
	/* When logo is present (non-home pages), keep logo left and rest right */
	header .wp-block-site-logo {
		margin-right: auto !important;
	}
	/* Prevent header overflow on mobile */
	header .wp-block-uagb-container,
	header .wp-block-group {
		overflow-x: hidden;
		max-width: 100%;
	}
}

/* Migrated from WP Customizer → Additional CSS (narrow phones / small tablets). */
@media (max-width: 768px) {
	html body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container {
		display: flex !important;
		overflow: scroll !important;
		padding-bottom: 100px !important;
	}

	html body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(1) {
		border-right: none !important;
		align-items: center !important;
	}

	html body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(3) {
		border-left: none !important;
		align-items: center !important;
		font-size: 12px !important;
		padding-inline: 0 !important;
	}

	html body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(2) {
		align-items: center !important;
		padding-right: 0 !important;
	}

	html header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:first-child > .wp-block-navigation__submenu-container {
		display: flex !important;
		padding: 0 !important;
		justify-content: center !important;
		align-items: center !important;
	}

	html header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:first-child > .wp-block-navigation__submenu-container li {
		margin: 0 auto !important;
		align-items: center !important;
		justify-content: center !important;
	}

	html body .wp-block-navigation .has-child .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
		padding-inline: 0 !important;
	}

	html body .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
		padding-inline: 0 !important;
	}

	.uagb-loop-post {
		width: 100% !important;
	}

	.tpr-service-pill-nav {
		border-radius: 16px !important;
		padding: 15px 20px !important;
	}

	.tpr-get-started-flow #gform_wrapper_3 .tpr-cta-custom-form-form .gform_body ul.gform_fields {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 20px !important;
	}

	.tpr-get-started-flow .tpr-gf-cta-block #gform_wrapper_3.gform_wrapper {
		border-radius: 44px !important;
		width: 100% !important;
		padding: 45px !important;
	}

	.tpr-get-started-flow #gform_wrapper_3 form {
		gap: 0 5rem !important;
	}
}

/*
 * Mega menu (tpr-mega-menu): in the responsive overlay, JS adds .tpr-mega-mobile-accordion-active
 * to the 3-column submenu <ul> and wraps each column in .tpr-mega-nav-accordion (see tpr-mega-menu-mobile-accordion.js).
 * .tpr-mega-nav-accordion-mode is toggled on the nav block while the mega <ul> is in accordion layout.
 * custom.css loads after mega-menu-overrides.css so these rules win on tie-breaker.
 */
@media (max-width: 1087px) {
	/*
	 * Core navigation (style.css): when the overlay is open it forces every .has-child submenu
	 * to opacity:1 / visibility:visible so everything appears at once. Restore normal behaviour:
	 * only the direct submenu <ul> of each item is shown after its .wp-block-navigation-submenu__toggle
	 * has aria-expanded="true" (bound by core interactivity; see wp-includes/blocks/navigation.php).
	 */
	/*
	 * mega-menu-overrides.css sets display:grid on mega <ul>s. While collapsed, that can still
	 * reserve min track height and create huge gaps between top-level rows. Force a non-grid
	 * display until the submenu is opened.
	 */
	/*
	 * Collapsed: display:none removes the submenu UL from layout. (height:0 + grid row 2 still
	 * left ghost space when the UL has block background/padding classes.)
	 */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li.has-child > .wp-block-navigation__submenu-container {
		display: none !important;
		margin: 0 !important;
		padding: 0 !important;
		border: none !important;
		width: 100% !important;
		min-width: 0 !important;
		position: static !important;
		left: auto !important;
		right: auto !important;
		transform: none !important;
	}

	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li.has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
		display: flex !important;
		flex-direction: column !important;
		grid-column: 1 / -1 !important;
		grid-row: 2 !important;
		height: auto !important;
		max-height: none !important;
		min-height: 0 !important;
		opacity: 1 !important;
		visibility: visible !important;
		overflow: visible !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-top: 0.65em !important;
		padding-bottom: 0 !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		flex: 1 0 100% !important;
	}

	/* Top-level 2-col flyout uses position:fixed on desktop; stack in the overlay instead. */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li.tpr-mega-menu-2col.has-child > .wp-block-navigation__submenu-container {
		position: static !important;
		left: auto !important;
		top: auto !important;
		right: auto !important;
		transform: none !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	/* Core hides submenu icons in the overlay — show them so parents read as accordion rows. */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
		display: inline-flex !important;
		align-items: center !important;
	}

	/* mega-menu-overrides.css hides nested toggles/icons inside the mega panel; restore for mobile accordions. */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-3col > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-3col > .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-2col > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-2col > .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	/* Even spacing between top-level overlay links */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		gap: 0 !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li.wp-block-navigation-item {
		margin: 0 !important;
		margin-inline: 0 !important;
		padding: 0.65rem 1rem 0.65rem 0 !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
		border-bottom-color: rgba(255, 255, 255, 0.2) !important;
		box-sizing: border-box !important;
		min-height: 2.75rem !important;
		width: 100% !important;
		display: flex !important;
		align-items: center !important;
	}
	/* Beats display:flex above: top-level parents use the same grid row as nested li.has-child (label + chevron column). */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li.wp-block-navigation-item.has-child {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 2.5rem !important;
		grid-template-rows: auto auto !important;
		align-items: center !important;
		width: 100% !important;
		column-gap: 0.5rem !important;
		row-gap: 0 !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li.wp-block-navigation-item.tpr-mega-menu-2col {
		padding: 0.65rem 1rem 0.65rem 0 !important;
		min-height: 2.75rem !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li.wp-block-navigation-item:hover,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li.wp-block-navigation-item:focus-within {
		border-bottom-color: rgba(255, 255, 255, 0.2) !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li.wp-block-navigation-item:last-child {
		border-bottom: none !important;
	}

	/*
	 * All rows in the responsive overlay share one font size (top-level, accordion triggers, and every
	 * nested submenu row). Target the `__content` link, the `__label` span, and the submenu toggle
	 * directly so theme presets like `.has-small-font-size` baked into individual menu items can't
	 * shrink deeper rows. Also zero out the last-child divider and grid-align chevrons at every depth.
	 */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__label,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel .wp-block-navigation-item,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel .wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel .wp-block-navigation-item__label,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel .wp-block-navigation-submenu__toggle {
		font-size: 1rem !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container > li:last-child,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel > ul > li:last-child,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel li:last-child {
		border-bottom: none !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li.has-child > .wp-block-navigation__submenu-icon,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li.has-child > .wp-block-navigation-submenu__toggle.wp-block-navigation__submenu-icon {
		grid-column: 2 !important;
		justify-self: end !important;
		margin-left: auto !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel .wp-block-navigation__submenu-container,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
		padding-left: 1rem !important;
	}

	/* 2nd- and 3rd-level links in the mobile overlay: soft off-white #CFD4CC instead of pure white so they
	   visually recede from top-level items. Overrides the overlay's general white link colour. */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container a.wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container a.wp-block-navigation-item__content .wp-block-navigation-item__label,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel a.wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel .wp-block-navigation-item__label,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel .wp-block-navigation-submenu__toggle {
		color: #CFD4CC !important;
	}

	/*
	 * .tpr-parent-menu-mega-3col { padding: 0.5em } (later in this file) is for desktop tabs.
	 * In the overlay it narrows the row and shifts chevrons left vs other top-level items.
	 */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li.tpr-parent-menu-mega-3col {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
		padding-top: 0.65rem !important;
		padding-bottom: 0.65rem !important;
	}

	/* Top-level parent row only (> a / > button): even line box; avoids mega panel nested links. */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li.wp-block-navigation-item > a.wp-block-navigation-item__content .wp-block-navigation-item__label,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li.wp-block-navigation-item > button.wp-block-navigation-item__content .wp-block-navigation-item__label {
		line-height: 1.25 !important;
	}

	/*
	 * Parent + chevron row: fixed right column for icons (all submenu levels in overlay).
	 * Grid beats flex-wrap: long labels no longer wrap the chevron to a new line, and both Core
	 * variants (link + icon button vs label button + span) keep the chevron in column 2.
	 */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li.has-child {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 2.5rem !important;
		grid-template-rows: auto auto !important;
		align-items: center !important;
		width: 100% !important;
		column-gap: 0.5rem !important;
		row-gap: 0 !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li.has-child > .wp-block-navigation-submenu__toggle,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li.has-child > a.wp-block-navigation-item__content:first-of-type {
		min-width: 0 !important;
		align-self: center !important;
		justify-self: stretch !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li.has-child > .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label {
		min-width: 0 !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li.has-child > .wp-block-navigation__submenu-icon {
		width: 2.5rem !important;
		min-width: 2.5rem !important;
		max-width: 2.5rem !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		justify-self: end !important;
		align-self: center !important;
		height: auto !important;
		line-height: 0 !important;
		padding: 0 !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	/*
	 * Mega 3-col accordion column <li> (Areas / Industries / Resources): they still carry .has-child, so the
	 * global rule above (li.has-child { display:grid; 1fr + 2.5rem }) wins over ul.tpr-mega-mobile-accordion-active > li { display:block }
	 * due to higher specificity. Grid column 1 only holds .tpr-mega-nav-accordion, so borders stop short and
	 * custom chevrons look misaligned. Force full-width block stacking for these wrappers only.
	 */
	html body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content ul.tpr-mega-mobile-accordion-active > li {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		grid-template-columns: none !important;
		grid-template-rows: none !important;
		column-gap: 0 !important;
		row-gap: 0 !important;
		align-items: stretch !important;
	}
	/* Core submenu chevrons: hide SVGs and use Font Awesome chevron-down (avoids duplicate stroke + fill icons when both toggle + span render). */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon svg,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle svg {
		display: none !important;
	}
	/* Open-on-click: label-only toggle must not show a second chevron (some builds include an SVG in the button). */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li.open-on-click.has-child > .wp-block-navigation-submenu__toggle:not(.wp-block-navigation__submenu-icon) svg {
		display: none !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content span.wp-block-navigation__submenu-icon {
		position: relative !important;
	}
	/* Open-on-click: icon lives in the following span (button holds label only).
	   Keep the chevron at a consistent 1.5rem visible size across all states (hover, expanded, accordion
	   panel rows). mask-size fixed (not "contain") so it doesn't shrink based on the row height. */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content span.wp-block-navigation__submenu-icon::before {
		content: "" !important;
		background-color: currentColor !important;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E") no-repeat center / 1.5rem 1.5rem !important;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E") no-repeat center / 1.5rem 1.5rem !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 2.5rem !important;
		height: 1.5rem !important;
		min-height: 1.5rem !important;
		transition: transform 0.2s ease;
		transform-origin: 50% 50%;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle[aria-expanded="true"] + span.wp-block-navigation__submenu-icon::before,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content button.wp-block-navigation-submenu__toggle.wp-block-navigation__submenu-icon[aria-expanded="true"]::before {
		transform: rotate(180deg);
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content button.wp-block-navigation-submenu__toggle.wp-block-navigation__submenu-icon::before {
		content: "" !important;
		background-color: currentColor !important;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E") no-repeat center / 1.5rem 1.5rem !important;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E") no-repeat center / 1.5rem 1.5rem !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		height: 1.5rem !important;
		min-height: 1.5rem !important;
		transition: transform 0.2s ease;
		transform-origin: 50% 50%;
	}
	/* Remove lime squiggle decoration on parent triggers while overlay is open */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child > .wp-block-navigation-submenu__toggle::before,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child > a.wp-block-navigation-item__content::before,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-parent-menu-mega-3col > .wp-block-navigation-submenu__toggle::before,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-parent-menu-mega-3col > a.wp-block-navigation-item__content::before {
		content: none !important;
		display: none !important;
		background: none !important;
		mask: none !important;
		-webkit-mask: none !important;
	}

	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
		align-items: stretch !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item,
	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu {
		align-items: stretch !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	body header .wp-block-navigation.tpr-mega-menu .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container.tpr-mega-mobile-accordion-active,
	body header
		.wp-block-navigation.tpr-mega-menu
		.wp-block-navigation__container
		> .has-child:first-child
		> .wp-block-navigation__submenu-container.tpr-mega-mobile-accordion-active {
		display: flex !important;
		flex-direction: column !important;
		grid-template-columns: none !important;
		grid-auto-flow: row !important;
		gap: 0.5rem 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		position: relative !important;
		left: auto !important;
		right: auto !important;
		transform: none !important;
		/* Reset desktop overflow/max-height so accordion items aren't clipped */
		overflow: visible !important;
		max-height: none !important;
	}

	body header .wp-block-navigation.tpr-mega-menu ul.tpr-mega-mobile-accordion-active > li {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		border-right: none !important;
		border-left: none !important;
		margin: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding: 0 !important;
		flex: none !important;
		align-self: stretch !important;
	}

	/* Nested “mega” grids: single column so industry/location lists don’t overlap */
	body header .wp-block-navigation.tpr-mega-menu ul.tpr-mega-mobile-accordion-active .tpr-mega-menu-3col > .wp-block-navigation__submenu-container {
		display: block !important;
		grid-template-columns: none !important;
		grid-auto-flow: row !important;
		gap: 0.35rem 0 !important;
		max-width: 100% !important;
		width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body header .wp-block-navigation.tpr-mega-menu ul.tpr-mega-mobile-accordion-active .tpr-mega-menu-2col > .wp-block-navigation__submenu-container {
		display: block !important;
		grid-template-columns: none !important;
		grid-auto-flow: row !important;
		max-width: 100% !important;
		width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		position: static !important;
		left: auto !important;
		transform: none !important;
	}

	body header .wp-block-navigation.tpr-mega-menu ul.tpr-mega-mobile-accordion-active .tpr-mega-nav-accordion__panel .wp-block-navigation__submenu-container {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body header .wp-block-navigation.tpr-mega-menu ul.tpr-mega-mobile-accordion-active .tpr-mega-nav-accordion__panel li.wp-block-navigation-submenu {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body header .wp-block-navigation.tpr-mega-menu ul.tpr-mega-mobile-accordion-active .tpr-mega-nav-accordion__panel .wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu ul.tpr-mega-mobile-accordion-active .tpr-mega-nav-accordion__panel a.wp-block-navigation-item__content {
		width: 100% !important;
		max-width: 100% !important;
		text-align: left !important;
		justify-content: flex-start !important;
	}

	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .tpr-mega-nav-accordion {
		position: relative;
		z-index: 1;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box;
		border-bottom: 1px solid rgba(255, 255, 255, 0.22);
	}

	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .tpr-mega-nav-accordion__trigger {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		min-height: 2.65rem;
		gap: 0.5rem;
		padding: 0.65rem 0.25rem 0.65rem 1rem;
		margin: 0;
		border: 0;
		background: transparent;
		color: inherit;
		font: inherit;
		font-weight: 600;
		text-align: left;
		cursor: pointer;
		box-sizing: border-box;
	}

	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .tpr-mega-nav-accordion__trigger:focus-visible {
		outline: 2px solid #d2fc51;
		outline-offset: 2px;
	}

	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .tpr-mega-nav-accordion__trigger-inner {
		flex: 1 1 auto;
		min-width: 0;
		text-align: left;
	}

	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .tpr-mega-nav-accordion__chevron {
		flex: 0 0 2.5rem !important;
		flex-shrink: 0;
		align-self: center;
		width: 2.5rem !important;
		min-width: 2.5rem !important;
		height: 1.5rem !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		transition: transform 0.2s ease;
		opacity: 0.95;
		transform-origin: 50% 50%;
	}

	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .tpr-mega-nav-accordion--open .tpr-mega-nav-accordion__chevron {
		transform: rotate(180deg);
	}

	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .tpr-mega-nav-accordion__panel {
		display: none !important;
		/* Horizontal padding removed so sub-rows align with top-level label inset (parent li already has 1rem). */
		padding: 0 0 0.55rem 0;
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .tpr-mega-nav-accordion--open .tpr-mega-nav-accordion__panel {
		display: block !important;
	}

	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .tpr-mega-nav-accordion__panel .wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .tpr-mega-nav-accordion__panel a {
		word-break: break-word;
	}

	/*
	 * Dark header: .tpr-header-dark forces main nav links to #0F2902. The mobile overlay uses the same deep green
	 * as its background, so that colour reads as “invisible” and hover can look like content disappears.
	 * Force light text/icons in the open overlay (beats header-bar rules via longer selector).
	 */
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content a,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content button.wp-block-navigation-item__content,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__label {
		color: #fff !important;
	}

	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle {
		color: #fff !important;
	}

	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon svg,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle svg {
		fill: currentColor !important;
		color: inherit !important;
	}

	/* Issue 4: Desktop hover ::before/::after bridge elements (z-index:1000008 dark green block) render
	   over items below the hovered .has-child in the mobile overlay, making them disappear. Disable them. */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child:hover::before,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child:focus-within::before,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child:hover::after,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child:focus-within::after {
		content: none !important;
		display: none !important;
	}

	/* Hover: keep text visible (lime on dark bg) for all overlay links */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content a:hover,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content a:hover .wp-block-navigation-item__label,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content button:hover,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content button:hover .wp-block-navigation-item__label,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle:hover,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle:hover .wp-block-navigation-item__label,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content a:hover,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content a:hover .wp-block-navigation-item__label,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content button:hover,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content button:hover .wp-block-navigation-item__label,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle:hover,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle:hover .wp-block-navigation-item__label {
		color: #D2FC51 !important;
	}

	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle:hover svg,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li.has-child:hover > .wp-block-navigation__submenu-icon svg {
		fill: currentColor !important;
		color: #d2fc51 !important;
	}

	/* Column-level italic headings in responsive: hide the original link/span — the custom accordion trigger shows the label.
	   Scoped to .tpr-mega-mobile-accordion-active (3-col mega only) because that JS builds the replacement trigger.
	   2-col panels (e.g. Events & Short Term) aren't accordion-processed, so hiding the label there left empty rows with just chevrons. */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-mobile-accordion-active > .tpr-menu-italic-heading.has-child > a.wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-mobile-accordion-active > .tpr-menu-italic-heading.has-child > span.wp-block-navigation-item__content {
		display: none !important;
	}

	/* 2-col mega (Events & Short Term) italic-heading labels in the mobile overlay: override the desktop
	   Hamilton Script 30px lowercase styling so they match the 3-col accordion triggers (Poppins 1rem 600). */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-2col > li.tpr-menu-italic-heading > a.wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-2col > li.tpr-menu-italic-heading > a.wp-block-navigation-item__content .wp-block-navigation-item__label,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-2col > li.tpr-menu-italic-heading > span.wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-2col > li.tpr-menu-italic-heading > span.wp-block-navigation-item__content .wp-block-navigation-item__label,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-2col > li.tpr-menu-italic-heading > button.wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-2col > li.tpr-menu-italic-heading > button.wp-block-navigation-item__content .wp-block-navigation-item__label {
		font-family: "Poppins", sans-serif !important;
		font-size: 1rem !important;
		font-weight: 600 !important;
		font-style: normal !important;
		color: #CFD4CC !important;
		text-transform: none !important;
	}

	/* Zero out the 8px padding-top the desktop italic-heading rule puts on the <a>/<span>/<button>;
	   in the mobile overlay the wrapping <li> owns spacing, so this top-padding just drops the label. */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-2col > li.tpr-menu-italic-heading > a.wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-2col > li.tpr-menu-italic-heading > span.wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-2col > li.tpr-menu-italic-heading > button.wp-block-navigation-item__content {
		padding: 0 !important;
	}

	/* 2-col italic-heading row: match 3-col accordion row spacing/divider (min-height, padding, bottom rule). */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-2col > li.tpr-menu-italic-heading.has-child {
		min-height: 2.65rem !important;
		padding: 0.65rem 0.25rem 0.65rem 1rem !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.22) !important;
		box-sizing: border-box !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-2col > li.tpr-menu-italic-heading.has-child:last-child {
		border-bottom: none !important;
	}

	/* Sub-heading links inside accordion panels: keep visible (WP toggle has no label text) */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel li.tpr-menu-sub-heading.has-child > a.wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel li.tpr-menu-sub-heading.has-child > span.wp-block-navigation-item__content {
		color: #fff !important;
		font-family: "Poppins", sans-serif !important;
		font-weight: 600 !important;
		font-size: 1em !important;
	}

	/* Italic/sub-heading toggle text in responsive: Poppins bold instead of Hamilton Script */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-menu-italic-heading > .wp-block-navigation-submenu__toggle,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-menu-italic-heading > .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-menu-sub-heading > .wp-block-navigation-submenu__toggle,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-menu-sub-heading > .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label {
		font-family: "Poppins", sans-serif !important;
		font-size: 1em !important;
		font-style: normal !important;
		font-weight: 700 !important;
	}

	/* Accordion trigger: same size/colour as other sub-items. Right-padding is 0: the accordion lives
	   inside the top-level li's content-box (which already has 1rem right padding), so adding 1rem
	   here again would push the chevron 2rem from the viewport edge — 1rem deeper than top-level
	   chevrons. Zero right-padding keeps every chevron on the same vertical column. */
	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .tpr-mega-nav-accordion__trigger {
		font-family: "Poppins", sans-serif !important;
		font-size: 1rem !important;
		font-weight: 600 !important;
		font-style: normal !important;
		color: #CFD4CC !important;
		padding: 0.65rem 0 0.65rem 1rem !important;
	}

	/* Hide duplicate italic headings inside accordion panels (accordion trigger already shows the label) */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel > li.tpr-menu-italic-heading > .wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel > li.tpr-menu-italic-heading > a,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel > li.tpr-menu-italic-heading > span,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel > li.tpr-menu-italic-heading > button.wp-block-navigation-item__content {
		display: none !important;
	}

	/* Hide duplicate italic headings INSIDE submenu containers only (not top-level items). */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container li.tpr-menu-italic-heading:not(.has-child) {
		display: none !important;
		height: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		border: none !important;
	}

	/* Reset mega column padding/margins in mobile overlay to prevent large gaps */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container > li {
		padding: 0 !important;
		margin: 0 !important;
		border-right: none !important;
		border-left: none !important;
	}

	/* Dropdown arrows: fixed-width column so every chevron shares the same right edge */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
		flex: 0 0 2.5rem !important;
		width: 2.5rem !important;
		min-width: 2.5rem !important;
		margin-left: auto !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
	}
	/* Toggle that is the whole row label: keep flexible; chevron may be inside */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		flex: 1 1 auto !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		padding: 0.2rem 0 !important;
		background: transparent !important;
		border: none !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li.has-child > a.wp-block-navigation-item__content ~ .wp-block-navigation-submenu__toggle {
		display: inline-flex !important;
		flex: 0 0 2.5rem !important;
		width: 2.5rem !important;
		min-width: 2.5rem !important;
		max-width: 2.5rem !important;
		justify-content: center !important;
		align-items: center !important;
		margin-left: auto !important;
		padding: 0.2rem !important;
		box-sizing: border-box !important;
		height: 20px !important;
	}

	/*
	 * Mega accordion panel rows: override the global li.has-child { display:grid } rule (~4766).
	 * Grid + nested mega markup indents rows and shifts chevrons; flex + padding 0 matches top-level inset.
	 */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel li.has-child {
		display: flex !important;
		flex-flow: row wrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-top: 0.28rem !important;
		padding-bottom: 0.28rem !important;
		box-sizing: border-box !important;
	}

	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel li.has-child > .wp-block-navigation__submenu-container {
		flex: 1 0 100% !important;
		width: 100% !important;
		min-width: 0 !important;
		order: 3 !important;
	}

	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel li.open-on-click.has-child > .wp-block-navigation-submenu__toggle:not(.wp-block-navigation__submenu-icon) {
		display: flex !important;
		flex: 1 1 auto !important;
		order: 1 !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		padding: 0.2rem 0 !important;
		justify-content: flex-start !important;
		text-align: left !important;
	}

	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel li.open-on-click.has-child > .wp-block-navigation__submenu-icon {
		order: 2 !important;
		flex: 0 0 2.5rem !important;
		margin-left: auto !important;
	}

	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel li.has-child > a.wp-block-navigation-item__content:first-of-type {
		order: 1 !important;
		flex: 1 1 auto !important;
		min-width: 0 !important;
		text-align: left !important;
	}

	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel li.has-child > a.wp-block-navigation-item__content ~ .wp-block-navigation-submenu__toggle {
		order: 2 !important;
		flex: 0 0 2.5rem !important;
		margin-left: auto !important;
	}

	/* Undo global grid child placement (~4776–4798) inside accordion panel rows. */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel li.has-child > .wp-block-navigation-submenu__toggle,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel li.has-child > a.wp-block-navigation-item__content:first-of-type {
		justify-self: auto !important;
		align-self: auto !important;
	}

	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel li.has-child > .wp-block-navigation__submenu-icon {
		justify-self: auto !important;
		align-self: auto !important;
	}

	/* Sub-link items inside overlay: uniform spacing */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container > li {
		padding: 0.28rem 0 !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container > li a,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container > li .wp-block-navigation-item__content {
		text-align: left !important;
	}

	/* 3-col mega (mobile accordion): second-level lists left-aligned (overrides narrow-phone rules that centred nested lists) */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-mobile-accordion-active .tpr-mega-nav-accordion__panel,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-mobile-accordion-active .tpr-mega-nav-accordion__panel .wp-block-navigation__submenu-container {
		text-align: left !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-mobile-accordion-active .tpr-mega-nav-accordion__panel .wp-block-navigation__submenu-container > li {
		align-items: stretch !important;
		width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	html body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:first-child > .wp-block-navigation__submenu-container {
		justify-content: flex-start !important;
		align-items: flex-start !important;
	}
	html body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:first-child > .wp-block-navigation__submenu-container li {
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		justify-content: flex-start !important;
		align-items: flex-start !important;
	}

	/*
	 * Mega column <li> wrappers (Areas / Industries / Resources, 2-col, etc.): desktop rules in mega-menu-overrides.css
	 * used to apply at all widths and added large horizontal padding + column borders. Scoped to desktop there now;
	 * this block resets any remaining cascade for the mobile overlay so accordion rows match top-level alignment.
	 */
	html body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-menu-3col > .wp-block-navigation__submenu-container > li,
	html body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-menu-2col > .wp-block-navigation__submenu-container > li,
	html body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li,
	html body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li {
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		margin-inline-start: 0 !important;
		margin-inline-end: 0 !important;
		border-left: none !important;
		border-right: none !important;
		min-width: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}
}

/* 1088px and up: desktop nav visible, hamburger hidden */
@media (min-width: 1088px) {
	header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: none !important;
	}
	header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: block !important;
		position: relative !important;
		width: 100% !important;
		background-color: inherit !important;
		z-index: auto !important;
	}
	header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close {
		display: none !important;
	}
	/* Prevent search icon and CTA button being cut off at smaller desktop: no clipping, right-side items don’t shrink */
	header .wp-block-uagb-container,
	header .wp-block-group,
	header .uagb-container-inner-block,
	header .uagb-container-inner-blocks-wrap {
		overflow-x: visible !important;
	}
	/* Allow mega menu fixed dropdown to extend full width (do not clip) */
	header:has(.tpr-parent-menu-mega-3col:hover) .wp-block-uagb-container,
	header:has(.tpr-parent-menu-mega-3col:focus-within) .wp-block-uagb-container,
	header:has(.wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:hover) .wp-block-uagb-container,
	header:has(.wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:focus-within) .wp-block-uagb-container {
		overflow: visible !important;
	}
	header .wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,
	header .wp-block-buttons,
	header .wp-block-uagb-buttons {
		flex-shrink: 0 !important;
	}
}

/* 1088px–1400px: stack nav on its own row below logo/actions so the logo and CTA never get cut off at tight desktop widths. */
@media (min-width: 1088px) and (max-width: 1400px) {
	body:not(.home) header .uagb-container-inner-block,
	body:not(.home) header .uagb-container-inner-blocks-wrap {
		flex-wrap: wrap !important;
		row-gap: 0.5rem;
	}
	body:not(.home) header .wp-block-navigation {
		flex: 0 0 100% !important;
		order: 99 !important;
		justify-content: flex-start !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	body:not(.home) header .wp-block-navigation .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		justify-content: flex-start !important;
		width: 100% !important;
	}
	body:not(.home) header .wp-block-navigation .wp-block-navigation__container {
		justify-content: flex-start !important;
		padding-left: 0 !important;
	}
	body:not(.home) header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child {
		padding-left: 0 !important;
		margin-left: 0 !important;
	}
	/* Keep CTA pill from wrapping at this range */
	header .wp-block-uagb-button a.uagb-buttons-repeater.wp-block-button__link,
	header .wp-block-buttons .wp-block-button__link {
		white-space: nowrap !important;
	}

	/* Nav is on its own stacked row here — the default `top: -100px` on the hover-tab ::before
	 * extends the dark-green pill up into/behind the logo+actions row above. Clamp it to the
	 * link's own box so the hover background only covers the link. */
	body:not(.home) header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:hover::before,
	body:not(.home) header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:focus-within::before {
		top: 0 !important;
	}
}

/* 1401px–1700px: compress nav font size / spacing so each link stays on one line without stacking the menu. */
@media (min-width: 1401px) and (max-width: 1700px) {
	body:not(.home) header .wp-block-navigation-item__content,
	body:not(.home) header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li > .wp-block-navigation-item__content,
	body:not(.home) header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li > a.wp-block-navigation-item__content,
	body:not(.home) header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li > button.wp-block-navigation-item__content,
	body:not(.home) header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li > .wp-block-navigation-submenu__toggle {
		font-size: 13px !important;
		white-space: nowrap !important;
	}
	body:not(.home) header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li {
		padding-left: 0.75em !important;
		padding-right: 0.75em !important;
	}
}

/* Header CTA button: keep "Let's get started" on one line */
header .wp-block-uagb-button a.uagb-buttons-repeater.wp-block-button__link,
header .wp-block-buttons .wp-block-button__link {
	white-space: nowrap;
}

/* ==========================================================================
   Header search: icon-only button, expand to pill with close + search circle
   ========================================================================== */

header .wp-block-template-part {
	position: relative;
}

/* ==========================================================================
   Header: align actions to the right on all pages (logo stays left when present)
   ========================================================================== */

header .uagb-container-inner-block,
header .uagb-container-inner-blocks-wrap {
	display: flex !important;
	justify-content: flex-end !important;
	flex-wrap: wrap;
}
header .wp-block-site-logo {
	margin-right: auto !important;
	flex-shrink: 0 !important; /* Keep logo at default size, don't reduce */
}

/* Center nav in the space between logo and search/call/button (desktop only) */
@media (min-width: 1088px) {
	header .wp-block-navigation {
		flex: 1 1 auto !important;
		min-width: 0;
		display: flex !important;
		justify-content: center !important;
	}
	header .wp-block-navigation .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: flex !important;
		justify-content: center !important;
		width: 100%;
	}
	header .wp-block-navigation .wp-block-navigation__container {
		justify-content: center !important;
	}
}

/* ==========================================================================
   Homepage header – hide logo, move nav links to left edge
   ========================================================================== */

body.home header .wp-block-site-logo {
	display: none !important;
}

/* Preserve header height (logo was 57px) */
body.home header .wp-block-uagb-container.uagb-is-root-container,
body.home header .uagb-container-inner-block {
	min-height: 57px !important;
}

/* Home (no logo, desktop only): nav left, search/call/button right */
@media (min-width: 1088px) {
	body.home header .uagb-container-inner-block,
	body.home header .uagb-container-inner-blocks-wrap {
		justify-content: flex-start !important;
	}
	body.home header .uagb-container-inner-block .wp-block-navigation,
	body.home header .uagb-container-inner-blocks-wrap .wp-block-navigation {
		margin-left: 0 !important;
		margin-right: 0 !important;
		flex: 0 0 auto !important;
		justify-content: flex-start !important;
	}
	body.home header .wp-block-navigation .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		justify-content: flex-start !important;
	}
	body.home header .wp-block-navigation .wp-block-navigation__container {
		justify-content: flex-start !important;
	}
	/* First mega trigger: flush with content by default; hover/focus restores left pad into outer space (no label jump). */
	body.home header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child {
		padding-left: 0 !important;
		margin-left: 0 !important;
	}
	body.home header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child:hover,
	body.home header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child:focus-within {
		margin-left: -0.5em !important;
		padding-left: 0.5em !important;
	}
	body.home header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation-item__content,
	body.home header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > a.wp-block-navigation-item__content,
	body.home header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation-submenu__toggle {
		padding-left: 0 !important;
	}
	body.home header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .tpr-parent-menu-mega-3col {
		padding-left: 0 !important;
		margin-left: 0 !important;
	}
	body.home header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .tpr-parent-menu-mega-3col:hover,
	body.home header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .tpr-parent-menu-mega-3col:focus-within {
		margin-left: -0.5em !important;
		padding-left: 0.5em !important;
	}
	body.home header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .tpr-parent-menu-mega-3col > .wp-block-navigation-item__content,
	body.home header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .tpr-parent-menu-mega-3col > .wp-block-navigation-submenu__toggle {
		padding-left: 0 !important;
	}
	/* Push search/call/button group to the right */
	body.home header .wp-block-search.wp-block-search__button-only {
		margin-left: auto !important;
	}
}

/* Fix search/phone overlap: reset negative margins, add gap (no logo = more space) */
body.home header .wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden {
	margin-right: 0 !important;
}

body.home header a[href^="tel:"] {
	margin-left: 0 !important;
}

body.home header .uagb-container-inner-block,
body.home header .uagb-wrap {
	gap: 0.75rem !important;
}

/* Non-home (logo visible): fix search/phone overlap – reset negative margins, add gap */
body:not(.home) header .wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden {
	margin-right: 0 !important;
}

body:not(.home) header a[href^="tel:"] {
	margin-left: 0 !important;
}

body:not(.home) header .uagb-container-inner-block,
body:not(.home) header .uagb-wrap {
	gap: 0.75rem !important;
}

/* When search is expanded: hide nav, call, get started – search replaces them (uses :has() so no JS dependency) */
header:has(.wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden)) .wp-block-navigation,
.wp-block-template-part:has(.wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden)) .wp-block-navigation {
	display: none !important;
}

header:has(.wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden)) .wp-block-buttons,
.wp-block-template-part:has(.wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden)) .wp-block-buttons {
	display: none !important;
}

header:has(.wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden)) a[href^="tel:"],
.wp-block-template-part:has(.wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden)) a[href^="tel:"] {
	display: none !important;
}

/* Search block grows to fill freed space */
header:has(.wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden)) .wp-block-search.wp-block-search__button-only,
.wp-block-template-part:has(.wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden)) .wp-block-search.wp-block-search__button-only {
	flex: 1 !important;
	min-width: 0;
}

/* Ensure flex layout so search can grow – target common header row structures (UAGB, Spectra) */
header:has(.wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden)) .uagb-container-inner-block,
header:has(.wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden)) .uagb-wrap,
header:has(.wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden)) .swt-block-row,
.wp-block-template-part:has(.wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden)) .uagb-container-inner-block,
.wp-block-template-part:has(.wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden)) .uagb-wrap,
.wp-block-template-part:has(.wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden)) .swt-block-row {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center;
}

/* Collapsed: no gap between search icon and call icon (homepage only; non-home needs gap to prevent overlap) */
body.home header:has(.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden) .uagb-container-inner-block,
body.home header:has(.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden) .uagb-wrap,
body.home header:has(.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden) .wp-block-group,
body.home header:has(.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden) .swt-block-row,
body.home .wp-block-template-part:has(.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden) .uagb-container-inner-block,
body.home .wp-block-template-part:has(.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden) .uagb-wrap {
	gap: 0 !important;
}

/* Collapsed: negative margins to pull search and call icon together */
header .wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden {
	margin-right: -1.5rem !important;
}

header:has(.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden) a[href^="tel:"],
header:has(.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden) .wp-block-navigation a[href^="tel:"] {
	margin-left: -1rem !important;
}

/* Mobile overlay: the above -1rem is intended for the desktop header row; inside the mobile nav actions
   (cloned buttons prepended to the overlay), the phone link should not be pulled left. Selector must
   out-specify the :has() rule above (5 classes), so match the full overlay path. */
@media (max-width: 1087px) {
	header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .tpr-mobile-nav-actions a[href^="tel:"] {
		margin-left: 0 !important;
	}
}

/* Mobile: reset negative margins – they push header elements off-screen on narrow viewports */
@media (max-width: 767px) {
	header .wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden {
		margin-right: 0 !important;
	}
	header:has(.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden) a[href^="tel:"],
	header:has(.wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden) .wp-block-navigation a[href^="tel:"] {
		margin-left: 0 !important;
	}
	/* Ensure header row wraps and fits viewport; apply 90% content width to match page. No internal
	   padding so the hamburger's right edge lines up with the 90% content column's right edge. */
	header .uagb-container-inner-block,
	header .uagb-container-inner-blocks-wrap {
		min-width: 0 !important;
		max-width: 90% !important;
		width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
	}
}

/* Collapsed: button has no background, just the icon (white) */
header .wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__button {
	background: none !important;
	border: none !important;
	color: currentColor;
	padding: 0.5rem;
}

/* Prevent search icon clipping: ensure search form/button never clip the icon */
header .wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden,
header .wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper,
header .wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__button {
	overflow: visible !important;
}

header .wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__button:hover {
	background: none !important;
	opacity: 0.85;
}

/* Expanded: form fills space, pill, no outline. Same height as Let's get started button to avoid logo shift */
header .wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden) {
	position: relative;
	z-index: 100;
	display: flex;
	align-items: center;
	padding: 0;
	height: 2.75rem;
	flex: 1;
	min-width: 0;
}

header .wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden) .wp-block-search__inside-wrapper {
	width: 100%;
	height: 2.75rem;
	min-width: 0;
	border-radius: 999px;
	background: var(--wp--preset--color--background, #fff);
	border: none;
	outline: none;
	/* Match right padding to top/bottom: (2.75 - 2.5) / 2 = 0.125rem around the circle */
	padding: 0.125rem 0.125rem 0.125rem 1rem;
	display: flex;
	align-items: center;
	gap: 0.75rem;
	box-shadow: none;
}

header .wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden) .wp-block-search__input {
	flex: 1;
	min-width: 0;
	padding: 0 0.5rem;
	border: none;
	border-radius: 0;
	font-size: 14px;
	outline: none;
}

header .wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden) .wp-block-search__input:focus {
	outline: none;
	box-shadow: none;
}

/* Close button (injected by JS) – only visible when expanded, color #0F2902 */
header .wp-block-search.wp-block-search__searchfield-hidden .tpr-search-close {
	display: none !important;
}

header .wp-block-search:not(.wp-block-search__searchfield-hidden) .tpr-search-close {
	display: flex;
}

header .tpr-search-close {
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	padding: 0;
	border: none;
	background: none;
	color: #0F2902;
	cursor: pointer;
	border-radius: 50%;
	flex-shrink: 0;
}

header .tpr-search-close:hover {
	background: rgba(15, 41, 2, 0.1);
}

header .tpr-search-close .tpr-search-close-icon,
header .tpr-search-close svg {
	width: 1.25rem;
	height: 1.25rem;
}

/* Search button when expanded: lime circle, dark icon. Hover: circle #0F2902, icon white */
header .wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden) .wp-block-search__button {
	width: 2.5rem;
	height: 2.5rem;
	min-width: 2.5rem;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: #D2FC51;
	color: #0F2902;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s ease, color 0.2s ease;
}

header .wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden) .wp-block-search__button:hover {
	background: #0F2902;
	color: #fff;
}

header .wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden) .wp-block-search__button .search-icon,
header .wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden) .wp-block-search__button svg {
	width: 1.15rem;
	height: 1.15rem;
	fill: #0F2902;
}

header .wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden) .wp-block-search__button:hover .search-icon,
header .wp-block-search.wp-block-search__button-only:not(.wp-block-search__searchfield-hidden) .wp-block-search__button:hover svg {
	fill: #fff;
}

/* ==========================================================================
   Header dark mode (ACF header_dark = yes): nav links, search, call icons #0F2902
   ========================================================================== */

body.tpr-header-dark header .wp-block-navigation-item__content,
body.tpr-header-dark header .wp-block-navigation a,
body.tpr-header-dark header .wp-block-navigation .wp-block-navigation-item__label {
	color: #0F2902 !important;
}

/* Main nav dropdown arrow only (not dropdown menu text – that stays white) */
body.tpr-header-dark header .wp-block-navigation .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-icon,
body.tpr-header-dark header .wp-block-navigation .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-icon svg {
	color: #0F2902 !important;
	fill: #0F2902 !important;
}

/* Dropdown menu text: keep white (override main nav colour above) */
body.tpr-header-dark header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
body.tpr-header-dark header .wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__label,
body.tpr-header-dark header .wp-block-navigation .wp-block-navigation__submenu-container a {
	color: #fff !important;
}

/* Standard (single-panel) header nav dropdowns — inset links from panel edge; excludes mega + multi-column triggers.
 * Must stack above the trigger ::after hover bridge (z-index 1000008) or the bridge paints over the first links (same top:100% band). Mega panels use 1000020 — match that here. */
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:not(:first-child):not(.tpr-parent-menu-mega-3col):not(.tpr-mega-menu-2col):not(.tpr-mega-menu-3col) > .wp-block-navigation__submenu-container,
header .wp-block-navigation:not(.tpr-mega-menu) .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container {
	padding: 20px !important;
	box-sizing: border-box !important;
	z-index: 1000020 !important;
	box-shadow: none !important;
}
/* Align with green tab: li ::before uses left:-0.5em of the li font-size. Submenu uses 1rem so we read the live inset from --tpr-nav-item-inset (set by positionMegaPanels() per li). Fallback = 7px (= 0.5 * 14px). */
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:not(:first-child):not(.tpr-parent-menu-mega-3col):not(.tpr-mega-menu-2col):not(.tpr-mega-menu-3col) > .wp-block-navigation__submenu-container {
	left: calc(var(--tpr-nav-item-inset, 7px) * -1) !important;
	right: auto !important;
	inset-inline-start: calc(var(--tpr-nav-item-inset, 7px) * -1) !important;
	inset-inline-end: auto !important;
	transform: none !important;
	font-size: 1rem !important;
	/* Slight overlap under tab row to kill subpixel seam (same idea as mega top -2px). */
	margin-top: -2px !important;
	border-top: 0 !important;
	outline: 0 !important;
}
body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:not(:first-child):not(.tpr-parent-menu-mega-3col):not(.tpr-mega-menu-2col):not(.tpr-mega-menu-3col) > .wp-block-navigation__submenu-container {
	left: calc(var(--tpr-nav-item-inset, 7px) * -1) !important;
	inset-inline-start: calc(var(--tpr-nav-item-inset, 7px) * -1) !important;
}
header .wp-block-navigation:not(.tpr-mega-menu) .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container {
	left: -1.25em !important;
	right: auto !important;
	inset-inline-end: auto !important;
	transform: none !important;
	margin-top: -1px !important;
	border-top: 0 !important;
	outline: 0 !important;
}

/* Standard dropdowns only (not mega / 2–3 col): lime link hover */
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:not(:first-child):not(.tpr-parent-menu-mega-3col):not(.tpr-mega-menu-2col):not(.tpr-mega-menu-3col) > .wp-block-navigation__submenu-container a:hover,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:not(:first-child):not(.tpr-parent-menu-mega-3col):not(.tpr-mega-menu-2col):not(.tpr-mega-menu-3col) > .wp-block-navigation__submenu-container a:hover .wp-block-navigation-item__label,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:not(:first-child):not(.tpr-parent-menu-mega-3col):not(.tpr-mega-menu-2col):not(.tpr-mega-menu-3col) > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:not(:first-child):not(.tpr-parent-menu-mega-3col):not(.tpr-mega-menu-2col):not(.tpr-mega-menu-3col) > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:not(:first-child):not(.tpr-parent-menu-mega-3col):not(.tpr-mega-menu-2col):not(.tpr-mega-menu-3col) > .wp-block-navigation__submenu-container button.wp-block-navigation-item__content:hover,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:not(:first-child):not(.tpr-parent-menu-mega-3col):not(.tpr-mega-menu-2col):not(.tpr-mega-menu-3col) > .wp-block-navigation__submenu-container button.wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
header .wp-block-navigation:not(.tpr-mega-menu) .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container a:hover,
header .wp-block-navigation:not(.tpr-mega-menu) .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container a:hover .wp-block-navigation-item__label,
header .wp-block-navigation:not(.tpr-mega-menu) .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
header .wp-block-navigation:not(.tpr-mega-menu) .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
header .wp-block-navigation:not(.tpr-mega-menu) .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container button.wp-block-navigation-item__content:hover,
header .wp-block-navigation:not(.tpr-mega-menu) .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-container button.wp-block-navigation-item__content:hover .wp-block-navigation-item__label {
	color: #D2FC51 !important;
}

/* Dark header: strip UAGB / block gradient on the header row so transparent header + hero read cleanly */
body.tpr-header-dark header .wp-block-uagb-container.uagb-is-root-container {
	background-image: none !important;
	background: transparent !important;
}

/* ==========================================================================
   TPR mega menu
   ========================================================================== */
/* Prevent page scroll when mega menu is open – keeps header visible (JS adds .tpr-mega-menu-open; :has fallback for trigger hover) */
body.tpr-mega-menu-open,
body:has(header .tpr-parent-menu-mega-3col:hover),
body:has(header .tpr-parent-menu-mega-3col:focus-within),
body:has(header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child:hover),
body:has(header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child:focus-within) {
	overflow: hidden !important;
}
html.tpr-mega-menu-open {
	overflow: hidden !important;
}
/*
 * Mega panel horizontal placement: footer JS sets --tpr-mega-3col-* on :root from the main mega <li>;
 * each top-level li.tpr-mega-menu-2col gets its own --tpr-mega-2col-* (inherited by its fixed submenu).
 * Fallbacks match pre-JS layout.
 */
:root {
	--tpr-mega-3col-left: 5%;
	--tpr-mega-3col-panel-width: 90%;
	--tpr-mega-2col-left: 50%;
	--tpr-mega-2col-tx: -50%;
	--tpr-mega-2col-panel-max: 820px;
}

header .wp-block-navigation.tpr-mega-menu {
	position: relative;
	overflow: visible !important;
}
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container {
	overflow: visible !important;
}
header:has(.tpr-parent-menu-mega-3col:hover) .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container,
header:has(.tpr-parent-menu-mega-3col:focus-within) .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container,
header:has(.wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:hover) .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container,
header:has(.wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:focus-within) .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container {
	overflow: visible !important;
}

/* Structural fallback: first top-level dropdown in .tpr-mega-menu gets mega panel (in case class is missing from li).
 * --tpr-header-height is set by JS from actual header container height (see functions.php). */
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container {
	position: fixed !important;
	left: calc(var(--tpr-mega-3col-left, 5%) - 1px) !important;
	right: auto !important;
	width: var(--tpr-mega-3col-panel-width, 90%) !important;
	min-width: 0 !important;
	max-width: min(90vw, var(--tpr-mega-3col-panel-width, 90%)) !important;
	top: calc(var(--tpr-header-height, 57px) - 2px) !important;
	max-height: calc(100vh - var(--tpr-header-height, 57px) - 2rem) !important;
	overflow-x: hidden !important;
	overflow-y: hidden !important;
	/* Above trigger ::after hover bridge (1000008) so column borders aren’t covered when nav is centered (non-home + logo) */
	z-index: 1000020 !important; /* Above sticky CTA bar (z-index 999999) and all form dropdowns */
	display: grid !important;
	/* minmax(0, …) lets tracks shrink so long middle-column labels wrap instead of overlapping the divider */
	/* Col1 = intrinsic width of “areas” (no wide empty track); cols 2–3 share remaining space */
	grid-template-columns: minmax(0, max-content) minmax(0, 1fr) minmax(0, 1fr) !important;
	align-items: stretch !important;
	grid-auto-flow: row !important;
	list-style: none !important;
	margin: 0 !important;
	/* Top spacing lives on each > li so column borders run from the top of the panel (ul padding-top would leave a green band above the rules). */
	padding: 0 2rem 1.5rem !important;
	box-sizing: border-box !important;
	background: #0F2902 !important;
	font-size: 1rem !important;
	border-top: none !important;
	box-shadow: none !important;
	/* Closed: must not sit above another open fixed mega (Events 2-col is later in DOM, same z-index). */
	pointer-events: none !important;
}
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li {
	border-right: 1px solid rgba(255, 255, 255, 0.4);
	min-width: 0 !important;
	max-width: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	align-self: stretch !important;
	list-style: none !important;
	margin: 0 !important;
	margin-top: 0 !important;
	margin-bottom: -1.5rem !important;
	/* 1.1rem clears tab row; 0.5rem matches previous total under ul+li split */
	padding: calc(1.1rem + 0.5rem) 1rem 1.5rem !important;
	box-sizing: border-box !important;
}
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:not(:last-child) {
	border-right: 1px solid rgba(255, 255, 255, 0.4) !important;
}
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:last-child {
	border-right: none !important;
}
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child:hover > .wp-block-navigation__submenu-container,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child:focus-within > .wp-block-navigation__submenu-container {
	height: auto !important;
	min-height: 0 !important;
	max-height: calc(100vh - var(--tpr-header-height, 57px) - 2rem) !important;
	visibility: visible !important;
	width: var(--tpr-mega-3col-panel-width, 90%) !important;
	min-width: 0 !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container .has-child > .wp-block-navigation__submenu-container {
	position: static !important;
	display: block !important;
	width: 100% !important;
	margin-top: 0.08em !important;
	padding-left: 0 !important;
	align-self: flex-start !important;
}
/* Col 2 vs col 3: never use li:nth-child(n+2) for align-items — it is more specific than body header … li:nth-child(2) and
 * forced flex-start on Industries, undoing column stretch (core submenu row + link flex-grow looked like “list on the right”). */
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(2) {
	justify-content: flex-start !important;
	align-content: flex-start !important;
	align-items: stretch !important;
	align-self: stretch !important;
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	min-width: 0 !important;
}
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(3) {
	justify-content: flex-start !important;
	align-content: flex-start !important;
	align-items: flex-start !important;
	align-self: stretch !important;
}
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(n+2) > a,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(n+2) > .wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(n+2) > button.wp-block-navigation-item__content {
	flex-grow: 0 !important;
	flex-shrink: 1 !important;
	min-width: 0 !important;
	max-width: 100% !important;
	overflow-wrap: break-word !important;
	white-space: normal !important;
}
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(n+2) > .wp-block-navigation__submenu-container {
	flex-grow: 0 !important;
	flex-shrink: 1 !important;
	align-self: stretch !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin-top: 0.08em !important;
}
/* Col 2–3 horizontal inset: mega-menu-overrides.css (resources col3 = 50px from divider) */
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle {
	display: none !important;
}
/* First column (areas we service): 3 sub-columns in structural fallback */
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:first-child > .wp-block-navigation__submenu-container {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(140px, 1fr)) !important;
	grid-auto-flow: row !important;
}
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:first-child > .wp-block-navigation__submenu-container > li {
	min-width: 140px !important;
	align-self: start !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
}

.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container {
	position: fixed !important;
	left: calc(var(--tpr-mega-3col-left, 5%) - 1px) !important;
	right: auto !important;
	width: var(--tpr-mega-3col-panel-width, 90%) !important;
	min-width: 0 !important;
	max-width: min(90vw, var(--tpr-mega-3col-panel-width, 90%)) !important;
	top: calc(var(--tpr-header-height, 57px) - 2px) !important;
	max-height: calc(100vh - var(--tpr-header-height, 57px) - 2rem) !important;
	overflow-x: hidden !important;
	border-top: none !important;
	box-shadow: none !important;
}
/* Admin bar: when logged in, push mega menu down so it sits below the admin bar (32px desktop, 46px ≤782px) */
body.admin-bar header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container,
body.admin-bar .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container,
body.admin-bar header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container {
	top: calc(32px + var(--tpr-header-height, 57px) - 2px) !important;
	max-height: calc(100vh - 32px - var(--tpr-header-height, 57px) - 2rem) !important;
}
body.admin-bar header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child:hover > .wp-block-navigation__submenu-container,
body.admin-bar header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child:focus-within > .wp-block-navigation__submenu-container,
body.admin-bar .tpr-parent-menu-mega-3col:hover > .wp-block-navigation__submenu-container,
body.admin-bar .tpr-parent-menu-mega-3col:focus-within > .wp-block-navigation__submenu-container {
	max-height: calc(100vh - 32px - var(--tpr-header-height, 57px) - 2rem) !important;
}
@media screen and (max-width: 782px) {
	body.admin-bar header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container,
	body.admin-bar .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container,
	body.admin-bar header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container {
		top: calc(46px + var(--tpr-header-height, 57px) - 2px) !important;
		max-height: calc(100vh - 46px - var(--tpr-header-height, 57px) - 2rem) !important;
	}
	body.admin-bar header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child:hover > .wp-block-navigation__submenu-container,
	body.admin-bar header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child:focus-within > .wp-block-navigation__submenu-container,
	body.admin-bar .tpr-parent-menu-mega-3col:hover > .wp-block-navigation__submenu-container,
	body.admin-bar .tpr-parent-menu-mega-3col:focus-within > .wp-block-navigation__submenu-container {
		max-height: calc(100vh - 46px - var(--tpr-header-height, 57px) - 2rem) !important;
	}
}
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container {
	overflow-x: hidden !important;
	overflow-y: hidden !important;
	/* Same stacking as structural fallback above — panel must sit above trigger ::after bridge */
	z-index: 1000020 !important; /* Above sticky CTA bar (z-index 999999) and all form dropdowns */
	display: grid !important;
	grid-template-columns: minmax(0, max-content) minmax(0, 1fr) minmax(0, 1fr) !important;
	align-items: stretch !important;
	grid-auto-flow: row !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 2rem 1.5rem !important;
	box-sizing: border-box !important;
	background: #0F2902 !important;
	font-size: 1rem !important;
	border-top: none !important;
	box-shadow: none !important;
	pointer-events: none !important;
}
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li {
	border-right: 1px solid rgba(255, 255, 255, 0.4);
	min-width: 0 !important;
	max-width: 100% !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	align-self: stretch !important;
	list-style: none !important;
	margin: 0 !important;
	margin-top: 0 !important;
	margin-bottom: -1.5rem !important;
	padding: calc(1.1rem + 0.5rem) 1rem 1.5rem !important;
	box-sizing: border-box !important;
}
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:not(:last-child) {
	border-right: 1px solid rgba(255, 255, 255, 0.4) !important;
}
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:last-child {
	border-right: none !important;
}
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li > .wp-block-navigation__submenu-container {
	position: static !important;
	display: block !important;
	width: 100% !important;
	margin-top: 0.08em !important;
	padding-left: 0 !important;
}
.tpr-parent-menu-mega-3col:hover > .wp-block-navigation__submenu-container,
.tpr-parent-menu-mega-3col:focus-within > .wp-block-navigation__submenu-container {
	height: auto !important;
	min-height: 0 !important;
	max-height: calc(100vh - var(--tpr-header-height, 57px) - 2rem) !important;
	overflow-x: hidden !important;
	overflow-y: hidden !important;
	visibility: visible !important;
	width: var(--tpr-mega-3col-panel-width, 90%) !important;
	min-width: 0 !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}
/* Top-level nav parents with submenus: #0F2902 tab + lime squiggle (same treatment as mega trigger).
 * Desktop horizontal padding lives on li.wp-block-navigation-item (≥1088px) so hover does not reflow; ::before / ::after only on hover. */
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child {
	position: relative;
	display: flex !important;
	align-items: center !important;
	gap: 0 !important;
	padding: 0 !important;
}
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:hover,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:focus-within {
	background: transparent !important;
}
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:hover::before,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:focus-within::before {
	content: "";
	position: absolute !important;
	top: -100px !important;
	left: -0.5em !important;
	right: -0.5em !important;
	bottom: 0 !important;
	background: #0F2902 !important;
	z-index: -1 !important;
}
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:hover > .wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:focus-within > .wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:hover > a.wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:focus-within > a.wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:hover > .wp-block-navigation-submenu__toggle,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:focus-within > .wp-block-navigation-submenu__toggle {
	background: transparent !important;
}
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:hover > .wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:focus-within > .wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:hover > a.wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:focus-within > a.wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:hover > .wp-block-navigation-submenu__toggle,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:focus-within > .wp-block-navigation-submenu__toggle,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:hover > .wp-block-navigation-item__content .wp-block-navigation-item__label,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:focus-within > .wp-block-navigation-item__content .wp-block-navigation-item__label,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:hover > a .wp-block-navigation-item__label,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:focus-within > a .wp-block-navigation-item__label,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:hover > .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:focus-within > .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label {
	color: #fff !important;
}
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:hover .wp-block-navigation__submenu-icon,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:focus-within .wp-block-navigation__submenu-icon,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:hover .wp-block-navigation__submenu-icon svg,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:focus-within .wp-block-navigation__submenu-icon svg {
	color: #fff !important;
	stroke: #fff !important;
	fill: none !important;
}
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:hover::after,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:focus-within::after {
	content: "";
	position: absolute !important;
	top: 100% !important;
	bottom: auto !important;
	left: -0.5em !important;
	right: -0.5em !important;
	height: 50px !important;
	background: #0F2902 !important;
	z-index: 1000008 !important;
	pointer-events: auto !important;
}

/* Desktop: stop the header flex “stretch” chain + beat core’s --navigation-layout-align on inner wrappers.
 * Top-level <li> uses the same padding at rest as the hover tab so labels do not jump; only colour + ::before / ::after change on hover.
 * --tpr-nav-tab-pad-x keeps padding and compensating negative margin in sync (overlap neighbours without reflow). */
@media (min-width: 1088px) {
	body header .wp-block-navigation.tpr-mega-menu {
		--navigation-layout-align: center !important;
		align-items: center !important;
		align-self: center !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		--navigation-layout-align: center !important;
		align-items: center !important;
		align-self: center !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-dialog {
		align-self: center !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-content {
		--navigation-layout-align: center !important;
		align-items: center !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container {
		--tpr-nav-tab-pad-x: 0.5em;
		--navigation-layout-align: center !important;
		align-items: center !important;
		height: auto !important;
		min-height: 0 !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.wp-block-navigation-item {
		display: flex !important;
		align-items: center !important;
		height: auto !important;
		max-height: none !important;
		box-sizing: border-box !important;
		padding: 0.5em var(--tpr-nav-tab-pad-x, 0.5em) !important;
		margin-inline: calc(-1 * var(--tpr-nav-tab-pad-x, 0.5em)) !important;
	}
	/* Do not pull first tab under the logo or last tab into search/phone/CTA */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.wp-block-navigation-item:first-child {
		margin-inline-start: 0 !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.wp-block-navigation-item:last-child {
		margin-inline-end: 0 !important;
	}
}
.tpr-parent-menu-mega-3col {
	position: relative;
}
/* Desktop tabs only: flex row + tab padding (overlay rows use .wp-block-navigation__container > li padding). */
@media (min-width: 1088px) {
	.tpr-parent-menu-mega-3col {
		display: flex !important;
		align-items: center !important;
		gap: 0 !important;
		padding: 0.5em 0.5em !important;
	}
}
.tpr-parent-menu-mega-3col:hover,
.tpr-parent-menu-mega-3col:focus-within {
	background: transparent !important;
}
.tpr-parent-menu-mega-3col:hover::before,
.tpr-parent-menu-mega-3col:focus-within::before {
	content: "";
	position: absolute !important;
	top: -100px !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	background: #0F2902 !important;
	z-index: -1 !important;
}
.tpr-parent-menu-mega-3col:hover > .wp-block-navigation-item__content,
.tpr-parent-menu-mega-3col:focus-within > .wp-block-navigation-item__content,
.tpr-parent-menu-mega-3col:hover > a.wp-block-navigation-item__content,
.tpr-parent-menu-mega-3col:focus-within > a.wp-block-navigation-item__content,
.tpr-parent-menu-mega-3col:hover > .wp-block-navigation-submenu__toggle,
.tpr-parent-menu-mega-3col:focus-within > .wp-block-navigation-submenu__toggle {
	background: transparent !important;
}
.tpr-parent-menu-mega-3col:hover > .wp-block-navigation-item__content,
.tpr-parent-menu-mega-3col:focus-within > .wp-block-navigation-item__content,
.tpr-parent-menu-mega-3col:hover > a .wp-block-navigation-item__label,
.tpr-parent-menu-mega-3col:focus-within > a .wp-block-navigation-item__label,
.tpr-parent-menu-mega-3col:hover > .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label,
.tpr-parent-menu-mega-3col:focus-within > .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label,
.tpr-parent-menu-mega-3col:hover > .wp-block-navigation-item__content .wp-block-navigation-item__label,
.tpr-parent-menu-mega-3col:focus-within > .wp-block-navigation-item__content .wp-block-navigation-item__label {
	color: #fff !important;
}
.tpr-parent-menu-mega-3col:hover > .wp-block-navigation-submenu__toggle,
.tpr-parent-menu-mega-3col:focus-within > .wp-block-navigation-submenu__toggle,
.tpr-parent-menu-mega-3col:hover > a.wp-block-navigation-item__content,
.tpr-parent-menu-mega-3col:focus-within > a.wp-block-navigation-item__content {
	color: #fff !important;
}
.tpr-parent-menu-mega-3col:hover .wp-block-navigation__submenu-icon,
.tpr-parent-menu-mega-3col:focus-within .wp-block-navigation__submenu-icon,
.tpr-parent-menu-mega-3col:hover .wp-block-navigation__submenu-icon svg,
.tpr-parent-menu-mega-3col:focus-within .wp-block-navigation__submenu-icon svg {
	color: #fff !important;
	stroke: #fff !important;
	fill: none !important;
}
.tpr-parent-menu-mega-3col:hover::after,
.tpr-parent-menu-mega-3col:focus-within::after {
	content: "";
	position: absolute !important;
	top: 100% !important;
	bottom: auto !important;
	left: 0 !important;
	right: 0 !important;
	height: 50px !important;
	background: #0F2902 !important;
	z-index: 1000008 !important;
	pointer-events: auto !important;
}
/* Align all nav links: add same padding-bottom to siblings so mega trigger (with squiggle) doesn't sit higher */
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .wp-block-navigation-item > a,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child > .wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child > .wp-block-navigation-submenu__toggle {
	padding-bottom: 0.35em !important;
}
/* Chevron: center vertically with link text (override core margin-top that pushes it down) */
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-icon {
	display: inline-flex !important;
	align-items: center !important;
}
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-icon svg {
	margin-top: 0 !important;
	vertical-align: middle !important;
}
/* Squiggle SVG line under top-level submenu triggers (lime #D2FC51) */
.tpr-parent-menu-mega-3col > .wp-block-navigation-item__content,
.tpr-parent-menu-mega-3col > .wp-block-navigation-submenu__toggle,
.tpr-parent-menu-mega-3col > a.wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child > .wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child > a.wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child > .wp-block-navigation-submenu__toggle {
	position: relative;
}
.tpr-parent-menu-mega-3col:hover > .wp-block-navigation-item__content::before,
.tpr-parent-menu-mega-3col:focus-within > .wp-block-navigation-item__content::before,
.tpr-parent-menu-mega-3col:hover > .wp-block-navigation-submenu__toggle::before,
.tpr-parent-menu-mega-3col:focus-within > .wp-block-navigation-submenu__toggle::before,
.tpr-parent-menu-mega-3col:hover > a.wp-block-navigation-item__content::before,
.tpr-parent-menu-mega-3col:focus-within > a.wp-block-navigation-item__content::before,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:hover > .wp-block-navigation-item__content::before,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:focus-within > .wp-block-navigation-item__content::before,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:hover > a.wp-block-navigation-item__content::before,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:focus-within > a.wp-block-navigation-item__content::before,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:hover > .wp-block-navigation-submenu__toggle::before,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:focus-within > .wp-block-navigation-submenu__toggle::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	min-height: 6px;
	aspect-ratio: 491 / 6;
	background-color: #D2FC51;
	mask-image: var(--tpr-squiggle-url, url("../images/squiggle-underline.svg"));
	-webkit-mask-image: var(--tpr-squiggle-url, url("../images/squiggle-underline.svg"));
	mask-size: 100% 100%;
	-webkit-mask-size: 100% 100%;
	mask-position: left bottom;
	-webkit-mask-position: left bottom;
	mask-repeat: no-repeat;
	-webkit-mask-repeat: no-repeat;
	pointer-events: none;
	z-index: 1;
}
.tpr-mega-menu .tpr-menu-italic-heading > .wp-block-navigation-item__content,
.tpr-mega-menu .tpr-menu-italic-heading > a .wp-block-navigation-item__label,
.tpr-mega-menu .tpr-menu-italic-heading > a .wp-block-navigation-item__content,
.tpr-mega-menu .tpr-menu-italic-heading > a,
.tpr-mega-menu .tpr-menu-italic-heading > button .wp-block-navigation-item__label,
.tpr-mega-menu .tpr-menu-italic-heading > button.wp-block-navigation-item__content,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li.tpr-menu-italic-heading > a .wp-block-navigation-item__label,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li.tpr-menu-italic-heading > a,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li.tpr-menu-italic-heading > button .wp-block-navigation-item__label,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li.tpr-menu-italic-heading > button.wp-block-navigation-item__content {
	font-family: var(--typography-font-family-font-decorative, "Hamilton Script"), "Hamilton Script fallback", cursive !important;
	font-size: 30px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	text-transform: lowercase !important;
}

/* Script headings with no URL: rendered as span.tpr-nav-no-link (see tpr_navigation_link_span_when_no_url) — no link hover / cursor */
.tpr-mega-menu .tpr-menu-italic-heading > span.wp-block-navigation-item__content.tpr-nav-no-link,
.tpr-mega-menu .tpr-menu-italic-heading > span.wp-block-navigation-item__content.tpr-nav-no-link:hover,
.tpr-mega-menu .tpr-menu-italic-heading > span.wp-block-navigation-item__content.tpr-nav-no-link:focus,
.tpr-mega-menu .tpr-menu-italic-heading > span.wp-block-navigation-item__content.tpr-nav-no-link .wp-block-navigation-item__label,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li.tpr-menu-italic-heading > span.wp-block-navigation-item__content.tpr-nav-no-link:hover {
	cursor: default !important;
	pointer-events: none !important;
	color: inherit !important;
}

/* Italic headings: align left with links below, remove bottom padding */
.tpr-mega-menu .tpr-menu-italic-heading > .wp-block-navigation-item__content,
.tpr-mega-menu .tpr-menu-italic-heading > a,
.tpr-mega-menu .tpr-menu-italic-heading > .wp-block-navigation-submenu__toggle,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li.tpr-menu-italic-heading > .wp-block-navigation-item__content,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li.tpr-menu-italic-heading > a,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li.tpr-menu-italic-heading > .wp-block-navigation-submenu__toggle {
	padding-left: 0 !important;
	padding-bottom: 0 !important;
	margin-left: 0 !important;
}
.tpr-mega-menu .tpr-menu-italic-heading .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
.tpr-mega-menu .tpr-menu-italic-heading .wp-block-navigation__submenu-container .wp-block-navigation-item__label,
.tpr-mega-menu .tpr-menu-italic-heading .wp-block-navigation__submenu-container a {
	font-family: "Poppins", sans-serif !important;
	/* inherit followed a smaller nested-nav context (e.g. cities under “areas we service”) — use panel em so columns match */
	font-size: 1em !important;
	text-transform: none !important;
}
/* Only the direct submenu of .tpr-mega-menu-3col (e.g. under "areas we service") – do not match main panel. */
.tpr-mega-menu .tpr-mega-menu-3col > .wp-block-navigation__submenu-container {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(140px, 1fr)) !important;
	grid-auto-flow: row !important;
	min-width: 0;
	width: 100% !important;
	max-width: 100% !important;
	align-content: flex-start !important;
	justify-items: start !important;
	overflow: visible !important;
	align-self: flex-start !important;
}
/* Same layout as 3-col nested mega, two columns */
.tpr-mega-menu .tpr-mega-menu-2col > .wp-block-navigation__submenu-container {
	display: grid !important;
	/* Content-sized tracks + start alignment: avoids a 1fr first column reading as “space-between” columns */
	grid-template-columns: minmax(0, max-content) minmax(0, max-content) !important;
	grid-auto-flow: row !important;
	min-width: 0;
	width: 100% !important;
	max-width: 100% !important;
	align-content: start !important;
	justify-content: start !important;
	justify-items: start !important;
	overflow: visible !important;
	align-self: flex-start !important;
	font-size: 1rem !important;
}

/* Top-level 2-col mega (e.g. Events & Short Term): fixed; left edge aligned to tab via --tpr-mega-2col-* (JS) */
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container,
body .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container {
	display: grid !important;
	position: fixed !important;
	top: calc(var(--tpr-header-height, 57px) - 2px) !important;
	left: var(--tpr-mega-2col-left, 50%) !important;
	right: auto !important;
	transform: translateX(var(--tpr-mega-2col-tx, -50%)) !important;
	/* Shrink-wrap columns; cap width so it does not overflow the viewport */
	width: max-content !important;
	min-width: 0 !important;
	max-width: min(90vw, 90%, 820px, var(--tpr-mega-2col-panel-max, 820px)) !important;
	padding: 0 !important;
	font-size: 1rem !important;
	box-sizing: border-box !important;
	gap: 0 !important;
	grid-template-columns: minmax(0, max-content) minmax(0, max-content) !important;
	align-content: start !important;
	justify-content: start !important;
	justify-items: start !important;
	z-index: 1000020 !important;
	border-top: none !important;
	box-shadow: none !important;
	/* Same z-index as Office 3-col mega; later in DOM it would steal hovers while invisible — ignore hits until Events is active */
	pointer-events: none !important;
}
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col:hover > .wp-block-navigation__submenu-container,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col:focus-within > .wp-block-navigation__submenu-container,
body .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col:hover > .wp-block-navigation__submenu-container,
body .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col:focus-within > .wp-block-navigation__submenu-container {
	pointer-events: auto !important;
}
.tpr-mega-menu .tpr-mega-menu-3col > .wp-block-navigation__submenu-container > li {
	min-width: 140px !important;
	align-self: start !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
}
.tpr-mega-menu .tpr-mega-menu-2col > .wp-block-navigation__submenu-container > li {
	min-width: 0 !important;
	justify-self: start !important;
	margin-inline-start: 0 !important;
	margin-inline-end: 0 !important;
	align-self: stretch !important;
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: 0 !important;
	padding: 1.25rem 2rem !important;
	box-sizing: border-box !important;
}

/* Beat core .wp-block-navigation-submenu { display:flex } row — column stack so heading + list are not side-by-side */
.tpr-mega-menu .tpr-mega-menu-2col > .wp-block-navigation__submenu-container > li.wp-block-navigation-submenu {
	flex-direction: column !important;
	align-items: flex-start !important;
}

/* 2-col mega: prevent heading content from stretching (close the gap under "areas we service") */
.tpr-mega-menu .tpr-mega-menu-2col > .wp-block-navigation__submenu-container > li > .wp-block-navigation-item__content,
.tpr-mega-menu .tpr-mega-menu-2col > .wp-block-navigation__submenu-container > li > a.wp-block-navigation-item__content,
.tpr-mega-menu .tpr-mega-menu-2col > .wp-block-navigation__submenu-container > li > span.wp-block-navigation-item__content {
	flex: 0 0 auto !important;
	flex-grow: 0 !important;
	width: max-content !important;
	max-width: 100% !important;
}

/* Office mega col 1: core nav uses flex-grow:1 on item content — in a column flex parent that becomes vertical stretch under the script title */
header .wp-block-navigation.tpr-mega-menu .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:first-child li.tpr-menu-italic-heading > .wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:first-child li.tpr-menu-italic-heading > a.wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:first-child li.tpr-menu-italic-heading > span.wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:first-child li.tpr-menu-italic-heading > .wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:first-child li.tpr-menu-italic-heading > a.wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:first-child li.tpr-menu-italic-heading > span.wp-block-navigation-item__content {
	flex: 0 0 auto !important;
	flex-grow: 0 !important;
	width: max-content !important;
	max-width: 100% !important;
}
header .wp-block-navigation.tpr-mega-menu .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:first-child li.tpr-menu-italic-heading,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:first-child li.tpr-menu-italic-heading {
	gap: 0 !important;
}

.tpr-mega-menu .tpr-mega-menu-2col > .wp-block-navigation__submenu-container > li:first-child,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container > li:first-child,
.tpr-mega-menu ul.tpr-mega-menu-2col.wp-block-navigation__submenu-container > li:first-child {
	border-right: 1px solid rgba(255, 255, 255, 0.4) !important;
}
.tpr-mega-menu .tpr-mega-menu-2col > .wp-block-navigation__submenu-container > li:last-child,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container > li:last-child {
	/* Same horizontal padding as column 1 (from shared > li rule: 1.25rem 2rem) */
	width: max-content !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* 2-col: nested link lists must shrink-wrap (width:100% on these ul’s was inflating the max-content grid column) */
.tpr-mega-menu .tpr-mega-menu-2col > .wp-block-navigation__submenu-container > li.has-child > .wp-block-navigation__submenu-container,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container > li.has-child > .wp-block-navigation__submenu-container {
	width: max-content !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

/* Top-level "Events & Short Term" trigger: must not use font-size: inherit — it beat the 1088–1310px 11px rule (higher specificity) and pulled a larger em from ancestors. Bold 700 also read larger than siblings; match the rest of the bar. */
body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation-item__content,
body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > a.wp-block-navigation-item__content,
body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > button.wp-block-navigation-item__content,
body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation-submenu__toggle,
body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation-item__content > .wp-block-navigation-item__label,
body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > a.wp-block-navigation-item__content > .wp-block-navigation-item__label,
body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > button.wp-block-navigation-item__content > .wp-block-navigation-item__label,
body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation-submenu__toggle > .wp-block-navigation-item__label {
	font-family: "Poppins", sans-serif !important;
	font-style: normal !important;
	font-weight: inherit !important;
}

/* Hide dropdown arrows (chevrons) for sublinks inside the 3-col mega menu panel */
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle {
	display: none !important;
}

/* Stack sub-links under their parent: e.g. "New South Wales" below "areas we service".
 * Override core nav block's .wp-block-navigation-item { display: flex } (row) so content stacks. */
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container .wp-block-navigation-item.has-child,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container li.has-child {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	width: 100% !important;
}
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container .has-child > .wp-block-navigation__submenu-container {
	position: static !important;
	display: block !important;
	width: 100% !important;
	min-width: 0 !important;
	margin-top: 0.08em !important;
	padding-left: 0 !important;
	align-self: flex-start !important;
}

.tpr-mega-menu .tpr-mega-menu-3col .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
.tpr-mega-menu .tpr-mega-menu-2col .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
.tpr-mega-menu .tpr-mega-menu-1col .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
	display: block !important;
	height: auto !important;
	overflow: visible !important;
	visibility: visible !important;
	position: static !important;
	width: auto !important;
	min-width: 0 !important;
	opacity: 1 !important;
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}
/* Remove faint outline/border around sub-links in mega menu (theme/block defaults) */
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container .has-child > .wp-block-navigation__submenu-container,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container li .wp-block-navigation-item__content,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container li a,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container .has-child > .wp-block-navigation__submenu-container,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container li .wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container li a {
	border: none !important;
	outline: none !important;
	box-shadow: none !important;
}
.tpr-parent-menu-mega-3col:hover .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
.tpr-parent-menu-mega-3col:focus-within .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
	height: auto !important;
	overflow: visible !important;
	visibility: visible !important;
	width: auto !important;
	min-width: 0 !important;
	opacity: 1 !important;
}
.tpr-parent-menu-mega-3col:hover .has-child > .wp-block-navigation__submenu-container,
.tpr-parent-menu-mega-3col:focus-within .has-child > .wp-block-navigation__submenu-container {
	height: auto !important;
	overflow: visible !important;
	visibility: visible !important;
	width: auto !important;
	min-width: 0 !important;
	opacity: 1 !important;
}
.tpr-mega-menu .tpr-menu-sub-heading .wp-block-navigation-item__content,
.tpr-mega-menu .tpr-menu-sub-heading .wp-block-navigation-item__label,
.tpr-mega-menu .tpr-menu-sub-heading a {
	color: #fff !important;
	font-family: "Poppins", sans-serif !important;
	font-weight: 700 !important;
}
/* Location links (Sydney, Newcastle): reduce padding, align left with "areas we service" */
.tpr-mega-menu .tpr-menu-sub-heading > .wp-block-navigation-item__content,
.tpr-mega-menu .tpr-menu-sub-heading > a,
.tpr-mega-menu .tpr-menu-sub-heading .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container .tpr-menu-sub-heading > .wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container .tpr-menu-sub-heading .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding-left: 0 !important;
}
.tpr-mega-menu .tpr-menu-sub-heading .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container .tpr-menu-sub-heading .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.15em 0 !important;
}
.tpr-mega-menu .wp-block-navigation__submenu-container > li:not(.tpr-menu-sub-heading):not(.tpr-menu-italic-heading) .wp-block-navigation-item__content,
.tpr-mega-menu .wp-block-navigation__submenu-container > li:not(.tpr-menu-sub-heading):not(.tpr-menu-italic-heading) .wp-block-navigation-item__label,
.tpr-mega-menu .wp-block-navigation__submenu-container > li:not(.tpr-menu-sub-heading):not(.tpr-menu-italic-heading) a,
body.tpr-header-dark header .wp-block-navigation .tpr-mega-menu .wp-block-navigation__submenu-container > li:not(.tpr-menu-sub-heading):not(.tpr-menu-italic-heading) .wp-block-navigation-item__content,
body.tpr-header-dark header .wp-block-navigation .tpr-mega-menu .wp-block-navigation__submenu-container > li:not(.tpr-menu-sub-heading):not(.tpr-menu-italic-heading) .wp-block-navigation-item__label,
body.tpr-header-dark header .wp-block-navigation .tpr-mega-menu .wp-block-navigation__submenu-container > li:not(.tpr-menu-sub-heading):not(.tpr-menu-italic-heading) a {
	color: #879480 !important;
	font-family: "Poppins", sans-serif !important;
	font-weight: 400 !important;
}
body.tpr-header-dark header .wp-block-navigation .tpr-mega-menu .tpr-menu-sub-heading .wp-block-navigation-item__content,
body.tpr-header-dark header .wp-block-navigation .tpr-mega-menu .tpr-menu-sub-heading .wp-block-navigation-item__label,
body.tpr-header-dark header .wp-block-navigation .tpr-mega-menu .tpr-menu-sub-heading a {
	color: #fff !important;
	font-family: "Poppins", sans-serif !important;
	font-weight: 700 !important;
}
.tpr-mega-menu .tpr-mega-menu-1col > .wp-block-navigation__submenu-container {
	display: block !important;
	min-width: 0 !important;
	overflow: visible !important;
	flex-grow: 0 !important;
	flex-shrink: 1 !important;
	align-self: stretch !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-top: 0.08em !important;
}
/* Resources column li only — do not use bare .tpr-mega-menu-1col here: the nested <ul> also has that class and
 * picked up align-items/flex behaviour while core .wp-block-navigation-submenu kept row flex (links ran horizontally). */
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li.tpr-mega-menu-1col:nth-child(3) {
	justify-content: flex-start !important;
	align-content: flex-start !important;
	align-items: flex-start !important;
	align-self: stretch !important;
}
.tpr-mega-menu .tpr-mega-menu-1col > a,
.tpr-mega-menu .tpr-mega-menu-1col > .wp-block-navigation-item__content,
.tpr-mega-menu .tpr-mega-menu-1col > button.wp-block-navigation-item__content,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li.tpr-mega-menu-1col > a,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li.tpr-mega-menu-1col > .wp-block-navigation-item__content,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li.tpr-mega-menu-1col > button.wp-block-navigation-item__content {
	flex-grow: 0 !important;
	flex-shrink: 0 !important;
}
.tpr-mega-menu .tpr-mega-menu-1col > .wp-block-navigation__submenu-container,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li.tpr-mega-menu-1col > .wp-block-navigation__submenu-container {
	flex-grow: 0 !important;
	flex-shrink: 1 !important;
	align-self: stretch !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}
/* Links directly under script heading: minimal gap */
.tpr-mega-menu .tpr-mega-menu-1col > .wp-block-navigation__submenu-container,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li.tpr-mega-menu-1col > .wp-block-navigation__submenu-container {
	margin-top: 0.08em !important;
}
/* Col 2: flush to areas|industries divider; col 3: inset from industries|resources (border on col3) */
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li.tpr-mega-menu-1col:nth-child(2) {
	padding-left: 1.5rem !important;
	padding-right: 1rem !important;
}
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li.tpr-mega-menu-1col:nth-child(3) {
	padding-left: 50px !important;
}
.tpr-mega-menu .tpr-mega-menu-1col .wp-block-navigation-item__content,
.tpr-mega-menu .tpr-mega-menu-1col > a,
.tpr-mega-menu .tpr-mega-menu-1col > .wp-block-navigation__submenu-container,
.tpr-mega-menu .tpr-mega-menu-1col .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li.tpr-mega-menu-1col .wp-block-navigation-item__content,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li.tpr-mega-menu-1col > a,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li.tpr-mega-menu-1col .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding-left: 0 !important;
}
/* Middle & right mega columns: nested industry/resource links wrap within the track (avoid crossing the vertical rule) */
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(n+2) .wp-block-navigation__submenu-container,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(n+2) .wp-block-navigation__submenu-container {
	max-width: 100% !important;
	min-width: 0 !important;
}
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(n+2) .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(n+2) .wp-block-navigation__submenu-container a,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(n+2) .wp-block-navigation__submenu-container button.wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(n+2) .wp-block-navigation__submenu-container .wp-block-navigation-item__label,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(n+2) .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(n+2) .wp-block-navigation__submenu-container a,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(n+2) .wp-block-navigation__submenu-container button.wp-block-navigation-item__content,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(n+2) .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
	max-width: 100% !important;
	min-width: 0 !important;
	overflow-wrap: break-word !important;
	word-wrap: break-word !important;
	white-space: normal !important;
}
/* Column dividers: use main-panel > li rules + :not(:last-child); do not add border on .tpr-mega-menu-1col alone (would override :last-child on col 3) */

/* Mega menu: all links lime (#D2FC51) on hover */
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container a:hover,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container a:hover .wp-block-navigation-item__label,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container button.wp-block-navigation-item__content:hover,
.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container button.wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container a:hover,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container a:hover .wp-block-navigation-item__label,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container button.wp-block-navigation-item__content:hover,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container button.wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
.tpr-mega-menu .tpr-mega-menu-2col > .wp-block-navigation__submenu-container a:hover,
.tpr-mega-menu .tpr-mega-menu-2col > .wp-block-navigation__submenu-container a:hover .wp-block-navigation-item__label,
.tpr-mega-menu .tpr-mega-menu-2col > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.tpr-mega-menu .tpr-mega-menu-2col > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
.tpr-mega-menu .tpr-mega-menu-2col > .wp-block-navigation__submenu-container button.wp-block-navigation-item__content:hover,
.tpr-mega-menu .tpr-mega-menu-2col > .wp-block-navigation__submenu-container button.wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container a:hover,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container a:hover .wp-block-navigation-item__label,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container button.wp-block-navigation-item__content:hover,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container button.wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
body .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container a:hover,
body .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container a:hover .wp-block-navigation-item__label,
body .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
body .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
body .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container button.wp-block-navigation-item__content:hover,
body .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container button.wp-block-navigation-item__content:hover .wp-block-navigation-item__label {
	color: #D2FC51 !important;
}

/* Dark header: submenu text is forced white — 2-col mega link hovers must repeat lime with matching specificity */
body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .tpr-mega-menu-2col > .wp-block-navigation__submenu-container a:hover,
body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .tpr-mega-menu-2col > .wp-block-navigation__submenu-container a:hover .wp-block-navigation-item__label,
body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .tpr-mega-menu-2col > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .tpr-mega-menu-2col > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .tpr-mega-menu-2col > .wp-block-navigation__submenu-container button.wp-block-navigation-item__content:hover,
body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .tpr-mega-menu-2col > .wp-block-navigation__submenu-container button.wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container a:hover,
body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container a:hover .wp-block-navigation-item__label,
body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover .wp-block-navigation-item__label,
body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container button.wp-block-navigation-item__content:hover,
body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > li.tpr-mega-menu-2col > .wp-block-navigation__submenu-container button.wp-block-navigation-item__content:hover .wp-block-navigation-item__label {
	color: #D2FC51 !important;
}

body.tpr-header-dark header .wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__button,
body.tpr-header-dark header .wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__button svg {
	color: #0F2902 !important;
	fill: #0F2902 !important;
}

body.tpr-header-dark header a[href^="tel:"] {
	color: #0F2902 !important;
}

body.tpr-header-dark header a[href^="tel:"] svg {
	fill: #0F2902 !important;
	stroke: #0F2902 !important;
}

/* Inside the open mobile menu, the dark overlay means the phone link needs to stay white regardless of tpr-header-dark. */
body.tpr-header-dark header .wp-block-navigation__responsive-container.is-menu-open a[href^="tel:"] {
	color: #fff !important;
}
body.tpr-header-dark header .wp-block-navigation__responsive-container.is-menu-open a[href^="tel:"] svg {
	fill: #fff !important;
	stroke: #fff !important;
}

body.tpr-header-dark header .wp-block-navigation__responsive-container-open,
body.tpr-header-dark header .wp-block-navigation__responsive-container-close {
	color: #0F2902 !important;
}
body.tpr-header-dark header .wp-block-navigation__responsive-container-open svg,
body.tpr-header-dark header .wp-block-navigation__responsive-container-open svg * {
	fill: none !important;
	stroke: #0F2902 !important;
}
body.tpr-header-dark header .wp-block-navigation__responsive-container-close svg,
body.tpr-header-dark header .wp-block-navigation__responsive-container-close svg * {
	fill: none !important;
	stroke: #0F2902 !important;
}
/* Once the menu is open, the overlay background is dark — keep the X white regardless of tpr-header-dark. */
body.tpr-header-dark header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	color: #fff !important;
}
body.tpr-header-dark header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg,
body.tpr-header-dark header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg * {
	fill: none !important;
	stroke: #fff !important;
}
/* CSS mask fallback (before JS injects the SVG) uses currentColor, so color: #0F2902 above already covers it, but pin the mask background explicitly in case inline styles intervene. */
body.tpr-header-dark header .wp-block-navigation__responsive-container-open::before {
	background-color: #0F2902 !important;
}

/* ==========================================================================
   TPR GF CTA block – sticky bar option
   ========================================================================== */

/* CTA block container – occupies space where placed in editor. */
.tpr-gf-cta-block {
	width: fit-content;
	max-width: 100%;
}

/* container-type on the PARENT (not the block itself) so the query reads a stable width.
 * Putting container-type on .tpr-gf-cta-block itself is circular: width: fit-content shrinks to
 * visible content, so hiding the form would also shrink the container below the threshold and keep
 * it hidden. The parent width is determined by layout and doesn't collapse. */
.wp-block-uagb-container:has(> .tpr-gf-cta-block),
.uagb-container-inner-block:has(> .tpr-gf-cta-block),
.uagb-container-inner-blocks-wrap:has(> .tpr-gf-cta-block),
.wp-block-group:has(> .tpr-gf-cta-block),
.tpr-gf-cta-center-wrap:has(> .tpr-gf-cta-block) {
	container-type: inline-size;
	container-name: tpr-cta;
}

/* Alignment: left (default) or centre */
.tpr-gf-cta-block.tpr-gf-cta-align-left {
	margin-right: auto;
}
.tpr-gf-cta-block.tpr-gf-cta-align-center {
	margin-left: auto;
	margin-right: auto;
	align-self: center;
}
/* Wrapper for centre: takes full width, flex-centres the form block */
.tpr-gf-cta-center-wrap {
	display: flex;
	justify-content: center;
	width: 100%;
}

/* Hide sticky CTA until view.js finishes init (positions the bar, adds mobile-collapsible
   trigger). Without this the raw Gravity Forms markup flashes — on mobile that means the
   two <select> labels render stacked on top of each other before the trigger takes over. */
.tpr-gf-cta-block.tpr-gf-cta-sticky:not(.tpr-gf-cta-ready),
.tpr-gf-cta-center-wrap:has(> .tpr-gf-cta-block.tpr-gf-cta-sticky:not(.tpr-gf-cta-ready)) {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

/* Sticky bar: fixed at bottom. Use the larger of WP root padding and --tpr-content-inset (same as 90% / header rows) so the bar lines up when root padding is 0. */
.tpr-gf-cta-block.tpr-gf-cta-sticky.tpr-gf-cta-stuck {
	position: fixed !important;
	bottom: 0 !important;
	left: calc(max(var(--wp--style--root--padding-left, 0px), var(--tpr-content-inset, max(1.5rem, 5vw))) + env(safe-area-inset-left, 0px)) !important;
	right: calc(max(var(--wp--style--root--padding-right, 0px), var(--tpr-content-inset, max(1.5rem, 5vw))) + env(safe-area-inset-right, 0px)) !important;
	width: auto !important;
	padding: 1rem 0 !important;
	box-sizing: border-box;
	pointer-events: none;
	z-index: 999999;
	display: flex !important;
	justify-content: flex-start;
}
.tpr-gf-cta-block.tpr-gf-cta-sticky.tpr-gf-cta-stuck.tpr-gf-cta-align-center {
	justify-content: center;
}

/* Centre wrapper moved to body with the block (see view.js): outer shell is fixed; inner block is not (avoids double fixed + wrong width). */
body > .tpr-gf-cta-center-wrap.tpr-gf-cta-center-wrap--stuck {
	position: fixed !important;
	bottom: 0 !important;
	left: calc(max(var(--wp--style--root--padding-left, 0px), var(--tpr-content-inset, max(1.5rem, 5vw))) + env(safe-area-inset-left, 0px)) !important;
	right: calc(max(var(--wp--style--root--padding-right, 0px), var(--tpr-content-inset, max(1.5rem, 5vw))) + env(safe-area-inset-right, 0px)) !important;
	width: auto !important;
	padding: 1rem 0 !important;
	box-sizing: border-box;
	pointer-events: none;
	z-index: 999999;
	display: flex !important;
	justify-content: center;
}
body > .tpr-gf-cta-center-wrap.tpr-gf-cta-center-wrap--stuck > .tpr-gf-cta-block.tpr-gf-cta-sticky.tpr-gf-cta-stuck {
	position: relative !important;
	bottom: auto !important;
	left: auto !important;
	right: auto !important;
	width: fit-content !important;
	max-width: 100%;
	padding: 0 !important;
	pointer-events: auto;
}


/* Re-enable clicks for all direct children (form wrapper, mobile trigger). IDs alone miss edge cases. */
.tpr-gf-cta-block.tpr-gf-cta-sticky.tpr-gf-cta-stuck > * {
	pointer-events: auto;
}

/* Hide sticky CTA when user is in a section with .hide-cta-bar */
.tpr-gf-cta-block.tpr-gf-cta-sticky.tpr-gf-cta-stuck.tpr-gf-cta-hidden {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transition: opacity 0.2s ease, visibility 0.2s ease;
}

/* Location pages: banner already has an inline CTA, so hide the sticky bar until the
   "Jump to" sub-nav pins to the top (body gets .tpr-sub-nav-stuck from view.js). */
body.tpr-location-page:not(.tpr-sub-nav-stuck) .tpr-gf-cta-block.tpr-gf-cta-sticky.tpr-gf-cta-stuck {
	opacity: 0 !important;
	visibility: hidden !important;
	pointer-events: none !important;
	transition: opacity 0.2s ease, visibility 0.2s ease;
}

/* Hide form title/heading when inside CTA block */
.tpr-gf-cta-block .gform_heading {
	display: none !important;
}

/* Dark bar background option: solid #0F2902 instead of blurred translucent */
.tpr-gf-cta-block.tpr-gf-cta-bar-dark #gform_wrapper_3.gform_wrapper {
	background: #0F2902 !important;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.tpr-gf-cta-block.tpr-gf-cta-bar-dark .tpr-gf-cta-mobile-trigger {
	background: #0F2902 !important;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

/* Mobile: no extra padding on main – avoids white gap above footer; hero keeps its own clearance */
@media (max-width: 767px) {
	body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) .entry-content,
	body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) .wp-block-post-content,
	body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) main {
		padding-bottom: 0 !important;
	}
	/*
	 * Hero height: Spectra authors `min-height: 100vh` inline on the hero block. On mobile
	 * browsers `100vh` tracks the LARGE viewport (URL bar retracted) while the fixed CTA bar
	 * sits in the SMALL viewport — so when the URL bar is visible, flex-end content aligns
	 * below the bar's top and the last line sits under the bar. Pin to `100svh` so content
	 * and bar share the same (visible) bottom edge.
	 */
	.tpr-video-banner,
	.tpr-video-banner.wp-block-uagb-container,
	.tpr-video-banner.uagb-is-root-container,
	.tpr-video-banner .tpr-video-text-container,
	.tpr-video-banner .tpr-video-text-container.uagb-is-root-container {
		min-height: 100svh !important;
	}
	/* Hero section: extra padding so last line of text clears sticky bar on initial load */
	body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) .tpr-video-text-container .uagb-container-inner-block,
	body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) .tpr-video-text-container .uagb-container-inner-blocks-wrap,
	body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) .tpr-video-text-container [class*="uagb-container-inner"],
	body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) .tpr-video-banner .uagb-container-inner-block,
	body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) .tpr-video-banner .uagb-container-inner-blocks-wrap,
	body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) .tpr-video-banner [class*="uagb-container-inner"] {
		padding-bottom: 160px !important;
	}
}

/*
 * Tablet / small laptop (768–1087px): fixed quote bar overlaps hero text — mirror mobile clearance.
 * (Mobile uses 140px above; bar is often one row here but sticky wrapper padding + wrapped fields need more than 60px.)
 */
@media (min-width: 768px) and (max-width: 1087px) {
	body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) .tpr-video-text-container .uagb-container-inner-block,
	body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) .tpr-video-text-container .uagb-container-inner-blocks-wrap,
	body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) .tpr-video-text-container [class*="uagb-container-inner"],
	body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) .tpr-video-text-container.uagb-is-root-container > .uagb-container-inner-blocks-wrap,
	body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) .tpr-video-text-container.uagb-is-root-container > .uagb-container-inner-block,
	body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) .tpr-video-banner .uagb-container-inner-block,
	body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) .tpr-video-banner .uagb-container-inner-blocks-wrap,
	body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) .tpr-video-banner [class*="uagb-container-inner"] {
		padding-bottom: 160px !important;
	}
}

/* ==========================================================================
   TPR UAGB Tabs – pill style, brand colours (Figma TPR001)
   ========================================================================== */

/* Tabs wrapper + panel: full width so tabs align left/right with content above */
.uagb-tabs__wrap {
	width: 100%;
	position: relative;
}

/* Tabs panel: flex row that wraps on narrower viewports; 1px gap between tabs.
 * Border-radius + overflow:hidden on the UL paints the top-left and top-right corners on whichever
 * tabs happen to sit at the visual edges of the first row — robust to any wrap count. Individual
 * tabs stay flat so wrapped rows don't pick up stray corners. */
.uagb-tabs__wrap ul.uagb-tabs__panel {
	display: flex !important;
	flex-wrap: wrap;
	gap: 1px;
	list-style: none;
	margin: 0 !important;
	padding: 0;
	position: relative;
	padding-bottom: 1rem;
	width: 100%;
	min-width: 100%;
	box-sizing: border-box;
	/* Radius applies only to the content-box (above the padding-bottom) so the 1rem gap below the
	 * last row stays flush with the body area. background-clip:content-box + overflow:clip clip
	 * children to the rounded top of the tab row, giving the edge tabs their visual radius. */
	border-radius: 30px 30px 0 0;
	overflow: clip;
}

/* Remove SVG underline – replaced with border-bottom on active tab */
.uagb-tabs__wrap ul.uagb-tabs__panel::after,
#solution-selector-tabs .uagb-tabs__wrap ul.uagb-tabs__panel::after {
	display: none !important;
}
.uagb-tabs__wrap .uagb-tabs__body-wrap::before,
#solution-selector-tabs .uagb-tabs__wrap .uagb-tabs__body-wrap::before {
	display: none !important;
}

/* Each tab: pill shape, stretch full width, #FAFBFA default, lime active */
.uagb-tabs__wrap ul.uagb-tabs__panel li.uagb-tab {
	flex: 1;
	margin: 0 !important;
	border: none !important;
	border-radius: 9999px;
	background: #FAFBFA;
	transition: background 0.2s, color 0.2s;
}

.uagb-tabs__wrap ul.uagb-tabs__panel li.uagb-tab a {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px 24px !important;
	color: #0F2902 !important;
	text-decoration: none;
	font-weight: 500;
	white-space: nowrap;
}

/* Tabs stay visually flat; UL's overflow:clip + border-radius rounds the visual top-left/right. */
.uagb-tabs__wrap ul.uagb-tabs__panel li.uagb-tab {
	border-radius: 0 !important;
}

.uagb-tabs__wrap ul.uagb-tabs__panel li.uagb-tab:not(.uagb-tabs__active):hover {
	background: #CFD4CC;
}

/* Active tab: lime background, dark text */
.uagb-tabs__wrap ul.uagb-tabs__panel li.uagb-tab.uagb-tabs__active,
#solution-selector-tabs .uagb-tabs__wrap ul.uagb-tabs__panel li.uagb-tab.uagb-tabs__active {
	background: #D2FC51 !important;
}

.uagb-tabs__wrap ul.uagb-tabs__panel li.uagb-tab.uagb-tabs__active a {
	color: #0F2902 !important;
}

.uagb-tabs__wrap ul.uagb-tabs__panel li.uagb-tab .uagb-tabs__icon svg {
	fill: #0F2902 !important;
}

.uagb-tabs__wrap ul.uagb-tabs__panel li.uagb-tab.uagb-tabs__active .uagb-tabs__icon svg {
	fill: #0F2902 !important;
}

/* Tab body content area */
.uagb-tabs__wrap .uagb-tabs__body-wrap {
	border: none !important;
	padding: 0 !important;
}

/* Mobile dropdown replacement for stacked tabs.
 * JS (tpr-tabs-dropdown.js) injects a <select.tpr-tabs-dropdown> as a sibling BEFORE
 * .uagb-tabs__wrap — not inside it — because UAGB's tabs.js bails out of addEvents()
 * if tabsWrap has anything other than exactly 2 children, which would break desktop clicks.
 * Desktop: hide the select. ≤767px: hide the <ul> and show the select styled as a lime pill. */
.tpr-tabs-dropdown {
	display: none;
}

@media (max-width: 767px) {
	.uagb-tabs__wrap ul.uagb-tabs__panel {
		display: none !important;
	}

	.tpr-tabs-dropdown {
		display: block;
		width: 100%;
		box-sizing: border-box;
		margin: 0 0 1rem;
		padding: 20px 48px 20px 24px;
		border: none;
		border-radius: 9999px;
		background-color: #D2FC51;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 14 14' fill='none'%3E%3Cpath d='M3.5 5.25L7 8.75L10.5 5.25' stroke='%230F2902' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
		background-repeat: no-repeat;
		background-position: right 20px center;
		background-size: 18px 18px;
		color: #0F2902;
		font-family: inherit;
		font-size: 1rem;
		font-weight: 700;
		text-align: center;
		text-align-last: center;
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		cursor: pointer;
	}

	/* :focus-visible so the outline only shows for keyboard nav, not after a mouse click. */
	.tpr-tabs-dropdown:focus {
		outline: none;
	}

	.tpr-tabs-dropdown:focus-visible {
		outline: 2px solid #0F2902;
		outline-offset: 2px;
	}
}

/* CTA container in solution-selector-tabs: 15% top/bottom, 5% left/right padding – mobile only (matches content editor) */
@media (max-width: 767px) {
	#solution-selector-tabs .uagb-tabs__body-wrap .wp-block-uagb-container.uagb-block-336bf5a4,
	#solution-selector-tabs .uagb-tabs__body-wrap .wp-block-uagb-container:has(.tpr-gf-cta-block) {
		padding-top: 15% !important;
		padding-bottom: 15% !important;
		padding-left: 5% !important;
		padding-right: 5% !important;
	}
}


/* Service tab image container: After at 400px; Before centered on After, 10px gap; padding-top for captions */
.ServiceTabs-image-container,
.ServiceTab-image-container {
	position: relative;
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	gap: 10px;
	min-height: 0;
	overflow: visible;
	padding-top: 40px;
}

/* Override UAGB grid so image-after can reach 400px */
.ServiceTabs-image-container.uagb-layout-grid,
.ServiceTab-image-container.uagb-layout-grid {
	display: flex !important;
	flex-direction: row;
	align-items: flex-start;
}

/* Parent containers: expand to fit images, no clipping */
.uagb-tabs__body-wrap .uagb-tab__body-container,
.uagb-tabs__body-wrap .wp-block-uagb-container:has(.ServiceTabs-image-container),
.uagb-tabs__body-wrap .wp-block-uagb-container:has(.ServiceTab-image-container) {
	overflow: visible !important;
	min-height: 0;
}

.ServiceTab-image-container.uagb-layout-grid [class*="image-after"],
.ServiceTabs-image-container.uagb-layout-grid [class*="image-after"] {
	flex: 0 0 auto;
}

.ServiceTabs-image-container [class*="image-before"],
.ServiceTab-image-container [class*="image-before"],
.ServiceTabs-image-container [class*="image-after"],
.ServiceTab-image-container [class*="image-after"] {
	overflow: visible;
}

/* Before: 10px gap from After, shifted up 30px; right edge aligned to container right */
.ServiceTabs-image-container [class*="image-before"],
.ServiceTab-image-container [class*="image-before"] {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translate(-120px, calc(40% - 30px));
	z-index: 2;
	flex: 0 0 auto;
	margin: 0;
}

/* Tablet: center "before" image horizontally, 10px gap, shifted up 30px */
@media (min-width: 768px) and (max-width: 1024px) {
	.ServiceTabs-image-container [class*="image-before"],
	.ServiceTab-image-container [class*="image-before"] {
		right: auto;
		left: 50%;
		transform: translate(calc(-50% - 50px), calc(-50% - 30px));
	}
}

.ServiceTabs-image-container [class*="image-after"],
.ServiceTab-image-container [class*="image-after"] {
	position: relative;
	z-index: 1;
	flex: 0 0 auto;
	width: 400px !important;
	min-width: 400px;
	max-width: 100%;
}

.ServiceTabs-image-container [class*="image-after"] .wp-block-uagb-image__figure,
.ServiceTab-image-container [class*="image-after"] .wp-block-uagb-image__figure {
	width: 400px !important;
	min-width: 400px;
}

.ServiceTabs-image-container [class*="image-after"] .wp-block-uagb-image__figure img,
.ServiceTab-image-container [class*="image-after"] .wp-block-uagb-image__figure img {
	width: 400px !important;
	min-width: 400px;
	max-width: 100%;
	height: auto;
}

.ServiceTabs-image-container [class*="image-before"] .wp-block-uagb-image__figure,
.ServiceTab-image-container [class*="image-before"] .wp-block-uagb-image__figure,
.ServiceTabs-image-container [class*="image-after"] .wp-block-uagb-image__figure,
.ServiceTab-image-container [class*="image-after"] .wp-block-uagb-image__figure {
	border-radius: 16px;
	overflow: visible;
	position: relative;
}

.ServiceTabs-image-container [class*="image-before"] .wp-block-uagb-image__figure img,
.ServiceTab-image-container [class*="image-before"] .wp-block-uagb-image__figure img,
.ServiceTabs-image-container [class*="image-after"] .wp-block-uagb-image__figure img,
.ServiceTab-image-container [class*="image-after"] .wp-block-uagb-image__figure img {
	border-radius: 16px;
	display: block;
}

/* Caption pills: small pill at top-left, overlaps above image; Before = dark text on light grey, After = white on dark green.
 * Override core gallery full-width caption (left:0 right:0 bottom:0) so pill is fit-content only.
 * Applies site-wide: blocks with image-before/image-after class, or figures with caption "before"/"after" (JS adds tpr-caption-before/after). */
[class*="image-before"] .uagb-image-caption,
[class*="image-before"] figcaption,
[class*="image-after"] .uagb-image-caption,
[class*="image-after"] figcaption,
.tpr-caption-before figcaption,
.tpr-caption-before .blocks-gallery-caption,
.tpr-caption-after figcaption,
.tpr-caption-after .blocks-gallery-caption {
	position: absolute;
	top: 20px;
	left: 20px !important;
	right: auto !important;
	bottom: auto;
	width: fit-content;
	max-width: fit-content;
	height: fit-content;
	max-height: none;
	display: inline-block;
	padding: 6px 12px !important;
	border-radius: 9999px;
	font-size: 14px;
	font-weight: 500;
	margin: 0;
	white-space: nowrap;
	z-index: 2;
	overflow: visible;
	text-shadow: none !important;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

body [class*="image-before"] .uagb-image-caption,
body [class*="image-before"] figcaption,
body .tpr-caption-before figcaption,
body .tpr-caption-before .blocks-gallery-caption {
	background: #e5e7eb !important;
	color: #0F2902 !important;
	padding: 6px 12px !important;
	left: 20px !important;
	top: 20px !important;
	right: auto !important;
	filter: none !important;
	-webkit-font-smoothing: antialiased !important;
	-moz-osx-font-smoothing: grayscale !important;
}

body [class*="image-after"] .uagb-image-caption,
body [class*="image-after"] figcaption,
body .tpr-caption-after figcaption,
body .tpr-caption-after .blocks-gallery-caption {
	background: #0F2902 !important;
	color: #fff !important;
	padding: 6px 12px !important;
	left: 20px !important;
	top: 20px !important;
	right: auto !important;
}

/* Parent needs position:relative for absolute caption; overflow visible so pill can overlap above without being cut off */
.tpr-gallery figure.tpr-caption-before,
.tpr-gallery figure.tpr-caption-after,
figure.tpr-caption-before,
figure.tpr-caption-after,
.tpr-gallery figure.wp-block-image:has(figcaption),
.tpr-gallery figure.wp-block-image:has(.blocks-gallery-caption) {
	position: relative;
	overflow: visible !important;
}
/* Image wrapper (a/div) must not clip – for non-gallery figures (ServiceTabs etc.) */
.tpr-gallery figure.tpr-caption-before > a,
.tpr-gallery figure.tpr-caption-before > div,
.tpr-gallery figure.tpr-caption-after > a,
.tpr-gallery figure.tpr-caption-after > div,
.tpr-gallery figure.wp-block-image:has(figcaption) > a,
.tpr-gallery figure.wp-block-image:has(figcaption) > div,
.tpr-gallery figure.wp-block-image:has(.blocks-gallery-caption) > a,
.tpr-gallery figure.wp-block-image:has(.blocks-gallery-caption) > div {
	overflow: visible !important;
}
/* Gallery: caption inside figure, 20px from top and left */
.tpr-gallery figure.tpr-caption-before figcaption,
.tpr-gallery figure.tpr-caption-before .blocks-gallery-caption,
.tpr-gallery figure.tpr-caption-after figcaption,
.tpr-gallery figure.tpr-caption-after .blocks-gallery-caption {
	top: 20px;
	left: 20px !important;
}

/* Gallery with .gallery-no-before-style: contain caption within image bounds */
.gallery-no-before-style figure.tpr-caption-before,
.gallery-no-before-style figure[class*="image-before"] {
	overflow: hidden !important;
}

/* Gallery with .gallery-no-before-style: reset "Before" pill to match default gallery captions (bottom-positioned) */
.gallery-no-before-style .tpr-caption-before figcaption,
.gallery-no-before-style .tpr-caption-before .blocks-gallery-caption,
.gallery-no-before-style [class*="image-before"] figcaption,
.gallery-no-before-style [class*="image-before"] .uagb-image-caption {
	position: absolute !important;
	top: auto !important;
	bottom: 0 !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 100% !important;
	box-sizing: border-box !important;
	background: linear-gradient(0deg, rgba(0, 0, 0, 0.7), transparent) !important;
	color: #fff !important;
	padding: 40px 10px 9px !important;
	border-radius: 0 !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-align: center !important;
	white-space: normal !important;
	display: block !important;
}

/* Service tabs: non–before/after captions keep lime */
.uagb-tabs__body-wrap .uagb-image-caption {
	color: #D2FC51 !important;
}

/* Remove blur effect on gallery images when captions are shown (WordPress core adds backdrop-filter via ::before) */
.tpr-gallery figure.wp-block-image:has(figcaption)::before,
.tpr-gallery figure.wp-block-image:has(.blocks-gallery-caption)::before,
.wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before {
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

/* Mobile: ServiceTabs images side by side, 10px gap, container expands to fit */
@media (max-width: 767px) {
	.ServiceTabs-image-container,
	.ServiceTab-image-container {
		flex-direction: row !important;
		overflow: visible;
		min-height: 0;
		align-items: flex-start;
		justify-content: center;
		gap: 10px;
	}
	.ServiceTabs-image-container [class*="image-before"],
	.ServiceTab-image-container [class*="image-before"],
	.ServiceTabs-image-container [class*="image-after"],
	.ServiceTab-image-container [class*="image-after"] {
		flex: 1 1 0 !important;
		min-width: 0 !important;
		max-width: 50% !important;
	}
	.ServiceTabs-image-container [class*="image-after"] .wp-block-uagb-image__figure,
	.ServiceTab-image-container [class*="image-after"] .wp-block-uagb-image__figure,
	.ServiceTabs-image-container [class*="image-after"] .wp-block-uagb-image__figure img,
	.ServiceTab-image-container [class*="image-after"] .wp-block-uagb-image__figure img,
	.ServiceTabs-image-container [class*="image-before"] .wp-block-uagb-image__figure,
	.ServiceTab-image-container [class*="image-before"] .wp-block-uagb-image__figure,
	.ServiceTabs-image-container [class*="image-before"] .wp-block-uagb-image__figure img,
	.ServiceTab-image-container [class*="image-before"] .wp-block-uagb-image__figure img {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}
	/* Before: remove absolute positioning so both images flow within container */
	.ServiceTabs-image-container [class*="image-before"],
	.ServiceTab-image-container [class*="image-before"] {
		position: relative !important;
		right: auto !important;
		left: auto !important;
		transform: none !important;
	}
}

/* ==========================================================================
   TPR Gallery – carousel extending off right, rounded left corners, nav arrows
   ========================================================================== */

/* Content box inset (90% page width = 5vw each side): aligns with boxed content width setting */
:root {
	--tpr-content-inset: max(1.5rem, 5vw);
}

/* Align UAGB containers to 90% content width at all screen sizes.
 * Add class tpr-content-width-90 to .wp-block-uagb-container to constrain inner content. */
.wp-block-uagb-container.tpr-content-width-90 .uagb-container-inner-block,
.wp-block-uagb-container.tpr-content-width-90 .uagb-container-inner-blocks-wrap,
.wp-block-uagb-container.tpr-content-width-90 .uagb-buttons__wrap {
	max-width: 90% !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: var(--tpr-content-inset) !important;
	padding-right: var(--tpr-content-inset) !important;
	padding-inline-start: var(--tpr-content-inset) !important;
	padding-inline-end: var(--tpr-content-inset) !important;
	box-sizing: border-box !important;
}

/* At smaller screens: cap the inset so gallery doesn’t have huge left margin */
@media (max-width: 1024px) {
	:root {
		--tpr-content-inset: 1.5rem;
	}
}
@media (max-width: 640px) {
	:root {
		--tpr-content-inset: 1rem;
	}
}

/* Parent clips right for "extends off screen" effect; overflow-y visible so bottom radius isn't cut */
.uagb-container-inner-block:has(.tpr-gallery) {
	overflow-x: hidden;
	overflow-y: visible;
}

/*
 * Inner pages nest .tpr-gallery-container inside Spectra’s inner-blocks-wrap (content-width).
 * overflow-x:hidden on the container then clips the inner .tpr-gallery-wrapper 100vw breakout.
 * Full-bleed this block too; ancestors need overflow-x:visible so the breakout can paint to the viewport.
 */
.wp-block-uagb-container.tpr-gallery-container:has(.tpr-gallery-wrapper) {
	width: 100vw !important;
	max-width: none !important;
	/* Spectra uses margin-left/right:auto !important on default-width containers — both sides must break out or the strip stays centered */
	margin-left: calc(50% - 50vw - var(--wp--style--root--padding-left, 0px)) !important;
	margin-right: calc(50% - 50vw - var(--wp--style--root--padding-right, 0px)) !important;
	box-sizing: border-box !important;
	position: relative;
}

.uagb-container-inner-blocks-wrap:has(> .wp-block-uagb-container.tpr-gallery-container:has(.tpr-gallery-wrapper)) {
	overflow-x: visible !important;
	justify-content: flex-start !important;
}

.wp-block-uagb-container:has(> .uagb-container-inner-blocks-wrap > .wp-block-uagb-container.tpr-gallery-container:has(.tpr-gallery-wrapper)) {
	overflow-x: visible !important;
}

/* Outer Spectra section (e.g. home vs inner page) may still sit above the nested wrap */
.wp-block-uagb-container:has(.wp-block-uagb-container.tpr-gallery-container:has(.tpr-gallery-wrapper)) {
	overflow-x: visible !important;
}

/* Block theme constrained post content can clip alignfull descendants */
.wp-block-post-content:has(.tpr-gallery-container:has(.tpr-gallery-wrapper)),
.entry-content:has(.tpr-gallery-container:has(.tpr-gallery-wrapper)) {
	overflow-x: visible !important;
}

/* Wrapper full viewport width; break out of centered layout + root padding so images scroll off left */
.tpr-gallery-wrapper {
	position: relative;
	width: 100vw;
	margin-left: calc(50% - 50vw - var(--wp--style--root--padding-left, 0px));
	margin-right: calc(50% - 50vw - var(--wp--style--root--padding-right, 0px));
	box-sizing: border-box;
	overflow: visible;
}

/* Ensure gallery containers don't clip bottom rounded corner; clip horizontal overflow so images don't extend past viewport */
.uagb-container-inner-block:has(.tpr-gallery-wrapper),
.tpr-gallery-container:has(.tpr-gallery-wrapper) {
	overflow-x: hidden !important;
	overflow-y: visible !important;
}

/* Clip inner: contain gallery horizontally so it doesn't push page width */
.tpr-gallery-clip {
	overflow-x: hidden;
	overflow-y: visible;
}

.tpr-gallery {
	position: relative;
	overflow: visible;
}

/* Horizontal carousel: images in a row */
/* Negative margin pulls gallery to screen edge; padding aligns first image (scrolls away) */
.tpr-gallery.wp-block-gallery {
	display: flex;
	flex-wrap: nowrap;
	gap: 0;
	overflow-x: auto;
	overflow-y: visible !important; /* Prevent core/is-cropped from clipping top border-radius */
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
	overflow-anchor: none;
	width: 100vw;
	margin-left: calc(-1 * var(--tpr-content-inset, max(1.5rem, 5vw)));
	padding-left: var(--tpr-content-inset, max(1.5rem, 5vw));
	padding-inline-start: var(--tpr-content-inset, max(1.5rem, 5vw));
}

.tpr-gallery::-webkit-scrollbar {
	display: none;
}

/* Each image: fixed width, snap */
.tpr-gallery figure.wp-block-image {
	flex: 0 0 auto;
	width: min(85vw, 480px);
	min-width: min(85vw, 480px);
	scroll-snap-align: start;
	margin: 0;
	overflow: visible;
}

.tpr-gallery figure.wp-block-image img {
	width: 100%;
	height: auto !important;
	object-fit: cover;
	aspect-ratio: 16 / 10 !important;
	display: block;
	vertical-align: bottom;
}

/* Nav arrows: Font Awesome arrow-left/arrow-right, circle #0F2902, #D2FC51 on hover */
.tpr-gallery-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 3rem;
	height: 3rem;
	border: 1px solid transparent;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 10;
	background-color: #0F2902;
	color: #fff;
	transition: background-color 0.2s, color 0.2s, transform 0.2s, opacity 0.2s;
}

.tpr-gallery-nav:hover:not(.is-disabled) {
	transform: translateY(-50%) scale(1.05);
	background-color: #D2FC51;
	color: #0F2902;
}

.tpr-gallery-nav:hover:not(.is-disabled) > i {
	color: #0F2902;
}

.tpr-gallery-nav:hover:not(.is-disabled) > svg {
	fill: #0F2902;
}

.tpr-gallery-nav.is-disabled,
.tpr-gallery-wrapper .tpr-gallery-nav.is-disabled {
	background-color: rgba(15, 41, 2, 0.1) !important;
	border-color: transparent !important;
	cursor: not-allowed;
	outline: none;
}

.tpr-gallery-nav-prev.is-disabled,
.tpr-gallery-wrapper .tpr-gallery-nav-prev.is-disabled {
	opacity: 0.2 !important;
}

.tpr-gallery-nav.is-disabled > i,
.tpr-gallery-wrapper .tpr-gallery-nav.is-disabled > i {
	color: #fff !important;
}

.tpr-gallery-nav.is-disabled > svg,
.tpr-gallery-wrapper .tpr-gallery-nav.is-disabled > svg {
	fill: #fff !important;
}

.tpr-gallery-nav > i {
	font-size: 1rem;
	line-height: 1;
	color: #fff;
}

.tpr-gallery-nav > svg {
	width: 1rem;
	height: 1rem;
	fill: #fff;
}

/* Align arrows with caption spacing (20px from image edge, same as Before/After pills) */
.tpr-gallery-nav-prev {
	left: calc(var(--tpr-content-inset, max(1.5rem, 5vw)) + 20px);
	z-index: 20;
}

.tpr-gallery-nav-next {
	right: calc(var(--tpr-content-inset, max(1.5rem, 5vw)) + 20px);
}

/* Gallery arrows: same spacing on mobile */
@media (max-width: 767px) {
	.tpr-gallery-nav-prev {
		left: calc(1rem + 20px);
	}
	.tpr-gallery-nav-next {
		right: calc(1rem + 20px);
	}
}

/* Lightbox overlay */
.tpr-gallery-lightbox {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.9);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 999999;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.tpr-gallery-lightbox.is-open {
	opacity: 1;
	visibility: visible;
}

.tpr-gallery-lightbox img {
	max-width: 95vw;
	max-height: 95vh;
	object-fit: contain;
	pointer-events: none;
}

/* Font Awesome-style close (xmark) button */
.tpr-gallery-lightbox-close {
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: none;
	background: rgba(255, 255, 255, 0.15);
	border-radius: 50%;
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s, transform 0.2s;
	z-index: 1;
}

.tpr-gallery-lightbox-close:hover {
	background: rgba(255, 255, 255, 0.3);
	transform: scale(1.05);
}

.tpr-gallery-lightbox-close svg {
	width: 1.25rem;
	height: 1.25rem;
	fill: currentColor;
}

.tpr-gallery figure.wp-block-image {
	cursor: pointer;
}

/* TPR Grid Gallery: 1:1 aspect ratio, click opens lightbox (tpr-gallery-image or tpr-grid-gallery-wrapper) */
.tpr-gallery-image .tpr-grid-gallery-image,
.tpr-grid-gallery-wrapper .tpr-grid-gallery-image,
.tpr-grid-gallery-wrapper .wp-block-uagb-image.tpr-grid-gallery-image {
	aspect-ratio: 1 / 1;
	overflow: hidden;
	cursor: pointer;
	width: 100%;
	min-height: 0;
}
/* Legacy gallery: li.blocks-gallery-item contains figure */
.tpr-gallery-image .tpr-grid-gallery-image > figure,
.tpr-grid-gallery-wrapper .tpr-grid-gallery-image > figure,
.tpr-grid-gallery-wrapper .wp-block-uagb-image.tpr-grid-gallery-image .wp-block-uagb-image__figure {
	height: 100%;
	width: 100%;
	margin: 0;
}
.tpr-gallery-image .tpr-grid-gallery-image > a,
.tpr-gallery-image .tpr-grid-gallery-image > div,
.tpr-gallery-image .tpr-grid-gallery-image figure > a,
.tpr-gallery-image .tpr-grid-gallery-image figure > div,
.tpr-grid-gallery-wrapper .tpr-grid-gallery-image > a,
.tpr-grid-gallery-wrapper .tpr-grid-gallery-image > div,
.tpr-grid-gallery-wrapper .tpr-grid-gallery-image figure > a,
.tpr-grid-gallery-wrapper .tpr-grid-gallery-image figure > div,
.tpr-grid-gallery-wrapper .wp-block-uagb-image.tpr-grid-gallery-image > a,
.tpr-grid-gallery-wrapper .wp-block-uagb-image.tpr-grid-gallery-image .wp-block-uagb-image__figure > a {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.tpr-gallery-image .tpr-grid-gallery-image img,
.tpr-grid-gallery-wrapper .tpr-grid-gallery-image img,
.tpr-grid-gallery-wrapper .wp-block-uagb-image.tpr-grid-gallery-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	aspect-ratio: 1 / 1 !important;
}

/* ==========================================================================
   TPR Product Listing – filter bar (view by / categories) centered, tablet spacing
   ========================================================================== */

/* The bar inherits its 90% width from the wide-size inner-blocks-wrap of #tpr-product-listing,
   so the bar's left/right edges already match the heading above. The earlier padding-based
   approach added an extra 5% inset on top of that, pushing the pill ~9.5% in instead of 5%.
   No bar-level rule is needed for alignment — the inner pill is left/right positioned by
   .filters-left-align below. */
/* Truncate the active filter button label when the pill is too narrow to show the full text.
   For text-overflow: ellipsis to fire, every flex/inline ancestor needs `min-width: 0` (default
   is min-content, which keeps the chain as wide as the label) AND the inner div needs both a
   max-width and `display: block` so it actually constrains to the ancestor's width. */
#tpr-product-listing .wp-block-uagb-loop-builder .uagb-buttons__wrap,
#tpr-product-listing .wp-block-uagb-loop-builder .wp-block-uagb-buttons-child,
#tpr-product-listing .wp-block-uagb-loop-builder .uagb-button__wrapper,
#tpr-product-listing .wp-block-uagb-loop-builder .uagb-buttons-repeater.wp-block-button__link {
	min-width: 0 !important;
	max-width: 100% !important;
}
#tpr-product-listing .wp-block-uagb-loop-builder .uagb-buttons-repeater.wp-block-button__link {
	overflow: hidden !important;
}
#tpr-product-listing .wp-block-uagb-loop-builder .tpr-product-filter-category-title {
	display: block !important;
	min-width: 0 !important;
	max-width: 100% !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	/* Spectra's button block sets line-height:13px (== font-size); Poppins Bold descenders
	   (g, p) get clipped by overflow:hidden. Give the text enough line-box room. */
	line-height: 1.3 !important;
}
#tpr-product-listing .wp-block-uagb-loop-builder .uagb-buttons-repeater.wp-block-button__link {
	line-height: 1.3 !important;
}

/* Filter bar container: center the "view by" + category buttons within the full width */
.tpr-product-listing .wp-block-uagb-container.uagb-block-cfbb35f0 {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
}
.tpr-product-listing .wp-block-uagb-container.uagb-block-cfbb35f0 > * {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	display: flex !important;
	justify-content: center !important;
}
.tpr-product-listing .wp-block-uagb-container.uagb-block-cfbb35f0 .uagb-loop-category-inner.uagb-block-95ac6b4c,
.tpr-product-listing .wp-block-uagb-container.uagb-block-cfbb35f0 .uagb-buttons__wrap {
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Resources filter: center the "view by" + category buttons (same block IDs, different page context) */
.wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container) {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
}
.wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container) > * {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	display: flex !important;
	justify-content: center !important;
}
.wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container) .uagb-loop-category-inner.uagb-block-95ac6b4c,
.wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container) .uagb-buttons__wrap {
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Opt-in: left-align “view by” + category pills.
 * Add class: loop builder, #tpr-product-listing, sticky/filter parent, OR directly on
 * .tpr-resources-filter-inner-container / .tpr-product-filter-inner-container (Advanced → Additional CSS class).
 * If both classes are on the loop builder, rules below set width:100% so the bar is not centred as a narrow flex item.
 * Alias: .tpr-filter-bar-left (same behaviour). Blog Page slug “blog” also gets body.tpr-blog-listing-page (see functions.php). */
.filters-left-align .wp-block-uagb-container.uagb-block-cfbb35f0,
.filters-left-align .wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container),
.tpr-filter-bar-left .wp-block-uagb-container.uagb-block-cfbb35f0,
.tpr-filter-bar-left .wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container),
.wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container.filters-left-align),
.wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container.tpr-filter-bar-left),
#tpr-product-listing.filters-left-align .wp-block-uagb-container.uagb-block-cfbb35f0,
#tpr-product-listing.tpr-filter-bar-left .wp-block-uagb-container.uagb-block-cfbb35f0,
.tpr-product-listing .wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-product-filter-inner-container.filters-left-align),
.tpr-product-listing .wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-product-filter-inner-container.tpr-filter-bar-left) {
	justify-content: flex-start !important;
}
.filters-left-align .wp-block-uagb-container.uagb-block-cfbb35f0 > *,
.filters-left-align .wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container) > *,
.tpr-filter-bar-left .wp-block-uagb-container.uagb-block-cfbb35f0 > *,
.tpr-filter-bar-left .wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container) > *,
.wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container.filters-left-align) > *,
.wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container.tpr-filter-bar-left) > *,
#tpr-product-listing.tpr-filter-bar-left .wp-block-uagb-container.uagb-block-cfbb35f0 > *,
.tpr-product-listing .wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-product-filter-inner-container.filters-left-align) > *,
.tpr-product-listing .wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-product-filter-inner-container.tpr-filter-bar-left) > * {
	justify-content: flex-start !important;
}
.filters-left-align .wp-block-uagb-container.uagb-block-cfbb35f0 .uagb-loop-category-inner.uagb-block-95ac6b4c,
.filters-left-align .wp-block-uagb-container.uagb-block-cfbb35f0 .uagb-buttons__wrap,
.filters-left-align .wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container) .uagb-loop-category-inner.uagb-block-95ac6b4c,
.filters-left-align .wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container) .uagb-buttons__wrap,
.tpr-filter-bar-left .wp-block-uagb-container.uagb-block-cfbb35f0 .uagb-loop-category-inner.uagb-block-95ac6b4c,
.tpr-filter-bar-left .wp-block-uagb-container.uagb-block-cfbb35f0 .uagb-buttons__wrap,
.tpr-filter-bar-left .wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container) .uagb-loop-category-inner.uagb-block-95ac6b4c,
.tpr-filter-bar-left .wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container) .uagb-buttons__wrap,
.wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container.filters-left-align) .uagb-loop-category-inner.uagb-block-95ac6b4c,
.wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container.filters-left-align) .uagb-buttons__wrap,
.wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container.tpr-filter-bar-left) .uagb-loop-category-inner.uagb-block-95ac6b4c,
.wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container.tpr-filter-bar-left) .uagb-buttons__wrap,
#tpr-product-listing.tpr-filter-bar-left .wp-block-uagb-container.uagb-block-cfbb35f0 .uagb-loop-category-inner.uagb-block-95ac6b4c,
#tpr-product-listing.tpr-filter-bar-left .wp-block-uagb-container.uagb-block-cfbb35f0 .uagb-buttons__wrap,
.tpr-product-listing .wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-product-filter-inner-container.filters-left-align) .uagb-loop-category-inner.uagb-block-95ac6b4c,
.tpr-product-listing .wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-product-filter-inner-container.filters-left-align) .uagb-buttons__wrap,
.tpr-product-listing .wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-product-filter-inner-container.tpr-filter-bar-left) .uagb-loop-category-inner.uagb-block-95ac6b4c,
.tpr-product-listing .wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-product-filter-inner-container.tpr-filter-bar-left) .uagb-buttons__wrap {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Generic filter containers (any block ID): restore left alignment when .filters-left-align is set */
.filters-left-align .tpr-product-filter-inner-container,
.filters-left-align .tpr-resources-filter-inner-container,
.tpr-product-filter-inner-container.filters-left-align,
.tpr-resources-filter-inner-container.filters-left-align,
.tpr-product-filter-inner-container.tpr-filter-bar-left,
.tpr-resources-filter-inner-container.tpr-filter-bar-left {
	margin-left: 0 !important;
	/* auto eats space so the bar pins to the start inside flex parents that use justify-content:center */
	margin-right: auto !important;
	align-items: flex-start !important;
	align-self: flex-start !important;
	/* Loop builder often has this class: without full width, fit-content stays centred in the parent flex row */
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}
.filters-left-align .tpr-product-filter-outer-container .uagb-container-inner-blocks-wrap,
.filters-left-align .tpr-resources-filter-outer-container .uagb-container-inner-blocks-wrap,
.tpr-product-filter-outer-container.filters-left-align .uagb-container-inner-blocks-wrap,
.tpr-resources-filter-outer-container.filters-left-align .uagb-container-inner-blocks-wrap,
.tpr-product-filter-outer-container.tpr-filter-bar-left .uagb-container-inner-blocks-wrap,
.tpr-resources-filter-outer-container.tpr-filter-bar-left .uagb-container-inner-blocks-wrap,
.tpr-product-filter-outer-container:has(.tpr-product-filter-inner-container.filters-left-align) .uagb-container-inner-blocks-wrap,
.tpr-resources-filter-outer-container:has(.tpr-resources-filter-inner-container.filters-left-align) .uagb-container-inner-blocks-wrap,
.tpr-product-filter-outer-container:has(.tpr-product-filter-inner-container.tpr-filter-bar-left) .uagb-container-inner-blocks-wrap,
.tpr-resources-filter-outer-container:has(.tpr-resources-filter-inner-container.tpr-filter-bar-left) .uagb-container-inner-blocks-wrap {
	align-items: flex-start !important;
	align-self: flex-start !important;
	margin-left: 0 !important;
	margin-right: auto !important;
}

@media (min-width: 768px) and (max-width: 1024px) {
	.tpr-product-listing .wp-block-uagb-container.uagb-block-cfbb35f0 {
		margin-bottom: 30px;
	}
}
/* Grid gallery filter – reintroduced in phases to isolate display issues */

/* Phase 1: Container – ensure filter area shows */
/* Hide duplicate grid gallery filter placeholders (only first per wrapper is used) */
.tpr-grid-gallery-filter-placeholder--duplicate,
.tpr-grid-gallery-filters:has(> .tpr-grid-gallery-filter-placeholder--duplicate:only-child),
.tpr-grid-gallery-filter:has(> .tpr-grid-gallery-filter-placeholder--duplicate:only-child) {
	display: none !important;
}

.tpr-grid-gallery-filters,
.tpr-grid-gallery-filter {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	min-height: 0;
	overflow: visible;
	width: fit-content;
	max-width: 100%;
}

/* Centre filter bar when class is on loop builder, container, or filter wrapper (Additional CSS class). */
.filters-centre-align.tpr-grid-gallery-filters,
.filters-centre-align.tpr-grid-gallery-filter,
.filters-centre-align .tpr-grid-gallery-filters,
.filters-centre-align .tpr-grid-gallery-filter {
	margin-left: auto;
	margin-right: auto;
}
.filters-centre-align.tpr-grid-gallery-filters .tpr-grid-gallery-dropdown,
.filters-centre-align.tpr-grid-gallery-filter .tpr-grid-gallery-dropdown,
.filters-centre-align .tpr-grid-gallery-filters .tpr-grid-gallery-dropdown,
.filters-centre-align .tpr-grid-gallery-filter .tpr-grid-gallery-dropdown,
.filters-centre-align .tpr-grid-gallery-wrapper .tpr-grid-gallery-dropdown,
.filters-centre-align.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown:not(.tpr-grid-gallery-dropdown--buttons),
.filters-centre-align .tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown:not(.tpr-grid-gallery-dropdown--buttons) {
	margin-left: auto;
	margin-right: auto;
}

/*
 * Projects listing filter is injected into .tpr-projects-listing-filter-mount (JS), which is
 * shrink-wrapped (flex:0 0 auto; width:auto; justify-content:flex-start). Margin:auto on the pill
 * cannot centre within the content column. Stretch the host and centre with flex.
 */
.filters-centre-align.tpr-projects-listing-wrapper .tpr-projects-listing-filter-mount,
.filters-centre-align.tpr-projects-listing-wrapper .wp-block-uagb-container.uagb-block-703b52f5 {
	justify-content: center !important;
	width: 100% !important;
	max-width: 100% !important;
	flex: 1 1 auto !important;
	align-self: stretch !important;
	min-width: 0 !important;
}
.filters-centre-align.tpr-projects-listing-wrapper .tpr-projects-listing-filter-mount .tpr-grid-gallery-dropdown,
.filters-centre-align.tpr-projects-listing-wrapper .wp-block-uagb-container.uagb-block-703b52f5 .tpr-grid-gallery-dropdown {
	margin-left: auto !important;
	margin-right: auto !important;
}
.filters-centre-align.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown.tpr-grid-gallery-dropdown--buttons {
	margin: 0 auto !important;
	justify-content: center !important;
}
.filters-centre-align.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown--buttons .tpr-projects-listing-filter-inner {
	justify-content: center !important;
}

/* Phase 2: Dropdown pill + labels + selects (options update on change; no submit button) */
.tpr-grid-gallery-filters .tpr-grid-gallery-dropdown,
.tpr-grid-gallery-filter .tpr-grid-gallery-dropdown,
.tpr-grid-gallery-wrapper .tpr-grid-gallery-dropdown,
.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown:not(.tpr-grid-gallery-dropdown--buttons) {
	display: flex !important;
	align-items: center;
	flex-wrap: wrap;
	gap: 1rem 1.5rem;
	background-color: #0F2902;
	border-radius: 999px;
	padding: 16px 20px 16px 24px;
	margin: 20px 0;
	width: fit-content;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
	overflow: visible;
}
.tpr-grid-gallery-filters .tpr-grid-gallery-dropdown .tpr-product-filter-label,
.tpr-grid-gallery-filter .tpr-grid-gallery-dropdown .tpr-product-filter-label,
.tpr-grid-gallery-wrapper .tpr-grid-gallery-dropdown .tpr-product-filter-label,
.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown:not(.tpr-grid-gallery-dropdown--buttons) .tpr-product-filter-label {
	color: #fff !important;
	font-family: var(--typography-font-family-font-decorative, "Hamilton Script"), "Hamilton Script fallback", cursive !important;
	font-size: 26px !important;
	font-weight: 400 !important;
	line-height: 20px !important;
	white-space: nowrap !important;
	margin-right: 10px;
}
.tpr-grid-gallery-filters .tpr-grid-gallery-dropdowns,
.tpr-grid-gallery-filter .tpr-grid-gallery-dropdowns,
.tpr-grid-gallery-wrapper .tpr-grid-gallery-dropdowns,
.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdowns {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.5rem 2rem;
	min-width: 0;
}
.tpr-grid-gallery-filters .tpr-grid-gallery-dropdown-group,
.tpr-grid-gallery-filter .tpr-grid-gallery-dropdown-group,
.tpr-grid-gallery-wrapper .tpr-grid-gallery-dropdown-group,
.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown-group {
	display: flex;
	flex-direction: column;
	gap: 4px;
	/* Width set by JS: --tpr-grid-gallery-select-uniform-width = longest option + padding (all selects match) */
	width: var(--tpr-grid-gallery-select-uniform-width, 175px);
	min-width: 0;
	max-width: 100%;
	flex-shrink: 1;
	box-sizing: border-box;
}
.tpr-grid-gallery-filters .tpr-grid-gallery-parent-label,
.tpr-grid-gallery-filter .tpr-grid-gallery-parent-label,
.tpr-grid-gallery-wrapper .tpr-grid-gallery-parent-label,
.tpr-projects-listing-wrapper .tpr-grid-gallery-parent-label {
	display: block;
	color: rgba(255, 255, 255, 0.85);
	font-family: "Poppins", sans-serif;
	font-size: 0.75rem;
	font-weight: 400;
	line-height: 1.2;
	text-transform: lowercase;
}
.tpr-grid-gallery-filters .tpr-grid-gallery-select,
.tpr-grid-gallery-filter .tpr-grid-gallery-select,
.tpr-grid-gallery-wrapper .tpr-grid-gallery-select,
.tpr-projects-listing-wrapper .tpr-grid-gallery-select {
	width: 100%;
	min-width: 0;
	max-width: 100%;
	padding: 0 22px 0 0;
	border: none;
	border-radius: 0;
	background-color: transparent !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M3.5 5.25L7 8.75L10.5 5.25' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat;
	background-size: 14px 14px;
	background-position: right 4px center !important;
	color: #fff !important;
	font-family: "Poppins", sans-serif;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	text-align: left;
	box-sizing: border-box;
}
.tpr-grid-gallery-filters .tpr-grid-gallery-select:focus,
.tpr-grid-gallery-filter .tpr-grid-gallery-select:focus,
.tpr-grid-gallery-wrapper .tpr-grid-gallery-select:focus,
.tpr-projects-listing-wrapper .tpr-grid-gallery-select:focus,
.tpr-grid-gallery-filters .tpr-grid-gallery-select:focus-visible,
.tpr-grid-gallery-filter .tpr-grid-gallery-select:focus-visible,
.tpr-grid-gallery-wrapper .tpr-grid-gallery-select:focus-visible,
.tpr-projects-listing-wrapper .tpr-grid-gallery-select:focus-visible {
	outline: none !important;
	box-shadow: none !important;
	border: none !important;
}
.tpr-grid-gallery-filters .tpr-grid-gallery-dropdown-group:focus-within,
.tpr-grid-gallery-filter .tpr-grid-gallery-dropdown-group:focus-within,
.tpr-grid-gallery-wrapper .tpr-grid-gallery-dropdown-group:focus-within,
.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown-group:focus-within {
	outline: none !important;
	box-shadow: none !important;
	border: none !important;
}
.tpr-grid-gallery-filters .tpr-grid-gallery-select option,
.tpr-grid-gallery-filter .tpr-grid-gallery-select option,
.tpr-grid-gallery-wrapper .tpr-grid-gallery-select option,
.tpr-projects-listing-wrapper .tpr-grid-gallery-select option {
	background-color: #1a2b16;
	color: #fff;
}
/* Submit button removed: options update on change */
.tpr-grid-gallery-filters .tpr-grid-gallery-filter-submit,
.tpr-grid-gallery-filter .tpr-grid-gallery-filter-submit,
.tpr-grid-gallery-wrapper .tpr-grid-gallery-filter-submit,
.tpr-projects-listing-wrapper .tpr-grid-gallery-filter-submit {
	display: none !important;
}

/*
 * Tablet-range fit for multi-dropdown pills (e.g. 3-filter galleries bar):
 * JS sets --tpr-grid-gallery-select-uniform-width from the longest option + padding,
 * which at 768–1200px pushes 3 groups past one row. They wrap, and the pill content
 * overflows its fit-content wrapper, clipping "view by" at the rounded edge.
 * Let the groups shrink to share the pill width; long option text falls back to the
 * existing ellipsis on .tpr-grid-gallery-select.
 * Scoped to :has(3+ groups) so single-filter pills keep their natural width.
 */
@media (min-width: 768px) and (max-width: 1200px) {
	.tpr-grid-gallery-dropdown:has(.tpr-grid-gallery-dropdown-group:nth-of-type(3)) {
		width: 100%;
		gap: 0.5rem 1rem;
		padding-left: 20px;
		padding-right: 16px;
	}
	.tpr-grid-gallery-dropdown:has(.tpr-grid-gallery-dropdown-group:nth-of-type(3)) .tpr-grid-gallery-dropdowns {
		gap: 0.75rem 1.25rem;
		flex: 1 1 auto;
		min-width: 0;
		flex-wrap: nowrap;
	}
	.tpr-grid-gallery-dropdown:has(.tpr-grid-gallery-dropdown-group:nth-of-type(3)) .tpr-grid-gallery-dropdown-group {
		flex: 1 1 0;
		width: auto;
		min-width: 0;
	}
}

/*
 * Projects archive loop (Additional CSS class: tpr-projects-listing-wrapper):
 * host wraps JS-injected .tpr-grid-gallery-dropdown (gallery-style pill lives on that inner element).
 * Reused loops that query another CPT keep this class for layout but omit the bar: data-tpr-projects-listing-auto-filter="0"
 * from PHP, or add Additional CSS class tpr-projects-listing-no-filter.
 */

/*
 * Loop builder sits in a Spectra inner column that uses align-items: center; without full width the
 * block can shrink, and the sticky filter row sits outside the padded loop grid wrapper — so the pill
 * lines up too far left vs headings and cards. Stretch to the inner column and match grid wrapper inset.
 */
.tpr-projects-listing-wrapper.wp-block-uagb-loop-builder {
	align-self: stretch !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

.tpr-projects-listing-wrapper .wp-block-uagb-container.uagb-block-63074caf {
	display: flex !important;
	justify-content: flex-start !important;
	align-items: center !important;
	box-sizing: border-box;
}
/* When stuck, JS sets inline width from the flow-measured rect; don't override. */
.tpr-projects-listing-wrapper .wp-block-uagb-container.uagb-block-63074caf:not(.uagb-position__sticky--stuck) {
	width: 100% !important;
}

/* Match horizontal padding of the loop grid’s outer Spectra container (e.g. 24px ≤976px in editor CSS). */
@media only screen and (max-width: 976px) {
	.tpr-projects-listing-wrapper > .uagb-position__sticky.wp-block-uagb-container,
	.tpr-projects-listing-wrapper > .tpr-projects-listing-filter-mount {
		padding-left: 24px;
		padding-right: 24px;
		padding-inline: 24px;
		box-sizing: border-box;
	}
}

.tpr-projects-listing-wrapper .wp-block-uagb-container.uagb-block-703b52f5,
.tpr-projects-listing-wrapper .tpr-projects-listing-filter-mount {
	display: flex !important;
	justify-content: flex-start !important;
	align-items: center !important;
	width: auto !important;
	max-width: 100%;
	min-width: 0;
	margin: 0;
	padding: 0;
	background: transparent !important;
	border-radius: 0;
	box-sizing: border-box;
	flex: 0 0 auto !important;
	align-self: flex-start;
}
/* Filter injected outside #uagb-block-queryid-* (see tpr-product-filter-default.js); hide empty in-loop slot. */
.tpr-projects-listing-wrapper:has(.tpr-projects-listing-filter-mount .tpr-grid-gallery-dropdown) .uagb-loop-container .uagb-block-703b52f5 {
	display: none !important;
}
.tpr-projects-listing-wrapper .wp-block-uagb-container.uagb-block-703b52f5 .tpr-grid-gallery-dropdown,
.tpr-projects-listing-wrapper .tpr-projects-listing-filter-mount .tpr-grid-gallery-dropdown {
	margin-left: 0;
	margin-right: 0;
	width: fit-content !important;
	max-width: 100%;
	flex: 0 0 auto !important;
}
.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown .tpr-grid-gallery-dropdowns {
	width: fit-content !important;
	max-width: 100%;
	flex: 0 0 auto !important;
}

/*
 * Projects listing: flat taxonomy as pill buttons — one green bar with “view by” + buttons in a row
 * (same idea as grid gallery / Our Range filter pill, not label stacked above a second pill).
 */
.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown.tpr-grid-gallery-dropdown--buttons {
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	/* Match product .uagb-loop-category-inner / .uagb-buttons__wrap */
	gap: 0.5em !important;
	background-color: #0f2902 !important;
	border-radius: 999px !important;
	padding: 11px 24px !important;
	margin: 0 !important;
	width: fit-content !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box;
	overflow: visible;
}

/* Flat project filter pill — wins over Spectra/UAGB (FAQ, related projects, …). */
.tpr-grid-gallery-dropdown.tpr-grid-gallery-dropdown--buttons[data-tpr-flat="1"] {
	padding: 11px 24px !important;
	padding-block: 11px !important;
	padding-inline: 24px !important;
	box-sizing: border-box !important;
}
.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown--buttons .tpr-product-filter-label {
	display: inline-flex !important;
	align-items: center !important;
	align-self: center !important;
	margin: 0 !important;
	padding: 0 !important;
	flex-shrink: 0;
}
.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown--buttons .tpr-product-filter-label,
.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown--buttons .tpr-product-filter-label * {
	color: #fff !important;
	font-family: var(--typography-font-family-font-decorative, "Hamilton Script"), "Hamilton Script fallback", cursive !important;
	font-size: 26px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	/* Tighter than global footer label (20px) so script aligns with 13px pill caps in one flex row. */
	line-height: 1 !important;
	white-space: nowrap !important;
}
.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown--buttons .tpr-projects-listing-filter-inner {
	display: flex !important;
	/* Match .tpr-product-filter-inner-container .uagb-loop-category-inner (single row with label + pills). */
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	/* Same as .tpr-product-filter-inner-container .uagb-loop-category-inner */
	gap: 0.5em !important;
	width: fit-content !important;
	max-width: 100% !important;
	flex: 0 1 auto !important;
	min-width: 0 !important;
	box-sizing: border-box;
	background: transparent !important;
	border-radius: 0 !important;
	padding: 0 !important;
}
.tpr-grid-gallery-dropdown.tpr-grid-gallery-dropdown--buttons[data-tpr-flat="1"] .tpr-projects-listing-filter-inner {
	gap: 0.5em !important;
}
.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown--buttons .tpr-projects-listing-filter-btn {
	font-family: "Poppins", sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.2;
	cursor: pointer;
	white-space: nowrap;
	border: none !important;
	border-radius: 999px !important;
	outline: none !important;
	box-shadow: none !important;
	padding: 10px 14px !important;
	margin: 0 !important;
	background-color: #273e1b !important;
	color: #fff !important;
}
.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown--buttons .tpr-projects-listing-filter-btn:not(.tpr-filter-active),
.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown--buttons .tpr-projects-listing-filter-btn:not(.tpr-filter-active) * {
	color: #fff !important;
}
.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown--buttons .tpr-projects-listing-filter-btn.tpr-filter-active {
	background-color: #beef3c !important;
	color: #1a2b16 !important;
}
.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown--buttons .tpr-projects-listing-filter-btn.tpr-filter-active * {
	background-color: #beef3c !important;
	color: #1a2b16 !important;
}
@media (max-width: 600px) {
	.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown--buttons .tpr-projects-listing-filter-inner {
		flex-wrap: wrap !important;
	}
}

/* Related projects (single project page) reuses .tpr-projects-listing-wrapper for styling; hide the
   auto-injected "view by" filter bar — carousel navigation replaces it. JS also skips injection. */
.tpr-related-projects-carousel .tpr-projects-listing-filter-mount,
.tpr-related-projects-carousel .wp-block-uagb-container.uagb-block-703b52f5,
.tpr-related-projects-carousel .tpr-grid-gallery-filter-placeholder,
.tpr-related-projects-carousel .tpr-grid-gallery-dropdown--buttons {
	display: none !important;
}

/* Projects filter mobile: swap the button row for a native <select> (mirrors Our Range dropdown). */
.tpr-projects-listing-wrapper .tpr-projects-listing-filter-select-wrap {
	display: none;
	align-items: center;
	gap: 0.5em;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
.tpr-projects-listing-wrapper .tpr-projects-listing-filter-select-wrap .tpr-product-filter-label {
	/* Wins over `.tpr-grid-gallery-dropdown--buttons .tpr-product-filter-label { padding:0 !important }` above. */
	padding-left: 16px !important;
	padding-right: 20px !important;
	flex-shrink: 0;
}
.tpr-projects-listing-wrapper .tpr-projects-listing-filter-select-wrap .tpr-projects-listing-filter-select {
	margin-left: auto;
}
@media (max-width: 1087px) {
	/* Stretch the mount row so the pill can grow to the content width. */
	.tpr-projects-listing-wrapper .wp-block-uagb-container.uagb-block-703b52f5,
	.tpr-projects-listing-wrapper .tpr-projects-listing-filter-mount {
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 auto !important;
		align-self: stretch !important;
		min-width: 0 !important;
	}
	/* Container spans its row so the select can size up without wrapping.
	   Selector matches the specificity of the fit-content rule above (.uagb-block-703b52f5 /
	   .tpr-projects-listing-filter-mount chain) so it actually wins on mobile. */
	.tpr-projects-listing-wrapper .wp-block-uagb-container.uagb-block-703b52f5 .tpr-grid-gallery-dropdown.tpr-grid-gallery-dropdown--buttons,
	.tpr-projects-listing-wrapper .tpr-projects-listing-filter-mount .tpr-grid-gallery-dropdown.tpr-grid-gallery-dropdown--buttons {
		width: 100% !important;
		max-width: 100% !important;
		justify-content: flex-start !important;
		padding: 10px !important;
	}
	.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown--buttons .tpr-projects-listing-filter-inner {
		display: none !important;
	}
	.tpr-projects-listing-wrapper .tpr-projects-listing-filter-select-wrap {
		display: flex !important;
	}
	/* Keep centre alignment honoured when the mount is forced full-width. */
	.filters-centre-align.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown--buttons {
		justify-content: center !important;
	}
	.filters-centre-align.tpr-projects-listing-wrapper .tpr-projects-listing-filter-select-wrap {
		justify-content: center !important;
	}
	/* Left-align honoured on mobile: host stretches and pill sits flush-left. */
	.filters-left-align.tpr-projects-listing-wrapper .tpr-projects-listing-filter-mount,
	.filters-left-align.tpr-projects-listing-wrapper .wp-block-uagb-container.uagb-block-703b52f5,
	.filters-left-align .tpr-projects-listing-wrapper .tpr-projects-listing-filter-mount,
	.filters-left-align .tpr-projects-listing-wrapper .wp-block-uagb-container.uagb-block-703b52f5 {
		justify-content: flex-start !important;
		width: 100% !important;
		max-width: 100% !important;
	}
	.filters-left-align.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown--buttons,
	.filters-left-align .tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown--buttons {
		margin-left: 0 !important;
		margin-right: auto !important;
		justify-content: flex-start !important;
	}
}

/* Tablet: enough room for label + select without stretching — shrink to fit-content, left-align. */
@media (min-width: 768px) and (max-width: 1087px) {
	.tpr-projects-listing-wrapper .wp-block-uagb-container.uagb-block-703b52f5 .tpr-grid-gallery-dropdown.tpr-grid-gallery-dropdown--buttons,
	.tpr-projects-listing-wrapper .tpr-projects-listing-filter-mount .tpr-grid-gallery-dropdown.tpr-grid-gallery-dropdown--buttons {
		width: fit-content !important;
		max-width: 100% !important;
		margin-right: auto !important;
	}
	.tpr-projects-listing-wrapper .tpr-projects-listing-filter-select-wrap {
		width: auto !important;
	}
	.tpr-projects-listing-wrapper .tpr-projects-listing-filter-select-wrap .tpr-projects-listing-filter-select {
		margin-left: 0;
	}
	/* Centre-align: keep pill fit-content but centred by the mount. */
	.filters-centre-align.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown--buttons {
		margin-left: auto !important;
		margin-right: auto !important;
	}
}

.wp-block-uagb-loop-builder.tpr-filter-bar-loading .tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown--buttons {
	position: relative;
	margin-bottom: 1.75rem;
	pointer-events: none;
}
.wp-block-uagb-loop-builder.tpr-filter-bar-loading .tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown--buttons::after {
	content: "";
	position: absolute;
	left: 50%;
	top: calc(100% + 8px);
	width: 1.125rem;
	height: 1.125rem;
	border: 2px solid rgba(15, 41, 2, 0.2);
	border-top-color: #0f2902;
	border-radius: 50%;
	box-sizing: border-box;
	animation: tpr-filter-bar-spin 0.65s linear infinite;
	pointer-events: none;
}

/*
 * Project single: “Back to projects” / “Next project” — one row, space-between (far left / far right) at all breakpoints.
 * Template block uagb-block-711f755c; add Additional CSS class `tpr-project-post-nav` if the block ID changes.
 */
.wp-block-uagb-container.uagb-block-711f755c .uagb-container-inner-blocks-wrap,
.wp-block-uagb-container.tpr-project-post-nav .uagb-container-inner-blocks-wrap {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	justify-content: space-between !important;
	align-items: center !important;
	width: 100% !important;
	box-sizing: border-box;
	gap: 0.75rem;
}

.wp-block-uagb-container.uagb-block-711f755c .uagb-container-inner-blocks-wrap > .wp-block-uagb-container,
.wp-block-uagb-container.tpr-project-post-nav .uagb-container-inner-blocks-wrap > .wp-block-uagb-container {
	flex: 0 1 auto !important;
	min-width: 0 !important;
	width: auto !important;
	max-width: none !important;
	display: flex !important;
	align-items: center !important;
}

.wp-block-uagb-container.uagb-block-711f755c > .uagb-container-inner-block,
.wp-block-uagb-container.tpr-project-post-nav > .uagb-container-inner-block {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	justify-content: space-between !important;
	align-items: center !important;
	width: 100% !important;
}

.wp-block-uagb-container.uagb-block-711f755c .uagb-buttons__wrap,
.wp-block-uagb-container.tpr-project-post-nav .uagb-buttons__wrap {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	justify-content: space-between !important;
	align-items: center !important;
	width: 100% !important;
}

.wp-block-uagb-container.uagb-block-711f755c .wp-block-uagb-buttons.uagb-buttons__outer-wrap,
.wp-block-uagb-container.tpr-project-post-nav .wp-block-uagb-buttons.uagb-buttons__outer-wrap {
	justify-content: space-between !important;
	width: 100% !important;
}

/* Spectra Info Box: back = start, next = end */
.wp-block-uagb-container.uagb-block-711f755c .wp-block-uagb-info-box.uagb-infobox__content-wrap.uagb-infobox-left,
.wp-block-uagb-container.tpr-project-post-nav .wp-block-uagb-info-box.uagb-infobox__content-wrap.uagb-infobox-left {
	justify-content: flex-start !important;
	text-align: left !important;
}

.wp-block-uagb-container.uagb-block-711f755c .wp-block-uagb-info-box.uagb-infobox__content-wrap.uagb-infobox-right,
.wp-block-uagb-container.tpr-project-post-nav .wp-block-uagb-info-box.uagb-infobox__content-wrap.uagb-infobox-right {
	justify-content: flex-end !important;
	text-align: right !important;
}

.wp-block-uagb-container.uagb-block-711f755c .wp-block-uagb-info-box.uagb-infobox-icon-left.uagb-infobox__content-wrap,
.wp-block-uagb-container.uagb-block-711f755c .wp-block-uagb-info-box.uagb-infobox-icon-left-title.uagb-infobox__content-wrap,
.wp-block-uagb-container.tpr-project-post-nav .wp-block-uagb-info-box.uagb-infobox-icon-left.uagb-infobox__content-wrap,
.wp-block-uagb-container.tpr-project-post-nav .wp-block-uagb-info-box.uagb-infobox-icon-left-title.uagb-infobox__content-wrap {
	justify-content: flex-start !important;
}

.wp-block-uagb-container.uagb-block-711f755c .wp-block-uagb-info-box.uagb-infobox-icon-right.uagb-infobox__content-wrap,
.wp-block-uagb-container.uagb-block-711f755c .wp-block-uagb-info-box.uagb-infobox-icon-right-title.uagb-infobox__content-wrap,
.wp-block-uagb-container.tpr-project-post-nav .wp-block-uagb-info-box.uagb-infobox-icon-right.uagb-infobox__content-wrap,
.wp-block-uagb-container.tpr-project-post-nav .wp-block-uagb-info-box.uagb-infobox-icon-right-title.uagb-infobox__content-wrap {
	justify-content: flex-end !important;
}

.wp-block-uagb-container.uagb-block-711f755c .uagb-ifb-left-title-image,
.wp-block-uagb-container.tpr-project-post-nav .uagb-ifb-left-title-image {
	display: inline-flex !important;
	width: auto !important;
	max-width: 100% !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.wp-block-uagb-container.uagb-block-711f755c .uagb-ifb-right-title-image,
.wp-block-uagb-container.tpr-project-post-nav .uagb-ifb-right-title-image {
	display: inline-flex !important;
	width: auto !important;
	max-width: 100% !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	margin-left: auto !important;
	margin-right: 0 !important;
}

.wp-block-uagb-container.uagb-block-711f755c .uagb-ifb-left-right-wrap,
.wp-block-uagb-container.tpr-project-post-nav .uagb-ifb-left-right-wrap {
	display: inline-flex !important;
	width: auto !important;
	max-width: 100% !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
}

.wp-block-uagb-container.uagb-block-711f755c .uagb-infobox-left .uagb-ifb-left-right-wrap,
.wp-block-uagb-container.tpr-project-post-nav .uagb-infobox-left .uagb-ifb-left-right-wrap {
	justify-content: flex-start !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.wp-block-uagb-container.uagb-block-711f755c .uagb-infobox-right .uagb-ifb-left-right-wrap,
.wp-block-uagb-container.tpr-project-post-nav .uagb-infobox-right .uagb-ifb-left-right-wrap {
	justify-content: flex-end !important;
	margin-left: auto !important;
	margin-right: 0 !important;
}

.wp-block-uagb-container.uagb-block-711f755c .uagb-ifb-title-wrap,
.wp-block-uagb-container.tpr-project-post-nav .uagb-ifb-title-wrap {
	flex-grow: 0 !important;
	flex-shrink: 1 !important;
	width: auto !important;
	max-width: 100% !important;
}

.wp-block-uagb-container.uagb-block-711f755c .uagb-infobox-left .uagb-ifb-title-wrap,
.wp-block-uagb-container.tpr-project-post-nav .uagb-infobox-left .uagb-ifb-title-wrap {
	text-align: left !important;
}

.wp-block-uagb-container.uagb-block-711f755c .uagb-infobox-right .uagb-ifb-title-wrap,
.wp-block-uagb-container.tpr-project-post-nav .uagb-infobox-right .uagb-ifb-title-wrap {
	text-align: right !important;
}

.wp-block-uagb-container.uagb-block-711f755c .uagb-ifb-left-title-image .uagb-ifb-image-content,
.wp-block-uagb-container.uagb-block-711f755c .uagb-ifb-right-title-image .uagb-ifb-image-content,
.wp-block-uagb-container.uagb-block-711f755c .uagb-ifb-left-title-image .uagb-ifb-icon-wrap,
.wp-block-uagb-container.uagb-block-711f755c .uagb-ifb-right-title-image .uagb-ifb-icon-wrap,
.wp-block-uagb-container.uagb-block-711f755c .uagb-ifb-left-title-image .uagb-iconbox-icon-wrap,
.wp-block-uagb-container.uagb-block-711f755c .uagb-ifb-right-title-image .uagb-iconbox-icon-wrap,
.wp-block-uagb-container.tpr-project-post-nav .uagb-ifb-left-title-image .uagb-ifb-image-content,
.wp-block-uagb-container.tpr-project-post-nav .uagb-ifb-right-title-image .uagb-ifb-image-content,
.wp-block-uagb-container.tpr-project-post-nav .uagb-ifb-left-title-image .uagb-ifb-icon-wrap,
.wp-block-uagb-container.tpr-project-post-nav .uagb-ifb-right-title-image .uagb-ifb-icon-wrap,
.wp-block-uagb-container.tpr-project-post-nav .uagb-ifb-left-title-image .uagb-iconbox-icon-wrap,
.wp-block-uagb-container.tpr-project-post-nav .uagb-ifb-right-title-image .uagb-iconbox-icon-wrap {
	flex-shrink: 0 !important;
}

/* Project card title (advanced heading 4d834723): no underline on linked titles */
.tpr-projects-listing-wrapper .uagb-loop-post .wp-block-uagb-advanced-heading.uagb-block-4d834723 .uagb-heading-text,
.tpr-projects-listing-wrapper .uagb-loop-post .wp-block-uagb-advanced-heading.uagb-block-4d834723 .uagb-heading-text a,
.tpr-projects-listing-wrapper .uagb-loop-post .wp-block-uagb-advanced-heading.uagb-block-4d834723 .uagb-heading-text a:link,
.tpr-projects-listing-wrapper .uagb-loop-post .wp-block-uagb-advanced-heading.uagb-block-4d834723 .uagb-heading-text a:visited,
.tpr-projects-listing-wrapper .uagb-loop-post .wp-block-uagb-advanced-heading.uagb-block-4d834723 .uagb-heading-text a:hover,
.tpr-projects-listing-wrapper .uagb-loop-post .wp-block-uagb-advanced-heading.uagb-block-4d834723 .uagb-heading-text a:focus,
.tpr-projects-listing-wrapper .uagb-loop-post .wp-block-uagb-advanced-heading.uagb-block-4d834723 .uagb-heading-text a:active {
	text-decoration: none !important;
	text-decoration-line: none !important;
}

/* Dropdown replaces Spectra loop-category / buttons in this loop (same idea as .tpr-grid-gallery-wrapper). */
.tpr-projects-listing-wrapper .wp-block-uagb-loop-category,
.tpr-projects-listing-wrapper .uagb-buttons__wrap {
	display: none !important;
}

/*
 * Project cards: outer container is row + wrap with alignleft image → image stays intrinsic width and leaves a gap on wide viewports.
 * Stack image above copy and span full card width; on large desktop crop with object-fit.
 */
.tpr-projects-listing-wrapper .uagb-loop-post-inner > .wp-block-uagb-container {
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
}

.tpr-projects-listing-wrapper .uagb-loop-post-inner > .wp-block-uagb-container > .wp-block-uagb-image {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	flex-shrink: 0;
	align-self: stretch;
	text-align: center;
	justify-content: center;
}

.tpr-projects-listing-wrapper .uagb-loop-post-inner > .wp-block-uagb-container > .wp-block-uagb-image .wp-block-uagb-image__figure {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0;
	align-items: stretch;
}

.tpr-projects-listing-wrapper .uagb-loop-post-inner > .wp-block-uagb-container > .wp-block-uagb-image .wp-block-uagb-image__figure > a {
	display: block !important;
	width: 100% !important;
}

.tpr-projects-listing-wrapper .uagb-loop-post-inner > .wp-block-uagb-container > .wp-block-uagb-image .wp-block-uagb-image__figure {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	position: relative;
	display: block;
}

.tpr-projects-listing-wrapper .uagb-loop-post-inner > .wp-block-uagb-container > .wp-block-uagb-image .wp-block-uagb-image__figure > a {
	position: absolute;
	inset: 0;
}

.tpr-projects-listing-wrapper .uagb-loop-post-inner > .wp-block-uagb-container > .wp-block-uagb-image .wp-block-uagb-image__figure img {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	object-position: center;
	display: block;
}

@media (min-width: 1024px) {
	.tpr-projects-listing-wrapper .uagb-loop-post-inner > .wp-block-uagb-container > .wp-block-uagb-image .wp-block-uagb-image__figure {
		border-top-left-radius: 30px;
		border-top-right-radius: 30px;
	}
}

/*
 * Related projects (Additional CSS class on container: tpr-related-projects-carousel).
 * JS adds .tpr-related-projects-carousel--has-arrows when there are more than three posts.
 * Layout: [prev] | viewport | [next]; scroll inside viewport. Desktop ~3-up; tablet 2-up; mobile 1-up per view.
 */
.tpr-related-projects-carousel {
	position: relative;
	margin-top: 0;
	margin-bottom: 0;
}

.tpr-related-projects-carousel .wp-block-uagb-loop-builder {
	margin-top: 0;
	margin-bottom: 0;
}

/* Equal-height cards, tidy spacing inside each slide */
.tpr-related-projects-carousel .uagb-loop-post-inner {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	min-height: 22rem;
	height: 100%;
	box-sizing: border-box;
}

.tpr-related-projects-carousel .uagb-loop-post-inner > .wp-block-uagb-container {
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
}

.tpr-related-projects-carousel .uagb-loop-post-inner .wp-block-uagb-image,
.tpr-related-projects-carousel .uagb-loop-post-inner .wp-block-uagb-advanced-heading {
	flex-shrink: 0;
}

.tpr-related-projects-carousel .uagb-loop-post-inner .wp-block-uagb-image img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	height: auto;
}

.tpr-related-projects-carousel--has-arrows .wp-block-uagb-loop-builder.tpr-related-projects-loop-builder--carousel {
	width: 100%;
	max-width: 100%;
}

/* Prev | three-card viewport | next — arrows do not overlap cards */
.tpr-related-projects-carousel--has-arrows .tpr-related-projects-carousel__row {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.tpr-related-projects-carousel--has-arrows .tpr-related-projects-carousel__viewport {
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.tpr-related-projects-carousel--has-arrows .tpr-related-projects-carousel__viewport .uagb-loop-container,
.tpr-related-projects-carousel--has-arrows .tpr-related-projects-carousel__viewport [id^="uagb-block-queryid-"] {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	gap: 1rem;
	padding: 0.25rem 0 0.5rem;
}

.tpr-related-projects-carousel--has-arrows .tpr-related-projects-carousel__viewport .uagb-loop-container::-webkit-scrollbar,
.tpr-related-projects-carousel--has-arrows .tpr-related-projects-carousel__viewport [id^="uagb-block-queryid-"]::-webkit-scrollbar {
	display: none;
}

/* Exactly three cards visible: width is 1/3 of the middle column (not full scroll width) */
.tpr-related-projects-carousel--has-arrows .tpr-related-projects-carousel__viewport .uagb-loop-post {
	--tpr-related-slide: min(calc((100% - 2rem) / 3), 22rem);
	flex: 0 0 var(--tpr-related-slide) !important;
	width: var(--tpr-related-slide) !important;
	min-width: var(--tpr-related-slide) !important;
	max-width: var(--tpr-related-slide) !important;
	scroll-snap-align: start;
	box-sizing: border-box;
}

.tpr-related-projects-carousel__nav {
	width: 3rem;
	height: 3rem;
	border: 1px solid transparent;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	background-color: #0f2902;
	color: #fff;
	transition: background-color 0.2s, transform 0.2s, opacity 0.2s, color 0.2s;
	padding: 0;
	flex-shrink: 0;
	box-shadow: none !important;
	filter: none !important;
}

.tpr-related-projects-carousel__nav:hover:not(.is-disabled) {
	transform: scale(1.05);
	background-color: #d2fc51;
	color: #0f2902;
}

.tpr-related-projects-carousel__nav:hover:not(.is-disabled) > i {
	color: #0f2902;
}

.tpr-related-projects-carousel__nav.is-disabled {
	background-color: rgba(15, 41, 2, 0.1) !important;
	cursor: not-allowed;
	opacity: 0.6;
}

.tpr-related-projects-carousel__nav > i {
	font-size: 1rem;
	line-height: 1;
	color: #fff;
}

/* Tablet: two cards per view (still /3 was unreadably narrow here). */
@media (max-width: 1024px) and (min-width: 783px) {
	.tpr-related-projects-carousel--has-arrows .tpr-related-projects-carousel__viewport .uagb-loop-post {
		--tpr-related-slide: min(calc((100% - 1rem) / 2), 22rem);
		flex: 0 0 var(--tpr-related-slide) !important;
		width: var(--tpr-related-slide) !important;
		min-width: var(--tpr-related-slide) !important;
		max-width: var(--tpr-related-slide) !important;
	}
}

/* Mobile: one full-width slide in the scroll viewport (100% of track, not /3). */
@media (max-width: 782px) {
	.tpr-related-projects-carousel--has-arrows .tpr-related-projects-carousel__row {
		gap: 0.5rem;
	}

	.tpr-related-projects-carousel--has-arrows .tpr-related-projects-carousel__viewport .uagb-loop-post {
		--tpr-related-slide: 100%;
		flex: 0 0 100% !important;
		width: 100% !important;
		min-width: 100% !important;
		max-width: 100% !important;
	}

	.tpr-related-projects-carousel__nav {
		width: 2.5rem;
		height: 2.5rem;
		flex-shrink: 0;
	}

	.tpr-related-projects-carousel .uagb-loop-post-inner {
		min-height: 0;
	}
}

/* ≤3 posts: no carousel row — Spectra may still use multi-column loop widths; stack full width on small screens. */
@media (max-width: 782px) {
	.tpr-related-projects-carousel:not(.tpr-related-projects-carousel--has-arrows) .uagb-loop-container,
	.tpr-related-projects-carousel:not(.tpr-related-projects-carousel--has-arrows) [id^="uagb-block-queryid-"] {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		gap: 1.25rem !important;
		align-items: stretch !important;
	}

	.tpr-related-projects-carousel:not(.tpr-related-projects-carousel--has-arrows) .uagb-loop-container > .uagb-loop-post,
	.tpr-related-projects-carousel:not(.tpr-related-projects-carousel--has-arrows) [id^="uagb-block-queryid-"] > .uagb-loop-post {
		width: 100% !important;
		flex: 0 0 auto !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}
}

/*
 * Related blogs carousel (Additional CSS class on container: tpr-related-blogs-carousel).
 * Mirrors related projects: JS adds --has-arrows when more than three posts.
 */
.tpr-related-blogs-carousel {
	position: relative;
	margin-top: 0;
	margin-bottom: 0;
}

.tpr-related-blogs-carousel .wp-block-uagb-loop-builder {
	margin-top: 0;
	margin-bottom: 0;
}

.tpr-related-blogs-carousel .uagb-loop-post-inner {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	height: 100%;
	box-sizing: border-box;
}

@media (min-width: 1025px) {
	.tpr-related-blogs-carousel--has-arrows .uagb-loop-post-inner {
		min-height: 22rem;
	}
}

.tpr-related-blogs-carousel .uagb-loop-post-inner > .wp-block-uagb-container {
	flex: 1 1 auto;
	min-height: 0;
	display: flex;
	flex-direction: column;
}

.tpr-related-blogs-carousel .uagb-loop-post-inner .wp-block-uagb-image,
.tpr-related-blogs-carousel .uagb-loop-post-inner .wp-block-uagb-advanced-heading {
	flex-shrink: 0;
}

.tpr-related-blogs-carousel .uagb-loop-post-inner .wp-block-uagb-image img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	height: auto;
}

.tpr-related-blogs-carousel--has-arrows .wp-block-uagb-loop-builder.tpr-related-blogs-loop-builder--carousel {
	width: 100%;
	max-width: 100%;
}

.tpr-related-blogs-carousel--has-arrows .tpr-related-blogs-carousel__row {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.tpr-related-blogs-carousel--has-arrows .tpr-related-blogs-carousel__viewport {
	flex: 1 1 auto;
	min-width: 0;
	max-width: 100%;
	box-sizing: border-box;
}

.tpr-related-blogs-carousel--has-arrows .tpr-related-blogs-carousel__viewport .uagb-loop-container,
.tpr-related-blogs-carousel--has-arrows .tpr-related-blogs-carousel__viewport [id^="uagb-block-queryid-"] {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	gap: 1rem;
	padding: 0.25rem 0 0.5rem;
}

.tpr-related-blogs-carousel--has-arrows .tpr-related-blogs-carousel__viewport .uagb-loop-container::-webkit-scrollbar,
.tpr-related-blogs-carousel--has-arrows .tpr-related-blogs-carousel__viewport [id^="uagb-block-queryid-"]::-webkit-scrollbar {
	display: none;
}

.tpr-related-blogs-carousel--has-arrows .tpr-related-blogs-carousel__viewport .uagb-loop-post {
	--tpr-related-blogs-slide: min(calc((100% - 2rem) / 3), 22rem);
	flex: 0 0 var(--tpr-related-blogs-slide) !important;
	width: var(--tpr-related-blogs-slide) !important;
	min-width: var(--tpr-related-blogs-slide) !important;
	max-width: var(--tpr-related-blogs-slide) !important;
	scroll-snap-align: start;
	box-sizing: border-box;
}

.tpr-related-blogs-carousel__nav {
	width: 3rem;
	height: 3rem;
	border: 1px solid transparent;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	background-color: #0f2902;
	color: #fff;
	transition: background-color 0.2s, transform 0.2s, opacity 0.2s, color 0.2s;
	padding: 0;
	flex-shrink: 0;
	box-shadow: none !important;
	filter: none !important;
}

.tpr-related-blogs-carousel__nav:hover:not(.is-disabled) {
	transform: scale(1.05);
	background-color: #d2fc51;
	color: #0f2902;
}

.tpr-related-blogs-carousel__nav:hover:not(.is-disabled) > i {
	color: #0f2902;
}

.tpr-related-blogs-carousel__nav.is-disabled {
	background-color: rgba(15, 41, 2, 0.1) !important;
	cursor: not-allowed;
	opacity: 0.6;
}

.tpr-related-blogs-carousel__nav > i {
	font-size: 1rem;
	line-height: 1;
	color: #fff;
}

@media (max-width: 1024px) and (min-width: 783px) {
	.tpr-related-blogs-carousel--has-arrows .tpr-related-blogs-carousel__viewport .uagb-loop-post {
		--tpr-related-blogs-slide: min(calc((100% - 1rem) / 2), 22rem);
		flex: 0 0 var(--tpr-related-blogs-slide) !important;
		width: var(--tpr-related-blogs-slide) !important;
		min-width: var(--tpr-related-blogs-slide) !important;
		max-width: var(--tpr-related-blogs-slide) !important;
	}
}

@media (max-width: 782px) {
	.tpr-related-blogs-carousel--has-arrows .tpr-related-blogs-carousel__row {
		gap: 0.5rem;
	}

	.tpr-related-blogs-carousel--has-arrows .tpr-related-blogs-carousel__viewport .uagb-loop-post {
		--tpr-related-blogs-slide: 100%;
		flex: 0 0 100% !important;
		width: 100% !important;
		min-width: 100% !important;
		max-width: 100% !important;
	}

	.tpr-related-blogs-carousel__nav {
		width: 2.5rem;
		height: 2.5rem;
		flex-shrink: 0;
	}

	.tpr-related-blogs-carousel .uagb-loop-post-inner {
		min-height: 0;
		height: auto;
	}

	.tpr-related-blogs-carousel--has-arrows .tpr-related-blogs-carousel__viewport .uagb-loop-container,
	.tpr-related-blogs-carousel--has-arrows .tpr-related-blogs-carousel__viewport [id^="uagb-block-queryid-"] {
		align-items: flex-start !important;
	}

	.tpr-related-blogs-carousel--has-arrows .tpr-related-blogs-carousel__viewport .uagb-loop-post {
		height: auto !important;
	}
}

@media (max-width: 782px) {
	.tpr-related-blogs-carousel:not(.tpr-related-blogs-carousel--has-arrows) .uagb-loop-container,
	.tpr-related-blogs-carousel:not(.tpr-related-blogs-carousel--has-arrows) [id^="uagb-block-queryid-"] {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		gap: 1.25rem !important;
		align-items: stretch !important;
	}

	.tpr-related-blogs-carousel:not(.tpr-related-blogs-carousel--has-arrows) .uagb-loop-container > .uagb-loop-post,
	.tpr-related-blogs-carousel:not(.tpr-related-blogs-carousel--has-arrows) [id^="uagb-block-queryid-"] > .uagb-loop-post {
		width: 100% !important;
		flex: 0 0 auto !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}
}

/* Category / pill row: centre on the page (Additional CSS class on UAGB container or group). */
.tpr-centre-align {
	display: flex !important;
	flex-direction: row;
	flex-wrap: wrap;
	justify-content: center !important;
	align-items: center !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center !important;
	box-sizing: border-box;
}

.tpr-centre-align.uagb-is-root-container .uagb-container-inner-blocks-wrap {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
}

.wp-block-group.tpr-centre-align > .wp-block-group__inner-container {
	display: flex !important;
	flex-wrap: wrap !important;
	justify-content: center !important;
	align-items: center !important;
}

/*
 * Hide Spectra category UI only when it appears above each image (inside loop posts).
 * Keep it visible inside .tpr-grid-gallery-filters where the ACF filter belongs.
 */
.tpr-grid-gallery-wrapper .uagb-loop-post .uagb-loop-category-inner,
.tpr-grid-gallery-wrapper .uagb-loop-post .uagb-buttons__wrap {
	display: none !important;
}

/*
 * In the grid gallery filter bar, hide the category buttons row (uagb-buttons__wrap).
 * Only the "View by" dropdown should show; the grid of category buttons stays hidden.
 */
.tpr-grid-gallery-wrapper .uagb-buttons__wrap {
	display: none !important;
}

/*
 * Hide the TPR grid gallery dropdown when it appears inside a loop post (above each image).
 * Only the dropdown in the filter bar (outside .uagb-loop-post) should show.
 */
.tpr-grid-gallery-wrapper .uagb-loop-post .tpr-grid-gallery-dropdown {
	display: none !important;
}

/*
 * In the grid gallery filter bar, hide all Spectra Loop Category blocks (dark green dropdowns).
 * The lime green filter is built by JS from the injected placeholder (gallery-category).
 */
.tpr-grid-gallery-filters .wp-block-uagb-loop-category,
.tpr-grid-gallery-filter .wp-block-uagb-loop-category {
	display: none !important;
}

/* Phase 4: Fallback legacy product filter dropdown */
.tpr-grid-gallery-filters .tpr-product-filter-dropdown,
.tpr-grid-gallery-filter .tpr-product-filter-dropdown,
.tpr-grid-gallery-wrapper .tpr-product-filter-dropdown {
	display: flex !important;
	align-items: center;
	gap: 0.5em;
	background-color: #0F2902;
	border-radius: 999px;
	padding: 10px;
	margin: 20px 0;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}
.tpr-grid-gallery-filters .tpr-product-filter-select,
.tpr-grid-gallery-filter .tpr-product-filter-select,
.tpr-grid-gallery-wrapper .tpr-product-filter-select {
	flex: 1;
	min-width: 0;
	max-width: 260px;
	padding: 10px 80px 10px 10px;
	border: none;
	border-radius: 999px !important;
	background-color: #D2FC51 !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 14 14'%3E%3Cpath d='M3.5 5.25L7 8.75L10.5 5.25' stroke='%231a2b16' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat;
	background-size: 18px 18px;
	background-position: right 10px center !important;
	color: #1a2b16;
	font-family: "Poppins", sans-serif;
	font-size: 1rem;
	font-weight: 700 !important;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
@media (max-width: 900px) {
	.tpr-grid-gallery-filters:has(.tpr-product-filter-dropdown) {
		width: 100% !important;
		max-width: 100% !important;
	}
	.tpr-grid-gallery-filters .tpr-product-filter-dropdown {
		display: flex !important;
	}
}
/* Grid gallery filter: responsive – stay in viewport, no clipping, stacked layout */
@media (max-width: 900px) {
	.tpr-grid-gallery-filters,
	.tpr-grid-gallery-filter {
		width: 100%;
		max-width: 100%;
		padding-left: 16px;
		padding-right: 16px;
		box-sizing: border-box;
	}
	.tpr-grid-gallery-filters .tpr-grid-gallery-dropdown,
	.tpr-grid-gallery-filter .tpr-grid-gallery-dropdown,
	.tpr-grid-gallery-wrapper .tpr-grid-gallery-dropdown {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
		border-radius: 16px;
		padding: 18px 20px 18px 24px;
		gap: 1rem;
	}
	/* Projects pill row: match Our Range .uagb-loop-category-inner (not gallery stacked padding). */
	.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown.tpr-grid-gallery-dropdown--buttons {
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-right: 0;
		border-radius: 999px !important;
		padding: 11px 24px !important;
		gap: 0.5em !important;
	}
	.tpr-grid-gallery-filters .tpr-grid-gallery-dropdowns,
	.tpr-grid-gallery-filter .tpr-grid-gallery-dropdowns,
	.tpr-grid-gallery-wrapper .tpr-grid-gallery-dropdowns {
		width: 100%;
		flex-direction: column;
		align-items: stretch;
		gap: 1rem;
	}
	.tpr-grid-gallery-filters .tpr-grid-gallery-dropdown-group,
	.tpr-grid-gallery-filter .tpr-grid-gallery-dropdown-group,
	.tpr-grid-gallery-wrapper .tpr-grid-gallery-dropdown-group {
		width: 100%;
		min-width: 0;
		max-width: 100%;
	}
	.tpr-grid-gallery-filters .tpr-grid-gallery-select,
	.tpr-grid-gallery-filter .tpr-grid-gallery-select,
	.tpr-grid-gallery-wrapper .tpr-grid-gallery-select {
		width: 100%;
		min-width: 0;
		max-width: 100%;
		box-sizing: border-box;
	}
}
@media (max-width: 767px) {
	.tpr-grid-gallery-filters .tpr-grid-gallery-dropdown,
	.tpr-grid-gallery-filter .tpr-grid-gallery-dropdown,
	.tpr-grid-gallery-wrapper .tpr-grid-gallery-dropdown {
		padding: 16px 18px 16px 22px;
		gap: 0.875rem;
	}
	.tpr-projects-listing-wrapper .tpr-grid-gallery-dropdown.tpr-grid-gallery-dropdown--buttons {
		padding: 11px 24px !important;
		gap: 0.5em !important;
	}
	.tpr-grid-gallery-filters .tpr-grid-gallery-dropdowns,
	.tpr-grid-gallery-filter .tpr-grid-gallery-dropdowns {
		gap: 0.875rem;
	}
	.tpr-grid-gallery-filters .tpr-grid-gallery-dropdown .tpr-product-filter-label,
	.tpr-grid-gallery-filter .tpr-grid-gallery-dropdown .tpr-product-filter-label {
		font-size: 22px !important;
	}
}

/* Product grid: 4 columns on larger desktop */
@media (min-width: 1200px) {
	.tpr-product-listing .uagb-loop-container {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: wrap !important;
		gap: 1.5rem;
		align-items: stretch !important;
	}
	.tpr-product-listing .uagb-loop-container > .uagb-loop-post {
		width: calc((100% - 3 * 1.5rem) / 4) !important;
		flex: 0 0 calc((100% - 3 * 1.5rem) / 4) !important;
		min-width: 0;
	}
}

/*
 * Product listing loop + Load more: Spectra nests a UAGB container (loop grid + pagination) with
 * justify-content:center; when that column is taller than its content, flex-start rules on the loop
 * builder do not reach this wrapper — extra space reads as a huge gap above/below Load more.
 */
#tpr-product-listing .wp-block-uagb-loop-builder > .wp-block-uagb-container:not(.uagb-position__sticky) {
	justify-content: flex-start !important;
	align-content: flex-start !important;
}

#tpr-product-listing .wp-block-uagb-loop-builder > .wp-block-uagb-container:not(.uagb-position__sticky) .uagb-loop-container {
	align-content: flex-start !important;
	flex: 0 1 auto !important;
	min-height: 0;
}

#tpr-product-listing.uagb-is-root-container > .uagb-container-inner-blocks-wrap {
	justify-content: flex-start !important;
}

#tpr-product-listing .uagb-loop-pagination {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

#tpr-product-listing .tpr-load-more-pagination__wrap {
	margin-top: 0 !important;
}

/* Locations listing: remove underline from text and links */
.tpr-locations-listing,
.tpr-locations-listing a,
.tpr-locations-listing * {
	text-decoration: none !important;
}

/* Locations listing images: 1:1 aspect ratio, width based on container */
.tpr-locations-listing .tpr-locations-image,
.tpr-locations-listing .tpr-locations-image figure,
.tpr-locations-listing .tpr-locations-image .wp-block-uagb-image__figure {
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}
.tpr-locations-listing .tpr-locations-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/*
 * Locations listing: every second row — full-viewport #FAFBFA stripe (breaks out of narrow / ~90% content wrappers).
 * Same breakout pattern as .tpr-gallery-container; ancestors must not clip horizontally.
 */
.tpr-locations-listing,
.tpr-location-listings-root,
.wp-block-uagb-container.uagb-block-af4b8ed2 {
	overflow-x: visible !important;
}

.wp-block-post-content:has(.tpr-location-listings-root .uagb-loop-post),
.entry-content:has(.tpr-location-listings-root .uagb-loop-post),
.wp-block-post-content:has(.tpr-locations-listing .uagb-loop-post),
.entry-content:has(.tpr-locations-listing .uagb-loop-post),
.wp-block-post-content:has(.wp-block-uagb-container.uagb-block-af4b8ed2 .uagb-loop-post),
.entry-content:has(.wp-block-uagb-container.uagb-block-af4b8ed2 .uagb-loop-post) {
	overflow-x: visible !important;
}

.uagb-container-inner-blocks-wrap:has(.tpr-location-listings-root),
.uagb-container-inner-blocks-wrap:has(> .wp-block-uagb-container.uagb-block-af4b8ed2) {
	overflow-x: visible !important;
}

/* Row stays content-width; stripe is a full-bleed pseudo layer only (avoids stretching loop inner to 100vw). */
.tpr-locations-listing .uagb-loop-container > .uagb-loop-post:nth-child(2n) > .uagb-loop-post-inner,
.tpr-location-listings-root .uagb-loop-container > .uagb-loop-post:nth-child(2n) > .uagb-loop-post-inner,
.wp-block-uagb-container.uagb-block-af4b8ed2 .uagb-loop-container > .uagb-loop-post:nth-child(2n) > .uagb-loop-post-inner {
	position: relative;
	z-index: 0;
	isolation: isolate;
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	background-color: transparent;
}

.tpr-locations-listing .uagb-loop-container > .uagb-loop-post:nth-child(2n) > .uagb-loop-post-inner::before,
.tpr-location-listings-root .uagb-loop-container > .uagb-loop-post:nth-child(2n) > .uagb-loop-post-inner::before,
.wp-block-uagb-container.uagb-block-af4b8ed2 .uagb-loop-container > .uagb-loop-post:nth-child(2n) > .uagb-loop-post-inner::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: 0;
	bottom: 0;
	/* Percent = width of .uagb-loop-post-inner; aligns stripe to viewport like .tpr-gallery-container */
	left: calc(50% - 50vw - var(--wp--style--root--padding-left, 0px));
	width: 100vw;
	max-width: none;
	box-sizing: border-box;
	background-color: #fafbfa;
	pointer-events: none;
}

/* Product listing price: never full width; expand to fit text on one line; padding applied via critical inline styles to override block */
.tpr-product-listing-price {
	width: fit-content !important;
	min-width: min-content;
	max-width: 100%;
	white-space: nowrap;
	flex-shrink: 0;
}

/*
 * Price pill text: at narrow viewports "Enquire for pricing" (19 characters) overflows the pill.
 * Shrink font-size so longer labels still fit inside cards of ~300–400px width.
 * Uses clamp so short labels like "$5-$7 p/w" keep their normal size at wide viewports.
 */
.tpr-product-listing .tpr-product-listing-price .uagb-heading-text {
	font-size: clamp(0.75rem, 1.4vw + 0.5rem, 1.5625rem) !important;
}

/*
 * Product cards: stretch each post to row height, then grow the details column so optional rows
 * (e.g. pot colours) don’t leave a gap in the middle — extra space sits above Light Level and
 * Light/Water line up across the row.
 * UAGB often uses justify-content: space-between on .uagb-loop-post-inner; with only
 * image + price + details (no dimension row), that creates a huge gap between price and title.
 * flex-start keeps blocks stacked from the top; the flex: 1 details column still absorbs height.
 */
.tpr-product-listing .uagb-loop-container > .uagb-loop-post {
	display: flex;
	flex-direction: column;
	align-items: stretch;
}

.tpr-product-listing .uagb-loop-post > .uagb-loop-post-inner {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: flex-start !important;
	align-items: stretch;
	min-height: 0;
	width: 100%;
}

/*
 * Spectra outputs margin-bottom: 40px on the product image column (editor spacing). With row-aligned
 * cards that margin sits inside each tile; on the last row it stacks with the loop gap and reads as
 * extra space before Load more. Strip it only for posts in the last row (per column count).
 *
 * :nth-of-type — not :nth-child — because some loops prepend a non-DIV sibling (e.g. the category
 * <h3> on category-banner pages). :nth-child counts the heading and shifts all positions by one,
 * so only the final card would match and its white bg container would grow 40px taller than its
 * row-mates.
 */
@media (min-width: 977px) {
	#tpr-product-listing .uagb-loop-container > .uagb-loop-post:nth-of-type(4n + 1):nth-last-of-type(-n + 4)
		> .uagb-loop-post-inner
		> .wp-block-uagb-container:has(.tpr-product-listing-carousel),
	#tpr-product-listing .uagb-loop-container > .uagb-loop-post:nth-of-type(4n + 2):nth-last-of-type(-n + 3)
		> .uagb-loop-post-inner
		> .wp-block-uagb-container:has(.tpr-product-listing-carousel),
	#tpr-product-listing .uagb-loop-container > .uagb-loop-post:nth-of-type(4n + 3):nth-last-of-type(-n + 2)
		> .uagb-loop-post-inner
		> .wp-block-uagb-container:has(.tpr-product-listing-carousel),
	#tpr-product-listing .uagb-loop-container > .uagb-loop-post:nth-of-type(4n + 4):nth-last-of-type(-n + 1)
		> .uagb-loop-post-inner
		> .wp-block-uagb-container:has(.tpr-product-listing-carousel),
	.tpr-product-listing .uagb-loop-container > .uagb-loop-post:nth-of-type(4n + 1):nth-last-of-type(-n + 4)
		> .uagb-loop-post-inner
		> .wp-block-uagb-container:has(.tpr-product-listing-carousel),
	.tpr-product-listing .uagb-loop-container > .uagb-loop-post:nth-of-type(4n + 2):nth-last-of-type(-n + 3)
		> .uagb-loop-post-inner
		> .wp-block-uagb-container:has(.tpr-product-listing-carousel),
	.tpr-product-listing .uagb-loop-container > .uagb-loop-post:nth-of-type(4n + 3):nth-last-of-type(-n + 2)
		> .uagb-loop-post-inner
		> .wp-block-uagb-container:has(.tpr-product-listing-carousel),
	.tpr-product-listing .uagb-loop-container > .uagb-loop-post:nth-of-type(4n + 4):nth-last-of-type(-n + 1)
		> .uagb-loop-post-inner
		> .wp-block-uagb-container:has(.tpr-product-listing-carousel) {
		margin-bottom: 0 !important;
	}
}

@media (max-width: 976px) and (min-width: 768px) {
	#tpr-product-listing .uagb-loop-container > .uagb-loop-post:nth-of-type(2n + 1):nth-last-of-type(-n + 2)
		> .uagb-loop-post-inner
		> .wp-block-uagb-container:has(.tpr-product-listing-carousel),
	#tpr-product-listing .uagb-loop-container > .uagb-loop-post:nth-of-type(2n + 2):nth-last-of-type(-n + 1)
		> .uagb-loop-post-inner
		> .wp-block-uagb-container:has(.tpr-product-listing-carousel),
	.tpr-product-listing .uagb-loop-container > .uagb-loop-post:nth-of-type(2n + 1):nth-last-of-type(-n + 2)
		> .uagb-loop-post-inner
		> .wp-block-uagb-container:has(.tpr-product-listing-carousel),
	.tpr-product-listing .uagb-loop-container > .uagb-loop-post:nth-of-type(2n + 2):nth-last-of-type(-n + 1)
		> .uagb-loop-post-inner
		> .wp-block-uagb-container:has(.tpr-product-listing-carousel) {
		margin-bottom: 0 !important;
	}
}

/* Outer wrapper around the details block (when not direct child of post-inner) */
.tpr-product-listing .uagb-loop-post-inner > .wp-block-uagb-container:has(.wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details)) {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: flex-start !important;
	min-height: 0;
}

/* Product card content (plant name, botanical name, pot colours, light/water level): 5% padding around */
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) {
	padding: 5%;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: flex-start !important;
	align-items: stretch;
	align-self: stretch;
	width: 100%;
	min-height: 0;
}

/* UAGB inner wrap (or legacy inner block): must fill details column so margin-top: auto can push attributes to the bottom */
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-blocks-wrap,
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-block {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: flex-start !important;
	min-height: 0;
	align-self: stretch;
	width: 100%;
}

/* Inner block wrapping inner-blocks-wrap (some UAGB templates) */
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-block > .uagb-container-inner-blocks-wrap {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	justify-content: flex-start !important;
	min-height: 0;
	align-self: stretch;
	width: 100%;
}

/*
 * Some products wrap Pot/Light/Water in an inner wp-block-uagb-container (e.g. uagb-block-bdf3cbb8).
 * That block often has editor padding — strip horizontal inset so labels line up with unwrapped rows.
 */
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) .wp-block-uagb-container:has(.tpr-pot-colour-circles),
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) .wp-block-uagb-container:has(.tpr-light-level-icons),
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) .wp-block-uagb-container:has(.tpr-water-level-icons) {
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) .wp-block-uagb-container:has(.tpr-pot-colour-circles) > .uagb-container-inner-blocks-wrap,
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) .wp-block-uagb-container:has(.tpr-light-level-icons) > .uagb-container-inner-blocks-wrap,
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) .wp-block-uagb-container:has(.tpr-water-level-icons) > .uagb-container-inner-blocks-wrap,
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) .wp-block-uagb-container:has(.tpr-pot-colour-circles) > .uagb-container-inner-block,
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) .wp-block-uagb-container:has(.tpr-light-level-icons) > .uagb-container-inner-block,
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) .wp-block-uagb-container:has(.tpr-water-level-icons) > .uagb-container-inner-block {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/*
 * Attribute rows (pot / light / water): optional; may be advanced headings or groups.
 * Do NOT match .uagb-container-inner-blocks-wrap / .uagb-container-inner-block with :has() — that would
 * pin the whole column. Only direct *content* children get margin-top: auto.
 */
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-blocks-wrap > *:has(.tpr-pot-colour-circles),
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-block > .uagb-container-inner-blocks-wrap > *:has(.tpr-pot-colour-circles),
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > *:not(.uagb-container-inner-blocks-wrap):not(.uagb-container-inner-block):has(.tpr-pot-colour-circles) {
	margin-top: auto !important;
}

.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-blocks-wrap:not(:has(.tpr-pot-colour-circles)) > *:has(.tpr-light-level-icons),
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-block > .uagb-container-inner-blocks-wrap:not(:has(.tpr-pot-colour-circles)) > *:has(.tpr-light-level-icons),
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details):not(:has(.tpr-pot-colour-circles)) > *:not(.uagb-container-inner-blocks-wrap):not(.uagb-container-inner-block):has(.tpr-light-level-icons) {
	margin-top: auto !important;
}

/*
 * Pot/water slot spacing: use padding on the Light row wrapper — not ::before/::after or outer flex-wrap.
 * Pseudos + display:flex on wrappers broke the inner p.uagb-heading-text row (label stacked above icons).
 */
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-blocks-wrap:not(:has(.tpr-pot-colour-circles)) > *:has(.tpr-light-level-icons),
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-block > .uagb-container-inner-blocks-wrap:not(:has(.tpr-pot-colour-circles)) > *:has(.tpr-light-level-icons),
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details):not(:has(.tpr-pot-colour-circles)) > *:not(.uagb-container-inner-blocks-wrap):not(.uagb-container-inner-block):has(.tpr-light-level-icons) {
	padding-top: var(--tpr-product-card-pot-slot-height, 2.75rem);
	box-sizing: border-box;
}

.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-blocks-wrap:not(:has(.tpr-water-level-icons)) > *:has(.tpr-light-level-icons),
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-block > .uagb-container-inner-blocks-wrap:not(:has(.tpr-water-level-icons)) > *:has(.tpr-light-level-icons),
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details):not(:has(.tpr-water-level-icons)) > *:not(.uagb-container-inner-blocks-wrap):not(.uagb-container-inner-block):has(.tpr-light-level-icons) {
	padding-bottom: var(--tpr-product-card-water-slot-height, 2.75rem);
	box-sizing: border-box;
}

/* Keep Light label + icons on one line inside product cards (narrow columns) */
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) p.uagb-heading-text:has(.tpr-light-level-icons) {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 1em;
}

/*
 * Product cards: keep content below the title / botanical lines aligned across columns.
 * Title: first advanced heading in the details container (optional class tpr-product-listing-card-title).
 * Botanical: the advanced heading immediately after that title, or class tpr-product-listing-card-botanical.
 * Tune line counts on #tpr-product-listing / .tpr-product-listing.
 */
#tpr-product-listing,
.tpr-product-listing {
	--tpr-product-card-title-lines: 3;
	--tpr-product-card-title-min-height-fallback: 4.5em;
	--tpr-product-card-botanical-lines: 2;
	--tpr-product-card-botanical-min-height-fallback: 3em;
	/* Dimensions line (1bdf1fd0) varies 1–2 lines depending on product; reserve 2 so rows below align. */
	--tpr-product-card-dimensions-lines: 2;
	--tpr-product-card-dimensions-min-height-fallback: 3em;
	/* Match attribute row height (~ label + icons); tune if rows look off */
	--tpr-product-card-pot-slot-height: 2.75rem;
	--tpr-product-card-water-slot-height: 2.75rem;
}

/*
 * Dimensions line (1bdf1fd0): reserve 2 lines of content height so 1-line cards ("60cm High")
 * match the 2-line cards ("760mm W x 170mm D x 165mm H") and the Light / Water rows below line up.
 * content-box sizing lets min-height describe just the text area; padding stays on top so the
 * final box matches the 2-line content card.
 */
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-advanced-heading.uagb-block-1bdf1fd0 .uagb-heading-text,
#tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-advanced-heading.uagb-block-1bdf1fd0 .uagb-heading-text,
#our-price-range .uagb-loop-post-inner .wp-block-uagb-advanced-heading.uagb-block-1bdf1fd0 .uagb-heading-text {
	min-height: var(--tpr-product-card-dimensions-min-height-fallback);
	box-sizing: content-box;
	display: block;
}

@supports (min-height: 3lh) {
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-advanced-heading.uagb-block-1bdf1fd0 .uagb-heading-text,
	#tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-advanced-heading.uagb-block-1bdf1fd0 .uagb-heading-text,
	#our-price-range .uagb-loop-post-inner .wp-block-uagb-advanced-heading.uagb-block-1bdf1fd0 .uagb-heading-text {
		min-height: calc(var(--tpr-product-card-dimensions-lines, 2) * 1lh);
	}
}

/*
 * Title / botanical min-height: target the inner .uagb-heading-text so `1lh` reflects the actual
 * rendered text line-height (title ~32.5px, botanical ~23px) rather than the wrapper's inherited
 * 23px. Otherwise 3-line titles overflow a "3 line" min-height set on the wrapper and adjacent
 * cards with 2-line titles end up shorter — pushing the dimensions row out of alignment.
 */
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .wp-block-uagb-advanced-heading:first-of-type .uagb-heading-text,
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-blocks-wrap > .wp-block-uagb-advanced-heading:first-of-type .uagb-heading-text,
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) .wp-block-uagb-advanced-heading.tpr-product-listing-card-title .uagb-heading-text {
	min-height: var(--tpr-product-card-title-min-height-fallback);
	box-sizing: content-box;
	display: block;
}

/* Botanical line: only reserve min-height when the second heading actually has text (skip empty uagb-block-1624799f) */
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .wp-block-uagb-advanced-heading:first-of-type + .wp-block-uagb-advanced-heading:has(.uagb-heading-text:not(:empty)) .uagb-heading-text,
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-blocks-wrap > .wp-block-uagb-advanced-heading:first-of-type + .wp-block-uagb-advanced-heading:has(.uagb-heading-text:not(:empty)) .uagb-heading-text,
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) .wp-block-uagb-advanced-heading.tpr-product-listing-card-botanical .uagb-heading-text {
	min-height: var(--tpr-product-card-botanical-min-height-fallback);
	box-sizing: content-box;
	display: block;
}

/* Optional subheading blocks (1624799f botanical, af08ab4e placeholder): remove layout when empty so min-height / flex gaps don’t apply. */
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-advanced-heading.uagb-block-1624799f:is(:empty, :not(:has(.uagb-heading-text:not(:empty)))),
.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-advanced-heading.uagb-block-af08ab4e:is(:empty, :not(:has(.uagb-heading-text:not(:empty)))) {
	display: none !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
	border: none !important;
}

/*
 * Spectra scopes heading typography to `.uagb-block-{id}` once per block instance in the saved template.
 * The same id (e.g. 1624799f) reused in multiple Query Loop / Loop Builder templates shares one generated
 * stylesheet — so product-card italic / text-transform can appear on unrelated loops (e.g. homepage).
 * Reset outside shop contexts; re-apply the product botanical line treatment inside listing wrappers.
 */
.uagb-loop-post .wp-block-uagb-advanced-heading.uagb-block-1624799f .uagb-heading-text {
	font-style: normal !important;
	text-transform: none !important;
}

#tpr-product-listing .uagb-loop-post .wp-block-uagb-advanced-heading.uagb-block-1624799f .uagb-heading-text,
.tpr-product-listing .uagb-loop-post .wp-block-uagb-advanced-heading.uagb-block-1624799f .uagb-heading-text,
#our-price-range .uagb-loop-post .wp-block-uagb-advanced-heading.uagb-block-1624799f .uagb-heading-text {
	font-style: italic !important;
	text-transform: capitalize !important;
}

/* Loop card subheading (1624799f): project category / term links — no underline */
.uagb-loop-post .wp-block-uagb-advanced-heading.uagb-block-1624799f .uagb-heading-text a[rel~="tag"],
.uagb-loop-post .wp-block-uagb-advanced-heading.uagb-block-1624799f .uagb-heading-text a[rel~="tag"]:link,
.uagb-loop-post .wp-block-uagb-advanced-heading.uagb-block-1624799f .uagb-heading-text a[rel~="tag"]:visited,
.uagb-loop-post .wp-block-uagb-advanced-heading.uagb-block-1624799f .uagb-heading-text a[rel~="tag"]:hover,
.uagb-loop-post .wp-block-uagb-advanced-heading.uagb-block-1624799f .uagb-heading-text a[rel~="tag"]:focus,
.uagb-loop-post .wp-block-uagb-advanced-heading.uagb-block-1624799f .uagb-heading-text a[rel~="tag"]:active {
	text-decoration: none !important;
	text-decoration-line: none !important;
}

@supports (min-height: 3lh) {
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .wp-block-uagb-advanced-heading:first-of-type .uagb-heading-text,
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-blocks-wrap > .wp-block-uagb-advanced-heading:first-of-type .uagb-heading-text,
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) .wp-block-uagb-advanced-heading.tpr-product-listing-card-title .uagb-heading-text {
		min-height: calc(var(--tpr-product-card-title-lines, 3) * 1lh);
	}

	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .wp-block-uagb-advanced-heading:first-of-type + .wp-block-uagb-advanced-heading:has(.uagb-heading-text:not(:empty)) .uagb-heading-text,
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-blocks-wrap > .wp-block-uagb-advanced-heading:first-of-type + .wp-block-uagb-advanced-heading:has(.uagb-heading-text:not(:empty)) .uagb-heading-text,
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) .wp-block-uagb-advanced-heading.tpr-product-listing-card-botanical .uagb-heading-text {
		min-height: calc(var(--tpr-product-card-botanical-lines, 2) * 1lh);
	}
}

/*
 * ==========================================================================
 * Per-category card layout (option B) — static field maps per category.
 * ==========================================================================
 * tpr-product-card-collapse-empty.js writes:
 *   data-tpr-category   "most-popular" | "desk-plants" | "floor-plants" |
 *                       "hanging-plants" | "pots" | "wall-plants" | "event-pots"
 * Title height is applied per-row by the same JS as an inline min-height on each title
 * element — each visual row reserves just what its tallest title needs, not the whole grid.
 * The CSS fallback below keeps titles readable with 3 lines when JS hasn't run yet.
 *
 * Category layouts
 *   most-popular    title, botanical, dimensions, light, water, pot  (all rows)
 *   desk-plants     title, botanical, dimensions, light, water
 *   floor-plants    title, botanical, dimensions, light, water
 *   hanging-plants  title, botanical, dimensions, light, water
 *   wall-plants     title, botanical, dimensions, light, water
 *   pots            title, dimensions (if present), pot
 *   event-pots      title, dimensions, pot
 *
 * Row block ids (as emitted by the Spectra loop template):
 *   title        .wp-block-uagb-advanced-heading.uagb-block-ce0069f1 (also :first-of-type)
 *   botanical    second advanced-heading in details (ids vary: 1624799f, 4b99e1ed, …)
 *   empty-spacer .wp-block-uagb-advanced-heading.uagb-block-af08ab4e (always hidden already)
 *   dimensions   .wp-block-uagb-advanced-heading.uagb-block-1bdf1fd0
 *   light row    .wp-block-uagb-container:has(.tpr-light-level-icons)
 *   water row    .wp-block-uagb-container:has(.tpr-water-level-icons)
 *   pot row      .wp-block-uagb-container:has(.tpr-pot-colour-circles)
 */

/*
 * Plant categories (desk / floor / hanging / wall): no Pot row, no Pot/Water slot reservation
 * above/below Light. Drop the 2.75rem padding reservations globally added earlier.
 */
.tpr-product-listing[data-tpr-category="desk-plants"] .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-blocks-wrap > *:has(.tpr-light-level-icons),
.tpr-product-listing[data-tpr-category="desk-plants"] .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-block > .uagb-container-inner-blocks-wrap > *:has(.tpr-light-level-icons),
.tpr-product-listing[data-tpr-category="desk-plants"] .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > *:not(.uagb-container-inner-blocks-wrap):not(.uagb-container-inner-block):has(.tpr-light-level-icons),
.tpr-product-listing[data-tpr-category="floor-plants"] .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-blocks-wrap > *:has(.tpr-light-level-icons),
.tpr-product-listing[data-tpr-category="floor-plants"] .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-block > .uagb-container-inner-blocks-wrap > *:has(.tpr-light-level-icons),
.tpr-product-listing[data-tpr-category="floor-plants"] .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > *:not(.uagb-container-inner-blocks-wrap):not(.uagb-container-inner-block):has(.tpr-light-level-icons),
.tpr-product-listing[data-tpr-category="hanging-plants"] .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-blocks-wrap > *:has(.tpr-light-level-icons),
.tpr-product-listing[data-tpr-category="hanging-plants"] .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-block > .uagb-container-inner-blocks-wrap > *:has(.tpr-light-level-icons),
.tpr-product-listing[data-tpr-category="hanging-plants"] .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > *:not(.uagb-container-inner-blocks-wrap):not(.uagb-container-inner-block):has(.tpr-light-level-icons),
.tpr-product-listing[data-tpr-category="wall-plants"] .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-blocks-wrap > *:has(.tpr-light-level-icons),
.tpr-product-listing[data-tpr-category="wall-plants"] .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-block > .uagb-container-inner-blocks-wrap > *:has(.tpr-light-level-icons),
.tpr-product-listing[data-tpr-category="wall-plants"] .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > *:not(.uagb-container-inner-blocks-wrap):not(.uagb-container-inner-block):has(.tpr-light-level-icons) {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/*
 * Pot categories (pots / event-pots): hide the botanical-name row and the Light / Water rows
 * outright. The dimensions row is NOT hidden here — the collapse JS hides it per-card when empty
 * and keeps it when a product has dimensions content.
 */
.tpr-product-listing[data-tpr-category="pots"] .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .wp-block-uagb-advanced-heading:first-of-type + .wp-block-uagb-advanced-heading,
.tpr-product-listing[data-tpr-category="pots"] .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-blocks-wrap > .wp-block-uagb-advanced-heading:first-of-type + .wp-block-uagb-advanced-heading,
.tpr-product-listing[data-tpr-category="event-pots"] .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .wp-block-uagb-advanced-heading:first-of-type + .wp-block-uagb-advanced-heading,
.tpr-product-listing[data-tpr-category="event-pots"] .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-blocks-wrap > .wp-block-uagb-advanced-heading:first-of-type + .wp-block-uagb-advanced-heading,
.tpr-product-listing[data-tpr-category="pots"] .uagb-loop-post-inner .wp-block-uagb-container:has(.tpr-light-level-icons),
.tpr-product-listing[data-tpr-category="event-pots"] .uagb-loop-post-inner .wp-block-uagb-container:has(.tpr-light-level-icons),
.tpr-product-listing[data-tpr-category="pots"] .uagb-loop-post-inner .wp-block-uagb-container:has(.tpr-water-level-icons),
.tpr-product-listing[data-tpr-category="event-pots"] .uagb-loop-post-inner .wp-block-uagb-container:has(.tpr-water-level-icons) {
	display: none !important;
}

@media (max-width: 767px) {
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:not(:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details)):not(.tpr-product-listing-price),
	.tpr-product-listing .uagb-loop-post-inner .uagb-container-inner-block {
		padding-left: var(--wp--style--root--padding-left, 1.5rem) !important;
		padding-right: var(--wp--style--root--padding-right, 1.5rem) !important;
	}
	/* Plant details block: 5% padding (excluded from root padding override above) */
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) {
		padding: 5% !important;
	}
	/* Price block: 5% padding left/right to match content below */
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container.tpr-product-listing-price {
		padding-left: 5% !important;
		padding-right: 5% !important;
	}
}

/* ==========================================================================
   TPR Product Listing Carousel – grey circular arrows, one slide visible
   ========================================================================== */

.tpr-product-listing-carousel {
	position: relative;
	overflow: hidden;
	border-radius: 30px 30px 0 0;
	aspect-ratio: 3 / 4;
	width: 100%;
	min-width: 0;
}

/* No image: minimal placeholder so layout doesn't break */
.tpr-product-listing-carousel.tpr-product-listing-image--empty {
	min-height: 120px;
	background: rgba(0, 0, 0, 0.04);
}

.tpr-product-listing-carousel__track {
	display: flex;
	overflow: visible;
	transition: transform 0.3s ease;
	width: calc(100% * var(--tpr-slide-count, 1));
}

.tpr-product-listing-carousel__slide {
	flex: 0 0 calc(100% / var(--tpr-slide-count, 1));
	min-width: 0;
	position: relative;
	aspect-ratio: 3 / 4;
}

.tpr-product-listing-carousel__slide img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	border-radius: 30px 30px 0 0;
}

/* White circular arrows: 100% white bg, #0F2902 chevron */
.tpr-product-listing-carousel--has-arrows .tpr-product-listing-carousel__prev,
.tpr-product-listing-carousel--has-arrows .tpr-product-listing-carousel__next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 2.5rem;
	height: 2.5rem;
	padding: 0;
	border: none;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 10;
	background-color: #fff;
	color: #0F2902;
	transition: transform 0.2s;
}

.tpr-product-listing-carousel--has-arrows .tpr-product-listing-carousel__prev:hover:not(.is-disabled),
.tpr-product-listing-carousel--has-arrows .tpr-product-listing-carousel__next:hover:not(.is-disabled) {
	transform: translateY(-50%) scale(1.08);
}

.tpr-product-listing-carousel__prev > i,
.tpr-product-listing-carousel__next > i {
	font-size: 1.125rem;
	line-height: 1;
	flex-shrink: 0;
	color: #0F2902;
}

.tpr-product-listing-carousel__prev > svg,
.tpr-product-listing-carousel__next > svg {
	width: 1.125rem;
	height: 1.125rem;
	flex-shrink: 0;
	fill: #0F2902;
}

.tpr-product-listing-carousel__prev {
	left: 0.75rem;
}

.tpr-product-listing-carousel__next {
	right: 0.75rem;
}

.tpr-product-listing-carousel__prev.is-disabled,
.tpr-product-listing-carousel__next.is-disabled {
	opacity: 0.4;
	cursor: not-allowed;
	outline: none;
}

/* ==========================================================================
   TPR Load More Pagination – pill shape, forest-050 bg
   ========================================================================== */

.tpr-load-more-pagination__wrap {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 1.5rem;
}

.tpr-load-more-pagination__wrap--hidden {
	display: none;
}

/*
 * Hide Spectra's numbered pagination (1 2 3 … Next) inside TPR loops when JS is on.
 * SSR usually swaps it to Load more, but some contexts (synced/reusable blocks,
 * filter/sort AJAX responses before fetch-intercept runs) can briefly show the
 * original numbered buttons. Our own .tpr-load-more-btn / .tpr-load-more-pagination__wrap
 * stay visible; no-JS users still get the full numbered pagination.
 */
body.js #tpr-product-listing .uagb-loop-pagination > :not(.tpr-load-more-pagination__wrap):not(.tpr-load-more-btn),
body.js #our-price-range .uagb-loop-pagination > :not(.tpr-load-more-pagination__wrap):not(.tpr-load-more-btn),
body.js .tpr-product-filter-outer-container .uagb-loop-pagination > :not(.tpr-load-more-pagination__wrap):not(.tpr-load-more-btn),
body.js .tpr-resources-filter-outer-container .uagb-loop-pagination > :not(.tpr-load-more-pagination__wrap):not(.tpr-load-more-btn),
body.js .tpr-grid-gallery-wrapper .uagb-loop-pagination > :not(.tpr-load-more-pagination__wrap):not(.tpr-load-more-btn) {
	display: none !important;
}

.tpr-load-more-btn {
	display: flex;
	padding: 10px 16px;
	justify-content: center;
	align-items: center;
	gap: 6px;
	border-radius: var(--border-border-radius-rounded-full, 9999px);
	background: var(--colors-forest-050, #E7EAE6);
	color: #0F2902;
	border: none;
	font-family: "Poppins", sans-serif;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
	transition: opacity 0.2s, background-color 0.2s;
	-webkit-appearance: none;
	appearance: none;
}

.tpr-load-more-btn:hover:not(:disabled) {
	opacity: 0.9;
}

.tpr-load-more-btn:disabled,
.tpr-load-more-btn.is-loading {
	opacity: 0.7;
	cursor: wait;
}

/* ==========================================================================
   TPR Pot Colour Circles – overlapping circles for pot colours
   ========================================================================== */

.tpr-pot-colour-circles {
	display: inline-flex;
	align-items: center;
	width: 80px; /* Align with light/water icons (3×24px + 2×4px) */
	vertical-align: middle;
	justify-content: flex-end;
}

/* 1–3 circles: align to right, no large gap */
.tpr-pot-colour-circles--few {
	justify-content: flex-end;
}

.tpr-pot-colour-circles--few .tpr-pot-colour-circle {
	margin-left: 4px;
}

.tpr-pot-colour-circles--few .tpr-pot-colour-circle:first-child {
	margin-left: 0;
}

/* 4+ circles: overlap, aligned to right */
.tpr-pot-colour-circles--many {
	justify-content: flex-end;
}

.tpr-pot-colour-circles--many .tpr-pot-colour-circle {
	margin-left: calc((56px / (var(--tpr-pot-count) - 1)) - 24px);
}

.tpr-pot-colour-circles--many .tpr-pot-colour-circle:first-child {
	margin-left: 0;
}

.tpr-pot-colour-circle {
	display: inline-block;
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: none;
	flex-shrink: 0;
	box-sizing: border-box;
}

.tpr-pot-colour-circle--outline {
	border: 1px solid #1a1a1a;
}

/* Pot colour images: circular crop, same size as colour circles */
.tpr-pot-colour-circle--image {
	object-fit: cover;
	border-radius: 50%;
	display: inline-block;
	border: 1px solid #B7BFB3;
}

/* ==========================================================================
   TPR Light Level Icons – sun icons for high / medium / low light
   ========================================================================== */

.tpr-light-level-icons {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 4px;
	vertical-align: middle;
}

.tpr-light-level-icons .tpr-light-level-icon {
	display: inline-block;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

/* ==========================================================================
   TPR Water Level Icons – water droplet icons for high / medium / low
   ========================================================================== */

.tpr-water-level-icons {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 4px;
	vertical-align: middle;
}

.tpr-water-level-icons .tpr-water-level-icon {
	display: inline-block;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

/* Product card: Pot colours, Light level, Water level – label left, options right */
.uagb-loop-post .wp-block-uagb-advanced-heading p.uagb-heading-text:has(.tpr-pot-colour-circles),
.uagb-loop-post .wp-block-uagb-advanced-heading p.uagb-heading-text:has(.tpr-light-level-icons),
.uagb-loop-post .wp-block-uagb-advanced-heading p.uagb-heading-text:has(.tpr-water-level-icons) {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	align-items: center;
	gap: 1em;
	min-height: 24px;
}
.uagb-loop-post .wp-block-uagb-advanced-heading p.uagb-heading-text:has(.tpr-pot-colour-circles) .tpr-pot-colour-circles,
.uagb-loop-post .wp-block-uagb-advanced-heading p.uagb-heading-text:has(.tpr-light-level-icons) .tpr-light-level-icons,
.uagb-loop-post .wp-block-uagb-advanced-heading p.uagb-heading-text:has(.tpr-water-level-icons) .tpr-water-level-icons {
	flex-shrink: 0;
	margin-left: auto;
}
/* When label and options are in separate blocks: target row containers */
.uagb-loop-post .wp-block-group:has(.tpr-pot-colour-circles):not(:has(.wp-block-group)),
.uagb-loop-post .wp-block-group:has(.tpr-light-level-icons):not(:has(.wp-block-group)),
.uagb-loop-post .wp-block-group:has(.tpr-water-level-icons):not(:has(.wp-block-group)),
.uagb-loop-post .uagb-container-inner-block:has(.tpr-pot-colour-circles),
.uagb-loop-post .uagb-container-inner-block:has(.tpr-light-level-icons),
.uagb-loop-post .uagb-container-inner-block:has(.tpr-water-level-icons) {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 1em !important;
}
/* Pot colours with many (4+): drop circles underneath label on narrow viewports only */
@media (max-width: 600px) {
	.uagb-loop-post .wp-block-uagb-advanced-heading p.uagb-heading-text:has(.tpr-pot-colour-circles--many) {
		flex-wrap: wrap;
	}
	.uagb-loop-post .wp-block-uagb-advanced-heading p.uagb-heading-text:has(.tpr-pot-colour-circles--many) .tpr-pot-colour-circles {
		flex-basis: 100%;
	}
}

/* ==========================================================================
   TPR Product Filter View
   ========================================================================== */

/* Hide category bar when JS is disabled – filter doesn't work, all products shown anyway */
.tpr-product-filter-inner-container:not(.tpr-product-filter-js-enabled),
.tpr-product-filter-outer-container:not(.tpr-product-filter-js-enabled),
.tpr-resources-filter-inner-container:not(.tpr-product-filter-js-enabled),
.tpr-resources-filter-outer-container:not(.tpr-product-filter-js-enabled) {
	display: none !important;
}

/* Hide no-JS category headings when JS is enabled – category is shown in filter bar.
 * Inverted logic: hide by default, show only when body has no-js (JS disabled).
 * This avoids relying on the script adding js class – removing no-js is enough. */
.hide-if-js {
	display: none !important;
}
body.no-js .hide-if-js {
	display: block !important;
}

/* Product range: category name as h3 above product list (no-JS only; hidden when JS enabled) */
#our-price-range .tpr-product-range-category-title {
	margin: 0 0 1rem 0;
	font-size: inherit;
	font-weight: 700;
}

/* Category h3 for document outline when JS filters – visually hidden, screen-reader only */
#our-price-range .tpr-product-range-category-title--sr-only {
	position: absolute !important;
	left: -9999px !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;
}

/* Schema outline: visually hidden but in DOM for document outline / SEO (products under each category) */
.tpr-product-range-schema-outline {
	position: absolute !important;
	left: -9999px !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;
}

/* "view by" label – injected to the left of first category button */
.tpr-product-filter-label,
.tpr-product-filter-inner-container .tpr-product-filter-label,
.tpr-product-filter-outer-container .tpr-product-filter-label,
.tpr-resources-filter-inner-container .tpr-product-filter-label,
.tpr-resources-filter-outer-container .tpr-product-filter-label,
.tpr-product-filter-inner-container .tpr-product-filter-label *,
.tpr-product-filter-outer-container .tpr-product-filter-label *,
.tpr-resources-filter-inner-container .tpr-product-filter-label *,
.tpr-resources-filter-outer-container .tpr-product-filter-label * {
	color: #fff !important;
	font-family: var(--typography-font-family-font-decorative, "Hamilton Script"), "Hamilton Script fallback", cursive !important;
	font-size: 26px !important;
	font-style: normal !important;
	font-weight: 400 !important;
	line-height: 20px !important;
	white-space: nowrap !important;
}

/* Filter containers: no outer bar, expand to fit content */
.tpr-product-filter-outer-container,
.tpr-product-filter-inner-container,
.tpr-resources-filter-outer-container,
.tpr-resources-filter-inner-container {
	background: none !important;
	background-color: transparent !important;
	border-radius: 0 !important;
	padding: 0 !important;
	width: fit-content !important;
	max-width: 100%;
	overflow: visible !important;
}

/* Stack description below the green bar (not beside it); centre filter column in the content area */
.tpr-product-filter-inner-container,
.tpr-resources-filter-inner-container {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

.tpr-product-filter-outer-container .uagb-container-inner-blocks-wrap,
.tpr-resources-filter-outer-container .uagb-container-inner-blocks-wrap {
	width: fit-content !important;
	max-width: 100% !important;
	background: none !important;
	padding: 0 !important;
}

/* Outer: stack category bar, description, and loop vertically */
.tpr-product-filter-outer-container .uagb-container-inner-blocks-wrap,
.tpr-resources-filter-outer-container .uagb-container-inner-blocks-wrap {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/*
 * Left-align opt-in: overrides the “centre filter column” stack above for any template (e.g. blog).
 * Older rules target uagb-block-cfbb35f0 only — that ID does not exist on every page.
 * align-self + margin-right:auto pins the filter in flex parents that still use justify-content:center.
 */
body .filters-left-align .tpr-product-filter-inner-container,
body .filters-left-align .tpr-resources-filter-inner-container,
body .tpr-product-filter-inner-container.filters-left-align,
body .tpr-resources-filter-inner-container.filters-left-align,
body .tpr-product-filter-inner-container.tpr-filter-bar-left,
body .tpr-resources-filter-inner-container.tpr-filter-bar-left {
	align-items: flex-start !important;
	align-self: flex-start !important;
	margin-left: 0 !important;
	margin-right: auto !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

body .filters-left-align .tpr-product-filter-outer-container .uagb-container-inner-blocks-wrap,
body .filters-left-align .tpr-resources-filter-outer-container .uagb-container-inner-blocks-wrap,
body .tpr-product-filter-outer-container:has(.tpr-product-filter-inner-container.filters-left-align) .uagb-container-inner-blocks-wrap,
body .tpr-resources-filter-outer-container:has(.tpr-resources-filter-inner-container.filters-left-align) .uagb-container-inner-blocks-wrap,
body .tpr-product-filter-outer-container:has(.tpr-product-filter-inner-container.tpr-filter-bar-left) .uagb-container-inner-blocks-wrap,
body .tpr-resources-filter-outer-container:has(.tpr-resources-filter-inner-container.tpr-filter-bar-left) .uagb-container-inner-blocks-wrap {
	align-items: flex-start !important;
	align-self: flex-start !important;
	margin-left: 0 !important;
	margin-right: auto !important;
}

body .filters-left-align .wp-block-uagb-loop-builder:has(.tpr-product-filter-inner-container),
body .filters-left-align .wp-block-uagb-loop-builder:has(.tpr-resources-filter-inner-container),
body .wp-block-uagb-loop-builder:has(.tpr-product-filter-inner-container.filters-left-align),
body .wp-block-uagb-loop-builder:has(.tpr-resources-filter-inner-container.filters-left-align),
body .wp-block-uagb-loop-builder:has(.tpr-product-filter-inner-container.tpr-filter-bar-left),
body .wp-block-uagb-loop-builder:has(.tpr-resources-filter-inner-container.tpr-filter-bar-left),
/* :has(.inner.filters-left-align) misses when both classes are on the loop builder itself */
body .wp-block-uagb-loop-builder.tpr-product-filter-inner-container.filters-left-align,
body .wp-block-uagb-loop-builder.tpr-resources-filter-inner-container.filters-left-align,
body .wp-block-uagb-loop-builder.tpr-product-filter-inner-container.tpr-filter-bar-left,
body .wp-block-uagb-loop-builder.tpr-resources-filter-inner-container.tpr-filter-bar-left {
	justify-content: flex-start !important;
	align-items: flex-start !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	align-self: stretch !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body .filters-left-align.uagb-is-root-container > .uagb-container-inner-blocks-wrap:has(.wp-block-uagb-loop-builder .tpr-product-filter-inner-container),
body .filters-left-align.uagb-is-root-container > .uagb-container-inner-blocks-wrap:has(.wp-block-uagb-loop-builder .tpr-resources-filter-inner-container),
body .uagb-is-root-container.filters-left-align > .uagb-container-inner-blocks-wrap:has(.wp-block-uagb-loop-builder .tpr-product-filter-inner-container),
body .uagb-is-root-container.filters-left-align > .uagb-container-inner-blocks-wrap:has(.wp-block-uagb-loop-builder .tpr-resources-filter-inner-container) {
	justify-content: flex-start !important;
	align-items: flex-start !important;
}

/* Spectra root wrap: centre-align loop when inner/filter classes live on the loop builder (normal Blog page) */
body .uagb-is-root-container > .uagb-container-inner-blocks-wrap:has(.wp-block-uagb-loop-builder.tpr-product-filter-inner-container.filters-left-align),
body .uagb-is-root-container > .uagb-container-inner-blocks-wrap:has(.wp-block-uagb-loop-builder.tpr-resources-filter-inner-container.filters-left-align),
body .uagb-is-root-container > .uagb-container-inner-blocks-wrap:has(.wp-block-uagb-loop-builder.tpr-product-filter-inner-container.tpr-filter-bar-left),
body .uagb-is-root-container > .uagb-container-inner-blocks-wrap:has(.wp-block-uagb-loop-builder.tpr-resources-filter-inner-container.tpr-filter-bar-left) {
	justify-content: flex-start !important;
	align-items: flex-start !important;
}

/*
 * Blog listing: Posts page (body.tpr-posts-index) OR Page slug “blog” (body.tpr-blog-listing-page).
 * Left-align filter bar without editor-only classes; :has(.inner) misses when classes are on the loop builder.
 */
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-product-filter-inner-container,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-resources-filter-inner-container {
	align-items: flex-start !important;
	align-self: flex-start !important;
	margin-left: 0 !important;
	margin-right: auto !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-product-filter-outer-container .uagb-container-inner-blocks-wrap,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-resources-filter-outer-container .uagb-container-inner-blocks-wrap {
	align-items: flex-start !important;
	align-self: flex-start !important;
	margin-left: 0 !important;
	margin-right: auto !important;
}
body:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder:has(.tpr-product-filter-inner-container),
body:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder:has(.tpr-resources-filter-inner-container),
body:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder.tpr-product-filter-inner-container,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder.tpr-resources-filter-inner-container {
	justify-content: flex-start !important;
	align-items: flex-start !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	align-self: stretch !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
body:is(.tpr-posts-index, .tpr-blog-listing-page) .uagb-is-root-container > .uagb-container-inner-blocks-wrap:has(.wp-block-uagb-loop-builder .tpr-product-filter-inner-container),
body:is(.tpr-posts-index, .tpr-blog-listing-page) .uagb-is-root-container > .uagb-container-inner-blocks-wrap:has(.wp-block-uagb-loop-builder .tpr-resources-filter-inner-container),
body:is(.tpr-posts-index, .tpr-blog-listing-page) .uagb-is-root-container > .uagb-container-inner-blocks-wrap:has(> .wp-block-uagb-loop-builder.tpr-product-filter-inner-container),
body:is(.tpr-posts-index, .tpr-blog-listing-page) .uagb-is-root-container > .uagb-container-inner-blocks-wrap:has(> .wp-block-uagb-loop-builder.tpr-resources-filter-inner-container) {
	justify-content: flex-start !important;
	align-items: flex-start !important;
}

/*
 * Blog / posts index + left-align opt-in: Spectra sticky filter stacks often nest flex containers
 * that still use justify-content:center from block styles — the loop builder rules above do not reach them.
 */
body:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder:has(.tpr-product-filter-inner-container) .uagb-position__sticky.wp-block-uagb-container,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder.tpr-product-filter-inner-container .uagb-position__sticky.wp-block-uagb-container,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder:has(.tpr-resources-filter-inner-container) .uagb-position__sticky.wp-block-uagb-container,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder.tpr-resources-filter-inner-container .uagb-position__sticky.wp-block-uagb-container,
body .wp-block-uagb-loop-builder:has(.tpr-product-filter-inner-container.tpr-filter-bar-left) .uagb-position__sticky.wp-block-uagb-container,
body .wp-block-uagb-loop-builder:has(.tpr-product-filter-inner-container.filters-left-align) .uagb-position__sticky.wp-block-uagb-container,
body .wp-block-uagb-loop-builder.tpr-product-filter-inner-container.tpr-filter-bar-left .uagb-position__sticky.wp-block-uagb-container,
body .wp-block-uagb-loop-builder.tpr-product-filter-inner-container.filters-left-align .uagb-position__sticky.wp-block-uagb-container,
body .wp-block-uagb-loop-builder:has(.tpr-resources-filter-inner-container.tpr-filter-bar-left) .uagb-position__sticky.wp-block-uagb-container,
body .wp-block-uagb-loop-builder:has(.tpr-resources-filter-inner-container.filters-left-align) .uagb-position__sticky.wp-block-uagb-container,
body .wp-block-uagb-loop-builder.tpr-resources-filter-inner-container.tpr-filter-bar-left .uagb-position__sticky.wp-block-uagb-container,
body .wp-block-uagb-loop-builder.tpr-resources-filter-inner-container.filters-left-align .uagb-position__sticky.wp-block-uagb-container {
	justify-content: flex-start !important;
	align-items: flex-start !important;
}
body:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder:has(.tpr-product-filter-inner-container) .uagb-position__sticky .uagb-container-inner-blocks-wrap,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder.tpr-product-filter-inner-container .uagb-position__sticky .uagb-container-inner-blocks-wrap,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder:has(.tpr-resources-filter-inner-container) .uagb-position__sticky .uagb-container-inner-blocks-wrap,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder.tpr-resources-filter-inner-container .uagb-position__sticky .uagb-container-inner-blocks-wrap,
body .wp-block-uagb-loop-builder:has(.tpr-product-filter-inner-container.tpr-filter-bar-left) .uagb-position__sticky .uagb-container-inner-blocks-wrap,
body .wp-block-uagb-loop-builder:has(.tpr-product-filter-inner-container.filters-left-align) .uagb-position__sticky .uagb-container-inner-blocks-wrap,
body .wp-block-uagb-loop-builder.tpr-product-filter-inner-container.tpr-filter-bar-left .uagb-position__sticky .uagb-container-inner-blocks-wrap,
body .wp-block-uagb-loop-builder.tpr-product-filter-inner-container.filters-left-align .uagb-position__sticky .uagb-container-inner-blocks-wrap,
body .wp-block-uagb-loop-builder:has(.tpr-resources-filter-inner-container.tpr-filter-bar-left) .uagb-position__sticky .uagb-container-inner-blocks-wrap,
body .wp-block-uagb-loop-builder:has(.tpr-resources-filter-inner-container.filters-left-align) .uagb-position__sticky .uagb-container-inner-blocks-wrap,
body .wp-block-uagb-loop-builder.tpr-resources-filter-inner-container.tpr-filter-bar-left .uagb-position__sticky .uagb-container-inner-blocks-wrap,
body .wp-block-uagb-loop-builder.tpr-resources-filter-inner-container.filters-left-align .uagb-position__sticky .uagb-container-inner-blocks-wrap {
	justify-content: flex-start !important;
	align-items: flex-start !important;
}
body:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder:has(.tpr-product-filter-inner-container) .uagb-position__sticky .wp-block-uagb-container,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder.tpr-product-filter-inner-container .uagb-position__sticky .wp-block-uagb-container,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder:has(.tpr-resources-filter-inner-container) .uagb-position__sticky .wp-block-uagb-container,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-loop-builder.tpr-resources-filter-inner-container .uagb-position__sticky .wp-block-uagb-container,
body .wp-block-uagb-loop-builder:has(.tpr-product-filter-inner-container.tpr-filter-bar-left) .uagb-position__sticky .wp-block-uagb-container,
body .wp-block-uagb-loop-builder:has(.tpr-product-filter-inner-container.filters-left-align) .uagb-position__sticky .wp-block-uagb-container,
body .wp-block-uagb-loop-builder.tpr-product-filter-inner-container.tpr-filter-bar-left .uagb-position__sticky .wp-block-uagb-container,
body .wp-block-uagb-loop-builder.tpr-product-filter-inner-container.filters-left-align .uagb-position__sticky .wp-block-uagb-container,
body .wp-block-uagb-loop-builder:has(.tpr-resources-filter-inner-container.tpr-filter-bar-left) .uagb-position__sticky .wp-block-uagb-container,
body .wp-block-uagb-loop-builder:has(.tpr-resources-filter-inner-container.filters-left-align) .uagb-position__sticky .wp-block-uagb-container,
body .wp-block-uagb-loop-builder.tpr-resources-filter-inner-container.tpr-filter-bar-left .uagb-position__sticky .wp-block-uagb-container,
body .wp-block-uagb-loop-builder.tpr-resources-filter-inner-container.filters-left-align .uagb-position__sticky .wp-block-uagb-container {
	justify-content: flex-start !important;
	align-items: flex-start !important;
}

body:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container),
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-product-listing .wp-block-uagb-container.uagb-block-cfbb35f0 {
	justify-content: flex-start !important;
}
body:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container) > *,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-product-listing .wp-block-uagb-container.uagb-block-cfbb35f0 > * {
	justify-content: flex-start !important;
}
body:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container) .uagb-loop-category-inner.uagb-block-95ac6b4c,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .wp-block-uagb-container.uagb-block-cfbb35f0:has(.tpr-resources-filter-inner-container) .uagb-buttons__wrap,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-product-listing .wp-block-uagb-container.uagb-block-cfbb35f0 .uagb-loop-category-inner.uagb-block-95ac6b4c,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-product-listing .wp-block-uagb-container.uagb-block-cfbb35f0 .uagb-buttons__wrap {
	margin-left: 0 !important;
	margin-right: 0 !important;
}
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-product-filter-inner-container .uagb-loop-category-inner,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-product-filter-inner-container .uagb-buttons__wrap,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-product-filter-outer-container .uagb-loop-category-inner,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-product-filter-outer-container .uagb-buttons__wrap,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-resources-filter-inner-container .uagb-loop-category-inner,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-resources-filter-inner-container .uagb-buttons__wrap,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-resources-filter-outer-container .uagb-loop-category-inner,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-resources-filter-outer-container .uagb-buttons__wrap {
	justify-content: flex-start !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
body .wp-block-uagb-loop-builder:has(.tpr-product-filter-inner-container.tpr-filter-bar-left) .uagb-loop-category-inner,
body .wp-block-uagb-loop-builder:has(.tpr-product-filter-inner-container.tpr-filter-bar-left) .uagb-buttons__wrap,
body .wp-block-uagb-loop-builder:has(.tpr-product-filter-inner-container.filters-left-align) .uagb-loop-category-inner,
body .wp-block-uagb-loop-builder:has(.tpr-product-filter-inner-container.filters-left-align) .uagb-buttons__wrap,
body .wp-block-uagb-loop-builder.tpr-product-filter-inner-container.tpr-filter-bar-left .uagb-loop-category-inner,
body .wp-block-uagb-loop-builder.tpr-product-filter-inner-container.tpr-filter-bar-left .uagb-buttons__wrap,
body .wp-block-uagb-loop-builder.tpr-product-filter-inner-container.filters-left-align .uagb-loop-category-inner,
body .wp-block-uagb-loop-builder.tpr-product-filter-inner-container.filters-left-align .uagb-buttons__wrap,
body .wp-block-uagb-loop-builder:has(.tpr-resources-filter-inner-container.tpr-filter-bar-left) .uagb-loop-category-inner,
body .wp-block-uagb-loop-builder:has(.tpr-resources-filter-inner-container.tpr-filter-bar-left) .uagb-buttons__wrap,
body .wp-block-uagb-loop-builder:has(.tpr-resources-filter-inner-container.filters-left-align) .uagb-loop-category-inner,
body .wp-block-uagb-loop-builder:has(.tpr-resources-filter-inner-container.filters-left-align) .uagb-buttons__wrap,
body .wp-block-uagb-loop-builder.tpr-resources-filter-inner-container.tpr-filter-bar-left .uagb-loop-category-inner,
body .wp-block-uagb-loop-builder.tpr-resources-filter-inner-container.tpr-filter-bar-left .uagb-buttons__wrap,
body .wp-block-uagb-loop-builder.tpr-resources-filter-inner-container.filters-left-align .uagb-loop-category-inner,
body .wp-block-uagb-loop-builder.tpr-resources-filter-inner-container.filters-left-align .uagb-buttons__wrap {
	justify-content: flex-start !important;
}
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-centre-align:has(.tpr-product-filter-inner-container),
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-centre-align:has(.tpr-resources-filter-inner-container),
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-centre-align:has(.tpr-product-filter-outer-container),
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-centre-align:has(.tpr-resources-filter-outer-container) {
	justify-content: flex-start !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	text-align: left !important;
}
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-centre-align.uagb-is-root-container:has(.tpr-product-filter-inner-container) > .uagb-container-inner-blocks-wrap,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-centre-align.uagb-is-root-container:has(.tpr-resources-filter-inner-container) > .uagb-container-inner-blocks-wrap,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-centre-align.uagb-is-root-container:has(.tpr-product-filter-outer-container) > .uagb-container-inner-blocks-wrap,
body:is(.tpr-posts-index, .tpr-blog-listing-page) .tpr-centre-align.uagb-is-root-container:has(.tpr-resources-filter-outer-container) > .uagb-container-inner-blocks-wrap {
	justify-content: flex-start !important;
}

/*
 * Blog listing (Posts page or Page slug “blog”, see tpr_body_class_blog_listing_page): featured image
 * fills the card column (overrides Spectra alignleft + intrinsic width gaps on wide viewports).
 */
body:is(.tpr-blog-listing-page, .tpr-posts-index) .wp-block-uagb-loop-builder .uagb-loop-post .wp-block-uagb-image {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box;
}
body:is(.tpr-blog-listing-page, .tpr-posts-index) .wp-block-uagb-loop-builder .uagb-loop-post .wp-block-uagb-image .wp-block-uagb-image__figure,
body:is(.tpr-blog-listing-page, .tpr-posts-index) .wp-block-uagb-loop-builder .uagb-loop-post .wp-block-uagb-image .wp-block-uagb-image__figure a {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	display: block !important;
	box-sizing: border-box;
}
body:is(.tpr-blog-listing-page, .tpr-posts-index) .wp-block-uagb-loop-builder .uagb-loop-post .wp-block-uagb-image img {
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 10;
	display: block !important;
	object-fit: cover;
	box-sizing: border-box;
}

/* Prevent category bar from shrinking so buttons don't get cut off */
.tpr-product-filter-outer-container .wp-block-uagb-loop-category.tpr-product-filter-inner-container,
.tpr-product-filter-inner-container,
.tpr-resources-filter-outer-container .wp-block-uagb-loop-category.tpr-resources-filter-inner-container,
.tpr-resources-filter-inner-container {
	flex-shrink: 0 !important;
}
.tpr-product-filter-inner-container .uagb-loop-category-inner,
.tpr-product-filter-outer-container .uagb-loop-category-inner,
.tpr-resources-filter-inner-container .uagb-loop-category-inner,
.tpr-resources-filter-outer-container .uagb-loop-category-inner {
	display: flex !important;
	flex-wrap: nowrap !important;
}

.tpr-product-filter-inner-container .uagb-loop-category-inner,
.tpr-product-filter-inner-container .uagb-buttons__wrap,
.tpr-product-filter-outer-container .uagb-loop-category-inner,
.tpr-product-filter-outer-container .uagb-buttons__wrap,
.tpr-resources-filter-inner-container .uagb-loop-category-inner,
.tpr-resources-filter-inner-container .uagb-buttons__wrap,
.tpr-resources-filter-outer-container .uagb-loop-category-inner,
.tpr-resources-filter-outer-container .uagb-buttons__wrap {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	width: fit-content !important;
	gap: 0.5em;
	background-color: #0F2902 !important;
	border-radius: 999px !important;
	padding: 6px 12px !important;
}

/* Loading spinner below filter bars while loop content is fetched */
@keyframes tpr-filter-bar-spin {
	from {
		transform: translateX(-50%) rotate(0deg);
	}
	to {
		transform: translateX(-50%) rotate(360deg);
	}
}

.wp-block-uagb-loop-builder.tpr-filter-bar-loading .tpr-product-filter-inner-container .uagb-loop-category-inner,
.wp-block-uagb-loop-builder.tpr-filter-bar-loading .tpr-product-filter-outer-container .uagb-loop-category-inner,
.wp-block-uagb-loop-builder.tpr-filter-bar-loading .tpr-resources-filter-inner-container .uagb-loop-category-inner,
.wp-block-uagb-loop-builder.tpr-filter-bar-loading .tpr-resources-filter-outer-container .uagb-loop-category-inner,
.wp-block-uagb-loop-builder.tpr-filter-bar-loading .wp-block-uagb-buttons.tpr-product-filter-js-enabled .uagb-buttons__wrap {
	position: relative;
	margin-bottom: 1.75rem;
	pointer-events: none;
}

.wp-block-uagb-loop-builder.tpr-filter-bar-loading .tpr-product-filter-inner-container .uagb-loop-category-inner::after,
.wp-block-uagb-loop-builder.tpr-filter-bar-loading .tpr-product-filter-outer-container .uagb-loop-category-inner::after,
.wp-block-uagb-loop-builder.tpr-filter-bar-loading .tpr-resources-filter-inner-container .uagb-loop-category-inner::after,
.wp-block-uagb-loop-builder.tpr-filter-bar-loading .tpr-resources-filter-outer-container .uagb-loop-category-inner::after,
.wp-block-uagb-loop-builder.tpr-filter-bar-loading .wp-block-uagb-buttons.tpr-product-filter-js-enabled .uagb-buttons__wrap::after {
	content: "";
	position: absolute;
	left: 50%;
	top: calc(100% + 8px);
	width: 1.125rem;
	height: 1.125rem;
	border: 2px solid rgba(15, 41, 2, 0.2);
	border-top-color: #0f2902;
	border-radius: 50%;
	box-sizing: border-box;
	animation: tpr-filter-bar-spin 0.65s linear infinite;
	pointer-events: none;
}

.wp-block-uagb-loop-builder.tpr-filter-bar-loading .tpr-product-filter-dropdown,
.wp-block-uagb-loop-builder.tpr-filter-bar-loading .tpr-grid-gallery-dropdown:not(.tpr-grid-gallery-dropdown--buttons) {
	position: relative;
	margin-bottom: 1.75rem;
	pointer-events: none;
}

.wp-block-uagb-loop-builder.tpr-filter-bar-loading .tpr-product-filter-dropdown::after,
.wp-block-uagb-loop-builder.tpr-filter-bar-loading .tpr-grid-gallery-dropdown:not(.tpr-grid-gallery-dropdown--buttons)::after {
	content: "";
	position: absolute;
	left: 50%;
	top: calc(100% + 8px);
	width: 1.125rem;
	height: 1.125rem;
	border: 2px solid rgba(15, 41, 2, 0.2);
	border-top-color: #0f2902;
	border-radius: 50%;
	box-sizing: border-box;
	animation: tpr-filter-bar-spin 0.65s linear infinite;
	pointer-events: none;
}

/* Category filter button titles: h3 semantic, no extra margin */
.tpr-product-filter-inner-container .tpr-product-filter-category-title,
.tpr-product-filter-outer-container .tpr-product-filter-category-title,
.tpr-resources-filter-inner-container .tpr-product-filter-category-title,
.tpr-resources-filter-outer-container .tpr-product-filter-category-title {
	margin: 0 !important;
	padding: 0 !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
}

/* Hide the loop grid until the first filter AJAX applies. The server renders
   ALL products; JS then swaps the grid to the active category. On slow / iOS
   Safari paths the user can otherwise see the wrong category briefly (or if
   AJAX stalls, indefinitely). Set by tpr-product-filter-default.js on load,
   cleared when the first AJAX resolves (or after a 4s fail-safe). */
.wp-block-uagb-loop-builder[data-tpr-filter-pending="1"] [id^="uagb-block-queryid-"] {
	visibility: hidden;
	min-height: 200px;
	position: relative;
}
.wp-block-uagb-loop-builder[data-tpr-filter-pending="1"] [id^="uagb-block-queryid-"]::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 40px;
	width: 1.5rem;
	height: 1.5rem;
	border: 2px solid rgba(15, 41, 2, 0.2);
	border-top-color: #0f2902;
	border-radius: 50%;
	box-sizing: border-box;
	animation: tpr-filter-bar-spin 0.65s linear infinite;
	visibility: visible;
	transform: translateX(-50%);
}
.wp-block-uagb-loop-builder[data-tpr-filter-pending="1"] [id^="uagb-block-pagination-queryid-"] {
	visibility: hidden;
}

/* Category filter buttons: active (lime) vs inactive (dark green) */
.tpr-product-filter-inner-container .uagb-loop-category-inner a,
.tpr-product-filter-inner-container .uagb-buttons__wrap a,
.tpr-product-filter-inner-container .wp-block-uagb-button a,
.tpr-product-filter-outer-container .uagb-loop-category-inner a,
.tpr-product-filter-outer-container .uagb-buttons__wrap a,
.tpr-product-filter-outer-container .wp-block-uagb-button a,
.tpr-resources-filter-inner-container .uagb-loop-category-inner a,
.tpr-resources-filter-inner-container .uagb-buttons__wrap a,
.tpr-resources-filter-inner-container .wp-block-uagb-button a,
.tpr-resources-filter-outer-container .uagb-loop-category-inner a,
.tpr-resources-filter-outer-container .uagb-buttons__wrap a,
.tpr-resources-filter-outer-container .wp-block-uagb-button a {
	/* Inactive default: dark green bg, white text, pill shape */
	background-color: #273E1B !important;
	color: #fff !important;
	padding: 10px 14px !important;
	white-space: nowrap !important;
	border: none !important;
	border-radius: 999px !important;
	outline: none !important;
	box-shadow: none !important;
}

/* Force white text on inactive buttons (including nested spans from block styles) */
.tpr-product-filter-inner-container .uagb-loop-category-inner a:not(.tpr-filter-active),
.tpr-product-filter-inner-container .uagb-buttons__wrap a:not(.tpr-filter-active),
.tpr-product-filter-inner-container .wp-block-uagb-button a:not(.tpr-filter-active),
.tpr-product-filter-outer-container .uagb-loop-category-inner a:not(.tpr-filter-active),
.tpr-product-filter-outer-container .uagb-buttons__wrap a:not(.tpr-filter-active),
.tpr-product-filter-outer-container .wp-block-uagb-button a:not(.tpr-filter-active),
.tpr-resources-filter-inner-container .uagb-loop-category-inner a:not(.tpr-filter-active),
.tpr-resources-filter-inner-container .uagb-buttons__wrap a:not(.tpr-filter-active),
.tpr-resources-filter-inner-container .wp-block-uagb-button a:not(.tpr-filter-active),
.tpr-resources-filter-outer-container .uagb-loop-category-inner a:not(.tpr-filter-active),
.tpr-resources-filter-outer-container .uagb-buttons__wrap a:not(.tpr-filter-active),
.tpr-resources-filter-outer-container .wp-block-uagb-button a:not(.tpr-filter-active),
.tpr-product-filter-inner-container .uagb-loop-category-inner a:not(.tpr-filter-active) *,
.tpr-product-filter-inner-container .uagb-buttons__wrap a:not(.tpr-filter-active) *,
.tpr-product-filter-inner-container .wp-block-uagb-button a:not(.tpr-filter-active) *,
.tpr-product-filter-outer-container .uagb-loop-category-inner a:not(.tpr-filter-active) *,
.tpr-product-filter-outer-container .uagb-buttons__wrap a:not(.tpr-filter-active) *,
.tpr-product-filter-outer-container .wp-block-uagb-button a:not(.tpr-filter-active) *,
.tpr-resources-filter-inner-container .uagb-loop-category-inner a:not(.tpr-filter-active) *,
.tpr-resources-filter-inner-container .uagb-buttons__wrap a:not(.tpr-filter-active) *,
.tpr-resources-filter-inner-container .wp-block-uagb-button a:not(.tpr-filter-active) *,
.tpr-resources-filter-outer-container .uagb-loop-category-inner a:not(.tpr-filter-active) *,
.tpr-resources-filter-outer-container .uagb-buttons__wrap a:not(.tpr-filter-active) *,
.tpr-resources-filter-outer-container .wp-block-uagb-button a:not(.tpr-filter-active) * {
	color: #fff !important;
}

.tpr-product-filter-inner-container a.tpr-filter-active,
.tpr-product-filter-outer-container a.tpr-filter-active,
.tpr-resources-filter-inner-container a.tpr-filter-active,
.tpr-resources-filter-outer-container a.tpr-filter-active {
	/* Active: lime green bg, dark text, pill shape */
	background-color: #beef3c !important;
	color: #1a2b16 !important;
	border-radius: 999px !important;
}
.tpr-product-filter-inner-container a.tpr-filter-active *,
.tpr-product-filter-outer-container a.tpr-filter-active *,
.tpr-resources-filter-inner-container a.tpr-filter-active *,
.tpr-resources-filter-outer-container a.tpr-filter-active * {
	background-color: #beef3c !important;
	color: #1a2b16 !important;
}

/* Archive description: shortcode [archive-description] output.
   No top margin — the sticky filter wrapper (.uagb-position__sticky) already adds 40px
   below the pill. We match that with 40px below the description so the visual beat above
   and below is even. Alignment inherits from the loop-builder: default centred, left when
   the loop has `.filters-left-align`. */
.tpr-archive-description {
	width: 100%;
	/* Bottom margin is 20px because the loop-container below the description contributes
	   another ~20px of intrinsic top space — total 40px below matches the 40px the sticky
	   filter wrapper already puts above the description. */
	margin: 0 0 20px;
	text-align: center;
}
.wp-block-uagb-loop-builder.filters-left-align .tpr-archive-description {
	text-align: left;
}
.tpr-archive-description p:first-child {
	margin-top: 0;
}
.tpr-archive-description p:last-child {
	margin-bottom: 0;
}
.tpr-archive-description:empty {
	margin: 0;
}

/* Dropdown: hidden by default, shown when viewport is narrow */
.tpr-product-filter-dropdown {
	display: none;
	align-items: center;
	gap: 0.5em;
	background-color: #0F2902;
	border-radius: 999px;
	padding: 10px;
	margin: 20px 0;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

/* Ensure dropdown stays within content width */
.tpr-product-filter-inner-container:has(.tpr-product-filter-dropdown),
.tpr-product-filter-outer-container:has(.tpr-product-filter-dropdown),
.tpr-resources-filter-inner-container:has(.tpr-product-filter-dropdown),
.tpr-resources-filter-outer-container:has(.tpr-product-filter-dropdown) {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
}
/* "view by" label: 10px left, 20px right */
.tpr-product-filter-dropdown .tpr-product-filter-label {
	padding-left: 10px;
	padding-right: 20px;
}
.tpr-product-filter-dropdown .tpr-product-filter-select,
.tpr-product-filter-select {
	flex: 1;
	min-width: 0;
	max-width: 260px;
	/* !important beats Spectra's `.uagb-block-95ac6b4c.wp-block-uagb-loop-category select { padding: 8px 12px }` which squashes right padding and makes the chevron overlap the truncated option text. */
	padding: 10px 40px 10px 14px !important;
	border: none;
	border-radius: 999px !important;
	-webkit-border-radius: 999px !important;
	background-color: #D2FC51 !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 14 14'%3E%3Cpath d='M3.5 5.25L7 8.75L10.5 5.25' stroke='%231a2b16' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat;
	background-size: 18px 18px;
	background-position: right 10px center !important;
	color: #1a2b16;
	font-family: "Poppins", sans-serif;
	font-size: 1rem;
	font-weight: 700 !important;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.tpr-product-filter-dropdown .tpr-product-filter-select:focus,
.tpr-product-filter-select:focus {
	outline: none;
}
/* When container is narrow, show dropdown instead of pill buttons */
@media (max-width: 1087px) {
	.tpr-product-filter-inner-container,
	.tpr-product-filter-outer-container,
	.tpr-resources-filter-inner-container,
	.tpr-resources-filter-outer-container {
		width: 100% !important;
		max-width: 100% !important;
	}
	.tpr-product-filter-dropdown {
		display: flex !important;
	}
	.tpr-product-filter-inner-container .uagb-loop-category-inner,
	.tpr-product-filter-inner-container .uagb-buttons__wrap,
	.tpr-product-filter-outer-container .uagb-loop-category-inner,
	.tpr-product-filter-outer-container .uagb-buttons__wrap,
	.tpr-resources-filter-inner-container .uagb-loop-category-inner,
	.tpr-resources-filter-inner-container .uagb-buttons__wrap,
	.tpr-resources-filter-outer-container .uagb-loop-category-inner,
	.tpr-resources-filter-outer-container .uagb-buttons__wrap {
		display: none !important;
	}
}

/* Mobile: fill the section's content width (parent container is already 90% of viewport) */
@media (max-width: 767px) {
	.tpr-product-filter-dropdown {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		box-sizing: border-box !important;
	}
}

/* ==========================================================================
   TPR Image Extended – full-width image on right, content aligned left
   ========================================================================== */

/* Outer box is full-bleed (background color runs edge-to-edge). Zero Spectra's
 * per-block padding so stacked insets don't drift from the body's 90% column. */
.tpr-image-extended {
	width: 100% !important;
	max-width: none !important;
}
body .wp-block-uagb-container.tpr-image-extended {
	padding-left: 0 !important;
	padding-inline-start: 0 !important;
}

/* Desktop (≥768px): inner-wrap is full-bleed so the image column can run to
 * the right viewport edge. Text column (first grid child) gets 5vw left inset
 * to match the body content's 90% column. Using raw 5vw (not
 * --tpr-content-inset, which caps at 1.5rem below 1024px) so the hero text
 * aligns with Spectra's 90% auto-centered body containers at every width. */
@media (min-width: 768px) {
	.tpr-image-extended .uagb-container-inner-blocks-wrap {
		width: 100% !important;
		max-width: none !important;
	}
	body .wp-block-uagb-container.tpr-image-extended.uagb-layout-grid > .uagb-container-inner-blocks-wrap > *:first-child,
	body .wp-block-uagb-container.tpr-image-extended .tpr-image-extended-content {
		padding-left: 5vw !important;
		padding-inline-start: 5vw !important;
		box-sizing: border-box;
	}
}

/* Mobile (≤767px): the grid stacks to a single column. Match the body's 90%
 * column by using 5vw on each side (Spectra's inline rules author the body
 * inner-wrap at max-width:90% auto-centered, which resolves to 5vw; our
 * --tpr-content-inset is capped at 1rem on mobile and doesn't match). */
@media (max-width: 767px) {
	.tpr-image-extended .uagb-container-inner-blocks-wrap {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 5vw !important;
		padding-right: 5vw !important;
		padding-inline-start: 5vw !important;
		padding-inline-end: 5vw !important;
		box-sizing: border-box;
	}
	body .wp-block-uagb-container.tpr-image-extended.uagb-layout-grid > .uagb-container-inner-blocks-wrap > *:first-child,
	body .wp-block-uagb-container.tpr-image-extended.uagb-layout-grid > .uagb-container-inner-blocks-wrap > *:last-child,
	body .wp-block-uagb-container.tpr-image-extended .tpr-image-extended-content {
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-inline-start: 0 !important;
		padding-inline-end: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* Accordion: remove underline on hover from heading text */
.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title,
.wp-block-accordion-heading__toggle:hover .wp-block-accordion-heading__toggle-title strong {
	text-decoration: none !important;
}

/* Accordion: Font Awesome chevron-down (collapsed) / chevron-up (expanded) */
.wp-block-accordion-heading__toggle-icon {
	font-size: 0 !important;
	width: 40px;
	height: 40px;
	min-width: 40px;
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transform: none !important;
}

/* Chevron-down (collapsed) via CSS mask — Font Awesome plugin is no longer loaded; use inline SVG mask
   with currentColor so hover/theme colors still apply. */
.wp-block-accordion-heading__toggle-icon::before {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E") no-repeat center / contain;
	transition: transform 0.2s ease;
	transform-origin: 50% 50%;
}

/* Chevron-up (expanded state): rotate the chevron-down mask rather than swap the path. */
.wp-block-accordion-item.is-open > .wp-block-accordion-heading .wp-block-accordion-heading__toggle-icon::before {
	content: "";
	transform: rotate(180deg);
}

/* Comparison table: relative for VS badge positioning, allow VS to show (no clip) */
.tpr-comparison-table {
	position: relative;
	overflow-x: auto;
	overflow-y: visible;
}

/* VS badge: centered horizontally and vertically in header row */
.tpr-comparison-table-vs {
	position: absolute;
	left: 50%;
	top: 40px;
	transform: translate(-50%, -50%);
	z-index: 1;
	line-height: 0;
	/* Button resets: badge is rendered as <button> so clicks scroll the table on mobile. Keep appearance identical to the pre-button span. */
	appearance: none;
	background: transparent;
	border: 0;
	padding: 0;
	margin: 0;
	font: inherit;
	color: inherit;
	cursor: default;
}
.tpr-comparison-table-vs:focus-visible {
	outline: 2px solid #0F2902;
	outline-offset: 2px;
	border-radius: 50%;
}
.tpr-comparison-table-vs svg {
	display: block;
	width: 44px;
	height: 44px;
}

/* [cross] / [tick] shortcodes: inline icons in cells */
.tpr-comparison-table .tpr-comparison-table-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	vertical-align: middle;
	line-height: 0;
}
.tpr-comparison-table .tpr-comparison-table-icon__img {
	display: block;
	width: 38px;
	height: auto;
	max-width: 100%;
}

/* Table: 30px radius on top corners; overflow visible so header images can extend above */
.tpr-comparison-table table {
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
	width: 100%;
	border-top-left-radius: 30px;
	border-top-right-radius: 30px;
	overflow: visible !important;
}

.tpr-comparison-table td,
.tpr-comparison-table th {
	box-sizing: border-box;
	padding: 20px 30px;
}

/* Column widths: text columns 3/4, price columns 1/4 (per column group).
 * overflow: visible so price text from next column can overlap into this column. */
.tpr-comparison-table td:nth-child(1),
.tpr-comparison-table td:nth-child(3) {
	width: 37.5%;
	padding-left: 30px;
	overflow: visible;
}
/* Price columns: allow text to overflow into the column to the left */
.tpr-comparison-table td:nth-child(2),
.tpr-comparison-table td:nth-child(4) {
	width: 12.5%;
	min-width: 140px;
	white-space: nowrap;
	padding-right: 30px;
	overflow: visible;
}
.tpr-comparison-table th:nth-child(2),
.tpr-comparison-table th:nth-child(4) {
	overflow: visible;
}

.tpr-comparison-table thead th {
	color: #fff !important;
	font-size: 20px;
	padding: 20px 30px;
	vertical-align: top;
	text-align: left;
}

/* First header (colspan 2): "Do it yourself" – background #3F5435 */
.tpr-comparison-table thead th:first-child {
	background-color: #3F5435 !important;
	border-right: none;
}

/* Second header (colspan 2): "Have us do it for you" – background #0F2902, 2px gap from first.
 * Extra left padding so text clears the VS circle that overlaps this column. */
.tpr-comparison-table thead th:last-child {
	background-color: #0F2902 !important;
	border-left: 2px solid #f0f0f0;
	padding-left: 35px !important;
}

/* 2px divider between column groups: extend from header through body and footer */
.tpr-comparison-table tbody td:nth-child(3),
.tpr-comparison-table tfoot td:nth-child(3) {
	border-left: 2px solid #f0f0f0;
}

/* Rounded top corners on outer table header cells */
.tpr-comparison-table thead th:first-child {
	border-top-left-radius: 30px;
}
.tpr-comparison-table thead th:last-child {
	border-top-right-radius: 30px;
}

/* First body row: match 30px radius so light grey doesn’t show sharp corners behind header */
.tpr-comparison-table tbody tr:first-child td:first-child {
	border-top-left-radius: 30px;
}
.tpr-comparison-table tbody tr:first-child td:last-child {
	border-top-right-radius: 30px;
}

/* Row stripes and fixed row height */
.tpr-comparison-table tbody tr:nth-child(odd) td {
	background-color: #EFF4F0;
}
.tpr-comparison-table tbody tr:nth-child(even) td {
	background-color: #fff;
}
.tpr-comparison-table tbody td {
	height: 60px;
	vertical-align: middle;
}
.tpr-comparison-table tfoot td {
	vertical-align: middle;
}

/* Footer: lime background; one visual block per column group (desktop: label left, price right) */
.tpr-comparison-table tfoot tr td {
	background-color: #D2FC51 !important;
	padding: 20px 30px !important;
}
/* Remove border between label and price within each group so they read as one block */
.tpr-comparison-table tfoot td:nth-child(1),
.tpr-comparison-table tfoot td:nth-child(3) {
	border-right: none !important;
	padding-right: 0.5rem !important;
	text-align: left;
	overflow: visible;
}
/* Footer price cells: align right edge with body prices above; overflow left into label column */
.tpr-comparison-table tfoot tr td:nth-child(2),
.tpr-comparison-table tfoot tr td:nth-child(4) {
	font-size: 20px;
	padding: 20px 30px !important;
	padding-left: 0 !important;
	text-align: right;
	white-space: nowrap;
	overflow: visible;
	transform: translateX(-24px);
	box-shadow: 24px 0 0 0 #D2FC51;
}

/* First footer price cell: left-align and add gap so it never overlaps "Total cost" in next column */
.tpr-comparison-table tfoot tr td:nth-child(2) {
	text-align: left !important;
	transform: none;
	box-shadow: none;
	padding-right: 24px !important;
	min-width: 0;
}

/* Footer merged cells (after JS): flex inner; font-size inherit overrides nth-child(2)/:nth-child(4) 20px on the merged right cell so both labels match (price span keeps 20px). */
.tpr-comparison-table tfoot tr td.tpr-comparison-table-foot-has-price {
	transform: none !important;
	box-shadow: none !important;
	padding-left: 30px !important;
	padding-right: 30px !important;
	font-size: inherit;
}
.tpr-comparison-table tfoot tr td.tpr-comparison-table-foot-has-price:first-child {
	padding-right: 2rem !important;
}
.tpr-comparison-table tfoot tr td.tpr-comparison-table-foot-has-price:last-child {
	padding-left: 2rem !important;
}
.tpr-comparison-table tfoot tr td.tpr-comparison-table-foot-has-price .tpr-comparison-table-foot-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-width: 0;
}
.tpr-comparison-table tfoot tr td.tpr-comparison-table-foot-has-price .tpr-comparison-table-foot-label {
	white-space: nowrap;
	font-size: inherit;
	font-weight: inherit;
}
.tpr-comparison-table tfoot tr td.tpr-comparison-table-foot-has-price .tpr-comparison-table-foot-label strong,
.tpr-comparison-table tfoot tr td.tpr-comparison-table-foot-has-price .tpr-comparison-table-foot-label b {
	font-weight: 600;
}
.tpr-comparison-table tfoot tr td.tpr-comparison-table-foot-has-price .tpr-comparison-table-foot-price {
	flex-shrink: 0;
	white-space: nowrap;
	font-size: 20px;
	font-weight: 600;
}

/* Comparison table: slightly smaller type on tablet and down (desktop >1024px unchanged) */
@media (max-width: 1024px) {
	.tpr-comparison-table thead th {
		font-size: 17px !important;
	}
	.tpr-comparison-table td,
	.tpr-comparison-table th {
		font-size: 15px !important;
	}
	.tpr-comparison-table tfoot tr td:nth-child(2),
	.tpr-comparison-table tfoot tr td:nth-child(4) {
		font-size: 17px !important;
	}
	.tpr-comparison-table tfoot tr td.tpr-comparison-table-foot-has-price .tpr-comparison-table-foot-price {
		font-size: 17px !important;
	}
	.tpr-comparison-table tfoot tr td.tpr-comparison-table-foot-has-price .tpr-comparison-table-foot-label {
		font-size: 15px !important;
	}
}

/*
 * Case study / project (single-projects): the UAGB root already constrains its
 * inner-blocks-wrap to `max-width: min(100%, 90%)` via the editor content-width
 * setting, which matches the rest of the 90% body content. Stacking an extra
 * `var(--tpr-content-inset)` of horizontal padding on top (previous behavior)
 * pushed the card's inner content noticeably narrower than the surrounding
 * copy on tablet/phone. Defer to the block's own 90% width — no override here.
 */

/* Mobile: show column 1 (label+price) at full viewport width; columns 3+4 revealed by horizontal scroll. VS circle is pinned at right edge as a scroll cue. */
@media (max-width: 767px) {
	/* Outer Spectra container: no scroll (figure handles it). overflow-y visible so header images extend above. */
	.wp-block-uagb-container:has(.tpr-comparison-table),
	.wp-block-group:has(.tpr-comparison-table) {
		overflow-x: visible !important;
		overflow-y: visible !important;
	}
	/* Figure is the horizontal scroll container. Make it position: static on mobile so the VS circle's containing block becomes .tpr-comparison-table-wrapper (which does not scroll) — VS then stays pinned at the wrapper's right edge while the table scrolls underneath. */
	.tpr-comparison-table {
		position: static !important;
		-webkit-overflow-scrolling: touch;
		width: 100%;
		scroll-snap-type: x mandatory;
	}
	.tpr-comparison-table table {
		table-layout: fixed;
		width: 200% !important;
		min-width: 200%;
	}
	.tpr-comparison-table td,
	.tpr-comparison-table th {
		padding: 14px 16px !important;
		font-size: 14px !important;
	}
	.tpr-comparison-table thead th {
		font-size: 15px !important;
		padding: 14px 16px !important;
		text-align: left !important;
		vertical-align: middle !important;
	}
	.tpr-comparison-table thead th:last-child {
		padding-left: 80px !important;
		scroll-snap-align: start;
	}
	.tpr-comparison-table thead th:first-child {
		scroll-snap-align: start;
	}
	/* Label columns: 35% of 200% table = 70% viewport */
	.tpr-comparison-table tbody td:nth-child(1),
	.tpr-comparison-table tbody td:nth-child(3),
	.tpr-comparison-table tfoot td:nth-child(1),
	.tpr-comparison-table tfoot td:nth-child(3) {
		width: 35% !important;
		padding-left: 16px !important;
		padding-right: 8px !important;
		scroll-snap-align: start;
	}
	/* Price columns: 15% of 200% table = 30% viewport */
	.tpr-comparison-table tbody td:nth-child(2),
	.tpr-comparison-table tbody td:nth-child(4),
	.tpr-comparison-table tfoot td:nth-child(2),
	.tpr-comparison-table tfoot td:nth-child(4) {
		min-width: 0 !important;
		width: 15% !important;
		padding-left: 8px !important;
		padding-right: 16px !important;
		font-size: 14px !important;
	}
	.tpr-comparison-table tbody td {
		height: auto !important;
		min-height: 48px;
	}
	/* Mobile footer: label + price stay side-by-side (not stacked) since the wider 2-view layout gives each cell room */
	.tpr-comparison-table tfoot tr td.tpr-comparison-table-foot-has-price .tpr-comparison-table-foot-label {
		font-size: 13px !important;
	}
	.tpr-comparison-table tfoot tr td.tpr-comparison-table-foot-has-price .tpr-comparison-table-foot-price {
		font-size: 15px !important;
	}
	/* VS circle: containing block is now .tpr-comparison-table-wrapper (not the scrolling figure). Pin to right edge of wrapper so it stays visible during horizontal scroll. Acts as a click-to-scroll button on mobile. */
	.tpr-comparison-table-vs {
		left: auto !important;
		right: 12px !important;
		top: 30px;
		transform: translateY(-50%) !important;
		transition: left 0.25s ease, right 0.25s ease;
		cursor: pointer;
	}
	.tpr-comparison-table-vs svg {
		width: 42px;
		height: 42px;
	}
	/* Scroll cue: "Scroll" text + right-pointing chevron next to VS, gentle pulse. Both positioned on the LEFT of VS in the default state. */
	.tpr-comparison-table-vs::before {
		content: "Scroll";
		position: absolute;
		top: 50%;
		right: calc(100% + 22px);
		left: auto;
		transform: translateY(-50%);
		font-size: 12px;
		font-weight: 600;
		color: #ffffff;
		white-space: nowrap;
		transition: opacity 0.2s ease;
	}
	.tpr-comparison-table-vs::after {
		content: "";
		position: absolute;
		top: 50%;
		right: calc(100% + 6px);
		left: auto;
		width: 10px;
		height: 10px;
		border-top: 3px solid #ffffff;
		border-right: 3px solid #ffffff;
		border-left: none;
		border-bottom: none;
		transform: translateY(-50%) rotate(45deg);
		animation: tpr-vs-chevron-pulse 1.4s ease-in-out infinite;
	}
	/* Scrolled state (JS toggles .tpr-scrolled on wrapper once user scrolls past ~25% of figure width). VS flips to the LEFT edge so it sits before the "Have us do it for you" header; chevron + Scroll text flip to the right of VS and chevron reverses direction. */
	.tpr-scrolled .tpr-comparison-table-vs {
		left: 12px !important;
		right: auto !important;
	}
	.tpr-scrolled .tpr-comparison-table-vs::before {
		opacity: 0;
	}
	.tpr-scrolled .tpr-comparison-table-vs::after {
		left: calc(100% + 6px);
		right: auto;
		transform: translateY(-50%) rotate(225deg);
		animation-name: tpr-vs-chevron-pulse-rev;
	}
	/* Mobile footer: align "Total cost" label flush-left with body labels above (16px) so the first character lines up with "Hire a 1.5m...". Mirror for the second column group. */
	.tpr-comparison-table tfoot tr td.tpr-comparison-table-foot-has-price,
	.tpr-comparison-table tfoot tr td.tpr-comparison-table-foot-has-price:first-child,
	.tpr-comparison-table tfoot tr td.tpr-comparison-table-foot-has-price:last-child {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	/*
	 * Accordion panel often has inline 5% padding — zero horizontal on mobile so the comparison
	 * table matches body column alignment and gains width. (Vertical padding unchanged.)
	 */
	.wp-block-accordion-panel:has(.tpr-comparison-table) {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	/* Spectra wrappers around the table: drop side padding so the figure can span the panel */
	.wp-block-accordion-panel:has(.tpr-comparison-table) .wp-block-uagb-container:has(.tpr-comparison-table-wrapper) {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.wp-block-accordion-panel:has(.tpr-comparison-table)
		.wp-block-uagb-container:has(.tpr-comparison-table-wrapper)
		> .uagb-container-inner-blocks-wrap,
	.wp-block-accordion-panel:has(.tpr-comparison-table)
		.wp-block-uagb-container:has(.tpr-comparison-table-wrapper)
		> .uagb-container-inner-block {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/*
	 * Case study: keep the comparison table at the same ~90% inner width as the rest of the
	 * site on mobile (no full-viewport breakout).
	 */
	#case-study-feature:has(.tpr-comparison-table) {
		overflow-x: visible !important;
	}
	#case-study-feature .tpr-comparison-table-wrapper {
		width: 90% !important;
		max-width: 90% !important;
		margin-left: auto !important;
		margin-right: auto !important;
		box-sizing: border-box !important;
		position: relative;
	}
	#case-study-feature .wp-block-uagb-container:has(.tpr-comparison-table),
	#case-study-feature .wp-block-group:has(.tpr-comparison-table),
	#case-study-feature .uagb-container-inner-blocks-wrap:has(.tpr-comparison-table-wrapper) {
		overflow-x: visible !important;
	}

	/*
	 * Case study root: Spectra often keeps the inner wrap as row/grid below desktop, so the
	 * quote block (e.g. .uagb-block-471e691e) stays in a second column and sits off-screen right
	 * beside the full-bleed table. Force a single column stack for all direct section blocks.
	 */
	#case-study-feature.uagb-layout-grid > .uagb-container-inner-blocks-wrap,
	#case-study-feature.uagb-layout-grid > .uagb-container-inner-block,
	#case-study-feature > .uagb-container-inner-blocks-wrap,
	#case-study-feature > .uagb-container-inner-block {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		grid-template-columns: none !important;
		grid-auto-columns: unset !important;
		grid-auto-flow: unset !important;
	}
	#case-study-feature.uagb-layout-grid > .uagb-container-inner-blocks-wrap > *,
	#case-study-feature.uagb-layout-grid > .uagb-container-inner-block > *,
	#case-study-feature > .uagb-container-inner-blocks-wrap > *,
	#case-study-feature > .uagb-container-inner-block > * {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		align-self: stretch !important;
	}
}

/* Chevron pulse animation for mobile VS scroll cue: right-pointing chevron nudges toward VS (leftward) since it sits on the left of VS in the default state. */
@keyframes tpr-vs-chevron-pulse {
	0%, 100% {
		opacity: 0.55;
		transform: translateY(-50%) translateX(0) rotate(45deg);
	}
	50% {
		opacity: 1;
		transform: translateY(-50%) translateX(-4px) rotate(45deg);
	}
}
/* Reversed: left-pointing chevron (scrolled state) nudges rightward toward VS. */
@keyframes tpr-vs-chevron-pulse-rev {
	0%, 100% {
		opacity: 0.55;
		transform: translateY(-50%) translateX(0) rotate(225deg);
	}
	50% {
		opacity: 1;
		transform: translateY(-50%) translateX(4px) rotate(225deg);
	}
}

/* Mobile-only 5% left indent. Apply via Gutenberg "Additional CSS class" to paragraphs that need to keep their indent when the table goes edge-to-edge. */
@media (max-width: 767px) {
	.tpr-mobile-indent {
		padding-left: 5%;
	}
}

/* Table header images: in wrapper outside figure so they extend above without expanding header */
.tpr-comparison-table-wrapper {
	--tpr-table-header-height: 80px;
	position: relative;
	overflow: visible;
}
.wp-block-uagb-container:has(.tpr-comparison-table),
.wp-block-group:has(.tpr-comparison-table) {
	overflow-y: visible !important;
}
/* Accordion: allow header images to extend above table when comparison table is inside panel */
.wp-block-accordion:has(.tpr-comparison-table),
.wp-block-accordion-item:has(.tpr-comparison-table),
.wp-block-accordion-panel:has(.tpr-comparison-table) {
	overflow: visible !important;
}
.tpr-comparison-table-wrapper .tpr-table-before-image,
.tpr-comparison-table-wrapper .tpr-table-after-image {
	position: absolute;
	bottom: calc(100% - var(--tpr-table-header-height, 80px));
	line-height: 0;
	pointer-events: none;
	z-index: 2;
}
.tpr-comparison-table-wrapper .tpr-table-before-image {
	right: calc(50% + 30px);
	margin-bottom: 2px;
}
.tpr-comparison-table-wrapper .tpr-table-after-image {
	right: 20px;
	margin-bottom: -2px;
}
.tpr-table-before-image img{
		height: 150px;
	width: auto;
	display: block;
	object-fit: contain;
	object-position: bottom;
	vertical-align: bottom;
}
.tpr-table-after-image img {
	height: 190px;
	width: auto;
	display: block;
	object-fit: contain;
	object-position: bottom;
	vertical-align: bottom;
}

@media (max-width: 970px) {
	.tpr-comparison-table-wrapper .tpr-table-before-image,
	.tpr-comparison-table-wrapper .tpr-table-after-image {
		display: none;
	}
}

/* ==========================================================================
   TPR Trusted logos – white boxes, 12px radius, auto-scrolling carousel (Figma)
   ========================================================================== */

/* Carousel viewport: hide overflow so only one strip is visible */
.tpr-logo-carousel,
.tpr-logo-carousel.tpr-trusted-logos-carousel {
	overflow-x: hidden;
	overflow-y: visible;
}

/* Clip track overflow at responsive sizes so logos don't push page width */
#logo-scroll-section,
#logo-scroll-section .wp-block-uagb-container {
	overflow-x: hidden;
}

.tpr-logo-carousel .tpr-trusted-logos__viewport {
	overflow-x: hidden;
	width: 100%;
}

/* Track: flex row, duplicated for infinite scroll (JS sets width) */
.tpr-logo-carousel .tpr-trusted-logos__track {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 1rem;
	width: max-content;
	animation: tpr-trusted-logos-scroll 40s linear infinite;
}

.tpr-logo-carousel.tpr-trusted-logos--paused .tpr-trusted-logos__track {
	animation-play-state: paused;
}

@keyframes tpr-trusted-logos-scroll {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

/* Each logo in a white box, 12px radius (per Figma) */
.tpr-logo-carousel .tpr-trusted-logos__item {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border-radius: 12px;
	padding: 1rem 1.5rem;
	min-width: 140px;
	height: 80px;
	box-sizing: border-box;
	overflow: visible;
}

/* Inner wrapper (figure/a): centre content vertically and horizontally, don’t overflow */
.tpr-logo-carousel .tpr-trusted-logos__item > * {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	align-self: stretch;
	min-height: 0;
	max-width: 100%;
	width: 100%;
}

/* Nested flex containers (e.g. UAGB): force vertical centre so logo + text don’t sit at top */
.tpr-logo-carousel .tpr-trusted-logos__item [class*="uagb"],
.tpr-logo-carousel .tpr-trusted-logos__item .wp-block-group {
	align-items: center !important;
}

/* Direct wrapper of logo img/svg: flex + centre so short logos sit in the middle */
.tpr-logo-carousel .tpr-trusted-logos__item :has(> img),
.tpr-logo-carousel .tpr-trusted-logos__item :has(> svg) {
	display: flex !important;
	align-items: center !important;
}

/* JS wraps each img/svg in this cell; cell is centred in box so short logos sit in the middle */
.tpr-logo-carousel .tpr-trusted-logos__logo-cell {
	display: flex;
	align-items: center;
	justify-content: center;
	align-self: center;
	flex-shrink: 0;
	box-shadow: none !important;
}

/* Remove any inherited shadow from gallery/image blocks */
.tpr-logo-carousel.tpr-trusted-logos-carousel figure,
.tpr-logo-carousel.tpr-trusted-logos-carousel .wp-block-image,
.tpr-logo-carousel.tpr-trusted-logos-carousel .tpr-trusted-logos__item {
	box-shadow: none !important;
}

/* Shrink logos to fit; fixed max height so none are cut off (80px box − 2×1rem padding = 48px) */
/* Shrink logos to fit; 80px box − 2×1rem padding = 48px max height */
.tpr-logo-carousel .tpr-trusted-logos__item img,
.tpr-logo-carousel .tpr-trusted-logos__item svg {
	display: block;
	max-width: 100%;
	max-height: 48px;
	width: auto;
	height: auto;
	object-fit: contain;
	object-position: center;
	vertical-align: middle;
	/* Centre short logos vertically instead of letting them sit at top */
	align-self: center;
}

/* ==========================================================================
   TPR Testimonial carousel – star rating, content styling, conditional name/logo
   Scope: .tpr-testimonial-carousel (add to container)
   ========================================================================== */

/* Star rating: inline SVG stars, #0F2902, 16px */
.tpr-testimonial-carousel .tpr-star-rating-display {
	display: inline-flex;
	align-items: center;
	gap: 0.15em;
	color: #0F2902 !important;
	font-size: 16px !important;
	line-height: 1;
}
.tpr-testimonial-carousel .tpr-star-rating-display .tpr-star-icon {
	display: inline-flex;
	align-items: center;
	color: #0F2902 !important;
}
/* Empty stars: muted opacity to appear outline-like */
.tpr-testimonial-carousel .tpr-star-rating-display .tpr-star-empty {
	opacity: 0.25;
}

/* ==========================================================================
   TPR Reviews – 5 stars in a row (single Icon block with class .tpr-reviews-5-stars)
   JS clones the SVG 5× so the same star from the editor is used.
   ========================================================================== */

.tpr-reviews-5-stars,
.tpr-reviews-5-stars.uagb-svg-wrapper {
	display: inline-flex !important;
	align-items: center;
}
.tpr-reviews-5-stars__wrap {
	display: inline-flex;
	align-items: center;
	gap: 0.15em;
}
/* Override UAGB Icon block size – force 25px so stars display correctly */
.tpr-reviews-5-stars svg,
.tpr-reviews-5-stars__wrap svg,
.uagb-icon-wrapper.tpr-reviews-5-stars svg {
	flex-shrink: 0;
	width: 25px !important;
	height: 25px !important;
	min-width: 25px !important;
	min-height: 25px !important;
}

/* Testimonial content: bold, bolded text #879480 (add .tpr-testimonial-content to block) */
.tpr-testimonial-content,
.tpr-testimonial-content p,
.tpr-testimonial-content .uagb-heading-text,
.tpr-testimonial-content .uagb-desc-text {
	font-weight: 700;
}
.tpr-testimonial-content strong,
.tpr-testimonial-content b,
.tpr-testimonial-content strong span,
.tpr-testimonial-content b span {
	color: #57694E !important;
}

/* Testimonial name (from [tpr_testimonial_name] shortcode) – match heading style */
.tpr-testimonial-carousel .tpr-testimonial-name {
	display: block;
	font-size: var(--wp--preset--font-size--large, 1.25rem);
	font-weight: 700;
	color: #0F2902;
}

/* When data-tpr-show-logo="1" (logo ACF exists), hide name heading and show logo image. */
.tpr-testimonial-carousel .uagb-loop-post-inner [data-tpr-show-logo="1"] .wp-block-uagb-advanced-heading:first-of-type,
.tpr-testimonial-carousel .uagb-loop-post-inner [data-tpr-show-logo="1"] .wp-block-uagb-advanced-heading:first-of-type h1,
.tpr-testimonial-carousel .uagb-loop-post-inner [data-tpr-show-logo="1"] .wp-block-uagb-advanced-heading:first-of-type h2,
.tpr-testimonial-carousel .uagb-loop-post-inner [data-tpr-show-logo="1"] .wp-block-uagb-advanced-heading:first-of-type h3,
.tpr-testimonial-carousel .uagb-loop-post-inner [data-tpr-show-logo="1"] .wp-block-uagb-advanced-heading:first-of-type h4,
.tpr-testimonial-carousel .uagb-loop-post-inner [data-tpr-show-logo="1"] .wp-block-uagb-advanced-heading:first-of-type h5,
.tpr-testimonial-carousel .uagb-loop-post-inner [data-tpr-show-logo="1"] .wp-block-uagb-advanced-heading:first-of-type h6 {
	display: none !important;
}

/* Testimonial logo: 145×145px circle, force 1:1 aspect ratio (override UAGB/flex stretch) */
.tpr-testimonial-carousel .tpr-testimonial-logo,
.tpr-testimonial-carousel figure.wp-block-uagb-image.tpr-testimonial-logo {
	width: 145px !important;
	height: 145px !important;
	min-width: 145px !important;
	min-height: 145px !important;
	max-width: 145px !important;
	max-height: 145px !important;
	flex: 0 0 145px !important;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	overflow: visible;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #f5f5f5;
	margin: 0;
}
.tpr-testimonial-carousel .tpr-testimonial-logo img,
.tpr-testimonial-carousel .tpr-testimonial-logo .wp-block-uagb-image__img {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	object-position: center;
	padding: 12%;
	box-sizing: border-box;
}
/* Fallback: alt text (post title) inside circle when no image */
.tpr-testimonial-carousel .tpr-testimonial-logo .tpr-testimonial-image-fallback {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 0.5rem;
	text-align: center;
	font-size: 20px;
	font-weight: 700;
	color: #0F2902;
	line-height: 1.1;
	word-break: break-word;
}

/* ==========================================================================
   TPR Testimonial section – align with page content, LHS lines up with card content
   ========================================================================== */

/* Grid: same left inset as page content so section aligns with content above */
.uagb-layout-grid.uagb-block-08eee7c7 {
	padding-left: var(--tpr-content-inset, max(1.5rem, 5vw)) !important;
	box-sizing: border-box;
}

/* Left column: no extra left padding (section/grid already provides content inset) */
.tpr-testimonial-lhs-content {
	width: 90%;
	max-width: 90%;
	min-width: 0;
	margin-left: 0;
	padding-left: 0 !important;
	padding-inline-start: 0 !important;
	box-sizing: border-box;
}

/* Keep all content (heading, paragraph, image, arrows) within the 90% container */
.tpr-testimonial-lhs-content > * {
	max-width: 100%;
	box-sizing: border-box;
}

/* Tablet and mobile: LHS content in 2 columns – text left, Google logo right (aligned to right).
 * Grid is on the first column wrapper so that with display:contents on LHS, the inner blocks become grid items. */
@media (max-width: 1024px) {
	/* First child of the layout grid = LHS column wrapper; make it a 2-column grid */
	.uagb-layout-grid:has(.tpr-testimonial-carousel-wrapper) > .uagb-container-inner-blocks-wrap > *:first-child {
		display: grid !important;
		grid-template-columns: 1fr auto;
		gap: 1rem;
		align-items: start;
		width: 100% !important;
		max-width: 100% !important;
	}
	/* LHS content wrapper: collapse so its children participate in the grid above */
	.uagb-layout-grid:has(.tpr-testimonial-carousel-wrapper) .tpr-testimonial-lhs-content {
		display: contents !important;
	}
	/* Grid items are .tpr-testimonial-lhs-content’s children (they participate in the grid via display:contents). Text in col 1. */
	.uagb-layout-grid:has(.tpr-testimonial-carousel-wrapper) .tpr-testimonial-lhs-content > *:not(:has(.tpr-google-review-logo)) {
		grid-column: 1;
		min-width: 0;
	}
	/* Block that contains the Google logo: second column, right-aligned */
	.uagb-layout-grid:has(.tpr-testimonial-carousel-wrapper) .tpr-testimonial-lhs-content > *:has(.tpr-google-review-logo) {
		grid-column: 2;
		justify-self: end;
	}
	/* Arrows inside LHS: span full width below the 2-column row */
	.uagb-layout-grid:has(.tpr-testimonial-carousel-wrapper) .tpr-testimonial-lhs-content > .tpr-testimonial-carousel-arrows {
		grid-column: 1 / -1;
	}
	.uagb-layout-grid:has(.tpr-testimonial-carousel-wrapper) .tpr-testimonial-lhs-content .tpr-google-review-logo {
		margin-left: 0 !important;
		margin-right: 0 !important;
		float: none !important;
	}
}

/* Parent clips overflow so carousel extends off right */
.uagb-container-inner-block:has(.tpr-testimonial-carousel),
.wp-block-group:has(.tpr-testimonial-carousel-wrapper) {
	overflow-x: hidden;
}

/* Grid with testimonial: left column keeps min-width so carousel doesn't overlap */
.uagb-layout-grid:has(.tpr-testimonial-carousel-wrapper) > .uagb-container-inner-blocks-wrap > *:first-child {
	min-width: min(280px, 100%);
}

/* Carousel wrapper: extends to far right edge of screen. No left margin so it starts at grid column; grid already has content inset. */
.tpr-testimonial-carousel-wrapper {
	position: relative;
	max-width: none;
	min-width: 0;
	margin-left: 0;
	margin-right: calc(50% - 50vw - var(--wp--style--root--padding-right, 0px));
	width: calc(100% + 50vw - 50% + var(--wp--style--root--padding-right, 0px));
}

/* Loop container: horizontal scroll; 2 items visible by default (3 at 1600px+ below) */
.tpr-testimonial-carousel .uagb-loop-container {
	display: flex !important;
	flex-wrap: nowrap !important;
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	gap: 1.5rem;
	padding-right: 1rem;
}
.tpr-testimonial-carousel .uagb-loop-container::-webkit-scrollbar {
	display: none;
}

/* Each testimonial: two cards visible (one 1.5rem gap between columns) */
.tpr-testimonial-carousel .uagb-loop-container .uagb-loop-post {
	flex: 0 0 calc((100% - 1.5rem) / 2);
	min-width: min(320px, calc((100vw - 1.5rem) / 2));
	scroll-snap-align: start;
}

/* Large desktop (matches site-wide 1600px+ breakpoint): three cards across (two 1.5rem gaps) */
@media (min-width: 1600px) {
	.tpr-testimonial-carousel .uagb-loop-container .uagb-loop-post {
		flex: 0 0 calc((100% - 3rem) / 3);
		min-width: 0;
	}
}

/* Arrows: placed where shortcode [tpr-testimonial-carousel-arrows] is used */
.tpr-testimonial-carousel-arrows {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.5rem;
}
.tpr-testimonial-carousel-nav {
	width: 3rem;
	height: 3rem;
	border: 1px solid transparent;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	background-color: #0F2902;
	color: #fff;
	transition: background-color 0.2s, color 0.2s, transform 0.2s, opacity 0.2s;
	padding: 0;
}
.tpr-testimonial-carousel-nav:hover:not(.is-disabled) {
	transform: scale(1.05);
	background-color: #D2FC51;
	color: #0F2902;
}
.tpr-testimonial-carousel-nav:hover:not(.is-disabled) > i {
	color: #0F2902;
}

.tpr-testimonial-carousel-nav:hover:not(.is-disabled) > svg {
	fill: #0F2902;
}
.tpr-testimonial-carousel-nav.is-disabled {
	background-color: rgba(15, 41, 2, 0.1) !important;
	cursor: not-allowed;
	opacity: 0.6;
}
.tpr-testimonial-carousel-nav > i {
	font-size: 1rem;
	line-height: 1;
	color: #fff;
}

.tpr-testimonial-carousel-nav > svg {
	width: 1rem;
	height: 1rem;
	fill: #fff;
}

/* Mobile: one testimonial at a time, horizontal scroll, arrows underneath */
@media (max-width: 767px) {
	.tpr-testimonial-carousel-wrapper {
		overflow-x: hidden;
		width: 100% !important;
		margin-right: 0 !important;
	}
	.tpr-testimonial-carousel .uagb-loop-container {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
	}
	.tpr-testimonial-carousel .uagb-loop-container .uagb-loop-post {
		flex: 0 0 100% !important;
		min-width: 100% !important;
	}
	/* Arrows below carousel: testimonials-slider or any parent with both wrapper + arrows */
	#testimonials-slider,
	.wp-block-group:has(.tpr-testimonial-carousel-wrapper):has(.tpr-testimonial-carousel-arrows) {
		display: flex;
		flex-direction: column;
	}
	#testimonials-slider .tpr-testimonial-carousel-wrapper,
	.wp-block-group:has(.tpr-testimonial-carousel-wrapper):has(.tpr-testimonial-carousel-arrows) .tpr-testimonial-carousel-wrapper {
		order: 1;
	}
	#testimonials-slider .tpr-testimonial-carousel-arrows,
	.wp-block-group:has(.tpr-testimonial-carousel-wrapper):has(.tpr-testimonial-carousel-arrows) .tpr-testimonial-carousel-arrows {
		order: 2;
		justify-content: flex-start;
		margin-top: 1rem;
	}
	/* LHS intro copy: breathing room vs viewport / carousel (editor sets padding 0 on this group). */
	#testimonials-slider .tpr-testimonial-lhs-content > .wp-block-group.has-global-padding.is-layout-constrained {
		padding-right: 5% !important;
	}
}

/* When testimonial section stacks (single column), move arrows below the carousel. */
@media (max-width: 1024px) {
	.uagb-layout-grid:has(.tpr-testimonial-carousel-wrapper) > .uagb-container-inner-blocks-wrap {
		display: flex !important;
		flex-direction: column;
	}
	/* LHS content uses 2-column grid (text left, logo right) – see .tpr-testimonial-lhs-content rules above; no display: contents */
	/* First stacked item (LHS content) full width so its internal grid can span and align logo right */
	.uagb-layout-grid:has(.tpr-testimonial-carousel-wrapper) > .uagb-container-inner-blocks-wrap > .tpr-testimonial-lhs-content {
		width: 100% !important;
		max-width: 100% !important;
		order: 0;
	}
	.uagb-layout-grid:has(.tpr-testimonial-carousel-wrapper) > .uagb-container-inner-blocks-wrap > *:not(.tpr-testimonial-carousel-wrapper):not(.tpr-testimonial-carousel-arrows):not(.tpr-testimonial-lhs-content) {
		width: 90%;
		max-width: 90%;
		margin-left: 0;
		padding-left: 1.5rem !important;
		order: 0;
	}
	.uagb-layout-grid:has(.tpr-testimonial-carousel-wrapper) .tpr-testimonial-carousel-wrapper {
		order: 1;
	}
	.uagb-layout-grid:has(.tpr-testimonial-carousel-wrapper) .tpr-testimonial-carousel-arrows {
		order: 2;
	}
}

/* ==========================================================================
   Footer reveal: parallax effect. The reveal text and copyright bar sit
   fixed at the viewport bottom but are clipped inside the footer via
   clip-path. #tpr-footer-primary has a solid background and scrolls over
   them like a curtain, naturally revealing the content behind it.
   Large-desktop spacing and short-viewport fallbacks are handled in CSS below.
   ========================================================================== */

/* Override parent theme: footer sits directly below content, no white gap */
.wp-site-blocks footer {
	margin-top: 0 !important;
}

/* Page content (not the site header) sits above the footer's clipped reveal layer */
.wp-site-blocks > *:not(footer):not(header) {
	position: relative;
	z-index: 1;
}

/*
 * Spectra header (template part): “Transparent header” / “Sticky header” in the editor add
 * .swt-transparent-header (position: absolute; z-index: 999) or .swt-sticky-header (fixed).
 * Do not set position here — it would override Spectra and break overlap site-wide.
 * Only headers without those classes get a stacking context for the footer parallax layer below.
 */
.wp-site-blocks > header.wp-block-template-part:not(.swt-transparent-header):not(.swt-sticky-header) {
	position: relative;
	z-index: 10;
}

/* Clip fixed children to the footer's bounds – enables the parallax reveal.
   position: relative + z-index: 0 keeps it below the sticky CTA bar (z-index: 999999).
   Bottom clip extended below footer: any content that lives below the footer in flow
   (modal roots, injected third-party widgets) inflates docHeight past footer.bottom, so
   at max scroll the footer's rect ends ~belowFooter px above the viewport bottom. Without
   the negative inset, the fixed copyright bar gets clipped there and shows body white as
   a thin strip. Top/sides stay `0` — parallax reveal logic only needs vertical clipping. */
footer.wp-block-template-part {
	position: relative;
	z-index: 0;
	clip-path: inset(0 0 -100vh 0);
	/* Desktop parallax: --tpr-footer-reveal-pad set by tpr-footer-reveal.js (tighter than 95vh). */
	padding-bottom: var(--tpr-footer-reveal-pad, min(1600px, 95vh));
}

/* All content before the reveal sits above the fixed reveal layer */
footer #tpr-footer-primary,
footer > *:not(.tpr-footer-reveal-text):not(.tpr-footer-reveal-text ~ *) {
	position: relative;
	z-index: 2;
}

/* Reveal text: fixed at viewport bottom, clipped by footer */
footer .tpr-footer-reveal-text {
	position: fixed;
	bottom: 100px;
	left: 0;
	right: 0;
	z-index: 1;
	/*
	 * Pack block content to the lower edge of this fixed layer. Spectra/UAGB often
	 * applies a large min-height (vh-based) on root containers, which otherwise
	 * leaves a tall empty band above the sticky quote bar on wide viewports.
	 */
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: stretch;
	min-height: 0 !important;
	box-sizing: border-box;
}

footer .tpr-footer-reveal-text.uagb-is-root-container,
footer .tpr-footer-reveal-text .uagb-is-root-container {
	min-height: 0 !important;
}

/*
 * Spectra often sets a tall min-height on nested wrappers; that leaves a huge empty
 * band *below* the logos inside the fixed layer. Collapse it and pack inner columns
 * to the bottom without changing horizontal logo rows (wrap stays flex/grid as authored).
 */
footer .tpr-footer-reveal-text > .uagb-container-inner-block,
footer .tpr-footer-reveal-text > .wp-block-uagb-container,
footer .tpr-footer-reveal-text > .wp-block-group {
	min-height: 0 !important;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	flex: 0 1 auto;
}

footer .tpr-footer-reveal-text .uagb-container-inner-blocks-wrap {
	min-height: 0 !important;
	flex: 0 1 auto;
	align-content: end;
	box-sizing: border-box;
}

/*
 * Footer reveal mission line (core paragraph with has-xxxx-large-font-size): below the
 * large-desktop breakpoint (matches min-width: 1920px tier above), use 40px so laptop
 * widths are not dominated by theme xxxx-large; 1920px+ keeps the authored size.
 */
@media (min-width: 1025px) and (max-width: 1919px) {
	footer .tpr-footer-reveal-text p.has-xxxx-large-font-size {
		font-size: 40px !important;
	}
}

/*
 * Parallax mode: collapse the reveal block's authored padding-bottom. Spectra/UAGB stores
 * the block with `padding: 2% 0 5%`, and in parallax the reveal is `position: fixed;
 * bottom: 104px`, so the 5% (~70–100px on wide viewports) rendered as an empty band
 * between the logos and the copyright / sticky CTA bar. With padding-bottom: 0 the
 * default flex-end on .tpr-footer-reveal-text packs content tight against the reveal's
 * bottom edge; padding-top stays authored (breathing room above the logos preserved).
 */
body:not(.tpr-footer-reveal--static) footer .tpr-footer-reveal-text {
	padding-bottom: 0 !important;
}

/* Large desktop: extra air between primary footer and the fixed reveal. */
@media (min-width: 1536px) {
	footer #tpr-footer-primary {
		padding-bottom: clamp(2.75rem, 4.5vw, 4.75rem) !important;
	}
}

@media (min-width: 1920px) {
	footer #tpr-footer-primary {
		padding-bottom: clamp(3.25rem, 5vw, 5.5rem) !important;
	}
}

/*
 * Sticky CTA / copyright strip is `position: fixed; bottom: 0; min-height: 100px` (higher z-index
 * than reveal), so align reveal's bottom exactly with the copyright bar's top — otherwise the
 * transparent footer between them shows the body's white background as a thin bar.
 */
body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) footer .tpr-footer-reveal-text {
	bottom: 100px;
}

/* Copyright bar: fixed at very bottom, clipped by footer */
footer .tpr-footer-reveal-text + .wp-block-uagb-container,
footer .tpr-footer-reveal-text + * {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
	padding-bottom: env(safe-area-inset-bottom, 0);
	box-sizing: border-box;
}

/* When sticky CTA bar is present: copyright bar extends behind CTA */
body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) footer .tpr-footer-reveal-text + .wp-block-uagb-container,
body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) footer .tpr-footer-reveal-text + * {
	bottom: 0;
	min-height: 100px;
}

/* At 960px and below: copyright bar 150px high, text aligned to top */
@media (max-width: 960px) {
	body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) footer .tpr-footer-reveal-text + .wp-block-uagb-container,
	body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) footer .tpr-footer-reveal-text + * {
		min-height: 150px;
		display: flex;
		align-items: flex-start;
	}
	body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) footer .tpr-footer-reveal-text + .wp-block-uagb-container [class*="uagb-container-inner"],
	body:has(.tpr-gf-cta-block.tpr-gf-cta-sticky) footer .tpr-footer-reveal-text + * [class*="uagb-container-inner"] {
		align-self: flex-start;
		width: 100%;
	}
}

/* Tablet and mobile (≤1024px): no parallax, everything scrolls in normal flow */
@media (max-width: 1024px) {
	footer.wp-block-template-part {
		clip-path: none;
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}

	footer .tpr-footer-reveal-text,
	footer .tpr-footer-reveal-text + .wp-block-uagb-container,
	footer .tpr-footer-reveal-text + * {
		position: static !important;
	}

	footer .tpr-footer-reveal-text {
		padding-bottom: revert !important;
	}

	footer .tpr-footer-reveal-text + .wp-block-uagb-container,
	footer .tpr-footer-reveal-text + *,
	footer > *:last-child {
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}

	footer .tpr-footer-reveal-text > .uagb-container-inner-block,
	footer .tpr-footer-reveal-text > .wp-block-uagb-container,
	footer .tpr-footer-reveal-text > .wp-block-group {
		display: revert !important;
		flex-direction: revert !important;
		justify-content: revert !important;
		flex: revert !important;
	}

	footer .tpr-footer-reveal-text .uagb-container-inner-blocks-wrap,
	footer .tpr-footer-reveal-text .uagb-container-inner-block .uagb-container-inner-blocks-wrap {
		align-content: revert !important;
		padding-top: revert !important;
	}
}

/* Mobile: slightly smaller mission line (≈5px under Spectra xxxx-large fluid) + space below reveal block */
@media (max-width: 767px) {
	footer .tpr-footer-reveal-text {
		padding-bottom: 5% !important;
		box-sizing: border-box;
	}
	footer .tpr-footer-reveal-text p.has-xxxx-large-font-size {
		font-size: calc(clamp(40px, 6.6vw, 56px) - 5px) !important;
	}
}

/*
 * Very short viewports (desktop widths only): DISABLED for now — re-enable by
 * uncommenting the @media block below. Was: max-height + min-width turns off
 * clip-path / fixed reveal so tall copy is not clipped; tall-copy is also
 * handled by JS (.tpr-footer-reveal--static).
 *
 * @media (max-height: 800px) and (min-width: 1025px) {
 * 	footer.wp-block-template-part {
 * 		clip-path: none;
 * 		padding-bottom: 0 !important;
 * 		margin-bottom: 0 !important;
 * 	}
 *
 * 	footer .tpr-footer-reveal-text,
 * 	footer .tpr-footer-reveal-text + .wp-block-uagb-container,
 * 	footer .tpr-footer-reveal-text + * {
 * 		position: static !important;
 * 	}
 *
 * 	footer .tpr-footer-reveal-text + .wp-block-uagb-container,
 * 	footer .tpr-footer-reveal-text + *,
 * 	footer > *:last-child {
 * 		margin-bottom: 0 !important;
 * 		padding-bottom: 0 !important;
 * 	}
 *
 * 	footer .tpr-footer-reveal-text {
 * 		display: block;
 * 		min-height: 0 !important;
 * 		padding-bottom: revert !important;
 * 	}
 *
 * 	footer .tpr-footer-reveal-text > .uagb-container-inner-block,
 * 	footer .tpr-footer-reveal-text > .wp-block-uagb-container,
 * 	footer .tpr-footer-reveal-text > .wp-block-group {
 * 		display: revert !important;
 * 		flex-direction: revert !important;
 * 		justify-content: revert !important;
 * 		flex: revert !important;
 * 	}
 *
 * 	footer .tpr-footer-reveal-text .uagb-container-inner-blocks-wrap,
 * 	footer .tpr-footer-reveal-text .uagb-container-inner-block .uagb-container-inner-blocks-wrap {
 * 		align-content: revert !important;
 * 		padding-top: revert !important;
 * 	}
 * }
 */

/*
 * JS adds this class when reveal stack is taller than the viewport can show
 * without clipping (see tpr-footer-reveal.js). Same layout as short-viewport CSS.
 */
@media (min-width: 1025px) {
	body.tpr-footer-reveal--static footer.wp-block-template-part {
		clip-path: none;
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}

	body.tpr-footer-reveal--static footer .tpr-footer-reveal-text,
	body.tpr-footer-reveal--static footer .tpr-footer-reveal-text + .wp-block-uagb-container,
	body.tpr-footer-reveal--static footer .tpr-footer-reveal-text + * {
		position: static !important;
	}

	body.tpr-footer-reveal--static footer .tpr-footer-reveal-text + .wp-block-uagb-container,
	body.tpr-footer-reveal--static footer .tpr-footer-reveal-text + *,
	body.tpr-footer-reveal--static footer > *:last-child {
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}

	body.tpr-footer-reveal--static footer .tpr-footer-reveal-text {
		display: block;
		min-height: 0 !important;
		padding-bottom: revert !important;
	}

	body.tpr-footer-reveal--static footer .tpr-footer-reveal-text > .uagb-container-inner-block,
	body.tpr-footer-reveal--static footer .tpr-footer-reveal-text > .wp-block-uagb-container,
	body.tpr-footer-reveal--static footer .tpr-footer-reveal-text > .wp-block-group {
		display: revert !important;
		flex-direction: revert !important;
		justify-content: revert !important;
		flex: revert !important;
	}

	body.tpr-footer-reveal--static footer .tpr-footer-reveal-text .uagb-container-inner-blocks-wrap,
	body.tpr-footer-reveal--static footer .tpr-footer-reveal-text .uagb-container-inner-block .uagb-container-inner-blocks-wrap {
		align-content: revert !important;
		padding-top: revert !important;
	}
}


/* ==========================================================================
   Footer accordion – columns become expandable accordions when footer stacks
   (≤976px — UAGB's tablet breakpoint, where the footer grid collapses into a single
   column; JS adds .tpr-footer-accordion-active in the same range)
   ========================================================================== */

@media (max-width: 976px) {
	#tpr-footer-primary.tpr-footer-accordion-active .tpr-footer-accordion {
		border-bottom: 1px solid rgba(255, 255, 255, 0.2);
		margin-bottom: 4px !important;
	}

	#tpr-footer-primary.tpr-footer-accordion-active .tpr-footer-accordion:last-child {
		margin-bottom: 0 !important;
	}

	/* First item gets a top divider + breathing room from the social icons row above it; the
	   trigger keeps the same 6px vertical padding the others use so all rows are the same height. */
	#tpr-footer-primary.tpr-footer-accordion-active .tpr-footer-accordion-first {
		border-top: 1px solid rgba(255, 255, 255, 0.2);
		margin-top: 1.5rem;
	}

	/*
	 * Spectra often sets different padding per column (mobile % on one footer column, top/bottom
	 * pad on another). Strip ALL insets on accordion columns so every trigger row sits flush with
	 * the dividers above/below — otherwise "About" etc. renders a bigger gap than "Resources".
	 *
	 * Target the raw DOM (not the JS-added .tpr-footer-accordion-active / data-ready attrs): WP
	 * Rocket RUCSS prunes selectors it can't match in the static HTML, and those markers only
	 * appear after tpr-footer-accordion.js runs. Matching the unprocessed column keeps the rule
	 * in the critical CSS.
	 */
	#tpr-footer-primary .wp-block-uagb-container {
		padding: 0 !important;
		padding-inline: 0 !important;
		padding-block: 0 !important;
		margin: 0 !important;
		margin-inline: 0 !important;
		margin-block: 0 !important;
	}
	/* Stack accordions without UAGB block-gap inflating row spacing; zero inner horizontal padding too.
	   Same RUCSS reasoning as above: avoid JS-added selectors so the rule survives critical-CSS pruning. */
	#tpr-footer-primary .wp-block-uagb-container > .uagb-container-inner-blocks-wrap,
	#tpr-footer-primary .wp-block-uagb-container > .uagb-container-inner-block {
		gap: 0.25rem !important;
		row-gap: 0.25rem !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-inline-start: 0 !important;
		padding-inline-end: 0 !important;
	}

	/*
	 * UAGB puts each footer column inside its own wp-block-uagb-container and the OUTER grid
	 * wrapper (.uagb-container-inner-blocks-wrap) spaces the stacked columns apart. Margin-bottom
	 * on an accordion inside a grid row doesn't reliably push the next row down (grid-auto-rows
	 * sizes to content-box, not margin-box), so drive the gap with row-gap directly — this is
	 * what produces the consistent space between every accordion row.
	 */
	#tpr-footer-primary.tpr-footer-accordion-active .uagb-container-inner-blocks-wrap {
		row-gap: 10px !important;
	}

	.tpr-footer-accordion__trigger {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		padding: 6px 0;
		background: none;
		border: none;
		color: inherit;
		font: inherit;
		font-weight: 700;
		text-align: left;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
	}

	.tpr-footer-accordion__trigger:hover,
	.tpr-footer-accordion__trigger:focus {
		outline: none;
	}

	.tpr-footer-accordion__trigger-inner {
		flex: 1 1 auto;
		min-width: 0;
		text-align: left;
		margin: 0;
	}

	/* Editor heading may be UAGB advanced heading (margins / text-align differ from plain <p>). */
	#tpr-footer-primary .tpr-footer-accordion__trigger-inner .wp-block-uagb-advanced-heading,
	#tpr-footer-primary .tpr-footer-accordion__trigger-inner .uagb-heading-text {
		margin: 0 !important;
		padding: 0 !important;
		text-align: left !important;
	}

	.tpr-footer-accordion__chevron {
		flex-shrink: 0;
		margin-left: 0.5rem;
		transition: transform 0.2s ease;
	}

	.tpr-footer-accordion--open .tpr-footer-accordion__chevron {
		transform: rotate(180deg);
	}

	.tpr-footer-accordion__panel {
		overflow: hidden;
		max-height: 0;
		transition: max-height 0.25s ease;
	}

	.tpr-footer-accordion--open .tpr-footer-accordion__panel {
		max-height: 500px; /* Enough for typical link lists */
	}

	.tpr-footer-accordion__panel > * {
		padding-bottom: 0.45rem;
	}

	.tpr-footer-accordion__panel > *:last-child {
		padding-bottom: 0.65rem;
	}

	/* WP Core Navigation block with `is-responsive` (e.g. About column) renders a hamburger
	   below ≈600px and hides the inline list. Inside the footer accordion panel we already
	   provide the disclosure via the trigger, so force the list inline and hide the second
	   hamburger button + its modal chrome. */
	.tpr-footer-accordion__panel .wp-block-navigation__responsive-container-open {
		display: none !important;
	}
	.tpr-footer-accordion__panel .wp-block-navigation__responsive-container {
		display: block !important;
		position: static !important;
		background: transparent !important;
		padding: 0 !important;
	}
	.tpr-footer-accordion__panel .wp-block-navigation__responsive-container-close {
		display: none !important;
	}
	.tpr-footer-accordion__panel .wp-block-navigation__responsive-container .wp-block-navigation__container {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 0.25rem !important;
	}
}

/* ==========================================================================
   Footer logos – use backend-set height per logo, width auto for aspect ratio
   Each Image block’s Width/Height in the editor controls that logo’s size.
   ========================================================================== */

footer .tpr-footer-logos {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 1rem;
	height: fit-content;
	min-height: 0;
	/* !important to beat UAGB's per-block padding rule (.uagb-block-d7a60375 { padding: 0 }). */
	padding-bottom: clamp(1.5rem, 4vw, 2.5rem) !important;
}

/* Mobile + tablet logo layout – see tropical_plant_rentals_footer_logos_mobile_layout() in functions.php */

/* Don't let row-2 logos flex-grow across empty space — keep them flush-left and adjacent so the
 * row visually starts at the same x as row 1's first logo. Selector includes html body to beat
 * the mobile layout CSS emitted from functions.php (tropical_plant_rentals_footer_logos_mobile_layout)
 * which forces `flex: 1 1 0` on children 2–4 for a 4-logo layout. With only 3 logos the stretch
 * pushes the small badge into the middle of empty space. */
html body footer .tpr-footer-logos-wrap > [class*="tpr-footer-individual-logo-"],
html body footer .tpr-footer-logos > [class*="tpr-footer-individual-logo-"],
html body footer [class*="tpr-footer-individual-logo-"] {
	flex: 0 0 auto !important;
	width: fit-content !important;
	min-width: 0 !important;
	max-width: 350px !important;
}

footer [class*="tpr-footer-individual-logo-"] .wp-block-uagb-image__figure,
footer [class*="tpr-footer-individual-logo-"] figure {
	width: fit-content !important;
	max-width: 350px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	overflow: visible !important;
}

footer [class*="tpr-footer-individual-logo-"] img,
footer [class*="tpr-footer-individual-logo-"] svg {
	width: auto !important;
	max-width: 350px !important;
	object-fit: contain !important;
	/* Anchor the visible logo to the left edge of the image box. With object-fit:contain the
	 * rendered content is centred by default, which leaves transparent padding on the left for
	 * wider-than-tall logos (e.g. IPA) and pushes the icon inward — breaking the visual
	 * alignment with the row above. */
	object-position: left center !important;
	display: block !important;
}

footer .tpr-footer-individual-logo-70,
footer .tpr-footer-individual-logo-70 .wp-block-uagb-image__figure,
footer .tpr-footer-individual-logo-70 figure {
	height: 70px !important;
	max-height: 70px !important;
}
footer .tpr-footer-individual-logo-70 img,
footer .tpr-footer-individual-logo-70 svg {
	height: 70px !important;
	max-height: 70px !important;
}

footer .tpr-footer-individual-logo-80,
footer .tpr-footer-individual-logo-80 .wp-block-uagb-image__figure,
footer .tpr-footer-individual-logo-80 figure {
	height: 80px !important;
	max-height: 80px !important;
	max-width: 220px !important;
}
footer .tpr-footer-individual-logo-80 img,
footer .tpr-footer-individual-logo-80 svg {
	height: 80px !important;
	max-height: 80px !important;
	max-width: 220px !important;
}

footer .tpr-footer-individual-logo-170,
footer .tpr-footer-individual-logo-170 .wp-block-uagb-image__figure,
footer .tpr-footer-individual-logo-170 figure {
	height: 170px !important;
	max-height: 170px !important;
}
footer .tpr-footer-individual-logo-170 img,
footer .tpr-footer-individual-logo-170 svg {
	height: 170px !important;
	max-height: 170px !important;
}

/* ==========================================================================
   Get Started modal – full-screen overlay, X close
   ========================================================================== */

.tpr-get-started-modal {
	position: fixed;
	inset: 0;
	z-index: 1001000; /* Above header chrome (was 1000001) and nav overlay (100000) */
	visibility: hidden;
	opacity: 0;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.tpr-get-started-modal:not(.is-open),
.tpr-get-started-modal:not(.is-open) * {
	pointer-events: none !important;
}

.tpr-get-started-modal.is-open {
	visibility: visible;
	opacity: 1;
	pointer-events: auto !important;
}

/* Beat theme / builder CSS that keeps opacity/visibility at “closed” while JS adds .is-open */
#tpr-get-started-modal.tpr-get-started-modal.is-open {
	visibility: visible !important;
	opacity: 1 !important;
}

/*
 * Do not use .is-open * { pointer-events: auto } — __inner sits above __overlay (full viewport).
 * With pointer-events on the inner shell, “dimmed” clicks hit inner instead of overlay, so
 * click-outside-to-close never runs and the page feels frozen (scroll locked, no visible UI).
 */
.tpr-get-started-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.75);
	cursor: pointer;
	pointer-events: auto !important;
}

.tpr-get-started-modal__inner {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	/* Clicks pass through to __overlay except on __content (see below). */
	pointer-events: none !important;
	/* No background – the page content blocks provide their own */
}

/* Close button: direct child of modal, fixed; z-index above modal content + GF datepicker (1000003) */
.tpr-get-started-modal__close {
	position: fixed;
	top: calc(var(--tpr-header-height, 60px) + 0.5rem);
	right: 0.75rem;
	z-index: 1001010;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0.4rem;
	box-sizing: border-box;
	background: #D2FC51;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	color: #0F2902;
	line-height: 0;
	outline: none;
	transition: background 0.2s ease;
	-webkit-tap-highlight-color: transparent;
	pointer-events: auto !important;
}

/* SVG icon inside close button: inherit pointer-events so clicks pass to the button */
.tpr-get-started-modal__close svg,
.tpr-get-started-modal__close path,
.tpr-get-started-modal__close line {
	pointer-events: none !important;
}

.tpr-get-started-modal__close:hover,
.tpr-get-started-modal__close:focus {
	background: #ffffff;
	outline: none;
}

.tpr-get-started-modal__content {
	flex: 1;
	min-height: 0;
	overflow-y: auto;
	overflow-x: hidden;
	position: relative;
	z-index: 1;
	pointer-events: auto !important;
	/* Reduce scroll chaining into the locked page; smoother momentum on iOS */
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

/* Page content: let blocks dictate all layout and backgrounds */
.tpr-get-started-modal__page-content {
	width: 100%;
	box-sizing: border-box;
	pointer-events: auto !important;
}

/* alignfull blocks must fill the modal width */
.tpr-get-started-modal__page-content .alignfull,
.tpr-get-started-modal__page-content .uagb-is-root-container {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Remove any entry-content padding that would indent blocks */
.tpr-get-started-modal__page-content .entry-content,
.tpr-get-started-modal__page-content .wp-block-post-content {
	padding-left: 0 !important;
	padding-right: 0 !important;
	max-width: none !important;
}

/* Keep header below the modal stacking context so the dialog and dimmed overlay cover the page */
body.tpr-get-started-modal-open header.wp-block-template-part {
	z-index: auto !important;
}

/* Over dark modal overlay, use default (light) header treatment even on header_dark pages */
body.tpr-get-started-modal-open.tpr-header-dark header .wp-block-navigation-item__content,
body.tpr-get-started-modal-open.tpr-header-dark header .wp-block-navigation a,
body.tpr-get-started-modal-open.tpr-header-dark header .wp-block-navigation .wp-block-navigation-item__label {
	color: #fff !important;
}
body.tpr-get-started-modal-open.tpr-header-dark header .wp-block-navigation .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-icon,
body.tpr-get-started-modal-open.tpr-header-dark header .wp-block-navigation .wp-block-navigation__container > .has-child > .wp-block-navigation__submenu-icon svg {
	color: #fff !important;
	fill: #fff !important;
}
body.tpr-get-started-modal-open.tpr-header-dark header .wp-block-navigation .tpr-mega-menu .wp-block-navigation__submenu-container > li:not(.tpr-menu-sub-heading):not(.tpr-menu-italic-heading) .wp-block-navigation-item__content,
body.tpr-get-started-modal-open.tpr-header-dark header .wp-block-navigation .tpr-mega-menu .wp-block-navigation__submenu-container > li:not(.tpr-menu-sub-heading):not(.tpr-menu-italic-heading) .wp-block-navigation-item__label,
body.tpr-get-started-modal-open.tpr-header-dark header .wp-block-navigation .tpr-mega-menu .wp-block-navigation__submenu-container > li:not(.tpr-menu-sub-heading):not(.tpr-menu-italic-heading) a {
	color: #879480 !important;
}
body.tpr-get-started-modal-open.tpr-header-dark header .wp-block-navigation .tpr-mega-menu .tpr-menu-sub-heading .wp-block-navigation-item__content,
body.tpr-get-started-modal-open.tpr-header-dark header .wp-block-navigation .tpr-mega-menu .tpr-menu-sub-heading .wp-block-navigation-item__label,
body.tpr-get-started-modal-open.tpr-header-dark header .wp-block-navigation .tpr-mega-menu .tpr-menu-sub-heading a {
	color: #fff !important;
}
body.tpr-get-started-modal-open.tpr-header-dark header .wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__button,
body.tpr-get-started-modal-open.tpr-header-dark header .wp-block-search.wp-block-search__button-only.wp-block-search__searchfield-hidden .wp-block-search__button svg {
	color: #fff !important;
	fill: #fff !important;
}
body.tpr-get-started-modal-open.tpr-header-dark header a[href^="tel:"] {
	color: #fff !important;
}
body.tpr-get-started-modal-open.tpr-header-dark header a[href^="tel:"] svg {
	fill: #fff !important;
	stroke: #fff !important;
}
body.tpr-get-started-modal-open.tpr-header-dark header .wp-block-navigation__responsive-container-open svg {
	fill: none !important;
	stroke: #fff !important;
}
body.tpr-get-started-modal-open.tpr-header-dark header .wp-block-navigation__responsive-container-close svg {
	fill: none !important;
	stroke: #fff !important;
}

body.tpr-get-started-modal-open {
	overflow: visible;
}

/*
 * Singular /get-started/ page (main column): CTA redirects append ?action=…&solution=…
 * Modal-only rules below target #tpr-get-started-modal; the visible page content is in main / .wp-block-post-content.
 * When intent is not Get a quote / Get in touch, hide quote + contact shells there only (footer modal unchanged).
 */
body.tpr-get-started-page-informational-flow main .tpr-get-started-form-panel--quote,
body.tpr-get-started-page-informational-flow main .tpr-get-started-form-panel--contact,
body.tpr-get-started-page-informational-flow main .tpr-contact-form-toggle,
body.tpr-get-started-page-informational-flow main .tpr-get-in-touch-form,
body.tpr-get-started-page-informational-flow main #gform_wrapper_2,
body.tpr-get-started-page-informational-flow main #gform_wrapper_5,
body.tpr-get-started-page-informational-flow main form#gform_2,
body.tpr-get-started-page-informational-flow main form#gform_5,
body.tpr-get-started-page-informational-flow main .gform_wrapper.gform-theme--framework[data-form-id="2"],
body.tpr-get-started-page-informational-flow main .gform_wrapper.gform-theme--framework[data-form-id="5"],
body.tpr-get-started-page-informational-flow .wp-block-post-content .tpr-get-started-form-panel--quote,
body.tpr-get-started-page-informational-flow .wp-block-post-content .tpr-get-started-form-panel--contact,
body.tpr-get-started-page-informational-flow .wp-block-post-content .tpr-contact-form-toggle,
body.tpr-get-started-page-informational-flow .wp-block-post-content .tpr-get-in-touch-form,
body.tpr-get-started-page-informational-flow .wp-block-post-content #gform_wrapper_2,
body.tpr-get-started-page-informational-flow .wp-block-post-content #gform_wrapper_5,
body.tpr-get-started-page-informational-flow .wp-block-post-content form#gform_2,
body.tpr-get-started-page-informational-flow .wp-block-post-content form#gform_5,
body.tpr-get-started-page-informational-flow .wp-block-post-content .gform_wrapper.gform-theme--framework[data-form-id="2"],
body.tpr-get-started-page-informational-flow .wp-block-post-content .gform_wrapper.gform-theme--framework[data-form-id="5"],
body.tpr-get-started-page-informational-flow .entry-content .tpr-get-started-form-panel--quote,
body.tpr-get-started-page-informational-flow .entry-content .tpr-get-started-form-panel--contact,
body.tpr-get-started-page-informational-flow .entry-content #gform_wrapper_2,
body.tpr-get-started-page-informational-flow .entry-content #gform_wrapper_5 {
	display: none !important;
}

/* Quote GF (form 2) inside theme quote shell only — avoids hiding the same ID inside .tpr-contact-form-toggle */
.tpr-get-started-modal.is-open:not(.tpr-get-started-modal--quote-revealed) .tpr-get-started-modal__page-content .tpr-get-started-form-panel--quote #gform_wrapper_2,
.tpr-get-started-modal.is-open:not(.tpr-get-started-modal--quote-revealed) .tpr-get-started-modal__page-content .tpr-get-started-form-panel--quote form#gform_2,
.tpr-get-started-modal.is-open:not(.tpr-get-started-modal--quote-revealed) .tpr-get-started-modal__page-content .tpr-get-started-form-panel--quote .gform_wrapper.gform-theme--framework[data-form-id="2"] {
	display: none !important;
}

/* Same as GF 5 below: if DOM wrap missed, still hide quote markup until --quote-revealed (modal __page-content only). */
.tpr-get-started-modal.is-open:not(.tpr-get-started-modal--quote-revealed) .tpr-get-started-modal__page-content #gform_wrapper_2,
.tpr-get-started-modal.is-open:not(.tpr-get-started-modal--quote-revealed) .tpr-get-started-modal__page-content form#gform_2,
.tpr-get-started-modal.is-open:not(.tpr-get-started-modal--quote-revealed) .tpr-get-started-modal__page-content .gform_wrapper.gform-theme--framework[data-form-id="2"] {
	display: none !important;
}

/*
 * GF often prints style="display:none" on #gform_wrapper_2 (conditional logic / section defaults at render).
 * When --quote-revealed, our rules above no longer force display:none — but inline display:none still wins
 * over normal author rules, so the quote form stays invisible inside the white shell until overridden here.
 */
.tpr-get-started-modal.is-open.tpr-get-started-modal--quote-revealed .tpr-get-started-modal__page-content #gform_wrapper_2.gform_wrapper,
.tpr-get-started-modal.is-open.tpr-get-started-modal--quote-revealed .tpr-get-started-modal__page-content form#gform_2 {
	display: block !important;
}

/* Same inline-GF-hide issue on inline Get Started sections (full page / blocks with .tpr-get-started-flow). */
.tpr-get-started-flow.tpr-get-started-flow--quote-revealed #gform_wrapper_2.gform_wrapper,
.tpr-get-started-flow.tpr-get-started-flow--quote-revealed form#gform_2 {
	display: block !important;
}

/*
 * Get in touch (GF 5): hide contact shell + optional editor wrappers until CTA submit.
 * Theme wraps #gform_wrapper_5 in .tpr-get-started-form-panel--contact; unwrapped fallbacks if DOM parse misses.
 */
.tpr-get-started-modal.is-open:not(.tpr-get-started-modal--contact-revealed) .tpr-get-started-modal__page-content .tpr-contact-form-toggle,
.tpr-get-started-modal.is-open:not(.tpr-get-started-modal--contact-revealed) .tpr-get-started-modal__page-content .tpr-get-in-touch-form,
.tpr-get-started-modal.is-open:not(.tpr-get-started-modal--contact-revealed) .tpr-get-started-modal__page-content .tpr-get-started-form-panel--contact #gform_wrapper_5,
.tpr-get-started-modal.is-open:not(.tpr-get-started-modal--contact-revealed) .tpr-get-started-modal__page-content .tpr-get-started-form-panel--contact form#gform_5,
.tpr-get-started-modal.is-open:not(.tpr-get-started-modal--contact-revealed) .tpr-get-started-modal__page-content #gform_wrapper_5,
.tpr-get-started-modal.is-open:not(.tpr-get-started-modal--contact-revealed) .tpr-get-started-modal__page-content form#gform_5,
.tpr-get-started-modal.is-open:not(.tpr-get-started-modal--contact-revealed) .tpr-get-started-modal__page-content .gform_wrapper.gform-theme--framework[data-form-id="5"] {
	display: none !important;
}

/*
 * Form shells are injected in PHP (tpr_get_started_modal_wrap_form_panels): quote vs contact hide independently.
 * Optional: add class tpr-get-started-form-panel only (no --quote/--contact) in the editor for a custom block.
 */
.tpr-get-started-modal.is-open:not(.tpr-get-started-modal--quote-revealed)
	.tpr-get-started-modal__page-content
	.tpr-get-started-form-panel--quote,
.tpr-get-started-modal.is-open:not(.tpr-get-started-modal--contact-revealed)
	.tpr-get-started-modal__page-content
	.tpr-get-started-form-panel--contact,
.tpr-get-started-modal.is-open:not(.tpr-get-started-modal--quote-revealed):not(.tpr-get-started-modal--contact-revealed)
	.tpr-get-started-modal__page-content
	.tpr-get-started-form-panel:not(.tpr-get-started-form-panel--quote):not(.tpr-get-started-form-panel--contact) {
	display: none !important;
}

/*
 * Editor sometimes wraps the panel in an extra .tpr-get-started-form-shell parent. Hiding only the inner
 * .tpr-get-started-form-panel leaves the outer shell (padding + white bg) visible as an empty box.
 * :has(> …) targets that outer wrapper only (single combined div has gform children, not a nested panel).
 */
.tpr-get-started-modal.is-open:not(.tpr-get-started-modal--quote-revealed)
	.tpr-get-started-modal__page-content
	.tpr-get-started-form-shell:has(> .tpr-get-started-form-panel--quote) {
	display: none !important;
}
.tpr-get-started-modal.is-open:not(.tpr-get-started-modal--contact-revealed)
	.tpr-get-started-modal__page-content
	.tpr-get-started-form-shell:has(> .tpr-get-started-form-panel--contact) {
	display: none !important;
}

.tpr-get-started-flow:not(.tpr-get-started-flow--quote-revealed) .tpr-get-started-form-shell:has(> .tpr-get-started-form-panel--quote),
.tpr-get-started-flow:not(.tpr-get-started-flow--contact-revealed) .tpr-get-started-form-shell:has(> .tpr-get-started-form-panel--contact) {
	display: none !important;
}

/*
 * Inline “Get started” section (any page): add class tpr-get-started-flow on a Group (or wrapper) in the editor
 * around the CTA + quote/contact forms. Same hide/reveal behaviour as the modal; reveal via CTA submit or ?action= / ?input_5=.
 */
.tpr-get-started-flow:not(.tpr-get-started-flow--quote-revealed) .tpr-get-started-form-panel--quote #gform_wrapper_2,
.tpr-get-started-flow:not(.tpr-get-started-flow--quote-revealed) .tpr-get-started-form-panel--quote form#gform_2,
.tpr-get-started-flow:not(.tpr-get-started-flow--quote-revealed) .tpr-get-started-form-panel--quote .gform_wrapper.gform-theme--framework[data-form-id="2"] {
	display: none !important;
}

.tpr-get-started-flow:not(.tpr-get-started-flow--contact-revealed) .tpr-contact-form-toggle,
.tpr-get-started-flow:not(.tpr-get-started-flow--contact-revealed) .tpr-get-in-touch-form,
.tpr-get-started-flow:not(.tpr-get-started-flow--contact-revealed) .tpr-get-started-form-panel--contact #gform_wrapper_5,
.tpr-get-started-flow:not(.tpr-get-started-flow--contact-revealed) .tpr-get-started-form-panel--contact form#gform_5,
.tpr-get-started-flow:not(.tpr-get-started-flow--contact-revealed) #gform_wrapper_5,
.tpr-get-started-flow:not(.tpr-get-started-flow--contact-revealed) form#gform_5,
.tpr-get-started-flow:not(.tpr-get-started-flow--contact-revealed) .gform_wrapper.gform-theme--framework[data-form-id="5"] {
	display: none !important;
}

.tpr-get-started-flow:not(.tpr-get-started-flow--quote-revealed) .tpr-get-started-form-panel--quote,
.tpr-get-started-flow:not(.tpr-get-started-flow--contact-revealed) .tpr-get-started-form-panel--contact,
.tpr-get-started-flow:not(.tpr-get-started-flow--quote-revealed):not(.tpr-get-started-flow--contact-revealed)
	.tpr-get-started-form-panel:not(.tpr-get-started-form-panel--quote):not(.tpr-get-started-form-panel--contact) {
	display: none !important;
}

/*
 * Modal clones keep .tpr-get-started-flow on #tpr-get-started; the rules above load after modal-only rules
 * and can hide quote/contact even when #tpr-get-started-modal has --*-revealed. JS mirrors classes onto
 * #tpr-get-started; these selectors are a fallback if that lags (Chosen/GF init order).
 */
#tpr-get-started-modal.tpr-get-started-modal--quote-revealed
	#tpr-get-started.tpr-get-started-flow
	.tpr-get-started-form-shell:has(> .tpr-get-started-form-panel--quote),
#tpr-get-started-modal.tpr-get-started-modal--quote-revealed
	#tpr-get-started.tpr-get-started-flow
	.tpr-get-started-form-panel--quote,
#tpr-get-started-modal.tpr-get-started-modal--quote-revealed
	#tpr-get-started.tpr-get-started-flow
	.tpr-get-started-form-panel--quote
	#gform_wrapper_2,
#tpr-get-started-modal.tpr-get-started-modal--quote-revealed
	#tpr-get-started.tpr-get-started-flow
	.tpr-get-started-form-panel--quote
	form#gform_2,
#tpr-get-started-modal.tpr-get-started-modal--quote-revealed
	#tpr-get-started.tpr-get-started-flow
	.tpr-get-started-form-panel--quote
	.gform_wrapper.gform-theme--framework[data-form-id="2"] {
	display: block !important;
}

#tpr-get-started-modal.tpr-get-started-modal--contact-revealed
	#tpr-get-started.tpr-get-started-flow
	.tpr-get-started-form-shell:has(> .tpr-get-started-form-panel--contact),
#tpr-get-started-modal.tpr-get-started-modal--contact-revealed
	#tpr-get-started.tpr-get-started-flow
	.tpr-get-started-form-panel--contact,
#tpr-get-started-modal.tpr-get-started-modal--contact-revealed
	#tpr-get-started.tpr-get-started-flow
	.tpr-contact-form-toggle,
#tpr-get-started-modal.tpr-get-started-modal--contact-revealed
	#tpr-get-started.tpr-get-started-flow
	.tpr-get-in-touch-form,
#tpr-get-started-modal.tpr-get-started-modal--contact-revealed
	#tpr-get-started.tpr-get-started-flow
	.tpr-get-started-form-panel--contact
	#gform_wrapper_5,
#tpr-get-started-modal.tpr-get-started-modal--contact-revealed
	#tpr-get-started.tpr-get-started-flow
	.tpr-get-started-form-panel--contact
	form#gform_5,
#tpr-get-started-modal.tpr-get-started-modal--contact-revealed
	#tpr-get-started.tpr-get-started-flow
	#gform_wrapper_5,
#tpr-get-started-modal.tpr-get-started-modal--contact-revealed
	#tpr-get-started.tpr-get-started-flow
	form#gform_5,
#tpr-get-started-modal.tpr-get-started-modal--contact-revealed
	#tpr-get-started.tpr-get-started-flow
	.gform_wrapper.gform-theme--framework[data-form-id="5"] {
	display: block !important;
}

/* White card around GF 2 (quote) / GF 5 (get in touch): ~5% inset on all sides (width 90% + margin 5% auto). Same in modal and inline #tpr-get-started flow. */
.tpr-get-started-modal .tpr-get-started-form-shell {
	box-sizing: border-box;
	width: 90%;
	max-width: min(64rem, 90%);
	position: relative;
	left: auto;
	transform: none;
	margin: 5% auto;
	padding: 5% !important;
	background: #fff;
	border-radius: 1.25rem;
	box-shadow: none;
	color: #0f2902;
	overflow: hidden;
}

.tpr-get-started-flow .tpr-get-started-form-shell {
	box-sizing: border-box;
	width: 90%;
	max-width: 90%;
	margin: 5% auto;
	padding: 5% !important;
	background: #fff;
	border-radius: 1.25rem;
	color: #0f2902;
}

/* Responsive: parent container already caps at 90% content width, so let the shell fill it instead of double-insetting. */
@media (max-width: 767px) {
	.tpr-get-started-modal .tpr-get-started-form-shell,
	.tpr-get-started-flow .tpr-get-started-form-shell {
		width: 100%;
		max-width: 100%;
		margin-inline: 0;
	}
}

/* Quote / contact GF wrappers: no outer padding (theme shell + GF Orbital both add inset) */
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2.gform_wrapper,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5.gform_wrapper,
.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2.gform_wrapper,
.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5.gform_wrapper {
	max-width: 56rem;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-block: 0 !important;
	padding: 0 !important;
}

.tpr-get-started-flow .tpr-get-started-form-shell #gform_2,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_5,
.tpr-get-started-modal .tpr-get-started-form-shell #gform_2,
.tpr-get-started-modal .tpr-get-started-form-shell #gform_5 {
	padding: 0 !important;
	margin: 0 !important;
}

.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 .gform_heading,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 .gform_heading,
.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 .gform_heading,
.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 .gform_heading {
	margin-top: 0 !important;
	margin-bottom: 0.75rem;
	padding-top: 0 !important;
	padding-block-start: 0 !important;
	padding-inline: 0 !important;
}

.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 .gform_title,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 .gform_title,
.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 .gform_title,
.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 .gform_title {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
	padding-top: 0 !important;
	padding-block-start: 0 !important;
}

.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 .gform_description,
.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 .gform_description {
	margin-block-start: 0 !important;
}

/* Same as pill CTA (GF 3): hide “* indicates required” in modal forms */
.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 .gform_required_legend,
.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 .gform_required_legend {
	display: none !important;
}

.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 .gform_body,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 .gform-body,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 .gform_body,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 .gform-body,
.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 .gform_body,
.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 .gform-body,
.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 .gform_body,
.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 .gform-body {
	margin-block-start: 0 !important;
	padding: 0 !important;
}

/* Stacked field rows in modal + inline flow — GF 2 & 5 only (CTA #gform_wrapper_3 is outside this shell) */
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 .gform_fields,
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 .gform_fields,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 .gform_fields,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 .gform_fields {
	gap: 20px 1rem !important;
	row-gap: 20px !important;
	column-gap: 1rem !important;
	padding: 0 !important;
	margin: 0 !important;
}

.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 .gfield,
.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 .gfield {
	flex-shrink: 1 !important;
	min-width: 0 !important;
}
.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 .ginput_container,
.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 .ginput_container_select .chosen-container-single,
.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 .ginput_container,
.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 .ginput_container_select .chosen-container-single {
	min-width: 0;
}
.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 .ginput_container select,
.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 .ginput_container select,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 .ginput_container select,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 .ginput_container select {
	overflow: visible;
	line-height: 1.45 !important;
}
.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 .chosen-container-single .chosen-single span,
.tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 .chosen-container-single .chosen-single span,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 .chosen-container-single .chosen-single span,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 .chosen-container-single .chosen-single span {
	overflow: hidden !important;
	text-overflow: ellipsis;
	white-space: nowrap;
	display: block;
	min-width: 0;
	line-height: 1.45 !important;
	max-height: none !important;
}

/*
 * Modal: Gravity Forms Orbital uses CSS variables on .gform-theme--framework. Theme + custom.css load in <head>;
 * modal forms 2 & 5 are enqueued via tpr_enqueue_gf_assets_for_get_started_modal_forms() so variables apply.
 */
#tpr-get-started-modal #gform_wrapper_2.gform_wrapper.gform-theme--framework,
#tpr-get-started-modal #gform_wrapper_5.gform_wrapper.gform-theme--framework,
.tpr-get-started-flow #gform_wrapper_2.gform_wrapper.gform-theme--framework,
.tpr-get-started-flow #gform_wrapper_5.gform_wrapper.gform-theme--framework {
	--gf-ctrl-bg-color: #E7EAE6;
	--gf-ctrl-border-color: transparent;
	--gf-ctrl-border-color-focus: #0f2902;
	--gf-ctrl-border-width: 1px;
	--gf-ctrl-radius: 50px;
	--gf-ctrl-padding-x: 1.1rem;
	--gf-ctrl-padding-y: 0.65rem;
	--gf-color-in-ctrl-contrast: #0f2902;
	--gf-ctrl-textarea-radius: 1rem;
}

/*
 * Modal + inline flow: backup field rules (shell optional; attribute selectors miss inputs with no type="").
 */
html body #tpr-get-started-modal #gform_wrapper_2 .gfield .ginput_container:not(.ginput_container_select):not(.ginput_container_fileupload):not(.ginput_container_multiselect) input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="image"]),
html body #tpr-get-started-modal #gform_wrapper_5 .gfield .ginput_container:not(.ginput_container_select):not(.ginput_container_fileupload):not(.ginput_container_multiselect) input:not([type="hidden"]):not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="image"]),
html body #tpr-get-started-modal #gform_wrapper_2 .gfield .ginput_container_date input,
html body #tpr-get-started-modal #gform_wrapper_5 .gfield .ginput_container_date input,
html body #tpr-get-started-modal #gform_wrapper_2 textarea,
html body #tpr-get-started-modal #gform_wrapper_5 textarea,
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 input[type="text"],
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 input[type="email"],
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 input[type="tel"],
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 input[type="url"],
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 input[type="number"],
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 input[type="date"],
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 input[type="password"],
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 textarea,
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 input[type="text"],
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 input[type="email"],
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 input[type="tel"],
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 input[type="url"],
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 input[type="number"],
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 input[type="date"],
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 input[type="password"],
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 textarea,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 input[type="text"],
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 input[type="email"],
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 input[type="tel"],
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 input[type="url"],
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 input[type="number"],
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 input[type="date"],
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 input[type="password"],
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 textarea,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 input[type="text"],
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 input[type="email"],
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 input[type="tel"],
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 input[type="url"],
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 input[type="number"],
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 input[type="date"],
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 input[type="password"],
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 textarea {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0.65rem 1.1rem !important;
	min-height: 2.75rem;
	border: 1px solid transparent !important;
	border-radius: 50px !important;
	background-color: #E7EAE6 !important;
	font-family: inherit;
	font-size: 1rem !important;
	line-height: 1.4 !important;
	color: #0f2902 !important;
	box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
}

/* Textareas: keep softer rounding (pill radius looks wrong on multi-line) */
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 textarea,
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 textarea,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 textarea,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 textarea,
html body #tpr-get-started-modal #gform_wrapper_2 textarea,
html body #tpr-get-started-modal #gform_wrapper_5 textarea {
	border-radius: 1rem !important;
}

#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 textarea,
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 textarea,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 textarea,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 textarea {
	min-height: 7rem;
	resize: vertical;
}

#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 .ginput_container_date:not(.gform-grid-col) > input,
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 .ginput_container_date:not(.gform-grid-col) > input,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 .ginput_container_date:not(.gform-grid-col) > input,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 .ginput_container_date:not(.gform-grid-col) > input {
	min-height: 2.75rem;
	--gf-local-width: 100% !important;
	width: 100% !important;
	max-width: 100% !important;
}

/*
 * Date fields: Orbital often sizes the text datepicker to placeholder width (“dd”); dropdown-date segments use
 * .gform-grid-col and were excluded from the full-width rules above — normalize layout in modal + inline flow.
 */
#tpr-get-started-modal .tpr-get-started-modal__page-content #gform_wrapper_2 .ginput_container_date,
.tpr-get-started-flow #gform_wrapper_2 .ginput_container_date {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

#tpr-get-started-modal .tpr-get-started-modal__page-content #gform_wrapper_2 .ginput_container_date:not(.gform-grid-col),
.tpr-get-started-flow #gform_wrapper_2 .ginput_container_date:not(.gform-grid-col) {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

#tpr-get-started-modal .tpr-get-started-modal__page-content #gform_wrapper_2 input.gform-datepicker,
#tpr-get-started-modal .tpr-get-started-modal__page-content #gform_wrapper_2 .ginput_container_date input[type="text"],
.tpr-get-started-flow #gform_wrapper_2 input.gform-datepicker,
.tpr-get-started-flow #gform_wrapper_2 .ginput_container_date input[type="text"] {
	min-width: min(100%, 18rem) !important;
	width: 100% !important;
	max-width: 100% !important;
	--gf-local-width: 100% !important;
	flex: 1 1 auto !important;
}

#tpr-get-started-modal .tpr-get-started-modal__page-content #gform_wrapper_2 .ginput_container_date .gform-grid-col,
.tpr-get-started-flow #gform_wrapper_2 .ginput_container_date .gform-grid-col {
	flex: 1 1 5.5rem !important;
	min-width: 4.5rem !important;
	max-width: 100% !important;
	box-sizing: border-box;
}

#tpr-get-started-modal .tpr-get-started-modal__page-content #gform_wrapper_2 .ginput_container_date .gform-grid-col select,
.tpr-get-started-flow #gform_wrapper_2 .ginput_container_date .gform-grid-col select {
	width: 100% !important;
	max-width: 100% !important;
	min-height: 2.75rem;
	box-sizing: border-box;
}

/*
 * Datepicker (field 12 etc.): GF Orbital theme + --gf-local-width often shrink the text input to ~2ch (“dd”).
 * html/body + data-form-index beats late-loaded theme utilities in practice.
 */
html body #tpr-get-started-modal #gform_wrapper_2[data-form-index="0"] .gfield--input-type-datepicker .ginput_container_date,
html body .tpr-get-started-flow #gform_wrapper_2[data-form-index="0"] .gfield--input-type-datepicker .ginput_container_date {
	width: 100% !important;
	max-width: 100% !important;
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 0.5rem !important;
	box-sizing: border-box !important;
}

html body #tpr-get-started-modal #gform_wrapper_2[data-form-index="0"] .gfield--input-type-datepicker .ginput_container_date > input.gform-datepicker,
html body #tpr-get-started-modal #gform_wrapper_2[data-form-index="0"] .gfield--input-type-datepicker .ginput_container_date > input.datepicker,
html body .tpr-get-started-flow #gform_wrapper_2[data-form-index="0"] .gfield--input-type-datepicker .ginput_container_date > input.gform-datepicker,
html body .tpr-get-started-flow #gform_wrapper_2[data-form-index="0"] .gfield--input-type-datepicker .ginput_container_date > input.datepicker {
	width: 100% !important;
	max-width: 100% !important;
	min-width: min(100%, 22rem) !important;
	min-height: 2.75rem !important;
	--gf-local-width: 100% !important;
	flex: 1 1 auto !important;
	box-sizing: border-box !important;
}

html body #tpr-get-started-modal #gform_wrapper_2:not([data-form-index]) .gfield--input-type-datepicker .ginput_container_date > input.gform-datepicker,
html body .tpr-get-started-flow #gform_wrapper_2:not([data-form-index]) .gfield--input-type-datepicker .ginput_container_date > input.gform-datepicker {
	width: 100% !important;
	max-width: 100% !important;
	min-width: min(100%, 22rem) !important;
	min-height: 2.75rem !important;
	--gf-local-width: 100% !important;
	box-sizing: border-box !important;
}

/*
 * “How soon…” (field 12): GF Orbital uses inline-size: var(--gf-local-width) (often auto on datepickers).
 * width:100% alone does not override logical inline-size — set both + stretch the grid cell.
 */
/*
 * Override Postcode (7/12) + Date (5/12) → 6+6 so the row matches Name + Phone (half + half).
 * Desktop/tablet only — below 641px the date field would truncate its dd/mm/yyyy placeholder in half a column.
 */
@media (min-width: 641px) {
	html body #tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 #field_2_12,
	html body .tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 #field_2_12,
	html body #tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 #field_5_12,
	html body .tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 #field_5_12,
	#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 #field_2_12,
	.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 #field_2_12,
	#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 #field_5_12,
	.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 #field_5_12 {
		grid-column: span 6 !important;
		--gf-local-width: 100% !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		inline-size: 100% !important;
		max-inline-size: 100% !important;
		min-inline-size: 0 !important;
		justify-self: stretch !important;
	}

	/* Postcode field directly before field 12: widen from 7/12 to 6/12 so the pair totals 12. */
	html body #tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 .gfield--width-seven-twelfths:has(+ #field_2_12),
	html body .tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 .gfield--width-seven-twelfths:has(+ #field_2_12),
	html body #tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 .gfield--width-seven-twelfths:has(+ #field_5_12),
	html body .tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 .gfield--width-seven-twelfths:has(+ #field_5_12) {
		grid-column: span 6 !important;
	}
}

/* Below 641px: stack Postcode + Date full-width so the date placeholder "dd/mm/yyyy" doesn't clip. */
@media (max-width: 640px) {
	html body #tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 #field_2_12,
	html body .tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 #field_2_12,
	html body #tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 #field_5_12,
	html body .tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 #field_5_12,
	html body #tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 #field_2_6,
	html body .tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 #field_2_6,
	html body #tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 #field_5_6,
	html body .tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 #field_5_6 {
		grid-column: span 12 !important;
	}
}

/*
 * Hide the native up/down spinner on number inputs in forms 2 & 5 (Business Postcode).
 * These only serve as field input, not stepping, so the chevrons are visual noise.
 */
#gform_wrapper_2 input[type="number"]::-webkit-outer-spin-button,
#gform_wrapper_2 input[type="number"]::-webkit-inner-spin-button,
#gform_wrapper_5 input[type="number"]::-webkit-outer-spin-button,
#gform_wrapper_5 input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	appearance: none;
	display: none;
	margin: 0;
}

#gform_wrapper_2 input[type="number"],
#gform_wrapper_5 input[type="number"] {
	-moz-appearance: textfield;
	appearance: textfield;
}

html body #tpr-get-started-modal .tpr-get-started-form-shell #field_2_12 .gform-theme-field-control,
html body .tpr-get-started-flow .tpr-get-started-form-shell #field_2_12 .gform-theme-field-control,
html body #tpr-get-started-modal .tpr-get-started-form-shell #field_5_12 .gform-theme-field-control,
html body .tpr-get-started-flow .tpr-get-started-form-shell #field_5_12 .gform-theme-field-control,
#tpr-get-started-modal .tpr-get-started-form-shell #field_2_12 .gform-theme-field-control,
.tpr-get-started-flow .tpr-get-started-form-shell #field_2_12 .gform-theme-field-control,
#tpr-get-started-modal .tpr-get-started-form-shell #field_5_12 .gform-theme-field-control,
.tpr-get-started-flow .tpr-get-started-form-shell #field_5_12 .gform-theme-field-control {
	--gf-local-width: 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	inline-size: 100% !important;
	max-inline-size: 100% !important;
	min-inline-size: 0 !important;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
}

#tpr-get-started-modal .tpr-get-started-form-shell #field_2_12 .ginput_container,
.tpr-get-started-flow .tpr-get-started-form-shell #field_2_12 .ginput_container,
#tpr-get-started-modal .tpr-get-started-form-shell #field_5_12 .ginput_container,
.tpr-get-started-flow .tpr-get-started-form-shell #field_5_12 .ginput_container {
	--gf-local-width: 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	inline-size: 100% !important;
	max-inline-size: 100% !important;
	min-inline-size: 0 !important;
}

html body #tpr-get-started-modal .tpr-get-started-form-shell #field_2_12 .ginput_container_date:not(.gform-grid-col),
html body .tpr-get-started-flow .tpr-get-started-form-shell #field_2_12 .ginput_container_date:not(.gform-grid-col),
html body #tpr-get-started-modal .tpr-get-started-form-shell #field_5_12 .ginput_container_date:not(.gform-grid-col),
html body .tpr-get-started-flow .tpr-get-started-form-shell #field_5_12 .ginput_container_date:not(.gform-grid-col),
#tpr-get-started-modal .tpr-get-started-form-shell #field_2_12 .ginput_container_date:not(.gform-grid-col),
.tpr-get-started-flow .tpr-get-started-form-shell #field_2_12 .ginput_container_date:not(.gform-grid-col),
#tpr-get-started-modal .tpr-get-started-form-shell #field_5_12 .ginput_container_date:not(.gform-grid-col),
.tpr-get-started-flow .tpr-get-started-form-shell #field_5_12 .ginput_container_date:not(.gform-grid-col) {
	--gf-local-width: 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	inline-size: 100% !important;
	max-inline-size: 100% !important;
	min-inline-size: 0 !important;
	box-sizing: border-box !important;
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 0.5rem !important;
	min-height: 2.75rem !important;
	padding: 0 1.1rem !important;
	margin: 0 !important;
	background-color: #e7eae6 !important;
	border: 1px solid transparent !important;
	border-radius: 50px !important;
}

#tpr-get-started-modal .tpr-get-started-form-shell #field_2_12 .ginput_container_date:focus-within,
.tpr-get-started-flow .tpr-get-started-form-shell #field_2_12 .ginput_container_date:focus-within,
#tpr-get-started-modal .tpr-get-started-form-shell #field_5_12 .ginput_container_date:focus-within,
.tpr-get-started-flow .tpr-get-started-form-shell #field_5_12 .ginput_container_date:focus-within {
	border-color: #0f2902 !important;
	border-width: 2px !important;
}

html body #tpr-get-started-modal .tpr-get-started-form-shell #field_2_12 .ginput_container_date:not(.gform-grid-col) > input,
html body #tpr-get-started-modal .tpr-get-started-form-shell #field_2_12 .ginput_container_date:not(.gform-grid-col) input.gform-datepicker,
html body #tpr-get-started-modal .tpr-get-started-form-shell #field_2_12 .ginput_container_date:not(.gform-grid-col) input.datepicker,
html body .tpr-get-started-flow .tpr-get-started-form-shell #field_2_12 .ginput_container_date:not(.gform-grid-col) > input,
html body .tpr-get-started-flow .tpr-get-started-form-shell #field_2_12 .ginput_container_date:not(.gform-grid-col) input.gform-datepicker,
html body .tpr-get-started-flow .tpr-get-started-form-shell #field_2_12 .ginput_container_date:not(.gform-grid-col) input.datepicker,
html body #tpr-get-started-modal .tpr-get-started-form-shell #field_5_12 .ginput_container_date:not(.gform-grid-col) > input,
html body #tpr-get-started-modal .tpr-get-started-form-shell #field_5_12 .ginput_container_date:not(.gform-grid-col) input.gform-datepicker,
html body .tpr-get-started-flow .tpr-get-started-form-shell #field_5_12 .ginput_container_date:not(.gform-grid-col) > input,
html body .tpr-get-started-flow .tpr-get-started-form-shell #field_5_12 .ginput_container_date:not(.gform-grid-col) input.gform-datepicker,
#tpr-get-started-modal .tpr-get-started-form-shell #field_2_12 .ginput_container_date:not(.gform-grid-col) > input,
#tpr-get-started-modal .tpr-get-started-form-shell #field_2_12 .ginput_container_date:not(.gform-grid-col) input.gform-datepicker,
#tpr-get-started-modal .tpr-get-started-form-shell #field_2_12 .ginput_container_date:not(.gform-grid-col) input.datepicker,
.tpr-get-started-flow .tpr-get-started-form-shell #field_2_12 .ginput_container_date:not(.gform-grid-col) > input,
.tpr-get-started-flow .tpr-get-started-form-shell #field_2_12 .ginput_container_date:not(.gform-grid-col) input.gform-datepicker,
.tpr-get-started-flow .tpr-get-started-form-shell #field_2_12 .ginput_container_date:not(.gform-grid-col) input.datepicker,
#tpr-get-started-modal .tpr-get-started-form-shell #field_5_12 .ginput_container_date:not(.gform-grid-col) > input,
#tpr-get-started-modal .tpr-get-started-form-shell #field_5_12 .ginput_container_date:not(.gform-grid-col) input.gform-datepicker,
.tpr-get-started-flow .tpr-get-started-form-shell #field_5_12 .ginput_container_date:not(.gform-grid-col) > input,
.tpr-get-started-flow .tpr-get-started-form-shell #field_5_12 .ginput_container_date:not(.gform-grid-col) input.gform-datepicker {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	min-inline-size: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	inline-size: 100% !important;
	max-inline-size: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	--gf-local-width: 100% !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #0f2902 !important;
	font-size: 1rem !important;
	line-height: 1.4 !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}

#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 .gfield--type-select .ginput_container select,
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 .gfield--type-select .ginput_container select,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 .gfield--type-select .ginput_container select,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 .gfield--type-select .ginput_container select {
	width: 100% !important;
	max-width: 100%;
	box-sizing: border-box;
	padding: 0.7rem 2rem 0.7rem 1.1rem !important;
	min-height: 2.75rem;
	line-height: 1.45 !important;
	border: 1px solid transparent !important;
	border-radius: 50px !important;
	background-color: #E7EAE6 !important;
	font-family: inherit;
	font-size: 1rem !important;
	color: #0f2902 !important;
	box-shadow: none !important;
	-webkit-appearance: none;
	appearance: none;
	overflow: visible;
}

#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 .ginput_container_select .chosen-container-single .chosen-single,
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 .ginput_container_select .chosen-container-single .chosen-single,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 .ginput_container_select .chosen-container-single .chosen-single,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 .ginput_container_select .chosen-container-single .chosen-single {
	display: flex !important;
	align-items: center !important;
	min-height: 2.75rem !important;
	line-height: 1.45 !important;
	padding: 0.65rem 2rem 0.65rem 1.1rem !important;
	border: 1px solid transparent !important;
	border-radius: 50px !important;
	background: #E7EAE6 !important;
	background-image: none !important;
	box-shadow: none !important;
	overflow: visible !important;
}

/* Validation messages: smaller font */
#tpr-get-started-modal .gform_wrapper .validation_message,
#tpr-get-started-modal .gform_wrapper .gfield_validation_message,
.tpr-get-started-flow .gform_wrapper .validation_message,
.tpr-get-started-flow .gform_wrapper .gfield_validation_message {
	font-size: 12px !important;
}

/* Top-level submission error: match field validation style and push to bottom */
#tpr-get-started-modal .gform_wrapper.gform_validation_error,
.tpr-get-started-flow .gform_wrapper.gform_validation_error {
	display: flex !important;
	flex-direction: column !important;
}
#tpr-get-started-modal .gform_wrapper [id$="_validation_container"],
.tpr-get-started-flow .gform_wrapper [id$="_validation_container"] {
	order: 99 !important;
	margin: 0.5rem 0 0 !important;
	padding: 0 !important;
	background: none !important;
	border: none !important;
	box-shadow: none !important;
}
#tpr-get-started-modal .gform_wrapper .gform_submission_error,
.tpr-get-started-flow .gform_wrapper .gform_submission_error {
	font-size: 12px !important;
	font-weight: 400 !important;
	color: #c02b0a !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.4 !important;
	border: none !important;
	background: none !important;
}

/* Field layout: preserve GF editor column widths (half-width fields side-by-side) */
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 .gform_fields,
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 .gform_fields,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_2 .gform_fields,
.tpr-get-started-flow .tpr-get-started-form-shell #gform_wrapper_5 .gform_fields {
	display: grid !important;
	grid-template-columns: repeat(12, 1fr) !important;
}

#tpr-get-started-modal .tpr-get-started-form-shell .gfield--width-full,
.tpr-get-started-flow .tpr-get-started-form-shell .gfield--width-full {
	grid-column: span 12 !important;
}
#tpr-get-started-modal .tpr-get-started-form-shell .gfield--width-half,
.tpr-get-started-flow .tpr-get-started-form-shell .gfield--width-half {
	grid-column: span 6 !important;
}
#tpr-get-started-modal .tpr-get-started-form-shell .gfield--width-third,
.tpr-get-started-flow .tpr-get-started-form-shell .gfield--width-third {
	grid-column: span 4 !important;
}
#tpr-get-started-modal .tpr-get-started-form-shell .gfield--width-quarter,
.tpr-get-started-flow .tpr-get-started-form-shell .gfield--width-quarter {
	grid-column: span 3 !important;
}

/*
 * GF get_css_grid_class() also emits five/seven-twelfths, two-thirds, etc. Without span rules those fields
 * default to a single 1fr track (~60px beside a 7/12 postcode + 5/12 date row).
 */
#tpr-get-started-modal .tpr-get-started-form-shell .gfield--width-eleven-twelfths,
.tpr-get-started-flow .tpr-get-started-form-shell .gfield--width-eleven-twelfths {
	grid-column: span 11 !important;
}
#tpr-get-started-modal .tpr-get-started-form-shell .gfield--width-five-sixths,
.tpr-get-started-flow .tpr-get-started-form-shell .gfield--width-five-sixths {
	grid-column: span 10 !important;
}
#tpr-get-started-modal .tpr-get-started-form-shell .gfield--width-three-quarter,
.tpr-get-started-flow .tpr-get-started-form-shell .gfield--width-three-quarter {
	grid-column: span 9 !important;
}
#tpr-get-started-modal .tpr-get-started-form-shell .gfield--width-two-thirds,
.tpr-get-started-flow .tpr-get-started-form-shell .gfield--width-two-thirds {
	grid-column: span 8 !important;
}
#tpr-get-started-modal .tpr-get-started-form-shell .gfield--width-seven-twelfths,
.tpr-get-started-flow .tpr-get-started-form-shell .gfield--width-seven-twelfths {
	grid-column: span 7 !important;
}
#tpr-get-started-modal .tpr-get-started-form-shell .gfield--width-five-twelfths,
.tpr-get-started-flow .tpr-get-started-form-shell .gfield--width-five-twelfths {
	grid-column: span 5 !important;
}

@media (max-width: 600px) {
	#tpr-get-started-modal .tpr-get-started-form-shell .gfield--width-half,
	#tpr-get-started-modal .tpr-get-started-form-shell .gfield--width-third,
	#tpr-get-started-modal .tpr-get-started-form-shell .gfield--width-quarter,
	#tpr-get-started-modal .tpr-get-started-form-shell .gfield--width-eleven-twelfths,
	#tpr-get-started-modal .tpr-get-started-form-shell .gfield--width-five-sixths,
	#tpr-get-started-modal .tpr-get-started-form-shell .gfield--width-three-quarter,
	#tpr-get-started-modal .tpr-get-started-form-shell .gfield--width-two-thirds,
	#tpr-get-started-modal .tpr-get-started-form-shell .gfield--width-seven-twelfths,
	#tpr-get-started-modal .tpr-get-started-form-shell .gfield--width-five-twelfths,
	.tpr-get-started-flow .tpr-get-started-form-shell .gfield--width-half,
	.tpr-get-started-flow .tpr-get-started-form-shell .gfield--width-third,
	.tpr-get-started-flow .tpr-get-started-form-shell .gfield--width-quarter,
	.tpr-get-started-flow .tpr-get-started-form-shell .gfield--width-eleven-twelfths,
	.tpr-get-started-flow .tpr-get-started-form-shell .gfield--width-five-sixths,
	.tpr-get-started-flow .tpr-get-started-form-shell .gfield--width-three-quarter,
	.tpr-get-started-flow .tpr-get-started-form-shell .gfield--width-two-thirds,
	.tpr-get-started-flow .tpr-get-started-form-shell .gfield--width-seven-twelfths,
	.tpr-get-started-flow .tpr-get-started-form-shell .gfield--width-five-twelfths {
		grid-column: span 12 !important;
	}
}

/* Modal submit: explicit background-size so arrow is not squished (UAGB/GF overrides can stretch) */
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 .gform_footer input[type="submit"],
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 .gform_footer button[type="submit"],
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 .gform_footer button.gform_button,
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 .gfield--type-submit input[type="submit"],
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 .gfield--type-submit button[type="submit"],
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_2 .gfield--type-submit button.gform_button,
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 .gform_footer input[type="submit"],
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 .gform_footer button[type="submit"],
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 .gform_footer button.gform_button,
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 .gfield--type-submit input[type="submit"],
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 .gfield--type-submit button[type="submit"],
#tpr-get-started-modal .tpr-get-started-form-shell #gform_wrapper_5 .gfield--type-submit button.gform_button {
	background-size: 40px 32px !important;
}

/*
 * GF / jQuery UI: #ui-datepicker-div is appended to body. Keep above modal chrome when Get Started is open.
 * Do not force position: fixed — the dialog scrolls inside .tpr-get-started-modal__content; fixed pins the
 * calendar to the viewport while the date field moves (see get-started-modal.js: close picker on scroll).
 *
 * Hidden default: jQuery UI's base stylesheet is not enqueued on the frontend, so without this the
 * empty #ui-datepicker-div renders as a normal block at the end of <body>, pushing document height
 * past the footer and creating a white strip below the copyright bar on tablet/mobile. jQuery UI's
 * Datepicker JS uses `.show()` (inline `display: block`) which still overrides this rule.
 */
#ui-datepicker-div {
	display: none;
}
/* Same stacking as full-page /get-started/: calendar portals to body with position:fixed (see get-started-modal.js). */
body.tpr-get-started-modal-open #ui-datepicker-div.ui-datepicker {
	z-index: 1001025 !important;
	position: fixed !important;
}

/*
 * Minimal “unstyled calendar” fallback only when GF theme classes are missing (RUCSS, etc.).
 * When .gform-theme--framework / .gravity-theme / .gform-legacy-datepicker are present, GF Orbital matches /get-started/.
 */
#ui-datepicker-div.ui-datepicker:not(.gform-theme--framework):not(.gform-legacy-datepicker):not(.gravity-theme) {
	box-sizing: border-box;
	width: auto;
	min-width: 16rem;
	max-width: min(22rem, calc(100vw - 2rem));
	font-size: 0.875rem;
	line-height: 1.35;
	color: #0f2902 !important;
	background: #ffffff !important;
	border: 1px solid rgba(15, 41, 2, 0.18) !important;
	border-radius: 12px !important;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.14) !important;
	padding: 0.5rem 0.65rem 0.65rem !important;
}

#ui-datepicker-div.ui-datepicker:not(.gform-theme--framework):not(.gform-legacy-datepicker):not(.gravity-theme) .ui-datepicker-header {
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 0.35rem 0.5rem;
	padding: 0 0 0.45rem;
	margin: 0 0 0.35rem;
	border-bottom: 1px solid rgba(15, 41, 2, 0.12);
}

#ui-datepicker-div.ui-datepicker:not(.gform-theme--framework):not(.gform-legacy-datepicker):not(.gravity-theme) .ui-datepicker-prev,
#ui-datepicker-div.ui-datepicker:not(.gform-theme--framework):not(.gform-legacy-datepicker):not(.gravity-theme) .ui-datepicker-next {
	position: static !important;
	left: auto !important;
	right: auto !important;
	top: auto !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	cursor: pointer;
}

#ui-datepicker-div.ui-datepicker:not(.gform-theme--framework):not(.gform-legacy-datepicker):not(.gravity-theme) .ui-datepicker-prev {
	grid-column: 1;
	grid-row: 1;
}

#ui-datepicker-div.ui-datepicker:not(.gform-theme--framework):not(.gform-legacy-datepicker):not(.gravity-theme) .ui-datepicker-next {
	grid-column: 3;
	grid-row: 1;
}

#ui-datepicker-div.ui-datepicker:not(.gform-theme--framework):not(.gform-legacy-datepicker):not(.gravity-theme) .ui-datepicker-title {
	grid-column: 2;
	grid-row: 1;
	justify-self: center;
	margin: 0 !important;
	line-height: 1.3 !important;
	text-align: center;
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
}

#ui-datepicker-div.ui-datepicker:not(.gform-theme--framework):not(.gform-legacy-datepicker):not(.gravity-theme) select.ui-datepicker-month,
#ui-datepicker-div.ui-datepicker:not(.gform-theme--framework):not(.gform-legacy-datepicker):not(.gravity-theme) select.ui-datepicker-year {
	margin: 0 0.1rem !important;
	padding: 0.2rem 0.35rem !important;
	border-radius: 6px !important;
	border: 1px solid rgba(15, 41, 2, 0.25) !important;
	background-color: #fff !important;
	color: #0f2902 !important;
	font-weight: 600 !important;
}

#ui-datepicker-div.ui-datepicker:not(.gform-theme--framework):not(.gform-legacy-datepicker):not(.gravity-theme) table {
	width: 100%;
	border-collapse: collapse;
	margin: 0.15rem 0 0;
}

#ui-datepicker-div.ui-datepicker:not(.gform-theme--framework):not(.gform-legacy-datepicker):not(.gravity-theme) th {
	font-weight: 700;
	color: #0f2902;
	padding: 0.35rem 0.1rem;
	font-size: 0.8rem;
}

#ui-datepicker-div.ui-datepicker:not(.gform-theme--framework):not(.gform-legacy-datepicker):not(.gravity-theme) td {
	padding: 0.12rem;
	text-align: center;
	border: none;
}

#ui-datepicker-div.ui-datepicker:not(.gform-theme--framework):not(.gform-legacy-datepicker):not(.gravity-theme) td a,
#ui-datepicker-div.ui-datepicker:not(.gform-theme--framework):not(.gform-legacy-datepicker):not(.gravity-theme) td span {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 2.1em;
	min-height: 2.1em;
	padding: 0.1rem;
	border-radius: 6px;
	text-decoration: none !important;
	box-sizing: border-box;
}

#ui-datepicker-div.ui-datepicker:not(.gform-theme--framework):not(.gform-legacy-datepicker):not(.gravity-theme) td a {
	color: #0f2902 !important;
	background: rgba(15, 41, 2, 0.06) !important;
}

#ui-datepicker-div.ui-datepicker:not(.gform-theme--framework):not(.gform-legacy-datepicker):not(.gravity-theme) td a:hover,
#ui-datepicker-div.ui-datepicker:not(.gform-theme--framework):not(.gform-legacy-datepicker):not(.gravity-theme) td a:focus {
	background: rgba(15, 41, 2, 0.12) !important;
}

/*
 * Gravity Forms Orbital / framework datepicker (#ui-datepicker-div gets .gform-theme--framework in JS).
 * Month/year: white fields. Today (unselected): white cell. Selected date: brand dark green #0F2902.
 */
.gform-theme--framework.ui-datepicker select.ui-datepicker-month,
.gform-theme--framework.ui-datepicker select.ui-datepicker-year,
#ui-datepicker-div.gform-theme--framework select.ui-datepicker-month,
#ui-datepicker-div.gform-theme--framework select.ui-datepicker-year {
	background-color: #fff !important;
	color: #0f2902 !important;
}

.gform-theme--framework.ui-datepicker table .ui-datepicker-today a,
.gform-theme--framework.ui-datepicker table .ui-datepicker-today span,
#ui-datepicker-div.gform-theme--framework table .ui-datepicker-today a,
#ui-datepicker-div.gform-theme--framework table .ui-datepicker-today span {
	--gf-local-bg-color: #fff !important;
	background-color: #fff !important;
	color: #0f2902 !important;
}

.gform-theme--framework.ui-datepicker table .ui-datepicker-current-day a,
.gform-theme--framework.ui-datepicker table .ui-datepicker-current-day span,
#ui-datepicker-div.gform-theme--framework table .ui-datepicker-current-day a,
#ui-datepicker-div.gform-theme--framework table .ui-datepicker-current-day span {
	--gf-local-bg-color: #0f2902 !important;
	background-color: #0f2902 !important;
	color: #fff !important;
}

.gform-theme--framework.ui-datepicker table .ui-datepicker-current-day a:hover,
.gform-theme--framework.ui-datepicker table .ui-datepicker-current-day a:focus,
#ui-datepicker-div.gform-theme--framework table .ui-datepicker-current-day a:hover,
#ui-datepicker-div.gform-theme--framework table .ui-datepicker-current-day a:focus {
	--gf-local-bg-color: #0f2902 !important;
	background-color: #0f2902 !important;
	color: #fff !important;
}

/* Legacy GF datepicker (forms using legacy theme) */
.gform-legacy-datepicker.ui-datepicker:not(.gform-preview-datepicker) .ui-datepicker-header .ui-datepicker-month,
.gform-legacy-datepicker.ui-datepicker:not(.gform-preview-datepicker) .ui-datepicker-header .ui-datepicker-year {
	background-color: #fff !important;
	color: #0f2902 !important;
}

.gform-legacy-datepicker.ui-datepicker .ui-datepicker-calendar .ui-state-active {
	background: #0f2902 !important;
	background-image: none !important;
	border-color: #0f2902 !important;
	color: #fff !important;
}

/* ==========================================================================
   No-JS fallbacks: page usable when JavaScript is disabled or fails
   ========================================================================== */

/* No-JS: hide accordion arrow icons site-wide (they point at chevrons that need JS) */
body.no-js .wp-block-uagb-image.tpr-Accordian-Arrow,
body.no-js .wp-block-uagb-image.tpr-Accordion-Arrow {
	display: none !important;
}
body.no-js #benefits .benefits-content-container,
body.no-js #benefits-accordians .benefits-content-container {
	max-height: none !important;
	opacity: 1 !important;
}

/* Core accordion (benefits): load expanded by default, hide expand/close chevrons when no JS */
body.no-js #benefits .wp-block-accordion-heading__toggle-icon,
body.no-js #benefits-accordians .wp-block-accordion-heading__toggle-icon,
body.no-js .wp-block-accordion .wp-block-accordion-heading__toggle-icon {
	display: none !important;
}
body.no-js #benefits .wp-block-accordion-panel[aria-hidden="true"],
body.no-js #benefits .wp-block-accordion-panel[inert],
body.no-js #benefits-accordians .wp-block-accordion-panel[aria-hidden="true"],
body.no-js #benefits-accordians .wp-block-accordion-panel[inert],
body.no-js .wp-block-accordion .wp-block-accordion-panel[aria-hidden="true"],
body.no-js .wp-block-accordion .wp-block-accordion-panel[inert] {
	display: block !important;
	margin-block-start: 1em;
}

/* Stats counter: show end value (UAGB counter animates via JS; without JS show static value) */
body.no-js .wp-block-uagb-counter .uagb-counter-block-number {
	display: none !important;
}
body.no-js .wp-block-uagb-counter .tpr-counter-static-value {
	display: inline !important;
}
.tpr-counter-static-value {
	display: none;
}

/* Service tabs no-JS: hide tab buttons, keep tab content visible as-is */
body.no-js .uagb-tabs__wrap .uagb-tabs__panel,
body.no-js #solution-selector-tabs .uagb-tabs__wrap .uagb-tabs__panel {
	display: none !important;
}
/* Show all tab body containers (content) */
body.no-js .uagb-tabs__wrap .uagb-tabs__body-container,
body.no-js .uagb-tabs__wrap [class*="uagb-inner-tab-"],
body.no-js #solution-selector-tabs .uagb-tabs__wrap .uagb-tabs__body-container,
body.no-js #solution-selector-tabs .uagb-tabs__wrap [class*="uagb-inner-tab-"] {
	display: block !important;
}

/* Footer reveal: no-js fallback – disable clip-path, scroll normally */
body.no-js footer.wp-block-template-part {
	clip-path: none;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}
body.no-js footer .tpr-footer-reveal-text,
body.no-js footer .tpr-footer-reveal-text + .wp-block-uagb-container,
body.no-js footer .tpr-footer-reveal-text + * {
	position: static !important;
}
body.no-js footer .tpr-footer-reveal-text + .wp-block-uagb-container,
body.no-js footer .tpr-footer-reveal-text + *,
body.no-js footer > *:last-child {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

/* Pagination buttons (1, 2, Next): dark text when no JS (better contrast on lime bg) */
body.no-js .uagb-loop-pagination .wp-block-button__link,
body.no-js .uagb-loop-pagination .wp-block-button__link *,
body.no-js .uagb-loop-pagination .page-numbers,
body.no-js .uagb-loop-pagination .page-numbers *,
body.no-js .uagb-loop-pagination a,
body.no-js .uagb-loop-pagination a *,
body.no-js .uagb-loop-pagination .wp-block-query-pagination-next,
body.no-js .uagb-loop-pagination .wp-block-query-pagination-next *,
body.no-js .uagb-loop-pagination .wp-block-query-pagination-previous,
body.no-js .uagb-loop-pagination .wp-block-query-pagination-previous *,
body.no-js .wp-block-query-pagination .wp-block-button__link,
body.no-js .wp-block-query-pagination .wp-block-button__link *,
body.no-js .wp-block-query-pagination .page-numbers,
body.no-js .wp-block-query-pagination .page-numbers *,
body.no-js .wp-block-query-pagination a,
body.no-js .wp-block-query-pagination a *,
body.no-js .wp-block-query-pagination .wp-block-query-pagination-next,
body.no-js .wp-block-query-pagination .wp-block-query-pagination-next *,
body.no-js .wp-block-query-pagination .wp-block-query-pagination-previous,
body.no-js .wp-block-query-pagination .wp-block-query-pagination-previous *,
body.no-js .uagb-post-pagination-wrap .page-numbers,
body.no-js .uagb-post-pagination-wrap .page-numbers * {
	color: #0F2902 !important;
}
/* Override inline styles and block editor color classes */
body.no-js .uagb-loop-pagination [style*="color"],
body.no-js .uagb-loop-pagination [class*="has-"][class*="-color"],
body.no-js .wp-block-query-pagination [style*="color"],
body.no-js .wp-block-query-pagination [class*="has-"][class*="-color"],
body.no-js .uagb-post-pagination-wrap [style*="color"],
body.no-js .uagb-post-pagination-wrap [class*="has-"][class*="-color"] {
	color: #0F2902 !important;
}
/* Arrow icons: SVG fill and text-based arrows (» etc.) */
body.no-js .uagb-loop-pagination svg,
body.no-js .wp-block-query-pagination svg,
body.no-js .uagb-post-pagination-wrap svg {
	fill: #0F2902 !important;
}
body.no-js .uagb-loop-pagination .wp-block-query-pagination-next-arrow,
body.no-js .uagb-loop-pagination .wp-block-query-pagination-previous-arrow,
body.no-js .wp-block-query-pagination .wp-block-query-pagination-next-arrow,
body.no-js .wp-block-query-pagination .wp-block-query-pagination-previous-arrow {
	color: #0F2902 !important;
}

/* Yoast breadcrumbs: static positioning in video hero (margin nudge at end of file — grid cell is the block wrapper) */
.tpr-video-banner .yoast-breadcrumbs,
.tpr-video-text-container .yoast-breadcrumbs,
.tpr-video-banner .wp-block-yoast-seo-breadcrumbs,
.tpr-video-text-container .wp-block-yoast-seo-breadcrumbs {
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	transform: none !important;
}

/*
 * Video hero: UAGB “layout grid” + `grid-template-rows: minmax(1px,1fr)` / narrow `%` columns load after the theme
 * and beat earlier grid-only overrides. On pages like indoor-plant-hire the copy block (e.g. uagb-block-fd12d56e)
 * has **no** inner `.uagb-container-inner-blocks-wrap` — headings are direct children of that grid, so rules that
 * only targeted `… > .uagb-layout-grid > .uagb-container-inner-blocks-wrap` never applied. Use flex column on the
 * hero inner wrap and on the nested copy container so breadcrumbs + H1 stack full-width regardless of block id.
 */
html body .wp-block-uagb-container.tpr-video-text-container.uagb-layout-grid.uagb-is-root-container > .uagb-container-inner-blocks-wrap,
html body .wp-block-uagb-container.tpr-video-text-container.uagb-layout-grid.uagb-is-root-container > .uagb-container-inner-block {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	align-content: flex-start !important;
	/* Do not override Spectra inner width: editor sets --inner-content-custom-width + max-width on this wrap */
	width: 100% !important;
	max-width: var(--inner-content-custom-width, min(100%, 90%)) !important;
	min-width: 0 !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
	grid-template-columns: unset !important;
	grid-template-rows: unset !important;
	grid-auto-columns: unset !important;
	grid-auto-rows: unset !important;
}

/* Nested Spectra “copy stack” container (direct child of inner wrap; grid lives on this element, not on a wrap) */
html body .wp-block-uagb-container.tpr-video-text-container > .uagb-container-inner-blocks-wrap > .wp-block-uagb-container.uagb-layout-grid,
html body .wp-block-uagb-container.tpr-video-text-container > .uagb-container-inner-block > .wp-block-uagb-container.uagb-layout-grid {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	box-sizing: border-box !important;
	grid-template-columns: unset !important;
	grid-template-rows: unset !important;
	grid-auto-columns: unset !important;
	grid-auto-rows: unset !important;
}

/* Tablet + mobile: tighten vertical rhythm between H1 / subhead / body copy in the hero “copy stack” (e.g. uagb-block-fd12d56e). */
@media (max-width: 1024px) {
	html body .wp-block-uagb-container.tpr-video-text-container > .uagb-container-inner-blocks-wrap > .wp-block-uagb-container.uagb-layout-grid,
	html body .wp-block-uagb-container.tpr-video-text-container > .uagb-container-inner-block > .wp-block-uagb-container.uagb-layout-grid {
		gap: 0.35rem !important;
		row-gap: 0.35rem !important;
	}
	html body .wp-block-uagb-container.tpr-video-text-container > .uagb-container-inner-blocks-wrap > .wp-block-uagb-container.uagb-layout-grid > .wp-block-uagb-advanced-heading,
	html body .wp-block-uagb-container.tpr-video-text-container > .uagb-container-inner-block > .wp-block-uagb-container.uagb-layout-grid > .wp-block-uagb-advanced-heading {
		margin-block-start: 0 !important;
		margin-block-end: 0 !important;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	html body .wp-block-uagb-container.tpr-video-text-container .tpr-yoast-breadcrumb-shift {
		margin-bottom: 0 !important;
	}
}

html body .wp-block-uagb-container.tpr-video-text-container.uagb-layout-grid > .uagb-container-inner-blocks-wrap > .tpr-yoast-breadcrumb-shift,
html body .wp-block-uagb-container.tpr-video-text-container.uagb-layout-grid > .uagb-container-inner-block > .tpr-yoast-breadcrumb-shift,
html body .wp-block-uagb-container.tpr-video-text-container.uagb-layout-grid > .uagb-container-inner-blocks-wrap > .wp-block-yoast-seo-breadcrumbs,
html body .wp-block-uagb-container.tpr-video-text-container.uagb-layout-grid > .uagb-container-inner-block > .wp-block-yoast-seo-breadcrumbs {
	flex: 0 0 auto !important;
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	align-self: stretch !important;
}

/* Yoast breadcrumbs: white at 0.5 opacity, no underline */
.yoast-breadcrumbs,
.yoast-breadcrumbs a,
.wp-block-yoast-seo-breadcrumbs,
.wp-block-yoast-seo-breadcrumbs a {
	color: rgba(255, 255, 255, 0.5) !important;
	text-decoration: none !important;
}
.yoast-breadcrumbs a:hover,
.wp-block-yoast-seo-breadcrumbs a:hover {
	color: rgba(255, 255, 255, 1) !important;
	text-decoration: none !important;
}

/* Header dark mode: breadcrumbs use #3F5435 */
body.tpr-header-dark .yoast-breadcrumbs,
body.tpr-header-dark .yoast-breadcrumbs a,
body.tpr-header-dark .wp-block-yoast-seo-breadcrumbs,
body.tpr-header-dark .wp-block-yoast-seo-breadcrumbs a {
	color: #3F5435 !important;
}
body.tpr-header-dark .yoast-breadcrumbs a:hover,
body.tpr-header-dark .wp-block-yoast-seo-breadcrumbs a:hover {
	color: #3F5435 !important;
}

/* Single blog post: centre Yoast trail (see tpr_wrap_yoast_breadcrumb_block → .tpr-yoast-breadcrumb-shift) */
body.single-post .tpr-yoast-breadcrumb-shift,
body.single-post .wp-block-yoast-seo-breadcrumbs {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center;
	box-sizing: border-box;
}

body.single-post .tpr-yoast-breadcrumb-shift .yoast-breadcrumbs,
body.single-post .wp-block-yoast-seo-breadcrumbs .yoast-breadcrumbs {
	text-align: center;
}

/* Spectra row: let the breadcrumb cell span the row so flex centreing isn’t squeezed to the start column */
body.single-post .uagb-container-inner-blocks-wrap > .tpr-yoast-breadcrumb-shift,
body.single-post .uagb-container-inner-blocks-wrap > .wp-block-yoast-seo-breadcrumbs {
	flex: 1 1 100%;
	min-width: 0;
	max-width: 100%;
}

/*
 * Mobile (≤767px): UAGB flips the inner wrap to flex-direction: column +
 * flex-wrap: wrap. The `flex: 1 1 100%` above then resolves to flex-basis:
 * 100% of the parent's main-axis (height), so the breadcrumb cell stretches
 * to fill the whole column and the pill/heading/description wrap into a
 * second column off the right edge of the viewport. Reset the flex basis at
 * this breakpoint so siblings stay in the same column.
 */
@media (max-width: 767px) {
	body.single-post .uagb-container-inner-blocks-wrap > .tpr-yoast-breadcrumb-shift,
	body.single-post .uagb-container-inner-blocks-wrap > .wp-block-yoast-seo-breadcrumbs {
		flex: 0 0 auto;
	}
}

/* Core group / column: same full-width cue when breadcrumbs are direct children */
body.single-post .wp-block-group__inner-container > .tpr-yoast-breadcrumb-shift,
body.single-post .wp-block-group__inner-container > .wp-block-yoast-seo-breadcrumbs,
body.single-post .wp-block-column > .tpr-yoast-breadcrumb-shift,
body.single-post .wp-block-column > .wp-block-yoast-seo-breadcrumbs {
	width: 100% !important;
	max-width: 100% !important;
}

/*
 * FAQ singular (`faqs`): default left-aligned breadcrumbs + entry (see functions.php).
 * Scoped with :not(.tpr-faq-centred-content) so opt-in filter + body class can restore centred layout.
 */
body.single-faqs:not(.tpr-faq-centred-content) .tpr-yoast-breadcrumb-shift,
body.single-faqs:not(.tpr-faq-centred-content) .wp-block-yoast-seo-breadcrumbs {
	display: flex !important;
	justify-content: flex-start !important;
	align-items: center !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	text-align: left;
	box-sizing: border-box;
}

body.single-faqs:not(.tpr-faq-centred-content) .tpr-yoast-breadcrumb-shift .yoast-breadcrumbs,
body.single-faqs:not(.tpr-faq-centred-content) .wp-block-yoast-seo-breadcrumbs .yoast-breadcrumbs {
	text-align: left;
}

body.single-faqs:not(.tpr-faq-centred-content) .uagb-container-inner-blocks-wrap > .tpr-yoast-breadcrumb-shift,
body.single-faqs:not(.tpr-faq-centred-content) .uagb-container-inner-blocks-wrap > .wp-block-yoast-seo-breadcrumbs {
	flex: 1 1 100%;
	min-width: 0;
	max-width: 100%;
}

/* Mobile column-wrap fix — see note on single-post equivalent above (≤767px). */
@media (max-width: 767px) {
	body.single-faqs:not(.tpr-faq-centred-content) .uagb-container-inner-blocks-wrap > .tpr-yoast-breadcrumb-shift,
	body.single-faqs:not(.tpr-faq-centred-content) .uagb-container-inner-blocks-wrap > .wp-block-yoast-seo-breadcrumbs {
		flex: 0 0 auto;
	}

}

/* Breathing room between answer text and footer on tablet + mobile */
@media (max-width: 1024px) {
	body.single-faqs .wp-site-blocks > .wp-block-uagb-container.uagb-is-root-container {
		padding-bottom: 5%;
	}
}

body.single-faqs:not(.tpr-faq-centred-content) .wp-block-group__inner-container > .tpr-yoast-breadcrumb-shift,
body.single-faqs:not(.tpr-faq-centred-content) .wp-block-group__inner-container > .wp-block-yoast-seo-breadcrumbs,
body.single-faqs:not(.tpr-faq-centred-content) .wp-block-column > .tpr-yoast-breadcrumb-shift,
body.single-faqs:not(.tpr-faq-centred-content) .wp-block-column > .wp-block-yoast-seo-breadcrumbs {
	width: 100% !important;
	max-width: 100% !important;
}

body.single-faqs:not(.tpr-faq-centred-content) .wp-block-post-content,
body.single-faqs:not(.tpr-faq-centred-content) .entry-content,
body.single-faqs:not(.tpr-faq-centred-content) .wp-block-post-content .wp-block-uagb-advanced-heading,
body.single-faqs:not(.tpr-faq-centred-content) .entry-content .wp-block-uagb-advanced-heading,
body.single-faqs:not(.tpr-faq-centred-content) .wp-block-post-title {
	text-align: left;
}

/* Opt-in: centred FAQ layout (add_filter( 'tpr_enable_faq_centred_content_body_class', '__return_true' )) */
body.tpr-faq-centred-content .tpr-yoast-breadcrumb-shift,
body.tpr-faq-centred-content .wp-block-yoast-seo-breadcrumbs {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	text-align: center;
	box-sizing: border-box;
}

body.tpr-faq-centred-content .tpr-yoast-breadcrumb-shift .yoast-breadcrumbs,
body.tpr-faq-centred-content .wp-block-yoast-seo-breadcrumbs .yoast-breadcrumbs {
	text-align: center;
}

body.tpr-faq-centred-content .uagb-container-inner-blocks-wrap > .tpr-yoast-breadcrumb-shift,
body.tpr-faq-centred-content .uagb-container-inner-blocks-wrap > .wp-block-yoast-seo-breadcrumbs {
	flex: 1 1 100%;
	min-width: 0;
	max-width: 100%;
}

/* Mobile column-wrap fix — see note on single-post equivalent above (≤767px). */
@media (max-width: 767px) {
	body.tpr-faq-centred-content .uagb-container-inner-blocks-wrap > .tpr-yoast-breadcrumb-shift,
	body.tpr-faq-centred-content .uagb-container-inner-blocks-wrap > .wp-block-yoast-seo-breadcrumbs {
		flex: 0 0 auto;
	}
}

body.tpr-faq-centred-content .wp-block-group__inner-container > .tpr-yoast-breadcrumb-shift,
body.tpr-faq-centred-content .wp-block-group__inner-container > .wp-block-yoast-seo-breadcrumbs,
body.tpr-faq-centred-content .wp-block-column > .tpr-yoast-breadcrumb-shift,
body.tpr-faq-centred-content .wp-block-column > .wp-block-yoast-seo-breadcrumbs {
	width: 100% !important;
	max-width: 100% !important;
}

body.tpr-faq-centred-content .wp-block-post-content,
body.tpr-faq-centred-content .entry-content {
	text-align: center;
}

body.tpr-faq-centred-content .wp-block-post-content .wp-block-uagb-advanced-heading,
body.tpr-faq-centred-content .entry-content .wp-block-uagb-advanced-heading {
	text-align: center;
}

body.tpr-faq-centred-content .wp-block-post-title {
	text-align: center;
}

/* ==========================================================================
   TPR Background Underlap – extend sage green container up behind stat boxes
   ========================================================================== */
#stat-boxes-v2 .wp-block-uagb-container.tpr-background-underlap {
	margin-top: -230px;
	padding-top: 230px;
	position: relative;
	z-index: 0;
}
/* Stat boxes sit on top of the underlapping background */
#stat-boxes-v2 > .wp-block-uagb-container:not(.tpr-background-underlap) {
	position: relative;
	z-index: 1;
}
/* Responsive: reduce underlap on tablet/mobile where the section above is shorter */
@media (max-width: 1024px) {
	#stat-boxes-v2 .wp-block-uagb-container.tpr-background-underlap {
		margin-top: -120px;
		padding-top: 120px;
	}
}
@media (max-width: 767px) {
	#stat-boxes-v2 .wp-block-uagb-container.tpr-background-underlap {
		margin-top: 0;
		padding-top: 0;
	}
}

/* ==========================================================================
   TPR Process steps – number badge + white circle + connecting line (screenshot)
   Editor (Spectra): outer row = Container with Grid + Additional CSS class tpr-process.
   Each white circle wrapper = Additional CSS class tpr-process-image-container (required for
   circle sizing, icon alignment, and step auto-class). Optional: tpr-process-number,
   tpr-process-icon, tpr-process-step-last on last step.
   UAGB Heading: set Separator to “None” if you see extra short rules under titles (or rely on
   .uagb-separator rules below). Lime row connector is the grid ::before rule below (not a separate div).
   ========================================================================== */

/* Size tokens: line position uses circle size + margin so it stays centered on wide viewports */
.tpr-process:has(.tpr-process-image-container),
:is(.uagb-layout-grid:has(.tpr-process-image-container), .uagb-layout-grid.tpr-process) {
	/* Equal-width columns: line spans (n−1)/n of row width between circle 1 right-edge and circle N left-edge. */
	--tpr-process-step-count: 5;
	--tpr-process-circle-size: 100px;
	--tpr-process-number-badge: 36px;
	--tpr-process-icon-img: 55px;
	--tpr-process-line-y-offset: 18px;
	/* Extra Y when circle center sits below inner-wrap top (wrapper padding / grid) */
	--tpr-process-line-vertical-nudge: 0px;
	/* Fine vertical shift for connector; smaller below 1600px so laptop line isn’t too low */
	--tpr-process-line-y-extra: 10px;
	/* Horizontal offset of the circle's left edge inside its column (matches .tpr-process-image-container margin-left). */
	--tpr-process-circle-offset-left: 18px;
	/* Spectra layout-grid column-gap (default set in editor = 20px). Used by the connector line calc. */
	--tpr-process-column-gap: 20px;
	/* Desktop grid: min height of row 1 so body copy starts on the same baseline in every column */
	--tpr-process-column-copy-start-min: calc(18px + var(--tpr-process-circle-size, 100px) + 1.25rem);
	/* Row 2: reserve ~2 lines for lime step titles so body copy (row 3) lines up when one title wraps */
	--tpr-process-heading-cell-min: 4.25rem;
}

/*
 * Number inside white circle: circle gets margin-left: 0 (see image-container rule), so the
 * connector's horizontal offset collapses to 0 too. .tpr-process-grid is added server-side.
 */
.uagb-layout-grid:has(.tpr-process-image-container .tpr-process-number),
.tpr-process:has(.tpr-process-image-container .tpr-process-number) {
	--tpr-process-line-y-offset: 0px;
	--tpr-process-line-vertical-nudge: calc(var(--tpr-process-circle-size, 100px) * 0.48 + 14px);
	--tpr-process-circle-offset-left: 0px;
}

@media (min-width: 1440px) {
	.tpr-process:has(.tpr-process-image-container),
	:is(.uagb-layout-grid:has(.tpr-process-image-container), .uagb-layout-grid.tpr-process) {
		--tpr-process-circle-size: 128px;
		--tpr-process-number-badge: 44px;
		--tpr-process-icon-img: 72px;
		--tpr-process-circle-offset-left: 22px;
		--tpr-process-column-copy-start-min: calc(22px + var(--tpr-process-circle-size, 128px) + 1.25rem);
		--tpr-process-heading-cell-min: 4.85rem;
	}

	.uagb-layout-grid:has(.tpr-process-image-container .tpr-process-number),
	.tpr-process:has(.tpr-process-image-container .tpr-process-number) {
		--tpr-process-circle-offset-left: 0px;
	}
}

/* Connector vertical tuning at very wide viewports */
@media (min-width: 1600px) {
	.tpr-process:has(.tpr-process-image-container),
	:is(.uagb-layout-grid:has(.tpr-process-image-container), .uagb-layout-grid.tpr-process) {
		--tpr-process-line-y-offset: 25px;
		--tpr-process-line-y-extra: 10px;
	}

	.uagb-layout-grid:has(.tpr-process-image-container .tpr-process-number),
	.tpr-process:has(.tpr-process-image-container .tpr-process-number) {
		--tpr-process-line-y-offset: 25px;
	}
}

.tpr-process-step {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

/* Small lime-green circle with step number – ensure perfect circle */
.tpr-process-number {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: var(--tpr-process-number-badge, 36px) !important;
	height: var(--tpr-process-number-badge, 36px) !important;
	min-width: var(--tpr-process-number-badge, 36px) !important;
	min-height: var(--tpr-process-number-badge, 36px) !important;
	max-width: var(--tpr-process-number-badge, 36px) !important;
	max-height: var(--tpr-process-number-badge, 36px) !important;
	aspect-ratio: 1 !important;
	border-radius: 50% !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	background-color: #D2FC51 !important;
	color: #0F2902 !important;
	font-weight: 700;
	font-size: 1.125rem;
	line-height: 1;
	position: absolute;
	top: 12px;
	left: -48px;
	z-index: 2;
}

@media (min-width: 1440px) {
	.tpr-process-number {
		font-size: 1.3125rem;
		top: 14px;
		left: -58px;
	}
}

/* Large white circle with icon */
/* Selector has to match Spectra's `.wp-block-uagb-container.uagb-layout-grid > .wp-block-uagb-container { width: unset !important }` specificity (4 classes + combinator) so the circle stays round when dropped into a layout-grid cell that would otherwise stretch it into an ellipse. */
/* Background color and border intentionally NOT set here — per-block editor attributes (`.uagb-block-*` block CSS) should flow through so each step can set its own colour and border in the editor. Only the shape (circle via border-radius: 50%) is enforced. */
.tpr-process-image-container,
.wp-block-uagb-container.uagb-layout-grid > .wp-block-uagb-container.tpr-process-image-container {
	width: var(--tpr-process-circle-size, 100px) !important;
	height: var(--tpr-process-circle-size, 100px) !important;
	min-width: var(--tpr-process-circle-size, 100px) !important;
	min-height: var(--tpr-process-circle-size, 100px) !important;
	max-width: var(--tpr-process-circle-size, 100px) !important;
	max-height: var(--tpr-process-circle-size, 100px) !important;
	aspect-ratio: 1 !important;
	flex: 0 0 auto !important;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	margin-top: 18px;
	margin-left: 18px;
	overflow: visible;
}

@media (min-width: 1440px) {
	.tpr-process-image-container {
		margin-top: 22px;
		margin-left: 22px;
	}
}

/* When number is inside the image container, no horizontal margin needed */
.tpr-process-image-container:has(.tpr-process-number) {
	margin-top: 0;
	margin-left: 0;
}

/* Center icon/image within the white circle */
.tpr-process-image-container .wp-block-uagb-image,
.tpr-process-image-container .wp-block-uagb-image__figure,
.tpr-process-image-container figure {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	width: 100%;
	height: 100%;
}

/* Icons centered in circle. (The old optical-shift translate pulled icons ~-30px Y which dragged
   them into the top half of the circle — flex center already aligns them correctly.) */
.tpr-process-image-container:has(.tpr-process-icon) figure,
.tpr-process-image-container:has(.tpr-process-icon) .wp-block-uagb-image__figure {
	line-height: 0 !important;
}

.tpr-process-image-container:has(.tpr-process-icon) img {
	display: block !important;
}

.tpr-process-image-container img,
.tpr-process-image-container .tpr-process-icon img,
.tpr-process-icon,
.tpr-process-icon img {
	object-fit: contain !important;
	width: var(--tpr-process-icon-img, 55px) !important;
	height: var(--tpr-process-icon-img, 55px) !important;
	min-width: var(--tpr-process-icon-img, 55px) !important;
	min-height: var(--tpr-process-icon-img, 55px) !important;
}

/* Remove per-icon connecting lines */
.tpr-process-image-container::after {
	display: none;
}

/* Process container: full width for green background; only inner content constrained to 90% */
.tpr-process-container {
	overflow: visible;
}
/* Constrain grid to 90% – step columns use full width so headings fit.
   Horizontal padding intentionally omitted: editor-set padding flows through. */
.tpr-process-container > .uagb-container-inner-block,
.tpr-process-container > .uagb-container-inner-blocks-wrap,
.tpr-process-container > [class*="uagb-container-inner"],
.tpr-process-container .tpr-process {
	max-width: 90% !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}
/* Main heading only (not step headings) – constrain to 90% */
.tpr-process-container > .wp-block-uagb-advanced-heading,
.tpr-process-container > header.wp-block-uagb-advanced-heading {
	max-width: 90% !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box !important;
}

/* Single line behind process icons (equal columns): 3px solid between 1st and last circle centres */
.tpr-process:has(.tpr-process-image-container),
:is(.uagb-layout-grid:has(.tpr-process-image-container), .uagb-layout-grid.tpr-process) {
	position: relative;
	overflow: visible;
}

/* Inner grid wrap: positioning context + top-align cells */
:is(.uagb-layout-grid:has(.tpr-process-image-container), .uagb-layout-grid.tpr-process) > .uagb-container-inner-blocks-wrap {
	position: relative;
	align-items: start;
}

/*
 * Multi-column: icon rail + fixed-height heading row + description.
 * Parent matches with or without .tpr-process-container (markup varies).
 * Headings may sit inside .wp-block-group — display:contents so they participate in this grid.
 * Body copy: .tpr-process-description-text and/or default p.wp-block-paragraph (class not required).
 */
@media (min-width: 1025px) {
	:is(.uagb-layout-grid.tpr-process, .tpr-process-container .tpr-process.uagb-layout-grid)
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container
		> .uagb-container-inner-blocks-wrap {
		display: grid !important;
		grid-template-rows:
			minmax(var(--tpr-process-column-copy-start-min, 10rem), max-content)
			minmax(var(--tpr-process-heading-cell-min, 4.25rem), auto)
			auto;
		align-items: start;
		justify-items: stretch;
		row-gap: 0;
	}
	/* No heading anywhere in column: two rows only */
	:is(.uagb-layout-grid.tpr-process, .tpr-process-container .tpr-process.uagb-layout-grid)
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container
		> .uagb-container-inner-blocks-wrap:not(:has(.wp-block-uagb-advanced-heading, .wp-block-heading)) {
		grid-template-rows: minmax(var(--tpr-process-column-copy-start-min, 10rem), max-content) auto;
	}
	:is(.uagb-layout-grid.tpr-process, .tpr-process-container .tpr-process.uagb-layout-grid)
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container
		> .uagb-container-inner-blocks-wrap:not(:has(.tpr-process-image-container))
		> .wp-block-uagb-container:only-child {
		display: contents;
	}
	/* Unwrap Spectra groups that only wrap headings (copy can sit in same group or as sibling <p>) */
	:is(.uagb-layout-grid.tpr-process, .tpr-process-container .tpr-process.uagb-layout-grid)
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container
		> .uagb-container-inner-blocks-wrap
		> .wp-block-group:where(:has(.wp-block-uagb-advanced-heading), :has(.wp-block-heading)) {
		display: contents;
	}
	:is(.uagb-layout-grid.tpr-process, .tpr-process-container .tpr-process.uagb-layout-grid)
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container
		> .uagb-container-inner-blocks-wrap
		> .tpr-process-image-container {
		grid-row: 1;
		align-self: start;
	}
	:is(.uagb-layout-grid.tpr-process, .tpr-process-container .tpr-process.uagb-layout-grid)
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container
		> .uagb-container-inner-blocks-wrap
		> :is(.wp-block-uagb-advanced-heading, header.wp-block-uagb-advanced-heading, .wp-block-heading),
	:is(.uagb-layout-grid.tpr-process, .tpr-process-container .tpr-process.uagb-layout-grid)
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container
		> .uagb-container-inner-blocks-wrap
		> .wp-block-group
		:is(.wp-block-uagb-advanced-heading, header.wp-block-uagb-advanced-heading, .wp-block-heading) {
		grid-row: 2;
		align-self: start;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	:is(.uagb-layout-grid.tpr-process, .tpr-process-container .tpr-process.uagb-layout-grid)
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container
		> .uagb-container-inner-blocks-wrap:not(:has(.tpr-process-image-container))
		> .wp-block-uagb-container:only-child
		:is(.wp-block-uagb-advanced-heading, header.wp-block-uagb-advanced-heading, .wp-block-heading) {
		grid-row: 2;
		align-self: start;
		margin-top: 0 !important;
		margin-bottom: 0 !important;
	}
	:is(.uagb-layout-grid.tpr-process, .tpr-process-container .tpr-process.uagb-layout-grid)
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container
		> .uagb-container-inner-blocks-wrap
		> p.tpr-process-description-text,
	:is(.uagb-layout-grid.tpr-process, .tpr-process-container .tpr-process.uagb-layout-grid)
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container
		> .uagb-container-inner-blocks-wrap
		> p.wp-block-paragraph,
	:is(.uagb-layout-grid.tpr-process, .tpr-process-container .tpr-process.uagb-layout-grid)
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container
		> .uagb-container-inner-blocks-wrap
		> .wp-block-group
		> p.tpr-process-description-text,
	:is(.uagb-layout-grid.tpr-process, .tpr-process-container .tpr-process.uagb-layout-grid)
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container
		> .uagb-container-inner-blocks-wrap
		> .wp-block-group
		> p.wp-block-paragraph {
		grid-row: 3;
		margin-top: 0 !important;
	}
	:is(.uagb-layout-grid.tpr-process, .tpr-process-container .tpr-process.uagb-layout-grid)
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container
		> .uagb-container-inner-blocks-wrap:not(:has(.wp-block-uagb-advanced-heading, .wp-block-heading))
		> p.tpr-process-description-text,
	:is(.uagb-layout-grid.tpr-process, .tpr-process-container .tpr-process.uagb-layout-grid)
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container
		> .uagb-container-inner-blocks-wrap:not(:has(.wp-block-uagb-advanced-heading, .wp-block-heading))
		> p.wp-block-paragraph {
		grid-row: 2;
	}
	:is(.uagb-layout-grid.tpr-process, .tpr-process-container .tpr-process.uagb-layout-grid)
		> .uagb-container-inner-blocks-wrap
		> .wp-block-uagb-container
		> .uagb-container-inner-blocks-wrap
		> p:not(.tpr-process-description-text):not(.wp-block-paragraph) {
		margin-top: 0 !important;
	}
}

/*
 * Single lime connector: ::before on the process grid. Legacy .tpr-process-connector-line from old
 * cached HTML is hidden so it cannot duplicate this line.
 */
.tpr-process-grid .tpr-process-connector-line,
:is(.uagb-layout-grid:has(.tpr-process-image-container), .uagb-layout-grid.tpr-process) .tpr-process-connector-line {
	display: none !important;
}

/* UAGB Advanced Heading optional separator — not the icon row connector. */
:is(.uagb-layout-grid:has(.tpr-process-image-container), .uagb-layout-grid.tpr-process) .uagb-separator,
.tpr-process-step .uagb-separator {
	display: none !important;
}

/*
 * Lime line through icon row: ::before on the *outer* process grid only.
 * Do not use .uagb-layout-grid:has(.tpr-process-image-container) — each step is a nested
 * .uagb-layout-grid.uagb-block-* that also contains .tpr-process-image-container (see events page),
 * which matched this rule and drew duplicate segments between headings.
 */
.tpr-process-grid.uagb-layout-grid::before,
.uagb-layout-grid.tpr-process::before {
	content: "";
	position: absolute !important;
	grid-column: 1 / -1;
	justify-self: stretch;
	align-self: start;
	/* left/right are written by assets/js/tpr-process-line.js from actual getBoundingClientRect()
	   positions of the first and last circle. The calc fallbacks handle the initial paint before JS
	   runs (and any environment where the script can't execute). */
	left: var(
		--tpr-process-line-start,
		calc(var(--tpr-process-circle-offset-left, 0px) + var(--tpr-process-circle-size, 100px))
	) !important;
	right: var(
		--tpr-process-line-end-inset,
		calc(
			100% / var(--tpr-process-step-count, 5)
				- (var(--tpr-process-step-count, 5) - 1) / var(--tpr-process-step-count, 5)
					* var(--tpr-process-column-gap, 0px)
				- var(--tpr-process-circle-offset-left, 0px)
		)
	) !important;
	width: auto !important;
	top: calc(
		var(--tpr-process-line-y-offset, 0px) + var(--tpr-process-circle-size, 100px) / 2 +
			var(--tpr-process-line-vertical-nudge, 0px) + var(--tpr-process-line-y-extra, 10px)
	) !important;
	transform: translateY(-50%) !important;
	height: 3px !important;
	z-index: 0;
	background-color: #d2fc51 !important;
}

/* Nested per-step Spectra grids: never inherit a connector pseudo from the outer row rules above. */
.tpr-process.uagb-layout-grid .uagb-layout-grid::before {
	content: none !important;
	display: none !important;
}

.tpr-process:has(.tpr-process-image-container):not(:has(> .uagb-container-inner-blocks-wrap))::before {
	content: "";
	position: absolute !important;
	grid-column: 1 / -1;
	justify-self: stretch;
	align-self: start;
	left: var(
		--tpr-process-line-start,
		calc(var(--tpr-process-circle-offset-left, 0px) + var(--tpr-process-circle-size, 100px))
	) !important;
	right: var(
		--tpr-process-line-end-inset,
		calc(
			100% / var(--tpr-process-step-count, 5)
				- (var(--tpr-process-step-count, 5) - 1) / var(--tpr-process-step-count, 5)
					* var(--tpr-process-column-gap, 0px)
				- var(--tpr-process-circle-offset-left, 0px)
		)
	) !important;
	width: auto !important;
	top: calc(
		var(--tpr-process-line-y-offset, 0px) + var(--tpr-process-circle-size, 100px) / 2 +
			var(--tpr-process-line-vertical-nudge, 0px) + var(--tpr-process-line-y-extra, 10px)
	) !important;
	transform: translateY(-50%) !important;
	height: 3px !important;
	z-index: 0;
	background-color: #d2fc51 !important;
}

/* Ensure icons sit above the line */
.tpr-process-image-container {
	z-index: 1;
}

/* Icon 4: dotted squiggle from right edge of icon 4 to far right of screen – ensure no overflow clipping */
:is(.uagb-layout-grid:has(.tpr-process-image-container), .uagb-layout-grid.tpr-process),
:is(.uagb-layout-grid:has(.tpr-process-image-container), .uagb-layout-grid.tpr-process) .tpr-process-step:last-child,
.tpr-process-step-last .tpr-process-image-container,
:is(.uagb-layout-grid:has(.tpr-process-image-container), .uagb-layout-grid.tpr-process) .tpr-process-step:last-child .tpr-process-image-container {
	overflow: visible;
}
.tpr-process-step-last .tpr-process-image-container::after,
:is(.uagb-layout-grid:has(.tpr-process-image-container), .uagb-layout-grid.tpr-process) .tpr-process-step:last-child .tpr-process-image-container::after {
	display: block !important;
	content: "";
	position: absolute;
	top: 50%;
	left: 100%;
	margin-top: -3px;
	width: 200vw;
	height: 6px;
	z-index: 0;
	background-color: transparent;
	background-image: url("../images/tpr-process-squiggle-end.svg");
	background-repeat: repeat-x;
	background-size: 162px 6px;
	background-position: left center;
}

/* Tablet: hide connecting line when icons stack */
@media (max-width: 1024px) {
	.tpr-process-grid .tpr-process-connector-line,
	:is(.uagb-layout-grid:has(.tpr-process-image-container), .uagb-layout-grid.tpr-process) .tpr-process-connector-line,
	.tpr-process-grid.uagb-layout-grid::before,
	.uagb-layout-grid.tpr-process::before,
	.tpr-process:has(.tpr-process-image-container):not(:has(> .uagb-container-inner-blocks-wrap))::before {
		display: none !important;
	}
	.tpr-process-step-last .tpr-process-image-container::after,
	:is(.uagb-layout-grid:has(.tpr-process-image-container), .uagb-layout-grid.tpr-process) .tpr-process-step:last-child .tpr-process-image-container::after {
		display: none !important;
	}
}

/* Tablet (2-column stack): centre the circle in each cell and optically lift the icon so it reads
   as vertically centred (SVGs are bottom-heavy, so geometric centre sits low). */
@media (min-width: 768px) and (max-width: 1024px) {
	.tpr-process-image-container,
	.tpr-process-image-container:has(.tpr-process-number) {
		margin-left: auto !important;
		margin-right: auto !important;
	}
	.tpr-process-image-container:has(.tpr-process-icon) figure,
	.tpr-process-image-container:has(.tpr-process-icon) .wp-block-uagb-image__figure {
		transform: translateY(-29px);
	}
}

/* Desktop: lift the icon so SVG weight reads as centred within the larger circle. */
@media (min-width: 1025px) {
	.tpr-process-image-container:has(.tpr-process-icon) figure,
	.tpr-process-image-container:has(.tpr-process-icon) .wp-block-uagb-image__figure {
		transform: translateY(-35px);
	}
}

/* Mobile: hide line, fix layout to match desktop (circles, number badge) */
@media (max-width: 767px) {
	.tpr-process-grid .tpr-process-connector-line,
	:is(.uagb-layout-grid:has(.tpr-process-image-container), .uagb-layout-grid.tpr-process) .tpr-process-connector-line,
	.tpr-process-grid.uagb-layout-grid::before,
	.uagb-layout-grid.tpr-process::before,
	.tpr-process:has(.tpr-process-image-container):not(:has(> .uagb-container-inner-blocks-wrap))::before {
		display: none !important;
	}
	.tpr-process-step-last .tpr-process-image-container::after,
	:is(.uagb-layout-grid:has(.tpr-process-image-container), .uagb-layout-grid.tpr-process) .tpr-process-step:last-child .tpr-process-image-container::after {
		display: none !important;
	}
	/* Keep circles round and horizontally centred in the mobile column. */
	.tpr-process-image-container {
		width: 100px !important;
		height: 100px !important;
		min-width: 100px !important;
		min-height: 100px !important;
		max-width: 100px !important;
		max-height: 100px !important;
		border-radius: 50% !important;
		flex-shrink: 0 !important;
		margin-top: 0 !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}
	/* Number badge: position top-left of circle (further left and up) */
	.tpr-process-number {
		position: absolute !important;
		top: -10px !important;
		left: -10px !important;
		margin-right: 0 !important;
		z-index: 2 !important;
	}
	/* When number is inside image container, position at top-left of white circle */
	.tpr-process-image-container:has(.tpr-process-number) .tpr-process-number {
		top: -10px !important;
		left: -10px !important;
	}
	/* Center icons within white circles on mobile */
	.tpr-process-image-container:has(.tpr-process-icon) .wp-block-uagb-image,
	.tpr-process-image-container:has(.tpr-process-icon) .wp-block-uagb-image__figure,
	.tpr-process-image-container:has(.tpr-process-icon) figure {
		align-items: center !important;
		padding-bottom: 0 !important;
	}
	/* Number + circle in a row, then title + description full width below */
	.tpr-process-step {
		flex-direction: row !important;
		flex-wrap: wrap !important;
	}
	.tpr-process-number,
	.tpr-process-image-container,
	.tpr-process-step > .wp-block-uagb-container:has(.tpr-process-image-container) {
		flex: 0 0 auto !important;
	}
	.tpr-process-step > .wp-block-uagb-advanced-heading,
	.tpr-process-step > .wp-block-paragraph {
		width: 100% !important;
		flex-basis: 100% !important;
	}
}

/* ==========================================================================
   FAQ accordion – .tpr-faq-wrapper, .tpr-faq-question, .tpr-faq-answer
   Loop block structure. Matches Figma: TPR001-Designs node 23480:118366
   ========================================================================== */

/* Section: moss background, vertical padding, flex layout */
.tpr-faq-wrapper {
	background-color: #fafbfa;
	padding: 0 0 96px;
	margin-top: 0 !important;
	padding-top: 0 !important;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0 !important;
}

/* Blog article layout: class on article in single-post template. Drops FAQ bottom padding so the
 * moss background (#fafbfa) does not show as an empty band under the accordion (standalone FAQ pages keep 96px). */
.tpr-blog-content-container .tpr-faq-wrapper {
	padding-bottom: 0 !important;
}

/* Remove top gap from loop builder / parent when FAQ wrapper is inside */
.wp-block-uagb-loop-builder:has(.tpr-faq-wrapper),
.uagb-container-inner-blocks-wrap:has(.tpr-faq-wrapper),
.uagb-container-inner-block:has(.tpr-faq-wrapper) {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

/* Inner content */
.tpr-faq-wrapper > * {
	width: 100%;
	margin-left: auto;
	margin-right: auto;
	box-sizing: border-box;
}

/* Main heading: dark green (font size from editor) */
.tpr-faq-wrapper > *:first-child h1,
.tpr-faq-wrapper > *:first-child h2,
.tpr-faq-wrapper > *:first-child h3,
.tpr-faq-wrapper > *:first-child .wp-block-uagb-advanced-heading .uagb-heading-text {
	color: #0f2902 !important;
}

/* Accordion list: 2px gap between items */
.tpr-faq-wrapper .uagb-loop-post + .uagb-loop-post,
.tpr-faq-wrapper .tpr-faq-item + .tpr-faq-item {
	margin-top: 2px !important;
}

/* Remove default spacing from loop container, posts, and inner containers */
.tpr-faq-wrapper,
.tpr-faq-wrapper.uagb-loop-container,
.tpr-faq-wrapper .uagb-loop-container,
.tpr-faq-wrapper [id*="uagb-block-queryid"],
.tpr-faq-wrapper .wp-block-query {
	gap: 0 !important;
}
.tpr-faq-wrapper .uagb-loop-post {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
.tpr-faq-wrapper .uagb-loop-post + .uagb-loop-post {
	margin-top: 2px !important;
}
.tpr-faq-wrapper .uagb-loop-post-inner,
.tpr-faq-wrapper .tpr-faq-item {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}
/* Override block gap / spacing that adds space between loop items */
.tpr-faq-wrapper .wp-block-uagb-loop-builder,
.tpr-faq-wrapper .wp-block-uagb-loop-builder > * {
	--wp--style--block-gap: 0 !important;
	gap: 0 !important;
}

/* Question bar: forest/050 background, 100px min-height, 40px padding (font size from editor) */
.tpr-faq-wrapper .tpr-faq-question {
	display: flex !important;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	height: 100px !important;
	min-height: 100px !important;
	padding: 0 2% !important;
	background-color: #e7eae6 !important;
	color: #0f2902 !important;
	font-weight: 700 !important;
	border-radius: 0;
	cursor: pointer;
	overflow: hidden;
	margin: 0 !important;
	border: none;
	width: 100%;
	text-align: left;
}

/* First accordion item only: 30px rounded top-left and top-right */
.tpr-faq-wrapper .uagb-loop-post:first-child .tpr-faq-question,
.tpr-faq-wrapper .tpr-faq-item:first-child .tpr-faq-question {
	border-radius: 30px 30px 0 0;
}

/* All other accordion items: 0px rounded corners */
.tpr-faq-wrapper .uagb-loop-post:not(:first-child) .tpr-faq-question {
	border-radius: 0 !important;
}

.tpr-faq-wrapper .tpr-faq-question a,
.tpr-faq-wrapper .tpr-faq-question a:hover {
	text-decoration: none !important;
	pointer-events: none;
	color: inherit !important;
}

/* SVG mask chevron: down when closed, rotates 180° when open (Font Awesome removed) */
.tpr-faq-wrapper .tpr-faq-question::after {
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
	background-color: #0f2902;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E");
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	transition: transform 0.2s ease;
}

/* Expanded: first item keeps rounded top; others stay square */
.tpr-faq-wrapper .uagb-loop-post:first-child .tpr-faq-item-active .tpr-faq-question {
	border-radius: 30px 30px 0 0;
}

.tpr-faq-wrapper .tpr-faq-item-active .tpr-faq-question::after {
	transform: rotate(180deg);
}

/* Editor: hide the CSS chevron so it doesn't duplicate the image-block arrow */
.block-editor-page .tpr-faq-wrapper .tpr-faq-question::after,
.editor-styles-wrapper .tpr-faq-wrapper .tpr-faq-question::after {
	display: none !important;
}

/* Answer content: white background, border, 2% padding */
/* Hide answers on front-end only — keep visible in block editor for editing */
body:not(.block-editor-page):not(.wp-admin) .tpr-faq-wrapper .tpr-faq-answer {
	display: none;
	background-color: #fff !important;
	border: 1px solid #fafbfa;
	border-top: none;
	padding: 2% !important;
	margin: 0 !important;
}

/* Editor: answers always visible and editable */
.block-editor-page .tpr-faq-wrapper .tpr-faq-answer,
.editor-styles-wrapper .tpr-faq-wrapper .tpr-faq-answer {
	display: block !important;
	background-color: #fff !important;
	border: 1px solid #fafbfa;
	border-top: none;
	padding: 2% !important;
	margin: 0 !important;
}

body:not(.block-editor-page):not(.wp-admin) .tpr-faq-wrapper .tpr-faq-item-active .tpr-faq-answer {
	display: block;
}

/* Spectra loop pagination / TPR load more below gallery inside an open FAQ item */
.tpr-faq-wrapper .tpr-faq-item-active .tpr-faq-answer .uagb-loop-pagination {
	display: flex !important;
	justify-content: center;
	width: 100%;
	flex-wrap: wrap;
}

.tpr-faq-wrapper .tpr-faq-answer p,
.tpr-faq-wrapper .tpr-faq-answer {
	color: #0f2902 !important;
	font-weight: 400 !important;
	line-height: 1.6;
}

.tpr-faq-wrapper .tpr-faq-answer p {
	margin: 0 0 30px !important;
}
.tpr-faq-wrapper .tpr-faq-answer p:last-child {
	margin-bottom: 0 !important;
}

/* Full post body in answer: theme replaces <p class="uagb-heading-text"> with <div> (valid lists/blocks) */
.tpr-faq-wrapper .tpr-faq-answer div.uagb-heading-text {
	margin: 0 !important;
	font-weight: 400 !important;
	line-height: 1.6;
	color: #0f2902 !important;
}
.tpr-faq-wrapper .tpr-faq-answer .uagb-heading-text ul,
.tpr-faq-wrapper .tpr-faq-answer .uagb-heading-text ol {
	margin: 0.5em 0 1em;
	padding-left: 1.25em;
}
.tpr-faq-wrapper .tpr-faq-answer .uagb-heading-text ul {
	list-style: disc;
}
.tpr-faq-wrapper .tpr-faq-answer .uagb-heading-text ol {
	list-style: decimal;
}
/* Same list styling if the wrapper is still <p> (e.g. before PHP swap) or nested lists sit in a paragraph context */
.tpr-faq-wrapper .tpr-faq-answer p.uagb-heading-text ul,
.tpr-faq-wrapper .tpr-faq-answer p.uagb-heading-text ol {
	margin: 0.5em 0 1em;
	padding-left: 1.25em;
}
.tpr-faq-wrapper .tpr-faq-answer p.uagb-heading-text ul {
	list-style: disc;
}
.tpr-faq-wrapper .tpr-faq-answer p.uagb-heading-text ol {
	list-style: decimal;
}
.tpr-faq-wrapper .tpr-faq-answer .uagb-heading-text li,
.tpr-faq-wrapper .tpr-faq-answer .uagb-heading-text li > p {
	margin: 0.25em 0;
}

/* Resource download form: custom pill design (white input + lime green button) */

/* Resource listing cover: fixed aspect (5:6 width:height ≈ card column width) — not tied to AJAX form inject */
.uagb-loop-post .uagb-loop-post-inner .tpr-resource-cover-image[data-bg-image] {
	position: relative;
	aspect-ratio: 5 / 6 !important;
	width: 100% !important;
	min-height: 0 !important;
	background-size: cover !important;
	overflow: hidden;
	box-sizing: border-box;
}
/* Keep overlay / title from increasing cover height (UAGB min-content sizing) */
.uagb-loop-post .uagb-loop-post-inner .tpr-resource-cover-image[data-bg-image] > .uagb-container-inner-blocks-wrap {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: stretch;
	box-sizing: border-box;
	pointer-events: none;
}
.uagb-loop-post .uagb-loop-post-inner .tpr-resource-cover-image[data-bg-image] > .uagb-container-inner-blocks-wrap * {
	pointer-events: auto;
}

/* Align download form to bottom of card regardless of content length */
.uagb-loop-post:has(.tpr-resource-download-form-injected),
li.wp-block-post:has(.tpr-resource-download-form-injected) {
	display: flex !important;
}
li.wp-block-post:has(.tpr-resource-download-form-injected) {
	flex-direction: column !important;
}
li.wp-block-post:has(.tpr-resource-download-form-injected) > *:not(.tpr-resource-download-form-injected) {
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
}
.uagb-loop-post:has(.tpr-resource-download-form-injected) .uagb-loop-post-inner {
	display: flex !important;
	flex-direction: column !important;
	flex: 1;
	min-height: 0;
	width: 100%;
}
/* Content above form grows to push form to bottom */
.uagb-loop-post-inner:has(.tpr-resource-download-form-injected) > *:not(.tpr-resource-download-form-injected) {
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
}
.uagb-loop-post-inner:has(.tpr-resource-download-form-injected) .wp-block-uagb-container:has(.tpr-resource-download-form-injected),
.uagb-loop-post-inner:has(.tpr-resource-download-form-injected) .wp-block-uagb-advanced-heading:has(.tpr-resource-download-form-injected) {
	flex: 1;
	min-height: 0;
	display: flex;
	flex-direction: column;
}
.tpr-resource-download-form-injected {
	order: 999;
	margin-top: auto !important;
	flex-shrink: 0;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	align-self: stretch;
	box-sizing: border-box;
	padding: 0 5% 5% 5%;
}

/* Hide empty p tags under resource form (block editor outputs these, adds unwanted space) */
.uagb-loop-post-inner:has(.tpr-resource-download-form-injected) .wp-block-uagb-advanced-heading:has(.tpr-resource-download-form-injected) p:empty {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Chosen resource block: card — ~40% image / ~60% body; desktop row fills min-height so image can span full card. */
.tpr-chosen-resource:not(.tpr-chosen-resource--empty) {
	box-sizing: border-box;
	min-height: 500px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: stretch;
	background: #fafbfa;
	border-radius: 30px;
	padding: clamp(1.25rem, 4vw, 2rem);
	box-shadow: none;
}

.tpr-chosen-resource__layout {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 1.25rem;
}

@media (min-width: 768px) {
	/* Layout grows to card inner height → row flex has definite cross-size → media + image stretch to full height. */
	.tpr-chosen-resource:not(.tpr-chosen-resource--empty) .tpr-chosen-resource__layout {
		flex: 1 1 auto;
		min-height: 0;
	}

	.tpr-chosen-resource__layout--has-image {
		flex-direction: row;
		align-items: center;
		gap: clamp(1.5rem, 4vw, 2.5rem);
	}

	.tpr-chosen-resource__layout--has-image .tpr-chosen-resource__body {
		justify-content: center;
	}

	/* Image keeps 1024×768 (4:3) aspect ratio; column width ~40% of row. */
	.tpr-chosen-resource__layout--has-image .tpr-chosen-resource__media {
		position: relative;
		flex: 0 1 40%;
		max-width: 40%;
		min-width: 0;
		width: auto;
		align-self: center;
		border-radius: 12px;
		overflow: hidden;
		background-color: #fafbfa;
	}
}

.tpr-chosen-resource__media {
	width: 100%;
	aspect-ratio: 1024 / 768;
	border-radius: 12px;
	overflow: hidden;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}

.tpr-chosen-resource__body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: stretch;
}

.tpr-chosen-resource__tag-label {
	margin: 0 0 0.65rem;
}

.tpr-chosen-resource__title {
	margin: 0 0 0.75rem;
	font-family: "Poppins", sans-serif;
	font-weight: 700;
	font-synthesis: none;
}
.tpr-chosen-resource__excerpt {
	margin: 0;
	color: #0f2902;
}
.tpr-chosen-resource__excerpt p {
	margin: 0;
}
.tpr-chosen-resource__excerpt p + p {
	margin-top: 0.75em;
}
.tpr-chosen-resource__form {
	margin-top: 20px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	align-self: stretch;
}
.tpr-chosen-resource--empty .tpr-chosen-resource__empty-note {
	margin: 0;
	padding: 12px 16px;
	background: #f6f7f7;
	border-radius: 4px;
	font-size: 13px;
	color: #50575e;
}
.tpr-chosen-resource-editor__hint,
.tpr-chosen-resource-editor__form-note {
	font-size: 13px;
	color: #50575e;
	margin: 0;
}
.tpr-chosen-resource-editor__title {
	margin: 0 0 0.5rem;
	font-size: 1.1em;
}

/* Custom pill form: email + download button – fills container, respects padding */
/* Scoped to .tpr-resource-download-form-injected for higher specificity over Spectra/theme resets */
.tpr-resource-download-form-injected .tpr-resource-download-form,
.tpr-resource-download-form,
.tpr-resource-download-form-block {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
.tpr-resource-download-form-injected .tpr-resource-download-form__fields,
.tpr-resource-download-form__fields {
	display: flex !important;
	flex-wrap: nowrap;
	gap: 0;
	align-items: stretch;
	height: 32px;
	border-radius: 16px;
	overflow: hidden;
	border: 2px solid #fff !important;
	box-sizing: border-box;
	transition: border-color 0.2s ease;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	background: #fff;
}
.tpr-resource-download-form-injected .tpr-resource-download-form__fields:focus-within,
.tpr-resource-download-form__fields:focus-within {
	border-color: #D2FC51 !important;
}
.tpr-resource-download-form-injected .tpr-resource-download-form__email,
.tpr-resource-download-form__email {
	flex: 1;
	min-width: 0;
	padding: 0 1rem !important;
	background: #fff !important;
	color: #2B3D2B !important;
	border: none !important;
	border-radius: 14px 0 0 14px;
	font-size: 11px !important;
	font-weight: 700 !important;
	font-family: inherit;
	box-shadow: none !important;
}
.tpr-resource-download-form-injected .tpr-resource-download-form__email::placeholder,
.tpr-resource-download-form__email::placeholder {
	color: #2B3D2B;
	opacity: 0.7;
}
/* Scoped for higher specificity over Spectra/theme form resets */
.tpr-resource-download-form-injected .tpr-resource-download-form,
.tpr-resource-download-form,
.tpr-resource-download-form-block {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}
.tpr-resource-download-form-injected .tpr-resource-download-form__fields,
.tpr-resource-download-form__fields {
	display: flex !important;
	flex-wrap: nowrap;
	gap: 0;
	align-items: stretch;
	height: 32px;
	border-radius: 16px;
	overflow: hidden;
	border: 2px solid #fff !important;
	box-sizing: border-box;
	transition: border-color 0.2s ease;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	background: #fff;
}
.tpr-resource-download-form-injected .tpr-resource-download-form__fields:focus-within,
.tpr-resource-download-form__fields:focus-within {
	border-color: #D2FC51 !important;
}
.tpr-resource-download-form-injected .tpr-resource-download-form__email,
.tpr-resource-download-form__email {
	flex: 1;
	min-width: 0;
	padding: 0 1rem !important;
	background: #fff !important;
	color: #2B3D2B !important;
	border: none !important;
	border-radius: 14px 0 0 14px;
	font-size: 11px !important;
	font-weight: 700 !important;
	font-family: inherit;
	box-shadow: none !important;
}
.tpr-resource-download-form-injected .tpr-resource-download-form__email::placeholder,
.tpr-resource-download-form__email::placeholder {
	color: #2B3D2B;
	opacity: 0.7;
}
.tpr-resource-download-form-injected .tpr-resource-download-form__email:-webkit-autofill,
.tpr-resource-download-form__email:-webkit-autofill,
.tpr-resource-download-form-injected .tpr-resource-download-form__email:-webkit-autofill:hover,
.tpr-resource-download-form__email:-webkit-autofill:hover,
.tpr-resource-download-form__email:-webkit-autofill:focus,
.tpr-resource-download-form__email:-webkit-autofill:active {
	-webkit-box-shadow: 0 0 0 30px #fff inset !important;
	box-shadow: 0 0 0 30px #fff inset !important;
}
.tpr-resource-download-form-injected .tpr-resource-download-form__email:focus,
.tpr-resource-download-form__email:focus {
	outline: none !important;
}
.tpr-resource-download-form-injected .tpr-resource-download-form__submit,
.tpr-resource-download-form__submit {
	flex: 0 0 auto;
	min-width: 80px;
	padding: 0 1rem !important;
	background: #D2FC51 !important;
	color: #000 !important;
	border: none !important;
	border-radius: 14px;
	font-size: 11px !important;
	font-weight: 700 !important;
	font-family: inherit;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, opacity 0.2s ease;
	box-shadow: none !important;
}
.tpr-resource-download-form-injected .tpr-resource-download-form__submit:hover:not(:disabled),
.tpr-resource-download-form__submit:hover:not(:disabled) {
	background: #0F2902 !important;
	color: #fff !important;
}
.tpr-resource-download-form-injected .tpr-resource-download-form__submit:disabled,
.tpr-resource-download-form__submit:disabled {
	opacity: 0.5;
}

/* Resource download: loading state before confirmation */
.tpr-resource-download-form__sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.tpr-resource-download-form__loading {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 0.5rem;
	min-height: 1.5rem;
}
/* Author `display: flex` above wins over the native [hidden] rule; force hide until JS shows it. */
.tpr-resource-download-form__loading[hidden] {
	display: none !important;
}
.tpr-resource-download-form__spinner {
	display: inline-block;
	flex-shrink: 0;
	width: 1.25rem;
	height: 1.25rem;
	border: 2px solid rgba(43, 61, 43, 0.2);
	border-top-color: #d2fc51;
	border-radius: 50%;
	animation: tpr-resource-download-spin 0.65s linear infinite;
	vertical-align: middle;
	box-sizing: border-box;
}
@keyframes tpr-resource-download-spin {
	to {
		transform: rotate(360deg);
	}
}
.tpr-resource-download-form--loading .tpr-resource-download-form__fields {
	opacity: 0.72;
	pointer-events: none;
}

/* ==========================================================================
   Mega menu: critical overrides (load last, structural + class selectors)
   ========================================================================== */
/* 1. Reduce gap between script headings and content below */
header .wp-block-navigation.tpr-mega-menu .has-child > .wp-block-navigation__submenu-container,
body .wp-block-navigation.tpr-mega-menu .has-child > .wp-block-navigation__submenu-container,
header .wp-block-navigation.tpr-mega-menu .tpr-mega-menu-3col .has-child > .wp-block-navigation__submenu-container,
header .wp-block-navigation.tpr-mega-menu .tpr-mega-menu-2col .has-child > .wp-block-navigation__submenu-container,
header .wp-block-navigation.tpr-mega-menu .tpr-menu-italic-heading > .wp-block-navigation__submenu-container,
header .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container .has-child > .wp-block-navigation__submenu-container,
body .wp-block-navigation.tpr-mega-menu .tpr-mega-menu-3col .has-child > .wp-block-navigation__submenu-container,
body .wp-block-navigation.tpr-mega-menu .tpr-mega-menu-2col .has-child > .wp-block-navigation__submenu-container,
body .wp-block-navigation.tpr-mega-menu .tpr-menu-italic-heading > .wp-block-navigation__submenu-container,
body .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container .has-child > .wp-block-navigation__submenu-container {
	margin-top: 0.08em !important;
}
/* 2. Industries & resources columns: top-align; col2 padding in section 3 (not 50px left — that sat copy away from the divider) */
header .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(2),
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(2),
body .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(2),
body .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(2) {
	padding-left: 1rem !important;
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	justify-content: flex-start !important;
	align-content: flex-start !important;
	/* stretch + column: core .wp-block-navigation-submenu { display:flex } defaults to row; link flex-grow:1 shoves the nested list right */
	align-items: stretch !important;
	align-self: stretch !important;
	min-width: 0 !important;
}
header .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(3),
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(3),
body .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(3),
body .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(3) {
	justify-content: flex-start !important;
	align-content: flex-start !important;
	align-items: flex-start !important;
	align-self: stretch !important;
}
header .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(2) > .wp-block-navigation__submenu-container,
header .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(3) > .wp-block-navigation__submenu-container,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(2) > .wp-block-navigation__submenu-container,
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(3) > .wp-block-navigation__submenu-container,
body .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(2) > .wp-block-navigation__submenu-container,
body .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(3) > .wp-block-navigation__submenu-container,
body .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(2) > .wp-block-navigation__submenu-container,
body .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(3) > .wp-block-navigation__submenu-container {
	justify-content: flex-start !important;
	align-content: flex-start !important;
	padding-left: 0 !important;
}
/* Col 2/3 nested lists: zero link padding-left here; column gutters are on the li in section 3 */
header .wp-block-navigation.tpr-mega-menu .tpr-mega-menu-1col .wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .tpr-mega-menu-1col .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
body .wp-block-navigation.tpr-mega-menu .tpr-mega-menu-1col .wp-block-navigation-item__content,
body .wp-block-navigation.tpr-mega-menu .tpr-mega-menu-1col .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding-left: 0 !important;
}
header .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(2) .wp-block-navigation__submenu-container .wp-block-navigation-item .wp-block-navigation-item__content,
header .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(3) .wp-block-navigation__submenu-container .wp-block-navigation-item .wp-block-navigation-item__content,
header .wp-block-navigation.tpr-mega-menu .tpr-mega-menu-1col .wp-block-navigation__submenu-container .wp-block-navigation-item .wp-block-navigation-item__content,
body .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(2) .wp-block-navigation__submenu-container .wp-block-navigation-item .wp-block-navigation-item__content,
body .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(3) .wp-block-navigation__submenu-container .wp-block-navigation-item .wp-block-navigation-item__content,
body .wp-block-navigation.tpr-mega-menu .tpr-mega-menu-1col .wp-block-navigation__submenu-container .wp-block-navigation-item .wp-block-navigation-item__content {
	flex-grow: 0 !important;
}
/* 3. Mega panel dividers: col1 border-right (areas | industries), col3 border-left (industries | resources).
 * Using col3 border-left fixes missing line when col2 border-right is clipped or overridden. */
/* Col 1: border-right draws the areas|industries divider; modest right gutter before industries */
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(1),
header .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(1),
body .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(1),
body .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(1) {
	border-right: 1px solid rgba(255, 255, 255, 0.4) !important;
	padding-right: 0.5rem !important;
	align-self: stretch !important;
}
/* Col 2: inset from areas|industries divider; modest gutter before col3 */
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(2),
header .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(2),
body .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(2),
body .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(2) {
	padding-left: 1.5rem !important;
	padding-right: 1rem !important;
	border-right: none !important;
	border-left: none !important;
}
/* Col 3: border-left draws the industries|resources divider; generous left inset (unchanged from original) */
header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(3),
header .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(3),
body .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(3),
body .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(3) {
	padding-left: 50px !important;
	border-left: 1px solid rgba(255, 255, 255, 0.4) !important;
	border-right: none !important;
	align-self: stretch !important;
}

/* Industries: override body header > li (padding + align-items — generic li uses flex-start and loses to body+header specificity). */
body header .wp-block-navigation.tpr-mega-menu .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(2),
body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(2) {
	padding-top: calc(1.1rem + 0.5rem) !important;
	padding-bottom: 1.5rem !important;
	padding-left: 1.5rem !important;
	padding-right: 1rem !important;
	align-items: stretch !important;
}

/* Smaller laptop (narrow desktop mega): halve horizontal gutters so columns breathe */
@media (min-width: 1089px) and (max-width: 1366px) {
	body header .wp-block-navigation.tpr-mega-menu .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}
	header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container,
	.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
	}
	header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li,
	body header .wp-block-navigation.tpr-mega-menu .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li,
	.tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li {
		padding-top: calc(1.1rem + 0.5rem) !important;
		padding-bottom: 1.5rem !important;
		padding-left: 0.5rem !important;
		padding-right: 0.5rem !important;
	}
	header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(1),
	header .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(1),
	body .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(1),
	body .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(1) {
		padding-right: 0.5rem !important;
	}
	header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(2),
	header .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(2),
	body .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(2),
	body .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(2),
	header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li.tpr-mega-menu-1col:nth-child(2),
	header .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li.tpr-mega-menu-1col:nth-child(2),
	body .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li.tpr-mega-menu-1col:nth-child(2),
	body .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li.tpr-mega-menu-1col:nth-child(2) {
		padding-left: 0.75rem !important;
		padding-right: 0.5rem !important;
	}
	header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(3),
	header .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(3),
	body .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:nth-child(3),
	body .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li:nth-child(3),
	header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li.tpr-mega-menu-1col:nth-child(3),
	header .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li.tpr-mega-menu-1col:nth-child(3),
	body .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li.tpr-mega-menu-1col:nth-child(3),
	body .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li.tpr-mega-menu-1col:nth-child(3) {
		padding-left: 25px !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .tpr-mega-menu-3col > .wp-block-navigation__submenu-container {
		gap: 0 0.625em !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li {
		min-width: 0 !important;
	}
}

/* Thank-you / confirmation: copy + social icons on one row.
   - Grid/flex applies ONLY under .tpr-thankyou-socials or .tpr-footer-socials-row — never to arbitrary .uagb-container-inner-blocks-wrap
     (that would 2-column the whole page when p + icons are siblings among many blocks).
   - Opt-in: add Additional CSS class tpr-footer-socials-row to a Spectra inner wrap (or Group) that contains ONLY the intro paragraph + shortcode (+ optional follow-up paragraph).
   - Global styles may strip .wp-block-paragraph from <p>; match plain p as well. */
.entry-content .wp-block-uagb-container.tpr-thankyou-socials.uagb-layout-grid {
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	justify-items: unset !important;
	grid-template-columns: none !important;
	grid-template-rows: none !important;
}

/* Grid only under .tpr-thankyou-socials — narrow UAGB ancestor required */
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline),
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .wp-block-shortcode),
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline),
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .wp-block-shortcode) {
	display: grid !important;
	grid-template-columns: auto auto !important;
	grid-auto-flow: row !important;
	justify-content: start !important;
	align-items: center !important;
	column-gap: 0.35em !important;
	row-gap: 0.35em !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* Opt-in flex row: add Additional CSS class tpr-footer-socials-row to the Spectra inner wrap (or inner block) that contains ONLY the intro paragraph + [tpr-footer-socials] (+ optional follow-up paragraph). Do not put this on a wrap that holds the whole page. */
html body .entry-content .uagb-container-inner-blocks-wrap.tpr-footer-socials-row,
html body .entry-content .uagb-container-inner-block.tpr-footer-socials-row {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	column-gap: 0.35em !important;
	row-gap: 0.35em !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

html body .entry-content .uagb-container-inner-blocks-wrap.tpr-footer-socials-row > p,
html body .entry-content .uagb-container-inner-block.tpr-footer-socials-row > p,
html body .entry-content .uagb-container-inner-blocks-wrap.tpr-footer-socials-row > .wp-block-paragraph,
html body .entry-content .uagb-container-inner-block.tpr-footer-socials-row > .wp-block-paragraph {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

html body .entry-content .uagb-container-inner-blocks-wrap.tpr-footer-socials-row > .tpr-footer-socials-inline ~ p,
html body .entry-content .uagb-container-inner-blocks-wrap.tpr-footer-socials-row > .tpr-footer-socials-inline ~ .wp-block-paragraph,
html body .entry-content .uagb-container-inner-block.tpr-footer-socials-row > .tpr-footer-socials-inline ~ p,
html body .entry-content .uagb-container-inner-block.tpr-footer-socials-row > .tpr-footer-socials-inline ~ .wp-block-paragraph {
	flex-basis: 100% !important;
	width: 100% !important;
}

html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > *:has(+ .wp-block-social-links),
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > *:has(+ .wp-block-uagb-social-share),
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > *:has(+ .wp-block-social-links),
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > *:has(+ .wp-block-uagb-social-share) {
	grid-column: 1 !important;
	grid-row: 1 !important;
	justify-self: start !important;
	width: fit-content !important;
	max-width: 100% !important;
	min-width: 0 !important;
	margin-inline-end: 0 !important;
}

html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > .wp-block-social-links,
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > .wp-block-uagb-social-share,
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > .wp-block-social-links,
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > .wp-block-uagb-social-share {
	grid-column: 2 !important;
	grid-row: 1 !important;
	justify-self: start !important;
	margin-block: 0 !important;
	margin-inline-start: 0 !important;
}

/* Row 1 col 1: core paragraph OR plain <p> (no .wp-block-paragraph after global styles) */
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > .wp-block-paragraph:has(+ .tpr-footer-socials-inline),
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > p:has(+ .tpr-footer-socials-inline),
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > .wp-block-paragraph:has(+ .tpr-footer-socials-inline),
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > p:has(+ .tpr-footer-socials-inline),
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > .wp-block-paragraph:has(+ .wp-block-shortcode),
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > p:has(+ .wp-block-shortcode),
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > .wp-block-paragraph:has(+ .wp-block-shortcode),
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > p:has(+ .wp-block-shortcode),
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> p:first-child + .tpr-footer-socials-inline) > p:first-child,
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .wp-block-paragraph:first-child + .tpr-footer-socials-inline) > .wp-block-paragraph:first-child,
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .wp-block-paragraph:first-child + .wp-block-shortcode) > .wp-block-paragraph:first-child,
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> p:first-child + .tpr-footer-socials-inline) > p:first-child,
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .wp-block-paragraph:first-child + .tpr-footer-socials-inline) > .wp-block-paragraph:first-child,
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .wp-block-paragraph:first-child + .wp-block-shortcode) > .wp-block-paragraph:first-child {
	grid-column: 1 !important;
	grid-row: 1 !important;
	justify-self: start !important;
	align-self: center !important;
	width: fit-content !important;
	max-width: 100% !important;
	min-width: 0 !important;
}

/* Row 1 col 2 */
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > .tpr-footer-socials-inline,
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > .tpr-footer-socials-inline,
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > .wp-block-shortcode,
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > .wp-block-shortcode,
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > *:has(.tpr-footer-socials-inline):not(.tpr-footer-socials-inline),
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > *:has(.tpr-footer-socials-inline):not(.tpr-footer-socials-inline) {
	grid-column: 2 !important;
	grid-row: 1 !important;
	justify-self: start !important;
	align-self: center !important;
	width: auto !important;
	max-width: 100% !important;
	margin-inline-start: 0 !important;
	margin-inline-end: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Block / theme layout can set margin-inline-start: auto on later flex items — cancel here */
.entry-content .tpr-thankyou-socials .uagb-container-inner-blocks-wrap > *:not(:first-child),
.entry-content .tpr-thankyou-socials .uagb-container-inner-block > *:not(:first-child) {
	margin-inline-start: 0 !important;
	margin-left: 0 !important;
}

.tpr-thankyou-socials .uagb-container-inner-blocks-wrap > .wp-block-paragraph,
.tpr-thankyou-socials .uagb-container-inner-block > .wp-block-paragraph {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > .wp-block-social-links ~ .wp-block-paragraph,
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > .wp-block-uagb-social-share ~ .wp-block-paragraph,
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > .wp-block-social-links ~ .wp-block-paragraph,
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > .wp-block-uagb-social-share ~ .wp-block-paragraph,
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > .wp-block-shortcode ~ .wp-block-paragraph,
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > .wp-block-shortcode ~ p,
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > .tpr-footer-socials-inline ~ .wp-block-paragraph,
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > .tpr-footer-socials-inline ~ p,
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > .wp-block-shortcode ~ .wp-block-paragraph,
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > .wp-block-shortcode ~ p,
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > .tpr-footer-socials-inline ~ .wp-block-paragraph,
html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > .tpr-footer-socials-inline ~ p,
.tpr-thankyou-socials .uagb-container-inner-blocks-wrap > .wp-block-social-links ~ .wp-block-paragraph,
.tpr-thankyou-socials .uagb-container-inner-blocks-wrap > .wp-block-uagb-social-share ~ .wp-block-paragraph,
.tpr-thankyou-socials .uagb-container-inner-block > .wp-block-social-links ~ .wp-block-paragraph,
.tpr-thankyou-socials .uagb-container-inner-block > .wp-block-uagb-social-share ~ .wp-block-paragraph,
.tpr-thankyou-socials .uagb-container-inner-blocks-wrap > .wp-block-shortcode ~ .wp-block-paragraph,
.tpr-thankyou-socials .uagb-container-inner-block > .wp-block-shortcode ~ .wp-block-paragraph,
.tpr-thankyou-socials .uagb-container-inner-blocks-wrap > .tpr-footer-socials-inline ~ .wp-block-paragraph,
.tpr-thankyou-socials .uagb-container-inner-block > .tpr-footer-socials-inline ~ .wp-block-paragraph,
.tpr-thankyou-socials .uagb-container-inner-blocks-wrap > .tpr-footer-socials-inline ~ p,
.tpr-thankyou-socials .uagb-container-inner-block > .tpr-footer-socials-inline ~ p {
	grid-column: 1 / -1 !important;
	grid-row: auto !important;
	width: 100% !important;
	max-width: 100% !important;
	justify-self: stretch !important;
}

@media (max-width: 767px) {
	html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline),
	html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) {
		grid-template-columns: 1fr !important;
		row-gap: 0.5em !important;
	}

	html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > .wp-block-paragraph:has(+ .tpr-footer-socials-inline),
	html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > p:has(+ .tpr-footer-socials-inline),
	html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > .wp-block-paragraph:has(+ .tpr-footer-socials-inline),
	html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > p:has(+ .tpr-footer-socials-inline),
	html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > .wp-block-paragraph:has(+ .wp-block-shortcode),
	html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > p:has(+ .wp-block-shortcode),
	html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > .wp-block-paragraph:has(+ .wp-block-shortcode),
	html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > p:has(+ .wp-block-shortcode),
	html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > .tpr-footer-socials-inline,
	html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > .tpr-footer-socials-inline,
	html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > .wp-block-shortcode,
	html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > .wp-block-shortcode,
	html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > .wp-block-social-links,
	html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > .wp-block-uagb-social-share,
	html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-blocks-wrap:has(> .tpr-footer-socials-inline) > *:has(.tpr-footer-socials-inline):not(.tpr-footer-socials-inline),
	html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .uagb-container-inner-block:has(> .tpr-footer-socials-inline) > *:has(.tpr-footer-socials-inline):not(.tpr-footer-socials-inline) {
		grid-column: 1 !important;
		grid-row: auto !important;
		width: 100% !important;
		max-width: 100% !important;
		justify-self: start !important;
	}

	.tpr-footer-socials-inline {
		flex-wrap: wrap;
	}

	html body .entry-content .uagb-container-inner-blocks-wrap.tpr-footer-socials-row,
	html body .entry-content .uagb-container-inner-block.tpr-footer-socials-row {
		flex-direction: column !important;
		align-items: flex-start !important;
	}
}

/* [tpr-footer-socials] – icons cloned from footer template; flex row, left-aligned */
.tpr-footer-socials-inline {
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.35em 0.65em;
	justify-content: flex-start;
	width: auto;
	max-width: 100%;
	box-sizing: border-box;
	vertical-align: middle;
}

.tpr-thankyou-socials .tpr-footer-socials-inline {
	width: auto !important;
	flex: 0 0 auto !important;
}

.tpr-footer-socials-inline__text {
	margin: 0;
	flex: 0 1 auto;
	min-width: 0;
	max-width: 100%;
}

.tpr-footer-socials-inline__icons {
	flex: 0 0 auto;
}

/* Space between preceding copy and the icon row (block / div shortcode output) */
html body .entry-content [data-tpr-footer-socials] .tpr-footer-socials-inline__icons {
	padding-left: 20px;
}

.tpr-footer-socials-inline__icons .wp-block-social-links,
.tpr-thankyou-socials .tpr-footer-socials-inline .wp-block-social-links {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	justify-content: flex-start !important;
}

/* Footer clone often has aligncenter / content-justification-center on ul — force left in post content */
html body .entry-content [data-tpr-footer-socials] .wp-block-social-links,
html body .entry-content [data-tpr-footer-socials] span.wp-block-social-links {
	display: inline-flex !important;
	flex-direction: row !important;
	flex-wrap: wrap !important;
	justify-content: flex-start !important;
	align-items: center !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	text-align: left !important;
	width: auto !important;
	max-width: 100% !important;
}

html body .entry-content [data-tpr-footer-socials] .wp-block-social-links.aligncenter,
html body .entry-content [data-tpr-footer-socials] .wp-block-social-links.alignright,
html body .entry-content [data-tpr-footer-socials] .wp-block-social-links.is-content-justification-center,
html body .entry-content [data-tpr-footer-socials] .wp-block-social-links.is-content-justification-right {
	justify-content: flex-start !important;
}

/* [tpr-footer-socials inline="1"] — valid inside a Paragraph; flows with text, left-aligned */
.tpr-footer-socials-inline--inflow {
	display: inline !important;
	line-height: inherit;
	vertical-align: baseline;
	max-width: 100%;
}

.tpr-footer-socials-inline--inflow .tpr-footer-socials-inline__text {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	vertical-align: baseline;
}

.tpr-footer-socials-inline--inflow .tpr-footer-socials-inline__icons--inflow {
	display: inline !important;
	vertical-align: middle;
	margin: 0 !important;
	padding: 0 0 0 20px !important;
	line-height: 0;
}

.tpr-footer-socials-inline--inflow .tpr-footer-socials-inline__icons--inflow > span.wp-block-social-links {
	vertical-align: middle;
	line-height: 0;
}

/* span list items (converted from li) — match flex row behaviour */
.tpr-footer-socials-inline--inflow span.wp-block-social-links > span[role='listitem'],
.tpr-footer-socials-inline--inflow span.wp-block-social-links > .wp-social-link {
	display: inline-flex !important;
	vertical-align: middle;
	margin: 0 0.15em 0 0 !important;
}

.tpr-footer-socials-inline--inflow span.wp-block-social-links > span[role='listitem']:last-child,
.tpr-footer-socials-inline--inflow span.wp-block-social-links > .wp-social-link:last-child {
	margin-right: 0 !important;
}

/* Spectra Image Gallery masonry (Isotope): no transform transition when items snap to positions */
.spectra-image-gallery__layout--masonry .spectra-image-gallery__media-wrapper--isotope,
.spectra-image-gallery__layout--isogrid .spectra-image-gallery__media-wrapper--isotope {
	transition: none !important;
}

/* Single-project layout: image column — images use full column width (override intrinsic / fit-content sizing) */
.tpr-project-image-column img {
	width: 100%;
	max-width: 100%;
	height: auto;
	display: block;
	box-sizing: border-box;
}

.tpr-project-image-column figure.wp-block-image,
.tpr-project-image-column .wp-block-image {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.tpr-project-image-column .wp-block-image > a {
	display: block;
	width: 100%;
}

/* Stacked galleries / multi-image columns: each item spans the column */
.tpr-project-image-column .wp-block-gallery,
.tpr-project-image-column .wp-block-gallery .wp-block-image {
	width: 100% !important;
	max-width: 100% !important;
}

/* Icon containers – fixed 100×100 circle with scaled icon */
.tpr-icon-container {
	width: 100px !important;
	height: 100px !important;
	min-width: 100px;
	min-height: 100px;
	border-radius: 50%;
	display: flex !important;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	flex-shrink: 0;
	margin-left: auto;
	margin-right: auto;
	padding: 0 !important;
}

/* Inner wrappers: fill the circle and center their contents */
.tpr-icon-container > *,
.tpr-icon-container .uagb-container-inner-blocks-wrap {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	height: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* Icon image/figure: remove block-level spacing */
.tpr-icon-container .wp-block-uagb-image,
.tpr-icon-container .wp-block-image,
.tpr-icon-container figure {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.tpr-icon-container img,
.tpr-icon-container svg {
	max-width: 60%;
	max-height: 60%;
	width: auto !important;
	height: auto !important;
	object-fit: contain;
	margin: 0 !important;
}

/* Icon list rows – left-aligned, tighter gap (front-end only) */
body:not(.block-editor-page):not(.wp-admin) .tpr-icon-list,
body:not(.block-editor-page):not(.wp-admin) .tpr-icon-list > .uagb-container-inner-blocks-wrap {
	display: grid !important;
	grid-template-columns: 100px 1fr !important;
	align-items: center !important;
	gap: 16px !important;
}

body:not(.block-editor-page):not(.wp-admin) .tpr-icon-list + .tpr-icon-list,
body:not(.block-editor-page):not(.wp-admin) * + .tpr-icon-list {
	margin-top: 8px !important;
}

/* Icon list rows – editor: keep default layout, just align horizontally */
.block-editor-page .tpr-icon-list,
.editor-styles-wrapper .tpr-icon-list {
	align-items: center !important;
}

.block-editor-page .tpr-icon-list .tpr-icon-container,
.editor-styles-wrapper .tpr-icon-list .tpr-icon-container {
	flex-shrink: 0;
}

/* Staff loop: remove underline from name and email links */
.uagb-loop-post .wp-block-uagb-advanced-heading a {
	text-decoration: none !important;
}

/* Staff loop: remove gaps between grid items so images sit flush */
.uagb-block-2131a275 .uagb-loop-container,
.uagb-block-2131a275 [id*="uagb-block-queryid"] {
	gap: 0 !important;
	grid-gap: 0 !important;
	column-gap: 0 !important;
	row-gap: 0 !important;
}

.uagb-block-2131a275 .uagb-loop-post {
	margin: 0 !important;
	padding: 0 !important;
	border: none !important;
	outline: none !important;
}

/* ==========================================================================
   Default table styling (wp-block-table) – matches comparison table look
   without images, VS badge, or multi-column-group layout.
   Does NOT apply to .tpr-comparison-table which has its own styles.
   ========================================================================== */
.wp-block-table:not(.tpr-comparison-table) table {
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
	border-top-left-radius: 30px;
	border-top-right-radius: 30px;
	overflow: hidden;
}

.wp-block-table:not(.tpr-comparison-table) th,
.wp-block-table:not(.tpr-comparison-table) td {
	box-sizing: border-box;
	padding: 20px 30px;
	border: none !important;
}

/* Header: dark green background, white text */
.wp-block-table:not(.tpr-comparison-table) thead th {
	background-color: #0F2902 !important;
	color: #fff !important;
	font-size: 20px;
	font-weight: 700;
	vertical-align: middle;
}

/* Rounded top corners on first/last header cells */
.wp-block-table:not(.tpr-comparison-table) thead th:first-child {
	border-top-left-radius: 30px;
}
.wp-block-table:not(.tpr-comparison-table) thead th:last-child {
	border-top-right-radius: 30px;
}

/* Alternating row stripes */
.wp-block-table:not(.tpr-comparison-table) tbody tr:nth-child(odd) td {
	background-color: #EFF4F0;
}
.wp-block-table:not(.tpr-comparison-table) tbody tr:nth-child(even) td {
	background-color: #fff;
}

.wp-block-table:not(.tpr-comparison-table) tbody td {
	height: 60px;
	vertical-align: middle;
	color: #0f2902;
}

/* Footer: lime green background */
.wp-block-table:not(.tpr-comparison-table) tfoot td {
	background-color: #D2FC51 !important;
	font-weight: 700;
	vertical-align: middle;
}

/*
 * Optional horizontal rule (dark green) under one body row. Add Additional CSS class
 * `tpr-table-divider-row-N` on the Table block. N counts from 1 = first <thead> row,
 * then each <tbody> row. Assumes one <thead> row (if you add more, reduce nth-child by
 * one per extra header row). Example: row 8 → tbody tr:nth-child(7).
 *
 * On this row only, drop left/right borders so vertical grey column rules do not paint
 * over the green line at T-junctions (green reads as one continuous bar).
 */
.wp-block-table.tpr-table-divider-row-8 table tbody tr:nth-child(7) > :is(td, th) {
	border-left: none !important;
	border-right: none !important;
	border-bottom: 2px solid #0f2902 !important;
}

/* Mobile */
@media (max-width: 767px) {
	.wp-block-table:not(.tpr-comparison-table) th,
	.wp-block-table:not(.tpr-comparison-table) td {
		padding: 12px 16px;
		font-size: 14px;
	}
	.wp-block-table:not(.tpr-comparison-table) thead th {
		font-size: 16px;
	}
}

/* Gravity Forms (except CTA bar form 3) – bold titles & submit buttons */
.gform_wrapper:not(#gform_wrapper_3) .gform_title {
	font-weight: 700 !important;
}

.gform_wrapper:not(#gform_wrapper_3) input[type="submit"],
.gform_wrapper:not(#gform_wrapper_3) button[type="submit"],
.gform_wrapper:not(#gform_wrapper_3) .gform_button {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 700 !important;
}

/* ==========================================================================
   UAGB grid column-count mismatch fix
   About page: grid configured for 3 columns but only has 2 children,
   leaving a phantom empty column that makes text columns too narrow.
   ========================================================================== */
.uagb-block-3e18f745.uagb-layout-grid > .uagb-container-inner-blocks-wrap {
	grid-template-columns: repeat(2, minmax(1px, 1fr)) !important;
}

/* ==========================================================================
   Content grid carousel (.tpr-content-grid-carousel)
   Converts UAGB grid into a single-row horizontal carousel.
   JS adds the wrapper, arrows, and --has-arrows modifier.
   ========================================================================== */

/*
 * The "track" is the flex row that scrolls.
 * Shape A: section > inner-blocks-wrap (track) > children
 * Shape B: section (track) > children  (no inner-blocks-wrap)
 * JS moves the track into .tpr-content-grid-carousel__viewport.
 */

/* Track styles — apply to both shapes */
.tpr-content-grid-carousel.uagb-layout-grid,
.tpr-content-grid-carousel > .uagb-container-inner-blocks-wrap {
	display: flex !important;
	flex-wrap: nowrap !important;
	overflow: hidden !important;
	grid-template-columns: none !important;
}

/* Children: 4-col sizing matching Spectra's original grid */
.tpr-content-grid-carousel.uagb-layout-grid > .wp-block-uagb-container,
.tpr-content-grid-carousel > .uagb-container-inner-blocks-wrap > .wp-block-uagb-container {
	flex: 0 0 calc((100% - 3 * 20px) / 4);
	min-width: calc((100% - 3 * 20px) / 4);
}

/* Carousel viewport: wraps the track, handles scroll */
.tpr-content-grid-carousel__viewport {
	flex: 1 1 auto;
	min-width: 0;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	scroll-snap-type: x mandatory;
}

.tpr-content-grid-carousel__viewport::-webkit-scrollbar {
	display: none;
}

/* Once inside the viewport, keep track flex-row and allow overflow so scroll works */
.tpr-content-grid-carousel__viewport > .uagb-container-inner-blocks-wrap,
.tpr-content-grid-carousel__viewport > .tpr-content-grid-carousel {
	display: flex !important;
	flex-wrap: nowrap !important;
	overflow: visible !important;
	grid-template-columns: none !important;
	column-gap: 20px;
}

/* Children sizing when track is inside viewport */
.tpr-content-grid-carousel__viewport > .uagb-container-inner-blocks-wrap > .wp-block-uagb-container {
	flex: 0 0 calc((100% - 3 * 20px) / 4);
	min-width: calc((100% - 3 * 20px) / 4);
	scroll-snap-align: start;
}

/* Row: flex row with arrows OUTSIDE the viewport so text in cards is never covered. */
.tpr-content-grid-carousel__row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	max-width: 90%;
	margin-left: auto;
	margin-right: auto;
}

/* Arrow buttons — flex items beside the viewport (not absolute overlays). */
.tpr-content-grid-carousel__nav {
	flex: 0 0 auto;
	z-index: 2;
	width: 3rem;
	height: 3rem;
	border-radius: 50%;
	border: none;
	background-color: #0f2902;
	color: #fff;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.2s ease, background-color 0.2s ease, color 0.2s ease;
}

.tpr-content-grid-carousel__nav:hover:not(.is-disabled) {
	transform: scale(1.05);
	background-color: #d2fc51;
	color: #0f2902;
}

.tpr-content-grid-carousel__nav:hover:not(.is-disabled) > i {
	color: #0f2902;
}

.tpr-content-grid-carousel__nav.is-disabled {
	background-color: rgba(15, 41, 2, 0.1) !important;
	cursor: not-allowed;
}

.tpr-content-grid-carousel__nav > i {
	font-size: 1rem;
	line-height: 1;
}

/* Hide arrows when no scrolling is needed (JS adds this class) */
.tpr-content-grid-carousel--no-arrows .tpr-content-grid-carousel__nav {
	display: none;
}

/* Text overflow fix: constrain paragraphs inside grid cards */
.tpr-content-grid-carousel .wp-block-uagb-container p {
	overflow: hidden;
	overflow-wrap: break-word;
	word-break: normal;
}

/* Tablet: 2 cards visible at a time — 4 cards in <1088px is too narrow for legibility. */
@media (max-width: 1087px) {
	.tpr-content-grid-carousel.uagb-layout-grid > .wp-block-uagb-container,
	.tpr-content-grid-carousel > .uagb-container-inner-blocks-wrap > .wp-block-uagb-container,
	.tpr-content-grid-carousel__viewport > .uagb-container-inner-blocks-wrap > .wp-block-uagb-container {
		flex: 0 0 calc((100% - 20px) / 2) !important;
		min-width: calc((100% - 20px) / 2) !important;
	}
}

/* Mobile: 1 card visible at a time — readable content, scroll with arrows. */
@media (max-width: 767px) {
	.tpr-content-grid-carousel.uagb-layout-grid > .wp-block-uagb-container,
	.tpr-content-grid-carousel > .uagb-container-inner-blocks-wrap > .wp-block-uagb-container,
	.tpr-content-grid-carousel__viewport > .uagb-container-inner-blocks-wrap > .wp-block-uagb-container {
		flex: 0 0 100% !important;
		min-width: 100% !important;
	}

	.tpr-content-grid-carousel__row {
		gap: 0.5rem;
		max-width: 100%;
	}

	.tpr-content-grid-carousel__nav {
		width: 2.5rem;
		height: 2.5rem;
	}
}

/* Projects page – video: intrinsic aspect (see tpr_projects_video_use_intrinsic_ratio); rounded frame */
figure.tpr-projects-video,
.wp-block-video.tpr-projects-video {
	width: 100%;
	max-width: 100%;
	border-radius: 30px;
	overflow: hidden;
}

.tpr-projects-video video {
	width: 100%;
	height: auto;
	display: block;
	vertical-align: middle;
	aspect-ratio: unset !important;
}

/* Mega 3-col: nested Industries/Resources <ul> repeats .tpr-mega-menu-1col — was hit by .tpr-mega-menu .tpr-mega-menu-1col flex rules while core kept row flex. */
html body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container.tpr-mega-menu-3col > li.tpr-mega-menu-1col > ul.wp-block-navigation__submenu-container.tpr-mega-menu-1col {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	align-content: flex-start !important;
	justify-content: flex-start !important;
	width: 100% !important;
	min-width: 0 !important;
	gap: 0 !important;
}


/* ═══════════════════════════════════════════════════════════════════
 * Mobile overlay ≤ 1087px
 * Accordion markup: tpr-mega-menu-mobile-accordion.js adds
 * .tpr-mega-mobile-accordion-active to the 3-col submenu <ul> and
 * .tpr-mega-nav-accordion-mode to the nav block.
 * ═══════════════════════════════════════════════════════════════════ */
 @media (max-width: 1087px) {
	/* Full-width overlay (beats Core max-width: 90% responsive-close wrapper) */
	header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
	header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		/* Reserve vertical room for the absolutely-positioned top actions row (search + phone + CTA) aligned with X. */
		padding-top: 3rem !important;
		padding-left: 5% !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
		gap: 0 !important;
		row-gap: 0 !important;
		position: relative !important;
	}
	header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .tpr-mobile-nav-actions {
		/* Mega-menu actions is absolutely positioned above; no margin-bottom needed (content padding-top reserves space). */
		margin-bottom: 0 !important;
		padding-bottom: 0 !important;
	}

	/*
	 * Collapsed: display:none removes the submenu UL from layout entirely so collapsed mega columns
	 * don't reserve grid track height and create gaps between top-level rows.
	 */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li.has-child > .wp-block-navigation__submenu-container {
		display: none !important;
		margin: 0 !important;
		padding: 0 !important;
		border: none !important;
		width: 100% !important;
		min-width: 0 !important;
		position: static !important;
		left: auto !important;
		right: auto !important;
		transform: none !important;
	}

	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li.has-child .wp-block-navigation-submenu__toggle[aria-expanded="true"] ~ .wp-block-navigation__submenu-container {
		display: flex !important;
		flex-direction: column !important;
		grid-column: 1 / -1 !important;
		grid-row: 2 !important;
		height: auto !important;
		max-height: none !important;
		min-height: 0 !important;
		opacity: 1 !important;
		visibility: visible !important;
		overflow: visible !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-top: 0.65em !important;
		padding-bottom: 0 !important;
		width: 100% !important;
		min-width: 0 !important;
		margin: 0 !important;
		flex: 1 0 100% !important;
	}

	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li.has-child .wp-block-navigation-submenu__toggle ~ .wp-block-navigation__submenu-container  > * {
		margin: 0 !important;
	}

	/* Top-level 2-col flyout uses position:fixed on desktop; stack in the overlay instead. */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li.tpr-mega-menu-2col.has-child > .wp-block-navigation__submenu-container {
		position: static !important;
		left: auto !important;
		top: auto !important;
		right: auto !important;
		transform: none !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	/* Core hides submenu icons in the overlay — show them so parents read as expandable rows. */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
		display: inline-flex !important;
		align-items: center !important;
	}

	/* Restore nested toggles/icons hidden by the global rule at the top of this file. */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-3col > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-3col > .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-2col > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-2col > .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	/* Even spacing between top-level overlay links */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		gap: 0 !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li.wp-block-navigation-item {
		margin: 0 !important;
		margin-inline: 0 !important;
		padding: 0.65rem 1rem 0.65rem 0 !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.2) !important;
		border-bottom-color: rgba(255, 255, 255, 0.2) !important;
		box-sizing: border-box !important;
		min-height: 2.75rem !important;
		width: 100% !important;
		display: flex !important;
		align-items: center !important;
	}
	/* Top-level parents: grid so label + chevron stay on one row regardless of label length. */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li.wp-block-navigation-item.has-child {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 2.5rem !important;
		grid-template-rows: auto auto !important;
		align-items: center !important;
		width: 100% !important;
		column-gap: 0.5rem !important;
		row-gap: 0 !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li.wp-block-navigation-item.tpr-mega-menu-2col {
		padding: 0.65rem 1rem 0.65rem 0 !important;
		min-height: 2.75rem !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li.wp-block-navigation-item:hover,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li.wp-block-navigation-item:focus-within {
		border-bottom-color: rgba(255, 255, 255, 0.2) !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li.wp-block-navigation-item:last-child {
		border-bottom: none !important;
	}

	/* .tpr-parent-menu-mega-3col has desktop tab padding; zero it out in the overlay. */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li.tpr-parent-menu-mega-3col {
		padding-left: 1rem !important;
		padding-right: 1rem !important;
		padding-top: 0.65rem !important;
		padding-bottom: 0.65rem !important;
	}

	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li.wp-block-navigation-item > a.wp-block-navigation-item__content .wp-block-navigation-item__label,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li.wp-block-navigation-item > button.wp-block-navigation-item__content .wp-block-navigation-item__label {
		line-height: 1.25 !important;
	}

	/*
	 * All nested li.has-child: label + fixed-width chevron column (prevents chevron wrapping on long labels).
	 */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li.has-child {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) 2.5rem !important;
		grid-template-rows: auto auto !important;
		align-items: center !important;
		width: 100% !important;
		column-gap: 0.5rem !important;
		row-gap: 0 !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li.has-child > .wp-block-navigation-submenu__toggle,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li.has-child > a.wp-block-navigation-item__content:first-of-type {
		min-width: 0 !important;
		align-self: center !important;
		justify-self: stretch !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li.has-child > .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label {
		min-width: 0 !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li.has-child > .wp-block-navigation__submenu-icon {
		width: 2.5rem !important;
		min-width: 2.5rem !important;
		max-width: 2.5rem !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		justify-self: end !important;
		align-self: center !important;
		height: auto !important;
		line-height: 0 !important;
		padding: 0 !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
	}

	/*
	 * Mega 3-col accordion column <li>: they still carry .has-child so the grid rule above overrides
	 * ul.tpr-mega-mobile-accordion-active > li { display:block }. Force block stacking for these only.
	 */
	html body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content ul.tpr-mega-mobile-accordion-active > li {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		grid-template-columns: none !important;
		grid-template-rows: none !important;
		column-gap: 0 !important;
		row-gap: 0 !important;
		align-items: stretch !important;
	}

	/* Core submenu chevrons: hide inline SVGs — CSS mask ::before handles the icon. */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon svg,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle svg {
		display: none !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li.open-on-click.has-child > .wp-block-navigation-submenu__toggle:not(.wp-block-navigation__submenu-icon) svg {
		display: none !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content span.wp-block-navigation__submenu-icon {
		position: relative !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content span.wp-block-navigation__submenu-icon::before {
		content: "" !important;
		background-color: currentColor !important;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E") no-repeat center / contain !important;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E") no-repeat center / contain !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 2.5rem !important;
		height: 100% !important;
		min-height: 1.25rem !important;
		transition: transform 0.2s ease;
		transform-origin: 50% 50%;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle[aria-expanded="true"] + span.wp-block-navigation__submenu-icon::before,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content button.wp-block-navigation-submenu__toggle.wp-block-navigation__submenu-icon[aria-expanded="true"]::before {
		transform: rotate(180deg);
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content button.wp-block-navigation-submenu__toggle.wp-block-navigation__submenu-icon::before {
		content: "" !important;
		background-color: currentColor !important;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E") no-repeat center / contain !important;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath fill='black' d='M233.4 406.6c12.5 12.5 32.8 12.5 45.3 0l192-192c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L256 338.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l192 192z'/%3E%3C/svg%3E") no-repeat center / contain !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		height: 100% !important;
		transition: transform 0.2s ease;
		transform-origin: 50% 50%;
	}

	/* Remove lime squiggle decoration on parent triggers while overlay is open */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child > .wp-block-navigation-submenu__toggle::before,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child > a.wp-block-navigation-item__content::before,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-parent-menu-mega-3col > .wp-block-navigation-submenu__toggle::before,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-parent-menu-mega-3col > a.wp-block-navigation-item__content::before {
		content: none !important;
		display: none !important;
		background: none !important;
		mask: none !important;
		-webkit-mask: none !important;
	}

	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container {
		align-items: stretch !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item,
	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu {
		align-items: stretch !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	/*
	 * Accordion-active 3-col submenu: flex column stacking, reset grid layout, and override the
	 * unscoped desktop overflow-y:hidden + max-height rules further down in custom.css.
	 */
	body header .wp-block-navigation.tpr-mega-menu .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container.tpr-mega-mobile-accordion-active,
	body header
		.wp-block-navigation.tpr-mega-menu
		.wp-block-navigation__container
		> .has-child:first-child
		> .wp-block-navigation__submenu-container.tpr-mega-mobile-accordion-active {
		display: flex !important;
		flex-direction: column !important;
		grid-template-columns: none !important;
		grid-auto-flow: row !important;
		gap: 0.5rem 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		position: relative !important;
		left: auto !important;
		right: auto !important;
		transform: none !important;
		overflow: visible !important;
		max-height: none !important;
	}

	body header .wp-block-navigation.tpr-mega-menu ul.tpr-mega-mobile-accordion-active > li {
		display: block !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		border-right: none !important;
		border-left: none !important;
		margin: 0 !important;
		padding: 0 !important;
		flex: none !important;
		align-self: stretch !important;
	}

	/* Nested mega grids: single column on mobile so lists don't overflow side by side. */
	body header .wp-block-navigation.tpr-mega-menu ul.tpr-mega-mobile-accordion-active .tpr-mega-menu-3col > .wp-block-navigation__submenu-container {
		display: block !important;
		grid-template-columns: none !important;
		grid-auto-flow: row !important;
		gap: 0.35rem 0 !important;
		max-width: 100% !important;
		width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body header .wp-block-navigation.tpr-mega-menu ul.tpr-mega-mobile-accordion-active .tpr-mega-menu-2col > .wp-block-navigation__submenu-container {
		display: block !important;
		grid-template-columns: none !important;
		grid-auto-flow: row !important;
		max-width: 100% !important;
		width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		position: static !important;
		left: auto !important;
		transform: none !important;
	}

	body header .wp-block-navigation.tpr-mega-menu ul.tpr-mega-mobile-accordion-active .tpr-mega-nav-accordion__panel .wp-block-navigation__submenu-container {
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body header .wp-block-navigation.tpr-mega-menu ul.tpr-mega-mobile-accordion-active .tpr-mega-nav-accordion__panel li.wp-block-navigation-submenu {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
	}

	body header .wp-block-navigation.tpr-mega-menu ul.tpr-mega-mobile-accordion-active .tpr-mega-nav-accordion__panel .wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu ul.tpr-mega-mobile-accordion-active .tpr-mega-nav-accordion__panel a.wp-block-navigation-item__content {
		width: 100% !important;
		max-width: 100% !important;
		text-align: left !important;
		justify-content: flex-start !important;
	}

	/* Accordion wrapper */
	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .tpr-mega-nav-accordion {
		position: relative;
		z-index: 1;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		box-sizing: border-box;
		border-bottom: 1px solid rgba(255, 255, 255, 0.22);
	}
	/* Last accordion column (Resources & support) needs no bottom border — the top-level row below
	   it already has a border-top equivalent (its own border-bottom). */
	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode ul.tpr-mega-mobile-accordion-active > li:last-child > .tpr-mega-nav-accordion {
		border-bottom: none !important;
	}

	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .tpr-mega-nav-accordion__trigger {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: center;
		min-height: 2.65rem;
		gap: 0.5rem;
		padding: 0.65rem 1rem;
		margin: 0;
		border: 0;
		background: transparent;
		color: #CFD4CC;
		font: inherit;
		font-family: "Poppins", sans-serif !important;
		font-size: 1rem;
		font-weight: 600;
		font-style: normal;
		text-align: left;
		cursor: pointer;
		box-sizing: border-box;
	}

	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .tpr-mega-nav-accordion__trigger:focus-visible {
		outline: 2px solid #d2fc51;
		outline-offset: 2px;
	}

	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .tpr-mega-nav-accordion__trigger-inner {
		flex: 1 1 auto;
		min-width: 0;
		text-align: left;
	}

	/* SVG chevron: match top-level item chevrons (2.5rem wide column, 1.5rem visible icon) */
	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .tpr-mega-nav-accordion__chevron {
		flex: 0 0 2.5rem;
		flex-shrink: 0;
		align-self: center;
		width: 2.5rem !important;
		min-width: 2.5rem !important;
		height: 1.5rem !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		transition: transform 0.2s ease;
		opacity: 0.95;
		transform-origin: 50% 50%;
	}

	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .tpr-mega-nav-accordion--open .tpr-mega-nav-accordion__chevron {
		transform: rotate(180deg);
	}

	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .tpr-mega-nav-accordion__panel {
		display: none !important;
		padding: 0 0 0.55rem 0;
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}

	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .tpr-mega-nav-accordion--open .tpr-mega-nav-accordion__panel {
		display: block !important;
	}

	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .tpr-mega-nav-accordion__panel .wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .tpr-mega-nav-accordion__panel a {
		word-break: break-word;
	}
	/* 3rd-level panel links (destination links inside each accordion section) are non-bold. */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel a.wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel .wp-block-navigation-item__label {
		font-weight: 400 !important;
	}

	/*
	 * Dark header: .tpr-header-dark forces nav links to #0F2902. The overlay background is the same dark
	 * green, so force white text/icons to stay legible inside the open overlay.
	 */
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content a,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content button.wp-block-navigation-item__content,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__label {
		color: #fff !important;
	}

	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle {
		color: #fff !important;
	}

	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon svg,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle svg {
		fill: currentColor !important;
		color: inherit !important;
	}

	/* Disable desktop hover bridge ::before/::after in overlay (they cover items below the hovered parent). */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child:hover::before,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child:focus-within::before,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child:hover::after,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child:focus-within::after {
		content: none !important;
		display: none !important;
	}

	/* Hover: lime text on dark overlay background */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content a:hover,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content a:hover .wp-block-navigation-item__label,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content button:hover,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content button:hover .wp-block-navigation-item__label,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle:hover,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle:hover .wp-block-navigation-item__label,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content a:hover,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content a:hover .wp-block-navigation-item__label,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content button:hover,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content button:hover .wp-block-navigation-item__label,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle:hover,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle:hover .wp-block-navigation-item__label {
		color: #D2FC51 !important;
	}

	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle:hover svg,
	body.tpr-header-dark header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li.has-child:hover > .wp-block-navigation__submenu-icon svg {
		fill: currentColor !important;
		color: #d2fc51 !important;
	}

	/* Italic heading links: hide original — accordion trigger shows the label instead.
	   Scoped to .tpr-mega-mobile-accordion-active (3-col mega) only; 2-col panels (Events & Short Term)
	   aren't accordion-processed so their italic-heading labels must remain visible. */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-mobile-accordion-active > .tpr-menu-italic-heading.has-child > a.wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-mobile-accordion-active > .tpr-menu-italic-heading.has-child > span.wp-block-navigation-item__content {
		display: none !important;
	}

	/* 2-col mega italic-heading labels in the mobile overlay: match 3-col accordion-trigger style (Poppins 1rem 600). */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-2col > li.tpr-menu-italic-heading > a.wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-2col > li.tpr-menu-italic-heading > a.wp-block-navigation-item__content .wp-block-navigation-item__label,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-2col > li.tpr-menu-italic-heading > span.wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-2col > li.tpr-menu-italic-heading > span.wp-block-navigation-item__content .wp-block-navigation-item__label,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-2col > li.tpr-menu-italic-heading > button.wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-2col > li.tpr-menu-italic-heading > button.wp-block-navigation-item__content .wp-block-navigation-item__label {
		font-family: "Poppins", sans-serif !important;
		font-size: 1rem !important;
		font-weight: 600 !important;
		font-style: normal !important;
		color: #CFD4CC !important;
		text-transform: none !important;
	}

	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-2col > li.tpr-menu-italic-heading.has-child {
		min-height: 2.65rem !important;
		padding: 0.65rem 0.25rem 0.65rem 1rem !important;
		border-bottom: 1px solid rgba(255, 255, 255, 0.22) !important;
		box-sizing: border-box !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-menu-2col > li.tpr-menu-italic-heading.has-child:last-child {
		border-bottom: none !important;
	}

	/* Sub-heading links inside accordion panels: keep visible */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel li.tpr-menu-sub-heading.has-child > a.wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel li.tpr-menu-sub-heading.has-child > span.wp-block-navigation-item__content {
		color: #fff !important;
		font-family: "Poppins", sans-serif !important;
		font-weight: 600 !important;
		font-size: 1em !important;
	}

	/* Italic/sub-heading toggle text: Poppins bold, not Hamilton Script */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-menu-italic-heading > .wp-block-navigation-submenu__toggle,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-menu-italic-heading > .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-menu-sub-heading > .wp-block-navigation-submenu__toggle,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-menu-sub-heading > .wp-block-navigation-submenu__toggle .wp-block-navigation-item__label {
		font-family: "Poppins", sans-serif !important;
		font-size: 1em !important;
		font-style: normal !important;
		font-weight: 700 !important;
	}

	/* Hide duplicate italic headings inside accordion panels */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel > li.tpr-menu-italic-heading > .wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel > li.tpr-menu-italic-heading > a,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel > li.tpr-menu-italic-heading > span,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel > li.tpr-menu-italic-heading > button.wp-block-navigation-item__content {
		display: none !important;
	}

	/* Hide non-child italic headings inside submenu containers (static label rows, not accordion triggers). */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container li.tpr-menu-italic-heading:not(.has-child) {
		display: none !important;
		height: 0 !important;
		min-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		border: none !important;
	}

	/* Reset mega column padding/margins from desktop rules to prevent large gaps in overlay. */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container > li {
		padding: 0 !important;
		margin: 0 !important;
		border-right: none !important;
		border-left: none !important;
	}

	/* Dropdown arrows: fixed-width column for consistent right edge alignment */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
		flex: 0 0 2.5rem !important;
		width: 2.5rem !important;
		min-width: 2.5rem !important;
		margin-left: auto !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-submenu__toggle {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		flex: 1 1 auto !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		padding: 0.2rem 0 !important;
		background: transparent !important;
		border: none !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content li.has-child > a.wp-block-navigation-item__content ~ .wp-block-navigation-submenu__toggle {
		display: inline-flex !important;
		flex: 0 0 2.5rem !important;
		width: 2.5rem !important;
		min-width: 2.5rem !important;
		max-width: 2.5rem !important;
		justify-content: center !important;
		align-items: center !important;
		margin-left: auto !important;
		padding: 0.2rem !important;
		box-sizing: border-box !important;
	}

	/*
	 * Accordion panel rows: override global li.has-child { display:grid } with flex so row layout
	 * stays flush and chevrons don't get pushed into a detached grid column.
	 */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel li.has-child {
		display: flex !important;
		flex-flow: row wrap !important;
		align-items: center !important;
		justify-content: space-between !important;
		width: 100% !important;
		max-width: 100% !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-top: 0.28rem !important;
		padding-bottom: 0.28rem !important;
		box-sizing: border-box !important;
	}

	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel li.has-child > .wp-block-navigation__submenu-container {
		flex: 1 0 100% !important;
		width: 100% !important;
		min-width: 0 !important;
		order: 3 !important;
	}

	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel li.open-on-click.has-child > .wp-block-navigation-submenu__toggle:not(.wp-block-navigation__submenu-icon) {
		display: flex !important;
		flex: 1 1 auto !important;
		order: 1 !important;
		min-width: 0 !important;
		margin-left: 0 !important;
		padding: 0.2rem 0 !important;
		justify-content: flex-start !important;
		text-align: left !important;
	}

	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel li.open-on-click.has-child > .wp-block-navigation__submenu-icon {
		order: 2 !important;
		flex: 0 0 2.5rem !important;
		margin-left: auto !important;
	}

	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel li.has-child > a.wp-block-navigation-item__content:first-of-type {
		order: 1 !important;
		flex: 1 1 auto !important;
		min-width: 0 !important;
		text-align: left !important;
	}

	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel li.has-child > a.wp-block-navigation-item__content ~ .wp-block-navigation-submenu__toggle {
		order: 2 !important;
		flex: 0 0 2.5rem !important;
		margin-left: auto !important;
	}

	/* Undo global grid child placement inside accordion panel rows. */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel li.has-child > .wp-block-navigation-submenu__toggle,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel li.has-child > a.wp-block-navigation-item__content:first-of-type {
		justify-self: auto !important;
		align-self: auto !important;
	}

	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-nav-accordion__panel li.has-child > .wp-block-navigation__submenu-icon {
		justify-self: auto !important;
		align-self: auto !important;
	}

	/* Sub-link spacing */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container > li {
		padding: 0.28rem 0 !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container > li a,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container > li .wp-block-navigation-item__content {
		text-align: left !important;
	}

	/* 3-col accordion: second-level lists left-aligned */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-mobile-accordion-active .tpr-mega-nav-accordion__panel,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-mobile-accordion-active .tpr-mega-nav-accordion__panel .wp-block-navigation__submenu-container {
		text-align: left !important;
		align-items: flex-start !important;
		justify-content: flex-start !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open ul.tpr-mega-mobile-accordion-active .tpr-mega-nav-accordion__panel .wp-block-navigation__submenu-container > li {
		align-items: stretch !important;
		width: 100% !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	html body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:first-child > .wp-block-navigation__submenu-container {
		justify-content: flex-start !important;
		align-items: flex-start !important;
	}
	html body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li:first-child > .wp-block-navigation__submenu-container li {
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		justify-content: flex-start !important;
		align-items: flex-start !important;
	}

	/*
	 * Mega column <li> wrappers: reset desktop padding/borders (from the min-width:1088px blocks above)
	 * so accordion rows match top-level inset in the mobile overlay.
	 */
	html body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-menu-3col > .wp-block-navigation__submenu-container > li,
	html body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-mega-menu-2col > .wp-block-navigation__submenu-container > li,
	html body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .tpr-parent-menu-mega-3col > .wp-block-navigation__submenu-container > li,
	html body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container > li {
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		margin-inline-start: 0 !important;
		margin-inline-end: 0 !important;
		border-left: none !important;
		border-right: none !important;
		min-width: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
	}


	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon, body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child:first-child > .wp-block-navigation__submenu-container .wp-block-navigation-submenu__toggle {
		display: none !important;
	}
}

/*
 * Mobile-nav sub-accordions (state rows under "Areas we service"): JS adds
 * .tpr-sub-accordion to each nested li.has-child in the accordion panel, and toggles
 * .tpr-sub-accordion--open when the row's chevron is tapped. Kept in its own @media
 * block outside the other mobile rules to minimize interaction with existing cascade.
 */
@media (max-width: 1087px) {
	/*
	 * Accordion trigger (Areas we service / Industries / Resources & support): asymmetric
	 * padding (0 top / 9px bottom) pulls each row up tight against the row above so the
	 * stack reads as a single grouped section instead of loose, over-spaced lines.
	 */
	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .tpr-mega-nav-accordion__trigger.tpr-mega-nav-accordion__trigger {
		padding-top: 0 !important;
		padding-bottom: 9px !important;
	}

	/*
	 * Top-level nav links get padding-bottom:0.35em on desktop to align with the squiggle
	 * underline. In the mobile overlay that asymmetry makes the label sit high in its row.
	 * Reset so top/bottom padding match.
	 */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > .wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .wp-block-navigation-item > a,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child > .wp-block-navigation-item__content,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > .has-child > .wp-block-navigation-submenu__toggle {
		padding-bottom: 0 !important;
	}

	/*
	 * Specificity bump (.tpr-sub-accordion.tpr-sub-accordion) needed to beat the desktop
	 * mega-menu rule `.tpr-mega-menu .tpr-mega-menu-3col .submenu .has-child > .submenu
	 * { display: block !important }` which has specificity (0,8,1).
	 */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open li.tpr-sub-accordion.tpr-sub-accordion > .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container {
		display: none !important;
	}
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open li.tpr-sub-accordion.tpr-sub-accordion--open.tpr-sub-accordion--open > .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container {
		display: flex !important;
		flex-direction: column !important;
	}
	/* Show the chevron toggle on sub-accordion rows. Repeated-class selectors bump
	   specificity above the existing hide-nested-toggles rule. */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open li.tpr-sub-accordion.tpr-sub-accordion.tpr-sub-accordion > .wp-block-navigation-submenu__toggle.wp-block-navigation-submenu__toggle.wp-block-navigation-submenu__toggle,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open li.tpr-sub-accordion.tpr-sub-accordion.tpr-sub-accordion > .wp-block-navigation__submenu-icon.wp-block-navigation__submenu-icon.wp-block-navigation__submenu-icon {
		display: inline-flex !important;
	}
	/* Constrain the label link so the chevron fits on the same row. Upstream rules set
	   width:100% !important (specificity 0,10,7) and flex:1 1 auto !important (0,8,4);
	   repeat classes to raise ours above both. */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open li.tpr-sub-accordion.tpr-sub-accordion.tpr-sub-accordion.tpr-sub-accordion > a.wp-block-navigation-item__content.wp-block-navigation-item__content.wp-block-navigation-item__content.wp-block-navigation-item__content {
		flex: 1 1 0 !important;
		min-width: 0 !important;
		width: auto !important;
	}

	/*
	 * Sub-accordion chevron (arrow on rows like "New South Wales"): align-items:center on
	 * the row centers the icon vertically, but the label sits a few pixels above visual
	 * center thanks to Poppins' cap-height position. Shift the chevron down 12px so it
	 * aligns with the label baseline. transform keeps it out of layout flow.
	 */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open li.tpr-sub-accordion.tpr-sub-accordion > .wp-block-navigation__submenu-icon,
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open li.tpr-sub-accordion.tpr-sub-accordion > .wp-block-navigation-submenu__toggle {
		transform: translateY(12px) !important;
	}

	/*
	 * Nested accordion panel (holds Areas / Industries / Resources): the panel has
	 * its own padding-bottom (0.55rem) plus row-gap on the containing <ul>, which
	 * stack up to a visible gap below "Resources & support". Zero them so the last
	 * trigger sits flush with the row below (Events & Short Term).
	 */
	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode .tpr-mega-nav-accordion__panel {
		padding-bottom: 0 !important;
	}
	body header .wp-block-navigation.tpr-mega-menu.tpr-mega-nav-accordion-mode ul.tpr-mega-mobile-accordion-active > li:has(> .tpr-mega-nav-accordion) > .tpr-mega-nav-accordion__panel > ul {
		padding-bottom: 0 !important;
		margin-bottom: 0 !important;
	}

	/*
	 * Top-level nav <li> carries padding: 0.65rem 1rem 0.65rem 0 (line 18526) to
	 * size the row when closed. When the <li> is expanded, that bottom 0.65rem
	 * lands below the open panel and shows as a gap. Zero padding-bottom on the
	 * open state; aria-expanded="true" on the child toggle is the authoritative
	 * signal the accordion is open.
	 */
	body header .wp-block-navigation.tpr-mega-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container > li.wp-block-navigation-item.has-child:has(> button[aria-expanded="true"]) {
		padding-bottom: 0 !important;
	}
}

/*
 * Case-study card container: guarantee 5% top/bottom padding at every breakpoint.
 * UAGB writes per-block padding as `padding-block-start`/`padding-block-end`
 * (logical props), so we match the property names UAGB uses and double the class
 * for a specificity bump. Only the logical longhands are set — don't also set
 * `padding-top`/`padding-bottom`, as the later-in-source logical prop would win
 * and make the physical value appear to do nothing (a cascade foot-gun).
 */
.tpr-case-study-container.tpr-case-study-container {
	padding-block-start: 5% !important;
	padding-block-end: 5% !important;
}
.tpr-case-study-container.tpr-case-study-container > .uagb-container-inner-blocks-wrap,
.tpr-case-study-container.tpr-case-study-container > .uagb-container-inner-block {
	padding-block-start: 0 !important;
	padding-block-end: 0 !important;
}

/*
 * The inner wrap is `display: flex; flex-direction: column; justify-content: center`
 * (set by Spectra block attributes). When children overflow the wrap, `center`
 * spills the overflow equally above AND below the wrap's content box, making the
 * first child render above the container's top padding. Force top alignment so
 * the pill and everything below it stay inside the padded content box.
 *
 * The same pattern exists on the nested intro-group (`uagb-block-d3b5b74d`
 * holds pill + title + company/location). At wider viewports the title wraps
 * to fewer lines, leaving that block's content shorter than its fixed height,
 * and `justify-content: center` pushes a large empty band below Sydney CBD.
 * Force flex-start everywhere inside the case-study card so spacing is driven
 * by actual content size, not by center-alignment of a sometimes-fixed height.
 */
.tpr-case-study-container.tpr-case-study-container > .uagb-container-inner-blocks-wrap,
.tpr-case-study-container.tpr-case-study-container > .uagb-container-inner-block,
.tpr-case-study-container.tpr-case-study-container .wp-block-uagb-container {
	justify-content: flex-start !important;
}

/*
 * Each icon-list row has `margin-bottom: 40px` (authored in the block). On the
 * final row (Sydney CBD) that leaves 40px of dead space below the last visible
 * line, compounding the gap above "See the detail". Zero it on the last child
 * so the intro-group ends cleanly at its last text baseline.
 */
#case-study-feature .uagb-icon-list__wrap > .wp-block-uagb-icon-list-child:last-child {
	margin-bottom: 0 !important;
}

/*
 * The Spectra-generated wrap uses `row-gap: 3%`, and browsers disagree on what
 * that percentage resolves against (spec says inline size; some resolve against
 * the block's tall height instead, giving 50–100px gaps between siblings).
 * Replace with a fixed value so spacing between the intro group, arrow,
 * accordion, and testimonial is identical in every browser.
 */
.tpr-case-study-container.tpr-case-study-container > .uagb-container-inner-blocks-wrap,
.tpr-case-study-container.tpr-case-study-container > .uagb-container-inner-block {
	row-gap: 1.5rem !important;
}

/*
 * Green testimonial / quote block inside the case-study card. UAGB generates
 * per-block CSS with `margin-top: 0 !important; margin-bottom: 0 !important`
 * at every breakpoint, so margins authored in the block editor don't apply.
 * UAGB's inline `<style>` appears after custom.css in source order, so we need
 * higher specificity than (0,2,0) to beat an `!important` tie — using the ID
 * `#case-study-feature` (0,1,1,0) ensures we always win.
 */
#case-study-feature .uagb-block-471e691e {
	margin-top: 5% !important;
	margin-bottom: 5% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding: 5% !important;
}

/*
 * Parallax image containers: UAGB compiles `background-attachment: fixed`
 * at the desktop breakpoint and its tablet/mobile overrides don't reset it,
 * so the fixed value cascades to phones. iOS Safari sizes `cover` backgrounds
 * against the viewport rather than the element when attachment is fixed,
 * which crops the image to a tiny, massively upscaled slice. Disable
 * parallax below the 1024px breakpoint (matches the footer-reveal cutoff)
 * so the background lays out normally on touch devices.
 */
@media (max-width: 1024px) {
	.wp-block-uagb-container.tpr-parallax-image {
		background-attachment: scroll !important;
	}
}

/*
 * Product cards on mobile (single-column layout, ≤767px): drop the equal-height
 * plumbing. At ≥768px cards sit in a 2- or 4-column grid and the rules above
 * (margin-top: auto on pot/light/water, min-height on title/botanical/dimensions,
 * pot/water slot padding reservations) keep attribute rows aligned across
 * neighbouring cards. In a single column there's nothing to align against —
 * those same rules just push attributes to the bottom of each card, leaving a
 * large dead band between the dimensions line and Light/Water Level. Reset
 * everything so spacing is driven by actual content height.
 */
@media (max-width: 767px) {
	/*
	 * Pot / Light / Water rows: stop pinning to the bottom of the details column.
	 * Mirror every selector that sets `margin-top: auto` above so the reset always
	 * wins regardless of which variant matched (direct child vs wrapped).
	 */
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-blocks-wrap > *:has(.tpr-pot-colour-circles),
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-block > .uagb-container-inner-blocks-wrap > *:has(.tpr-pot-colour-circles),
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > *:not(.uagb-container-inner-blocks-wrap):not(.uagb-container-inner-block):has(.tpr-pot-colour-circles),
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-blocks-wrap:not(:has(.tpr-pot-colour-circles)) > *:has(.tpr-light-level-icons),
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-block > .uagb-container-inner-blocks-wrap:not(:has(.tpr-pot-colour-circles)) > *:has(.tpr-light-level-icons),
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details):not(:has(.tpr-pot-colour-circles)) > *:not(.uagb-container-inner-blocks-wrap):not(.uagb-container-inner-block):has(.tpr-light-level-icons) {
		margin-top: 0 !important;
	}

	/*
	 * Pot / Water slot reservation padding around the Light row: unused without
	 * neighbouring cards to align against, and it doubles as the gap the user sees.
	 */
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-blocks-wrap:not(:has(.tpr-pot-colour-circles)) > *:has(.tpr-light-level-icons),
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-block > .uagb-container-inner-blocks-wrap:not(:has(.tpr-pot-colour-circles)) > *:has(.tpr-light-level-icons),
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details):not(:has(.tpr-pot-colour-circles)) > *:not(.uagb-container-inner-blocks-wrap):not(.uagb-container-inner-block):has(.tpr-light-level-icons),
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-blocks-wrap:not(:has(.tpr-water-level-icons)) > *:has(.tpr-light-level-icons),
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-block > .uagb-container-inner-blocks-wrap:not(:has(.tpr-water-level-icons)) > *:has(.tpr-light-level-icons),
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details):not(:has(.tpr-water-level-icons)) > *:not(.uagb-container-inner-blocks-wrap):not(.uagb-container-inner-block):has(.tpr-light-level-icons) {
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	/*
	 * Title / botanical / dimensions min-heights: reserved line counts for cross-card
	 * alignment. With one card per row each can size to its own text.
	 */
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-advanced-heading.uagb-block-1bdf1fd0 .uagb-heading-text,
	#tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-advanced-heading.uagb-block-1bdf1fd0 .uagb-heading-text,
	#our-price-range .uagb-loop-post-inner .wp-block-uagb-advanced-heading.uagb-block-1bdf1fd0 .uagb-heading-text,
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .wp-block-uagb-advanced-heading:first-of-type .uagb-heading-text,
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-blocks-wrap > .wp-block-uagb-advanced-heading:first-of-type .uagb-heading-text,
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) .wp-block-uagb-advanced-heading.tpr-product-listing-card-title .uagb-heading-text,
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .wp-block-uagb-advanced-heading:first-of-type + .wp-block-uagb-advanced-heading:has(.uagb-heading-text:not(:empty)) .uagb-heading-text,
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) > .uagb-container-inner-blocks-wrap > .wp-block-uagb-advanced-heading:first-of-type + .wp-block-uagb-advanced-heading:has(.uagb-heading-text:not(:empty)) .uagb-heading-text,
	.tpr-product-listing .uagb-loop-post-inner .wp-block-uagb-container:is(.uagb-block-bd25a0c6,.tpr-product-listing-card-details) .wp-block-uagb-advanced-heading.tpr-product-listing-card-botanical .uagb-heading-text {
		min-height: 0 !important;
	}
}

/*
 * Benefits Accordians (reusable block 1017): tighter heading type + wider button
 * padding at ≤767px. Previously only the Home page carried this via its UAGB
 * page-level Custom CSS (`<style id="uagb-style-frontend-43">`), so the same
 * reusable block rendered at 20px / 7px padding on every other page that
 * embeds it (e.g. /indoor-plant-hire/). Promote the two rules into the theme
 * stylesheet so all pages pick them up.
 *
 * Selectors:
 * - `.accordion-heading`: custom class set inside block 1017 (Home).
 * - `.uagb-block-be90f7f8`: Spectra container block ID shared by every
 *    embed of the reusable benefits pattern (covers pages whose editor
 *    instance forgot the `.accordion-heading` class, e.g. /events-plant-hire/).
 * Specificity (0,2,0) plus `!important` wins against the earlier (0,1,0)
 * `.wp-block-accordion-heading__toggle-title` rule regardless of source order.
 * FAQ accordions use different containers so they stay on the 20px default.
 */
@media (max-width: 767px) {
	.accordion-heading button,
	.uagb-block-be90f7f8 .wp-block-accordion-item button {
		padding-inline: 1.5em !important;
	}
	.accordion-heading .wp-block-accordion-heading__toggle-title,
	.uagb-block-be90f7f8 .wp-block-accordion-heading__toggle-title {
		font-size: 14px !important;
	}
}

/*
 * FAQ questions on mobile: match the Benefits Accordian sizing/padding.
 * Desktop rule at .tpr-faq-wrapper .tpr-faq-question sets a fixed 100px row
 * with `padding: 0 2%` and the heading text renders at 18px — fine on wide
 * layouts but the row dwarfs the content at phone widths and the 2% inline
 * padding (~8px at 390px) leaves the chevron and text crammed together.
 *
 * Drop the fixed row height so padding drives size, bring inline padding up
 * to 1.5em (matches the Benefits button), and reduce the question text to
 * 14px / 18px line-height so both accordion styles read at the same weight
 * on a phone. The answer body stays at its existing size — only the question
 * row is tuned.
 */
@media (max-width: 767px) {
	.tpr-faq-wrapper .tpr-faq-question {
		height: auto !important;
		min-height: 0 !important;
		padding: 20px 1.5em !important;
	}
	.tpr-faq-wrapper .tpr-faq-question .uagb-heading-text,
	.tpr-faq-wrapper .tpr-faq-question .uagb-heading-text a,
	.tpr-faq-wrapper .tpr-faq-question > a {
		font-size: 14px !important;
		line-height: 1.3 !important;
	}
}

/*
 * Sticky filter bars keep their transparent container — only the pill paints a
 * background. Paint order (z-index 999) still sits above scrolling content.
 */

/*
 * Generic table mobile scroll cue (see tpr_wrap_core_table_for_scroll in
 * functions.php + tpr-table-scroll.js). The PHP filter wraps every core/table
 * block in <div class="tpr-table-scroll"> and injects the cue span. JS adds
 * .tpr-table-scroll--overflows when scrollWidth > clientWidth at the current
 * viewport, and .tpr-scrolled once the user has pushed past ~25% of the
 * figure width. Comparison tables (.tpr-comparison-table) are skipped in the
 * filter and keep their own VS-circle scroll system.
 *
 * Default: cue hidden. Only reveals at ≤767px when the wrapper actually
 * overflows, so tables that fit naturally stay untouched.
 */
.tpr-table-scroll {
	position: relative;
}
.tpr-table-scroll-cue {
	display: none;
	/* Button resets: cue is rendered as <button> so clicks scroll the table on mobile. */
	appearance: none;
	border: 0;
	margin: 0;
	font: inherit;
	cursor: pointer;
}
.tpr-table-scroll-cue:focus-visible {
	outline: 2px solid #0F2902;
	outline-offset: 2px;
}

@media (max-width: 767px) {
	/*
	 * Lift the has-fixed-layout squish at mobile so tables grow to their
	 * natural content width. This has to happen unconditionally (not gated on
	 * .tpr-table-scroll--overflows) — otherwise the browser never measures
	 * the content-driven width and the JS overflow check always says "fits".
	 * Tables whose natural width fits the viewport will still size down to
	 * 100%; only tables with content wider than the viewport start overflowing
	 * (which is what we want to trigger the pill).
	 */
	.tpr-table-scroll figure.wp-block-table > table,
	.tpr-table-scroll figure.wp-block-table > table.has-fixed-layout {
		table-layout: auto !important;
		width: auto !important;
		min-width: max-content !important;
	}
	.tpr-table-scroll figure.wp-block-table {
		-webkit-overflow-scrolling: touch;
	}

	/* Reserve space above the figure for the floating pill so it doesn't
	   overlap the table's header row (which is often brand-green itself). */
	.tpr-table-scroll--overflows {
		padding-top: 32px;
	}

	.tpr-table-scroll--overflows .tpr-table-scroll-cue {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		position: absolute;
		top: 0;
		right: 8px;
		left: auto;
		background-color: #D2FC51;
		color: #0F2902;
		padding: 6px 12px;
		border-radius: 999px;
		font-size: 12px;
		font-weight: 600;
		line-height: 1;
		letter-spacing: 0.02em;
		z-index: 2;
		transition: left 0.25s ease, right 0.25s ease;
	}

	.tpr-table-scroll-cue__text {
		display: inline-block;
		overflow: hidden;
		max-width: 5em;
		transition: max-width 0.2s ease, opacity 0.2s ease, margin-right 0.2s ease;
	}

	.tpr-table-scroll-cue__arrow {
		display: inline-block;
		width: 8px;
		height: 8px;
		border-top: 2px solid currentColor;
		border-right: 2px solid currentColor;
		transform: rotate(45deg);
		animation: tpr-table-scroll-arrow-pulse 1.4s ease-in-out infinite;
	}

	/* Scrolled state (JS toggles .tpr-scrolled past 25% of figure width).
	   Pill flips to the left edge, "Scroll" text collapses, arrow reverses. */
	.tpr-scrolled.tpr-table-scroll--overflows .tpr-table-scroll-cue {
		left: 8px;
		right: auto;
	}
	.tpr-scrolled.tpr-table-scroll--overflows .tpr-table-scroll-cue__text {
		opacity: 0;
		max-width: 0;
		margin-right: -6px; /* cancel the flex gap so the pill shrinks tight */
	}
	.tpr-scrolled.tpr-table-scroll--overflows .tpr-table-scroll-cue__arrow {
		transform: rotate(-135deg);
		animation-name: tpr-table-scroll-arrow-pulse-rev;
	}
}

@keyframes tpr-table-scroll-arrow-pulse {
	0%, 100% {
		opacity: 0.7;
		transform: translateX(0) rotate(45deg);
	}
	50% {
		opacity: 1;
		transform: translateX(3px) rotate(45deg);
	}
}
@keyframes tpr-table-scroll-arrow-pulse-rev {
	0%, 100% {
		opacity: 0.7;
		transform: translateX(0) rotate(-135deg);
	}
	50% {
		opacity: 1;
		transform: translateX(-3px) rotate(-135deg);
	}
}

/* -------------------------------------------------------------
   Search results page (/?s=…): stretch featured images to card
   width, keep inner text at the site-wide 90% content width,
   equalise card heights across rows, and swap post-terms/type
   labels for the TPR green pill.
   ------------------------------------------------------------- */

/* Equal card heights across every row (grid default is auto rows). */
body.search .wp-block-query .wp-block-post-template {
	grid-auto-rows: 1fr;
	align-items: stretch;
}
body.search .wp-block-query .wp-block-post,
body.search .wp-block-query .wp-block-post > .wp-block-uagb-container,
body.search .wp-block-query .wp-block-post > .wp-block-uagb-container
	> .uagb-container-inner-blocks-wrap {
	height: 100%;
}

/* UAGB container defaults to --inner-content-custom-width: min(100%, 90%),
 * which leaves ~18px grey gutters around the featured image. Make the
 * inner wrap full-width so the image is flush, then restore the 90%
 * constraint on the title/pill text group only. */
body.search .wp-block-query .wp-block-post
	> .wp-block-uagb-container.uagb-is-root-container
	> .uagb-container-inner-blocks-wrap {
	--inner-content-custom-width: 100%;
	max-width: 100%;
}

/* Title/pill group: keep at 90% of the card (site-wide content width),
 * push the post title up, and let the title push the date/author block
 * to the bottom so card footers align across rows. */
body.search .wp-block-query .wp-block-post
	> .wp-block-uagb-container.uagb-is-root-container
	> .uagb-container-inner-blocks-wrap
	> .wp-block-group {
	width: 90%;
	max-width: 90%;
	margin-left: auto;
	margin-right: auto;
	flex: 1 1 auto;
}

/* TPR green pill for the "Blog" post-terms tag — lime bg, deep green text, non-clickable. */
body.search .wp-block-query .wp-block-post .wp-block-post-terms {
	margin-bottom: var(--wp--preset--spacing--xx-small);
}
body.search .wp-block-query .wp-block-post .wp-block-post-terms a,
body.search .wp-block-query .wp-block-post .wp-block-post-terms span {
	display: inline-block;
	background-color: #d2fc51 !important;
	color: #0f2902 !important;
	font-family: "Poppins", sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
	padding: 0.65em 0.95em;
	border-radius: 9999px;
	text-decoration: none !important;
	pointer-events: none;
}

/* Post-type pill for non-blog results (pages, resources, faqs, projects, …).
 * The post-terms block only renders for posts with categories, so inject a
 * ::before on the title group for every card that isn't a blog post. */
body.search .wp-block-query .wp-block-post:not(.type-post)
	.wp-block-group:has(> .wp-block-post-title)::before {
	display: inline-block;
	width: fit-content;
	background-color: #d2fc51;
	color: #0f2902;
	font-family: "Poppins", sans-serif;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.35;
	padding: 0.65em 0.95em;
	border-radius: 9999px;
	margin-bottom: var(--wp--preset--spacing--xx-small);
}

body.search .wp-block-query .wp-block-post.type-page
	.wp-block-group:has(> .wp-block-post-title)::before {
	content: "Page";
}
body.search .wp-block-query .wp-block-post.type-faqs
	.wp-block-group:has(> .wp-block-post-title)::before {
	content: "FAQ";
}
body.search .wp-block-query .wp-block-post.type-resource
	.wp-block-group:has(> .wp-block-post-title)::before,
body.search .wp-block-query .wp-block-post.type-resources
	.wp-block-group:has(> .wp-block-post-title)::before {
	content: "Resource";
}
body.search .wp-block-query .wp-block-post.type-projects
	.wp-block-group:has(> .wp-block-post-title)::before {
	content: "Project";
}

/* Cards without a featured image render a generic placeholder SVG icon —
 * replace it with the TPR logo (contained, muted) so results still feel
 * branded. The inline SVG sits on figure.wp-block-image.is-placeholder. */
body.search .wp-block-query .wp-block-post figure.wp-block-image.is-placeholder {
	background-image: url("../images/TPR-Logo-vector-tiger-dark.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: auto 60px;
	background-color: #fafbfa;
}
body.search .wp-block-query .wp-block-post figure.wp-block-image.is-placeholder
	.wp-block-image__placeholder-icon {
	display: none;
}

/* ==========================================================================
   Product variants drawer ("Explore the full range")
   Parent cards in Pots / Event Pots with ≥1 ACF variant row get an expand
   button that opens a full-width drawer row below their visual row.
   Markup built by tpr-product-variants-drawer.js; site-colour palette only.
   ========================================================================== */

/* Expand button: appears as the last child of each variant-bearing card (below pot colours).
   Full-width of the card's details area so the chevron can align to the far right. */
.tpr-product-listing .uagb-loop-post .tpr-variants-expand,
#tpr-product-listing .uagb-loop-post .tpr-variants-expand,
#our-price-range .uagb-loop-post .tpr-variants-expand {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	width: 100%;
	margin: 12px 0 4px;
	padding: 10px 18px;
	background: #0F2902;
	color: #fafbfa;
	border: none;
	border-radius: 999px;
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.2;
	cursor: pointer;
	text-align: left;
	transition: background 0.2s ease, transform 0.2s ease;
}

.tpr-variants-expand__label {
	flex: 1 1 auto;
}

.tpr-variants-expand__chevron {
	flex-shrink: 0;
}

/* Hover flips to lime with dark-green text + chevron (currentColor on the svg means
   stroke follows `color`). Keeps the button visually connected to the site's lime accents. */
.tpr-product-listing .uagb-loop-post .tpr-variants-expand:hover,
#tpr-product-listing .uagb-loop-post .tpr-variants-expand:hover,
#our-price-range .uagb-loop-post .tpr-variants-expand:hover {
	background: #D2FC51;
	color: #0F2902;
}

/* Lock the background across every interactive state so mobile-browser defaults
   (tap-highlight, :focus, :active, :visited) don't flash a lighter green after click. */
.tpr-product-listing .uagb-loop-post .tpr-variants-expand:focus,
.tpr-product-listing .uagb-loop-post .tpr-variants-expand:active,
.tpr-product-listing .uagb-loop-post .tpr-variants-expand:focus-visible,
#tpr-product-listing .uagb-loop-post .tpr-variants-expand:focus,
#tpr-product-listing .uagb-loop-post .tpr-variants-expand:active,
#tpr-product-listing .uagb-loop-post .tpr-variants-expand:focus-visible,
#our-price-range .uagb-loop-post .tpr-variants-expand:focus,
#our-price-range .uagb-loop-post .tpr-variants-expand:active,
#our-price-range .uagb-loop-post .tpr-variants-expand:focus-visible {
	background: #0F2902;
	color: #fafbfa;
	outline: none;
}

.tpr-product-listing .uagb-loop-post .tpr-variants-expand,
#tpr-product-listing .uagb-loop-post .tpr-variants-expand,
#our-price-range .uagb-loop-post .tpr-variants-expand {
	-webkit-tap-highlight-color: transparent;
}

.tpr-variants-expand__chevron {
	width: 14px;
	height: 14px;
	transition: transform 0.25s ease;
}

.tpr-variants-expand[aria-expanded="true"] .tpr-variants-expand__chevron {
	transform: rotate(180deg);
}

/* Drawer row: full-width flex item inserted between visual rows.
   `flex-basis: 100%` makes it own a whole row in the wrapped flex container. */
.tpr-variants-drawer {
	flex: 0 0 100%;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	overflow: hidden;
	max-height: 0;
	opacity: 0;
	margin: 0;
	transition: max-height 0.45s cubic-bezier(0.2, 0.9, 0.3, 1),
	            opacity 0.3s ease,
	            margin 0.3s ease;
}

.tpr-variants-drawer.is-open {
	/* Tall enough to contain a single-column stack of variant tiles on mobile
	   (each ~420px with aspect-ratio:1 image + meta; 8+ variants * 420 + gaps
	   comfortably fits under 6000). Below this, content was clipped by the
	   overflow:hidden on the drawer and the bottom sub-products disappeared
	   behind the dark-green inner. */
	max-height: 6000px;
	opacity: 1;
	margin: 8px 0 24px;
}

.tpr-variants-drawer__inner {
	background: #0F2902;
	color: #fafbfa;
	border-radius: 30px;
	padding: 28px;
}

.tpr-variants-drawer__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
}

.tpr-variants-drawer__title {
	margin: 0;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.2;
	color: inherit;
}

.tpr-variants-drawer__title span[data-tpr-drawer-name] {
	color: #D2FC51;
	font-weight: 700;
}

/* Close button: matches .tpr-gf-cta-mobile-close (transparent, thin cross, lime on hover). */
.tpr-variants-drawer__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: transparent;
	border: none;
	color: #fff;
	cursor: pointer;
	padding: 0;
	flex-shrink: 0;
	transition: color 0.2s ease;
}

.tpr-variants-drawer__close:hover {
	background: transparent;
	color: #D2FC51;
}

.tpr-variants-drawer__close svg {
	width: 14px;
	height: 14px;
}

/* Grid: 4 columns on desktop to match the parent cards above; gap mirrors the page's
   primary grid rhythm. Collapses through 3/2/1 at typical responsive breakpoints. */
.tpr-variants-drawer__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
}

@media (max-width: 1024px) {
	.tpr-variants-drawer__grid:not(.is-carousel) { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 768px) {
	.tpr-variants-drawer__grid:not(.is-carousel) { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
	.tpr-variants-drawer__grid:not(.is-carousel) { grid-template-columns: 1fr; }
}

.tpr-variants-drawer__loading,
.tpr-variants-drawer__empty {
	grid-column: 1 / -1;
	text-align: center;
	padding: 24px 0;
	color: rgba(250, 251, 250, 0.75);
	font-size: 14px;
}

/* Carousel mode: horizontal track with prev/next buttons. Arrows sit on the outer
   drawer edge (aligned with the heading at left: 0) and the track has inset padding
   so the first/last tiles don't sit under the arrows. */
.tpr-variants-drawer__grid.is-carousel {
	display: block;
	position: relative;
	padding: 0;
}

.tpr-variants-drawer__track {
	display: flex;
	gap: 20px;
	padding: 0 56px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: thin;
	scrollbar-color: rgba(250, 251, 250, 0.25) transparent;
}

.tpr-variants-drawer__track::-webkit-scrollbar { height: 6px; }
.tpr-variants-drawer__track::-webkit-scrollbar-thumb { background: rgba(250, 251, 250, 0.25); border-radius: 3px; }

.tpr-variants-drawer__track > .tpr-variant-tile {
	flex: 0 0 calc((100% - (20px * 3)) / 4);
	scroll-snap-align: start;
}

/* Below desktop, abandon the carousel layout and stack tiles in the normal responsive
   grid (3 / 2 / 1 column depending on width). The horizontal scroll track doesn't earn
   its complexity on touch devices when the user can just scroll the page. */
@media (max-width: 1024px) {
	.tpr-variants-drawer__grid.is-carousel {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		padding: 0;
	}
	.tpr-variants-drawer__grid.is-carousel .tpr-variants-drawer__track {
		display: contents;
	}
	.tpr-variants-drawer__grid.is-carousel .tpr-variants-drawer__nav {
		display: none;
	}
	.tpr-variants-drawer__grid.is-carousel .tpr-variant-tile {
		flex: none;
	}
}

@media (max-width: 768px) {
	.tpr-variants-drawer__grid.is-carousel { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
	.tpr-variants-drawer__grid.is-carousel { grid-template-columns: 1fr; }
}

/* Nav buttons match the parent-product photo carousel (.tpr-product-listing-carousel__prev/__next):
   2.5rem white circle, arrow icon in the site's dark green. */
.tpr-variants-drawer__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 50%;
	background-color: #fff;
	color: #0F2902;
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
	z-index: 2;
	transition: transform 0.2s ease;
}

.tpr-variants-drawer__nav:hover:not(:disabled) {
	transform: translateY(-50%) scale(1.08);
}

.tpr-variants-drawer__nav:disabled {
	opacity: 0.35;
	cursor: default;
}

.tpr-variants-drawer__nav > svg {
	width: 1.125rem;
	height: 1.125rem;
}

/* Aligned to the drawer's inner edge (same column as the heading above). Track padding
   keeps the first/last tile from sliding under the button. */
.tpr-variants-drawer__nav--prev { left: 0; }
.tpr-variants-drawer__nav--next { right: 0; }

/* Variant tile: mirrors the parent card's photo+meta rhythm but lighter (no
   attribute rows / no CTA). Reuses `.tpr-pot-colour-circles` utility untouched.
   Rounded corners match the parent card (30px). */
.tpr-variant-tile {
	background: #fafbfa;
	color: #1a1a1a;
	border-radius: 30px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.tpr-variant-tile__image {
	aspect-ratio: 1 / 1;
	background: #f0efe8;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.tpr-variant-tile__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.tpr-variant-tile__meta {
	padding: 14px 16px 16px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.tpr-variant-tile__name {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	color: inherit;
}

.tpr-variant-tile__size {
	margin: 0;
	font-size: 12px;
	color: #5a635e;
	line-height: 1.35;
}

/* Pot colour row inside a variant tile: mirrors the parent card's two-column rhythm
   (label left, swatches right). Uses the site-wide `.tpr-pot-colour-circles` classes
   already defined in custom.css so sizes / overlap / outline rules apply unchanged. */
.tpr-variant-tile__colour-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: 6px;
}

.tpr-variant-tile__colour-label {
	font-size: 12px;
	color: #5a635e;
	line-height: 1.2;
}

/* Breadcrumb-pattern pages (thank-you, privacy, terms, etc.): UAGB sets
   min-height: 100vh on the reused root container and the inner wrap uses
   justify-content: flex-end — which pushes all content to the bottom of the
   viewport on mobile/tablet, leaving a huge empty gap at the top. The hero
   pattern (.tpr-video-text-container / .tpr-video-banner) uses the same block
   ID but intentionally fills the viewport, so scope the override to containers
   whose inner wrap begins with .tpr-yoast-breadcrumb-shift (and which are NOT
   the video hero). Also pad the top so the heading clears the absolutely
   positioned site header (~57px). */
@media only screen and (max-width: 976px) {
	html body .entry-content .wp-block-uagb-container.uagb-is-root-container:not(.tpr-video-text-container):not(.tpr-video-banner):has(> .uagb-container-inner-blocks-wrap > .tpr-yoast-breadcrumb-shift:first-child) {
		min-height: 0 !important;
		padding-top: 97px !important;
	}
	html body .entry-content .wp-block-uagb-container.uagb-is-root-container:not(.tpr-video-text-container):not(.tpr-video-banner):has(> .uagb-container-inner-blocks-wrap > .tpr-yoast-breadcrumb-shift:first-child) > .uagb-container-inner-blocks-wrap {
		justify-content: flex-start !important;
	}

	/* Break the inline social icons onto their own line, left-aligned with the
	   surrounding paragraph text. Inline-inflow mode uses span-level display:inline
	   with padding-left:20px so the icons sit beside text; on mobile/tablet we want
	   them stacked below and flush-left. Scoped to .tpr-thankyou-socials so other
	   inline-socials usages are unaffected. */
	html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .tpr-footer-socials-inline--inflow {
		display: block !important;
		margin-top: 8px !important;
	}
	html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .tpr-footer-socials-inline--inflow .tpr-footer-socials-inline__icons--inflow {
		display: block !important;
		padding-left: 0 !important;
	}
	html body .entry-content .wp-block-uagb-container.tpr-thankyou-socials .tpr-footer-socials-inline--inflow .wp-block-social-links {
		margin-left: 0 !important;
	}
}
