/* =====================================================================
   USPA Concept redesign — "Quiet luxury, warm care"
   Deep navy for trust, pearl and white grounds, champagne hairlines,
   Cormorant Garamond headings with Manrope text. Scoped to body.uspa-rd,
   so nothing applies until the preview cookie or the live switch is on.
   ===================================================================== */

body.uspa-rd {
	--rd-ink: #0c1a30;
	--rd-navy: #132a4d;
	--rd-sapphire: #2647b0;
	--rd-sapphire-deep: #1b3690;
	--rd-sky: #eaf0fa;
	--rd-pearl: #f7f6f2;
	--rd-ivory: #fdfcf9;
	--rd-line: #e6e2d8;
	--rd-text: #566274;
	--rd-heading: #0f2240;
	--rd-champagne: #b08f5c;
	--rd-champagne-light: #dcc6a0;
	--rd-serif: "Cormorant Garamond", "Cormorant", Georgia, "Times New Roman", serif;
	--rd-sans: "Manrope", "Helvetica Neue", Arial, sans-serif;
	--rd-radius: 22px;
	--rd-shadow: 0 24px 60px -28px rgba(12, 26, 48, 0.35);

	/* Re-skin Avada's global palette and type sets */
	--awb-color2: #fbfaf7;
	--awb-color3: var(--rd-pearl);
	--awb-color4: var(--rd-sapphire);
	--awb-color5: var(--rd-sapphire);
	--awb-color6: var(--rd-text);
	--awb-color7: var(--rd-heading);
	--awb-color8: var(--rd-ink);
	--awb-typography1-font-family: var(--rd-serif);
	--awb-typography1-letter-spacing: -0.005em;
	--awb-typography2-font-family: var(--rd-sans);
	--awb-typography3-font-family: var(--rd-sans);
	--awb-typography4-font-family: var(--rd-sans);
	--awb-typography5-font-family: var(--rd-sans);

	font-family: var(--rd-sans) !important;
	color: var(--rd-text);
	background: var(--rd-ivory);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

body.uspa-rd ::selection { background: var(--rd-champagne-light); color: var(--rd-ink); }
body.uspa-rd a:focus-visible,
body.uspa-rd button:focus-visible,
body.uspa-rd input:focus-visible,
body.uspa-rd textarea:focus-visible { outline: 2px solid var(--rd-champagne); outline-offset: 3px; }

/* ---------- Type ---------- */
body.uspa-rd p,
body.uspa-rd li,
body.uspa-rd input,
body.uspa-rd select,
body.uspa-rd textarea,
body.uspa-rd button,
body.uspa-rd .fusion-text,
body.uspa-rd .fusion-li-item-content { font-family: var(--rd-sans) !important; }

body.uspa-rd .fusion-text p { line-height: 1.75; }

body.uspa-rd h1,
body.uspa-rd h2,
body.uspa-rd h3,
body.uspa-rd .fusion-title-heading,
body.uspa-rd .fusion-title-heading span,
body.uspa-rd .fusion-title-heading strong {
	font-family: var(--rd-serif) !important;
	font-weight: 600 !important;
	letter-spacing: -0.005em !important;
	text-wrap: balance;
}
body.uspa-rd h4,
body.uspa-rd h5,
body.uspa-rd h6 { font-family: var(--rd-sans) !important; letter-spacing: 0.01em; }

/* Section headings get a little more presence; serif reads smaller than Roboto at the same size */
body.uspa-rd h2.fusion-title-heading { line-height: 1.12 !important; }

/* ---------- Hero ---------- */
body.uspa-rd .fusion-fullwidth.video-background { position: relative; }
body.uspa-rd .fusion-fullwidth.video-background::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(100deg, rgba(10, 22, 42, 0.88) 0%, rgba(10, 22, 42, 0.62) 42%, rgba(10, 22, 42, 0.18) 100%),
		linear-gradient(0deg, rgba(10, 22, 42, 0.45) 0%, rgba(10, 22, 42, 0) 35%);
}
body.uspa-rd .fusion-fullwidth.video-background > .fusion-builder-row { position: relative; z-index: 2; }
body.uspa-rd .video-background h1.fusion-title-heading {
	font-size: clamp(46px, 6.4vw, 96px) !important;
	line-height: 1.02 !important;
	font-weight: 500 !important;
	color: #fff !important;
}
body.uspa-rd .uspa-hero-sub,
body.uspa-rd .uspa-hero-sub p {
	font-family: var(--rd-serif) !important;
	font-style: italic;
	font-weight: 500;
	font-size: clamp(24px, 2.6vw, 34px) !important;
	line-height: 1.25 !important;
	color: var(--rd-champagne-light) !important;
}
body.uspa-rd .video-background .fusion-text:not(.uspa-hero-sub) p {
	font-size: clamp(17px, 1.5vw, 20px) !important;
	line-height: 1.6 !important;
	color: rgba(255, 255, 255, 0.86) !important;
	font-weight: 400;
}

/* ---------- Hairline separators ---------- */
body.uspa-rd .fusion-separator .fusion-separator-border {
	border-color: var(--rd-champagne) !important;
	border-top-width: 1px !important;
}

/* ---------- Buttons ---------- */
body.uspa-rd .fusion-button,
body.uspa-rd .fusion-form-submit-field button,
body.uspa-rd .fusion-form .fusion-button {
	border-radius: 999px !important;
	padding: 16px 30px !important;
	background: var(--rd-sapphire) !important;
	border: 1px solid var(--rd-sapphire) !important;
	box-shadow: 0 14px 30px -16px rgba(38, 71, 176, 0.75) !important;
	transition: background-color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease !important;
}
body.uspa-rd .fusion-button .fusion-button-text,
body.uspa-rd .fusion-button i,
body.uspa-rd .fusion-form-submit-field button {
	font-family: var(--rd-sans) !important;
	font-weight: 600 !important;
	font-size: 13px !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	color: #fff !important;
}
body.uspa-rd .fusion-button:hover,
body.uspa-rd .fusion-form-submit-field button:hover {
	background: var(--rd-sapphire-deep) !important;
	border-color: var(--rd-sapphire-deep) !important;
	transform: translateY(-1px);
	box-shadow: 0 18px 36px -16px rgba(27, 54, 144, 0.8) !important;
}

/* ---------- Images and image cards ---------- */
body.uspa-rd .post-content .fusion-imageframe:not(.has-aspect-ratio) img,
body.uspa-rd .post-content .fusion-imageframe { border-radius: var(--rd-radius) !important; }
body.uspa-rd .post-content .fusion-imageframe { overflow: hidden; box-shadow: var(--rd-shadow); }
body.uspa-rd .post-content .fusion-imageframe img[src*="icon_"] { box-shadow: none; border-radius: 0 !important; }
body.uspa-rd .post-content .fusion-imageframe:has(img[src*="icon_"]) { box-shadow: none; overflow: visible; border-radius: 0 !important; }

body.uspa-rd .fusion-column-wrapper.fusion-column-has-bg-image {
	border-radius: var(--rd-radius) !important;
	overflow: hidden;
	box-shadow: var(--rd-shadow);
	position: relative;
	isolation: isolate;
}
body.uspa-rd .fusion-column-wrapper.fusion-column-has-bg-image::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(0deg, rgba(10, 22, 42, 0.82) 0%, rgba(10, 22, 42, 0.25) 55%, rgba(10, 22, 42, 0) 100%);
}
body.uspa-rd .fusion-column-wrapper.fusion-column-has-bg-image h3.fusion-title-heading {
	font-size: clamp(26px, 2.4vw, 32px) !important;
	line-height: 1.1 !important;
	letter-spacing: 0 !important;
}

/* Soft grey sections become pearl */
body.uspa-rd .fusion-fullwidth[style*="--awb-background-color:#f7f7f7"],
body.uspa-rd .fusion-fullwidth[style*="--awb-background-color:rgb(247,247,247)"] { --awb-background-color: var(--rd-pearl) !important; background-color: var(--rd-pearl) !important; }

/* ---------- Checklists ---------- */
body.uspa-rd .fusion-checklist .fusion-li-item { align-items: center; }
body.uspa-rd .fusion-checklist .icon-wrapper {
	background: var(--rd-sky) !important;
	border-radius: 50% !important;
	color: var(--rd-sapphire) !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
}
body.uspa-rd .fusion-checklist .fusion-li-icon { color: var(--rd-sapphire) !important; font-size: 12px !important; }
body.uspa-rd .fusion-checklist .fusion-li-item-content { color: var(--rd-heading); font-weight: 500; font-size: 16px; }

/* ---------- Quote / parallax banners ---------- */
body.uspa-rd .bg-parallax-parent h3.fusion-title-heading {
	font-style: italic;
	font-weight: 500 !important;
	font-size: clamp(24px, 2.6vw, 36px) !important;
	line-height: 1.35 !important;
}

/* ---------- FAQ accordions ---------- */
body.uspa-rd .fusion-accordian .panel-heading,
body.uspa-rd .fusion-accordian .fusion-panel { border-color: var(--rd-line) !important; background: transparent !important; }
body.uspa-rd .fusion-accordian .panel-title a,
body.uspa-rd .fusion-accordian .fusion-toggle-heading {
	font-family: var(--rd-sans) !important;
	font-weight: 600 !important;
	color: var(--rd-heading) !important;
	letter-spacing: 0 !important;
}
body.uspa-rd .fusion-accordian .panel-title a .fa-fusion-box,
body.uspa-rd .fusion-accordian .panel-title a .fusion-toggle-icon-wrapper {
	background: var(--rd-sky) !important;
	color: var(--rd-sapphire) !important;
	border-radius: 50% !important;
	border-color: transparent !important;
}
body.uspa-rd .fusion-accordian .panel-body { color: var(--rd-text) !important; line-height: 1.75; }

/* ---------- Forms ---------- */
body.uspa-rd .fusion-form input[type="text"],
body.uspa-rd .fusion-form input[type="email"],
body.uspa-rd .fusion-form input[type="tel"],
body.uspa-rd .fusion-form input[type="number"],
body.uspa-rd .fusion-form select,
body.uspa-rd .fusion-form textarea {
	border-radius: 14px !important;
	border: 1px solid var(--rd-line) !important;
	background: #fff !important;
	color: var(--rd-heading) !important;
	padding: 14px 16px !important;
	box-shadow: none !important;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
body.uspa-rd .fusion-form input:focus,
body.uspa-rd .fusion-form select:focus,
body.uspa-rd .fusion-form textarea:focus {
	border-color: var(--rd-sapphire) !important;
	box-shadow: 0 0 0 4px rgba(38, 71, 176, 0.12) !important;
}
body.uspa-rd .fusion-form label { font-family: var(--rd-sans) !important; font-weight: 600; color: var(--rd-heading); }

/* ---------- Sponsor logo strip ---------- */
body.uspa-rd .fusion-image-carousel img { opacity: 0.78; transition: opacity 0.25s ease; }
body.uspa-rd .fusion-image-carousel img:hover { opacity: 1; }

/* ---------- Long-form pages (Privacy, Accessibility) ---------- */
body.uspa-rd.page-id-908 .post-content h2 {
	font-size: clamp(30px, 3.2vw, 42px) !important;
	line-height: 1.15 !important;
	margin-top: 56px !important;
	margin-bottom: 18px !important;
	color: var(--rd-heading) !important;
}
body.uspa-rd.page-id-908 .post-content h3 {
	font-size: clamp(22px, 2vw, 28px) !important;
	line-height: 1.2 !important;
	margin-top: 32px !important;
	margin-bottom: 12px !important;
	color: var(--rd-heading) !important;
}
body.uspa-rd.page-id-908 .post-content h1 { font-size: clamp(44px, 5vw, 72px) !important; line-height: 1.05 !important; }
body.uspa-rd.page-id-908 .post-content p,
body.uspa-rd.page-id-908 .post-content li { font-size: 17px; line-height: 1.8; max-width: 72ch; }
body.uspa-rd.page-id-908 .post-content hr { border: 0; border-top: 1px solid var(--rd-line); margin: 40px 0; }

/* ======================================================================
   Custom header (child theme header.php)
   ====================================================================== */
body.uspa-rd .uspa-nav-header { font-family: var(--rd-sans) !important; }
body.uspa-rd .uspa-nav-header.is-transparent:not(.is-scrolled) {
	background: linear-gradient(180deg, rgba(10, 22, 42, 0.55) 0%, rgba(10, 22, 42, 0) 100%) !important;
}
body.uspa-rd .uspa-nav-header.is-scrolled {
	background: rgba(12, 26, 48, 0.88) !important;
	-webkit-backdrop-filter: saturate(140%) blur(14px);
	backdrop-filter: saturate(140%) blur(14px);
	box-shadow: 0 1px 0 rgba(220, 198, 160, 0.22) !important;
}
body.uspa-rd .uspa-menu-links li a {
	font-family: var(--rd-sans) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase;
	text-shadow: none !important;
	color: rgba(255, 255, 255, 0.92) !important;
}
body.uspa-rd .uspa-menu-links li a::after {
	height: 1px !important;
	background: var(--rd-champagne-light) !important;
	box-shadow: none !important;
	bottom: -4px !important;
}
body.uspa-rd .uspa-menu-links li a:hover,
body.uspa-rd .uspa-menu-links li.current-menu-item a { color: var(--rd-champagne-light) !important; }

body.uspa-rd .uspa-btn-join,
body.uspa-rd .uspa-nav-header.is-scrolled .uspa-btn-join {
	background: var(--rd-ivory) !important;
	color: var(--rd-ink) !important;
	border: 1px solid rgba(220, 198, 160, 0.6) !important;
	border-radius: 999px !important;
	font-family: var(--rd-sans) !important;
	font-weight: 700 !important;
	font-size: 13px !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase;
	box-shadow: 0 12px 30px -14px rgba(0, 0, 0, 0.55) !important;
}
body.uspa-rd .uspa-btn-join svg { color: var(--rd-champagne) !important; stroke: currentColor; }
body.uspa-rd .uspa-btn-join:hover {
	background: var(--rd-champagne-light) !important;
	color: var(--rd-ink) !important;
	border-color: var(--rd-champagne-light) !important;
}

/* Mobile drawer */
body.uspa-rd .uspa-mobile-drawer { background: var(--rd-ink) !important; font-family: var(--rd-sans) !important; }
body.uspa-rd .uspa-mobile-menu-links li a {
	font-family: var(--rd-serif) !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	color: #fff !important;
}
body.uspa-rd .uspa-mobile-menu-links li a:hover { color: var(--rd-champagne-light) !important; }
body.uspa-rd .uspa-drawer-cta {
	background: var(--rd-ivory) !important;
	color: var(--rd-ink) !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase;
}
body.uspa-rd .uspa-quick-phone { color: var(--rd-champagne-light) !important; }
body.uspa-rd .uspa-burger-bar { background: #fff !important; }

/* ======================================================================
   Custom footer (child theme footer.php)
   ====================================================================== */
body.uspa-rd .uspa-footer-root {
	background: var(--rd-ink) !important;
	font-family: var(--rd-sans) !important;
	border-top: 1px solid rgba(220, 198, 160, 0.25);
}
body.uspa-rd .uspa-col-title {
	font-family: var(--rd-sans) !important;
	color: var(--rd-champagne-light) !important;
	letter-spacing: 0.2em !important;
	font-weight: 600 !important;
}
body.uspa-rd .uspa-title-divider { background: var(--rd-champagne) !important; height: 1px !important; box-shadow: none !important; }
body.uspa-rd .uspa-tagline-lead { color: rgba(255, 255, 255, 0.6) !important; letter-spacing: 0.18em !important; }
body.uspa-rd .uspa-tagline-accent {
	font-family: var(--rd-serif) !important;
	font-style: italic;
	font-weight: 500 !important;
	font-size: 28px !important;
	color: var(--rd-champagne-light) !important;
	background: none !important;
	-webkit-text-fill-color: currentColor !important;
}
body.uspa-rd .uspa-tagline-box { border-color: rgba(220, 198, 160, 0.4) !important; }
body.uspa-rd .uspa-brand-desc,
body.uspa-rd .uspa-contact-details,
body.uspa-rd .uspa-link { color: rgba(255, 255, 255, 0.78) !important; }
body.uspa-rd .uspa-link:hover { color: var(--rd-champagne-light) !important; }
body.uspa-rd .uspa-icon-wrap {
	background: rgba(220, 198, 160, 0.08) !important;
	border: 1px solid rgba(220, 198, 160, 0.28) !important;
	color: var(--rd-champagne-light) !important;
	box-shadow: none !important;
}
body.uspa-rd .uspa-map-frame-wrap { border-radius: 18px !important; border-color: rgba(220, 198, 160, 0.25) !important; }
body.uspa-rd .uspa-footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.08) !important; }
body.uspa-rd .uspa-bottom-content,
body.uspa-rd .uspa-legal-link,
body.uspa-rd .uspa-designer-link { color: rgba(255, 255, 255, 0.55) !important; }
body.uspa-rd .uspa-legal-link:hover,
body.uspa-rd .uspa-designer-link:hover { color: var(--rd-champagne-light) !important; }

/* Cookie notice */
body.uspa-rd .uspa-cookie-container {
	background: rgba(12, 26, 48, 0.94) !important;
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border: 1px solid rgba(220, 198, 160, 0.25) !important;
	border-radius: 18px !important;
	font-family: var(--rd-sans) !important;
}
body.uspa-rd .uspa-btn-cookie {
	background: var(--rd-ivory) !important;
	color: var(--rd-ink) !important;
	border-radius: 999px !important;
	letter-spacing: 0.1em !important;
}

@media (prefers-reduced-motion: reduce) {
	body.uspa-rd .fusion-button,
	body.uspa-rd .uspa-btn-join { transition: none !important; transform: none !important; }
}

/* ======================================================================
   Refinements (round 2)
   ====================================================================== */

/* Avada derives hsla() colours from these channel variables, so keep them in step with the palette */
body.uspa-rd {
	--awb-color4-h: 226; --awb-color4-s: 64.5%; --awb-color4-l: 42%;
	--awb-color5-h: 226; --awb-color5-s: 64.5%; --awb-color5-l: 42%;
	--awb-color6-h: 216; --awb-color6-s: 14.9%; --awb-color6-l: 39.6%;
	--awb-color7-h: 217; --awb-color7-s: 62%;   --awb-color7-l: 15.5%;
	--awb-color8-h: 217; --awb-color8-s: 60%;   --awb-color8-l: 12%;
}

/* Photo-backed sections: a navy veil turns the bright blue photography into deep sapphire and lifts text contrast */
body.uspa-rd .post-content > .fusion-fullwidth.lazyloaded:not(.video-background),
body.uspa-rd .post-content > .fusion-fullwidth.bg-parallax-parent {
	position: relative;
	isolation: isolate;
}
body.uspa-rd .post-content > .fusion-fullwidth.lazyloaded:not(.video-background)::before,
body.uspa-rd .post-content > .fusion-fullwidth.bg-parallax-parent::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(12, 26, 48, 0.78) 0%, rgba(12, 26, 48, 0.88) 100%);
}
body.uspa-rd .post-content > .fusion-fullwidth.lazyloaded:not(.video-background) > .fusion-builder-row,
body.uspa-rd .post-content > .fusion-fullwidth.bg-parallax-parent > .fusion-builder-row { position: relative; z-index: 2; }
body.uspa-rd .post-content > .fusion-fullwidth.bg-parallax-parent > .parallax-inner { z-index: 0 !important; }

/* Readable measure for long centred intro copy */
body.uspa-rd .post-content > .fusion-fullwidth.lazyloaded .fusion-text,
body.uspa-rd .post-content > .fusion-fullwidth.bg-parallax-parent .fusion-text { max-width: 780px; margin-left: auto !important; margin-right: auto !important; }
body.uspa-rd .post-content > .fusion-fullwidth.lazyloaded .fusion-text p { color: rgba(255, 255, 255, 0.86); }

/* Headings that used the bright brand blue become navy; blue stays for actions */
body.uspa-rd .fusion-title[style*="--awb-text-color:var(--awb-color4)"],
body.uspa-rd .fusion-title[style*="--awb-text-color:var(--awb-color5)"] { --awb-text-color: var(--rd-heading) !important; }
body.uspa-rd .fusion-title[style*="--awb-text-color:var(--awb-color4)"] .fusion-title-heading,
body.uspa-rd .fusion-title[style*="--awb-text-color:var(--awb-color5)"] .fusion-title-heading { color: var(--rd-heading) !important; }

/* Sponsor logos: small, calm, in a grid at every width */
body.uspa-rd .fusion-image-element img[src*="USPA-clinical-research-miami_000"] {
	max-width: 180px;
	width: 100%;
	height: auto;
	margin-inline: auto;
	display: block;
	opacity: 0.8;
	box-shadow: none !important;
	border-radius: 0 !important;
}
body.uspa-rd .post-content .fusion-imageframe:has(img[src*="USPA-clinical-research-miami_000"]) { box-shadow: none; border-radius: 0 !important; overflow: visible; display: block; text-align: center; }
@media (max-width: 1024px) {
	body.uspa-rd .fusion-layout-column:has(> .fusion-column-wrapper > .fusion-image-element img[src*="USPA-clinical-research-miami_000"]) {
		width: 25% !important;
		flex: 0 0 25% !important;
		max-width: 25% !important;
	}
}
@media (max-width: 640px) {
	body.uspa-rd .fusion-layout-column:has(> .fusion-column-wrapper > .fusion-image-element img[src*="USPA-clinical-research-miami_000"]) {
		width: 50% !important;
		flex: 0 0 50% !important;
		max-width: 50% !important;
	}
}

/* Content boxes (About > Our Approach timeline) sit on the navy veil: light text, champagne icons */
body.uspa-rd .post-content > .fusion-fullwidth.lazyloaded .fusion-content-boxes .content-box-heading,
body.uspa-rd .post-content > .fusion-fullwidth.lazyloaded .fusion-content-boxes .heading h2,
body.uspa-rd .post-content > .fusion-fullwidth.bg-parallax-parent .fusion-content-boxes .content-box-heading {
	color: #fff !important;
	font-size: clamp(22px, 1.8vw, 26px) !important;
	line-height: 1.2 !important;
}
body.uspa-rd .post-content > .fusion-fullwidth.lazyloaded .fusion-content-boxes .content-container,
body.uspa-rd .post-content > .fusion-fullwidth.lazyloaded .fusion-content-boxes .content-container p {
	color: rgba(255, 255, 255, 0.8) !important;
	line-height: 1.7;
}
body.uspa-rd .post-content > .fusion-fullwidth.lazyloaded .fusion-content-boxes .icon i,
body.uspa-rd .post-content > .fusion-fullwidth.lazyloaded .fusion-content-boxes .icon span {
	color: var(--rd-ink) !important;
	background-color: var(--rd-champagne-light) !important;
	border-color: var(--rd-champagne-light) !important;
}
body.uspa-rd .post-content > .fusion-fullwidth.lazyloaded .fusion-content-boxes .content-box-shortcode-timeline,
body.uspa-rd .post-content > .fusion-fullwidth.lazyloaded .fusion-content-boxes .content-box-shortcode-timeline-horizontal { border-color: rgba(220, 198, 160, 0.45) !important; }

/* Emergency call-out on Join a Study: deep navy card instead of bright blue */
body.uspa-rd .fusion-column-wrapper:has(> .fusion-text p[style*="font-size: 42px"]) {
	background-color: var(--rd-navy) !important;
	border-radius: var(--rd-radius) !important;
	box-shadow: var(--rd-shadow);
}

/* ======================================================================
   Redesigned homepage (.rdh) and scroll décor (.rd-*)
   ====================================================================== */
body.uspa-rd .rdh { color: var(--rd-text); font-family: var(--rd-sans); overflow: hidden; }
body.uspa-rd .rdh *, body.uspa-rd .rdh *::before, body.uspa-rd .rdh *::after { box-sizing: border-box; }
body.uspa-rd .rdh img { max-width: 100%; display: block; }
body.uspa-rd .rdh-wrap { width: min(1240px, 100% - 48px); margin-inline: auto; position: relative; z-index: 2; }

body.uspa-rd .rdh-eyebrow {
	font: 600 12px/1 var(--rd-sans) !important;
	letter-spacing: 0.28em !important;
	text-transform: uppercase;
	color: var(--rd-champagne-light) !important;
	margin: 0 0 22px !important;
	display: flex; align-items: center; gap: 14px;
}
body.uspa-rd .rdh-eyebrow::before { content: ""; width: 34px; height: 1px; background: currentColor; opacity: 0.8; }
body.uspa-rd .rdh-eyebrow--dark { color: var(--rd-champagne) !important; }
body.uspa-rd .rdh-h2 {
	font: 500 clamp(36px, 4.2vw, 58px)/1.06 var(--rd-serif) !important;
	color: var(--rd-heading) !important;
	letter-spacing: -0.01em !important;
	margin: 0 0 22px !important;
	text-wrap: balance;
}
body.uspa-rd .rdh-h2--light { color: #fff !important; }
body.uspa-rd .rdh-body {
	font-size: 16px !important;
	line-height: 1.8 !important;
	color: var(--rd-text) !important;
	max-width: 58ch;
	margin: 0 0 18px !important;
}
body.uspa-rd .rdh-rule { display: block; width: 64px; height: 1px; background: var(--rd-champagne-light); margin: 6px 0 26px; }
body.uspa-rd .rdh-rule--dark { background: var(--rd-champagne); }
body.uspa-rd .rdh-rule--center { margin-inline: auto; }

/* Buttons */
body.uspa-rd .rdh-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 34px; }
body.uspa-rd .rdh-actions--center { justify-content: center; }
body.uspa-rd .rdh-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 52px; padding: 0 30px; border-radius: 999px;
	font: 700 12.5px/1 var(--rd-sans) !important; letter-spacing: 0.16em; text-transform: uppercase;
	text-decoration: none !important; transition: background-color .3s ease, color .3s ease, border-color .3s ease, transform .3s ease, box-shadow .3s ease;
	border: 1px solid transparent;
}
body.uspa-rd .rdh-btn::after { content: "→"; font-size: 15px; letter-spacing: 0; transition: transform .3s ease; }
body.uspa-rd .rdh-btn:hover::after { transform: translateX(4px); }
body.uspa-rd .rdh-btn--light { background: var(--rd-ivory); color: var(--rd-ink) !important; box-shadow: 0 18px 40px -18px rgba(0,0,0,.6); }
body.uspa-rd .rdh-btn--light:hover { background: var(--rd-champagne-light); }
body.uspa-rd .rdh-btn--ghost { color: #fff !important; border-color: rgba(220,198,160,.55); background: rgba(255,255,255,.04); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
body.uspa-rd .rdh-btn--ghost:hover { border-color: var(--rd-champagne-light); color: var(--rd-champagne-light) !important; }
body.uspa-rd .rdh-btn--dark { background: var(--rd-ink); color: #fff !important; margin-top: 18px; box-shadow: 0 18px 40px -20px rgba(12,26,48,.7); }
body.uspa-rd .rdh-btn--dark:hover { background: var(--rd-sapphire); }

/* ---------- Hero ---------- */
body.uspa-rd .rdh-hero { position: relative; min-height: max(640px, 100svh); display: flex; align-items: center; background: var(--rd-ink); color: #fff; overflow: hidden; isolation: isolate; }
body.uspa-rd .rdh-hero__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
body.uspa-rd .rdh-hero__veil { position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(100deg, rgba(10,22,42,.92) 0%, rgba(10,22,42,.7) 45%, rgba(10,22,42,.25) 100%), linear-gradient(0deg, rgba(10,22,42,.6) 0%, rgba(10,22,42,0) 40%); }
body.uspa-rd .rdh-hero__inner { padding-block: 150px 120px; }
body.uspa-rd .rdh-hero__title { font: 500 clamp(48px, 7vw, 112px)/0.98 var(--rd-serif) !important; color: #fff !important; letter-spacing: -0.015em !important; margin: 0 0 18px !important; text-transform: none !important; }
body.uspa-rd .rdh-hero__sub { font: italic 500 clamp(24px, 2.8vw, 36px)/1.2 var(--rd-serif) !important; color: var(--rd-champagne-light) !important; margin: 0 0 26px !important; }
body.uspa-rd .rdh-hero__lead { font-size: clamp(16px, 1.3vw, 19px) !important; color: rgba(255,255,255,.82) !important; margin: 0 !important; max-width: 40ch; }
body.uspa-rd .rdh-scroll { position: absolute; left: 50%; bottom: 34px; width: 1px; height: 64px; background: rgba(220,198,160,.25); overflow: hidden; z-index: 3; }
body.uspa-rd .rdh-scroll span { position: absolute; left: 0; top: -40%; width: 1px; height: 40%; background: var(--rd-champagne-light); animation: rdh-scroll 2.4s cubic-bezier(.6,0,.3,1) infinite; }
@keyframes rdh-scroll { to { top: 110%; } }

/* Ornaments: hairline champagne geometry */
body.uspa-rd .rdh-orn { position: absolute; fill: none; stroke: var(--rd-champagne-light); stroke-width: 1; pointer-events: none; z-index: 1; }
body.uspa-rd .rdh-orn--hero { width: min(62vw, 720px); right: -12vw; top: 50%; translate: 0 -50%; opacity: .22; animation: rdh-spin 120s linear infinite; z-index: 0; }
@keyframes rdh-spin { to { rotate: 360deg; } }
body.uspa-rd .rdh-orn--why { width: min(900px, 90vw); left: 50%; translate: -50% 0; top: 40px; stroke: var(--rd-champagne); opacity: .45; }
body.uspa-rd .rdh-orn--expect { width: 180px; right: -48px; bottom: -48px; stroke: var(--rd-champagne); opacity: .8; }
body.uspa-rd .rdh-orn--cta { width: 760px; left: 50%; top: 50%; translate: -50% -50%; opacity: .25; }

/* Soft light orbs */
body.uspa-rd .rdh-orb { position: absolute; border-radius: 50%; filter: blur(10px); pointer-events: none; z-index: 0; }
body.uspa-rd .rdh-orb--a { width: 520px; height: 520px; right: -160px; top: 80px; background: radial-gradient(circle, rgba(220,198,160,.35), rgba(220,198,160,0) 70%); }
body.uspa-rd .rdh-orb--b { width: 600px; height: 600px; left: -220px; bottom: -120px; background: radial-gradient(circle, rgba(38,71,176,.14), rgba(38,71,176,0) 70%); }

/* ---------- Partners marquee ---------- */
body.uspa-rd .rdh-partners { background: var(--rd-ink); padding: 34px 0 30px; border-top: 1px solid rgba(220,198,160,.18); }
body.uspa-rd .rdh-partners__label { text-align: center; font: 600 11px/1 var(--rd-sans) !important; letter-spacing: .3em; text-transform: uppercase; color: rgba(255,255,255,.5) !important; margin: 0 0 14px !important; }
body.uspa-rd .rdh-marquee { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
body.uspa-rd .rdh-marquee__track { display: flex; align-items: center; gap: 56px; width: max-content; animation: rdh-marquee 48s linear infinite; }
body.uspa-rd .rdh-marquee:hover .rdh-marquee__track { animation-play-state: paused; }
body.uspa-rd .rdh-marquee img { width: 128px; height: auto; opacity: .62; filter: brightness(1.7) grayscale(1); transition: opacity .3s ease; }
body.uspa-rd .rdh-marquee img:hover { opacity: 1; }
@keyframes rdh-marquee { to { transform: translateX(-50%); } }

/* ---------- Split sections ---------- */
body.uspa-rd .rdh-intro, body.uspa-rd .rdh-expect { position: relative; padding: clamp(90px, 11vw, 160px) 0; background: var(--rd-ivory); overflow: hidden; }
body.uspa-rd .rdh-expect { background: var(--rd-pearl); }
body.uspa-rd .rdh-split { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: clamp(40px, 7vw, 110px); align-items: center; }
body.uspa-rd .rdh-split--reverse { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); }
body.uspa-rd .rdh-split--reverse .rdh-figure { order: 2; }
body.uspa-rd .rdh-copy { min-width: 0; }

body.uspa-rd .rdh-figure { position: relative; margin: 0; }
body.uspa-rd .rdh-figure img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 4px; box-shadow: 0 40px 80px -40px rgba(12,26,48,.55); }
body.uspa-rd .rdh-figure--framed::before { content: ""; position: absolute; inset: 28px -28px -28px 28px; border: 1px solid var(--rd-champagne); border-radius: 4px; z-index: -1; }
body.uspa-rd .rdh-figure--arch img { border-radius: 999px 999px 6px 6px; }
body.uspa-rd .rdh-badge {
	position: absolute; left: -34px; bottom: 48px; background: var(--rd-ink); color: rgba(255,255,255,.75);
	padding: 22px 26px; border-radius: 4px; font: 500 12px/1.4 var(--rd-sans); letter-spacing: .16em; text-transform: uppercase;
	box-shadow: 0 30px 60px -30px rgba(12,26,48,.8); border-top: 1px solid var(--rd-champagne);
}
body.uspa-rd .rdh-badge strong { display: block; font: 500 44px/1 var(--rd-serif); color: var(--rd-champagne-light); letter-spacing: 0; margin-bottom: 6px; text-transform: none; }

body.uspa-rd .rdh-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 34px 0 10px !important; border-top: 1px solid var(--rd-line); }
body.uspa-rd .rdh-stats > div { padding: 22px 20px 22px 0; border-bottom: 1px solid var(--rd-line); }
body.uspa-rd .rdh-stats > div:nth-child(odd) { border-right: 1px solid var(--rd-line); }
body.uspa-rd .rdh-stats > div:nth-child(even) { padding-left: 24px; }
body.uspa-rd .rdh-stats dt { font: 500 clamp(34px, 3.2vw, 46px)/1 var(--rd-serif); color: var(--rd-heading); font-variant-numeric: tabular-nums; margin: 0 0 8px; }
body.uspa-rd .rdh-stats dd { margin: 0; font-size: 13px; line-height: 1.5; color: var(--rd-text); letter-spacing: .02em; }

/* ---------- Why: cards ---------- */
body.uspa-rd .rdh-why { position: relative; padding: clamp(100px, 12vw, 170px) 0; background: var(--rd-pearl); overflow: hidden; }
body.uspa-rd .rdh-head { text-align: center; max-width: 720px; margin: 0 auto 64px; }
body.uspa-rd .rdh-head .rdh-eyebrow { justify-content: center; }
body.uspa-rd .rdh-head .rdh-body { margin-inline: auto !important; }
body.uspa-rd .rdh-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
body.uspa-rd .rdh-card { position: relative; border-radius: 4px; overflow: hidden; aspect-ratio: 3 / 4.4; background: var(--rd-ink); isolation: isolate; box-shadow: 0 40px 70px -40px rgba(12,26,48,.6); }
body.uspa-rd .rdh-card:nth-child(even) { translate: 0 44px; }
body.uspa-rd .rdh-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; transition: transform 1.2s cubic-bezier(.2,.7,.2,1); }
body.uspa-rd .rdh-card::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg, rgba(10,22,42,.94) 0%, rgba(10,22,42,.55) 42%, rgba(10,22,42,0) 70%); }
body.uspa-rd .rdh-card:hover img { transform: scale(1.06); }
body.uspa-rd .rdh-card__body { position: absolute; inset: auto 0 0 0; padding: 26px 24px 28px; }
body.uspa-rd .rdh-card h3 { font: 500 clamp(24px, 2vw, 30px)/1.1 var(--rd-serif) !important; color: #fff !important; margin: 0 0 12px !important; letter-spacing: 0 !important; }
body.uspa-rd .rdh-card h3::after { content: ""; display: block; width: 34px; height: 1px; background: var(--rd-champagne-light); margin-top: 14px; transition: width .5s ease; }
body.uspa-rd .rdh-card:hover h3::after { width: 72px; }
body.uspa-rd .rdh-card p { font-size: 14px !important; line-height: 1.65 !important; color: rgba(255,255,255,.8) !important; margin: 0 !important; }

/* ---------- Expect: checklist ---------- */
body.uspa-rd .rdh-checks { list-style: none !important; margin: 28px 0 8px !important; padding: 0 !important; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
body.uspa-rd .rdh-checks li { position: relative; padding: 16px 0 16px 40px; border-bottom: 1px solid var(--rd-line); font-weight: 600; font-size: 15px; color: var(--rd-heading); margin: 0 !important; }
body.uspa-rd .rdh-checks li::before {
	content: ""; position: absolute; left: 0; top: 50%; translate: 0 -50%; width: 26px; height: 26px; border-radius: 50%;
	border: 1px solid var(--rd-champagne);
	background: var(--rd-ivory) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23b08f5c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 14px no-repeat;
}

/* ---------- Quote ---------- */
body.uspa-rd .rdh-quote { position: relative; min-height: 620px; display: flex; align-items: center; overflow: hidden; background: var(--rd-ink); isolation: isolate; }
body.uspa-rd .rdh-quote__media { position: absolute; inset: -12% 0; background-size: cover; background-position: center right; z-index: -2; }
body.uspa-rd .rdh-quote::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg, rgba(10,22,42,.95) 0%, rgba(10,22,42,.82) 45%, rgba(10,22,42,.2) 100%); }
body.uspa-rd .rdh-quote__inner { padding-block: 110px; }
body.uspa-rd .rdh-quote__mark { display: block; font: 500 160px/0.6 var(--rd-serif); color: var(--rd-champagne-light); height: 70px; }
body.uspa-rd .rdh-quote blockquote { margin: 0 !important; padding: 0 !important; border: 0 !important; max-width: 680px; background: none !important; }
body.uspa-rd .rdh-quote blockquote p { font: italic 500 clamp(24px, 2.5vw, 34px)/1.4 var(--rd-serif) !important; color: #fff !important; margin: 0 !important; }

/* ---------- CTA ---------- */
body.uspa-rd .rdh-cta { position: relative; padding: clamp(110px, 13vw, 180px) 0; overflow: hidden; background: var(--rd-ink); text-align: center; isolation: isolate; }
body.uspa-rd .rdh-cta__media { position: absolute; inset: -12% 0; background-size: cover; background-position: center; z-index: -2; }
body.uspa-rd .rdh-cta::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(ellipse at center, rgba(10,22,42,.72) 0%, rgba(10,22,42,.92) 70%); }
body.uspa-rd .rdh-cta .rdh-eyebrow { justify-content: center; }
body.uspa-rd .rdh-cta .rdh-h2 { font-size: clamp(44px, 6vw, 84px) !important; }

/* ---------- Scroll décor (progressive enhancement: only hidden once JS is running) ---------- */
body.uspa-rd .rd-progress { position: fixed; left: 0; top: 0; height: 2px; width: 100%; transform-origin: 0 50%; transform: scaleX(0); background: linear-gradient(90deg, var(--rd-champagne), var(--rd-champagne-light)); z-index: 100000; pointer-events: none; }
html.rd-js body.uspa-rd .rd-reveal { opacity: 0; transform: translate3d(0, 28px, 0); transition: opacity 1s cubic-bezier(.2,.7,.2,1), transform 1s cubic-bezier(.2,.7,.2,1); }
html.rd-js body.uspa-rd .rd-reveal[data-delay="1"] { transition-delay: .08s; }
html.rd-js body.uspa-rd .rd-reveal[data-delay="2"] { transition-delay: .16s; }
html.rd-js body.uspa-rd .rd-reveal[data-delay="3"] { transition-delay: .24s; }
html.rd-js body.uspa-rd .rd-reveal[data-delay="4"] { transition-delay: .32s; }
html.rd-js body.uspa-rd .rd-reveal.is-in { opacity: 1; transform: none; }
html.rd-js body.uspa-rd .rdh-card.rd-reveal.is-in:nth-child(even) { transform: none; }
html.rd-js body.uspa-rd .rd-wipe img { clip-path: inset(100% 0 0 0); transition: clip-path 1.4s cubic-bezier(.7,0,.2,1); }
html.rd-js body.uspa-rd .rd-wipe.is-in img { clip-path: inset(0 0 0 0); }
html.rd-js body.uspa-rd .rd-draw { stroke-dasharray: var(--len, 2000); stroke-dashoffset: var(--len, 2000); transition: stroke-dashoffset 2.6s cubic-bezier(.6,0,.2,1); }
html.rd-js body.uspa-rd .is-in .rd-draw, html.rd-js body.uspa-rd .rd-draw.is-in { stroke-dashoffset: 0; }

/* Inner pages: decorative ring in photo heroes */
body.uspa-rd:not(.home) .post-content > .fusion-fullwidth.fusion-builder-row-1.lazyloaded::after {
	content: ""; position: absolute; width: 560px; height: 560px; right: -180px; top: 50%; translate: 0 -50%;
	border: 1px solid rgba(220,198,160,.28); border-radius: 50%; z-index: 1; pointer-events: none;
	box-shadow: inset 0 0 0 60px rgba(220,198,160,0), 0 0 0 60px rgba(220,198,160,0);
	outline: 1px solid rgba(220,198,160,.14); outline-offset: 56px;
}

/* ---------- Responsive ---------- */
@media (max-width: 1100px) {
	body.uspa-rd .rdh-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.uspa-rd .rdh-card:nth-child(even) { translate: 0 0; }
}
@media (max-width: 767px) {
	body.uspa-rd .rdh-split, body.uspa-rd .rdh-split--reverse { grid-template-columns: minmax(0, 1fr); }
	body.uspa-rd .rdh-split--reverse .rdh-figure { order: 0; }
	body.uspa-rd .rdh-figure { max-width: 520px; }
	body.uspa-rd .rdh-figure--framed::before { inset: 18px -14px -18px 14px; }
	body.uspa-rd .rdh-badge { left: 12px; bottom: 18px; padding: 16px 18px; }
	body.uspa-rd .rdh-badge strong { font-size: 34px; }
	body.uspa-rd .rdh-orn--expect { right: -20px; bottom: -30px; width: 130px; }
	body.uspa-rd .rdh-quote__media { background-position: 70% center; }
	body.uspa-rd .rdh-quote::before { background: linear-gradient(0deg, rgba(10,22,42,.95) 0%, rgba(10,22,42,.8) 60%, rgba(10,22,42,.45) 100%); }
}
@media (max-width: 560px) {
	body.uspa-rd .rdh-wrap { width: calc(100% - 32px); }
	body.uspa-rd .rdh-cards { grid-template-columns: minmax(0, 1fr); }
	body.uspa-rd .rdh-card { aspect-ratio: 4 / 4.6; }
	body.uspa-rd .rdh-checks { grid-template-columns: minmax(0, 1fr); }
	body.uspa-rd .rdh-stats > div { padding-right: 12px; }
	body.uspa-rd .rdh-stats > div:nth-child(even) { padding-left: 14px; }
	body.uspa-rd .rdh-hero__inner { padding-block: 130px 110px; }
	body.uspa-rd .rdh-actions .rdh-btn { width: 100%; }
	body.uspa-rd .rdh-orn--hero { width: 120vw; right: -60vw; }
}
@media (prefers-reduced-motion: reduce) {
	body.uspa-rd .rdh-marquee__track, body.uspa-rd .rdh-orn--hero, body.uspa-rd .rdh-scroll span { animation: none !important; }
	html.rd-js body.uspa-rd .rd-reveal, html.rd-js body.uspa-rd .rd-wipe img { opacity: 1 !important; transform: none !important; clip-path: none !important; transition: none !important; }
	html.rd-js body.uspa-rd .rd-draw { stroke-dashoffset: 0 !important; transition: none !important; }
}

/* ======================================================================
   Inner pages (.rdh--page): page hero, chips, steps, areas, logos, join, FAQ, legal
   ====================================================================== */

/* Page hero */
body.uspa-rd .rdh-pagehero { position: relative; min-height: clamp(520px, 78svh, 760px); display: flex; align-items: flex-end; background: var(--rd-ink); color: #fff; overflow: hidden; isolation: isolate; }
body.uspa-rd .rdh-pagehero__media { position: absolute; inset: -10% 0; background-size: cover; background-position: center right; z-index: -2; }
body.uspa-rd .rdh-pagehero::before { content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(100deg, rgba(10,22,42,.94) 0%, rgba(10,22,42,.74) 46%, rgba(10,22,42,.3) 100%), linear-gradient(0deg, rgba(10,22,42,.7) 0%, rgba(10,22,42,0) 45%); }
body.uspa-rd .rdh-pagehero__inner { padding-block: 170px clamp(70px, 9vw, 120px); }
body.uspa-rd .rdh-pagehero__title { font-size: clamp(46px, 6.4vw, 96px) !important; }
body.uspa-rd .rdh-pagehero .rdh-hero__lead { max-width: 54ch; line-height: 1.7 !important; }
body.uspa-rd .rdh-pagehero .rdh-orn--hero { width: min(52vw, 620px); right: -10vw; opacity: .18; }

/* Chips */
body.uspa-rd .rdh-chipset { margin-top: 26px; }
body.uspa-rd .rdh-chipset--center { text-align: center; margin-top: 56px; }
body.uspa-rd .rdh-chipset__label { font: 600 11px/1 var(--rd-sans) !important; letter-spacing: .26em; text-transform: uppercase; color: var(--rd-champagne) !important; margin: 0 0 12px !important; }
body.uspa-rd .rdh-chips { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 8px; }
body.uspa-rd .rdh-chipset--center .rdh-chips { justify-content: center; }
body.uspa-rd .rdh-chips li { margin: 0 !important; padding: 9px 16px; border-radius: 999px; background: var(--rd-ink); color: #fff; font: 500 13px/1.2 var(--rd-sans); letter-spacing: .02em; }
body.uspa-rd .rdh-chips--outline li { background: transparent; color: var(--rd-heading); border: 1px solid var(--rd-line); }

/* Steps (Our Approach) */
body.uspa-rd .rdh-steps { position: relative; padding: clamp(100px, 12vw, 160px) 0; background: var(--rd-ink); overflow: hidden; }
body.uspa-rd .rdh-steps .rdh-head { margin-bottom: 70px; }
body.uspa-rd .rdh-orn--steps { width: 100%; height: 40px; left: 0; top: calc(50% + 70px); opacity: .5; }
body.uspa-rd .rdh-steps__list { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 26px; counter-reset: none; }
body.uspa-rd .rdh-steps__list li { position: relative; margin: 0 !important; padding: 34px 28px 32px; background: rgba(255,255,255,.035); border: 1px solid rgba(220,198,160,.2); border-radius: 4px; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); transition: border-color .4s ease, transform .4s ease; }
body.uspa-rd .rdh-steps__list li:hover { border-color: rgba(220,198,160,.55); transform: translateY(-4px); }
body.uspa-rd .rdh-steps__num { display: block; font: 500 54px/1 var(--rd-serif); color: var(--rd-champagne-light); margin-bottom: 22px; font-variant-numeric: tabular-nums; }
body.uspa-rd .rdh-steps__list h3 { font: 500 clamp(22px, 1.8vw, 26px)/1.15 var(--rd-serif) !important; color: #fff !important; margin: 0 0 12px !important; }
body.uspa-rd .rdh-steps__list p { font-size: 14.5px !important; line-height: 1.7 !important; color: rgba(255,255,255,.72) !important; margin: 0 !important; }

/* Therapeutic areas */
body.uspa-rd .rdh-areas { position: relative; padding: clamp(100px, 12vw, 160px) 0; background: var(--rd-pearl); overflow: hidden; }
body.uspa-rd .rdh-areas__grid { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
body.uspa-rd .rdh-area { margin: 0 !important; padding: 28px 26px 26px; background: var(--rd-ivory); border: 1px solid var(--rd-line); border-top: 2px solid var(--rd-champagne); border-radius: 4px; box-shadow: 0 30px 60px -44px rgba(12,26,48,.45); }
body.uspa-rd .rdh-area h3 { font: 500 24px/1.15 var(--rd-serif) !important; color: var(--rd-heading) !important; margin: 0 0 14px !important; }
body.uspa-rd .rdh-area ul { list-style: none !important; margin: 0 !important; padding: 0 !important; }
body.uspa-rd .rdh-area ul li { margin: 0 !important; padding: 7px 0 7px 18px; position: relative; font-size: 14.5px; color: var(--rd-text); border-top: 1px solid var(--rd-line); }
body.uspa-rd .rdh-area ul li:first-child { border-top: 0; }
body.uspa-rd .rdh-area ul li::before { content: ""; position: absolute; left: 0; top: 50%; width: 6px; height: 6px; border-radius: 50%; translate: 0 -50%; background: var(--rd-champagne); }

/* Partner logo grid */
body.uspa-rd .rdh-partners-grid { padding: clamp(90px, 11vw, 140px) 0; background: var(--rd-ivory); }
body.uspa-rd .rdh-logos { list-style: none !important; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--rd-line); border-left: 1px solid var(--rd-line); }
body.uspa-rd .rdh-logos li { margin: 0 !important; display: flex; align-items: center; justify-content: center; padding: 26px; border-right: 1px solid var(--rd-line); border-bottom: 1px solid var(--rd-line); aspect-ratio: 16 / 9; transition: background-color .3s ease; }
body.uspa-rd .rdh-logos li:hover { background: #fff; }
body.uspa-rd .rdh-logos img { width: min(150px, 80%); height: auto; filter: brightness(.55) grayscale(1); opacity: .75; transition: opacity .3s ease, filter .3s ease; }
body.uspa-rd .rdh-logos li:hover img { opacity: 1; filter: brightness(.35) grayscale(1); }

/* Join: form + contact */
body.uspa-rd .rdh-join { position: relative; padding: clamp(90px, 11vw, 150px) 0; background: var(--rd-ivory); overflow: hidden; }
body.uspa-rd .rdh-join__grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(28px, 4vw, 56px); align-items: start; }
body.uspa-rd .rdh-formcard { background: #fff; border: 1px solid var(--rd-line); border-radius: 6px; padding: clamp(28px, 4vw, 56px); box-shadow: 0 40px 80px -50px rgba(12,26,48,.45); min-width: 0; }
body.uspa-rd .rdh-formcard .fusion-form { margin-top: 26px; }
body.uspa-rd .rdh-formcard .fusion-form-field { margin-bottom: 14px !important; }
body.uspa-rd .rdh-formcard .fusion-form input[type="text"],
body.uspa-rd .rdh-formcard .fusion-form input[type="email"],
body.uspa-rd .rdh-formcard .fusion-form textarea { width: 100% !important; font-size: 16px !important; background: var(--rd-ivory) !important; }
body.uspa-rd .rdh-formcard .fusion-form textarea { min-height: 150px; }
body.uspa-rd .rdh-formcard .fusion-form .fusion-button,
body.uspa-rd .rdh-formcard .fusion-form button[type="submit"] { width: auto; min-height: 52px; background: var(--rd-ink) !important; border-color: var(--rd-ink) !important; }
body.uspa-rd .rdh-formcard .fusion-form .fusion-button:hover { background: var(--rd-sapphire) !important; border-color: var(--rd-sapphire) !important; }
body.uspa-rd .rdh-contact { background: var(--rd-ink); color: #fff; border-radius: 6px; padding: clamp(28px, 4vw, 48px); position: relative; overflow: hidden; box-shadow: 0 40px 80px -40px rgba(12,26,48,.7); min-width: 0; }
body.uspa-rd .rdh-contact::after { content: ""; position: absolute; width: 320px; height: 320px; right: -140px; top: -140px; border: 1px solid rgba(220,198,160,.25); border-radius: 50%; outline: 1px solid rgba(220,198,160,.12); outline-offset: 30px; pointer-events: none; }
body.uspa-rd .rdh-contact__title { font: 500 34px/1.1 var(--rd-serif) !important; color: #fff !important; margin: 0 0 26px !important; }
body.uspa-rd .rdh-contact__list { list-style: none !important; margin: 0 0 30px !important; padding: 0 !important; }
body.uspa-rd .rdh-contact__list li { margin: 0 !important; padding: 16px 0; border-top: 1px solid rgba(255,255,255,.1); display: grid; gap: 6px; }
body.uspa-rd .rdh-contact__label { font: 600 11px/1 var(--rd-sans); letter-spacing: .26em; text-transform: uppercase; color: var(--rd-champagne-light); }
body.uspa-rd .rdh-contact__list a { color: #fff !important; font-size: 17px; line-height: 1.5; text-decoration: none !important; overflow-wrap: anywhere; }
body.uspa-rd .rdh-contact__list a:hover { color: var(--rd-champagne-light) !important; }
body.uspa-rd .rdh-emergency { border: 1px solid rgba(220,198,160,.35); border-radius: 4px; padding: 20px 22px; display: flex; align-items: center; justify-content: space-between; gap: 16px; }
body.uspa-rd .rdh-emergency p { margin: 0 !important; font-size: 14px !important; line-height: 1.5 !important; color: rgba(255,255,255,.75) !important; max-width: 22ch; }
body.uspa-rd .rdh-emergency__num { font: 500 48px/1 var(--rd-serif); color: var(--rd-champagne-light) !important; text-decoration: none !important; }

/* FAQ */
body.uspa-rd .rdh-faq { padding: clamp(100px, 12vw, 160px) 0; background: var(--rd-pearl); }
body.uspa-rd .rdh-faq__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 40px; border-top: 1px solid var(--rd-line); }
body.uspa-rd .rdh-faq__item { border-bottom: 1px solid var(--rd-line); }
body.uspa-rd .rdh-faq__item summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 24px 0; }
body.uspa-rd .rdh-faq__item summary::-webkit-details-marker { display: none; }
body.uspa-rd .rdh-faq__item h3 { font: 500 clamp(19px, 1.6vw, 22px)/1.3 var(--rd-serif) !important; color: var(--rd-heading) !important; margin: 0 !important; letter-spacing: 0 !important; }
body.uspa-rd .rdh-faq__icon { flex: 0 0 34px; height: 34px; border-radius: 50%; border: 1px solid var(--rd-champagne); position: relative; transition: background-color .3s ease, transform .4s ease; }
body.uspa-rd .rdh-faq__icon::before, body.uspa-rd .rdh-faq__icon::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 1px; background: var(--rd-champagne); translate: -50% -50%; }
body.uspa-rd .rdh-faq__icon::after { rotate: 90deg; transition: rotate .4s ease; }
body.uspa-rd .rdh-faq__item[open] .rdh-faq__icon { background: var(--rd-ink); border-color: var(--rd-ink); }
body.uspa-rd .rdh-faq__item[open] .rdh-faq__icon::before, body.uspa-rd .rdh-faq__item[open] .rdh-faq__icon::after { background: var(--rd-champagne-light); }
body.uspa-rd .rdh-faq__item[open] .rdh-faq__icon::after { rotate: 0deg; }
body.uspa-rd .rdh-faq__item p { margin: 0 0 24px !important; padding-right: 52px; font-size: 15.5px !important; line-height: 1.75 !important; color: var(--rd-text) !important; }
body.uspa-rd .rdh-faq__item summary:focus-visible { outline: 2px solid var(--rd-champagne); outline-offset: 4px; }

/* Legal pages (Privacy, Accessibility): original text in a refined reading column */
body.uspa-rd .rdh-legal { background: var(--rd-ivory); padding: clamp(70px, 9vw, 120px) 0; }
body.uspa-rd .rdh-legal__body { max-width: 780px; margin: 0 auto; background: #fff; border: 1px solid var(--rd-line); border-radius: 6px; padding: clamp(28px, 5vw, 72px); box-shadow: 0 40px 80px -55px rgba(12,26,48,.45); }
body.uspa-rd .rdh-legal__body .fusion-fullwidth,
body.uspa-rd .rdh-legal__body .fusion-builder-row,
body.uspa-rd .rdh-legal__body .fusion-layout-column,
body.uspa-rd .rdh-legal__body .fusion-column-wrapper { padding: 0 !important; margin: 0 !important; max-width: 100% !important; width: 100% !important; background: none !important; box-shadow: none !important; min-height: 0 !important; }
body.uspa-rd .rdh-legal__body h1 { display: none !important; }
body.uspa-rd .rdh-legal__body h2 { font: 500 clamp(26px, 2.6vw, 34px)/1.2 var(--rd-serif) !important; color: var(--rd-heading) !important; margin: 48px 0 14px !important; letter-spacing: 0 !important; }
body.uspa-rd .rdh-legal__body h3 { font: 500 clamp(20px, 1.8vw, 24px)/1.25 var(--rd-serif) !important; color: var(--rd-heading) !important; margin: 30px 0 10px !important; letter-spacing: 0 !important; }
body.uspa-rd .rdh-legal__body h2:first-child, body.uspa-rd .rdh-legal__body h2:first-of-type { margin-top: 0 !important; }
body.uspa-rd .rdh-legal__body p, body.uspa-rd .rdh-legal__body li { font-size: 16px !important; line-height: 1.8 !important; color: var(--rd-text) !important; }
body.uspa-rd .rdh-legal__body a { color: var(--rd-sapphire) !important; }
body.uspa-rd .rdh-legal__body hr { border: 0; border-top: 1px solid var(--rd-line); margin: 36px 0; }
body.uspa-rd .rdh-legal__body section, body.uspa-rd .rdh-legal__body div[class*="uspa-"] { background: none !important; box-shadow: none !important; padding-left: 0 !important; padding-right: 0 !important; max-width: 100% !important; }

/* ---------- Responsive: tablets ---------- */
@media (max-width: 1100px) {
	body.uspa-rd .rdh-steps__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.uspa-rd .rdh-orn--steps { display: none; }
	body.uspa-rd .rdh-areas__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
	body.uspa-rd .rdh-join__grid { grid-template-columns: minmax(0, 1fr); }
	body.uspa-rd .rdh-areas__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.uspa-rd .rdh-faq__grid { grid-template-columns: minmax(0, 1fr); }
	body.uspa-rd .rdh-logos { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	body.uspa-rd .rdh-logos li { padding: 16px; }
}
/* ---------- Responsive: phones ---------- */
@media (max-width: 600px) {
	body.uspa-rd .rdh-pagehero { min-height: 560px; }
	body.uspa-rd .rdh-pagehero__inner { padding-block: 140px 64px; }
	body.uspa-rd .rdh-pagehero__media { background-position: 65% center; }
	body.uspa-rd .rdh-steps__list { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	body.uspa-rd .rdh-steps__list li { padding: 26px 22px; display: grid; grid-template-columns: 56px minmax(0, 1fr); column-gap: 14px; }
	body.uspa-rd .rdh-steps__num { font-size: 40px; margin: 0; grid-row: span 2; }
	body.uspa-rd .rdh-areas__grid { grid-template-columns: minmax(0, 1fr); }
	body.uspa-rd .rdh-logos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body.uspa-rd .rdh-emergency { flex-direction: row; }
	body.uspa-rd .rdh-faq__item p { padding-right: 0; }
	body.uspa-rd .rdh-head { margin-bottom: 44px; }
}
body.uspa-rd .rdh-pagehero--legal { min-height: clamp(380px, 52svh, 520px); background: radial-gradient(ellipse at 80% 20%, #1b3360 0%, var(--rd-ink) 60%); }
body.uspa-rd .rdh-pagehero--legal::before { display: none; }

/* Avada form inside the redesigned card: drop the builder's negative gutters so fields align with the card */
body.uspa-rd .rdh-formcard .fusion-form .fusion-builder-row,
body.uspa-rd .rdh-formcard .fusion-form .fusion-fullwidth { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; width: 100% !important; max-width: 100% !important; }
body.uspa-rd .rdh-formcard .fusion-form .fusion-layout-column { padding-left: 0 !important; padding-right: 0 !important; margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; }
body.uspa-rd .rdh-formcard .fusion-form .fusion-column-wrapper { padding: 0 !important; margin: 0 !important; }
/* Small caps labels: 12px floor on phones */
@media (max-width: 600px) {
	body.uspa-rd .rdh-partners__label, body.uspa-rd .rdh-chipset__label, body.uspa-rd .rdh-contact__label { font-size: 12px !important; }
}

/* Redesigned pages start flush under the transparent header and end flush on the footer */
body.uspa-rd #main:has(.rdh),
body.uspa-rd.page-id-908 #main,
body.uspa-rd.page-id-1011 #main { padding-top: 0 !important; padding-bottom: 0 !important; }

/* Breadcrumb trail in page heroes */
body.uspa-rd .rdh-crumbs { font: 600 12px/1.5 var(--rd-sans); letter-spacing: .16em; text-transform: uppercase; color: rgba(255,255,255,.55); margin: 0 0 28px; }
body.uspa-rd .rdh-crumbs a { color: rgba(255,255,255,.85) !important; text-decoration: none !important; transition: color .25s ease; }
body.uspa-rd .rdh-crumbs a:hover { color: var(--rd-champagne-light) !important; }
body.uspa-rd .rdh-crumbs .breadcrumb_last { color: var(--rd-champagne-light); }
