/**
 * Homepage-only "Executive Prestige" redesign (Claude Design concept 1c).
 * Every rule here is scoped under .rb-home so it can never leak onto any
 * other page — all other templates keep the site's standard light theme
 * and all existing rb-* component CSS (marketing.css, listing-card.css,
 * broker.css, inquiry-form.css) untouched. Reuses 100% real plugin
 * widgets/data; this file is presentation only.
 */

.rb-home {
	--h1c-bg:        #1b1714;
	--h1c-panel:     #201a15;
	--h1c-cream:     #efe8dc;
	--h1c-cream-soft:#f3ecdf;
	--h1c-gold:      #b3924f;
	--h1c-gold-dim:  rgba(179, 146, 79, .28);
	--h1c-hairline:  rgba(179, 146, 79, .22);
	--h1c-light-bg:  #efe8dc;
	--h1c-light-text:#26211d;
	/* Display/body now defer to the sitewide heading/body tokens
	   (Raleway / Futura stack) rather than this section's own earlier
	   EB Garamond/Jost choice — one authoritative definition, no
	   independent homepage-only font system. --h1c-font-mono is kept
	   as-is: a deliberate monospace/tabular treatment for stat numbers
	   and a couple of mono-styled labels, not heading or body running
	   text, so it isn't part of the heading/body unification. */
	--h1c-font-display: var(--rb-font-display);
	--h1c-font-body:    var(--rb-font-body);
	--h1c-font-mono:    'IBM Plex Mono', ui-monospace, Menlo, monospace;
}

/* --- Section shells --- */
.rb-home__section--dark {
	background: var(--h1c-bg);
	color: var(--h1c-cream);
	font-family: var(--h1c-font-body);
}
.rb-home__section--light {
	background: var(--h1c-light-bg);
	color: var(--h1c-light-text);
	font-family: var(--h1c-font-body);
}
.rb-home__section--dark h1,
.rb-home__section--dark h2,
.rb-home__section--dark h3,
.rb-home__section--light h1,
.rb-home__section--light h2,
.rb-home__section--light h3 {
	font-family: var(--h1c-font-display);
	font-weight: 400;
}

/* Reusable eyebrow + heading pattern, applied to the section's own
   heading widget (a plain Elementor `heading`, styled generically here). */
.rb-home__eyebrow {
	font-family: var(--h1c-font-mono);
	font-size: 11px;
	letter-spacing: .3em;
	text-transform: uppercase;
	color: var(--h1c-gold);
	margin: 0 0 16px;
}
.rb-home__section--light .rb-home__eyebrow {
	color: var(--rb-primary);
}
.rb-home__heading {
	font-family: var(--h1c-font-display);
	font-size: clamp(2rem, 3.6vw, 2.75rem);
	line-height: 1.2;
	margin: 0;
	color: inherit;
}

/* Phase 27.1: `.rb-home__heading`'s `color: inherit` above has never
   actually been reaching these section titles. Elementor's Heading
   WIDGET hardcodes its own unstyled default to the "Primary" Global
   Color (Burgundy) on a selector — `.elementor-widget-heading
   .elementor-heading-title` — one class more specific than
   `.rb-home__heading` alone, so it always won regardless of the
   inherit declared here. Confirmed live: every dark-panel section
   title on the homepage ("Active Listings", "Why Choose Us",
   "Perspective", etc.) rendered Burgundy directly on the Near Black
   background (~1.38:1, illegible) instead of the intended cream/ivory
   from `.rb-home__section--dark`'s own color; the light-panel titles
   ("The Firm", "Meet Our Brokers") rendered Burgundy instead of this
   system's own light-panel text color. This restores the original
   intent at a specificity that actually wins (4 classes vs. 2), still
   scoped entirely inside `.rb-home` — no other page is affected, and
   any section that already sets its own explicit Elementor color
   (e.g. a stat number styled individually) is untouched, since
   `inherit` only ever supplies a value when nothing more specific
   already set one. No !important. */
.rb-home__section--dark.rb-home .elementor-widget-heading .elementor-heading-title,
.rb-home__section--light.rb-home .elementor-widget-heading .elementor-heading-title {
	color: inherit;
}

/* --- Hero --- */
.rb-home__hero {
	display: flex;
	min-height: 85vh;
	background: var(--h1c-bg);
	color: var(--h1c-cream);
	font-family: var(--h1c-font-body);
}
.rb-home__hero-copy {
	width: 56%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 72px 6vw;
}
.rb-home__hero-image {
	width: 44%;
	position: relative;
	background: linear-gradient(160deg, #2b241e 0%, #1b1714 70%);
	border-left: 1px solid var(--h1c-hairline);
}
.rb-home__hero .rb-hero-search {
	max-width: none;
	text-align: left;
	margin: 0;
}
.rb-home__hero .rb-hero-search__title {
	font-family: var(--h1c-font-display);
	font-weight: 400;
	font-size: clamp(2.25rem, 4vw, 3.25rem);
	line-height: 1.18;
	color: var(--h1c-cream-soft);
	margin: 0 0 22px;
}
.rb-home__hero .rb-hero-search__sub {
	font-family: var(--h1c-font-body);
	font-weight: 300;
	font-size: 16.5px;
	line-height: 1.7;
	color: rgba(239, 232, 220, .62);
	max-width: 480px;
	margin: 0 0 36px;
}
.rb-home__hero .rb-hero-search__form {
	background: var(--h1c-panel);
	border: 1px solid var(--h1c-hairline);
	box-shadow: none;
}
.rb-home__hero .rb-hero-search__field select {
	background: var(--h1c-bg);
	border-color: var(--h1c-hairline);
	color: var(--h1c-cream);
}
.rb-home__hero .rb-hero-search__submit {
	background: var(--h1c-gold);
	color: var(--h1c-bg);
	font-weight: 500;
}
.rb-home__hero .rb-hero-search__submit:hover {
	background: #c4a15e;
}
.rb-home__hero .rb-hero-secondary .elementor-button {
	background: transparent;
	border: 1px solid rgba(239, 232, 220, .35);
	color: rgba(239, 232, 220, .85);
	font-family: var(--h1c-font-mono);
	font-size: 11.5px;
	letter-spacing: .18em;
	text-transform: uppercase;
}
.rb-home__hero .rb-hero-secondary .elementor-button:hover {
	background: rgba(239, 232, 220, .08);
	border-color: var(--h1c-gold);
	color: var(--h1c-gold);
}
@media (max-width: 1024px) {
	.rb-home__hero {
		flex-direction: column;
		min-height: 0;
	}
	.rb-home__hero-copy,
	.rb-home__hero-image {
		width: 100%;
	}
	.rb-home__hero-image {
		height: 240px;
		border-left: 0;
		border-top: 1px solid var(--h1c-hairline);
	}
}

/* --- Stats band --- */
.rb-home .rb-trust {
	border-top: 1px solid var(--h1c-hairline);
	border-bottom: 1px solid var(--h1c-hairline);
	gap: 0;
	justify-content: stretch;
}
.rb-home .rb-trust__item {
	flex: 1;
	min-width: 180px;
	padding: 44px 24px;
	border-right: 1px solid var(--h1c-gold-dim);
	gap: 8px;
}
.rb-home .rb-trust__item:last-child {
	border-right: 0;
}
.rb-home .rb-trust__number {
	font-family: var(--h1c-font-display);
	font-weight: 400;
	font-size: 2.375rem;
	color: var(--h1c-cream-soft);
}
.rb-home .rb-trust__label {
	font-family: var(--h1c-font-mono);
	color: rgba(239, 232, 220, .5);
	letter-spacing: .26em;
}
@media (max-width: 767px) {
	.rb-home .rb-trust__item {
		border-right: 0;
		border-bottom: 1px solid var(--h1c-gold-dim);
	}
	.rb-home .rb-trust__item:last-child {
		border-bottom: 0;
	}
}

/* --- Transactions (Featured Listings) — tombstone card treatment --- */
.rb-home__section--dark .rb-card {
	background: var(--h1c-panel);
	border: 1px solid var(--h1c-gold-dim);
	box-shadow: none;
}
.rb-home__section--dark .rb-card:hover {
	border-color: var(--h1c-gold);
	box-shadow: 0 12px 32px rgba(0, 0, 0, .35);
}
.rb-home__section--dark .rb-card__title {
	font-family: var(--h1c-font-display);
	font-weight: 400;
	color: var(--h1c-cream-soft);
}
.rb-home__section--dark .rb-card__price {
	font-family: var(--h1c-font-display);
	color: var(--h1c-gold);
}
.rb-home__section--dark .rb-card__sde,
.rb-home__section--dark .rb-card__meta,
.rb-home__section--dark .rb-card__location {
	color: rgba(239, 232, 220, .55);
}
.rb-home__section--dark .rb-card__footer {
	border-top-color: var(--h1c-gold-dim);
}
.rb-home__section--dark .rb-card__representative {
	color: rgba(239, 232, 220, .6);
}
.rb-home__section--dark .rb-card__cta {
	color: var(--h1c-gold);
	font-family: var(--h1c-font-mono);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.rb-home__section--dark .rb-badge--muted {
	background: var(--h1c-bg);
	border: 1px solid var(--h1c-gold-dim);
}
.rb-home__section--dark .rb-card__star {
	background: var(--h1c-gold);
	color: var(--h1c-bg);
}
.rb-home__section--dark .rb-grid__empty-title,
.rb-home__section--dark .rb-grid__empty {
	color: var(--h1c-cream);
}

/* Button widget used as "View All" links — gold text-link style. */
.rb-home__section--dark .elementor-widget-button .elementor-button,
.rb-home__section--light .elementor-widget-button .elementor-button {
	background: transparent;
	border: 0;
	border-bottom: 1px solid currentColor;
	border-radius: 0;
	padding: 0 0 6px;
	font-family: var(--h1c-font-mono);
	font-size: 11.5px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--h1c-gold);
}
.rb-home__section--light .elementor-widget-button .elementor-button {
	color: var(--rb-primary);
}
.rb-home__section--dark .elementor-widget-button .elementor-button:hover,
.rb-home__section--light .elementor-widget-button .elementor-button:hover {
	opacity: .75;
}

/* --- Why Choose Us + Process panels --- */
.rb-home__section--dark .rb-fgrid__item {
	background: var(--h1c-panel);
	border: 1px solid var(--h1c-gold-dim);
}
.rb-home__section--dark .rb-fgrid__item:hover {
	border-color: var(--h1c-gold);
}
.rb-home__section--dark .rb-fgrid__icon {
	background: rgba(179, 146, 79, .12);
	color: var(--h1c-gold);
}
.rb-home__section--dark .rb-fgrid__title {
	font-family: var(--h1c-font-display);
	font-weight: 400;
	color: var(--h1c-cream-soft);
}
.rb-home__section--dark .rb-fgrid__text {
	color: rgba(239, 232, 220, .55);
}

.rb-home__section--dark .rb-steps__heading {
	font-family: var(--h1c-font-display);
	font-weight: 400;
	color: var(--h1c-cream-soft);
}
.rb-home__section--dark .rb-steps::before {
	background: var(--h1c-gold-dim);
}
.rb-home__section--dark .rb-steps__num {
	background: transparent;
	color: var(--h1c-gold);
	font-family: var(--h1c-font-display);
	font-size: 20px;
	font-weight: 400;
	box-shadow: 0 0 0 4px var(--h1c-panel);
	border: 1px solid var(--h1c-gold-dim);
}
.rb-home__section--dark .rb-steps__title {
	font-family: var(--h1c-font-mono);
	font-size: 12px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--h1c-cream-soft);
	font-weight: 400;
}
.rb-home__section--dark .rb-steps__text {
	color: rgba(239, 232, 220, .55);
}
/* Wrap each process block in a bordered panel to match 1c's "How We Work" card. */
.rb-home__panel {
	border: 1px solid var(--h1c-hairline);
	background: var(--h1c-panel);
	padding: 56px 48px;
}

/* --- Principals (Brokers + Testimonials) — light cream section --- */
.rb-home__section--light .rb-bcard {
	background: var(--h1c-light-bg);
	border: 1px solid rgba(38, 33, 29, .16);
	box-shadow: none;
}
.rb-home__section--light .rb-bcard:hover {
	border-color: var(--rb-primary);
	box-shadow: 0 12px 28px rgba(38, 33, 29, .1);
}
.rb-home__section--light .rb-bcard__name {
	font-family: var(--h1c-font-display);
	font-weight: 400;
}
.rb-home__section--light .rb-bcard__position {
	font-family: var(--h1c-font-mono);
	font-size: 10.5px;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--rb-primary);
}
/* Single centered pull-quote treatment (matches concept 1c's Principals
   testimonial exactly) rather than a 3-card grid: no card
   border/shadow/quotation-mark, a small gold hairline replaces the
   quote-mark glyph, and the author name is suppressed since the concept
   shows only the anonymized role — these testimonials are already
   anonymized ("Anonymous") by design (see class-rb-widget-testimonials.php).
   Auto-rotating carousel (rb-testi-carousel.js): all 3 real quotes are
   stacked in the same CSS grid cell so the container's height is always
   the tallest quote (no layout jump when switching) and crossfade via
   opacity. Without JS, .rb-testi__item:first-child stays statically
   visible — a real (not blank) testimonial, just not rotating. */
.rb-home__section--light .rb-testi {
	display: grid;
	/* Without an explicit column, the implicit auto column shrinks to the
	   item's content width and left-aligns (grid default), which is why
	   the quote was hugging the left edge instead of centering — a full-
	   width single column lets the item's own max-width + margin:auto
	   center correctly within it. */
	grid-template-columns: minmax(0, 1fr);
	margin-top: 80px;
}
.rb-home__section--light .rb-testi__item {
	grid-area: 1 / 1;
	/* margin:0 auto alone doesn't reliably center a grid item that only
	   has max-width (no explicit width) — measured via getComputedStyle
	   live: it resolved to 0px 0px instead of centering, because the
	   item's default justify-self:stretch fills the grid area first and
	   max-width only clips the fill rather than shrinking-to-fit before
	   the auto margins are computed. justify-self:center is the
	   grid-native fix and was verified via the same measurement. */
	justify-self: center;
	max-width: 720px;
	width: 100%;
	margin: 0;
	padding: 0 24px;
	background: transparent;
	border: none;
	box-shadow: none;
	text-align: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity .6s ease;
}
.rb-home__section--light .rb-testi__item:first-child {
	opacity: 1;
	visibility: visible;
}
.rb-home__section--light .rb-testi.rb-testi--js .rb-testi__item:first-child {
	opacity: 0;
	visibility: hidden;
}
.rb-home__section--light .rb-testi.rb-testi--js .rb-testi__item.is-active {
	opacity: 1;
	visibility: visible;
}
.rb-home__section--light .rb-testi__dots {
	grid-area: 2 / 1;
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 36px;
}
.rb-home__section--light .rb-testi__dot {
	width: 7px;
	height: 7px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: rgba(38, 33, 29, .22);
	cursor: pointer;
	transition: background .2s ease;
}
.rb-home__section--light .rb-testi__dot:hover,
.rb-home__section--light .rb-testi__dot.is-active {
	background: var(--rb-primary);
}
.rb-home__section--light .rb-testi__item::before {
	content: "";
	position: static;
	display: block;
	width: 36px;
	height: 1px;
	margin: 0 auto 30px;
	background: var(--h1c-gold);
}
.rb-home__section--light .rb-testi__quote {
	font-family: var(--h1c-font-display);
	font-style: italic;
	font-size: 24px;
	line-height: 1.5;
	color: var(--h1c-light-text);
	margin: 0;
}
.rb-home__section--light .rb-testi__attr {
	display: block;
	border: none;
	padding: 0;
	margin-top: 24px;
}
.rb-home__section--light .rb-testi__author {
	display: none;
}
.rb-home__section--light .rb-testi__role {
	font-family: var(--h1c-font-mono);
	font-size: 10.5px;
	letter-spacing: .28em;
	text-transform: uppercase;
	/* rgba(38,33,29) is --h1c-light-text's own RGB; .65 alpha (not the
	   mockup's literal .55) is the lowest opacity that still clears
	   4.5:1 contrast against the section's cream background (checked). */
	color: rgba(38, 33, 29, .65);
}
@media (max-width: 767px) {
	.rb-home__section--light .rb-testi__quote {
		font-size: 20px;
	}
}

/* --- Perspective (Latest Articles) — row list, not a card grid --- */
.rb-home__section--dark .rb-postgrid {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.rb-home__section--dark .rb-postcard {
	flex-direction: row;
	align-items: center;
	gap: 32px;
	background: transparent;
	border: 0;
	border-top: 1px solid var(--h1c-hairline);
	border-radius: 0;
	box-shadow: none;
	padding: 26px 4px;
}
.rb-home__section--dark .rb-postgrid > .rb-postcard:last-child {
	border-bottom: 1px solid var(--h1c-hairline);
}
.rb-home__section--dark .rb-postcard:hover {
	background: var(--h1c-panel);
	transform: none;
	box-shadow: none;
}
.rb-home__section--dark .rb-postcard__media {
	width: 120px;
	flex-shrink: 0;
	aspect-ratio: 4 / 3;
	border-radius: 3px;
}
.rb-home__section--dark .rb-postcard__body {
	flex: 1;
	padding: 0;
	display: flex;
	align-items: baseline;
	gap: 28px;
}
.rb-home__section--dark .rb-postcard__date {
	font-family: var(--h1c-font-mono);
	font-size: 11px;
	letter-spacing: 0;
	text-transform: none;
	color: rgba(239, 232, 220, .45);
	width: 130px;
	flex-shrink: 0;
	margin: 0;
}
.rb-home__section--dark .rb-postcard__title {
	font-family: var(--h1c-font-display);
	font-weight: 400;
	font-size: 22px;
	color: var(--h1c-cream-soft);
	margin: 0;
	flex: 1;
	-webkit-line-clamp: 1;
}
.rb-home__section--dark .rb-postcard__excerpt {
	display: none;
}
@media (max-width: 767px) {
	.rb-home__section--dark .rb-postcard {
		flex-wrap: wrap;
	}
	.rb-home__section--dark .rb-postcard__body {
		flex-direction: column;
		align-items: flex-start;
		gap: 6px;
	}
	.rb-home__section--dark .rb-postcard__date {
		width: auto;
	}
}

/* --- Final CTA band --- */
.rb-home .rb-cta.rb-cta--dark {
	background: var(--h1c-panel);
	border-top: 1px solid var(--h1c-hairline);
	border-bottom: 1px solid var(--h1c-hairline);
	border-radius: 0;
}
.rb-home .rb-cta--dark .rb-cta__heading {
	font-family: var(--h1c-font-display);
	font-weight: 400;
	color: var(--h1c-cream-soft);
}
.rb-home .rb-cta--dark .rb-cta__text {
	color: rgba(239, 232, 220, .6);
}
.rb-home .rb-cta--dark .rb-cta__button {
	background: var(--h1c-gold);
	color: var(--h1c-bg);
	border-radius: 2px;
	font-family: var(--h1c-font-mono);
	font-size: 12px;
	letter-spacing: .16em;
	text-transform: uppercase;
}
.rb-home .rb-cta--dark .rb-cta__button:hover {
	background: #c4a15e;
	color: var(--h1c-bg);
}

/* --- Contact --- */
/* The 2-column split itself (flex_direction/width/gap) is set directly
   in Elementor's own settings for hma00020/hma00021/hma00022, not via
   a CSS class here — Elementor containers are laid out by the INNER
   .e-con-inner element reading --display/--flex-direction/--gap custom
   properties generated from the widget's own saved settings; classes
   on the OUTER .elementor-element wrapper (like this file's own
   .rb-home__contact) don't reach it. Confirmed by measuring live via
   getComputedStyle: with no flex_direction saved, .e-con-inner
   defaulted to column, so both columns stacked full-width at the same
   position no matter what display/flex/grid CSS was added here. */
@media (max-width: 1024px) {
	.rb-home__section--dark .rb-home__contact .elementor-element-hma00022 {
		border-left: none !important;
		padding-left: 0 !important;
	}
}
/* Vertical hairline between the info column and the form, matching the
   reference. Targets the specific right-column element id rather than
   a positional selector so it can't accidentally hit an unrelated
   sibling if the section is ever restructured. */
.rb-home__section--dark .rb-home__contact .elementor-element-hma00022 {
	border-left: 1px solid var(--h1c-hairline);
	padding-left: 64px;
}
.rb-home__section--dark .rb-bizinfo__row a {
	color: var(--h1c-cream);
}
.rb-home__section--dark .rb-bizinfo__row {
	font-size: 15.5px;
	color: rgba(239, 232, 220, .75);
	font-weight: 300;
}
.rb-home__section--dark .rb-bizinfo__note {
	color: rgba(239, 232, 220, .5);
}
.rb-home__section--dark .rb-social a {
	font-family: var(--h1c-font-mono);
	font-size: 11px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--h1c-gold);
}
/* Labeled Tel/Email/Hours rows (new 'labeled' display mode, homepage
   only — see class-rb-widget-business-info.php). Label | value, two
   columns, matching the reference's TEL/EMAIL/HOURS layout. */
.rb-home__section--dark .rb-bizinfo--labeled .rb-bizinfo__row {
	display: grid;
	grid-template-columns: 90px 1fr;
	gap: 16px;
	align-items: baseline;
	font-size: 16px;
	margin: 0 0 14px;
}
.rb-home__section--dark .rb-bizinfo--labeled .rb-bizinfo__label {
	font-family: var(--h1c-font-mono);
	font-size: 10.5px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--h1c-gold);
}
.rb-home__section--dark .rb-bizinfo--labeled .rb-bizinfo__value {
	color: var(--h1c-cream);
}
/* Real inquiry form, restyled dark to match the reference: underline-
   only fields (no boxed inputs), generous vertical rhythm. */
.rb-home__section--dark .rb-iform {
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 0;
}
.rb-home__section--dark .rb-iform__title {
	font-family: var(--h1c-font-display);
	font-weight: 400;
	color: var(--h1c-cream-soft);
}
/* Phase 29.0: this used to unconditionally collapse the base
   `.rb-iform__row` grid to a single column — combined with the
   section's own flex_direction bug (fixed separately, in this page's
   own Elementor settings), the form rendered as one long vertical
   stack with no two-column field pairing at all. Restored to the same
   two-column grid the base stylesheet already defines for Name/Email
   and Phone/Company, just with a wider gap suited to this underline-
   field treatment (no boxed inputs to visually separate the columns,
   so the gap needs to do that work). Preferred Contact Method and
   Message stay full width — they're plain `.rb-iform__field`, never
   wrapped in `.rb-iform__row`, so this doesn't touch them. */
.rb-home__section--dark .rb-iform__row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 40px;
}
/* Tightened from 30px — the field-to-field rhythm was the other big
   contributor to excessive height, on top of the row-stacking bug
   above. Still deliberately generous (not "cramped"), just no longer
   padded for a strictly one-field-per-line layout. */
.rb-home__section--dark .rb-iform__field {
	margin-bottom: 22px;
}
/* The two-column grid above has no media-query scope of its own (it
   must win over the base stylesheet's un-scoped `.rb-iform__row` at
   every width), so without this it would also override the base
   stylesheet's own `@media (max-width:767px)` single-column collapse.
   Restated here at the project's existing mobile breakpoint. */
@media (max-width: 767px) {
	.rb-home__section--dark .rb-iform__row {
		grid-template-columns: 1fr;
	}
}
.rb-home__section--dark .rb-iform__field label {
	display: block;
	margin-bottom: 10px;
	font-family: var(--h1c-font-mono);
	font-size: 11px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba(239, 232, 220, .55);
	font-weight: 400;
}
.rb-home__section--dark .rb-iform__field input[type="text"],
.rb-home__section--dark .rb-iform__field input[type="email"],
.rb-home__section--dark .rb-iform__field input[type="tel"],
.rb-home__section--dark .rb-iform__field select,
.rb-home__section--dark .rb-iform__field textarea {
	width: 100%;
	min-height: 0;
	padding: 0 0 10px;
	background: transparent;
	border: none;
	border-bottom: 1px solid var(--h1c-hairline);
	border-radius: 0;
	color: var(--h1c-cream);
}
.rb-home__section--dark .rb-iform__field textarea {
	min-height: 44px;
}
.rb-home__section--dark .rb-iform__field select option {
	background: var(--h1c-bg);
	color: var(--h1c-cream);
}
/* The generic `.rb-iform__field label { display:block }` rule above
   was also matching the consent checkbox's label (it carries both
   .rb-iform__field and .rb-iform__field--consent), which broke its
   checkbox+text side-by-side flex layout — the checkbox rendered full-
   width (from the input[type] rule too, before the type-qualifiers
   above) and the text wrapped to its own line below. Confirmed live
   via getComputedStyle (display was resolving to "block", not the
   base stylesheet's "flex") before this fix. Restore both here,
   scoped to the consent label/input specifically. */
.rb-home__section--dark .rb-iform__field--consent label {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-bottom: 0;
	color: rgba(239, 232, 220, .6);
}
.rb-home__section--dark .rb-iform__field--consent input {
	width: 18px;
	flex-shrink: 0;
}
.rb-home__section--dark .rb-iform__hint {
	color: rgba(239, 232, 220, .45);
}
.rb-home__section--dark .rb-iform__submit {
	background: var(--h1c-gold);
	color: var(--h1c-bg);
	font-family: var(--h1c-font-mono);
	font-size: 12px;
	letter-spacing: .16em;
	text-transform: uppercase;
	border-radius: 2px;
}
.rb-home__section--dark .rb-iform__submit:hover {
	background: #c4a15e;
}
