:root {
  --ink: #161616;
  --paper: #f7f4ef;
  --white: #ffffff;
  --muted: #6d6a66;
  --line: #d9d4cc;
  --accent: #9a7b4f;
  --accent-dark: #745a38;
  --soft: #ece6dd;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: var(--paper);
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.container { width: min(calc(100% - 40px), var(--max)); margin: 0 auto; }
.eyebrow { text-transform: uppercase; letter-spacing: .16em; font-size: .75rem; font-weight: 700; color: var(--accent-dark); }
.section { padding: 84px 0; }
.section-tight { padding: 56px 0; }
.section-head { display: flex; justify-content: space-between; gap: 32px; align-items: end; margin-bottom: 34px; }
.section-head h2 { margin: 0; max-width: 680px; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2rem, 4vw, 3.5rem); line-height: 1.05; font-weight: 500; }
.section-head p { max-width: 470px; margin: 0; color: var(--muted); }

.site-header { position: sticky; top: 0; z-index: 30; background: rgba(247,244,239,.95); backdrop-filter: blur(12px); border-bottom: 1px solid rgba(217,212,204,.8); }
.nav { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 22px; }
.brand { display: flex; flex-direction: column; line-height: 1.1; }
.brand strong { font-family: Georgia, 'Times New Roman', serif; font-size: 1.22rem; letter-spacing: .02em; }
.brand span { font-size: .72rem; text-transform: uppercase; letter-spacing: .13em; color: var(--muted); margin-top: 4px; }
.nav-links { display: flex; gap: 24px; align-items: center; font-size: .92rem; }
.nav-links a:hover { color: var(--accent-dark); }
.mobile-toggle { display: none; border: 0; background: transparent; font-size: 1.4rem; }

.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 20px; border-radius: 999px; border: 1px solid var(--ink); font-weight: 700; transition: .18s ease; cursor: pointer; }
.btn:hover { transform: translateY(-1px); }
.btn-dark { background: var(--ink); color: white; }
.btn-light { background: transparent; }
.btn-accent { background: var(--accent); color: white; border-color: var(--accent); }

.hero { min-height: 690px; display: grid; grid-template-columns: 1.05fr .95fr; align-items: stretch; background: var(--white); }
.hero-copy { padding: 105px max(32px, calc((100vw - var(--max))/2)) 90px max(32px, calc((100vw - var(--max))/2)); padding-right: 70px; display: flex; flex-direction: column; justify-content: center; }
.hero h1 { margin: 14px 0 22px; font-family: Georgia, 'Times New Roman', serif; font-weight: 500; font-size: clamp(3.4rem, 6vw, 6.2rem); line-height: .95; letter-spacing: -.035em; }
.hero p { max-width: 640px; color: var(--muted); font-size: 1.08rem; margin: 0 0 28px; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-visual { min-height: 560px; background: #ddd; overflow: hidden; }
.hero-visual img { width: 100%; height: 100%; object-fit: cover; }

.trust-strip { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--paper); }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-item { padding: 26px 22px; border-right: 1px solid var(--line); }
.trust-item:last-child { border-right: none; }
.trust-item strong { display: block; font-size: 1rem; }
.trust-item span { color: var(--muted); font-size: .88rem; }

.card-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.card { background: var(--white); border: 1px solid var(--line); border-radius: 22px; overflow: hidden; }
.card-media { aspect-ratio: 4/3; background: var(--soft); overflow: hidden; }
.card-media img { width: 100%; height: 100%; object-fit: cover; }
.card-body { padding: 25px; }
.card h3 { margin: 3px 0 10px; font-family: Georgia, 'Times New Roman', serif; font-size: 1.5rem; font-weight: 500; }
.card p { margin: 0 0 18px; color: var(--muted); }
.text-link { font-weight: 700; border-bottom: 1px solid currentColor; }

.split { display: grid; grid-template-columns: 1fr 1fr; gap: 52px; align-items: center; }
.split-copy h2 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.4rem, 4vw, 4rem); line-height: 1.05; font-weight: 500; margin: 8px 0 18px; }
.split-copy p { color: var(--muted); }
.portrait { border-radius: 26px; overflow: hidden; background: var(--soft); min-height: 560px; }
.portrait img { width: 100%; height: 100%; object-fit: cover; }

.property { display: grid; grid-template-columns: 1.15fr .85fr; background: var(--ink); color: white; border-radius: 28px; overflow: hidden; }
.property-media { min-height: 500px; background: #333; }
.property-media img { width: 100%; height: 100%; object-fit: cover; }
.property-copy { padding: 50px; display: flex; flex-direction: column; justify-content: center; }
.property-copy .eyebrow { color: #d7c4a7; }
.property-copy h2 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.4rem, 4vw, 4rem); line-height: 1.02; font-weight: 500; margin: 10px 0 14px; }
.property-copy p { color: #d0d0d0; }
.property-facts { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 24px 0 30px; }
.property-facts div { border-top: 1px solid #444; padding-top: 12px; }
.property-facts strong { display:block; color:#fff; }
.property-facts span { color: #aaa; font-size:.88rem; }

.area-grid { display: flex; flex-wrap: wrap; gap: 10px; }
.area-chip { border: 1px solid var(--line); border-radius: 999px; padding: 12px 16px; background: white; }

.blog-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 22px; }
.post-card { min-height: 320px; padding: 30px; border-radius: 24px; background: white; border: 1px solid var(--line); display:flex; flex-direction:column; justify-content:space-between; }
.post-card.featured { background: var(--soft); min-height: 420px; }
.post-card h3 { font-family: Georgia, 'Times New Roman', serif; font-size: 1.75rem; line-height:1.1; font-weight:500; margin:10px 0 12px; }
.post-card p { color: var(--muted); }
.meta { color: var(--muted); font-size:.82rem; }

.cta { background: var(--accent); color: white; border-radius: 30px; padding: 56px; display:grid; grid-template-columns: 1.1fr .9fr; gap:40px; align-items:center; }
.cta h2 { font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.5rem,4vw,4rem); line-height:1; font-weight:500; margin:0 0 12px; }
.cta p { color: rgba(255,255,255,.85); margin:0; }
.cta .btn { border-color:white; justify-self:end; }

.page-hero { padding: 110px 0 72px; background:white; border-bottom:1px solid var(--line); }
.page-hero h1 { max-width:850px; margin:12px 0 20px; font-family:Georgia, 'Times New Roman', serif; font-weight:500; font-size:clamp(3.2rem,6vw,5.5rem); line-height:1; }
.page-hero p { max-width:720px; color:var(--muted); font-size:1.08rem; }

.content { max-width:820px; }
.content h2 { font-family: Georgia, 'Times New Roman', serif; font-size:2rem; font-weight:500; margin-top:42px; }
.content h3 { font-family: Georgia, 'Times New Roman', serif; font-size:1.4rem; font-weight:500; margin-top:28px; }
.content p, .content li { color:#4c4945; }
.content ul { padding-left:22px; }
.note { padding:20px 22px; border-left:3px solid var(--accent); background:white; }

.form-wrap { display:grid; grid-template-columns:.8fr 1.2fr; gap:50px; }
.form-card { background:white; border:1px solid var(--line); border-radius:24px; padding:30px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field.full { grid-column:1/-1; }
label { font-size:.82rem; font-weight:700; }
input, textarea, select { width:100%; border:1px solid var(--line); border-radius:12px; padding:13px 14px; font:inherit; background:#fff; color:var(--ink); }
textarea { min-height:150px; resize:vertical; }

.site-footer { background:#101010; color:white; padding:58px 0 28px; }
.footer-grid { display:grid; grid-template-columns:1.2fr .8fr .8fr; gap:40px; }
.site-footer p, .site-footer a { color:#bdbdbd; }
.footer-brand strong { font-family:Georgia, 'Times New Roman', serif; font-size:1.45rem; }
.footer-title { text-transform:uppercase; letter-spacing:.12em; font-size:.72rem; color:#8d8d8d; }
.legal { margin-top:40px; padding-top:22px; border-top:1px solid #2a2a2a; font-size:.78rem; color:#8f8f8f; display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; }

@media (max-width: 900px) {
  .nav-links { display:none; position:absolute; top:76px; left:0; right:0; background:var(--paper); border-bottom:1px solid var(--line); padding:18px 20px 24px; flex-direction:column; align-items:flex-start; }
  .nav-links.open { display:flex; }
  .mobile-toggle { display:block; }
  .hero { grid-template-columns:1fr; }
  .hero-copy { padding:82px 24px 65px; }
  .hero-visual { min-height:440px; }
  .trust-grid { grid-template-columns:1fr 1fr; }
  .trust-item:nth-child(2) { border-right:none; }
  .trust-item:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .section-head { flex-direction:column; align-items:flex-start; }
  .card-grid, .blog-grid { grid-template-columns:1fr; }
  .split, .property, .form-wrap, .cta { grid-template-columns:1fr; }
  .property-media { min-height:360px; }
  .cta .btn { justify-self:start; }
  .footer-grid { grid-template-columns:1fr; }
}

@media (max-width: 580px) {
  .container { width:min(calc(100% - 28px), var(--max)); }
  .section { padding:66px 0; }
  .hero h1 { font-size:3.35rem; }
  .trust-grid { grid-template-columns:1fr; }
  .trust-item { border-right:none; border-bottom:1px solid var(--line); }
  .trust-item:last-child { border-bottom:none; }
  .property-copy { padding:32px 24px; }
  .cta { padding:36px 26px; }
  .form-grid { grid-template-columns:1fr; }
  .field.full { grid-column:auto; }
}


/* Instagram integration */
.property-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
.btn-instagram { border-color:#6a6a6a; color:#fff; background:transparent; }
.btn-instagram:hover { border-color:#fff; background:#fff; color:var(--ink); }
.property-media a { display:block; width:100%; height:100%; position:relative; }
.media-link-label { position:absolute; left:20px; bottom:20px; padding:10px 14px; border-radius:999px; background:rgba(16,16,16,.82); color:#fff; font-size:.82rem; font-weight:700; backdrop-filter:blur(8px); }
.instagram-strip { padding:26px 0 72px; }
.instagram-strip-inner { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:42px 0; display:grid; grid-template-columns:1.25fr .75fr; gap:48px; align-items:center; }
.instagram-strip h2 { max-width:720px; margin:7px 0 10px; font-family:Georgia, 'Times New Roman', serif; font-size:clamp(2rem,3.5vw,3.4rem); line-height:1.05; font-weight:500; }
.instagram-strip p { max-width:720px; margin:0; color:var(--muted); }
.instagram-profile-link { min-height:112px; display:grid; grid-template-columns:auto 1fr auto; gap:16px; align-items:center; padding:22px 24px; border:1px solid var(--line); border-radius:20px; background:#fff; transition:transform .2s ease,border-color .2s ease; }
.instagram-profile-link:hover { transform:translateY(-2px); border-color:#aaa39a; }
.instagram-profile-link small { display:block; color:var(--muted); font-size:.76rem; text-transform:uppercase; letter-spacing:.09em; }
.instagram-profile-link strong { display:block; margin-top:2px; font-size:1.08rem; }
.instagram-mark { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--line); border-radius:12px; font-size:1.55rem; }
.instagram-arrow { font-size:1.3rem; }

@media (max-width: 900px) {
  .instagram-strip-inner { grid-template-columns:1fr; gap:26px; }
}


/* MJL + Brennan supplied branding */
.brand { flex-direction: row; align-items:center; gap:12px; min-width:210px; }
.brand-logo { width:52px; height:44px; object-fit:contain; border-radius:4px; }
.brand-copy { display:flex; flex-direction:column; line-height:1.1; }
.brand-copy strong { font-family:Georgia, 'Times New Roman', serif; font-size:1.08rem; letter-spacing:.01em; }
.brand-copy > span { font-size:.66rem; text-transform:uppercase; letter-spacing:.10em; color:var(--muted); margin-top:4px; }
.brokerage-masthead { background:#fff; border-bottom:1px solid var(--line); padding:18px 0; }
.brokerage-masthead-inner { height:220px; overflow:hidden; border-radius:18px; background:#99bfdd; }
.brokerage-masthead img { width:100%; height:100%; object-fit:cover; object-position:center; }
.hero { min-height:620px; }
.hero-visual { background:#d9d9d9; }
.hero-headshot { object-position:center 24%; }
.portrait img { object-position:center 20%; }
.contact-brokerage-logo { width:min(310px,80%); max-height:180px; object-fit:contain; margin:0 0 24px; }
.instagram-listing-card { width:100%; height:100%; min-height:500px; padding:44px; display:grid; grid-template-columns:auto 1fr auto; gap:22px; align-items:end; color:#fff; background:linear-gradient(145deg,#27225c 0%,#111 68%); }
.instagram-listing-mark { width:68px; height:68px; border:1px solid rgba(255,255,255,.45); border-radius:18px; display:grid; place-items:center; font-size:2.25rem; }
.instagram-listing-card small { display:block; text-transform:uppercase; letter-spacing:.12em; color:#bbb; font-size:.73rem; }
.instagram-listing-card strong { display:block; margin:5px 0 2px; font-family:Georgia,'Times New Roman',serif; font-size:clamp(1.8rem,3vw,3rem); font-weight:500; }
.instagram-listing-card span:not(.instagram-listing-mark):not(.instagram-listing-arrow) { color:#d0d0d0; }
.instagram-listing-arrow { align-self:center; font-size:2rem; }
.compliance-logos { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin-top:10px; }
.compliance-badge { width:72px; height:72px; background:#fff; border-radius:8px; padding:7px; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.compliance-badge img { width:100%; height:100%; object-fit:contain; }
.compliance-badge.mjl-badge { width:118px; }
.footer-brokerage-note { margin:10px 0 0; font-size:.8rem; color:#9f9f9f !important; }
@media (max-width:900px){.brokerage-masthead-inner{height:180px}.brand-logo{width:46px;height:40px}.brand-copy strong{font-size:1rem}.instagram-listing-card{min-height:360px}}
@media (max-width:580px){.brokerage-masthead{padding:10px 0}.brokerage-masthead-inner{height:145px;border-radius:12px}.brand-logo{width:42px;height:36px}.brand-copy>span{font-size:.58rem}.instagram-listing-card{padding:28px 24px;grid-template-columns:auto 1fr;min-height:310px}.instagram-listing-arrow{display:none}.instagram-listing-mark{width:52px;height:52px;border-radius:14px;font-size:1.7rem}}

/* Brokerage links */
.inline-link { font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.footer-brokerage-link { margin-top: .55rem; }
.footer-brokerage-link a { text-decoration: underline; text-underline-offset: 3px; }
.mjl-badge a { display: block; line-height: 0; }


/* Market updates and article enhancements */
.section-alt { background:#f6f4f0; }
.stat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:24px 0 38px; }
.stat-box { background:#fff; border:1px solid var(--line); border-radius:18px; padding:20px; }
.stat-box strong { display:block; font-family:Georgia,'Times New Roman',serif; font-size:1.7rem; font-weight:500; color:var(--ink); }
.stat-box span { display:block; margin-top:5px; font-weight:700; color:#4c4945; }
.stat-box small { display:block; margin-top:5px; color:var(--muted); }
.source-note { margin:32px 0; padding:18px 20px; border:1px solid var(--line); border-radius:14px; background:#fff; color:#5b5752; font-size:.9rem; }
.source-note a { text-decoration:underline; text-underline-offset:3px; font-weight:700; }
.related-resource { margin:38px 0 8px; padding:24px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.related-resource h3 { margin:8px 0 8px; }
.two-up { grid-template-columns:1fr 1fr; }
@media (max-width:900px){.stat-grid{grid-template-columns:1fr 1fr}.two-up{grid-template-columns:1fr}}
@media (max-width:580px){.stat-grid{grid-template-columns:1fr}}

.footer-agent-contact { margin:10px 0 6px; font-size:.9rem; }
.footer-agent-contact a { text-decoration:underline; text-underline-offset:3px; }
.contact-card { padding:28px; border:1px solid var(--line); border-radius:18px; background:#fff; }
.contact-card h2 { margin:8px 0 12px; }
.contact-card a { font-weight:700; text-decoration:underline; text-underline-offset:3px; }


/* Sleek listings / property presentation */
.brand-copy a { color:inherit; text-decoration:none; }
.listings-intro { padding:90px 0 34px; }
.listings-intro h1 { font-size:clamp(3rem,7vw,6.4rem); font-weight:500; letter-spacing:-.045em; margin:8px 0 14px; }
.listings-intro p { max-width:610px; font-size:1.06rem; color:var(--muted); }
.listing-editorial { padding:24px 0 90px; }
.editorial-listing { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(300px,.7fr); gap:46px; align-items:end; color:inherit; text-decoration:none; }
.editorial-image-wrap { position:relative; overflow:hidden; background:#eee; }
.editorial-image-wrap img { width:100%; aspect-ratio:16/10; object-fit:cover; display:block; transition:transform .5s ease; }
.editorial-listing:hover .editorial-image-wrap img { transform:scale(1.012); }
.listing-status { position:absolute; left:18px; top:18px; background:rgba(255,255,255,.92); padding:7px 11px; font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; }
.listing-kicker { text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; color:var(--muted); margin-bottom:10px; }
.editorial-copy h2 { font-size:clamp(2rem,4vw,3.4rem); margin:0 0 10px; font-weight:500; letter-spacing:-.035em; }
.listing-price { font-size:1.28rem; margin-bottom:20px; }
.editorial-copy p { color:var(--muted); line-height:1.75; }
.listing-meta-line { display:flex; flex-wrap:wrap; gap:10px 18px; font-size:.82rem; color:#555; margin:24px 0; }
.listing-meta-line span + span { position:relative; }
.buyer-search-strip { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:64px 0; }
.buyer-search-inner { display:grid; grid-template-columns:1fr 1fr; gap:60px; align-items:end; }
.buyer-search-inner h2, .instagram-clean h2 { font-size:clamp(2rem,4vw,3rem); font-weight:500; margin:8px 0 0; }
.buyer-search-inner p { color:var(--muted); margin:0 0 18px; }
.instagram-clean { padding:64px 0 80px; }
.instagram-clean .container { display:flex; justify-content:space-between; gap:30px; align-items:end; }

.property-hero { position:relative; min-height:76vh; display:flex; align-items:flex-end; overflow:hidden; }
.property-hero > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.property-hero-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(0,0,0,.52),rgba(0,0,0,.03) 55%); }
.property-hero-copy { position:relative; z-index:2; color:white; padding-bottom:56px; width:100%; }
.property-hero-copy h1 { font-size:clamp(3rem,7vw,6.5rem); font-weight:500; letter-spacing:-.045em; margin:8px 0 4px; }
.property-hero-copy p { font-size:1.05rem; margin:0; opacity:.9; }
.property-status-light { text-transform:uppercase; letter-spacing:.16em; font-size:.73rem; }
.property-summary { padding:34px 0; border-bottom:1px solid var(--line); }
.property-summary-top { display:flex; justify-content:space-between; gap:30px; align-items:center; }
.property-price { font-size:1.7rem; }
.property-facts { margin-top:6px; color:var(--muted); }
.property-facts span { padding:0 8px; }
.property-actions { display:flex; gap:22px; flex-wrap:wrap; }
.property-actions a { color:inherit; text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:3px; font-weight:650; }
.property-story { padding:94px 0; }
.property-story-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:10vw; }
.property-story h2 { font-size:clamp(2.4rem,5vw,4rem); font-weight:500; letter-spacing:-.04em; margin:8px 0 0; }
.property-story p { font-size:1.08rem; line-height:1.85; color:#504d48; }
.property-gallery { padding:0 0 96px; }
.gallery-grid-sleek { display:grid; grid-template-columns:1.2fr .8fr; gap:14px; }
.gallery-grid-sleek img { width:100%; height:100%; min-height:340px; object-fit:cover; display:block; }
.gallery-grid-sleek .g-wide { grid-column:1/-1; min-height:540px; }
.gallery-grid-sleek .g-tall { min-height:620px; }
.property-details { border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:72px 0; }
.property-detail-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:44px; }
.property-detail-grid h3 { font-size:1.45rem; margin:8px 0 12px; font-weight:500; }
.property-detail-grid p { color:var(--muted); line-height:1.75; }
.floorplan-section { padding:92px 0; }
.clean-head { margin-bottom:32px; }
.floorplan-img { width:100%; display:block; background:#fff; }
.property-contact { background:#151515; color:white; padding:84px 0; }
.property-contact-inner { display:grid; grid-template-columns:1.2fr .8fr; gap:60px; align-items:end; }
.property-contact h2 { font-size:clamp(2.5rem,5vw,4.5rem); font-weight:500; letter-spacing:-.04em; margin:8px 0 10px; }
.property-contact p { max-width:600px; opacity:.74; }
.property-contact-links { display:flex; flex-direction:column; gap:12px; align-items:flex-start; }
.property-contact-links a { color:white; text-decoration:none; border-bottom:1px solid rgba(255,255,255,.5); padding-bottom:3px; }

@media(max-width:900px){
  .editorial-listing,.buyer-search-inner,.property-story-grid,.property-contact-inner{grid-template-columns:1fr;}
  .property-detail-grid{grid-template-columns:1fr;}
  .property-summary-top{align-items:flex-start;flex-direction:column;}
  .property-actions{gap:16px;}
}
@media(max-width:680px){
  .listings-intro{padding-top:58px;}
  .gallery-grid-sleek{grid-template-columns:1fr;}
  .gallery-grid-sleek .g-wide{grid-column:auto;min-height:300px;}
  .gallery-grid-sleek img,.gallery-grid-sleek .g-tall{min-height:300px;}
  .instagram-clean .container{display:block;}
  .instagram-clean .text-link{display:inline-block;margin-top:24px;}
  .property-hero{min-height:64vh;}
  .property-hero-copy{padding-bottom:34px;}
}

.footer-social-links { margin:8px 0 0; font-size:.88rem; }
.footer-social-links a { text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:2px; }


/* v9 header cleanup + restrained portrait scale */
.site-header { border-bottom:1px solid rgba(20,20,20,.08); background:rgba(255,255,255,.97); }
.site-header .nav { min-height:72px; gap:26px; }
.brand { gap:14px; min-width:0; }
.brand-logo { width:auto; max-width:118px; max-height:42px; object-fit:contain; }
.brand-copy { display:flex; flex-direction:column; gap:2px; line-height:1.15; white-space:nowrap; }
.brand-copy strong { font-size:.95rem; font-weight:650; letter-spacing:-.01em; }
.brand-copy span { font-size:.72rem; color:var(--muted); font-weight:500; }
.nav-links { gap:20px; }
.nav-links > a:not(.btn) { font-size:.82rem; }
.nav-links .btn { padding:10px 15px; }

/* Keep homepage headshot polished and secondary to the copy */
.hero img[src*="headshot"],
.about img[src*="headshot"],
img.headshot,
.headshot img,
.hero-portrait img,
.about-portrait img {
  width:100%;
  max-width:430px;
  max-height:560px;
  object-fit:cover;
  object-position:center 20%;
  display:block;
  margin-inline:auto;
}
.hero-portrait,
.about-portrait,
.headshot {
  max-width:430px;
  margin-inline:auto;
}

/* Prevent oversized homepage portrait columns */
.hero-grid:has(img[src*="headshot"]) { grid-template-columns:minmax(0,1.15fr) minmax(280px,.72fr); align-items:center; }
.about-grid:has(img[src*="headshot"]) { grid-template-columns:minmax(0,1.1fr) minmax(280px,.72fr); align-items:center; }

@media(max-width:900px){
  .site-header .nav { min-height:64px; }
  .brand-logo { max-width:96px; max-height:36px; }
  .brand-copy span { font-size:.68rem; }
  .hero-grid:has(img[src*="headshot"]),
  .about-grid:has(img[src*="headshot"]) { grid-template-columns:1fr; }
  .hero img[src*="headshot"], .about img[src*="headshot"], img.headshot,
  .headshot img, .hero-portrait img, .about-portrait img { max-width:360px; max-height:470px; }
}


/* v10 customer-oriented homepage hierarchy */
.home-service-intro { padding:82px 0 58px; border-top:1px solid var(--line); }
.home-service-grid { display:grid; grid-template-columns:1.05fr .95fr; gap:8vw; align-items:end; }
.home-service-intro h2 { font-size:clamp(2.4rem,5vw,4.4rem); line-height:1.02; letter-spacing:-.04em; font-weight:500; margin:10px 0 0; max-width:760px; }
.home-service-copy p { color:var(--muted); font-size:1.05rem; line-height:1.8; margin:0 0 24px; }
.home-service-actions { display:flex; gap:12px; flex-wrap:wrap; }
.btn-outline { border:1px solid var(--ink); background:transparent; color:var(--ink); padding:11px 16px; border-radius:999px; text-decoration:none; font-weight:650; }

.home-paths { padding:24px 0 86px; }
.home-path-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.home-path { color:inherit; text-decoration:none; padding:34px 30px 36px 0; min-height:260px; }
.home-path + .home-path { border-left:1px solid var(--line); padding-left:30px; }
.home-path h3 { font-size:1.75rem; font-weight:500; letter-spacing:-.025em; margin:8px 0 12px; }
.home-path p { color:var(--muted); line-height:1.7; max-width:360px; }
.home-path .text-link { display:inline-block; margin-top:22px; }

.home-social-proof { padding:72px 0 82px; border-top:1px solid var(--line); }
.home-social-proof-inner { display:grid; grid-template-columns:1fr .55fr; gap:60px; align-items:end; }
.home-social-proof h2 { font-size:clamp(2rem,4vw,3.2rem); font-weight:500; letter-spacing:-.035em; margin:8px 0 12px; }
.home-social-proof p { color:var(--muted); max-width:600px; }
.home-social-links { display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.home-social-links a { color:inherit; text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:3px; }

@media(max-width:900px){
  .home-service-grid,.home-social-proof-inner{grid-template-columns:1fr;}
  .home-path-grid{grid-template-columns:1fr;}
  .home-path + .home-path{border-left:0;border-top:1px solid var(--line);padding-left:0;}
  .home-path{min-height:auto;padding:28px 0;}
}


/* v11 service-area and brokerage-experience sections */
.service-areas-home { padding:88px 0; border-top:1px solid var(--line); }
.service-area-heading { display:grid; grid-template-columns:1.1fr .9fr; gap:8vw; align-items:end; margin-bottom:48px; }
.service-area-heading h2, .broker-experience-home h2, .broker-about-section h2 {
  font-size:clamp(2.35rem,5vw,4.1rem);
  line-height:1.04;
  letter-spacing:-.04em;
  font-weight:500;
  margin:8px 0 0;
}
.service-area-heading > p { color:var(--muted); line-height:1.8; margin:0; }
.service-area-columns { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid var(--line); }
.service-area-group { padding:30px 36px 30px 0; border-bottom:1px solid var(--line); }
.service-area-group:nth-child(even) { border-left:1px solid var(--line); padding-left:36px; }
.area-label { display:block; text-transform:uppercase; letter-spacing:.13em; font-size:.7rem; font-weight:700; margin-bottom:10px; }
.service-area-group p { margin:0; color:var(--muted); line-height:1.75; }

.broker-experience-home { padding:92px 0; background:#f6f4f0; }
.broker-experience-grid { display:grid; grid-template-columns:1fr 1fr; gap:9vw; align-items:start; }
.broker-experience-grid p { color:#56524d; line-height:1.85; font-size:1.02rem; }
.broker-experience-grid .text-link { display:inline-block; margin-top:14px; }
.broker-about-section { padding-top:92px; padding-bottom:92px; border-top:1px solid var(--line); }
.broker-about-section a { color:inherit; text-underline-offset:3px; }

@media(max-width:900px){
  .service-area-heading,.broker-experience-grid{grid-template-columns:1fr;}
}
@media(max-width:680px){
  .service-area-columns{grid-template-columns:1fr;}
  .service-area-group:nth-child(even){border-left:0;padding-left:0;}
  .service-area-group{padding-right:0;}
}


/* v12 statewide positioning + firefighter About story */
.statewide-service-note {
  margin:22px 0 24px;
  padding-top:20px;
  border-top:1px solid var(--line);
  color:var(--muted);
  line-height:1.75;
  font-size:.95rem;
}
.statewide-service-note strong { color:var(--ink); }

.fire-service-about {
  padding:96px 0;
  border-top:1px solid var(--line);
  background:#fff;
}
.fire-service-grid {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:9vw;
  align-items:start;
}
.fire-service-about h2 {
  font-size:clamp(2.35rem,5vw,4.1rem);
  line-height:1.04;
  letter-spacing:-.04em;
  font-weight:500;
  margin:8px 0 0;
}
.fire-service-about p {
  color:#56524d;
  line-height:1.9;
  font-size:1.03rem;
  margin-top:0;
  margin-bottom:18px;
}
@media(max-width:900px){
  .fire-service-grid{grid-template-columns:1fr;}
}

/* v13 simplified, customer-oriented market positioning */
.customer-area-columns { grid-template-columns:1fr 1fr; }
.customer-area-columns .service-area-group { min-height:190px; }
@media(max-width:680px){
  .customer-area-columns{grid-template-columns:1fr;}
}


/* v14 BQJ identity + statewide customer positioning */
.brand-bqj { display:flex; align-items:center; gap:12px; text-decoration:none; color:var(--ink); }
.bqj-mark {
  width:44px;
  height:44px;
  border:1px solid rgba(20,20,20,.82);
  display:grid;
  place-items:center;
  position:relative;
  flex:0 0 auto;
}
.bqj-mark::before,
.bqj-mark::after {
  content:"";
  position:absolute;
  background:rgba(20,20,20,.16);
}
.bqj-mark::before { width:1px; height:54%; left:50%; top:23%; }
.bqj-mark::after { height:1px; width:54%; left:23%; top:50%; }
.bqj-mark span {
  position:relative;
  z-index:1;
  background:#fff;
  padding:2px 4px;
  font-family:Georgia,"Times New Roman",serif;
  font-size:.77rem;
  letter-spacing:.08em;
  line-height:1;
}
.brand-bqj .brand-copy strong { font-size:.91rem; }
.brand-bqj .brand-copy span { text-transform:uppercase; letter-spacing:.09em; font-size:.62rem; }
.header-phone {
  font-size:.76rem !important;
  font-weight:650;
  white-space:nowrap;
  border-bottom:1px solid rgba(20,20,20,.35);
  padding-bottom:2px;
}
@media(max-width:1100px){
  .nav-links{gap:14px;}
  .nav-links > a:not(.btn){font-size:.76rem;}
}
@media(max-width:900px){
  .bqj-mark{width:39px;height:39px;}
}


/* v16 clearer About-page real estate identity */
.about-agent-clarity {
  padding:78px 0 88px;
  border-bottom:1px solid var(--line);
}
.about-role-intro {
  max-width:880px;
}
.about-role-intro h2 {
  font-size:clamp(2.4rem,5vw,4.25rem);
  line-height:1.04;
  letter-spacing:-.04em;
  font-weight:500;
  margin:10px 0 24px;
}
.about-role-intro p {
  max-width:780px;
  color:#56524d;
  font-size:1.05rem;
  line-height:1.85;
  margin:0 0 16px;
}

/* v17 explicit REALTOR identity */
.home-role-line {
  max-width:690px;
  margin:18px 0 0;
  font-size:clamp(1rem,1.5vw,1.18rem);
  line-height:1.65;
  color:var(--muted);
}


/* v18 mobile polish */
html { overflow-x:hidden; }
body { overflow-x:hidden; }
img { max-width:100%; height:auto; }

@media (max-width:900px) {
  .container {
    width:min(100% - 34px, 1180px);
  }

  /* Header */
  .site-header .nav {
    min-height:62px;
    padding-top:8px;
    padding-bottom:8px;
  }

  .brand-bqj {
    gap:10px;
    min-width:0;
  }

  .bqj-mark {
    width:38px;
    height:38px;
  }

  .brand-copy strong {
    font-size:.86rem;
  }

  .brand-copy span {
    font-size:.58rem;
    letter-spacing:.07em;
  }

  .mobile-toggle {
    display:flex;
    align-items:center;
    justify-content:center;
    margin-left:auto;
    width:40px;
    height:40px;
    padding:0;
    border:0;
    background:transparent;
    font-size:1.35rem;
    cursor:pointer;
  }

  .nav-links {
    position:absolute;
    left:0;
    right:0;
    top:100%;
    display:none;
    flex-direction:column;
    align-items:stretch;
    gap:0;
    background:#fff;
    border-top:1px solid var(--line);
    border-bottom:1px solid var(--line);
    padding:8px 17px 16px;
    z-index:100;
    box-shadow:0 14px 30px rgba(0,0,0,.05);
  }

  .nav-links.open {
    display:flex;
  }

  .nav-links > a,
  .nav-links > a:not(.btn),
  .nav-links .header-phone {
    display:block;
    width:100%;
    padding:11px 2px;
    border-bottom:1px solid rgba(20,20,20,.07);
    font-size:.83rem !important;
  }

  .nav-links .btn {
    width:100%;
    text-align:center;
    margin-top:10px;
    padding:12px 16px;
  }

  /* Hero / homepage */
  .hero,
  .page-hero {
    padding-top:56px;
    padding-bottom:54px;
  }

  .hero h1,
  .page-hero h1 {
    font-size:clamp(2.55rem,12vw,4.3rem);
    line-height:.98;
    overflow-wrap:break-word;
  }

  .home-role-line {
    font-size:1rem;
    line-height:1.6;
    margin-top:16px;
  }

  .hero-grid,
  .home-service-grid,
  .broker-experience-grid,
  .fire-service-grid,
  .property-story-grid,
  .property-contact-inner,
  .buyer-search-inner,
  .home-social-proof-inner {
    grid-template-columns:1fr !important;
    gap:34px;
  }

  .hero img[src*="headshot"],
  .about img[src*="headshot"],
  img.headshot,
  .headshot img,
  .hero-portrait img,
  .about-portrait img {
    width:100%;
    max-width:320px;
    max-height:410px;
    margin-inline:auto;
    object-fit:cover;
  }

  /* Homepage decision paths */
  .home-service-intro {
    padding:58px 0 42px;
  }

  .home-service-intro h2 {
    font-size:clamp(2.15rem,9vw,3.35rem);
  }

  .home-service-actions {
    display:grid;
    grid-template-columns:1fr;
    gap:10px;
  }

  .home-service-actions .btn,
  .home-service-actions .btn-outline {
    width:100%;
    text-align:center;
  }

  .home-paths {
    padding:10px 0 58px;
  }

  .home-path-grid {
    grid-template-columns:1fr;
  }

  .home-path,
  .home-path + .home-path {
    padding:27px 0;
    border-left:0;
  }

  .home-path + .home-path {
    border-top:1px solid var(--line);
  }

  /* Listing cards/pages */
  .editorial-listing {
    grid-template-columns:1fr;
    gap:24px;
  }

  .editorial-image-wrap img {
    aspect-ratio:4/3;
  }

  .listing-editorial {
    padding-bottom:58px;
  }

  .property-hero {
    min-height:58vh;
  }

  .property-hero-copy h1 {
    font-size:clamp(2.65rem,12vw,4.6rem);
  }

  .property-summary-top {
    flex-direction:column;
    align-items:flex-start;
  }

  .property-actions {
    width:100%;
    flex-direction:column;
    gap:10px;
  }

  .property-actions a {
    width:max-content;
  }

  .property-detail-grid {
    grid-template-columns:1fr;
    gap:30px;
  }

  .gallery-grid-sleek {
    grid-template-columns:1fr;
  }

  .gallery-grid-sleek .g-wide {
    grid-column:auto;
    min-height:260px;
  }

  .gallery-grid-sleek img,
  .gallery-grid-sleek .g-tall {
    min-height:260px;
    max-height:470px;
  }

  /* Blog / market content */
  .blog-grid,
  .blog-grid.two-up,
  .stat-grid {
    grid-template-columns:1fr;
  }

  .post-card {
    min-height:auto;
  }

  /* Footer */
  .footer-grid {
    grid-template-columns:1fr;
    gap:30px;
  }

  .compliance-logos {
    flex-wrap:wrap;
  }
}

@media (max-width:520px) {
  .container {
    width:min(100% - 26px, 1180px);
  }

  .brand-copy span {
    max-width:190px;
    white-space:normal;
  }

  .hero,
  .page-hero {
    padding-top:44px;
    padding-bottom:44px;
  }

  .eyebrow {
    font-size:.66rem;
    letter-spacing:.11em;
  }

  .hero h1,
  .page-hero h1 {
    font-size:clamp(2.35rem,13vw,3.5rem);
  }

  .property-hero {
    min-height:52vh;
  }

  .property-hero-copy {
    padding-bottom:26px;
  }

  .property-summary,
  .property-story,
  .property-details,
  .floorplan-section,
  .property-contact,
  .fire-service-about,
  .broker-experience-home,
  .broker-about-section,
  .about-agent-clarity,
  .home-social-proof {
    padding-top:56px;
    padding-bottom:56px;
  }

  .property-story h2,
  .property-contact h2,
  .fire-service-about h2,
  .broker-experience-home h2,
  .broker-about-section h2,
  .about-role-intro h2 {
    font-size:clamp(2.15rem,10vw,3.1rem);
  }

  .property-contact-links a {
    overflow-wrap:anywhere;
  }
}


/* v20 larger BQJ header mark */
.bqj-mark {
  width:50px;
  height:50px;
}
.bqj-mark span {
  font-size:.82rem;
  padding:2px 5px;
}
@media(max-width:900px){
  .bqj-mark{
    width:42px;
    height:42px;
  }
}

/* v20 streamlined contact page */
.contact-page-clean { background:#fff; }
.contact-hero-clean { padding:92px 0 76px; border-bottom:1px solid var(--line); }
.contact-hero-grid {
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:9vw;
  align-items:end;
}
.contact-hero-clean h1 {
  font-size:clamp(3rem,7vw,6rem);
  font-weight:500;
  line-height:.98;
  letter-spacing:-.045em;
  margin:10px 0 20px;
}
.contact-hero-clean p {
  max-width:700px;
  color:var(--muted);
  font-size:1.05rem;
  line-height:1.8;
}
.contact-brand-panel {
  border-left:1px solid var(--line);
  padding-left:40px;
}
.bqj-mark-contact {
  width:68px;
  height:68px;
  margin-bottom:24px;
}
.bqj-mark-contact span {
  font-size:1rem;
}
.contact-name {
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.65rem;
  margin-bottom:4px;
}
.contact-role {
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.68rem;
  color:var(--muted);
}
.contact-direct-list {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:10px;
  margin-top:26px;
}
.contact-direct-list a,
.contact-direct-list span {
  color:inherit;
  text-decoration:none;
  font-size:.95rem;
}
.contact-direct-list a {
  border-bottom:1px solid rgba(20,20,20,.35);
  padding-bottom:2px;
}
.contact-options-clean { padding:84px 0; }
.contact-options-grid {
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:9vw;
  align-items:start;
}
.contact-options-clean h2 {
  font-size:clamp(2.2rem,4.5vw,3.8rem);
  font-weight:500;
  letter-spacing:-.035em;
  margin:8px 0 14px;
}
.contact-options-clean p { color:var(--muted); line-height:1.75; }
.contact-action-links {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  margin-top:24px;
}
.contact-action-links a {
  color:inherit;
  text-decoration:none;
  border-bottom:1px solid currentColor;
  padding-bottom:3px;
}
.contact-form-clean {
  display:grid;
  gap:18px;
}
.contact-form-clean label {
  display:grid;
  gap:7px;
  font-size:.77rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:700;
}
.contact-form-clean input,
.contact-form-clean textarea {
  width:100%;
  border:0;
  border-bottom:1px solid #aaa;
  background:transparent;
  border-radius:0;
  padding:12px 0;
  font:inherit;
  color:var(--ink);
  outline:none;
}
.contact-form-clean textarea {
  border:1px solid var(--line);
  padding:13px;
  resize:vertical;
  min-height:130px;
}
.contact-form-clean input:focus,
.contact-form-clean textarea:focus {
  border-color:var(--ink);
}
.contact-form-clean .btn {
  width:max-content;
  margin-top:4px;
}
.contact-brokerage-note {
  border-top:1px solid var(--line);
  padding:24px 0 34px;
}
.contact-brokerage-note p {
  margin:0;
  color:var(--muted);
  font-size:.82rem;
}

@media(max-width:900px){
  .contact-hero-grid,
  .contact-options-grid {
    grid-template-columns:1fr;
    gap:42px;
  }
  .contact-brand-panel {
    border-left:0;
    border-top:1px solid var(--line);
    padding-left:0;
    padding-top:34px;
  }
}
@media(max-width:520px){
  .contact-hero-clean { padding:56px 0 48px; }
  .contact-options-clean { padding:56px 0; }
  .contact-hero-clean h1 { font-size:clamp(2.7rem,14vw,4rem); }
  .bqj-mark-contact { width:58px; height:58px; }
  .contact-form-clean .btn { width:100%; text-align:center; }
}


/* v22 FormSubmit thank-you page */
.thank-you-section {
  min-height:66vh;
  display:flex;
  align-items:center;
  padding:90px 0;
}
.thank-you-inner {
  max-width:760px;
}
.thank-you-inner h1 {
  font-size:clamp(3rem,7vw,5.7rem);
  line-height:.98;
  letter-spacing:-.045em;
  font-weight:500;
  margin:12px 0 20px;
}
.thank-you-inner p {
  max-width:620px;
  color:var(--muted);
  font-size:1.06rem;
  line-height:1.8;
}
.thank-you-actions {
  display:flex;
  flex-wrap:wrap;
  gap:20px;
  align-items:center;
  margin-top:30px;
}
@media(max-width:520px){
  .thank-you-section{padding:60px 0;}
  .thank-you-actions{align-items:stretch; flex-direction:column;}
  .thank-you-actions .btn{width:100%; text-align:center;}
}


/* v24 mobile menu reliability fix */
.site-header {
  position:relative;
  z-index:1000;
}
.site-header .nav {
  position:relative;
}

@media (min-width:901px) {
  .mobile-toggle {
    display:none !important;
  }
  .nav-links {
    display:flex !important;
  }
}

@media (max-width:900px) {
  .mobile-toggle {
    display:flex !important;
    position:relative;
    z-index:1002;
    color:var(--ink);
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
    touch-action:manipulation;
  }

  .nav-links {
    display:none !important;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    z-index:1001;
    background:#fff;
  }

  .nav-links.open {
    display:flex !important;
  }

  body.menu-open {
    overflow:hidden;
  }
}
