/**
 * RV Estate — site-wide frontend polish
 * Loaded after main.css. Scoped enhancements; does not break layouts.
 */
:root{
  --rv-navy: #0b1830;
  --rv-navy-2: #132744;
  --rv-gold: #b8862b;
  --rv-gold-d: #9a7123;
  --rv-soft: #f3f6fb;
  --rv-line: #e6ebf2;
  --rv-muted: #64748b;
  --rv-text: #0f172a;
  --rv-radius: 16px;
  --rv-shadow: 0 12px 36px rgba(15, 23, 42, .08);
  --rv-shadow-sm: 0 6px 18px rgba(15, 23, 42, .05);
}

/* ---------- Base polish ---------- */
body:not(.admin-page){
  color: var(--rv-text);
  -webkit-font-smoothing: antialiased;
}
body:not(.admin-page) .main a:not(.btn):not(.btn-primary):not(.navmenu a){
  transition: color .15s ease;
}

/* ---------- Inner-page header + navy hero (flush + centered) ---------- */

/* Light page canvas — NEVER full-page navy (that caused blue side patches) */
body:not(.index-page):not(.admin-page){
  background-color: #f1f5f9 !important;
}
body:not(.index-page):not(.admin-page) main.main{
  margin-top: 0 !important;
  padding-top: 0 !important;
  background: #f1f5f9 !important;
  min-height: 50vh;
}
/* Page-title heroes stay full-bleed navy; content below is soft gray */
body:not(.index-page):not(.admin-page) main.main > .page-title{
  background:
    radial-gradient(ellipse 70% 120% at 15% -20%, rgba(184,134,43,.18), transparent 55%),
    linear-gradient(135deg, #0b1830 0%, #152a4a 55%, #0b1830 100%) !important;
}
body.property-detail-page,
body.inventory-detail-page,
body.inventory-page,
body.properties-page{
  background-color: #f1f5f9 !important;
}
body.property-detail-page main.main,
body.inventory-detail-page main.main{
  background: #f1f5f9 !important;
}

body:not(.index-page):not(.admin-page) header#header.header,
body:not(.index-page):not(.admin-page) header.header{
  border-bottom: none !important;
  box-shadow: none !important;
  height: var(--header-height, 88px) !important;
  min-height: var(--header-height, 88px) !important;
  max-height: var(--header-height, 88px) !important;
  display: flex !important;
  align-items: center !important;
  background: #ffffff !important;
  overflow: hidden;
}
body:not(.index-page):not(.admin-page) header#header .branding,
body:not(.index-page):not(.admin-page) header.header .branding{
  width: 100%;
  height: var(--header-height, 88px) !important;
  min-height: var(--header-height, 88px) !important;
  max-height: var(--header-height, 88px) !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
}
body:not(.index-page):not(.admin-page).scrolled .header,
body.scrolled:not(.index-page) .header{
  box-shadow: none !important;
}

/* Navy page hero — flush under header, full-bleed, centered copy */
body:not(.index-page) .page-title{
  position: relative;
  overflow: hidden;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background:
    radial-gradient(ellipse 70% 120% at 15% -20%, rgba(184,134,43,.18), transparent 55%),
    linear-gradient(135deg, #0b1830 0%, #152a4a 55%, #0b1830 100%) !important;
  color: #fff !important;
  /* tuck 1px under header to kill any subpixel hairline permanently */
  margin-top: -1px !important;
  box-shadow: none !important;
}
body:not(.index-page) .page-title::before{
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(circle at 80% 20%, rgba(255,255,255,.08), transparent 50%);
  pointer-events: none;
  z-index: 0;
}
/* No decorative strip that can read as a line */
body:not(.index-page) .page-title::after{
  content: none !important;
  display: none !important;
}

body:not(.index-page) .page-title .heading{
  position: relative;
  z-index: 1;
  min-height: 0 !important;
  height: auto !important;
  display: block !important;
  padding: 52px 0 32px !important;
  background: transparent !important;
  text-align: center !important;
}
body:not(.index-page) .page-title .heading .container,
body:not(.index-page) .page-title .heading .row{
  text-align: center !important;
  justify-content: center !important;
}
body:not(.index-page) .page-title .heading .row > [class*="col-"]{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
}

/* Title + subtitle truly centered as a block */
body:not(.index-page) .page-title .heading h1,
body:not(.index-page) .page-title h1,
body:not(.index-page) .page-title .heading-title{
  color: #fff !important;
  font-weight: 800 !important;
  letter-spacing: -.02em;
  font-size: clamp(1.6rem, 3vw, 2.2rem) !important;
  margin: 0 auto 12px !important;
  text-align: center !important;
  width: 100%;
  max-width: 720px;
}
body:not(.index-page) .page-title .heading p,
body:not(.index-page) .page-title p,
body:not(.index-page) .page-title .contact-subtitle,
body:not(.index-page) .page-title .subtitle,
body:not(.index-page) .page-title .section-subtext{
  color: rgba(255,255,255,.72) !important;
  max-width: 640px !important;
  width: 100% !important;
  margin: 0 auto !important; /* center the constrained block */
  line-height: 1.65 !important;
  text-align: center !important;
  float: none !important;
}

/* Pill / kicker centered */
body:not(.index-page) .page-title .pill{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* Stats strip under testimonials hero — centered */
body:not(.index-page) .page-title .t-stats{
  width: 100%;
  max-width: 900px;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 20px !important;
  text-align: left; /* items themselves left-align text inside cards */
}
body:not(.index-page) .page-title .service-badges{
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body:not(.index-page) .page-title .breadcrumbs{
  position: relative;
  z-index: 1;
  background: rgba(0,0,0,.18) !important;
  border-top: 1px solid rgba(255,255,255,.08) !important;
  padding: 12px 0 !important;
  margin: 0 !important;
  text-align: left; /* breadcrumbs stay left by design */
}
body:not(.index-page) .page-title .breadcrumbs ol,
body:not(.index-page) .page-title .breadcrumbs a,
body:not(.index-page) .page-title .breadcrumbs li{
  color: rgba(255,255,255,.75) !important;
}
body:not(.index-page) .page-title .breadcrumbs a:hover{
  color: var(--rv-gold) !important;
}
body:not(.index-page) .page-title .breadcrumbs .current,
body:not(.index-page) .page-title .breadcrumbs li.active,
body:not(.index-page) .page-title .breadcrumbs li:last-child{
  color: #fff !important;
  font-weight: 700;
}

/* ---------- Section titles ---------- */
.section-title h2,
.container.section-title h2{
  font-weight: 800 !important;
  color: var(--rv-navy) !important;
  letter-spacing: -.02em;
}
.section-title p{
  color: var(--rv-muted) !important;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

/* ---------- Buttons (always readable contrast) ---------- */
body:not(.admin-page) .btn-primary,
body:not(.admin-page) a.btn-primary,
body:not(.admin-page) .btn-getstarted,
body:not(.admin-page) button[type="submit"]:not(.mp-search-btn):not(.r360-search button){
  background: var(--rv-navy) !important;
  background-color: var(--rv-navy) !important;
  border-color: var(--rv-navy) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  border-radius: 12px !important;
  padding: 12px 22px !important;
  box-shadow: 0 8px 20px rgba(11,24,48,.15);
  transition: transform .15s ease, background .15s ease, box-shadow .15s ease !important;
}
body:not(.admin-page) .btn-primary:hover,
body:not(.admin-page) a.btn-primary:hover,
body:not(.admin-page) .btn-getstarted:hover{
  background: var(--rv-gold) !important;
  background-color: var(--rv-gold) !important;
  border-color: var(--rv-gold) !important;
  color: #ffffff !important;
  transform: translateY(-1px);
}
/* Theme specialty / highlight CTAs */
body:not(.admin-page) .specialty-link,
body:not(.admin-page) .highlight-cta,
body:not(.admin-page) .service-link,
body:not(.admin-page) .main-cta{
  color: var(--rv-gold) !important;
  font-weight: 800 !important;
}
body:not(.admin-page) a.main-cta{
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  background: var(--rv-navy) !important;
  color: #fff !important;
  padding: 12px 20px !important;
  border-radius: 12px !important;
  text-decoration: none !important;
}
body:not(.admin-page) a.main-cta:hover{
  background: var(--rv-gold) !important;
  color: #fff !important;
}
body:not(.admin-page) .btn-outline-primary,
body:not(.admin-page) a.btn-outline-primary{
  border: 1px solid var(--rv-line) !important;
  color: var(--rv-navy) !important;
  background: #fff !important;
  font-weight: 700 !important;
  border-radius: 12px !important;
  padding: 11px 20px !important;
}
body:not(.admin-page) .btn-outline-primary:hover{
  border-color: rgba(184,134,43,.45) !important;
  color: var(--rv-gold) !important;
  background: #fff !important;
}

/* Gold accent CTA variant */
.rv-btn-gold{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--rv-gold);
  color: #fff !important;
  font-weight: 800;
  font-size: 14px;
  padding: 12px 22px;
  border-radius: 12px;
  text-decoration: none !important;
  border: 0;
  box-shadow: 0 10px 24px rgba(184,134,43,.28);
  transition: transform .15s ease, filter .15s ease;
}
.rv-btn-gold:hover{
  filter: brightness(1.05);
  transform: translateY(-1px);
  color: #fff !important;
}

/* ---------- Cards ---------- */
.rv-card{
  background: #fff;
  border: 1px solid var(--rv-line);
  border-radius: var(--rv-radius);
  box-shadow: var(--rv-shadow-sm);
  transition: box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}
.rv-card:hover{
  box-shadow: var(--rv-shadow);
  border-color: rgba(184,134,43,.3);
  transform: translateY(-2px);
}

/* ---------- Homepage about (replaces weak illustration block) ---------- */
#home-about.rv-home-about{
  padding: 88px 0;
  background:
    radial-gradient(ellipse 50% 80% at 100% 0%, rgba(184,134,43,.06), transparent 55%),
    linear-gradient(180deg, #fff 0%, var(--rv-soft) 100%);
}
#home-about.rv-home-about .rv-kicker{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--rv-gold);
  margin-bottom: 12px;
}
#home-about.rv-home-about .rv-kicker::before{
  content: "";
  width: 20px;
  height: 2px;
  background: var(--rv-gold);
  border-radius: 2px;
}
#home-about.rv-home-about .section-heading{
  font-size: clamp(1.7rem, 3vw, 2.4rem) !important;
  font-weight: 800 !important;
  color: var(--rv-navy) !important;
  letter-spacing: -.02em;
  line-height: 1.2 !important;
  margin-bottom: 16px !important;
}
#home-about.rv-home-about .lead-text,
#home-about.rv-home-about p{
  color: var(--rv-muted) !important;
  font-size: 1.02rem !important;
  line-height: 1.7 !important;
  font-weight: 500 !important;
}
#home-about.rv-home-about .stats-grid{
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important;
  margin: 28px 0 28px !important;
  padding: 16px !important;
  background: #fff;
  border: 1px solid var(--rv-line);
  border-radius: 16px;
  box-shadow: var(--rv-shadow-sm);
}
#home-about.rv-home-about .stat-item{
  text-align: center !important;
  padding: 8px 4px;
  border-right: 1px solid var(--rv-line);
}
#home-about.rv-home-about .stat-item:last-child{ border-right: 0; }
#home-about.rv-home-about .stat-number{
  font-size: clamp(1.4rem, 2.2vw, 1.85rem) !important;
  font-weight: 800 !important;
  color: var(--rv-gold) !important;
  line-height: 1.1 !important;
}
#home-about.rv-home-about .stat-label{
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--rv-muted) !important;
  margin-top: 6px !important;
}
#home-about.rv-home-about .about-visual{
  position: relative;
  padding-left: 12px;
}
#home-about.rv-home-about .main-image{
  border-radius: 20px !important;
  overflow: hidden;
  box-shadow: var(--rv-shadow) !important;
  aspect-ratio: 4 / 5;
  max-height: 500px;
  background: var(--rv-navy);
}
#home-about.rv-home-about .main-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}
#home-about.rv-home-about .main-image:hover img{
  transform: scale(1.03);
}
#home-about.rv-home-about .experience-badge{
  position: absolute !important;
  top: 18px !important;
  right: 0 !important;
  left: auto !important;
  background: var(--rv-gold) !important;
  color: #fff !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  box-shadow: 0 12px 28px rgba(184,134,43,.35) !important;
  min-width: 92px;
  text-align: center;
  z-index: 3;
}
#home-about.rv-home-about .experience-badge .years{
  display: block;
  font-size: 1.55rem;
  font-weight: 900;
  line-height: 1;
  color: #fff !important;
}
#home-about.rv-home-about .experience-badge .text{
  display: block;
  margin-top: 4px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.25;
  color: rgba(255,255,255,.95) !important;
}
#home-about.rv-home-about .floating-card{
  position: absolute !important;
  left: 0 !important;
  bottom: 28px !important;
  right: auto !important;
  background: #fff !important;
  border: 1px solid var(--rv-line) !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  box-shadow: 0 14px 36px rgba(15,23,42,.14) !important;
  z-index: 3;
  max-width: 280px;
}
#home-about.rv-home-about .floating-card .icon{
  background: rgba(184,134,43,.12) !important;
  color: var(--rv-gold) !important;
  width: 42px !important;
  height: 42px !important;
  border-radius: 12px !important;
}
#home-about.rv-home-about .floating-card h4{
  font-size: 14px !important;
  font-weight: 800 !important;
  color: var(--rv-navy) !important;
  margin: 0 0 2px !important;
}
#home-about.rv-home-about .floating-card p{
  font-size: 12px !important;
  margin: 0 !important;
  color: var(--rv-muted) !important;
}

/* ---------- Service / feature cards site-wide ---------- */
.services-page .value-card,
.services-page .process-step,
.services-page .specialty-card,
.about-page .value-card,
.testimonials-page .testimonial-card,
.contact-page .contact-card{
  border-radius: var(--rv-radius) !important;
  border: 1px solid var(--rv-line) !important;
  box-shadow: var(--rv-shadow-sm) !important;
  transition: box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}
.services-page .value-card:hover,
.services-page .process-step:hover,
.about-page .value-card:hover{
  box-shadow: var(--rv-shadow) !important;
  border-color: rgba(184,134,43,.3) !important;
  transform: translateY(-2px);
}

/* ---------- Properties / inventory list polish ---------- */
.properties-page .mb-card,
.inventory-page .mb-card,
body.inventory-page .mb-card{
  border-radius: 14px !important;
}
.properties-page .mb-card:hover,
.inventory-page .mb-card:hover{
  border-color: rgba(184,134,43,.35) !important;
}

/* ---------- Forms ---------- */
body:not(.admin-page) .form-control,
body:not(.admin-page) .form-select{
  border-radius: 12px !important;
  border-color: var(--rv-line) !important;
  padding: 12px 14px !important;
  font-weight: 500;
}
body:not(.admin-page) .form-control:focus,
body:not(.admin-page) .form-select:focus{
  border-color: rgba(184,134,43,.55) !important;
  box-shadow: 0 0 0 3px rgba(184,134,43,.12) !important;
}

/* ---------- Footer slight polish ---------- */
.site-footer{
  border-top: 0;
}

/* ---------- Side social: less collision with content ---------- */
@media (min-width: 992px){
  .site-side-social{
    right: 14px !important;
  }
}

/* ---------- Mobile ---------- */
@media (max-width: 991px){
  #home-about.rv-home-about{
    padding: 56px 0;
  }
  #home-about.rv-home-about .about-visual{
    padding-left: 0;
    margin-top: 28px;
  }
  #home-about.rv-home-about .main-image{
    aspect-ratio: 16 / 11;
    max-height: none;
  }
  #home-about.rv-home-about .floating-card{
    position: relative !important;
    left: auto !important;
    bottom: auto !important;
    max-width: none;
    margin-top: 14px;
  }
  #home-about.rv-home-about .experience-badge{
    right: 12px !important;
    top: 12px !important;
  }
}
@media (max-width: 576px){
  #home-about.rv-home-about .stats-grid{
    grid-template-columns: 1fr !important;
  }
  #home-about.rv-home-about .stat-item{
    border-right: 0 !important;
    border-bottom: 1px solid var(--rv-line);
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left !important;
    padding: 12px 8px !important;
  }
  #home-about.rv-home-about .stat-item:last-child{ border-bottom: 0; }
  body:not(.index-page) .page-title .heading{
    padding: 44px 0 22px !important;
  }
}

/* =========================================================
   ALL PAGES — extended polish
   ========================================================= */

/* Soft page background for content sections */
body.about-page .main,
body.services-page .main,
body.contact-page .main,
body.testimonials-page .main,
body.faq-page .main,
body.privacy-page .main,
body.terms-page .main,
body.disclaimer-page .main,
body.compliance-page .main,
body.page-404 .main,
body.thank-you-page .main{
  background: linear-gradient(180deg, #fff 0%, var(--rv-soft) 120px, #fff 480px);
}

/* ----- About page ----- */
.about-page .about.section h2{
  font-weight: 800 !important;
  color: var(--rv-navy) !important;
  letter-spacing: -.02em;
  font-size: clamp(1.45rem, 2.5vw, 1.9rem) !important;
}
.about-page .about.section .lead{
  color: var(--rv-muted) !important;
  font-size: 1.08rem !important;
  line-height: 1.7 !important;
}
.about-page .trust-strip .item{
  background: #fff !important;
  border: 1px solid var(--rv-line) !important;
  border-radius: 14px !important;
  padding: 14px !important;
  height: 100%;
  box-shadow: var(--rv-shadow-sm);
}
.about-page .trust-strip .item i,
.about-page .trust-strip .item .bi{
  color: var(--rv-gold) !important;
  font-size: 1.25rem !important;
}
.about-page .trust-strip h6{
  font-weight: 800 !important;
  color: var(--rv-navy) !important;
  margin: 0 0 4px !important;
}
.about-page .trust-strip p{
  margin: 0 !important;
  font-size: 13px !important;
  color: var(--rv-muted) !important;
}
.about-page .stats-grid{
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
  padding: 14px !important;
  background: #fff;
  border: 1px solid var(--rv-line);
  border-radius: 16px;
  box-shadow: var(--rv-shadow-sm);
}
.about-page .stats-grid .stat-item{
  text-align: center;
  padding: 8px;
  border-right: 1px solid var(--rv-line);
}
.about-page .stats-grid .stat-item:last-child{ border-right: 0; }
.about-page .stats-grid .stat-number{
  display: block;
  font-size: 1.6rem !important;
  font-weight: 800 !important;
  color: var(--rv-gold) !important;
}
.about-page .stats-grid .stat-label{
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--rv-muted) !important;
}
.about-page .media-wrap{
  border-radius: 20px !important;
  box-shadow: var(--rv-shadow) !important;
  border: 1px solid var(--rv-line) !important;
  overflow: hidden;
}
.about-page .media-wrap img{
  width: 100%;
  display: block;
  object-fit: cover;
}

/* ----- Services page ----- */
.services-page .service-item{
  background: #fff !important;
  border: 1px solid var(--rv-line) !important;
  border-radius: var(--rv-radius) !important;
  overflow: hidden;
  box-shadow: var(--rv-shadow-sm) !important;
  height: 100%;
  transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.services-page .service-item:hover{
  box-shadow: var(--rv-shadow) !important;
  border-color: rgba(184,134,43,.35) !important;
  transform: translateY(-3px);
}
.services-page .service-image{
  position: relative;
  aspect-ratio: 16/10;
  overflow: hidden;
  background: var(--rv-navy);
}
.services-page .service-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.services-page .service-item:hover .service-image img{
  transform: scale(1.04);
}
.services-page .service-content{
  padding: 20px 20px 22px !important;
}
.services-page .service-content h3{
  font-weight: 800 !important;
  color: var(--rv-navy) !important;
  font-size: 1.15rem !important;
}
.services-page .service-content p{
  color: var(--rv-muted) !important;
  line-height: 1.65 !important;
}
.services-page .feature-item{
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 600;
  color: #334155;
  margin-bottom: 6px;
}
.services-page .feature-item i{
  color: var(--rv-gold) !important;
  margin-top: 2px;
}
/* Full-width solid CTA — high contrast (fixes gold-on-gold unreadable buttons) */
.services-page .service-btn,
.services .service-content .service-btn,
body.services-page a.service-btn{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 10px !important;
  width: 100% !important;
  margin-top: 14px !important;
  padding: 14px 18px !important;
  border-radius: 12px !important;
  background: var(--rv-navy) !important;
  background-color: var(--rv-navy) !important;
  color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  text-decoration: none !important;
  border: 0 !important;
  box-shadow: 0 8px 20px rgba(11, 24, 48, .16) !important;
  transition: background .15s ease, transform .15s ease, box-shadow .15s ease !important;
}
.services-page .service-btn span,
.services .service-content .service-btn span,
body.services-page a.service-btn span{
  color: #ffffff !important;
}
.services-page .service-btn i,
.services .service-content .service-btn i,
body.services-page a.service-btn i{
  color: #ffffff !important;
  font-size: 1rem !important;
  transition: transform .15s ease !important;
}
.services-page .service-btn:hover,
.services .service-content .service-btn:hover,
body.services-page a.service-btn:hover{
  background: var(--rv-gold) !important;
  background-color: var(--rv-gold) !important;
  color: #ffffff !important;
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(184, 134, 43, .28) !important;
}
.services-page .service-btn:hover span,
.services-page .service-btn:hover i,
.services .service-content .service-btn:hover span,
.services .service-content .service-btn:hover i{
  color: #ffffff !important;
}
.services-page .service-btn:hover i,
.services .service-content .service-btn:hover i{
  transform: translateX(4px);
}
.services-page .value-strip{
  background: #fff !important;
  border: 1px solid var(--rv-line) !important;
  box-shadow: var(--rv-shadow-sm);
}

/* ----- Contact page ----- */
.contact-page .alina-contact-form,
.contact-page .contact-form-wrap,
.contact-page form.alina-contact-form{
  background: #fff;
  border: 1px solid var(--rv-line);
  border-radius: 18px;
  padding: 28px !important;
  box-shadow: var(--rv-shadow);
}
.contact-page .info-item,
.contact-page .contact-info-card{
  background: #fff !important;
  border: 1px solid var(--rv-line) !important;
  border-radius: 14px !important;
  padding: 18px !important;
  box-shadow: var(--rv-shadow-sm);
  height: 100%;
}
.contact-page .info-item i,
.contact-page .contact-info-card i{
  color: var(--rv-gold) !important;
}

/* ----- Testimonials ----- */
.testimonials-page .testimonial-item{
  background: #fff !important;
  border: 1px solid var(--rv-line) !important;
  border-radius: 16px !important;
  padding: 22px !important;
  box-shadow: var(--rv-shadow-sm) !important;
  height: 100%;
}
.testimonials-page .testimonial-item .stars i{
  color: var(--rv-gold) !important;
}
.testimonials-page .testimonial-item h4{
  font-weight: 800 !important;
  color: var(--rv-navy) !important;
}
.testimonials-page .badge-verify{
  color: #0f766e !important;
  font-weight: 700;
}

/* ----- FAQ ----- */
.faq-page .faq-item{
  background: #fff !important;
  border: 1px solid var(--rv-line) !important;
  border-radius: 14px !important;
  margin-bottom: 12px !important;
  box-shadow: var(--rv-shadow-sm);
  overflow: hidden;
}
.faq-page .faq-header{
  padding: 16px 18px !important;
  cursor: pointer;
}
.faq-page .faq-header h4{
  font-weight: 800 !important;
  color: var(--rv-navy) !important;
  font-size: 1rem !important;
  margin: 0 !important;
}
.faq-page .faq-number{
  color: var(--rv-gold) !important;
  font-weight: 900 !important;
}
.faq-page .faq-content,
.faq-page .content-inner p{
  color: var(--rv-muted) !important;
  line-height: 1.7 !important;
}

/* ----- Legal pages (privacy, terms, disclaimer, compliance) ----- */
.privacy-wrap .policy-card,
.terms-page .policy-card,
.disclaimer-page .policy-card,
.compliance-page .policy-card,
.privacy-page .policy-card,
main .policy-card{
  background: #fff !important;
  border: 1px solid var(--rv-line) !important;
  border-radius: 18px !important;
  padding: 32px 28px !important;
  box-shadow: var(--rv-shadow) !important;
  max-width: 900px;
  margin: 0 auto 48px;
}
.policy-card h2,
.policy-card h3{
  font-weight: 800 !important;
  color: var(--rv-navy) !important;
}
.policy-card p,
.policy-card li{
  color: #334155 !important;
  line-height: 1.75 !important;
}
.policy-card .effective{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  color: var(--rv-gold);
  margin-bottom: 10px;
}
.policy-card .divider{
  border-top: 1px solid var(--rv-line);
  margin: 22px 0;
}

/* ----- Properties / inventory list heroes ----- */
.properties-page .props-hero,
.inventory-page .props-hero,
body.properties-page .props-hero,
.inventory-page section:first-of-type .container h1,
.properties-page .props-title{
  /* covered below */
}
.properties-page .props-hero,
.inventory-page .filter-hero,
body.inventory-page .inv-hero{
  background:
    radial-gradient(ellipse 60% 100% at 10% -30%, rgba(184,134,43,.14), transparent 55%),
    linear-gradient(180deg, #f8fafc 0%, #fff 100%);
  border-bottom: 1px solid var(--rv-line);
  padding: 28px 0 22px !important;
}
.properties-page .props-title,
.inventory-page h1,
.properties-page .props-hero h1{
  font-weight: 800 !important;
  color: var(--rv-navy) !important;
  letter-spacing: -.02em;
  font-size: clamp(1.4rem, 2.5vw, 1.85rem) !important;
}
.properties-page .filter-bar,
.inventory-page .filter-panel,
.inventory-page .filter-bar{
  background: #fff !important;
  border: 1px solid var(--rv-line) !important;
  border-radius: 16px !important;
  box-shadow: var(--rv-shadow-sm) !important;
  padding: 16px !important;
}
.properties-page .btn-filter,
.inventory-page .btn-filter{
  background: var(--rv-navy) !important;
  color: #fff !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
  border: 0 !important;
}
.properties-page .btn-reset{
  border-radius: 10px !important;
  font-weight: 700 !important;
}
.properties-page .props-count,
.inventory-page .props-count{
  font-size: 14px;
  font-weight: 700;
  color: var(--rv-muted);
}
.properties-page .props-count strong{
  color: var(--rv-navy);
  font-size: 1.15rem;
}

/* ----- Inventory page body soft bg ----- */
body.inventory-page .main,
body.properties-page .main{
  background: var(--rv-soft);
}
body.inventory-page .list-main,
body.properties-page .list-main{
  /* keep */
}

/* ----- Blog pages already custom; light touch ----- */
.blog-page,
.blog-detail-page{
  /* existing page CSS remains primary */
}
body.blog-page .main{
  /* bp styles handle */
}

/* ----- 404 ----- */
.page-404 .error-number{
  font-size: clamp(4rem, 12vw, 7rem) !important;
  font-weight: 900 !important;
  color: var(--rv-gold) !important;
  line-height: 1 !important;
  letter-spacing: -.04em;
}
.page-404 .error-title{
  font-weight: 800 !important;
  color: var(--rv-navy) !important;
}
.page-404 .error-description{
  color: var(--rv-muted) !important;
  max-width: 520px;
  margin-left: auto;
  margin-right: auto;
}
.page-404 .error-actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin-top: 24px;
}
.page-404 .error-actions .btn-primary,
.page-404 .error-actions a.btn-primary{
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.page-404 .helpful-links{
  background: #fff;
  border: 1px solid var(--rv-line);
  border-radius: 18px;
  padding: 28px;
  box-shadow: var(--rv-shadow-sm);
  margin-top: 16px;
}
.page-404 .helpful-links h3{
  font-weight: 800;
  color: var(--rv-navy);
  margin-bottom: 18px;
  text-align: center;
}
.page-404 .links-grid{
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 12px !important;
}
.page-404 .link-item{
  display: flex !important;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 16px 12px !important;
  background: var(--rv-soft) !important;
  border: 1px solid var(--rv-line) !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  color: var(--rv-navy) !important;
  font-weight: 700 !important;
  transition: border-color .15s, box-shadow .15s;
}
.page-404 .link-item:hover{
  border-color: rgba(184,134,43,.4) !important;
  box-shadow: var(--rv-shadow-sm);
  color: var(--rv-navy) !important;
}
.page-404 .link-item i{
  color: var(--rv-gold) !important;
  font-size: 1.35rem !important;
}

/* ----- Thank you ----- */
.thank-you-page .main{
  background: var(--rv-soft);
  min-height: 50vh;
}
.thank-you-page .card{
  border: 1px solid var(--rv-line) !important;
  box-shadow: var(--rv-shadow) !important;
  border-radius: 20px !important;
}
.thank-you-page h1{
  font-weight: 800 !important;
  color: var(--rv-navy) !important;
}

/* ----- Property / inventory detail: full soft canvas, no navy gutters ----- */
body.property-detail-page,
body.inventory-detail-page{
  background: #f1f5f9 !important;
}
body.property-detail-page .main,
body.inventory-detail-page .main,
body.property-detail-page main.main,
body.inventory-detail-page main.main{
  background: #f1f5f9 !important;
  width: 100% !important;
  max-width: none !important;
}

/* ----- Sections spacing ----- */
body:not(.index-page):not(.admin-page) section.section{
  padding-top: 56px;
  padding-bottom: 56px;
}

@media (max-width: 768px){
  .page-404 .links-grid{
    grid-template-columns: repeat(2, 1fr) !important;
  }
  .about-page .stats-grid{
    grid-template-columns: 1fr !important;
  }
  .about-page .stats-grid .stat-item{
    border-right: 0 !important;
    border-bottom: 1px solid var(--rv-line);
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: left;
  }
  .about-page .stats-grid .stat-item:last-child{ border-bottom: 0; }
  main .policy-card{
    padding: 22px 18px !important;
    margin-left: 12px;
    margin-right: 12px;
  }
}


/* Inventory hero */
.inventory-page .inv-hero{
  background:
    radial-gradient(ellipse 60% 100% at 10% -30%, rgba(184,134,43,.14), transparent 55%),
    linear-gradient(180deg, #f8fafc 0%, #fff 100%);
  border-bottom: 1px solid var(--rv-line);
  padding: 28px 0 8px !important;
}
.inventory-page .inv-title{
  font-weight: 800 !important;
  color: var(--rv-navy) !important;
  letter-spacing: -.02em;
  font-size: clamp(1.4rem, 2.5vw, 1.85rem) !important;
}
.inventory-page .filter-panel{
  background: #fff !important;
  border: 1px solid var(--rv-line) !important;
  border-radius: 16px !important;
  box-shadow: var(--rv-shadow-sm) !important;
  padding: 18px !important;
}
.inventory-page .btn-filter{
  background: var(--rv-navy) !important;
  border-color: var(--rv-navy) !important;
  color: #fff !important;
  border-radius: 10px !important;
  font-weight: 800 !important;
}
.inventory-page .aside-card{
  background: #fff !important;
  border: 1px solid var(--rv-line) !important;
  border-radius: 14px !important;
  box-shadow: var(--rv-shadow-sm) !important;
}
#featured-departments .specialty-card,
#featured-departments .department-highlight{
  background: #fff !important;
  border: 1px solid var(--rv-line) !important;
  border-radius: 16px !important;
  box-shadow: var(--rv-shadow-sm) !important;
  transition: box-shadow .2s, transform .2s, border-color .2s;
}
#featured-departments .specialty-card:hover,
#featured-departments .department-highlight:hover{
  box-shadow: var(--rv-shadow) !important;
  border-color: rgba(184,134,43,.3) !important;
  transform: translateY(-2px);
}
#featured-services .service-item,
#featured-services .featured-service-main{
  border-radius: 16px !important;
  border: 1px solid var(--rv-line) !important;
  box-shadow: var(--rv-shadow-sm) !important;
  background: #fff !important;
}
#call-to-action .feature-block{
  background: #fff !important;
  border: 1px solid var(--rv-line) !important;
  border-radius: 14px !important;
  box-shadow: var(--rv-shadow-sm) !important;
}

/* =========================================================
   PROFESSIONAL REDESIGN — Core services, process, CTA,
   about / services / testimonials / contact (navy + gold)
   ========================================================= */

/* Shared section head */
.rv-section-head{ margin-bottom: 36px; }
.rv-section-head h2{
  font-weight: 800 !important;
  color: var(--rv-navy) !important;
  letter-spacing: -.02em;
  font-size: clamp(1.55rem, 2.4vw, 2rem) !important;
  margin: 10px 0 10px !important;
}
.rv-section-head p{
  color: var(--rv-muted) !important;
  max-width: 560px;
  margin: 0 auto !important;
  line-height: 1.65;
  font-size: 1.02rem;
}
.rv-kicker{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--rv-gold) !important;
}
.rv-kicker--light{ color: rgba(255,214,140,.95) !important; }

/* Buttons */
.rv-btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 20px;
  border-radius: 12px;
  font-weight: 800;
  font-size: 14px;
  text-decoration: none !important;
  border: 1px solid transparent;
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease, color .15s ease, border-color .15s ease;
  white-space: nowrap;
}
.rv-btn:hover{ transform: translateY(-1px); }
.rv-btn--gold{
  background: var(--rv-gold) !important;
  border-color: var(--rv-gold) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(184,134,43,.28);
}
.rv-btn--gold:hover{ background: var(--rv-gold-d) !important; color: #fff !important; }
.rv-btn--navy{
  background: var(--rv-navy) !important;
  border-color: var(--rv-navy) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(11,24,48,.18);
}
.rv-btn--navy:hover{ background: var(--rv-navy-2) !important; color: #fff !important; }
.rv-btn--ghost{
  background: transparent !important;
  border-color: rgba(255,255,255,.35) !important;
  color: #fff !important;
}
.rv-btn--ghost:hover{ background: rgba(255,255,255,.1) !important; color: #fff !important; }
.rv-btn--ghost-light{
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.28) !important;
  color: #fff !important;
}
.rv-btn--ghost-light:hover{ background: rgba(255,255,255,.14) !important; color: #fff !important; }
.rv-btn--outline{
  background: #fff !important;
  border-color: var(--rv-line) !important;
  color: var(--rv-navy) !important;
}
.rv-btn--outline:hover{ border-color: rgba(184,134,43,.4) !important; color: var(--rv-navy) !important; }

/* ---------- Core Services ---------- */
.rv-core-services{
  background: linear-gradient(180deg, #f8fafc 0%, #fff 100%);
  padding: 72px 0 64px !important;
}
.rv-svc-card{
  height: 100%;
  background: #fff;
  border: 1px solid var(--rv-line);
  border-radius: 18px;
  padding: 26px 24px 22px;
  box-shadow: var(--rv-shadow-sm);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  display: flex;
  flex-direction: column;
}
.rv-svc-card:hover{
  transform: translateY(-3px);
  box-shadow: var(--rv-shadow);
  border-color: rgba(184,134,43,.35);
}
.rv-svc-card__icon{
  width: 52px; height: 52px;
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  background: linear-gradient(145deg, rgba(184,134,43,.16), rgba(184,134,43,.06));
  border: 1px solid rgba(184,134,43,.28);
  color: var(--rv-gold);
  font-size: 1.35rem;
  margin-bottom: 14px;
  flex: 0 0 auto;
}
.rv-svc-card--featured{
  padding: 28px 28px 24px;
  background:
    radial-gradient(ellipse 80% 60% at 100% 0%, rgba(184,134,43,.08), transparent 55%),
    #fff;
}
.rv-svc-card--featured .rv-svc-card__icon{ margin-bottom: 0; }
.rv-svc-card--featured{
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 18px 20px;
  align-items: start;
}
.rv-svc-card--featured .rv-svc-card__body{ min-width: 0; }
.rv-svc-card__label{
  display: inline-flex;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--rv-gold);
  background: rgba(184,134,43,.1);
  border: 1px solid rgba(184,134,43,.22);
  padding: 5px 10px;
  border-radius: 999px;
  margin-bottom: 10px;
}
.rv-svc-card h3{
  font-size: 1.15rem;
  font-weight: 800;
  color: var(--rv-navy);
  margin: 0 0 10px;
  letter-spacing: -.015em;
  line-height: 1.3;
}
.rv-svc-card p{
  color: var(--rv-muted);
  line-height: 1.65;
  margin: 0 0 14px;
  font-size: .95rem;
  flex: 1;
}
.rv-svc-card__list{
  list-style: none;
  padding: 0;
  margin: 0 0 16px;
}
.rv-svc-card__list li{
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: var(--rv-text);
  font-size: .9rem;
  font-weight: 600;
  margin: 6px 0;
  line-height: 1.45;
}
.rv-svc-card__list i{ color: var(--rv-gold); margin-top: 2px; flex: 0 0 auto; }
.rv-svc-card__link{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
  font-size: .92rem;
  color: var(--rv-gold) !important;
  margin-top: auto;
  text-decoration: none !important;
}
.rv-svc-card__link i{ transition: transform .15s ease; }
.rv-svc-card__link:hover i{ transform: translateX(3px); }

.rv-banner{
  margin-top: 36px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  flex-wrap: wrap;
  padding: 28px 32px;
  border-radius: 18px;
  background:
    radial-gradient(ellipse 50% 120% at 90% 50%, rgba(184,134,43,.18), transparent 55%),
    linear-gradient(135deg, #0b1830 0%, #132744 100%);
  color: #fff;
  box-shadow: var(--rv-shadow);
}
.rv-banner h3{
  margin: 0 0 6px;
  font-weight: 800;
  font-size: 1.25rem;
  color: #fff;
}
.rv-banner p{
  margin: 0;
  color: rgba(255,255,255,.72);
  max-width: 520px;
  line-height: 1.55;
}
.rv-banner__actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* ---------- Process ---------- */
.rv-process{
  background: #fff;
  padding: 72px 0 64px !important;
}
.rv-process-hero{
  position: relative;
  border-radius: 20px;
  overflow: hidden;
  height: 100%;
  min-height: 480px;
  border: 1px solid var(--rv-line);
  box-shadow: var(--rv-shadow);
}
.rv-process-hero img{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.rv-process-hero__overlay{
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 28px;
  background: linear-gradient(180deg, rgba(11,24,48,.15) 0%, rgba(11,24,48,.82) 70%, rgba(11,24,48,.92) 100%);
  color: #fff;
}
.rv-process-hero__badge{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  padding: 7px 12px;
  border-radius: 999px;
  background: rgba(184,134,43,.2);
  border: 1px solid rgba(184,134,43,.4);
  color: #f5d79a;
  font-size: 12px;
  font-weight: 800;
  margin-bottom: 12px;
}
.rv-process-hero h3{
  font-weight: 800;
  font-size: 1.45rem;
  margin: 0 0 8px;
  color: #fff;
  letter-spacing: -.02em;
}
.rv-process-hero p{
  color: rgba(255,255,255,.78);
  margin: 0 0 16px;
  line-height: 1.6;
  max-width: 360px;
}

/* Right column: 3 steps fill full height beside image (no dead gap, no mini icons) */
.rv-process-side{
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 480px;
}
.rv-process-steps{
  display: flex;
  flex-direction: column;
  gap: 14px;
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
}
.rv-process-step{
  display: flex;
  gap: 16px;
  align-items: center;
  flex: 1 1 0;
  padding: 22px 22px;
  background: var(--rv-soft);
  border: 1px solid var(--rv-line);
  border-radius: 16px;
  transition: border-color .15s, box-shadow .15s, transform .15s;
}
.rv-process-step:hover{
  border-color: rgba(184,134,43,.35);
  box-shadow: var(--rv-shadow-sm);
  transform: translateX(2px);
  background: #fff;
}
.rv-process-step__num{
  flex: 0 0 auto;
  width: 52px; height: 52px;
  border-radius: 14px;
  display: flex; align-items: center; justify-content: center;
  background: var(--rv-navy);
  color: #fff;
  font-weight: 800;
  font-size: 15px;
  letter-spacing: .02em;
}
.rv-process-step__body h4{
  margin: 0 0 6px;
  font-weight: 800;
  color: var(--rv-navy);
  font-size: 1.1rem;
}
.rv-process-step__body p{
  margin: 0;
  color: var(--rv-muted);
  line-height: 1.6;
  font-size: .95rem;
}

/* Mini icon strip removed site-wide (was empty-gap + duplicate of Core Services) */
.rv-mini-grid,
.rv-mini-card,
.specialties-grid{
  display: none !important;
}

/* ---------- CTA ---------- */
.rv-cta{
  background: linear-gradient(180deg, #f8fafc 0%, #fff 55%);
  padding: 64px 0 72px !important;
}
.rv-cta-panel{
  border-radius: 22px;
  padding: 40px 40px;
  background:
    radial-gradient(ellipse 55% 90% at 85% 20%, rgba(184,134,43,.22), transparent 55%),
    linear-gradient(135deg, #0b1830 0%, #152a4a 50%, #0b1830 100%);
  color: #fff;
  box-shadow: var(--rv-shadow);
  overflow: hidden;
}
.rv-cta-panel h2{
  font-weight: 800;
  font-size: clamp(1.45rem, 2.4vw, 1.9rem);
  letter-spacing: -.02em;
  margin: 10px 0 12px;
  color: #fff;
}
.rv-cta-panel > .row > .col-lg-7 > p,
.rv-cta-panel p{
  color: rgba(255,255,255,.75);
  line-height: 1.65;
  max-width: 520px;
  margin-bottom: 20px;
}
.rv-cta-panel__actions{
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.rv-cta-panel__image{
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.15);
  box-shadow: 0 16px 40px rgba(0,0,0,.25);
  aspect-ratio: 4/3;
}
.rv-cta-panel__image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.rv-feature-tile{
  height: 100%;
  background: #fff;
  border: 1px solid var(--rv-line);
  border-radius: 16px;
  padding: 24px 22px;
  box-shadow: var(--rv-shadow-sm);
  transition: transform .15s, border-color .15s, box-shadow .15s;
}
.rv-feature-tile:hover{
  transform: translateY(-2px);
  border-color: rgba(184,134,43,.35);
  box-shadow: var(--rv-shadow);
}
.rv-feature-tile__icon{
  width: 48px; height: 48px;
  border-radius: 12px;
  display: flex; align-items: center; justify-content: center;
  background: rgba(184,134,43,.12);
  border: 1px solid rgba(184,134,43,.25);
  color: var(--rv-gold);
  font-size: 1.25rem;
  margin-bottom: 14px;
}
.rv-feature-tile h3{
  font-size: 1.05rem;
  font-weight: 800;
  color: var(--rv-navy);
  margin: 0 0 8px;
}
.rv-feature-tile p{
  margin: 0;
  color: var(--rv-muted);
  line-height: 1.6;
  font-size: .93rem;
}
.rv-contact-strip{
  margin-top: 28px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
  padding: 24px 28px;
  background: #fff;
  border: 1px solid var(--rv-line);
  border-radius: 16px;
  box-shadow: var(--rv-shadow-sm);
}
.rv-contact-strip h3{
  margin: 0 0 4px;
  font-weight: 800;
  color: var(--rv-navy);
  font-size: 1.15rem;
}
.rv-contact-strip p{
  margin: 0;
  color: var(--rv-muted);
}
.rv-contact-strip__actions{
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* ---------- About page polish ---------- */
.about-page .soft-card{
  border-radius: 18px !important;
  border: 1px solid var(--rv-line) !important;
  box-shadow: var(--rv-shadow-sm) !important;
  padding: 22px 20px !important;
  transition: transform .18s, border-color .18s, box-shadow .18s !important;
}
.about-page .soft-card:hover{
  transform: translateY(-3px) !important;
  border-color: rgba(184,134,43,.35) !important;
  box-shadow: var(--rv-shadow) !important;
}
.about-page .soft-card .icon{
  background: rgba(184,134,43,.12) !important;
  border-color: rgba(184,134,43,.28) !important;
  color: var(--rv-gold) !important;
  border-radius: 14px !important;
}
.about-page .step{
  border: 1px solid var(--rv-line) !important;
  border-radius: 18px !important;
  box-shadow: var(--rv-shadow-sm) !important;
  padding: 22px 20px !important;
  transition: transform .15s, border-color .15s;
}
.about-page .step:hover{
  transform: translateY(-2px);
  border-color: rgba(184,134,43,.35) !important;
}
.about-page .step .num{
  background: var(--rv-navy) !important;
  border-color: var(--rv-navy) !important;
  color: #fff !important;
  border-radius: 12px !important;
  width: 42px !important;
  height: 42px !important;
  font-weight: 800 !important;
}
.about-page .chip{
  background: rgba(184,134,43,.08) !important;
  border-color: rgba(184,134,43,.22) !important;
  color: var(--rv-navy) !important;
  font-weight: 700 !important;
}
.about-page .chip i{ color: var(--rv-gold) !important; }
.about-page .quote{
  border: 1px solid var(--rv-line) !important;
  border-radius: 18px !important;
  box-shadow: var(--rv-shadow-sm) !important;
  padding: 22px !important;
}
.about-page .quote:hover{
  border-color: rgba(184,134,43,.3) !important;
  box-shadow: var(--rv-shadow);
}
.about-page .cta-card{
  background: linear-gradient(135deg, #0b1830 0%, #152a4a 55%, #0b1830 100%) !important;
  border: 1px solid rgba(255,255,255,.1) !important;
  border-radius: 20px !important;
  padding: 32px 28px !important;
  box-shadow: var(--rv-shadow) !important;
  color: #ffffff !important;
}
.about-page .cta-card h3,
.about-page .cta-card h2,
.about-page .cta-card .heading-title{
  color: #ffffff !important;
}
.about-page .cta-card p{
  color: rgba(255,255,255,.88) !important;
}
.about-page .cta-card .btn-light{
  background: var(--rv-gold) !important;
  border-color: var(--rv-gold) !important;
  color: #fff !important;
  font-weight: 800 !important;
}
.about-page .cta-card .btn-outline-light{
  border-color: rgba(255,255,255,.4) !important;
  color: #fff !important;
  font-weight: 800 !important;
}
.about-page .cta-card .btn-outline-light:hover{
  background: rgba(255,255,255,.12) !important;
}
.about-page .trust-strip{
  border-radius: 16px !important;
  border-color: var(--rv-line) !important;
  box-shadow: var(--rv-shadow-sm) !important;
}
.about-page .trust-strip .item i{ color: var(--rv-gold) !important; }
.about-page .pill{
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.2) !important;
  color: #fff !important;
}
.about-page .pill i{ color: #f0c96a !important; }
.about-page .media-wrap{
  border-radius: 20px !important;
  box-shadow: var(--rv-shadow) !important;
  border: 1px solid var(--rv-line) !important;
}
.about-page section.section h3{
  font-weight: 800 !important;
  color: var(--rv-navy) !important;
  letter-spacing: -.02em;
}
.about-page section.section .cta-card h3,
.about-page .cta-card h3,
.about-page .cta-card h2,
.about-page .cta-card p,
.about-page .cta-card{
  color: #ffffff !important;
}
.about-page .cta-card p{
  color: rgba(255,255,255,.88) !important;
}
.about-page .section-description{
  color: var(--rv-muted) !important;
}

/* ---------- Services page polish ---------- */
.services-page .service-item{
  background: #fff !important;
  border: 1px solid var(--rv-line) !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  box-shadow: var(--rv-shadow-sm) !important;
  transition: transform .18s, box-shadow .18s, border-color .18s !important;
  height: 100%;
}
.services-page .service-item:hover{
  transform: translateY(-3px) !important;
  box-shadow: var(--rv-shadow) !important;
  border-color: rgba(184,134,43,.35) !important;
}
.services-page .service-image{
  position: relative;
  overflow: hidden;
  aspect-ratio: 16/10;
  background: var(--rv-soft);
}
.services-page .service-image img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}
.services-page .service-item:hover .service-image img{ transform: scale(1.04); }
.services-page .service-overlay{
  background: linear-gradient(180deg, transparent 30%, rgba(11,24,48,.55) 100%) !important;
}
.services-page .service-overlay i{
  color: #fff !important;
  background: rgba(184,134,43,.9) !important;
  width: 44px; height: 44px;
  border-radius: 12px;
  display: flex !important;
  align-items: center;
  justify-content: center;
}
.services-page .service-content{
  padding: 22px 22px 20px !important;
}
.services-page .service-content h3{
  font-weight: 800 !important;
  color: var(--rv-navy) !important;
  font-size: 1.15rem !important;
  margin-bottom: 10px !important;
}
.services-page .service-content p{
  color: var(--rv-muted) !important;
  line-height: 1.65 !important;
}
.services-page .service-features .feature-item{
  display: flex;
  gap: 8px;
  align-items: flex-start;
  font-size: .88rem;
  font-weight: 600;
  color: var(--rv-text);
  margin: 6px 0;
}
.services-page .service-features .feature-item i{
  color: var(--rv-gold) !important;
  margin-top: 2px;
}
.services-page .service-btn{
  display: inline-flex !important;
  align-items: center;
  gap: 8px;
  margin-top: auto !important;
  padding: 11px 16px !important;
  border-radius: 12px !important;
  background: var(--rv-navy) !important;
  color: #fff !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  border: 0 !important;
  transition: background .15s, transform .15s !important;
}
.services-page .service-btn:hover{
  background: var(--rv-navy-2) !important;
  color: #fff !important;
  transform: translateY(-1px);
}
.services-page .value-strip,
.services-page .included-card,
.services-page .process-step{
  border-radius: 18px !important;
  border-color: var(--rv-line) !important;
  box-shadow: var(--rv-shadow-sm) !important;
}
.services-page .value-card{
  border-radius: 16px !important;
  border-color: var(--rv-line) !important;
  transition: transform .15s, border-color .15s;
}
.services-page .value-card:hover{
  transform: translateY(-2px);
  border-color: rgba(184,134,43,.35) !important;
}
.services-page .value-card i,
.services-page .included-card li i{ color: var(--rv-gold) !important; }
.services-page .step-no{
  background: var(--rv-navy) !important;
  box-shadow: 0 6px 14px rgba(11,24,48,.15);
}
.services-page .process-step:hover{
  border-color: rgba(184,134,43,.35) !important;
  transform: translateY(-2px);
}
.services-page .cta-strip{
  background: linear-gradient(135deg, #0b1830 0%, #152a4a 100%) !important;
  border: 0 !important;
  border-radius: 20px !important;
  color: #fff !important;
  padding: 40px 32px !important;
  box-shadow: var(--rv-shadow) !important;
}
.services-page .cta-strip h3{ color: #fff !important; font-weight: 800 !important; }
.services-page .cta-strip p{ color: rgba(255,255,255,.75) !important; }
.services-page .cta-strip .btn-primary{
  background: var(--rv-gold) !important;
  border-color: var(--rv-gold) !important;
  color: #fff !important;
}
.services-page .service-badges .badge{
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.22) !important;
  color: #fff !important;
  font-weight: 700 !important;
}
.services-page .accordion-item{
  border: 1px solid var(--rv-line) !important;
  border-radius: 12px !important;
  margin-bottom: 10px !important;
  overflow: hidden;
  box-shadow: var(--rv-shadow-sm);
}
.services-page .accordion-button{
  font-weight: 700 !important;
  color: var(--rv-navy) !important;
  box-shadow: none !important;
}
.services-page .accordion-button:not(.collapsed){
  background: rgba(184,134,43,.08) !important;
  color: var(--rv-navy) !important;
}

/* ---------- Testimonials polish ---------- */
.testimonials-page .t-stats{
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.15) !important;
  box-shadow: none !important;
}
.testimonials-page .t-stats .item{
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.12) !important;
}
.testimonials-page .t-stats .k{ color: #fff !important; }
.testimonials-page .t-stats .l{ color: rgba(255,255,255,.7) !important; }
.testimonials-page .t-stats .icon{
  background: rgba(184,134,43,.2) !important;
  border-color: rgba(184,134,43,.35) !important;
  color: #f0c96a !important;
}
.testimonials-page .pill{
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.2) !important;
  color: #fff !important;
}
.testimonials-page .pill i{ color: #f0c96a !important; }
.testimonials-page .testimonial-item,
.testimonials-page .t-card{
  border-radius: 18px !important;
  border-color: var(--rv-line) !important;
  box-shadow: var(--rv-shadow-sm) !important;
}
.testimonials-page .testimonial-item:hover,
.testimonials-page .t-card:hover{
  border-color: rgba(184,134,43,.35) !important;
  box-shadow: var(--rv-shadow) !important;
}
.testimonials-page .badge-verify,
.testimonials-page .t-card .tag{
  background: rgba(184,134,43,.12) !important;
  border-color: rgba(184,134,43,.28) !important;
  color: var(--rv-gold) !important;
}
.testimonials-page .avatar-icon{
  border-color: rgba(184,134,43,.28) !important;
  background: rgba(184,134,43,.12) !important;
  color: var(--rv-gold) !important;
}
.testimonials-page .cta-card{
  background: linear-gradient(135deg, #0b1830 0%, #152a4a 55%, #0b1830 100%) !important;
  border-radius: 20px !important;
  box-shadow: var(--rv-shadow) !important;
  color: #ffffff !important;
}
.testimonials-page .cta-card h3,
.testimonials-page .cta-card h2,
.testimonials-page .cta-card p{
  color: #ffffff !important;
}
.testimonials-page .cta-card p{
  color: rgba(255,255,255,.88) !important;
}
.testimonials-page .cta-card .btn-light{
  background: var(--rv-gold) !important;
  border-color: var(--rv-gold) !important;
  color: #fff !important;
  font-weight: 800 !important;
}

/* ---------- Contact polish ---------- */
.contact-page .pill{
  background: rgba(255,255,255,.12) !important;
  border-color: rgba(255,255,255,.2) !important;
  color: #fff !important;
}
.contact-page .pill i{ color: #f0c96a !important; }
.contact-page .card-surface{
  border-radius: 18px !important;
  border-color: var(--rv-line) !important;
  box-shadow: var(--rv-shadow) !important;
}
.contact-page .info-head{
  background: linear-gradient(135deg, rgba(184,134,43,.12), rgba(11,24,48,.04)) !important;
  border-color: rgba(184,134,43,.2) !important;
  border-radius: 14px !important;
}
.contact-page .info-icon{
  background: rgba(184,134,43,.12) !important;
  border-color: rgba(184,134,43,.28) !important;
  color: var(--rv-gold) !important;
}
.contact-page .contact-info-item{
  background: var(--rv-soft) !important;
  border-color: var(--rv-line) !important;
  border-radius: 14px !important;
  transition: border-color .15s;
}
.contact-page .contact-info-item:hover{
  border-color: rgba(184,134,43,.35) !important;
}
.contact-page .form-note{
  background: rgba(184,134,43,.08) !important;
  border-color: rgba(184,134,43,.25) !important;
}
.contact-page .form-note i{ color: var(--rv-gold) !important; }
.contact-page .contact-form-card .form-control:focus,
.contact-page .contact-form-card .form-select:focus{
  border-color: rgba(184,134,43,.5) !important;
  box-shadow: 0 0 0 .22rem rgba(184,134,43,.12) !important;
}
.contact-page .btn-submit{
  background: var(--rv-navy) !important;
  border-color: var(--rv-navy) !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
}
.contact-page .btn-submit:hover{
  background: var(--rv-navy-2) !important;
}
.contact-page .info-content a{ color: var(--rv-gold) !important; }
.contact-page .map-frame{
  border-radius: 18px !important;
  border-color: var(--rv-line) !important;
  box-shadow: var(--rv-shadow-sm) !important;
}

/* Responsive */
@media (max-width: 991px){
  .rv-svc-card--featured{
    grid-template-columns: 1fr;
  }
  .rv-process-hero,
  .rv-process-side{ min-height: 0; height: auto; }
  .rv-process-step{ flex: 0 0 auto; }
  .rv-cta-panel{ padding: 28px 22px; }
  .rv-banner{ padding: 22px; }
  .rv-banner__actions,
  .rv-contact-strip__actions{ width: 100%; }
  .rv-banner__actions .rv-btn,
  .rv-contact-strip__actions .rv-btn{ flex: 1 1 auto; }
}
@media (max-width: 575px){
  .rv-core-services,
  .rv-process,
  .rv-cta{ padding: 48px 0 !important; }
  .rv-process-step{ flex-direction: row; }
}


/* =========================================================
   UNIVERSAL BRAND SAFETY — contrast, buttons, icons
   Navy #0b1830 · Gold #b8862b · no dark-on-dark CTAs
   ========================================================= */

/* Dark surfaces: always white text */
body:not(.admin-page) .cta-card,
body:not(.admin-page) .cta-strip,
body:not(.admin-page) .rv-banner,
body:not(.admin-page) .rv-cta-panel,
body:not(.admin-page) .emergency-banner,
body:not(.admin-page) .page-title{
  color: #ffffff;
}
body:not(.admin-page) .cta-card h1,
body:not(.admin-page) .cta-card h2,
body:not(.admin-page) .cta-card h3,
body:not(.admin-page) .cta-card h4,
body:not(.admin-page) .cta-card h5,
body:not(.admin-page) .cta-card p,
body:not(.admin-page) .cta-card span:not(.btn *),
body:not(.admin-page) .cta-strip h1,
body:not(.admin-page) .cta-strip h2,
body:not(.admin-page) .cta-strip h3,
body:not(.admin-page) .cta-strip p,
body:not(.admin-page) .rv-banner h1,
body:not(.admin-page) .rv-banner h2,
body:not(.admin-page) .rv-banner h3,
body:not(.admin-page) .rv-banner p,
body:not(.admin-page) .rv-cta-panel h1,
body:not(.admin-page) .rv-cta-panel h2,
body:not(.admin-page) .rv-cta-panel h3,
body:not(.admin-page) .rv-cta-panel p{
  color: #ffffff !important;
}
body:not(.admin-page) .cta-card p,
body:not(.admin-page) .cta-strip p,
body:not(.admin-page) .rv-banner p,
body:not(.admin-page) .rv-cta-panel p{
  color: rgba(255,255,255,.88) !important;
}

/* Primary buttons → navy (gold on hover) */
body:not(.admin-page) .btn-primary,
body:not(.admin-page) a.btn-primary,
body:not(.admin-page) .btn-getstarted,
body:not(.admin-page) .btn-submit,
body:not(.admin-page) button.btn-primary,
body:not(.admin-page) input[type="submit"].btn,
body:not(.admin-page) .service-btn,
body:not(.admin-page) a.service-btn,
body:not(.admin-page) .emergency-btn,
body:not(.admin-page) .primary-cta,
body:not(.admin-page) .contact-link,
body:not(.admin-page) .main-cta,
body:not(.admin-page) .rv-btn--navy{
  background: var(--rv-navy) !important;
  background-color: var(--rv-navy) !important;
  border-color: var(--rv-navy) !important;
  color: #ffffff !important;
}
body:not(.admin-page) .btn-primary:hover,
body:not(.admin-page) a.btn-primary:hover,
body:not(.admin-page) .btn-getstarted:hover,
body:not(.admin-page) .btn-submit:hover,
body:not(.admin-page) .service-btn:hover,
body:not(.admin-page) a.service-btn:hover,
body:not(.admin-page) .emergency-btn:hover,
body:not(.admin-page) .primary-cta:hover,
body:not(.admin-page) .contact-link:hover,
body:not(.admin-page) .main-cta:hover,
body:not(.admin-page) .rv-btn--navy:hover{
  background: var(--rv-gold) !important;
  background-color: var(--rv-gold) !important;
  border-color: var(--rv-gold) !important;
  color: #ffffff !important;
}

/* Gold CTAs (on dark panels / hero accents) */
body:not(.admin-page) .rv-btn--gold,
body:not(.admin-page) .btn-warning,
body:not(.admin-page) .cta-card .btn-light,
body:not(.admin-page) .testimonials-page .cta-card .btn-light,
body:not(.admin-page) .about-page .cta-card .btn-light{
  background: var(--rv-gold) !important;
  background-color: var(--rv-gold) !important;
  border-color: var(--rv-gold) !important;
  color: #ffffff !important;
}
body:not(.admin-page) .rv-btn--gold:hover,
body:not(.admin-page) .cta-card .btn-light:hover{
  background: var(--rv-gold-d) !important;
  border-color: var(--rv-gold-d) !important;
  color: #ffffff !important;
}

/* Outline buttons → navy border, gold hover */
body:not(.admin-page) .btn-outline-primary,
body:not(.admin-page) a.btn-outline-primary,
body:not(.admin-page) .btn-outline-secondary,
body:not(.admin-page) .secondary-cta,
body:not(.admin-page) .rv-btn--outline{
  background: #ffffff !important;
  border: 1px solid var(--rv-line) !important;
  color: var(--rv-navy) !important;
}
body:not(.admin-page) .btn-outline-primary:hover,
body:not(.admin-page) a.btn-outline-primary:hover,
body:not(.admin-page) .secondary-cta:hover,
body:not(.admin-page) .rv-btn--outline:hover{
  border-color: var(--rv-gold) !important;
  color: var(--rv-gold) !important;
  background: #ffffff !important;
}

/* Outline light on dark CTAs */
body:not(.admin-page) .cta-card .btn-outline-light,
body:not(.admin-page) .rv-btn--ghost,
body:not(.admin-page) .rv-btn--ghost-light{
  background: transparent !important;
  border: 1px solid rgba(255,255,255,.45) !important;
  color: #ffffff !important;
}
body:not(.admin-page) .cta-card .btn-outline-light:hover,
body:not(.admin-page) .rv-btn--ghost:hover,
body:not(.admin-page) .rv-btn--ghost-light:hover{
  background: rgba(255,255,255,.12) !important;
  color: #ffffff !important;
  border-color: rgba(255,255,255,.65) !important;
}

/* ---------- Brand-color icons (gold accents) ---------- */
body:not(.admin-page) .soft-card .icon,
body:not(.admin-page) .soft-card .icon i,
body:not(.admin-page) .info-icon,
body:not(.admin-page) .info-icon i,
body:not(.admin-page) .highlight-icon,
body:not(.admin-page) .highlight-icon i,
body:not(.admin-page) .feature-icon,
body:not(.admin-page) .feature-icon i,
body:not(.admin-page) .rv-svc-card__icon,
body:not(.admin-page) .rv-svc-card__icon i,
body:not(.admin-page) .rv-feature-tile__icon,
body:not(.admin-page) .rv-feature-tile__icon i,
body:not(.admin-page) .value-card > i,
body:not(.admin-page) .service-features i,
body:not(.admin-page) .feature-item i,
body:not(.admin-page) .included-card li i,
body:not(.admin-page) .specialty-features i,
body:not(.admin-page) .rv-svc-card__list i,
body:not(.admin-page) .rv-mini-card i,
body:not(.admin-page) .chip i,
body:not(.admin-page) .pill i,
body:not(.admin-page) .form-note i,
body:not(.admin-page) .trust-strip .item i,
body:not(.admin-page) .t-stats .icon,
body:not(.admin-page) .t-stats .icon i,
body:not(.admin-page) .avatar-icon,
body:not(.admin-page) .avatar-icon i,
body:not(.admin-page) .badge-verify,
body:not(.admin-page) .badge-verify i,
body:not(.admin-page) .t-card .tag,
body:not(.admin-page) .t-card .tag i,
body:not(.admin-page) .quoteicon i,
body:not(.admin-page) .step-no,
body:not(.admin-page) .icon-wrap i,
body:not(.admin-page) .specialties-grid .icon-wrap i,
body:not(.admin-page) .service-icon-wrapper i,
body:not(.admin-page) .floating-card .icon i,
body:not(.admin-page) .home-about .floating-card .icon i,
body:not(.admin-page) .contact-info-item .info-icon i,
body:not(.admin-page) .hero-trust i,
body:not(.admin-page) .hero-kicker i,
body:not(.admin-page) .rv-kicker i,
body:not(.admin-page) .page-404 .link-item i{
  color: var(--rv-gold) !important;
}

/* Icon chip backgrounds → soft gold */
body:not(.admin-page) .soft-card .icon,
body:not(.admin-page) .info-icon,
body:not(.admin-page) .highlight-icon,
body:not(.admin-page) .feature-icon,
body:not(.admin-page) .rv-svc-card__icon,
body:not(.admin-page) .rv-feature-tile__icon,
body:not(.admin-page) .icon-wrap,
body:not(.admin-page) .specialties-grid .icon-wrap,
body:not(.admin-page) .avatar-icon,
body:not(.admin-page) .t-stats .icon{
  background: rgba(184,134,43,.12) !important;
  border-color: rgba(184,134,43,.28) !important;
}

/* Step numbers stay navy (readable brand) */
body:not(.admin-page) .step .num,
body:not(.admin-page) .step-no,
body:not(.admin-page) .rv-process-step__num{
  background: var(--rv-navy) !important;
  border-color: var(--rv-navy) !important;
  color: #ffffff !important;
}

/* Links that act as CTAs */
body:not(.admin-page) .specialty-link,
body:not(.admin-page) .highlight-cta,
body:not(.admin-page) .service-link,
body:not(.admin-page) .rv-svc-card__link{
  color: var(--rv-gold) !important;
}

/* Contact info links */
body:not(.admin-page) .info-content a,
body:not(.admin-page) .contact-info-item a{
  color: var(--rv-gold) !important;
}

/* Ensure btn icons inherit button text color */
body:not(.admin-page) .btn i,
body:not(.admin-page) .btn-primary i,
body:not(.admin-page) .btn-light i,
body:not(.admin-page) .service-btn i,
body:not(.admin-page) .rv-btn i{
  color: inherit !important;
}

/* Social side widgets keep their brand colors (optional leave alone) */
/* Back-to-top stays gold */
body:not(.admin-page) .scroll-top,
body:not(.admin-page) #scroll-top,
body:not(.admin-page) .back-to-top{
  background: var(--rv-gold) !important;
  color: #fff !important;
  border-color: var(--rv-gold) !important;
}

/* Selection: brand-tinted, never browser-blue boxes on copy */
body:not(.admin-page) ::selection{
  background: rgba(184,134,43,.35);
  color: #0b1830;
}
body:not(.admin-page) ::-moz-selection{
  background: rgba(184,134,43,.35);
  color: #0b1830;
}

/* Homepage scrolled header: no shadow fringe / hairline under nav */
body.index-page header#header.header,
body.index-page header.header,
body.index-page.scrolled header.header,
body.scrolled.index-page header.header{
  box-shadow: none !important;
  border-bottom: 1px solid rgba(11,24,48,.06) !important;
}
body.index-page.scrolled header.header,
body.scrolled.index-page header.header,
body.index-page header.header.is-solid{
  background: #ffffff !important;
}
