/* SIM REI — extracted from index.html by build_split.py */

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --cream:#F4EFE4;
  --dark:#1C1814;
  --gold:#C4A35A;
  --muted:#8A7D6B;
  --light:#EAE4D8;
  --white:#FDFAF5;
}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--dark);font-family:"DM Sans",sans-serif;font-weight:300;overflow-x:hidden;-webkit-font-smoothing:antialiased}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:200;display:flex;align-items:center;justify-content:space-between;padding:22px 56px;background:rgba(244,239,228,0.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(28,24,20,0.07)}
.nav-logo{cursor:pointer;display:block;height:44px}
.nav-links{display:flex;gap:28px;list-style:none}
.nav-btn{background:none;border:none;font-family:"DM Sans",sans-serif;font-size:10px;font-weight:400;letter-spacing:0.18em;text-transform:uppercase;color:var(--muted);cursor:pointer;padding:0;transition:color 0.2s;position:relative}
.nav-btn::after{content:"";position:absolute;bottom:-3px;left:0;right:0;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 0.25s}
.nav-btn:hover,.nav-btn.active{color:var(--dark)}
.nav-btn.active::after,.nav-btn:hover::after{transform:scaleX(1)}
.nav-portal{display:inline-block;text-decoration:none;color:var(--gold)}
.nav-portal:hover{color:var(--dark)}
.nav-cta{font-family:"DM Sans",sans-serif;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;background:var(--dark);color:var(--cream);border:none;padding:11px 26px;cursor:pointer;transition:background 0.22s}
.nav-cta:hover{background:var(--gold)}

/* PAGE */
.page{padding-top:76px;min-height:100vh;opacity:1;animation:fadeUp 0.55s ease}
.page.hidden{display:none}
@keyframes fadeUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* HERO */
.hero{display:grid;grid-template-columns:54% 46%;min-height:calc(100vh - 76px);overflow:hidden}
.hero-text{padding:80px 60px 80px 80px;display:flex;flex-direction:column;justify-content:center}
.hero-eyebrow{font-size:10px;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold);margin-bottom:28px;display:flex;align-items:center;gap:12px}
.hero-eyebrow::before{content:"";display:block;width:32px;height:1px;background:var(--gold)}
.hero-headline{font-family:"Cormorant Garamond",serif;font-size:clamp(54px,5.8vw,90px);font-weight:300;line-height:0.98;color:var(--dark);margin-bottom:36px;letter-spacing:-0.01em}
.hero-headline em{font-style:italic;color:var(--gold);font-weight:300}
.hero-sub{font-size:14px;line-height:1.85;color:var(--muted);max-width:380px;margin-bottom:52px;font-weight:300}
.hero-actions{display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.btn-primary{background:var(--dark);color:var(--cream);border:none;padding:15px 34px;font-family:"DM Sans",sans-serif;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;transition:background 0.22s;text-decoration:none;display:inline-block}
.btn-primary:hover{background:var(--gold)}
.btn-ghost{background:transparent;color:var(--dark);border:1px solid rgba(28,24,20,0.22);padding:15px 34px;font-family:"DM Sans",sans-serif;font-size:11px;letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;transition:all 0.22s;text-decoration:none;display:inline-block}
.btn-ghost:hover{border-color:var(--dark);background:rgba(28,24,20,0.03)}
.hero-image-col{position:relative;overflow:hidden;background:var(--dark)}
.hero-img{width:100%;height:100%;object-fit:cover;opacity:0.65;transform:scale(1.04);transition:transform 7s ease,opacity 0.6s ease}
.hero-img.loaded{transform:scale(1);opacity:0.72}
.hero-card{position:absolute;bottom:40px;left:-1px;right:40px;background:var(--white);padding:28px 32px;display:flex;gap:36px}
.hero-stat{display:flex;flex-direction:column}
.hero-stat-num{font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:500;color:var(--dark);line-height:1}
.hero-stat-label{font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:var(--muted);margin-top:5px}
.hero-divider{width:1px;background:rgba(28,24,20,0.1);align-self:stretch}

/* MARQUEE */
.marquee-wrap{background:var(--dark);padding:18px 0;overflow:hidden;white-space:nowrap}
.marquee-track{display:inline-flex;animation:marquee 24s linear infinite}
.marquee-item{font-family:"Cormorant Garamond",serif;font-size:15px;font-weight:300;color:rgba(244,239,228,0.35);letter-spacing:0.1em;padding:0 32px;flex-shrink:0}
.marquee-dot{color:var(--gold)}
@keyframes marquee{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}

/* SECTIONS */
.section{padding:96px 80px}
.section-header{display:flex;align-items:baseline;gap:20px;margin-bottom:60px;border-bottom:1px solid rgba(28,24,20,0.08);padding-bottom:20px}
.section-num{font-family:"Cormorant Garamond",serif;font-size:13px;color:var(--gold);font-style:italic}
.section-title{font-family:"Cormorant Garamond",serif;font-size:clamp(34px,3.8vw,50px);font-weight:400;color:var(--dark);line-height:1.05}

/* SERVICES */
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:rgba(28,24,20,0.07)}
.service-card{background:var(--cream);padding:44px 32px 40px;cursor:default;transition:background 0.3s;position:relative;overflow:hidden}
.service-card::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 0.35s ease}
.service-card:hover{background:#1C1814}
.service-card:hover .svc-num{color:rgba(244,239,228,0.12)}
.service-card:hover .svc-title,.service-card:hover .svc-desc{color:var(--cream)}
.service-card:hover::after{transform:scaleX(1)}
.svc-num{font-family:"Cormorant Garamond",serif;font-size:52px;font-weight:300;color:rgba(28,24,20,0.07);display:block;line-height:1;margin-bottom:22px;transition:color 0.3s}
.svc-title{font-family:"Cormorant Garamond",serif;font-size:23px;font-weight:500;color:var(--dark);margin-bottom:12px;transition:color 0.3s}
.svc-desc{font-size:13px;line-height:1.75;color:var(--muted);font-weight:300;transition:color 0.3s}
.svc-cta{display:inline-flex;align-items:center;gap:8px;margin-top:22px;background:transparent;border:none;border-bottom:1px solid var(--gold);padding:0 0 6px;font-family:"DM Sans",sans-serif;font-size:10px;letter-spacing:0.18em;text-transform:uppercase;color:var(--dark);cursor:pointer;transition:color 0.3s}
.svc-cta-arrow{display:inline-block;transition:transform 0.25s}
.svc-cta:hover .svc-cta-arrow{transform:translateX(5px)}
.service-card:hover .svc-cta{color:var(--cream)}

/* SIGNUP */
.signup-band{background:var(--gold);padding:60px 80px;display:flex;align-items:center;justify-content:space-between;gap:48px}
.signup-copy h3{font-family:"Cormorant Garamond",serif;font-size:36px;font-weight:300;color:var(--dark);margin-bottom:6px}
.signup-copy p{font-size:13px;color:rgba(28,24,20,0.58);font-weight:300}
.signup-row{display:flex;flex:1;max-width:460px}
.signup-row input{flex:1;padding:14px 20px;border:none;background:rgba(28,24,20,0.1);font-family:"DM Sans",sans-serif;font-size:13px;color:var(--dark);outline:none}
.signup-row input::placeholder{color:rgba(28,24,20,0.38)}
.signup-row button{background:var(--dark);color:var(--cream);border:none;padding:14px 26px;font-family:"DM Sans",sans-serif;font-size:10px;letter-spacing:0.14em;text-transform:uppercase;cursor:pointer;transition:background 0.2s;white-space:nowrap}
.signup-row button:hover{background:#342c24}
.signup-success{font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:300;color:var(--dark)}

/* FAQ */
.faq-list{max-width:820px}
.faq-item{border-top:1px solid rgba(28,24,20,0.09)}
.faq-item:last-child{border-bottom:1px solid rgba(28,24,20,0.09)}
.faq-trigger{display:flex;align-items:center;justify-content:space-between;gap:24px;cursor:pointer;padding:26px 0}
.faq-q{font-family:"Cormorant Garamond",serif;font-size:21px;font-weight:500;color:var(--dark);line-height:1.3}
.faq-icon{width:30px;height:30px;border:1px solid rgba(28,24,20,0.18);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:20px;color:var(--dark);transition:all 0.25s;line-height:1}
.faq-icon.open{background:var(--dark);color:var(--cream);border-color:var(--dark)}
.faq-body{overflow:hidden;max-height:0;transition:max-height 0.38s ease}
.faq-body.open{max-height:160px}
.faq-body p{font-size:14px;line-height:1.85;color:var(--muted);font-weight:300;padding-bottom:24px;padding-right:56px}

/* ABOUT */
.about-hero{background:var(--dark);padding:88px 80px;display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:end}
.about-eyebrow{font-size:10px;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold);margin-bottom:26px;display:flex;align-items:center;gap:12px}
.about-eyebrow::before{content:"";display:block;width:32px;height:1px;background:var(--gold)}
.about-headline{font-family:"Cormorant Garamond",serif;font-size:clamp(50px,6vw,82px);font-weight:300;line-height:0.97;color:var(--cream)}
.about-headline em{font-style:italic;color:var(--gold)}
.about-intro{font-size:15px;line-height:1.85;color:rgba(244,239,228,0.52);font-weight:300;align-self:end;padding-bottom:4px}
.about-body{padding:88px 80px;display:grid;grid-template-columns:1fr 1fr;gap:80px}
.about-block-title{font-family:"Cormorant Garamond",serif;font-size:32px;font-weight:400;color:var(--dark);margin-bottom:22px}
.about-block-text{font-size:14px;line-height:1.9;color:var(--muted);font-weight:300;margin-bottom:16px}
.values-section{padding:0 80px 88px}
.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(28,24,20,0.07)}
.value-card{background:var(--cream);padding:44px 32px}
.value-glyph{font-size:20px;color:var(--gold);margin-bottom:18px;display:block;letter-spacing:2px}
.value-title{font-family:"Cormorant Garamond",serif;font-size:23px;font-weight:500;color:var(--dark);margin-bottom:10px}
.value-body{font-size:13px;line-height:1.75;color:var(--muted);font-weight:300}

/* CONTACT */
.contact-layout{display:grid;grid-template-columns:44% 56%;min-height:calc(100vh - 76px)}
.contact-aside{background:var(--dark);padding:80px;display:flex;flex-direction:column;justify-content:space-between}
.contact-headline{font-family:"Cormorant Garamond",serif;font-size:clamp(48px,5vw,72px);font-weight:300;line-height:0.97;color:var(--cream);margin-bottom:28px}
.contact-headline em{font-style:italic;color:var(--gold)}
.contact-tagline{font-size:14px;line-height:1.85;color:rgba(244,239,228,0.44);font-weight:300;max-width:320px;margin-bottom:72px}
.contact-details{display:flex;flex-direction:column;gap:36px}
.c-detail label{font-size:10px;letter-spacing:0.22em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:7px}
.c-detail a,.c-detail p{font-family:"Cormorant Garamond",serif;font-size:21px;color:var(--cream);text-decoration:none;line-height:1.4;transition:color 0.2s;font-weight:300}
.c-detail a:hover{color:var(--gold)}
.contact-form-wrap{background:var(--white);padding:80px;display:flex;flex-direction:column;justify-content:center}
.form-heading{font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:400;color:var(--dark);margin-bottom:44px}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-bottom:22px}
.f-group{display:flex;flex-direction:column;gap:8px;margin-bottom:22px}
.f-group label{font-size:10px;letter-spacing:0.2em;text-transform:uppercase;color:var(--muted)}
.f-group input,.f-group select,.f-group textarea{background:transparent;border:none;border-bottom:1px solid rgba(28,24,20,0.14);padding:12px 0;font-family:"DM Sans",sans-serif;font-size:14px;font-weight:300;color:var(--dark);outline:none;transition:border-color 0.22s;width:100%}
.f-group input:focus,.f-group select:focus,.f-group textarea:focus{border-color:var(--gold)}
.f-group select{cursor:pointer}
.f-group textarea{resize:none;height:90px}
.success-state{text-align:center;padding:60px 0}
.success-check{font-family:"Cormorant Garamond",serif;font-size:64px;color:var(--gold);line-height:1;margin-bottom:20px}
.success-title{font-family:"Cormorant Garamond",serif;font-size:36px;font-weight:400;color:var(--dark);margin-bottom:10px}
.success-sub{font-size:14px;color:var(--muted);font-weight:300}

/* FOOTER */
.footer{background:#161210;padding:44px 80px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(244,239,228,0.05)}
.footer-logo{height:40px;display:block}
.footer-links{display:flex;gap:32px;list-style:none}
.footer-links a{font-size:10px;letter-spacing:0.16em;text-transform:uppercase;color:rgba(244,239,228,0.35);text-decoration:none;transition:color 0.2s}
.footer-links a:hover{color:rgba(244,239,228,0.75)}
.footer-copy{font-size:11px;color:rgba(244,239,228,0.25)}

.map-embed{margin-top:36px;width:100%;height:200px;filter:grayscale(30%) contrast(1.1);opacity:0.85}
.map-embed iframe{width:100%;height:100%;border:none;display:block}

/* ── CALCULATOR SECTION ── */
.calc-section {
  background: #1C1814;
  padding: 96px 80px;
}
.calc-section .section-header {
  border-bottom-color: rgba(244,239,228,0.1);
  margin-bottom: 56px;
}
.calc-section .section-num { color: var(--gold); }
.calc-section .section-title { color: var(--cream); }

.calc-promo {
  background: linear-gradient(135deg, var(--gold) 0%, #b8922e 100%);
  padding: 28px 36px;
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 48px;
}
.calc-promo-badge {
  font-family: "Cormorant Garamond", serif;
  font-size: 44px;
  font-weight: 600;
  color: #1C1814;
  line-height: 1;
  flex-shrink: 0;
}
.calc-promo-text h4 {
  font-family: "Cormorant Garamond", serif;
  font-size: 22px;
  font-weight: 600;
  color: #1C1814;
  margin-bottom: 4px;
}
.calc-promo-text p {
  font-size: 12px;
  line-height: 1.6;
  color: rgba(28,24,20,0.72);
  font-weight: 300;
}

.calc-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  background: rgba(244,239,228,0.06);
}
.calc-inputs {
  background: #252018;
  padding: 44px 40px;
}
.calc-results {
  background: #1a1610;
  padding: 44px 40px;
  display: flex;
  flex-direction: column;
}

/* input groups */
.ci-label {
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(244,239,228,0.38);
  display: block;
  margin-bottom: 8px;
  margin-top: 28px;
}
.ci-label:first-child { margin-top: 0; }

.ci-row { display: flex; gap: 10px; align-items: center; }

.ci-input {
  background: rgba(244,239,228,0.06);
  border: 1px solid rgba(244,239,228,0.1);
  color: var(--cream);
  font-family: "Cormorant Garamond", serif;
  font-size: 20px;
  font-weight: 400;
  padding: 10px 14px;
  outline: none;
  width: 100%;
  transition: border-color 0.2s;
}
.ci-input:focus { border-color: var(--gold); }
.ci-input-sm {
  width: 90px;
  flex-shrink: 0;
  font-size: 16px;
}
.ci-symbol {
  font-family: "DM Sans", sans-serif;
  font-size: 12px;
  color: rgba(244,239,228,0.35);
  margin-right: -4px;
}

/* term buttons */
.term-group { display: flex; gap: 2px; margin-top: 0; }
.term-btn {
  flex: 1;
  background: rgba(244,239,228,0.06);
  border: 1px solid rgba(244,239,228,0.1);
  color: rgba(244,239,228,0.45);
  font-family: "DM Sans", sans-serif;
  font-size: 11px;
  letter-spacing: 0.12em;
  padding: 10px 0;
  cursor: pointer;
  transition: all 0.2s;
}
.term-btn.active {
  background: var(--gold);
  border-color: var(--gold);
  color: #1C1814;
  font-weight: 500;
}
.term-btn:hover:not(.active) { border-color: var(--gold); color: var(--cream); }

/* rate slider */
.rate-slider-wrap { position: relative; margin-top: 4px; }
.rate-slider {
  -webkit-appearance: none;
  width: 100%;
  height: 2px;
  background: rgba(244,239,228,0.15);
  outline: none;
  margin: 12px 0 6px;
}
.rate-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 18px; height: 18px;
  border-radius: 50%;
  background: var(--gold);
  cursor: pointer;
}
.rate-labels {
  display: flex;
  justify-content: space-between;
  font-size: 10px;
  color: rgba(244,239,228,0.25);
  letter-spacing: 0.1em;
}

/* divider */
.ci-divider {
  border: none;
  border-top: 1px solid rgba(244,239,228,0.07);
  margin: 28px 0 0;
}

/* sub-row */
.ci-sub-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 6px;
}
.ci-sub-val {
  font-size: 12px;
  color: rgba(244,239,228,0.3);
  font-style: italic;
}

/* PMI note */
.ci-note {
  font-size: 11px;
  color: rgba(196,163,90,0.65);
  margin-top: 6px;
  line-height: 1.5;
}

/* calculate button */
.calc-btn {
  width: 100%;
  background: var(--gold);
  border: none;
  color: #1C1814;
  font-family: "DM Sans", sans-serif;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 16px;
  cursor: pointer;
  margin-top: 32px;
  transition: background 0.22s;
  font-weight: 500;
}
.calc-btn:hover { background: #d9ba7e; }

/* results */
.result-total-label {
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(244,239,228,0.35);
  margin-bottom: 8px;
}
.result-total-amt {
  font-family: "Cormorant Garamond", serif;
  font-size: 62px;
  font-weight: 300;
  color: var(--cream);
  line-height: 1;
  margin-bottom: 4px;
}
.result-total-sub {
  font-size: 11px;
  color: rgba(244,239,228,0.3);
  margin-bottom: 32px;
}

/* breakdown rows */
.breakdown-title {
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(244,239,228,0.35);
  margin-bottom: 16px;
}
.breakdown-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid rgba(244,239,228,0.05);
}
.breakdown-row:last-child { border-bottom: none; }
.br-label { font-size: 13px; color: rgba(244,239,228,0.55); font-weight: 300; }
.br-val {
  font-family: "Cormorant Garamond", serif;
  font-size: 19px;
  color: var(--cream);
  font-weight: 400;
}

/* composition bar */
.comp-bar-wrap { margin: 28px 0 20px; }
.comp-bar-label {
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(244,239,228,0.35);
  margin-bottom: 10px;
}
.comp-bar {
  height: 8px;
  display: flex;
  overflow: hidden;
  border-radius: 1px;
}
.comp-seg { height: 100%; transition: width 0.5s ease; }
.comp-seg-pi  { background: var(--gold); }
.comp-seg-tax { background: #7b9ea6; }
.comp-seg-ins { background: #8aaa6a; }
.comp-seg-pmi { background: #c47070; }
.comp-seg-hoa { background: #9b7ab5; }
.comp-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin-top: 10px;
}
.comp-dot {
  width: 8px; height: 8px;
  border-radius: 50%;
  display: inline-block;
  margin-right: 5px;
  flex-shrink: 0;
}
.comp-item {
  font-size: 11px;
  color: rgba(244,239,228,0.4);
  display: flex;
  align-items: center;
}

/* loan summary */
.loan-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2px;
  background: rgba(244,239,228,0.06);
  margin-top: auto;
  padding-top: 28px;
}
.ls-cell {
  background: rgba(244,239,228,0.03);
  padding: 16px 18px;
}
.ls-label {
  font-size: 10px;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  color: rgba(244,239,228,0.3);
  display: block;
  margin-bottom: 4px;
}
.ls-val {
  font-family: "Cormorant Garamond", serif;
  font-size: 20px;
  color: var(--cream);
  font-weight: 400;
}

/* CTA */
.calc-cta {
  display: block;
  text-align: center;
  background: var(--cream);
  color: #1C1814;
  font-family: "DM Sans", sans-serif;
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  padding: 16px;
  text-decoration: none;
  margin-top: 24px;
  transition: background 0.22s;
  font-weight: 500;
}
.calc-cta:hover { background: var(--gold); }

.calc-disclaimer {
  font-size: 11px;
  color: rgba(244,239,228,0.2);
  margin-top: 16px;
  line-height: 1.6;
  font-style: italic;
}

/* ════ AGENT PAGE ════ */
.team-hero{background:var(--dark);padding:72px 80px 64px}
.team-hero-eyebrow{font-size:10px;letter-spacing:0.28em;text-transform:uppercase;color:var(--gold);margin-bottom:22px;display:flex;align-items:center;gap:12px}
.team-hero-eyebrow::before{content:"";display:block;width:32px;height:1px;background:var(--gold)}
.team-hero-headline{font-family:"Cormorant Garamond",serif;font-size:clamp(46px,5.5vw,78px);font-weight:300;line-height:.97;color:var(--cream)}
.team-hero-headline em{font-style:italic;color:var(--gold)}
.team-hero-sub{font-size:14px;line-height:1.85;color:rgba(244,239,228,.45);font-weight:300;max-width:560px;margin-top:20px}
.agents-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:rgba(28,24,20,.07);padding:0 0 0 0;margin:0}
.agents-wrap{padding:72px 80px}
.agent-card{background:var(--cream);overflow:hidden;position:relative}
.agent-photo-wrap{position:relative;overflow:hidden;aspect-ratio:5/6}
.agent-photo{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s ease}
.agent-card:hover .agent-photo{transform:scale(1.04)}
.agent-overlay{position:absolute;inset:0;background:rgba(28,24,20,.82);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;opacity:0;transition:opacity .3s}
.agent-card:hover .agent-overlay{opacity:1}
.agent-ol-btn{font-family:"DM Sans",sans-serif;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--cream);border:1px solid rgba(244,239,228,.35);padding:9px 20px;text-decoration:none;transition:all .2s}
.agent-ol-btn:hover{border-color:var(--gold);color:var(--gold)}
.agent-info{padding:22px 22px 26px}
.agent-license{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.agent-name{font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:500;color:var(--dark);margin-bottom:3px}
.agent-title{font-size:12px;color:var(--muted);margin-bottom:8px;font-weight:300}
.agent-spec{font-size:11px;color:rgba(28,24,20,.45);line-height:1.5;font-weight:300}

/* join band */
.join-band{background:var(--gold);padding:52px 80px;display:flex;align-items:center;justify-content:space-between;gap:48px}
.join-copy h3{font-family:"Cormorant Garamond",serif;font-size:34px;font-weight:300;color:var(--dark);margin-bottom:6px}
.join-copy p{font-size:13px;color:rgba(28,24,20,.58);font-weight:300}

/* ════ CAREERS PAGE ════ */
.car-hero{background:var(--dark);padding:76px 80px 68px}
.car-eyebrow{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:22px;display:flex;align-items:center;gap:12px}
.car-eyebrow::before{content:"";display:block;width:32px;height:1px;background:var(--gold)}
.car-headline{font-family:"Cormorant Garamond",serif;font-size:clamp(46px,5.5vw,78px);font-weight:300;line-height:.97;color:var(--cream)}
.car-headline em{font-style:italic;color:var(--gold)}
.car-sub{font-size:14px;line-height:1.85;color:rgba(244,239,228,.45);font-weight:300;max-width:600px;margin-top:20px}
.car-meta{display:flex;flex-wrap:wrap;gap:14px;margin-top:36px}
.car-tag{font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,239,228,.62);border:1px solid rgba(244,239,228,.18);padding:9px 18px}

/* split band */
.car-split{background:var(--gold);padding:56px 80px}
.car-split-head{display:flex;align-items:baseline;gap:18px;margin-bottom:34px}
.car-split-head h2{font-family:"Cormorant Garamond",serif;font-size:clamp(30px,3.2vw,42px);font-weight:300;color:var(--dark);line-height:1.05}
.car-split-head span{font-family:"Cormorant Garamond",serif;font-size:13px;font-style:italic;color:rgba(28,24,20,.5)}
.car-split-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:rgba(28,24,20,.12)}
.car-tier{background:var(--gold);padding:34px 32px 32px}
.car-tier-label{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:rgba(28,24,20,.55);margin-bottom:14px}
.car-tier-figure{font-family:"Cormorant Garamond",serif;font-size:clamp(54px,6vw,80px);font-weight:300;color:var(--dark);line-height:1}
.car-tier-figure sup{font-size:.34em;font-style:italic;vertical-align:super;margin-left:4px;color:rgba(28,24,20,.55)}
.car-tier-note{font-size:13px;line-height:1.7;color:rgba(28,24,20,.62);font-weight:300;margin-top:12px;max-width:340px}
.car-split-foot{font-size:12px;line-height:1.8;color:rgba(28,24,20,.55);font-weight:300;margin-top:26px;max-width:720px}
.car-split-role + .car-split-role{margin-top:34px}
.car-split-role-name{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--dark);margin-bottom:14px;display:flex;align-items:center;gap:12px}
.car-split-role-name::after{content:"";flex:1;height:1px;background:rgba(28,24,20,.18)}

/* open roles index */
.car-roles{padding:64px 80px 0}
.car-roles-head{display:flex;align-items:baseline;gap:18px;margin-bottom:30px}
.car-roles-head h2{font-family:"Cormorant Garamond",serif;font-size:clamp(30px,3.2vw,42px);font-weight:300;color:var(--dark);line-height:1.05}
.car-roles-head span{font-family:"Cormorant Garamond",serif;font-size:13px;font-style:italic;color:var(--muted)}
.car-roles-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:rgba(28,24,20,.1)}
.car-role-card{background:var(--cream);font-family:"DM Sans",sans-serif;padding:36px 34px 32px;display:flex;flex-direction:column;text-align:left;border:none;cursor:pointer;transition:background .3s}
.car-role-card:hover{background:var(--light)}
.car-role-card-tag{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:12px}
.car-role-card h3{font-family:"Cormorant Garamond",serif;font-size:30px;font-weight:400;color:var(--dark);line-height:1.15;margin-bottom:12px}
.car-role-card p{font-size:13px;line-height:1.8;color:rgba(28,24,20,.65);font-weight:300;margin-bottom:22px}
.car-role-card-split{font-size:12px;letter-spacing:.06em;color:var(--dark);font-weight:400;margin-top:auto;padding-top:18px;border-top:1px solid rgba(28,24,20,.1)}
.car-role-card-split em{font-style:normal;color:var(--muted);font-weight:300}
.car-role-card-arrow{font-family:"Cormorant Garamond",serif;font-size:14px;color:var(--gold);letter-spacing:.1em;margin-top:14px}

/* per-role detail sections */
.car-role-section + .car-role-section{margin-top:76px;padding-top:64px;border-top:1px solid rgba(28,24,20,.12)}
.car-role-head{margin-bottom:28px}
.car-role-head-eyebrow{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:flex;align-items:center;gap:12px}
.car-role-head-eyebrow::before{content:"";display:block;width:32px;height:1px;background:var(--gold)}
.car-role-head h2{font-family:"Cormorant Garamond",serif;font-size:clamp(32px,3.6vw,50px);font-weight:300;color:var(--dark);line-height:1.02}
.car-role-head h2 em{font-style:italic;color:var(--gold)}

/* body content */
.car-body{padding:72px 80px}
.car-cols{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.car-block h3{font-family:"Cormorant Garamond",serif;font-size:26px;font-weight:400;color:var(--dark);margin-bottom:22px;padding-bottom:14px;border-bottom:1px solid rgba(28,24,20,.1)}
.car-block + .car-block{margin-top:48px}
.car-list{list-style:none;display:flex;flex-direction:column;gap:16px}
.car-list li{display:flex;align-items:flex-start;gap:14px;font-size:14px;line-height:1.75;color:rgba(28,24,20,.72);font-weight:300}
.car-list li::before{content:"—";color:var(--gold);flex-shrink:0;line-height:1.75}
.car-lead{font-size:15px;line-height:1.9;color:rgba(28,24,20,.7);font-weight:300;max-width:760px;margin-bottom:56px}

/* apply */
.car-apply{background:var(--light);padding:72px 80px}
.car-apply-inner{display:grid;grid-template-columns:38% 1fr;gap:72px;align-items:start}
.car-apply-copy h2{font-family:"Cormorant Garamond",serif;font-size:clamp(32px,3.4vw,46px);font-weight:300;color:var(--dark);line-height:1.05;margin-bottom:18px}
.car-apply-copy h2 em{font-style:italic;color:var(--gold)}
.car-apply-copy p{font-size:14px;line-height:1.85;color:rgba(28,24,20,.6);font-weight:300;margin-bottom:26px}
.car-apply-direct{font-size:12px;line-height:2;color:var(--muted)}
.car-apply-direct a{color:var(--dark);text-decoration:none;border-bottom:1px solid var(--gold)}
.car-confidential{font-size:11px;color:var(--muted);font-weight:300;margin-top:14px;line-height:1.7}

/* ════ WHAT'S MY HOME WORTH ════ */
.hmw-layout{display:grid;grid-template-columns:52% 48%;min-height:calc(100vh - 76px)}
.hmw-left{background:var(--dark);padding:80px;display:flex;flex-direction:column;justify-content:center}
.hmw-eyebrow{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:24px;display:flex;align-items:center;gap:12px}
.hmw-eyebrow::before{content:"";display:block;width:32px;height:1px;background:var(--gold)}
.hmw-headline{font-family:"Cormorant Garamond",serif;font-size:clamp(46px,5.2vw,72px);font-weight:300;line-height:.97;color:var(--cream);margin-bottom:24px}
.hmw-headline em{font-style:italic;color:var(--gold)}
.hmw-desc{font-size:14px;line-height:1.85;color:rgba(244,239,228,.45);font-weight:300;max-width:380px;margin-bottom:44px}
.hmw-bullets{display:flex;flex-direction:column;gap:18px}
.hmw-bullet{display:flex;align-items:flex-start;gap:14px}
.hmw-bullet-num{font-family:"Cormorant Garamond",serif;font-size:28px;color:var(--gold);line-height:1;flex-shrink:0}
.hmw-bullet-text{font-size:13px;line-height:1.7;color:rgba(244,239,228,.5);font-weight:300;padding-top:4px}
.hmw-right{background:var(--white);padding:72px 60px;display:flex;flex-direction:column;justify-content:center}
.hmw-form-title{font-family:"Cormorant Garamond",serif;font-size:32px;font-weight:400;color:var(--dark);margin-bottom:36px}
.hmw-form-section{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin:24px 0 16px}

/* ════ BUYERS & SELLERS ════ */
.bs-hero{background:var(--dark);padding:80px;display:grid;grid-template-columns:1fr 1fr;gap:2px}
.bs-panel{padding:64px 52px;display:flex;flex-direction:column;justify-content:space-between;min-height:420px;position:relative;overflow:hidden;cursor:pointer;transition:background .3s}
.bs-panel-buyers{background:#252018}
.bs-panel-sellers{background:#1e1b14}
.bs-panel:hover{background:#342c24}
.bs-panel-eyebrow{font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:18px;display:flex;align-items:center;gap:12px}
.bs-panel-eyebrow::before{content:"";display:block;width:24px;height:1px;background:var(--gold)}
.bs-panel-headline{font-family:"Cormorant Garamond",serif;font-size:clamp(36px,4vw,56px);font-weight:300;line-height:.97;color:var(--cream);margin-bottom:20px}
.bs-panel-headline em{font-style:italic;color:var(--gold)}
.bs-panel-desc{font-size:13px;line-height:1.8;color:rgba(244,239,228,.45);font-weight:300;max-width:340px;margin-bottom:36px}
.bs-arrow{font-family:"Cormorant Garamond",serif;font-size:16px;color:var(--gold);letter-spacing:.1em}
.bs-divider{width:2px;background:rgba(244,239,228,.04)}

.bs-content{padding:0 80px 80px}
.bs-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;background:rgba(28,24,20,.07);margin-bottom:2px}
.bs-step{background:var(--cream);padding:36px 28px}
.bs-step-num{font-family:"Cormorant Garamond",serif;font-size:44px;font-weight:300;color:rgba(28,24,20,.07);display:block;line-height:1;margin-bottom:14px}
.bs-step-title{font-family:"Cormorant Garamond",serif;font-size:20px;font-weight:500;color:var(--dark);margin-bottom:8px}
.bs-step-desc{font-size:12px;line-height:1.7;color:var(--muted);font-weight:300}

.bs-cta-row{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:rgba(28,24,20,.07)}
.bs-cta-cell{background:var(--dark);padding:44px 52px;display:flex;align-items:center;justify-content:space-between;gap:32px}
.bs-cta-copy h4{font-family:"Cormorant Garamond",serif;font-size:26px;font-weight:300;color:var(--cream);margin-bottom:6px}
.bs-cta-copy p{font-size:12px;color:rgba(244,239,228,.4);font-weight:300}

/* ════ MARKET / BLOG ════ */
.market-hero{background:var(--dark);padding:72px 80px 64px}
.market-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(28,24,20,.07);margin:0 80px}
.market-card{background:var(--cream);cursor:pointer;transition:background .3s;position:relative;overflow:hidden}
.market-card:hover{background:#1C1814}
.market-card:hover .mc-title,.market-card:hover .mc-excerpt{color:var(--cream)}
.market-card:hover .mc-tag{color:var(--gold)}
.market-card-img{height:200px;overflow:hidden;background:var(--dark)}
.market-card-img-inner{width:100%;height:100%;object-fit:cover;opacity:.6;transition:transform .5s,opacity .3s}
.market-card:hover .market-card-img-inner{transform:scale(1.05);opacity:.45}
.market-card-body{padding:28px 28px 32px}
.mc-tag{font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:10px;transition:color .3s}
.mc-title{font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:500;color:var(--dark);line-height:1.25;margin-bottom:10px;transition:color .3s}
.mc-excerpt{font-size:12px;line-height:1.75;color:var(--muted);font-weight:300;transition:color .3s}
.mc-meta{font-size:10px;color:rgba(28,24,20,.3);margin-top:16px;letter-spacing:.08em;transition:color .3s}
.market-card:hover .mc-meta{color:rgba(244,239,228,.25)}
.market-card-featured{grid-column:span 2}
.market-card-featured .market-card-img{height:280px}
.market-card-featured .mc-title{font-size:28px}
.market-newsletter{background:var(--gold);margin:2px 80px 0;padding:44px 52px;display:flex;align-items:center;justify-content:space-between;gap:48px}
.market-newsletter h3{font-family:"Cormorant Garamond",serif;font-size:30px;font-weight:300;color:var(--dark);margin-bottom:4px}
.market-newsletter p{font-size:13px;color:rgba(28,24,20,.55);font-weight:300}
.market-section-wrap{padding-bottom:80px}

/* ── BUSINESS VALUATION UI ── */
.bv-row{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:11px 0;border-bottom:1px solid rgba(28,24,20,0.07)}
.bv-row:last-child{border-bottom:none}
.bv-row-label{font-size:12px;letter-spacing:0.04em;color:var(--muted);font-weight:300}
.bv-row-val{font-size:13px;color:var(--dark);font-weight:400;white-space:nowrap;text-align:right}
.bv-note{font-size:12px;line-height:1.75;color:var(--muted);font-weight:300;margin-top:10px}
.bv-sent{display:flex;align-items:flex-start;gap:10px;background:rgba(193,154,86,0.09);border-left:2px solid var(--gold);padding:14px 16px;margin:20px 0 4px}
.bv-sent-check{color:var(--gold);font-size:14px;line-height:1.5;flex-shrink:0}
.bv-sent-text{font-size:12.5px;line-height:1.7;color:var(--dark);font-weight:300}

/* ── VALUATION RESULT UI ── */
.hmw-spinner {
  width: 44px; height: 44px;
  border: 2px solid rgba(28,24,20,0.1);
  border-top-color: var(--gold);
  border-radius: 50%;
  animation: spin 0.9s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

.hmw-result-header {
  border-bottom: 1px solid rgba(28,24,20,0.08);
  padding-bottom: 20px;
  margin-bottom: 24px;
}
.hmw-result-eyebrow {
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--gold);
  margin-bottom: 8px;
}
.hmw-result-title {
  font-family: "Cormorant Garamond", serif;
  font-size: 28px;
  font-weight: 400;
  color: var(--dark);
  margin-bottom: 6px;
}
.hmw-result-address {
  font-size: 13px;
  color: var(--muted);
  font-weight: 300;
}
.hmw-result-body {
  font-size: 14px;
  line-height: 1.85;
  color: var(--dark);
  font-weight: 300;
}
.hmw-result-body .val-range {
  background: var(--dark);
  color: var(--cream);
  padding: 22px 28px;
  margin: 20px 0;
  display: flex;
  align-items: baseline;
  gap: 12px;
}
.val-range-num {
  font-family: "Cormorant Garamond", serif;
  font-size: 36px;
  font-weight: 400;
  color: var(--gold);
  line-height: 1;
}
.val-range-label {
  font-size: 11px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(244,239,228,0.5);
}
.hmw-result-body h4 {
  font-family: "Cormorant Garamond", serif;
  font-size: 18px;
  font-weight: 500;
  color: var(--dark);
  margin: 20px 0 8px;
}
.hmw-result-body ul {
  padding-left: 18px;
  margin: 6px 0 12px;
}
.hmw-result-body ul li {
  margin-bottom: 5px;
  color: var(--muted);
  font-size: 13px;
}
.hmw-result-disclaimer {
  background: rgba(28,24,20,0.04);
  border-left: 2px solid var(--gold);
  padding: 14px 16px;
  margin-top: 20px;
  font-size: 11px;
  line-height: 1.65;
  color: var(--muted);
}


/* COMPS GRID */
.comps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:rgba(28,24,20,0.07);margin:12px 0 20px}
.comp-card{background:var(--light);padding:16px 18px}
.comp-card-addr{font-size:12px;font-weight:500;color:var(--dark);margin-bottom:6px;line-height:1.35}
.comp-card-details{font-size:11px;color:var(--muted);margin-bottom:8px;line-height:1.5}
.comp-card-price{font-family:"Cormorant Garamond",serif;font-size:20px;font-weight:500;color:var(--dark)}
.comp-card-date{font-size:10px;color:var(--muted);letter-spacing:0.08em;margin-top:2px}

/* ── NET SHEET MODAL ── */
.ns-modal-overlay {
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(28,24,20,0.72);
  backdrop-filter: blur(6px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none;
  transition: opacity 0.3s;
}
.ns-modal-overlay.open { opacity: 1; pointer-events: all; }
.ns-modal {
  background: var(--white);
  max-width: 520px; width: 90%;
  padding: 52px 48px;
  position: relative;
  animation: fadeUp 0.35s ease;
}
.ns-modal-close {
  position: absolute; top: 18px; right: 22px;
  background: none; border: none; font-size: 22px;
  color: var(--muted); cursor: pointer; line-height: 1;
}
.ns-modal-eyebrow {
  font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 16px;
}
.ns-modal-headline {
  font-family: "Cormorant Garamond", serif;
  font-size: 34px; font-weight: 300; color: var(--dark);
  line-height: 1.1; margin-bottom: 16px;
}
.ns-modal-headline em { font-style: italic; color: var(--gold); }
.ns-modal-body {
  font-size: 14px; line-height: 1.85; color: var(--muted);
  font-weight: 300; margin-bottom: 32px;
}
.ns-modal-actions { display: flex; gap: 12px; }

/* ── NET SHEET PAGE ── */
.ns-hero { background: var(--dark); padding: 72px 80px 64px; }
.ns-hero-eyebrow {
  font-size: 10px; letter-spacing: 0.28em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 22px;
  display: flex; align-items: center; gap: 12px;
}
.ns-hero-eyebrow::before { content: ""; display: block; width: 32px; height: 1px; background: var(--gold); }
.ns-hero-headline {
  font-family: "Cormorant Garamond", serif;
  font-size: clamp(46px,5.5vw,72px); font-weight: 300; line-height: .97; color: var(--cream);
}
.ns-hero-headline em { font-style: italic; color: var(--gold); }
.ns-hero-sub {
  font-size: 14px; line-height: 1.85; color: rgba(244,239,228,.45);
  font-weight: 300; max-width: 520px; margin-top: 18px;
}

.ns-layout { display: grid; grid-template-columns: 52% 48%; min-height: 80vh; }
.ns-inputs-col { background: var(--white); padding: 56px; border-right: 1px solid rgba(28,24,20,0.06); }
.ns-results-col { background: var(--cream); padding: 56px; position: sticky; top: 76px; height: fit-content; align-self: start; }
.ns-group-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: rgba(28,24,20,0.07); margin-bottom: 2px; }
.ns-group-cell { background: var(--white); padding: 28px 28px 24px; }

.ns-group { margin-bottom: 28px; }
.ns-group-title {
  font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 16px; padding-bottom: 8px;
  border-bottom: 1px solid rgba(28,24,20,0.08);
  grid-column: 1 / -1;
}
.ns-field { display: flex; flex-direction: column; gap: 6px; margin-bottom: 16px; }
.ns-field label {
  font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted);
}
.ns-field-row { display: flex; align-items: center; gap: 0; }
.ns-prefix, .ns-suffix {
  font-size: 13px; color: var(--muted);
  padding: 10px 10px;
  border-bottom: 1px solid rgba(28,24,20,0.14);
  line-height: 1;
}
.ns-input {
  flex: 1; background: transparent; border: none;
  border-bottom: 1px solid rgba(28,24,20,0.14);
  padding: 10px 6px; font-family: "Cormorant Garamond", serif;
  font-size: 18px; font-weight: 400; color: var(--dark);
  outline: none; transition: border-color 0.2s; width: 100%;
}
.ns-input:focus { border-color: var(--gold); }
.ns-input-sm { max-width: 80px; }
.ns-note { font-size: 11px; color: rgba(28,24,20,0.35); margin-top: 3px; font-style: italic; }

/* Results */
.ns-summary-title {
  font-family: "Cormorant Garamond", serif;
  font-size: 22px; font-weight: 400; color: var(--dark); margin-bottom: 28px;
}
.ns-results-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin-bottom: 28px; }
.ns-line {
  display: flex; justify-content: space-between; align-items: baseline;
  padding: 11px 0; border-bottom: 1px solid rgba(28,24,20,0.07);
}
.ns-line:last-of-type { border-bottom: none; }
.ns-line-label { font-size: 13px; color: var(--muted); font-weight: 300; }
.ns-line-val { font-family: "Cormorant Garamond", serif; font-size: 18px; color: var(--dark); }
.ns-line-val.deduction { color: #c47070; }
.ns-line-val.credit { color: #5a8a6a; }
.ns-divider-line { border: none; border-top: 2px solid rgba(28,24,20,0.12); margin: 18px 0; }
.ns-net-box {
  background: var(--dark); padding: 28px 32px; margin-top: 8px;
}
.ns-net-label {
  font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase;
  color: rgba(244,239,228,0.45); margin-bottom: 8px;
}
.ns-net-amount {
  font-family: "Cormorant Garamond", serif;
  font-size: 48px; font-weight: 300; color: var(--gold); line-height: 1;
}
.ns-net-sub { font-size: 11px; color: rgba(244,239,228,0.3); margin-top: 6px; }
.ns-disclaimer {
  font-size: 11px; color: rgba(28,24,20,0.3); line-height: 1.65;
  font-style: italic; margin-top: 24px;
}
.ns-cta-row {
  display: flex; gap: 10px; margin-top: 28px; flex-wrap: wrap;
}


/* ── LIVE MARKET FEED ── */
.market-loading {
  text-align: center; padding: 60px 80px;
  font-family: "Cormorant Garamond", serif;
  font-size: 22px; font-weight: 300; color: var(--muted);
}
.market-rate-bar {
  background: var(--dark); padding: 20px 80px;
  display: flex; align-items: center; gap: 48px; flex-wrap: wrap;
}
.market-rate-item { display: flex; flex-direction: column; gap: 3px; }
.market-rate-label {
  font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase;
  color: rgba(244,239,228,0.35);
}
.market-rate-val {
  font-family: "Cormorant Garamond", serif;
  font-size: 28px; font-weight: 300; color: var(--gold);
}
.market-rate-sub { font-size: 11px; color: rgba(244,239,228,0.25); }
.market-refresh {
  margin-left: auto; font-size: 10px; letter-spacing: 0.14em;
  text-transform: uppercase; color: rgba(244,239,228,0.25);
}

/* ── AI MARKET TOOLS ── */
.ai-tools-section { padding: 80px 80px 0; }
.ai-tools-header {
  display: flex; align-items: baseline; gap: 20px;
  margin-bottom: 48px; border-bottom: 1px solid rgba(28,24,20,0.08); padding-bottom: 20px;
}
.ai-tools-grid {
  display: grid; grid-template-columns: repeat(2,1fr); gap: 2px;
  background: rgba(28,24,20,0.07); margin-bottom: 2px;
}
.ai-tool-card {
  background: var(--white); padding: 44px 40px;
  display: flex; flex-direction: column;
}
.ai-tool-eyebrow {
  font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 12px;
}
.ai-tool-title {
  font-family: "Cormorant Garamond", serif;
  font-size: 26px; font-weight: 400; color: var(--dark);
  margin-bottom: 10px; line-height: 1.2;
}
.ai-tool-desc {
  font-size: 13px; line-height: 1.75; color: var(--muted);
  font-weight: 300; margin-bottom: 28px; flex: 1;
}
.ai-tool-inputs { display: flex; flex-direction: column; gap: 14px; margin-bottom: 20px; }
.ai-tool-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ai-tool-field { display: flex; flex-direction: column; gap: 6px; }
.ai-tool-field label {
  font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--muted);
}
.ai-tool-field input, .ai-tool-field select {
  background: transparent; border: none;
  border-bottom: 1px solid rgba(28,24,20,0.14);
  padding: 10px 0; font-family: "DM Sans", sans-serif;
  font-size: 14px; font-weight: 300; color: var(--dark);
  outline: none; transition: border-color 0.2s; width: 100%;
}
.ai-tool-field input:focus, .ai-tool-field select:focus { border-color: var(--gold); }

/* result boxes */
.ai-tool-result {
  display: none; background: var(--cream);
  padding: 28px 32px; margin-top: 16px;
  border-left: 3px solid var(--gold);
  font-size: 13px; line-height: 1.85; color: var(--dark); font-weight: 300;
}
.ai-tool-result.visible { display: block; }
.ai-tool-result h4 {
  font-family: "Cormorant Garamond", serif;
  font-size: 20px; font-weight: 400; color: var(--dark);
  margin: 16px 0 8px;
}
.ai-tool-result h4:first-child { margin-top: 0; }
.ai-tool-result ul { padding-left: 18px; margin: 6px 0 12px; }
.ai-tool-result ul li { margin-bottom: 4px; color: var(--muted); }
.ai-tool-result .highlight-box {
  background: var(--dark); color: var(--cream);
  padding: 16px 20px; margin: 12px 0;
  font-family: "Cormorant Garamond", serif; font-size: 28px; font-weight: 300;
}
.ai-tool-result .highlight-box span {
  font-size: 11px; letter-spacing: 0.15em; text-transform: uppercase;
  color: rgba(244,239,228,0.45); display: block; margin-top: 4px;
  font-family: "DM Sans", sans-serif;
}
.ai-tool-spinner {
  display: none; text-align: center; padding: 24px 0;
  font-size: 13px; color: var(--muted); font-style: italic;
}
.ai-tool-spinner.visible { display: block; }

/* ── GUIDE DOWNLOAD BUTTON & MODAL ── */
.bs-guide-btn {
  display: inline-block; margin-top: 16px;
  background: var(--gold); color: var(--dark);
  border: none; padding: 13px 24px;
  font-family: "Montserrat", "DM Sans", sans-serif;
  font-size: 11px; letter-spacing: 0.12em; text-transform: uppercase;
  font-weight: 600; cursor: pointer; transition: opacity 0.2s;
}
.bs-guide-btn:hover { opacity: 0.85; }
.guide-modal-overlay {
  position: fixed; inset: 0; z-index: 9999;
  background: rgba(28,24,20,0.78);
  backdrop-filter: blur(6px);
  display: flex; align-items: center; justify-content: center;
  opacity: 0; pointer-events: none; transition: opacity 0.3s;
}
.guide-modal-overlay.open { opacity: 1; pointer-events: all; }
.guide-modal {
  background: var(--white); max-width: 480px; width: 90%;
  padding: 48px 44px; position: relative;
  animation: fadeUp 0.35s ease;
}
.guide-modal-close {
  position: absolute; top: 16px; right: 20px;
  background: none; border: none; font-size: 24px;
  color: var(--muted); cursor: pointer; line-height: 1;
}
.guide-modal-eyebrow {
  font-family: "Montserrat","DM Sans",sans-serif;
  font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase;
  color: var(--gold); margin-bottom: 14px;
}
.guide-modal h2 {
  font-family: "Cormorant Garamond", serif;
  font-size: 30px; font-weight: 300; color: var(--dark);
  line-height: 1.15; margin-bottom: 12px;
}
.guide-modal h2 em { font-style: italic; color: var(--gold); }
.guide-modal p {
  font-size: 13.5px; line-height: 1.7; color: var(--muted);
  font-weight: 300; margin-bottom: 24px;
}
.guide-modal input {
  width: 100%; background: transparent;
  border: none; border-bottom: 1px solid rgba(28,24,20,0.2);
  padding: 12px 2px; font-family: "DM Sans", sans-serif;
  font-size: 15px; color: var(--dark); outline: none;
  margin-bottom: 20px; transition: border-color 0.2s;
}
.guide-modal input:focus { border-color: var(--gold); }
.guide-modal-btn {
  width: 100%; background: var(--dark); color: var(--cream);
  border: none; padding: 15px; cursor: pointer;
  font-family: "Montserrat","DM Sans",sans-serif;
  font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase;
  font-weight: 600; transition: opacity 0.2s;
}
.guide-modal-btn:hover { opacity: 0.88; }
.guide-modal-note {
  font-size: 11px; color: rgba(28,24,20,0.4);
  margin-top: 14px; margin-bottom: 0; text-align: center;
}
.guide-success {
  text-align: center; padding: 12px 0;
}
.guide-success .gs-check {
  font-size: 38px; color: var(--gold); margin-bottom: 10px;
}

/* ══════════ HAMBURGER (hidden on desktop) ══════════ */
.nav-hamburger {
  display: none; background: none; border: none; cursor: pointer;
  width: 30px; height: 22px; padding: 0; position: relative;
}
.nav-hamburger span {
  display: block; width: 100%; height: 2px; background: var(--dark);
  position: absolute; left: 0; transition: all 0.3s ease;
}
.nav-hamburger span:nth-child(1) { top: 0; }
.nav-hamburger span:nth-child(2) { top: 10px; }
.nav-hamburger span:nth-child(3) { top: 20px; }
.nav-hamburger.open span:nth-child(1) { top: 10px; transform: rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity: 0; }
.nav-hamburger.open span:nth-child(3) { top: 10px; transform: rotate(-45deg); }

/* ══════════════════ MOBILE ══════════════════ */
@media (max-width: 768px) {
  /* NAV */
  .nav { padding: 16px 22px; }
  .nav-logo { height: 36px; }
  .nav-cta { display: none; }
  .nav-hamburger { display: block; }
  .nav-links {
    position: fixed; top: 68px; left: 0; right: 0;
    background: var(--cream); flex-direction: column; gap: 0;
    padding: 12px 0; border-bottom: 1px solid rgba(28,24,20,0.1);
    box-shadow: 0 12px 24px rgba(28,24,20,0.12);
    display: none;
  }
  .nav-links.open { display: flex; }
  .nav-links li { width: 100%; }
  .nav-btn {
    width: 100%; text-align: left; padding: 15px 28px;
    font-size: 12px; letter-spacing: 0.14em;
  }

  /* HERO */
  .hero { grid-template-columns: 1fr; min-height: auto; }
  .hero-text { padding: 48px 26px; }
  .hero-headline { font-size: 44px !important; }
  .hero-sub { max-width: 100%; font-size: 14px; }
  .hero-visual, .hero-img { min-height: 280px; }

  /* SECTIONS — kill the 80px side padding everywhere */
  .section { padding: 56px 26px; }
  .section-title { font-size: 30px !important; }

  /* GRIDS → single column */
  .services-grid { grid-template-columns: 1fr; }
  .values-grid { grid-template-columns: 1fr; }
  .agents-grid { grid-template-columns: 1fr 1fr !important; padding: 0; }
  .market-grid { grid-template-columns: 1fr; }
  .comps-grid { grid-template-columns: 1fr; }
  .bs-steps { grid-template-columns: 1fr 1fr; }
  .bs-cta-row { grid-template-columns: 1fr; }
  .ai-tools-grid { grid-template-columns: 1fr; }
  .ai-tool-row { grid-template-columns: 1fr; }
  .ns-group-row { grid-template-columns: 1fr; }
  .ns-results-grid { grid-template-columns: 1fr; }
  .form-row-2 { grid-template-columns: 1fr; gap: 0; }
  .loan-summary { grid-template-columns: 1fr 1fr; }
  .calc-layout { grid-template-columns: 1fr; }

  /* ABOUT */
  .about-hero { grid-template-columns: 1fr; gap: 32px; padding: 56px 26px; }
  .about-body { grid-template-columns: 1fr; gap: 32px; padding: 56px 26px; }
  .values-section { padding: 0 26px 56px; }

  /* CONTACT */
  .contact-layout { grid-template-columns: 1fr; min-height: auto; }
  .contact-aside { padding: 48px 26px; }
  .contact-form-wrap { padding: 48px 26px; }

  /* HOME VALUE */
  .hmw-layout { grid-template-columns: 1fr; min-height: auto; }
  .hmw-left { padding: 48px 26px; }
  .hmw-right { padding: 48px 26px; }
  .hmw-desc { max-width: 100%; }

  /* NET SHEET */
  .ns-layout { grid-template-columns: 1fr; min-height: auto; }
  .ns-hero { padding: 48px 26px 40px; }
  .ns-inputs-col { padding: 40px 26px; }
  .ns-results-col { padding: 40px 26px; position: static; }

  /* BUY & SELL */
  .bs-hero { grid-template-columns: 1fr; gap: 2px; padding: 26px; }
  .bs-content { padding: 0 26px 56px; }
  .bs-panel { padding: 40px 30px; }
  .bs-panel-headline { font-size: 38px !important; }

  /* TEAM */
  .team-hero { padding: 48px 26px 40px; }
  .agents-wrap { padding: 48px 26px; }
  .join-band { padding: 40px 26px; flex-direction: column; gap: 20px; text-align: center; }
  .car-hero { padding: 48px 26px 40px; }
  .car-split { padding: 40px 26px; }
  .car-split-head { flex-direction: column; align-items: flex-start; gap: 6px; margin-bottom: 24px; }
  .car-split-grid { grid-template-columns: 1fr; }
  .car-split-role + .car-split-role { margin-top: 26px; }
  .car-roles { padding: 44px 26px 0; }
  .car-roles-head { flex-direction: column; align-items: flex-start; gap: 6px; margin-bottom: 22px; }
  .car-roles-grid { grid-template-columns: 1fr; }
  .car-role-card { padding: 28px 24px; }
  .car-role-section + .car-role-section { margin-top: 48px; padding-top: 40px; }
  .car-tier { padding: 26px 24px; }
  .car-body { padding: 48px 26px; }
  .car-cols { grid-template-columns: 1fr; gap: 44px; }
  .car-lead { margin-bottom: 38px; }
  .car-apply { padding: 48px 26px; }
  .car-apply-inner { grid-template-columns: 1fr; gap: 36px; }

  /* MARKET */
  .market-hero { padding: 48px 26px 40px; }
  .market-rate-bar { padding: 18px 26px; gap: 24px; flex-wrap: wrap; }
  .market-newsletter { margin: 2px 26px 0; padding: 32px 28px; flex-direction: column; gap: 20px; text-align: center; }
  .market-section-wrap { padding-bottom: 56px; }
  .market-grid { margin: 0 26px !important; }
  .market-card-img { height: 200px; }
  .ai-tools-section { padding: 56px 26px 0; }

  /* CALCULATOR */
  .calc-section { padding: 56px 26px; }

  /* SIGNUP BANDS */
  .signup-band { padding: 40px 26px; flex-direction: column; gap: 20px; text-align: center; }

  /* FOOTER */
  .footer { padding: 32px 26px; flex-direction: column; gap: 16px; text-align: center; }

  /* HEADINGS — tame the big serif sizes */
  h1 { font-size: 40px !important; }
  h2 { font-size: 28px !important; }

  /* MODALS */
  .guide-modal { padding: 36px 28px; }
  .ns-modal { padding: 36px 28px; width: 92%; }

  /* GENERIC: stop horizontal overflow */
  body { overflow-x: hidden; }
}

/* ══════════════════ SMALL PHONES ══════════════════ */
@media (max-width: 420px) {
  .agents-grid { grid-template-columns: 1fr !important; }
  .bs-steps { grid-template-columns: 1fr; }
  .loan-summary { grid-template-columns: 1fr; }
  .hero-headline { font-size: 38px !important; }
  .bs-panel-headline { font-size: 32px !important; }
}

.pac-container { font-family:"DM Sans",sans-serif!important; border:1px solid rgba(28,24,20,0.15)!important; border-top:none!important; box-shadow:0 8px 24px rgba(28,24,20,0.14)!important; border-radius:0!important; margin-top:0!important; }
  .pac-item { padding:10px 14px!important; font-size:13px!important; color:#1C1814!important; border-bottom:1px solid rgba(28,24,20,0.05)!important; cursor:pointer!important; line-height:1.4!important; }
  .pac-item:hover,.pac-item-selected { background:#EAE4D8!important; }
  .pac-item-query { font-size:13px!important; color:#1C1814!important; font-family:"DM Sans",sans-serif!important; }
  .pac-matched { font-weight:500!important; }
  .pac-icon,.pac-logo { display:none!important; }

/* ──────────────────────────────────────────────────────────────
   Split fixes — appended by build_split.py

   The nav used to be <button onclick="navigate('x')">. Google does not
   follow onclick handlers, so the split converted those to <a href>.

   Buttons have no text-decoration by default. Anchors do. That default
   underline sat on every nav item permanently and hid the gold ::after
   line that is supposed to sweep in on hover.

   These rules restore the button box model. The hover animation itself
   was never touched.
   ────────────────────────────────────────────────────────────── */

.nav-btn {
  text-decoration: none;
  /* buttons are inline-block; anchors are inline. The ::after underline is
     positioned against this box, so it needs the same display type or the
     line can sit wrong when a label wraps. */
  display: inline-block;
}

/* Keep it off through every state, including visited. */
.nav-btn:link,
.nav-btn:visited,
.nav-btn:hover,
.nav-btn:focus,
.nav-btn:active {
  text-decoration: none;
}

/* The phone-number CTA was a <button> too. Vertical padding does not affect
   the line box of an inline element, so it needs inline-block or the dark
   pill collapses to the height of the text. */
.nav-cta,
.nav-cta:link,
.nav-cta:visited,
.nav-cta:hover,
.nav-cta:focus,
.nav-cta:active {
  text-decoration: none;
}
.nav-cta {
  display: inline-block;
}
.nav-cta:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 4px;
}

/* The logo is wrapped in a link to the homepage now. Plain class rather than
   :has(), so it does not depend on selector support. */
.nav-logo-link {
  text-decoration: none;
  display: inline-flex;
  line-height: 0;
}

/* Visible keyboard focus. The old buttons got this from the browser; bare
   anchors with the outline suppressed would leave keyboard users stranded. */
.nav-btn:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 6px;
}

/* On mobile the nav items become full-width rows, where a left-anchored
   1px line spanning the whole viewport reads as a divider rather than an
   accent. Hide the sweep there and use colour alone, as before. */
@media (max-width: 768px) {
  .nav-btn::after { display: none; }
}
