:root{
  --purple:#2F5A45; --purple-deep:#1F3A2D; --forest:#1F3A2D; --ink:#1b2a22; --gold:#B08D4F; --gold-soft:#D2B375; --bronze:#8E6B2E;
  --cream:#E4DED3; --paper:#FFFFFF; --muted:#5b665f;
  --serif:'Jost',Futura,'Helvetica Neue',sans-serif; --sans:'Jost',Futura,'Helvetica Neue',sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%}
a{color:inherit}
.wrap{max-width:1180px;margin:0 auto;padding:0 24px}
.two{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.center{text-align:center}
h1,h2,h3{font-family:var(--serif);font-weight:300;line-height:1.1}
h2{font-size:clamp(2rem,4vw,3.1rem);margin-bottom:18px}
p{margin-bottom:16px}
.eyebrow{font-size:.72rem;letter-spacing:.28em;text-transform:uppercase;color:var(--gold-soft);margin-bottom:16px;font-weight:400}
.eyebrow.dark{color:var(--bronze)}
.lead{font-family:var(--serif);font-size:1.45rem;line-height:1.5}
.tiny{font-size:.74rem;color:var(--muted)}
.btn{display:inline-block;background:var(--gold-soft);color:var(--forest);text-decoration:none;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;padding:16px 32px;border:1px solid var(--gold-soft);cursor:pointer;font-family:var(--sans);font-weight:400;transition:.25s}
.btn:hover{background:#fff;color:var(--forest)}
.btn.ghost{background:transparent;border-color:rgba(255,255,255,.6);color:#fff}
.btn.ghost:hover{background:#fff;color:var(--purple)}

.nav{position:fixed;inset:0 0 auto 0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:16px 40px;color:#fff;transition:.3s}
.nav.solid{background:rgba(31,58,45,.96);backdrop-filter:blur(8px);padding:10px 40px}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none}
.brand img{height:58px;width:58px;border:1px solid rgba(255,255,255,.35)}
.brand span{font-family:var(--serif);font-size:1.4rem;border-left:1px solid rgba(255,255,255,.4);padding-left:14px}
.links{display:flex;gap:28px;align-items:center}
.links a{text-decoration:none;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase}
.links a:hover{color:var(--gold-soft)}
.links .cta{border:1px solid var(--gold-soft);padding:10px 18px}
.burger{display:none;background:none;border:0;width:32px;height:24px;position:relative;cursor:pointer}
.burger span{position:absolute;left:0;right:0;height:2px;background:#fff}
.burger span:first-child{top:7px}.burger span:last-child{top:15px}

.hero{position:relative;color:#fff;padding:170px 0 110px;overflow:hidden}
.hero-bg{position:absolute;inset:0;background:radial-gradient(900px 500px at 85% 20%,rgba(176,141,79,.28),transparent 60%),linear-gradient(135deg,#2F5A45 0%,#1F3A2D 70%)}
.hero-bg::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,transparent 0 60px,rgba(255,255,255,.025) 60px 61px)}
.hero-grid{position:relative;display:grid;grid-template-columns:1.3fr 1fr;gap:60px;align-items:center}
.hero h1{font-size:clamp(3rem,7vw,5.8rem);margin-bottom:22px}
.hero h1 em{color:var(--gold-soft)}
.sub{font-size:1.1rem;max-width:520px;color:#ece6d8}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin:30px 0 40px}
.proof{display:flex;gap:40px;list-style:none;border-top:1px solid rgba(255,255,255,.25);padding-top:22px}
.proof b{display:block;font-family:var(--serif);font-size:1.35rem;font-weight:400}
.proof span{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft)}
.portrait{position:relative;justify-self:center;width:min(380px,100%)}
.portrait img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;border:1px solid var(--gold);padding:10px;background:rgba(255,255,255,.06)}
.portrait figcaption{position:absolute;left:-24px;bottom:34px;background:var(--paper);color:var(--ink);padding:14px 22px;font-family:var(--serif);font-size:1.4rem;box-shadow:0 14px 40px rgba(0,0,0,.35)}
.portrait figcaption span{display:block;font-family:var(--sans);font-size:.6rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}

.featured{padding:110px 0 70px;background:var(--cream)}
.feat-card{display:grid;grid-template-columns:1.2fr 1fr;background:var(--paper);text-decoration:none;box-shadow:0 30px 70px rgba(31,58,45,.15);transition:transform .4s,box-shadow .4s}
.feat-card:hover{transform:translateY(-4px);box-shadow:0 40px 80px rgba(31,58,45,.22)}
.feat-img{position:relative;min-height:420px;overflow:hidden}
.feat-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.4s}
.feat-card:hover .feat-img img{transform:scale(1.05)}
.badge{position:absolute;top:20px;left:20px;background:var(--purple);color:#fff;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;padding:8px 14px}
.feat-body{padding:44px 44px}
.feat-body h2{margin-bottom:4px}
.addr{color:var(--muted);margin-bottom:10px}
.price{font-family:var(--serif);font-size:2.4rem;color:var(--purple);margin-bottom:12px}
.stats{display:flex;gap:22px;list-style:none;margin-bottom:18px;font-size:.84rem;color:var(--muted);flex-wrap:wrap}
.stats b{font-family:var(--serif);font-size:1.5rem;color:var(--ink);font-weight:400}
.link{display:inline-block;color:var(--purple);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;border-bottom:1px solid var(--gold);padding-bottom:3px;margin:8px 0 14px}

.search{padding:90px 0 110px;background:var(--cream)}
.idx{margin-top:36px;min-height:260px;background:var(--paper);border:1px dashed #cfc9b8}
.idx-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:60px 24px;text-align:center}
.idx-placeholder b{font-family:var(--serif);font-size:1.8rem;font-weight:400}
.idx-placeholder span{color:var(--muted);margin-bottom:12px}

.market{background:var(--purple-deep);color:#fff;padding:110px 0}
.sec-head{display:flex;justify-content:space-between;align-items:end;gap:30px;flex-wrap:wrap;margin-bottom:44px}
.sec-head h2{margin-bottom:0;max-width:640px}
.updated{font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft);margin:0}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.tile{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);padding:26px;display:flex;flex-direction:column;gap:6px}
.tile h3{font-family:var(--sans);font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);font-weight:400}
.tile .val{font-family:var(--serif);font-size:3rem;line-height:1}
.tile .chg{font-size:.8rem;color:#cfc9b8}
.tile .up{color:#f2b8a0}.tile .down{color:#a8e0bd}
.tile svg{width:100%;height:54px;margin-top:10px}
.tile .src{font-size:.66rem;color:#b7b09c;margin-top:6px}

.news{padding:110px 0;background:var(--paper)}
.chips{display:flex;gap:8px;flex-wrap:wrap}
.chip{background:none;border:1px solid #cfc9b8;color:var(--purple);font:inherit;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;padding:8px 14px;cursor:pointer}
.chip.on,.chip:hover{background:var(--purple);color:#fff;border-color:var(--purple)}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:26px}
.card{display:flex;flex-direction:column;background:var(--cream);text-decoration:none;padding:28px;border-top:3px solid var(--gold);transition:transform .3s,box-shadow .3s}
.card:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(31,58,45,.12)}
.card .src{font-size:.64rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}
.card h3{font-size:1.5rem;margin:10px 0}
.card p{font-size:.88rem;color:var(--muted);margin-bottom:14px}
.card time{margin-top:auto;font-size:.7rem;color:var(--muted)}

.about{padding:110px 0;background:var(--cream)}
.about figure img{width:100%;aspect-ratio:4/5;object-fit:cover}
.svc{list-style:none;margin-top:24px}
.svc li{display:flex;gap:22px;padding:14px 0;border-bottom:1px solid #ddd3c2}
.svc b{font-family:var(--serif);font-size:1.5rem;font-weight:400;min-width:110px}
.svc span{color:var(--muted);font-size:.9rem;align-self:center}

.contact{background:linear-gradient(135deg,var(--purple) 0%,var(--purple-deep) 100%);color:#fff;padding:110px 0}
.reach{list-style:none;margin-top:30px}
.reach li{padding:14px 0;border-bottom:1px solid rgba(255,255,255,.2)}
.reach span{display:block;font-size:.66rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft)}
.reach a{text-decoration:none;font-family:var(--serif);font-size:1.5rem}
.form{display:grid;gap:18px;background:rgba(255,255,255,.07);padding:36px;border:1px solid rgba(255,255,255,.18)}
.form label{font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);display:grid;gap:8px}
.form input,.form textarea,.form select{font:inherit;font-size:1rem;letter-spacing:0;text-transform:none;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.4);color:#fff;padding:8px 0;outline:0}
.form select option{color:#000}
.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--gold)}
.hp{position:absolute;left:-9999px}

footer{background:#12261d;color:#cfc9b8;padding:56px 0;font-size:.8rem}
.foot{text-align:center}
.foot-logo{width:140px;margin:0 auto 20px;border:1px solid rgba(255,255,255,.3)}
.marks{display:flex;gap:18px;justify-content:center;margin-bottom:22px}
.marks img{height:46px;width:auto;background:#fff;padding:5px;border-radius:3px}
.fine{max-width:780px;margin:14px auto 0;font-size:.7rem;opacity:.75}
.fine a{text-decoration:underline}

.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s,transform .9s}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}html{scroll-behavior:auto}}

@media(max-width:900px){
  .two,.hero-grid,.feat-card{grid-template-columns:1fr}
  .two{gap:36px}
  .nav,.nav.solid{padding:10px 18px}
  .brand img{height:44px}.brand span{display:none}
  .burger{display:block}
  .links{position:fixed;inset:64px 0 auto 0;background:var(--purple-deep);flex-direction:column;padding:28px;gap:20px;display:none}
  .links.open{display:flex}
  .hero{padding:130px 0 80px}
  .portrait figcaption{left:12px}
  .proof{gap:24px;flex-wrap:wrap}
  .feat-img{min-height:280px}.feat-body{padding:28px 22px}
  .cards{grid-template-columns:1fr}
  .featured,.news,.about,.market,.contact{padding:76px 0}
  .form{padding:24px}
}

.signup{background:var(--paper);padding:70px 0;border-bottom:1px solid #d6cfc0;position:relative;z-index:2;margin-top:-1px}
.signup-in{display:grid;grid-template-columns:1fr 1.2fr;gap:56px;align-items:center}
.signup-copy h2{font-size:clamp(1.9rem,3.4vw,2.7rem);color:var(--purple-deep)}
.signup-copy .eyebrow{color:var(--bronze)}
.signup-copy p{color:var(--muted)}
.signup-form{display:grid;gap:16px;background:var(--cream);padding:30px;border-top:3px solid var(--gold);box-shadow:0 20px 50px rgba(31,58,45,.10)}
.signup-form .row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.signup-form label{font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--purple);display:grid;gap:6px}
.signup-form input,.signup-form select{font:inherit;font-size:1rem;letter-spacing:0;text-transform:none;background:#fff;border:1px solid #e0dacb;padding:11px 12px;color:var(--ink);outline:0}
.signup-form input:focus,.signup-form select:focus{border-color:var(--gold)}
@media(max-width:900px){.signup-in{grid-template-columns:1fr;gap:28px}.signup{padding:50px 0}.signup-form .row{grid-template-columns:1fr}}

/* ---------- video hero ---------- */
.hero-video{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:120px 0 90px;background:#1F3A2D}
.hero-video video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.2s}
.hero-video video.on{opacity:1}
.hero-video{background:#1F3A2D url(img/hero-poster.jpg) center/cover no-repeat}
.hero-video .hero-shade{position:absolute;inset:0;background:radial-gradient(ellipse 60% 48% at 50% 44%,rgba(16,32,24,.62),transparent 75%),linear-gradient(180deg,rgba(16,32,24,.72) 0%,rgba(31,58,45,.5) 45%,rgba(16,32,24,.8) 100%)}
.hero-center{position:relative;text-align:center;padding:0 24px;width:100%;max-width:880px}
.hero-logo{width:min(720px,88vw);margin:0 auto 26px;filter:drop-shadow(0 6px 30px rgba(0,0,0,.4))}
.hero-tag{font-size:.78rem;letter-spacing:.34em;text-transform:uppercase;color:#f1e8d6;margin-bottom:34px}
.hero-search{display:flex;max-width:720px;margin:0 auto;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.hero-search input{flex:1;font:inherit;font-size:1rem;padding:18px 22px;border:0;outline:0;background:rgba(255,255,255,.96);color:var(--ink);min-width:0}
.hero-search button{background:var(--gold-soft);color:var(--forest);border:0;padding:0 34px;font:inherit;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;cursor:pointer;font-weight:400}
.hero-search button:hover{background:#fff}
.hero-links{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;list-style:none;margin-top:22px}
.hero-links a{display:block;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.55);padding:11px 22px;font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;background:rgba(31,58,45,.25);backdrop-filter:blur(4px);transition:.25s}
.hero-links a:hover{background:#fff;color:var(--purple)}

/* nav brand */
.brand{gap:14px}
.brand .b-sq{height:46px;width:46px}
.brand .b-name{height:34px;width:auto;border:0;padding:0;border-left:1px solid rgba(255,255,255,.35);padding-left:14px}
.brand img{border:1px solid rgba(255,255,255,.35)}
.brand .b-name{border:0;border-left:1px solid rgba(255,255,255,.35)}
body.inner .nav{background:rgba(31,58,45,.97)}
.links a{font-size:.68rem;letter-spacing:.16em}
.links{gap:22px}
.foot-name{width:min(420px,80%);margin:0 auto 22px}
.foot-links{display:flex;gap:22px;justify-content:center;flex-wrap:wrap;margin:6px 0 18px}
.foot-links a{text-decoration:none;font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-soft)}

/* about photo */
.bio-photo{justify-self:center;width:min(380px,100%)}
.bio-photo img{width:100%;aspect-ratio:4/5;object-fit:cover;object-position:top;box-shadow:0 30px 60px rgba(31,58,45,.25);border-bottom:4px solid var(--gold)}
.ghost-dark{background:transparent;color:var(--purple);border-color:var(--purple)}
.ghost-dark:hover{background:var(--purple);color:#fff}

/* inner pages */
.page-hero{position:relative;color:#fff;padding:170px 0 80px;overflow:hidden}
.page-hero-bg{position:absolute;inset:0;background:radial-gradient(800px 380px at 85% 0%,rgba(176,141,79,.25),transparent 60%),linear-gradient(135deg,#2F5A45 0%,#1F3A2D 75%)}
.page-hero .wrap{position:relative}
.page-hero h1{font-size:clamp(2.6rem,6vw,4.6rem);margin-bottom:12px}
.page-hero .sub{font-size:1.1rem;color:#ece6d8;max-width:620px}
.draft-tag{display:inline-block;background:#D2B375;color:#1F3A2D;font-size:.62rem;letter-spacing:.2em;text-transform:uppercase;padding:4px 10px;margin-bottom:14px;font-weight:300}
.prose-sec{padding:90px 0}
.prose-sec.alt{background:var(--cream)}
.narrow{max-width:860px}
.wrap.narrow{margin:0 auto}
.prose p,.prose-sec p{max-width:70ch}
.prose h2,.prose-sec h2{margin-bottom:18px}
.prose-sec .center{margin-left:auto;margin-right:auto}
.muted{color:var(--muted)}
.steps{list-style:none;margin:34px 0 10px;counter-reset:s;border-left:2px solid var(--gold-soft);padding-left:28px}
.steps li{position:relative;padding:0 0 28px}
.steps li::before{content:"";position:absolute;left:-36px;top:8px;width:14px;height:14px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px var(--paper)}
.prose-sec.alt .steps li::before{box-shadow:0 0 0 5px var(--cream)}
.steps h3{font-size:1.7rem;margin-bottom:6px;color:var(--purple-deep)}
.steps p{margin:0;color:var(--muted)}
.cards3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:26px 0}
.cards3.four{grid-template-columns:repeat(4,1fr)}
.pcard{background:var(--paper);padding:26px;border-top:3px solid var(--gold);box-shadow:0 10px 30px rgba(31,58,45,.07)}
.prose-sec:not(.alt) .pcard{background:var(--cream)}
.pcard b{font-family:var(--serif);font-size:1.5rem;font-weight:400;display:block;margin-bottom:8px;color:var(--purple-deep)}
.pcard p{font-size:.92rem;color:var(--muted);margin-bottom:8px}
.check{list-style:none;margin:20px 0 26px}
.check li{position:relative;padding:9px 0 9px 34px;border-bottom:1px solid #d6cfc0}
.check li::before{content:"";position:absolute;left:4px;top:15px;width:14px;height:8px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);transform:rotate(-45deg)}
.check.small li{font-size:.9rem;padding:7px 0 7px 30px}
.faq{margin:18px 0 24px}
.faq details{border-bottom:1px solid #dccfb9;padding:16px 0}
.faq summary{cursor:pointer;font-family:var(--serif);font-size:1.4rem;list-style:none;position:relative;padding-right:30px}
.faq summary::after{content:"+";position:absolute;right:0;top:0;color:var(--bronze);font-size:1.6rem}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin:12px 0 0;color:var(--muted)}
.cta-band{background:linear-gradient(135deg,var(--purple),var(--purple-deep));color:#fff;text-align:center;padding:70px 0}
.cta-band h2{margin-bottom:8px}.cta-band a{color:var(--gold-soft)}
.facts-list{list-style:none;margin:26px 0;display:grid;gap:10px}
.facts-list li{padding:10px 0;border-bottom:1px solid #d6cfc0;font-size:.92rem}
.facts-list b{display:inline-block;min-width:120px;font-size:.66rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}
.bio .bio-photo{align-self:start;position:sticky;top:110px}
.card-form{display:grid;gap:16px;background:var(--cream);padding:32px;border-top:3px solid var(--gold);box-shadow:0 20px 50px rgba(31,58,45,.1)}
.card-form .row,.tool .row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.card-form label,.tool label{font-size:.64rem;letter-spacing:.18em;text-transform:uppercase;color:var(--purple);display:grid;gap:6px}
.card-form input,.card-form select,.card-form textarea,.tool input,.tool select{font:inherit;font-size:1rem;letter-spacing:0;text-transform:none;background:#fff;border:1px solid #e0dacb;padding:10px 12px;color:var(--ink);outline:0;width:100%}
.card-form input:focus,.card-form select:focus,.tool input:focus,.tool select:focus,.card-form textarea:focus{border-color:var(--gold)}
.tools{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:34px}
.tool{display:grid;gap:14px;background:var(--cream);padding:30px;border-top:3px solid var(--gold);align-content:start}
.tool h3{font-size:1.9rem;margin-bottom:2px;color:var(--purple-deep)}
.out{display:grid;gap:8px;background:var(--paper);padding:18px;border:1px solid #d6cfc0}
.out div{display:flex;justify-content:space-between;gap:16px;font-size:.92rem}
.out span{color:var(--muted)}
.out .big{border-top:1px solid #d6cfc0;padding-top:10px;margin-top:4px}
.out .big b{font-family:var(--serif);font-size:1.7rem;color:var(--purple);font-weight:400}
@media(max-width:900px){
  .hero-video{padding:110px 0 70px}
  .brand .b-name{display:none}
  .cards3,.cards3.four,.tools{grid-template-columns:1fr}
  .card-form .row,.tool .row{grid-template-columns:1fr}
  .page-hero{padding:130px 0 60px}.prose-sec{padding:60px 0}
  .bio .bio-photo{position:static}
  .hero-search button{padding:0 20px}
}
@media print{.nav,footer,.cta-band,.page-hero{display:none}}

@media(max-width:1280px){.brand .b-name{display:none}}
@media(max-width:1100px){.links{gap:16px}.links a{font-size:.62rem;letter-spacing:.12em}.nav,.nav.solid{padding-left:22px;padding-right:22px}}
@media(max-width:980px){
  .burger{display:block}
  .links{position:fixed;inset:68px 0 auto 0;background:var(--purple-deep);flex-direction:column;padding:28px;gap:20px;display:none;align-items:flex-start}
  .links.open{display:flex}.links a{font-size:.8rem}
}

/* ---------- Reagan brand (Oct 2026) ---------- */
@font-face{font-family:'Jost';font-weight:300;font-style:normal;font-display:swap;src:url(fonts/Jost-300.ttf) format('truetype')}
@font-face{font-family:'Jost';font-weight:400;font-style:normal;font-display:swap;src:url(fonts/Jost-400.ttf) format('truetype')}
/* Illinois advertising rule (68 Ill. Adm. Code 1450.715 / License Act 10-30): the brokerage NAME LETTERING must be at least as tall as the REAGAN lettering. The Rutenberg logo letters are ~0.19 of its height, REAGAN letters are ~0.355 of its height, so the Rutenberg logo is set at 1.9x the Reagan logo height. Do not size them separately. */
.lockup{display:flex;align-items:center;justify-content:center;gap:clamp(14px,2.4vw,28px);--lh:clamp(54px,9vw,104px)}
.lockup{align-items:center}.lockup img:first-child{height:var(--lh);width:auto;max-width:none}
.lockup img:last-child{height:calc(var(--lh)*1.9);width:auto;max-width:none}
.lockup .div{width:1px;height:calc(var(--lh)*1.9);background:rgba(242,235,219,.45)}
.lockup.foot-lock{--lh:46px;margin:0 auto 26px}
.hero-id{font-size:.8rem;letter-spacing:.14em;color:#F2EBDB;margin:26px 0 12px}
h1,h2,h3{letter-spacing:.01em}
.eyebrow,.hero-tag{letter-spacing:.34em}
.testi{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:34px;text-align:left}
.tcard{background:#fff;border-top:3px solid var(--gold);padding:30px 28px;box-shadow:0 10px 30px rgba(31,58,45,.08)}
.tcard .q{font-size:3.2rem;line-height:.6;color:var(--gold);display:block;margin-bottom:12px;font-weight:300}
.tcard p{font-size:1.02rem;margin-bottom:16px}
.tcard .who{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:var(--bronze)}
.tcard.ph{border:1px dashed #b9b19d;border-top:3px solid var(--gold);background:rgba(255,255,255,.6)}
.tnote{margin-top:22px;font-size:.78rem;color:var(--muted);text-align:center}
.testimonials{padding:100px 0;background:#E4DED3;text-align:center}
.testimonials .tcard{background:#fff}
@media(max-width:860px){.testi{grid-template-columns:1fr}.lockup{--lh:clamp(44px,13vw,70px)}.lockup.foot-lock{--lh:34px}}

.brand{--lh:38px;gap:16px}
.brand img{height:var(--lh);width:auto;border:0;padding:0}
.brand .b-div{display:block;width:1px;height:var(--lh);background:rgba(242,235,219,.45);padding:0;border:0}
@media(max-width:1280px){.brand{--lh:32px}}
@media(max-width:560px){.brand{--lh:26px;gap:10px}}

.nav:not(.solid){background:linear-gradient(180deg,rgba(16,32,24,.65),transparent)}

/* ---------- Round 4: white header, brand rules (white ground, forest headings/buttons, stone alternating, brass large, bronze small) ---------- */
.nav,.nav:not(.solid),.nav.solid,body.inner .nav{background:#fff;color:var(--forest);box-shadow:0 1px 0 rgba(31,58,45,.12);backdrop-filter:none;padding:14px 40px}
.nav.solid{box-shadow:0 6px 24px rgba(31,58,45,.12);padding:8px 40px}
.brand{--lh:60px;gap:22px}
.brand img:first-child{height:var(--lh);transition:height .3s}
.brand img:last-child{height:calc(var(--lh)*1.9);transition:height .3s}
.brand .b-div{background:rgba(31,58,45,.28);height:calc(var(--lh)*1.9)}
.nav.solid .brand{--lh:46px}
.links a{color:var(--forest)}
.links a:hover{color:var(--bronze)}
.links .cta{background:var(--forest);color:#F2EBDB;border:1px solid var(--forest);padding:11px 20px}
.links .cta:hover{background:var(--gold-soft);color:var(--forest);border-color:var(--gold-soft)}
.burger span{background:var(--forest)}
@media(max-width:1500px){.brand{--lh:54px}.nav.solid .brand{--lh:44px}}
@media(max-width:1320px){.brand{--lh:46px}.nav.solid .brand{--lh:40px}.links{gap:16px}}
@media(max-width:1100px){.nav,.nav.solid,body.inner .nav{padding:10px 22px}.brand,.nav.solid .brand{--lh:38px}}
@media(max-width:900px){.links,.links.open{background:#fff;border-top:1px solid rgba(31,58,45,.12);box-shadow:0 20px 30px rgba(31,58,45,.12)}.links{inset:88px 0 auto 0}.links a{color:var(--forest)}}
@media(max-width:560px){.brand,.nav.solid .brand{--lh:28px;gap:10px}.links{inset:70px 0 auto 0}}
.hero-video{padding:200px 0 90px}
.hero-h1{font-size:clamp(2.1rem,4.4vw,3.9rem);font-weight:300;color:#fff;margin:0 auto 18px;max-width:1000px;text-shadow:0 4px 40px rgba(0,0,0,.45)}
.hero-h1 em{font-style:normal;color:var(--gold-soft)}
.hero-tag{margin-bottom:12px}.hero-id{margin:0 0 32px}
.page-hero{padding:230px 0 80px}
h1,h2,h3,.price,.pcard b,.svc b,.lead{color:var(--forest)}
.hero h1,.hero-h1,.page-hero h1,.page-hero h2,.market h2,.market h3,.contact h2,.cta-band h2,.tile .val,.contact h3,footer h2{color:#fff}
.tile h3{color:var(--gold-soft)}
.btn{background:var(--forest);color:#F2EBDB;border-color:var(--forest)}
.btn:hover{background:var(--gold-soft);color:var(--forest);border-color:var(--gold-soft)}
.hero .btn,.page-hero .btn,.market .btn,.contact .btn,.cta-band .btn,.hero-search button{background:var(--gold-soft);color:var(--forest);border-color:var(--gold-soft)}
.hero .btn:hover,.page-hero .btn:hover,.market .btn:hover,.contact .btn:hover,.cta-band .btn:hover{background:#fff;border-color:#fff}
.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.6)}
.bio-photo{width:min(270px,100%)}
.bio-photo img{aspect-ratio:4/5;box-shadow:0 20px 44px rgba(31,58,45,.18);border-bottom:4px solid var(--gold)}

.ghost-dark,.btn.ghost-dark{background:transparent;color:var(--forest);border-color:var(--forest)}
.ghost-dark:hover,.btn.ghost-dark:hover{background:var(--forest);color:#F2EBDB;border-color:var(--forest)}
.search{background:#fff}.idx{background:var(--cream);border-color:#b9b19d}
.testimonials{background:#fff}.testimonials .tcard,.testimonials .tcard.ph{background:var(--cream);box-shadow:none}
.testimonials .tcard.ph{border:1px dashed #b9b19d;border-top:3px solid var(--gold)}

/* ---------- Round 5: forest header (logos reversed) ---------- */
.nav,.nav:not(.solid),.nav.solid,body.inner .nav{background:#1F3A2D;color:#F2EBDB;box-shadow:0 1px 0 rgba(210,179,117,.35)}
.nav.solid{box-shadow:0 8px 28px rgba(0,0,0,.28)}
.brand .b-div{background:rgba(242,235,219,.4)}
.links a{color:#F2EBDB}.links a:hover{color:#D2B375}
.links .cta{background:#D2B375;color:#1F3A2D;border:1px solid #D2B375}
.links .cta:hover{background:#fff;color:#1F3A2D;border-color:#fff}
.burger span{background:#F2EBDB}
@media(max-width:900px){.links,.links.open{background:#1F3A2D;border-top:1px solid rgba(210,179,117,.35);box-shadow:0 20px 30px rgba(0,0,0,.3)}.links a{color:#F2EBDB}.links .cta{color:#1F3A2D}}
/* hero tagline + name line larger (name line keeps brokerage name at the SAME size as Darren Reagan) */
.hero-tag{font-size:clamp(1.05rem,2vw,1.5rem);letter-spacing:.38em;color:#D2B375;margin-bottom:16px}
.hero-id{font-size:clamp(1.05rem,1.9vw,1.45rem);letter-spacing:.08em;margin-bottom:38px}
@media(max-width:560px){.hero-tag{letter-spacing:.26em}.hero-id{letter-spacing:.04em}}

/* ---- Round 6 ---- */
.hero-h1{max-width:1240px}
.hero-tag{font-size:clamp(1.5rem,3.4vw,2.6rem);letter-spacing:.34em;margin-bottom:18px}
@media(max-width:560px){.hero-tag{letter-spacing:.2em}}
.cards{grid-template-columns:repeat(4,1fr);gap:16px}
.card{padding:18px 18px 16px;border-top-width:2px}
.card h3{font-size:1.02rem;line-height:1.3;margin:8px 0 10px}
.card .src{font-size:.58rem}
.card time{font-size:.66rem}
@media(max-width:1000px){.cards{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.cards{grid-template-columns:1fr}}
.bio-photo img{aspect-ratio:auto;height:auto;object-fit:cover;background:#fff;padding:10px;border:1px solid var(--brass,#B08D4F);border-bottom:1px solid var(--brass,#B08D4F);box-shadow:0 14px 34px rgba(31,58,45,.14)}
.btn-row{display:flex;gap:10px;flex-wrap:nowrap;margin-top:6px}
.btn-row .btn{padding-left:16px;padding-right:16px;letter-spacing:.14em;white-space:nowrap}
@media(max-width:560px){.btn-row{flex-wrap:wrap}}
footer .marks{align-items:center;gap:22px}
footer .marks img{background:none;padding:0;border-radius:0;height:56px}
footer .marks .m-eho{background:#fff;padding:5px;border-radius:3px;height:60px}
footer .marks .m-r{height:60px}
footer .marks .m-il{height:50px}
.hero .hero-h1{font-size:clamp(2.1rem,5.2vw,4.6rem);width:min(1280px,94vw);max-width:none;margin-left:50%;transform:translateX(-50%)}
.news .sec-head h2{max-width:none}

/* ---- Round 7: stacked Reagan logo. Both logos share one height (--lh). REAGAN letters are ~16% of the stacked logo; Rutenberg letters ~19% of its logo, so equal heights keep the brokerage lettering at least as tall. ---- */
.brand img:last-child,.brand .b-div{height:var(--lh)}
.brand .b-div{height:calc(var(--lh)*.8)}
.brand{--lh:96px;gap:24px}
.nav.solid .brand{--lh:74px}
@media(max-width:1500px){.brand{--lh:87px}.nav.solid .brand{--lh:71px}}
@media(max-width:1320px){.brand{--lh:74px}.nav.solid .brand{--lh:65px}}
@media(max-width:1100px){.brand,.nav.solid .brand{--lh:61px}}
@media(max-width:560px){.brand,.nav.solid .brand{--lh:45px;gap:10px}}
.lockup img:last-child{height:var(--lh)}
.lockup .div{height:calc(var(--lh)*.8)}
.lockup{--lh:clamp(80px,12vw,160px)}
.lockup.foot-lock{--lh:76px}
@media(max-width:860px){.lockup{--lh:clamp(70px,20vw,110px)}.lockup.foot-lock{--lh:58px}}
/* stacked Reagan logo may be up to 1.15x the Rutenberg height (letters 16% vs 19%); use 1.12x */
.brand img:first-child,.lockup img:first-child{height:calc(var(--lh)*1.12)}

/* IDX widgets */
.idx-live{margin-top:36px;min-height:120px}.page-hero .sub:empty{display:none}

.legal{max-width:760px}.legal h2{font-size:1.5rem;margin:34px 0 10px}.legal ul{padding-left:1.2em;margin:0 0 12px}.legal li{margin:6px 0;max-width:70ch}.legal a{color:var(--forest,#1F3A2D);text-decoration:underline}
.form-ok{padding:28px;background:var(--cream);text-align:center;font-size:1.1rem}

.card-form .check{display:flex;gap:10px;align-items:flex-start;font-size:.9rem;letter-spacing:0;text-transform:none;color:inherit}.card-form .check input{width:auto;margin-top:3px}
