/* ===========================================================
   NorStone Commercial Realty — Design System v2
   Direction: clean, editorial, photography-led, restrained.
   Display + body: Manrope · Editorial accent: Newsreader italic
   =========================================================== */

:root{
  --ink:#17324D;
  --panel:#25445E;
  --paper:#FCFBF7;
  --paper-dim:#F2EFE8;
  --bronze:#A9782F;
  --verdant:#3F6B4A;
  --verdant-soft:#E4EDE5;
  --rust:#A8552F;
  --rust-soft:#F3E5DD;
  --bronze-soft:#C79A52;
  --steel:#687887;
  --steel-dim:#506170;
  --chalk:#F3F1EA;
  --chalk-dim:#C7CAD0;
  --hairline:rgba(23,50,77,0.14);
  --hairline-dark:rgba(243,241,234,0.16);
  --maxw:1200px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
}

body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:'Manrope', sans-serif;
  font-size:16.5px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}

h1,h2,h3,h4{
  font-family:'Manrope', sans-serif;
  font-weight:600;
  letter-spacing:-0.035em;
  line-height:1.1;
  margin:0;
  color:var(--ink);
}
h1 em, h2 em, h3 em, h4 em{
  font-family:'Newsreader', serif; font-style:italic; font-weight:500; color:var(--bronze);
}

p{margin:0 0 1em; color:var(--ink);}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}

.eyebrow{
  font-family:'Manrope', sans-serif;
  font-size:12.5px; font-weight:600; letter-spacing:0.12em;
  text-transform:uppercase; color:var(--bronze); margin-bottom:14px; display:block;
}
.mono{font-family:'Manrope', sans-serif; font-variant-numeric:tabular-nums;}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}

/* ===== Links / secondary CTAs — understated, editorial ===== */
.link-arrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:14.5px; font-weight:600; letter-spacing:0.01em;
  border-bottom:1px solid currentColor; padding-bottom:2px;
  transition:opacity 0.15s ease, gap 0.15s ease;
}
.link-arrow:hover{gap:12px; opacity:0.8;}
.link-arrow.on-dark{color:var(--chalk);}
.link-arrow.on-light{color:var(--ink);}

/* ===== Primary buttons ===== */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:'Manrope', sans-serif; font-size:14px; font-weight:700; letter-spacing:0.01em;
  padding:14px 24px; border:1px solid transparent; border-radius:3px; cursor:pointer;
  box-shadow:0 8px 18px rgba(23,50,77,0.08);
  transition:background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  white-space:nowrap;
}
.btn-primary{background:var(--bronze); color:var(--paper);}
.btn-primary:hover{background:var(--ink); color:var(--paper); transform:translateY(-2px); box-shadow:0 12px 24px rgba(23,50,77,0.2);}
.btn-primary:active{transform:translateY(0); box-shadow:0 5px 12px rgba(23,50,77,0.14);}
.photo-panel .btn-primary:hover,
.lead-band .btn-primary:hover,
.cta-band .btn-primary:hover,
.bg-ink .btn-primary:hover,
.owner-band .btn-primary:hover{background:var(--paper); color:var(--ink);}
.btn-block{width:100%; justify-content:center;}
.btn:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{
  outline:2px solid var(--bronze); outline-offset:3px;
}

/* ===== Nav — Meadow-inspired light, quiet, and consistent ===== */
header.site-nav{
  position:fixed; top:0; left:0; right:0; z-index:50;
  background:rgba(252,251,247,0.96); backdrop-filter:blur(12px);
  transition:box-shadow 0.25s ease, border-color 0.25s ease;
  border-bottom:1px solid var(--hairline);
}
header.site-nav.solid{
  background:rgba(252,251,247,0.97); backdrop-filter:blur(12px);
  border-bottom:1px solid var(--hairline); box-shadow:0 8px 28px rgba(23,50,77,0.07);
}
.nav-inner{
  max-width:var(--maxw); margin:0 auto; padding:17px 28px;
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.wordmark{
  font-family:'Manrope', sans-serif; font-weight:600; font-size:21px;
  color:var(--ink); transition:color 0.25s ease;
}
header.site-nav.solid .wordmark{color:var(--ink);}
.wordmark span.sub{
  display:block; font-family:'Manrope', sans-serif; font-size:9.5px; font-weight:600;
  letter-spacing:0.16em; color:var(--bronze); text-transform:uppercase; margin-top:3px;
}

/* ===== Logo image lockup — crossfades with the nav's transparent/solid state ===== */
.brand-logo{position:relative; display:block; width:121px; height:34px; flex:0 0 121px;}
.brand-logo img{position:absolute; top:0; left:0; height:34px; width:auto; transition:opacity 0.25s ease;}
.brand-logo .logo-light{opacity:1;}
.brand-logo .logo-dark{opacity:0;}
header.site-nav.solid .brand-logo .logo-dark{opacity:0;}
header.site-nav.solid .brand-logo .logo-light{opacity:1;}
.footer-logo{height:64px; width:auto; margin:-11px 0 6px -14px;}
nav.links{display:flex; align-items:center; gap:25px;}
nav.links a{
  font-size:13.5px; font-weight:600; letter-spacing:0.005em; color:var(--ink); position:relative;
  transition:color 0.25s ease;
}
nav.links a::after{content:""; position:absolute; left:0; right:100%; bottom:-7px; height:2px; background:var(--bronze); transition:right 0.2s ease;}
nav.links a:hover::after, nav.links a.active::after{right:0;}
nav.links a:hover, nav.links a.active, header.site-nav.solid nav.links a:hover, header.site-nav.solid nav.links a.active{color:var(--bronze);}
.nav-cta{display:flex; align-items:center; gap:14px;}
.nav-phone{font-size:13px; color:var(--ink); display:none; transition:color 0.25s ease;}
.nav-toggle{display:none; background:none; border:none; cursor:pointer; padding:6px;}
.nav-toggle span{display:block; width:22px; height:1.5px; background:var(--ink); margin:5px 0; transition:background 0.25s ease;}
.language-switcher{display:inline-flex; align-items:center; gap:6px; padding-left:14px; border-left:1px solid var(--hairline); font-size:12px; font-weight:700; letter-spacing:0.08em;}
.language-switcher a{color:var(--steel); transition:color 0.2s ease;}
.language-switcher a:hover, .language-switcher a[aria-current="true"]{color:var(--bronze);}
.language-switcher .divider{color:var(--hairline);}

@media (max-width:820px){
  nav.links{
    position:fixed; inset:69px 0 auto 0; background:var(--paper);
    flex-direction:column; align-items:flex-start; gap:0;
    padding:12px 28px 24px; border-top:1px solid var(--hairline); box-shadow:0 18px 35px rgba(23,50,77,0.12);
    transform:translateY(-8px); opacity:0; pointer-events:none; visibility:hidden;
    transition:opacity 0.18s ease, transform 0.18s ease;
  }
  nav.links.open{opacity:1; transform:translateY(0); pointer-events:auto; visibility:visible;}
  nav.links a{width:100%; padding:14px 0; border-bottom:1px solid var(--hairline); font-size:15px; color:var(--ink) !important;}
  nav.links a::after{display:none;}
  .nav-toggle{display:block;}
  .nav-cta .btn-primary{display:none;}
  .language-switcher{padding-left:0; border-left:none;}
}

/* ===== Full-bleed photo panels ===== */
.photo-panel{
  position:relative; background-color:var(--ink); background-size:cover; background-position:center;
  min-height:92vh; display:flex; align-items:flex-end;
  color:var(--chalk); overflow:hidden;
}
.photo-panel::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(18,24,31,0.42) 0%, rgba(18,24,31,0.68) 55%, rgba(18,24,31,0.88) 100%);
  pointer-events:none;
}
.photo-panel.short{min-height:64vh;}
.photo-panel .wrap{position:relative; z-index:1; padding-bottom:72px; padding-top:140px;}
.photo-caption{
  position:absolute; right:28px; bottom:16px; z-index:1;
  font-size:10.5px; letter-spacing:0.05em; color:rgba(243,241,234,0.55);
}

.hero h1{
  color:var(--chalk); font-size:clamp(40px,6.2vw,70px); max-width:860px; margin-bottom:24px; letter-spacing:-0.045em;
  text-shadow:0 2px 24px rgba(18,24,31,0.55);
}
/* Italic accent word: the standard bronze is too dark to read over photography,
   so on dark/photo backgrounds it uses the lighter bronze plus its own shadow. */
.photo-panel h1 em, .photo-panel h2 em, .bg-ink h1 em, .bg-ink h2 em, .cta-band h2 em{
  color:var(--bronze-soft); text-shadow:0 2px 20px rgba(18,24,31,0.7);
}
.hero .lede{
  color:#E7E6E0; font-size:19px; max-width:580px; margin-bottom:32px; line-height:1.62;
  text-shadow:0 1px 14px rgba(18,24,31,0.5);
}
.hero .service-note{color:#D6D8DC;}
.hero .cta-row{display:flex; flex-wrap:wrap; align-items:center; gap:26px; margin-bottom:6px;}
.hero .service-note{
  margin-top:38px; padding-top:20px; border-top:1px solid var(--hairline-dark);
  font-size:12.5px; letter-spacing:0.04em; color:var(--chalk-dim); text-transform:uppercase;
}

/* ===== Sections ===== */
section{padding:100px 0;}
section.tight{padding:64px 0;}
.section-head{max-width:640px; margin-bottom:44px;}
.section-head h2{font-size:clamp(30px,4vw,44px); margin-bottom:16px;}
.section-head p{color:var(--steel); font-size:16.5px; margin:0;}
.section-head.center{margin-left:auto; margin-right:auto; text-align:center;}

.bg-paper-dim{background:var(--paper-dim);}
.bg-ink{background:var(--ink); color:var(--chalk);}
.bg-ink h2, .bg-ink h3, .bg-ink h4{color:var(--chalk);}
.bg-ink p{color:var(--chalk-dim);}
.bg-ink .eyebrow{color:var(--bronze-soft);}

/* ===== Confident value / snapshot list (replaces boxed stat grid) ===== */
.value-list{margin-top:8px;}
.value-list li{
  list-style:none; padding:22px 0; border-bottom:1px solid var(--hairline);
  display:grid; grid-template-columns:28px 1fr; gap:18px; align-items:baseline;
}
.value-list li:first-child{border-top:1px solid var(--hairline);}
.value-list .mark{color:var(--bronze); font-size:15px; line-height:1.7;}
.value-list p{margin:0; font-size:16.5px;}
.bg-ink .value-list li{border-color:var(--hairline-dark);}

/* ===== Two-path split (Owners / Tenants) — photo + text panels ===== */
.split-two{display:grid; grid-template-columns:1fr 1fr;}
.split-panel{
  position:relative; min-height:56vh; background-color:var(--panel); background-size:cover; background-position:center;
  color:var(--chalk); display:flex; align-items:flex-end; padding:44px;
}
.split-panel::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(18,24,31,0.1), rgba(18,24,31,0.78)); pointer-events:none;}
.split-panel > *{position:relative; z-index:1;}
.split-panel h3{font-size:26px; margin-bottom:10px; color:var(--chalk);}
.split-panel p{color:var(--chalk-dim); font-size:15px; max-width:360px;}
@media (max-width:820px){.split-two{grid-template-columns:1fr;}}

/* ===== Two paths (Owners / Tenants) — one photo, two separated cards ===== */
.two-paths{
  position:relative; background-color:var(--ink); background-size:cover; background-position:center;
  padding:110px 0; overflow:hidden;
}
.two-paths::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(18,24,31,0.72), rgba(18,24,31,0.86));
  pointer-events:none;
}
.two-paths .wrap{position:relative; z-index:1;}
.path-grid{display:grid; grid-template-columns:1fr 1fr; gap:36px;}
.path-card{
  background:var(--paper); padding:44px 40px 40px; border-top:3px solid var(--bronze);
  display:flex; flex-direction:column; align-items:flex-start;
}
.path-card h3{font-size:30px; margin-bottom:12px; color:var(--ink);}
.path-card p{color:var(--steel-dim); font-size:16px; margin-bottom:28px;}
.path-card .eyebrow{margin-bottom:12px;}
.path-btn{margin-top:auto;}
@media (max-width:820px){
  .two-paths{padding:72px 0;}
  .path-grid{grid-template-columns:1fr; gap:24px;}
  .path-card{padding:34px 28px 30px;}
  .path-card h3{font-size:26px;}
}

/* ===== About / person block ===== */
.person-block{display:grid; grid-template-columns:320px 1fr; gap:56px; align-items:center;}
.headshot{
  aspect-ratio:4/5; background:var(--panel); background-size:cover; background-position:center;
  display:flex; align-items:flex-end; color:rgba(243,241,234,0.5); font-size:12px; padding:16px; line-height:1.5;
}
.headshot.light{background-color:var(--paper-dim); color:var(--steel);}
@media (max-width:760px){.person-block{grid-template-columns:1fr;}.headshot{max-width:260px;}}

/* ===== Editorial cards (Services) ===== */
.card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--hairline); border:1px solid var(--hairline);}
.card{background:var(--paper); padding:34px 28px;}
.card .num{font-family:'Newsreader', serif; font-style:italic; font-size:15px; color:var(--bronze); margin-bottom:12px;}
.card h3{font-size:19px; margin-bottom:10px; font-family:'Manrope', sans-serif; font-weight:600;}
.card p{color:var(--steel); font-size:14.5px; margin:0;}
@media (max-width:900px){.card-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.card-grid{grid-template-columns:1fr;}}

/* ===== Video ===== */
.video-frame{position:relative; aspect-ratio:16/9; background:var(--panel); overflow:hidden; cursor:pointer;}
.video-frame .play{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:16px; color:var(--chalk); text-align:center; padding:20px;}
.play-btn{width:60px; height:60px; border-radius:50%; border:1px solid var(--bronze-soft); display:flex; align-items:center; justify-content:center;}
.video-frame iframe{width:100%; height:100%; border:0; display:block;}

/* ===== Testimonials — editorial pull-quote ===== */
.testi{padding:0;}
.testi .mark{font-family:'Newsreader', serif; font-style:italic; font-size:44px; color:var(--bronze); line-height:1; margin-bottom:6px; display:block;}
.testi p.quote{font-family:'Newsreader', serif; font-size:21px; font-weight:400; color:var(--ink); margin-bottom:16px; line-height:1.35;}
.testi .who{
  font-size:13px; color:var(--steel); letter-spacing:0.02em;
  padding-top:14px; margin-top:4px; border-top:1px solid var(--hairline); display:inline-block;
}

/* ===== Final CTA band ===== */
.cta-band{background:var(--ink); color:var(--chalk); padding:96px 0; text-align:center;}
.cta-band h2{color:var(--chalk); font-size:clamp(30px,4.2vw,46px); max-width:700px; margin:0 auto 18px;}
.cta-band p{color:var(--chalk-dim); max-width:520px; margin:0 auto 34px;}
.cta-band .eyebrow{margin-bottom:22px;}
.cta-band .cta-row{display:flex; justify-content:center; gap:22px; flex-wrap:wrap; align-items:center;}

/* ===== Forms ===== */
.form-panel{background:var(--paper); border:1px solid var(--hairline); padding:36px;}
.form-row{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-bottom:16px;}
.form-row[data-transaction-row]:not(.transaction-visible){grid-template-columns:1fr;}
.field{margin-bottom:16px;}
.field label{display:block; font-size:11px; letter-spacing:0.06em; text-transform:uppercase; color:var(--steel); margin-bottom:7px; font-weight:600;}
.field input, .field select, .field textarea{
  width:100%; background:var(--paper); border:1px solid #DCD7CC; padding:12px 13px;
  font-family:'Manrope', sans-serif; font-size:14.5px; color:var(--ink);
}
.field textarea{resize:vertical; min-height:110px;}
.field input:focus, .field select:focus, .field textarea:focus{outline:2px solid var(--bronze); outline-offset:1px; border-color:var(--bronze);}
.hp-field{position:absolute; left:-9999px;}
.form-note{font-size:12.5px; color:var(--steel); margin-top:14px;}
.form-success,
.lf-success{
  position:relative; border:1px solid rgba(178,126,43,0.42); border-left:4px solid var(--bronze);
  background:linear-gradient(135deg, rgba(178,126,43,0.10), rgba(255,255,255,0.72));
  padding:30px 32px 30px 78px; box-shadow:0 14px 34px rgba(23,50,77,0.09);
  scroll-margin-top:150px;
}
.form-success::before,
.lf-success::before{
  content:'\2713'; position:absolute; top:30px; left:28px; width:32px; height:32px;
  display:grid; place-items:center; border-radius:50%; background:var(--ink); color:var(--paper);
  font:700 17px/1 'Manrope',sans-serif;
}
.form-success h3{font-family:'Manrope', sans-serif; font-size:22px; margin-bottom:8px; text-transform:none;}
.form-success p{margin:0; color:var(--steel-dim);}
.form-success:focus{outline:none;}
@media (max-width:600px){.form-row{grid-template-columns:1fr;}}
@media (max-width:600px){
  .form-success,.lf-success{padding:24px 22px 24px 68px;}
  .form-success::before,.lf-success::before{top:24px; left:22px;}
}

/* ===== Contact info list ===== */
.contact-info{display:flex; flex-direction:column; gap:24px;}
.contact-info .item .label{font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--bronze); margin-bottom:6px; font-weight:600;}
.contact-info .item .val{font-size:17px; color:var(--ink);}
.contact-info .item .val.muted{color:var(--steel); font-size:14px;}

/* Contact page paths: all forms remain visible on desktop; mobile reveals one. */
.contact-choice{padding:52px 0 24px; background:var(--paper);}
.contact-choice .section-head{margin-bottom:24px;}
.contact-choice .section-head h2{font-size:clamp(24px,3vw,32px); margin-bottom:0;}
.contact-paths{display:grid; grid-template-columns:repeat(3,1fr); gap:12px;}
.contact-path{
  min-height:60px; padding:14px 16px; border:1px solid var(--hairline); border-radius:3px;
  background:var(--paper); color:var(--ink); font:600 14px/1.35 'Manrope',sans-serif; cursor:pointer;
  transition:background 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.contact-path:hover{border-color:var(--bronze); color:var(--bronze); transform:translateY(-2px);}
.contact-path.active{background:var(--ink); border-color:var(--ink); color:var(--paper);}
.contact-flow{scroll-margin-top:132px;}
@media (max-width:820px){
  .contact-choice{position:sticky; top:69px; z-index:30; padding:10px 0; border-bottom:1px solid var(--hairline); box-shadow:0 10px 24px rgba(23,50,77,0.07);}
  .contact-choice-intro{display:none;}
  .contact-paths{gap:7px;}
  .contact-path{min-height:52px; padding:9px 7px; font-size:12px;}
  body.contact-ready .contact-flow[hidden]{display:none;}
  .contact-flow{scroll-margin-top:138px;}
}

/* ===== Counties — simple text row (replaces chip badges) ===== */
.county-row{display:flex; flex-wrap:wrap; gap:0; margin-top:22px; font-family:'Newsreader', serif; font-size:18px;}
.county-row span{padding-right:20px; margin-right:20px; border-right:1px solid var(--hairline);}
.county-row span:last-child{border-right:none;}

/* ===== Footer — lighter, quieter, and still distinctly NorStone ===== */
footer.site-footer{background:var(--paper-dim); color:var(--steel-dim); padding:64px 0 30px; border-top:1px solid var(--hairline);}
.footer-grid{display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:40px; padding-bottom:40px; border-bottom:1px solid var(--hairline);}
.footer-grid h4{color:var(--ink); font-family:'Manrope',sans-serif; font-size:12px; letter-spacing:0.1em; margin-bottom:18px; text-transform:uppercase; font-weight:700;}
.footer-grid ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:11px;}
.footer-grid a{color:var(--steel-dim); font-size:14px;}
.footer-grid a:hover{color:var(--bronze);}
.footer-bottom{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; padding-top:24px; font-size:12px; color:var(--steel);}
footer.site-footer [style*="color:var(--chalk-dim)"]{color:var(--steel-dim) !important;}
@media (max-width:820px){.footer-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:560px){.footer-grid{grid-template-columns:1fr;}}

/* ===== Interior page hero — light editorial opening ===== */
.page-hero{background:linear-gradient(135deg,var(--paper-dim),#F8F5EE); color:var(--ink); padding:148px 0 70px; border-bottom:1px solid var(--hairline);}
.page-hero h1{color:var(--ink); font-size:clamp(34px,5vw,52px);}
.page-hero p{color:var(--steel-dim); max-width:620px; margin-top:16px; font-size:16.5px;}
.page-hero .eyebrow{color:var(--bronze) !important;}

/* ===== Utility ===== */
.grid-2{display:grid; grid-template-columns:1fr 1fr; gap:48px;}
@media (max-width:820px){.grid-2{grid-template-columns:1fr;}}
.placeholder-tag{
  display:inline-block; font-size:10.5px; letter-spacing:0.05em; text-transform:uppercase;
  background:rgba(169,120,47,0.1); color:var(--bronze); border:1px dashed var(--bronze);
  padding:3px 9px; margin-top:10px;
}

/* ===========================================================
   Market Watch page
   =========================================================== */

/* ===== Filter bar ===== */
.filter-bar{
  display:flex; flex-wrap:wrap; gap:10px; align-items:center;
  padding-bottom:22px; border-bottom:1px solid var(--hairline); margin-bottom:0;
}
.filter-group{display:flex; gap:6px; flex-wrap:wrap;}
.filter-btn{
  font-family:'Manrope', sans-serif; font-size:13px; font-weight:500;
  background:transparent; border:1px solid var(--hairline); color:var(--steel-dim);
  padding:8px 15px; cursor:pointer; transition:all 0.15s ease;
}
.filter-btn:hover{border-color:var(--bronze); color:var(--bronze);}
.filter-btn.active{background:var(--ink); border-color:var(--ink); color:var(--paper);}
.filter-label{font-size:11px; letter-spacing:0.08em; text-transform:uppercase; color:var(--steel); font-weight:600; margin-right:4px;}
.filter-count{margin-left:auto; font-size:13px; color:var(--steel);}

/* ===== Map ===== */
#watchMap{
  height:440px; width:100%; background:var(--paper-dim);
  border:1px solid var(--hairline); margin-bottom:0;
}
.leaflet-container{font-family:'Manrope', sans-serif !important;}
.leaflet-popup-content-wrapper{border-radius:0 !important; box-shadow:0 8px 30px rgba(18,24,31,0.18) !important;}
.leaflet-popup-content{margin:16px 18px !important; font-family:'Manrope', sans-serif !important;}
.map-pop-addr{font-family:'Newsreader', serif; font-size:17px; font-weight:500; color:var(--ink); margin-bottom:4px;}
.map-pop-meta{font-size:12.5px; color:var(--steel); margin-bottom:10px;}
.map-pop-link{font-size:13px; font-weight:600; color:var(--bronze); border-bottom:1px solid var(--bronze);}
.map-marker{
  width:26px; height:26px; border-radius:50%; border:2px solid var(--paper);
  display:flex; align-items:center; justify-content:center;
  font-size:11px; font-weight:700; color:var(--paper);
  box-shadow:0 2px 8px rgba(18,24,31,0.35);
}
.map-marker.sale{background:var(--ink);}
.map-marker.lease{background:var(--bronze);}
.map-legend{
  display:flex; gap:20px; flex-wrap:wrap; margin-top:14px; font-size:12.5px; color:var(--steel);
}
.map-legend span{display:flex; align-items:center; gap:7px;}
.legend-dot{width:11px; height:11px; border-radius:50%; display:inline-block;}

/* ===== Property cards ===== */
.prop-list{display:flex; flex-direction:column; gap:0; margin-top:0;}
.prop{
  border-bottom:1px solid var(--hairline); padding:44px 0;
  display:grid; grid-template-columns:1fr 1.35fr; gap:48px; align-items:start;
  scroll-margin-top:100px;
}
.prop:first-child{border-top:1px solid var(--hairline);}
.prop.no-photo{grid-template-columns:0.85fr 1.5fr;}
@media (max-width:840px){.prop, .prop.no-photo{grid-template-columns:1fr; gap:28px;}}

.prop-photo{aspect-ratio:4/3; background:var(--paper-dim); background-size:cover; background-position:center; border:1px solid var(--hairline);}
.prop-facts{border-top:2px solid var(--ink);}
.prop-facts .row{
  display:flex; justify-content:space-between; gap:16px;
  padding:11px 0; border-bottom:1px solid var(--hairline); font-size:14px;
}
.prop-facts .row .k{color:var(--steel);}
.prop-facts .row .v{color:var(--ink); font-weight:600; text-align:right;}
.prop-facts .row .v.accent{color:var(--bronze);}

.prop-head{display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin-bottom:6px;}
.prop h3{font-size:clamp(23px,3vw,30px); margin-bottom:6px;}
.prop .sub-meta{font-size:13.5px; color:var(--steel); margin-bottom:18px;}
.prop .badges{display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px;}
.badge{
  font-size:11px; font-weight:600; letter-spacing:0.06em; text-transform:uppercase;
  padding:5px 11px; border:1px solid var(--hairline); color:var(--steel-dim);
}
.badge.sale{border-color:var(--ink); color:var(--ink);}
.badge.lease{border-color:var(--bronze); color:var(--bronze);}
.badge.exclusive{background:var(--ink); border-color:var(--ink); color:var(--paper);}
.badge.stale{border-color:#B0703A; color:#B0703A;}

.prop-commentary{margin:22px 0 0;}
.prop-commentary .label{
  font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--bronze);
  font-weight:600; margin-bottom:12px;
}
.prop-commentary p{font-size:16px; line-height:1.62;}
.prop-commentary p:last-of-type{margin-bottom:0;}

.prop-highlights{list-style:none; margin:20px 0 0; padding:0;}
.prop-highlights li{
  display:grid; grid-template-columns:18px 1fr; gap:10px; align-items:baseline;
  font-size:14.5px; color:var(--ink); padding:5px 0;
}
.prop-highlights li::before{content:"—"; color:var(--bronze); font-family:'Newsreader', serif;}

.prop-ctas{display:flex; flex-wrap:wrap; gap:22px; align-items:center; margin-top:26px; padding-top:22px; border-top:1px solid var(--hairline);}
.attribution{font-size:12.5px; color:var(--steel); margin-top:16px; font-style:italic;}
.verified-note{font-size:12px; color:var(--steel); margin-top:14px;}

/* Market Watch archive cards: scannable summaries that lead to permanent analysis pages */
.prop-list.archive-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:18px; padding-top:18px;}
.archive-card{
  min-width:0; padding:28px; border:1px solid var(--hairline); background:var(--paper);
  display:flex; flex-direction:column; scroll-margin-top:100px;
}
.archive-card .badges{display:flex; flex-wrap:wrap; gap:7px; margin-bottom:18px;}
.archive-card h3{font-size:24px; margin-bottom:5px;}
.archive-card .sub-meta{font-size:13px; color:var(--steel); margin-bottom:18px;}
.archive-card .archive-facts{display:grid; grid-template-columns:repeat(2,1fr); gap:0; border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); margin-bottom:20px;}
.archive-card .archive-fact{padding:12px 10px 12px 0;}
.archive-card .archive-fact:nth-child(even){padding-left:14px; border-left:1px solid var(--hairline);}
.archive-card .archive-fact .k{display:block; font-size:10.5px; letter-spacing:0.07em; text-transform:uppercase; color:var(--steel); margin-bottom:3px;}
.archive-card .archive-fact .v{display:block; font-size:14px; font-weight:600; color:var(--ink);}
.archive-card .archive-read{font-size:14.5px; color:var(--steel-dim); line-height:1.65; flex:1;}
.archive-card .archive-actions{display:flex; flex-wrap:wrap; align-items:center; gap:15px 22px; padding-top:20px; margin-top:4px; border-top:1px solid var(--hairline);}
.archive-card .archive-actions .link-arrow{font-size:13.5px;}
.archive-card .attribution{margin-bottom:0;}
@media (max-width:820px){.prop-list.archive-grid{grid-template-columns:1fr;}}

/* Permanent Market Watch analysis pages */
.detail-hero{padding-bottom:56px;}
.detail-back{display:inline-block; color:var(--steel-dim); font-size:13px; font-weight:600; margin-bottom:28px; border-bottom:1px solid var(--hairline);}
.detail-back:hover{color:var(--bronze); border-color:var(--bronze);}
.mw-detail{padding-top:70px;}
.detail-layout{display:grid; grid-template-columns:minmax(260px,0.75fr) minmax(0,1.55fr); gap:72px; align-items:start;}
.detail-aside{position:sticky; top:112px;}
.detail-aside .badges{display:flex; flex-wrap:wrap; gap:7px; margin-bottom:22px;}
.detail-analysis{min-width:0;}
.detail-copy-section{padding:0 0 30px; margin-bottom:30px; border-bottom:1px solid var(--hairline);}
.detail-copy-section .label{font-size:11.5px; font-weight:700; letter-spacing:0.12em; text-transform:uppercase; color:var(--bronze); margin-bottom:14px;}
.detail-copy-section p{font-size:16.5px; line-height:1.72; color:var(--ink);}
.detail-copy-section p:last-child{margin-bottom:0;}
.detail-copy-section .prop-highlights{margin-top:0;}
.detail-analysis > .prop-cta-block{border-top:0; margin-top:0; padding:2px 0 32px;}
.detail-analysis > .mw-follow{margin:0 0 24px;}
.detail-analysis > .disclaimer{margin-top:24px;}
@media (max-width:900px){
  .detail-layout{grid-template-columns:1fr; gap:42px;}
  .detail-aside{position:static;}
}

/* ===== Owner-side CTA band (mid-page) ===== */
.owner-band{background:var(--ink); color:var(--chalk); padding:64px 0;}
.owner-band h2{color:var(--chalk); font-size:clamp(26px,3.6vw,38px); max-width:620px; margin-bottom:16px;}
.owner-band p{color:var(--chalk-dim); max-width:540px; margin-bottom:28px;}

/* ===== Notes signup ===== */
.notes-signup{background:var(--paper-dim); border:1px solid var(--hairline); padding:36px;}
.notes-signup h3{font-size:24px; margin-bottom:10px;}
.notes-signup p{color:var(--steel); font-size:15px; max-width:460px;}
.signup-row{display:flex; gap:10px; margin-top:20px; flex-wrap:wrap;}
.signup-row input{
  flex:1; min-width:220px; background:var(--paper); border:1px solid #DCD7CC;
  padding:13px; font-family:'Manrope', sans-serif; font-size:14.5px; color:var(--ink);
}
.signup-row input:focus{outline:2px solid var(--bronze); outline-offset:1px; border-color:var(--bronze);}

/* ===== Disclaimer ===== */
.disclaimer{
  background:var(--paper-dim); border-left:3px solid var(--bronze);
  padding:22px 26px; font-size:13.5px; color:var(--steel-dim); line-height:1.6;
}
.disclaimer strong{color:var(--ink);}

.empty-state{padding:60px 0; text-align:center; color:var(--steel);}

/* ===========================================================
   Legal / prose pages (privacy policy, terms)
   =========================================================== */
.legal{max-width:760px;}
.legal .updated{
  font-size:13px; color:var(--steel); padding-bottom:22px;
  border-bottom:1px solid var(--hairline); margin-bottom:36px;
}
.legal h2{font-size:clamp(22px,2.8vw,28px); margin:44px 0 14px;}
.legal h2:first-of-type{margin-top:0;}
.legal h3{font-size:18px; margin:28px 0 10px; font-family:'Manrope',sans-serif; font-weight:700;}
.legal p{font-size:16px; line-height:1.7; margin-bottom:1.1em;}
.legal ul{padding-left:0; list-style:none; margin:0 0 1.3em;}
.legal ul li{
  display:grid; grid-template-columns:18px 1fr; gap:10px; align-items:baseline;
  font-size:16px; line-height:1.65; padding:5px 0;
}
.legal ul li::before{content:"—"; color:var(--bronze); font-family:'Newsreader',serif;}
.legal a{color:var(--bronze); border-bottom:1px solid var(--bronze);}
.legal a:hover{opacity:0.75;}
.legal .callout{
  background:var(--paper-dim); border-left:3px solid var(--bronze);
  padding:20px 24px; margin:26px 0; font-size:15px; line-height:1.65;
}
.legal .callout p:last-child{margin-bottom:0;}
.legal table{width:100%; border-collapse:collapse; margin:20px 0 26px; font-size:14.5px;}
.legal th{
  text-align:left; font-size:11px; letter-spacing:0.07em; text-transform:uppercase;
  color:var(--steel); font-weight:600; padding:10px 12px 10px 0; border-bottom:2px solid var(--ink);
}
.legal td{padding:12px 12px 12px 0; border-bottom:1px solid var(--hairline); vertical-align:top;}
.legal td:first-child{font-weight:600; width:34%;}

/* ===== Consent checkbox on forms ===== */
.consent{
  display:grid; grid-template-columns:20px 1fr; gap:11px; align-items:start;
  margin:18px 0 4px; padding:16px; background:var(--paper-dim); border:1px solid var(--hairline);
}
.consent input[type=checkbox]{width:17px; height:17px; margin:2px 0 0; accent-color:var(--bronze); cursor:pointer;}
.consent label{
  font-size:12.5px; line-height:1.55; color:var(--steel-dim);
  text-transform:none; letter-spacing:0; font-weight:400; margin:0; cursor:pointer;
}
.consent label a{color:var(--bronze); border-bottom:1px solid var(--bronze);}
.consent-optional{font-size:11px; color:var(--steel); margin-top:6px;}

/* ===== Footer legal row ===== */
.footer-legal{display:flex; gap:18px; flex-wrap:wrap;}
.footer-legal a{color:var(--steel); font-size:11.5px;}
.footer-legal a:hover{color:var(--bronze-soft);}

/* ===== 404 ===== */
.notfound{
  min-height:72vh; display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center; padding:120px 24px 80px;
}
.notfound .code{font-family:'Newsreader',serif; font-size:82px; color:var(--bronze); line-height:1; margin-bottom:14px;}
.notfound h1{font-size:clamp(28px,4vw,40px); margin-bottom:14px;}
.notfound p{color:var(--steel); max-width:440px; margin-bottom:30px;}


/* ===== Assessment badge — my read on the price, at a glance ===== */
.badge-assessment{
  display:inline-flex; align-items:center; gap:7px;
  font-size:12px; font-weight:700; letter-spacing:0.04em; text-transform:uppercase;
  padding:7px 13px; border:1px solid transparent;
}
.badge-assessment .dot{width:7px; height:7px; border-radius:50%; background:currentColor; flex-shrink:0;}
.badge-assessment.good-deal{background:var(--verdant-soft); border-color:var(--verdant); color:var(--verdant);}
.badge-assessment.fair-value{background:var(--paper-dim); border-color:var(--steel); color:var(--steel-dim);}
.badge-assessment.above-comps{background:var(--rust-soft); border-color:var(--rust); color:var(--rust);}
.badge-assessment.watch{background:var(--paper-dim); border-color:var(--bronze); color:var(--bronze);}

/* ===== Listing timeline ===== */
.prop-facts .row .v.dom-long{color:var(--rust);}
.dom-note{font-size:12px; color:var(--steel); margin-top:2px; font-weight:400;}

/* ===== The record — resolved property outcomes ===== */
.badge.outcome-badge{background:var(--ink); border-color:var(--ink); color:var(--paper);}
.outcome{margin-top:24px; padding-top:22px; border-top:2px solid var(--ink);}
.outcome-head{display:flex; align-items:baseline; gap:12px; margin-bottom:16px;}
.outcome-label{
  font-size:12px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--ink);
}
.outcome-date{font-size:13px; color:var(--steel);}
.call-compare{background:var(--paper-dim); padding:18px 20px; border:1px solid var(--hairline);}
.call-row{
  display:flex; justify-content:space-between; gap:16px; align-items:baseline;
  padding:7px 0; font-size:15px;
}
.call-row + .call-row{border-top:1px solid var(--hairline);}
.call-row .k{color:var(--steel);}
.call-row .v{font-weight:700; color:var(--ink); text-align:right;}
.call-row .v.hit{color:var(--verdant);}
.outcome-terms{font-size:14.5px; color:var(--steel-dim); margin-top:14px;}
#recordSection .prop-photo{filter:saturate(0.75);}

/* ===========================================================
   Homepage services grid + FAQ accordion + Our Reach
   =========================================================== */

/* Services — 5 cards, summaries that link to the Services page */
.svc-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--hairline); border:1px solid var(--hairline);}
.svc{background:var(--paper); padding:32px 28px; display:flex; flex-direction:column;}
.svc .svc-num{font-family:'Newsreader',serif; font-style:italic; font-size:15px; color:var(--bronze); margin-bottom:12px;}
.svc h3{font-size:20px; margin-bottom:12px; font-family:'Manrope',sans-serif; font-weight:600;}
.svc p{color:var(--steel); font-size:14.5px; margin:0 0 18px; flex:1;}
.svc .link-arrow{align-self:flex-start; font-size:13.5px;}
@media (max-width:900px){.svc-grid{grid-template-columns:1fr 1fr;}}
@media (max-width:600px){.svc-grid{grid-template-columns:1fr;}}

/* Homepage proof strip */
.proof-strip{padding:0; background:var(--paper-dim); border-bottom:1px solid var(--hairline);}
.proof-grid{display:grid; grid-template-columns:repeat(4,1fr); padding-top:28px; padding-bottom:28px;}
.proof-item{padding:2px 24px; border-right:1px solid var(--hairline);}
.proof-item:first-child{padding-left:0;}
.proof-item:last-child{padding-right:0; border-right:0;}
.proof-item strong{display:block; color:var(--ink); font-size:15px; line-height:1.35; margin-bottom:5px;}
.proof-item span{display:block; color:var(--steel); font-size:12.5px; line-height:1.45;}

/* Homepage Market Watch preview */
.split-head{display:flex; align-items:flex-end; justify-content:space-between; gap:36px; max-width:none;}
.split-head > div{max-width:720px;}
.split-head > .link-arrow{flex:0 0 auto; margin-bottom:8px;}
.featured-watch-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
.featured-watch-grid > .empty-state{grid-column:1/-1;}
.featured-watch-card{
  min-width:0; display:flex; flex-direction:column; padding:28px; background:var(--paper);
  border:1px solid var(--hairline); transition:transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}
.featured-watch-card:hover{transform:translateY(-3px); border-color:rgba(169,120,47,0.45); box-shadow:0 14px 32px rgba(23,50,77,0.09);}
.featured-watch-card .badges{display:flex; flex-wrap:wrap; gap:7px; margin-bottom:20px;}
.featured-watch-card h3{font-size:22px; margin-bottom:5px;}
.featured-watch-card h3 a:hover{color:var(--bronze);}
.featured-watch-location{font-size:13px; color:var(--steel); margin-bottom:17px;}
.featured-watch-facts{display:flex; flex-wrap:wrap; gap:7px 18px; padding:13px 0; border-top:1px solid var(--hairline); border-bottom:1px solid var(--hairline); margin-bottom:17px;}
.featured-watch-facts span{font-size:13px; font-weight:600; color:var(--ink);}
.featured-watch-read{
  color:var(--steel-dim); font-size:14px; line-height:1.6; flex:1; margin-bottom:20px;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:5; overflow:hidden;
}
.featured-watch-card .link-arrow{align-self:flex-start; font-size:13.5px;}

/* Four-step working process */
.process-section{border-top:1px solid var(--hairline);}
.process-grid{display:grid; grid-template-columns:repeat(4,1fr); list-style:none; padding:0; margin:0; border-top:1px solid var(--hairline);}
.process-grid li{padding:28px 26px 8px; border-right:1px solid var(--hairline);}
.process-grid li:first-child{padding-left:0;}
.process-grid li:last-child{padding-right:0; border-right:0;}
.process-grid li > span{display:block; font-family:'Newsreader',serif; font-style:italic; color:var(--bronze); font-size:16px; margin-bottom:24px;}
.process-grid h3{font-size:19px; margin-bottom:11px;}
.process-grid p{font-size:14px; color:var(--steel-dim); line-height:1.65;}

@media (max-width:900px){
  .proof-grid{grid-template-columns:1fr 1fr;}
  .proof-item:nth-child(2){border-right:0;}
  .proof-item:nth-child(n+3){border-top:1px solid var(--hairline); padding-top:20px; margin-top:20px;}
  .featured-watch-grid{grid-template-columns:1fr 1fr;}
  .featured-watch-card:last-child{grid-column:1/-1;}
  .process-grid{grid-template-columns:1fr 1fr;}
  .process-grid li:nth-child(2){border-right:0;}
  .process-grid li:nth-child(n+3){border-top:1px solid var(--hairline); padding-top:28px;}
}
@media (max-width:620px){
  .proof-grid,.featured-watch-grid,.process-grid{grid-template-columns:1fr;}
  .proof-item,.proof-item:first-child,.proof-item:last-child{padding:18px 0; border-right:0; border-top:1px solid var(--hairline); margin:0;}
  .proof-item:first-child{border-top:0;}
  .featured-watch-card:last-child{grid-column:auto;}
  .split-head{display:block;}
  .split-head > .link-arrow{margin-top:5px;}
  .process-grid li,.process-grid li:first-child,.process-grid li:last-child{padding:26px 0 10px; border-right:0; border-top:1px solid var(--hairline);}
}

/* FAQ accordion */
.faq-list{max-width:820px; border-top:1px solid var(--hairline);}
.faq{border-bottom:1px solid var(--hairline);}
.faq summary{
  list-style:none; cursor:pointer; padding:24px 52px 24px 18px; position:relative;
  font-family:'Manrope',sans-serif; font-size:18px; font-weight:600; color:var(--ink);
  transition:background-color 0.18s ease, color 0.18s ease, padding-left 0.18s ease;
}
/* Bronze bar slides in from the left on hover so each row reads as clickable. */
.faq summary::before{
  content:""; position:absolute; left:0; top:14px; bottom:14px; width:3px;
  background:var(--bronze); transform:scaleY(0); transform-origin:center;
  transition:transform 0.18s ease;
}
.faq summary:hover::before, .faq summary:focus-visible::before, .faq[open] summary::before{
  transform:scaleY(1);
}
.faq summary:hover, .faq summary:focus-visible{
  background:var(--paper-dim); color:var(--bronze); padding-left:24px;
}
.faq[open] summary{color:var(--bronze); padding-left:24px;}
.faq summary:focus-visible{outline:none;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{
  content:"+"; position:absolute; right:14px; top:22px;
  font-size:28px; font-weight:300; color:var(--bronze); line-height:1; transition:transform 0.2s ease;
}
.faq summary:hover::after{transform:rotate(90deg);}
.faq[open] summary:hover::after{transform:none;}
.faq[open] summary::after{content:"\2013";}
.faq summary:hover{color:var(--bronze);}
.faq .faq-body{padding:0 52px 26px 24px;}
.faq .faq-body p{font-size:15.5px; line-height:1.7; color:var(--steel-dim); margin:0 0 0.9em;}
.faq .faq-body p:last-child{margin-bottom:0;}

/* Our Reach */
.reach-counties{display:flex; flex-wrap:wrap; gap:0; margin-top:20px; font-family:'Newsreader',serif; font-size:17px;}
.reach-counties span{padding-right:18px; margin-right:18px; border-right:1px solid var(--hairline-dark);}
.reach-counties span:last-child{border-right:none;}

/* ==========================================================================
   Shared lead form modal (forms.js)
   ========================================================================== */
.lf-overlay{
  position:fixed; inset:0; z-index:1000; background:rgba(18,24,31,0.72);
  display:flex; align-items:flex-start; justify-content:center;
  padding:40px 20px; overflow-y:auto; -webkit-overflow-scrolling:touch;
}
.lf-modal{
  position:relative; background:var(--paper); width:100%; max-width:560px;
  border-top:3px solid var(--bronze); box-shadow:0 24px 60px rgba(18,24,31,0.4);
  margin:auto;
}
.lf-body{padding:44px 40px 40px;}
.lf-close{
  position:absolute; top:10px; right:14px; background:none; border:none;
  font-size:30px; line-height:1; color:var(--steel); cursor:pointer; padding:6px 10px;
}
.lf-close:hover{color:var(--bronze);}
.lf-body h2{font-size:clamp(24px,4vw,30px); margin-bottom:10px;}
.lf-intro{color:var(--steel-dim); font-size:15.5px; margin-bottom:26px;}

.lf-form .field{margin-bottom:18px;}
.lf-form label{
  display:block; font-size:13px; font-weight:600; letter-spacing:0.02em;
  color:var(--ink); margin-bottom:7px;
}
.field-flag{
  font-weight:400; font-size:11px; letter-spacing:0.08em; text-transform:uppercase;
  color:var(--bronze); margin-left:6px;
}
.field-flag.optional{color:var(--steel);}
.lf-form input[type=text], .lf-form input[type=email], .lf-form input[type=tel],
.lf-form select, .lf-form textarea{
  width:100%; padding:13px 14px; font-family:inherit; font-size:16px;
  border:1px solid var(--hairline); background:#fff; color:var(--ink); border-radius:2px;
}
.lf-form input:focus, .lf-form select:focus, .lf-form textarea:focus{
  outline:none; border-color:var(--bronze); box-shadow:0 0 0 3px rgba(169,120,47,0.12);
}
.lf-form textarea{resize:vertical; min-height:96px;}
.lf-hp{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}

.sub-choice{border:none; padding:0; margin:0 0 20px;}
.sub-choice legend{
  font-size:13px; font-weight:600; color:var(--ink); margin-bottom:12px; padding:0;
}
.sub-opt{display:flex; align-items:flex-start; gap:11px; margin-bottom:11px;}
.sub-opt[hidden]{display:none;}
.sub-opt input{margin-top:3px; width:17px; height:17px; flex-shrink:0; accent-color:var(--bronze);}
.sub-opt label{font-size:15px; font-weight:400; margin:0; cursor:pointer;}

.lf-form .consent{display:flex; align-items:flex-start; gap:11px; margin:22px 0 8px;}
.lf-form .consent input{margin-top:4px; width:17px; height:17px; flex-shrink:0; accent-color:var(--bronze);}
.lf-form .consent label{font-size:12.5px; font-weight:400; line-height:1.55; color:var(--steel-dim); margin:0;}
.lf-form .consent label a{color:var(--bronze); text-decoration:underline;}
.lf-form .consent-optional{font-size:12.5px; color:var(--steel); margin:0 0 22px;}

.lf-error{
  background:rgba(178,58,44,0.07); border-left:3px solid #B23A2C; color:#8C2B20;
  padding:11px 14px; font-size:14px; margin:0 0 16px;
}
.lf-success h3{font-size:22px; margin-bottom:10px; text-transform:none;}
.lf-success p{color:var(--steel-dim); margin-bottom:0;}
.lf-success:focus{outline:none;}
.lf-booking{margin-top:26px; padding-top:22px; border-top:1px solid var(--hairline);}
.lf-booking-note{font-size:15px; color:var(--ink); margin-bottom:14px;}

@media (max-width:600px){
  .lf-overlay{padding:0;}
  .lf-modal{max-width:none; min-height:100%;}
  .lf-body{padding:52px 22px 36px;}
  .lf-form input[type=text], .lf-form input[type=email], .lf-form input[type=tel],
  .lf-form select, .lf-form textarea{padding:14px 13px;}
}

/* ==========================================================================
   Single home page lead band (replaces the two-box owner/tenant split)
   ========================================================================== */
.lead-band{
  position:relative; background-color:var(--ink); background-size:cover;
  background-position:center; padding:104px 0; overflow:hidden; text-align:center;
}
.lead-band::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(18,24,31,0.78), rgba(18,24,31,0.9));
  pointer-events:none;
}
.lead-band .wrap{position:relative; z-index:1; max-width:720px;}
.lead-band h2{color:var(--chalk); font-size:clamp(28px,4.4vw,42px); margin-bottom:18px;}
.lead-band p{color:#D9DBDE; font-size:17px; line-height:1.65; margin-bottom:32px;}
@media (max-width:700px){.lead-band{padding:72px 0;}}

/* Services page: light management panel and a clear transition into the closing CTA. */
.property-management-section{
  background:var(--paper); border-top:1px solid var(--hairline); border-bottom:4px solid var(--bronze);
}

/* Services page: keep the editorial spacing while preventing uneven tablet
   cards and long English/Spanish CTA labels from overflowing on mobile. */
@media (max-width:900px){
  .services-page .card-grid{grid-template-columns:1fr;}
}
@media (max-width:820px){
  .services-page section{padding:76px 0;}
  .services-page .page-hero{padding:128px 0 64px;}
  .services-page .section-head{margin-bottom:34px;}
  .services-page .grid-2{gap:30px;}
  .services-page .cta-band{padding:72px 0;}
}
@media (max-width:600px){
  .services-page section{padding:64px 0;}
  .services-page .page-hero{padding:112px 0 56px;}
  .services-page .section-head{margin-bottom:28px;}
  .services-page .card{padding:28px 24px;}
  .services-page .grid-2{gap:24px;}
  .services-page .btn{
    max-width:100%; white-space:normal; text-align:center; justify-content:center; line-height:1.35;
  }
  .services-page section:not(.cta-band) .btn{width:100%; min-height:58px;}
  .services-page .cta-band{padding:64px 0;}
}

/* Market Watch: quieter secondary subscribe band */
.mw-follow{border:1px solid var(--hairline); background:var(--paper-dim); padding:34px 32px;}
.mw-follow h3{font-size:21px; margin-bottom:10px; text-transform:none;}
.mw-follow p{color:var(--steel-dim); font-size:15px; margin-bottom:20px;}
@media (max-width:600px){.mw-follow{padding:26px 22px;}}

/* Market Watch: per property named sections and CTA blocks */
.prop-section{margin:22px 0;}
.prop-section .label{
  font-family:'Manrope',sans-serif; font-size:11.5px; font-weight:600;
  letter-spacing:0.12em; text-transform:uppercase; color:var(--bronze); margin-bottom:12px;
}
.prop-cta-block{
  border-top:1px solid var(--hairline); margin-top:28px; padding-top:26px;
}
.prop-cta-block h4{font-size:20px; margin-bottom:10px; text-transform:none;}
.prop-cta-block p{color:var(--steel-dim); font-size:15px; margin-bottom:20px;}
.prop-cta-block + .mw-follow{margin-top:22px;}
.outcome .label{
  font-family:'Manrope',sans-serif; font-size:11.5px; font-weight:600;
  letter-spacing:0.12em; text-transform:uppercase; color:var(--bronze); margin-bottom:14px;
}

/* CRM submission error shown when the primary GoHighLevel path fails. */
.form-error{
  margin:14px 0 0;
  padding:12px 14px;
  border:1px solid rgba(132, 43, 43, .25);
  background:rgba(132, 43, 43, .06);
  color:#6f2020;
  font-size:13px;
  line-height:1.5;
}

/* Persistent mobile call action. Hidden on larger screens. */
.mobile-call{display:none;}
@media (max-width:820px){
  body{padding-bottom:calc(58px + env(safe-area-inset-bottom));}
  .mobile-call{
    position:fixed; left:auto; right:14px; bottom:calc(12px + env(safe-area-inset-bottom)); z-index:90;
    width:auto; max-width:calc(100vw - 28px); padding:0 18px;
    min-height:48px; display:flex; align-items:center; justify-content:center;
    background:var(--ink); color:var(--paper); border:1px solid rgba(255,255,255,0.16); border-radius:999px;
    box-shadow:0 12px 30px rgba(23,50,77,0.28);
    font-size:14px; font-weight:700; letter-spacing:0.01em;
    transition:background 0.2s ease, transform 0.2s ease;
  }
  .mobile-call:hover, .mobile-call:focus-visible{background:var(--bronze); transform:translateY(-1px);}
}

@media (max-width:520px){
  .wrap{padding-left:22px; padding-right:22px;}
  .nav-inner{padding-left:20px; padding-right:20px; gap:10px;}
  .brand-logo{width:106px; height:30px; flex-basis:106px;}
  .brand-logo img{height:30px;}
  .language-switcher{gap:5px; font-size:11px;}
}
