/* ====================================================================
   rt-header — unified two-state site header for realatrends.com
   Tokens from design_handoff_refined_stacked_header (Option 07).
   ==================================================================== */
:root{
  --rt-navy:#0e2c4a; --rt-gold:#c4a877; --rt-gold-soft:#dcc79c;
  --rt-cream:#f7f2e8; --rt-paper:#fff;
  --rt-f-logo:"Cinzel",serif; --rt-f-sans:"Jost",system-ui,sans-serif;
  --rt-f-serif:"Cormorant Garamond",Georgia,serif;
}
/* Lock page scroll while the takeover menu is open. */
html.rt-drawer-lock, html.rt-drawer-lock body{ overflow:hidden; }

/* The header is position:fixed — the site sets overflow-x:hidden on html/body,
   which breaks position:sticky. Fixed keeps it pinned in both states; it is out
   of normal flow, so interior pages add a top spacer (see below). */
.rt-hdr{
  position:fixed; top:0; left:0; right:0; z-index:1000; width:100%;
  transition:background .3s ease, box-shadow .3s ease, padding .3s ease, height .3s ease;
}
.rt-hdr a{text-decoration:none;}
.rt-hdr .rt-hdr__trans,
.rt-hdr .rt-hdr__solid{transition:opacity .25s ease;}

/* circular hamburger button (shared) */
.rt-hdr__circle{
  width:40px; height:40px; border-radius:50%; flex-shrink:0; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  border:1px solid rgba(255,255,255,.55); background:rgba(255,255,255,.10);
}
.rt-hdr__burger{display:flex; flex-direction:column; justify-content:space-between; width:18px; height:13px;}
.rt-hdr__burger span{display:block; height:1.6px; border-radius:2px; background:#fff;}
.rt-hdr__burger span:nth-child(2){width:74%;}

/* phone icon vertical alignment */
.rt-hdr__phone, .rt-hdr__phone-pill{display:flex; align-items:center; gap:7px;}

/* ---------- State B: solid navy bar ---------- */
.rt-hdr__solid{
  display:flex; align-items:center; height:58px; padding:0 18px;
  background:var(--rt-navy);
  border-bottom:1px solid rgba(196,168,119,.35);
  box-shadow:0 6px 24px rgba(8,24,40,.12);
}
.rt-hdr__wm{
  font-family:var(--rt-f-logo); font-weight:600; font-size:17px;
  letter-spacing:.05em; color:var(--rt-cream);
}
.rt-hdr__right{margin-left:auto; display:flex; align-items:center; gap:14px;}
.rt-hdr__nav{display:none;} /* desktop only — see media query */
.rt-hdr__phone-pill{display:none;} /* desktop only */
.rt-hdr__solid .rt-hdr__circle{border-color:rgba(247,242,232,.5);}
.rt-hdr__solid .rt-hdr__burger span{background:var(--rt-cream);}

/* In the solid state the transparent lockup is removed entirely. */
.rt-hdr.is-solid .rt-hdr__trans{display:none;}
/* In the transparent state the solid bar is hidden (next task positions it). */
.rt-hdr:not(.is-solid) .rt-hdr__solid{display:none;}

/* ============================================================
   Full-screen takeover menu (.rt-drawer)
   Split layout: coastline imagery + large serif nav. Own classes/markup/JS —
   no theme menu handlers involved. Toggled via `.rt-drawer--open`.
   ============================================================ */
.rt-drawer{
  position:fixed; inset:0; z-index:2000; display:flex;
  opacity:0; visibility:hidden;
  transition:opacity .45s ease, visibility .45s ease;
}
.rt-drawer.rt-drawer--open{ opacity:1; visibility:visible; }

/* Left: coastline imagery with dark overlay + brand lockup. */
.rt-drawer__media{
  flex:0 0 42%; position:relative; overflow:hidden;
  background:var(--rt-navy) url("https://www.realatrends.com/wp-content/uploads/2019/02/Laguna-Beach-Real-Estate-3.webp") center/cover no-repeat;
  transform:scale(1.06); transition:transform .6s ease;
}
.rt-drawer.rt-drawer--open .rt-drawer__media{ transform:scale(1); }
.rt-drawer__media-overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(6,20,36,.45) 0%, rgba(6,20,36,.55) 55%, rgba(6,20,36,.82) 100%);
}
.rt-drawer__media-brand{ position:absolute; left:56px; bottom:52px; right:40px; }
.rt-drawer__media-wordmark{
  display:block; font-family:var(--rt-f-logo); font-weight:600; font-size:30px;
  letter-spacing:.1em; color:#fff;
}
.rt-drawer__media-rule{ display:block; width:46px; height:1px; background:var(--rt-gold); margin:16px 0 14px; }
.rt-drawer__media-tag{
  font-family:var(--rt-f-sans); font-weight:500; font-size:11px; letter-spacing:.26em;
  text-transform:uppercase; color:var(--rt-gold-soft);
}

/* Right: navy nav panel. */
.rt-drawer__panel{
  flex:1; min-width:0; background:var(--rt-navy);
  display:flex; flex-direction:column; padding:34px 64px 40px; overflow-y:auto;
}
.rt-drawer__top{ display:flex; align-items:center; justify-content:space-between; }
.rt-drawer__brand{
  font-family:var(--rt-f-logo); font-weight:600; font-size:18px; letter-spacing:.06em;
  color:var(--rt-cream); text-decoration:none;
}
.rt-drawer__close{
  display:inline-flex; align-items:center; gap:9px; background:none; border:0; cursor:pointer;
  color:var(--rt-cream); font-family:var(--rt-f-sans); font-weight:500; font-size:12px;
  letter-spacing:.2em; text-transform:uppercase; padding:6px; transition:color .2s ease;
}
.rt-drawer__close:hover{ color:var(--rt-gold-soft); }

/* Nav — large serif, vertically centred. */
.rt-drawer__nav{ margin:auto 0; padding:28px 0; }
.rt-drawer__menu, .rt-drawer__menu ul{ list-style:none; margin:0; padding:0; }
.rt-drawer__menu > li{ position:relative; }
/* Parent rows are accordion toggles — make the whole row read as clickable. */
.rt-drawer__menu .menu-item-has-children{ cursor:pointer; }
.rt-drawer__menu > li + li{ border-top:1px solid rgba(247,242,232,.08); }
.rt-drawer__menu > li > a{
  display:inline-block; font-family:var(--rt-f-serif); font-weight:500; font-size:34px;
  line-height:1.45; letter-spacing:.005em; color:var(--rt-cream); text-decoration:none;
  transition:color .22s ease, padding-left .22s ease;
}
.rt-drawer__menu > li > a:hover{ color:var(--rt-gold-soft); padding-left:10px; }
/* Staggered entrance for the top-level items. */
.rt-drawer__menu > li{ opacity:0; transform:translateY(16px); transition:opacity .5s ease, transform .5s ease; }
.rt-drawer.rt-drawer--open .rt-drawer__menu > li{ opacity:1; transform:none; }
.rt-drawer.rt-drawer--open .rt-drawer__menu > li:nth-child(1){ transition-delay:.10s; }
.rt-drawer.rt-drawer--open .rt-drawer__menu > li:nth-child(2){ transition-delay:.15s; }
.rt-drawer.rt-drawer--open .rt-drawer__menu > li:nth-child(3){ transition-delay:.20s; }
.rt-drawer.rt-drawer--open .rt-drawer__menu > li:nth-child(4){ transition-delay:.25s; }
.rt-drawer.rt-drawer--open .rt-drawer__menu > li:nth-child(5){ transition-delay:.30s; }
.rt-drawer.rt-drawer--open .rt-drawer__menu > li:nth-child(6){ transition-delay:.35s; }
.rt-drawer.rt-drawer--open .rt-drawer__menu > li:nth-child(7){ transition-delay:.40s; }
.rt-drawer.rt-drawer--open .rt-drawer__menu > li:nth-child(n+8){ transition-delay:.45s; }

/* Submenu accordion. */
.rt-drawer__menu .sub-menu{ max-height:0; overflow:hidden; transition:max-height .35s ease; }
.rt-drawer__menu .rt-drawer__li--open > .sub-menu{ max-height:900px; }
.rt-drawer__menu .sub-menu a{
  display:block; font-family:var(--rt-f-sans); font-weight:400; font-size:14.5px;
  letter-spacing:.04em; color:var(--rt-cream); opacity:.78; text-decoration:none;
  padding:7px 0 7px 18px; transition:opacity .2s ease, color .2s ease;
}
.rt-drawer__menu .sub-menu a:hover{ opacity:1; color:var(--rt-gold-soft); }
.rt-drawer__menu .sub-menu{ padding-bottom:10px; }

/* Caret toggle (injected by rt-header.js for parent items). */
.rt-drawer__caret{
  position:absolute; top:6px; right:0; width:48px; height:48px; border:0; cursor:pointer;
  background:transparent; color:var(--rt-gold-soft); font-size:16px;
  display:flex; align-items:center; justify-content:center; transition:transform .3s ease;
}
.rt-drawer__menu .rt-drawer__li--open > .rt-drawer__caret{ transform:rotate(180deg); }

/* Footer — phone + address. */
.rt-drawer__footer{ display:flex; align-items:center; gap:22px; flex-wrap:wrap; padding-top:22px; border-top:1px solid rgba(247,242,232,.10); }
.rt-drawer__phone{ display:inline-flex; align-items:center; gap:9px; color:#fff; text-decoration:none; font-family:var(--rt-f-sans); font-weight:500; font-size:16px; letter-spacing:.06em; }
.rt-drawer__phone:hover{ color:var(--rt-gold-soft); }
.rt-drawer__addr{ font-family:var(--rt-f-sans); font-size:12.5px; letter-spacing:.04em; color:var(--rt-gold-soft); opacity:.85; }

/* Mobile: drop the image panel; nav fills the screen. */
@media (max-width:1023px){
  .rt-drawer__media{ display:none; }
  .rt-drawer__panel{ padding:22px 26px 30px; }
  .rt-drawer__nav{ padding:14px 0; }
  .rt-drawer__menu > li > a{ font-size:27px; line-height:1.5; }
  .rt-drawer__caret{ height:46px; top:4px; }
}

/* Respect reduced motion. */
@media (prefers-reduced-motion:reduce){
  .rt-drawer, .rt-drawer__media,
  .rt-drawer .rt-drawer__menu > li{ transition:none !important; transform:none !important; }
}

/* ---------- Desktop (>=1024px) solid bar ---------- */
@media (min-width:1024px){
  .rt-hdr__solid{height:68px; padding:0 40px;}
  .rt-hdr__wm{font-size:20px;}
  .rt-hdr__right{gap:28px;}
  .rt-hdr__nav{
    display:flex; align-items:center; gap:30px;
  }
  .rt-hdr__nav a{
    font-family:var(--rt-f-sans); font-weight:400; font-size:13px;
    letter-spacing:.16em; text-transform:uppercase; color:var(--rt-cream);
    opacity:.86; padding-bottom:4px; border-bottom:1.5px solid transparent;
  }
  .rt-hdr__nav a:hover{opacity:1; border-bottom-color:rgba(196,168,119,.55);}
  .rt-hdr__nav a.active{opacity:1; border-bottom-color:var(--rt-gold);}
  .rt-hdr__phone-pill{
    display:flex; height:38px; padding:0 16px; border-radius:999px; gap:8px;
    border:1px solid var(--rt-gold); background:rgba(196,168,119,.16);
  }
  .rt-hdr__phone-pill .rt-hdr__phone-num{
    font-family:var(--rt-f-sans); font-weight:500; font-size:13px;
    letter-spacing:.06em; color:#fff;
  }
}

/* ---------- State A: transparent stacked lockup ---------- */
.rt-hdr__trans{
  position:relative; display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:8px; height:118px; padding:14px 18px 12px;
}
.rt-hdr__trans .rt-hdr__menu-btn{position:absolute; top:14px; right:18px;}
.rt-hdr__lockup{text-align:center; display:block;}
.rt-hdr__wordmark{
  display:block; font-family:var(--rt-f-logo); font-weight:600; font-size:22px;
  line-height:1; letter-spacing:.06em; color:#fff;
}
.rt-hdr__tagline{
  display:flex; align-items:center; justify-content:center; gap:7px; margin-top:6px;
}
.rt-hdr__rule{height:1px; width:15px; background:var(--rt-gold-soft); opacity:.6;}
.rt-hdr__tagline-txt{
  font-family:var(--rt-f-sans); font-weight:500; font-size:7.5px;
  letter-spacing:.28em; text-transform:uppercase; color:var(--rt-gold-soft);
}
.rt-hdr__trans .rt-hdr__phone-num{
  font-family:var(--rt-f-sans); font-weight:500; font-size:12px;
  letter-spacing:.1em; color:#fff;
}

/* Transparent state: no band of its own — the homepage hero now carries a full
   elegant overlay (see below), so the header sits cleanly over it. A light
   text-shadow keeps the lockup crisp. Solid bar fades in when .is-solid is added. */
.rt-hdr:not(.is-solid){ background:transparent; box-shadow:none; }
.rt-hdr.is-solid{ background:var(--rt-navy); }

.rt-hdr__wordmark,
.rt-hdr__tagline-txt,
.rt-hdr__trans .rt-hdr__phone-num{
  text-shadow:0 1px 10px rgba(6,20,36,.55), 0 1px 3px rgba(6,20,36,.6);
}
.rt-hdr__trans .rt-hdr__phone-ico{filter:drop-shadow(0 1px 3px rgba(6,20,36,.6));}

/* ---------- Full-hero overlay (homepage) ----------
   An elegant dark gradient across the ENTIRE hero (not just behind the lockup),
   so the wordmark, headline and CTAs all read with luxury contrast — a touch
   stronger at the top (header zone) and bottom (vignette). Overrides Elementor's
   default light overlay on the first top-section. */
body.home .elementor-element-6754bd1f > .elementor-background-overlay{
  background:linear-gradient(180deg, rgba(6,20,36,.66) 0%, rgba(6,20,36,.44) 45%, rgba(6,20,36,.58) 100%) !important;
  opacity:1 !important;
}

/* The fixed header reserves no flow space. On the homepage the hero sits under
   the transparent header by design (no offset). On every other page, offset the
   content by the solid bar height so nothing hides beneath the fixed bar. */
body:not(.home){ padding-top:58px; }

/* ---------- Desktop (>=1024px) transparent state + hero pull-up ---------- */
@media (min-width:1024px){
  .rt-hdr__trans{height:124px; padding:20px 40px 16px;}
  .rt-hdr__trans .rt-hdr__menu-btn{top:20px; right:40px;}
  .rt-hdr__wordmark{font-size:30px;}
  .rt-hdr__tagline{margin-top:8px;}
  .rt-hdr__rule{width:21px;}
  .rt-hdr__tagline-txt{font-size:10px;}
  .rt-hdr__trans .rt-hdr__phone-num{font-size:14px;}
  body:not(.home){ padding-top:68px; }
}

/* ---------- Reduced motion: snap, no transitions ---------- */
@media (prefers-reduced-motion:reduce){
  .rt-hdr,
  .rt-hdr .rt-hdr__trans,
  .rt-hdr .rt-hdr__solid{transition:none !important;}
}

/* ============================================================
   Enterprise footer (.rt-footer) + Laguna weather widget
   ============================================================ */
.rt-footer{ background:var(--rt-navy-deep,#09203a); color:var(--rt-cream); }
.rt-footer__inner{
  max-width:1240px; margin:0 auto; padding:64px 40px 40px;
  display:grid; grid-template-columns:1.7fr 1fr 1fr 1fr 1.1fr; gap:48px;
}
.rt-footer__wordmark{ font-family:var(--rt-f-logo); font-weight:600; font-size:26px; letter-spacing:.1em; color:#fff; text-decoration:none; }
.rt-footer__rule{ display:block; width:44px; height:1px; background:var(--rt-gold); margin:14px 0 12px; }
.rt-footer__tag{ font-family:var(--rt-f-sans); font-weight:500; font-size:10.5px; letter-spacing:.26em; text-transform:uppercase; color:var(--rt-gold-soft); margin:0 0 16px; }
.rt-footer__blurb{ font-family:var(--rt-f-sans); font-weight:300; font-size:14px; line-height:1.7; color:rgba(247,242,232,.8); margin:0 0 20px; max-width:34ch; }
.rt-footer__h{ font-family:var(--rt-f-sans); font-weight:500; font-size:12px; letter-spacing:.2em; text-transform:uppercase; color:var(--rt-gold-soft); margin:0 0 16px; }
.rt-footer__col{ display:flex; flex-direction:column; }
.rt-footer__col a{ font-family:var(--rt-f-sans); font-weight:300; font-size:14.5px; color:rgba(247,242,232,.82); text-decoration:none; padding:6px 0; transition:color .2s ease, padding-left .2s ease; }
.rt-footer__col a:hover{ color:var(--rt-gold-soft); padding-left:5px; }
.rt-footer__addr{ font-style:normal; font-family:var(--rt-f-sans); font-weight:300; font-size:14.5px; line-height:1.7; color:rgba(247,242,232,.82); margin-bottom:14px; }
.rt-footer__phone{ display:inline-flex; align-items:center; gap:8px; color:#fff; text-decoration:none; font-family:var(--rt-f-sans); font-weight:500; font-size:16px; letter-spacing:.05em; }
.rt-footer__phone:hover{ color:var(--rt-gold-soft); }
.rt-footer__hours{ font-family:var(--rt-f-sans); font-weight:300; font-size:13px; color:var(--rt-gold-soft); opacity:.85; margin:12px 0 0; }

/* Laguna weather widget */
.rt-weather{
  display:inline-flex; align-items:center; gap:12px; padding:11px 16px; border-radius:6px;
  background:rgba(196,168,119,.10); border:1px solid rgba(196,168,119,.28);
}
.rt-weather__loc{ font-family:var(--rt-f-sans); font-weight:500; font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:var(--rt-gold-soft); }
.rt-weather__body{ display:inline-flex; align-items:center; gap:10px; font-family:var(--rt-f-sans); color:var(--rt-cream); }
.rt-weather__temp{ font-size:20px; font-weight:500; letter-spacing:.02em; }
.rt-weather__ico{ font-size:17px; line-height:1; }
.rt-weather__meta{ font-size:12px; letter-spacing:.04em; color:rgba(247,242,232,.7); }
.rt-weather__dim{ font-size:12.5px; letter-spacing:.04em; color:rgba(247,242,232,.55); }

.rt-footer__bottom{
  border-top:1px solid rgba(247,242,232,.1); padding:20px 40px;
  display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px;
  max-width:1240px; margin:0 auto;
}
.rt-footer__legal, .rt-footer__since{ font-family:var(--rt-f-sans); font-weight:300; font-size:12px; letter-spacing:.04em; color:rgba(247,242,232,.6); }
.rt-footer__since{ color:var(--rt-gold-soft); opacity:.8; }

@media (max-width:1023px){
  .rt-footer__inner{ grid-template-columns:1fr 1fr; gap:36px 28px; padding:48px 26px 32px; }
  .rt-footer__brandcol{ grid-column:1 / -1; }
  .rt-footer__bottom{ flex-direction:column; text-align:center; padding:18px 26px; }
}
@media (max-width:560px){
  .rt-footer__inner{ grid-template-columns:1fr; }
}

/* ============================================================
   "Let's talk" sticky CTA (.rt-talk) — low-pressure, dismissible
   ============================================================ */
.rt-talk{
  position:fixed; right:22px; bottom:22px; z-index:1500;
  display:flex; align-items:stretch; gap:0; overflow:hidden;
  background:var(--rt-navy); border:1px solid rgba(196,168,119,.55); border-radius:999px;
  box-shadow:0 10px 30px rgba(8,24,40,.35);
  transform:translateY(160%); opacity:0; transition:transform .4s ease, opacity .4s ease;
}
.rt-talk.is-in{ transform:none; opacity:1; }
.rt-talk__main{
  display:flex; align-items:center; gap:9px; padding:12px 16px 12px 18px;
  color:var(--rt-cream); text-decoration:none; font-family:var(--rt-f-sans);
  font-weight:400; font-size:14px; letter-spacing:.02em; white-space:nowrap;
}
.rt-talk__main strong{ font-weight:600; color:var(--rt-gold-soft); }
.rt-talk__ico{ color:var(--rt-gold-soft); flex-shrink:0; }
.rt-talk__call{
  display:none; align-items:center; justify-content:center; width:46px; flex-shrink:0;
  color:var(--rt-navy); background:var(--rt-gold); text-decoration:none;
}
.rt-talk__call:hover{ background:var(--rt-gold-soft); }
.rt-talk__x{
  align-self:flex-start; background:none; border:0; color:rgba(247,242,232,.6);
  font-size:18px; line-height:1; cursor:pointer; padding:6px 10px 0 4px;
}
.rt-talk__x:hover{ color:var(--rt-cream); }

/* Mobile: keep it compact & unobtrusive — show the quick-call button, trim copy. */
@media (max-width:600px){
  .rt-talk{ right:12px; bottom:12px; }
  .rt-talk__main{ padding:11px 12px; font-size:13px; }
  .rt-talk__pre{ display:none; } /* trim to just "Let's talk" on mobile */
  .rt-talk__call{ display:flex; }
}
@media (prefers-reduced-motion:reduce){ .rt-talk{ transition:none !important; } }

/* ============================================================
   Long-form content readability (resource / article pages)
   Constrains the reading measure for the theme's single-page PROSE only —
   targets direct text children of .entry-content, so Elementor-built layouts
   (valuation tool, marketing, company pages) keep their full-width designs.
   ============================================================ */
.rh_blog__single .entry-content > p,
.rh_blog__single .entry-content > h2,
.rh_blog__single .entry-content > h3,
.rh_blog__single .entry-content > h4,
.rh_blog__single .entry-content > ul,
.rh_blog__single .entry-content > ol,
.rh_blog__single .entry-content > blockquote,
.rh_blog__single .entry-content > figure,
.rh_blog__single .entry-content > .wp-block-image{
  max-width:800px; margin-left:auto; margin-right:auto;
}
.rh_blog__single .entry-content > h2{ margin-top:1.7em; margin-bottom:.5em; }
.rh_blog__single .entry-content > h3{ margin-top:1.35em; margin-bottom:.4em; }
.rh_blog__single .entry-content > p{ line-height:1.8; }

/* ============================================================
   About Us v2 (.rt-about) — standalone redesign (page-about-us-v2.php)
   ============================================================ */
.rt-about{ font-family:var(--rt-f-sans); color:var(--rt-ink,#16202e); background:#fff; }
.rt-about h1,.rt-about h2,.rt-about h3{ font-family:var(--rt-f-serif); font-weight:600; color:var(--rt-navy); }

/* Hero */
.rt-about__hero{ position:relative; background-size:cover; background-position:center; padding:120px 24px 110px; text-align:center; }
.rt-about__hero-overlay{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(6,20,36,.62), rgba(6,20,36,.74)); }
.rt-about__hero-inner{ position:relative; max-width:880px; margin:0 auto; }
.rt-about__eyebrow{ display:inline-block; font-size:12px; font-weight:500; letter-spacing:.28em; text-transform:uppercase; color:var(--rt-gold-soft); margin-bottom:18px; }
.rt-about__hero .rt-about__title{ color:#fff; font-size:clamp(34px,5vw,58px); line-height:1.08; margin:0 0 18px; }
.rt-about__lede{ color:rgba(247,242,232,.9); font-weight:300; font-size:clamp(16px,1.6vw,19px); line-height:1.7; max-width:620px; margin:0 auto; }

/* Stats */
.rt-about__stats{ display:flex; flex-wrap:wrap; justify-content:center; gap:0; background:var(--rt-navy); }
.rt-stat{ flex:1 1 220px; text-align:center; padding:42px 24px; border-left:1px solid rgba(247,242,232,.08); }
.rt-stat:first-child{ border-left:0; }
.rt-stat__num{ display:block; font-family:var(--rt-f-serif); font-weight:600; font-size:clamp(40px,5vw,60px); line-height:1; color:var(--rt-gold-soft); }
.rt-stat__label{ display:block; margin-top:12px; font-size:12.5px; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:rgba(247,242,232,.72); }

/* Story */
.rt-about__story{ max-width:1140px; margin:0 auto; padding:84px 32px; display:grid; grid-template-columns:0.85fr 1.15fr; gap:60px; align-items:center; }
.rt-about__media img{ width:100%; height:auto; border-radius:4px; box-shadow:0 24px 60px rgba(8,24,40,.18); display:block; }
.rt-about__media-cap{ margin-top:18px; text-align:center; }
.rt-about__media-cap strong{ display:block; font-family:var(--rt-f-serif); font-size:22px; color:var(--rt-navy); }
.rt-about__media-cap span{ font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#8a8f96; }
.rt-about__kicker{ display:inline-block; font-size:12px; font-weight:500; letter-spacing:.26em; text-transform:uppercase; color:var(--rt-gold); margin-bottom:10px; }
.rt-about__prose h2{ font-size:clamp(28px,3.4vw,40px); margin:0 0 22px; }
.rt-about__prose p{ font-weight:300; font-size:16.5px; line-height:1.85; color:#3a4250; margin:0 0 18px; }

/* Buttons */
.rt-btn{ display:inline-block; font-family:var(--rt-f-sans); font-weight:500; font-size:12.5px; letter-spacing:.18em; text-transform:uppercase; padding:14px 26px; border-radius:2px; text-decoration:none; transition:all .22s ease; }
.rt-btn--solid{ background:var(--rt-navy); color:var(--rt-cream); }
.rt-btn--solid:hover{ background:#143a5c; }
.rt-btn--ghost{ border:1px solid var(--rt-navy); color:var(--rt-navy); }
.rt-btn--ghost:hover{ background:var(--rt-navy); color:var(--rt-cream); }
.rt-btn--gold{ background:var(--rt-gold); color:var(--rt-navy); }
.rt-btn--gold:hover{ background:var(--rt-gold-soft); }
.rt-btn--ghost-light{ border:1px solid rgba(247,242,232,.6); color:var(--rt-cream); }
.rt-btn--ghost-light:hover{ background:rgba(247,242,232,.12); }
.rt-about__actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.rt-about__actions--center{ justify-content:center; }

/* Bio */
.rt-about__bio{ background:#f7f5f0; }
.rt-about__bio-inner{ max-width:820px; margin:0 auto; padding:78px 32px; text-align:center; }
.rt-about__bio h2{ font-size:clamp(28px,3.4vw,40px); margin:0 0 22px; }
.rt-about__bio p{ font-weight:300; font-size:16.5px; line-height:1.85; color:#3a4250; margin:0 auto 18px; max-width:680px; }

/* Values */
.rt-about__values{ max-width:1140px; margin:0 auto; padding:84px 32px; display:grid; grid-template-columns:repeat(3,1fr); gap:48px; }
.rt-value__rule{ display:block; width:40px; height:2px; background:var(--rt-gold); margin-bottom:20px; }
.rt-value h3{ font-size:23px; margin:0 0 12px; }
.rt-value p{ font-weight:300; font-size:15.5px; line-height:1.75; color:#3a4250; margin:0; }

/* CTA */
.rt-about__cta{ position:relative; background-size:cover; background-position:center; padding:96px 24px; text-align:center; }
.rt-about__cta-overlay{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(6,20,36,.72), rgba(6,20,36,.8)); }
.rt-about__cta-inner{ position:relative; max-width:720px; margin:0 auto; }
.rt-about__cta h2{ color:#fff; font-size:clamp(28px,3.6vw,42px); margin:0 0 14px; }
.rt-about__cta p{ color:rgba(247,242,232,.88); font-weight:300; font-size:17px; margin:0 0 26px; }

@media (max-width:900px){
  .rt-about__story{ grid-template-columns:1fr; gap:36px; padding:60px 26px; }
  .rt-about__values{ grid-template-columns:1fr; gap:36px; padding:60px 26px; }
  .rt-stat{ flex-basis:50%; border-left:0; }
}

/* ============================================================
   "Communities We Serve" — homepage city photo grid (.rt-cities)
   ============================================================ */
.rt-cities{ background:#f7f5f0; padding:84px 32px; }
.rt-cities__head{ max-width:760px; margin:0 auto 46px; text-align:center; }
.rt-cities__kicker{ display:inline-block; font-family:var(--rt-f-sans); font-size:12px; font-weight:500; letter-spacing:.26em; text-transform:uppercase; color:var(--rt-gold); margin-bottom:12px; }
.rt-cities__title{ font-family:var(--rt-f-serif); font-weight:600; color:var(--rt-navy); font-size:clamp(28px,3.6vw,42px); line-height:1.1; margin:0 0 14px; }
.rt-cities__sub{ font-family:var(--rt-f-sans); font-weight:300; font-size:16px; line-height:1.7; color:#5a626e; margin:0; }
.rt-cities__grid{
  max-width:1240px; margin:0 auto;
  display:grid; grid-template-columns:repeat(5,1fr); gap:18px;
}
.rt-city{
  position:relative; display:block; height:230px; overflow:hidden; border-radius:4px;
  background-size:cover; background-position:center; text-decoration:none;
  box-shadow:0 10px 30px rgba(8,24,40,.14); transition:transform .5s ease, box-shadow .35s ease;
}
.rt-city::after{ /* the image zoom layer uses a pseudo so the gradient stays put */ }
.rt-city__overlay{
  position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(6,20,36,.15) 0%, rgba(6,20,36,.30) 45%, rgba(6,20,36,.82) 100%);
  transition:background .35s ease;
}
.rt-city__body{ position:absolute; left:0; right:0; bottom:0; padding:20px 20px 18px; z-index:1; }
.rt-city__name{ display:block; font-family:var(--rt-f-serif); font-weight:600; font-size:22px; line-height:1.15; color:#fff; text-shadow:0 1px 8px rgba(6,20,36,.5); }
.rt-city__cta{
  display:inline-block; margin-top:6px; font-family:var(--rt-f-sans); font-weight:500; font-size:11px;
  letter-spacing:.18em; text-transform:uppercase; color:var(--rt-gold-soft);
  opacity:0; transform:translateY(6px); transition:opacity .3s ease, transform .3s ease;
}
.rt-city:hover{ transform:translateY(-4px); box-shadow:0 18px 44px rgba(8,24,40,.26); background-size:112%; }
.rt-city:hover .rt-city__overlay{ background:linear-gradient(180deg, rgba(6,20,36,.20) 0%, rgba(6,20,36,.40) 45%, rgba(8,24,40,.88) 100%); }
.rt-city:hover .rt-city__cta{ opacity:1; transform:none; }

@media (max-width:1100px){ .rt-cities__grid{ grid-template-columns:repeat(3,1fr); } }
@media (max-width:760px){ .rt-cities{ padding:58px 22px; } .rt-cities__grid{ grid-template-columns:repeat(2,1fr); gap:14px; } .rt-city{ height:180px; } .rt-city__name{ font-size:18px; } .rt-city__cta{ opacity:1; transform:none; } }
@media (max-width:420px){ .rt-cities__grid{ grid-template-columns:1fr; } }

/* ============================================================
   Brand-color the ShowcaseIDX listing badges (blue/pink -> navy/gold)
   so listings read consistently with the navy/gold scheme.
   ============================================================ */
/* The SIDX account's generated custom.css forces these ribbons blue (#228fcc)
   with a 5-class selector + !important, e.g.
   `.sidx-container .sidx-search-results .sidx-thumbnail .sidx-ribbons .sidx-new-listing`.
   To win the cascade we replicate that exact chain and add a leading `body`
   (specificity 0,5,1 > their 0,5,0). New listings + price drops -> navy;
   open houses stay gold. Fallback short selectors cover non-search contexts. */
body .sidx-container .sidx-search-results .sidx-thumbnail .sidx-ribbons .sidx-new-listing,
body .sidx-container .sidx-search-results .sidx-thumbnail .sidx-ribbons .sidx-price-drop,
.sidx-ribbon.sidx-new-listing,
.sidx-ribbon.sidx-price-drop{ background:var(--rt-navy) !important; color:#fff !important; }
body .sidx-container .sidx-search-results .sidx-thumbnail .sidx-ribbons .sidx-open-houses,
.sidx-ribbon.sidx-open-houses{ background:var(--rt-gold) !important; color:var(--rt-navy) !important; }
.sidx-actions{ background:var(--rt-navy) !important; }
body .sidx-container .sidx-search-results .sidx-thumbnail .sidx-ribbons .sidx-price-reduced,
body .sidx-container .sidx-search-results .sidx-thumbnail .sidx-ribbons .sidx-back-on-market,
.sidx-ribbon.sidx-price-reduced,
.sidx-ribbon.sidx-back-on-market{ background:var(--rt-gold-soft) !important; color:var(--rt-navy) !important; }

/* Homepage content text links -> brand gold accent (was theme bright-blue #228fcc).
   Scoped to content/text widgets so nav, buttons, cards and headings are untouched. */
body.home .elementor-widget-text-editor a,
body.home .elementor-widget-theme-post-content a,
body.home .rh_content a{ color:var(--rt-gold) !important; transition:color .2s ease; }
body.home .elementor-widget-text-editor a:hover,
body.home .elementor-widget-theme-post-content a:hover,
body.home .rh_content a:hover{ color:var(--rt-gold-soft) !important; }

/* ============================================================
   Marketing Exposure page (.rt-mkt) — the 5-step Playbook
   ============================================================ */
.rt-mkt__playbook{ max-width:1080px; margin:0 auto; padding:84px 32px; }
.rt-mkt__head{ text-align:center; max-width:680px; margin:0 auto 56px; }
.rt-mkt__head h2{ font-family:var(--rt-f-serif); font-weight:600; color:var(--rt-navy); font-size:clamp(28px,3.6vw,42px); margin:0 0 12px; }
.rt-mkt__sub{ font-family:var(--rt-f-sans); font-weight:300; font-size:17px; color:#5a626e; margin:0; font-style:italic; }
.rt-mkt__steps{ display:flex; flex-direction:column; }
.rt-mkt__step{ display:grid; grid-template-columns:120px 1fr; gap:34px; padding:46px 0; border-top:1px solid rgba(14,44,74,.12); }
.rt-mkt__step:first-child{ border-top:0; }
.rt-mkt__num{ font-family:var(--rt-f-serif); font-weight:600; font-size:84px; line-height:.9; color:var(--rt-gold); opacity:.55; }
.rt-mkt__step-kicker{ display:inline-block; font-family:var(--rt-f-sans); font-weight:500; font-size:12px; letter-spacing:.22em; text-transform:uppercase; color:var(--rt-gold); margin-bottom:10px; }
.rt-mkt__step-body h3{ font-family:var(--rt-f-serif); font-weight:600; color:var(--rt-navy); font-size:clamp(22px,2.4vw,30px); line-height:1.2; margin:0 0 14px; }
.rt-mkt__step-body p{ font-family:var(--rt-f-sans); font-weight:300; font-size:16.5px; line-height:1.8; color:#3a4250; margin:0 0 18px; max-width:62ch; }
.rt-mkt__list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:8px 28px; }
.rt-mkt__list li{ position:relative; padding-left:26px; font-family:var(--rt-f-sans); font-weight:400; font-size:14.5px; line-height:1.5; color:var(--rt-navy); }
.rt-mkt__list li::before{ content:""; position:absolute; left:0; top:7px; width:13px; height:8px; border-left:2px solid var(--rt-gold); border-bottom:2px solid var(--rt-gold); transform:rotate(-45deg); }
@media (max-width:760px){
  .rt-mkt__playbook{ padding:54px 24px; }
  .rt-mkt__step{ grid-template-columns:1fr; gap:8px; padding:34px 0; }
  .rt-mkt__num{ font-size:56px; }
  .rt-mkt__list{ grid-template-columns:1fr; }
}

/* ============================================================
   Contact modal (.rt-modal) — reuses the ShowcaseIDX contact form
   ============================================================ */
html.rt-modal-lock, html.rt-modal-lock body{ overflow:hidden; }
.rt-modal{ position:fixed; inset:0; z-index:3000; display:flex; align-items:center; justify-content:center; padding:24px; opacity:0; visibility:hidden; transition:opacity .3s ease, visibility .3s ease; }
.rt-modal.is-open{ opacity:1; visibility:visible; }
.rt-modal__backdrop{ position:absolute; inset:0; background:rgba(6,20,36,.74); backdrop-filter:blur(2px); }
.rt-modal__dialog{ position:relative; z-index:1; width:min(520px,100%); max-height:90vh; overflow-y:auto; background:#fff; border-radius:6px; padding:40px 38px 34px; box-shadow:0 30px 80px rgba(8,24,40,.45); transform:translateY(14px) scale(.98); transition:transform .32s ease; }
.rt-modal.is-open .rt-modal__dialog{ transform:none; }
.rt-modal__close{ position:absolute; top:14px; right:14px; width:38px; height:38px; display:flex; align-items:center; justify-content:center; border:0; border-radius:50%; background:#f1efe9; color:var(--rt-navy); cursor:pointer; transition:background .2s ease; }
.rt-modal__close:hover{ background:#e6e1d5; }
.rt-modal__head{ margin-bottom:22px; }
.rt-modal__eyebrow{ display:inline-block; font-family:var(--rt-f-sans); font-weight:500; font-size:11px; letter-spacing:.26em; text-transform:uppercase; color:var(--rt-gold); margin-bottom:8px; }
.rt-modal__title{ font-family:var(--rt-f-serif); font-weight:600; color:var(--rt-navy); font-size:30px; line-height:1.1; margin:0 0 8px; }
.rt-modal__sub{ font-family:var(--rt-f-sans); font-weight:300; font-size:14.5px; line-height:1.6; color:#5a626e; margin:0; }
.rt-modal__sub a{ color:var(--rt-navy); border-bottom:1px solid var(--rt-gold); text-decoration:none; }

/* Brand the ShowcaseIDX form inside the modal */
.rt-modal__form .sidx-simple-form{ display:flex; flex-direction:column; gap:12px; }
.rt-modal__form label{ font-family:var(--rt-f-sans); font-size:12px; font-weight:500; letter-spacing:.04em; color:var(--rt-navy); }
.rt-modal__form input[type=text], .rt-modal__form input[type=email], .rt-modal__form input[type=tel], .rt-modal__form textarea, .rt-modal__form select{
  width:100%; font-family:var(--rt-f-sans); font-size:15px; color:var(--rt-ink,#16202e);
  padding:12px 14px; border:1px solid #d8d3c7; border-radius:4px; background:#fff; transition:border-color .2s ease, box-shadow .2s ease;
}
.rt-modal__form input:focus, .rt-modal__form textarea:focus, .rt-modal__form select:focus{ outline:0; border-color:var(--rt-gold); box-shadow:0 0 0 3px rgba(196,168,119,.18); }
.rt-modal__form textarea{ min-height:96px; resize:vertical; }
.rt-modal__form button, .rt-modal__form input[type=submit], .rt-modal__form .sidx-button, .rt-modal__form [class*="submit"]{
  font-family:var(--rt-f-sans); font-weight:500; font-size:13px; letter-spacing:.16em; text-transform:uppercase;
  background:var(--rt-navy) !important; color:var(--rt-cream) !important; border:0 !important; border-radius:3px !important;
  padding:14px 26px !important; cursor:pointer; width:100%; transition:background .2s ease;
}
.rt-modal__form button:hover, .rt-modal__form input[type=submit]:hover{ background:#143a5c !important; }

@media (max-width:560px){
  .rt-modal{ padding:0; }
  .rt-modal__dialog{ width:100%; max-height:100vh; min-height:100vh; border-radius:0; padding:64px 22px 34px; }
  .rt-modal__title{ font-size:26px; }
}
@media (prefers-reduced-motion:reduce){ .rt-modal, .rt-modal__dialog{ transition:none !important; } }

/* Brand the SIDX submit button precisely (its class is .sidx-primary, blue by default). */
.rt-modal__form .sidx-simple-form button.sidx-primary,
.rt-modal__form .sidx-simple-form input.sidx-primary,
.rt-modal__form button.sidx-primary,
.rt-modal__form .sidx-primary{
  background-color:var(--rt-navy) !important; background-image:none !important;
  color:var(--rt-cream) !important; border:0 !important;
}
.rt-modal__form button.sidx-primary:hover,
.rt-modal__form .sidx-primary:hover{ background-color:#143a5c !important; }

/* Brand the SIDX form's inline links (e.g. Privacy Policy) inside the modal. */
.rt-modal__form a{ color:var(--rt-navy) !important; border-bottom:1px solid var(--rt-gold); text-decoration:none; }
.rt-modal__form a:hover{ color:var(--rt-gold) !important; }

/* ============================================================
   Branded homepage (front-page.php) sections
   ============================================================ */
.rt-home{ font-family:var(--rt-f-sans); }
/* Hero (video) */
.rt-home-hero{ position:relative; height:100vh; min-height:600px; overflow:hidden; display:flex; align-items:center; justify-content:center; text-align:center; }
.rt-home-hero__video{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.rt-home-hero__overlay{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(6,20,36,.62) 0%, rgba(6,20,36,.42) 45%, rgba(6,20,36,.66) 100%); }
.rt-home-hero__inner{ position:relative; z-index:1; max-width:880px; padding:0 26px; }
.rt-home-hero__title{ font-family:var(--rt-f-serif); font-weight:600; color:#fff; font-size:clamp(38px,6vw,72px); line-height:1.04; margin:14px 0 18px; }
.rt-home-hero__lede{ color:rgba(247,242,232,.92); font-weight:300; font-size:clamp(16px,1.7vw,20px); line-height:1.7; max-width:600px; margin:0 auto 30px; }

/* Gateway: Sellers / Buyers */
.rt-home-gw{ background:#f7f5f0; padding:84px 32px; }
.rt-home-gw__head{ text-align:center; max-width:680px; margin:0 auto 44px; }
.rt-home-gw__head h2{ font-family:var(--rt-f-serif); font-weight:600; color:var(--rt-navy); font-size:clamp(26px,3.2vw,38px); margin:8px 0 0; }
.rt-home-gw__cards{ max-width:1000px; margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:26px; }
.rt-home-gw__card{ display:flex; flex-direction:column; justify-content:flex-end; min-height:340px; padding:38px; border-radius:5px; background-color:var(--rt-navy); background-size:cover; background-position:center; color:var(--rt-cream); text-decoration:none; position:relative; overflow:hidden; transition:transform .35s ease, box-shadow .35s ease; box-shadow:0 12px 34px rgba(8,24,40,.18); }
.rt-home-gw__card-img{ position:absolute; inset:0; background-size:cover; background-position:center; transform:scale(1.02); transition:transform .6s ease; z-index:0; }
.rt-home-gw__card::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(10,28,46,.94) 0%, rgba(10,28,46,.72) 45%, rgba(10,28,46,.42) 100%); z-index:1; }
.rt-home-gw__card:hover .rt-home-gw__card-img{ transform:scale(1.08); }
.rt-home-gw__for,.rt-home-gw__title,.rt-home-gw__cta{ position:relative; z-index:2; }
.rt-home-gw__card::before{ content:""; position:absolute; left:0; top:0; width:100%; height:3px; background:var(--rt-gold); z-index:3; }
.rt-home-gw__card:hover{ transform:translateY(-5px); box-shadow:0 22px 50px rgba(8,24,40,.3); }
.rt-home-gw__for{ font-family:var(--rt-f-sans); font-weight:500; font-size:11px; letter-spacing:.24em; text-transform:uppercase; color:var(--rt-gold-soft); margin-bottom:10px; }
.rt-home-gw__title{ font-family:var(--rt-f-serif); font-weight:600; font-size:32px; line-height:1.1; }
.rt-home-gw__cta{ margin-top:16px; font-family:var(--rt-f-sans); font-size:13px; letter-spacing:.06em; color:var(--rt-cream); opacity:.85; }
.rt-home-gw__card:hover .rt-home-gw__cta{ color:var(--rt-gold-soft); }

/* Listings */
/* The parent theme paints the homepage body the OLD palette teal (#1b5570),
   which bled through the transparent, max-width listings section. Neutralize it
   to white so transparent sections read clean (navy heading on white). */
html body.home{ background-color:#fff !important; }
.rt-home-listings{ padding:84px 32px; max-width:1280px; margin:0 auto; }
.rt-home-listings__head{ text-align:center; margin-bottom:40px; }
.rt-home-listings__head h2{ font-family:var(--rt-f-serif); font-weight:600; color:var(--rt-navy); font-size:clamp(26px,3.2vw,40px); margin:8px 0 0; }
.rt-home-listings__more{ text-align:center; margin-top:40px; }

/* Testimonials */
.rt-home-tm{ background:var(--rt-navy); padding:90px 32px; }
.rt-home-tm__head{ text-align:center; max-width:720px; margin:0 auto 50px; }
.rt-home-tm__head h2{ font-family:var(--rt-f-serif); font-weight:600; color:#fff; font-size:clamp(28px,3.6vw,44px); margin:8px 0 14px; }
.rt-home-tm__sub{ color:rgba(247,242,232,.78); font-weight:300; font-size:16px; line-height:1.7; margin:0; }
.rt-home-tm__grid{ max-width:1140px; margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.rt-home-tm__card{ margin:0; background:rgba(247,242,232,.05); border:1px solid rgba(196,168,119,.22); border-radius:5px; padding:30px 28px; display:flex; flex-direction:column; }
.rt-home-tm__card blockquote{ margin:0 0 18px; padding:0; border:0; background:none; font-family:var(--rt-f-serif); font-weight:500; font-style:italic; font-size:20px; line-height:1.45; color:var(--rt-cream); }
.rt-home-tm__card figcaption{ margin-top:auto; font-family:var(--rt-f-sans); font-weight:500; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--rt-gold-soft); }

@media (max-width:900px){
  .rt-home-gw__cards{ grid-template-columns:1fr; }
  .rt-home-tm__grid{ grid-template-columns:1fr; }
}
@media (prefers-reduced-motion:reduce){ .rt-home-hero__video{ display:none; } .rt-home-hero{ background:var(--rt-navy); } }

/* Gateway card links must stay cream (beat the theme's bright-blue <a> color). */
.rt-home-gw__card, .rt-home-gw__card:hover, .rt-home-gw__card:focus,
.rt-home-gw__card .rt-home-gw__title{ color:var(--rt-cream) !important; }
.rt-home-gw__card:hover .rt-home-gw__cta{ color:var(--rt-gold-soft) !important; }

/* References & Testimonials page (.rt-refs) — masonry column grid of client letters. */
.rt-refs__body{ background:var(--rt-navy); padding:80px 32px; }
.rt-refs__grid{ max-width:1200px; margin:0 auto; column-count:3; column-gap:22px; }
.rt-refs__card{ break-inside:avoid; margin:0 0 22px; background:rgba(247,242,232,.05); border:1px solid rgba(196,168,119,.22); border-radius:5px; padding:28px 26px; }
.rt-refs__card blockquote{ margin:0 0 16px; padding:0; border:0; background:none; font-family:var(--rt-f-serif); font-weight:500; font-style:italic; font-size:18px; line-height:1.5; color:var(--rt-cream); }
.rt-refs__card figcaption{ font-family:var(--rt-f-sans); font-weight:500; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:var(--rt-gold-soft); }
@media (max-width:900px){ .rt-refs__grid{ column-count:2; } }
@media (max-width:600px){ .rt-refs__grid{ column-count:1; } }

/* Compact hero variant (shorter band for article/guide pages). */
.rt-about__hero--compact{ min-height:46vh; }

/* Long-form article body (.rt-article) — branded editorial typography wrapping the_content(). */
.rt-article__body{ background:#fff; padding:72px 32px; }
.rt-article__prose{ max-width:760px; margin:0 auto; font-family:var(--rt-f-sans); font-weight:300; color:#33404a; font-size:17px; line-height:1.8; }
.rt-article__prose h2{ font-family:var(--rt-f-serif); font-weight:600; color:var(--rt-navy); font-size:clamp(26px,3vw,36px); line-height:1.2; margin:48px 0 14px; }
.rt-article__prose h3{ font-family:var(--rt-f-sans); font-weight:600; color:var(--rt-navy); font-size:21px; margin:32px 0 10px; }
.rt-article__prose p{ margin:0 0 20px; }
.rt-article__prose a{ color:var(--rt-gold); text-decoration:underline; text-underline-offset:2px; }
.rt-article__prose a:hover{ color:var(--rt-navy); }
.rt-article__prose ul,.rt-article__prose ol{ margin:0 0 22px; padding-left:24px; }
.rt-article__prose li{ margin:0 0 8px; }
.rt-article__prose img{ max-width:100%; height:auto; border-radius:5px; margin:16px 0; }
.rt-article__prose blockquote{ margin:28px 0; padding:6px 0 6px 22px; border-left:3px solid var(--rt-gold); background:none; font-family:var(--rt-f-serif); font-style:italic; font-size:20px; color:var(--rt-navy); }
.rt-article__prose strong{ color:var(--rt-navy); }

/* Contact page (.rt-contact) — branded two-column details + SIDX form, plus map. */
.rt-contact__body{ background:#fff; padding:72px 32px; }
.rt-contact__grid{ max-width:1140px; margin:0 auto; display:grid; grid-template-columns:0.9fr 1.1fr; gap:64px; align-items:start; }
.rt-contact__info h2{ font-family:var(--rt-f-serif); font-weight:600; color:var(--rt-navy); font-size:clamp(26px,3vw,36px); margin:8px 0 14px; }
.rt-contact__intro{ font-family:var(--rt-f-sans); font-weight:300; color:#4a5560; font-size:16px; line-height:1.75; margin:0 0 28px; }
.rt-contact__list{ list-style:none; margin:0; padding:0; }
.rt-contact__list li{ display:grid; grid-template-columns:34px 1fr; grid-template-rows:auto auto; column-gap:14px; align-items:start; padding:16px 0; border-top:1px solid rgba(14,44,74,.1); }
.rt-contact__list li:last-child{ border-bottom:1px solid rgba(14,44,74,.1); }
.rt-contact__ico{ grid-row:1 / span 2; display:flex; align-items:center; justify-content:center; width:34px; height:34px; border-radius:50%; background:var(--rt-navy); color:var(--rt-gold-soft); font-size:16px; }
.rt-contact__lab{ font-family:var(--rt-f-sans); font-weight:600; font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--rt-gold); }
.rt-contact__list a, .rt-contact__list li > span:not(.rt-contact__ico):not(.rt-contact__lab){ font-family:var(--rt-f-sans); font-size:17px; color:var(--rt-navy); text-decoration:none; line-height:1.5; }
.rt-contact__list a:hover{ color:var(--rt-gold); }
.rt-contact__dre{ margin-top:22px; font-size:12px; letter-spacing:.08em; color:#8a939c; }
.rt-contact__form h2{ font-family:var(--rt-f-serif); font-weight:600; color:var(--rt-navy); font-size:clamp(24px,2.6vw,30px); margin:0 0 20px; }
.rt-contact__form .sidx-primary{ background-color:var(--rt-navy) !important; background-image:none !important; border-color:var(--rt-navy) !important; }
.rt-contact__form .sidx-primary:hover{ background-color:var(--rt-gold) !important; border-color:var(--rt-gold) !important; }
.rt-contact__map{ line-height:0; }
.rt-contact__map iframe{ display:block; filter:grayscale(.15); }
@media (max-width:860px){ .rt-contact__grid{ grid-template-columns:1fr; gap:44px; } }

/* City / neighborhood pages (.rt-citypage) — wide editorial body that hosts IDX widgets. */
.rt-citypage__body{ background:#fff; padding:64px 24px; }
.rt-citypage__prose{ max-width:1140px; margin:0 auto; font-family:var(--rt-f-sans); font-weight:300; color:#33404a; font-size:17px; line-height:1.8; }
.rt-citypage__prose h2{ font-family:var(--rt-f-serif); font-weight:600; color:var(--rt-navy); font-size:clamp(26px,3vw,38px); line-height:1.2; margin:52px 0 16px; }
.rt-citypage__prose h2:first-child,.rt-citypage__prose > *:first-child{ margin-top:0; }
.rt-citypage__prose h3{ font-family:var(--rt-f-sans); font-weight:600; color:var(--rt-navy); font-size:21px; margin:32px 0 10px; }
.rt-citypage__prose p{ margin:0 0 20px; max-width:820px; }
.rt-citypage__prose a{ color:var(--rt-gold); text-decoration:underline; text-underline-offset:2px; }
.rt-citypage__prose a:hover{ color:var(--rt-navy); }
.rt-citypage__prose ul,.rt-citypage__prose ol{ margin:0 0 22px; padding-left:24px; max-width:820px; }
.rt-citypage__prose li{ margin:0 0 8px; }
.rt-citypage__prose strong{ color:var(--rt-navy); }
.rt-citypage__prose img{ max-width:100%; height:auto; border-radius:5px; }

/* Branded host for re-chromed Elementor pages (Sold / Featured Cities / Valuation).
   Keep Elementor content intact; just nudge palette + spacing on-brand. */
.rt-elhost__body{ background:#fff; padding:56px 24px 64px; }
.rt-elhost{ max-width:1180px; margin:0 auto; }
.rt-elhost a:not(.elementor-button):not(.hv-button):not([class*="sidx"]){ color:var(--rt-gold); }
.rt-elhost a:not(.elementor-button):not(.hv-button):not([class*="sidx"]):hover{ color:var(--rt-navy); }
/* Default-styled Elementor headings -> brand serif/navy (skip ones with their own color). */
.rt-elhost h2:not([style*="color"]):not(.hv-heading), .rt-elhost h3:not([style*="color"]):not(.hv-heading){ color:var(--rt-navy); }
.rt-elhost h2:not([style*="color"]){ font-family:var(--rt-f-serif); }

/* Home Valuation tool (home-valuation plugin) — rebrand its bright-blue heading
   and button to the navy/gold scheme. Plugin styles are !important and live in
   both an inline <style> and valuation-form.css, so we win on specificity
   (leading `body`) rather than relying on cascade order. The plugin is not
   git-tracked, so this override ships with the theme and survives plugin updates. */
body .hv-form .hv-heading{ color:var(--rt-navy) !important; }
body .hv-form .hv-button{ background:var(--rt-navy) !important; color:#fff !important; }
body .hv-form .hv-button:not(:disabled):hover{ background:var(--rt-gold) !important; color:var(--rt-navy) !important; }
body .hv-form .hv-button:disabled{ background:#6b7785 !important; }

/* ShowcaseIDX in-content text links: bright accent blue (#228fcc) -> navy, gold
   on hover. Scoped to text links only (button/pill links keep their own bg).
   SIDX result/list/detail UIs are light-background, so navy stays readable. */
[class*="sidx"] a:not([class*="button"]):not([class*="btn"]):not([class*="primary"]){ color:var(--rt-navy) !important; }
[class*="sidx"] a:not([class*="button"]):not([class*="btn"]):not([class*="primary"]):hover{ color:var(--rt-gold) !important; }

/* ============================================================
   MLS / ShowcaseIDX old-palette cleanup.
   The SIDX account custom.css paints buttons, badges, header links, etc. the
   old accent blue (#228fcc), much of it with !important. We replicate each of
   those selectors with a leading `body` (one extra specificity point) so our
   navy/gold wins regardless of source order. Backgrounds -> navy (gold hover),
   text -> navy, accent borders -> gold.
   ============================================================ */
/* Buttons (search/save/etc.) + listing-detail CTA + days-online badge -> navy */
body .sidx-button,
body .sidx-container button,
body .sidx-container .sidx-listing-details .sidx-columns .sidx-call-to-actions button,
body .sidx-container .sidx-listing-details .sidx-price-area .sidx-days-online{ background:var(--rt-navy) !important; background-color:var(--rt-navy) !important; box-shadow:none !important; border-color:var(--rt-navy) !important; }
body .sidx-button:hover,
body .sidx-container button:hover,
body .sidx-container .sidx-listing-details .sidx-columns .sidx-call-to-actions button:hover{ background:var(--rt-gold) !important; background-color:var(--rt-gold) !important; color:var(--rt-navy) !important; border-color:var(--rt-gold) !important; }
/* Header links, search inputs, status labels, dates, menu accents -> navy text */
body .sidx-container .sidx-main-header .sidx-header-link .sidx-current-page,
body .sidx-container .sidx-main-header .sidx-header-link .sidx-link,
body .sidx-container .sidx-main-header .sidx-header-link a,
body .sidx-container .sidx-main-header .sidx-header-link .sidx-link.sidx-new-search,
body .sidx-container .sidx-main-header .sidx-header-link a.sidx-new-search,
body .sidx-container .sidx-searchform .sidx-suggestions-input,
body .sidx-container .sidx-listing-details .sidx-columns .sidx-left-column .sidx-open-houses .sidx-open-house-date,
body .sidx-container .sidx-search-results .sidx-mls-details .sidx-for-sale,
body .sidx-container .sidx-searchform .sidx-features .sidx-menu .sidx-title em{ color:var(--rt-navy) !important; }
/* Accent border (share pill) -> gold */
body .sidx-container .sidx-share-search-pill.sidx-share-search-pill{ border-color:var(--rt-gold) !important; }


/* --- auto-generated MLS/SIDX accent cleanup (app.css + custom.css) --- */
body .sidx-container .sidx-collapse-button,
body .sidx-container .sidx-dashboard .sidx-activity .sidx-activity-item .sidx-action-icon i.sidx-comment,
body .sidx-container .sidx-dashboard .sidx-activity .sidx-activity-item .sidx-address,
body .sidx-container .sidx-link,
body .sidx-container .sidx-listing-comments .sidx-comments .sidx-comments-list .sidx-comment.sidx-agent-visible:before,
body .sidx-container .sidx-listing-details .sidx-columns .sidx-left-column .sidx-open-houses .sidx-open-house-date,
body .sidx-container .sidx-listing-details .sidx-timeline .sidx-emoji.sidx-comment,
body .sidx-container .sidx-listing-details .sidx-timeline i.sidx-comment,
body .sidx-container .sidx-listing-details .sidx-top-level-nav a.sidx-blue,
body .sidx-container .sidx-main-header .sidx-header-link .sidx-current-page,
body .sidx-container .sidx-main-header .sidx-header-link .sidx-current-page.sidx-new-search,
body .sidx-container .sidx-main-header .sidx-header-link .sidx-link,
body .sidx-container .sidx-main-header .sidx-header-link .sidx-link.sidx-new-search,
body .sidx-container .sidx-main-header .sidx-header-link a,
body .sidx-container .sidx-main-header .sidx-header-link a.sidx-new-search,
body .sidx-container .sidx-main-header .sidx-header-link.sidx-new-search,
body .sidx-container .sidx-mobile .sidx-dropdown-pill.sidx-save-search-pill,
body .sidx-container .sidx-photo-array button,
body .sidx-container .sidx-primary-action .sidx-primary-action-icon-container i.blue,
body .sidx-container .sidx-reset-search-pill.sidx-share-search-pill,
body .sidx-container .sidx-saved-searches .sidx-saved-search .sidx-search-title,
body .sidx-container .sidx-search-result-grid-item .sidx-actions .sidx-comments .sidx-count,
body .sidx-container .sidx-search-results .sidx-back,
body .sidx-container .sidx-search-results .sidx-back i,
body .sidx-container .sidx-search-results .sidx-mls-details .sidx-for-sale,
body .sidx-container .sidx-searchform .sidx-features .sidx-menu .sidx-title em,
body .sidx-container .sidx-searchform .sidx-suggestions-input,
body .sidx-container .sidx-share-search-pill.sidx-share-search-pill,
body .sidx-container .sidx-social-search-box .sidx-actions,
body .sidx-container .sidx-streamlined-search .sidx-streamlined-toggle,
body .sidx-container .sidx-suggestions-matches .sidx-geo-search-button,
body .sidx-container .sidx-suggestions-matches .sidx-suggestions-keywords-button,
body .sidx-container .sidx-suggestions-matches li,
body .sidx-container .sidx-suggestions-no-matches .sidx-geo-search-button,
body .sidx-container .sidx-suggestions-no-matches .sidx-suggestions-keywords-button,
body .sidx-container .sidx-suggestions-use-geo .sidx-geo-search-button,
body .sidx-container .sidx-suggestions-use-geo .sidx-suggestions-keywords-button,
body .sidx-container a{ color:var(--rt-navy) !important; }

body .sidx-container .sidx-photo-array button:hover,
body .sidx-container .sidx-primary-action .sidx-primary-action-icon-container i.blue:hover,
body .sidx-container .sidx-search-results .sidx-back:hover,
body .sidx-container .sidx-searchform .sidx-field:hover,
body .sidx-container .sidx-social-search-box .sidx-actions>:hover{ color:var(--rt-gold) !important; }

body .sidx-button,
body .sidx-container .sidx-bar-chart .sidx-chart-item .sidx-chart-datum,
body .sidx-container .sidx-button.sidx-primary,
body .sidx-container .sidx-chart-datum:nth-child(5n+2),
body .sidx-container .sidx-chart-item:nth-child(5n+2) .sidx-chart-datum,
body .sidx-container .sidx-legend-item:nth-child(5n+2) .sidx-legend-dot,
body .sidx-container .sidx-listing-details .sidx-columns .sidx-call-to-actions button,
body .sidx-container .sidx-listing-details .sidx-price-area .sidx-days-online,
body .sidx-container .sidx-listing-landing-1 .sidx-landing-photos-form .sidx-landing-form,
body .sidx-container .sidx-main-header .sidx-header-link .sidx-current-page.sidx-new-search,
body .sidx-container .sidx-main-header .sidx-header-link .sidx-link.sidx-new-search,
body .sidx-container .sidx-main-header .sidx-header-link a.sidx-new-search,
body .sidx-container .sidx-search-result-grid-item .sidx-actions,
body .sidx-container .sidx-search-results .sidx-thumbnail .sidx-ribbons .sidx-new-listing,
body .sidx-container .sidx-search-results .sidx-thumbnail .sidx-ribbons .sidx-price-drop,
body .sidx-container .sidx-small-screen .sidx-main-header .sidx-header-link .sidx-current-page.sidx-new-search .sidx-icon-label,
body .sidx-container .sidx-small-screen .sidx-main-header .sidx-header-link .sidx-link.sidx-new-search .sidx-icon-label,
body .sidx-container .sidx-small-screen .sidx-main-header .sidx-header-link a.sidx-new-search .sidx-icon-label,
body .sidx-container .sidx-streamlined-search .sidx-streamlined-done,
body .sidx-container .sidx-streamlined-search .sidx-streamlined-searchbox .sidx-add-keyword,
body .sidx-container button,
body .sidx-container button.sidx-primary{ background:var(--rt-navy) !important;background-color:var(--rt-navy) !important; }


body .sidx-container .sidx-dropdown-pill.sidx-save-search-pill,
body .sidx-container .sidx-photo-array button,
body .sidx-container .sidx-primary-actions.sidx-primary-jumbo,
body .sidx-container .sidx-reset-search-pill.sidx-share-search-pill,
body .sidx-container .sidx-search-result-grid-item .sidx-actions,
body .sidx-container .sidx-share-search-pill.sidx-share-search-pill,
body .sidx-container .sidx-streamlined-search .sidx-streamlined-done,
body .sidx-container .sidx-streamlined-search .sidx-streamlined-searchbox .sidx-add-keyword,
body .sidx-container .sidx-streamlined-search .sidx-streamlined-toggle,
body .sidx-container .sidx-toggle-bar .sidx-toggle-bar-item.sidx-selected,
body .sidx-container .sidx-toggle-bar .sidx-toggle-bar-item:hover{ border-color:var(--rt-gold) !important; }

/* Last-mile SIDX accents that inherit the old blue (map/marker FA icons, the
   selected detail-nav tab). Force them on-brand explicitly. */
body .sidx-container .sidx-icon.sidx-map,
body .sidx-container .sidx-icon.sidx-map-marker,
body .sidx-container .sidx-menu-item.sidx-selected{ color:var(--rt-navy) !important; }
body .sidx-container .sidx-menu-item.sidx-selected{ border-color:var(--rt-gold) !important; }
/* Listing-detail carousel tabs (Map / Nearby Listings) — were accent blue. */
body .sidx-container .sidx-listing-details .sidx-carousel .sidx-menu .sidx-menu-item{ color:var(--rt-navy) !important; border-color:var(--rt-gold) !important; }
body .sidx-container .sidx-listing-details .sidx-carousel .sidx-menu .sidx-menu-item.sidx-selected{ color:var(--rt-navy) !important; }
/* SIDX main-header link variants (Dashboard/Listings/Searches/etc.) can pick up
   a default link blue (#0576f5) on their container — force the whole set navy. */
body .sidx-container .sidx-main-header .sidx-header-link,
body .sidx-container .sidx-main-header .sidx-header-link i,
body .sidx-container .sidx-main-header .sidx-header-link span{ color:var(--rt-navy) !important; border-color:var(--rt-gold) !important; }
/* "Save Search" pill (highlighted state) was light blue -> navy with cream text. */
body .sidx-container .sidx-save-search-pill,
body .sidx-container .sidx-save-search-pill.sidx-search-pill,
body .sidx-container .sidx-dropdown-pill.sidx-save-search-pill{ background:var(--rt-navy) !important; background-color:var(--rt-navy) !important; color:#fff !important; }
/* "See More Listings" hotsheet CTA -> gold primary (matches Search Homes / Let's
   talk), navy on hover. Beats the generic sidx button->navy rule on specificity. */
body .sidx-container .sidx-hotsheet-see-all-results,
body .sidx-hotsheet-see-all-results{ background:var(--rt-gold) !important; background-color:var(--rt-gold) !important; color:var(--rt-navy) !important; border-color:var(--rt-gold) !important; box-shadow:none !important; }
body .sidx-container .sidx-hotsheet-see-all-results:hover,
body .sidx-hotsheet-see-all-results:hover{ background:var(--rt-navy) !important; background-color:var(--rt-navy) !important; color:#fff !important; border-color:var(--rt-navy) !important; }
