/*
 * Ronald McDonald House Southwest brand layer (Oct 2026 rebrand).
 * Source of truth: rmhc-rebrand/brand-spec.md (Frontify Brand Hub).
 * Type is Black or Soft White only. Red is for fills, never text.
 */

/* Audrey (bespoke Ronald McDonald House typeface), web files supplied by Global. */
@font-face { font-family: "Audrey Display"; src: url("assets/fonts/AudreyDisplay-Bold.woff2") format("woff2"), url("assets/fonts/AudreyDisplay-Bold.woff") format("woff"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Audrey Display"; src: url("assets/fonts/AudreyDisplay-BoldItalic.woff2") format("woff2"), url("assets/fonts/AudreyDisplay-BoldItalic.woff") format("woff"); font-weight: 700; font-style: italic; font-display: swap; }
@font-face { font-family: "Audrey Text"; src: url("assets/fonts/AudreyText-Regular.woff2") format("woff2"), url("assets/fonts/AudreyText-Regular.woff") format("woff"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: "Audrey Text"; src: url("assets/fonts/AudreyText-Italic.woff2") format("woff2"), url("assets/fonts/AudreyText-Italic.woff") format("woff"); font-weight: 400; font-style: italic; font-display: swap; }
@font-face { font-family: "Audrey Text"; src: url("assets/fonts/AudreyText-Bold.woff2") format("woff2"), url("assets/fonts/AudreyText-Bold.woff") format("woff"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "Audrey Text"; src: url("assets/fonts/AudreyText-BoldItalic.woff2") format("woff2"), url("assets/fonts/AudreyText-BoldItalic.woff") format("woff"); font-weight: 700; font-style: italic; font-display: swap; }

:root {
	--rmh-red: #DB0007;
	--rmh-soft-white: #FFFDE9;
	--rmh-black: #000000;
	--rmh-lavender: #D0C9FF;
	--rmh-aqua: #8EE7F8;
	--rmh-lime: #9CD83E;
	--rmh-gold: #FFBC0D;
	--rmh-purple: #91187D;
	--rmh-blue: #1B43B2;
	--rmh-green: #32610A;
	--rmh-orange: #FF6E0D;
	--rmh-rule: rgba(0, 0, 0, .35);
	--rmh-radius: 24px;

	/* Tahoma is the brand-approved web-safe fallback. */
	--font-display: "Audrey Display", Tahoma, "Segoe UI", system-ui, sans-serif;
	--font-text: "Audrey Text", Tahoma, "Segoe UI", system-ui, sans-serif;
}

/* ---------- Base ---------- */

html body,
body #ajax-content-wrap,
body .container-wrap,
body #header-outer,
body #search-outer {
	background-color: var(--rmh-soft-white);
}

body,
body p,
body li,
body input,
body textarea,
body select,
body label,
body .wpb_text_column {
	font-family: var(--font-text);
	color: var(--rmh-black);
	letter-spacing: 0;
}

body {
	font-size: 18px;
	line-height: 1.4;
}

body p {
	font-size: 18px;
	line-height: 1.4;
	font-weight: 400;
}

body h1, body h2,
body .row .col h1, body .row .col h2 {
	font-family: var(--font-display);
	font-weight: 700;
	text-transform: none;
	letter-spacing: 0;
	line-height: 1;
	color: var(--rmh-black);
}

body h1, body .row .col h1 { font-size: clamp(2.5rem, 5vw, 4rem); }
body h2, body .row .col h2 { font-size: clamp(2rem, 3.5vw, 3rem); }

body h3, body h4, body h5, body h6,
body .row .col h3, body .row .col h4, body .row .col h5, body .row .col h6 {
	font-family: var(--font-text);
	font-weight: 700;
	text-transform: none;
	letter-spacing: 0;
	line-height: 1.2;
	color: var(--rmh-black);
}

body h3, body .row .col h3 { font-size: 1.5rem; }
body h4, body .row .col h4 { font-size: 1.25rem; }

body strong, body b { font-weight: 700; }

/* Brand bans all-caps and right-aligned text blocks. */
body *:not(.icon-default-style):not([class*="fa-"]) { text-transform: none !important; }

/* Text on dark sections (Salient "light" text rows) uses Soft White. */
body .light h1, body .light h2, body .light h3, body .light h4, body .light h5, body .light h6,
body .light p, body .light li, body .light a:not(.nectar-button) {
	color: var(--rmh-soft-white) !important;
}

/* ---------- Links: never red ---------- */

body .container-wrap a:not(.nectar-button):not(.nectar-cta a):not([class*="btn"]),
body #footer-outer a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: .15em;
	text-decoration-thickness: 1px;
}

body .container-wrap a:not(.nectar-button):hover,
body #footer-outer a:hover {
	color: inherit !important;
	text-decoration-thickness: 3px;
}

/* ---------- Focus ---------- */

body a:focus-visible,
body button:focus-visible,
body input:focus-visible,
body select:focus-visible,
body textarea:focus-visible {
	outline: 3px solid var(--rmh-black);
	outline-offset: 2px;
}

body .light a:focus-visible,
body #footer-outer a:focus-visible,
body #header-secondary-outer a:focus-visible {
	outline-color: var(--rmh-soft-white);
}

/* ---------- Buttons ---------- */

body .nectar-button,
body a.nectar-button,
body .wpforms-submit,
body input[type="submit"],
body button[type="submit"] {
	font-family: var(--font-text) !important;
	font-weight: 700 !important;
	letter-spacing: .005em !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

/* Primary: red fill, Soft White label. Covers Salient accent and extra-color buttons. */
body .nectar-button.regular-button,
body .nectar-button[class*="accent-color"],
body .nectar-button[class*="extra-color"],
body .wpforms-submit,
body input[type="submit"],
body button[type="submit"] {
	background-color: var(--rmh-red) !important;
	border-color: var(--rmh-red) !important;
	color: var(--rmh-soft-white) !important;
}

body .nectar-button.regular-button span,
body .nectar-button[class*="accent-color"] span,
body .nectar-button[class*="extra-color"] span {
	color: var(--rmh-soft-white) !important;
}

/* Secondary: outline on light backgrounds. */
body .nectar-button.see-through,
body .nectar-button.see-through-2,
body .nectar-button.see-through-3 {
	background-color: transparent !important;
	border: 2px solid var(--rmh-black) !important;
	color: var(--rmh-black) !important;
}

/* Outline buttons keep a black label even when Salient adds an accent/extra color class. */
body .nectar-button.see-through span,
body .nectar-button.see-through-2 span,
body .nectar-button.see-through-3 span {
	color: var(--rmh-black) !important;
}

/* On red or dark rows: Soft White fill, black label. */
body .light .nectar-button,
body #footer-outer .nectar-button {
	background-color: var(--rmh-soft-white) !important;
	border-color: var(--rmh-soft-white) !important;
	color: var(--rmh-black) !important;
}

body .light .nectar-button span,
body #footer-outer .nectar-button span {
	color: var(--rmh-black) !important;
}

/* ---------- Header ---------- */

body #header-outer {
	box-shadow: none !important;
	border-bottom: 1px solid var(--rmh-rule);
}

body #header-outer #logo img {
	min-height: 80px;
	filter: none !important;
}

body #header-outer header nav > ul > li > a,
body #header-outer .sf-menu li ul li a {
	font-family: var(--font-text) !important;
	font-weight: 700 !important;
	font-size: 17px !important;
	color: var(--rmh-black) !important;
}

body #header-outer header nav > ul > li > a:hover,
body #header-outer header nav > ul > li.current-menu-item > a,
body #header-outer header nav > ul > li.current-menu-ancestor > a {
	text-decoration: underline;
	text-decoration-thickness: 3px;
	text-underline-offset: .35em;
}

body #header-outer .sf-menu li ul {
	background-color: var(--rmh-soft-white) !important;
	border-radius: 16px;
	box-shadow: 0 0 0 1px var(--rmh-rule) !important;
}

/* Secondary bar: red band, Soft White type. */
body #header-secondary-outer {
	background-color: var(--rmh-red) !important;
	border: 0 !important;
}

body #header-secondary-outer,
body #header-secondary-outer nav > ul > li > a {
	font-family: var(--font-text) !important;
	font-weight: 700 !important;
	color: var(--rmh-soft-white) !important;
}

body #header-secondary-outer nav > ul > li > a {
	background: transparent !important;
}

/* Off-canvas mobile menu on red. */
#slide-out-widget-area:not(.fullscreen-alt):not(.fullscreen),
#slide-out-widget-area-bg.fullscreen,
#slide-out-widget-area-bg.fullscreen-split,
#slide-out-widget-area-bg.fullscreen-alt .bg-inner,
body.material #slide-out-widget-area-bg.slide-out-from-right,
#slide-out-widget-area-bg.slide-out-from-right {
	background-color: var(--rmh-red) !important;
}

#slide-out-widget-area a,
#slide-out-widget-area .off-canvas-menu-container li a {
	font-family: var(--font-text) !important;
	font-weight: 700 !important;
	color: var(--rmh-soft-white) !important;
}

/* ---------- Photos and cards: no sharp corners, no effects ---------- */

body .container-wrap .wpb_single_image img,
body .container-wrap .img-with-aniamtion-wrap .inner,
body .container-wrap .img-with-aniamtion-wrap img,
body .container-wrap .nectar-video-box,
body .container-wrap .nectar-video-box .inner-wrap,
body .container-wrap .wp-video,
body .container-wrap iframe[src*="youtube"],
body .container-wrap iframe[src*="vimeo"],
body .container-wrap .fancy-box-image,
body .container-wrap .nectar-fancy-box,
body .container-wrap .nectar-fancy-box .box-bg,
body .container-wrap .team-member img,
body .container-wrap .post-featured-img img {
	border-radius: var(--rmh-radius) !important;
	overflow: hidden;
	box-shadow: none !important;
}

body .container-wrap .bigyellowshadow,
body .container-wrap [style*="text-shadow"] {
	text-shadow: none !important;
}

/* ---------- Forms ---------- */

body input[type="text"],
body input[type="email"],
body input[type="tel"],
body input[type="number"],
body input[type="url"],
body textarea,
body select {
	background-color: var(--rmh-soft-white) !important;
	border: 2px solid var(--rmh-rule) !important;
	border-radius: 12px !important;
	color: var(--rmh-black) !important;
}

/* ---------- Footer: red band, no logo ---------- */

body #footer-outer,
body #footer-outer #copyright,
body #footer-outer .row {
	background-color: var(--rmh-red) !important;
}

body #footer-outer,
body #footer-outer p,
body #footer-outer li,
body #footer-outer h4,
body #footer-outer .widget h4,
body #footer-outer #copyright p,
body #footer-outer #copyright li a i {
	font-family: var(--font-text) !important;
	color: var(--rmh-soft-white) !important;
}

body #footer-outer img[src*="logo"] {
	display: none !important; /* Brand: logo is never placed on red. */
}

/* ---------- Trademark mark ---------- */

sup.rmh-reg {
	font-size: .6em;
	line-height: 0;
	vertical-align: super;
}

/* =========================================================
 * Homepage sections (rmh-*). Classes are set on WPBakery rows
 * and columns so the content stays editable in the builder.
 * ========================================================= */

body .rmh-section {
	padding-top: clamp(40px, 5vw, 72px) !important;
	padding-bottom: clamp(40px, 5vw, 72px) !important;
	margin-bottom: 0 !important;
}

body .rmh-section .col { margin-bottom: 0; }

body .rmh-lede {
	font-size: clamp(1.125rem, 1.6vw, 1.3rem) !important;
	line-height: 1.4 !important;
	max-width: 46rem;
}

/* One background per section. Row bg_color stretches full width; these keep it on palette. */
body .rmh-band--red > .row-bg-wrap .row-bg { background-color: var(--rmh-red) !important; }
body .rmh-band--lavender > .row-bg-wrap .row-bg { background-color: var(--rmh-lavender) !important; }

/* Instagram feed follow button: brand primary button. */
body #sb_instagram .sbi_follow_btn a,
body .sbi_follow_btn a {
	background: var(--rmh-red) !important;
	color: var(--rmh-soft-white) !important;
	border-radius: 999px !important;
	font-family: var(--font-text) !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}

body .rmh-band--red h1, body .rmh-band--red h2, body .rmh-band--red h3,
body .rmh-band--red p, body .rmh-band--red a, body .rmh-band--red span {
	color: var(--rmh-soft-white) !important;
}

body .rmh-band .rmh-lede,
body .rmh-involved .rmh-lede,
body .rmh-mission h2 { margin-left: auto; margin-right: auto; }

body .rmh-band,
body .rmh-involved,
body .rmh-mission { text-align: center; }

/* Hero: text on a solid panel beside the photo, never over it. */
body .rmh-hero .row_col_wrap_12,
body .rmh-hero > .col.span_12 {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

body .rmh-hero-copy h1 { margin-bottom: .35em; }
body .rmh-hero-copy .rmh-lede { margin-bottom: 1.75rem; }
body .rmh-hero-copy .nectar-button { margin-bottom: 10px; }

/* Expressive heart holding a photo (brand: hearts may hold photos). */
body .rmh-heart-photo {
	margin: 0;
	aspect-ratio: 1147 / 1000;
	-webkit-mask: url("assets/brand/rmh_hrt_02_rgb_rd.svg") center / contain no-repeat;
	mask: url("assets/brand/rmh_hrt_02_rgb_rd.svg") center / contain no-repeat;
}

body .container-wrap .rmh-heart-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 35%;
	border-radius: 0 !important;
}

/* Audience cards: solid secondary colors, black type. */
body .rmh-audiences .row_col_wrap_12,
body .rmh-audiences > .col.span_12 {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

body .rmh-audiences .rmh-card {
	border-radius: var(--rmh-radius) !important;
	overflow: hidden;
	padding: clamp(28px, 3vw, 44px) !important;
	margin: 0 !important;
	flex: 1 1 260px;
	width: auto !important;
}

body .rmh-card--lavender { background-color: var(--rmh-lavender) !important; }
body .rmh-card--aqua { background-color: var(--rmh-aqua) !important; }
body .rmh-card--lime { background-color: var(--rmh-lime) !important; }

/* Full-width bands: keep content on the standard container width. */
body .rmh-band > .row_col_wrap_12 { max-width: 1200px; margin-left: auto; margin-right: auto; }

body .rmh-card .rmh-card-title { font-size: clamp(1.75rem, 2.4vw, 2.25rem); margin-bottom: .4em; }
body .rmh-card p { min-height: 4.2em; }

/* Mission points */
body .rmh-mission-points { margin: 2.5rem 0 2rem; text-align: left; }
body .rmh-mission-points h3 { margin-bottom: .35em; }

/* Videos */
body .rmh-videos { margin-top: 3rem; }
body .rmh-video {
	position: relative;
	padding-top: 56.25%;
	border-radius: var(--rmh-radius);
	overflow: hidden;
	margin-bottom: 1rem;
}
body .rmh-video iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Photo cards: rounded photo, title below (never over the photo). */
body .rmh-photo-cards { margin-top: 2.5rem; }

body .container-wrap a.rmh-photo-card {
	display: block;
	opacity: 1 !important; /* Salient fades links in light rows; photos must stay true color. */
	text-decoration: none !important;
	color: inherit;
}

body .container-wrap .rmh-photo-card img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--rmh-radius) !important;
	margin-bottom: 1rem;
}

body .rmh-photo-card-title {
	display: inline-block;
	font-family: var(--font-text);
	font-weight: 700;
	font-size: 1.35rem;
	line-height: 1.2;
	text-decoration: underline;
	text-underline-offset: .2em;
	text-decoration-thickness: 1px;
}

body .rmh-photo-card:hover .rmh-photo-card-title,
body .rmh-photo-card:focus-visible .rmh-photo-card-title { text-decoration-thickness: 3px; }

@media (max-width: 999px) {
	body .rmh-hero-media { margin-top: 2rem; }
	body .rmh-card p { min-height: 0; }
}

/* Footer legal notice */
body #footer-outer .rmh-legal {
	font-family: var(--font-text) !important;
	font-size: 12px !important;
	line-height: 1.4 !important;
	font-weight: 400 !important;
	color: var(--rmh-soft-white) !important;
	max-width: 60rem;
	margin: 1rem auto 0;
}

@media (max-width: 690px) {
	body .rmh-audiences .rmh-card { flex-basis: 100%; }
	body .rmh-mission-points .col { margin-bottom: 1.25rem !important; }
	body .rmh-photo-cards .col { margin-bottom: 1.5rem !important; }
}

/* Pre-footer global section: locations */
body .rmh-locations h2 { margin-bottom: 1.5rem; }
body .rmh-locations-grid { text-align: left; }
body .rmh-locations-grid h3 { font-size: 1.75rem; margin-bottom: 1rem; }
body .rmh-location { margin-bottom: 1.5rem; }
body .rmh-location h4 { font-size: 1.15rem; margin-bottom: .25rem; }
body .rmh-location p { margin: 0; }
body .rmh-follow { margin-top: 2rem; }
html body img.rmh-footer-logo { display: block !important; width: 160px !important; max-width: 160px !important; height: auto !important; margin: 0 auto !important; border-radius: 0 !important; }
body .rmh-social { font-weight: 700; margin-top: 1rem; }

/* ---------- Legacy WPBakery sections (inner pages) ---------- */

/* Brand uses solid color blocks, not tints: make color-only column backgrounds opaque. */
body .wpb_column:not(:has(.column-image-bg-wrap)) > .vc_column-inner > .column-bg-overlay-wrap .column-bg-overlay,
body .wpb_column:not(:has(.column-image-bg-wrap)) .column-bg-overlay-wrap > .column-bg-overlay {
	opacity: 1 !important;
}

/* Buttons sitting on red: Soft White fill, black label (20:1). */
body .wpb_column[data-bg-color="#DB0007" i] .nectar-button,
body .wpb_row:has(> .row-bg-wrap .row-bg[style*="DB0007" i]) .nectar-button {
	background-color: var(--rmh-soft-white) !important;
	border-color: var(--rmh-soft-white) !important;
	color: var(--rmh-black) !important;
}

body .wpb_column[data-bg-color="#DB0007" i] .nectar-button span,
body .wpb_row:has(> .row-bg-wrap .row-bg[style*="DB0007" i]) .nectar-button span {
	color: var(--rmh-black) !important;
}

/* Soft White columns inside red rows need black type. */
body .wpb_column[data-bg-color="#FFFDE9" i] h1, body .wpb_column[data-bg-color="#FFFDE9" i] h2,
body .wpb_column[data-bg-color="#FFFDE9" i] h3, body .wpb_column[data-bg-color="#FFFDE9" i] h4,
body .wpb_column[data-bg-color="#FFFDE9" i] p, body .wpb_column[data-bg-color="#FFFDE9" i] li,
body .wpb_column[data-bg-color="#FFFDE9" i] a:not(.nectar-button) {
	color: var(--rmh-black) !important;
}

/* Red columns inside light rows need Soft White type. */
body .wpb_column[data-bg-color="#DB0007" i] h1, body .wpb_column[data-bg-color="#DB0007" i] h2,
body .wpb_column[data-bg-color="#DB0007" i] h3, body .wpb_column[data-bg-color="#DB0007" i] h4,
body .wpb_column[data-bg-color="#DB0007" i] h5, body .wpb_column[data-bg-color="#DB0007" i] h6,
body .wpb_column[data-bg-color="#DB0007" i] p, body .wpb_column[data-bg-color="#DB0007" i] li,
body .wpb_column[data-bg-color="#DB0007" i] a:not(.nectar-button) {
	color: var(--rmh-soft-white) !important;
}

body .wpb_row .wpb_column[data-bg-color="#FFFDE9" i] h5, body .wpb_row .wpb_column[data-bg-color="#FFFDE9" i] h6,
body .wpb_row .wpb_column[data-bg-color="#FFFDE9" i] strong, body .wpb_row .wpb_column[data-bg-color="#FFFDE9" i] span:not(.nectar-button span) {
	color: var(--rmh-black) !important;
}

/* Buttons in Soft White columns (even inside red rows) stay primary red. */
body .wpb_row .wpb_column[data-bg-color="#FFFDE9" i] .nectar-button {
	background-color: var(--rmh-red) !important;
	border-color: var(--rmh-red) !important;
	color: var(--rmh-soft-white) !important;
}
body .wpb_row .wpb_column[data-bg-color="#FFFDE9" i] .nectar-button span { color: var(--rmh-soft-white) !important; }

/* WPForms: brand colors instead of the plugin's default blue. */
body div.wpforms-container-full {
	--wpforms-button-background-color: #DB0007;
	--wpforms-button-text-color: #FFFDE9;
	--wpforms-button-border-radius: 999px;
	--wpforms-field-border-color: rgba(0, 0, 0, .35);
	--wpforms-field-background-color: #FFFDE9;
	--wpforms-field-text-color: #000000;
	--wpforms-label-color: #000000;
	--wpforms-label-sublabel-color: #000000;
	--wpforms-field-border-radius: 12px;
	--wpforms-page-break-color: #DB0007;
}
body div.wpforms-container-full .wpforms-form input:focus,
body div.wpforms-container-full .wpforms-form textarea:focus,
body div.wpforms-container-full .wpforms-form select:focus {
	border-color: #000000 !important;
	box-shadow: 0 0 0 1px #000000 !important;
}

/* Rows with a background photo: let the photo show through empty columns; text columns stay solid. */
body .wpb_row:has(> .row-bg-wrap .row-bg.using-image) .wpb_column:not(:has(.wpb_wrapper > *)) .column-bg-overlay {
	opacity: 0 !important;
}
body .wpb_row:has(> .row-bg-wrap .row-bg.using-image) > .row-bg-wrap .row-bg-overlay {
	opacity: 0 !important;
}

/* ---------- Accessibility toolbar: brand colors (plugin already pins it near the bottom) ---------- */
body #pojo-a11y-toolbar .pojo-a11y-toolbar-toggle a {
	background-color: var(--rmh-red) !important;
	color: var(--rmh-soft-white) !important;
	border-radius: 0 12px 12px 0;
}
body #pojo-a11y-toolbar .pojo-a11y-toolbar-overlay {
	background-color: var(--rmh-soft-white) !important;
	border-color: var(--rmh-black) !important;
}
body #pojo-a11y-toolbar .pojo-a11y-toolbar-overlay ul.pojo-a11y-toolbar-items li.pojo-a11y-toolbar-item a,
body #pojo-a11y-toolbar .pojo-a11y-toolbar-overlay p.pojo-a11y-toolbar-title {
	color: var(--rmh-black) !important;
	font-family: var(--font-text) !important;
}

/* ---------- Phones ---------- */
body .container-wrap { overflow-x: clip; }

@media (max-width: 690px) {
	/* Legacy pages set body copy in h5/h6; keep it readable. */
	body .container-wrap h5 { font-size: 16px !important; line-height: 1.35 !important; }
	body .container-wrap h6 { font-size: 15px !important; line-height: 1.35 !important; }
	body .container-wrap .wpb_text_column p { font-size: 16px; }

	/* Staff grid from the Team Members plugin: 80px column margins overflow a phone screen. */
	body .wpb_row[data-column-margin="80px"] > .row_col_wrap_12_inner { margin-left: 0 !important; margin-right: 0 !important; width: 100% !important; }
	body .wpb_row[data-column-margin="80px"] > .row_col_wrap_12_inner > .wpb_column { padding-left: 8px !important; padding-right: 8px !important; }

	/* Three-up image grids are too small on a phone: show two across. */
	body .container-wrap .vc_col-xs-4.child_column { width: 50% !important; }

	/* Newsletter archive: two covers per row. */
	body .container-wrap .magazine_container .single_magazine { width: calc(50% - 12px); }
	body .container-wrap .magazine_container { column-gap: 24px; }
}

/* Staff cards: email and phone icons side by side, brand red on Soft White. */
body .wpb_row[data-column-margin="80px"] .wpb_column .nectar_icon_wrap { display: inline-block !important; vertical-align: middle; margin: 0 6px !important; }
body .wpb_row[data-column-margin="80px"] .wpb_column .nectar_icon { padding: 0 !important; }
body .wpb_row[data-column-margin="80px"] .wpb_column .nectar_icon a { position: static; display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; color: var(--rmh-red) !important; text-decoration: none !important; }
body .wpb_row[data-column-margin="80px"] .wpb_column .nectar_icon i { color: var(--rmh-red) !important; }
body .wpb_row[data-column-margin="80px"] .wpb_column .wpb_wrapper { text-align: center; }

/* Photo tiles beside text blocks (Our story): photo fills its own tile, no tint. */
body .rmh-photo-tile { min-height: 360px; }
body .rmh-photo-tile .column-image-bg-wrap .column-image-bg { background-size: cover !important; background-position: center !important; }
body .rmh-photo-tile .column-bg-overlay-wrap { display: none !important; }
@media (max-width: 690px) { body .rmh-photo-tile { min-height: 260px; } }

/* Dropdown menus: Lavender highlight with black type for hover, focus, and the current page. */
body #header-outer .sf-menu li ul li a:hover,
body #header-outer .sf-menu li ul li a:focus-visible,
body #header-outer .sf-menu li ul li.sfHover > a,
body #header-outer .sf-menu li ul li.current-menu-item > a,
body #header-outer .sf-menu li ul li.current-menu-ancestor > a {
	background-color: var(--rmh-lavender) !important;
	color: var(--rmh-black) !important;
}

/* =========================================================
 * Brand textures (Sep 2026): expressive shapes, pattern, icons.
 * Frontify rules: one shape per layout, never mix hearts and
 * rectangles, type is Black or Soft White, nothing over the pattern.
 * ========================================================= */

/* Amenity features with the official icon suite (Ronald McDonald House page). */
body .rmh-feature .wpb_wrapper { text-align: center; }
body .rmh-feature img.rmh-feature-icon { width: 64px !important; height: 64px !important; margin: 0 auto 12px !important; display: block; border-radius: 0 !important; }
body .rmh-feature h3 { font-size: 1.2rem; margin-bottom: .3em; }
body .rmh-feature p { font-size: 16px; }

/* Soft White heart supergraphic on red bands. Crop shows the left lobe, the left side and the point (three sides). */
body .wpb_row.rmh-super { position: relative; overflow: hidden; }
body .wpb_row.rmh-super::after {
	content: "";
	position: absolute;
	right: -9%;
	top: 50%;
	transform: translateY(-46%);
	width: min(30%, 400px);
	aspect-ratio: 1147 / 1000;
	background: var(--rmh-soft-white);
	-webkit-mask: url("assets/brand/rmh_hrt_02_rgb_sw.svg") center / contain no-repeat;
	mask: url("assets/brand/rmh_hrt_02_rgb_sw.svg") center / contain no-repeat;
	pointer-events: none;
	z-index: 1;
}
body .wpb_row.rmh-super > .row_col_wrap_12 { position: relative; z-index: 2; display: flex; align-items: center; min-height: 340px; }
body .wpb_row.rmh-super .wpb_column > .vc_column-inner > .wpb_wrapper { max-width: 56%; text-align: left; }
body .wpb_row.rmh-super .wpb_column > .vc_column-inner > .wpb_wrapper .vc_row-fluid,
body .wpb_row.rmh-super .wpb_column > .vc_column-inner > .wpb_wrapper .wpb_text_column { text-align: left; }
body .wpb_row.rmh-super h1, body .wpb_row.rmh-super h2 { max-width: 14ch; }

/* Donate page header: same supergraphic on the Salient page header. */
body.page-id-2072 #page-header-bg { position: relative; overflow: hidden; background-color: var(--rmh-red) !important; }
body.page-id-2072 #page-header-bg::after {
	content: "";
	position: absolute;
	right: -7%;
	top: 6%;
	width: min(27%, 360px);
	aspect-ratio: 1147 / 1000;
	background: var(--rmh-soft-white);
	-webkit-mask: url("assets/brand/rmh_hrt_02_rgb_sw.svg") center / contain no-repeat;
	mask: url("assets/brand/rmh_hrt_02_rgb_sw.svg") center / contain no-repeat;
	pointer-events: none;
}
body.page-id-2072 #page-header-bg .container { position: relative; z-index: 1; }
body.page-id-2072 #page-header-bg .row { display: block; }
body.page-id-2072 #page-header-bg .col.span_6 { width: 100%; max-width: 56%; margin: 0; text-align: left; }
body.page-id-2072 #page-header-bg h1 { font-family: var(--font-display) !important; font-size: clamp(2.5rem, 5vw, 4rem) !important; line-height: 1 !important; color: var(--rmh-soft-white) !important; }
body.page-id-2072 #page-header-bg .subheader { font-family: var(--font-text) !important; font-size: 1.15rem !important; color: var(--rmh-soft-white) !important; opacity: 1; }

@media (max-width: 999px) {
	body .wpb_row.rmh-super .wpb_column > .vc_column-inner > .wpb_wrapper,
	body.page-id-2072 #page-header-bg .col.span_6 { max-width: 100%; }
	body .wpb_row.rmh-super::after, body.page-id-2072 #page-header-bg::after { opacity: .35; }
}

/* Hero photo held in an expressive heart (program pages). Column gets el_class rmh-heart-col. */
body .rmh-heart-col .img-with-aniamtion-wrap, body .rmh-heart-col .img-with-aniamtion-wrap .inner { border-radius: 0 !important; overflow: visible; }
body .rmh-heart-col .img-with-aniamtion-wrap img {
	width: 100%;
	aspect-ratio: 1147 / 1000;
	object-fit: cover;
	object-position: 50% 40%;
	border-radius: 0 !important;
	-webkit-mask: url("assets/brand/rmh_hrt_02_rgb_rd.svg") center / contain no-repeat;
	mask: url("assets/brand/rmh_hrt_02_rgb_rd.svg") center / contain no-repeat;
}
body .rmh-heart-col--05 .img-with-aniamtion-wrap img {
	aspect-ratio: 1038 / 1000;
	-webkit-mask-image: url("assets/brand/rmh_hrt_05_rgb_rd.svg");
	mask-image: url("assets/brand/rmh_hrt_05_rgb_rd.svg");
}

/* Photo in an expressive 4:3 rectangle frame (How we serve rows). Column gets el_class rmh-rect-col. */
body .rmh-rect-col .img-with-aniamtion-wrap, body .rmh-rect-col .img-with-aniamtion-wrap .inner { border-radius: 0 !important; }
body .rmh-rect-col .img-with-aniamtion-wrap img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: 0 !important;
	-webkit-mask: url("assets/brand/rmh_rec_4_3_rgb_lv.svg") center / contain no-repeat;
	mask: url("assets/brand/rmh_rec_4_3_rgb_lv.svg") center / contain no-repeat;
}
body .rmh-program-row .wpb_wrapper { text-align: left; }
body .rmh-program-row h2 { margin-bottom: .4em; }

/* "68 counties served" line above the county list (Our story, Contact). */
body .rmh-stat { display: flex; align-items: baseline; gap: .35em; margin: 0 0 .75rem !important; }
body .rmh-stat .rmh-stat-n { font-family: var(--font-display); font-weight: 700; font-size: clamp(2.5rem, 4vw, 3.5rem); line-height: 1; }
body .rmh-stat .rmh-stat-l { font-weight: 700; font-size: 1.25rem; }
body .rmh-counties { font-size: 15px; line-height: 1.45; }
body .rmh-counties + .rmh-counties { margin-top: .6rem; }

/* Pattern tile beside copy (donation confirmation). Column gets el_class rmh-pattern-tile. Nothing is placed over it. */
body .rmh-pattern-tile > .vc_column-inner {
	background: url("assets/brand/rmh-pattern-2400.webp") center / cover no-repeat;
	min-height: 380px;
	height: 100%;
}
@media (max-width: 690px) { body .rmh-pattern-tile > .vc_column-inner { min-height: 240px; } }

/* Service-area map (inline SVG from [rmh_service_map]) with the stat heart and county list beside it. */
body .rmh-service-map-wrap { margin: 0 0 1.25rem; }
body .rmh-service-map-wrap svg { width: 100%; height: auto; display: block; }
body .rmh-service-map-wrap text { font-family: var(--font-text); }

/* Gallery grids (vc_gallery image_grid): rounded tiles, no sharp corners anywhere. */
body .wpb_gallery .portfolio-items .work-item,
body .wpb_gallery .portfolio-items .work-item img,
body .wpb_gallery .portfolio-items .element .inner-wrap { border-radius: var(--rmh-radius) !important; overflow: hidden; }
body .wpb_gallery .portfolio-items[data-gutter="1px"],
body .wpb_gallery .portfolio-items[data-gutter="3px"] { margin-left: -6px !important; margin-right: -6px !important; }
body .wpb_gallery .portfolio-items[data-gutter="1px"] .element,
body .wpb_gallery .portfolio-items[data-gutter="3px"] .element { padding: 6px !important; }
