:root {
  color-scheme: light;
  --ink: #0d1f3c;
  --ink-soft: #40506a;
  --muted: #6d7482;
  --paper: #fdf8f0;
  --paper-deep: #f5efe4;
  --surface: rgba(253, 248, 240, 0.94);
  --surface-strong: #fffaf2;
  --surface-soft: rgba(13, 31, 60, 0.06);
  --line: rgba(13, 31, 60, 0.15);
  --line-strong: rgba(201, 168, 76, 0.58);
  /* Canonical palette: one source-of-truth value per color; aliases keep
     existing references working with pixel-identical rendering (R6 dedupe). */
  --velvet: var(--ink);          /* #0d1f3c */
  --velvet-dark: #07142a;
  --velvet-deep: var(--velvet-dark); /* #07142a */
  --champagne: #c9a84c;
  --velvet-soft: var(--champagne); /* #c9a84c */
  --rose: var(--champagne);      /* #c9a84c */
  --white: #fdf8f0;
  --shadow: 0 24px 70px rgba(13, 31, 60, 0.14), 0 0 0 1px rgba(13, 31, 60, 0.04);
}

/* Deep area-guide system, launched 2026-07-11. Scoped to avoid the legacy
   market-card sweeps that style older one-off city pages. */
.area-guide-body {
  background: #fdf8f0;
}

.deep-area-guide {
  padding-top: 76px;
  overflow: clip;
}

.deep-area-guide h1,
.deep-area-guide h2,
.deep-area-guide h3 {
  text-wrap: balance;
}

.deep-area-guide p,
.deep-area-guide li,
.deep-area-guide td,
.deep-area-guide th {
  text-wrap: pretty;
}

.area-guide-hero {
  position: relative;
  min-height: 650px;
  display: grid;
  align-items: end;
  isolation: isolate;
  background: var(--velvet-dark);
  color: var(--white);
}

.area-guide-hero > img {
  position: absolute;
  inset: 0;
  z-index: -3;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.area-guide-hero-shade {
  position: absolute;
  inset: 0;
  z-index: -2;
  background:
    linear-gradient(90deg, rgba(7, 20, 42, 0.94) 0%, rgba(7, 20, 42, 0.84) 42%, rgba(7, 20, 42, 0.32) 76%, rgba(7, 20, 42, 0.44) 100%),
    linear-gradient(0deg, rgba(7, 20, 42, 0.78) 0%, transparent 56%);
}

.area-guide-hero-copy {
  width: min(760px, calc(100% - 48px));
  margin-left: max(24px, calc((100vw - 1240px) / 2));
  padding: 92px 0 72px;
}

.area-guide-hero-copy h1 {
  max-width: 720px;
  margin: 12px 0 20px;
  color: var(--white);
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(3rem, 6vw, 5.8rem);
  font-weight: 500;
  line-height: 0.99;
  letter-spacing: -0.045em;
}

.area-guide-hero-copy > p:not(.hero-kicker):not(.area-parent-note) {
  max-width: 680px;
  margin: 0;
  color: rgba(253, 248, 240, 0.88);
  font-size: clamp(1.04rem, 1.8vw, 1.28rem);
  line-height: 1.75;
}

.area-guide-hero .hero-kicker,
.area-guide-section .hero-kicker,
.area-guide-cta .hero-kicker {
  color: var(--champagne);
}

.area-breadcrumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 26px;
  color: rgba(253, 248, 240, 0.74);
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.area-breadcrumbs a:hover {
  color: var(--champagne);
}

.area-guide-hero .hero-actions {
  margin-top: 30px;
}

.area-parent-note {
  margin-top: 20px !important;
  color: rgba(253, 248, 240, 0.7) !important;
  font-size: 0.9rem !important;
}

.area-parent-note a {
  color: var(--champagne);
  font-weight: 700;
}

.area-research-card {
  position: absolute;
  right: max(24px, calc((100vw - 1240px) / 2));
  bottom: 54px;
  width: min(320px, calc(100% - 48px));
  display: grid;
  gap: 5px;
  padding: 24px;
  background: rgba(253, 248, 240, 0.96);
  border: 1px solid rgba(201, 168, 76, 0.48);
  border-radius: 14px;
  color: var(--ink);
  box-shadow: 0 22px 52px rgba(7, 20, 42, 0.28);
  backdrop-filter: blur(16px);
}

.area-research-card > span {
  margin-top: 12px;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.area-research-card > span:first-child {
  margin-top: 0;
}

.area-research-card strong {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.16rem;
  font-weight: 600;
}

.area-jump-nav {
  position: sticky;
  top: 76px;
  z-index: 35;
  display: flex;
  gap: 8px;
  justify-content: center;
  overflow-x: auto;
  padding: 12px 22px;
  background: rgba(253, 248, 240, 0.97);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 12px 24px rgba(13, 31, 60, 0.07);
  scrollbar-width: none;
  backdrop-filter: blur(16px);
}

.area-jump-nav::-webkit-scrollbar {
  display: none;
}

.area-jump-nav a {
  flex: 0 0 auto;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 8px 15px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
  font-size: 0.79rem;
  font-weight: 700;
}

.area-jump-nav a:hover {
  background: var(--velvet);
  border-color: var(--velvet);
  color: var(--white);
}

.area-guide-section {
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto;
  padding: clamp(76px, 9vw, 120px) 0;
  scroll-margin-top: 144px;
}

.area-guide-section + .area-guide-section:not(.area-guide-section-dark):not(.area-guide-section-tint) {
  border-top: 1px solid var(--line);
}

.area-guide-section-tint,
.area-guide-section-dark {
  width: 100%;
  max-width: none;
  padding-left: max(24px, calc((100vw - 1240px) / 2));
  padding-right: max(24px, calc((100vw - 1240px) / 2));
}

.area-guide-section-tint {
  background: var(--paper-deep);
}

.area-guide-section-dark {
  background:
    radial-gradient(circle at 84% 12%, rgba(201, 168, 76, 0.13), transparent 32%),
    linear-gradient(145deg, #0d1f3c, #07142a);
  color: var(--white);
}

.area-section-heading {
  max-width: 820px;
  margin-bottom: clamp(34px, 5vw, 58px);
}

.area-section-heading h2 {
  margin: 10px 0 18px;
  color: var(--ink);
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.25rem, 4.5vw, 4.25rem);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -0.035em;
}

.area-section-heading > p:last-child {
  max-width: 72ch;
  margin: 0;
  color: var(--ink-soft);
  font-size: clamp(1rem, 1.5vw, 1.15rem);
  line-height: 1.8;
}

.area-guide-section-dark .area-section-heading h2,
.area-guide-section-dark .area-update-card h3,
.area-guide-section-dark .area-hierarchy-list a {
  color: var(--white);
}

.area-guide-section-dark .area-section-heading > p:last-child,
.area-guide-section-dark .area-update-card p,
.area-guide-section-dark .area-hierarchy-list > li > div > span,
.area-guide-section-dark .area-hierarchy-list li li a {
  color: rgba(253, 248, 240, 0.76);
}

.area-answer-grid,
.area-city-grid,
.area-neighborhood-grid,
.area-update-grid,
.area-decision-grid,
.area-source-grid {
  display: grid;
  gap: 24px;
}

.area-answer-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.area-answer-grid article {
  min-width: 0;
  padding: 30px;
  background: var(--surface-strong);
  border-top: 3px solid var(--champagne);
  border-radius: 0 0 12px 12px;
}

.area-answer-grid article > span,
.area-card-topline > span,
.area-city-card time {
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.area-answer-grid strong {
  display: block;
  margin: 8px 0 12px;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.42rem;
  line-height: 1.25;
}

.area-answer-grid p {
  margin: 0;
  color: var(--ink-soft);
  font-size: 0.94rem;
  line-height: 1.7;
}

.area-city-grid,
.area-neighborhood-grid,
.area-update-grid,
.area-decision-grid,
.area-source-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.area-city-card,
.area-neighborhood-card,
.area-decision-grid > article,
.area-source-group {
  min-width: 0;
  padding: clamp(26px, 3.2vw, 40px);
  background: var(--surface-strong);
  border: 1px solid var(--line);
  border-radius: 14px;
}

.area-city-card {
  display: flex;
  flex-direction: column;
}

.area-city-card h2,
.area-neighborhood-card h3,
.area-decision-grid h3,
.area-source-group h3,
.area-update-card h3 {
  margin: 12px 0 16px;
  color: var(--ink);
  font-family: 'Playfair Display', Georgia, serif;
  font-weight: 600;
  line-height: 1.2;
}

.area-city-card h2 {
  font-size: clamp(2rem, 3vw, 3rem);
}

.area-neighborhood-card h3,
.area-update-card h3 {
  font-size: clamp(1.55rem, 2.4vw, 2.15rem);
}

.area-city-card > p,
.area-neighborhood-card > p,
.area-decision-grid > article > p,
.area-source-group li {
  color: var(--ink-soft);
  line-height: 1.75;
}

.area-card-topline,
.area-update-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.area-card-topline > a {
  color: var(--velvet);
  font-size: 0.76rem;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: rgba(201, 168, 76, 0.7);
  text-underline-offset: 4px;
}

.area-card-check {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
  font-size: 0.9rem;
}

.area-city-neighborhoods {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 22px 0 28px;
}

.area-city-neighborhoods a,
.area-link-cloud a {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  padding: 7px 12px;
  background: var(--paper-deep);
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
  font-size: 0.78rem;
  font-weight: 700;
}

.area-city-neighborhoods a:hover,
.area-link-cloud a:hover {
  background: var(--velvet);
  color: var(--white);
}

.area-city-link {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  margin-top: auto;
  color: var(--velvet);
  font-weight: 800;
  border-bottom: 2px solid var(--champagne);
}

.area-table-wrap {
  overflow-x: auto;
  background: var(--surface-strong);
  border: 1px solid var(--line);
  border-radius: 14px;
  box-shadow: 0 18px 44px rgba(13, 31, 60, 0.08);
}

.area-tax-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
  background: transparent;
}

.area-tax-table caption {
  padding: 24px 26px 16px;
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  text-align: left;
  text-transform: uppercase;
}

.area-tax-table th,
.area-tax-table td {
  padding: 20px 24px;
  border-top: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.area-tax-table thead th {
  background: var(--paper-deep);
  color: var(--muted);
  font-size: 0.7rem;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.area-tax-table tbody th {
  width: 25%;
  color: var(--ink);
  font-size: 0.92rem;
}

.area-tax-table td {
  color: var(--ink-soft);
  font-size: 0.9rem;
}

.area-tax-table td strong {
  color: var(--velvet);
  font-size: 1rem;
}

.area-source-link {
  color: var(--velvet);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-color: rgba(201, 168, 76, 0.7);
  text-underline-offset: 4px;
}

.area-guide-section-dark .area-source-link {
  color: var(--champagne);
}

.area-callout {
  max-width: 940px;
  margin-top: 26px;
  padding: 24px 28px;
  background: rgba(201, 168, 76, 0.1);
  border-left: 4px solid var(--champagne);
  border-radius: 0 12px 12px 0;
}

.area-callout strong {
  display: block;
  margin-bottom: 7px;
}

.area-callout p {
  margin: 0;
  color: var(--ink-soft);
  line-height: 1.75;
}

.area-update-card {
  min-width: 0;
  padding: clamp(26px, 3.2vw, 38px);
  background: rgba(253, 248, 240, 0.075);
  border: 1px solid rgba(253, 248, 240, 0.16);
  border-radius: 14px;
}

.area-update-meta time,
.area-update-meta .area-update-date {
  color: rgba(253, 248, 240, 0.58);
  font-size: 0.72rem;
  font-weight: 700;
}

.area-status {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 5px 10px;
  border: 1px solid rgba(253, 248, 240, 0.2);
  border-radius: 999px;
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.area-status-active {
  background: rgba(93, 176, 124, 0.18);
  color: #c8f1d5;
}

.area-status-funded {
  background: rgba(201, 168, 76, 0.18);
  color: #f3dea5;
}

.area-status-proposed {
  background: rgba(140, 159, 197, 0.18);
  color: #d7e1f5;
}

.area-update-card p {
  line-height: 1.75;
}

.area-update-impact {
  padding-top: 16px;
  border-top: 1px solid rgba(253, 248, 240, 0.13);
}

.area-decision-grid > article {
  position: relative;
  padding-top: 38px;
}

.area-decision-grid > article::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 72px;
  height: 3px;
  background: var(--champagne);
}

.area-decision-grid h3,
.area-source-group h3 {
  font-size: 1.45rem;
}

.area-source-group ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.area-source-group li + li {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.area-faq-list {
  max-width: 960px;
  display: grid;
  gap: 12px;
}

.area-faq-list details {
  padding: 0;
  background: var(--surface-strong);
  border: 1px solid var(--line);
  border-radius: 12px;
}

.area-faq-list summary {
  min-height: 58px;
  display: flex;
  align-items: center;
  padding: 18px 56px 18px 22px;
  color: var(--ink);
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.08rem;
  font-weight: 600;
  line-height: 1.35;
  cursor: pointer;
}

.area-faq-list details p {
  max-width: 78ch;
  margin: 0;
  padding: 0 24px 24px;
  color: var(--ink-soft);
  line-height: 1.75;
}

.area-guide-cta {
  width: min(1240px, calc(100% - 48px));
  margin: 0 auto clamp(76px, 9vw, 120px);
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) auto;
  gap: 40px;
  align-items: end;
  padding: clamp(38px, 6vw, 70px);
  background:
    radial-gradient(circle at 85% 20%, rgba(201, 168, 76, 0.18), transparent 36%),
    var(--velvet);
  border: 1px solid rgba(201, 168, 76, 0.35);
  border-radius: 16px;
  color: var(--white);
  box-shadow: 0 28px 70px rgba(13, 31, 60, 0.18);
}

.area-guide-cta h2 {
  max-width: 720px;
  margin: 8px 0 14px;
  color: var(--white);
  font-family: 'Playfair Display', Georgia, serif;
  font-size: clamp(2.2rem, 4vw, 4rem);
  font-weight: 500;
  line-height: 1.05;
}

.area-guide-cta p:last-child {
  max-width: 72ch;
  margin: 0;
  color: rgba(253, 248, 240, 0.78);
}

.area-guide-cta .contact-band-actions {
  display: grid;
  gap: 10px;
}

.area-hierarchy-list {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(253, 248, 240, 0.16);
}

.area-hierarchy-list > li {
  display: grid;
  grid-template-columns: minmax(190px, 0.6fr) minmax(0, 1.4fr);
  gap: 28px;
  padding: 26px 0;
  border-bottom: 1px solid rgba(253, 248, 240, 0.16);
}

.area-hierarchy-list > li > div {
  display: grid;
  gap: 5px;
}

.area-hierarchy-list > li > div > a {
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 1.55rem;
  font-weight: 600;
}

.area-hierarchy-list > li > div > span {
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.area-hierarchy-list ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.area-hierarchy-list li li a {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  padding: 8px 13px;
  border: 1px solid rgba(253, 248, 240, 0.18);
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 700;
}

.area-hierarchy-list li li a:hover {
  background: var(--champagne);
  border-color: var(--champagne);
  color: var(--velvet-dark);
}

.area-link-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

@media (max-width: 1080px) {
  .area-guide-hero-copy {
    width: min(660px, calc(100% - 48px));
  }

  .area-research-card {
    width: 280px;
  }

  .area-answer-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 880px) {
  .deep-area-guide {
    padding-top: 72px;
  }

  .area-guide-hero {
    min-height: 780px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    align-items: stretch;
  }

  .area-guide-hero-shade {
    background: linear-gradient(0deg, rgba(7, 20, 42, 0.98) 0%, rgba(7, 20, 42, 0.84) 64%, rgba(7, 20, 42, 0.38) 100%);
  }

  .area-guide-hero-copy {
    width: calc(100% - 40px);
    margin: 0 auto;
    padding: 84px 0 24px;
  }

  .area-guide-hero-copy h1 {
    font-size: clamp(2.65rem, 12vw, 4.8rem);
  }

  .area-research-card {
    position: relative;
    right: auto;
    bottom: auto;
    width: calc(100% - 40px);
    margin: 0 auto 28px;
    grid-template-columns: 1fr 1fr;
    column-gap: 18px;
  }

  .area-research-card > span {
    margin-top: 10px;
  }

  .area-jump-nav {
    top: 72px;
    justify-content: flex-start;
  }

  .area-city-grid,
  .area-neighborhood-grid,
  .area-update-grid,
  .area-decision-grid,
  .area-source-grid {
    grid-template-columns: 1fr;
  }

  .area-guide-cta {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .area-guide-cta .contact-band-actions {
    display: flex;
    flex-wrap: wrap;
  }

  .area-hierarchy-list > li {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}

@media (max-width: 600px) {
  .deep-area-guide {
    padding-top: 68px;
  }

  .area-guide-hero {
    min-height: 820px;
  }

  .area-guide-hero-copy,
  .area-research-card,
  .area-guide-section,
  .area-guide-cta {
    width: calc(100% - 32px);
  }

  .area-guide-hero-copy {
    padding-top: 72px;
  }

  .area-guide-hero-copy h1 {
    font-size: clamp(2.45rem, 13vw, 3.7rem);
  }

  .area-guide-hero .hero-actions {
    display: grid;
  }

  .area-guide-hero .hero-actions .button,
  .area-guide-cta .contact-band-actions .button {
    width: 100%;
    justify-content: center;
  }

  .area-research-card {
    grid-template-columns: 1fr;
    padding: 20px;
  }

  .area-jump-nav {
    top: 68px;
    padding-inline: 16px;
  }

  .area-guide-section {
    padding-top: 68px;
    padding-bottom: 68px;
  }

  .area-guide-section-tint,
  .area-guide-section-dark {
    width: 100%;
    padding-left: 16px;
    padding-right: 16px;
  }

  .area-section-heading h2 {
    font-size: clamp(2rem, 10vw, 3rem);
  }

  .area-city-card,
  .area-neighborhood-card,
  .area-decision-grid > article,
  .area-source-group,
  .area-update-card,
  .area-answer-grid article {
    padding: 24px;
  }

  .area-guide-cta {
    margin-bottom: 68px;
    padding: 30px 24px;
  }

  .area-guide-cta .contact-band-actions {
    display: grid;
  }
}

@media (prefers-reduced-motion: reduce) {
  .area-jump-nav {
    scroll-behavior: auto;
  }
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
  background: var(--paper);
}

body {
  margin: 0;
  font-family:'Montserrat',Helvetica,Arial,sans-serif;
  background:
    linear-gradient(180deg, #fdf8f0 0%, #f5efe4 46%, #fdf8f0 100%);
  color: var(--ink);
  line-height: 1.6;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  letter-spacing: 0;
  -webkit-tap-highlight-color: rgba(201, 168, 76, 0.22);
}

body.nav-open {
  overflow: hidden;
}

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

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

a:hover {
  color: var(--champagne);
}

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
summary:focus-visible {
  outline: 3px solid rgba(201, 168, 76, 0.5);
  outline-offset: 4px;
}

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

.skip-link {
  position: fixed;
  left: 16px;
  top: 12px;
  z-index: 1000;
  transform: translateY(-160%);
  background: var(--surface-strong);
  color: var(--ink);
  padding: 12px 16px;
  border: 1px solid var(--line);
}

.skip-link:focus {
  transform: translateY(0);
}

.site-header {
  position: fixed;
  inset: 0 0 auto 0;
  z-index: 100;
  padding: 10px clamp(16px, 4vw, 44px);
  background: rgba(13, 31, 60, 0.94);
  border-bottom: 1px solid rgba(201, 168, 76, 0.24);
  box-shadow: 0 18px 44px rgba(13, 31, 60, 0.22);
  backdrop-filter: blur(18px);
  transition: background-color 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.site-header.is-scrolled,
body.nav-open .site-header {
  background: rgba(13, 31, 60, 0.98);
  border-bottom: 1px solid rgba(201, 168, 76, 0.32);
  box-shadow: 0 18px 46px rgba(13, 31, 60, 0.28);
  backdrop-filter: blur(18px);
}

.header-inner {
  max-width: 1440px;
  margin: 0 auto;
  min-height: 56px;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  min-width: 0;
  color: var(--white);
  font-weight: 700;
}

.brand img {
  width: 40px;
  height: 40px;
  border-radius: 8px;
  box-shadow: 0 10px 24px rgba(7, 20, 42, 0.36);
}

.brand span {
  white-space: nowrap;
}

.desktop-nav {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(12px, 1.45vw, 22px);
  min-width: 0;
}

.desktop-nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  min-width: 44px;
  justify-content: center;
  color: rgba(253, 248, 240, 0.82);
  font-size: clamp(12px, 0.84vw, 14px);
  font-weight: 600;
  white-space: nowrap;
  padding: 0 12px;
}

.desktop-nav a[aria-current="page"] {
  color: var(--champagne);
  border-bottom: 2px solid currentColor;
}

.header-actions {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  justify-self: end;
}

.language-toggle {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 3px;
  border: 1px solid rgba(201, 168, 76, 0.34);
  border-radius: 8px;
  background: rgba(253, 248, 240, 0.1);
  box-shadow: inset 0 1px 0 rgba(253, 248, 240, 0.12);
}

.language-toggle button {
  min-width: 44px;
  min-height: 36px;
  border: 0;
  border-radius: 6px;
  padding: 0 10px;
  background: transparent;
  color: rgba(253, 248, 240, 0.82);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1;
  cursor: pointer;
  transition: background-color 160ms ease, color 160ms ease, box-shadow 160ms ease;
}

.language-toggle button:hover {
  color: var(--white);
  background: rgba(253, 248, 240, 0.13);
}

.language-toggle button[aria-pressed="true"] {
  color: var(--velvet-deep);
  background: var(--champagne);
  box-shadow: 0 10px 20px rgba(7, 20, 42, 0.2);
}

.language-toggle-mobile {
  width: 100%;
  justify-content: center;
  margin-bottom: 10px;
}

.language-toggle-mobile button {
  flex: 1 1 0;
}

.language-toggle iframe,
.language-translate-host,
.skiptranslate {
  display: none !important;
}

body {
  top: 0 !important;
}

.phone-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--white);
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 22px;
  border-radius: 8px;
  background: linear-gradient(135deg, #d9bd6b, #c9a84c);
  color: var(--velvet-deep);
  border: 1px solid rgba(13, 31, 60, 0.14);
  font-weight: 700;
  white-space: nowrap;
  box-shadow: 0 16px 34px rgba(13, 31, 60, 0.18);
  transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.button:hover {
  color: var(--velvet-deep);
  background: linear-gradient(135deg, #e1c777, #b99236);
  border-color: rgba(13, 31, 60, 0.2);
  transform: translateY(-1px);
  box-shadow: 0 20px 40px rgba(13, 31, 60, 0.22);
}

.button:active {
  transform: translateY(1px);
}

.button-small {
  min-height: 44px;
  padding-inline: 16px;
  font-size: 14px;
}

.button-light {
  background: rgba(253, 248, 240, 0.11);
  color: var(--white);
  border-color: rgba(253, 248, 240, 0.34);
  box-shadow: 0 12px 24px rgba(7, 20, 42, 0.22);
}

.button-light:hover {
  background: rgba(253, 248, 240, 0.18);
  color: var(--white);
  border-color: rgba(201, 168, 76, 0.68);
  box-shadow: 0 16px 34px rgba(7, 20, 42, 0.3);
}

.button-dark {
  background: var(--velvet-deep);
  color: var(--white);
  border-color: rgba(201, 168, 76, 0.34);
  box-shadow: 0 14px 30px rgba(7, 20, 42, 0.3);
}

.button-dark:hover {
  background: #0d1f3c;
  color: var(--white);
  border-color: rgba(201, 168, 76, 0.56);
}

.menu-button {
  display: none;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(253, 248, 240, 0.3);
  border-radius: 8px;
  background: rgba(253, 248, 240, 0.12);
  color: var(--white);
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 5px;
  cursor: pointer;
}

.site-header.is-scrolled .menu-button,
body.nav-open .menu-button {
  color: var(--white);
  border-color: rgba(201, 168, 76, 0.38);
  background: rgba(253, 248, 240, 0.14);
}

.menu-button span {
  display: block;
  width: 20px;
  height: 2px;
  background: currentColor;
  border-radius: 2px;
}

.mobile-nav {
  max-width: 1440px;
  margin: 12px auto 0;
  padding: 18px;
  max-height: calc(100dvh - 88px - env(safe-area-inset-bottom));
  overflow-y: auto;
  overscroll-behavior: contain;
  background: rgba(13, 31, 60, 0.98);
  border: 1px solid rgba(201, 168, 76, 0.34);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.mobile-nav a {
  display: flex;
  min-height: 44px;
  align-items: center;
  color: var(--white);
  font-weight: 700;
}

.mobile-nav .phone-link {
  display: flex;
  color: var(--champagne);
}

.hero {
  position: relative;
  min-height: min(730px, 88dvh);
  display: grid;
  align-items: end;
  overflow: hidden;
  isolation: isolate;
}

.hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
  object-position: center center;
  filter: saturate(1.04) contrast(1.02) brightness(1);
}

.hero-image[src*="jonathan-naomi"],
.hero-image[src*="military-hero"],
.hero-image[src*="contact-jonathan"] {
  object-position: center 22%;
}

.hero-overlay {
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(13, 31, 60, 0.64) 0%, rgba(13, 31, 60, 0.4) 42%, rgba(13, 31, 60, 0.1) 72%, rgba(13, 31, 60, 0.02) 100%),
    linear-gradient(0deg, rgba(13, 31, 60, 0.03), rgba(13, 31, 60, 0.03));
}

.hero-inner {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: 96px 0 64px;
  color: var(--white);
}

.hero-kicker {
  margin: 0 0 14px;
  max-width: 52ch;
  font-weight: 800;
  color: var(--champagne);
}

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

h1 {
  max-width: 880px;
  margin-bottom: 18px;
  font-size: clamp(42px, 6vw, 88px);
  line-height: 1;
  text-wrap: balance;
  overflow-wrap: break-word;
}

h1,
h2 {
  font-family:'Playfair Display',Georgia,'Times New Roman',serif;
  font-weight: 500;
}

h2 {
  font-size: clamp(30px, 4.5vw, 62px);
  line-height: 1.02;
  margin-bottom: 18px;
  text-wrap: balance;
}

/* Layout-furniture heading: a styled non-<h2> that carries role="heading" aria-level="2"
   for accessibility while keeping repeated CTA/related/author labels out of the literal
   H2 count crawlers report. Mirrors the base h2 type scale; context overrides follow. */
.h2-heading {
  font-family:'Playfair Display',Georgia,'Times New Roman',serif;
  font-weight: 500;
  font-size: clamp(30px, 4.5vw, 62px);
  line-height: 1.02;
  margin: 0 0 18px;
  text-wrap: balance;
}

h3 {
  font-size: clamp(21px, 2.1vw, 30px);
  line-height: 1.12;
  margin-bottom: 10px;
}

.hero-copy {
  max-width: 610px;
  margin-bottom: 28px;
  color: rgba(253, 248, 240, 0.88);
  font-size: clamp(18px, 2vw, 23px);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.proof-band {
  width: min(1180px, calc(100% - 32px));
  margin: -36px auto 0;
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.proof-band div {
  padding: 24px;
  display: grid;
  gap: 6px;
  border-right: 1px solid var(--line);
}

.proof-band div:last-child {
  border-right: 0;
}

.proof-band strong {
  font-size: 18px;
}

.proof-band span {
  color: var(--ink-soft);
}

.section {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  padding: clamp(72px, 10vw, 132px) 0;
}

.section-light {
  width: 100%;
  max-width: none;
  padding-inline: max(16px, calc((100vw - 1180px) / 2));
  background: linear-gradient(180deg, #f5efe4 0%, #fdf8f0 100%);
  border-block: 1px solid var(--line);
}

.section-heading {
  margin-bottom: 34px;
}

.section-heading.compact {
  max-width: 760px;
}

.section-heading p,
.team-copy p,
.editorial-copy p,
.split-feature p,
.two-column p,
.contact-band p,
.faq-teaser p,
.contact-card p {
  color: var(--ink-soft);
  font-size: clamp(17px, 1.45vw, 20px);
}

.team-section,
.split-feature,
.contact-section {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.72fr);
  gap: clamp(34px, 6vw, 88px);
  align-items: center;
}

.team-copy {
  max-width: 680px;
}

.check-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 30px 0;
}

.check-list span {
  min-height: 54px;
  display: flex;
  align-items: center;
  padding: 12px 14px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink-soft);
}

.text-link {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-weight: 800;
  color: var(--velvet-dark);
  border-bottom: 2px solid currentColor;
}

.image-panel,
.wide-image,
.split-feature figure {
  margin: 0;
}

.image-panel {
  position: relative;
}

.panel-image,
.feature-image,
.wide-image-media {
  border-radius: 8px;
  box-shadow: var(--shadow);
  object-fit: cover;
  width: 100%;
}

.panel-image {
  aspect-ratio: 1 / 1;
}

.profile-portrait {
  margin: 0 0 22px;
}

.profile-portrait img {
  display: block;
  width: min(100%, 340px);
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: var(--shadow);
}

figcaption {
  color: var(--ink-soft);
  font-size: 14px;
  margin-top: 10px;
}

.path-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
}

.path-card {
  flex: 1 1 min(100%, 260px);
  max-width: 360px;
  min-height: 246px;
  display: grid;
  align-content: space-between;
  padding: 24px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.path-card:hover {
  color: var(--ink);
  transform: translateY(-3px);
  border-color: var(--line-strong);
  box-shadow: 0 20px 44px rgba(13, 31, 60, 0.16);
}

.path-card > span {
  font-size: 24px;
  font-weight: 800;
  line-height: 1.12;
}

.path-card p {
  margin: 0;
  color: var(--ink-soft);
}

.premium-advisory {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(0, 1fr);
  gap: clamp(28px, 6vw, 84px);
  align-items: stretch;
}

.premium-advisory-copy {
  display: grid;
  align-content: center;
  gap: 18px;
  padding: clamp(28px, 5vw, 54px);
  background:
    linear-gradient(135deg, rgba(13, 31, 60, 0.98), rgba(7, 20, 42, 0.96)),
    linear-gradient(90deg, rgba(201, 168, 76, 0.2), transparent 68%);
  color: var(--white);
  border: 1px solid rgba(201, 168, 76, 0.32);
  border-radius: 8px;
  box-shadow: 0 26px 64px rgba(13, 31, 60, 0.2);
}

.premium-advisory-copy h2 {
  margin-bottom: 0;
}

.premium-advisory-copy p {
  margin-bottom: 0;
  color: rgba(253, 248, 240, 0.84);
  font-size: clamp(18px, 1.6vw, 21px);
}

.premium-advisory-copy .text-link {
  color: var(--champagne);
  justify-self: start;
}

.premium-advisory-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.premium-card {
  min-height: 230px;
  padding: clamp(22px, 3vw, 30px);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 18px 44px rgba(13, 31, 60, 0.1);
}

.premium-card:first-child {
  background: linear-gradient(160deg, rgba(201, 168, 76, 0.16), rgba(253, 248, 240, 0.94));
  border-color: rgba(201, 168, 76, 0.5);
}

.premium-card h3 {
  margin-bottom: 12px;
}

.premium-card p {
  margin-bottom: 0;
  color: var(--ink-soft);
}

.editorial {
  display: grid;
  grid-template-columns: minmax(0, 0.65fr) minmax(300px, 0.35fr);
  gap: clamp(28px, 5vw, 68px);
  align-items: end;
}

.wide-image-media {
  aspect-ratio: 16 / 9;
}

.editorial-copy {
  padding-bottom: 24px;
}

.area-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

.area-list a {
  flex: 1 1 min(100%, 220px);
  max-width: 300px;
  display: flex;
  min-height: 70px;
  align-items: center;
  padding: 16px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  font-weight: 800;
}

.area-cards {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
}

.area-cards article {
  flex: 1 1 min(100%, 250px);
  max-width: 360px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 22px;
  scroll-margin-top: 110px;
}

.copy-deep {
  padding-top: clamp(54px, 8vw, 96px);
}

.copy-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
}

.related-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
}

.copy-grid article,
.related-card {
  flex: 1 1 min(100%, 330px);
  max-width: 420px;
  min-height: 220px;
  padding: 24px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.copy-grid p,
.related-card p {
  color: var(--ink-soft);
  margin-bottom: 0;
}

.copy-note {
  max-width: 840px;
  margin: 22px 0 0;
  padding: 20px 22px;
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink-soft);
  font-size: clamp(16px, 1.35vw, 19px);
}

.related-card {
  flex: 1 1 min(100%, 360px);
  max-width: 420px;
  display: grid;
  align-content: space-between;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.related-card:hover {
  color: var(--ink);
  transform: translateY(-3px);
  border-color: var(--line-strong);
  box-shadow: 0 20px 44px rgba(13, 31, 60, 0.16);
}

.related-card > span {
  font-size: 20px;
  font-weight: 800;
  line-height: 1.15;
}

.local-hero {
  position: relative;
  min-height: 670px;
  padding: 118px clamp(16px, 4vw, 44px) 64px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 420px);
  gap: clamp(28px, 6vw, 80px);
  align-items: end;
  overflow: hidden;
  isolation: isolate;
  background: var(--velvet-dark);
  color: var(--white);
  border-bottom: 1px solid rgba(201, 168, 76, 0.28);
}

.local-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(7, 20, 42, 0.68) 0%, rgba(13, 31, 60, 0.46) 46%, rgba(13, 31, 60, 0.16) 76%, rgba(13, 31, 60, 0.05) 100%),
    linear-gradient(0deg, rgba(7, 20, 42, 0.08), rgba(7, 20, 42, 0.08));
}

.local-hero-image {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  filter: saturate(1.05) contrast(1.03) brightness(1.04);
}

.local-hero .hero-copy {
  color: rgba(253, 248, 240, 0.86);
}

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

.content-hero {
  width: min(1180px, calc(100% - 32px));
  min-height: 640px;
  margin: 0 auto;
  padding: 132px 0 66px;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(320px, 0.72fr);
  gap: clamp(30px, 6vw, 84px);
  align-items: end;
}

.content-hero-copy {
  max-width: 760px;
}

.content-hero-media {
  margin: 0;
  align-self: center;
}

.content-hero-media img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.section-eyebrow {
  margin-bottom: 10px;
  color: var(--velvet-dark);
  font-weight: 800;
  text-transform: uppercase;
  font-size: 13px;
  letter-spacing: 0.08em;
}

.content-shell {
  padding-top: 26px;
}

.imported-section {
  padding-top: clamp(42px, 7vw, 84px);
}

.imported-content {
  max-width: 860px;
  color: var(--ink);
  font-size: clamp(17px, 1.35vw, 20px);
}

.data-table-wrap {
  overflow-x: auto;
  margin: 28px 0;
  border-radius: 8px;
  border: 1px solid rgba(13, 31, 60, 0.14);
  box-shadow: var(--shadow);
}

.data-table {
  width: 100%;
  border-collapse: collapse;
  text-align: left;
}

.data-table thead tr {
  border-bottom: 1px solid rgba(201, 168, 76, 0.3);
}

.data-table th {
  padding: 14px 20px;
  color: var(--champagne);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  background: var(--velvet-deep);
  white-space: nowrap;
}

.data-table th:first-child { border-radius: 8px 0 0 0; }
.data-table th:last-child  { border-radius: 0 8px 0 0; }

.data-table tbody tr {
  border-bottom: 1px solid rgba(13, 31, 60, 0.08);
  transition: background 160ms ease;
}

.data-table tbody tr:nth-child(odd) {
  background: rgba(13, 31, 60, 0.03);
}

.data-table tbody tr:hover {
  background: rgba(201, 168, 76, 0.07);
}

.data-table tbody tr:last-child {
  border-bottom: none;
}

.data-table td {
  padding: 14px 20px;
  font-size: clamp(15px, 1.1vw, 17px);
  color: var(--ink);
  vertical-align: top;
  line-height: 1.5;
}

.data-table td:nth-child(2) {
  color: var(--champagne);
  font-weight: 700;
  white-space: nowrap;
}

.mortgage-program-table td:nth-child(2) {
  color: var(--ink);
  font-weight: 500;
  white-space: normal;
}

.table-note {
  margin-top: 8px;
  font-size: 14px;
  color: var(--muted);
}

.content-hero .button-light {
  background: var(--velvet-deep);
  color: var(--white);
  border-color: rgba(201, 168, 76, 0.34);
  box-shadow: 0 14px 30px rgba(7, 20, 42, 0.3);
}

.content-hero .button-light:hover {
  background: #0d1f3c;
  color: var(--white);
  border-color: rgba(201, 168, 76, 0.56);
}

.imported-content a {
  color: var(--velvet-dark);
  font-weight: 800;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

.imported-content a:hover {
  color: var(--velvet);
}

.imported-content h2,
.imported-content .h2-heading,
.imported-content h3,
.imported-content h4 {
  margin-top: clamp(34px, 5vw, 58px);
  margin-bottom: 14px;
}

.imported-content h2,
.imported-content .h2-heading {
  font-size: clamp(30px, 3.8vw, 48px);
}

.imported-content h3 {
  font-size: clamp(23px, 2.4vw, 32px);
}

.imported-content p,
.imported-content li {
  color: var(--ink-soft);
}

.imported-content p,
.imported-content ul,
.imported-content ol,
.imported-content blockquote,
.imported-image {
  margin-bottom: 22px;
}

.imported-content ul,
.imported-content ol {
  padding-left: 1.35em;
}

.imported-content li + li {
  margin-top: 8px;
}

.imported-content blockquote {
  margin-left: 0;
  padding: 20px 24px;
  background: var(--surface);
  border-left: 4px solid var(--velvet);
  border-radius: 8px;
  color: var(--velvet-card-text);
}

.market-guide-extension {
  display: grid;
  gap: 34px;
}

.market-guide-extension .guide-intro {
  max-width: 980px;
}

.market-guide-extension .guide-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
}

.market-guide-extension .guide-card,
.market-guide-extension .quick-facts {
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid var(--line);
  background: rgba(253, 248, 240, 0.78);
  box-shadow: 0 18px 40px rgba(13, 31, 60, 0.08);
}

.market-guide-extension .quick-facts dl {
  display: grid;
  grid-template-columns: minmax(120px, 0.36fr) minmax(0, 1fr);
  gap: 12px 20px;
  margin: 0;
}

.market-guide-extension dt {
  color: var(--ink);
  font-weight: 700;
}

.market-guide-extension dd {
  margin: 0;
  color: var(--ink-soft);
}

.market-guide-extension .guide-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.imported-image {
  margin-top: 30px;
}

.imported-image img {
  width: 100%;
  max-height: 620px;
  object-fit: cover;
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.blog-editorial-brief,
.blog-decision-lens,
.blog-premium-section,
.blog-source-panel,
.blog-faq-panel,
.blog-author-box {
  margin: clamp(34px, 5vw, 58px) 0;
}

.blog-editorial-brief {
  padding: clamp(24px, 4vw, 36px);
  background: linear-gradient(135deg, rgba(13, 31, 60, 0.98), rgba(7, 20, 42, 0.95));
  color: var(--white);
  border: 1px solid rgba(201, 168, 76, 0.26);
  border-radius: 8px;
  box-shadow: 0 22px 58px rgba(13, 31, 60, 0.2);
}

.blog-brief-kicker {
  margin: 0 0 8px !important;
  color: var(--champagne) !important;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.blog-editorial-brief h2,
.blog-decision-lens h2,
.blog-premium-section h2,
.blog-link-panel h2,
.blog-link-panel .h2-heading,
.blog-source-panel h2,
.blog-faq-panel h2 {
  scroll-margin-top: 110px;
}

.blog-editorial-brief ul {
  margin: 18px 0 0;
}

.blog-editorial-brief p,
.blog-editorial-brief li {
  color: rgba(253, 248, 240, 0.86);
}

.blog-link-panel {
  margin: clamp(40px, 6vw, 70px) 0;
  padding: clamp(24px, 4vw, 36px);
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.blog-link-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.blog-link-grid a {
  min-height: 148px;
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 18px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  text-decoration: none;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.blog-link-grid a:hover {
  transform: translateY(-2px);
  border-color: var(--line-strong);
  box-shadow: 0 18px 38px rgba(13, 31, 60, 0.15);
}

.blog-link-grid strong {
  color: var(--ink);
  font-size: 18px;
  line-height: 1.2;
}

.blog-link-grid span {
  color: var(--ink-soft);
  font-size: 15px;
  line-height: 1.55;
}

.blog-author-box {
  display: grid;
  grid-template-columns: minmax(120px, 180px) 1fr;
  gap: clamp(18px, 4vw, 32px);
  align-items: center;
  padding: clamp(24px, 4vw, 36px);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: 0 18px 46px rgba(13, 31, 60, 0.14);
}

.blog-author-box > div:only-child {
  grid-column: 1 / -1;
}

.blog-author-box img {
  width: 100%;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 8px;
}

.blog-author-box h2,
.blog-author-box .h2-heading {
  margin-bottom: 12px;
}

.blog-author-box p:last-child {
  margin-bottom: 0;
}

.blog-source-panel {
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.blog-source-panel li {
  overflow-wrap: anywhere;
}

.blog-faq-panel {
  padding: clamp(22px, 4vw, 34px);
  background: var(--surface-soft);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.blog-faq-panel h2 + h2,
.blog-faq-panel p + h2 {
  margin-top: 24px;
  font-size: clamp(22px, 2.3vw, 30px);
}

.blog-index-section {
  padding-top: clamp(28px, 5vw, 56px);
}

.blog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 20px);
  width: min(1120px, 100%);
  margin: 0 auto;
}

.blog-card {
  min-height: 255px;
  display: grid;
  align-content: start;
  gap: 11px;
  padding: clamp(20px, 2.4vw, 26px);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--ink);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.blog-card:hover {
  color: var(--ink);
  transform: translateY(-3px);
  border-color: var(--line-strong);
  box-shadow: 0 20px 44px rgba(13, 31, 60, 0.16);
}

.blog-card > span {
  color: var(--champagne);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.blog-card h3 {
  color: #fdf8f0;
  font-size: clamp(23px, 1.95vw, 30px);
  line-height: 1.12;
  margin: 0;
}

.blog-card p {
  margin: 0;
  color: rgba(253, 248, 240, 0.72);
  font-size: clamp(14px, 1.05vw, 16px);
  line-height: 1.58;
}

.blog-card h3 .notranslate,
.blog-card p .notranslate {
  color: inherit !important;
  font: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
}

.market-brief {
  display: grid;
  gap: 9px;
  padding: clamp(24px, 4vw, 36px);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.market-brief span {
  color: var(--velvet-dark);
  font-size: 13px;
  font-weight: 800;
  text-transform: uppercase;
}

.market-brief strong {
  margin-bottom: 10px;
  color: var(--ink);
  font-size: 18px;
  line-height: 1.28;
}

.city-overview {
  padding-bottom: clamp(42px, 7vw, 80px);
}

.compact-columns h2 {
  font-size: clamp(28px, 3.8vw, 46px);
}

.faq-teaser,
.contact-band {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  padding: clamp(42px, 7vw, 72px);
  margin-block: clamp(72px, 9vw, 116px);
  background: linear-gradient(135deg, rgba(13, 31, 60, 0.98), rgba(7, 20, 42, 0.95));
  color: var(--white);
  border: 1px solid rgba(201, 168, 76, 0.28);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.faq-teaser p,
.contact-band p {
  color: rgba(253, 248, 240, 0.84);
  max-width: 680px;
}

.contact-band-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: flex-end;
}

.two-column {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(26px, 5vw, 68px);
}

.credential {
  font-weight: 700;
  color: var(--velvet-dark) !important;
}

.process-section > h2,
.faq-list > h2 {
  max-width: 760px;
}

.process-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  margin-top: 30px;
}

.process-item {
  flex: 1 1 min(100%, 240px);
  max-width: 340px;
  padding: 24px;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.process-item p {
  color: var(--ink-soft);
  margin: 0;
}

.split-feature {
  grid-template-columns: minmax(320px, 0.86fr) minmax(0, 0.74fr);
}

.feature-image {
  aspect-ratio: 16 / 10;
}

.faq-list {
  max-width: 940px;
}

details {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  margin-top: 14px;
  padding: 0 20px;
}

summary {
  cursor: pointer;
  min-height: 68px;
  display: flex;
  align-items: center;
  font-weight: 800;
}

details p {
  color: var(--ink-soft);
  padding-bottom: 20px;
}

.contact-card {
  align-self: start;
}

.contact-lines {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

.contact-lines a {
  min-height: 44px;
  display: flex;
  align-items: center;
  font-size: 22px;
  font-weight: 800;
  color: var(--velvet-dark);
  overflow-wrap: anywhere;
}

.contact-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  padding: clamp(22px, 4vw, 34px);
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: var(--shadow);
  min-width: 0;
}

.field {
  display: grid;
  gap: 7px;
}

.field-full {
  grid-column: 1 / -1;
}

label {
  font-weight: 700;
}

input,
select,
textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--line-strong);
  border-radius: 8px;
  background: rgba(253, 248, 240, 0.86);
  color: var(--ink);
  padding: 12px 14px;
}

input::placeholder,
textarea::placeholder {
  color: var(--muted);
}

textarea {
  resize: vertical;
}

.contact-form .button {
  justify-self: start;
}

.form-note {
  margin: 0;
  align-self: center;
  color: var(--ink-soft);
}

.site-footer {
  background: #0d1f3c;
  color: rgba(253, 248, 240, 0.82);
  padding: 64px clamp(16px, 4vw, 44px) 28px;
  border-top: 1px solid rgba(201, 168, 76, 0.3);
}

.footer-grid {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr 0.8fr 1fr;
  gap: 32px;
}

.site-footer h2,
.site-footer .footer-heading {
  color: var(--white);
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
  margin: 0 0 14px;
}

.site-footer a,
.site-footer p {
  color: rgba(253, 248, 240, 0.86);
  margin: 0 0 10px;
}

.site-footer a {
  display: flex;
  align-items: center;
  min-height: 44px;
}

.site-footer p {
  display: block;
}

.site-footer a:hover {
  color: var(--champagne);
}

.footer-logo {
  width: 92px;
  height: 92px;
  border-radius: 8px;
  margin-bottom: 18px;
  box-shadow: 0 14px 30px rgba(7, 20, 42, 0.36);
}

.badge-row {
  display: flex;
  gap: 12px;
  align-items: center;
}

.badge-row img {
  width: 34px;
  height: auto;
}

.legal {
  max-width: 1180px;
  margin: 36px auto 0;
  padding-top: 20px;
  border-top: 1px solid var(--line);
  display: grid;
  gap: 8px;
}

.legal p {
  font-size: 13px;
}

.legal-disclosure-panel {
  padding: 18px;
  background: rgba(253, 248, 240, 0.08);
  border: 1px solid rgba(201, 168, 76, 0.22);
  border-radius: 8px;
}

.legal-disclosure-panel h2,
.legal-disclosure-panel .footer-heading {
  font-size: 15px;
  margin-bottom: 8px;
}

.legal-disclosure-panel p:last-child {
  margin-bottom: 0;
}

.legal-links {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 18px;
}

.legal-links a {
  display: inline-flex;
  min-height: 44px;
  font-weight: 700;
}

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

@media (max-width: 1240px) {
  .desktop-nav {
    display: none;
  }

  .menu-button {
    display: inline-flex;
  }

  .phone-link {
    display: none;
  }
}

@media (max-width: 900px) {
  .proof-band,
  .team-section,
  .editorial,
  .two-column,
  .split-feature,
  .contact-section,
  .content-hero,
  .market-guide-extension .guide-grid,
  .market-guide-extension .quick-facts dl,
  .faq-teaser,
  .contact-band,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .proof-band div {
    border-right: 0;
    border-bottom: 1px solid var(--line);
  }

  .proof-band div:last-child {
    border-bottom: 0;
  }

  .path-grid,
  .process-grid,
  .area-list,
  .area-cards,
  .copy-grid,
  .blog-grid,
  .related-grid,
  .premium-advisory-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .local-hero {
    grid-template-columns: 1fr;
    min-height: auto;
    padding-top: 104px;
  }

  .contact-band-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 900px) {
  .weekly-stats-panel .weekly-stats-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .site-header {
    padding: 8px 12px;
  }

  .header-inner {
    min-height: 52px;
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .brand span {
    font-size: 15px;
  }

  .header-actions .button-small {
    display: none;
  }

  .hero {
    min-height: 82dvh;
  }

  .hero-overlay {
    background:
      linear-gradient(180deg, rgba(13, 31, 60, 0.1), rgba(13, 31, 60, 0.4) 48%, rgba(13, 31, 60, 0.72)),
      linear-gradient(0deg, rgba(13, 31, 60, 0.05), rgba(13, 31, 60, 0.05));
  }

  .hero-inner {
    width: min(100% - 28px, 1180px);
    padding: 88px 0 44px;
  }

  .content-hero {
    width: min(100% - 28px, 1180px);
    min-height: auto;
    padding: 98px 0 46px;
  }

  .content-hero,
  .content-hero-copy,
  .content-hero-media {
    min-width: 0;
    max-width: 100%;
  }

  .content-hero .button {
    min-width: 0;
    max-width: 100%;
    height: auto;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.35;
    text-align: center;
  }

  h1 {
    font-size: clamp(36px, 11vw, 50px);
    line-height: 1.04;
    overflow-wrap: anywhere;
  }

  .hero-copy {
    font-size: 17px;
  }

  .hero-actions,
  .contact-band-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .button {
    width: 100%;
  }

  .proof-band {
    width: calc(100% - 28px);
  }

  .section {
    width: min(100% - 28px, 1180px);
    padding: 58px 0;
  }

  .section-light {
    width: 100%;
    padding-inline: 14px;
  }

  .path-grid,
  .process-grid,
  .area-list,
  .area-cards,
  .copy-grid,
  .blog-grid,
  .blog-author-box,
  .related-grid,
  .check-list,
  .contact-form,
  .premium-advisory,
  .premium-advisory-grid {
    grid-template-columns: 1fr;
  }

  .faq-teaser,
  .contact-band {
    padding: 28px;
    margin-block: 58px;
  }

  .field-full {
    grid-column: auto;
  }
}

.contact-section > * {
  min-width: 0;
}

/* Audit recovery polish (2026-06): progressive typographic refinement only.
   Additive — no palette, layout, color, or component overrides. Unsupported
   browsers ignore text-wrap and fall back to existing rendering. */
h1,
h2,
h3 {
  text-wrap: balance;
}

p,
li,
figcaption,
.hero-copy {
  text-wrap: pretty;
}

/* Spanish nav fix */
html.translated-ltr .desktop-nav a,html.translated-ltr .desktop-nav button{font-size:0.76rem;padding:5px 7px;}

/* Nav dropdowns */
.nav-item-dropdown{position:relative;}
.nav-dropdown-btn{background:none;border:none;color:rgba(255,255,255,.92);cursor:pointer;font-family:inherit;font-size:inherit;font-weight:500;letter-spacing:inherit;display:flex;align-items:center;gap:4px;padding:8px 14px;border-radius:6px;white-space:nowrap;transition:color .2s,background .2s;}
.nav-dropdown-btn:hover,.nav-item-dropdown.open .nav-dropdown-btn{color:var(--champagne);background:rgba(201,168,76,.1);}
.nav-dropdown-arrow{font-style:normal;font-size:.65rem;transition:transform .2s;display:inline-block;}
.nav-item-dropdown.open .nav-dropdown-arrow{transform:rotate(180deg);}
.nav-dropdown-panel{display:none;position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);min-width:200px;background:rgba(13,31,60,.97);backdrop-filter:blur(12px);border:1px solid rgba(201,168,76,.28);border-radius:10px;padding:6px;box-shadow:0 24px 60px rgba(0,0,0,.35);z-index:300;}
.nav-item-dropdown.open .nav-dropdown-panel{display:block;}
.nav-dropdown-panel a{display:block;padding:9px 14px;border-radius:6px;font-size:.875rem;color:rgba(253,248,240,.85);white-space:nowrap;transition:background .15s,color .15s;}
.nav-dropdown-panel a:hover{background:rgba(201,168,76,.15);color:var(--champagne);}

/* Header nav typography normalization */
.desktop-nav > a,
.desktop-nav > .nav-item-dropdown > .nav-dropdown-btn {
  min-height: 44px;
  min-width: 44px;
  padding: 0 clamp(8px, 0.7vw, 12px);
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
  font-size: clamp(13px, 0.9vw, 15px);
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
}

.desktop-nav > .nav-item-dropdown > .nav-dropdown-btn {
  display: inline-flex;
  justify-content: center;
}

.desktop-nav > .nav-item-dropdown > .nav-dropdown-btn .nav-dropdown-arrow {
  font-size: 0.68em;
  line-height: 1;
}
/* Luxury refinements */
h1, h2, h3 { letter-spacing: 0; }
.hero-label { letter-spacing: 0.15em; text-transform: uppercase; font-size: 0.72rem; font-weight: 700; }
.site-header { border-bottom-color: rgba(201,168,76,.4); }
.section-label { letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.72rem; font-weight: 700; color: var(--champagne); }

/* Footer organized nav columns */
.footer-col-heading { color: var(--champagne); letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.68rem; font-weight: 700; margin: 18px 0 6px; display: block; }
.footer-col-heading:first-child { margin-top: 0; }
footer a { font-size: 0.875rem; line-height: 1.8; }

/* Dual license badge */
.dual-license-badge { display: inline-flex; align-items: flex-start; gap: 12px; padding: 14px 18px; background: linear-gradient(135deg, rgba(201,168,76,.12), rgba(201,168,76,.05)); border: 1px solid rgba(201,168,76,.35); border-radius: 10px; margin-top: 16px; }
.dual-license-badge .dlb-icon { font-size: 1.4rem; line-height: 1; margin-top: 2px; flex-shrink: 0; }
.dual-license-badge strong { display: block; color: var(--champagne); font-size: 0.82rem; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 2px; }
.dual-license-badge p { font-size: 0.875rem; color: var(--ink-soft); margin: 0; }
/* =====================================================================
   Center-alignment pass + header search + blog archive  (2026-06-17)
   Additive only. Centers headings, section intros, and floating cards
   site-wide, while deliberately PRESERVING left alignment for long-form
   reading (article bodies), forms, data tables, footer columns, and the
   full-bleed image heroes (whose overlays are built for left-aligned text).
   ===================================================================== */

/* ---- 1. Centered headings & section intros ---------------------------- */
.section-heading { text-align: center; }
.section-heading.compact { margin-left: auto; margin-right: auto; }
.section-heading .hero-kicker,
.section-heading .section-eyebrow,
.section-heading .section-label { margin-left: auto; margin-right: auto; }

.process-section > h2,
.faq-list > h2 {
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

/* ---- 2. Floating cards: center their content -------------------------- */
.path-card,
.premium-card,
.related-card,
.copy-grid article,
.process-item,
.market-brief,
.blog-card,
.area-cards article {
  text-align: center;
  justify-items: center;   /* center grid-item children on the inline axis */
}

/* ---- 3. Centered stat band & feature chips ---------------------------- */
.proof-band div { text-align: center; justify-items: center; }
.check-list span { justify-content: center; text-align: center; }

/* ---- 4. PRESERVE LEFT where it genuinely reads better ----------------- */
/* Article reading flow, structured blog panels, data, forms, footer, and
   the image heroes keep their original left alignment for legibility. */
.imported-content,
.imported-content h2,
.imported-content .h2-heading,
.imported-content h3,
.imported-content h4,
.imported-content p,
.imported-content li,
.imported-content blockquote,
.blog-editorial-brief,
.blog-decision-lens,
.blog-premium-section,
.blog-source-panel,
.blog-faq-panel,
.blog-link-panel,
.blog-link-grid a,
.blog-author-box,
.data-table,
.data-table th,
.data-table td,
.contact-form,
.field,
.faq-list details,
.hero-inner,
.hero-copy,
.local-hero,
.local-hero-inner,
.content-hero,
.content-hero-copy,
.premium-advisory-copy,
.site-footer,
.footer-grid,
.legal {
  text-align: left;
}

/* =====================================================================
   Header / mobile search  (routes to the existing /search/?q=… page)
   ===================================================================== */
.header-search-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid rgba(201, 168, 76, 0.34);
  border-radius: 8px;
  background: rgba(253, 248, 240, 0.1);
  color: var(--white);
  cursor: pointer;
  transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}
.header-search-toggle:hover,
.header-search-toggle[aria-expanded="true"] {
  color: var(--champagne);
  background: rgba(201, 168, 76, 0.14);
  border-color: rgba(201, 168, 76, 0.6);
}

/* Drop-down search panel under the header (matches the nav dropdown look) */
.header-search {
  position: absolute;
  top: calc(100% + 8px);
  right: clamp(16px, 4vw, 44px);
  z-index: 300;
  display: none;
  gap: 8px;
  padding: 12px;
  background: rgba(13, 31, 60, 0.98);
  border: 1px solid rgba(201, 168, 76, 0.3);
  border-radius: 10px;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
}
.header-search.open { display: flex; }
.header-search input[type="search"] {
  width: min(72vw, 320px);
  min-height: 46px;
  padding: 10px 14px;
  border-radius: 8px;
  border: 1px solid rgba(201, 168, 76, 0.34);
  background: rgba(253, 248, 240, 0.95);
  color: var(--ink);
  font-size: 15px;
}
.header-search input[type="search"]:focus {
  outline: none;
  border-color: var(--champagne);
}
.header-search button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  min-height: 46px;
  padding: 0 14px;
  border: 0;
  border-radius: 8px;
  background: var(--champagne);
  color: var(--velvet-deep);
  font-weight: 700;
  cursor: pointer;
}
.header-search button:hover { background: #e1c777; }

/* Search field inside the mobile menu */
.mobile-search {
  display: flex;
  gap: 8px;
  margin-bottom: 12px;
}
.mobile-search input[type="search"] {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 48px;
  padding: 10px 14px;
  border-radius: 8px;
  border: 1px solid rgba(201, 168, 76, 0.34);
  background: rgba(253, 248, 240, 0.12);
  color: var(--white);
}
.mobile-search input[type="search"]::placeholder { color: rgba(253, 248, 240, 0.6); }
.mobile-search button {
  min-height: 48px;
  padding: 0 18px;
  border: 0;
  border-radius: 8px;
  background: var(--champagne);
  color: var(--velvet-deep);
  font-weight: 700;
  cursor: pointer;
}

/* Show the desktop search toggle only while the desktop nav is visible.
   Below 1240px the nav collapses to the hamburger, and search lives in
   the mobile menu instead. */
@media (max-width: 1240px) {
  .header-search-toggle { display: none; }
  .header-search { display: none !important; }
}

/* =====================================================================
   Blog index: search + recent posts + topic archive sidebar
   ===================================================================== */
.blog-search {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  max-width: 680px;
  margin: 0 auto 40px;       /* centered under the centered heading */
}
.blog-search input[type="search"] {
  flex: 1 1 16rem;
  min-height: 54px;
  padding: 14px 16px;
  border-radius: 8px;
  border: 1px solid var(--line-strong);
  background: rgba(253, 248, 240, 0.86);
  color: #0d1f3c;
}
.blog-search button { flex: 0 0 auto; }

.blog-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 340px);
  gap: clamp(28px, 4vw, 56px);
  align-items: start;
}
.blog-main .section-label { display: block; margin-bottom: 18px; }
.blog-recent-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
}

.blog-archive { text-align: left; }
.blog-archive .section-label { display: block; margin-bottom: 10px; }
.blog-archive-note {
  margin: 0 0 14px;
  color: var(--ink-soft);
  font-size: 14px;
  line-height: 1.5;
}
.blog-archive-group { margin-top: 10px; padding: 0 18px; }
.blog-archive-group summary {
  min-height: 56px;
  justify-content: space-between;
  gap: 12px;
  font-size: 15px;
}
.blog-archive-group ul {
  list-style: none;
  margin: 0 0 16px;
  padding: 0;
}
.blog-archive-group li { margin: 0; }
.blog-archive-group li a {
  display: block;
  padding: 9px 4px;
  font-size: 14px;
  line-height: 1.45;
  color: var(--ink-soft);
  border-top: 1px solid rgba(13, 31, 60, 0.07);
}
.blog-archive-group li:first-child a { border-top: 0; }
.blog-archive-group li a:hover { color: var(--champagne); }
.archive-count {
  flex: 0 0 auto;
  color: var(--velvet-dark);
  font-size: 12px;
  font-weight: 800;
  background: var(--surface-soft);
  border-radius: 999px;
  padding: 3px 11px;
}

@media (max-width: 900px) {
  .blog-layout { grid-template-columns: 1fr; }
  .blog-archive { position: static; }
}
@media (max-width: 900px) {
  .weekly-stats-panel .weekly-stats-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .blog-recent-grid { grid-template-columns: 1fr; }
}


/* =====================================================================
   Center-alignment pass v2 (2026-06-17b)
   Extends centering to the homepage / marketing copy blocks the first
   pass left untouched (per client follow-up: content below the "Greater
   San Antonio Real Estate Guidance" section should be centered).
   Blog ARTICLE bodies (.content-shell .imported-content) stay LEFT for
   readability and are re-asserted at the bottom of this block.
   ===================================================================== */
.imported-section .imported-content,
.imported-section .imported-content p,
.imported-section .imported-content h2,
.imported-section .imported-content h3,
.imported-section .imported-content h4,
.imported-section .imported-content blockquote,
.premium-advisory-copy,
.team-copy,
.editorial-copy,
.faq-teaser > div,
.two-column,
.two-column > div {
  text-align: center;
}
.imported-section .imported-content { margin-left: auto; margin-right: auto; }

/* Links/buttons inside centered grid copy blocks follow the center */
.premium-advisory-copy .text-link { justify-self: center; }

/* Re-assert LEFT for blog article reading (more specific than v2 above) */
.content-shell .imported-content,
.content-shell .imported-content p,
.content-shell .imported-content h2,
.content-shell .imported-content h3,
.content-shell .imported-content h4,
.content-shell .imported-content li,
.content-shell .imported-content blockquote {
  text-align: left;
}

/* Google reviews CTA (reviews page) */
.google-reviews-cta{text-align:center!important;max-width:640px;margin:30px auto;padding:clamp(22px,4vw,32px);background:var(--surface);border:1px solid var(--line-strong);border-radius:8px;box-shadow:var(--shadow);}
.google-reviews-cta p{text-align:center!important;color:var(--ink-soft);}
.google-reviews-kicker{margin:0 0 10px!important;color:var(--velvet-dark)!important;font-weight:800!important;text-transform:uppercase;letter-spacing:.08em;font-size:13px!important;}
.google-reviews-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:18px;}

/* =====================================================================
   DARK THEME (2026-06-17c)
   Naomi requested the darker look of jonathan-and-naomi-morris.velvet.site
   (and veteranrealestatesa.com is dark too). This is a RESKIN only:
   page background cream -> deep navy, text -> warm off-white, keeping the
   existing navy/gold/serif brand language. No structural/content changes.
   ===================================================================== */
:root {
  --ink: #f4eee2;                          /* primary text: warm off-white */
  --ink-soft: rgba(244, 238, 226, 0.76);   /* body copy */
  --muted: rgba(244, 238, 226, 0.5);
  --paper: #0b1a30;                         /* page background */
  --paper-deep: #07142a;
  --surface: #112139;                       /* floating cards (lifted off bg) */
  --surface-strong: #16284a;
  --surface-soft: rgba(255, 255, 255, 0.05);
  --line: rgba(255, 255, 255, 0.1);         /* borders/dividers on dark */
  /* --champagne (gold) and --velvet* (navy) intentionally unchanged */
}
html { background: #e7e1d6; }
body {
  background: linear-gradient(180deg, #0b1a30 0%, #07142a 50%, #0b1a30 100%);
  color: #0d1f3c;
}
.section-light {
  background: linear-gradient(180deg, #0e2138 0%, #0b1a30 100%);
  border-block-color: var(--line);
}

/* Navy-colored text/links that would vanish on dark -> gold */
.section-eyebrow,
.text-link,
.imported-content a,
.blog-card > span,
.market-brief span,
.contact-lines a,
.archive-count,
.google-reviews-kicker,
.credential { color: var(--champagne) !important; }
.imported-content blockquote { border-left-color: var(--champagne); }

/* Form fields on dark */
input, select, textarea {
  background: rgba(255, 255, 255, 0.06);
  color: var(--ink);
  border-color: var(--line-strong);
}
input::placeholder, textarea::placeholder { color: var(--muted); }
main p :where(a, strong, b, em, span, small) {
  font-size: inherit !important;
  line-height: inherit !important;
}
/* Search boxes keep their light background, so force dark text in them */
.header-search input[type="search"],
.blog-search input[type="search"] { color: #0d1f3c; }

/* Hardcoded cream spots */
.premium-card:first-child {
  background: linear-gradient(160deg, rgba(201, 168, 76, 0.22), rgba(17, 33, 57, 0.96));
}
.data-table tbody tr:nth-child(odd) { background: rgba(255, 255, 255, 0.03); }
.data-table tbody tr { border-bottom-color: rgba(255, 255, 255, 0.08); }

/* Secondary buttons as elegant outlines on dark */
.button-dark,
.content-hero .button-light {
  background: rgba(253, 248, 240, 0.08);
  color: var(--white);
  border-color: rgba(201, 168, 76, 0.5);
}
.button-dark:hover,
.content-hero .button-light:hover {
  background: rgba(201, 168, 76, 0.16);
  color: var(--white);
  border-color: var(--champagne);
}

/* Gold underline accent beneath centered section headings */
.section-heading h2::after,
.section-heading .h2-heading::after {
  content: "";
  display: block;
  width: 64px;
  height: 3px;
  margin: 18px auto 0;
  background: var(--champagne);
  border-radius: 2px;
}

/* =====================================================================
   Homepage recommendation pass (market stats, clickable cards, social/trust)
   ===================================================================== */
.market-stats-band {
  width: min(1180px, calc(100% - 32px));
  margin: clamp(34px, 6vw, 72px) auto 0;
  padding: clamp(26px, 4vw, 42px);
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(18px, 3vw, 28px);
  align-items: center;
  text-align: center;
  background: linear-gradient(135deg, rgba(17, 33, 57, 0.98), rgba(7, 20, 42, 0.96));
  border: 1px solid rgba(201, 168, 76, 0.34);
  border-radius: 10px;
  box-shadow: var(--shadow);
}
.market-stats-copy {
  width: min(760px, 100%);
  margin: 0 auto;
}
.market-stats-copy h2 {
  margin: 0 0 10px;
  font-size: clamp(28px, 3.2vw, 44px);
}
.market-stats-copy p { margin: 0; color: var(--ink-soft); }
.market-stats-grid {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.market-stats-grid article {
  min-height: 138px;
  padding: 20px 16px;
  display: grid;
  align-content: center;
  gap: 10px;
  text-align: center;
  background: rgba(253, 248, 240, 0.06);
  border: 1px solid rgba(201, 168, 76, 0.2);
  border-radius: 8px;
  overflow-wrap: anywhere;
}
.market-stat-value {
  display: block;
  color: var(--champagne);
  font-size: clamp(32px, 3.6vw, 48px);
  font-weight: 800;
  line-height: 1;
}
.market-stat-label {
  display: block;
  color: var(--ink-soft);
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 1.35;
}
.market-stats-band .button {
  justify-self: center;
}
.trust-social-section { padding-top: clamp(42px, 7vw, 78px); }
.social-icons-strip {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  margin: 0 auto 26px;
}
.social-icons-strip a {
  min-width: 132px;
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  color: var(--white);
  font-weight: 800;
  border: 1px solid rgba(201, 168, 76, 0.42);
  border-radius: 999px;
  background: rgba(253, 248, 240, 0.07);
  box-shadow: 0 14px 30px rgba(7, 20, 42, 0.24);
  transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease;
}
.social-icons-strip a:hover {
  color: var(--white);
  transform: translateY(-2px);
  border-color: var(--champagne);
  background: rgba(201, 168, 76, 0.18);
}
.trust-badge-row {
  width: min(1060px, 100%);
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
}
.trust-badge-row article,
.click-card {
  border: 1px solid rgba(201, 168, 76, 0.24);
  border-radius: 10px;
  background: rgba(253, 248, 240, 0.06);
  box-shadow: 0 18px 40px rgba(7, 20, 42, 0.16);
}
.trust-badge-row article {
  flex: 1 1 min(100%, 230px);
  max-width: 310px;
  min-height: 132px;
  padding: 20px;
  display: grid;
  align-content: center;
  gap: 8px;
  text-align: center;
}
.trust-badge-row strong { color: var(--champagne); font-size: 14px; text-transform: uppercase; letter-spacing: 0.06em; }
.trust-badge-row span { color: var(--ink-soft); font-weight: 700; }
.click-card-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 16px;
  margin: 28px 0 clamp(34px, 5vw, 54px);
}
.click-card {
  flex: 1 1 min(100%, 250px);
  max-width: 340px;
  min-height: 210px;
  padding: 24px;
  display: grid;
  align-content: start;
  gap: 12px;
  text-align: left;
  text-decoration: none !important;
  transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}
.click-card:hover {
  color: var(--ink);
  transform: translateY(-3px);
  border-color: rgba(201, 168, 76, 0.58);
  background: rgba(253, 248, 240, 0.1);
  box-shadow: 0 24px 54px rgba(7, 20, 42, 0.24);
}
.click-card > span {
  color: var(--champagne);
  font-size: 20px;
  font-weight: 800;
  line-height: 1.2;
}
.click-card p {
  margin: 0 !important;
  color: var(--ink-soft) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  text-align: left !important;
}
.client-standard-quote {
  margin: 22px 0;
  padding: 18px 20px;
  border-left: 4px solid var(--champagne);
  background: rgba(201, 168, 76, 0.12);
  color: var(--ink);
}
.client-standard-quote p {
  margin: 0 0 10px;
  color: inherit !important;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.55;
}
.client-standard-quote cite {
  display: block;
  color: var(--ink-soft);
  font-size: 13px;
  font-style: normal;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.click-card p *,
.velvet-home .section-heading p:not(.section-eyebrow) *,
.velvet-home .editorial-copy p * {
  color: var(--ink-soft) !important;
  font-weight: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}
.imported-section .click-card-grid { max-width: 1120px; margin-left: auto; margin-right: auto; }

@media (max-width: 1100px) {
  .market-stats-grid,
  .trust-badge-row,
  .click-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .weekly-stats-panel .weekly-stats-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .market-stats-grid,
  .trust-badge-row,
  .click-card-grid { grid-template-columns: 1fr; }
  .social-icons-strip { align-items: stretch; flex-direction: column; }
  .social-icons-strip a { width: 100%; }
  .market-stats-band {
    width: min(100% - 24px, 1180px);
    padding: 24px 16px;
  }
  .market-stats-grid article {
    min-height: 112px;
  }
}

/* =====================================================================
   Velvet team homepage pass
   ===================================================================== */
.velvet-home {
  background: var(--velvet-deep);
}
.velvet-home .section-heading h2,
.velvet-home .editorial-copy h2,
.velvet-home .faq-teaser h2 {
  color: var(--champagne);
  font-weight: 800;
}
.velvet-home .section-heading p:not(.section-eyebrow),
.velvet-home .editorial-copy p,
.velvet-home .faq-teaser p,
.velvet-home .area-section p {
  color: var(--ink-soft) !important;
  font-size: clamp(17px, 1.45vw, 20px);
  font-weight: 500;
  line-height: 1.6;
}
.velvet-home p :where(a, strong, b, em, span, small) {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}
.velvet-hero {
  min-height: min(760px, 90dvh);
}
.velvet-hero .hero-overlay {
  background:
    linear-gradient(90deg, rgba(7, 20, 42, 0.9), rgba(7, 20, 42, 0.58) 48%, rgba(7, 20, 42, 0.26)),
    linear-gradient(180deg, rgba(7, 20, 42, 0.1), rgba(7, 20, 42, 0.72));
}
.velvet-hero-inner {
  max-width: 1180px;
}
.velvet-hero h1 {
  max-width: 640px;
  margin: 0 0 16px;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size: clamp(30px, 4vw, 48px);
  font-weight: 500;
  line-height: 1.25;
  color: var(--white);
  letter-spacing: 0;
  text-transform: uppercase;
}
.amp,
.hero-amp,
.velvet-hero .hero-amp {
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: 500;
}

/* =====================================================================
   Footer, nav width, and centered-card polish (2026-06-18)
   Keeps the approved dark luxury direction while reducing footer height
   and preventing partial card rows from hugging the left edge.
   ===================================================================== */
@media (min-width: 1180px) {
  .site-header {
    padding-inline: clamp(18px, 2.8vw, 56px);
  }

  .header-inner {
    max-width: 1680px;
    gap: clamp(14px, 1.3vw, 28px);
  }

  .desktop-nav {
    gap: clamp(8px, 1vw, 16px);
  }

  .desktop-nav a,
  .nav-dropdown-btn {
    padding-inline: clamp(8px, 0.7vw, 12px);
  }
}

.site-footer {
  padding-block: clamp(38px, 5vw, 54px) 24px;
}

.footer-grid {
  max-width: 1500px;
  grid-template-columns: minmax(260px, 1.15fr) minmax(220px, 0.8fr) minmax(280px, 1fr);
  gap: clamp(16px, 2.4vw, 32px) clamp(20px, 3vw, 44px);
  align-items: start;
}

.footer-grid > div:first-child {
  grid-column: 1;
  grid-row: 2;
}

.footer-grid > div:nth-child(2) {
  grid-column: 1 / -1;
  grid-row: 1;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 2px clamp(14px, 1.6vw, 24px);
  align-items: start;
  padding: 18px clamp(18px, 2vw, 26px);
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid var(--line);
  border-radius: 8px;
}

.footer-grid > div:nth-child(2) .footer-heading {
  grid-column: 1 / -1;
  margin-bottom: 4px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

.footer-grid > div:nth-child(2) a {
  justify-content: flex-start;
  min-height: 30px;
  margin-bottom: 0;
  padding: 0;
  font-size: 13px;
  line-height: 1.35;
  white-space: nowrap;
  color: rgba(253, 248, 240, 0.78);
}

.footer-grid > div:nth-child(2) a:hover {
  color: var(--champagne);
}

.footer-grid > div:nth-child(3) {
  grid-column: 2;
  grid-row: 2;
}

.footer-grid > div:nth-child(4) {
  grid-column: 3;
  grid-row: 2;
}

.site-footer a,
.legal-links a {
  min-height: 30px;
  line-height: 1.35;
}

.site-footer a,
.site-footer p {
  margin-bottom: 6px;
}

.footer-logo {
  width: 72px;
  height: 72px;
  margin-bottom: 12px;
}

.legal {
  max-width: 1500px;
  margin-top: 24px;
  padding-top: 16px;
}

.legal-disclosure-panel {
  padding: clamp(16px, 2vw, 22px);
}

@media (min-width: 900px) {
  .legal {
    grid-template-columns: minmax(0, 2.1fr) minmax(260px, 0.9fr);
    gap: 8px 24px;
    align-items: start;
  }

  .legal-disclosure-panel {
    grid-column: 1;
    grid-row: 1 / span 4;
  }

  .legal-links,
  .legal > p {
    grid-column: 2;
  }

  .legal-links {
    gap: 4px 14px;
  }

  .legal-links a {
    min-height: 24px;
    font-size: 12px;
    line-height: 1.3;
  }

  .legal p {
    font-size: 12px;
    line-height: 1.35;
  }

  .legal-disclosure-panel {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px 18px;
  }

  .legal-disclosure-panel .footer-heading {
    grid-column: 1 / -1;
  }
}

@media (min-width: 900px) {
  .guide-card-grid,
  .specialization-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: 1120px;
    margin-left: auto;
    margin-right: auto;
  }

  .related-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 340px));
    justify-content: center;
  }

  .blog-grid,
  .blog-recent-grid,
  .copy-grid,
  .click-card-grid,
  .trust-badge-row {
    justify-content: center;
  }
}

@media (max-width: 1100px) and (min-width: 641px) {
  .guide-card-grid,
  .specialization-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

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

  .footer-grid > div:first-child,
  .footer-grid > div:nth-child(2),
  .footer-grid > div:nth-child(3),
  .footer-grid > div:nth-child(4) {
    grid-column: auto;
    grid-row: auto;
  }

  .footer-grid > div:nth-child(2) {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2px 18px;
  }
}

@media (max-width: 560px) {
  .footer-grid > div:nth-child(2) {
    grid-template-columns: 1fr;
  }
}

.footer-grid > div.footer-nav-panel {
  grid-column: 1 / -1;
  grid-row: 1;
  display: block;
  padding: 20px clamp(18px, 2vw, 28px);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.045), rgba(255, 255, 255, 0.025));
  border: 1px solid var(--line);
  border-radius: 8px;
}

.footer-nav-panel .footer-heading {
  margin-bottom: 14px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

.footer-nav-groups {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(18px, 2.4vw, 34px);
}

.footer-nav-group {
  display: grid;
  gap: 5px;
  align-content: start;
}

.footer-nav-group span {
  color: var(--champagne);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-bottom: 5px;
}

.footer-nav-group a {
  justify-content: flex-start;
  min-height: 26px;
  margin-bottom: 0;
  padding: 0;
  color: rgba(253, 248, 240, 0.78);
  font-size: 13px;
  line-height: 1.35;
}

.footer-nav-group a:hover {
  color: var(--champagne);
}

@media (max-width: 900px) {
  .footer-nav-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .footer-nav-groups {
    grid-template-columns: 1fr;
  }
}
.velvet-hero .hero-copy {
  max-width: 540px;
  color: rgba(253, 248, 240, 0.8);
  font-size: clamp(16px, 1.55vw, 18px);
  line-height: 1.625;
}
.velvet-location-row,
.velvet-hero-subtitle {
  margin: 0 0 14px;
  color: rgba(253, 248, 240, 0.88);
  font-weight: 800;
}
.velvet-location-row {
  font-size: clamp(14px, 1.5vw, 17px);
}
.velvet-hero-subtitle {
  font-size: clamp(17px, 2vw, 22px);
}
.velvet-market-band {
  margin-top: clamp(26px, 5vw, 54px);
}
.velvet-three-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.velvet-four-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.velvet-static-card {
  color: var(--white);
}
.velvet-static-card:hover {
  transform: none;
  background: rgba(253, 248, 240, 0.06);
  box-shadow: 0 18px 40px rgba(7, 20, 42, 0.16);
}
.velvet-specializations {
  padding-bottom: clamp(42px, 6vw, 76px);
}
.velvet-team-bios {
  padding-top: clamp(46px, 6vw, 82px);
}
.velvet-bio-layout {
  width: min(1080px, 100%);
  margin: 34px auto 0;
  display: grid;
  grid-template-columns: minmax(280px, 0.9fr) minmax(0, 1.1fr);
  gap: clamp(22px, 4vw, 42px);
  align-items: center;
}
.velvet-bio-layout .image-panel {
  margin: 0;
}
.velvet-bio-cards {
  display: grid;
  gap: 16px;
}
.velvet-bio-cards .click-card {
  min-height: 190px;
}
.velvet-reviews {
  width: min(1060px, 100%);
  margin: 32px auto 0;
}
.velvet-proof {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.78fr);
  gap: clamp(22px, 4vw, 44px);
  align-items: center;
}
.velvet-proof .wide-image {
  margin: 0;
}
.velvet-proof .editorial-copy {
  max-width: none;
}
.velvet-final-cta {
  margin-bottom: 0;
}
@media (max-width: 1100px) {
  .velvet-three-grid,
  .velvet-four-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .velvet-bio-layout,
  .velvet-proof {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 900px) {
  .weekly-stats-panel .weekly-stats-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .velvet-hero {
    min-height: 84dvh;
  }
  .velvet-hero .hero-overlay {
    background:
      linear-gradient(180deg, rgba(7, 20, 42, 0.35), rgba(7, 20, 42, 0.88)),
      linear-gradient(0deg, rgba(7, 20, 42, 0.22), rgba(7, 20, 42, 0.22));
  }
  .velvet-location-row {
    max-width: 24ch;
  }
  .velvet-three-grid,
  .velvet-four-grid {
    grid-template-columns: 1fr;
  }
  .velvet-specializations {
    padding-bottom: 42px;
  }
  .velvet-team-bios {
    padding-top: 42px;
  }
  .team-section,
  .editorial,
  .split-feature,
  .velvet-proof,
  .velvet-bio-layout,
  .team-copy,
  .editorial-copy,
  .wide-image,
  .image-panel,
  .check-list {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }
}

/* =====================================================================
   Huzi typography and blog mirror pass (2026-06-18)
   Applies the Huzi font system site-wide and gives the blog index the
   same compact editorial structure while preserving VRG content.
   ===================================================================== */
:root {
  --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body: 'Montserrat', Helvetica, Arial, sans-serif;
}

body,
button,
input,
select,
textarea {
  font-family: var(--font-body);
}

h1,
h2,
.h2-heading,
.font-display {
  font-family: var(--font-display);
  font-weight: 500;
  letter-spacing: 0;
}

h1 {
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.25;
}

h2,
.h2-heading {
  font-size: clamp(30px, 4.1vw, 48px);
  line-height: 1.15;
}

h3 {
  font-family: var(--font-display);
  font-size: clamp(20px, 1.8vw, 24px);
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0;
}

p,
li,
.imported-content,
.hero-copy {
  font-size: clamp(14px, 1.05vw, 16px);
  line-height: 1.72;
}

.hero-kicker,
.section-eyebrow,
.section-label,
.blog-kicker,
.blog-category-pill,
.blog-post-date,
.blog-post-category,
.blog-count {
  font-family: var(--font-body);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: 0.25em;
  text-transform: uppercase;
}

.button,
.phone-link,
.desktop-nav > a,
.desktop-nav > .nav-item-dropdown > .nav-dropdown-btn,
.mobile-nav a {
  font-family: var(--font-body);
}

.button {
  font-size: 14px;
  letter-spacing: 0.02em;
}

.desktop-nav > a,
.desktop-nav > .nav-item-dropdown > .nav-dropdown-btn {
  font-size: 14px;
  font-weight: 600;
}

.nav-dropdown-panel a {
  font-size: 14px;
}

.content-hero .hero-copy,
.velvet-hero .hero-copy {
  font-size: clamp(16px, 1.55vw, 18px);
}

.imported-content h2,
.imported-content .h2-heading {
  font-size: clamp(30px, 4.1vw, 48px);
}

.imported-content h3 {
  font-size: clamp(20px, 1.8vw, 24px);
}

.copy-grid p,
.related-card p,
.blog-card p,
.click-card p,
.area-cards p {
  font-size: 14px !important;
  line-height: 1.7 !important;
}

.blog-index-page {
  background: #e7e1d6;
}

.blog-huzi-hero {
  padding: clamp(112px, 14vw, 144px) 0 clamp(38px, 6vw, 54px);
  background: var(--velvet-deep);
  border-bottom: 1px solid rgba(253, 248, 240, 0.06);
}

.blog-huzi-inner,
.blog-huzi-container {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.blog-huzi-title-row {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}

.blog-huzi-label {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  color: var(--champagne);
}

.blog-huzi-label::before,
.blog-huzi-label::after,
.blog-newsletter-heading .blog-huzi-label::before,
.blog-newsletter-heading .blog-huzi-label::after {
  content: "";
  width: 32px;
  height: 1px;
  background: var(--champagne);
}

.blog-huzi-hero h1 {
  margin: 0 0 14px;
  color: var(--white);
}

.blog-huzi-hero p {
  max-width: 640px;
  margin: 0;
  color: rgba(253, 248, 240, 0.55);
}

.blog-updated {
  color: rgba(253, 248, 240, 0.34);
  font-size: 12px;
  white-space: nowrap;
}

.blog-filter-bar {
  background: var(--velvet-deep);
  border-bottom: 1px solid rgba(253, 248, 240, 0.06);
}

.blog-filter-scroll {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 14px 0;
  scrollbar-width: thin;
}

.blog-category-pill {
  flex: 0 0 auto;
  min-height: 38px;
  padding: 0 16px;
  border: 1px solid rgba(253, 248, 240, 0.12);
  border-radius: 0;
  color: rgba(253, 248, 240, 0.56);
  background: transparent;
  cursor: pointer;
  transition: color 180ms ease, border-color 180ms ease, background-color 180ms ease;
}

.blog-category-pill:hover,
.blog-category-pill.is-active {
  color: var(--velvet-deep);
  border-color: var(--champagne);
  background: var(--champagne);
}

.blog-featured-section {
  padding: clamp(36px, 6vw, 64px) 0;
  background: var(--velvet-deep);
}

.blog-featured-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}

.blog-featured-card {
  position: relative;
  min-height: 310px;
  display: grid;
  align-content: end;
  overflow: hidden;
  border: 1px solid rgba(253, 248, 240, 0.08);
  background: var(--surface);
  transition: transform 180ms ease, border-color 180ms ease;
}

.blog-featured-card:hover {
  transform: translateY(-3px);
  border-color: rgba(201, 168, 76, 0.35);
  color: #0d1f3c;
}

.blog-featured-card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.68;
  transition: transform 260ms ease, opacity 260ms ease;
}

.blog-featured-card:hover img {
  transform: scale(1.035);
  opacity: 0.82;
}

.blog-featured-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(7, 20, 42, 0.1), rgba(7, 20, 42, 0.94));
}

.blog-featured-content {
  position: relative;
  z-index: 1;
  padding: 22px;
}

.blog-post-category {
  position: absolute;
  z-index: 2;
  top: 14px;
  left: 14px;
  padding: 6px 10px;
  color: var(--champagne);
  background: rgba(7, 20, 42, 0.8);
  border: 1px solid rgba(201, 168, 76, 0.18);
  font-size: 10px;
}

.blog-post-date {
  display: block;
  margin-bottom: 10px;
  color: rgba(253, 248, 240, 0.42);
  letter-spacing: 0.12em;
  font-size: 11px;
}

.blog-featured-card h2,
.blog-featured-card h3 {
  margin: 0 0 10px;
  color: var(--white);
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.18;
}

.blog-featured-card p {
  margin: 0;
  color: rgba(253, 248, 240, 0.68);
  font-size: 14px;
  line-height: 1.65;
}

.blog-archive-divider {
  background: var(--paper);
  color: rgba(253, 248, 240, 0.3);
}

.blog-archive-divider-inner {
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 10px 0;
}

.blog-archive-divider-inner::before,
.blog-archive-divider-inner::after {
  content: "";
  flex: 1;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(253, 248, 240, 0.1), transparent);
}

.blog-archive-divider span {
  font-size: 10px;
  letter-spacing: 0.25em;
  text-transform: uppercase;
}

.blog-archive-list-section {
  padding: clamp(26px, 5vw, 48px) 0 clamp(54px, 8vw, 76px);
  background: var(--paper);
}

.blog-archive-list-section .section-heading {
  width: min(860px, calc(100% - 32px));
  margin-left: auto;
  margin-right: auto;
  text-align: left;
}

.blog-archive-list-section .section-heading h2 {
  color: var(--white);
  font-size: clamp(30px, 4vw, 46px);
}

.blog-archive-list-section .section-heading p {
  margin-left: 0;
  color: rgba(253, 248, 240, 0.68);
}

.blog-archive-list {
  width: min(860px, calc(100% - 32px));
  margin: 0 auto;
  display: grid;
  gap: 8px;
}

.blog-year-block {
  display: grid;
  gap: 12px;
}

.blog-year-heading,
.blog-month-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0;
  padding: 14px 16px;
  background: rgba(253, 248, 240, 0.04);
  border: 1px solid rgba(253, 248, 240, 0.05);
}

.blog-year-heading span:first-child {
  color: var(--white);
  font-family: var(--font-display);
  font-size: clamp(18px, 2vw, 22px);
}

.blog-month-heading span:first-child {
  color: rgba(253, 248, 240, 0.82);
  font-weight: 600;
}

.blog-count {
  color: rgba(253, 248, 240, 0.34);
  letter-spacing: 0.1em;
}

.blog-month-posts {
  display: grid;
  gap: 8px;
}

.blog-post-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 13px 16px;
  background: rgba(253, 248, 240, 0.035);
  border: 1px solid rgba(253, 248, 240, 0.055);
  border-radius: 8px;
  transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.blog-post-row:hover {
  color: var(--ink);
  background: rgba(253, 248, 240, 0.065);
  border-color: rgba(253, 248, 240, 0.06);
  transform: translateX(2px);
}

.blog-post-row-title {
  display: block;
  margin-bottom: 4px;
  color: rgba(253, 248, 240, 0.82);
  font-size: clamp(14px, 1.05vw, 16px);
  font-weight: 600;
  line-height: 1.4;
}

.blog-post-row:hover .blog-post-row-title {
  color: var(--white);
}

.blog-post-row-meta {
  color: rgba(253, 248, 240, 0.36);
  font-size: 12px;
  line-height: 1.35;
}

.blog-row-arrow {
  color: rgba(253, 248, 240, 0.28);
  font-size: 20px;
}

.blog-newsletter-section,
.blog-question-section {
  background: var(--paper);
  border-top: 1px solid rgba(253, 248, 240, 0.06);
}

.blog-newsletter-section {
  padding: clamp(54px, 8vw, 80px) 0;
}

.blog-newsletter-heading {
  width: min(680px, calc(100% - 32px));
  margin: 0 auto 28px;
  text-align: center;
}

.blog-newsletter-heading .blog-huzi-label {
  justify-content: center;
}

.blog-newsletter-heading h2,
.blog-question-section h2 {
  margin: 0 0 12px;
  color: var(--white);
  font-size: clamp(26px, 3vw, 36px);
}

.blog-newsletter-heading p,
.blog-question-section p {
  margin: 0 auto;
  max-width: 560px;
  color: rgba(253, 248, 240, 0.48);
}

.blog-newsletter-form {
  width: min(680px, calc(100% - 32px));
  margin: 0 auto;
  padding: clamp(22px, 4vw, 32px);
  display: grid;
  gap: 16px;
  background: var(--surface);
  border: 1px solid rgba(253, 248, 240, 0.08);
}

.blog-newsletter-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.blog-newsletter-form label {
  display: grid;
  gap: 7px;
  color: rgba(253, 248, 240, 0.58);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.blog-newsletter-form input {
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid rgba(253, 248, 240, 0.1);
  background: rgba(7, 20, 42, 0.58);
  color: var(--white);
}

.blog-newsletter-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.blog-newsletter-options label {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-height: 52px;
  padding: 12px;
  border: 1px solid rgba(253, 248, 240, 0.06);
  background: rgba(7, 20, 42, 0.38);
  color: rgba(253, 248, 240, 0.76);
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: none;
}

.blog-newsletter-options input {
  min-height: auto;
  accent-color: var(--champagne);
}

.blog-question-section {
  padding: 48px 0 58px;
  text-align: center;
}

.blog-question-section .button {
  margin-top: 24px;
}

/* =====================================================================
   Buyer and seller guide lead capture
   ===================================================================== */
.guide-capture-page {
  background: var(--velvet-deep);
}

.guide-hero .hero-overlay {
  background:
    linear-gradient(90deg, rgba(7, 20, 42, 0.88), rgba(7, 20, 42, 0.58) 52%, rgba(7, 20, 42, 0.26)),
    linear-gradient(180deg, rgba(7, 20, 42, 0.1), rgba(7, 20, 42, 0.72));
}

.guide-lead-section {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.72fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: start;
}

.guide-lead-copy h2,
.guide-trust-section h2 {
  color: var(--champagne);
}

.guide-lead-copy > p,
.guide-trust-section .section-heading p {
  color: var(--ink-soft);
}

.guide-preview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 28px;
}

.guide-preview-grid article,
.guide-form,
.guide-response {
  background: var(--surface);
  border: 1px solid rgba(253, 248, 240, 0.08);
  border-radius: 8px;
  box-shadow: 0 20px 46px rgba(7, 20, 42, 0.22);
}

.guide-preview-grid article {
  padding: 20px;
}

.guide-preview-grid span,
.guide-form legend,
.guide-form label,
.form-success strong {
  display: block;
  color: var(--white);
  font-weight: 800;
}

.guide-preview-grid p {
  margin: 8px 0 0;
  color: var(--ink-soft);
}

.guide-form {
  padding: clamp(22px, 4vw, 32px);
  display: grid;
  gap: 16px;
}

.guide-form fieldset {
  margin: 0;
  padding: 0;
  border: 0;
  display: grid;
  gap: 10px;
}

.guide-form fieldset label {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 44px;
  padding: 10px 12px;
  background: rgba(253, 248, 240, 0.05);
  border: 1px solid rgba(253, 248, 240, 0.08);
  border-radius: 8px;
}

.guide-form input,
.guide-form select {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid rgba(253, 248, 240, 0.12);
  border-radius: 8px;
  background: rgba(7, 20, 42, 0.62);
  color: var(--white);
}

.guide-form input[type="checkbox"] {
  width: auto;
  min-height: auto;
  accent-color: var(--champagne);
}

.guide-form .field {
  display: grid;
  gap: 7px;
}

.guide-form .field label {
  color: rgba(253, 248, 240, 0.72);
  font-size: 12px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.guide-honey {
  position: absolute;
  left: -9999px;
}

.form-success {
  display: grid;
  gap: 6px;
  padding: 14px;
  background: rgba(215, 184, 79, 0.12);
  border: 1px solid rgba(215, 184, 79, 0.36);
  border-radius: 8px;
  color: var(--ink-soft);
}

.guide-success-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 6px;
}

.guide-success-links a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 12px;
  border: 1px solid rgba(215, 184, 79, 0.42);
  border-radius: 8px;
  color: var(--champagne);
  font-weight: 800;
}

.guide-trust-section {
  padding-top: clamp(46px, 7vw, 82px);
}

.guide-home-band {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding-block: clamp(42px, 6vw, 76px);
  border-top: 1px solid rgba(253, 248, 240, 0.08);
  border-bottom: 1px solid rgba(253, 248, 240, 0.08);
}

.guide-home-copy {
  max-width: 780px;
}

.guide-home-copy h2 {
  color: var(--champagne);
}

.guide-home-copy p:not(.section-eyebrow) {
  color: var(--ink-soft);
}

.guide-response {
  width: min(760px, calc(100% - 32px));
  margin: 96px auto;
  padding: clamp(24px, 5vw, 44px);
  color: var(--white);
}

.guide-response h1 {
  color: var(--white);
}

.guide-response p {
  color: var(--ink-soft);
}

@media (max-width: 900px) {
  .guide-lead-section,
  .guide-preview-grid,
  .guide-home-band {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .blog-featured-grid {
    grid-template-columns: 1fr;
  }

  .blog-featured-card {
    min-height: 260px;
  }
}

@media (max-width: 900px) {
  .weekly-stats-panel .weekly-stats-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  h1 {
    font-size: clamp(30px, 10vw, 42px);
  }

  h2,
  .h2-heading {
    font-size: clamp(28px, 9vw, 38px);
  }

  .blog-huzi-title-row {
    display: grid;
    align-items: start;
  }

  .blog-post-row {
    grid-template-columns: 1fr;
  }

  .blog-updated {
    white-space: normal;
  }

  .blog-newsletter-fields,
  .blog-newsletter-options {
    grid-template-columns: 1fr;
  }
}


/* Weekly market stats prominence + mobile fix (2026-06-22)
   Keeps the SABOR weekly cards high on the homepage and readable on narrow screens. */
.market-stats-band {
  margin-top: clamp(18px, 3.2vw, 40px);
}
.market-stats-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
}
.weekly-stats-panel {
  width: min(100%, 1120px);
  margin: clamp(28px, 5vw, 48px) auto;
  padding: clamp(24px, 4vw, 38px);
  display: grid;
  gap: clamp(18px, 3vw, 26px);
  text-align: center;
  background: linear-gradient(135deg, rgba(17, 33, 57, 0.98), rgba(7, 20, 42, 0.96));
  border: 1px solid rgba(201, 168, 76, 0.34);
  border-radius: 10px;
  box-shadow: var(--shadow);
}
.weekly-stats-panel h2,
.weekly-stats-panel .section-eyebrow,
.weekly-stats-panel strong {
  color: var(--champagne) !important;
}
.weekly-stats-panel p {
  color: var(--ink-soft) !important;
}
.weekly-stats-panel .weekly-stats-grid {
  margin: 0;
  grid-template-columns: repeat(3, minmax(260px, 1fr));
}
.market-stat-value {
  white-space: nowrap;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none;
}
@media (max-width: 900px) {
  .weekly-stats-panel .weekly-stats-grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 640px) {
  .market-stats-band {
    width: min(100% - 20px, 1180px);
    margin-top: 14px;
    padding: 22px 12px;
  }
  .market-stats-copy h2,
  .weekly-stats-panel h2 {
    font-size: clamp(25px, 8vw, 34px);
  }
  .market-stats-grid {
    grid-template-columns: 1fr !important;
    gap: 10px;
  }
  .market-stats-grid article {
    min-height: auto;
    padding: 16px 12px;
  }
  .market-stat-value {
    font-size: clamp(30px, 10vw, 42px);
    letter-spacing: 0;
    overflow-wrap: normal;
    word-break: keep-all;
  }
  .market-stat-label {
    font-size: 11px;
  }
}


/* Navigation restoration (2026-06-22): desktop dropdown tabs + grouped mobile menu. */
.desktop-nav {
  gap: clamp(2px, 0.35vw, 8px);
}
.nav-dropdown-panel a[aria-current="page"],
.mobile-nav a[aria-current="page"] {
  color: var(--champagne);
  border-bottom-color: transparent;
}
.mobile-nav-heading {
  display: block;
  margin: 14px 0 4px;
  padding: 8px 0 4px;
  color: var(--champagne);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  border-bottom: 1px solid rgba(201, 168, 76, 0.24);
}
.mobile-nav-heading:first-of-type {
  margin-top: 6px;
}
@media (min-width: 1241px) {
  .nav-item-dropdown:hover .nav-dropdown-panel {
    display: block;
  }
}

/* Deep area-guide cascade guard. The site has late global typography rules;
   these scoped declarations preserve their brand fonts while restoring
   readable contrast and section hierarchy on the new light and dark modules. */
.area-guide-body .deep-area-guide .area-guide-hero-copy h1 {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
  font-size: clamp(48px, 6vw, 84px) !important;
  font-weight: 700 !important;
  line-height: 0.99 !important;
  color: #FFFFFF !important;
}

.area-guide-body .deep-area-guide .area-section-heading h2,
.area-guide-body .deep-area-guide .area-guide-cta h2 {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
  font-size: clamp(30px, 4.5vw, 62px) !important;
  font-weight: 500 !important;
  line-height: 1.04 !important;
  color: #0d1f3c !important;
}

.area-guide-body .deep-area-guide .area-guide-section-dark .area-section-heading h2,
.area-guide-body .deep-area-guide .area-guide-cta h2 {
  color: #FFFFFF !important;
}

.area-guide-body .deep-area-guide .area-city-card h2 {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
  font-size: clamp(30px, 3vw, 46px) !important;
  font-weight: 600 !important;
  line-height: 1.12 !important;
  color: #0d1f3c !important;
}

.area-guide-body .deep-area-guide .area-neighborhood-card h3,
.area-guide-body .deep-area-guide .area-decision-grid h3,
.area-guide-body .deep-area-guide .area-source-group h3,
.area-guide-body .deep-area-guide .area-answer-grid strong {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
  color: #0d1f3c !important;
}

.area-guide-body .deep-area-guide .area-update-card h3,
.area-guide-body .deep-area-guide .area-hierarchy-list > li > div > a {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
  color: #FFFFFF !important;
}

.area-guide-body .deep-area-guide .area-research-card strong {
  color: #0d1f3c !important;
}

.area-guide-body .deep-area-guide .area-research-card > span,
.area-guide-body .deep-area-guide .area-answer-grid article > span,
.area-guide-body .deep-area-guide .area-card-topline > span,
.area-guide-body .deep-area-guide .area-city-card time {
  color: #5e6878 !important;
}

.area-guide-body .deep-area-guide .area-guide-hero-copy > p:not(.hero-kicker),
.area-guide-body .deep-area-guide .area-guide-cta p:last-child {
  color: rgba(253, 248, 240, 0.88) !important;
}

.area-guide-body .deep-area-guide .area-section-heading > p:last-child,
.area-guide-body .deep-area-guide .area-answer-grid p,
.area-guide-body .deep-area-guide .area-city-card > p,
.area-guide-body .deep-area-guide .area-neighborhood-card > p,
.area-guide-body .deep-area-guide .area-decision-grid > article > p,
.area-guide-body .deep-area-guide .area-source-group li,
.area-guide-body .deep-area-guide .area-callout p,
.area-guide-body .deep-area-guide .area-faq-list details p {
  color: #40506a !important;
}

.area-guide-body .deep-area-guide .area-guide-section-dark .area-section-heading > p:last-child,
.area-guide-body .deep-area-guide .area-guide-section-dark .area-update-card p,
.area-guide-body .deep-area-guide .area-guide-section-dark .area-hierarchy-list > li > div > span,
.area-guide-body .deep-area-guide .area-guide-section-dark .area-hierarchy-list li li a {
  color: rgba(253, 248, 240, 0.8) !important;
}

.area-guide-body .deep-area-guide .area-faq-list summary {
  color: #0d1f3c !important;
}

.area-guide-body .deep-area-guide .area-tax-table th {
  color: #0d1f3c !important;
}

.area-guide-body .deep-area-guide .area-tax-table td,
.area-guide-body .deep-area-guide .area-tax-table caption {
  color: #40506a !important;
}

@media (max-width: 600px) {
  .area-guide-body .deep-area-guide .area-guide-hero-copy h1 {
    font-size: clamp(42px, 12vw, 58px) !important;
  }
}

/* =====================================================================
   Huzi reference typography match (2026-06-22)
   Tightens the header/hero to the luxury proportions in the Huzi comps.
   ===================================================================== */
.site-header {
  padding: 0 clamp(22px, 3.2vw, 44px);
  background: rgba(13, 31, 60, 0.985);
  border-bottom: 0;
  box-shadow: none;
}
.header-inner {
  min-height: 60px;
  max-width: 1180px;
  gap: clamp(18px, 2.1vw, 30px);
}
.brand {
  gap: 9px;
  min-height: 60px;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-weight: 500;
  letter-spacing: 0;
}
.brand img {
  width: 31px;
  height: 31px;
  border-radius: 0;
  box-shadow: none;
}
.brand-wordmark {
  display: grid;
  gap: 0;
  line-height: 1;
  white-space: nowrap;
}
.brand-wordmark strong {
  display: block;
  color: #fdf8f0;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: 0.01em;
}
.brand-wordmark small {
  display: block;
  margin-top: 4px;
  color: rgba(201, 168, 76, 0.92);
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
  font-size: 8px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}
.desktop-nav {
  gap: clamp(17px, 1.9vw, 28px);
}
.desktop-nav > a,
.desktop-nav > .nav-item-dropdown > .nav-dropdown-btn {
  min-height: 60px;
  min-width: 0;
  padding: 0;
  color: rgba(253, 248, 240, 0.82);
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
  font-size: clamp(13px, 0.95vw, 15px);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
}
.desktop-nav > a[aria-current="page"],
.desktop-nav > .nav-item-dropdown.open > .nav-dropdown-btn,
.nav-dropdown-btn:hover {
  color: var(--champagne);
  background: transparent;
  border-bottom: 0;
}
.nav-dropdown-arrow {
  margin-left: 3px;
  font-size: 0.72em;
  color: currentColor;
}
.nav-dropdown-panel {
  top: calc(100% + 20px);
  left: 50%;
  min-width: 398px;
  padding: 25px 28px;
  background: rgba(5, 18, 38, 0.985);
  border: 1px solid rgba(201, 168, 76, 0.22);
  border-radius: 12px;
  box-shadow: 0 26px 70px rgba(0, 0, 0, 0.36), inset 0 1px 0 rgba(253, 248, 240, 0.04);
  backdrop-filter: blur(16px);
}
.nav-dropdown-panel a {
  display: block;
  min-height: 0;
  padding: 14px 0;
  color: rgba(253, 248, 240, 0.76);
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
  font-size: clamp(22px, 1.95vw, 28px);
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.01em;
  border-radius: 0;
}
.nav-dropdown-panel a:hover {
  background: transparent;
  color: var(--champagne);
}
.nav-dropdown-label {
  display: block;
  padding: 14px 0 12px;
  color: rgba(201, 168, 76, 0.72);
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}
.header-actions {
  gap: 9px;
}
.language-toggle {
  min-height: 40px;
  border-radius: 999px;
  background: transparent;
  border-color: rgba(253, 248, 240, 0.22);
  box-shadow: none;
}
.language-toggle button {
  min-width: 34px;
  min-height: 32px;
  border-radius: 999px;
  color: rgba(253, 248, 240, 0.86);
  font-size: 11px;
  font-weight: 600;
}
.language-toggle button[aria-pressed="true"] {
  color: #fdf8f0;
  background: transparent;
  box-shadow: none;
}
.phone-link {
  min-height: 60px;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.button-small {
  display: none;
}
.velvet-hero {
  min-height: 578px;
  align-items: end;
}
.velvet-hero .hero-overlay {
  background:
    linear-gradient(90deg, rgba(5, 18, 38, 0.9) 0%, rgba(5, 18, 38, 0.56) 39%, rgba(5, 18, 38, 0.12) 73%, rgba(5, 18, 38, 0.02) 100%),
    linear-gradient(180deg, rgba(5, 18, 38, 0.08), rgba(5, 18, 38, 0.46));
}
.velvet-hero-inner {
  width: min(1104px, calc(100% - 72px));
  max-width: 1104px;
  padding: 74px 0 48px;
}
.velvet-location-row {
  width: fit-content;
  max-width: none;
  margin: 0 0 26px;
  display: flex;
  align-items: center;
  gap: 13px;
  color: rgba(201, 168, 76, 0.9);
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.28em;
  text-transform: uppercase;
}
.velvet-location-row::before,
.velvet-location-row::after {
  content: "";
  width: 44px;
  height: 1px;
  background: rgba(201, 168, 76, 0.9);
}
.velvet-hero .hero-kicker {
  display: none;
}
.velvet-hero h1 {
  max-width: 660px;
  margin: 0 0 17px;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size: clamp(40px, 3.75vw, 47px);
  font-weight: 500;
  line-height: 1.03;
  letter-spacing: 0;
  text-transform: uppercase;
}
.velvet-hero-subtitle {
  width: fit-content;
  margin: 0 0 14px;
  color: rgba(201, 168, 76, 0.94);
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.25;
  letter-spacing: 0.17em;
  text-transform: uppercase;
}
.velvet-hero .hero-copy {
  max-width: 500px;
  margin-bottom: 31px;
  color: rgba(253, 248, 240, 0.78);
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.58;
  letter-spacing: 0.005em;
}
.velvet-hero .button {
  min-height: 50px;
  border-radius: 0;
  padding-inline: 25px;
  font-size: 15px;
  font-weight: 600;
  box-shadow: none;
}
.velvet-hero .button-light {
  background: rgba(5, 18, 38, 0.12);
  border-color: rgba(253, 248, 240, 0.36);
}
@media (max-width: 1320px) {
  .header-inner { max-width: 1120px; gap: 16px; }
  .desktop-nav { gap: 17px; }
  .brand-wordmark strong { font-size: 15px; }
  .brand-wordmark small { font-size: 7px; letter-spacing: 0.24em; }
  .phone-link { font-size: 14px; }
}
@media (max-width: 1240px) {
  .desktop-nav { display: none; }
  .button-small { display: none; }
}
@media (max-width: 640px) {
  .site-header { padding: 0 16px; }
  .header-inner { min-height: 64px; }
  .brand img { width: 34px; height: 34px; }
  .brand-wordmark strong { font-size: 15px; }
  .brand-wordmark small { font-size: 7px; }
  .phone-link { display: none; }
  .velvet-hero { min-height: 84dvh; }
  .velvet-hero-inner { width: min(100% - 34px, 520px); padding: 104px 0 48px; }
  .velvet-location-row { flex-wrap: wrap; gap: 9px; font-size: 10px; letter-spacing: 0.18em; line-height: 1.6; }
  .velvet-location-row::before, .velvet-location-row::after { width: 36px; }
  .velvet-hero h1 { font-size: clamp(40px, 12vw, 58px); line-height: 1.02; }
  .velvet-hero-subtitle { font-size: 14px; letter-spacing: 0.14em; }
  .velvet-hero .hero-copy { font-size: 17px; line-height: 1.55; }
}

.nav-item-dropdown:nth-of-type(3) .nav-dropdown-panel { min-width: 398px; }
.nav-dropdown-panel .nav-dropdown-label + a { padding-top: 14px; }
.mobile-nav-subheading { color: rgba(201,168,76,.72); font-size: 11px; letter-spacing: .18em; text-transform: uppercase; }

/* Durable dropdown size rule (2026-06-22)
   Dropdown menu text should be readable and elegant, never oversized display type. */
.nav-dropdown-panel {
  top: calc(100% + 12px);
  min-width: 260px;
  max-width: min(92vw, 340px);
  max-height: calc(100vh - 92px);
  padding: 10px 14px;
  overflow-y: auto;
  overscroll-behavior: contain;
}
.nav-item-dropdown:nth-of-type(3) .nav-dropdown-panel {
  min-width: 286px;
}
.nav-dropdown-panel a {
  padding: 9px 2px;
  font-size: clamp(14px, 0.95vw, 16px);
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: 0.01em;
}
.nav-dropdown-label {
  padding: 10px 2px 8px;
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: 0.18em;
}
.nav-dropdown-panel .nav-dropdown-label + a {
  padding-top: 9px;
}

/* Competitor gap menu fix (2026-07-02): keep the expanded Buy/Sell menu visible. */
@media (min-width: 1241px) {
  .nav-item-dropdown:nth-of-type(3) .nav-dropdown-panel {
    width: min(92vw, 520px);
    min-width: min(92vw, 520px);
    max-width: min(92vw, 520px);
    column-count: 2;
    column-gap: 26px;
  }

  .nav-item-dropdown:nth-of-type(3) .nav-dropdown-panel a {
    break-inside: avoid;
    padding-block: 8px;
  }
}

/* Mortgage calculator + softer subheader sizing (2026-06-22)
   Copies the Huzi calculator structure while keeping Velvet colors. Also keeps
   card/table subheads lighter and closer to the reference site's quieter type. */
.mortgage-calculator-section {
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
  align-items: stretch;
  background: linear-gradient(90deg, #e7e1d6 0 50%, #fffdf8 50% 100%);
  color: #0d1f3c;
}
.mortgage-calculator-copy,
.mortgage-calculator-results {
  padding: clamp(46px, 6vw, 86px) clamp(24px, 5vw, 56px);
}
.mortgage-calculator-copy {
  max-width: 670px;
  justify-self: end;
}
.mortgage-calculator-section,
.mortgage-calculator-section * {
  color-scheme: light;
}
.mortgage-calculator-copy .section-eyebrow {
  color: var(--champagne) !important;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.22em;
}
.mortgage-calculator-copy h2 {
  margin: 0 0 18px;
  color: #0d1f3c !important;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size: clamp(34px, 4.2vw, 54px);
  font-weight: 400;
  line-height: 1.08;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.mortgage-calculator-copy > p:not(.section-eyebrow) {
  max-width: 560px;
  color: rgba(13, 31, 60, 0.78) !important;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.6;
}
.velvet-mortgage-calculator {
  margin-top: clamp(28px, 4vw, 38px);
}
.calculator-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px 40px;
}
.calculator-fields label {
  display: grid;
  gap: 6px;
  color: #0d1f3c !important;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.02em;
}
.calculator-fields input,
.calculator-fields select {
  width: 100%;
  min-height: 35px;
  border: 0;
  border-bottom: 1px solid rgba(13, 31, 60, 0.74);
  border-radius: 0;
  padding: 0 0 7px;
  background: transparent;
  color: #0d1f3c !important;
  font-size: 15px;
  font-weight: 400;
  line-height: 1.2;
  outline: 0;
}

.calculator-fields input[type="hidden"] {
  display: none !important;
}
.calculator-fields input:focus,
.calculator-fields select:focus {
  border-bottom-color: var(--champagne);
  box-shadow: 0 1px 0 var(--champagne);
}
.split-input,
.rate-input {
  display: flex;
  align-items: end;
  gap: 10px;
  border-bottom: 1px solid rgba(13, 31, 60, 0.74);
}
.split-input input,
.rate-input input {
  border-bottom: 0;
  min-height: 35px;
  padding-bottom: 7px;
}
.split-input input:first-child { flex: 1 1 auto; }
.split-input input:nth-child(2) { flex: 0 0 58px; text-align: right; }
.split-input span,
.rate-input span { padding-bottom: 8px; color: #0d1f3c !important; font-size: 14px; }
.calculator-reset {
  margin-top: 56px;
  padding: 0 0 4px;
  border: 0;
  border-bottom: 1px solid currentColor;
  background: transparent;
  color: #0d1f3c !important;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
}
.mortgage-calculator-results {
  display: grid;
  align-content: center;
  gap: 34px;
  justify-items: center;
  background: #fffdf8;
}
.payment-donut {
  --principal: 74;
  --taxes: 23;
  --hoa: 0;
  --insurance: 3;
  --pmi: 0;
  width: clamp(190px, 21vw, 225px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(#0d1f3c 0 calc(var(--principal) * 1%), #40566d 0 calc((var(--principal) + var(--taxes)) * 1%), #8393a2 0 calc((var(--principal) + var(--taxes) + var(--hoa)) * 1%), #b6c0c8 0 calc((var(--principal) + var(--taxes) + var(--hoa) + var(--insurance)) * 1%), #c9a84c 0 100%);
}
.payment-donut > div {
  width: 68%;
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 4px;
  border-radius: 50%;
  background: #fffdf8;
  text-align: center;
}
.payment-donut strong {
  display: block;
  color: #0d1f3c;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size: clamp(24px, 2.2vw, 30px);
  font-weight: 400;
  line-height: 1;
}
.payment-donut span {
  color: #0d1f3c !important;
  font-size: 13px;
  font-weight: 400;
}
.payment-breakdown {
  width: min(520px, 100%);
  margin: 0;
  padding-bottom: 26px;
  border-bottom: 1px solid rgba(13, 31, 60, 0.78);
  display: grid;
  gap: 17px;
}
.payment-breakdown div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
}
.payment-breakdown dt,
.payment-breakdown dd {
  margin: 0;
  color: #0d1f3c !important;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.3;
}
.payment-breakdown dt {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  text-decoration: underline;
  text-underline-offset: 0.14em;
}
.payment-breakdown dd { text-align: right; font-weight: 400; }
.swatch { width: 12px; height: 12px; border-radius: 3px; flex: 0 0 12px; background: #0d1f3c; }
.swatch.taxes { background: #40566d; }
.swatch.hoa { background: #8393a2; }
.swatch.insurance { background: #b6c0c8; }
.swatch.pmi { background: #c9a84c; }
.calculator-note {
  width: min(520px, 100%);
  margin: 0;
  color: rgba(13, 31, 60, 0.64) !important;
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
}
/* Softer sitewide subheaders: closer to Huzi's lighter, quieter hierarchy. */
.copy-grid article h3,
.process-item h3,
.click-card > span,
.related-card > span,
.blog-card h3,
.premium-card h3,
.path-card h3 {
  font-weight: 400 !important;
  letter-spacing: 0.01em;
}
.copy-grid article h3,
.process-item h3 {
  font-size: clamp(19px, 1.8vw, 24px);
  line-height: 1.22;
}
.data-table th {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.1em;
}
.mortgage-program-table td:first-child {
  font-weight: 500;
}
@media (max-width: 900px) {
  .mortgage-calculator-section {
    grid-template-columns: 1fr;
    background: #e7e1d6;
  }
  .mortgage-calculator-copy,
  .mortgage-calculator-results {
    max-width: none;
    justify-self: stretch;
    padding-inline: 20px;
  }
  .mortgage-calculator-results { background: #fffdf8; }
}
@media (max-width: 640px) {
  .calculator-fields { grid-template-columns: 1fr; gap: 18px; }
  .calculator-reset { margin-top: 34px; }
  .payment-breakdown div { grid-template-columns: 1fr; gap: 4px; }
  .payment-breakdown dd { padding-left: 24px; text-align: left; }
}

/* Mortgage guide page readability correction (2026-06-22)
   Keep the Huzi-lightened weights, but preserve readable cream/champagne text on
   Velvet's dark mortgage guide sections. */
.mortgage-guide-page .process-section > h2,
.mortgage-guide-page .copy-deep .section-heading h2,
.mortgage-guide-page .faq-list > h2,
.mortgage-guide-page .related-links .h2-heading,
.mortgage-guide-page .contact-band .h2-heading {
  color: #fdf8f0 !important;
  font-weight: 400 !important;
  letter-spacing: 0.01em;
}
.mortgage-guide-page .section-heading p:not(.section-eyebrow),
.mortgage-guide-page .copy-note,
.mortgage-guide-page .faq-list details p {
  color: rgba(253, 248, 240, 0.74) !important;
  font-weight: 400 !important;
}
.mortgage-guide-page .process-item h3,
.mortgage-guide-page .copy-grid article h3,
.mortgage-guide-page .related-card > span {
  color: #fdf8f0 !important;
  font-weight: 400 !important;
}
.mortgage-guide-page .process-item p,
.mortgage-guide-page .copy-grid article p,
.mortgage-guide-page .related-card p {
  color: rgba(253, 248, 240, 0.78) !important;
  font-weight: 400 !important;
}

/* Durable Huzi typography parity and ampersand rule (2026-06-25) */
:root {
  --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body: 'Montserrat', Helvetica, Arial, sans-serif;
}

body,
button,
input,
select,
textarea,
label,
summary {
  font-family: var(--font-body);
}

h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h2-heading,
.font-display,
.brand,
.brand-wordmark strong,
.blog-year-heading span:first-child {
  font-family: var(--font-display);
}

p,
li,
a,
span,
div,
small,
strong,
em,
button,
input,
select,
textarea,
label,
summary,
.font-body,
.hero-copy,
.velvet-hero .hero-copy,
.velvet-hero-subtitle,
.velvet-location-row,
.hero-kicker,
.section-eyebrow,
.section-label,
.blog-kicker,
.blog-category-pill,
.blog-post-date,
.blog-post-category,
.blog-count,
.button,
.phone-link,
.desktop-nav > a,
.desktop-nav > .nav-item-dropdown > .nav-dropdown-btn,
.nav-dropdown-panel a,
.nav-dropdown-label,
.mobile-nav a,
.site-footer,
.site-footer h2,
.site-footer h3,
.site-footer .footer-heading,
.footer-col-heading,
.footer-nav-group span,
.market-stat-value,
.market-stat-label {
  font-family: var(--font-body);
}

/* Every rendered ampersand is forced to Montserrat, even inside serif headings. */
.amp,
.hero-amp,
.ampersand,
[data-ampersand='true'] {
  font-family: var(--font-body) !important;
  font-style: normal !important;
  font-weight: inherit;
  letter-spacing: inherit;
}

/* Durable requested title/body/button typography system (2026-06-25) */
:root {
  --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font-body: 'Montserrat', Helvetica, Arial, sans-serif;
  --font-ui: 'Montserrat', Helvetica, Arial, sans-serif;
  --type-white: #FFFFFF;
  --type-gold: #C5A059;
  --type-blue: #0B1E36;
  --type-muted-blue: #A3B1C6;
}

/* All Main Titles (H1) */
h1,
.velvet-hero h1,
.content-hero h1,
.imported-content h1,
.blog-huzi-hero h1 {
  font-family: var(--font-display) !important;
  font-size: 48px !important;
  font-weight: 700 !important;
  color: var(--type-white) !important;
}

/* All Sub-Headers (H2) */
h2,
.h2-heading,
.imported-content h2,
.imported-content .h2-heading,
.blog-newsletter-heading h2,
.blog-question-section h2,
.mortgage-calculator-copy h2,
.velvet-home .section-heading h2,
.velvet-home .editorial-copy h2,
.velvet-home .faq-teaser h2,
.mortgage-guide-page .process-section > h2,
.mortgage-guide-page .copy-deep .section-heading h2 {
  font-family: var(--font-ui) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--type-gold) !important;
  line-height: 1.45 !important;
}

/* All Section/Card Headings (H3) */
h3,
.imported-content h3,
.copy-grid article h3,
.process-item h3,
.blog-card h3,
.premium-card h3,
.path-card h3,
.mortgage-guide-page .process-item h3,
.mortgage-guide-page .copy-grid article h3 {
  font-family: var(--font-display) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  color: var(--type-white) !important;
  line-height: 1.25 !important;
}

/* Card heading elements that are spans rather than literal H3s. Keep this
   scoped to direct/title spans so inline text spans inside body copy do not
   inherit heading sizing. */
.click-card > span,
.related-card > span,
.blog-year-heading span:first-child,
.guide-preview-grid > span,
.guide-form legend,
.form-success strong {
  font-family: var(--font-display) !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  color: var(--type-white) !important;
  line-height: 1.25 !important;
}

/* All Small Taglines / Kickers */
.hero-kicker,
.section-eyebrow,
.section-label,
.blog-kicker,
.blog-category-pill,
.blog-post-date,
.blog-post-category,
.blog-count,
.blog-huzi-label,
.blog-huzi-label span,
.blog-post-row-meta,
.nav-dropdown-label,
.footer-col-heading,
.footer-nav-group span,
.velvet-location-row,
.velvet-hero-subtitle,
.mobile-nav-heading,
.mobile-nav-subheading,
.mortgage-calculator-copy .section-eyebrow,
.guide-form .field label,
.blog-newsletter-form label,
.market-stat-label {
  font-family: var(--font-ui) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--type-gold) !important;
  text-transform: uppercase !important;
}

/* All Paragraphs / Body Text */
body,
p,
li,
.imported-content,
.imported-content p,
.hero-copy,
.velvet-hero .hero-copy,
.copy-grid p,
.related-card p,
.blog-card p,
.click-card p,
.area-cards p,
.velvet-home .section-heading p:not(.section-eyebrow),
.velvet-home .editorial-copy p,
.velvet-home .faq-teaser p,
.velvet-home .area-section p,
.mortgage-guide-page .section-heading p:not(.section-eyebrow),
.mortgage-guide-page .copy-note,
.mortgage-guide-page .faq-list details p,
.mortgage-guide-page .process-item p,
.mortgage-guide-page .copy-grid article p,
.mortgage-guide-page .related-card p,
.mortgage-calculator-copy > p:not(.section-eyebrow) {
  font-family: var(--font-ui) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  color: var(--type-muted-blue) !important;
  line-height: 1.6 !important;
}

/* Primary Buttons */
.button:not(.button-light):not(.button-dark):not(.button-secondary):not(.button-outline),
button.button:not(.button-light):not(.button-dark):not(.button-secondary):not(.button-outline),
input[type='submit'],
.header-search button,
.mobile-search button,
.contact-form .button,
.guide-form .button {
  font-family: var(--font-ui) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  background: var(--type-gold) !important;
  background-image: none !important;
  color: var(--type-blue) !important;
  border: 1px solid var(--type-gold) !important;
}

/* Secondary Buttons */
.button-light,
.button-dark,
.button-secondary,
.button-outline,
.content-hero .button-light,
.velvet-hero .button-light,
a[aria-label*='secondary'].button {
  font-family: var(--font-ui) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  background: transparent !important;
  background-image: none !important;
  border: 1px solid #FFFFFF !important;
  color: #FFFFFF !important;
}

.button:hover,
.button-light:hover,
.button-dark:hover,
.button-secondary:hover,
.button-outline:hover,
.header-search button:hover,
.mobile-search button:hover {
  background-image: none !important;
}

/* Every rendered ampersand remains Montserrat, regardless of surrounding text. */
.amp,
.hero-amp,
.ampersand,
[data-ampersand='true'] {
  font-family: 'Montserrat', Helvetica, Arial, sans-serif !important;
  font-style: normal !important;
}

/* Mobile screenshot corrections (2026-06-26): tighter card rhythm + better team photo framing. */
.image-panel .panel-image[src*='about-jonathan-naomi'],
.imported-image img[src*='about-live-site-image'] {
  object-position: center top;
}

/* The display section titles in the screenshot should stay white; only small kickers/accent labels are gold. */
.velvet-home .section-heading h2,
.velvet-home .section-heading .h2-heading,
.velvet-home .guide-home-copy h2,
.velvet-home .velvet-final-cta h2,
.team-section .team-copy h2,
.copy-deep > .section-heading h2,
.imported-section > .section-heading h2,
.related-links .section-heading h2,
.related-links .section-heading .h2-heading,
.contact-band h2,
.contact-band .h2-heading,
.process-section > h2,
.faq-list > h2 {
  color: #FFFFFF !important;
}

/* Title inline wrappers must inherit the title color. JS wraps JBSA and ampersands,
   but those wrappers should not become gold inside white card headings. */
.click-card > span > .notranslate,
.related-card > span > .notranslate,
.blog-card h3 > .notranslate,
.copy-grid article h3 > .notranslate,
.process-item h3 > .notranslate,
.premium-card h3 > .notranslate,
.path-card h3 > .notranslate {
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
}

.blog-link-grid strong .notranslate,
.blog-link-grid strong [translate="no"] {
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
}

.click-card > span > .amp,
.related-card > span > .amp,
.blog-card h3 > .amp,
.copy-grid article h3 > .amp,
.process-item h3 > .amp,
.premium-card h3 > .amp,
.path-card h3 > .amp,
.click-card > span > [data-ampersand='true'],
.related-card > span > [data-ampersand='true'],
.blog-card h3 > [data-ampersand='true'] {
  color: inherit !important;
  font-family: 'Montserrat', Helvetica, Arial, sans-serif !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}

@media (max-width: 640px) {
  .site-header {
    padding: 8px 10px;
  }

  .header-inner {
    gap: 8px;
  }

  .brand img {
    width: 34px;
    height: 34px;
  }

  .brand-wordmark strong {
    font-size: 18px;
    line-height: 1.05;
  }

  .brand-wordmark small {
    font-size: 10px;
    letter-spacing: 0.18em;
  }

  .language-toggle {
    min-height: 48px;
    padding: 3px;
  }

  .language-toggle button {
    min-width: 42px;
    padding: 8px 10px;
  }

  .menu-button {
    width: 56px;
    height: 56px;
  }

  .section {
    width: min(100% - 32px, 1180px);
    padding-block: 46px;
  }

  .section-heading {
    margin-bottom: 24px;
  }

  .section-heading.compact {
    max-width: 30rem;
    margin-inline: auto;
    text-align: center;
  }

  .section-heading.compact h2,
  .section-heading.compact .h2-heading {
    line-height: 1.38 !important;
  }

  .click-card-grid,
  .related-grid,
  .copy-grid {
    gap: 12px;
  }

  .click-card,
  .related-card,
  .copy-grid article {
    min-height: auto;
    padding: 20px;
    gap: 10px;
    border-radius: 10px;
  }

  .click-card > span,
  .related-card > span,
  .copy-grid article h3 {
    font-size: 20px !important;
    line-height: 1.2 !important;
  }

  .click-card p,
  .related-card p,
  .copy-grid article p,
  .team-copy p,
  .two-column p,
  .imported-content p,
  .imported-content li {
    font-size: 15px !important;
    line-height: 1.52 !important;
  }

  .velvet-bio-cards .click-card {
    min-height: auto;
  }

  .team-section {
    gap: 24px;
  }

  .image-panel .panel-image[src*='about-jonathan-naomi'] {
    aspect-ratio: 4 / 3;
    max-height: 420px;
    object-position: center top;
  }

  .imported-image img[src*='about-live-site-image'] {
    aspect-ratio: 4 / 3;
    max-height: 420px;
    object-fit: cover;
    object-position: center top;
  }

  figcaption {
    margin-top: 8px;
  }
}

/* Brand font reset and Continue Exploring tabs (2026-06-27): remove stale fallback-looking mixes and force the Velvet typography system late in the cascade. */
:root {
  --font-display: 'Playfair Display';
  --font-body: 'Montserrat';
  --font-ui: 'Montserrat';
}

html,
body,
body *:where(:not(svg):not(path)) {
  font-family: var(--font-body), sans-serif !important;
}

h1,
h1 *:not(.amp):not(.hero-amp):not(.ampersand):not([data-ampersand='true']),
.content-hero h1,
.velvet-hero h1,
.blog-huzi-hero h1,
.font-display,
.brand-wordmark strong {
  font-family: var(--font-display), serif !important;
  font-weight: 700 !important;
}

h2,
.h2-heading,
.imported-content h2,
.section-heading .h2-heading,
.section-heading h2 {
  font-family: var(--font-body), sans-serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--type-gold, #C5A059) !important;
  line-height: 1.45 !important;
  text-transform: none;
}

h3,
h3 *:not(.amp):not(.hero-amp):not(.ampersand):not([data-ampersand='true']),
.imported-content h3,
.copy-grid article h3,
.blog-card h3,
.premium-card h3,
.path-card h3,
.click-card > span,
.click-card > span *:not(.amp):not(.hero-amp):not(.ampersand):not([data-ampersand='true']),
.related-card > span,
.related-card > span *:not(.amp):not(.hero-amp):not(.ampersand):not([data-ampersand='true']),
.explore-tab > span {
  font-family: var(--font-display), serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  color: var(--type-white, #FFFFFF) !important;
  line-height: 1.25 !important;
}

p,
li,
a,
span,
div,
small,
strong,
em,
button,
input,
select,
textarea,
label,
summary,
.imported-content,
.imported-content p,
.imported-content li,
.hero-copy,
.related-card p,
.blog-card p,
.click-card p,
.explore-tab small {
  font-family: var(--font-body), sans-serif !important;
}

.hero-kicker,
.section-eyebrow,
.section-label,
.blog-kicker,
.blog-category-pill,
.blog-post-date,
.blog-post-category,
.blog-count,
.nav-dropdown-label,
.footer-col-heading,
.footer-nav-group span,
.mobile-nav-heading,
.mobile-nav-subheading,
.market-stat-label {
  font-family: var(--font-body), sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  color: var(--type-gold, #C5A059) !important;
  text-transform: uppercase !important;
}

.amp,
.hero-amp,
.ampersand,
[data-ampersand='true'] {
  font-family: var(--font-body), sans-serif !important;
  font-style: normal !important;
}

.continue-exploring .section-heading {
  text-align: center;
}

.continue-exploring .section-heading p:not(.h2-heading) {
  max-width: 700px;
  margin: 8px auto 0;
}

.continue-exploring-tabs {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
}

.explore-tab {
  flex: 1 1 245px;
  max-width: 310px;
  min-height: 118px;
  display: grid;
  align-content: start;
  gap: 8px;
  padding: 18px;
  border: 1px solid rgba(201, 168, 76, 0.38);
  border-radius: 999px 18px 18px 999px;
  background: linear-gradient(135deg, rgba(255,255,255,0.08), rgba(201,168,76,0.10));
  text-decoration: none !important;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.18);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.explore-tab:hover,
.explore-tab:focus-visible {
  transform: translateY(-2px);
  border-color: var(--type-gold, #C5A059);
  background: linear-gradient(135deg, rgba(201,168,76,0.18), rgba(255,255,255,0.10));
  box-shadow: 0 22px 46px rgba(0, 0, 0, 0.24);
  outline: none;
}

.explore-tab small {
  color: var(--type-muted-blue, #A3B1C6) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

@media (max-width: 640px) {
  .continue-exploring-tabs {
    gap: 10px;
  }

  .explore-tab {
    flex-basis: 100%;
    max-width: none;
    min-height: auto;
    border-radius: 18px;
  }
}

/* Mobile dark theme enforcement (2026-06-27): keep the Velvet site navy/dark on phones instead of falling back to the old cream paper theme. */
@media (max-width: 768px) {
  :root {
    --ink: #FFFFFF;
    --ink-soft: #A3B1C6;
    --muted: #A3B1C6;
    --paper: #07182C;
    --paper-deep: #0B1E36;
    --surface: rgba(11, 30, 54, 0.96);
    --surface-strong: #0B1E36;
    --surface-soft: rgba(255, 255, 255, 0.055);
    --line: rgba(197, 160, 89, 0.26);
    --line-strong: rgba(197, 160, 89, 0.62);
    --shadow: 0 22px 58px rgba(0, 0, 0, 0.34), 0 0 0 1px rgba(197, 160, 89, 0.08);
  }

  html,
  body {
    background: linear-gradient(180deg, #07182C 0%, #0B1E36 42%, #061426 100%) !important;
    color: #A3B1C6 !important;
  }

  main,
  .section,
  .content-shell,
  .content-hero,
  .copy-deep,
  .team-section,
  .area-section,
  .related-links,
  .process-section,
  .blog-index-section,
  .velvet-home,
  .imported-section,
  .contact-band,
  .site-footer {
    background: transparent !important;
    color: #A3B1C6 !important;
  }

  .content-hero,
  .hero,
  .velvet-hero {
    background-color: #07182C !important;
  }

  .content-hero::before,
  .velvet-hero::before,
  .hero::before {
    background: linear-gradient(90deg, rgba(7, 24, 44, 0.92), rgba(7, 24, 44, 0.72)) !important;
  }

  .proof-band,
  .stat-band,
  .blog-link-panel,
  .blog-editorial-brief,
  .blog-decision-lens,
  .blog-premium-section,
  .blog-source-panel,
  .blog-faq-panel,
  .blog-author-box,
  .premium-card,
  .path-card,
  .click-card,
  .related-card,
  .blog-card,
  .copy-grid article,
  .area-cards article,
  .process-item,
  .guide-preview-card,
  .guide-form,
  .form-success,
  .mortgage-calculator,
  .market-stat-card,
  .continue-exploring-tabs .explore-tab {
    background: linear-gradient(145deg, rgba(11, 30, 54, 0.98), rgba(7, 24, 44, 0.94)) !important;
    border-color: rgba(197, 160, 89, 0.30) !important;
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.30) !important;
  }

  .imported-content,
  .imported-content p,
  .imported-content li,
  .section-heading p,
  .hero-copy,
  .content-hero .hero-copy,
  .related-card p,
  .blog-card p,
  .click-card p,
  .copy-grid p,
  .area-cards p,
  .process-item p,
  .blog-link-grid span,
  .explore-tab small,
  .site-footer p,
  .site-footer a {
    color: #A3B1C6 !important;
  }

  h1,
  h3,
  .content-hero h1,
  .related-card > span,
  .click-card > span,
  .blog-card h3,
  .copy-grid article h3,
  .premium-card h3,
  .path-card h3,
  .explore-tab > span,
  .site-footer .footer-heading {
    color: #FFFFFF !important;
  }

  h2,
  .h2-heading,
  .hero-kicker,
  .section-eyebrow,
  .section-label,
  .blog-brief-kicker,
  .blog-kicker,
  .nav-dropdown-label,
  .mobile-nav-heading,
  .market-stat-label {
    color: #C5A059 !important;
  }

  .site-header,
  .mobile-nav,
  body.nav-open .site-header {
    background: rgba(7, 24, 44, 0.98) !important;
    border-color: rgba(197, 160, 89, 0.30) !important;
  }

  .mobile-nav a,
  .desktop-nav a,
  .nav-dropdown-btn,
  .brand-wordmark strong {
    color: #FFFFFF !important;
  }

  input,
  select,
  textarea {
    background: rgba(7, 24, 44, 0.94) !important;
    color: #FFFFFF !important;
    border-color: rgba(197, 160, 89, 0.36) !important;
  }
}

/* Huzi-style dark mortgage calculator override (2026-06-27): make the calculator feel like the reference layout but in Velvet's dark navy/gold luxury palette, replacing the white/cream calculator panels. */
.mortgage-calculator-section,
.mortgage-calculator-section * {
  color-scheme: dark !important;
}

.mortgage-calculator-section {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 20% 12%, rgba(197, 160, 89, 0.16), transparent 34%),
    linear-gradient(90deg, #07182C 0 50%, #0B1E36 50% 100%) !important;
  color: #A3B1C6 !important;
  border-block: 1px solid rgba(197, 160, 89, 0.24);
}

.mortgage-calculator-section::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.045), transparent 18%, rgba(0,0,0,0.18) 100%),
    linear-gradient(90deg, rgba(197, 160, 89, 0.08), transparent 48%, rgba(255,255,255,0.035));
  pointer-events: none;
}

.mortgage-calculator-copy,
.mortgage-calculator-results {
  background: transparent !important;
}

.mortgage-calculator-copy {
  border-right: 1px solid rgba(197, 160, 89, 0.18);
}

.mortgage-calculator-copy .section-eyebrow {
  color: #C5A059 !important;
  font-family: 'Montserrat', Helvetica, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.18em !important;
}

.mortgage-calculator-copy h2 {
  color: #FFFFFF !important;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em !important;
  text-transform: none !important;
}

.mortgage-calculator-copy > p:not(.section-eyebrow),
.calculator-note {
  color: #A3B1C6 !important;
  font-family: 'Montserrat', Helvetica, Arial, sans-serif !important;
  font-weight: 400 !important;
}

.velvet-mortgage-calculator {
  padding: clamp(22px, 3vw, 30px);
  border: 1px solid rgba(197, 160, 89, 0.28);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(11, 30, 54, 0.94), rgba(7, 24, 44, 0.90)) !important;
  box-shadow: 0 22px 58px rgba(0, 0, 0, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.06);
}

.calculator-fields label {
  color: #FFFFFF !important;
  font-family: 'Montserrat', Helvetica, Arial, sans-serif !important;
  font-weight: 500 !important;
}

.calculator-fields input,
.calculator-fields select {
  min-height: 42px;
  border: 1px solid rgba(197, 160, 89, 0.30) !important;
  border-radius: 10px !important;
  padding: 0 12px !important;
  background: rgba(4, 15, 29, 0.62) !important;
  color: #FFFFFF !important;
  caret-color: #C5A059;
}

.calculator-fields select {
  color: #FFFFFF !important;
  accent-color: #C5A059;
}

.calculator-fields input::placeholder,
.calculator-fields select::placeholder {
  color: rgba(163, 177, 198, 0.72) !important;
}

.calculator-fields input:focus,
.calculator-fields select:focus {
  border-color: #C5A059 !important;
  box-shadow: 0 0 0 3px rgba(197, 160, 89, 0.16) !important;
}

.split-input,
.rate-input,
.calc-mode-input {
  align-items: center;
  gap: 10px;
  border-bottom: 0 !important;
}

.split-input input,
.rate-input input,
.calc-mode-input input {
  border-bottom: 1px solid rgba(197, 160, 89, 0.30) !important;
}

.split-input span,
.rate-input span {
  color: #C5A059 !important;
  padding-bottom: 0 !important;
  font-weight: 600 !important;
}

.calc-mode-input {
  display: flex;
}

.calc-mode-input input {
  flex: 1 1 96px;
}

.calc-mode-toggle {
  display: inline-flex;
  flex: 0 0 auto;
  gap: 3px;
  padding: 3px;
  border: 1px solid rgba(197, 160, 89, 0.34);
  border-radius: 999px;
  background: rgba(4, 15, 29, 0.62);
}

.calc-mode-toggle button {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: rgba(255, 255, 255, 0.76);
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: 800;
  line-height: 1;
  cursor: pointer;
}

.calc-mode-toggle button[aria-pressed="true"] {
  background: #C5A059;
  color: #0B1E36;
}

.calc-mode-toggle button:focus-visible {
  outline: 2px solid #FFFFFF;
  outline-offset: 2px;
}

@media (max-width: 640px) {
  .calc-mode-input {
    align-items: center;
  }

  .calc-mode-input input {
    min-width: 0;
  }
}

.calculator-reset {
  color: #C5A059 !important;
  border-bottom-color: rgba(197, 160, 89, 0.72) !important;
}

.calculator-reset:hover,
.calculator-reset:focus-visible {
  color: #FFFFFF !important;
  border-bottom-color: #FFFFFF !important;
}

.mortgage-calculator-results {
  background: linear-gradient(145deg, rgba(6, 20, 38, 0.96), rgba(11, 30, 54, 0.98)) !important;
  border-left: 1px solid rgba(197, 160, 89, 0.22);
}

.payment-donut {
  background: conic-gradient(#C5A059 0 calc(var(--principal) * 1%), #8CA0BB 0 calc((var(--principal) + var(--taxes)) * 1%), #5F7692 0 calc((var(--principal) + var(--taxes) + var(--hoa)) * 1%), #D8CDAF 0 calc((var(--principal) + var(--taxes) + var(--hoa) + var(--insurance)) * 1%), #FFFFFF 0 100%) !important;
  filter: drop-shadow(0 18px 34px rgba(0, 0, 0, 0.34));
}

.payment-donut > div {
  background: radial-gradient(circle, #0B1E36 0%, #07182C 100%) !important;
  border: 1px solid rgba(197, 160, 89, 0.26);
}

.payment-donut strong {
  color: #FFFFFF !important;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
  font-weight: 600 !important;
}

.payment-donut span {
  color: #A3B1C6 !important;
  font-family: 'Montserrat', Helvetica, Arial, sans-serif !important;
}

.payment-breakdown {
  border-bottom-color: rgba(197, 160, 89, 0.36) !important;
}

.payment-breakdown dt,
.payment-breakdown dd {
  color: #FFFFFF !important;
  font-family: 'Montserrat', Helvetica, Arial, sans-serif !important;
}

.payment-breakdown dt {
  text-decoration-color: rgba(197, 160, 89, 0.56) !important;
}

.payment-breakdown dd {
  color: #A3B1C6 !important;
}

.swatch { background: #C5A059 !important; }
.swatch.taxes { background: #8CA0BB !important; }
.swatch.hoa { background: #5F7692 !important; }
.swatch.insurance { background: #D8CDAF !important; }
.swatch.pmi { background: #FFFFFF !important; }

@media (max-width: 900px) {
  .mortgage-calculator-section {
    background: linear-gradient(180deg, #07182C 0%, #0B1E36 100%) !important;
  }
  .mortgage-calculator-copy {
    border-right: 0;
    border-bottom: 1px solid rgba(197, 160, 89, 0.22);
  }
  .mortgage-calculator-results {
    border-left: 0;
    border-top: 1px solid rgba(197, 160, 89, 0.18);
  }
}

/* Mortgage calculator interaction controls (2026-06-27): loan-product presets plus explicit calculate/reset actions. */
.calculator-actions {
  margin-top: 34px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px 18px;
}

.calculator-calculate {
  min-height: 44px;
  padding: 0 22px;
  border: 1px solid #C5A059;
  border-radius: 999px;
  background: #C5A059;
  color: #0B1E36 !important;
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.10em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.24);
}

.calculator-calculate:hover,
.calculator-calculate:focus-visible {
  background: #FFFFFF;
  border-color: #FFFFFF;
  color: #0B1E36 !important;
}

.calculator-actions .calculator-reset {
  margin-top: 0;
}

@media (max-width: 640px) {
  .calculator-actions {
    align-items: stretch;
  }
  .calculator-calculate,
  .calculator-actions .calculator-reset {
    width: 100%;
    text-align: center;
  }
}

/* AEO local answers section with question H3s and proof blockquote (2026-06-30) */
.velvet-faq-list {
  max-width: 880px;
  margin: 0 auto 40px;
  display: flex;
  flex-direction: column;
  gap: 32px;
}

.velvet-faq-item h3 {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size: 22px;
  font-weight: 600;
  color: #FFFFFF;
  margin: 0 0 10px;
  line-height: 1.35;
}

.velvet-faq-item p {
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #A3B1C6;
  line-height: 1.6;
  margin: 0;
}

.velvet-proof-quote {
  max-width: 720px;
  margin: 0 auto;
  padding: 28px 32px;
  border-left: 3px solid #C5A059;
  background: rgba(13, 31, 60, 0.5);
  border-radius: 0 6px 6px 0;
}

.velvet-proof-quote p {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size: clamp(17px, 1.45vw, 20px);
  font-style: italic;
  color: #FFFFFF !important;
  margin: 0 0 12px;
  line-height: 1.6;
}

.velvet-proof-quote cite {
  font-family: 'Montserrat', Helvetica, Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  color: #C5A059;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-style: normal;
}

@media (max-width: 640px) {
  .velvet-proof-quote {
    padding: 20px 20px 20px 18px;
  }
}

/* Area guide refinement: tighter rhythm and Velvet palette */
.section {
  padding-top: clamp(46px, 6vw, 82px);
  padding-bottom: clamp(46px, 6vw, 82px);
}

.copy-deep {
  padding-top: clamp(38px, 5vw, 64px);
}

.content-shell {
  padding-top: clamp(18px, 3vw, 34px);
  padding-bottom: clamp(44px, 6vw, 76px);
}

.content-hero {
  padding-top: clamp(112px, 10vw, 126px);
  padding-bottom: clamp(38px, 5vw, 54px);
}

.section + .section,
.content-shell + .contact-band,
.copy-deep + .content-shell,
.market-guide-extension + .related-links,
.market-guide-extension + .contact-band {
  margin-top: 0;
}

.market-guide-extension {
  gap: 24px;
  color: #fdf8f0;
}

.market-guide-extension .guide-intro p,
.market-guide-extension .guide-card p,
.market-guide-extension .area-preview p,
.market-guide-extension .quick-facts dd,
.market-guide-extension .faq-list p {
  color: rgba(253, 248, 240, 0.82);
}

.market-guide-extension .guide-card,
.market-guide-extension .quick-facts,
.market-guide-extension .area-preview {
  border-color: rgba(201, 168, 76, 0.28);
  background: rgba(253, 248, 240, 0.055);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.14);
}

.market-guide-extension h2,
.market-guide-extension h3,
.market-guide-extension dt,
.market-guide-extension summary {
  color: #fdf8f0;
}

.area-preview {
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid rgba(201, 168, 76, 0.26);
  background: rgba(253, 248, 240, 0.72);
  border-radius: 8px;
}

.content-shell .area-preview {
  margin: 30px 0;
  background: linear-gradient(180deg, #fffaf2 0%, #fdf8f0 100%);
  border-color: rgba(201, 168, 76, 0.34);
  box-shadow: 0 16px 34px rgba(13, 31, 60, 0.08);
}

.content-shell .area-preview h2,
.content-shell .area-preview h3 {
  color: #0d1f3c !important;
}

.content-shell .area-preview p,
.content-shell .area-preview li {
  color: rgba(13, 31, 60, 0.78) !important;
}

.market-guide-extension .area-preview h2,
.market-guide-extension .area-preview h3 {
  color: #fdf8f0 !important;
}

.market-guide-extension .area-preview p,
.market-guide-extension .area-preview li {
  color: rgba(253, 248, 240, 0.82) !important;
}

.area-preview-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 22px;
  margin-top: 18px;
}

.area-preview h2,
.area-preview h3 {
  margin-top: 0;
}

.area-preview ul {
  margin: 0;
  padding-left: 20px;
}

.area-preview li + li {
  margin-top: 6px;
}

/* First-time buyer guide */
.first-time-buyer-page .content-hero {
  background:
    linear-gradient(135deg, rgba(13, 31, 60, 0.96) 0%, rgba(7, 20, 42, 0.9) 48%, rgba(13, 31, 60, 0.82) 100%),
    #0d1f3c;
  color: #fdf8f0;
}

.first-time-buyer-page .content-hero h1,
.first-time-buyer-page .content-hero .hero-copy,
.first-time-buyer-page .content-hero .review-note {
  color: #fdf8f0;
}

.first-time-buyer-page .content-hero .section-eyebrow,
.first-time-buyer-page .content-hero .hero-kicker {
  color: #c9a84c;
}

.first-time-buyer-page .content-hero-media img {
  aspect-ratio: 4 / 5;
}

.review-note {
  max-width: 680px;
  margin: 18px 0 0;
  color: rgba(253, 248, 240, 0.76);
  font-size: 14px;
}

.first-buyer-guide .step-list {
  display: grid;
  gap: 14px;
  padding-left: 24px;
}

.first-buyer-guide .step-list li {
  padding-left: 4px;
}

.first-buyer-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin: 26px 0 34px;
}

.first-buyer-card-grid article {
  padding: clamp(18px, 3vw, 24px);
  border: 1px solid rgba(201, 168, 76, 0.28);
  border-radius: 8px;
  background: linear-gradient(180deg, #fffaf2 0%, #fdf8f0 100%);
  box-shadow: 0 14px 32px rgba(13, 31, 60, 0.08);
}

.first-buyer-card-grid h3 {
  margin-top: 0;
  margin-bottom: 10px;
  color: #0d1f3c;
  font-size: clamp(20px, 2vw, 25px);
}

.first-buyer-card-grid p {
  margin: 0;
}

.source-list {
  columns: 2;
  column-gap: 34px;
}

.source-list li {
  break-inside: avoid;
  margin-bottom: 10px;
}

.first-buyer-program-table td:nth-child(2) {
  color: #0d1f3c;
  font-weight: 500;
  white-space: normal;
}

.first-buyer-program-table td {
  color: #0d1f3c;
}

.first-buyer-program-table td:first-child {
  color: #0d1f3c;
  font-weight: 800;
}

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

  .source-list {
    columns: 1;
  }
}

@media (max-width: 900px) {
  .area-preview-grid {
    grid-template-columns: 1fr;
  }

  .section,
  .content-shell,
  .copy-deep {
    padding-top: 38px;
    padding-bottom: 48px;
  }
}

/* Card color correction: keep light content cards on the Velvet palette. */
.path-card,
.premium-card,
.related-card,
.blog-card,
.click-card,
.copy-grid article,
.process-item,
.area-cards article,
.market-guide-extension .guide-card,
.market-guide-extension .quick-facts,
.market-guide-extension .area-preview,
.first-buyer-card-grid article {
  background: linear-gradient(180deg, #fffaf2 0%, #fdf8f0 100%) !important;
  border-color: rgba(201, 168, 76, 0.34) !important;
  color: #0d1f3c !important;
  box-shadow: 0 16px 34px rgba(13, 31, 60, 0.08) !important;
}

.path-card h3,
.premium-card h3,
.related-card h3,
.blog-card h3,
.click-card h3,
.copy-grid article h3,
.process-item h3,
.area-cards article h3,
.market-guide-extension .guide-card h3,
.market-guide-extension .quick-facts h3,
.market-guide-extension .area-preview h2,
.market-guide-extension .area-preview h3,
.first-buyer-card-grid h3,
.path-card > span,
.premium-card > span,
.related-card > span,
.blog-card > span,
.click-card > span {
  color: #0d1f3c !important;
}

.path-card p,
.premium-card p,
.related-card p,
.blog-card p,
.click-card p,
.copy-grid article p,
.process-item p,
.area-cards article p,
.market-guide-extension .guide-card p,
.market-guide-extension .quick-facts p,
.market-guide-extension .quick-facts dd,
.market-guide-extension .area-preview p,
.market-guide-extension .area-preview li,
.first-buyer-card-grid p {
  color: rgba(13, 31, 60, 0.76) !important;
}

.market-guide-extension h2,
.market-guide-extension h3,
.market-guide-extension dt,
.market-guide-extension summary {
  color: #0d1f3c !important;
}

/* First-time buyer page: dark Velvet card system. */
.first-time-buyer-page .copy-grid article,
.first-time-buyer-page .first-buyer-card-grid article,
.first-time-buyer-page .click-card,
.first-time-buyer-page .process-item,
.first-time-buyer-page .faq-list details {
  background:
    linear-gradient(145deg, rgba(13, 31, 60, 0.98) 0%, rgba(7, 20, 42, 0.96) 100%) !important;
  border: 1px solid rgba(201, 168, 76, 0.36) !important;
  color: #fdf8f0 !important;
  box-shadow: 0 20px 44px rgba(7, 20, 42, 0.18) !important;
}

.first-time-buyer-page .copy-grid article h3,
.first-time-buyer-page .first-buyer-card-grid h3,
.first-time-buyer-page .click-card > span,
.first-time-buyer-page .click-card h3,
.first-time-buyer-page .process-item h3,
.first-time-buyer-page .faq-list summary {
  color: #fdf8f0 !important;
}

.first-time-buyer-page .copy-grid article p,
.first-time-buyer-page .first-buyer-card-grid p,
.first-time-buyer-page .click-card p,
.first-time-buyer-page .process-item p,
.first-time-buyer-page .faq-list details p {
  color: rgba(253, 248, 240, 0.8) !important;
}

.first-time-buyer-page .copy-grid article:hover,
.first-time-buyer-page .first-buyer-card-grid article:hover,
.first-time-buyer-page .click-card:hover,
.first-time-buyer-page .process-item:hover {
  border-color: rgba(201, 168, 76, 0.58) !important;
  box-shadow: 0 24px 54px rgba(7, 20, 42, 0.24) !important;
}

.first-time-buyer-page .first-buyer-guide > .area-preview {
  background:
    linear-gradient(145deg, rgba(13, 31, 60, 0.98) 0%, rgba(7, 20, 42, 0.96) 100%) !important;
  border-color: rgba(201, 168, 76, 0.36) !important;
  box-shadow: 0 22px 52px rgba(7, 20, 42, 0.2) !important;
}

.first-time-buyer-page .first-buyer-guide > .area-preview h2,
.first-time-buyer-page .first-buyer-guide > .area-preview h3 {
  color: #fdf8f0 !important;
}

.first-time-buyer-page .first-buyer-guide > .area-preview > p,
.first-time-buyer-page .first-buyer-guide > .area-preview .table-note {
  color: rgba(253, 248, 240, 0.8) !important;
}

.first-time-buyer-page .first-buyer-guide > .area-preview .data-table-wrap {
  background: rgba(7, 20, 42, 0.72) !important;
  border: 1px solid rgba(201, 168, 76, 0.34) !important;
  border-radius: 8px;
  overflow: hidden;
}

.first-time-buyer-page .first-buyer-program-table {
  background: rgba(7, 20, 42, 0.72) !important;
}

.first-time-buyer-page .first-buyer-program-table tbody tr,
.first-time-buyer-page .first-buyer-program-table tbody tr:nth-child(odd),
.first-time-buyer-page .first-buyer-program-table tbody tr:hover {
  background: rgba(253, 248, 240, 0.035) !important;
  border-bottom-color: rgba(201, 168, 76, 0.16) !important;
}

.first-time-buyer-page .first-buyer-program-table th {
  background: rgba(7, 20, 42, 0.98) !important;
  color: #c9a84c !important;
}

.first-time-buyer-page .first-buyer-program-table td,
.first-time-buyer-page .first-buyer-program-table td:first-child,
.first-time-buyer-page .first-buyer-program-table td:nth-child(2) {
  color: rgba(253, 248, 240, 0.9) !important;
}

.first-time-buyer-page .first-buyer-program-table td:first-child {
  color: #fdf8f0 !important;
}

/* Service-area market guides: keep expansion cards and FAQs on the dark Velvet palette. */
.market-guide-extension .guide-card,
.market-guide-extension .quick-facts,
.market-guide-extension .area-preview,
.market-guide-extension .faq-list details,
.city-overview + .process-section .process-item,
.market-guide-extension ~ .related-links .related-card {
  background:
    linear-gradient(145deg, rgba(13, 31, 60, 0.98) 0%, rgba(7, 20, 42, 0.96) 100%) !important;
  border: 1px solid rgba(201, 168, 76, 0.36) !important;
  color: #fdf8f0 !important;
  box-shadow: 0 20px 44px rgba(7, 20, 42, 0.18) !important;
}

.market-guide-extension .guide-card h3,
.market-guide-extension .quick-facts h3,
.market-guide-extension .area-preview h2,
.market-guide-extension .area-preview h3,
.market-guide-extension .faq-list > h2,
.market-guide-extension .faq-list summary,
.city-overview + .process-section .process-item h3,
.market-guide-extension ~ .related-links .related-card > span,
.market-guide-extension ~ .related-links .related-card h3 {
  color: #fdf8f0 !important;
}

.market-guide-extension .guide-card p,
.market-guide-extension .quick-facts p,
.market-guide-extension .quick-facts dd,
.market-guide-extension .area-preview p,
.market-guide-extension .area-preview li,
.market-guide-extension .faq-list details p,
.city-overview + .process-section .process-item p,
.market-guide-extension ~ .related-links .related-card p {
  color: rgba(253, 248, 240, 0.82) !important;
}

/* Sitewide dark card sweep (2026-07-05): keep content cards off the old cream surface. */
:root {
  --velvet-card-bg: linear-gradient(145deg, rgba(13, 31, 60, 0.98) 0%, rgba(7, 20, 42, 0.96) 100%);
  --velvet-card-bg-soft: linear-gradient(145deg, rgba(17, 33, 57, 0.98) 0%, rgba(8, 24, 44, 0.95) 100%);
  --velvet-card-border: rgba(201, 168, 76, 0.34);
  --velvet-card-border-strong: rgba(201, 168, 76, 0.58);
  --velvet-card-shadow: 0 20px 46px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(253, 248, 240, 0.045);
  --velvet-card-text: rgba(253, 248, 240, 0.84);
  --velvet-card-heading: #fdf8f0;
}

.proof-band,
.check-list span,
.path-card,
.premium-card,
.area-list a,
.area-cards article,
.copy-grid article,
.related-card,
.copy-note,
.blog-link-panel,
.blog-link-grid a,
.blog-card,
.blog-author-box,
.blog-faq-panel,
.market-brief,
.faq-list details,
details,
.google-reviews-cta,
.guide-preview-card,
.guide-form,
.form-success,
.process-item,
.click-card,
.trust-badge-row article,
.market-stats-grid article,
.market-stat-card,
.continue-exploring-tabs .explore-tab,
.market-guide-extension .guide-card,
.market-guide-extension .quick-facts,
.market-guide-extension .area-preview,
.market-guide-extension .faq-list details,
.content-shell .area-preview,
.area-preview,
.area-preview article,
.first-buyer-card-grid article,
.first-time-buyer-page .copy-grid article,
.first-time-buyer-page .first-buyer-card-grid article,
.first-time-buyer-page .click-card,
.first-time-buyer-page .process-item,
.first-time-buyer-page .faq-list details,
.first-time-buyer-page .first-buyer-guide > .area-preview,
.city-overview + .process-section .process-item,
.market-guide-extension ~ .related-links .related-card {
  background: var(--velvet-card-bg) !important;
  border-color: var(--velvet-card-border) !important;
  color: var(--velvet-card-heading) !important;
  box-shadow: var(--velvet-card-shadow) !important;
}

.premium-card:first-child,
.blog-link-panel,
.blog-faq-panel,
.copy-note,
.google-reviews-cta,
.market-brief,
.content-shell .area-preview {
  background: var(--velvet-card-bg-soft) !important;
}

.path-card:hover,
.premium-card:hover,
.related-card:hover,
.blog-link-grid a:hover,
.blog-card:hover,
.click-card:hover,
.area-list a:hover,
.process-item:hover,
.continue-exploring-tabs .explore-tab:hover,
.market-guide-extension .guide-card:hover,
.first-buyer-card-grid article:hover {
  color: var(--velvet-card-heading) !important;
  border-color: var(--velvet-card-border-strong) !important;
  background: linear-gradient(145deg, rgba(17, 33, 57, 0.99) 0%, rgba(9, 28, 52, 0.97) 100%) !important;
  box-shadow: 0 24px 56px rgba(0, 0, 0, 0.30), inset 0 1px 0 rgba(253, 248, 240, 0.055) !important;
}

.proof-band strong,
.check-list span,
.path-card h3,
.path-card > span,
.premium-card h3,
.premium-card > span,
.area-list a,
.area-cards article h3,
.copy-grid article h3,
.copy-grid article > span,
.related-card h3,
.related-card > span,
.blog-link-grid strong,
.blog-card h3,
.blog-author-box h2,
.blog-author-box .h2-heading,
.blog-faq-panel h2,
.market-brief strong,
.faq-list summary,
details summary,
.google-reviews-cta h2,
.google-reviews-cta h3,
.guide-preview-card h3,
.guide-form h2,
.form-success h2,
.process-item h3,
.click-card h3,
.click-card > span,
.trust-badge-row span,
.market-guide-extension .guide-card h3,
.market-guide-extension .quick-facts h3,
.market-guide-extension .quick-facts dt,
.market-guide-extension .area-preview h2,
.market-guide-extension .area-preview h3,
.market-guide-extension .faq-list > h2,
.market-guide-extension .faq-list summary,
.content-shell .area-preview h2,
.content-shell .area-preview h3,
.area-preview h2,
.area-preview h3,
.first-buyer-card-grid h3,
.first-time-buyer-page .faq-list summary,
.city-overview + .process-section .process-item h3,
.market-guide-extension ~ .related-links .related-card > span,
.market-guide-extension ~ .related-links .related-card h3 {
  color: var(--velvet-card-heading) !important;
}

.proof-band span,
.path-card p,
.premium-card p,
.area-cards article p,
.copy-grid article p,
.related-card p,
.blog-link-grid span,
.blog-card p,
.blog-author-box p,
.blog-faq-panel p,
.market-brief p,
.faq-list details p,
details p,
.google-reviews-cta p,
.guide-preview-card p,
.guide-form p,
.form-success p,
.process-item p,
.click-card p,
.trust-badge-row strong,
.market-stats-grid article,
.market-guide-extension .guide-card p,
.market-guide-extension .quick-facts p,
.market-guide-extension .quick-facts dd,
.market-guide-extension .area-preview p,
.market-guide-extension .area-preview li,
.market-guide-extension .faq-list details p,
.content-shell .area-preview p,
.content-shell .area-preview li,
.area-preview p,
.area-preview li,
.first-buyer-card-grid p,
.first-time-buyer-page .faq-list details p,
.city-overview + .process-section .process-item p,
.market-guide-extension ~ .related-links .related-card p {
  color: var(--velvet-card-text) !important;
}

.blog-card > span,
.market-brief span,
.google-reviews-kicker,
.trust-badge-row strong,
.market-stat-value,
.market-guide-extension dt,
.blog-link-grid a:hover strong {
  color: var(--champagne) !important;
}

/* Luxury facts and table system: shared treatment for guide data blocks. */
.imported-content > dl.quick-facts,
.market-guide-extension .quick-facts {
  position: relative;
  width: 100%;
  max-width: 1080px;
  margin: clamp(20px, 3vw, 34px) 0 clamp(28px, 4vw, 44px) !important;
  padding: clamp(18px, 2.5vw, 30px) !important;
  overflow: hidden;
  border: 1px solid rgba(201, 168, 76, 0.48) !important;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(253, 248, 240, 0.10) 0%, rgba(253, 248, 240, 0.035) 44%, rgba(201, 168, 76, 0.085) 100%),
    linear-gradient(145deg, rgba(13, 31, 60, 0.99) 0%, rgba(7, 20, 42, 0.985) 100%) !important;
  box-shadow:
    0 24px 60px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(253, 248, 240, 0.10) !important;
  color: #fdf8f0 !important;
  isolation: isolate;
  scroll-margin-top: 118px;
}

.imported-content > dl.quick-facts::before,
.market-guide-extension .quick-facts::before {
  content: "";
  position: absolute;
  inset: 0 auto auto 0;
  width: 100%;
  height: 3px;
  background: linear-gradient(90deg, rgba(201, 168, 76, 0.15), rgba(201, 168, 76, 0.95), rgba(253, 248, 240, 0.38));
  pointer-events: none;
}

.imported-content > dl.quick-facts::after,
.market-guide-extension .quick-facts::after {
  content: "";
  position: absolute;
  inset: 0 0 auto auto;
  width: min(320px, 42vw);
  height: min(320px, 42vw);
  background: radial-gradient(circle at 80% 0%, rgba(201, 168, 76, 0.16), rgba(201, 168, 76, 0) 64%);
  pointer-events: none;
  z-index: -1;
}

.imported-content > dl.quick-facts,
.market-guide-extension .quick-facts > dl {
  display: grid;
  grid-template-columns: minmax(138px, 0.34fr) minmax(0, 1fr);
  gap: 0;
  margin: 0;
}

.imported-content > dl.quick-facts dt,
.imported-content > dl.quick-facts dd,
.market-guide-extension .quick-facts > dl dt,
.market-guide-extension .quick-facts > dl dd {
  min-width: 0;
  margin: 0 !important;
  padding: 15px clamp(12px, 1.8vw, 22px) !important;
  border-top: 1px solid rgba(253, 248, 240, 0.105);
  color: rgba(253, 248, 240, 0.88) !important;
}

.imported-content > dl.quick-facts dt:first-of-type,
.imported-content > dl.quick-facts dd:first-of-type,
.market-guide-extension .quick-facts > dl dt:first-of-type,
.market-guide-extension .quick-facts > dl dd:first-of-type {
  border-top: 0;
}

.imported-content > dl.quick-facts dt,
.market-guide-extension .quick-facts > dl dt {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  color: var(--champagne) !important;
  font-size: clamp(0.82rem, 1.1vw, 0.95rem);
  font-weight: 700;
  line-height: 1.35;
  text-transform: uppercase;
  letter-spacing: 0;
}

.imported-content > dl.quick-facts dt::before,
.market-guide-extension .quick-facts > dl dt::before {
  content: "";
  flex: 0 0 auto;
  width: 8px;
  height: 8px;
  margin-top: 0.4em;
  border-radius: 50%;
  background: var(--champagne);
  box-shadow: 0 0 0 4px rgba(201, 168, 76, 0.14);
}

.imported-content > dl.quick-facts dd,
.market-guide-extension .quick-facts > dl dd {
  font-size: clamp(0.98rem, 1.3vw, 1.08rem);
  line-height: 1.6;
}

.imported-content > dl.quick-facts dt:nth-of-type(odd),
.imported-content > dl.quick-facts dt:nth-of-type(odd) + dd,
.market-guide-extension .quick-facts > dl dt:nth-of-type(odd),
.market-guide-extension .quick-facts > dl dt:nth-of-type(odd) + dd {
  background: rgba(253, 248, 240, 0.032);
}

.imported-content table,
.content-shell table,
.market-guide-extension table {
  width: 100%;
  margin: clamp(22px, 3vw, 36px) 0;
  overflow: hidden;
  border: 1px solid rgba(201, 168, 76, 0.42);
  border-radius: 8px;
  border-collapse: separate;
  border-spacing: 0;
  background: linear-gradient(145deg, rgba(13, 31, 60, 0.99), rgba(7, 20, 42, 0.985));
  box-shadow: 0 22px 54px rgba(0, 0, 0, 0.24);
  color: #fdf8f0;
}

.imported-content table th,
.content-shell table th,
.market-guide-extension table th {
  padding: 16px 18px;
  background: rgba(201, 168, 76, 0.16);
  color: var(--champagne);
  font-weight: 700;
  text-align: left;
  letter-spacing: 0;
}

.imported-content table td,
.content-shell table td,
.market-guide-extension table td {
  padding: 16px 18px;
  border-top: 1px solid rgba(253, 248, 240, 0.10);
  color: rgba(253, 248, 240, 0.86);
  vertical-align: top;
}

.imported-content table tr:nth-child(even) td,
.content-shell table tr:nth-child(even) td,
.market-guide-extension table tr:nth-child(even) td {
  background: rgba(253, 248, 240, 0.03);
}

@media (max-width: 700px) {
  .imported-content > dl.quick-facts,
  .market-guide-extension .quick-facts > dl {
    grid-template-columns: 1fr;
  }

  .imported-content > dl.quick-facts dt,
  .market-guide-extension .quick-facts > dl dt {
    padding-bottom: 5px !important;
  }

  .imported-content > dl.quick-facts dd,
  .market-guide-extension .quick-facts > dl dd {
    padding-top: 0 !important;
    border-top: 0;
  }

  .imported-content table,
  .content-shell table,
  .market-guide-extension table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* High-intent guide pages: compact answer, compliance, and source modules. */
.guide-page .content-hero {
  min-height: 600px;
}

.guide-page .content-hero-copy {
  align-self: center;
}

.guide-page .content-hero-media img {
  aspect-ratio: 16 / 9;
}

.answer-grid,
.decision-grid,
.cta-map-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  width: min(1180px, calc(100% - 32px));
  margin: 0 auto;
}

.answer-grid {
  margin-block: clamp(34px, 5vw, 56px) clamp(30px, 4vw, 52px);
}

.guide-page .contact-section {
  align-items: start;
}

.answer-card,
.decision-card,
.source-card,
.compliance-panel {
  position: relative;
  border: 1px solid rgba(201, 168, 76, 0.3);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(13, 31, 60, 0.97), rgba(7, 20, 42, 0.94)),
    var(--velvet-dark);
  color: var(--white);
  box-shadow: 0 20px 44px rgba(7, 20, 42, 0.2);
}

.answer-card,
.decision-card,
.source-card {
  padding: 24px;
}

.answer-card::before,
.decision-card::before,
.source-card::before,
.compliance-panel::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  border-radius: 8px 0 0 8px;
  background: var(--champagne);
}

.answer-card-label,
.decision-card h3,
.source-card h3 {
  margin-bottom: 10px;
  color: var(--champagne);
  font-family: var(--font-body);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase;
}

.answer-card .answer-card-label {
  display: block;
  color: var(--champagne) !important;
  font-family: var(--font-body);
  font-size: 13px !important;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: 0;
  text-transform: uppercase;
}

.answer-card p,
.decision-card p,
.source-card p,
.compliance-panel p,
.compliance-panel li {
  color: rgba(253, 248, 240, 0.86);
}

.answer-card p,
.decision-card p,
.source-card p {
  margin: 0;
}

.guide-longform {
  display: grid;
  gap: clamp(36px, 5vw, 58px);
}

.guide-longform h2 {
  margin-bottom: 14px;
}

.guide-longform h3 {
  margin-top: 22px;
  margin-bottom: 8px;
}

.guide-longform .guide-section {
  padding-bottom: clamp(18px, 3vw, 28px);
  border-bottom: 1px solid rgba(201, 168, 76, 0.16);
}

.guide-longform .guide-section:last-child {
  border-bottom: 0;
}

.guide-list,
.source-list {
  display: grid;
  gap: 10px;
  margin: 16px 0 0;
  padding: 0;
  list-style: none;
}

.guide-list li,
.source-list li {
  position: relative;
  padding-left: 20px;
  color: var(--ink-soft);
}

.guide-list li::before,
.source-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.75em;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--champagne);
  box-shadow: 0 0 0 4px rgba(201, 168, 76, 0.14);
}

.compliance-panel {
  width: min(1180px, calc(100% - 32px));
  margin: clamp(42px, 7vw, 76px) auto;
  padding: clamp(26px, 4vw, 42px);
}

.compliance-panel h2,
.compliance-panel h3 {
  color: var(--champagne);
}

.compliance-panel ul {
  display: grid;
  gap: 10px;
  margin: 16px 0 0;
  padding-left: 20px;
}

.source-panel {
  width: min(980px, calc(100% - 32px));
  margin: clamp(42px, 7vw, 76px) auto;
  padding: clamp(26px, 4vw, 42px);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.source-panel h2 {
  margin-bottom: 12px;
}

.source-list a {
  color: var(--velvet-mid);
  font-weight: 800;
}

.guide-table {
  width: 100%;
  margin-top: 18px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  border-collapse: separate;
  border-spacing: 0;
}

.guide-table th,
.guide-table td {
  padding: 15px 16px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}

.guide-table th {
  color: var(--velvet-dark);
  background: rgba(201, 168, 76, 0.12);
  font-size: 13px;
  letter-spacing: 0;
  text-transform: uppercase;
}

.guide-table tr:last-child td {
  border-bottom: 0;
}

.conversion-link-cluster {
  padding-top: clamp(36px, 5vw, 64px);
}

@media (max-width: 980px) {
  .answer-grid,
  .decision-grid,
  .cta-map-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .answer-grid,
  .decision-grid,
  .cta-map-grid {
    grid-template-columns: 1fr;
  }

  .guide-page .content-hero {
    min-height: 0;
  }

  .answer-card,
  .decision-card,
  .source-card,
  .compliance-panel,
  .source-panel {
    padding: 22px;
  }

  .guide-table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

/* Section heading H2 size restoration (2026-07-08):
   The h2{font-size:16px !important} rule introduced 2026-06-27 collapses all
   large section titles to body-copy size. This rule restores display sizing for
   the contexts where H2 is used as a section title, not a 16px sub-label. */
.market-stats-copy h2,
.section-heading h2,
.section-heading .h2-heading,
.guide-home-copy h2,
.velvet-final-cta h2,
.editorial-copy h2,
.guide-longform h2,
.contact-band h2,
.contact-band .h2-heading,
.mortgage-calculator-copy h2 {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
  font-size: clamp(30px, 4.5vw, 62px) !important;
  font-weight: 500 !important;
  line-height: 1.02 !important;
  text-transform: none !important;
}

/* =================================================================
   REV Mortgage Partnership Component (2026-07-08)
   All rules are scoped to .rev-partner-band.
   REV brand rules: solid white logo on dark bg; min 90px wide.
   Do not recolor, skew, outline, shadow, or alter the REV logo.
   Disclosure: use -white.png on dark bg, -black.png on light bg.
   ================================================================= */

.rev-partner-band {
  display: grid;
  grid-template-columns: 1fr minmax(200px, 280px);
  gap: clamp(32px, 5vw, 60px);
  align-items: start;
  background: linear-gradient(135deg, rgba(11, 24, 48, 0.98) 0%, rgba(7, 20, 42, 0.96) 100%);
  border: 1px solid rgba(197, 160, 89, 0.30);
  border-radius: 8px;
  padding: clamp(32px, 4.5vw, 52px);
}

.rev-partner-band__eyebrow {
  font-family: 'Montserrat', sans-serif;
  font-size: 12px !important;
  font-weight: 600;
  color: #C5A059;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin: 0 0 12px;
}

.rev-partner-band__heading {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
  font-size: clamp(24px, 3vw, 34px) !important;
  font-weight: 700 !important;
  color: #FFFFFF !important;
  line-height: 1.15 !important;
  text-transform: none !important;
  margin: 0 0 16px;
}

.rev-partner-band__body {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #A3B1C6;
  line-height: 1.6;
  margin: 0 0 10px;
}

.rev-partner-band__lender-note {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: rgba(163, 177, 198, 0.78);
  line-height: 1.55;
  margin: 0 0 24px;
}

.rev-partner-band__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.rev-partner-band__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 14px;
  border-left: 1px solid rgba(197, 160, 89, 0.20);
  padding-left: clamp(24px, 3.5vw, 40px);
}

.rev-partner-band__logo-wrap {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.10);
  border-radius: 8px;
  padding: 20px;
  width: 100%;
}

.rev-partner-band__logo {
  display: block;
  width: 100%;
  min-width: 90px;
  height: auto;
}

.rev-partner-band__card-tagline {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: rgba(163, 177, 198, 0.70);
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin: 0;
}

.rev-partner-band__disclosure {
  width: 100%;
}

.rev-partner-band__disclosure img {
  display: block;
  width: 100%;
  height: auto;
}

@media (max-width: 768px) {
  .rev-partner-band {
    grid-template-columns: 1fr;
  }

  .rev-partner-band__card {
    border-left: none;
    border-top: 1px solid rgba(197, 160, 89, 0.20);
    padding-left: 0;
    padding-top: 24px;
    align-items: flex-start;
  }

  .rev-partner-band__logo-wrap {
    max-width: 200px;
  }

  .rev-partner-band__card-tagline {
    text-align: left;
  }
}

/* Buyer and seller nav cleanup (2026-07-11): keep the slimmed service menu compact while preserving quick paths to new and existing homes. */
@media (min-width: 1241px) {
  .header-inner {
    max-width: 1240px;
    gap: clamp(14px, 1.4vw, 22px);
  }

  .desktop-nav {
    gap: clamp(12px, 1vw, 18px);
  }

  .desktop-nav > a,
  .desktop-nav > .nav-item-dropdown > .nav-dropdown-btn {
    font-size: clamp(13px, 0.82vw, 14px);
  }

  .desktop-nav > .nav-item-dropdown:nth-of-type(3) .nav-dropdown-panel {
    width: auto;
    min-width: 176px;
    max-width: 220px;
    column-count: 1;
    column-gap: 0;
    padding: 10px 16px;
  }

  .desktop-nav > .nav-item-dropdown:nth-of-type(3) .nav-dropdown-panel a {
    padding-block: 8px;
  }
}

/* Deep area-guide visual contract (2026-07-11).
   Keep the researched area pages inside the established Velvet dark editorial
   system. This final scoped block intentionally wins over older global sweeps
   without changing the REV mortgage page, shared header, or shared footer. */
.area-guide-body .deep-area-guide {
  --ink: #ffffff;
  --ink-soft: #a3b1c6;
  --muted: rgba(163, 177, 198, 0.76);
  --paper: #0b1a30;
  --paper-deep: #07142a;
  --surface: rgba(17, 33, 57, 0.96);
  --surface-strong: #112139;
  --surface-soft: rgba(255, 255, 255, 0.05);
  --line: rgba(197, 160, 89, 0.26);
  --line-strong: rgba(197, 160, 89, 0.62);
  --velvet: #c5a059;
  --velvet-dark: #07142a;
  --velvet-deep: #07142a;
  --champagne: #c5a059;
  --velvet-soft: #c5a059;
  --rose: #c5a059;
  --white: #ffffff;
  --area-card: linear-gradient(145deg, rgba(13, 31, 60, 0.98), rgba(7, 20, 42, 0.96));
  --area-card-border: rgba(197, 160, 89, 0.34);
  --area-card-shadow: 0 20px 46px rgba(0, 0, 0, 0.24), inset 0 1px 0 rgba(253, 248, 240, 0.043);
  background: linear-gradient(180deg, #0b1a30 0%, #07142a 52%, #0b1a30 100%) !important;
  color: #a3b1c6 !important;
  font-family: var(--font-body), sans-serif !important;
}

body.area-guide-body {
  background: linear-gradient(180deg, #0b1a30 0%, #07142a 52%, #0b1a30 100%) !important;
  color: #a3b1c6 !important;
}

.area-guide-body .deep-area-guide .area-guide-section-tint {
  background: linear-gradient(180deg, #0b1e36 0%, #07142a 100%) !important;
}

.area-guide-body .deep-area-guide .area-guide-section + .area-guide-section:not(.area-guide-section-dark):not(.area-guide-section-tint) {
  border-top-color: rgba(197, 160, 89, 0.18);
}

/* Display hierarchy */
.area-guide-body .deep-area-guide .area-guide-hero-copy h1 {
  max-width: 760px;
  font-family: var(--font-display), serif !important;
  font-size: 48px !important;
  font-weight: 700 !important;
  line-height: 1.12 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #ffffff !important;
}

.area-guide-body .deep-area-guide .area-section-heading h2 {
  font-family: var(--font-display), serif !important;
  font-size: clamp(40px, 4.5vw, 62px) !important;
  font-weight: 500 !important;
  line-height: 1.02 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #c5a059 !important;
}

.area-guide-body .deep-area-guide .area-guide-cta h2 {
  font-family: var(--font-display), serif !important;
  font-size: clamp(36px, 4vw, 56px) !important;
  font-weight: 500 !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #ffffff !important;
}

.area-guide-body .deep-area-guide .area-city-card h2 {
  font-family: var(--font-display), serif !important;
  font-size: clamp(30px, 3vw, 40px) !important;
  font-weight: 600 !important;
  line-height: 1.15 !important;
  letter-spacing: 0 !important;
  color: #ffffff !important;
}

.area-guide-body .deep-area-guide .area-neighborhood-card h3,
.area-guide-body .deep-area-guide .area-update-card h3,
.area-guide-body .deep-area-guide .area-decision-grid h3,
.area-guide-body .deep-area-guide .area-source-group h3 {
  font-family: var(--font-display), serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #ffffff !important;
}

.area-guide-body .deep-area-guide .area-answer-grid strong,
.area-guide-body .deep-area-guide .area-research-card strong,
.area-guide-body .deep-area-guide .area-faq-list summary,
.area-guide-body .deep-area-guide .area-hierarchy-list > li > div > a {
  font-family: var(--font-display), serif !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #ffffff !important;
}

.area-guide-body .deep-area-guide .area-answer-grid strong {
  font-size: 22px !important;
  line-height: 1.25 !important;
}

.area-guide-body .deep-area-guide .area-research-card strong {
  font-size: 18px !important;
  line-height: 1.3 !important;
}

.area-guide-body .deep-area-guide .area-hierarchy-list > li > div > a {
  font-size: 24px !important;
  line-height: 1.25 !important;
}

/* Body copy and labels */
.area-guide-body .deep-area-guide .area-section-heading > p:last-child,
.area-guide-body .deep-area-guide .area-answer-grid p,
.area-guide-body .deep-area-guide .area-city-card > p,
.area-guide-body .deep-area-guide .area-neighborhood-card > p,
.area-guide-body .deep-area-guide .area-decision-grid > article > p,
.area-guide-body .deep-area-guide .area-source-group li,
.area-guide-body .deep-area-guide .area-update-card p,
.area-guide-body .deep-area-guide .area-callout p,
.area-guide-body .deep-area-guide .area-faq-list details p,
.area-guide-body .deep-area-guide .area-tax-table td,
.area-guide-body .deep-area-guide .area-tax-table caption {
  font-family: var(--font-body), sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: #a3b1c6 !important;
}

.area-guide-body .deep-area-guide .area-guide-hero-copy > p:not(.hero-kicker),
.area-guide-body .deep-area-guide .area-guide-cta p:last-child {
  color: rgba(255, 255, 255, 0.84) !important;
}

.area-guide-body .deep-area-guide .area-research-card > span,
.area-guide-body .deep-area-guide .area-answer-grid article > span,
.area-guide-body .deep-area-guide .area-card-topline > span,
.area-guide-body .deep-area-guide .area-hierarchy-list > li > div > span,
.area-guide-body .deep-area-guide .area-tax-table caption {
  font-family: var(--font-body), sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  color: #c5a059 !important;
}

.area-guide-body .deep-area-guide .area-city-card time,
.area-guide-body .deep-area-guide .area-update-meta time,
.area-guide-body .deep-area-guide .area-update-meta .area-update-date {
  font-family: var(--font-body), sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  color: #a3b1c6 !important;
}

/* Unified dark surfaces */
.area-guide-body .deep-area-guide .area-research-card,
.area-guide-body .deep-area-guide .area-answer-grid article,
.area-guide-body .deep-area-guide .area-city-card,
.area-guide-body .deep-area-guide .area-neighborhood-card,
.area-guide-body .deep-area-guide .area-decision-grid > article,
.area-guide-body .deep-area-guide .area-source-group,
.area-guide-body .deep-area-guide .area-update-card,
.area-guide-body .deep-area-guide .area-table-wrap,
.area-guide-body .deep-area-guide .area-faq-list details,
.area-guide-body .deep-area-guide .area-callout {
  background: var(--area-card) !important;
  border: 1px solid var(--area-card-border) !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  box-shadow: var(--area-card-shadow) !important;
}

.area-guide-body .deep-area-guide .area-answer-grid article {
  border-top: 3px solid #c5a059 !important;
}

.area-guide-body .deep-area-guide .area-callout {
  border-left: 4px solid #c5a059 !important;
}

.area-guide-body .deep-area-guide .area-card-check,
.area-guide-body .deep-area-guide .area-update-impact,
.area-guide-body .deep-area-guide .area-source-group li + li {
  border-color: rgba(197, 160, 89, 0.2) !important;
}

.area-guide-body .deep-area-guide .area-card-check strong,
.area-guide-body .deep-area-guide .area-update-impact strong,
.area-guide-body .deep-area-guide .area-callout > strong {
  color: #ffffff !important;
}

/* Research status and jump navigation */
.area-guide-body .deep-area-guide .area-research-card {
  background: rgba(11, 30, 54, 0.96) !important;
  backdrop-filter: blur(16px);
}

.area-guide-body .deep-area-guide .area-jump-nav {
  background: rgba(11, 30, 54, 0.97) !important;
  border-bottom: 1px solid rgba(197, 160, 89, 0.32) !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.26) !important;
}

.area-guide-body .deep-area-guide .area-jump-nav a,
.area-guide-body .deep-area-guide .area-city-neighborhoods a,
.area-guide-body .deep-area-guide .area-link-cloud a,
.area-guide-body .deep-area-guide .area-hierarchy-list li li a {
  background: rgba(255, 255, 255, 0.035) !important;
  border: 1px solid rgba(197, 160, 89, 0.34) !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

.area-guide-body .deep-area-guide .area-city-neighborhoods a,
.area-guide-body .deep-area-guide .area-link-cloud a,
.area-guide-body .deep-area-guide .area-hierarchy-list li li a {
  display: inline-block;
}

.area-guide-body .deep-area-guide .area-jump-nav a:hover,
.area-guide-body .deep-area-guide .area-jump-nav a:focus-visible,
.area-guide-body .deep-area-guide .area-city-neighborhoods a:hover,
.area-guide-body .deep-area-guide .area-city-neighborhoods a:focus-visible,
.area-guide-body .deep-area-guide .area-link-cloud a:hover,
.area-guide-body .deep-area-guide .area-link-cloud a:focus-visible,
.area-guide-body .deep-area-guide .area-hierarchy-list li li a:hover,
.area-guide-body .deep-area-guide .area-hierarchy-list li li a:focus-visible {
  background: #c5a059 !important;
  border-color: #c5a059 !important;
  color: #0b1e36 !important;
}

.area-guide-body .deep-area-guide .area-city-link,
.area-guide-body .deep-area-guide .area-source-link,
.area-guide-body .deep-area-guide .area-card-topline > a {
  color: #c5a059 !important;
  text-decoration-color: rgba(197, 160, 89, 0.76) !important;
}

.area-guide-body .deep-area-guide .area-city-link {
  display: inline-block;
  padding: 12px 0 8px;
  border-bottom-color: #c5a059;
}

/* Tax table */
.area-guide-body .deep-area-guide .area-tax-table thead th {
  background: #07142a !important;
  color: #c5a059 !important;
  font-family: var(--font-body), sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.area-guide-body .deep-area-guide .area-tax-table th,
.area-guide-body .deep-area-guide .area-tax-table td {
  border-color: rgba(197, 160, 89, 0.2) !important;
}

.area-guide-body .deep-area-guide .area-tax-table tbody th {
  color: #ffffff !important;
  font-family: var(--font-body), sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
}

.area-guide-body .deep-area-guide .area-tax-table td strong {
  color: #c5a059 !important;
}

/* FAQ */
.area-guide-body .deep-area-guide .area-faq-list summary {
  position: relative;
  display: block !important;
  min-height: 58px;
  padding: 18px 56px 18px 22px;
  font-size: 18px !important;
  line-height: 1.35 !important;
  cursor: pointer;
}

.area-guide-body .deep-area-guide .area-faq-list summary::after {
  content: '+';
  position: absolute;
  top: 50%;
  right: 22px;
  transform: translateY(-50%);
  color: #c5a059;
  font-family: var(--font-body), sans-serif;
  font-size: 22px;
  font-weight: 600;
}

.area-guide-body .deep-area-guide .area-faq-list details[open] summary::after {
  content: '\2212';
}

/* Final CTA */
.area-guide-body .deep-area-guide .area-guide-cta {
  background:
    radial-gradient(circle at 85% 20%, rgba(197, 160, 89, 0.18), transparent 36%),
    linear-gradient(145deg, rgba(13, 31, 60, 0.98), rgba(7, 20, 42, 0.98)) !important;
  border: 1px solid rgba(197, 160, 89, 0.38) !important;
  border-radius: 8px !important;
  box-shadow: var(--area-card-shadow) !important;
}

/* Translation-protection wrappers must be typographically invisible. */
.area-guide-body .deep-area-guide span.notranslate {
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-style: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
}

@media (max-width: 768px) {
  .area-guide-body .deep-area-guide {
    padding-top: 80px;
  }

  .area-guide-body .deep-area-guide .area-jump-nav {
    top: 80px;
  }

  .area-guide-body .deep-area-guide .area-guide-hero-copy h1 {
    font-size: 42px !important;
    line-height: 1.08 !important;
  }

  .area-guide-body .deep-area-guide .area-section-heading h2 {
    font-size: clamp(36px, 10vw, 48px) !important;
  }
}

/* Narrow-phone header fit and menu-state repair (2026-07-12).
   Keep the brand, language controls, and menu inside a 320px viewport. */
@media (max-width: 380px) {
  .site-header {
    padding-inline: 8px;
  }

  .header-inner {
    gap: 6px;
  }

  .brand {
    gap: 6px;
  }

  .brand img {
    width: 30px;
    height: 30px;
  }

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

  .brand-wordmark small {
    display: none;
  }

  .language-toggle-desktop {
    display: none;
  }

  .header-actions {
    gap: 6px;
  }

  .language-toggle {
    min-height: 40px;
    padding: 2px;
  }

  .language-toggle button {
    min-width: 30px;
    min-height: 34px;
    padding: 6px;
  }

  .menu-button {
    width: 44px;
    height: 44px;
  }

  .market-stats-band > *,
  .market-stats-copy,
  .market-stats-grid,
  .guide-longform,
  .guide-longform .guide-section,
  .first-time-buyer-page .first-buyer-guide > .area-preview,
  .first-time-buyer-page .first-buyer-guide > .area-preview .data-table-wrap {
    min-width: 0;
    max-width: 100%;
  }

  .market-stats-copy,
  .market-stats-grid {
    width: 100%;
  }

  .market-stats-copy h2,
  .guide-longform h2,
  .guide-longform p,
  .guide-longform li {
    overflow-wrap: anywhere;
  }

  .market-stats-band .button,
  .velvet-final-cta .button,
  .contact-band .button {
    max-width: 100%;
    min-width: 0;
    white-space: normal;
  }

  .first-time-buyer-page .first-buyer-guide > .area-preview .data-table-wrap {
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
  }

  .first-time-buyer-page .first-buyer-program-table {
    display: table !important;
    width: 100%;
    min-width: 520px;
    overflow: visible;
  }

  .contact-band > *,
  .contact-band-actions,
  select {
    min-width: 0;
    max-width: 100%;
  }

  .trust-social-section .velvet-reviews {
    width: 100vw;
    max-width: 100vw;
    margin-left: calc(50% - 50vw);
    overflow-x: hidden;
  }

  .trust-social-section .velvet-reviews > div,
  .trust-social-section .velvet-reviews .shadow-wrapper {
    max-width: 100% !important;
  }
}

/* Protected place-name wrappers must never change surrounding typography. */
span.notranslate[data-protected-term] {
  margin: 0 !important;
  padding: 0 !important;
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-style: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
}

/* Preserve Velvet CTA card surfaces after the broad mobile background reset. */
@media (max-width: 768px) {
  .faq-teaser,
  .contact-band {
    background: linear-gradient(135deg, rgba(13, 31, 60, 0.98), rgba(7, 20, 42, 0.95)) !important;
    color: var(--white) !important;
  }
}

/* Blog index featured-first layout (2026-07-16): breaking band, featured latest post,
   recent trio, month-grouped archive. Section order and anchors documented in
   blog-automation/editorial-rules.md. */
.blog-breaking-section {
  padding: clamp(20px, 3.4vw, 36px) 0 0;
}

.blog-breaking-band {
  width: min(1120px, calc(100% - 32px));
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: clamp(16px, 2.5vw, 28px);
  padding: clamp(18px, 2.4vw, 24px) clamp(18px, 2.6vw, 28px);
  background: var(--velvet-card-bg-soft);
  border: 1px solid var(--velvet-card-border);
  border-left: 3px solid var(--champagne);
  border-radius: 8px;
  box-shadow: var(--velvet-card-shadow);
}

.blog-breaking-copy {
  flex: 1 1 auto;
  display: grid;
  gap: 7px;
}

.blog-breaking-flag {
  justify-self: start;
  padding: 3px 10px;
  background: var(--champagne);
  color: #0b1e36;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  border-radius: 4px;
}

.blog-breaking-copy h2,
.blog-breaking-copy h3 {
  margin: 0;
  font-family: var(--font-display), serif !important;
  font-size: clamp(19px, 1.9vw, 22px) !important;
  font-weight: 600 !important;
  color: var(--velvet-card-heading) !important;
  line-height: 1.3 !important;
}

.blog-breaking-copy p {
  margin: 0;
  color: var(--velvet-card-text);
  font-size: 14px;
  line-height: 1.6;
}

.blog-breaking-band > .button {
  flex: 0 0 auto;
}

.blog-latest-section {
  padding-top: clamp(26px, 4.4vw, 48px);
}

.blog-featured-post {
  width: min(1120px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 46fr) minmax(0, 54fr);
  overflow: hidden;
  background: var(--velvet-card-bg);
  border: 1px solid var(--velvet-card-border);
  border-radius: 8px;
  box-shadow: var(--velvet-card-shadow);
  color: var(--velvet-card-heading);
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.blog-featured-post:hover {
  color: var(--velvet-card-heading);
  transform: translateY(-3px);
  border-color: var(--velvet-card-border-strong);
}

.blog-featured-media {
  margin: 0;
  min-height: 100%;
}

.blog-featured-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.blog-featured-body {
  display: grid;
  align-content: center;
  justify-items: start;
  gap: 14px;
  padding: clamp(22px, 3.2vw, 42px);
}

.blog-featured-kicker {
  color: var(--champagne);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.blog-featured-body h2,
.blog-featured-body h3 {
  margin: 0;
  font-family: var(--font-display), serif !important;
  font-size: clamp(24px, 2.4vw, 30px) !important;
  font-weight: 600 !important;
  color: var(--velvet-card-heading) !important;
  line-height: 1.2 !important;
  text-wrap: balance;
}

.blog-featured-body p {
  margin: 0;
  color: var(--velvet-card-text);
  font-size: 15px;
  line-height: 1.65;
}

.blog-featured-more {
  color: var(--champagne);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.blog-featured-post:hover .blog-featured-more {
  text-decoration: underline;
}

.blog-recent-section {
  padding-top: clamp(26px, 4.4vw, 48px);
}

.blog-grid-recent .blog-card {
  min-height: 0;
}

.blog-grid-recent .blog-card h3 {
  font-size: 22px;
  font-weight: 600;
  line-height: 1.3;
}

.blog-archive-list .blog-month-heading {
  border-radius: 8px;
}

@media (max-width: 900px) {
  .blog-breaking-band {
    flex-direction: column;
    align-items: flex-start;
  }

  .blog-featured-post {
    grid-template-columns: 1fr;
  }

  .blog-featured-media {
    aspect-ratio: 16 / 9;
    min-height: 0;
  }
}

/* =================================================================
   Quiet Texas Luxury v1
   Scoped editorial system for the 2026-07-18 redesign.
   New classes avoid weakening legacy card and translation contracts.
   ================================================================= */

:root {
  --luxury-ink: #07142a;
  --luxury-navy: #0b1e36;
  --luxury-navy-raised: #112743;
  --luxury-champagne: #c5a059;
  --luxury-ivory: #f8f4ec;
  --luxury-white: #ffffff;
  --luxury-mist: #d7dfe8;
  --luxury-slate: #526176;
  --luxury-line: rgba(197, 160, 89, 0.28);
  --luxury-shadow: 0 28px 74px rgba(7, 20, 42, 0.24);
  --luxury-container: 1240px;
  --luxury-reading: 720px;
  --luxury-section: clamp(64px, 8vw, 112px);
}

.luxury-home {
  overflow: clip;
  background: var(--luxury-navy);
  color: var(--luxury-mist);
}

.luxury-home h1,
.luxury-home h2,
.luxury-home h3,
.luxury-home p {
  text-wrap: pretty;
}

.luxury-home h1,
.luxury-home h2,
.luxury-home h3 {
  text-wrap: balance;
}

.luxury-home .section-eyebrow {
  margin: 0 0 16px;
  color: var(--luxury-champagne) !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
}

.luxury-home h2 {
  margin: 0;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
  font-size: clamp(34px, 4.4vw, 58px) !important;
  font-weight: 500 !important;
  line-height: 1.06 !important;
  letter-spacing: -0.025em !important;
  text-transform: none !important;
}

.luxury-home h3 {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.28 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.luxury-home p {
  font-family: 'Montserrat', sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
}

.luxury-home-hero {
  min-height: min(920px, 100svh);
  background: var(--luxury-ink);
  isolation: isolate;
}

.luxury-home-hero .hero-image {
  transform: scale(1.015);
  animation: luxury-image-settle 1100ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.luxury-home-hero .hero-overlay {
  background:
    linear-gradient(90deg, rgba(7, 20, 42, 0.97) 0%, rgba(7, 20, 42, 0.88) 38%, rgba(7, 20, 42, 0.40) 72%, rgba(7, 20, 42, 0.34) 100%),
    linear-gradient(0deg, rgba(7, 20, 42, 0.72) 0%, transparent 55%);
}

.luxury-home-hero .velvet-hero-inner {
  width: min(var(--luxury-container), calc(100% - 96px));
  min-height: inherit;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  margin: 0 auto;
  padding: 148px 0 clamp(72px, 9vh, 112px);
}

.luxury-home-hero .velvet-location-row {
  margin: 0 0 18px;
  color: rgba(255, 255, 255, 0.72) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase;
  animation: luxury-rise 520ms 80ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.luxury-home-hero h1 {
  max-width: 760px;
  margin: 0;
  color: var(--luxury-white) !important;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
  font-size: 48px !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  text-transform: none !important;
  animation: luxury-rise 560ms 140ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.luxury-hero-statement {
  max-width: 760px;
  margin: 16px 0 0;
  color: var(--luxury-white) !important;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
  font-size: clamp(28px, 3.6vw, 48px) !important;
  font-style: italic;
  font-weight: 400 !important;
  line-height: 1.12 !important;
  letter-spacing: -0.02em;
  animation: luxury-rise 600ms 200ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.luxury-home-hero .hero-copy {
  max-width: 660px;
  margin: 24px 0 0;
  color: var(--luxury-mist) !important;
  font-size: 17px !important;
  line-height: 1.65 !important;
  animation: luxury-rise 620ms 260ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.luxury-home-hero .hero-actions {
  margin-top: 30px;
  gap: 24px;
  animation: luxury-rise 640ms 320ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

.luxury-home .button {
  min-height: 48px;
  border-radius: 4px;
  transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease, transform 200ms ease, box-shadow 200ms ease;
}

.luxury-home .button:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 28px rgba(7, 20, 42, 0.24);
}

.luxury-home .button:active {
  transform: translateY(1px);
}

.luxury-text-link {
  min-height: 44px;
  display: inline-flex;
  gap: 10px;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px solid currentColor;
  color: var(--luxury-navy);
  font-family: 'Montserrat', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  transition: color 200ms ease, gap 200ms ease, border-color 200ms ease;
}

.luxury-text-link:hover {
  gap: 14px;
  color: #856820;
}

.luxury-text-link-light,
.luxury-text-link-light:hover {
  color: var(--luxury-white);
}

.luxury-market-brief,
.luxury-editorial-split,
.luxury-paths,
.luxury-local-answers,
.luxury-proof-band,
.luxury-service-areas,
.luxury-final-invitation {
  width: min(var(--luxury-container), calc(100% - 96px));
  margin-inline: auto;
}

.luxury-market-brief {
  display: grid;
  grid-template-columns: minmax(0, 0.84fr) minmax(0, 1.16fr);
  gap: clamp(48px, 8vw, 110px);
  align-items: end;
  padding: var(--luxury-section) 0;
  border-bottom: 1px solid var(--luxury-line);
}

.luxury-market-intro {
  max-width: 540px;
}

.luxury-market-intro h2 {
  color: var(--luxury-white) !important;
}

.luxury-market-intro > p:not(.section-eyebrow) {
  margin: 22px 0 18px;
  color: var(--luxury-mist) !important;
}

.luxury-market-intro .luxury-text-link {
  color: var(--luxury-champagne);
}

.luxury-market-numbers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 0;
  border-top: 1px solid var(--luxury-line);
  border-bottom: 1px solid var(--luxury-line);
}

.luxury-market-numbers div {
  min-width: 0;
  padding: clamp(24px, 2.2vw, 32px) clamp(10px, 1.25vw, 20px);
}

.luxury-market-numbers div + div {
  border-left: 1px solid var(--luxury-line);
}

.luxury-market-numbers dt {
  color: var(--luxury-mist);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.luxury-market-numbers dd {
  margin: 12px 0 0;
  color: var(--luxury-champagne);
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size: clamp(28px, 2.35vw, 36px);
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1;
  white-space: nowrap;
}

.luxury-editorial-split {
  display: grid;
  grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
  min-height: 650px;
  padding: var(--luxury-section) 0;
}

.luxury-brand-panel {
  position: relative;
  min-height: 520px;
  overflow: hidden;
  background: linear-gradient(145deg, #112743, #07142a);
  border: 1px solid var(--luxury-line);
  box-shadow: var(--luxury-shadow);
}

.luxury-brand-panel picture,
.luxury-brand-panel picture::after {
  position: absolute;
  inset: 0;
  display: block;
}

.luxury-brand-panel picture::after {
  background: linear-gradient(0deg, rgba(7, 20, 42, 0.94) 0%, rgba(7, 20, 42, 0.12) 54%, transparent 76%);
  content: '';
}

.luxury-brand-panel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 24%;
}

.luxury-brand-caption {
  position: absolute;
  z-index: 1;
  right: 0;
  bottom: 0;
  left: 0;
  padding: clamp(28px, 5vw, 56px);
}

.luxury-brand-caption p {
  margin: 0 0 8px;
  color: var(--luxury-white) !important;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif !important;
  font-size: 28px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
}

.luxury-brand-caption > span {
  max-width: 34ch;
  display: block;
  color: var(--luxury-mist);
  font-size: 13px;
  line-height: 1.6;
}

.luxury-editorial-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(48px, 8vw, 112px);
  background: var(--luxury-ivory);
  color: var(--luxury-navy);
}

.luxury-editorial-copy h2 {
  color: var(--luxury-navy) !important;
}

.luxury-editorial-copy > p:not(.section-eyebrow) {
  max-width: 58ch;
  margin: 22px 0 0;
  color: var(--luxury-slate) !important;
}

.luxury-editorial-copy .luxury-text-link {
  margin-top: 26px;
}

.luxury-paths {
  display: grid;
  grid-template-columns: minmax(260px, 0.62fr) minmax(0, 1.38fr);
  gap: clamp(48px, 8vw, 110px);
  padding: var(--luxury-section) 0;
}

.luxury-section-heading {
  max-width: 560px;
}

.luxury-section-heading h2 {
  color: var(--luxury-white) !important;
}

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

.luxury-path-list > a {
  min-height: 136px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) 28px;
  gap: 24px;
  align-items: center;
  padding: 28px 4px;
  border-bottom: 1px solid var(--luxury-line);
  color: var(--luxury-white);
  text-decoration: none;
  transition: color 220ms ease, padding-inline 220ms ease, background-color 220ms ease;
}

.luxury-path-list > a:hover {
  padding-inline: 14px;
  background: rgba(255, 255, 255, 0.035);
  color: var(--luxury-champagne);
}

.luxury-path-number {
  color: var(--luxury-champagne);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
}

.luxury-path-list strong,
.luxury-path-list small {
  display: block;
}

.luxury-path-list strong {
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size: clamp(22px, 2.2vw, 30px);
  font-weight: 600;
  line-height: 1.2;
}

.luxury-path-list small {
  max-width: 56ch;
  margin-top: 8px;
  color: var(--luxury-mist);
  font-size: 14px;
  line-height: 1.6;
}

.luxury-landscape-feature {
  position: relative;
  min-height: clamp(680px, 80vw, 880px);
  display: grid;
  align-items: end;
  isolation: isolate;
  overflow: hidden;
}

.luxury-landscape-feature > img,
.luxury-landscape-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.luxury-landscape-feature > img {
  z-index: -2;
  object-fit: cover;
}

.luxury-landscape-shade {
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(7, 20, 42, 0.94) 0%, rgba(7, 20, 42, 0.76) 44%, rgba(7, 20, 42, 0.18) 78%),
    linear-gradient(0deg, rgba(7, 20, 42, 0.72), transparent 60%);
}

.luxury-landscape-copy {
  width: min(var(--luxury-container), calc(100% - 96px));
  margin-inline: auto;
  padding: var(--luxury-section) 0;
}

.luxury-landscape-copy h2 {
  max-width: 820px;
  color: var(--luxury-white) !important;
}

.luxury-landscape-copy > p:not(.section-eyebrow) {
  max-width: 650px;
  margin: 24px 0 30px;
  color: var(--luxury-mist) !important;
}

.luxury-local-answers {
  display: grid;
  grid-template-columns: minmax(280px, 0.7fr) minmax(0, 1.3fr);
  gap: clamp(48px, 8vw, 110px);
  padding: var(--luxury-section) 0;
}

.luxury-local-answers .luxury-section-heading h2 {
  color: var(--luxury-white) !important;
}

.luxury-answer-list {
  border-top: 1px solid var(--luxury-line);
}

.luxury-answer-list article {
  display: grid;
  grid-template-columns: minmax(220px, 0.86fr) minmax(0, 1.14fr);
  gap: 32px;
  padding: 30px 0;
  border-bottom: 1px solid var(--luxury-line);
}

.luxury-answer-list h3 {
  margin: 0;
  color: var(--luxury-white) !important;
}

.luxury-answer-list p {
  margin: 0;
  color: var(--luxury-mist) !important;
}

.luxury-proof-band {
  display: flex;
  gap: 48px;
  align-items: end;
  justify-content: space-between;
  padding: clamp(48px, 6vw, 80px);
  background: var(--luxury-ivory);
  color: var(--luxury-navy);
}

.luxury-proof-band h2 {
  color: var(--luxury-navy) !important;
}

.luxury-proof-band p:not(.section-eyebrow) {
  max-width: 62ch;
  margin: 18px 0 0;
  color: var(--luxury-slate) !important;
}

.luxury-proof-actions {
  flex: 0 0 auto;
  display: flex;
  gap: 18px;
  align-items: center;
}

.luxury-service-areas {
  display: grid;
  grid-template-columns: minmax(280px, 0.74fr) minmax(0, 1.26fr);
  gap: clamp(48px, 8vw, 110px);
  padding: var(--luxury-section) 0;
}

.luxury-service-areas .luxury-section-heading h2 {
  color: var(--luxury-white) !important;
}

.luxury-area-links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--luxury-line);
}

.luxury-area-links a {
  min-height: 72px;
  display: flex;
  align-items: center;
  padding: 14px 8px;
  border-bottom: 1px solid var(--luxury-line);
  color: var(--luxury-white);
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  font-size: 20px;
  font-weight: 600;
  text-decoration: none;
  transition: color 200ms ease, padding-inline 200ms ease;
}

.luxury-area-links a:nth-child(odd) {
  border-right: 1px solid var(--luxury-line);
}

.luxury-area-links a:hover {
  padding-inline: 16px;
  color: var(--luxury-champagne);
}

.luxury-final-invitation {
  margin-bottom: var(--luxury-section);
  padding: clamp(56px, 9vw, 112px);
  background:
    radial-gradient(circle at 88% 20%, rgba(197, 160, 89, 0.20), transparent 34%),
    linear-gradient(145deg, #112743, #07142a);
  border: 1px solid var(--luxury-line);
  text-align: left;
}

.luxury-final-invitation h2 {
  max-width: 800px;
  color: var(--luxury-white) !important;
}

.luxury-final-invitation > p:not(.section-eyebrow) {
  max-width: 640px;
  margin: 24px 0 30px;
  color: var(--luxury-mist) !important;
}

@keyframes luxury-rise {
  from {
    opacity: 0;
    transform: translateY(12px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes luxury-image-settle {
  from {
    opacity: 0.76;
    transform: scale(1.035);
  }
  to {
    opacity: 1;
    transform: scale(1.015);
  }
}

@media (max-width: 980px) {
  .luxury-home-hero .velvet-hero-inner,
  .luxury-market-brief,
  .luxury-editorial-split,
  .luxury-paths,
  .luxury-local-answers,
  .luxury-proof-band,
  .luxury-service-areas,
  .luxury-final-invitation,
  .luxury-landscape-copy {
    width: min(100% - 64px, var(--luxury-container));
  }

  .luxury-market-brief,
  .luxury-paths,
  .luxury-local-answers,
  .luxury-service-areas {
    grid-template-columns: 1fr;
  }

  .luxury-editorial-split {
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
  }

  .luxury-editorial-copy {
    padding: 48px;
  }

  .luxury-proof-band {
    align-items: flex-start;
    flex-direction: column;
  }
}

@media (max-width: 700px) {
  .luxury-home-hero {
    min-height: 100svh;
  }

  .luxury-home-hero .velvet-hero-inner,
  .luxury-market-brief,
  .luxury-editorial-split,
  .luxury-paths,
  .luxury-local-answers,
  .luxury-proof-band,
  .luxury-service-areas,
  .luxury-final-invitation,
  .luxury-landscape-copy {
    width: min(100% - 40px, var(--luxury-container));
  }

  .luxury-home-hero .velvet-hero-inner {
    min-height: 100svh;
    padding: 116px 0 48px;
  }

  .luxury-home-hero .hero-overlay {
    background:
      linear-gradient(90deg, rgba(7, 20, 42, 0.94), rgba(7, 20, 42, 0.62)),
      linear-gradient(0deg, rgba(7, 20, 42, 0.88) 0%, rgba(7, 20, 42, 0.20) 72%);
  }

  .luxury-home-hero h1 {
    font-size: 42px !important;
  }

  .luxury-hero-statement {
    font-size: clamp(26px, 8vw, 36px) !important;
  }

  .luxury-home-hero .hero-copy {
    max-width: 40ch;
    font-size: 16px !important;
  }

  .luxury-home-hero .hero-actions {
    align-items: flex-start;
    flex-direction: column;
    gap: 10px;
  }

  .luxury-market-numbers {
    grid-template-columns: 1fr;
  }

  .luxury-market-numbers div + div {
    border-top: 1px solid var(--luxury-line);
    border-left: 0;
  }

  .luxury-editorial-split {
    width: 100%;
    grid-template-columns: 1fr;
    padding: 0;
  }

  .luxury-brand-panel {
    min-height: 440px;
  }

  .luxury-brand-panel img {
    object-position: 50% 18%;
  }

  .luxury-brand-caption {
    padding: 36px 20px;
  }

  .luxury-editorial-copy {
    padding: 56px 20px 64px;
  }

  .luxury-path-list > a {
    min-height: 0;
    grid-template-columns: 32px minmax(0, 1fr) 20px;
    gap: 14px;
    padding: 24px 0;
  }

  .luxury-landscape-feature {
    min-height: 720px;
  }

  .luxury-landscape-shade {
    background:
      linear-gradient(90deg, rgba(7, 20, 42, 0.88), rgba(7, 20, 42, 0.48)),
      linear-gradient(0deg, rgba(7, 20, 42, 0.92), transparent 80%);
  }

  .luxury-answer-list article {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .luxury-proof-band {
    padding: 40px 24px;
  }

  .luxury-proof-actions {
    width: 100%;
    align-items: flex-start;
    flex-direction: column;
  }

  .luxury-area-links {
    grid-template-columns: 1fr;
  }

  .luxury-area-links a:nth-child(odd) {
    border-right: 0;
  }

  .luxury-final-invitation {
    padding: 48px 24px;
  }
}

@media (max-width: 380px) {
  .luxury-home-hero .velvet-hero-inner,
  .luxury-market-brief,
  .luxury-paths,
  .luxury-local-answers,
  .luxury-proof-band,
  .luxury-service-areas,
  .luxury-final-invitation,
  .luxury-landscape-copy {
    width: min(100% - 32px, var(--luxury-container));
  }

  .luxury-home-hero .velvet-location-row {
    flex-wrap: nowrap;
    gap: 7px;
    max-width: 100%;
    font-size: 9px !important;
    letter-spacing: 0.08em !important;
    white-space: nowrap;
  }

  .luxury-home-hero .velvet-location-row::before,
  .luxury-home-hero .velvet-location-row::after {
    width: 24px;
    flex: 0 0 24px;
  }

  .luxury-home-hero h1 {
    font-size: 38px !important;
  }

  .luxury-home-hero .button {
    width: 100%;
    max-width: 100%;
    padding: 10px 14px;
    font-size: 13px;
    line-height: 1.35;
    white-space: normal;
  }

  .luxury-home-hero .hero-actions {
    width: 100%;
  }

  .luxury-market-numbers dd {
    font-size: 34px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .luxury-home *,
  .luxury-home *::before,
  .luxury-home *::after {
    scroll-behavior: auto !important;
    animation: none !important;
    transition-duration: 0.01ms !important;
    transition-delay: 0ms !important;
  }

  .luxury-home-hero .hero-image,
  .luxury-home .button:hover,
  .luxury-home .button:active {
    transform: none !important;
  }
}

/* Narrow-screen wrapping and disclosure-flow repairs. */
.blog-link-grid a,
.blog-link-grid a > strong,
.blog-link-grid a > span {
  min-width: 0;
  max-width: 100%;
}

.blog-link-grid a > strong,
.blog-link-grid a > span {
  overflow-wrap: anywhere;
  word-break: normal;
}

.trec-document-button {
  max-width: 100%;
  min-width: 0;
  height: auto;
  padding-block: 12px;
  line-height: 1.35;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
}

@media (max-width: 640px) {
  .trec-document-button {
    width: 100%;
  }

  .contact-form,
  .contact-form > * {
    min-width: 0;
    max-width: 100%;
  }

  .contact-form input:not([type="checkbox"]),
  .contact-form select,
  .contact-form textarea,
  .contact-form button {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .contact-form .check-field {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    overflow-wrap: anywhere;
  }

  .contact-form .check-field input[type="checkbox"] {
    flex: 0 0 auto;
    width: auto;
    min-width: 0;
    min-height: auto;
    margin-top: 0.25em;
  }

  .contact-form .button {
    height: auto;
    padding-block: 12px;
    line-height: 1.35;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .va-assumable-page .content-hero-copy,
  .va-assumable-page .content-hero-media {
    min-width: 0;
    max-width: 100%;
  }

  .va-assumable-page .content-hero .button {
    min-width: 0;
    max-width: 100%;
    height: auto;
    padding-block: 12px;
    line-height: 1.35;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .va-assumable-page .guide-table {
    display: table;
    width: 100%;
    max-width: 100%;
    table-layout: fixed;
    overflow: visible;
  }

  .va-assumable-page .guide-table th,
  .va-assumable-page .guide-table td {
    padding: 10px 8px;
    overflow-wrap: anywhere;
    word-break: normal;
  }

  .reviews-widget-section {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }

  .reviews-widget-section [data-featurable-async],
  .reviews-widget-section [data-featurable-async] > div,
  .reviews-widget-section .shadow-wrapper {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 480px) {
  .section.faq-list details > summary {
    display: block;
    min-width: 0;
    max-width: 100%;
    padding-block: 21px;
    overflow-wrap: anywhere;
    word-break: normal;
  }
}

/* Global accessibility finish: durable focus and mobile link targets */
.header-search input[type="search"]:focus-visible {
  outline: 3px solid #d7b96d;
  outline-offset: 3px;
  border-color: #d7b96d;
}

.header-search button:focus-visible,
.header-search-toggle:focus-visible {
  outline: 3px solid #d7b96d;
  outline-offset: 3px;
}

.footer-nav-panel a,
.legal-links a,
.footer-utility-links a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

/* Mobile header finish: keep the full business name clear and move the
   language choice into the mobile menu where it has room to breathe. */
@media (max-width: 640px) {
  .header-actions .language-toggle-desktop {
    display: none;
  }

  .brand-wordmark {
    min-width: 0;
    width: auto;
    overflow: hidden;
  }

  .brand-wordmark small {
    display: none;
  }

  .brand-wordmark strong {
    font-size: clamp(14px, 4.6vw, 18px);
    overflow: hidden;
    text-overflow: ellipsis;
  }
}


/* PAP-3 fix (2026-07-19): restore .button-dark as the dark-filled variant for light sections. */
.button-dark,
a.button.button-dark,
.luxury-home .button-dark {
  background: var(--type-blue) !important;
  background-image: none !important;
  color: var(--type-white) !important;
  border: 1px solid var(--type-gold) !important;
}

.button-dark:hover,
a.button.button-dark:hover,
.luxury-home .button-dark:hover {
  background: #0d1f3c !important;
  color: var(--type-white) !important;
  border-color: var(--type-gold) !important;
}

/* Footer refinement (2026-07-31): restore a clear page ending, reduce
   duplicate utility navigation, and keep the disclosure readable without
   letting the footer dominate the page. */
.site-footer {
  padding: clamp(38px, 4vw, 52px) clamp(18px, 4vw, 44px) 24px;
  background: linear-gradient(180deg, #0d213f 0%, #091a32 100%) !important;
  border-top: 1px solid rgba(197, 160, 89, 0.42);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

.footer-grid,
.legal {
  width: min(100%, 1180px);
  max-width: 1180px;
}

.footer-grid {
  grid-template-columns: minmax(280px, 1.2fr) minmax(180px, 0.68fr) minmax(280px, 1fr);
  gap: 28px clamp(32px, 4.5vw, 64px);
}

.footer-grid > div.footer-nav-panel {
  grid-column: 1 / -1;
  grid-row: 1;
  padding: 0 0 24px;
  background: transparent;
  border: 0;
  border-bottom: 1px solid rgba(197, 160, 89, 0.22);
  border-radius: 0;
}

.footer-grid > div:first-child {
  grid-column: 1;
  grid-row: 2;
}

.footer-grid > div:nth-child(3) {
  grid-column: 2;
  grid-row: 2;
}

.footer-grid > div:nth-child(4) {
  grid-column: 3;
  grid-row: 2;
}

.footer-nav-panel .footer-heading {
  margin-bottom: 16px;
  padding: 0;
  border: 0;
  font-size: 15px;
  letter-spacing: 0.01em;
}

.footer-nav-groups {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px clamp(24px, 4vw, 52px);
}

.footer-nav-group {
  gap: 1px;
}

.footer-nav-group span {
  margin-bottom: 6px;
  letter-spacing: 0.1em;
}

.footer-grid > div.footer-nav-panel .footer-nav-group a {
  width: fit-content;
  min-height: 32px;
  font-size: 13px;
  line-height: 1.4;
  white-space: normal;
}

/* These destinations remain available in the utility navigation below. */
.footer-nav-group:last-child a:nth-of-type(n + 4) {
  display: none;
}

.footer-logo {
  width: 64px;
  height: 64px;
  margin-bottom: 14px;
  border-radius: 10px;
}

.footer-grid > div:not(.footer-nav-panel) > p,
.footer-grid > div:not(.footer-nav-panel) > a {
  font-size: 13px;
  line-height: 1.6;
}

.site-footer h2,
.site-footer .footer-heading {
  margin-bottom: 12px;
  font-size: 16px;
}

.legal {
  margin-top: 28px;
  padding-top: 22px;
  gap: 12px 36px;
  border-top-color: rgba(197, 160, 89, 0.22);
}

.legal-disclosure-panel {
  padding: 18px 20px;
  background: rgba(255, 255, 255, 0.035);
  border-color: rgba(197, 160, 89, 0.2);
  border-radius: 6px;
}

.legal-disclosure-panel .footer-heading {
  margin-bottom: 10px;
  font-size: 14px;
}

.legal p,
.legal a {
  font-size: 11.5px;
  line-height: 1.55;
}

.footer-utility-links {
  gap: 4px 18px;
}

@media (min-width: 901px) {
  .footer-nav-panel a,
  .legal-links a,
  .footer-utility-links a {
    min-height: 32px;
  }

  .legal {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.58fr);
    align-items: start;
  }

  .footer-utility-links {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .legal-disclosure-panel {
    grid-column: 1 / -1;
    grid-row: 2;
    display: grid;
    grid-template-columns: minmax(220px, 0.72fr) minmax(0, 1.65fr);
    gap: 6px 30px;
  }

  .legal-disclosure-panel .footer-heading {
    grid-column: 1 / -1;
  }

  .legal > p:nth-of-type(1) {
    grid-column: 1;
    grid-row: 3;
  }

  .legal > p.legal-links {
    grid-column: 2;
    grid-row: 3 / span 2;
  }

  .legal > p:nth-of-type(3) {
    grid-column: 1;
    grid-row: 4;
  }
}

@media (max-width: 900px) {
  .site-footer {
    padding-top: 38px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .footer-grid > div:first-child {
    grid-column: 1;
    grid-row: 1;
  }

  .footer-grid > div:nth-child(3) {
    grid-column: 1;
    grid-row: 2;
  }

  .footer-grid > div.footer-nav-panel {
    grid-column: 1;
    grid-row: 3;
    padding-bottom: 24px;
  }

  .footer-grid > div:nth-child(4) {
    grid-column: 1;
    grid-row: 4;
  }

  .footer-nav-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 24px;
  }

  .footer-nav-group a,
  .footer-nav-panel a,
  .legal-links a,
  .footer-utility-links a {
    min-height: 44px;
  }

  .footer-utility-links {
    margin-bottom: 2px;
  }
}

@media (min-width: 641px) and (max-width: 900px) {
  .footer-grid {
    grid-template-columns: minmax(0, 1.25fr) minmax(220px, 0.75fr);
    gap: 28px 36px;
  }

  .footer-grid > div:first-child {
    grid-column: 1;
    grid-row: 1;
  }

  .footer-grid > div:nth-child(3) {
    grid-column: 2;
    grid-row: 1;
  }

  .footer-grid > div.footer-nav-panel {
    grid-column: 1 / -1;
    grid-row: 2;
  }

  .footer-grid > div:nth-child(4) {
    grid-column: 1 / -1;
    grid-row: 3;
  }

  .legal-disclosure-panel {
    display: grid;
    grid-template-columns: minmax(190px, 0.75fr) minmax(0, 1.55fr);
    gap: 6px 26px;
  }

  .legal-disclosure-panel .footer-heading {
    grid-column: 1 / -1;
  }
}

@media (max-width: 560px) {
  .footer-grid > div:first-child > p {
    display: none;
  }

  .footer-nav-groups {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 16px;
  }

  .footer-grid > div.footer-nav-panel .footer-nav-group a {
    max-width: 100%;
    font-size: 12px;
    overflow-wrap: anywhere;
  }

  .legal {
    margin-top: 24px;
  }

  .legal-disclosure-panel {
    padding: 16px;
  }
}

/* Latest verified Google review card, 2026-08-02 */
.latest-google-review {
  width: min(100%, 980px);
  margin: 0 auto 34px;
  padding: clamp(26px, 4vw, 42px);
  background: var(--velvet-card-bg-soft);
  border: 1px solid var(--velvet-card-border);
  border-radius: 14px;
  box-shadow: var(--velvet-card-shadow);
  color: var(--velvet-card-text);
}

.latest-google-review-topline,
.latest-google-review footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px 18px;
}

.latest-google-review-label,
.latest-google-review-stars,
.latest-google-review-note {
  margin: 0;
}

.latest-google-review-label {
  color: var(--champagne);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.latest-google-review-stars {
  color: var(--champagne);
  font-size: 1.05rem;
  letter-spacing: 0.12em;
}

.latest-google-review h2 {
  margin: 18px 0 14px;
  color: var(--velvet-card-heading);
  font-family: var(--font-display), Georgia, serif;
  font-size: clamp(1.55rem, 3vw, 2.35rem);
  font-weight: 500;
  line-height: 1.2;
}

.latest-google-review blockquote {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  color: var(--velvet-card-text);
  font-size: clamp(1rem, 1.5vw, 1.12rem);
  line-height: 1.8;
}

.latest-google-review footer {
  justify-content: flex-start;
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--line);
}

.latest-google-review footer strong {
  color: var(--velvet-card-heading);
}

.latest-google-review footer span,
.latest-google-review-note {
  color: var(--muted);
  font-size: 0.78rem;
}

.latest-google-review-note {
  margin-top: 10px;
}

@media (max-width: 560px) {
  .latest-google-review {
    padding: 24px 20px;
  }
}

