/*
Theme Name: Ravin Rock V2 Exact + Editor
Theme URI: https://ravinrockproperties.com/
Author: AJ Digital Agency
Description: Exact V2 Ravin Rock design with a dedicated WordPress admin editor. No Elementor required.
Version: 5.0.0
Text Domain: ravin-rock-v2-exact-editor
*/

:root{
  --rrp-brown:#AA753F;
  --rrp-brown-dark:#6E4729;
  --rrp-gold:#C99246;
  --rrp-tan:#FFEFC8;
  --rrp-cream:#F8F3E8;
  --rrp-paper:#FCFAF5;
  --rrp-charcoal:#232222;
  --rrp-ink:#181715;
  --rrp-white:#FFFDF8;
  --rrp-line:rgba(35,34,34,.14);
  --rrp-shadow:0 28px 80px rgba(35,34,34,.13);
  --rrp-soft-shadow:0 18px 48px rgba(35,34,34,.09);
  --rrp-radius:28px;
  --rrp-serif:'Lora',Georgia,serif;
  --rrp-sans:'Manrope',Arial,sans-serif;
  --rrp-idx:'https://matrix.longleafpinemls.com/Matrix/Public/IDXMap.aspx?count=1&idx=81c1163&pv=&or=';
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--rrp-white);color:var(--rrp-charcoal);font-family:var(--rrp-sans);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
a{color:inherit}
img{max-width:100%;height:auto}
.site-main{overflow:hidden}
.elementor-widget-html .elementor-widget-container,.elementor-widget-shortcode .elementor-widget-container{width:100%}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Header */
.rrp-site-header{position:sticky;top:0;z-index:9999;background:rgba(255,253,248,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(35,34,34,.09)}
.rrp-header-inner{max-width:1320px;margin:auto;min-height:92px;padding:0 28px;display:flex;align-items:center;gap:30px}
.rrp-brand{display:flex;align-items:center;text-decoration:none;min-width:200px}
.rrp-brand img,.rrp-brand .custom-logo{display:block;max-height:68px;width:auto;max-width:190px;object-fit:contain}
.rrp-primary-nav{margin-left:auto}
.rrp-primary-nav ul{display:flex;align-items:center;gap:28px;list-style:none;padding:0;margin:0}
.rrp-primary-nav a{text-decoration:none;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;position:relative}
.rrp-primary-nav a:after{content:'';position:absolute;left:0;right:100%;bottom:-8px;height:2px;background:var(--rrp-brown);transition:.25s ease}
.rrp-primary-nav a:hover:after,.rrp-primary-nav .current-menu-item>a:after{right:0}
.rrp-header-cta{display:flex;align-items:center;gap:10px}
.rrp-btn-mini{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--rrp-charcoal);font-size:11px;font-weight:850;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;transition:.25s ease}
.rrp-btn-mini:hover{transform:translateY(-1px)}
.rrp-btn-mini.primary{background:var(--rrp-charcoal);color:#fff}
.rrp-menu-toggle{display:none;border:0;background:transparent;padding:10px;font:inherit;cursor:pointer}
.rrp-menu-toggle span{display:block;width:25px;height:2px;background:var(--rrp-charcoal);margin:5px 0}

/* Global page system */
.rrp-page{width:100%;overflow:hidden;background:var(--rrp-white)}
.rrp-shell{max-width:1240px;margin:0 auto;padding-left:28px;padding-right:28px}
.rrp-section{padding:112px 0}
.rrp-section.tight{padding:82px 0}
.rrp-kicker{display:inline-flex;align-items:center;gap:10px;font-size:11px;font-weight:850;letter-spacing:.15em;text-transform:uppercase;color:var(--rrp-brown-dark);margin:0 0 20px}
.rrp-kicker:before,.rrp-kicker::before,.rrp-kicker:after,.rrp-kicker::after{content:none!important;display:none!important;width:0!important;height:0!important;background:none!important;border:0!important;box-shadow:none!important}
.rrp-display{font-family:var(--rrp-serif);font-weight:540;letter-spacing:-.055em;line-height:.93;margin:0}
.rrp-h2{font-family:var(--rrp-serif);font-size:clamp(44px,6vw,80px);line-height:.96;letter-spacing:-.05em;font-weight:550;margin:0 0 24px}
.rrp-h3{font-family:var(--rrp-serif);font-size:clamp(32px,4vw,50px);line-height:1;letter-spacing:-.04em;font-weight:560;margin:0 0 16px}
.rrp-lead{font-size:clamp(18px,2vw,22px);line-height:1.55;color:rgba(35,34,34,.76);max-width:720px}
.rrp-copy{font-size:17px;color:rgba(35,34,34,.76)}
.rrp-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.rrp-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 25px;border-radius:999px;border:1px solid var(--rrp-charcoal);font-size:11px;font-weight:850;letter-spacing:.09em;text-transform:uppercase;text-decoration:none;transition:.25s ease}
.rrp-button:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(35,34,34,.1)}
.rrp-button.dark{background:var(--rrp-charcoal);color:#fff}
.rrp-button.brown{background:var(--rrp-brown);border-color:var(--rrp-brown);color:#fff}
.rrp-button.tan{background:var(--rrp-tan);border-color:var(--rrp-tan);color:var(--rrp-charcoal)}
.rrp-button.ghost-light{border-color:rgba(255,255,255,.58);color:#fff;background:rgba(255,255,255,.04)}
.rrp-button .arrow{font-size:15px;transition:.25s}.rrp-button:hover .arrow{transform:translateX(3px)}
.rrp-split-intro{display:grid;grid-template-columns:.92fr 1.08fr;gap:72px;align-items:end;margin-bottom:54px}

/* Hero */
.rrp-home-hero{position:relative;min-height:820px;display:flex;align-items:stretch;background:#33281f url('../images/lillington-nc-cape-fear-river-real-estate.jpg') center/cover no-repeat;color:#fff;isolation:isolate}
.rrp-home-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,18,16,.92) 0%,rgba(20,18,16,.82) 43%,rgba(20,18,16,.28) 72%,rgba(20,18,16,.18) 100%);z-index:-2}
.rrp-home-hero:after{content:'';position:absolute;inset:auto 0 0 0;height:180px;background:linear-gradient(to top,rgba(20,18,16,.68),transparent);z-index:-1}
.rrp-home-hero .rrp-shell{width:100%;display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:end;padding-top:86px;position:relative}
.rrp-hero-copy{align-self:center;padding:54px 0 160px;position:relative;z-index:4}
.rrp-hero-copy .rrp-kicker{color:#f0d79c}
.rrp-home-hero h1{font-size:clamp(66px,8.2vw,118px);max-width:820px;text-shadow:0 8px 35px rgba(0,0,0,.16)}
.rrp-home-hero h1 em{display:block;color:var(--rrp-tan);font-style:italic;font-weight:430}
.rrp-home-hero .rrp-lead{color:rgba(255,255,255,.84);max-width:620px;margin-top:28px}
.rrp-hero-person{height:100%;min-height:730px;position:relative;align-self:end;z-index:3}
.rrp-anna-cutout{position:absolute;right:-32px;bottom:-1px;width:min(620px,47vw);height:710px;background:url('assets/images/anna-womack.png') bottom center/contain no-repeat;filter:drop-shadow(0 26px 24px rgba(0,0,0,.25));z-index:3}
.rrp-hero-badge{position:absolute;right:18px;top:96px;width:166px;height:166px;border-radius:50%;display:grid;place-items:center;text-align:center;background:rgba(255,239,200,.94);color:var(--rrp-charcoal);font-size:11px;font-weight:850;letter-spacing:.13em;text-transform:uppercase;line-height:1.45;box-shadow:var(--rrp-shadow);transform:rotate(6deg);z-index:5}
.rrp-hero-badge strong{display:block;font-family:var(--rrp-serif);font-size:32px;letter-spacing:-.04em;text-transform:none;line-height:1;margin-bottom:6px}
.rrp-market-search{position:absolute;left:28px;right:28px;bottom:38px;z-index:10;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;background:rgba(255,253,248,.96);color:var(--rrp-charcoal);border-radius:22px;padding:18px 18px 18px 22px;text-decoration:none;box-shadow:0 22px 60px rgba(0,0,0,.24);backdrop-filter:blur(14px);max-width:870px}
.rrp-search-icon{width:46px;height:46px;border-radius:50%;background:var(--rrp-tan);display:grid;place-items:center;font-size:20px}
.rrp-market-search strong{display:block;font-family:var(--rrp-serif);font-size:22px;line-height:1.1;letter-spacing:-.025em}
.rrp-market-search small{display:block;margin-top:4px;color:rgba(35,34,34,.62);font-size:12px}
.rrp-market-search .rrp-button{margin:0;white-space:nowrap}

/* Proof strip */
.rrp-proof{background:var(--rrp-charcoal);color:#fff;border-top:1px solid rgba(255,255,255,.09)}
.rrp-proof-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0}
.rrp-proof-item{padding:30px 32px;border-right:1px solid rgba(255,255,255,.12)}
.rrp-proof-item:last-child{border-right:0}
.rrp-proof-item strong{display:block;font-family:var(--rrp-serif);font-size:32px;line-height:1;color:var(--rrp-tan);letter-spacing:-.03em;margin-bottom:7px}
.rrp-proof-item span{font-size:11px;letter-spacing:.11em;text-transform:uppercase;font-weight:800;color:rgba(255,255,255,.62)}

/* Service cards */
.rrp-service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.rrp-service-photo-card{position:relative;min-height:470px;border-radius:26px;overflow:hidden;color:#fff;text-decoration:none;display:flex;flex-direction:column;justify-content:flex-end;padding:34px;box-shadow:var(--rrp-soft-shadow);isolation:isolate;transition:.3s ease;background:#5f4a38}
.rrp-service-photo-card:before{content:'';position:absolute;inset:0;z-index:-2;background-position:center;background-size:cover;transition:transform .55s ease}
.rrp-service-photo-card:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(18,17,16,.88) 0%,rgba(18,17,16,.18) 64%,rgba(18,17,16,.06))}
.rrp-service-photo-card.buy:before{background-image:url('../images/lillington-nc-cape-fear-river-real-estate.jpg')}
.rrp-service-photo-card.sell:before{background-image:url('../images/ravin-rock-properties-neighborhood-homes-warm.png')}
.rrp-service-photo-card.invest:before{background-image:url('../images/ravin-rock-properties-neighborhood-homes.jpg')}
.rrp-service-photo-card:hover{transform:translateY(-5px);box-shadow:var(--rrp-shadow)}
.rrp-service-photo-card:hover:before{transform:scale(1.04)}
.rrp-service-photo-card .number{position:absolute;top:24px;left:26px;font-size:11px;font-weight:850;letter-spacing:.15em;text-transform:uppercase}
.rrp-service-photo-card h3{font-family:var(--rrp-serif);font-size:52px;line-height:.95;letter-spacing:-.045em;margin:0 0 14px}
.rrp-service-photo-card p{margin:0;color:rgba(255,255,255,.78);max-width:310px;font-size:15px}
.rrp-card-arrow{position:absolute;right:24px;top:22px;width:44px;height:44px;border:1px solid rgba(255,255,255,.62);border-radius:50%;display:grid;place-items:center}

/* Story */
.rrp-story{background:var(--rrp-cream)}
.rrp-story-grid{display:grid;grid-template-columns:.95fr 1.05fr;gap:86px;align-items:center}
.rrp-story-visual{position:relative;min-height:660px}
.rrp-story-photo{position:absolute;inset:0 60px 80px 0;border-radius:28px;overflow:hidden;background:#5c493a url('../images/kevin-anna-womack-ravin-rock-properties.png') center/cover no-repeat;box-shadow:var(--rrp-shadow)}
.rrp-story-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(25,20,16,.52))}
.rrp-story-logo-card{position:absolute;right:0;bottom:0;width:310px;height:225px;background:var(--rrp-white) url('assets/images/ravin-rock-properties-logo-original.png') center/88% auto no-repeat;border-radius:24px;padding:24px;box-shadow:var(--rrp-shadow);border:1px solid var(--rrp-line)}
.rrp-story-stats{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:34px}
.rrp-story-stat{border-top:1px solid var(--rrp-line);padding-top:16px}
.rrp-story-stat strong{display:block;font-family:var(--rrp-serif);font-size:32px;line-height:1;letter-spacing:-.03em;color:var(--rrp-brown-dark)}
.rrp-story-stat span{display:block;margin-top:7px;font-size:12px;line-height:1.45;color:rgba(35,34,34,.64);font-weight:700}

/* MLS feature */
.rrp-mls-feature{position:relative;margin:0 28px;border-radius:34px;overflow:hidden;background:#2c2824 url('../images/lillington-nc-home-real-estate.jpg') center/cover no-repeat;color:#fff;min-height:570px;display:flex;align-items:flex-end;box-shadow:var(--rrp-shadow);isolation:isolate}
.rrp-mls-feature:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,21,19,.86),rgba(23,21,19,.48) 55%,rgba(23,21,19,.1));z-index:-1}
.rrp-mls-inner{padding:72px;max-width:760px}
.rrp-mls-feature .rrp-kicker{color:var(--rrp-tan)}
.rrp-mls-feature .rrp-lead{color:rgba(255,255,255,.78)}

/* Principles */
.rrp-guidance-grid{display:grid;grid-template-columns:1fr .92fr;gap:82px;align-items:start}
.rrp-principles{display:grid;grid-template-columns:1fr 1fr;gap:15px}
.rrp-principle{padding:28px;border-radius:20px;background:var(--rrp-paper);border:1px solid var(--rrp-line);min-height:156px}
.rrp-principle strong{display:block;font-family:var(--rrp-serif);font-size:28px;line-height:1.06;margin-bottom:10px;letter-spacing:-.025em}
.rrp-principle span{font-size:13px;color:rgba(35,34,34,.66)}

/* Reviews */
.rrp-reviews{background:var(--rrp-tan);position:relative}
.rrp-reviews-head{display:flex;justify-content:space-between;gap:44px;align-items:end;margin-bottom:46px}
.rrp-review-grid{display:grid;grid-template-columns:1.15fr .85fr .85fr;gap:18px}
.rrp-review{background:rgba(255,253,248,.9);border:1px solid rgba(35,34,34,.09);padding:32px;border-radius:22px;display:flex;flex-direction:column;min-height:330px}
.rrp-review.featured{background:var(--rrp-charcoal);color:#fff;min-height:400px}
.rrp-stars{color:var(--rrp-brown);letter-spacing:.08em;font-size:15px;margin-bottom:22px}
.rrp-review.featured .rrp-stars{color:var(--rrp-tan)}
.rrp-review blockquote{font-family:var(--rrp-serif);font-size:24px;line-height:1.36;letter-spacing:-.02em;margin:0 0 26px}
.rrp-review.featured blockquote{font-size:32px}
.rrp-review cite{margin-top:auto;font-style:normal;font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase;opacity:.66}

/* Area cards */
.rrp-area-cards{display:grid;grid-template-columns:1.25fr .75fr .75fr;grid-template-rows:1fr 1fr;gap:16px;min-height:650px}
.rrp-area-card{position:relative;border-radius:24px;overflow:hidden;text-decoration:none;color:#fff;padding:30px;display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;transition:.3s ease;background:#5a493c;box-shadow:var(--rrp-soft-shadow)}
.rrp-area-card:before{content:'';position:absolute;inset:0;z-index:-2;background-position:center;background-size:cover;transition:transform .5s ease}
.rrp-area-card:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(20,18,16,.84),rgba(20,18,16,.08) 68%)}
.rrp-area-card.lillington{grid-row:1/3}.rrp-area-card.lillington:before{background-image:url('../images/lillington-nc-home-real-estate.jpg')}
.rrp-area-card.broadway:before{background-image:url('../images/ravin-rock-properties-neighborhood-homes.jpg')}
.rrp-area-card.sanford:before{background-image:url('../images/sanford-nc-downtown-real-estate.jpg')}
.rrp-area-card.harnett{grid-column:2/4}.rrp-area-card.harnett:before{background-image:url('../images/lillington-nc-areas-we-serve-lake.jpg')}
.rrp-area-card:hover{transform:translateY(-4px);box-shadow:var(--rrp-shadow)}
.rrp-area-card:hover:before{transform:scale(1.035)}
.rrp-area-card small{text-transform:uppercase;letter-spacing:.12em;font-weight:800;opacity:.75}
.rrp-area-card strong{font-family:var(--rrp-serif);font-size:43px;letter-spacing:-.04em;line-height:1;margin-top:7px}
.rrp-area-card .arrow{position:absolute;right:26px;top:26px;width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.6);display:grid;place-items:center}

/* CTA */
.rrp-cta-wrap{padding:0 28px 112px}
.rrp-cta{max-width:1240px;margin:auto;border-radius:34px;background:var(--rrp-charcoal);color:#fff;padding:72px;position:relative;overflow:hidden}
.rrp-cta:after{content:'';position:absolute;width:500px;height:500px;border:1px solid rgba(255,255,255,.12);border-radius:50%;right:-120px;top:-190px;box-shadow:0 0 0 60px rgba(255,255,255,.03),0 0 0 120px rgba(255,255,255,.02)}
.rrp-cta-grid{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end}
.rrp-cta h2{font-family:var(--rrp-serif);font-size:clamp(52px,7vw,88px);line-height:.93;letter-spacing:-.05em;margin:0}
.rrp-cta p{color:rgba(255,255,255,.72);font-size:18px;margin:18px 0 0}
.rrp-cta .rrp-actions{justify-content:flex-end}

/* Areas page */
.rrp-area-hero{position:relative;min-height:610px;display:flex;align-items:flex-end;background:#322820 url('../images/lillington-nc-areas-we-serve-lake.jpg') center/cover no-repeat;color:#fff;isolation:isolate}
.rrp-area-hero:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,20,18,.88),rgba(22,20,18,.34));z-index:-1}
.rrp-area-hero-inner{padding-top:118px;padding-bottom:78px;max-width:900px}
.rrp-area-hero h1{font-size:clamp(72px,9vw,128px)}
.rrp-area-hero h1 em{display:block;color:var(--rrp-tan);font-style:italic;font-weight:430}
.rrp-area-hero .rrp-lead{color:rgba(255,255,255,.8)}
.rrp-area-detail{display:grid;grid-template-columns:.9fr 1.1fr;gap:78px;align-items:center;padding:92px 0;border-bottom:1px solid var(--rrp-line)}
.rrp-area-detail.reverse{grid-template-columns:1.1fr .9fr}.rrp-area-detail.reverse .rrp-area-visual{order:2}
.rrp-area-visual{height:450px;border-radius:28px;position:relative;overflow:hidden;box-shadow:var(--rrp-shadow);background-position:center;background-size:cover;isolation:isolate}
.rrp-area-visual:after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(20,18,16,.58),rgba(20,18,16,.02) 64%);z-index:-1}
.rrp-area-visual.lillington{background-image:url('../images/lillington-nc-home-real-estate.jpg')}
.rrp-area-visual.broadway{background-image:url('../images/ravin-rock-properties-neighborhood-homes.jpg')}
.rrp-area-visual.sanford{background-image:url('../images/sanford-nc-downtown-real-estate.jpg')}
.rrp-area-visual.harnett{background-image:url('../images/lillington-nc-areas-we-serve-lake.jpg')}
.rrp-area-visual .place{position:absolute;left:30px;bottom:27px;color:#fff;font-family:var(--rrp-serif);font-size:46px;z-index:2;line-height:1}
.rrp-area-copy p{font-size:18px;color:rgba(35,34,34,.72);max-width:610px}
.rrp-area-copy .micro-cta{display:inline-flex;align-items:center;gap:9px;margin-top:14px;font-weight:800;text-decoration:none;border-bottom:1px solid var(--rrp-charcoal);padding-bottom:4px}
.rrp-stats-section{background:var(--rrp-charcoal);color:#fff;padding:104px 0}
.rrp-stats-section .rrp-kicker{color:var(--rrp-tan)}
.rrp-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:42px}
.rrp-county-card{padding:38px;border:1px solid rgba(255,255,255,.13);border-radius:24px;background:rgba(255,255,255,.045)}
.rrp-county-card h3{font-family:var(--rrp-serif);font-size:40px;margin:0 0 28px;letter-spacing:-.035em}
.rrp-stat-list{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.rrp-stat{border-top:1px solid rgba(255,255,255,.18);padding-top:18px}
.rrp-stat strong{display:block;font-family:var(--rrp-serif);font-size:31px;line-height:1;margin-bottom:7px}
.rrp-stat span{font-size:10px;text-transform:uppercase;letter-spacing:.1em;opacity:.62;font-weight:750}
.rrp-stats-source{margin-top:22px;font-size:10px;opacity:.5}

/* Contact page */
.rrp-contact-hero{background:var(--rrp-charcoal);color:#fff;position:relative;overflow:hidden;min-height:590px}
.rrp-contact-hero:after{content:'';position:absolute;right:-120px;top:-240px;width:620px;height:620px;border-radius:50%;border:1px solid rgba(255,255,255,.09);box-shadow:0 0 0 72px rgba(255,255,255,.026),0 0 0 145px rgba(255,255,255,.016)}
.rrp-contact-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;min-height:590px;align-items:end;position:relative;z-index:2}
.rrp-contact-copy{padding:105px 0 86px}
.rrp-contact-copy .rrp-kicker{color:var(--rrp-tan)}
.rrp-contact-copy h1{font-size:clamp(66px,8vw,112px)}
.rrp-contact-copy h1 em{display:block;color:var(--rrp-tan);font-style:italic;font-weight:430}
.rrp-contact-copy .rrp-lead{color:rgba(255,255,255,.76)}
.rrp-contact-person{height:560px;position:relative}
.rrp-contact-person .rrp-anna-cutout{width:430px;height:550px;right:25px}
.rrp-contact-channels{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:-58px;position:relative;z-index:5}
.rrp-contact-card{background:var(--rrp-white);border:1px solid var(--rrp-line);border-radius:24px;padding:30px;box-shadow:var(--rrp-soft-shadow);text-decoration:none;transition:.25s}
.rrp-contact-card:hover{transform:translateY(-4px);box-shadow:var(--rrp-shadow)}
.rrp-contact-card .icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--rrp-tan);margin-bottom:22px;font-size:18px}
.rrp-contact-card strong{display:block;font-family:var(--rrp-serif);font-size:28px;line-height:1.05;letter-spacing:-.03em;margin-bottom:8px}
.rrp-contact-card span{font-size:13px;color:rgba(35,34,34,.63)}
.rrp-contact-form-section{padding:112px 0;background:var(--rrp-paper)}
.rrp-contact-form-grid{display:grid;grid-template-columns:.72fr 1.28fr;gap:70px;align-items:start}
.rrp-form-shell{background:var(--rrp-white);border-radius:28px;padding:42px;border:1px solid var(--rrp-line);box-shadow:var(--rrp-soft-shadow)}
.rrp-form-note{padding:18px 20px;border-radius:15px;background:var(--rrp-tan);font-size:13px;color:rgba(35,34,34,.7)}
.rrp-contact-side-list{display:grid;gap:18px;margin-top:30px}
.rrp-contact-side-list div{padding-top:17px;border-top:1px solid var(--rrp-line)}
.rrp-contact-side-list strong{display:block;font-size:12px;letter-spacing:.09em;text-transform:uppercase;margin-bottom:5px}
.rrp-contact-side-list span{font-size:14px;color:rgba(35,34,34,.66)}
/* WPForms Lite styling */
.rrp-form-shell .wpforms-container{margin:0}
.rrp-form-shell .wpforms-form label.wpforms-field-label{font-size:12px;letter-spacing:.05em;text-transform:uppercase;font-weight:800;margin-bottom:7px;color:var(--rrp-charcoal)}
.rrp-form-shell .wpforms-form input[type=text],.rrp-form-shell .wpforms-form input[type=email],.rrp-form-shell .wpforms-form input[type=tel],.rrp-form-shell .wpforms-form textarea,.rrp-form-shell .wpforms-form select{width:100%!important;border:1px solid rgba(35,34,34,.18)!important;border-radius:12px!important;background:#fff!important;min-height:50px!important;padding:11px 14px!important;font:inherit!important;box-shadow:none!important}
.rrp-form-shell .wpforms-form textarea{min-height:150px!important}
.rrp-form-shell .wpforms-form button[type=submit]{border:0!important;border-radius:999px!important;background:var(--rrp-charcoal)!important;color:#fff!important;min-height:52px!important;padding:0 24px!important;font-family:var(--rrp-sans)!important;font-size:11px!important;font-weight:850!important;letter-spacing:.09em!important;text-transform:uppercase!important}

/* Footer */
.rrp-site-footer{background:#171615;color:#fff;padding:76px 0 30px}
.rrp-footer-inner{max-width:1240px;margin:auto;padding:0 28px}
.rrp-footer-top{display:grid;grid-template-columns:1.2fr .7fr .7fr;gap:70px;padding-bottom:58px}
.rrp-footer-logo-wrap{display:inline-block;background:#f8f2e6;border-radius:18px;padding:13px 18px;margin-bottom:20px}
.rrp-footer-logo{display:block;width:230px;height:auto}
.rrp-footer-copy{color:rgba(255,255,255,.62);max-width:430px}
.rrp-footer-title{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:850;color:var(--rrp-tan);margin-bottom:18px}
.rrp-footer-links{list-style:none;padding:0;margin:0;display:grid;gap:11px}
.rrp-footer-links a{text-decoration:none;color:rgba(255,255,255,.74)}
.rrp-footer-links a:hover{color:#fff}
.rrp-footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:24px;display:flex;gap:20px;justify-content:space-between;font-size:11px;color:rgba(255,255,255,.45)}
.rrp-footer-bottom a{color:inherit;text-decoration:none}
.rrp-mobile-actions{display:none}

@media(max-width:1100px){
  .rrp-primary-nav{display:none;position:absolute;top:92px;left:0;right:0;background:var(--rrp-white);border-bottom:1px solid var(--rrp-line);padding:22px 28px;box-shadow:0 18px 35px rgba(35,34,34,.08)}
  .rrp-primary-nav.is-open{display:block}.rrp-primary-nav ul{align-items:flex-start;flex-direction:column;gap:18px}
  .rrp-menu-toggle{display:block;margin-left:auto}.rrp-header-cta .rrp-btn-mini:not(.primary){display:none}
  .rrp-home-hero .rrp-shell,.rrp-story-grid,.rrp-guidance-grid,.rrp-contact-hero-grid,.rrp-contact-form-grid{grid-template-columns:1fr;gap:48px}
  .rrp-home-hero{min-height:930px}.rrp-hero-copy{padding:70px 0 380px}.rrp-hero-person{position:absolute;right:20px;bottom:0;height:540px;min-height:0;width:48%}.rrp-anna-cutout{height:540px;width:430px;right:0}.rrp-hero-badge{top:auto;bottom:330px;right:8px}
  .rrp-market-search{max-width:none}
  .rrp-service-grid{grid-template-columns:1fr 1fr}.rrp-service-photo-card:last-child{grid-column:1/3}
  .rrp-review-grid{grid-template-columns:1fr 1fr}.rrp-review.featured{grid-column:1/3}
  .rrp-area-cards{grid-template-columns:1fr 1fr;grid-template-rows:auto}.rrp-area-card:nth-child(n){grid-row:auto;grid-column:auto;min-height:300px}.rrp-area-card.lillington{grid-row:span 2}
  .rrp-area-detail,.rrp-area-detail.reverse{grid-template-columns:1fr;gap:42px}.rrp-area-detail.reverse .rrp-area-visual{order:0}
  .rrp-cta-grid{grid-template-columns:1fr}.rrp-cta .rrp-actions{justify-content:flex-start}
  .rrp-contact-person{position:absolute;right:0;bottom:0;width:42%;height:490px}.rrp-contact-person .rrp-anna-cutout{height:490px;width:380px;right:0}.rrp-contact-copy{max-width:62%;padding-bottom:100px}
}

@media(max-width:767px){
  body{padding-bottom:66px}
  .rrp-header-inner{min-height:74px;padding:0 18px}.rrp-brand{min-width:0}.rrp-brand img,.rrp-brand .custom-logo{max-height:55px;max-width:150px}.rrp-header-cta{display:none}.rrp-primary-nav{top:74px;padding-left:18px;padding-right:18px}
  .rrp-shell{padding-left:18px;padding-right:18px}.rrp-section{padding:78px 0}.rrp-section.tight{padding:60px 0}.rrp-split-intro{grid-template-columns:1fr;gap:18px;margin-bottom:38px}
  .rrp-home-hero{min-height:850px;background-position:58% center}.rrp-home-hero:before{background:linear-gradient(180deg,rgba(20,18,16,.9) 0%,rgba(20,18,16,.72) 52%,rgba(20,18,16,.34) 75%,rgba(20,18,16,.72) 100%)}.rrp-home-hero .rrp-shell{padding-top:48px}.rrp-hero-copy{padding:40px 0 410px}.rrp-home-hero h1{font-size:clamp(54px,16vw,78px)}.rrp-home-hero .rrp-lead{font-size:17px}.rrp-hero-person{width:100%;height:430px;right:-34px}.rrp-anna-cutout{height:430px;width:360px}.rrp-hero-badge{width:118px;height:118px;bottom:314px;right:18px;font-size:8px}.rrp-hero-badge strong{font-size:24px}.rrp-market-search{left:18px;right:18px;bottom:20px;grid-template-columns:auto 1fr;padding:14px 15px}.rrp-market-search .rrp-button{grid-column:1/3;width:100%;min-height:46px}.rrp-market-search strong{font-size:18px}
  .rrp-proof-grid{grid-template-columns:1fr}.rrp-proof-item{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding:24px 18px}.rrp-proof-item:last-child{border-bottom:0}
  .rrp-service-grid{grid-template-columns:1fr}.rrp-service-photo-card,.rrp-service-photo-card:last-child{grid-column:auto;min-height:390px}.rrp-service-photo-card h3{font-size:46px}
  .rrp-story-grid{gap:50px}.rrp-story-visual{min-height:510px}.rrp-story-photo{inset:0 24px 76px 0}.rrp-story-logo-card{width:225px;padding:14px}.rrp-story-stats{grid-template-columns:1fr}
  .rrp-mls-feature{margin:0 18px;min-height:520px;border-radius:26px}.rrp-mls-inner{padding:42px 28px}.rrp-principles{grid-template-columns:1fr}
  .rrp-reviews-head{display:block}.rrp-review-grid{grid-template-columns:1fr}.rrp-review.featured{grid-column:auto}.rrp-review,.rrp-review.featured{min-height:auto}.rrp-review.featured blockquote{font-size:27px}
  .rrp-area-cards{grid-template-columns:1fr;min-height:auto}.rrp-area-card:nth-child(n){min-height:280px;grid-row:auto}.rrp-area-card strong{font-size:38px}
  .rrp-cta-wrap{padding:0 18px 78px}.rrp-cta{padding:46px 28px;border-radius:26px}.rrp-cta h2{font-size:52px}
  .rrp-area-hero{min-height:520px}.rrp-area-hero-inner{padding-top:80px;padding-bottom:55px}.rrp-area-hero h1{font-size:64px}.rrp-area-detail{padding:66px 0}.rrp-area-visual{height:330px}.rrp-stats-section{padding:78px 0}.rrp-stats-grid{grid-template-columns:1fr}.rrp-stat-list{grid-template-columns:1fr 1fr}.rrp-county-card{padding:28px}
  .rrp-contact-hero{min-height:760px}.rrp-contact-hero-grid{min-height:760px}.rrp-contact-copy{max-width:none;padding:72px 0 360px}.rrp-contact-copy h1{font-size:60px}.rrp-contact-person{width:100%;height:370px;right:-36px}.rrp-contact-person .rrp-anna-cutout{height:370px;width:320px;right:0}.rrp-contact-channels{grid-template-columns:1fr;margin-top:-35px}.rrp-contact-form-section{padding:78px 0}.rrp-form-shell{padding:28px}
  .rrp-footer-top{grid-template-columns:1fr;gap:38px}.rrp-footer-bottom{flex-direction:column}.rrp-site-footer{padding-top:58px}.rrp-footer-logo{width:210px}
  .rrp-mobile-actions{position:fixed;z-index:10000;left:0;right:0;bottom:0;height:66px;background:#171615;border-top:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:1fr 1fr}.rrp-mobile-actions a{display:flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;font-size:11px;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.rrp-mobile-actions a:first-child{background:var(--rrp-brown)}
}


/* Exact V2 Editor: flexible sections */
.rrp-flex-section{padding:112px 0;background:var(--rrp-white)}
.rrp-flex-section.tan{background:var(--rrp-tan)}
.rrp-flex-section.dark{background:var(--rrp-charcoal);color:#fff}
.rrp-flex-section.dark .rrp-kicker{color:var(--rrp-tan)}
.rrp-flex-section.dark .rrp-copy,.rrp-flex-section.dark .rrp-lead{color:rgba(255,255,255,.72)}
.rrp-flex-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.rrp-flex-grid.image-right .rrp-flex-media{order:2}
.rrp-flex-media{min-height:480px;border-radius:28px;background-position:center;background-size:cover;box-shadow:var(--rrp-shadow)}
.rrp-flex-section.banner{margin:0 28px;padding:0;min-height:540px;border-radius:34px;overflow:hidden;background-position:center;background-size:cover;position:relative;color:#fff;display:flex;align-items:flex-end;isolation:isolate;box-shadow:var(--rrp-shadow)}
.rrp-flex-section.banner:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,21,19,.86),rgba(23,21,19,.36) 65%,rgba(23,21,19,.08));z-index:-1}
.rrp-flex-banner-inner{max-width:720px;padding:70px}
.rrp-flex-section.banner .rrp-kicker{color:var(--rrp-tan)}
.rrp-flex-section.banner .rrp-lead{color:rgba(255,255,255,.78)}
@media(max-width:767px){.rrp-flex-grid{grid-template-columns:1fr;gap:36px}.rrp-flex-grid.image-right .rrp-flex-media{order:0}.rrp-flex-media{min-height:330px}.rrp-flex-section{padding:78px 0}.rrp-flex-section.banner{margin:0 18px;min-height:480px}.rrp-flex-banner-inner{padding:42px 28px}}
/* Per-item image overrides controlled by Ravin Rock Editor */
.rrp-service-photo-card:before{background-image:var(--rrp-card-image)!important}
.rrp-area-card:before{background-image:var(--rrp-area-image)!important}

/* AJ Site Builder V6.1 exact-V2 compatibility */
.ajsb-site{background:var(--rrp-white);color:var(--rrp-charcoal);font-family:var(--rrp-sans)}
.ajsb-site .aj-site-header{position:sticky;top:0;z-index:9999;background:rgba(255,253,248,.94)!important;backdrop-filter:blur(18px);border-bottom:1px solid rgba(35,34,34,.09)!important;box-shadow:none!important}
.ajsb-site .aj-header-inner{width:min(calc(100% - 56px),1320px);height:92px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:30px;margin:auto}
.ajsb-site .aj-logo{min-width:200px}.ajsb-site .aj-logo img{display:block;max-height:68px;width:auto;max-width:190px;object-fit:contain}
.ajsb-site .aj-main-nav{justify-self:end}.ajsb-site .aj-main-nav>ul{gap:28px}.ajsb-site .aj-main-nav a{font:800 11px/1.2 var(--rrp-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--rrp-charcoal);padding:12px 0}
.ajsb-site .aj-header-actions{display:flex;gap:10px}.ajsb-site .aj-header-actions .aj-btn{min-height:48px;padding:0 22px;font-size:10px;letter-spacing:.1em;border-radius:999px}
.ajsb-site .aj-site-footer{background:#171615!important;color:#fff!important;padding:76px 0 30px!important}.ajsb-site .aj-footer-grid{width:min(calc(100% - 56px),1240px);grid-template-columns:1.2fr .7fr .7fr .7fr;gap:55px}.ajsb-site .aj-footer-brand{min-width:0}.ajsb-site .aj-footer-logo{display:block;max-width:230px;max-height:110px;background:#f8f2e6;border-radius:18px;padding:13px 18px;margin:0 0 20px}.ajsb-site .aj-footer-brand p{color:rgba(255,255,255,.62);max-width:430px}.ajsb-site .aj-footer-col h3{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:850;color:var(--rrp-tan);margin-bottom:18px}.ajsb-site .aj-footer-col a,.ajsb-site .aj-footer-col p{color:rgba(255,255,255,.74);font-size:14px}.ajsb-site .aj-footer-bottom{width:min(calc(100% - 56px),1240px);border-top:1px solid rgba(255,255,255,.12);padding-top:24px;margin-top:58px;color:rgba(255,255,255,.45);font-size:11px}
/* Custom exact V2 sections bypass the generic AJ section wrapper, so reset generic page spacing. */
.rrp-v2-exact-section{position:relative}.rrp-v2-exact-section[data-ajsb-section]{outline:0}
@media(max-width:1100px){.ajsb-site .aj-header-inner{height:92px}.ajsb-site .aj-main-nav{justify-self:auto}}
@media(max-width:767px){.ajsb-site .aj-header-inner{width:100%;height:74px;padding:0 18px}.ajsb-site .aj-logo{min-width:0}.ajsb-site .aj-logo img{max-height:55px;max-width:150px}.ajsb-site .aj-footer-grid{width:calc(100% - 36px);grid-template-columns:1fr;gap:38px}.ajsb-site .aj-footer-bottom{width:calc(100% - 36px);flex-direction:column}.ajsb-site .aj-site-footer{padding-top:58px!important}}

/* Inner-page V2 background continuity */
.rrp-area-place-wrap{background:var(--rrp-paper)}
.rrp-area-place-wrap.rrp-tone-tan{background:var(--rrp-tan)}
.rrp-contact-channels-wrap{background:var(--rrp-paper);position:relative;z-index:4;padding-bottom:62px}
.rrp-contact-channels-wrap .rrp-contact-channels{margin-top:-58px}
@media(max-width:767px){.rrp-contact-channels-wrap .rrp-contact-channels{margin-top:-35px}}

/* --------------------------------------------------------------------------
   Exact V2 color fidelity isolation (2.1)
   AJ Core intentionally supplies global link/type tokens. The exact Ravin
   Rock renderer is a pixel-fidelity design pack, so its approved V2 palette
   must win inside .rrp-v2-exact-section. These selectors are intentionally
   more specific than the generic AJ rules while still using CSS variables.
   -------------------------------------------------------------------------- */
:root{
  --rrp-body:#67625F;
  --rrp-muted:#8D8884;
  --rrp-on-dark-heading:#FFFFFF;
  --rrp-on-dark-body:#F4EFE8;
  --rrp-on-dark-muted:#CBC5BE;
  --rrp-on-dark-accent:#FFEFC8;
}

/* Neutralize generic AJ link colors inside exact V2 sections. */
.ajsb-site .rrp-v2-exact-section a:not(.aj-btn){text-decoration:none;color:inherit}
.ajsb-site .rrp-v2-exact-section a:not(.aj-btn):hover{color:inherit}

/* Approved light-surface typography. */
.ajsb-site .rrp-v2-exact-section.rrp-section,
.ajsb-site .rrp-area-place-wrap,
.ajsb-site .rrp-contact-channels-wrap,
.ajsb-site .rrp-contact-form-section{color:var(--rrp-charcoal)}
.ajsb-site .rrp-v2-exact-section .rrp-h2,
.ajsb-site .rrp-v2-exact-section .rrp-h3,
.ajsb-site .rrp-v2-exact-section .rrp-principle strong,
.ajsb-site .rrp-v2-exact-section .rrp-story-stat strong,
.ajsb-site .rrp-v2-exact-section .rrp-contact-card strong{color:var(--rrp-charcoal)}
.ajsb-site .rrp-v2-exact-section .rrp-kicker{color:var(--rrp-brown-dark)}
.ajsb-site .rrp-v2-exact-section .rrp-lead,
.ajsb-site .rrp-v2-exact-section .rrp-copy,
.ajsb-site .rrp-v2-exact-section .rrp-area-copy p{color:rgba(35,34,34,.76)}
.ajsb-site .rrp-v2-exact-section .rrp-principle span,
.ajsb-site .rrp-v2-exact-section .rrp-story-stat span,
.ajsb-site .rrp-v2-exact-section .rrp-contact-card span,
.ajsb-site .rrp-v2-exact-section .rrp-contact-side-list span{color:rgba(35,34,34,.64)}
.ajsb-site .rrp-v2-exact-section .micro-cta{color:var(--rrp-charcoal);border-bottom-color:var(--rrp-charcoal)}

/* Exact buttons. Generic AJ link rules must never recolor these. */
.ajsb-site .rrp-v2-exact-section .rrp-button.tan{background:var(--rrp-tan);border-color:var(--rrp-tan);color:var(--rrp-charcoal)!important}
.ajsb-site .rrp-v2-exact-section .rrp-button.dark{background:var(--rrp-charcoal);border-color:var(--rrp-charcoal);color:#fff!important}
.ajsb-site .rrp-v2-exact-section .rrp-button.brown{background:var(--rrp-brown);border-color:var(--rrp-brown);color:#fff!important}
.ajsb-site .rrp-v2-exact-section .rrp-button.ghost-light{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.58);color:#fff!important}

/* Hero — exact white / tan hierarchy. */
.ajsb-site .rrp-home-hero{color:var(--rrp-on-dark-heading)}
.ajsb-site .rrp-home-hero .rrp-kicker{color:#F0D79C!important}
.ajsb-site .rrp-home-hero h1{color:#fff!important}
.ajsb-site .rrp-home-hero h1 em{color:var(--rrp-tan)!important}
.ajsb-site .rrp-home-hero .rrp-lead{color:rgba(255,255,255,.84)!important}
.ajsb-site .rrp-home-hero .rrp-market-search{color:var(--rrp-charcoal)!important}
.ajsb-site .rrp-home-hero .rrp-market-search strong{color:var(--rrp-charcoal)!important}
.ajsb-site .rrp-home-hero .rrp-market-search small{color:rgba(35,34,34,.62)!important}
.ajsb-site .rrp-home-hero .rrp-hero-badge{color:var(--rrp-charcoal)!important}

/* Photo cards — always light type. */
.ajsb-site .rrp-service-photo-card,
.ajsb-site .rrp-area-card{color:#fff!important}
.ajsb-site .rrp-service-photo-card h3,
.ajsb-site .rrp-area-card strong{color:#fff!important}
.ajsb-site .rrp-service-photo-card p{color:rgba(255,255,255,.78)!important}
.ajsb-site .rrp-area-card small{color:rgba(255,255,255,.75)!important}

/* MLS banner. */
.ajsb-site .rrp-mls-feature{color:#fff!important}
.ajsb-site .rrp-mls-feature .rrp-kicker{color:var(--rrp-tan)!important}
.ajsb-site .rrp-mls-feature .rrp-h2{color:#fff!important}
.ajsb-site .rrp-mls-feature .rrp-lead{color:rgba(255,255,255,.78)!important}

/* Reviews. */
.ajsb-site .rrp-reviews .rrp-h2{color:var(--rrp-charcoal)!important}
.ajsb-site .rrp-reviews .rrp-lead{color:rgba(35,34,34,.76)!important}
.ajsb-site .rrp-review{color:var(--rrp-charcoal)!important}
.ajsb-site .rrp-review .rrp-stars{color:var(--rrp-brown)!important}
.ajsb-site .rrp-review.featured{color:#fff!important}
.ajsb-site .rrp-review.featured blockquote,
.ajsb-site .rrp-review.featured cite{color:#fff!important}
.ajsb-site .rrp-review.featured .rrp-stars{color:var(--rrp-tan)!important}

/* Dark CTA. */
.ajsb-site .rrp-cta{color:#fff!important}
.ajsb-site .rrp-cta .rrp-kicker{color:var(--rrp-tan)!important}
.ajsb-site .rrp-cta h2{color:#fff!important}
.ajsb-site .rrp-cta p{color:rgba(255,255,255,.72)!important}

/* Areas hero + stats. */
.ajsb-site .rrp-area-hero{color:#fff!important}
.ajsb-site .rrp-area-hero .rrp-kicker{color:#F0D79C!important}
.ajsb-site .rrp-area-hero h1{color:#fff!important}
.ajsb-site .rrp-area-hero h1 em{color:var(--rrp-tan)!important}
.ajsb-site .rrp-area-hero .rrp-lead{color:rgba(255,255,255,.80)!important}
.ajsb-site .rrp-stats-section{color:#fff!important}
.ajsb-site .rrp-stats-section .rrp-kicker{color:var(--rrp-tan)!important}
.ajsb-site .rrp-stats-section .rrp-h2,
.ajsb-site .rrp-stats-section h3,
.ajsb-site .rrp-stats-section strong{color:#fff!important}
.ajsb-site .rrp-stats-section span{color:rgba(255,255,255,.62)!important}

/* Contact dark hero and light cards/form. */
.ajsb-site .rrp-contact-hero{color:#fff!important}
.ajsb-site .rrp-contact-hero .rrp-kicker{color:var(--rrp-tan)!important}
.ajsb-site .rrp-contact-hero h1{color:#fff!important}
.ajsb-site .rrp-contact-hero h1 em{color:var(--rrp-tan)!important}
.ajsb-site .rrp-contact-hero .rrp-lead{color:rgba(255,255,255,.76)!important}
.ajsb-site .rrp-contact-card{color:var(--rrp-charcoal)!important}
.ajsb-site .rrp-form-shell{color:var(--rrp-charcoal)!important}

/* Exact header/footer colors. */
.ajsb-site .aj-site-header .aj-main-nav a{color:var(--rrp-charcoal)!important}
.ajsb-site .aj-site-footer{color:#fff!important}
.ajsb-site .aj-site-footer .aj-footer-col h3{color:var(--rrp-tan)!important}
.ajsb-site .aj-site-footer .aj-footer-col a,
.ajsb-site .aj-site-footer .aj-footer-col p{color:rgba(255,255,255,.74)!important}
.ajsb-site .aj-site-footer .aj-footer-brand p{color:rgba(255,255,255,.62)!important}
.ajsb-site .aj-site-footer .aj-footer-bottom{color:rgba(255,255,255,.45)!important}
/* AJ Builder 6.2 Visual Canvas nested editing compatibility */
.rrp-v2-exact-section [data-ajsb-item]{isolation:isolate}
.rrp-v2-exact-section [data-ajsb-item].ajsb-canvas-item-selected{z-index:4}


/* 2.3.0: Pastel client feedback — changes for existing saved AJ pages, no reinstall. */
:root{--rrp-serif:'Lora',Georgia,serif;--rrp-radius:8px}
.ajsb-site .aj-header-inner{height:98px;gap:26px}
.ajsb-site .aj-logo{min-width:230px}
.ajsb-site .aj-logo img{width:auto;max-width:225px;max-height:82px}
.ajsb-site .aj-main-nav a{font-size:12px!important;letter-spacing:.055em}
.ajsb-site .aj-header-actions .aj-btn{font-size:11px!important}
.rrp-v2-exact-section .rrp-h2{line-height:1.10;letter-spacing:-.04em}
.rrp-v2-exact-section .rrp-h3{line-height:1.12}
.rrp-v2-exact-section .rrp-lead{font-size:clamp(17px,1.65vw,20px);line-height:1.68}
.rrp-v2-exact-section .rrp-copy{font-size:17px;line-height:1.72}
.rrp-v2-exact-section .rrp-kicker{font-size:12px}
.rrp-v2-exact-section .rrp-button{font-size:12px}
.rrp-section{padding:86px 0}
.rrp-v2-exact-section.rrp-home-hero{min-height:660px}
.rrp-home-hero .rrp-shell{min-height:660px;align-items:center;padding-top:40px}
.rrp-feedback-hero .rrp-hero-copy{padding:38px 0 48px;max-width:790px}
.rrp-feedback-hero .rrp-display{line-height:1.055!important;letter-spacing:-.043em;max-width:850px}
.rrp-feedback-hero .rrp-lead{max-width:670px}
.rrp-feedback-hero .rrp-hero-person{min-height:610px}
.rrp-feedback-hero .rrp-anna-cutout{height:590px;width:min(540px,42vw)}
.rrp-home-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;z-index:-3}
/* Major sections/images use square corners; compact small cards use 6px, pills remain round. */
.rrp-service-photo-card,.rrp-area-card,.rrp-mls-feature,.rrp-area-visual,.rrp-contact-hero,.rrp-cta,.rrp-form-shell,.rrp-story-wide-photo{border-radius:0!important}
.rrp-principle,.rrp-county-card,.rrp-contact-card,.rrp-story-value,.rrp-review-editorial-item{border-radius:6px!important}
.rrp-service-photo-card{min-height:410px;box-shadow:none}.rrp-service-photo-card h3{font-size:clamp(32px,3.3vw,44px);line-height:1.08}
.rrp-service-photo-card p{font-size:16px;line-height:1.56}.rrp-service-photo-card .number{font-size:12px}
.rrp-area-cards{min-height:560px}.rrp-area-card strong{font-size:clamp(30px,3.2vw,41px)}
.rrp-guidance-grid{gap:55px}.rrp-principle{min-height:0;padding:22px}.rrp-principle span{font-size:15px;line-height:1.6}
.rrp-principle strong{font-size:25px;line-height:1.15}
.rrp-proof-item span{font-size:13px;line-height:1.5}.rrp-market-search{display:none!important}
/* Full-width editorial story with picture, title and paragraphs; separate values below. */
.rrp-story-editorial{background:var(--rrp-paper)}
.rrp-story-wide-photo{position:relative;min-height:520px;background-position:center;background-size:cover;display:flex;align-items:flex-end;isolation:isolate;color:#fff;overflow:hidden}
.rrp-story-wide-photo:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(20,18,16,.89) 0%,rgba(20,18,16,.60) 58%,rgba(20,18,16,.10) 100%);z-index:-1}
.rrp-story-wide-copy{width:min(750px,76%);padding:60px 54px}
.ajsb-site .rrp-story-wide-copy .rrp-h2{color:#fff!important;margin-bottom:18px}
.ajsb-site .rrp-story-wide-copy .rrp-kicker{color:var(--rrp-tan)!important}
.ajsb-site .rrp-story-wide-copy .rrp-copy{color:#f4efe8!important;font-size:17px;line-height:1.66;margin:0 0 12px}
.rrp-story-values{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--rrp-line);margin-top:26px}
.rrp-story-value{padding:20px 18px 16px;border-right:1px solid var(--rrp-line)}
.rrp-story-value:last-child{border-right:0}
.rrp-story-value strong{display:block;font-family:var(--rrp-serif);font-size:23px;line-height:1.2;color:var(--rrp-charcoal)}
.rrp-story-value span{display:block;margin-top:8px;font-size:14px;line-height:1.55;color:var(--rrp-body)}
/* Editorial testimonials — compact rows rather than three oversized feature boxes. */
.rrp-reviews-editorial{background:var(--rrp-tan)}
.rrp-reviews-editorial .rrp-reviews-head{align-items:center;margin-bottom:24px}
.rrp-reviews-editorial .rrp-reviews-head>div{max-width:520px}
.rrp-reviews-editorial .rrp-reviews-head .rrp-lead{max-width:450px}
.rrp-review-editorial-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(35,34,34,.18);border-bottom:1px solid rgba(35,34,34,.18)}
.rrp-review-editorial-item{background:transparent;border-right:1px solid rgba(35,34,34,.18);padding:28px 28px 26px;display:flex;flex-direction:column;gap:10px}
.rrp-review-editorial-item:first-child{padding-left:0}.rrp-review-editorial-item:last-child{border-right:0;padding-right:0}
.rrp-review-editorial-item .rrp-stars{color:var(--rrp-brown);margin:0;font-size:14px}
.rrp-review-editorial-item blockquote{font-family:var(--rrp-serif);font-size:clamp(17px,1.7vw,23px);line-height:1.45;letter-spacing:-.015em;color:var(--rrp-charcoal);margin:0 0 6px}
.rrp-review-editorial-item cite{margin-top:auto;font-style:normal;font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--rrp-body)}
.rrp-mls-feature{margin:0;min-height:500px}.rrp-mls-inner{padding:60px max(28px,calc((100vw - 1184px)/2));max-width:850px}
.rrp-cta{border-radius:0}.rrp-cta-wrap{padding-bottom:84px}
@media(max-width:1100px){
 .ajsb-site .aj-header-inner{height:84px}.ajsb-site .aj-logo{min-width:0}.ajsb-site .aj-logo img{max-width:185px;max-height:68px}
 .rrp-feedback-hero .rrp-hero-copy{padding:40px 0 55px}.rrp-home-hero .rrp-shell{min-height:760px}
 .rrp-feedback-hero .rrp-hero-person{min-height:0}.rrp-story-wide-copy{width:min(780px,85%)}
 .rrp-review-editorial-list{grid-template-columns:1fr 1fr}.rrp-review-editorial-item:last-child{grid-column:1/-1;border-top:1px solid rgba(35,34,34,.18);border-right:0;padding-left:0}
 .rrp-story-values{grid-template-columns:1fr 1fr}.rrp-story-value:nth-child(2){border-right:0}.rrp-story-value:nth-child(n+3){border-top:1px solid var(--rrp-line)}
}
@media(max-width:767px){
 .ajsb-site .aj-header-inner{height:72px}.ajsb-site .aj-logo img{max-width:160px;max-height:58px}
 .rrp-v2-exact-section.rrp-home-hero{min-height:730px}.rrp-home-hero .rrp-shell{min-height:730px;padding-top:0}
 .rrp-feedback-hero .rrp-hero-copy{padding:42px 0 285px}.rrp-feedback-hero .rrp-display{font-size:clamp(45px,10.8vw,65px)!important;line-height:1.05!important}
 .rrp-feedback-hero .rrp-hero-person{height:300px;bottom:0;right:0;width:65%}.rrp-feedback-hero .rrp-anna-cutout{height:335px;right:-6px;width:100%}
 .rrp-section{padding:66px 0}.rrp-story-wide-photo{min-height:560px}.rrp-story-wide-copy{width:100%;padding:28px 22px}.rrp-story-wide-photo:before{background:linear-gradient(to top,rgba(20,18,16,.94),rgba(20,18,16,.28))}
 .rrp-story-wide-copy .rrp-h2{font-size:36px!important}.rrp-story-wide-copy .rrp-copy{font-size:15px!important}
 .rrp-story-values{grid-template-columns:1fr 1fr}.rrp-story-value{padding:16px 12px}.rrp-story-value strong{font-size:19px}.rrp-story-value span{font-size:13px}
 .rrp-review-editorial-list{grid-template-columns:1fr}.rrp-review-editorial-item{padding:23px 0!important;border-right:0;border-top:1px solid rgba(35,34,34,.18)}.rrp-review-editorial-item:first-child{border-top:0}.rrp-review-editorial-item:last-child{grid-column:auto}
 .rrp-review-editorial-item blockquote{font-size:20px}.rrp-mls-feature{min-height:440px}.rrp-mls-inner{padding:35px 22px}.rrp-area-cards{min-height:0}
}


/* ========================================================================== 
   Pastel parity 2.3.1 — tightly scoped, non-destructive live-page repairs.
   Unlike 2.3.0, the sizing rules below apply directly to rendered AJ markup.
   ========================================================================== */
:root{--rrp-serif:'Lora',Georgia,serif;--rrp-spacing-y:64px}
.ajsb-site .rrp-v2-exact-section.rrp-section{padding-block:var(--rrp-spacing-y)!important}
.ajsb-site .rrp-v2-exact-section .rrp-kicker{font-size:12px!important;line-height:1.45!important;margin-bottom:12px!important}
.ajsb-site .rrp-v2-exact-section .rrp-h2,
.ajsb-site .rrp-v2-exact-section .rrp-reviews-head .rrp-h2,
.ajsb-site .rrp-v2-exact-section .rrp-story-wide-copy .rrp-h2{font-family:var(--rrp-serif)!important;font-size:clamp(35px,3.6vw,49px)!important;line-height:1.13!important;letter-spacing:-.036em!important;max-width:740px!important;margin:0 0 18px!important;font-weight:500!important;overflow-wrap:normal!important}
.ajsb-site .rrp-v2-exact-section .rrp-h3{font-family:var(--rrp-serif)!important;font-size:clamp(26px,2.5vw,33px)!important;line-height:1.18!important;letter-spacing:-.02em!important}
.ajsb-site .rrp-v2-exact-section .rrp-lead{font-size:clamp(16px,1.42vw,19px)!important;line-height:1.58!important;letter-spacing:0!important}
.ajsb-site .rrp-v2-exact-section .rrp-copy{font-size:16px!important;line-height:1.65!important}
.ajsb-site .rrp-v2-exact-section .rrp-button{font-size:12px!important;letter-spacing:.075em!important;min-height:48px!important}
.ajsb-site .rrp-v2-exact-section .rrp-split-intro{gap:45px!important;margin-bottom:30px!important}
/* Header: use original client branding; enlarge its actual visible footprint. */
.ajsb-site .aj-site-header .aj-header-inner{width:min(calc(100% - 48px),1320px)!important;min-height:98px!important;height:auto!important;grid-template-columns:minmax(180px,220px) 1fr auto!important;gap:28px!important;align-items:center!important}
.ajsb-site .aj-site-header .aj-logo{min-width:180px!important;display:flex!important;align-items:center!important}
.ajsb-site .aj-site-header .aj-logo img{width:auto!important;height:auto!important;max-width:210px!important;max-height:90px!important;object-fit:contain!important}
.ajsb-site .aj-site-header .aj-main-nav a{font-size:13px!important;line-height:1.25!important;letter-spacing:.075em!important}
.ajsb-site .aj-site-header .aj-main-nav>ul{gap:24px!important}
.ajsb-site .aj-site-header .aj-header-actions .aj-btn{font-size:11px!important;letter-spacing:.075em!important}
/* Hero — 15–20% reduction relative to visual original; no tiny wrapping. */
.ajsb-site .rrp-v2-exact-section.rrp-home-hero{min-height:590px!important;background-position:center 53%!important}
.ajsb-site .rrp-v2-exact-section.rrp-home-hero .rrp-shell{min-height:590px!important;grid-template-columns:minmax(0,1.28fr) minmax(0,.72fr)!important;gap:18px!important;padding-top:22px!important;align-items:center!important}
.ajsb-site .rrp-feedback-hero .rrp-hero-copy{padding:32px 0!important;max-width:710px!important;min-width:0!important}
.ajsb-site .rrp-feedback-hero h1.rrp-display{font-family:var(--rrp-serif)!important;font-size:clamp(47px,5.25vw,72px)!important;line-height:1.105!important;letter-spacing:-.042em!important;max-width:720px!important;margin:0!important;font-weight:500!important}
.ajsb-site .rrp-feedback-hero h1.rrp-display em{font-weight:400!important}
.ajsb-site .rrp-feedback-hero .rrp-lead{max-width:620px!important;margin-top:18px!important;font-size:18px!important;line-height:1.56!important}
.ajsb-site .rrp-feedback-hero .rrp-hero-person{min-height:550px!important;align-self:end!important}
.ajsb-site .rrp-feedback-hero .rrp-anna-cutout{height:550px!important;width:min(440px,36vw)!important;right:-8px!important}
.ajsb-site .rrp-v2-exact-section.rrp-proof .rrp-proof-item{padding:19px 25px!important}
.ajsb-site .rrp-v2-exact-section.rrp-proof .rrp-proof-item strong{font-size:27px!important}
.ajsb-site .rrp-v2-exact-section.rrp-proof .rrp-proof-item span{font-size:12px!important;line-height:1.5!important}
.ajsb-site .rrp-v2-exact-section .rrp-service-grid{gap:14px!important}
.ajsb-site .rrp-v2-exact-section .rrp-service-photo-card{min-height:355px!important;padding:25px!important}
.ajsb-site .rrp-v2-exact-section .rrp-service-photo-card h3{font-size:clamp(29px,2.6vw,37px)!important;line-height:1.1!important}
.ajsb-site .rrp-v2-exact-section .rrp-service-photo-card p{font-size:16px!important}
.ajsb-site .rrp-v2-exact-section .rrp-principles{gap:12px!important}
.ajsb-site .rrp-v2-exact-section .rrp-principle{padding:22px!important;min-height:0!important}
.ajsb-site .rrp-v2-exact-section .rrp-principle strong{font-size:clamp(22px,2vw,26px)!important;line-height:1.18!important}
.ajsb-site .rrp-v2-exact-section .rrp-principle span{font-size:16px!important;line-height:1.52!important}
/* MLS banner: previously padding left+right could exceed its max-width at wide screens,
   leaving a 20px text column. Keep padding OUTSIDE the constrained width. */
.ajsb-site .rrp-v2-exact-section.rrp-mls-feature{min-height:390px!important;margin:0!important;border-radius:0!important;background-position:center center!important}
.ajsb-site .rrp-v2-exact-section.rrp-mls-feature .rrp-mls-inner{box-sizing:border-box!important;width:min(calc(100% - 56px),1184px)!important;max-width:1184px!important;margin-inline:auto!important;padding:57px 0!important;min-width:0!important;display:block!important}
.ajsb-site .rrp-v2-exact-section.rrp-mls-feature .rrp-mls-inner>.rrp-kicker,
.ajsb-site .rrp-v2-exact-section.rrp-mls-feature .rrp-mls-inner>.rrp-h2,
.ajsb-site .rrp-v2-exact-section.rrp-mls-feature .rrp-mls-inner>.rrp-lead{display:block!important;width:min(100%,640px)!important;max-width:640px!important;min-width:0!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important}
.ajsb-site .rrp-v2-exact-section.rrp-mls-feature .rrp-mls-inner>.rrp-kicker{display:inline-flex!important}
.ajsb-site .rrp-v2-exact-section.rrp-mls-feature .rrp-actions{margin-top:19px!important}
.ajsb-site .rrp-v2-exact-section.rrp-mls-feature .rrp-h2{color:#fff!important}
.ajsb-site .rrp-v2-exact-section.rrp-mls-feature .rrp-lead{color:rgba(255,255,255,.9)!important}
/* Client image: full-width story then compact values (not repeating image cards). */
.ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-photo{min-height:410px!important;background-position:center 46%!important;border-radius:0!important}
.ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-copy{width:min(660px,60%)!important;padding:32px 42px!important}
.ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-copy .rrp-h2{font-size:clamp(30px,3.3vw,43px)!important;line-height:1.15!important}
.ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-copy{font-size:15px!important;line-height:1.55!important}
.ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-values{margin-top:14px!important}
.ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-value{padding:16px 14px!important}
.ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-value strong{font-size:21px!important}
.ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-value span{font-size:15px!important}
/* Reviews as typographic list, compact. */
.ajsb-site .rrp-v2-exact-section.rrp-reviews-editorial .rrp-reviews-head{margin-bottom:22px!important;gap:28px!important}
.ajsb-site .rrp-v2-exact-section.rrp-reviews-editorial .rrp-review-editorial-item{padding:22px!important}
.ajsb-site .rrp-v2-exact-section.rrp-reviews-editorial .rrp-review-editorial-item blockquote{font-size:clamp(17px,1.5vw,21px)!important;line-height:1.48!important}
/* Comment 9: feature image + editorial rows, rather than a second rounded card grid. */
.ajsb-site .rrp-v2-exact-section .rrp-area-editorial{display:grid!important;grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr)!important;gap:24px!important;align-items:stretch!important}
.rrp-area-feature{position:relative;min-height:440px;display:flex;align-items:end;padding:25px;color:#fff!important;text-decoration:none!important;background-image:linear-gradient(to top,rgba(16,14,12,.82),rgba(16,14,12,.03) 65%),var(--rrp-area-image);background-size:cover;background-position:center;isolation:isolate;overflow:hidden}
.rrp-area-feature-copy{position:relative;display:flex;flex-direction:column;gap:5px}.rrp-area-feature-copy small,.rrp-area-row-copy small{font:800 11px/1.5 var(--rrp-sans);letter-spacing:.12em;text-transform:uppercase}
.rrp-area-feature-copy strong{font:500 clamp(33px,3.4vw,46px)/1.1 var(--rrp-serif)}
.rrp-area-feature-arrow{position:absolute;top:22px;right:22px;font-size:24px}
.rrp-area-row{display:grid;grid-template-columns:132px minmax(0,1fr) 24px;align-items:center;gap:20px;min-height:132px;border-bottom:1px solid var(--rrp-line);color:var(--rrp-charcoal)!important;text-decoration:none!important}
.rrp-area-row:first-of-type{border-top:1px solid var(--rrp-line)}
.rrp-area-row-thumb{width:132px;height:108px;background-size:cover;background-position:center;display:block}
.rrp-area-row-copy{display:flex;flex-direction:column;gap:9px;min-width:0}
.rrp-area-row-copy small{color:var(--rrp-brown-dark)}.rrp-area-row-copy strong{font:500 clamp(23px,2.25vw,31px)/1.13 var(--rrp-serif);letter-spacing:-.02em}
.rrp-area-row-arrow{color:var(--rrp-brown-dark);font-size:22px}
.rrp-area-feature:hover,.rrp-area-row:hover{opacity:.9}
/* Tighter final CTA + inner-page padding. */
.ajsb-site .rrp-v2-exact-section.rrp-cta-wrap{padding:0 24px 64px!important}
.ajsb-site .rrp-v2-exact-section .rrp-cta{padding:50px!important}
.ajsb-site .rrp-v2-exact-section .rrp-cta h2{font-size:clamp(36px,4vw,54px)!important;line-height:1.1!important}
.ajsb-site .rrp-v2-exact-section.rrp-area-place-wrap{padding:52px 0!important}
.ajsb-site .rrp-v2-exact-section.rrp-contact-form-section{padding:62px 0!important}
@media(max-width:1100px){
 .ajsb-site .aj-site-header .aj-header-inner{min-height:82px!important;grid-template-columns:165px 1fr auto!important;gap:15px!important}
 .ajsb-site .aj-site-header .aj-logo img{max-width:166px!important;max-height:77px!important}
 .ajsb-site .rrp-feedback-hero h1.rrp-display{font-size:clamp(43px,6.2vw,64px)!important}
 .ajsb-site .rrp-v2-exact-section.rrp-home-hero .rrp-shell{min-height:620px!important}
 .ajsb-site .rrp-feedback-hero .rrp-hero-person{min-height:0!important;height:530px!important}
 .ajsb-site .rrp-feedback-hero .rrp-anna-cutout{height:500px!important;width:min(420px,42vw)!important}
 .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-copy{width:65%!important;padding:28px!important}
}
@media(max-width:767px){
 :root{--rrp-spacing-y:46px}
 .ajsb-site .aj-site-header .aj-header-inner{min-height:68px!important;height:70px!important;display:flex!important;justify-content:space-between!important;width:100%!important;padding:0 16px!important}
 .ajsb-site .aj-site-header .aj-logo{min-width:0!important}
 .ajsb-site .aj-site-header .aj-logo img{max-width:135px!important;max-height:60px!important}
 .ajsb-site .rrp-v2-exact-section.rrp-home-hero,.ajsb-site .rrp-v2-exact-section.rrp-home-hero .rrp-shell{min-height:620px!important}
 .ajsb-site .rrp-v2-exact-section.rrp-home-hero .rrp-shell{grid-template-columns:1fr!important;padding-top:0!important}
 .ajsb-site .rrp-feedback-hero .rrp-hero-copy{padding:28px 0 260px!important}
 .ajsb-site .rrp-feedback-hero h1.rrp-display{font-size:clamp(38px,10.4vw,51px)!important;line-height:1.09!important}
 .ajsb-site .rrp-feedback-hero .rrp-lead{font-size:16px!important;line-height:1.48!important;max-width:340px!important}
 .ajsb-site .rrp-feedback-hero .rrp-hero-person{position:absolute!important;height:300px!important;width:65%!important;right:0!important;bottom:0!important}
 .ajsb-site .rrp-feedback-hero .rrp-anna-cutout{height:315px!important;width:100%!important;right:-8px!important}
 .ajsb-site .rrp-v2-exact-section .rrp-h2{font-size:clamp(31px,8vw,39px)!important;line-height:1.17!important}
 .ajsb-site .rrp-v2-exact-section .rrp-h3{font-size:26px!important}
 .ajsb-site .rrp-v2-exact-section .rrp-lead{font-size:16px!important}
 .ajsb-site .rrp-v2-exact-section.rrp-mls-feature{min-height:370px!important}
 .ajsb-site .rrp-v2-exact-section.rrp-mls-feature .rrp-mls-inner{width:calc(100% - 36px)!important;padding:38px 0!important}
 .ajsb-site .rrp-v2-exact-section.rrp-mls-feature .rrp-h2{font-size:35px!important}
 .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-photo{min-height:575px!important;background-position:65% center!important}
 .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-copy{width:100%!important;align-self:end!important;padding:24px 18px!important}
 .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-copy .rrp-h2{font-size:32px!important}
 .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-values{grid-template-columns:1fr 1fr!important}
 .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-value strong{font-size:18px!important}
 .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-value span{font-size:13px!important}
 .ajsb-site .rrp-v2-exact-section .rrp-area-editorial{grid-template-columns:1fr!important;gap:0!important}
 .rrp-area-feature{min-height:320px}
 .rrp-area-row{grid-template-columns:86px 1fr 20px;gap:13px;min-height:105px}
 .rrp-area-row-thumb{width:86px;height:78px}
 .rrp-area-row-copy strong{font-size:24px}
 .ajsb-site .rrp-v2-exact-section .rrp-service-photo-card{min-height:320px!important}
 .ajsb-site .rrp-v2-exact-section .rrp-cta{padding:34px 23px!important}
 .ajsb-site .rrp-v2-exact-section .rrp-cta h2{font-size:38px!important}
}

/* Inner-page parity: headings and vertical rhythm also apply on Areas and Contact. */
.ajsb-site .rrp-v2-exact-section.rrp-area-hero{min-height:450px!important}
.ajsb-site .rrp-v2-exact-section.rrp-area-hero .rrp-area-hero-inner{padding-top:80px!important;padding-bottom:55px!important}
.ajsb-site .rrp-v2-exact-section.rrp-area-hero h1.rrp-display{font-size:clamp(44px,5vw,69px)!important;line-height:1.1!important;max-width:850px!important}
.ajsb-site .rrp-v2-exact-section.rrp-contact-hero,
.ajsb-site .rrp-v2-exact-section.rrp-contact-hero .rrp-contact-hero-grid{min-height:490px!important}
.ajsb-site .rrp-v2-exact-section.rrp-contact-hero h1.rrp-display{font-size:clamp(43px,5vw,68px)!important;line-height:1.10!important}
.ajsb-site .rrp-v2-exact-section .rrp-area-detail{padding:45px 0!important;gap:40px!important}
.ajsb-site .rrp-v2-exact-section.rrp-stats-section{padding:58px 0!important}
.ajsb-site .rrp-v2-exact-section.rrp-contact-channels-wrap{padding-bottom:46px!important}
@media(max-width:767px){
 .ajsb-site .rrp-v2-exact-section.rrp-area-hero{min-height:390px!important}
 .ajsb-site .rrp-v2-exact-section.rrp-area-hero h1.rrp-display{font-size:41px!important}
 .ajsb-site .rrp-v2-exact-section.rrp-contact-hero,
 .ajsb-site .rrp-v2-exact-section.rrp-contact-hero .rrp-contact-hero-grid{min-height:610px!important}
 .ajsb-site .rrp-v2-exact-section.rrp-contact-hero h1.rrp-display{font-size:40px!important}
 .ajsb-site .rrp-v2-exact-section .rrp-area-detail{padding:36px 0!important;gap:24px!important}
}


/* =======================================================================
   Pastel 2.3.2: unified rhythm across ALL pages + repaired header/Areas.
   Last declarations win over legacy V2 and 2.3.1 overrides. Scoped to AJ site.
   ======================================================================= */
:root { --rrp-spacing-y:52px; }

/* Same 1184px content axis for header/logo/nav/buttons and page sections.
   Do NOT use 1320px in header while content is 1184px. */
.ajsb-site .aj-site-header .aj-header-inner {
  box-sizing:border-box!important;
  width:min(calc(100% - 56px),1184px)!important;
  max-width:1184px!important;
  height:86px!important;
  min-height:86px!important;
  margin-inline:auto!important;
  padding:0!important;
  display:grid!important;
  grid-template-columns:minmax(165px,190px) minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:22px!important;
}
.ajsb-site .aj-site-header .aj-logo {
  display:flex!important;justify-self:start!important;align-items:center!important;
  min-width:0!important;margin:0!important;
}
.ajsb-site .aj-site-header .aj-logo img {
  display:block!important;width:auto!important;height:auto!important;
  max-width:185px!important;max-height:77px!important;object-fit:contain!important;
}
.ajsb-site .aj-site-header .aj-main-nav {justify-self:end!important;align-self:center!important;min-width:0!important;margin:0!important}
.ajsb-site .aj-site-header .aj-main-nav>ul {align-items:center!important;gap:22px!important;margin:0!important}
.ajsb-site .aj-site-header .aj-main-nav a {font-size:12px!important;line-height:1.3!important}
.ajsb-site .aj-site-header .aj-header-actions {display:flex!important;align-items:center!important;justify-self:end!important;gap:9px!important;min-width:0!important}
.ajsb-site .aj-site-header .aj-header-actions .aj-btn {min-height:43px!important;padding:0 17px!important;white-space:nowrap!important;font-size:11px!important}

/* Single editorial scale, consistent across homepage, Areas and Contact. */
.ajsb-site .rrp-v2-exact-section.rrp-section {padding-top:52px!important;padding-bottom:52px!important}
.ajsb-site .rrp-v2-exact-section .rrp-kicker {font-size:12px!important;line-height:1.45!important;margin-bottom:10px!important}
.ajsb-site .rrp-v2-exact-section .rrp-h2,
.ajsb-site .rrp-v2-exact-section .rrp-reviews-head .rrp-h2,
.ajsb-site .rrp-v2-exact-section .rrp-story-wide-copy .rrp-h2 {
  font-size:clamp(32px,3.25vw,45px)!important;line-height:1.15!important;
  letter-spacing:-.033em!important;max-width:750px!important;margin:0 0 14px!important;
  overflow-wrap:normal!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-lead {font-size:clamp(16px,1.45vw,18px)!important;line-height:1.62!important}
.ajsb-site .rrp-v2-exact-section .rrp-copy {font-size:16px!important;line-height:1.63!important}
.ajsb-site .rrp-v2-exact-section .rrp-split-intro {gap:32px!important;margin-bottom:26px!important}
.ajsb-site .rrp-v2-exact-section .rrp-actions {margin-top:18px!important}
.ajsb-site .rrp-v2-exact-section .rrp-button {min-height:45px!important;padding:0 21px!important;font-size:12px!important}
.ajsb-site .rrp-v2-exact-section.rrp-home-hero,
.ajsb-site .rrp-v2-exact-section.rrp-home-hero .rrp-shell {min-height:565px!important}
.ajsb-site .rrp-feedback-hero h1.rrp-display {font-size:clamp(45px,4.85vw,65px)!important;line-height:1.11!important;max-width:650px!important}
.ajsb-site .rrp-feedback-hero .rrp-lead {margin-top:14px!important}
.ajsb-site .rrp-feedback-hero .rrp-hero-person {min-height:530px!important}
.ajsb-site .rrp-feedback-hero .rrp-anna-cutout {height:530px!important}
.ajsb-site .rrp-v2-exact-section.rrp-proof .rrp-proof-item {padding:17px 23px!important}
.ajsb-site .rrp-v2-exact-section .rrp-service-photo-card {min-height:335px!important}
.ajsb-site .rrp-v2-exact-section .rrp-service-photo-card h3 {font-size:clamp(28px,2.85vw,37px)!important}
.ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-photo {min-height:390px!important}
.ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-copy {padding:25px 36px!important}
.ajsb-site .rrp-v2-exact-section.rrp-reviews-editorial .rrp-reviews-head {margin-bottom:16px!important}
.ajsb-site .rrp-v2-exact-section.rrp-reviews-editorial .rrp-review-editorial-item {padding:18px!important}
.ajsb-site .rrp-v2-exact-section.rrp-mls-feature {min-height:370px!important}
.ajsb-site .rrp-v2-exact-section.rrp-mls-feature .rrp-mls-inner {
  box-sizing:border-box!important;display:block!important;
  width:min(calc(100% - 56px),1184px)!important;max-width:1184px!important;
  padding:38px 0!important;margin-inline:auto!important;min-width:0!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-mls-feature .rrp-h2 {color:#fff!important;font-size:clamp(32px,3.25vw,45px)!important;line-height:1.15!important}
.ajsb-site .rrp-v2-exact-section.rrp-mls-feature .rrp-lead {color:rgba(255,255,255,.9)!important;max-width:635px!important}

/* Area preview: first image fills left column, remaining three rows fill right
   column evenly. Eliminates the unbalanced blank spaces from 2.3.1. */
.ajsb-site .rrp-v2-exact-section .rrp-area-editorial {
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  grid-template-rows:repeat(3,minmax(0,1fr))!important;
  gap:0 26px!important;align-items:stretch!important;min-height:375px!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-area-editorial > .rrp-area-feature {
  grid-column:1!important;grid-row:1 / 4!important;min-height:375px!important;
  height:100%!important;align-self:stretch!important;padding:23px!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-area-editorial > .rrp-area-row {
  grid-column:2!important;grid-row:auto!important;display:grid!important;
  grid-template-columns:110px minmax(0,1fr) 22px!important;
  gap:16px!important;min-width:0!important;min-height:0!important;
  align-items:center!important;padding:12px 0!important;
  border-top:0!important;border-bottom:1px solid var(--rrp-line)!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-area-editorial > .rrp-area-row:nth-child(2) {grid-row:1!important;border-top:1px solid var(--rrp-line)!important}
.ajsb-site .rrp-v2-exact-section .rrp-area-editorial > .rrp-area-row:nth-child(3) {grid-row:2!important}
.ajsb-site .rrp-v2-exact-section .rrp-area-editorial > .rrp-area-row:nth-child(4) {grid-row:3!important}
.ajsb-site .rrp-v2-exact-section .rrp-area-row-thumb {display:block!important;width:110px!important;height:88px!important}
.ajsb-site .rrp-v2-exact-section .rrp-area-row-copy {gap:5px!important;min-width:0!important}
.ajsb-site .rrp-v2-exact-section .rrp-area-row-copy strong {font-size:clamp(22px,2vw,28px)!important;line-height:1.14!important}
.ajsb-site .rrp-v2-exact-section.rrp-areas-editorial .rrp-areas-intro {align-items:center!important}
.ajsb-site .rrp-v2-exact-section.rrp-areas-editorial .rrp-areas-intro .rrp-h2 {max-width:550px!important}
.ajsb-site .rrp-v2-exact-section.rrp-cta-wrap {padding:0 24px 48px!important}
.ajsb-site .rrp-v2-exact-section .rrp-cta {padding:38px!important}
.ajsb-site .rrp-v2-exact-section .rrp-cta h2 {font-size:clamp(31px,3.3vw,46px)!important;line-height:1.12!important}

/* Inner-page parity: compact heroes, detail rows, form, cards and stat panels. */
.ajsb-site .rrp-v2-exact-section.rrp-area-hero {min-height:390px!important}
.ajsb-site .rrp-v2-exact-section.rrp-area-hero .rrp-area-hero-inner {padding-top:58px!important;padding-bottom:46px!important}
.ajsb-site .rrp-v2-exact-section.rrp-area-hero h1.rrp-display {font-size:clamp(41px,4.7vw,62px)!important;line-height:1.12!important}
.ajsb-site .rrp-v2-exact-section.rrp-contact-hero,
.ajsb-site .rrp-v2-exact-section.rrp-contact-hero .rrp-contact-hero-grid {min-height:435px!important}
.ajsb-site .rrp-v2-exact-section.rrp-contact-hero h1.rrp-display {font-size:clamp(41px,4.7vw,62px)!important;line-height:1.12!important}
.ajsb-site .rrp-v2-exact-section .rrp-contact-copy {padding-top:55px!important;padding-bottom:50px!important}
.ajsb-site .rrp-v2-exact-section.rrp-area-place-wrap {padding:42px 0!important}
.ajsb-site .rrp-v2-exact-section .rrp-area-detail {padding:34px 0!important;gap:34px!important}
.ajsb-site .rrp-v2-exact-section .rrp-area-visual {height:340px!important}
.ajsb-site .rrp-v2-exact-section .rrp-stats-section {padding:46px 0!important}
.ajsb-site .rrp-v2-exact-section .rrp-stats-grid {margin-top:24px!important}
.ajsb-site .rrp-v2-exact-section .rrp-county-card {padding:22px!important}
.ajsb-site .rrp-v2-exact-section .rrp-contact-channels-wrap {padding:40px 0!important}
.ajsb-site .rrp-v2-exact-section .rrp-contact-form-section {padding:46px 0!important}
.ajsb-site .rrp-v2-exact-section .rrp-contact-card {min-height:0!important;padding:22px!important}
.ajsb-site .rrp-v2-exact-section .rrp-form-shell {padding:28px!important}

@media(max-width:1100px) {
  .ajsb-site .aj-site-header .aj-header-inner {
    width:min(calc(100% - 40px),1184px)!important;height:78px!important;min-height:78px!important;
    grid-template-columns:minmax(140px,160px) minmax(0,1fr) auto!important;gap:12px!important;
  }
  .ajsb-site .aj-site-header .aj-logo img {max-width:158px!important;max-height:68px!important}
  .ajsb-site .rrp-v2-exact-section .rrp-area-editorial {gap:0 18px!important}
  .ajsb-site .rrp-v2-exact-section .rrp-area-editorial > .rrp-area-row {grid-template-columns:86px minmax(0,1fr) 20px!important;gap:12px!important}
  .ajsb-site .rrp-v2-exact-section .rrp-area-row-thumb {width:86px!important;height:76px!important}
  .ajsb-site .rrp-v2-exact-section .rrp-area-row-copy strong {font-size:23px!important}
}
@media(max-width:767px) {
  :root {--rrp-spacing-y:38px}
  .ajsb-site .aj-site-header .aj-header-inner {
    box-sizing:border-box!important;display:grid!important;
    width:calc(100% - 32px)!important;max-width:none!important;
    height:70px!important;min-height:70px!important;padding:0!important;
    grid-template-columns:minmax(0,1fr) auto!important;gap:12px!important;
    align-items:center!important;
  }
  .ajsb-site .aj-site-header .aj-logo img {max-width:133px!important;max-height:58px!important}
  .ajsb-site .aj-site-header .aj-header-actions {justify-self:end!important}
  .ajsb-site .rrp-v2-exact-section.rrp-section {padding-block:38px!important}
  .ajsb-site .rrp-v2-exact-section .rrp-h2,
  .ajsb-site .rrp-v2-exact-section .rrp-reviews-head .rrp-h2,
  .ajsb-site .rrp-v2-exact-section .rrp-story-wide-copy .rrp-h2 {font-size:clamp(29px,8.2vw,36px)!important;line-height:1.16!important}
  .ajsb-site .rrp-feedback-hero h1.rrp-display {font-size:clamp(38px,9.5vw,48px)!important;line-height:1.12!important}
  .ajsb-site .rrp-v2-exact-section.rrp-home-hero,
  .ajsb-site .rrp-v2-exact-section.rrp-home-hero .rrp-shell {min-height:580px!important}
  .ajsb-site .rrp-feedback-hero .rrp-hero-copy {padding:25px 0 255px!important}
  .ajsb-site .rrp-feedback-hero .rrp-hero-person {height:275px!important;min-height:0!important}
  .ajsb-site .rrp-feedback-hero .rrp-anna-cutout {height:290px!important}
  .ajsb-site .rrp-v2-exact-section.rrp-mls-feature {min-height:330px!important}
  .ajsb-site .rrp-v2-exact-section.rrp-mls-feature .rrp-mls-inner {width:calc(100% - 36px)!important;padding:29px 0!important}
  .ajsb-site .rrp-v2-exact-section.rrp-mls-feature .rrp-h2 {font-size:31px!important}
  .ajsb-site .rrp-v2-exact-section .rrp-area-editorial {
    grid-template-columns:minmax(0,1fr)!important;grid-template-rows:auto!important;
    gap:0!important;min-height:0!important;
  }
  .ajsb-site .rrp-v2-exact-section .rrp-area-editorial > .rrp-area-feature {
    grid-column:1!important;grid-row:auto!important;min-height:290px!important;height:290px!important;
  }
  .ajsb-site .rrp-v2-exact-section .rrp-area-editorial > .rrp-area-row,
  .ajsb-site .rrp-v2-exact-section .rrp-area-editorial > .rrp-area-row:nth-child(n) {
    grid-column:1!important;grid-row:auto!important;min-height:98px!important;
    grid-template-columns:80px minmax(0,1fr) 20px!important;gap:11px!important;
    padding:9px 0!important;
  }
  .ajsb-site .rrp-v2-exact-section .rrp-area-row-thumb {width:80px!important;height:74px!important}
  .ajsb-site .rrp-v2-exact-section .rrp-area-row-copy strong {font-size:22px!important}
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-photo {min-height:500px!important}
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-copy {padding:21px 17px!important;width:100%!important}
  .ajsb-site .rrp-v2-exact-section .rrp-area-detail {padding:28px 0!important;gap:22px!important}
  .ajsb-site .rrp-v2-exact-section .rrp-area-visual {height:275px!important}
  .ajsb-site .rrp-v2-exact-section.rrp-area-hero {min-height:330px!important}
  .ajsb-site .rrp-v2-exact-section.rrp-area-hero h1.rrp-display {font-size:clamp(36px,9.1vw,45px)!important}
  .ajsb-site .rrp-v2-exact-section.rrp-contact-hero,
  .ajsb-site .rrp-v2-exact-section.rrp-contact-hero .rrp-contact-hero-grid {min-height:565px!important}
  .ajsb-site .rrp-v2-exact-section.rrp-contact-hero h1.rrp-display {font-size:clamp(36px,9.1vw,45px)!important}
  .ajsb-site .rrp-v2-exact-section .rrp-contact-copy {padding:42px 0 275px!important}
  .ajsb-site .rrp-v2-exact-section .rrp-contact-form-section,
  .ajsb-site .rrp-v2-exact-section .rrp-contact-channels-wrap {padding:34px 0!important}
  .ajsb-site .rrp-v2-exact-section .rrp-cta {padding:30px 22px!important}
  .ajsb-site .rrp-v2-exact-section .rrp-cta h2 {font-size:34px!important}
}


/* ========================================================================== 
   Pastel feedback 2.3.3 — Sep 22 client revisions.
   Header scale, Lora fallback, hero portrait removal, footer title hierarchy.
   ========================================================================== */
:root{--rrp-serif:'Lora',Georgia,serif}

/* Client requested IvyMode; no Adobe Fonts web-project kit is bundled with the
   site, so use the approved Lora fallback consistently across editorial type. */
.ajsb-site .rrp-v2-exact-section h1,
.ajsb-site .rrp-v2-exact-section h2,
.ajsb-site .rrp-v2-exact-section h3,
.ajsb-site .rrp-v2-exact-section h4,
.ajsb-site .rrp-v2-exact-section .rrp-display,
.ajsb-site .rrp-v2-exact-section .rrp-h2,
.ajsb-site .rrp-v2-exact-section .rrp-h3,
.ajsb-site .rrp-v2-exact-section .rrp-story-value strong,
.ajsb-site .rrp-v2-exact-section .rrp-area-feature-copy strong,
.ajsb-site .rrp-v2-exact-section .rrp-area-row-copy strong,
.ajsb-site .rrp-v2-exact-section .rrp-proof-item strong,
.ajsb-site .rrp-v2-exact-section .rrp-review-editorial-item blockquote{font-family:var(--rrp-serif)!important}

/* Header: visibly larger branding/navigation while staying on the 1184px page axis. */
.ajsb-site .aj-site-header .aj-header-inner{
  height:104px!important;min-height:104px!important;
  grid-template-columns:minmax(220px,245px) minmax(0,1fr) auto!important;
  column-gap:28px!important;
}
.ajsb-site .aj-site-header .aj-logo img{
  max-width:238px!important;max-height:92px!important;
}
.ajsb-site .aj-site-header .aj-main-nav>ul{gap:28px!important}
.ajsb-site .aj-site-header .aj-main-nav a{
  font-size:14px!important;line-height:1.25!important;letter-spacing:.07em!important;
}
.ajsb-site .aj-site-header .aj-header-actions .aj-btn{
  min-height:46px!important;padding-inline:20px!important;font-size:12px!important;letter-spacing:.08em!important;
}

/* Homepage portrait was explicitly removed by the client. Keep the landscape
   photo as the hero image and give the editorial copy the full composition. */
.ajsb-site .rrp-v2-exact-section.rrp-home-hero .rrp-shell{
  grid-template-columns:1fr!important;align-items:center!important;
}
.ajsb-site .rrp-feedback-hero .rrp-hero-copy{
  max-width:760px!important;padding:44px 0!important;
}
.ajsb-site .rrp-feedback-hero .rrp-hero-person,
.ajsb-site .rrp-feedback-hero .rrp-anna-cutout{display:none!important}
.ajsb-site .rrp-v2-exact-section.rrp-home-hero:before{
  background:linear-gradient(90deg,rgba(20,18,16,.90) 0%,rgba(20,18,16,.75) 44%,rgba(20,18,16,.28) 76%,rgba(20,18,16,.16) 100%)!important;
}

/* Meet Kevin & Anna stays as one wide photographic story with the four values
   as a separate row below — deliberately not another repeated card section. */
/* Client asked for a true full-width story image. The photograph now sits
   outside the max-width shell, while the overlay copy stays aligned to the
   site's content grid and the four values remain in a contained row below. */
.ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-photo{
  width:100%!important;min-height:430px!important;background-position:center 46%!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-photo-inner{
  min-height:430px!important;display:flex!important;align-items:flex-end!important;width:100%!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-copy{
  width:min(680px,62%)!important;padding:34px 0 38px!important;
}

/* Footer column headings were too small in Pastel review. */
.ajsb-site .aj-site-footer .aj-footer-col h3,
.ajsb-site .rrp-site-footer .rrp-footer-title{
  font-family:var(--rrp-sans)!important;font-size:13px!important;line-height:1.35!important;
  letter-spacing:.14em!important;font-weight:850!important;margin-bottom:20px!important;
}
.ajsb-site .aj-site-footer .aj-footer-bottom a,
.ajsb-site .rrp-site-footer .rrp-footer-bottom a{text-decoration:none!important;color:inherit!important}
.ajsb-site .aj-site-footer .aj-footer-bottom a:hover,
.ajsb-site .rrp-site-footer .rrp-footer-bottom a:hover{color:#fff!important}

@media(max-width:1100px){
  .ajsb-site .aj-site-header .aj-header-inner{
    height:88px!important;min-height:88px!important;
    grid-template-columns:minmax(175px,195px) minmax(0,1fr) auto!important;
  }
  .ajsb-site .aj-site-header .aj-logo img{max-width:190px!important;max-height:76px!important}
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-copy{width:70%!important;padding:30px 0!important}
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-photo-inner{min-height:430px!important}
}
@media(max-width:767px){
  .ajsb-site .aj-site-header .aj-header-inner{
    height:76px!important;min-height:76px!important;grid-template-columns:minmax(0,1fr) auto!important;
  }
  .ajsb-site .aj-site-header .aj-logo img{max-width:150px!important;max-height:64px!important}
  .ajsb-site .rrp-feedback-hero .rrp-hero-copy{padding:34px 0!important;max-width:100%!important}
  .ajsb-site .rrp-v2-exact-section.rrp-home-hero,
  .ajsb-site .rrp-v2-exact-section.rrp-home-hero .rrp-shell{min-height:535px!important}
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-photo{min-height:520px!important;background-position:68% center!important}
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-photo-inner{min-height:520px!important;align-items:flex-end!important}
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-copy{width:100%!important;padding:24px 0!important}
  .ajsb-site .aj-site-footer .aj-footer-col h3,
  .ajsb-site .rrp-site-footer .rrp-footer-title{font-size:12px!important}
}

/* ========================================================================== 
   Pastel feedback 2.3.5 — Sep 24 client revisions.
   Removes decorative kicker rules, cleans the story values divider, repositions
   the Kevin & Anna portrait composition, and mirrors the MLS photo only.
   ========================================================================== */

/* Comment 18: remove the short decorative rules before eyebrow/kicker labels
   throughout the site. Preserve the label text, spacing and hierarchy. */
.ajsb-site .rrp-v2-exact-section .rrp-kicker::before,
.ajsb-site .rrp-v2-exact-section .rrp-kicker:before{
  content:none!important;
  display:none!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-kicker{gap:0!important}

/* Comment 20: remove only the horizontal top divider above the four story
   values. Vertical separation between the four editorial points is retained. */
.ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-values{
  border-top:0!important;
}

/* Comment 6 follow-up: keep the story full-width, but compose the supplied
   portrait on the right at full section height so faces no longer sit beneath
   the left-aligned copy. The dark section background fills the negative space. */
@media(min-width:768px){
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-photo{
    background-size:auto 100%!important;
    background-position:right center!important;
    background-repeat:no-repeat!important;
    background-color:#211913!important;
  }
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-copy{
    width:min(650px,56%)!important;
  }
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-photo:before{
    background:linear-gradient(90deg,rgba(20,18,16,.96) 0%,rgba(20,18,16,.88) 42%,rgba(20,18,16,.48) 63%,rgba(20,18,16,.08) 100%)!important;
  }
}

/* Comment 19: mirror only the MLS banner artwork. The centered content wrapper
   is mirrored back so all text, buttons and arrows remain readable. Keeping the
   background on the section preserves AJ Builder's editable background image. */
.ajsb-site .rrp-v2-exact-section.rrp-mls-feature{
  transform:scaleX(-1)!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-mls-feature .rrp-mls-inner{
  transform:scaleX(-1)!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-mls-feature:before{
  transform:scaleX(-1)!important;
}


/* ========================================================================== 
   Pastel feedback 2.3.6 — Sep 24 visual follow-up.
   Vertically centers homepage hero copy and fully removes the story-values top
   rule while centering the four value blocks within their white band.
   ========================================================================== */

/* Homepage hero: earlier parity rules left 22px of top padding on the full-height
   shell. With the portrait removed, explicitly center the remaining copy in the
   image rather than letting that legacy offset pull the composition upward/downward. */
@media(min-width:768px){
  .ajsb-site .rrp-v2-exact-section.rrp-home-hero .rrp-shell{
    padding-top:0!important;
    display:flex!important;
    align-items:center!important;
  }
  .ajsb-site .rrp-v2-exact-section.rrp-home-hero .rrp-hero-copy{
    align-self:auto!important;
    margin:0!important;
    padding:0!important;
  }
}

/* Story values: the story section inherited the generic section padding, which
   left the value copy visually high in a large cream band. Remove that inherited
   outer padding and create one intentional, vertically-centred values band. */
.ajsb-site .rrp-v2-exact-section.rrp-story-editorial{
  padding-block:0!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-values{
  margin-top:0!important;
  min-height:144px!important;
  align-items:stretch!important;
  border-top:0!important;
  border-block-start:0!important;
  box-shadow:none!important;
  outline:0!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-values::before,
.ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-values::after{
  content:none!important;
  display:none!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-value{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-self:stretch!important;
  padding:24px 14px!important;
  border-top:0!important;
  border-block-start:0!important;
}

@media(max-width:767px){
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-values{
    min-height:0!important;
  }
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-value{
    min-height:112px!important;
  }
}


/* ========================================================================== 
   Pastel feedback 2.3.7 — Comment 18 definitive cleanup.
   The decorative eyebrow rule is removed at the ORIGINAL source rule above and
   hardened here globally so no section, breakpoint, legacy renderer or injected
   SVG can recreate the line before small section labels.
   ========================================================================== */
.rrp-kicker,
.ajsb-site .rrp-kicker{
  gap:0!important;
  background-image:none!important;
}
.rrp-kicker::before,
.rrp-kicker:before,
.rrp-kicker::after,
.rrp-kicker:after,
.ajsb-site .rrp-kicker::before,
.ajsb-site .rrp-kicker:before,
.ajsb-site .rrp-kicker::after,
.ajsb-site .rrp-kicker:after{
  content:none!important;
  display:none!important;
  width:0!important;
  min-width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  outline:0!important;
  background:none!important;
  box-shadow:none!important;
}
.rrp-kicker svg,
.ajsb-site .rrp-kicker svg,
.rrp-kicker .rrp-kicker-line,
.ajsb-site .rrp-kicker .rrp-kicker-line{
  display:none!important;
}

/* ========================================================================== 
   Pastel feedback 2.3.8 — Sep 25/26 structural/content revision pass.
   Uses client references for the panorama services, map atmosphere and contact
   strip while keeping all content as native editable AJ Builder section data.
   ========================================================================== */

/* Comment 32 — one cohesive local-property photograph divided into three
   coordinated service panels, instead of three unrelated template cards. */
.ajsb-site .rrp-v2-exact-section.rrp-services-panorama-section{background:var(--rrp-paper)!important}
.ajsb-site .rrp-v2-exact-section .rrp-services-copy{margin:0 0 28px!important;max-width:980px!important}
.ajsb-site .rrp-v2-exact-section .rrp-services-copy .rrp-h2{margin:0 0 10px!important;max-width:none!important}
.ajsb-site .rrp-v2-exact-section .rrp-services-copy .rrp-lead{margin:0!important;max-width:780px!important}
.ajsb-site .rrp-v2-exact-section .rrp-service-panorama{
  position:relative!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;
  min-height:355px!important;overflow:hidden!important;background-image:var(--rrp-service-panorama)!important;
  background-size:cover!important;background-position:center center!important;background-repeat:no-repeat!important;
  border-radius:0!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-service-panorama:before{
  content:''!important;position:absolute!important;inset:0!important;pointer-events:none!important;
  background:linear-gradient(to top,rgba(18,17,16,.78) 0%,rgba(18,17,16,.22) 54%,rgba(18,17,16,.04) 100%)!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-service-panel{
  position:relative!important;z-index:1!important;display:flex!important;flex-direction:column!important;
  justify-content:flex-end!important;min-width:0!important;min-height:355px!important;padding:26px 24px!important;
  color:#fff!important;text-decoration:none!important;border-right:1px solid rgba(255,255,255,.72)!important;
  background:rgba(18,17,16,.03)!important;transition:background .22s ease,transform .22s ease!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-service-panel:last-child{border-right:0!important}
.ajsb-site .rrp-v2-exact-section .rrp-service-panel:hover{background:rgba(18,17,16,.16)!important}
.ajsb-site .rrp-v2-exact-section .rrp-service-panel-label{
  position:absolute!important;left:24px!important;top:22px!important;font-family:var(--rrp-sans)!important;
  font-size:11px!important;line-height:1.2!important;font-weight:800!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:#fff!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-service-panel-arrow{
  position:absolute!important;right:22px!important;top:19px!important;width:40px!important;height:40px!important;
  display:grid!important;place-items:center!important;border:1px solid rgba(255,255,255,.62)!important;border-radius:50%!important;
  font-size:18px!important;color:#fff!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-service-panel-copy{display:flex!important;flex-direction:column!important;gap:6px!important;max-width:95%!important}
.ajsb-site .rrp-v2-exact-section .rrp-service-panel-copy strong{
  display:block!important;font-family:var(--rrp-serif)!important;font-size:clamp(28px,2.7vw,39px)!important;
  line-height:1.08!important;font-weight:500!important;letter-spacing:-.035em!important;color:#fff!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-service-panel-copy span{
  display:block!important;font-family:var(--rrp-sans)!important;font-size:15px!important;line-height:1.48!important;color:rgba(255,255,255,.9)!important;
}

/* Comment 24 — do not darken Kevin & Anna's portrait. Keep the natural image
   clear on the right; contrast is localized to the copy panel only. */
@media(min-width:768px){
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-photo:before{content:none!important;display:none!important;background:none!important}
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-copy{
    background:linear-gradient(90deg,rgba(22,20,18,.94),rgba(22,20,18,.80))!important;
    padding:34px 38px!important;margin-left:-38px!important;
  }
}
@media(max-width:767px){
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-photo:before{
    content:''!important;display:block!important;background:linear-gradient(to top,rgba(20,18,16,.92) 0%,rgba(20,18,16,.28) 54%,rgba(20,18,16,0) 78%)!important;
  }
}

/* Comment 23 / 29 — square editorial testimonial and a deliberate single-review
   treatment when only one verified testimonial is supplied. */
.ajsb-site .rrp-v2-exact-section .rrp-review-editorial-item{border-radius:0!important}
.ajsb-site .rrp-v2-exact-section.rrp-reviews-single .rrp-review-editorial-list{
  grid-template-columns:minmax(0,760px)!important;border-top:1px solid rgba(35,34,34,.18)!important;
  border-bottom:1px solid rgba(35,34,34,.18)!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-reviews-single .rrp-review-editorial-item{
  border-right:0!important;padding:30px 0!important;min-height:0!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-reviews-single .rrp-review-editorial-item blockquote{font-size:clamp(21px,2vw,29px)!important;max-width:720px!important}

/* Comment 33 — dark local-map atmosphere with copy on the left and an editorial
   place list on the right. The supplied map remains replaceable from AJ Builder. */
.ajsb-site .rrp-v2-exact-section.rrp-areas-map-section{
  position:relative!important;isolation:isolate!important;overflow:hidden!important;background:#1d1c1a!important;color:#fff!important;padding:76px 0!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-areas-map-section .rrp-map-atmosphere{
  position:absolute!important;z-index:-1!important;inset:0!important;background-image:var(--rrp-local-map)!important;
  background-repeat:no-repeat!important;background-size:66% auto!important;background-position:58% center!important;
  filter:grayscale(1) sepia(1) saturate(1.5) brightness(1.12)!important;opacity:.48!important;mix-blend-mode:screen!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-areas-map-section:after{
  content:''!important;position:absolute!important;z-index:-1!important;inset:0!important;pointer-events:none!important;
  background:linear-gradient(90deg,rgba(29,28,26,.98) 0%,rgba(29,28,26,.72) 31%,rgba(29,28,26,.18) 62%,rgba(29,28,26,.90) 84%,rgba(29,28,26,.98) 100%)!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-areas-map-grid{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(320px,.62fr)!important;gap:70px!important;align-items:center!important}
.ajsb-site .rrp-v2-exact-section .rrp-areas-map-copy{max-width:480px!important}
.ajsb-site .rrp-v2-exact-section .rrp-areas-map-copy .rrp-h2{color:#fff!important;font-size:clamp(40px,4.5vw,62px)!important;line-height:1.05!important;margin:0 0 18px!important}
.ajsb-site .rrp-v2-exact-section .rrp-areas-map-copy .rrp-lead{color:rgba(255,255,255,.82)!important;max-width:440px!important;margin:0 0 28px!important}
.ajsb-site .rrp-v2-exact-section .rrp-map-button{background:transparent!important;color:#fff!important;border:1px solid var(--rrp-brown)!important;border-radius:999px!important}
.ajsb-site .rrp-v2-exact-section .rrp-map-button:hover{background:var(--rrp-brown)!important;color:#fff!important}
.ajsb-site .rrp-v2-exact-section .rrp-areas-map-list{display:flex!important;flex-direction:column!important;min-width:0!important}
.ajsb-site .rrp-v2-exact-section .rrp-map-place{
  display:flex!important;align-items:center!important;justify-content:space-between!important;gap:24px!important;padding:16px 0!important;
  color:#fff!important;text-decoration:none!important;border-bottom:1px solid rgba(201,146,70,.58)!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-map-place:first-child{border-top:1px solid rgba(201,146,70,.58)!important}
.ajsb-site .rrp-v2-exact-section .rrp-map-place small{display:block!important;margin-bottom:4px!important;color:rgba(255,255,255,.60)!important;font-size:9px!important;letter-spacing:.13em!important;text-transform:uppercase!important;font-weight:800!important}
.ajsb-site .rrp-v2-exact-section .rrp-map-place strong{display:block!important;color:#fff!important;font-family:var(--rrp-serif)!important;font-weight:500!important;font-size:clamp(26px,2.5vw,36px)!important;line-height:1.08!important}
.ajsb-site .rrp-v2-exact-section .rrp-map-place>span:last-child{color:var(--rrp-gold)!important;font-size:22px!important;transition:transform .2s ease!important}
.ajsb-site .rrp-v2-exact-section .rrp-map-place:hover>span:last-child{transform:translate(3px,-3px)!important}

/* Comment 21 — reference-inspired hybrid contact strip. */
.ajsb-site .rrp-v2-exact-section.rrp-contact-strip-wrap{padding:58px 0 76px!important;background:var(--rrp-paper)!important}
.ajsb-site .rrp-v2-exact-section .rrp-contact-strip{
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(400px,.9fr)!important;align-items:center!important;
  background:linear-gradient(100deg,#fffdf8 0%,#fff9ed 100%)!important;border-top:1px solid rgba(170,117,63,.30)!important;
  padding:28px 42px!important;min-height:160px!important;border-radius:0!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-contact-strip-copy{padding-right:42px!important}
.ajsb-site .rrp-v2-exact-section .rrp-contact-strip-copy h2{
  font-family:var(--rrp-serif)!important;font-size:clamp(34px,3.5vw,50px)!important;line-height:1.05!important;font-weight:500!important;
  letter-spacing:-.035em!important;color:var(--rrp-charcoal)!important;margin:0 0 8px!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-contact-strip-copy p{margin:0!important;max-width:580px!important;color:var(--rrp-charcoal)!important;font-size:16px!important;line-height:1.45!important}
.ajsb-site .rrp-v2-exact-section .rrp-contact-strip-call{border-left:1px solid var(--rrp-brown)!important;padding-left:42px!important;text-align:center!important}
.ajsb-site .rrp-v2-exact-section .rrp-contact-strip-call>span{display:block!important;color:var(--rrp-brown)!important;font-size:11px!important;letter-spacing:.18em!important;text-transform:uppercase!important;margin-bottom:2px!important;font-weight:700!important}
.ajsb-site .rrp-v2-exact-section .rrp-contact-strip-call>a{display:block!important;text-decoration:none!important;color:var(--rrp-brown)!important;font-family:var(--rrp-serif)!important;font-size:clamp(38px,4vw,58px)!important;line-height:1.03!important;font-weight:500!important;white-space:nowrap!important}
.ajsb-site .rrp-v2-exact-section .rrp-contact-strip-rule{height:1px!important;background:rgba(170,117,63,.75)!important;margin:8px auto 7px!important;max-width:390px!important}
.ajsb-site .rrp-v2-exact-section .rrp-contact-strip-call strong{display:block!important;color:var(--rrp-charcoal)!important;font-family:var(--rrp-serif)!important;font-size:20px!important;font-weight:500!important;letter-spacing:.02em!important}

/* Comment 22 — the logo asset is already transparent; remove the artificial
   cream box and separate it from the dark footer with a subtle light glow. */
.ajsb-site .aj-site-footer .aj-footer-logo,
.ajsb-site .rrp-site-footer .rrp-footer-logo-wrap{
  background:transparent!important;border-radius:0!important;padding:0!important;box-shadow:none!important;
}
.ajsb-site .aj-site-footer .aj-footer-logo,
.ajsb-site .rrp-site-footer .rrp-footer-logo{
  filter:drop-shadow(0 0 5px rgba(255,255,255,.52)) drop-shadow(0 0 13px rgba(255,255,255,.20))!important;
}

@media(max-width:1100px){
  .ajsb-site .rrp-v2-exact-section .rrp-service-panorama{min-height:330px!important}
  .ajsb-site .rrp-v2-exact-section .rrp-service-panel{min-height:330px!important;padding:22px 18px!important}
  .ajsb-site .rrp-v2-exact-section .rrp-service-panel-label{left:18px!important}
  .ajsb-site .rrp-v2-exact-section .rrp-areas-map-grid{grid-template-columns:minmax(0,1fr) minmax(280px,.7fr)!important;gap:40px!important}
  .ajsb-site .rrp-v2-exact-section .rrp-contact-strip{grid-template-columns:1fr 1fr!important;padding:28px!important}
  .ajsb-site .rrp-v2-exact-section .rrp-contact-strip-copy{padding-right:28px!important}
  .ajsb-site .rrp-v2-exact-section .rrp-contact-strip-call{padding-left:28px!important}
}
@media(max-width:767px){
  .ajsb-site .rrp-v2-exact-section .rrp-service-panorama{grid-template-columns:1fr!important;background-size:auto 100%!important;min-height:0!important}
  .ajsb-site .rrp-v2-exact-section .rrp-service-panel{min-height:250px!important;border-right:0!important;border-bottom:1px solid rgba(255,255,255,.65)!important}
  .ajsb-site .rrp-v2-exact-section .rrp-service-panel:last-child{border-bottom:0!important}
  .ajsb-site .rrp-v2-exact-section.rrp-areas-map-section{padding:58px 0!important}
  .ajsb-site .rrp-v2-exact-section.rrp-areas-map-section .rrp-map-atmosphere{background-size:155% auto!important;background-position:center 44%!important;opacity:.30!important}
  .ajsb-site .rrp-v2-exact-section.rrp-areas-map-section:after{background:rgba(29,28,26,.82)!important}
  .ajsb-site .rrp-v2-exact-section .rrp-areas-map-grid{grid-template-columns:1fr!important;gap:34px!important}
  .ajsb-site .rrp-v2-exact-section .rrp-map-place strong{font-size:27px!important}
  .ajsb-site .rrp-v2-exact-section.rrp-contact-strip-wrap{padding:42px 0 58px!important}
  .ajsb-site .rrp-v2-exact-section .rrp-contact-strip{grid-template-columns:1fr!important;padding:26px 22px!important}
  .ajsb-site .rrp-v2-exact-section .rrp-contact-strip-copy{padding:0 0 24px!important}
  .ajsb-site .rrp-v2-exact-section .rrp-contact-strip-call{border-left:0!important;border-top:1px solid var(--rrp-brown)!important;padding:22px 0 0!important}
  .ajsb-site .rrp-v2-exact-section .rrp-contact-strip-call>a{font-size:clamp(34px,11vw,46px)!important;white-space:normal!important}
}

/* v2.3.9: copy-doc-aligned service panels use one title only. */
.rrp-service-panel-label:empty{display:none!important;}


/* ==========================================================================
   2.3.13 — Contact page redesign + source-locked copy.
   No portrait, no decorative AI-style line motif, no invented contact copy.
   ========================================================================== */
.ajsb-site .rrp-v2-exact-section.rrp-contact-source-hero{
  min-height:0!important;
  background:var(--rrp-paper)!important;
  color:var(--rrp-charcoal)!important;
  padding:78px 0 72px!important;
  overflow:hidden!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-contact-source-hero:after{display:none!important}
.ajsb-site .rrp-contact-source-grid{
  display:grid!important;
  grid-template-columns:minmax(0,1.16fr) minmax(360px,.84fr)!important;
  gap:72px!important;
  align-items:stretch!important;
  min-height:0!important;
}
.ajsb-site .rrp-contact-source-copy{
  padding:28px 0!important;
  align-self:center!important;
  max-width:720px!important;
}
.ajsb-site .rrp-contact-source-copy h1.rrp-display{
  margin:0 0 28px!important;
  color:var(--rrp-charcoal)!important;
  font-family:var(--rrp-serif)!important;
  font-size:clamp(58px,6.4vw,92px)!important;
  line-height:.98!important;
  letter-spacing:-.045em!important;
  font-weight:500!important;
  max-width:700px!important;
}
.ajsb-site .rrp-contact-source-copy .rrp-lead{
  margin:0!important;
  max-width:650px!important;
  color:var(--rrp-body)!important;
  font-size:18px!important;
  line-height:1.65!important;
}
.ajsb-site .rrp-contact-source-tagline{
  display:block!important;
  margin-top:34px!important;
  color:var(--rrp-brown)!important;
  font-family:var(--rrp-serif)!important;
  font-size:clamp(26px,2.5vw,36px)!important;
  line-height:1.1!important;
  font-weight:500!important;
}
.ajsb-site .rrp-contact-source-panel{
  background:var(--rrp-charcoal)!important;
  color:#fff!important;
  padding:48px 44px!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  min-height:360px!important;
}
.ajsb-site .rrp-contact-source-label{
  color:var(--rrp-tan)!important;
  font-family:var(--rrp-sans)!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.18em!important;
  text-transform:uppercase!important;
}
.ajsb-site .rrp-contact-source-phone{
  display:block!important;
  margin:18px 0 34px!important;
  color:#fff!important;
  text-decoration:none!important;
  font-family:var(--rrp-serif)!important;
  font-size:clamp(38px,4.1vw,58px)!important;
  line-height:1!important;
  letter-spacing:-.035em!important;
  white-space:nowrap!important;
}
.ajsb-site .rrp-contact-source-actions{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:12px!important;
}
.ajsb-site .rrp-contact-source-actions .rrp-button{
  margin:0!important;
}
.ajsb-site .rrp-contact-source-actions .rrp-button.outline{
  color:#fff!important;
  border-color:rgba(255,255,255,.42)!important;
  background:transparent!important;
}
.ajsb-site .rrp-contact-source-actions .rrp-button.outline:hover{
  background:#fff!important;
  color:var(--rrp-charcoal)!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-contact-form-source{
  padding:76px 0!important;
  background:var(--rrp-cream)!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-contact-form-source .rrp-contact-form-grid{
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr)!important;
  gap:70px!important;
  align-items:center!important;
}
.ajsb-site .rrp-contact-form-copy .rrp-h2{
  margin:0 0 22px!important;
  font-size:clamp(42px,4.4vw,62px)!important;
  line-height:1.02!important;
}
.ajsb-site .rrp-contact-form-copy .rrp-lead{
  margin:0!important;
  max-width:480px!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-contact-form-source .rrp-form-shell{
  background:var(--rrp-white)!important;
  border:1px solid var(--rrp-line)!important;
  border-radius:0!important;
  padding:38px!important;
  box-shadow:0 18px 48px rgba(35,34,34,.08)!important;
}

@media(max-width:1100px){
  .ajsb-site .rrp-contact-source-grid{
    grid-template-columns:minmax(0,1fr) minmax(320px,.86fr)!important;
    gap:40px!important;
  }
  .ajsb-site .rrp-contact-source-panel{padding:40px 34px!important}
  .ajsb-site .rrp-contact-source-phone{white-space:normal!important}
}
@media(max-width:767px){
  .ajsb-site .rrp-v2-exact-section.rrp-contact-source-hero{
    padding:52px 0 44px!important;
    min-height:0!important;
  }
  .ajsb-site .rrp-contact-source-grid{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  .ajsb-site .rrp-contact-source-copy{padding:0!important}
  .ajsb-site .rrp-contact-source-copy h1.rrp-display{
    font-size:clamp(40px,12vw,54px)!important;
    margin-bottom:20px!important;
  }
  .ajsb-site .rrp-contact-source-copy .rrp-lead{font-size:16px!important}
  .ajsb-site .rrp-contact-source-tagline{margin-top:24px!important;font-size:26px!important}
  .ajsb-site .rrp-contact-source-panel{min-height:0!important;padding:32px 24px!important}
  .ajsb-site .rrp-contact-source-phone{font-size:38px!important;margin:14px 0 26px!important}
  .ajsb-site .rrp-contact-source-actions{display:grid!important;grid-template-columns:1fr!important}
  .ajsb-site .rrp-contact-source-actions .rrp-button{justify-content:center!important;width:100%!important}
  .ajsb-site .rrp-v2-exact-section.rrp-contact-form-source{padding:48px 0!important}
  .ajsb-site .rrp-v2-exact-section.rrp-contact-form-source .rrp-contact-form-grid{
    grid-template-columns:1fr!important;
    gap:30px!important;
  }
  .ajsb-site .rrp-v2-exact-section.rrp-contact-form-source .rrp-form-shell{padding:24px!important}
}

/* ========================================================================== 
   Pastel feedback 2.3.15 — Sep 26 footer/legal revisions.
   ========================================================================== */

/* Comment 38: slightly stronger footer-logo halo so the small “Properties”
   wordmark stays legible on charcoal without reintroducing the old white box. */
.ajsb-site .aj-site-footer .aj-footer-logo,
.ajsb-site .rrp-site-footer .rrp-footer-logo{
  filter:
    brightness(1.08)
    drop-shadow(0 0 6px rgba(255,255,255,.82))
    drop-shadow(0 0 16px rgba(255,255,255,.38))
    drop-shadow(0 0 28px rgba(255,239,200,.18))!important;
}

/* Legal page shells. Their actual policy/disclaimer body is intentionally
   empty until the client-provided iframe/embed is pasted into AJ Builder. */
.ajsb-site .rrp-v2-exact-section.rrp-policy-header{
  padding:92px 0 42px!important;background:var(--rrp-paper)!important;
}
.ajsb-site .rrp-policy-header-inner{max-width:940px!important}
.ajsb-site .rrp-policy-header .rrp-display{
  margin:0!important;color:var(--rrp-charcoal)!important;
  font-size:clamp(44px,6vw,76px)!important;line-height:1!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-policy-embed-section{
  padding:0 0 96px!important;background:var(--rrp-paper)!important;
}
.ajsb-site .rrp-policy-embed-wrap{max-width:1100px!important;min-height:120px!important}
.ajsb-site .rrp-policy-embed-wrap iframe{display:block;width:100%!important;max-width:100%!important;min-height:720px;border:0}

/* Previous map-button patch could be hidden by stale/cached global button CSS.
   Keep the requested pill shape at the end of the cascade as well as inline. */
.ajsb-site .rrp-v2-exact-section .rrp-button.rrp-map-button{
  border-radius:999px!important;
}

@media(max-width:767px){
  .ajsb-site .rrp-v2-exact-section.rrp-policy-header{padding:58px 0 28px!important}
  .ajsb-site .rrp-v2-exact-section.rrp-policy-embed-section{padding-bottom:60px!important}
  .ajsb-site .rrp-policy-embed-wrap iframe{min-height:620px}
}

/* ========================================================================== 
   Pastel feedback 2.3.16 — Areas page revisions (Sep 25 client comments 1–9)
   ========================================================================== */
.ajsb-site .rrp-v2-exact-section.rrp-area-hero{background-position:center 54%!important;background-size:cover!important}
.ajsb-site .rrp-v2-exact-section.rrp-area-hero:before{background:linear-gradient(90deg,rgba(24,22,19,.74) 0%,rgba(24,22,19,.48) 46%,rgba(24,22,19,.25) 100%)!important}
.ajsb-site .rrp-v2-exact-section.rrp-area-hero .rrp-area-hero-inner{max-width:760px!important}
.ajsb-site .rrp-v2-exact-section.rrp-area-hero .rrp-display{max-width:700px!important}

.ajsb-site .rrp-v2-exact-section .rrp-area-copy .rrp-h3{font-size:clamp(38px,4.1vw,58px)!important;line-height:1.04!important;margin:0 0 18px!important}
.ajsb-site .rrp-v2-exact-section .rrp-area-copy p{max-width:640px!important}
.ajsb-site .rrp-v2-exact-section .rrp-area-copy .micro-cta{display:inline-flex!important;align-items:center!important;gap:10px!important;margin-top:18px!important;padding:12px 19px!important;border:1px solid var(--rrp-charcoal)!important;border-radius:999px!important;text-decoration:none!important;line-height:1!important;font-size:12px!important;font-weight:800!important;letter-spacing:.08em!important;text-transform:uppercase!important;transition:background .22s ease,color .22s ease,transform .22s ease!important}
.ajsb-site .rrp-v2-exact-section .rrp-area-copy .micro-cta:hover,.ajsb-site .rrp-v2-exact-section .rrp-area-copy .micro-cta:focus-visible{background:var(--rrp-charcoal)!important;color:#fff!important;transform:translateY(-1px)!important}

.ajsb-site .rrp-v2-exact-section.rrp-market-areas-section{background:var(--rrp-paper)!important;padding:72px 0 84px!important}
.ajsb-site .rrp-v2-exact-section .rrp-market-areas-heading{text-align:center!important;margin:0 0 36px!important}
.ajsb-site .rrp-v2-exact-section .rrp-market-areas-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:18px!important}
.ajsb-site .rrp-v2-exact-section .rrp-market-card{position:relative!important;display:block!important;min-height:360px!important;overflow:hidden!important;isolation:isolate!important;background:#22211f!important;color:#fff!important;text-decoration:none!important;border:1px solid rgba(170,117,63,.26)!important;border-radius:0!important;box-shadow:0 18px 45px rgba(35,34,34,.10)!important}
.ajsb-site .rrp-v2-exact-section .rrp-market-card-map{position:absolute!important;inset:0!important;z-index:-2!important;background-image:var(--rrp-market-map)!important;background-repeat:no-repeat!important;background-position:center!important;background-size:88% auto!important;opacity:.72!important;filter:saturate(.9) brightness(.88)!important;transition:transform .45s ease,opacity .35s ease,filter .35s ease!important}
.ajsb-site .rrp-v2-exact-section .rrp-market-card:after{content:''!important;position:absolute!important;inset:0!important;z-index:-1!important;background:linear-gradient(180deg,rgba(25,24,22,.18),rgba(25,24,22,.70))!important;transition:background .3s ease!important}
.ajsb-site .rrp-v2-exact-section .rrp-market-card-front{position:absolute!important;inset:0!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;padding:32px!important;text-align:center!important;transition:opacity .25s ease,transform .3s ease!important}
.ajsb-site .rrp-v2-exact-section .rrp-market-card-front small{order:3!important;margin-top:13px!important;font-size:10px!important;font-style:normal!important;font-weight:800!important;letter-spacing:.16em!important;text-transform:uppercase!important;color:rgba(255,255,255,.72)!important}
.ajsb-site .rrp-v2-exact-section .rrp-market-card-front em{font-family:var(--rrp-sans,Arial,sans-serif)!important;font-size:12px!important;font-style:normal!important;font-weight:700!important;letter-spacing:.18em!important;text-transform:uppercase!important;color:rgba(255,255,255,.86)!important}
.ajsb-site .rrp-v2-exact-section .rrp-market-card-front strong{margin-top:10px!important;font-family:var(--rrp-serif)!important;font-size:clamp(36px,3.3vw,48px)!important;font-weight:500!important;line-height:1!important;color:#fff!important}
.ajsb-site .rrp-v2-exact-section .rrp-market-card-hover{position:absolute!important;inset:0!important;display:flex!important;flex-direction:column!important;justify-content:space-between!important;padding:28px!important;background:rgba(29,28,26,.94)!important;opacity:0!important;transform:translateY(12px)!important;pointer-events:none!important;transition:opacity .28s ease,transform .32s ease!important}
.ajsb-site .rrp-v2-exact-section .rrp-market-card-heading{display:flex!important;align-items:baseline!important;justify-content:space-between!important;gap:14px!important;padding-bottom:18px!important;border-bottom:1px solid rgba(255,255,255,.16)!important}
.ajsb-site .rrp-v2-exact-section .rrp-market-card-heading strong{font-family:var(--rrp-serif)!important;font-size:28px!important;font-weight:500!important;color:#fff!important}
.ajsb-site .rrp-v2-exact-section .rrp-market-card-heading small{font-size:9px!important;font-weight:800!important;letter-spacing:.14em!important;text-transform:uppercase!important;color:var(--rrp-tan)!important}
.ajsb-site .rrp-v2-exact-section .rrp-market-stat-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px 20px!important;align-items:end!important}
.ajsb-site .rrp-v2-exact-section .rrp-market-stat{display:flex!important;flex-direction:column!important;gap:6px!important}
.ajsb-site .rrp-v2-exact-section .rrp-market-stat b{order:2!important;font-family:var(--rrp-serif)!important;font-size:22px!important;font-weight:500!important;line-height:1.12!important;color:#fff!important}
.ajsb-site .rrp-v2-exact-section .rrp-market-stat span{order:1!important;font-size:9px!important;line-height:1.35!important;font-weight:800!important;letter-spacing:.11em!important;text-transform:uppercase!important;color:rgba(255,255,255,.72)!important}
.ajsb-site .rrp-v2-exact-section .rrp-market-card:hover .rrp-market-card-front,.ajsb-site .rrp-v2-exact-section .rrp-market-card:focus-visible .rrp-market-card-front{opacity:0!important;transform:translateY(-10px)!important}
.ajsb-site .rrp-v2-exact-section .rrp-market-card:hover .rrp-market-card-hover,.ajsb-site .rrp-v2-exact-section .rrp-market-card:focus-visible .rrp-market-card-hover{opacity:1!important;transform:translateY(0)!important}
.ajsb-site .rrp-v2-exact-section .rrp-market-card:hover .rrp-market-card-map,.ajsb-site .rrp-v2-exact-section .rrp-market-card:focus-visible .rrp-market-card-map{transform:scale(1.045)!important;opacity:.34!important;filter:saturate(.7) brightness(.65)!important}

@media(max-width:1100px){.ajsb-site .rrp-v2-exact-section .rrp-market-areas-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.ajsb-site .rrp-v2-exact-section .rrp-market-card{min-height:330px!important}}
@media(max-width:767px){
 .ajsb-site .rrp-v2-exact-section.rrp-market-areas-section{padding:46px 0 54px!important}
 .ajsb-site .rrp-v2-exact-section .rrp-market-areas-grid{grid-template-columns:1fr!important;gap:14px!important}
 .ajsb-site .rrp-v2-exact-section .rrp-market-card{min-height:320px!important}
 .ajsb-site .rrp-v2-exact-section .rrp-market-card-front{opacity:0!important;transform:none!important}
 .ajsb-site .rrp-v2-exact-section .rrp-market-card-hover{opacity:1!important;transform:none!important;background:rgba(29,28,26,.90)!important}
 .ajsb-site .rrp-v2-exact-section .rrp-market-card-map{opacity:.34!important;filter:saturate(.7) brightness(.68)!important}
 .ajsb-site .rrp-v2-exact-section .rrp-market-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .ajsb-site .rrp-v2-exact-section .rrp-area-copy .rrp-h3{font-size:36px!important}
}

/* ========================================================================== 
   Pastel follow-up 2.3.17 — Sep 30 Home refinements + verified reviews.
   ========================================================================== */

/* Final CTA follow-up: remove the thin horizontal rule above the strip copy. */
.ajsb-site .rrp-v2-exact-section .rrp-contact-strip{
  border-top:0!important;
}

/* Kevin & Anna follow-up: remove the hard-edged copy block and replace it with
   one continuous left-to-right gradient. The portrait side stays substantially
   more transparent while the copy side retains readable contrast. */
@media(min-width:768px){
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-photo:before{
    content:''!important;display:block!important;position:absolute!important;inset:0!important;pointer-events:none!important;
    background:linear-gradient(90deg,
      rgba(20,18,16,.96) 0%,
      rgba(20,18,16,.92) 28%,
      rgba(20,18,16,.68) 48%,
      rgba(20,18,16,.30) 63%,
      rgba(20,18,16,.08) 76%,
      rgba(20,18,16,0) 88%)!important;
  }
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-copy{
    position:relative!important;z-index:2!important;background:transparent!important;
    margin-left:0!important;padding:34px 0 38px!important;
  }
}

/* Guidance follow-up: the second client paragraph starts on a new line. */
.ajsb-site .rrp-v2-exact-section .rrp-guidance-body .rrp-lead{
  margin:0 0 14px!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-guidance-body .rrp-lead:last-child{margin-bottom:0!important}

/* Buy / Sell / Invest follow-up: 20–25% shorter, crop from the top, keep the
   client color-corrected image, and restore an obvious hover treatment. */
.ajsb-site .rrp-v2-exact-section .rrp-service-panorama{
  min-height:278px!important;
  background-position:center bottom!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-service-panel{
  min-height:278px!important;
  transition:background-color .28s ease,box-shadow .28s ease!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-service-panel-copy,
.ajsb-site .rrp-v2-exact-section .rrp-service-panel-arrow{
  transition:transform .28s ease,opacity .28s ease,border-color .28s ease,background-color .28s ease!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-service-panel:hover,
.ajsb-site .rrp-v2-exact-section .rrp-service-panel:focus-visible{
  background:rgba(170,117,63,.24)!important;
  box-shadow:inset 0 0 0 1px rgba(255,239,200,.40)!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-service-panel:hover .rrp-service-panel-copy,
.ajsb-site .rrp-v2-exact-section .rrp-service-panel:focus-visible .rrp-service-panel-copy{
  transform:translateY(-7px)!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-service-panel:hover .rrp-service-panel-arrow,
.ajsb-site .rrp-v2-exact-section .rrp-service-panel:focus-visible .rrp-service-panel-arrow{
  transform:translate(3px,-3px)!important;background:rgba(170,117,63,.28)!important;border-color:rgba(255,239,200,.9)!important;
}

/* Four client-supplied real review excerpts: clean 2x2 editorial grid instead
   of the old three-dummy-card treatment. */
.ajsb-site .rrp-v2-exact-section.rrp-reviews-multi .rrp-review-editorial-list{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  border-top:1px solid rgba(35,34,34,.18)!important;
  border-bottom:1px solid rgba(35,34,34,.18)!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-reviews-multi .rrp-review-editorial-item{
  padding:28px 30px!important;border-right:1px solid rgba(35,34,34,.18)!important;border-top:0!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-reviews-multi .rrp-review-editorial-item:nth-child(2n){border-right:0!important}
.ajsb-site .rrp-v2-exact-section.rrp-reviews-multi .rrp-review-editorial-item:nth-child(n+3){border-top:1px solid rgba(35,34,34,.18)!important}
.ajsb-site .rrp-v2-exact-section.rrp-reviews-multi .rrp-review-editorial-item:first-child{padding-left:30px!important}
.ajsb-site .rrp-v2-exact-section.rrp-reviews-multi .rrp-review-editorial-item:last-child{padding-right:30px!important;grid-column:auto!important}
.ajsb-site .rrp-v2-exact-section.rrp-reviews-multi .rrp-review-editorial-item blockquote{
  font-size:clamp(17px,1.45vw,21px)!important;line-height:1.5!important;
}
@media(max-width:767px){
  .ajsb-site .rrp-v2-exact-section.rrp-reviews-multi .rrp-review-editorial-list{grid-template-columns:1fr!important}
  .ajsb-site .rrp-v2-exact-section.rrp-reviews-multi .rrp-review-editorial-item{
    border-right:0!important;border-top:1px solid rgba(35,34,34,.18)!important;padding:24px 0!important;
  }
  .ajsb-site .rrp-v2-exact-section.rrp-reviews-multi .rrp-review-editorial-item:first-child{border-top:0!important;padding-left:0!important}
  .ajsb-site .rrp-v2-exact-section.rrp-reviews-multi .rrp-review-editorial-item:last-child{padding-right:0!important}
  .ajsb-site .rrp-v2-exact-section .rrp-service-panorama,
  .ajsb-site .rrp-v2-exact-section .rrp-service-panel{min-height:255px!important}
}

/* ========================================================================== 
   2.3.18 — Sep 30 Home follow-up: initial property-focused panorama concept.
   Uses the original client/reference house panorama and approved card copy.
   ========================================================================== */
.ajsb-site .rrp-v2-exact-section.rrp-services-panorama-section .rrp-services-copy .rrp-h2{
  margin-bottom:0!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-services-panorama-section .rrp-services-copy:has(.rrp-lead:empty){
  margin-bottom:28px!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-service-panorama{
  background-position:center 42%!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-service-panel-copy strong{
  text-transform:uppercase!important;
}

/* The approved concept has no standalone Live Home Search block on the Home page. */
.ajsb-site .rrp-v2-exact-section.rrp-mls-feature{display:none!important}


/* ========================================================================== 
   2.3.19 — Oct 1 screenshot-accurate Home service panorama QA correction.
   Latest client note: keep the approved section design, but show the HOUSE part
   of the supplied warm panorama like the initial property-focused concept.
   Copy remains exactly from the client Copy Document.
   ========================================================================== */
.ajsb-site .rrp-v2-exact-section.rrp-services-panorama-section .rrp-services-copy{
  margin-bottom:24px!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-services-panorama-section .rrp-services-copy .rrp-h2{
  margin-bottom:10px!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-services-panorama-section .rrp-services-copy .rrp-lead{
  display:block!important;
  max-width:760px!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-service-panorama{
  min-height:278px!important;
  background-size:cover!important;
  background-position:center 25%!important;
  background-repeat:no-repeat!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-service-panel{
  min-height:278px!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-service-panel-copy strong{
  text-transform:none!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-service-panel:hover,
.ajsb-site .rrp-v2-exact-section .rrp-service-panel:focus-visible{
  background:rgba(35,34,34,.22)!important;
  box-shadow:inset 0 0 0 1px rgba(255,239,200,.48)!important;
}
@media(max-width:767px){
  .ajsb-site .rrp-v2-exact-section .rrp-service-panorama{
    background-position:center 18%!important;
  }
}

/* ========================================================================== 
   2.3.20 — Oct 1 deterministic house-focused panorama crop.
   Client approved the section itself and requested that the visible image show
   the houses like the initial concept. The asset is now pre-cropped, so no
   browser/background-position combination can fall back to mulch/road.
   ========================================================================== */
.ajsb-site .rrp-v2-exact-section .rrp-service-panorama{
  background-image:var(--rrp-service-panorama)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  min-height:278px!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-service-panel{min-height:278px!important}
@media(max-width:767px){
  .ajsb-site .rrp-v2-exact-section .rrp-service-panorama{
    background-position:center center!important;
  }
}

/* ========================================================================== 
   2.3.21 — Oct 1 mobile QA + Areas-page follow-up.
   Mobile: fixed header actions, readable Kevin & Anna overlay, centered footer
   logo. Areas: hero typography/readability, cleaner location rhythm, brighter
   maps, balanced hover stats, and tighter transition into the final CTA.
   ========================================================================== */

/* Areas hero: client requested a little more tracking and clearer paragraph
   contrast without changing the approved desktop image itself. */
.ajsb-site .rrp-v2-exact-section.rrp-area-hero h1.rrp-display{
  letter-spacing:.018em!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-area-hero:before{
  background:linear-gradient(90deg,rgba(20,19,17,.90) 0%,rgba(20,19,17,.76) 40%,rgba(20,19,17,.43) 68%,rgba(20,19,17,.18) 100%)!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-area-hero .rrp-lead{
  color:rgba(255,255,255,.94)!important;
  text-shadow:0 2px 18px rgba(0,0,0,.34)!important;
}

/* Comment 10: remove the thin bottom rules under every location block. */
.ajsb-site .rrp-v2-exact-section .rrp-area-detail,
.ajsb-site .rrp-v2-exact-section .rrp-area-detail.reverse{
  border-bottom:0!important;
}

/* Comment 11: tighten the page rhythm before/after the map-card section. */
.ajsb-site .rrp-v2-exact-section.rrp-area-place-wrap{
  padding:30px 0!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-area-detail{
  padding:26px 0!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-market-areas-section{
  padding:48px 0 50px!important;
  margin:0!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-market-areas-section + .rrp-v2-exact-section.rrp-cta-wrap{
  padding-top:0!important;
}

/* Comment 6 follow-up: map art should feel like the visual subject, not a faint
   watermark. Let it crop outside the card slightly and keep all cards aligned. */
.ajsb-site .rrp-v2-exact-section .rrp-market-card{
  min-height:338px!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-market-card-map{
  inset:-5%!important;
  background-size:112% auto!important;
  background-position:center!important;
  opacity:.96!important;
  filter:saturate(1.08) brightness(1.16) contrast(1.08)!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-market-card:after{
  background:linear-gradient(180deg,rgba(25,24,22,.08) 0%,rgba(25,24,22,.30) 52%,rgba(25,24,22,.67) 100%)!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-market-card-hover{
  justify-content:center!important;
  gap:26px!important;
  padding:30px!important;
  background:rgba(29,28,26,.92)!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-market-card-heading{
  width:100%!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-start!important;
  gap:5px!important;
  padding-bottom:15px!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-market-card-heading strong{
  font-size:30px!important;
  line-height:1.05!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-market-stat-grid{
  width:100%!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:22px 24px!important;
  align-items:start!important;
  align-content:center!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-market-stat{
  min-height:58px!important;
  justify-content:flex-start!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-market-stat b{
  font-size:23px!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-market-card:hover .rrp-market-card-map,
.ajsb-site .rrp-v2-exact-section .rrp-market-card:focus-visible .rrp-market-card-map{
  transform:scale(1.035)!important;
  opacity:.48!important;
  filter:saturate(.92) brightness(.78) contrast(1.02)!important;
}

@media(max-width:767px){
  /* Comment 40: take the two primary actions out of the cramped header and
     make them a deliberate fixed mobile action tray. */
  .ajsb-site .aj-site-header .aj-header-actions{
    position:fixed!important;
    left:10px!important;
    right:10px!important;
    bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;
    z-index:10020!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:8px!important;
    width:auto!important;
    max-width:none!important;
    padding:8px!important;
    margin:0!important;
    border:1px solid rgba(35,34,34,.12)!important;
    border-radius:18px!important;
    background:rgba(255,253,248,.96)!important;
    box-shadow:0 14px 35px rgba(25,23,21,.20)!important;
    backdrop-filter:blur(12px)!important;
  }
  .ajsb-site .aj-site-header .aj-header-actions .aj-btn{
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    padding:0 10px!important;
    margin:0!important;
    font-size:10px!important;
    white-space:nowrap!important;
  }
  .ajsb-site{padding-bottom:82px!important}

  /* Comment 42: the pin is on the footer brand; center only the mobile footer
     logo without changing desktop or forcing all footer text to center. */
  .ajsb-site .aj-site-footer .aj-footer-brand .aj-footer-logo,
  .ajsb-site .rrp-site-footer .rrp-footer-logo{
    margin-left:auto!important;
    margin-right:auto!important;
  }

  /* Comment 41: mobile-only extra overlay for readable Kevin & Anna copy. */
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-photo:before{
    background:linear-gradient(180deg,rgba(20,18,16,.18) 0%,rgba(20,18,16,.42) 30%,rgba(20,18,16,.76) 58%,rgba(20,18,16,.94) 100%)!important;
  }
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-copy{
    text-shadow:0 2px 16px rgba(0,0,0,.34)!important;
  }

  /* Keep Areas hero readable at phone widths and preserve the requested title
     tracking without letting the line become too wide. */
  .ajsb-site .rrp-v2-exact-section.rrp-area-hero:before{
    background:linear-gradient(180deg,rgba(20,19,17,.44) 0%,rgba(20,19,17,.68) 45%,rgba(20,19,17,.88) 100%)!important;
  }
  .ajsb-site .rrp-v2-exact-section.rrp-area-hero h1.rrp-display{
    letter-spacing:.015em!important;
  }
  .ajsb-site .rrp-v2-exact-section.rrp-area-place-wrap{
    padding:20px 0!important;
  }
  .ajsb-site .rrp-v2-exact-section .rrp-area-detail{
    padding:20px 0!important;
  }
  .ajsb-site .rrp-v2-exact-section.rrp-market-areas-section{
    padding:36px 0 38px!important;
  }
  .ajsb-site .rrp-v2-exact-section .rrp-market-card{
    min-height:300px!important;
  }
  .ajsb-site .rrp-v2-exact-section .rrp-market-card-map{
    inset:-6%!important;
    background-size:118% auto!important;
    opacity:.38!important;
    filter:saturate(.95) brightness(.78)!important;
  }
  .ajsb-site .rrp-v2-exact-section .rrp-market-card-hover{
    padding:24px!important;
    gap:20px!important;
  }
  .ajsb-site .rrp-v2-exact-section .rrp-market-stat-grid{
    gap:18px!important;
  }
}

/* ========================================================================== 
   2.3.22 — Oct 2 mobile polish: header, Kevin & Anna, footer, SVG arrows.
   ========================================================================== */
@media(max-width:767px){
  /* Clean mobile header: logo is truly centered, hamburger stays on the right,
     and the two CTAs live only in the fixed bottom tray. */
  .ajsb-site .aj-site-header .aj-header-inner{
    position:relative!important;
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) 44px!important;
    align-items:center!important;
    width:100%!important;
    height:72px!important;
    min-height:72px!important;
    padding:0 12px!important;
    gap:0!important;
  }
  .ajsb-site .aj-site-header .aj-logo{
    grid-column:2!important;
    grid-row:1!important;
    justify-self:center!important;
    align-self:center!important;
    min-width:0!important;
    margin:0!important;
    position:relative!important;
    z-index:2!important;
  }
  .ajsb-site .aj-site-header .aj-logo img{
    display:block!important;
    width:auto!important;
    max-width:128px!important;
    max-height:58px!important;
    margin:0 auto!important;
  }
  .ajsb-site .aj-site-header .aj-mobile-menu-toggle{
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    margin:0!important;
    padding:8px!important;
    position:relative!important;
    z-index:3!important;
  }
  .ajsb-site .aj-site-header .aj-main-nav{
    z-index:10030!important;
  }

  /* Keep client-requested fixed mobile CTAs, but make the tray compact and
     independent from the header so it cannot collide with the logo/menu. */
  .ajsb-site .aj-site-header .aj-header-actions{
    left:50%!important;
    right:auto!important;
    bottom:max(10px,env(safe-area-inset-bottom,0px))!important;
    width:min(calc(100% - 24px),420px)!important;
    transform:translateX(-50%)!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:8px!important;
    padding:7px!important;
    border-radius:16px!important;
  }
  .ajsb-site .aj-site-header .aj-header-actions .aj-btn{
    min-height:44px!important;
    padding:0 9px!important;
    font-size:9.5px!important;
    letter-spacing:.07em!important;
  }

  /* Remove the white tail caused by padding the whole site for the fixed tray.
     Reserve the clearance inside the dark footer instead. */
  .ajsb-site{padding-bottom:0!important}
  .ajsb-site .aj-site-footer,
  .ajsb-site .rrp-site-footer{
    padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))!important;
  }

  /* Kevin & Anna: leave a real portrait window above the copy. The copy starts
     lower, while the lower-half overlay supplies contrast without obscuring faces. */
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-photo{
    min-height:690px!important;
    background-position:70% center!important;
  }
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-photo-inner{
    min-height:690px!important;
    align-items:flex-end!important;
  }
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-photo:before{
    content:''!important;
    display:block!important;
    background:linear-gradient(180deg,
      rgba(20,18,16,.02) 0%,
      rgba(20,18,16,.05) 38%,
      rgba(20,18,16,.24) 52%,
      rgba(20,18,16,.76) 68%,
      rgba(20,18,16,.95) 100%)!important;
  }
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-copy{
    width:100%!important;
    max-width:none!important;
    padding:24px 18px 30px!important;
    margin:0!important;
    background:transparent!important;
    text-shadow:0 2px 14px rgba(0,0,0,.45)!important;
  }
}

/* Render arrow glyph containers as crisp vector icons. Core still outputs a
   semantic span, but the visible artwork is SVG-mask based instead of text. */
.ajsb-site .aj-btn>span[aria-hidden="true"],
.ajsb-site .rrp-button .arrow,
.ajsb-site .micro-cta>span[aria-hidden="true"],
.ajsb-site .rrp-map-place>span[aria-hidden="true"],
.ajsb-site .rrp-service-panel-arrow,
.ajsb-site .rrp-area-feature-arrow,
.ajsb-site .rrp-area-row-arrow{
  display:inline-block!important;
  flex:0 0 auto!important;
  width:15px!important;
  height:15px!important;
  font-size:0!important;
  line-height:0!important;
  color:inherit!important;
  background-color:currentColor!important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat!important;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat!important;
}
.ajsb-site .rrp-service-panel-arrow{
  width:40px!important;
  height:40px!important;
  background-color:transparent!important;
  -webkit-mask:none!important;
  mask:none!important;
}
.ajsb-site .rrp-service-panel-arrow:before{
  content:''!important;
  display:block!important;
  width:16px!important;
  height:16px!important;
  background:#fff!important;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 17L17 7M9 7h8v8' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat!important;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 17L17 7M9 7h8v8' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat!important;
}


/* ========================================================================== 
   2.3.23 — Oct 2 mobile header logo recovery.
   Use an absolute centered brand with a CSS image fallback so AJ Core mobile
   layout rules cannot collapse or hide the Ravin Rock mark.
   ========================================================================== */
@media(max-width:767px){
  .ajsb-site .aj-site-header .aj-header-inner{
    position:relative!important;
    display:flex!important;
    align-items:center!important;
    justify-content:flex-end!important;
    width:100%!important;
    height:72px!important;
    min-height:72px!important;
    padding:0 14px!important;
  }
  .ajsb-site .aj-site-header .aj-logo{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    position:absolute!important;
    left:50%!important;
    top:50%!important;
    transform:translate(-50%,-50%)!important;
    width:132px!important;
    height:60px!important;
    min-width:132px!important;
    margin:0!important;
    padding:0!important;
    z-index:10031!important;
    background:url('../images/ravin-rock-properties-logo.png') center/contain no-repeat!important;
    overflow:visible!important;
  }
  .ajsb-site .aj-site-header .aj-logo img{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:132px!important;
    height:60px!important;
    max-width:132px!important;
    max-height:60px!important;
    object-fit:contain!important;
    margin:0!important;
  }
  .ajsb-site .aj-site-header .aj-mobile-menu-toggle{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    margin-left:auto!important;
    z-index:10032!important;
  }
}

/* ========================================================================== 
   2.3.24 — Oct 2 mobile header/action separation.
   Keep the real header as logo + hamburger only. Header CTAs are cloned by the
   pack into a body-level fixed tray so they can never overlap the centered logo.
   ========================================================================== */
.rrv2x-mobile-action-tray{display:none}
@media(max-width:767px){
  /* Restore a simple, deterministic three-column mobile header. */
  .ajsb-site .aj-site-header .aj-header-inner{
    position:relative!important;
    display:grid!important;
    grid-template-columns:44px minmax(0,1fr) 44px!important;
    align-items:center!important;
    width:100%!important;
    height:72px!important;
    min-height:72px!important;
    padding:0 12px!important;
    gap:0!important;
  }
  .ajsb-site .aj-site-header .aj-logo{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    position:static!important;
    grid-column:2!important;
    grid-row:1!important;
    justify-self:center!important;
    align-self:center!important;
    transform:none!important;
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    z-index:2!important;
    background:none!important;
    overflow:visible!important;
  }
  .ajsb-site .aj-site-header .aj-logo img{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    width:auto!important;
    height:auto!important;
    max-width:128px!important;
    max-height:58px!important;
    object-fit:contain!important;
    margin:0 auto!important;
  }
  .ajsb-site .aj-site-header .aj-mobile-menu-toggle{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    position:static!important;
    grid-column:3!important;
    grid-row:1!important;
    justify-self:end!important;
    align-self:center!important;
    margin:0!important;
    padding:8px!important;
    z-index:3!important;
  }

  /* Never fix the original header-actions container. */
  .ajsb-site .aj-site-header .aj-header-actions{
    display:none!important;
    position:static!important;
    inset:auto!important;
    transform:none!important;
  }

  /* Dedicated body-level action tray. */
  .rrv2x-mobile-action-tray{
    position:fixed!important;
    z-index:10020!important;
    left:50%!important;
    right:auto!important;
    bottom:max(10px,env(safe-area-inset-bottom,0px))!important;
    transform:translateX(-50%)!important;
    width:min(calc(100% - 24px),420px)!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
    gap:8px!important;
    padding:7px!important;
    margin:0!important;
    border:1px solid rgba(35,34,34,.12)!important;
    border-radius:16px!important;
    background:rgba(255,253,248,.97)!important;
    box-shadow:0 14px 35px rgba(25,23,21,.20)!important;
    backdrop-filter:blur(12px)!important;
  }
  .rrv2x-mobile-action-tray .aj-btn{
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    padding:0 9px!important;
    margin:0!important;
    border-radius:999px!important;
    font-size:9.5px!important;
    letter-spacing:.07em!important;
    white-space:nowrap!important;
  }
  .rrv2x-mobile-action-tray .aj-btn>span[aria-hidden="true"]{
    display:inline-block!important;
    flex:0 0 auto!important;
    width:15px!important;
    height:15px!important;
    font-size:0!important;
    line-height:0!important;
    background-color:currentColor!important;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat!important;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat!important;
  }

  .ajsb-site{padding-bottom:0!important}
  .ajsb-site .aj-site-footer,
  .ajsb-site .rrp-site-footer{
    padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))!important;
  }
}

/* ========================================================================== 
   2.3.25 — Oct 2 mobile menu cleanup.
   The fixed bottom action tray already owns Search Homes / Call & Text on
   mobile. Remove AJ Core's duplicate in-menu CTA so the open navigation is
   only Home / Areas / Contact and cannot show an empty black pill.
   ========================================================================== */
@media(max-width:767px){
  .ajsb-site .aj-site-header .aj-main-nav .aj-mobile-nav-cta{
    display:none!important;
  }
  .ajsb-site .aj-site-header .aj-main-nav.is-open{
    display:block!important;
    width:min(168px,calc(100vw - 28px))!important;
    left:auto!important;
    right:12px!important;
    padding:16px 14px!important;
    border-radius:26px!important;
    overflow:hidden!important;
  }
  .ajsb-site .aj-site-header .aj-main-nav.is-open>ul{
    margin:0!important;
    padding:0!important;
    gap:6px!important;
  }
  .ajsb-site .aj-site-header .aj-main-nav.is-open>ul>li>a{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height:54px!important;
    padding:10px 12px!important;
    white-space:nowrap!important;
  }
}

/* ========================================================================== 
   2.3.26 — Oct 3 client follow-up: 4th Harnett card + mobile story layout.
   ========================================================================== */

/* Four market cards on wide screens; keep the client's 2-up and 1-up responsive flow. */
.ajsb-site .rrp-v2-exact-section .rrp-market-areas-grid{
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:14px!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-market-card{
  min-height:320px!important;
}
.ajsb-site .rrp-v2-exact-section .rrp-market-card-map{
  background-size:118% auto!important;
}
/* Comment 15: Lillington source artwork is visibly dimmer than Sanford/Broadway. */
.ajsb-site .rrp-v2-exact-section .rrp-market-card:nth-child(3) .rrp-market-card-map{
  opacity:1!important;
  filter:saturate(1.38) brightness(1.42) contrast(1.10)!important;
}
@media(max-width:1180px){
  .ajsb-site .rrp-v2-exact-section .rrp-market-areas-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media(max-width:767px){
  .ajsb-site .rrp-v2-exact-section .rrp-market-areas-grid{grid-template-columns:1fr!important}

  /* Comment 41 follow-up: do not put copy over Kevin & Anna's faces.
     Mobile is now an image-first portrait panel followed by a separate black copy block. */
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-photo{
    display:block!important;
    min-height:0!important;
    padding-top:390px!important;
    background-position:66% top!important;
    background-size:auto 390px!important;
    background-repeat:no-repeat!important;
    background-color:#171614!important;
    overflow:hidden!important;
  }
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-photo:before{
    content:none!important;
    display:none!important;
    background:none!important;
  }
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-photo-inner{
    display:block!important;
    min-height:0!important;
    padding:0!important;
    margin:0!important;
    max-width:none!important;
    width:100%!important;
  }
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-copy{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:28px 22px 30px!important;
    background:#171614!important;
    color:#fff!important;
    text-shadow:none!important;
  }
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-copy .rrp-h2,
  .ajsb-site .rrp-v2-exact-section.rrp-story-editorial .rrp-story-wide-copy .rrp-copy{
    color:#fff!important;
  }
}


/* ==========================================================================
   2.3.27 — Featured Commercial Opportunities
   Client-supplied Matrix listings. Beige testimonial-adjacent editorial block
   with two commercial property cards, responsive to a single column on mobile.
   ========================================================================== */
.ajsb-site .rrp-v2-exact-section.rrp-commercial-listings{
  background:var(--rrp-tan,#FFEFC8)!important;
  padding:88px 0 94px!important;
}
.ajsb-site .rrp-commercial-head{
  max-width:980px;
  margin:0 auto 42px;
  text-align:center;
}
.ajsb-site .rrp-commercial-head .rrp-kicker{
  color:var(--rrp-brown,#AA753F)!important;
  margin-bottom:14px!important;
}
.ajsb-site .rrp-commercial-rule{
  display:block;
  width:52px;
  height:2px;
  margin:0 auto 20px;
  background:var(--rrp-brown,#AA753F);
  opacity:.8;
}
.ajsb-site .rrp-commercial-head .rrp-h2{
  width:100%!important;
  max-width:900px!important;
  margin:0 auto 12px!important;
  text-align:center!important;
  color:var(--rrp-charcoal,#232222)!important;
  font-size:clamp(42px,4.4vw,68px)!important;
  line-height:1.02!important;
}
.ajsb-site .rrp-commercial-head .rrp-lead{
  max-width:760px;
  margin:0 auto!important;
  color:var(--rrp-body,#67625F)!important;
  font-size:18px!important;
}
.ajsb-site .rrp-commercial-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:30px;
  align-items:stretch;
}
.ajsb-site .rrp-commercial-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  background:var(--rrp-paper,#FCFAF5);
  border:1px solid rgba(170,117,63,.18);
  box-shadow:0 18px 46px rgba(35,34,34,.08);
}
.ajsb-site .rrp-commercial-media{
  width:100%;
  overflow:hidden;
  background:#dfd5c4;
}
.ajsb-site .rrp-commercial-media img{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1024 / 651;
  object-fit:cover;
}
.ajsb-site .rrp-commercial-body{
  display:flex;
  flex-direction:column;
  flex:1;
  padding:24px 26px 26px;
}
.ajsb-site .rrp-commercial-body h3{
  margin:0 0 6px!important;
  color:var(--rrp-charcoal,#232222)!important;
  font-family:"Lora",Georgia,serif!important;
  font-size:clamp(25px,2.1vw,35px)!important;
  line-height:1.18!important;
  font-weight:500!important;
}
.ajsb-site .rrp-commercial-location{
  color:var(--rrp-body,#67625F)!important;
  font-size:13px!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
  margin-bottom:18px;
}
.ajsb-site .rrp-commercial-meta{
  display:grid;
  grid-template-columns:1.05fr .78fr 1.38fr;
  align-items:center;
  margin-top:auto;
  margin-bottom:20px;
  border-top:1px solid rgba(35,34,34,.18);
  border-bottom:1px solid rgba(35,34,34,.18);
}
.ajsb-site .rrp-commercial-meta span{
  display:flex;
  align-items:center;
  min-height:66px;
  padding:12px 16px;
  color:var(--rrp-charcoal,#232222)!important;
  font-family:"Manrope",Arial,sans-serif!important;
  font-size:13px!important;
  line-height:1.35!important;
}
.ajsb-site .rrp-commercial-meta span+span{
  border-left:1px solid rgba(35,34,34,.18);
}
.ajsb-site .rrp-commercial-meta .price{
  padding-left:0;
  color:var(--rrp-brown,#AA753F)!important;
  font-family:"Lora",Georgia,serif!important;
  font-size:30px!important;
  line-height:1!important;
}
.ajsb-site .rrp-commercial-link{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  min-height:50px;
  width:100%;
  border:1px solid var(--rrp-brown,#AA753F);
  color:var(--rrp-brown,#AA753F)!important;
  background:transparent;
  font-family:"Manrope",Arial,sans-serif!important;
  font-size:11px!important;
  font-weight:800!important;
  letter-spacing:.16em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  transition:background .2s ease,color .2s ease;
}
.ajsb-site .rrp-commercial-link:hover,
.ajsb-site .rrp-commercial-link:focus-visible{
  background:var(--rrp-brown,#AA753F)!important;
  color:var(--rrp-white,#FFFDF8)!important;
}
.ajsb-site .rrp-commercial-arrow{
  width:16px;
  height:16px;
  flex:0 0 16px;
  background-color:currentColor;
  -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
  mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12h13M13 6l6 6-6 6' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;
}
@media(max-width:960px){
  .ajsb-site .rrp-commercial-grid{grid-template-columns:1fr!important;gap:24px!important}
  .ajsb-site .rrp-commercial-head{margin-bottom:32px!important}
}
@media(max-width:767px){
  .ajsb-site .rrp-v2-exact-section.rrp-commercial-listings{padding:62px 0 66px!important}
  .ajsb-site .rrp-commercial-head{text-align:center!important;margin-bottom:26px!important}
  .ajsb-site .rrp-commercial-head .rrp-kicker{display:flex!important;justify-content:center!important;margin-bottom:10px!important}
  .ajsb-site .rrp-commercial-rule{margin:0 auto 16px!important}
  .ajsb-site .rrp-commercial-head .rrp-h2{max-width:100%!important;margin:0 auto 12px!important;text-align:center!important;font-size:38px!important}
  .ajsb-site .rrp-commercial-head .rrp-lead{max-width:100%!important;margin:0 auto!important;text-align:center!important;font-size:16px!important}
  .ajsb-site .rrp-commercial-body{padding:20px!important}
  .ajsb-site .rrp-commercial-body h3{font-size:26px!important}
  .ajsb-site .rrp-commercial-meta{grid-template-columns:1fr!important}
  .ajsb-site .rrp-commercial-meta span{
    min-height:0!important;
    padding:11px 0!important;
  }
  .ajsb-site .rrp-commercial-meta span+span{
    border-left:0!important;
    border-top:1px solid rgba(35,34,34,.14)!important;
  }
  .ajsb-site .rrp-commercial-meta .price{font-size:28px!important}
}


/* ==========================================================================
   2.3.28 — Commercial section heading centering
   The generic Exact-V2 H2 max-width left-anchored the commercial heading box.
   Keep the entire commercial intro optically and mathematically centered.
   ========================================================================== */
.ajsb-site .rrp-v2-exact-section.rrp-commercial-listings .rrp-commercial-head{
  width:100%!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-commercial-listings .rrp-commercial-head .rrp-kicker{
  justify-content:center!important;
  text-align:center!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-commercial-listings .rrp-commercial-head .rrp-h2{
  width:100%!important;
  max-width:900px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-commercial-listings .rrp-commercial-head .rrp-lead{
  margin-left:auto!important;
  margin-right:auto!important;
  text-align:center!important;
}

/* ==========================================================================
   2.3.30 — Oct 17 follow-up
   - Commercial section: white section, beige cards, no decorative rule/subtitle.
   - Guidance: more breathing room between the title and first paragraph.
   ========================================================================== */
.ajsb-site .rrp-v2-exact-section.rrp-commercial-listings{
  background:#fff!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-commercial-listings .rrp-commercial-rule,
.ajsb-site .rrp-v2-exact-section.rrp-commercial-listings .rrp-commercial-head .rrp-lead{
  display:none!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-commercial-listings .rrp-commercial-head{
  margin-bottom:44px!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-commercial-listings .rrp-commercial-head .rrp-kicker{
  margin-bottom:22px!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-commercial-listings .rrp-commercial-head .rrp-h2{
  margin-bottom:0!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-commercial-listings .rrp-commercial-card{
  background:var(--rrp-tan,#FFEFC8)!important;
  border-color:rgba(170,117,63,.22)!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-commercial-listings .rrp-commercial-body{
  background:transparent!important;
}
.ajsb-site .rrp-v2-exact-section.rrp-guidance-editorial .rrp-guidance-copy > .rrp-h2{
  margin-bottom:38px!important;
}
@media(max-width:767px){
  .ajsb-site .rrp-v2-exact-section.rrp-commercial-listings .rrp-commercial-head{
    margin-bottom:30px!important;
  }
  .ajsb-site .rrp-v2-exact-section.rrp-commercial-listings .rrp-commercial-head .rrp-kicker{
    margin-bottom:16px!important;
  }
  .ajsb-site .rrp-v2-exact-section.rrp-guidance-editorial .rrp-guidance-copy > .rrp-h2{
    margin-bottom:28px!important;
  }
}


/* SEO/accessibility semantic mirrors for meaningful CSS-background images. */
.rrp-seo-image{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important;pointer-events:none!important}
