/* RPB typeface: self-hosted Geist variable font (matches the approved reference,
   confirmed via the reference's own computed styles/@font-face, not assumed from
   the CSS variable name alone). */
@font-face {
    font-family: 'Geist';
    src: url('fonts/geist/Geist-Variable.woff2') format('woff2-variations'),
         url('fonts/geist/Geist-Variable.woff2') format('woff2');
    font-weight: 100 900;
    font-style: normal;
    font-display: swap;
}
body{font-family: 'Geist', Arial, Helvetica, sans-serif; background: var(--rpb-paper); color: var(--rpb-ink); font-size: 16px}

/* RPB base/shared component classes (used across every page, not one shortcode's
   private CSS - values copied exactly from the approved reference's own bundle). */
/* .shell (a hand-rolled width/centering class) was deleted 2026-08-12 - every section that
   used it, hero included, already sits inside a [vc_row type="full_width_background"], and
   that row type already caps + centers its own content natively (~1245px, container-width
   minus 2x container-padding - Salient's own mechanism, not a value this project invented).
   .shell was redundant at best and the source of a whole session's worth of real bugs at
   worst (a zero-gutter edge case, then two different attempts to add a gutter that each
   broke a different way against the row's own native width). See
   [[feedback-rpb-shell-row-type-mismatch]] and [[feedback-rpb-hero-native-row-background]]
   for the full history - don't reintroduce a .shell-style wrapper class; let the row's own
   native content width apply directly. */
.rpb-eyebrow{color:var(--rpb-green) !important;letter-spacing:.19em;text-transform:uppercase;margin:0 0 24px;font-size:11px;font-weight:650 !important;line-height:1.3}
h1,h2,h3{margin-top:0;text-wrap:balance}
/* font-size AND line-height are !important because Salient's own responsive
   Typography scaling generates "body h2{font-size:29px;line-height:36px}" (1000-
   1300px), down to "font-size:21px;line-height:26px" (<=690px) in
   salient-dynamic-styles.css - higher specificity than a bare h2 rule and loads
   later. Missing the line-height half of this fix (only font-size was caught
   initially) caused real visual overlap on wrapped multi-line headings at mobile
   width: a 44px heading forced into Salient's 26px line-height instead of this
   rule's own .98 ratio (43px) collapses each wrapped line into the one below it.
   Any other h2 rule in this codebase that sets font-size or line-height needs
   !important too, for the same reason - see
   [[feedback-rpb-heading-color-inheritance]]. */
h2{letter-spacing:-.055em;margin-bottom:0;font-size:clamp(42px,5.2vw,68px) !important;font-weight:440;line-height:.98 !important}
h3{letter-spacing:-.02em;margin:44px 0 16px;font-size:18px;font-weight:500}
p{margin-top:0;line-height:1.75}
/* Reference's own site-wide rule (confirmed in its CSS bundle: "p+p{margin-top:1.15em}")
   - every multi-paragraph block was missing this (paragraphs rendering with zero gap
   between them, e.g. About's Real Experience panel) since components only set their
   own font-size/color per paragraph, never inter-paragraph spacing. em-based so it
   scales with each paragraph's own font-size context instead of one fixed px value. */
p + p{margin-top:1.15em}
.rpb-section{padding-top:128px !important;padding-bottom:128px !important;padding-left:0 !important;padding-right:0 !important}

.rpb-button{letter-spacing:.045em;text-transform:uppercase;border:1px solid transparent;border-radius:2px;justify-content:center;align-items:center;min-height:54px;padding:0 25px;font-size:12px;font-weight:620;transition:background .18s,color .18s,border-color .18s;display:inline-flex;text-decoration:none}
.rpb-button span{margin-left:10px}
.rpb-button-light{background:var(--rpb-white);color:var(--rpb-ink)}
.rpb-button-light:hover{background:var(--rpb-brass-light)}
.rpb-button-outline{border-color:var(--rpb-ink);color:var(--rpb-ink)}
.rpb-button-outline:hover{background:var(--rpb-ink);color:var(--rpb-white)}

.rpb-text-link{border-bottom:1px solid currentColor;padding-bottom:6px;font-size:13px;font-weight:580;line-height:1.5;display:inline-block;text-decoration:none;color:inherit}
.rpb-text-link span{margin-left:10px}
.rpb-text-link.rpb-light-link{color:var(--rpb-white)}

/* RPB header nav: Salient's Redux sliders can't hit the reference's exact spec,
   and salient-dynamic-styles.css loads after this file regardless of specificity
   - !important is this codebase's established fix for that, per the build brief. */
#top{border-bottom:1px solid #fff3}

#top nav.desktop-nav > ul.sf-menu > li > a,
#header-outer #top nav > ul > li > a {
	font-size: 12px !important;
	letter-spacing: .015em !important;
	color: var(--rpb-white) !important;
}
#top nav.desktop-nav > ul.sf-menu > li > a:hover,
#header-outer#header-outer #top nav > ul > li > a:hover {
	color: var(--rpb-brass-light) !important;
}
body #header-outer#header-outer #top nav .sf-menu > .current-menu-item > a,
body #header-outer#header-outer #top nav .sf-menu > .current_page_item > a {
	color: #009e83 !important;
}
#slide-out-widget-area.slide-out-from-right {

  transform: translate3d(51vw,0,0);
  width: 50vw !important;}

/* RPB design tokens (from approved reference: real-property-buyers-concept.bivsta.chatgpt.site) */
:root{
	--rpb-ink: #102024;
	--rpb-ink-deep: #09161a;
	--rpb-paper: #f4f1e9;
	--rpb-cream: #ebe5d8;
	--rpb-white: #fffefa;
	--rpb-brass: #ae9060;
	--rpb-brass-light: #d3bd98;
	--rpb-green: #009b85;
	--rpb-sage: #8d9a91;
	--rpb-line: #1020242e;
	--rpb-muted: #5c6868;
	/* Salient's own salient-dynamic-styles.css sets body/h1-h6 color from this
	   variable with a #000000 fallback - defining it here fixes text color
	   site-wide at the source instead of overriding color on every element. */
	--nectar-page-text-color: var(--rpb-ink);
	/* Salient's own style.css gives every <p> a 28px auto padding-bottom via
	   this variable (see wp-content/themes/salient/css/fonts.php). The
	   reference has no such automatic paragraph spacing - components control
	   their own spacing explicitly (e.g. .rpb-hero-lead's own margin-top). */
	--nectar-paragraph-bottom-spacing: 0;
}

/* RPB footer: 5-column grid (Brand, Company links, Services links, Connect, Contact) -
   see include/footer-widgets.php + includes/partials/footer/main-widgets.php for the
   extra Footer Area 5 sidebar this relies on. Column proportions match the reference. */
/* Background/border COLOR come from Salient's own native Redux options (Theme Options >
   Footer): footer-background-color and footer-copyright-background-color/-border-color, all
   set to match --rpb-ink-deep / the reference's border color - see
   [[feedback-rpb-check-salient-options-first]]. footer-background-color doesn't reach
   #footer-outer itself for this footer layout though, so that one line stays custom CSS.
   The copyright border's WIDTH (content-only vs full-bleed) has no matching option - Salient
   always renders it full-bleed on #copyright itself - so cancel it there and re-add at the
   same (now Redux-controlled) color on .container, its native content-width wrapper. */
#footer-outer{background:var(--rpb-ink-deep)}
#footer-widgets.rpb-footer-widgets-5col{background:var(--rpb-ink-deep);color:var(--rpb-white);padding:72px 0 0}
#footer-widgets.rpb-footer-widgets-5col .container{max-width:1400px}
.rpb-footer-row{display:flex;align-items:flex-start;padding-top:0 !important;padding-bottom:84px !important;width:100%}
#footer-outer #copyright{border-top:0 !important;padding:0 0 34px !important}
#footer-outer #copyright .container{border-top:1px solid #ffffff4d;max-width:calc(1425px - 180px);padding:30px 0 0 0}
.rpb-footer-col-wide{flex:1.55 1 220px}
.rpb-footer-col{flex:.82 1 140px}
.rpb-footer-col:last-child{flex:1.45 1 220px}
.rpb-footer-widgets-5col .widget{margin:0}
#footer-outer #footer-widgets.rpb-footer-widgets-5col .widget h4{font-size:13px;letter-spacing:.02em;text-transform:uppercase;color:var(--rpb-green) !important;font-weight:400 !important;margin:0 0 14px;line-height:1}
.rpb-footer-brand + p{color:#ffffffb8;margin:31px 0 0;font-size:14px;line-height:1.7}
.rpb-footer-widgets-5col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;font-size:14px}
#footer-outer #footer-widgets.rpb-footer-widgets-5col.rpb-footer-widgets-5col .row .col ul:not([class*="nectar_blog_posts"]) li{padding:0 !important;border:none}
.rpb-footer-contact{display:flex;flex-direction:column;gap:14px;font-style:normal;font-size:14px}
#footer-outer #footer-widgets.rpb-footer-widgets-5col a,.rpb-footer-widgets-5col span{color:#ffffffb8 !important;line-height:1.25;text-decoration:none}
#footer-outer #footer-widgets.rpb-footer-widgets-5col a:hover{color:var(--rpb-brass-light) !important}
.gform_wrapper.gravity-theme .gform_validation_errors > h2 {

  font-size: 13.2px !important;}
  .rpb-offer li{list-style: none !important;} 