:root {
  --blue: #0b5cff;
  --blue-dark: #073fbd;
  --ink: #0f172a;
  --text: #334155;
  --muted: #64748b;
  --line: #dbe4ef;
  --soft: #f5f8fc;
  --paper: #ffffff;
  --navy: #0f172a;
  --shadow: 0 18px 46px rgba(15,23,42,.12);
  --shadow-strong: 0 30px 90px rgba(15,23,42,.22);
  --container: 1280px;
}

* {
  box-sizing: border-box;
}

html {
  overflow-x: hidden;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  overflow-x: hidden;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--ink);
  background: #fff;
  line-height: 1.55;
}

img {
  max-width: 100%;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

.container {
  width: min(var(--container), calc(100vw - clamp(28px, 6vw, 96px)));
  margin-inline: auto;
}

/* Header */

.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background: rgba(255,255,255,.92);
  border-bottom: 1px solid rgba(203,213,225,.78);
  box-shadow: 0 8px 30px rgba(15,23,42,.06);
  backdrop-filter: blur(18px) saturate(1.25);
}

.header-inner {
  min-height: clamp(72px, 5.2vw, 88px);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(14px, 2vw, 32px);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  flex: 0 1 auto;
}

.brand img {
  width: clamp(62px, 5vw, 86px);
  height: clamp(42px, 3.8vw, 58px);
  object-fit: contain;
  flex: 0 0 auto;
}

.brand-text {
  display: grid;
  gap: 2px;
  min-width: 0;
  line-height: 1.05;
}

.brand-text strong {
  color: var(--ink);
  font-size: clamp(14px, 1.25vw, 19px);
  font-weight: 950;
  letter-spacing: -.04em;
  white-space: nowrap;
}

.brand-text em {
  color: var(--muted);
  font-style: normal;
  font-size: clamp(9px, .72vw, 11px);
  font-weight: 850;
  letter-spacing: .16em;
  text-transform: uppercase;
  white-space: nowrap;
}

.site-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: clamp(2px, .55vw, 8px);
  min-width: 0;
  font-size: clamp(12px, .9vw, 15px);
  font-weight: 850;
  white-space: nowrap;
}

.site-nav a {
  padding: clamp(8px, .75vw, 12px) clamp(8px, .95vw, 15px);
  border-radius: 999px;
  color: var(--ink);
}

.site-nav a:hover {
  color: var(--blue);
  background: #eef5ff;
}

.site-nav .nav-button {
  color: #fff;
  background: var(--blue);
  box-shadow: 0 12px 24px rgba(11,92,255,.24);
}

.site-nav .nav-button:hover {
  color: #fff;
  background: var(--blue-dark);
}

.nav-toggle {
  display: none;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
}

.nav-toggle span {
  display: block;
  width: 20px;
  height: 2px;
  margin: 5px auto;
  background: var(--ink);
}

/* Hero */

.hero {
  position: relative;
  min-height: clamp(640px, 78vh, 900px);
  display: flex;
  align-items: flex-end;
  padding: clamp(92px, 10vh, 140px) 0 clamp(48px, 7vh, 86px);
  background:
    linear-gradient(90deg, rgba(255,255,255,.22), rgba(255,255,255,.16) 42%, rgba(255,255,255,.05)),
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,.08) 62%, rgba(255,255,255,.86)),
    url("../img/hero-home-marie-arne.png");
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
}

.hero::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 42%;
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.9));
  pointer-events: none;
}

.hero-inner {
  position: relative;
  z-index: 2;
  width: min(1040px, 100%);
  margin-inline: auto;
  text-align: center;
}

.hero-kicker {
  margin: 0 0 12px;
  color: var(--blue-dark);
  font-size: clamp(11px, .9vw, 13px);
  font-weight: 950;
  letter-spacing: .16em;
  text-transform: uppercase;
  text-shadow: 0 2px 18px rgba(255,255,255,.95);
}

h1,
h2,
h3,
p {
  margin-top: 0;
}

h1 {
  max-width: 860px;
  margin: 0 auto 16px;
  color: #07111f;
  font-size: clamp(42px, 5.4vw, 86px);
  line-height: .94;
  letter-spacing: -.075em;
  text-shadow: 0 3px 24px rgba(255,255,255,.95);
}

.hero-lede {
  max-width: 700px;
  margin: 0 auto 24px;
  color: #1e293b;
  font-size: clamp(16px, 1.45vw, 21px);
  font-weight: 750;
  text-shadow: 0 2px 18px rgba(255,255,255,.95);
}

/* Elite clear overlay search */

.search-panel {
  width: min(1000px, 100%);
  margin-inline: auto;
  background: transparent;
  border: 0;
  box-shadow: none;
}

.search-tabs {
  width: max-content;
  max-width: 100%;
  display: flex;
  justify-content: center;
  gap: 4px;
  margin: 0 auto 12px;
  padding: 6px;
  overflow-x: auto;
  border: 1px solid rgba(255,255,255,.9);
  border-radius: 999px;
  background: rgba(255,255,255,.84);
  box-shadow: 0 14px 34px rgba(15,23,42,.12);
  backdrop-filter: blur(18px) saturate(1.2);
  scrollbar-width: none;
}

.search-tabs::-webkit-scrollbar {
  display: none;
}

.search-tabs button {
  flex: 0 0 auto;
  border: 0;
  border-radius: 999px;
  padding: 10px clamp(16px, 1.5vw, 24px);
  background: transparent;
  color: #334155;
  font-size: 13px;
  font-weight: 950;
  cursor: pointer;
  white-space: nowrap;
}

.search-tabs button.active {
  color: #fff;
  background: var(--blue);
  box-shadow: 0 10px 22px rgba(11,92,255,.24);
}

.home-search {
  width: min(980px, 100%);
  margin-inline: auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(170px, 14vw, 225px);
  gap: 0;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.95);
  border-radius: 999px;
  background: rgba(255,255,255,.93);
  box-shadow: 0 30px 88px rgba(15,23,42,.22), 0 0 0 8px rgba(255,255,255,.22);
  backdrop-filter: blur(18px) saturate(1.2);
}

.home-search input {
  min-width: 0;
  min-height: clamp(56px, 4.2vw, 68px);
  border: 0;
  border-radius: 999px;
  outline: 0;
  background: transparent;
  padding: 0 clamp(16px, 2vw, 28px);
  color: var(--ink);
  font-size: clamp(15px, 1.2vw, 18px);
  font-weight: 650;
}

.home-search input::placeholder {
  color: #64748b;
}

.home-search button {
  min-height: clamp(56px, 4.2vw, 68px);
  border: 0;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--blue), var(--blue-dark));
  color: #fff;
  font-size: clamp(14px, 1vw, 16px);
  font-weight: 950;
  cursor: pointer;
  box-shadow: 0 14px 28px rgba(11,92,255,.24);
}

.search-note {
  width: fit-content;
  max-width: 100%;
  margin: 12px auto 0;
  padding: 8px 14px;
  display: flex;
  justify-content: center;
  gap: 14px;
  color: #475569;
  font-size: 12px;
  border: 1px solid rgba(255,255,255,.86);
  border-radius: 999px;
  background: rgba(255,255,255,.74);
  box-shadow: 0 10px 26px rgba(15,23,42,.08);
  backdrop-filter: blur(14px);
}

.search-note a {
  color: var(--blue-dark);
  font-weight: 950;
  white-space: nowrap;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin-top: 16px;
}

.hero-actions a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 17px;
  border: 1px solid #dbe4ef;
  border-radius: 999px;
  background: rgba(255,255,255,.86);
  color: var(--ink);
  font-size: 14px;
  font-weight: 950;
  box-shadow: 0 10px 28px rgba(15,23,42,.12);
  backdrop-filter: blur(12px);
}

/* Trust strip */

.agent-strip {
  position: relative;
  z-index: 4;
  margin-top: -26px;
}

.agent-strip-inner {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 16px;
  align-items: center;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: rgba(255,255,255,.96);
  box-shadow: var(--shadow);
  backdrop-filter: blur(14px);
}

.agent-mini {
  min-width: 0;
  display: flex;
  gap: 14px;
  align-items: center;
}

.agent-mini img {
  width: 66px;
  height: 66px;
  object-fit: cover;
  object-position: top center;
  border-radius: 18px;
}

.agent-mini strong,
.agent-mini span,
.trust-points strong,
.trust-points span {
  display: block;
}

.agent-mini strong {
  font-size: 17px;
  font-weight: 950;
}

.agent-mini span,
.trust-points span {
  color: var(--muted);
  font-size: 12px;
}

.trust-points {
  min-width: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 10px;
}

.trust-points div {
  min-width: 0;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #f8fafc;
}

.trust-points strong {
  font-size: 13px;
  font-weight: 950;
}

/* Sections */

.section {
  padding: clamp(72px, 8vw, 104px) 0;
}

.section-head {
  max-width: 760px;
  margin-bottom: 30px;
}

.section-head.centered {
  margin-inline: auto;
  text-align: center;
}

.eyebrow {
  display: block;
  margin-bottom: 10px;
  color: var(--blue-dark);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .16em;
  font-weight: 950;
}

h2 {
  margin-bottom: 14px;
  font-size: clamp(34px, 4.5vw, 58px);
  line-height: 1.02;
  letter-spacing: -.055em;
}

.section-head p,
.copy-block p {
  color: var(--text);
  font-size: clamp(16px, 1.5vw, 18px);
}

.path-grid,
.area-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 235px), 1fr));
  gap: 16px;
}

.path-card,
.area-grid article {
  min-width: 0;
  padding: 24px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 22px;
  box-shadow: 0 10px 28px rgba(15,23,42,.08);
  transition: .2s ease;
}

.path-card:hover,
.area-grid article:hover {
  transform: translateY(-3px);
  border-color: #b9d3ff;
  box-shadow: var(--shadow);
}

.path-card span {
  display: inline-flex;
  padding: 7px 11px;
  border-radius: 999px;
  background: #eaf2ff;
  color: var(--blue-dark);
  font-size: 12px;
  font-weight: 950;
}

.path-card h3,
.area-grid h3 {
  margin: 22px 0 9px;
  font-size: 23px;
  line-height: 1.08;
  letter-spacing: -.035em;
}

.path-card p,
.area-grid p {
  color: var(--muted);
  margin-bottom: 0;
}

/* Buyer/Seller */

.split-section {
  background: var(--soft);
}

.split-section.alt {
  background: #ffffff;
}

.split-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 440px);
  gap: clamp(30px, 6vw, 64px);
  align-items: center;
}

.split-grid.reverse {
  grid-template-columns: minmax(320px, 440px) minmax(0, 1fr);
}

.copy-block {
  max-width: 660px;
}

.feature-list {
  display: grid;
  gap: 12px;
  margin-top: 28px;
}

.feature-list div {
  min-width: 0;
  padding: 17px;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 17px;
  box-shadow: 0 8px 22px rgba(15,23,42,.05);
}

.feature-list strong,
.feature-list span {
  display: block;
}

.feature-list span {
  color: var(--muted);
  font-size: 14px;
  margin-top: 4px;
}

.lead-form {
  min-width: 0;
  width: 100%;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 26px;
  padding: clamp(22px, 3vw, 28px);
  box-shadow: var(--shadow);
}

.lead-form h3 {
  margin: 0 0 6px;
  font-size: 27px;
  letter-spacing: -.035em;
}

.lead-form p {
  color: var(--muted);
}

.lead-form label {
  display: block;
  margin: 14px 0;
  color: #334155;
  font-size: 13px;
  font-weight: 900;
}

.lead-form input,
.lead-form select,
.lead-form textarea {
  width: 100%;
  min-width: 0;
  margin-top: 7px;
  padding: 13px 14px;
  border: 1px solid #cbd5e1;
  border-radius: 14px;
  background: #f8fafc;
  outline: 0;
}

.lead-form input:focus,
.lead-form select:focus,
.lead-form textarea:focus {
  border-color: var(--blue);
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(11,92,255,.12);
}

.lead-form button {
  width: 100%;
  min-height: 52px;
  border: 0;
  border-radius: 16px;
  background: var(--blue);
  color: #ffffff;
  font-weight: 950;
  cursor: pointer;
}

.form-note {
  min-height: 22px;
  margin: 12px 0 0;
  color: #0f766e !important;
  font-size: 13px;
  font-weight: 900;
}

/* IDX */

.idx-section {
  background: #f3f7fb;
}

.idx-grid {
  display: grid;
  grid-template-columns: minmax(0,.88fr) minmax(0,1.12fr);
  gap: clamp(30px, 5vw, 50px);
  align-items: center;
}

.primary-link {
  display: inline-flex;
  margin-top: 8px;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border-radius: 999px;
  background: var(--blue);
  color: #ffffff;
  font-weight: 950;
  box-shadow: 0 16px 30px rgba(11,92,255,.22);
}

.search-mockup {
  min-width: 0;
  display: grid;
  grid-template-columns: minmax(0,1.15fr) minmax(240px,.85fr);
  overflow: hidden;
  background: #ffffff;
  border: 1px solid var(--line);
  border-radius: 28px;
  box-shadow: var(--shadow);
}

.mock-map {
  min-height: 340px;
  position: relative;
  background:
    linear-gradient(90deg, rgba(148,163,184,.28) 1px, transparent 1px),
    linear-gradient(rgba(148,163,184,.28) 1px, transparent 1px),
    radial-gradient(circle at 35% 45%, rgba(11,92,255,.22), transparent 26%),
    #e9eef5;
  background-size: 44px 44px, 44px 44px, auto, auto;
}

.pin {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 11px;
  border-radius: 999px;
  background: var(--ink);
  color: #ffffff;
  font-size: 13px;
  font-weight: 950;
  box-shadow: 0 12px 24px rgba(15,23,42,.25);
}

.p1 { left: 16%; top: 25%; }
.p2 { left: 54%; top: 44%; }
.p3 { left: 32%; top: 68%; }

.mock-list {
  padding: 18px;
  display: grid;
  align-content: center;
  gap: 12px;
}

.mock-list div {
  border: 1px solid var(--line);
  background: #f8fafc;
  border-radius: 18px;
  padding: 16px;
}

.mock-list strong,
.mock-list span {
  display: block;
}

.mock-list span {
  color: var(--muted);
  font-size: 13px;
  margin-top: 3px;
}

/* Esther */

.esther-lite {
  background: linear-gradient(135deg, #0f172a 0%, #152238 100%);
  color: #ffffff;
}

.esther-lite-card {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(320px,.9fr);
  gap: clamp(30px, 5vw, 46px);
  align-items: center;
}

.esther-lite p {
  color: rgba(255,255,255,.76);
}

.esther-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 12px;
}

.esther-steps div {
  min-width: 0;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.15);
  background: rgba(255,255,255,.07);
  border-radius: 18px;
}

.esther-steps strong {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #ffffff;
  color: var(--navy);
}

.esther-steps span {
  display: block;
  margin-top: 14px;
  color: rgba(255,255,255,.82);
  font-size: 14px;
  font-weight: 800;
}

/* CTA / Compliance / Footer */

.final-cta {
  background: linear-gradient(180deg, #ffffff, #f7fafc);
}

.final-card {
  padding: clamp(46px, 6vw, 64px) 26px;
  text-align: center;
  border-radius: 30px;
  background: linear-gradient(135deg, #0b5cff 0%, #0742b7 100%);
  color: #ffffff;
  box-shadow: var(--shadow);
}

.final-card h2 {
  max-width: 780px;
  margin-inline: auto;
}

.final-card p {
  color: rgba(255,255,255,.84);
  font-size: 18px;
}

.cta-buttons {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 24px;
}

.cta-buttons a {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  padding: 0 20px;
  border-radius: 999px;
  background: #ffffff;
  color: var(--ink);
  font-weight: 950;
}

.cta-buttons a:first-child {
  background: var(--ink);
  color: #ffffff;
}

.compliance {
  padding: 52px 0;
  background: #ffffff;
  border-top: 1px solid var(--line);
}

.compliance-inner {
  display: grid;
  grid-template-columns: minmax(0,1fr) minmax(260px,340px);
  gap: 36px;
}

.compliance h2 {
  margin-bottom: 10px;
  font-size: 28px;
  letter-spacing: -.03em;
}

.compliance p {
  color: var(--muted);
  font-size: 14px;
}

.compliance-links {
  display: grid;
  align-content: start;
  gap: 12px;
}

.compliance-links a {
  padding: 15px 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: #f8fafc;
  color: var(--blue-dark);
  font-weight: 900;
}

.site-footer {
  background: var(--navy);
  color: #ffffff;
  padding: 54px 0 26px;
}

.footer-inner {
  display: grid;
  grid-template-columns: minmax(0,1.3fr) minmax(140px,.7fr) minmax(140px,.7fr) minmax(160px,.8fr);
  gap: 32px;
}

.footer-inner img {
  width: 176px;
  margin-bottom: 12px;
}

.footer-inner p,
.footer-bottom {
  color: rgba(255,255,255,.66);
}

.footer-inner strong {
  display: block;
  color: #ffffff;
  margin-bottom: 12px;
}

.footer-inner a {
  display: block;
  margin: 8px 0;
  color: rgba(255,255,255,.76);
}

.broker-logo {
  padding: 10px;
  background: #ffffff;
  border-radius: 12px;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding-top: 28px;
  margin-top: 34px;
  border-top: 1px solid rgba(255,255,255,.12);
  font-size: 13px;
}

/* Breakpoints */

@media (max-width: 1120px) {
  .site-nav {
    display: none;
    position: absolute;
    left: 18px;
    right: 18px;
    top: 78px;
    flex-direction: column;
    align-items: stretch;
    gap: 6px;
    padding: 14px;
    background: #ffffff;
    border: 1px solid var(--line);
    border-radius: 20px;
    box-shadow: var(--shadow);
    white-space: normal;
  }

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

  .site-nav a {
    width: 100%;
  }

  .nav-toggle {
    display: block;
    flex: 0 0 auto;
  }

  .agent-strip-inner,
  .split-grid,
  .split-grid.reverse,
  .idx-grid,
  .esther-lite-card,
  .compliance-inner,
  .footer-inner {
    grid-template-columns: 1fr;
  }

  .trust-points {
    grid-template-columns: repeat(2, minmax(0,1fr));
  }

  .search-mockup {
    grid-template-columns: 1fr;
  }

  .esther-steps {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .container {
    width: min(100% - 28px, var(--container));
  }

  .header-inner {
    min-height: 74px;
  }

  .brand img {
    width: 62px;
    height: 42px;
  }

  .brand-text em {
    display: none;
  }

  .brand-text strong {
    font-size: 14px;
  }

  .site-nav {
    top: 74px;
  }

  .hero {
    min-height: 680px;
    padding: 92px 0 54px;
    background:
      linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,.24) 52%, rgba(255,255,255,.9)),
      url("../img/hero-home-marie-arne.png");
    background-size: cover;
    background-position: 46% center;
  }

  h1 {
    font-size: clamp(40px, 12vw, 56px);
  }

  .hero-lede {
    font-size: 16px;
  }

  .search-tabs {
    width: 100%;
    justify-content: flex-start;
    border-radius: 20px;
  }

  .home-search {
    grid-template-columns: 1fr;
    gap: 8px;
    padding: 10px;
    border-radius: 26px;
  }

  .home-search input,
  .home-search button {
    border-radius: 18px;
  }

  .search-note {
    flex-direction: column;
    border-radius: 18px;
    text-align: center;
  }

  .trust-points {
    grid-template-columns: 1fr;
  }

  .agent-strip {
    margin-top: 0;
  }

  .agent-strip-inner {
    width: 100%;
    border-radius: 0;
  }

  .footer-bottom {
    flex-direction: column;
  }
}

/* === Controlled Screen-Size Breakpoint System === */

/* Mobile base: 0–480px */
@media (max-width: 480px) {
  :root {
    --container: 100%;
  }

  .container {
    width: calc(100vw - 24px);
  }

  .header-inner {
    min-height: 72px;
  }

  .brand img {
    width: 58px;
    height: 40px;
  }

  .brand-text strong {
    font-size: 13px;
  }

  .hero {
    min-height: 650px;
    padding-top: 88px;
    padding-bottom: 48px;
    background-position: 46% center;
  }

  h1 {
    font-size: 40px;
    max-width: 100%;
  }

  .hero-lede {
    font-size: 15.5px;
    max-width: 100%;
  }

  .search-panel {
    width: 100%;
  }

  .search-tabs {
    width: 100%;
  }

  .home-search {
    width: 100%;
    grid-template-columns: 1fr;
    border-radius: 24px;
  }

  .home-search input,
  .home-search button {
    min-height: 54px;
    border-radius: 16px;
  }
}

/* Large mobile: 481–767px */
@media (min-width: 481px) and (max-width: 767px) {
  .container {
    width: calc(100vw - 32px);
  }

  .hero {
    min-height: 700px;
    padding-top: 96px;
    padding-bottom: 54px;
    background-position: 46% center;
  }

  h1 {
    font-size: 48px;
    max-width: 620px;
  }

  .hero-lede {
    font-size: 17px;
    max-width: 560px;
  }

  .search-panel {
    width: min(620px, 100%);
  }

  .home-search {
    grid-template-columns: 1fr;
    border-radius: 26px;
  }

  .home-search input,
  .home-search button {
    min-height: 56px;
    border-radius: 18px;
  }
}

/* Tablet: 768–1023px */
@media (min-width: 768px) and (max-width: 1023px) {
  .container {
    width: min(900px, calc(100vw - 48px));
  }

  .hero {
    min-height: 760px;
    padding-top: 108px;
    padding-bottom: 64px;
    background-position: center center;
  }

  h1 {
    font-size: 60px;
    max-width: 740px;
  }

  .hero-lede {
    font-size: 18px;
    max-width: 620px;
  }

  .search-panel {
    width: min(760px, 100%);
  }

  .home-search {
    grid-template-columns: 1fr 180px;
  }

  .trust-points {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* Laptop: 1024–1279px */
@media (min-width: 1024px) and (max-width: 1279px) {
  .container {
    width: min(1100px, calc(100vw - 64px));
  }

  .header-inner {
    min-height: 78px;
  }

  .hero {
    min-height: 780px;
    padding-top: 112px;
    padding-bottom: 66px;
  }

  .hero-inner {
    width: min(880px, 100%);
  }

  h1 {
    font-size: 68px;
    max-width: 780px;
  }

  .hero-lede {
    font-size: 19px;
    max-width: 640px;
  }

  .search-panel {
    width: min(860px, 100%);
  }

  .home-search {
    width: min(840px, 100%);
    grid-template-columns: 1fr 190px;
  }
}

/* Desktop: 1280–1535px */
@media (min-width: 1280px) and (max-width: 1535px) {
  .container {
    width: min(1240px, calc(100vw - 80px));
  }

  .header-inner {
    min-height: 80px;
  }

  .hero {
    min-height: 820px;
    padding-top: 118px;
    padding-bottom: 72px;
  }

  .hero-inner {
    width: min(960px, 100%);
  }

  h1 {
    font-size: 76px;
    max-width: 820px;
  }

  .hero-lede {
    font-size: 20px;
    max-width: 680px;
  }

  .search-panel {
    width: min(940px, 100%);
  }

  .home-search {
    width: min(920px, 100%);
    grid-template-columns: 1fr 205px;
  }
}

/* Wide desktop: 1536–1919px */
@media (min-width: 1536px) and (max-width: 1919px) {
  .container {
    width: min(1400px, calc(100vw - 110px));
  }

  .header-inner {
    min-height: 84px;
  }

  .hero {
    min-height: 860px;
    padding-top: 126px;
    padding-bottom: 78px;
  }

  .hero-inner {
    width: min(1040px, 100%);
  }

  h1 {
    font-size: 84px;
    max-width: 880px;
  }

  .hero-lede {
    font-size: 21px;
    max-width: 720px;
  }

  .search-panel {
    width: min(1040px, 100%);
  }

  .home-search {
    width: min(1000px, 100%);
    grid-template-columns: 1fr 220px;
  }
}

/* Ultrawide: 1920px+ */
@media (min-width: 1920px) {
  .container {
    width: min(1540px, calc(100vw - 160px));
  }

  .header-inner {
    min-height: 86px;
  }

  .hero {
    min-height: 900px;
    padding-top: 132px;
    padding-bottom: 84px;
    background-position: center center;
  }

  .hero-inner {
    width: min(1100px, 100%);
  }

  h1 {
    font-size: 90px;
    max-width: 920px;
  }

  .hero-lede {
    font-size: 22px;
    max-width: 760px;
  }

  .search-panel {
    width: min(1100px, 100%);
  }

  .home-search {
    width: min(1060px, 100%);
    grid-template-columns: 1fr 230px;
  }

  .agent-strip-inner {
    width: min(1460px, calc(100vw - 160px));
  }
}


/* === Ultrawide Hero Balance Correction === */

/* Laptop / normal desktop */
@media (min-width: 1024px) and (max-width: 1535px) {
  .hero {
    min-height: 760px;
    padding-top: 108px;
    padding-bottom: 60px;
    background-size: cover;
    background-position: center 22%;
  }

  .hero-inner {
    transform: translateY(34px);
  }
}

/* Wide desktop */
@media (min-width: 1536px) and (max-width: 1919px) {
  .hero {
    min-height: 820px;
    padding-top: 120px;
    padding-bottom: 68px;
    background-size: cover;
    background-position: center 20%;
  }

  .hero-inner {
    transform: translateY(46px);
  }
}

/* Ultrawide */
@media (min-width: 1920px) {
  .hero {
    min-height: 880px;
    padding-top: 128px;
    padding-bottom: 76px;
    background-size: cover;
    background-position: center 18%;
  }

  .hero-inner {
    transform: translateY(58px);
  }

  .agent-strip {
    margin-top: -18px;
  }
}


/* === Mobile Header Visibility Fix === */

@media (max-width: 1120px) {
  .site-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 99999 !important;
    display: block !important;
    width: 100% !important;
    background: rgba(255,255,255,.96) !important;
    border-bottom: 1px solid rgba(203,213,225,.9) !important;
    box-shadow: 0 10px 28px rgba(15,23,42,.10) !important;
    backdrop-filter: blur(18px) saturate(1.2) !important;
  }

  .header-inner {
    width: min(100% - 24px, 1120px) !important;
    min-height: 74px !important;
    margin-inline: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
  }

  .brand {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
  }

  .brand img {
    width: 62px !important;
    height: 42px !important;
    object-fit: contain !important;
  }

  .brand-text {
    display: grid !important;
  }

  .brand-text strong {
    display: block !important;
    font-size: 14px !important;
    color: #0f172a !important;
  }

  .brand-text em {
    display: block !important;
    font-size: 9px !important;
    letter-spacing: .13em !important;
    color: #64748b !important;
  }

  .nav-toggle {
    display: block !important;
    flex: 0 0 auto !important;
  }

  .site-nav {
    position: fixed !important;
    top: 82px !important;
    left: 14px !important;
    right: 14px !important;
    z-index: 99998 !important;
  }

  .hero {
    padding-top: 150px !important;
  }
}

@media (max-width: 520px) {
  .brand-text em {
    display: none !important;
  }

  .brand-text strong {
    font-size: 13px !important;
  }

  .hero {
    padding-top: 145px !important;
  }
}


/* === Mobile Header + Hero Polish === */

@media (max-width: 720px) {
  .site-header {
    background: rgba(255,255,255,.98) !important;
  }

  .header-inner {
    width: calc(100% - 28px) !important;
    min-height: 70px !important;
  }

  .brand img {
    width: 56px !important;
    height: 38px !important;
  }

  .brand-text strong {
    font-size: 14px !important;
    letter-spacing: -.04em !important;
  }

  .nav-toggle {
    width: 42px !important;
    height: 42px !important;
    border-radius: 14px !important;
  }

  .hero {
    padding-top: 118px !important;
    min-height: 640px !important;
  }

  .hero-kicker {
    font-size: 11px !important;
    line-height: 1.45 !important;
    letter-spacing: .14em !important;
    max-width: 360px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  h1 {
    font-size: 38px !important;
    line-height: .98 !important;
    letter-spacing: -.06em !important;
  }

  .hero-lede {
    font-size: 16px !important;
    line-height: 1.45 !important;
  }

  .search-tabs {
    padding: 5px !important;
    gap: 3px !important;
  }

  .search-tabs button {
    padding: 10px 14px !important;
    font-size: 13px !important;
  }

  .home-search {
    padding: 8px !important;
  }

  .home-search input,
  .home-search button {
    min-height: 52px !important;
  }

  .hero-actions {
    gap: 10px !important;
  }

  .hero-actions a {
    min-height: 42px !important;
    padding: 0 16px !important;
    font-size: 14px !important;
  }
}


/* === Mobile Hero: Show Marie + House Full Banner === */

@media (max-width: 720px) {
  .hero {
    min-height: auto !important;
    align-items: flex-start !important;
    padding-top: clamp(318px, calc(70px + 43vw + 56px), 390px) !important;
    padding-bottom: 48px !important;
    background-image:
      linear-gradient(180deg, rgba(255,255,255,0) 0px, rgba(255,255,255,0) 245px, rgba(255,255,255,.92) 330px, #ffffff 100%),
      url("../img/hero-home-marie-arne.png"),
      linear-gradient(180deg, #ffffff, #f7fafc) !important;
    background-size:
      100% 100%,
      100% auto,
      cover !important;
    background-position:
      center top,
      center 70px,
      center top !important;
    background-repeat:
      no-repeat,
      no-repeat,
      no-repeat !important;
  }

  .hero::after {
    display: none !important;
  }

  .hero-inner {
    width: calc(100% - 24px) !important;
    margin-inline: auto !important;
  }

  .hero-kicker,
  h1,
  .hero-lede {
    text-shadow: none !important;
  }
}

@media (max-width: 480px) {
  .hero {
    padding-top: clamp(292px, calc(70px + 43vw + 48px), 350px) !important;
  }
}


/* === Make Search Box Pop Out === */

.search-panel {
  position: relative !important;
  z-index: 20 !important;
  padding: 14px !important;
  border-radius: 34px !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid rgba(11,92,255,.16) !important;
  box-shadow:
    0 34px 90px rgba(15,23,42,.24),
    0 12px 34px rgba(11,92,255,.14),
    0 0 0 8px rgba(255,255,255,.36) !important;
  backdrop-filter: blur(20px) saturate(1.25) !important;
}

.search-tabs {
  margin-bottom: 12px !important;
  background: #f8fbff !important;
  border: 1px solid #dbeafe !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9) !important;
}

.search-tabs button.active {
  background: linear-gradient(135deg, #0b5cff, #0742b7) !important;
  box-shadow: 0 12px 24px rgba(11,92,255,.28) !important;
}

.home-search {
  background: #ffffff !important;
  border: 2px solid #dbeafe !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 16px 38px rgba(15,23,42,.14) !important;
}

.home-search input {
  background: #ffffff !important;
  font-weight: 750 !important;
}

.home-search button {
  background: linear-gradient(135deg, #0b5cff, #0646d9) !important;
  box-shadow:
    0 16px 30px rgba(11,92,255,.32),
    inset 0 1px 0 rgba(255,255,255,.25) !important;
}

.search-note {
  background: #ffffff !important;
  border: 1px solid #dbeafe !important;
  box-shadow: 0 12px 28px rgba(15,23,42,.10) !important;
}

@media (max-width: 720px) {
  .search-panel {
    padding: 12px !important;
    border-radius: 30px !important;
    margin-top: 14px !important;
    background: #ffffff !important;
    box-shadow:
      0 28px 70px rgba(15,23,42,.28),
      0 10px 30px rgba(11,92,255,.16),
      0 0 0 6px rgba(255,255,255,.68) !important;
  }

  .home-search {
    border-radius: 24px !important;
    border: 2px solid #bfdbfe !important;
    padding: 10px !important;
  }

  .home-search input {
    background: #f8fbff !important;
    border: 1px solid #dbeafe !important;
    color: #0f172a !important;
  }

  .home-search button {
    min-height: 58px !important;
    font-size: 15px !important;
  }
}


/* === Warm Premium Contrast Patch === */

:root {
  --soft: #f7f2ea;
  --cream: #fbf7ef;
  --warm-panel: #fffaf2;
  --warm-line: #e8dccb;
  --gold-soft: #d6a84f;
}

body {
  background: #fbf7ef !important;
}

.hero {
  background-color: #fbf7ef !important;
}

.hero::after {
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(251,247,239,.92)) !important;
}

.pathways,
.areas,
.compliance {
  background: #fffaf2 !important;
}

.split-section,
.idx-section {
  background: linear-gradient(180deg, #f7f2ea 0%, #fffaf2 100%) !important;
}

.split-section.alt {
  background: #fffaf2 !important;
}

.path-card,
.area-grid article,
.feature-list div,
.lead-form,
.search-mockup,
.agent-strip-inner,
.compliance-links a {
  background: #ffffff !important;
  border-color: var(--warm-line) !important;
}

.path-card,
.area-grid article,
.lead-form,
.search-mockup {
  box-shadow:
    0 16px 38px rgba(94, 68, 33, .10),
    0 2px 8px rgba(15, 23, 42, .04) !important;
}

.search-panel {
  background: rgba(255,250,242,.98) !important;
  border-color: rgba(214,168,79,.32) !important;
  box-shadow:
    0 36px 90px rgba(68, 49, 22, .24),
    0 12px 34px rgba(11,92,255,.12),
    0 0 0 8px rgba(255,250,242,.42) !important;
}

.search-tabs {
  background: #fff7e8 !important;
  border-color: #ead9bc !important;
}

.home-search {
  background: #ffffff !important;
  border-color: #e5d2b4 !important;
}

.search-note {
  background: #fffaf2 !important;
  border-color: #e5d2b4 !important;
}

.hero-actions a {
  background: rgba(255,250,242,.92) !important;
  border-color: #e5d2b4 !important;
}

.trust-points div,
.mock-list div {
  background: #fffaf2 !important;
  border-color: #e8dccb !important;
}

.eyebrow,
.hero-kicker {
  color: #0b5cff !important;
}

.section-head.centered::after,
.copy-block::after {
  content: "";
  display: block;
  width: 74px;
  height: 4px;
  margin-top: 18px;
  border-radius: 999px;
  background: linear-gradient(90deg, #0b5cff, #d6a84f);
}

.section-head.centered::after {
  margin-left: auto;
  margin-right: auto;
}

.esther-lite {
  background:
    radial-gradient(circle at 20% 20%, rgba(214,168,79,.16), transparent 28%),
    linear-gradient(135deg, #0f172a 0%, #172642 100%) !important;
}

.final-card {
  background:
    radial-gradient(circle at 20% 20%, rgba(214,168,79,.28), transparent 28%),
    linear-gradient(135deg, #0b5cff 0%, #073fbd 100%) !important;
}

.site-footer {
  background: #0b1220 !important;
}

@media (max-width: 720px) {
  .hero {
    background-color: #fbf7ef !important;
  }

  .agent-strip-inner {
    background: #fffaf2 !important;
  }
}


/* === Warm Premium Header Refinement === */

.site-header {
  background: rgba(255, 250, 242, .97) !important;
  border-bottom: 1px solid rgba(214, 168, 79, .34) !important;
  box-shadow:
    0 10px 30px rgba(72, 52, 20, .09),
    inset 0 -1px 0 rgba(255, 255, 255, .75) !important;
  backdrop-filter: blur(18px) saturate(1.18) !important;
}

.site-header::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 3px;
  background: linear-gradient(90deg, transparent 0%, #d6a84f 24%, #0b5cff 50%, #d6a84f 76%, transparent 100%);
  opacity: .75;
  pointer-events: none;
}

.header-inner {
  min-height: 86px !important;
}

.brand img {
  filter: drop-shadow(0 4px 10px rgba(72, 52, 20, .12)) !important;
}

.brand-text strong {
  color: #0b1220 !important;
  font-weight: 950 !important;
}

.brand-text em {
  color: #8a6a2d !important;
  font-weight: 900 !important;
}

.site-nav a {
  color: #0b1220 !important;
  font-weight: 900 !important;
}

.site-nav a:hover {
  background: #fff3dc !important;
  color: #0b5cff !important;
}

.site-nav .nav-button {
  background: linear-gradient(135deg, #0b5cff, #073fbd) !important;
  color: #ffffff !important;
  box-shadow:
    0 14px 28px rgba(11,92,255,.28),
    inset 0 1px 0 rgba(255,255,255,.25) !important;
}

.nav-toggle {
  background: #fffaf2 !important;
  border-color: rgba(214,168,79,.42) !important;
  box-shadow: 0 8px 20px rgba(72,52,20,.10) !important;
}

.nav-toggle span {
  background: #0b1220 !important;
}

@media (max-width: 1120px) {
  .site-header {
    background: rgba(255, 250, 242, .985) !important;
  }

  .site-nav {
    background: #fffaf2 !important;
    border-color: rgba(214,168,79,.35) !important;
  }
}


/* === Darker Premium Body Contrast Patch === */

:root {
  --body-warm: #efe4d4;
  --body-warm-2: #eadcc8;
  --section-warm: #f4eadc;
  --section-warm-light: #fff8ef;
  --card-border-warm: #dcc6a8;
  --card-shadow-warm: rgba(77, 54, 25, .16);
}

body {
  background: var(--body-warm) !important;
  color: #0b1220 !important;
}

.pathways,
.areas,
.compliance,
.final-cta {
  background: var(--section-warm-light) !important;
}

.split-section,
.idx-section {
  background:
    radial-gradient(circle at 12% 18%, rgba(214,168,79,.14), transparent 28%),
    linear-gradient(180deg, var(--body-warm) 0%, var(--section-warm) 100%) !important;
}

.split-section.alt {
  background:
    radial-gradient(circle at 88% 12%, rgba(11,92,255,.08), transparent 26%),
    linear-gradient(180deg, var(--section-warm-light) 0%, var(--section-warm) 100%) !important;
}

.section-head.centered,
.copy-block {
  color: #0b1220 !important;
}

.section-head p,
.copy-block p,
.path-card p,
.area-grid p,
.feature-list span,
.lead-form p,
.agent-mini span,
.trust-points span {
  color: #475569 !important;
}

.path-card,
.area-grid article,
.feature-list div,
.lead-form,
.search-mockup,
.agent-strip-inner,
.compliance-links a {
  background: #fffaf2 !important;
  border-color: var(--card-border-warm) !important;
  box-shadow:
    0 18px 44px var(--card-shadow-warm),
    0 2px 8px rgba(15,23,42,.05) !important;
}

.trust-points div,
.mock-list div {
  background: #f8eddd !important;
  border-color: var(--card-border-warm) !important;
}

.search-panel {
  background: rgba(255, 248, 239, .98) !important;
  border-color: rgba(160, 116, 48, .42) !important;
  box-shadow:
    0 38px 96px rgba(56, 39, 17, .30),
    0 14px 38px rgba(11,92,255,.12),
    0 0 0 8px rgba(255,248,239,.40) !important;
}

.search-tabs {
  background: #f6e7d0 !important;
  border-color: #d6bd94 !important;
}

.home-search {
  border-color: #cdae7c !important;
}

.search-note,
.hero-actions a {
  background: #fff8ef !important;
  border-color: #d6bd94 !important;
}

.lead-form input,
.lead-form select,
.lead-form textarea {
  background: #fffdf8 !important;
  border-color: #cdb894 !important;
}

.lead-form input:focus,
.lead-form select:focus,
.lead-form textarea:focus {
  background: #ffffff !important;
  border-color: #0b5cff !important;
}

.esther-lite {
  background:
    radial-gradient(circle at 20% 10%, rgba(214,168,79,.20), transparent 30%),
    linear-gradient(135deg, #0b1220 0%, #172642 100%) !important;
}

.site-footer {
  background: #080f1d !important;
}

@media (max-width: 720px) {
  body {
    background: var(--body-warm) !important;
  }

  .agent-strip-inner {
    background: #fff8ef !important;
  }
}


/* === Darker Premium Body Contrast Patch === */

:root {
  --body-warm: #efe4d4;
  --body-warm-2: #eadcc8;
  --section-warm: #f4eadc;
  --section-warm-light: #fff8ef;
  --card-border-warm: #dcc6a8;
  --card-shadow-warm: rgba(77, 54, 25, .16);
}

body {
  background: var(--body-warm) !important;
  color: #0b1220 !important;
}

.pathways,
.areas,
.compliance,
.final-cta {
  background: var(--section-warm-light) !important;
}

.split-section,
.idx-section {
  background:
    radial-gradient(circle at 12% 18%, rgba(214,168,79,.14), transparent 28%),
    linear-gradient(180deg, var(--body-warm) 0%, var(--section-warm) 100%) !important;
}

.split-section.alt {
  background:
    radial-gradient(circle at 88% 12%, rgba(11,92,255,.08), transparent 26%),
    linear-gradient(180deg, var(--section-warm-light) 0%, var(--section-warm) 100%) !important;
}

.section-head.centered,
.copy-block {
  color: #0b1220 !important;
}

.section-head p,
.copy-block p,
.path-card p,
.area-grid p,
.feature-list span,
.lead-form p,
.agent-mini span,
.trust-points span {
  color: #475569 !important;
}

.path-card,
.area-grid article,
.feature-list div,
.lead-form,
.search-mockup,
.agent-strip-inner,
.compliance-links a {
  background: #fffaf2 !important;
  border-color: var(--card-border-warm) !important;
  box-shadow:
    0 18px 44px var(--card-shadow-warm),
    0 2px 8px rgba(15,23,42,.05) !important;
}

.trust-points div,
.mock-list div {
  background: #f8eddd !important;
  border-color: var(--card-border-warm) !important;
}

.search-panel {
  background: rgba(255, 248, 239, .98) !important;
  border-color: rgba(160, 116, 48, .42) !important;
  box-shadow:
    0 38px 96px rgba(56, 39, 17, .30),
    0 14px 38px rgba(11,92,255,.12),
    0 0 0 8px rgba(255,248,239,.40) !important;
}

.search-tabs {
  background: #f6e7d0 !important;
  border-color: #d6bd94 !important;
}

.home-search {
  border-color: #cdae7c !important;
}

.search-note,
.hero-actions a {
  background: #fff8ef !important;
  border-color: #d6bd94 !important;
}

.lead-form input,
.lead-form select,
.lead-form textarea {
  background: #fffdf8 !important;
  border-color: #cdb894 !important;
}

.lead-form input:focus,
.lead-form select:focus,
.lead-form textarea:focus {
  background: #ffffff !important;
  border-color: #0b5cff !important;
}

.esther-lite {
  background:
    radial-gradient(circle at 20% 10%, rgba(214,168,79,.20), transparent 30%),
    linear-gradient(135deg, #0b1220 0%, #172642 100%) !important;
}

.site-footer {
  background: #080f1d !important;
}

@media (max-width: 720px) {
  body {
    background: var(--body-warm) !important;
  }

  .agent-strip-inner {
    background: #fff8ef !important;
  }
}


/* === Complete Luxury Color Reset: Navy + Champagne + White === */

:root {
  --lux-navy: #07111f;
  --lux-navy-2: #0d1b2f;
  --lux-navy-3: #132844;
  --lux-blue: #0b5cff;
  --lux-blue-dark: #073fbd;
  --lux-gold: #d6a84f;
  --lux-gold-soft: #f3dfb2;
  --lux-cream: #fffaf0;
  --lux-paper: #ffffff;
  --lux-soft: #f3f7fb;
  --lux-line: #d9e2ee;
  --lux-text: #1e293b;
  --lux-muted: #64748b;
}

/* Main page tone */
body {
  background: var(--lux-navy) !important;
  color: var(--lux-text) !important;
}

/* Header becomes premium dark */
.site-header {
  background:
    linear-gradient(135deg, rgba(7,17,31,.97), rgba(13,27,47,.97)) !important;
  border-bottom: 1px solid rgba(214,168,79,.45) !important;
  box-shadow:
    0 14px 38px rgba(0,0,0,.22),
    inset 0 -1px 0 rgba(255,255,255,.06) !important;
}

.site-header::after {
  background: linear-gradient(90deg, transparent, var(--lux-gold), var(--lux-blue), var(--lux-gold), transparent) !important;
  opacity: .85 !important;
}

.brand img {
  background: rgba(255,255,255,.96) !important;
  padding: 6px !important;
  border-radius: 14px !important;
  box-shadow: 0 8px 20px rgba(0,0,0,.18) !important;
}

.brand-text strong {
  color: #ffffff !important;
}

.brand-text em {
  color: var(--lux-gold-soft) !important;
}

.site-nav a {
  color: rgba(255,255,255,.88) !important;
}

.site-nav a:hover {
  background: rgba(255,255,255,.10) !important;
  color: var(--lux-gold-soft) !important;
}

.site-nav .nav-button {
  background: linear-gradient(135deg, var(--lux-gold), #f4d582) !important;
  color: #111827 !important;
  box-shadow:
    0 14px 30px rgba(214,168,79,.28),
    inset 0 1px 0 rgba(255,255,255,.38) !important;
}

.site-nav .nav-button:hover {
  background: linear-gradient(135deg, #f4d582, var(--lux-gold)) !important;
  color: #111827 !important;
}

.nav-toggle {
  background: rgba(255,255,255,.10) !important;
  border-color: rgba(255,255,255,.22) !important;
}

.nav-toggle span {
  background: #ffffff !important;
}

/* Hero color balance */
.hero {
  background-color: var(--lux-navy) !important;
}

.hero::after {
  background: linear-gradient(180deg, rgba(7,17,31,0), rgba(7,17,31,.12), var(--lux-navy) 96%) !important;
}

.hero-kicker {
  color: var(--lux-gold-soft) !important;
}

h1,
.hero-lede {
  color: #ffffff !important;
  text-shadow:
    0 3px 18px rgba(0,0,0,.55),
    0 1px 2px rgba(0,0,0,.35) !important;
}

/* Search remains bright but more premium */
.search-panel {
  background: rgba(255,255,255,.96) !important;
  border-color: rgba(214,168,79,.55) !important;
  box-shadow:
    0 38px 100px rgba(0,0,0,.34),
    0 12px 36px rgba(214,168,79,.15),
    0 0 0 8px rgba(255,255,255,.24) !important;
}

.search-tabs {
  background: #f8fafc !important;
  border-color: #d9e2ee !important;
}

.search-tabs button.active,
.home-search button {
  background: linear-gradient(135deg, var(--lux-blue), var(--lux-blue-dark)) !important;
  color: #ffffff !important;
}

.home-search {
  background: #ffffff !important;
  border-color: #d9e2ee !important;
}

.search-note,
.hero-actions a {
  background: #ffffff !important;
  border-color: #d9e2ee !important;
  color: var(--lux-text) !important;
}

/* Trust strip */
.agent-strip-inner {
  background: #ffffff !important;
  border-color: rgba(214,168,79,.38) !important;
  box-shadow:
    0 22px 60px rgba(0,0,0,.20),
    0 0 0 1px rgba(255,255,255,.65) !important;
}

.trust-points div {
  background: #f8fafc !important;
  border-color: #d9e2ee !important;
}

/* Main body sections */
.pathways,
.areas,
.compliance,
.final-cta {
  background: #ffffff !important;
}

.split-section,
.idx-section {
  background:
    radial-gradient(circle at 12% 15%, rgba(11,92,255,.10), transparent 30%),
    linear-gradient(180deg, #f3f7fb 0%, #ffffff 100%) !important;
}

.split-section.alt {
  background:
    radial-gradient(circle at 85% 10%, rgba(214,168,79,.12), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f3f7fb 100%) !important;
}

.section-head h2,
.copy-block h2,
.path-card h3,
.area-grid h3,
.lead-form h3 {
  color: var(--lux-navy) !important;
}

.section-head p,
.copy-block p,
.path-card p,
.area-grid p,
.feature-list span,
.lead-form p,
.agent-mini span,
.trust-points span {
  color: var(--lux-muted) !important;
}

.eyebrow {
  color: var(--lux-blue) !important;
}

/* Cards */
.path-card,
.area-grid article,
.feature-list div,
.lead-form,
.search-mockup,
.compliance-links a {
  background: #ffffff !important;
  border-color: #d9e2ee !important;
  box-shadow:
    0 18px 44px rgba(15,23,42,.10),
    0 1px 0 rgba(255,255,255,.85) inset !important;
}

.path-card:hover,
.area-grid article:hover {
  border-color: var(--lux-blue) !important;
  box-shadow:
    0 22px 60px rgba(11,92,255,.14),
    0 12px 28px rgba(15,23,42,.10) !important;
}

.path-card span {
  background: #eaf2ff !important;
  color: var(--lux-blue-dark) !important;
}

.feature-list div {
  background: #f8fafc !important;
}

.lead-form input,
.lead-form select,
.lead-form textarea {
  background: #f8fafc !important;
  border-color: #cbd5e1 !important;
}

.lead-form button,
.primary-link {
  background: linear-gradient(135deg, var(--lux-blue), var(--lux-blue-dark)) !important;
  color: #ffffff !important;
}

/* Dark section feels intentional */
.esther-lite {
  background:
    radial-gradient(circle at 20% 10%, rgba(214,168,79,.18), transparent 30%),
    radial-gradient(circle at 78% 20%, rgba(11,92,255,.18), transparent 28%),
    linear-gradient(135deg, var(--lux-navy) 0%, var(--lux-navy-3) 100%) !important;
}

.esther-lite h2,
.esther-lite .eyebrow {
  color: #ffffff !important;
}

.esther-lite p {
  color: rgba(255,255,255,.76) !important;
}

.esther-steps div {
  background: rgba(255,255,255,.08) !important;
  border-color: rgba(255,255,255,.18) !important;
}

/* CTA and footer */
.final-card {
  background:
    radial-gradient(circle at 18% 20%, rgba(214,168,79,.28), transparent 28%),
    linear-gradient(135deg, var(--lux-navy) 0%, var(--lux-blue-dark) 100%) !important;
}

.final-card h2,
.final-card p {
  color: #ffffff !important;
}

.site-footer {
  background: #050b15 !important;
  border-top: 1px solid rgba(214,168,79,.22) !important;
}

/* Mobile menu */
@media (max-width: 1120px) {
  .site-nav {
    background: linear-gradient(135deg, var(--lux-navy), var(--lux-navy-2)) !important;
    border-color: rgba(214,168,79,.35) !important;
  }

  .site-nav a {
    color: #ffffff !important;
  }
}

@media (max-width: 720px) {
  .hero {
    background-color: var(--lux-navy) !important;
  }

  .hero-kicker {
    color: var(--lux-blue) !important;
  }

  h1,
  .hero-lede {
    color: var(--lux-navy) !important;
    text-shadow: none !important;
  }

  .agent-strip-inner {
    background: #ffffff !important;
  }
}


/* === Esther Color Shift: Deep Indigo / Blue / Silver / Gold === */

:root {
  --esther-deep: #010617;
  --esther-ink: #07142c;
  --esther-blue: #123c8c;
  --esther-blue-bright: #2f6fed;
  --esther-silver: #e8eef8;
  --esther-gold: #d6a84f;
}

/* Header: Esther deep blue instead of black */
.site-header {
  background:
    linear-gradient(135deg, rgba(1,6,23,.98), rgba(7,20,44,.97), rgba(18,60,140,.92)) !important;
  border-bottom: 1px solid rgba(214,168,79,.42) !important;
  box-shadow:
    0 16px 40px rgba(1,6,23,.34),
    inset 0 -1px 0 rgba(255,255,255,.08) !important;
}

.site-header::after {
  background: linear-gradient(90deg, transparent, var(--esther-blue-bright), var(--esther-gold), var(--esther-blue-bright), transparent) !important;
}

/* Hero fade: Esther blue, not black */
.hero::after {
  background:
    linear-gradient(180deg, rgba(1,6,23,0), rgba(7,20,44,.18), rgba(7,20,44,.82) 96%) !important;
}

/* Main dark hero lower edge */
.hero {
  background-color: var(--esther-ink) !important;
}

/* Text accents */
.hero-kicker,
.eyebrow {
  color: var(--esther-blue-bright) !important;
}

h1,
.hero-lede {
  text-shadow:
    0 3px 20px rgba(1,6,23,.55),
    0 1px 2px rgba(1,6,23,.40) !important;
}

/* Search box: silver/blue/gold premium */
.search-panel {
  border-color: rgba(47,111,237,.42) !important;
  box-shadow:
    0 38px 100px rgba(1,6,23,.30),
    0 12px 36px rgba(47,111,237,.18),
    0 0 0 8px rgba(232,238,248,.24) !important;
}

.search-tabs button.active,
.home-search button,
.lead-form button,
.primary-link {
  background: linear-gradient(135deg, var(--esther-blue-bright), var(--esther-blue)) !important;
}

/* CTA button in header: gold still premium */
.site-nav .nav-button {
  background: linear-gradient(135deg, var(--esther-gold), #f1d17a) !important;
  color: #07142c !important;
}

/* Esther section: make it Esther-branded, not black */
.esther-lite {
  background:
    radial-gradient(circle at 20% 12%, rgba(47,111,237,.30), transparent 30%),
    radial-gradient(circle at 78% 18%, rgba(214,168,79,.18), transparent 28%),
    linear-gradient(135deg, var(--esther-deep) 0%, var(--esther-ink) 46%, var(--esther-blue) 100%) !important;
}

/* Footer: deep Esther indigo instead of black */
.site-footer {
  background:
    linear-gradient(135deg, var(--esther-deep), var(--esther-ink)) !important;
  border-top: 1px solid rgba(47,111,237,.30) !important;
}

/* Final CTA: Esther blue/gold */
.final-card {
  background:
    radial-gradient(circle at 20% 20%, rgba(214,168,79,.25), transparent 30%),
    radial-gradient(circle at 80% 10%, rgba(47,111,237,.32), transparent 28%),
    linear-gradient(135deg, var(--esther-ink) 0%, var(--esther-blue) 100%) !important;
}

/* Mobile menu follows Esther colors */
@media (max-width: 1120px) {
  .site-nav {
    background:
      linear-gradient(135deg, var(--esther-deep), var(--esther-ink), var(--esther-blue)) !important;
    border-color: rgba(47,111,237,.35) !important;
  }
}


/* === Logo Visibility + Stronger Esther Blue Refinement === */

.site-header {
  background:
    linear-gradient(135deg, #03112f 0%, #062b73 44%, #0b5cff 100%) !important;
  border-bottom: 1px solid rgba(96,165,250,.75) !important;
  box-shadow:
    0 18px 44px rgba(3,17,47,.34),
    inset 0 -1px 0 rgba(255,255,255,.10) !important;
}

.site-header::after {
  height: 4px !important;
  background: linear-gradient(90deg, transparent, #60a5fa, #d6a84f, #60a5fa, transparent) !important;
  opacity: 1 !important;
}

.header-inner {
  min-height: 92px !important;
}

.brand {
  gap: 0 !important;
}

.brand img {
  width: 138px !important;
  height: 72px !important;
  object-fit: contain !important;
  background: #ffffff !important;
  padding: 9px 14px !important;
  border-radius: 18px !important;
  box-shadow:
    0 14px 34px rgba(0,0,0,.26),
    0 0 0 1px rgba(255,255,255,.68),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
}

.brand-text {
  display: none !important;
}

.site-nav a {
  color: rgba(255,255,255,.94) !important;
}

.site-nav a:hover {
  background: rgba(255,255,255,.14) !important;
  color: #ffffff !important;
}

.site-nav .nav-button {
  background: #ffffff !important;
  color: #062b73 !important;
  box-shadow:
    0 16px 30px rgba(255,255,255,.20),
    0 10px 26px rgba(11,92,255,.28) !important;
}

.site-nav .nav-button:hover {
  background: #dbeafe !important;
  color: #03112f !important;
}

.hero::after {
  background:
    linear-gradient(180deg, rgba(3,17,47,0), rgba(6,43,115,.22), rgba(6,43,115,.86) 96%) !important;
}

.search-tabs button.active,
.home-search button,
.lead-form button,
.primary-link {
  background: linear-gradient(135deg, #0b5cff 0%, #062b73 100%) !important;
}

.search-panel {
  border-color: rgba(96,165,250,.65) !important;
  box-shadow:
    0 38px 100px rgba(3,17,47,.34),
    0 12px 38px rgba(11,92,255,.24),
    0 0 0 8px rgba(219,234,254,.30) !important;
}

.esther-lite,
.final-card {
  background:
    radial-gradient(circle at 20% 12%, rgba(96,165,250,.34), transparent 30%),
    radial-gradient(circle at 78% 18%, rgba(214,168,79,.18), transparent 28%),
    linear-gradient(135deg, #03112f 0%, #062b73 52%, #0b5cff 100%) !important;
}

.site-footer {
  background:
    linear-gradient(135deg, #03112f 0%, #07142c 62%, #062b73 100%) !important;
}

@media (max-width: 1120px) {
  .brand img {
    width: 118px !important;
    height: 62px !important;
    padding: 8px 12px !important;
  }

  .site-nav {
    background:
      linear-gradient(135deg, #03112f 0%, #062b73 60%, #0b5cff 100%) !important;
  }
}

@media (max-width: 520px) {
  .header-inner {
    min-height: 76px !important;
  }

  .brand img {
    width: 104px !important;
    height: 54px !important;
    padding: 7px 10px !important;
    border-radius: 15px !important;
  }
}


/* === Professional Real Estate Visual Reset === */

:root {
  --pro-navy: #10213a;
  --pro-navy-dark: #07111f;
  --pro-blue: #0b5cff;
  --pro-blue-dark: #073fbd;
  --pro-gold: #c79a3b;
  --pro-bg: #f6f8fb;
  --pro-card: #ffffff;
  --pro-line: #dbe4ef;
  --pro-text: #1e293b;
  --pro-muted: #64748b;
}

/* Header: professional white, not loud blue */
.site-header {
  background: rgba(255,255,255,.96) !important;
  border-bottom: 1px solid rgba(219,228,239,.95) !important;
  box-shadow: 0 8px 28px rgba(15,23,42,.08) !important;
  backdrop-filter: blur(18px) saturate(1.15) !important;
}

.site-header::after {
  height: 2px !important;
  background: linear-gradient(90deg, transparent, var(--pro-gold), var(--pro-blue), var(--pro-gold), transparent) !important;
  opacity: .7 !important;
}

.header-inner {
  min-height: 86px !important;
}

.brand img {
  width: 132px !important;
  height: 66px !important;
  object-fit: contain !important;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: drop-shadow(0 4px 10px rgba(15,23,42,.10)) !important;
}

.brand-text {
  display: none !important;
}

.site-nav a {
  color: var(--pro-navy-dark) !important;
  font-weight: 900 !important;
}

.site-nav a:hover {
  background: #eef5ff !important;
  color: var(--pro-blue) !important;
}

.site-nav .nav-button {
  background: linear-gradient(135deg, var(--pro-blue), var(--pro-blue-dark)) !important;
  color: #ffffff !important;
  box-shadow: 0 12px 26px rgba(11,92,255,.24) !important;
}

.site-nav .nav-button:hover {
  background: var(--pro-blue-dark) !important;
  color: #ffffff !important;
}

.nav-toggle {
  background: #ffffff !important;
  border-color: var(--pro-line) !important;
  box-shadow: 0 8px 22px rgba(15,23,42,.10) !important;
}

.nav-toggle span {
  background: var(--pro-navy-dark) !important;
}

/* Body: clean professional contrast */
body {
  background: var(--pro-bg) !important;
  color: var(--pro-text) !important;
}

/* Hero: keep image beautiful, remove heavy dark/blue cast */
.hero {
  background-color: #ffffff !important;
}

.hero::after {
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.58), #ffffff 96%) !important;
}

.hero-kicker {
  color: var(--pro-blue) !important;
  text-shadow: 0 2px 16px rgba(255,255,255,.92) !important;
}

h1 {
  color: var(--pro-navy-dark) !important;
  text-shadow: 0 3px 22px rgba(255,255,255,.95) !important;
}

.hero-lede {
  color: var(--pro-text) !important;
  text-shadow: 0 2px 18px rgba(255,255,255,.95) !important;
}

/* Search: crisp premium, not overdesigned */
.search-panel {
  background: rgba(255,255,255,.97) !important;
  border: 1px solid rgba(199,154,59,.28) !important;
  border-radius: 30px !important;
  box-shadow:
    0 30px 80px rgba(15,23,42,.18),
    0 0 0 6px rgba(255,255,255,.32) !important;
}

.search-tabs {
  background: #f8fafc !important;
  border: 1px solid var(--pro-line) !important;
  box-shadow: none !important;
}

.search-tabs button {
  color: var(--pro-text) !important;
}

.search-tabs button.active {
  background: var(--pro-blue) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(11,92,255,.22) !important;
}

.home-search {
  background: #ffffff !important;
  border: 1px solid var(--pro-line) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.95) !important;
}

.home-search button,
.lead-form button,
.primary-link {
  background: linear-gradient(135deg, var(--pro-blue), var(--pro-blue-dark)) !important;
  color: #ffffff !important;
}

.search-note,
.hero-actions a {
  background: #ffffff !important;
  border-color: var(--pro-line) !important;
  color: var(--pro-text) !important;
}

/* Trust strip and cards */
.agent-strip-inner,
.path-card,
.area-grid article,
.feature-list div,
.lead-form,
.search-mockup,
.compliance-links a {
  background: var(--pro-card) !important;
  border-color: var(--pro-line) !important;
  box-shadow:
    0 16px 40px rgba(15,23,42,.10),
    inset 0 1px 0 rgba(255,255,255,.85) !important;
}

.trust-points div,
.mock-list div {
  background: #f8fafc !important;
  border-color: var(--pro-line) !important;
}

/* Sections */
.pathways,
.areas,
.compliance,
.final-cta {
  background: #ffffff !important;
}

.split-section,
.idx-section {
  background:
    radial-gradient(circle at 14% 16%, rgba(11,92,255,.06), transparent 30%),
    linear-gradient(180deg, #f6f8fb 0%, #ffffff 100%) !important;
}

.split-section.alt {
  background:
    radial-gradient(circle at 86% 14%, rgba(199,154,59,.08), transparent 28%),
    linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%) !important;
}

.section-head h2,
.copy-block h2,
.path-card h3,
.area-grid h3,
.lead-form h3 {
  color: var(--pro-navy-dark) !important;
}

.section-head p,
.copy-block p,
.path-card p,
.area-grid p,
.feature-list span,
.lead-form p,
.agent-mini span,
.trust-points span {
  color: var(--pro-muted) !important;
}

.eyebrow {
  color: var(--pro-blue) !important;
}

/* Esther section: subtle brand presence only */
.esther-lite {
  background:
    radial-gradient(circle at 20% 12%, rgba(11,92,255,.18), transparent 30%),
    radial-gradient(circle at 78% 18%, rgba(199,154,59,.14), transparent 28%),
    linear-gradient(135deg, #10213a 0%, #16335c 100%) !important;
}

.esther-lite h2,
.esther-lite .eyebrow {
  color: #ffffff !important;
}

.esther-lite p {
  color: rgba(255,255,255,.78) !important;
}

.final-card {
  background:
    radial-gradient(circle at 18% 20%, rgba(199,154,59,.18), transparent 28%),
    linear-gradient(135deg, #10213a 0%, #0b5cff 100%) !important;
}

.site-footer {
  background: #07111f !important;
  border-top: 1px solid rgba(199,154,59,.22) !important;
}

/* Mobile */
@media (max-width: 1120px) {
  .site-nav {
    background: #ffffff !important;
    border-color: var(--pro-line) !important;
  }

  .site-nav a {
    color: var(--pro-navy-dark) !important;
  }

  .site-nav .nav-button {
    color: #ffffff !important;
  }
}

@media (max-width: 520px) {
  .brand img {
    width: 104px !important;
    height: 54px !important;
  }
}


/* === Clean Premium Search Box Pop === */

.search-panel {
  width: min(1020px, 100%) !important;
  padding: 18px !important;
  border-radius: 34px !important;
  background: rgba(255,255,255,.98) !important;
  border: 1px solid rgba(203,213,225,.95) !important;
  box-shadow:
    0 34px 90px rgba(15,23,42,.22),
    0 16px 36px rgba(11,92,255,.12),
    inset 0 1px 0 rgba(255,255,255,.95) !important;
  backdrop-filter: blur(20px) saturate(1.15) !important;
}

.search-tabs {
  width: fit-content !important;
  margin: 0 auto 14px !important;
  padding: 5px !important;
  background: #f1f5f9 !important;
  border: 1px solid #dbe4ef !important;
  border-radius: 999px !important;
  box-shadow: inset 0 1px 2px rgba(15,23,42,.06) !important;
}

.search-tabs button {
  padding: 10px 22px !important;
  border-radius: 999px !important;
  color: #334155 !important;
  font-weight: 950 !important;
}

.search-tabs button.active {
  background: linear-gradient(135deg, #0b5cff, #073fbd) !important;
  color: #ffffff !important;
  box-shadow: 0 10px 22px rgba(11,92,255,.25) !important;
}

.home-search {
  width: 100% !important;
  padding: 7px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 210px !important;
  gap: 8px !important;
  border-radius: 24px !important;
  background: #f8fafc !important;
  border: 1px solid #dbe4ef !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 10px 26px rgba(15,23,42,.08) !important;
}

.home-search input {
  min-height: 62px !important;
  padding: 0 22px !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  color: #0f172a !important;
  font-size: 17px !important;
  font-weight: 750 !important;
  box-shadow: inset 0 0 0 1px #dbe4ef !important;
}

.home-search input::placeholder {
  color: #64748b !important;
}

.home-search button {
  min-height: 62px !important;
  border-radius: 18px !important;
  background: linear-gradient(135deg, #0b5cff, #063fbf) !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  box-shadow:
    0 14px 28px rgba(11,92,255,.28),
    inset 0 1px 0 rgba(255,255,255,.24) !important;
}

.search-note {
  width: fit-content !important;
  max-width: 100% !important;
  margin: 12px auto 0 !important;
  padding: 8px 16px !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  border: 1px solid #dbe4ef !important;
  color: #475569 !important;
  box-shadow: 0 8px 20px rgba(15,23,42,.06) !important;
}

.search-note a {
  color: #073fbd !important;
  font-weight: 950 !important;
}

@media (max-width: 720px) {
  .search-panel {
    width: 100% !important;
    padding: 14px !important;
    border-radius: 28px !important;
  }

  .search-tabs {
    width: 100% !important;
    justify-content: flex-start !important;
    overflow-x: auto !important;
  }

  .home-search {
    grid-template-columns: 1fr !important;
    border-radius: 22px !important;
  }

  .home-search input,
  .home-search button {
    min-height: 56px !important;
    border-radius: 16px !important;
  }

  .search-note {
    border-radius: 18px !important;
    text-align: center !important;
  }
}


/* === Zillow-Inspired Clean Simplification === */

/* Header: fewer visual distractions */
.site-header {
  background: rgba(255,255,255,.98) !important;
  border-bottom: 1px solid #e5e7eb !important;
  box-shadow: 0 4px 18px rgba(15,23,42,.06) !important;
}

.site-header::after {
  display: none !important;
}

.header-inner {
  min-height: 76px !important;
}

.brand img {
  width: 118px !important;
  height: 58px !important;
  background: transparent !important;
  padding: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

.site-nav {
  gap: 18px !important;
  font-size: 15px !important;
  font-weight: 850 !important;
}

.site-nav a {
  padding: 8px 0 !important;
  color: #111827 !important;
  background: transparent !important;
}

.site-nav a:hover {
  color: #0b5cff !important;
  background: transparent !important;
}

.site-nav .nav-button {
  padding: 11px 18px !important;
  border-radius: 10px !important;
  background: #0b5cff !important;
  color: #ffffff !important;
  box-shadow: 0 8px 18px rgba(11,92,255,.22) !important;
}

/* Hero: simpler marketplace-style layout */
.hero {
  min-height: clamp(560px, 70vh, 760px) !important;
  padding-top: 96px !important;
  padding-bottom: 70px !important;
  align-items: center !important;
}

.hero::after {
  background: linear-gradient(180deg, rgba(255,255,255,0), rgba(255,255,255,.18) 48%, rgba(255,255,255,.84) 100%) !important;
}

.hero-inner {
  width: min(900px, 100%) !important;
}

.hero-kicker {
  display: none !important;
}

h1 {
  max-width: 840px !important;
  margin-bottom: 18px !important;
  color: #ffffff !important;
  font-size: clamp(46px, 5vw, 76px) !important;
  line-height: .98 !important;
  letter-spacing: -.065em !important;
  text-shadow: 0 4px 24px rgba(0,0,0,.48) !important;
}

.hero-lede {
  max-width: 680px !important;
  margin-bottom: 26px !important;
  color: #ffffff !important;
  font-size: clamp(18px, 1.45vw, 22px) !important;
  text-shadow: 0 3px 18px rgba(0,0,0,.46) !important;
}

/* One clean search box */
.search-panel {
  width: min(760px, 100%) !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

.search-tabs,
.search-note {
  display: none !important;
}

.home-search {
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 70px !important;
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  border: 1px solid rgba(255,255,255,.96) !important;
  box-shadow:
    0 28px 70px rgba(15,23,42,.30),
    0 0 0 8px rgba(255,255,255,.22) !important;
}

.home-search input {
  min-height: 72px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: #ffffff !important;
  padding: 0 24px !important;
  color: #111827 !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}

.home-search button {
  min-height: 72px !important;
  width: 70px !important;
  border-radius: 0 !important;
  font-size: 0 !important;
  background: #0b5cff !important;
  box-shadow: none !important;
  position: relative !important;
}

.home-search button::before {
  content: "⌕";
  display: grid;
  place-items: center;
  color: #ffffff;
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
}

/* Remove extra hero buttons; choices already exist below */
.hero-actions {
  display: none !important;
}

/* Trust strip should not fight the hero */
.agent-strip {
  margin-top: -32px !important;
}

.agent-strip-inner {
  width: min(980px, calc(100% - 40px)) !important;
  grid-template-columns: 240px minmax(0, 1fr) !important;
  background: rgba(255,255,255,.98) !important;
  border: 1px solid #e5e7eb !important;
  box-shadow: 0 18px 42px rgba(15,23,42,.12) !important;
}

.trust-points div {
  background: #f8fafc !important;
  border-color: #e5e7eb !important;
}

/* Cleaner first section spacing */
.pathways {
  padding-top: 92px !important;
}

/* Mobile: same simple Zillow-style behavior */
@media (max-width: 720px) {
  .site-header {
    position: fixed !important;
  }

  .header-inner {
    min-height: 72px !important;
  }

  .brand img {
    width: 96px !important;
    height: 48px !important;
  }

  .hero {
    padding-top: 310px !important;
    padding-bottom: 42px !important;
    background-image:
      linear-gradient(180deg, rgba(255,255,255,0) 0px, rgba(255,255,255,0) 232px, rgba(255,255,255,.94) 312px, #ffffff 100%),
      url("../img/hero-home-marie-arne.png"),
      linear-gradient(180deg, #ffffff, #f8fafc) !important;
    background-size:
      100% 100%,
      100% auto,
      cover !important;
    background-position:
      center top,
      center 72px,
      center top !important;
    background-repeat: no-repeat !important;
    align-items: flex-start !important;
  }

  .hero-inner {
    width: calc(100% - 32px) !important;
  }

  h1 {
    color: #111827 !important;
    font-size: 38px !important;
    text-shadow: none !important;
  }

  .hero-lede {
    color: #334155 !important;
    font-size: 16px !important;
    text-shadow: none !important;
  }

  .home-search {
    grid-template-columns: minmax(0, 1fr) 58px !important;
    border-radius: 16px !important;
    box-shadow:
      0 18px 42px rgba(15,23,42,.20),
      0 0 0 5px rgba(255,255,255,.70) !important;
  }

  .home-search input {
    min-height: 60px !important;
    padding: 0 16px !important;
    font-size: 15px !important;
  }

  .home-search button {
    min-height: 60px !important;
    width: 58px !important;
  }

  .home-search button::before {
    font-size: 28px !important;
  }

  .agent-strip {
    margin-top: 0 !important;
  }

  .agent-strip-inner {
    width: calc(100% - 32px) !important;
    grid-template-columns: 1fr !important;
    border-radius: 18px !important;
  }
}


/* === Hero Overlay + Text Size Refinement === */

.hero {
  min-height: clamp(620px, 74vh, 790px) !important;
}

.hero::after {
  background: linear-gradient(
    180deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.04) 38%,
    rgba(255,255,255,.18) 64%,
    rgba(255,255,255,.52) 84%,
    rgba(255,255,255,.78) 100%
  ) !important;
}

.hero-inner {
  width: min(980px, 100%) !important;
}

h1 {
  max-width: 900px !important;
  margin-bottom: 20px !important;
  color: #ffffff !important;
  font-size: clamp(58px, 6vw, 92px) !important;
  line-height: .94 !important;
  letter-spacing: -.075em !important;
  text-shadow:
    0 6px 28px rgba(15,23,42,.38),
    0 2px 10px rgba(15,23,42,.26) !important;
}

.hero-lede {
  max-width: 760px !important;
  margin-bottom: 30px !important;
  color: #ffffff !important;
  font-size: clamp(21px, 1.7vw, 28px) !important;
  line-height: 1.34 !important;
  font-weight: 650 !important;
  text-shadow:
    0 4px 18px rgba(15,23,42,.34),
    0 2px 8px rgba(15,23,42,.22) !important;
}

.home-search {
  box-shadow:
    0 30px 72px rgba(15,23,42,.26),
    0 0 0 8px rgba(255,255,255,.18) !important;
}

.home-search input {
  font-size: 19px !important;
  font-weight: 650 !important;
}

.agent-strip {
  margin-top: -20px !important;
}

@media (max-width: 720px) {
  .hero {
    min-height: auto !important;
  }

  .hero::after {
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,0) 32%,
      rgba(255,255,255,.88) 100%
    ) !important;
  }

  h1 {
    font-size: 46px !important;
    line-height: .96 !important;
    color: #111827 !important;
    text-shadow: none !important;
  }

  .hero-lede {
    font-size: 18px !important;
    line-height: 1.42 !important;
    color: #334155 !important;
    text-shadow: none !important;
  }

  .home-search input {
    font-size: 16px !important;
  }
}


/* === Agent Image Clarity Patch === */

/* Remove ashy white wash from Marie and the house */
.hero {
  background:
    linear-gradient(180deg, rgba(7,17,31,.10) 0%, rgba(7,17,31,.04) 44%, rgba(255,255,255,.10) 78%, rgba(255,255,255,.62) 100%),
    url("../img/hero-home-marie-arne.png") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
}

/* Keep fade only near the bottom, not over Marie's face/body */
.hero::after {
  height: 28% !important;
  background: linear-gradient(
    180deg,
    rgba(255,255,255,0) 0%,
    rgba(255,255,255,.28) 58%,
    rgba(255,255,255,.82) 100%
  ) !important;
}

/* Strengthen text readability without washing the image */
h1 {
  text-shadow:
    0 5px 22px rgba(7,17,31,.52),
    0 2px 8px rgba(7,17,31,.35) !important;
}

.hero-lede {
  text-shadow:
    0 4px 18px rgba(7,17,31,.48),
    0 2px 8px rgba(7,17,31,.30) !important;
}

/* Make search bar readable without needing a white haze behind the full hero */
.home-search {
  box-shadow:
    0 30px 72px rgba(7,17,31,.24),
    0 0 0 7px rgba(255,255,255,.22) !important;
}

@media (max-width: 720px) {
  .hero {
    background-image:
      linear-gradient(180deg, rgba(255,255,255,0) 0px, rgba(255,255,255,0) 235px, rgba(255,255,255,.80) 315px, #ffffff 100%),
      url("../img/hero-home-marie-arne.png"),
      linear-gradient(180deg, #ffffff, #f8fafc) !important;
    background-size:
      100% 100%,
      100% auto,
      cover !important;
    background-position:
      center top,
      center 72px,
      center top !important;
  }
}


/* === IDX Embed Placeholder Replacement === */

.idx-embed-placeholder {
  position: relative;
  z-index: 4;
  margin-top: -28px;
  padding: 0 0 46px;
}

.idx-placeholder-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
  gap: 22px;
  align-items: center;
  padding: 24px;
  border: 1px dashed #9bb7df;
  border-radius: 26px;
  background: rgba(255,255,255,.97);
  box-shadow: 0 22px 60px rgba(15,23,42,.14);
}

.idx-placeholder-copy h2 {
  margin-bottom: 8px;
  font-size: clamp(26px, 3vw, 40px);
}

.idx-placeholder-copy p {
  margin-bottom: 0;
  color: #64748b;
}

.idx-code-box {
  display: grid;
  gap: 10px;
  padding: 20px;
  border-radius: 20px;
  background: #f8fafc;
  border: 1px solid #dbe4ef;
}

.idx-code-box strong {
  color: #0f172a;
  font-size: 15px;
}

.idx-code-box code {
  display: block;
  padding: 14px;
  border-radius: 14px;
  background: #0f172a;
  color: #dbeafe;
  font-size: 13px;
  white-space: normal;
}

@media (max-width: 900px) {
  .idx-placeholder-inner {
    grid-template-columns: 1fr;
  }
}


/* === Resize + Zoom Stabilizer Layer === */

/* Hard stop all accidental horizontal overflow */
html,
body {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body * {
  max-width: 100%;
}

img,
video,
iframe,
svg {
  max-width: 100% !important;
}

/* Every main layout container must resize cleanly while dragging */
.container,
.header-inner,
.hero-inner,
.agent-strip-inner,
.idx-placeholder-inner,
.split-grid,
.idx-grid,
.esther-lite-card,
.compliance-inner,
.footer-inner {
  max-width: calc(100vw - 32px) !important;
}

/* Header stays stable across zoom and manual dragging */
.site-header {
  width: 100% !important;
}

.header-inner {
  width: min(1240px, calc(100vw - 32px)) !important;
  margin-inline: auto !important;
}

.brand {
  flex-shrink: 0 !important;
}

.site-nav {
  min-width: 0 !important;
}

/* Search never overflows */
.search-panel,
.home-search {
  width: min(760px, calc(100vw - 40px)) !important;
  max-width: calc(100vw - 40px) !important;
}

.home-search input {
  min-width: 0 !important;
}

/* Desktop / wide */
@media (min-width: 1280px) {
  .container,
  .header-inner {
    width: min(1240px, calc(100vw - 80px)) !important;
    max-width: min(1240px, calc(100vw - 80px)) !important;
  }

  .hero-inner {
    width: min(900px, calc(100vw - 80px)) !important;
  }

  .search-panel,
  .home-search {
    width: min(760px, calc(100vw - 80px)) !important;
  }
}

/* Ultrawide */
@media (min-width: 1800px) {
  .container,
  .header-inner {
    width: min(1380px, calc(100vw - 140px)) !important;
    max-width: min(1380px, calc(100vw - 140px)) !important;
  }

  .hero {
    min-height: 760px !important;
    background-size: cover !important;
    background-position: center center !important;
  }

  .hero-inner {
    width: min(960px, calc(100vw - 140px)) !important;
  }

  .search-panel,
  .home-search {
    width: min(820px, calc(100vw - 140px)) !important;
  }
}

/* Tablet and small laptop: switch nav earlier so it does not squeeze */
@media (max-width: 1120px) {
  .site-nav {
    display: none !important;
  }

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

  .nav-toggle {
    display: block !important;
  }

  .header-inner {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
  }

  .container {
    width: calc(100vw - 40px) !important;
    max-width: calc(100vw - 40px) !important;
  }

  .split-grid,
  .split-grid.reverse,
  .idx-grid,
  .esther-lite-card,
  .compliance-inner,
  .footer-inner,
  .idx-placeholder-inner {
    grid-template-columns: 1fr !important;
  }

  .path-grid,
  .area-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobile */
@media (max-width: 720px) {
  .container,
  .header-inner,
  .hero-inner,
  .agent-strip-inner,
  .idx-placeholder-inner {
    width: calc(100vw - 28px) !important;
    max-width: calc(100vw - 28px) !important;
  }

  .hero {
    min-height: auto !important;
  }

  .hero-inner {
    margin-inline: auto !important;
  }

  .search-panel,
  .home-search {
    width: 100% !important;
    max-width: 100% !important;
  }

  .home-search {
    grid-template-columns: minmax(0, 1fr) 58px !important;
  }

  .home-search input {
    min-width: 0 !important;
  }

  .path-grid,
  .area-grid,
  .trust-points,
  .esther-steps {
    grid-template-columns: 1fr !important;
  }

  .lead-form,
  .path-card,
  .area-grid article,
  .feature-list div {
    width: 100% !important;
  }
}

/* Very small mobile and zoomed-in browser windows */
@media (max-width: 420px) {
  .container,
  .header-inner,
  .hero-inner,
  .agent-strip-inner,
  .idx-placeholder-inner {
    width: calc(100vw - 22px) !important;
    max-width: calc(100vw - 22px) !important;
  }

  h1 {
    font-size: 36px !important;
  }

  .hero-lede {
    font-size: 15px !important;
  }

  .home-search {
    grid-template-columns: 1fr !important;
    border-radius: 18px !important;
  }

  .home-search button {
    width: 100% !important;
  }
}


/* === Hero Crop Fix For Wide / Ultrawide Resizing === */

/* Desktop and wider: preserve Marie's head by anchoring image to top */
@media (min-width: 1024px) {
  .hero {
    min-height: clamp(560px, 43vw, 860px) !important;
    padding-top: clamp(110px, 8vw, 150px) !important;
    padding-bottom: clamp(54px, 5vw, 86px) !important;
    background-size: 100% auto !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
    background-color: #ffffff !important;
    align-items: center !important;
  }

  .hero::after {
    height: 38% !important;
    background: linear-gradient(
      180deg,
      rgba(255,255,255,0) 0%,
      rgba(255,255,255,.10) 38%,
      rgba(255,255,255,.72) 100%
    ) !important;
  }

  .hero-inner {
    transform: translateY(34px) !important;
  }
}

/* True ultrawide: keep the full hero image balanced */
@media (min-width: 1800px) {
  .hero {
    min-height: clamp(700px, 42.8vw, 900px) !important;
    background-size: 100% auto !important;
    background-position: center top !important;
  }

  .hero-inner {
    transform: translateY(46px) !important;
  }
}

/* When zoomed or manually narrowed, prevent hero overflow */
@media (max-width: 1023px) {
  .hero-inner {
    transform: none !important;
  }
}


/* === Esther Awareness Ad === */

.esther-awareness-ad {
  padding: 34px 0 18px;
  background: #ffffff;
}

.esther-awareness-inner {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  padding: 22px 24px;
  border-radius: 26px;
  background:
    radial-gradient(circle at 12% 20%, rgba(11,92,255,.15), transparent 26%),
    linear-gradient(135deg, #07142c 0%, #10213a 56%, #173b72 100%);
  color: #ffffff;
  box-shadow:
    0 22px 60px rgba(15,23,42,.18),
    inset 0 1px 0 rgba(255,255,255,.12);
}

.esther-awareness-mark {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background:
    radial-gradient(circle at 35% 30%, rgba(255,255,255,.28), transparent 32%),
    linear-gradient(135deg, #2f6fed, #07142c);
  border: 1px solid rgba(255,255,255,.22);
  font-size: 34px;
  font-weight: 950;
  box-shadow: 0 14px 30px rgba(0,0,0,.24);
}

.esther-awareness-copy span {
  display: block;
  margin-bottom: 5px;
  color: #f3d58b;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.esther-awareness-copy h2 {
  margin: 0 0 6px;
  color: #ffffff !important;
  font-size: clamp(22px, 2.4vw, 34px);
  letter-spacing: -.045em;
}

.esther-awareness-copy p {
  margin: 0;
  max-width: 760px;
  color: rgba(255,255,255,.76) !important;
  font-size: 15px;
}

.esther-awareness-inner a {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-radius: 999px;
  background: #ffffff;
  color: #07142c;
  font-weight: 950;
  box-shadow: 0 12px 28px rgba(0,0,0,.18);
  white-space: nowrap;
}

@media (max-width: 820px) {
  .esther-awareness-inner {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .esther-awareness-mark {
    margin-inline: auto;
  }

  .esther-awareness-inner a {
    width: fit-content;
    margin-inline: auto;
  }
}


/* === Esther Square Awareness Card === */

.esther-square-section {
  padding: 90px 0;
  background:
    radial-gradient(circle at 18% 20%, rgba(11,92,255,.08), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%);
}

.esther-square-wrap {
  display: flex;
  justify-content: center;
}

.esther-square-card {
  width: min(420px, 100%);
  min-height: 420px;
  aspect-ratio: 1 / 1;
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
  gap: 14px;
  padding: 36px;
  border-radius: 34px;
  background:
    radial-gradient(circle at 30% 20%, rgba(47,111,237,.34), transparent 34%),
    radial-gradient(circle at 78% 18%, rgba(214,168,79,.18), transparent 28%),
    linear-gradient(135deg, #07142c 0%, #10213a 58%, #173b72 100%);
  color: #ffffff;
  border: 1px solid rgba(255,255,255,.16);
  box-shadow:
    0 28px 80px rgba(15,23,42,.22),
    inset 0 1px 0 rgba(255,255,255,.12);
  transition: transform .22s ease, box-shadow .22s ease;
}

.esther-square-card:hover {
  transform: translateY(-5px);
  box-shadow:
    0 34px 95px rgba(15,23,42,.28),
    0 14px 34px rgba(11,92,255,.18),
    inset 0 1px 0 rgba(255,255,255,.14);
}

.esther-square-kicker {
  color: #f3d58b;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.esther-square-mark {
  width: 84px;
  height: 84px;
  display: grid;
  place-items: center;
  border-radius: 24px;
  background:
    radial-gradient(circle at 34% 26%, rgba(255,255,255,.32), transparent 34%),
    linear-gradient(135deg, #2f6fed, #07142c);
  border: 1px solid rgba(255,255,255,.24);
  font-size: 46px;
  font-weight: 950;
  box-shadow: 0 18px 38px rgba(0,0,0,.26);
}

.esther-square-card h2 {
  margin: 4px 0 0;
  color: #ffffff !important;
  font-size: clamp(34px, 4vw, 46px);
  line-height: .96;
  letter-spacing: -.055em;
}

.esther-square-card p {
  margin: 0;
  max-width: 330px;
  color: rgba(255,255,255,.76) !important;
  font-size: 15px;
}

.esther-square-card strong {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  margin-top: 6px;
  padding: 0 20px;
  border-radius: 999px;
  background: #ffffff;
  color: #07142c;
  font-weight: 950;
}

@media (max-width: 560px) {
  .esther-square-section {
    padding: 70px 0;
  }

  .esther-square-card {
    min-height: 360px;
    padding: 28px 22px;
    border-radius: 28px;
  }

  .esther-square-mark {
    width: 72px;
    height: 72px;
    font-size: 38px;
  }
}


/* === Wide Esther Final CTA Replacement === */

.esther-final-cta {
  background:
    radial-gradient(circle at 12% 16%, rgba(47,111,237,.10), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%) !important;
}

.esther-wide-card {
  display: grid;
  grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr);
  gap: clamp(28px, 5vw, 56px);
  align-items: center;
  padding: clamp(28px, 5vw, 56px);
  border-radius: 36px;
  background:
    radial-gradient(circle at 18% 16%, rgba(47,111,237,.30), transparent 30%),
    radial-gradient(circle at 90% 12%, rgba(214,168,79,.18), transparent 26%),
    linear-gradient(135deg, #07142c 0%, #10213a 58%, #173b72 100%);
  color: #ffffff;
  box-shadow:
    0 30px 90px rgba(15,23,42,.24),
    inset 0 1px 0 rgba(255,255,255,.12);
  overflow: hidden;
}

.esther-wide-media {
  min-height: 320px;
  display: grid;
  place-items: center;
  border-radius: 28px;
  background:
    radial-gradient(circle at 35% 28%, rgba(255,255,255,.22), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.16);
  overflow: hidden;
}

.esther-wide-media img {
  width: 100%;
  height: 100%;
  min-height: 320px;
  object-fit: cover;
}

.esther-wide-mark {
  width: 138px;
  height: 138px;
  display: grid;
  place-items: center;
  border-radius: 34px;
  background:
    radial-gradient(circle at 34% 24%, rgba(255,255,255,.34), transparent 34%),
    linear-gradient(135deg, #2f6fed, #07142c);
  border: 1px solid rgba(255,255,255,.24);
  color: #ffffff;
  font-size: 82px;
  font-weight: 950;
  box-shadow: 0 24px 50px rgba(0,0,0,.30);
}

.esther-wide-copy .eyebrow {
  color: #f3d58b !important;
}

.esther-wide-copy h2 {
  max-width: 780px;
  margin-bottom: 18px;
  color: #ffffff !important;
  font-size: clamp(36px, 5vw, 64px);
  line-height: .98;
  letter-spacing: -.06em;
}

.esther-wide-copy p {
  max-width: 760px;
  color: rgba(255,255,255,.78) !important;
  font-size: clamp(16px, 1.4vw, 18px);
}

.esther-wide-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.esther-wide-actions a {
  min-height: 50px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border-radius: 999px;
  font-weight: 950;
}

.esther-wide-actions a:first-child {
  background: #ffffff;
  color: #07142c;
  box-shadow: 0 14px 30px rgba(0,0,0,.18);
}

.esther-wide-actions a:last-child {
  background: rgba(255,255,255,.10);
  color: #ffffff;
  border: 1px solid rgba(255,255,255,.22);
}

@media (max-width: 900px) {
  .esther-wide-card {
    grid-template-columns: 1fr;
  }

  .esther-wide-media {
    min-height: 240px;
  }

  .esther-wide-media img {
    min-height: 240px;
  }
}

@media (max-width: 560px) {
  .esther-wide-card {
    padding: 26px 20px;
    border-radius: 28px;
  }

  .esther-wide-copy h2 {
    font-size: 34px;
  }

  .esther-wide-actions a {
    width: 100%;
  }
}


/* === Remove Old Esther Square Card If Present === */
.esther-square-section {
  display: none !important;
}


/* === New Construction Builder Link Section === */

.new-construction-link {
  padding: 30px 0 10px;
  background: #ffffff;
}

.new-construction-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 26px 30px;
  border-radius: 28px;
  background:
    radial-gradient(circle at 12% 20%, rgba(11,92,255,.10), transparent 28%),
    linear-gradient(135deg, #f8fafc 0%, #ffffff 100%);
  border: 1px solid #dbe4ef;
  box-shadow: 0 18px 46px rgba(15,23,42,.10);
}

.new-construction-inner h2 {
  margin: 0 0 8px;
  font-size: clamp(28px, 3.2vw, 44px);
  color: #07111f;
}

.new-construction-inner p {
  margin: 0;
  max-width: 760px;
  color: #64748b;
  font-size: 16px;
}

.new-construction-inner a {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  border-radius: 999px;
  background: linear-gradient(135deg, #0b5cff, #073fbd);
  color: #ffffff;
  font-weight: 950;
  white-space: nowrap;
  box-shadow: 0 14px 30px rgba(11,92,255,.22);
}

@media (max-width: 760px) {
  .new-construction-inner {
    grid-template-columns: 1fr;
    text-align: center;
    padding: 24px 20px;
  }

  .new-construction-inner a {
    width: 100%;
  }
}


/* === Social Connect Section === */

.social-connect {
  padding: 80px 0;
  background:
    radial-gradient(circle at 12% 16%, rgba(11,92,255,.08), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%);
}

.social-connect-inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 32px;
  align-items: center;
  padding: 34px;
  border-radius: 32px;
  background: #ffffff;
  border: 1px solid #dbe4ef;
  box-shadow: 0 20px 54px rgba(15,23,42,.10);
}

.social-connect h2 {
  max-width: 760px;
  margin-bottom: 10px;
  color: #07111f;
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.02;
  letter-spacing: -.055em;
}

.social-connect p {
  max-width: 760px;
  margin: 0;
  color: #64748b;
  font-size: 17px;
}

.social-links {
  display: grid;
  gap: 12px;
  min-width: 250px;
}

.social-links a {
  min-height: 58px;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 0 18px;
  border-radius: 18px;
  background: #f8fafc;
  border: 1px solid #dbe4ef;
  color: #07111f;
  font-weight: 950;
  box-shadow: 0 10px 24px rgba(15,23,42,.06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

.social-links a:hover {
  transform: translateY(-2px);
  border-color: #0b5cff;
  box-shadow: 0 16px 34px rgba(11,92,255,.14);
}

.social-links span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #0b5cff;
  color: #ffffff;
  font-size: 18px;
  font-weight: 950;
}

@media (max-width: 820px) {
  .social-connect-inner {
    grid-template-columns: 1fr;
    text-align: center;
    padding: 28px 22px;
  }

  .social-links {
    width: 100%;
    min-width: 0;
  }

  .social-links a {
    justify-content: center;
  }
}


/* === Live IDX Embed Section === */

.idx-live-section {
  position: relative;
  z-index: 4;
  padding: 64px 0 72px;
  background:
    radial-gradient(circle at 12% 16%, rgba(11,92,255,.08), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%);
}

.idx-live-inner {
  display: grid;
  gap: 24px;
}

.idx-live-heading {
  max-width: 820px;
  text-align: center;
  margin-inline: auto;
}

.idx-live-heading h2 {
  margin-bottom: 10px;
  color: #07111f;
  font-size: clamp(32px, 4vw, 56px);
  line-height: 1.02;
  letter-spacing: -.055em;
}

.idx-live-heading p {
  margin: 0;
  color: #64748b;
  font-size: 17px;
}

.idx-frame-wrap {
  width: 100%;
  height: min(820px, 78vh);
  min-height: 620px;
  overflow: hidden;
  border-radius: 28px;
  background: #ffffff;
  border: 1px solid #dbe4ef;
  box-shadow:
    0 24px 70px rgba(15,23,42,.14),
    inset 0 1px 0 rgba(255,255,255,.90);
}

.idx-frame-wrap iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #ffffff;
}

@media (max-width: 900px) {
  .idx-live-section {
    padding: 48px 0 58px;
  }

  .idx-frame-wrap {
    height: 720px;
    min-height: 720px;
    border-radius: 22px;
  }
}

@media (max-width: 520px) {
  .idx-frame-wrap {
    width: 100%;
    height: 680px;
    min-height: 680px;
    border-radius: 18px;
  }
}


/* === Modern IDX Frame + Hero Search Link Polish === */

.idx-live-section {
  padding: 72px 0 84px !important;
  background:
    radial-gradient(circle at 14% 18%, rgba(11,92,255,.08), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%) !important;
}

.idx-modern-inner {
  gap: 30px !important;
}

.idx-live-heading {
  max-width: 860px !important;
}

.idx-live-heading h2 {
  font-size: clamp(36px, 4.6vw, 64px) !important;
}

.idx-modern-frame-card {
  width: min(1180px, 100%);
  margin-inline: auto;
  overflow: hidden;
  border-radius: 32px;
  background: #ffffff;
  border: 1px solid #dbe4ef;
  box-shadow:
    0 30px 90px rgba(15,23,42,.16),
    0 0 0 8px rgba(255,255,255,.72);
}

.idx-frame-toolbar {
  min-height: 64px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 0 20px;
  background:
    linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
  border-bottom: 1px solid #dbe4ef;
}

.idx-frame-toolbar strong {
  min-width: 0;
  color: #07111f;
  font-size: 15px;
  font-weight: 950;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.idx-frame-toolbar a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  padding: 0 15px;
  border-radius: 999px;
  background: #0b5cff;
  color: #ffffff;
  font-size: 13px;
  font-weight: 950;
  box-shadow: 0 10px 22px rgba(11,92,255,.22);
  white-space: nowrap;
}

.idx-frame-dots {
  display: flex;
  gap: 7px;
}

.idx-frame-dots span {
  width: 11px;
  height: 11px;
  border-radius: 999px;
  background: #cbd5e1;
}

.idx-frame-dots span:nth-child(1) {
  background: #ef4444;
}

.idx-frame-dots span:nth-child(2) {
  background: #f59e0b;
}

.idx-frame-dots span:nth-child(3) {
  background: #22c55e;
}

.idx-frame-viewport {
  height: min(880px, 78vh);
  min-height: 680px;
  background: #eef2f7;
}

.idx-frame-viewport iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #ffffff;
}

.idx-frame-note {
  margin: 0;
  padding: 13px 18px 16px;
  color: #64748b;
  font-size: 13px;
  text-align: center;
  background: #ffffff;
  border-top: 1px solid #eef2f7;
}

@media (max-width: 900px) {
  .idx-live-section {
    padding: 52px 0 64px !important;
  }

  .idx-modern-frame-card {
    border-radius: 24px;
  }

  .idx-frame-toolbar {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 8px;
    padding: 14px;
    text-align: center;
  }

  .idx-frame-viewport {
    height: 740px;
    min-height: 740px;
  }
}

@media (max-width: 520px) {
  .idx-frame-viewport {
    height: 700px;
    min-height: 700px;
  }

  .idx-frame-toolbar a {
    width: 100%;
    justify-content: center;
  }
}


/* === IDX Fullscreen Controls === */

.idx-frame-toolbar {
  grid-template-columns: auto minmax(0, 1fr) auto auto !important;
}

.idx-frame-toolbar button,
.idx-frame-toolbar a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 15px;
  border: 0;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 950;
  cursor: pointer;
  white-space: nowrap;
}

.idx-frame-toolbar button {
  background: #07111f;
  color: #ffffff;
  box-shadow: 0 10px 22px rgba(15,23,42,.18);
}

.idx-frame-toolbar button:hover {
  background: #0b5cff;
}

.idx-modern-frame-card:fullscreen {
  width: 100vw !important;
  height: 100vh !important;
  max-width: none !important;
  border-radius: 0 !important;
  background: #ffffff !important;
}

.idx-modern-frame-card:fullscreen .idx-frame-viewport {
  height: calc(100vh - 112px) !important;
  min-height: 0 !important;
}

.idx-modern-frame-card:fullscreen .idx-frame-note {
  display: none;
}

@media (max-width: 900px) {
  .idx-frame-toolbar {
    grid-template-columns: 1fr !important;
  }

  .idx-frame-toolbar button,
  .idx-frame-toolbar a {
    width: 100%;
  }
}


/* === Replace IDX/Search Box With Broker Feature Home Search === */

.hero-search-cta {
  display: grid;
  justify-items: center;
  gap: 10px;
  margin-top: 26px;
}

.hero-search-cta a {
  min-height: 58px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  border-radius: 999px;
  background: #0b5cff;
  color: #ffffff;
  font-weight: 950;
  font-size: 17px;
  box-shadow:
    0 20px 44px rgba(11,92,255,.34),
    0 0 0 7px rgba(255,255,255,.22);
}

.hero-search-cta p {
  margin: 0;
  color: #ffffff;
  font-size: 14px;
  font-weight: 800;
  text-shadow: 0 2px 12px rgba(15,23,42,.42);
}

.broker-home-search-feature {
  padding: 78px 0 82px;
  background:
    radial-gradient(circle at 12% 18%, rgba(11,92,255,.08), transparent 30%),
    linear-gradient(180deg, #ffffff 0%, #f6f8fb 100%);
}

.broker-feature-card {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
  overflow: hidden;
  border-radius: 34px;
  background: #ffffff;
  border: 1px solid #dbe4ef;
  box-shadow:
    0 30px 90px rgba(15,23,42,.16),
    inset 0 1px 0 rgba(255,255,255,.90);
}

.broker-feature-image {
  min-height: 460px;
  overflow: hidden;
}

.broker-feature-image img {
  width: 100%;
  height: 100%;
  min-height: 460px;
  object-fit: cover;
  transition: transform .35s ease;
}

.broker-feature-card:hover .broker-feature-image img {
  transform: scale(1.035);
}

.broker-feature-copy {
  display: grid;
  align-content: center;
  padding: clamp(30px, 5vw, 58px);
}

.broker-feature-copy h2 {
  margin-bottom: 16px;
  color: #07111f;
  font-size: clamp(38px, 5vw, 64px);
  line-height: .98;
  letter-spacing: -.06em;
}

.broker-feature-copy p {
  margin-bottom: 28px;
  color: #64748b;
  font-size: 18px;
}

.broker-feature-copy strong {
  width: fit-content;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 24px;
  border-radius: 999px;
  background: linear-gradient(135deg, #0b5cff, #073fbd);
  color: #ffffff;
  font-weight: 950;
  box-shadow: 0 14px 30px rgba(11,92,255,.24);
}

@media (max-width: 900px) {
  .broker-feature-card {
    grid-template-columns: 1fr;
  }

  .broker-feature-image,
  .broker-feature-image img {
    min-height: 320px;
  }
}

@media (max-width: 560px) {
  .hero-search-cta a {
    width: 100%;
  }

  .hero-search-cta p {
    color: #334155;
    text-shadow: none;
  }

  .broker-home-search-feature {
    padding: 58px 0 64px;
  }

  .broker-feature-card {
    border-radius: 24px;
  }

  .broker-feature-image,
  .broker-feature-image img {
    min-height: 240px;
  }

  .broker-feature-copy {
    padding: 26px 22px;
  }

  .broker-feature-copy h2 {
    font-size: 36px;
  }

  .broker-feature-copy p {
    font-size: 16px;
  }

  .broker-feature-copy strong {
    width: 100%;
  }
}

