:root {
  --ink: #10201a;
  --ink-2: #1a3027;
  --ink-3: #274237;
  --cream: #f1eadf;
  --paper: #faf7f1;
  --stone: #ded2c0;
  --surface: #f6f0e7;
  --line: #d9d0c3;
  --line-dark: rgba(241,234,223,.16);
  --muted: #746f66;
  --gold: #bd965c;
  --gold-dark: #987343;
  --red: #9a5749;
  --green: #637b69;
  --white: #fff;
  --shadow-soft: 0 24px 70px rgba(16,32,26,.1);
  --shadow-deep: 0 30px 90px rgba(6,16,12,.24);
  --serif: "Noto Serif SC", Georgia, serif;
  --sans: "Manrope", "DM Sans", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 15px;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
img, video { display: block; max-width: 100%; }

.site-shell { min-height: 100vh; display: flex; flex-direction: column; overflow: hidden; }
main { display: flex; flex-direction: column; flex: 1 0 auto; }
.feature-rail-section { padding: 64px 0; background: var(--ink); color: var(--cream); }
body[data-route="contact"] #contact { flex: 1 0 auto; }
.section-wrap { width: min(1160px, calc(100% - 96px)); margin: 0 auto; }

.topbar {
  height: 82px;
  position: fixed;
  inset: 0 0 auto;
  z-index: 20;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 48px;
  color: var(--cream);
  background: rgba(20, 23, 22, .28);
  border-bottom: 1px solid rgba(244, 239, 230, .14);
  backdrop-filter: blur(18px);
  transition: background .28s ease, border-color .28s ease, color .28s ease, height .28s ease;
}
.topbar.scrolled {
  height: 70px;
  color: var(--ink);
  background: rgba(251, 250, 247, .94);
  border-bottom: 1px solid rgba(20, 23, 22, .1);
  backdrop-filter: blur(14px);
}
body:not([data-route="home"]) .topbar {
  height: 70px;
  color: var(--ink);
  background: rgba(251, 250, 247, .94);
  border-bottom: 1px solid rgba(20, 23, 22, .1);
  backdrop-filter: blur(14px);
}
.brand { display: flex; align-items: center; gap: 12px; }
.brand-logo {
  width: clamp(170px, 15vw, 230px);
  height: 44px;
  object-fit: contain;
  object-position: left center;
}
.footer-logo {
  width: 190px;
  height: 44px;
  object-fit: contain;
  object-position: left center;
}
.brand-mark {
  height: 34px;
  width: 34px;
  display: grid;
  place-items: center;
  background: var(--ink);
  color: var(--gold);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .04em;
}
.topbar:not(.scrolled) .brand-mark { background: var(--ink); color: var(--gold); }
.brand-copy { display: flex; flex-direction: column; line-height: 1.1; }
.brand-copy strong { font-size: 11px; letter-spacing: .14em; }
.brand-copy small { margin-top: 5px; font-size: 9px; letter-spacing: .13em; opacity: .72; }
.desktop-nav { display: flex; gap: clamp(14px, 1.45vw, 25px); margin-left: auto; margin-right: 26px; font-size: 12px; letter-spacing: .03em; align-items: center; }
.desktop-nav a { position: relative; padding: 10px 0; }
.desktop-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 2px;
  width: 0;
  height: 1px;
  background: var(--gold);
  transition: width .25s ease;
}
.desktop-nav a:hover::after { width: 100%; }
.desktop-nav a.active { color: var(--gold); }
.page-hidden { display: none !important; }
[data-page-section] { scroll-margin-top: 92px; }
.nav-group { position: relative; padding: 18px 0; }
.mega-menu {
  display: grid;
  position: absolute;
  left: 50%;
  top: calc(100% - 1px);
  min-width: 230px;
  padding: 18px;
  background: rgba(20, 23, 22, .96);
  color: var(--cream);
  border: 1px solid rgba(202, 165, 106, .35);
  box-shadow: 0 22px 50px rgba(0,0,0,.2);
  opacity: 0;
  visibility: hidden;
  transform: translate(-50%, 8px);
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
}
.nav-group:hover .mega-menu, .nav-group:focus-within .mega-menu, .nav-group.open .mega-menu { opacity: 1; visibility: visible; transform: translate(-50%, 0); pointer-events: auto; }
.mega-menu-wide { width: min(560px, 72vw); grid-template-columns: 1.25fr .75fr; gap: 28px; }
.mega-column { min-width: 0; }
.mega-column small { display: block; padding: 3px 12px 10px; color: var(--gold); font-size: 9px; letter-spacing: .16em; }
.mega-menu a { display: block; padding: 10px 12px; color: rgba(244,239,230,.86); white-space: nowrap; border-bottom: 1px solid rgba(244,239,230,.1); }
.mega-column a:last-child { border-bottom: 0; }
.mega-menu a:hover { color: var(--gold); }
body:not([data-route="home"]) .mega-menu {
  background: rgba(251,250,247,.98);
  color: var(--ink);
  border-color: rgba(20,23,22,.12);
  box-shadow: 0 18px 45px rgba(20,23,22,.12);
}
body:not([data-route="home"]) .mega-menu a {
  color: rgba(20,23,22,.76);
  border-bottom-color: rgba(20,23,22,.08);
}
body:not([data-route="home"]) .mega-menu a:hover { color: var(--gold); }
.top-actions { display: flex; align-items: center; gap: 12px; }
.lang-toggle, .top-link {
  height: 36px;
  border: 1px solid currentColor;
  background: transparent;
  color: inherit;
  padding: 0 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  letter-spacing: .04em;
}
.top-link { min-width: 100px; }
.mobile-menu-toggle {
  display: none;
  width: 40px;
  height: 36px;
  border: 1px solid currentColor;
  background: transparent;
  color: inherit;
  padding: 9px 10px;
  flex-direction: column;
  justify-content: space-between;
}
.mobile-menu-toggle span { display: block; width: 100%; height: 1px; background: currentColor; }
.mobile-navigation {
  position: fixed;
  inset: 0 0 0 auto;
  z-index: 70;
  width: min(430px, 88vw);
  padding: 26px 26px 34px;
  background: var(--ink);
  color: var(--cream);
  display: flex;
  flex-direction: column;
  transform: translateX(104%);
  visibility: hidden;
  transition: transform .32s ease, visibility .32s ease;
  box-shadow: -20px 0 70px rgba(0,0,0,.26);
}
.mobile-navigation.open { transform: translateX(0); visibility: visible; }
.mobile-navigation-head { display: flex; align-items: center; justify-content: space-between; padding-bottom: 22px; border-bottom: 1px solid rgba(244,239,230,.14); }
.mobile-navigation-head span { color: var(--gold); font-size: 10px; letter-spacing: .17em; }
.mobile-menu-close { border: 0; background: transparent; color: var(--cream); font-size: 34px; line-height: 1; padding: 0 4px; }
.mobile-navigation-links { display: flex; flex-direction: column; padding-top: 16px; overflow-y: auto; }
.mobile-navigation-links > a, .mobile-navigation-links summary { display: flex; align-items: center; justify-content: space-between; min-height: 54px; border-bottom: 1px solid rgba(244,239,230,.12); font-family: var(--serif); font-size: 20px; cursor: pointer; list-style: none; }
.mobile-navigation-links summary::-webkit-details-marker { display: none; }
.mobile-navigation-links summary::after { content: "+"; color: var(--gold); font-family: var(--sans); font-size: 18px; }
.mobile-navigation-links details[open] summary::after { content: "−"; }
.mobile-navigation-links details div { padding: 8px 0 12px 16px; border-bottom: 1px solid rgba(244,239,230,.12); }
.mobile-navigation-links details a { display: block; padding: 9px 0; color: rgba(244,239,230,.7); font-size: 13px; }
.mobile-submenu-label { display: block; margin: 13px 0 3px; color: var(--gold); font-size: 8px; font-weight: 700; letter-spacing: .16em; }
.mobile-navigation-links .mobile-navigation-cta { color: var(--gold); }
.mobile-navigation-links a::after { content: "→"; color: var(--gold); font-family: var(--sans); font-size: 14px; }
.mobile-navigation-links a.active { color: var(--gold); }
.mobile-navigation-contact { margin-top: auto; padding-top: 24px; display: flex; flex-direction: column; gap: 7px; color: rgba(244,239,230,.72); font-size: 12px; }
.mobile-navigation-contact small { color: var(--gold); font-size: 9px; letter-spacing: .16em; margin-bottom: 5px; }
.mobile-navigation-contact a { color: var(--cream); }
.mobile-navigation-scrim { position: fixed; inset: 0; z-index: 69; border: 0; background: rgba(8,10,9,.62); opacity: 0; visibility: hidden; transition: .28s ease; }
.mobile-navigation-scrim.open { opacity: 1; visibility: visible; }
body.mobile-menu-open { overflow: hidden; }

.contact-dock-button {
  position: fixed; z-index: 48; right: 0; top: 56%; transform: translateY(-50%);
  width: 42px; padding: 16px 10px; border: 0; background: var(--gold); color: var(--ink);
  writing-mode: vertical-rl; letter-spacing: .12em; font-size: 11px; font-weight: 700; cursor: pointer;
  box-shadow: 0 12px 30px rgba(0,0,0,.16);
}
.global-back-button {
  position: fixed;
  z-index: 90;
  right: 28px;
  bottom: 28px;
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid rgba(202,165,106,.72);
  border-radius: 50%;
  background: rgba(20,23,22,.94);
  color: var(--cream);
  box-shadow: 0 18px 44px rgba(0,0,0,.24);
  backdrop-filter: blur(12px);
  cursor: pointer;
  transition: transform .24s ease, background .24s ease, border-color .24s ease, box-shadow .24s ease;
}
.global-back-button svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.global-back-button::after {
  content: "返回";
  position: absolute;
  right: 68px;
  top: 50%;
  transform: translate(8px,-50%);
  padding: 8px 11px;
  color: var(--cream);
  background: rgba(20,23,22,.94);
  font-size: 10px;
  letter-spacing: .08em;
  white-space: nowrap;
  opacity: 0;
  visibility: hidden;
  transition: .2s ease;
}
.global-back-button:hover { transform: translateY(-4px); background: var(--gold); color: var(--ink); border-color: var(--gold); box-shadow: 0 22px 52px rgba(0,0,0,.28); }
.global-back-button:hover::after { transform: translate(0,-50%); opacity: 1; visibility: visible; }
.global-back-button:focus-visible { outline: 2px solid var(--gold); outline-offset: 4px; }
.contact-drawer { position: fixed; inset: 0 0 0 auto; z-index: 82; width: min(430px, 92vw); padding: 76px 42px 42px; background: var(--ink); color: var(--cream); transform: translateX(104%); visibility: hidden; transition: .32s ease; box-shadow: -24px 0 80px rgba(0,0,0,.3); }
.contact-drawer.open { transform: translateX(0); visibility: visible; }
.contact-drawer-close { position: absolute; right: 24px; top: 22px; border: 0; background: transparent; color: var(--cream); font-size: 34px; }
.contact-drawer > small { color: var(--gold); letter-spacing: .16em; font-size: 9px; }
.contact-drawer h2 { margin: 20px 0 16px; font-family: var(--serif); font-size: 42px; line-height: 1.12; font-weight: 600; }
.contact-drawer h2 em { color: var(--gold); font-style: normal; }
.contact-drawer > p { margin: 0 0 32px; color: rgba(244,239,230,.66); line-height: 1.8; }
.contact-drawer-links { margin-bottom: 30px; border-top: 1px solid rgba(244,239,230,.14); }
.contact-drawer-links > * { display: flex; flex-direction: column; gap: 6px; padding: 18px 0; border-bottom: 1px solid rgba(244,239,230,.14); }
.contact-drawer-links span { color: var(--gold); font-size: 9px; letter-spacing: .14em; }
.contact-drawer-links strong { font-size: 14px; font-weight: 500; }
.contact-drawer-scrim { position: fixed; inset: 0; z-index: 81; border: 0; background: rgba(5,7,6,.62); opacity: 0; visibility: hidden; transition: .28s ease; }
.contact-drawer-scrim.open { opacity: 1; visibility: visible; }
body.contact-drawer-open { overflow: hidden; }

.hero {
  min-height: 760px;
  height: 100vh;
  position: relative;
  display: grid;
  align-items: end;
  color: white;
  padding: 0 48px clamp(130px, 17vh, 190px);
  overflow: hidden;
}
.hero-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
  transform: scale(1.04);
  transition: transform .2s linear, opacity .35s ease;
}
.hero-video {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.88) contrast(1.06);
}
.hero-video[hidden] { display: none; }
body.has-hero-video .hero-image { opacity: 0; }
.hero-video:not([hidden]) {
  animation: videoReveal .8s ease both;
}
.hero-shade {
  position: absolute;
  inset: 0;
  z-index: 2;
  background:
    radial-gradient(circle at var(--mouse-x, 70%) var(--mouse-y, 25%), rgba(202, 165, 106, .16), transparent 24%),
    linear-gradient(90deg, rgba(8, 11, 10, .86), rgba(12, 16, 14, .45) 48%, rgba(12, 16, 14, .1)),
    linear-gradient(0deg, rgba(8, 11, 10, .72), rgba(12, 16, 14, 0) 44%);
}
.hero-glow {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 24%;
  height: 1px;
  z-index: 2;
  background: linear-gradient(90deg, transparent, rgba(202, 165, 106, .8), transparent);
  opacity: .65;
}
.hero-content {
  position: relative;
  z-index: 3;
  width: min(1080px, 100%);
  margin: 0 auto;
  animation: heroRise .9s ease both;
}
.eyebrow, .section-kicker, .media-type, .panel-kicker {
  color: var(--gold);
  font-size: 10px;
  letter-spacing: .18em;
  font-weight: 700;
  text-transform: uppercase;
}
.hero h1 {
  max-width: 540px;
  margin: 22px 0 22px;
  font-size: clamp(36px, 4.6vw, 64px);
  line-height: 1.06;
  font-weight: 600;
  letter-spacing: 0;
  text-wrap: balance;
}
.hero h1, .hero h1 em { font-family: var(--sans); font-style: normal; }
h1 em, h2 em, h3 em { font-family: var(--serif); font-style: normal; font-weight: 600; }
.hero-lede { max-width: 360px; margin: 0 0 28px; color: rgba(255,255,255,.82); font-size: 14px; }
.hero-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.hero-actions .button { min-height: 40px; padding: 10px 16px; }
.hero-panel { display: none; }
.hero-guide {
  position: absolute;
  right: max(48px, calc((100vw - 1160px) / 2));
  top: 152px;
  z-index: 4;
  width: min(340px, 30vw);
  padding: 22px 22px 18px;
  border: 1px solid rgba(244,239,230,.24);
  background: linear-gradient(145deg, rgba(28,31,29,.72), rgba(15,18,17,.52));
  backdrop-filter: blur(14px);
  animation: panelRise 1s .18s ease both;
}
.guide-kicker { color: var(--gold); font-size: 9px; letter-spacing: .18em; }
.hero-guide h3 { margin: 18px 0 10px; font-family: var(--sans); font-size: clamp(22px, 2vw, 30px); line-height: 1.18; font-weight: 600; }
.hero-guide h3 { text-wrap: balance; }
.hero-guide h3 em { font-family: var(--serif); font-style: normal; font-weight: 500; }
.hero-guide .lead-mini { max-width: 250px; color: rgba(244,239,230,.7); margin: 0 0 16px; font-size: 11px; line-height: 1.7; }
.hero-guide .hero-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.hero-guide input, .hero-guide textarea, .hero-guide select {
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(244,239,230,.22);
  background: transparent;
  color: var(--cream);
  padding: 8px 0;
  margin-bottom: 10px;
  outline: none;
}
.hero-guide textarea { min-height: 74px; resize: vertical; }
.hero-guide input::placeholder, .hero-guide textarea::placeholder { color: rgba(244,239,230,.48); }
.hero-guide .button { width: 100%; margin-top: 4px; min-height: 38px; padding: 9px 14px; }
.hero-rail, .feature-rail {
  position: relative;
  left: auto;
  right: auto;
  bottom: auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid rgba(244, 239, 230, .18);
  background: rgba(8, 11, 10, .46);
  backdrop-filter: blur(16px);
  animation: panelRise 1s .3s ease both;
}
.hero > .hero-rail { display: none; }
.feature-rail {
  width: min(1160px, calc(100% - 96px));
  margin: 0 auto;
}
.hero-rail a, .feature-rail a {
  position: relative;
  overflow: hidden;
  min-height: 112px;
  padding: 20px 22px;
  border-right: 1px solid rgba(244, 239, 230, .14);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  transition: background .28s ease, transform .28s ease;
}
.hero-rail a:last-child, .feature-rail a:last-child { border-right: 0; }
.hero-rail a::before, .feature-rail a::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at var(--card-x, 50%) var(--card-y, 50%), rgba(202, 165, 106, .24), transparent 34%),
    linear-gradient(180deg, transparent, rgba(202,165,106,.08));
  opacity: 0;
  transition: opacity .25s ease;
}
.hero-rail a:hover::before, .feature-rail a:hover::before { opacity: 1; }
.hero-rail a:hover, .feature-rail a:hover { background: rgba(20, 23, 22, .72); transform: translateY(-4px); }
.hero-rail small,
.hero-rail strong,
.hero-rail span,
.feature-rail small,
.feature-rail strong,
.feature-rail span { position: relative; z-index: 1; }
.hero-rail small,
.feature-rail small {
  color: var(--gold);
  font-size: 9px;
  letter-spacing: .14em;
}
.hero-rail strong,
.feature-rail strong {
  margin: 12px 0 4px;
  font-family: var(--serif);
  font-size: 20px;
  line-height: 1.15;
}
.hero-rail span,
.feature-rail span {
  color: rgba(244, 239, 230, .7);
  font-size: 11px;
}

.button {
  min-height: 46px;
  padding: 13px 20px;
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  font-size: 12px;
  letter-spacing: .04em;
  transition: transform .25s ease, background .25s ease, border-color .25s ease, color .25s ease;
}
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--gold); color: var(--ink); border-color: var(--gold); }
.button-ghost { color: white; border-color: rgba(255,255,255,.5); background: rgba(255,255,255,.05); }
.button-outline { color: var(--gold); border-color: var(--gold); background: transparent; }
.button-dark { background: var(--ink); color: var(--cream); border-color: var(--ink); }
.button span, .text-link span { font-size: 18px; line-height: 0; }

.metrics-band { background: var(--ink); color: var(--cream); }
.metrics-grid { display: grid; grid-template-columns: repeat(5, 1fr); padding: 36px 0; }
.metric { border-right: 1px solid rgba(244,239,230,.16); padding: 0 28px; }
.metric:first-child { padding-left: 0; }
.metric:last-child { border-right: 0; }
.metric strong { display: block; color: var(--gold); font-family: var(--serif); font-size: 36px; line-height: 1.1; font-weight: 500; }
.metric span { display: block; margin-top: 8px; font-size: 13px; }
.metric small { color: #989d94; font-size: 9px; letter-spacing: .14em; }

.intro-section, .properties-section, .market-section, .media-section { padding: 120px 0; }
.intro-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 90px; align-items: end; margin-top: 32px; }
.intro-grid h2, .section-heading h2, .about-copy h2, .contact-intro h2 {
  margin: 0;
  font-size: clamp(34px, 4.2vw, 58px);
  line-height: 1.2;
  letter-spacing: 0;
  font-weight: 600;
}
.intro-grid h2 span { font-family: var(--serif); font-weight: 600; }
.intro-copy { border-left: 1px solid var(--gold); padding-left: 28px; }
.intro-copy p, .section-heading p, .split-heading > p, .about-copy p { color: var(--muted); margin: 0 0 28px; }
.text-link {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  border-bottom: 1px solid var(--gold);
  padding-bottom: 8px;
  font-size: 12px;
}

.personal-section { padding: 0 0 116px; }
.personal-card {
  display: grid;
  grid-template-columns: minmax(280px, .72fr) 1fr;
  min-height: 520px;
  background: #161917;
  color: var(--cream);
  border: 1px solid rgba(202,165,106,.28);
  box-shadow: 0 34px 90px rgba(20,23,22,.18);
}
.personal-image { min-height: 520px; overflow: hidden; }
.personal-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(.22) contrast(1.04);
  transform: scale(1.03);
  transition: transform .8s ease;
}
.personal-card:hover .personal-image img { transform: scale(1.08); }
.personal-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(34px, 6vw, 86px);
  background:
    linear-gradient(135deg, rgba(202,165,106,.12), transparent 38%),
    radial-gradient(circle at 86% 18%, rgba(159,78,69,.22), transparent 28%);
}
.personal-copy span {
  color: var(--gold);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .18em;
}
.personal-copy h2 {
  margin: 18px 0;
  font-family: var(--serif);
  font-size: clamp(26px, 3.6vw, 44px);
  line-height: 1.1;
  letter-spacing: 0;
}
.personal-copy p { margin: 0; max-width: 640px; color: rgba(244,239,230,.78); font-size: 16px; }
.principles-row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1px;
  background: rgba(202,165,106,.28);
  border: 1px solid rgba(202,165,106,.28);
  border-top: 0;
}
.principle-card {
  position: relative;
  min-height: 190px;
  padding: 26px;
  text-align: left;
  border: 0;
  color: var(--cream);
  background:
    radial-gradient(circle at var(--card-x, 80%) var(--card-y, 15%), rgba(202,165,106,.18), transparent 34%),
    #1b1e1b;
  overflow: hidden;
}
.principle-card span, .journey-step span { color: var(--gold); font-family: var(--serif); }
.principle-card strong { display: block; margin: 26px 0 10px; font-size: 20px; }
.principle-card small { color: rgba(244,239,230,.68); font-size: 13px; }

.services-section { padding: 110px 0; background: var(--cream); }
.services-section,
.buy-page,
.market-deep-dives,
.locations-section,
.contact-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.services-section > .section-wrap,
.buy-page > .section-wrap,
.market-deep-dives > .section-wrap,
.locations-section > .section-wrap,
.contact-section > .section-wrap {
  position: relative;
  z-index: 1;
}
.services-section::before,
.buy-page::before,
.market-deep-dives::before,
.locations-section::before,
.contact-section::after {
  content: "";
  position: absolute;
  z-index: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: cover;
  filter: blur(11px) saturate(.7);
  transform: scale(1.055);
}
.services-section::before {
  inset: -70px -5vw auto 43%;
  height: 570px;
  opacity: .15;
  background-image: linear-gradient(90deg, var(--cream) 0%, rgba(244,239,230,.3) 62%, rgba(244,239,230,.08)), var(--city-backdrop-services);
  background-position: center;
}
.buy-page::before {
  inset: 0 -7vw auto 48%;
  height: 760px;
  opacity: .12;
  background-image: linear-gradient(90deg, #fbfaf7 0%, rgba(251,250,247,.26) 72%), var(--city-backdrop-services);
  background-position: center 34%;
}
.sell-page {
  padding: 118px 0;
  background: var(--ink);
  color: var(--cream);
  position: relative;
}
.sell-page::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(20,23,22,.94), rgba(20,23,22,.64)),
    url("https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1800&q=82") center/cover;
  opacity: .96;
}
.sell-layout { position: relative; display: grid; grid-template-columns: 1.04fr .96fr; gap: 74px; align-items: start; }
.sell-copy h2, .buy-page h2 {
  margin: 18px 0 18px;
  font-size: clamp(34px, 4.6vw, 64px);
  line-height: 1.1;
  font-weight: 600;
}
.sell-copy p { color: rgba(244,239,230,.75); max-width: 560px; }
.sell-journey {
  max-width: 650px;
  margin-top: 12px;
  border-top: 1px solid rgba(244,239,230,.18);
}
.journey-step {
  width: 100%;
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 14px;
  padding: 18px 0;
  border: 0;
  border-bottom: 1px solid rgba(244,239,230,.14);
  background: transparent;
  color: var(--cream);
  text-align: left;
}
.journey-step span { grid-row: span 2; }
.journey-step strong { display: block; margin-bottom: 4px; font-size: 16px; }
.journey-step small { grid-column: 2; color: rgba(244,239,230,.66); }
.journey-step:hover strong { color: var(--gold); }
.inline-lead-form {
  background: rgba(251,250,247,.96);
  color: var(--ink);
  padding: 28px;
  border: 1px solid rgba(202,165,106,.4);
  box-shadow: 0 28px 70px rgba(0,0,0,.22);
}
.inline-lead-form h3 { margin: 0 0 18px; font-size: 25px; line-height: 1.25; }
.inline-lead-form input, .inline-lead-form select, .inline-lead-form textarea {
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(20,23,22,.24);
  background: transparent;
  color: var(--ink);
  padding: 12px 0;
  margin-bottom: 14px;
  outline: none;
}
.inline-lead-form input:focus, .inline-lead-form select:focus, .inline-lead-form textarea:focus { border-color: var(--gold); }
.sell-detail-list { position: relative; z-index: 1; display: grid; width: 100%; margin-top: 104px; }
.sell-detail-section {
  scroll-margin-top: 86px;
  display: grid;
  grid-template-columns: minmax(380px,.92fr) minmax(0,1.08fr);
  min-height: 660px;
  overflow: hidden;
  background: #f1ece2;
  color: var(--ink);
  transition: transform .4s ease, box-shadow .4s ease;
}
.sell-detail-section:nth-child(even) { background: #20362c; color: var(--cream); }
.sell-detail-section:nth-child(even) .sell-detail-visual { order: 2; }
.sell-detail-section:nth-child(even) .sell-detail-content { order: 1; }
.sell-detail-section.sell-detail-focus { position: relative; z-index: 2; box-shadow: inset 0 0 0 2px rgba(202,165,106,.7), 0 30px 80px rgba(0,0,0,.25); }
.sell-detail-visual { position: relative; min-height: 660px; margin: 0; overflow: hidden; background: var(--ink); }
.sell-detail-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 48%, rgba(12,14,13,.74)); }
.sell-detail-visual img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.04); transition: transform .8s ease; }
.sell-detail-section:hover .sell-detail-visual img { transform: scale(1.035); }
.sell-detail-visual figcaption { position: absolute; z-index: 1; left: 30px; right: 30px; bottom: 28px; display: flex; justify-content: space-between; align-items: end; color: white; }
.sell-detail-visual figcaption span { color: #dfbd7a; font: 500 25px/1 var(--serif); }
.sell-detail-visual figcaption small { font-size: 8px; letter-spacing: .16em; }
.sell-detail-content { display: flex; flex-direction: column; justify-content: center; padding: clamp(48px,5vw,82px); }
.sell-detail-kicker { color: var(--gold); font-size: 9px; font-weight: 700; letter-spacing: .17em; }
.sell-detail-content h2 { margin: 18px 0 16px; font: 500 clamp(42px,4.8vw,68px)/1.04 var(--serif); }
.sell-detail-content > strong { max-width: 650px; font-size: 16px; line-height: 1.7; }
.sell-detail-content > p { max-width: 650px; margin: 18px 0 0; color: var(--muted); font-size: 13px; line-height: 1.85; }
.sell-detail-section:nth-child(even) .sell-detail-content > p { color: rgba(244,239,230,.65); }
.sell-detail-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 26px; margin-top: 32px; }
.sell-detail-columns > div { border-top: 1px solid rgba(20,23,22,.14); }
.sell-detail-section:nth-child(even) .sell-detail-columns > div { border-color: rgba(244,239,230,.16); }
.sell-detail-columns small { display: block; padding: 14px 0 10px; color: var(--gold); font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.sell-detail-columns ol, .sell-detail-columns ul { margin: 0; padding: 0; list-style: none; }
.sell-detail-columns li { display: grid; grid-template-columns: 28px 1fr; gap: 8px; padding: 9px 0; border-bottom: 1px solid rgba(20,23,22,.1); font-size: 11px; line-height: 1.55; }
.sell-detail-columns ul li { grid-template-columns: 1fr; }
.sell-detail-section:nth-child(even) .sell-detail-columns li { border-color: rgba(244,239,230,.12); }
.sell-detail-columns i { color: var(--gold); font-family: var(--serif); font-style: normal; }
.sell-decision-panel { scroll-margin-top: 130px; margin-top: 30px; padding-top: 25px; border-top: 1px solid rgba(20,23,22,.2); transition: background .3s ease, box-shadow .3s ease, padding .3s ease; }
.sell-detail-section:nth-child(even) .sell-decision-panel { border-color: rgba(244,239,230,.22); }
.sell-decision-panel > span { color: var(--gold); font-size: 8px; font-weight: 700; letter-spacing: .16em; }
.sell-decision-panel h3 { margin: 11px 0 9px; font: 500 24px/1.18 var(--serif); }
.sell-decision-panel > p { max-width: 650px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.75; }
.sell-detail-section:nth-child(even) .sell-decision-panel > p { color: rgba(244,239,230,.68); }
.sell-decision-panel ol { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; margin: 18px 0 0; padding: 0; list-style: none; }
.sell-decision-panel li { display: grid; grid-template-columns: 26px 1fr; gap: 8px; align-items: start; padding: 10px 0; border-bottom: 1px solid rgba(20,23,22,.1); font-size: 11px; line-height: 1.55; }
.sell-detail-section:nth-child(even) .sell-decision-panel li { border-color: rgba(244,239,230,.12); }
.sell-decision-panel li i { color: var(--gold); font-family: var(--serif); font-style: normal; font-weight: 400; }
.sell-decision-panel li strong { font-weight: 500; }
.sell-decision-action { display: flex; width: min(100%,320px); min-height: 52px; margin-top: 20px; padding: 0 20px; align-items: center; justify-content: space-between; border: 1px solid currentColor; background: transparent; color: inherit; font-size: 11px; font-weight: 700; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.sell-decision-action:hover { background: var(--gold); color: var(--ink); border-color: var(--gold); }
.sell-decision-panel.sell-decision-focus { margin-inline: -18px; padding: 25px 18px 18px; background: rgba(202,165,106,.1); box-shadow: inset 3px 0 0 var(--gold); }
.sell-detail-action { width: min(100%,320px); margin-top: 32px; justify-content: space-between; background: var(--ink); color: var(--cream); border-color: var(--ink); }
.sell-detail-section:nth-child(even) .sell-detail-action { background: var(--gold); color: var(--ink); border-color: var(--gold); }
.seller-proof {
  position: relative;
  z-index: 1;
  width: min(1480px, calc(100% - 8vw));
  margin: 96px auto 0;
  padding: clamp(44px, 5vw, 76px);
  border: 1px solid rgba(202,165,106,.32);
  background:
    linear-gradient(180deg, rgba(7,20,16,.50) 0%, rgba(7,20,16,.62) 42%, rgba(7,20,16,.94) 100%),
    linear-gradient(90deg, rgba(7,20,16,.48), rgba(7,20,16,.12) 70%),
    var(--seller-proof-image, url("https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=2200&q=85")) center 48% / cover no-repeat;
  background-color: #0a1813;
  box-shadow: 0 30px 80px rgba(0,0,0,.2);
}
.seller-proof-copy { display: grid; grid-template-columns: minmax(0,.72fr) minmax(0,1.28fr); gap: 22px 64px; align-items: start; }
.seller-proof-copy > span { grid-column: 1; color: var(--gold); font-size: 11px; font-weight: 700; letter-spacing: .18em; }
.seller-proof-copy h2 { grid-column: 1; margin: 0; font: 500 clamp(38px,4.6vw,66px)/1.06 var(--serif); }
.seller-proof-copy p { grid-column: 2; grid-row: 1 / 3; margin: 0; color: rgba(244,239,230,.74); font-size: 16px; line-height: 1.9; }
.seller-proof-copy small { grid-column: 1 / 3; padding-top: 20px; border-top: 1px solid rgba(244,239,230,.16); color: rgba(244,239,230,.58); font-size: 14px; line-height: 1.8; }
.seller-proof-stats { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 42px; border: 1px solid rgba(244,239,230,.14); }
.seller-proof-stat { min-height: 178px; padding: 28px 24px; border-right: 1px solid rgba(244,239,230,.14); transition: background .35s ease, transform .35s ease; }
.seller-proof-stat:last-child { border-right: 0; }
.seller-proof-stat:hover { background: rgba(202,165,106,.1); transform: translateY(-5px); }
.seller-proof-stat strong { display: block; color: var(--gold); font: 500 clamp(32px,3vw,48px)/1 var(--serif); }
.seller-proof-stat span { display: block; margin-top: 24px; font-size: 16px; font-weight: 650; }
.seller-proof-stat small { display: block; margin-top: 8px; color: rgba(244,239,230,.5); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.seller-proof-sources { display: flex; gap: 28px; margin-top: 28px; }
.seller-proof-sources a { padding-bottom: 7px; border-bottom: 1px solid rgba(202,165,106,.45); color: var(--cream); font-size: 13px; }
.seller-proof-sources a:hover { color: var(--gold); }
.buy-page {
  padding: 118px 0;
  background: var(--paper);
  color: var(--ink);
}
.page-mode-strip {
  display: flex;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0 auto 34px;
  padding: 12px;
  width: fit-content;
  max-width: 100%;
  border: 1px solid var(--line);
  background: rgba(244, 239, 230, .72);
}
.page-mode-strip button {
  min-height: 38px;
  border: 1px solid transparent;
  background: transparent;
  color: var(--muted);
  padding: 0 15px;
  font-size: 12px;
  transition: color .22s ease, border-color .22s ease, background .22s ease;
}
.page-mode-strip button:hover,
.page-mode-strip button.active {
  color: var(--ink);
  border-color: var(--gold);
  background: rgba(202, 165, 106, .12);
}
.typing-line {
  max-width: 930px;
  margin: 0 auto 44px;
  font-family: var(--serif);
  font-size: clamp(30px, 4.4vw, 58px);
  line-height: 1.22;
  text-align: center;
}
.typing-line::after {
  content: "";
  display: inline-block;
  width: 1px;
  height: .9em;
  margin-left: 7px;
  background: var(--gold);
  vertical-align: -4px;
  animation: blink 1s steps(1) infinite;
}
.buy-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); margin-bottom: 34px; }
.buy-grid article { background: var(--paper); padding: 30px 26px; min-height: 220px; cursor: pointer; transition: background .25s ease, transform .25s ease; }
.buy-grid article:hover { background: var(--cream); transform: translateY(-3px); }
.buy-grid span { color: var(--gold); font-family: var(--serif); }
.buy-grid h3 { margin: 18px 0 10px; font-size: 21px; line-height: 1.3; }
.buy-grid p { margin: 0; color: var(--muted); }
.buy-anchor-nav { margin: 0 0 42px; border-top: 1px solid rgba(20,23,22,.18); }
.buy-anchor-link { display: grid; grid-template-columns: 52px minmax(150px,.52fr) minmax(0,1fr) 24px; gap: 24px; align-items: center; width: 100%; min-height: 104px; padding: 22px 4px; border: 0; border-bottom: 1px solid rgba(20,23,22,.14); background: transparent; color: inherit; text-align: left; transition: padding .24s ease, background .24s ease; }
.buy-anchor-link:hover { padding-left: 14px; padding-right: 14px; background: rgba(244,239,230,.66); }
.buy-anchor-link > span { color: var(--gold); font-family: var(--serif); font-size: 17px; }
.buy-anchor-link strong { font-family: var(--serif); font-size: 24px; font-weight: 500; }
.buy-anchor-link small { color: var(--muted); font-size: 13px; line-height: 1.75; }
.buy-anchor-link i { color: var(--gold); font-size: 17px; font-style: normal; transition: transform .24s ease; }
.buy-anchor-link:hover i { transform: translateY(5px); }
.buy-special-links { margin: 0; border-top: 1px solid rgba(20,23,22,.18); }
.buy-special-link { display: grid; grid-template-columns: minmax(160px,.42fr) minmax(190px,.5fr) minmax(0,1fr) minmax(160px,.42fr); gap: 28px; align-items: center; width: 100%; min-height: 132px; padding: 25px 28px; border: 0; border-bottom: 1px solid rgba(20,23,22,.18); background: #d8c7a8; color: var(--ink); text-align: left; transition: padding .24s ease, filter .24s ease; }
.buy-special-link.dark { background: #1f352c; color: var(--cream); }
.buy-special-link:hover { padding-left: 40px; padding-right: 40px; filter: contrast(1.03); }
.buy-special-link small { opacity: .58; font-size: 9px; letter-spacing: .18em; }
.buy-special-link strong { font-family: var(--serif); font-size: 32px; font-weight: 500; }
.buy-special-link > span { opacity: .7; font-size: 13px; line-height: 1.75; }
.buy-special-link em { justify-self: end; border-bottom: 1px solid currentColor; padding-bottom: 8px; font-size: 11px; font-style: normal; font-weight: 700; }
.buy-special-link em b { margin-left: 8px; font-size: 16px; }
.buy-property-heading { max-width: 820px; margin: 50px 0 42px; }
.buy-property-heading > span { color: var(--gold); font-size: 9px; font-weight: 700; letter-spacing: .18em; }
.buy-property-heading h2 { margin: 15px 0 16px; font: 500 clamp(38px,4.5vw,62px)/1.08 var(--serif); }
.buy-property-heading p { max-width: 650px; margin: 0; color: var(--muted); font-size: 14px; line-height: 1.85; }
.buy-property-detail-list { display: grid; gap: 0; width: 100vw; margin: 0 0 104px calc(50% - 50vw); }
.buy-property-section { box-shadow: none; border-bottom: 1px solid rgba(20,23,22,.1); }
.buy-detail-list { display: grid; gap: 34px; width: 100vw; margin-top: 104px; margin-left: calc(50% - 50vw); }
.buy-detail-section {
  scroll-margin-top: 92px;
  display: grid;
  grid-template-columns: minmax(360px, .92fr) minmax(0, 1.08fr);
  min-height: 620px;
  overflow: hidden;
  background: #f0ebe1;
  box-shadow: 0 26px 70px rgba(20,23,22,.08);
  transition: transform .4s ease, box-shadow .4s ease;
}
.buy-detail-section:nth-child(even) { color: var(--cream); background: #1e3128; }
.buy-detail-section:nth-child(even) .buy-detail-visual { order: 2; }
.buy-detail-section:nth-child(even) .buy-detail-content { order: 1; }
.buy-detail-section.buy-detail-focus { transform: translateY(-5px); box-shadow: 0 34px 84px rgba(20,23,22,.16), 0 0 0 2px rgba(202,165,106,.42); }
.buy-detail-visual { position: relative; min-height: 620px; margin: 0; overflow: hidden; background: var(--ink); }
.buy-detail-visual::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 52%, rgba(12,14,13,.7)); }
.buy-detail-visual img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.03); transition: transform .8s ease, filter .8s ease; }
.buy-detail-section:hover .buy-detail-visual img { transform: scale(1.035); filter: saturate(.95) contrast(1.04); }
.buy-detail-visual figcaption { position: absolute; z-index: 1; left: 28px; right: 28px; bottom: 26px; display: flex; justify-content: space-between; align-items: end; color: white; }
.buy-detail-visual figcaption span { color: #dfbd7a; font: 500 24px/1 var(--serif); }
.buy-detail-visual figcaption small { max-width: 180px; font-size: 8px; letter-spacing: .18em; line-height: 1.55; text-align: right; }
.buy-detail-content { display: flex; flex-direction: column; padding: clamp(46px, 5vw, 76px); }
.buy-detail-kicker { display: block; color: var(--gold); font-size: 9px; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.buy-detail-copy h2 { margin: 20px 0 18px; font-family: var(--serif); font-size: clamp(42px,4.7vw,66px); line-height: 1.02; font-weight: 500; }
.buy-detail-copy > strong { display: block; max-width: 600px; margin-bottom: 18px; font-size: 16px; line-height: 1.7; }
.buy-detail-copy > p { max-width: 610px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.86; }
.buy-detail-section:nth-child(even) .buy-detail-copy > p { color: rgba(244,239,230,.62); }
.buy-detail-points { display: grid; grid-template-columns: 1fr 1fr; gap: 0 24px; margin: 32px 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(20,23,22,.14); }
.buy-detail-section:nth-child(even) .buy-detail-points { border-color: rgba(244,239,230,.16); }
.buy-detail-points li { display: grid; grid-template-columns: 30px 1fr; gap: 9px; align-items: start; padding: 14px 0; border-bottom: 1px solid rgba(20,23,22,.12); }
.buy-detail-section:nth-child(even) .buy-detail-points li { border-color: rgba(244,239,230,.13); }
.buy-detail-points i { color: var(--gold); font-family: var(--serif); font-style: normal; }
.buy-detail-points span { font-size: 12px; line-height: 1.55; }
.buy-detail-action { display: inline-flex; align-items: center; justify-content: space-between; gap: 36px; width: min(100%, 340px); min-height: 58px; margin-top: auto; padding: 0 22px; border: 1px solid var(--ink); background: var(--ink); color: var(--cream); font-size: 12px; font-weight: 700; text-decoration: none; transition: transform .22s ease, background .22s ease, color .22s ease; }
.buy-detail-action:hover { transform: translateY(-3px); background: #2a4337; }
.buy-detail-action b { color: var(--gold); font-size: 18px; font-weight: 400; }
.buy-detail-section:nth-child(even) .buy-detail-action { border-color: var(--gold); background: var(--gold); color: var(--ink); }
.buy-detail-section:nth-child(even) .buy-detail-action b { color: var(--ink); }
.buy-form { max-width: 900px; margin: 0 auto; box-shadow: none; background: var(--cream); }
.section-heading { margin-bottom: 38px; }
.split-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 36px; }
.split-heading > p { max-width: 340px; margin-bottom: 4px; }
.service-switcher { display: flex; gap: 28px; border-bottom: 1px solid var(--line); margin-bottom: 42px; }
.service-tab { position: relative; border: 0; background: transparent; padding: 0 0 16px; color: var(--muted); font-size: 12px; }
.service-tab.active { color: var(--ink); }
.service-tab.active::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -1px;
  height: 2px;
  background: var(--red);
}
.service-panel { display: grid; grid-template-columns: .9fr 1.1fr; gap: 80px; }
.service-index { color: var(--gold); font-size: 11px; letter-spacing: .12em; }
.service-main h3 { margin: 16px 0 14px; font-size: 34px; font-weight: 600; }
.service-main p { max-width: 430px; color: var(--muted); margin: 0 0 28px; }
.service-list { border-left: 1px solid var(--line); padding-left: 28px; }
.service-item { display: grid; grid-template-columns: 36px 1fr 22px; gap: 14px; align-items: center; width: 100%; padding: 0 0 22px; margin-bottom: 22px; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: inherit; text-align: left; transition: padding .22s ease; }
.service-item:last-child { margin-bottom: 0; border-bottom: 0; }
.service-item > i { color: var(--gold); font-family: var(--serif); font-style: normal; }
.service-item strong { font-size: 15px; }
.service-item p { color: var(--muted); font-size: 13px; margin: 7px 0 0; }
.service-item > b { color: var(--gold); font-size: 17px; font-weight: 400; }
.service-item:hover { padding-left: 8px; }
.service-item:hover strong { color: var(--gold); }

.property-toolbar { display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--line); padding-bottom: 14px; margin: 46px 0 24px; }
body[data-route="home"] .properties-section .property-toolbar,
body[data-route="home"] .properties-section .property-pagination { display: none; }
.filter-group { display: flex; gap: 18px; }
.filter-button { position: relative; border: 0; background: transparent; color: var(--muted); padding: 4px 0; font-size: 12px; }
.filter-button.active { color: var(--ink); }
.filter-button.active::after { content: ""; position: absolute; left: 0; right: 0; bottom: -15px; height: 2px; background: var(--red); }
.result-count { color: var(--muted); font-size: 10px; letter-spacing: .15em; }
.property-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 42px 24px; }
.property-card { cursor: pointer; }
.property-image-wrap { height: 385px; position: relative; overflow: hidden; background: #ddd; }
.property-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease, filter .7s ease; }
.property-card:hover img { transform: scale(1.045); filter: saturate(.9) contrast(1.04); }
.property-badge { position: absolute; left: 18px; top: 18px; background: var(--cream); color: var(--red); padding: 6px 10px; font-size: 9px; letter-spacing: .13em; }
.property-info { display: flex; justify-content: space-between; gap: 20px; padding-top: 15px; }
.property-info h3 { margin: 0 0 2px; font-size: 20px; font-weight: 600; }
.property-location, .property-specs { color: var(--muted); font-size: 12px; }
.property-specs { display: flex; gap: 13px; margin-top: 7px; flex-wrap: wrap; }
.property-price { color: var(--red); font-family: var(--serif); font-size: 18px; white-space: nowrap; }
body[data-route="home"] .property-card:first-child { grid-column: 1 / -1; }
body[data-route="home"] .property-card:first-child .property-image-wrap { height: min(62vw, 620px); }
body[data-route="home"] .property-card:first-child .property-info h3 { font-size: clamp(26px, 3vw, 40px); font-family: var(--serif); font-weight: 500; }
.property-pagination { display: flex; justify-content: center; align-items: center; gap: 14px; margin-top: 34px; color: var(--muted); font-size: 12px; }
.page-button { min-width: 92px; min-height: 38px; border: 1px solid var(--line); background: transparent; color: var(--ink); }
.page-button:hover:not(:disabled) { border-color: var(--gold); color: var(--gold); }
.page-button:disabled { opacity: .35; cursor: default; }

.cases-section { padding: 112px 0; background: var(--ink); color: var(--cream); }
.cases-section .section-heading h2 { color: var(--cream); }
.cases-section .text-link { color: var(--cream); }
.city-case-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: end;
  gap: 24px;
  margin-bottom: 28px;
}
.city-case-grid { display: grid; gap: 16px; }
.city-case-row {
  border: 1px solid rgba(244,239,230,.12);
  background: rgba(255,255,255,.02);
  padding: 18px 18px 16px;
}
.city-case-row-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: baseline;
  margin-bottom: 14px;
}
.city-case-row-head strong { font-family: var(--serif); font-size: 22px; color: var(--gold); }
.city-case-row-head small { color: rgba(244,239,230,.58); }
.city-case-track {
  display: flex;
  gap: 14px;
  overflow-x: auto;
  padding-bottom: 8px;
  scroll-snap-type: x mandatory;
}
.city-case-track::-webkit-scrollbar { height: 8px; }
.city-case-track::-webkit-scrollbar-thumb { background: rgba(202,165,106,.4); border-radius: 999px; }
.city-case-card {
  flex: 0 0 320px;
  min-height: 220px;
  background: #f5f2ea;
  color: var(--ink);
  border-radius: 4px;
  overflow: hidden;
  scroll-snap-align: start;
}
.city-case-card img { width: 100%; height: 150px; object-fit: cover; }
.city-case-card .body { padding: 14px 14px 16px; }
.city-case-card .body span { display: block; color: var(--gold); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.city-case-card .body strong { display: block; margin: 8px 0 6px; font-size: 16px; }
.city-case-card .body p { margin: 0; color: var(--muted); font-size: 12px; }
.city-case-card.placeholder {
  display: grid;
  place-items: center;
  background: rgba(255,255,255,.04);
  border: 1px dashed rgba(244,239,230,.16);
  color: rgba(244,239,230,.58);
  font-size: 13px;
}
.trust-section { background: #2f3439; color: var(--cream); padding: 112px 0; }
.trust-head h2 { margin: 10px 0 0; font-size: clamp(32px, 4vw, 58px); }
.trust-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 34px; }
.trust-card {
  min-height: 290px;
  padding: 22px;
  border: 1px solid rgba(244,239,230,.1);
  background: rgba(255,255,255,.03);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
.trust-card img { width: 100%; height: 118px; object-fit: cover; border-radius: 2px; margin-bottom: 14px; }
.trust-card blockquote { margin: 0; font-size: 15px; line-height: 1.8; color: rgba(244,239,230,.84); }
.trust-card footer { margin-top: 18px; color: var(--gold); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.case-feature { display: grid; grid-template-columns: 1.28fr .72fr; gap: 64px; align-items: center; margin-top: 48px; }
.case-image-wrap { height: 530px; position: relative; overflow: hidden; }
.case-image-wrap img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.86); }
.image-label { position: absolute; left: 20px; bottom: 18px; font-size: 9px; letter-spacing: .16em; color: white; }
.case-meta { color: var(--gold); font-size: 10px; letter-spacing: .13em; }
.case-copy h3 { font-size: 42px; line-height: 1.2; font-weight: 600; margin: 20px 0; }
.case-copy p { color: #aeb4ab; margin-bottom: 28px; }
.case-strip { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; margin-top: 44px; }
.case-small { display: grid; grid-template-columns: 140px 1fr 24px; gap: 18px; align-items: center; border: 0; border-top: 1px solid rgba(244,239,230,.18); padding: 20px 0 0; background: transparent; color: inherit; text-align: left; }
.case-small:hover h4 { color: var(--gold); }
.case-small img { width: 140px; height: 100px; object-fit: cover; }
.case-small small { color: var(--gold); font-size: 10px; }
.case-small h4 { margin: 6px 0 0; font-size: 16px; font-weight: 600; }
.case-small > span { color: var(--gold); font-family: var(--serif); }

.market-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 76px; align-items: start; margin-top: 48px; }
.report-card { background: var(--ink); color: var(--cream); padding: 30px 34px 26px; min-height: 420px; }
.report-top { display: flex; justify-content: space-between; gap: 20px; color: var(--gold); font-size: 9px; letter-spacing: .13em; border-bottom: 1px solid rgba(244,239,230,.18); padding-bottom: 20px; }
.report-card h3 { margin: 30px 0 16px; font-size: 30px; line-height: 1.25; }
.chart { height: 190px; position: relative; }
.chart-labels, .chart-months { position: absolute; left: 0; right: 0; display: flex; justify-content: space-between; color: #a0a59d; font-size: 10px; }
.chart-labels { top: 0; }
.chart-months { bottom: 0; }
.chart-lines { position: absolute; inset: 24px 0; display: flex; flex-direction: column; justify-content: space-between; }
.chart-lines i { height: 1px; background: rgba(244,239,230,.14); }
.chart svg { position: absolute; left: 0; right: 0; top: 28px; height: 142px; width: 100%; }
.report-footer { border-top: 1px solid rgba(244,239,230,.18); padding-top: 18px; display: flex; justify-content: flex-start; align-items: center; color: var(--gold); font-size: 11px; }
.market-compass-card { position: relative; min-height: 500px; padding: 30px 36px 34px; overflow: hidden; background: #101513; color: var(--cream); }
.market-compass-card::before { content: ""; position: absolute; width: 420px; height: 420px; right: -190px; bottom: -230px; border: 1px solid rgba(202,165,106,.22); border-radius: 50%; box-shadow: 0 0 0 46px rgba(202,165,106,.025), 0 0 0 92px rgba(202,165,106,.018); }
.market-compass-card h3 { position: relative; z-index: 1; max-width: 590px; margin: 38px 0 22px; font-size: clamp(34px, 4.1vw, 54px); line-height: 1.17; font-weight: 500; }
.market-compass-card h3 em { color: var(--gold); font-style: normal; }
.market-compass-card > p { position: relative; z-index: 1; max-width: 570px; margin: 0; color: rgba(244,239,230,.7); font-size: 15px; line-height: 1.9; }
.market-compass-mark { position: absolute; top: 92px; right: 38px; width: 96px; height: 96px; border: 1px solid rgba(202,165,106,.42); border-radius: 50%; opacity: .72; }
.market-compass-mark span, .market-compass-mark i { position: absolute; left: 50%; top: 50%; width: 1px; height: 76%; background: rgba(202,165,106,.38); transform: translate(-50%,-50%) rotate(38deg); }
.market-compass-mark i { transform: translate(-50%,-50%) rotate(90deg); }
.market-compass-mark b { position: absolute; left: 50%; top: 50%; width: 8px; height: 8px; border-radius: 50%; background: var(--gold); transform: translate(-50%,-50%); }
.market-compass-axis { position: absolute; z-index: 1; left: 36px; right: 36px; bottom: 33px; display: grid; grid-template-columns: auto 1fr 10px auto; gap: 14px; align-items: center; color: rgba(244,239,230,.5); font-size: 8px; letter-spacing: .16em; }
.market-compass-axis i { height: 1px; background: linear-gradient(90deg, rgba(202,165,106,.18), var(--gold)); }
.market-compass-axis b { width: 8px; height: 8px; margin-left: -19px; border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 5px rgba(202,165,106,.12); }
.market-compass-axis em { font-style: normal; }
.market-notes { display: flex; flex-direction: column; gap: 24px; }
.note { display: grid; grid-template-columns: 36px 1fr 24px; gap: 15px; align-items: center; width: 100%; border: 0; border-bottom: 1px solid var(--line); padding: 0 0 20px; background: transparent; color: inherit; text-align: left; }
.note strong { color: var(--gold); font-family: var(--serif); }
.note h4 { margin: 0; font-size: 16px; }
.note p { color: var(--muted); font-size: 13px; margin: 5px 0 0; }
.note > i { color: var(--gold); font-size: 16px; font-style: normal; transition: transform .24s ease; }
.note:hover h4 { color: var(--gold); }
.note:hover > i { transform: translateY(5px); }

.market-deep-dives { padding: 118px 0 132px; background: #f4efe6; }
.market-deep-dives::before {
  inset: -90px -4vw auto 45%;
  height: 720px;
  opacity: .14;
  background-image: linear-gradient(90deg, #f4efe6 0%, rgba(244,239,230,.25) 68%), var(--city-backdrop-market);
  background-position: center;
}
.market-deep-head { display: grid; grid-template-columns: minmax(170px, .35fr) minmax(0, .8fr) minmax(260px, .55fr); gap: clamp(28px, 5vw, 70px); align-items: end; margin-bottom: 58px; }
.market-deep-head h2 { margin: 0; font-size: clamp(38px, 4.6vw, 64px); line-height: 1.12; }
.market-deep-head h2 em { color: var(--gold); font-style: normal; }
.market-deep-head p { margin: 0 0 7px; color: var(--muted); line-height: 1.85; }
.market-intelligence-stack { border-top: 1px solid rgba(20,23,22,.18); }
.market-intel-section { scroll-margin-top: 88px; padding: 88px 0; border-bottom: 1px solid rgba(20,23,22,.16); transition: background .4s ease, box-shadow .4s ease; }
.market-intel-section.market-detail-focus { background: rgba(255,255,255,.72); box-shadow: 0 0 0 20px rgba(255,255,255,.72), 0 24px 65px rgba(20,23,22,.09); }
.market-intel-heading { display: grid; grid-template-columns: minmax(160px,.35fr) minmax(0,1fr) minmax(260px,.55fr); gap: clamp(26px,5vw,70px); align-items: start; margin-bottom: 44px; }
.market-intel-heading > span { color: var(--gold); font-size: 9px; letter-spacing: .16em; }
.market-intel-heading h3 { margin: -8px 0 0; font-family: var(--serif); font-size: clamp(34px,4vw,54px); line-height: 1.15; font-weight: 500; }
.market-intel-heading > p { margin: 0; color: var(--muted); line-height: 1.85; }
.market-signal-grid { display: grid; grid-template-columns: repeat(4,1fr); background: #111614; color: var(--cream); }
.market-signal-grid article { min-height: 290px; padding: 28px 26px; border-right: 1px solid rgba(244,239,230,.13); }
.market-signal-grid article:last-child { border-right: 0; }
.market-signal-grid article > span { color: var(--gold); font-size: 8px; letter-spacing: .15em; }
.market-signal-grid article > i { display: block; margin-top: 48px; color: rgba(244,239,230,.27); font-family: var(--serif); font-size: 24px; font-style: normal; }
.market-signal-grid h4 { margin: 12px 0 14px; font-size: 19px; }
.market-signal-grid p { margin: 0; color: rgba(244,239,230,.62); font-size: 12px; line-height: 1.8; }
.market-city-board { border-top: 1px solid rgba(20,23,22,.18); }
.market-city-board article { display: grid; grid-template-columns: minmax(230px,.62fr) minmax(210px,.48fr) minmax(0,1fr); gap: 34px; align-items: center; min-height: 142px; padding: 25px 0; border-bottom: 1px solid rgba(20,23,22,.13); }
.market-city-board article > div { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: baseline; }
.market-city-board i { color: var(--gold); font-family: var(--serif); font-style: normal; }
.market-city-board h4 { margin: 0; font-family: var(--serif); font-size: 29px; font-weight: 500; }
.market-city-board strong { grid-column: 2; color: var(--gold); font-size: 9px; letter-spacing: .13em; }
.market-city-board > article > span { font-size: 11px; letter-spacing: .08em; }
.market-city-board p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.75; }
.market-segment-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: rgba(20,23,22,.13); border: 1px solid rgba(20,23,22,.13); }
.market-segment-grid article { min-height: 330px; padding: 32px; background: #fbfaf7; }
.market-segment-grid article > div { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; }
.market-segment-grid article > div span { font-family: var(--serif); font-size: 29px; }
.market-segment-grid article > div i { color: var(--gold); font-size: 8px; font-style: normal; letter-spacing: .14em; }
.market-segment-grid h4 { margin: 74px 0 16px; font-size: 18px; }
.market-segment-grid p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.85; }
.market-driver-list { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid rgba(20,23,22,.18); border-left: 1px solid rgba(20,23,22,.18); }
.market-driver-list article { display: grid; grid-template-columns: 38px 1fr; gap: 12px 20px; min-height: 230px; padding: 32px; border-right: 1px solid rgba(20,23,22,.18); border-bottom: 1px solid rgba(20,23,22,.18); }
.market-driver-list i { color: var(--gold); font-family: var(--serif); font-style: normal; }
.market-driver-list h4 { margin: 0; font-size: 19px; }
.market-driver-list p { grid-column: 2; margin: 20px 0 0; color: var(--muted); font-size: 13px; line-height: 1.9; }
.market-action-board { display: grid; grid-template-columns: repeat(2,1fr); }
.market-action-board > article { min-height: 570px; padding: clamp(34px,5vw,68px); background: #fbfaf7; }
.market-action-board > article:last-child { background: #111614; color: var(--cream); }
.market-action-board > article > span { color: var(--gold); font-size: 8px; letter-spacing: .16em; }
.market-action-board h4 { margin: 16px 0 36px; font-family: var(--serif); font-size: 34px; font-weight: 500; }
.market-action-board article > div > div { display: grid; grid-template-columns: 32px 1fr; gap: 15px; padding: 19px 0; border-top: 1px solid rgba(20,23,22,.13); }
.market-action-board article:last-child > div > div { border-color: rgba(244,239,230,.14); }
.market-action-board article > div i { color: var(--gold); font-family: var(--serif); font-style: normal; }
.market-action-board article > div strong { font-size: 14px; }
.market-action-board article > div p { margin: 7px 0 0; color: var(--muted); font-size: 12px; line-height: 1.75; }
.market-action-board article:last-child > div p { color: rgba(244,239,230,.62); }
.market-action-board .text-link { display: inline-flex; margin-top: 24px; }
.market-action-board article:last-child .text-link { color: var(--cream); }
.market-source-note { max-width: 860px; margin: 28px 0 0; color: var(--muted); font-size: 10px; line-height: 1.8; }

.estate-edit {
  padding: 120px 0;
  background: #14231d;
  color: var(--cream);
  overflow: hidden;
  position: relative;
  isolation: isolate;
}
.estate-edit::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: -100px -7vw auto 48%;
  height: 630px;
  pointer-events: none;
  opacity: .11;
  filter: blur(16px) saturate(.72);
  transform: scale(1.06);
  background-image: linear-gradient(90deg, #14231d 0%, rgba(20,35,29,.26) 72%), var(--city-backdrop-market);
  background-size: cover;
  background-position: center;
}
.estate-edit > .section-wrap { position: relative; z-index: 1; }
.estate-edit-head { display: grid; grid-template-columns: 1.25fr .75fr; gap: 72px; align-items: end; margin-bottom: 52px; }
.estate-edit-head h2 { color: var(--cream); margin-bottom: 0; }
.estate-edit-head p { color: rgba(244,239,230,.67); max-width: 440px; margin: 0 0 8px; line-height: 1.9; }
.estate-edit-layout { display: grid; grid-template-columns: 1.5fr .5fr; gap: 54px; align-items: stretch; }
.estate-visuals { min-height: 690px; display: grid; grid-template-columns: 1.35fr .65fr; grid-template-rows: 1fr 1fr; gap: 14px; }
.estate-visual { position: relative; margin: 0; overflow: hidden; background: #24352e; }
.estate-visual-1 { grid-row: 1 / 3; }
.estate-visual img { width: 100%; height: 100%; object-fit: cover; transition: transform 1s cubic-bezier(.2,.7,.2,1), filter .8s ease; }
.estate-visual:hover img { transform: scale(1.035); filter: saturate(.82) contrast(1.04); }
.estate-visual figcaption { position: absolute; left: 16px; bottom: 14px; color: white; font-size: 9px; letter-spacing: .16em; text-shadow: 0 1px 8px rgba(0,0,0,.6); }
.estate-notes { border-top: 1px solid rgba(244,239,230,.18); display: flex; flex-direction: column; }
.estate-notes article { padding: 25px 0 28px; border-bottom: 1px solid rgba(244,239,230,.16); }
.estate-notes article span { color: var(--gold); font-size: 9px; letter-spacing: .18em; }
.estate-notes h3 { color: var(--cream); font-family: var(--serif); font-size: 25px; margin: 11px 0 8px; font-weight: 500; }
.estate-notes p { color: rgba(244,239,230,.6); font-size: 12px; line-height: 1.75; margin: 0; }
.estate-notes .text-link { color: var(--cream); margin-top: auto; padding-top: 28px; }

.locations-section {
  padding: 112px 0 124px;
  background: #e9e2d5;
}
.locations-section::before {
  inset: -80px -3vw auto -3vw;
  height: 520px;
  opacity: .2;
  background-image: linear-gradient(180deg, rgba(233,226,213,.16) 0%, #e9e2d5 94%), var(--city-backdrop-locations);
  background-position: center 44%;
}
.location-tabs {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  border-bottom: 1px solid var(--line);
  margin-bottom: 26px;
  padding-bottom: 14px;
}
.location-tabs button {
  border: 1px solid rgba(20,23,22,.16);
  background: transparent;
  color: var(--muted);
  min-height: 38px;
  padding: 0 16px;
}
.location-tabs button.active { color: var(--cream); border-color: var(--ink); background: var(--ink); }
.location-category-intro {
  display: grid;
  grid-template-columns: minmax(130px, .28fr) minmax(0, 1fr);
  gap: 28px;
  align-items: start;
  margin: 0 0 26px;
  padding: 4px 0 24px;
  border-bottom: 1px solid rgba(20,23,22,.12);
}
.location-category-intro span { color: var(--red); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.location-category-intro p { max-width: 720px; margin: 0; color: var(--muted); font-size: 15px; line-height: 1.8; }
.location-feature { margin-bottom: 18px; }
.location-feature-card { position: relative; min-height: min(62vw, 680px); overflow: hidden; cursor: pointer; background: var(--ink); color: var(--cream); }
.location-feature-card picture, .location-feature-card picture img { position: absolute; inset: 0; width: 100%; height: 100%; }
.location-feature-card img { object-fit: cover; animation: locationReveal .55s ease both; }
.location-feature-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(8,14,12,.88) 0%, rgba(8,14,12,.5) 42%, rgba(8,14,12,.08) 78%), linear-gradient(0deg, rgba(8,14,12,.45), transparent 46%); }
.location-feature-copy { position: absolute; left: clamp(26px, 5vw, 72px); bottom: clamp(34px, 6vw, 72px); z-index: 2; width: min(720px, calc(100% - 52px)); }
.location-feature-copy > span { color: var(--gold); font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.location-feature-copy h3 { color: white; max-width: 720px; font-family: var(--serif); font-weight: 500; font-size: clamp(38px, 5.2vw, 72px); line-height: 1.06; margin: 18px 0 20px; }
.location-feature-copy p { color: rgba(255,255,255,.78); max-width: 500px; line-height: 1.85; margin: 0 0 22px; }
.location-feature-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: -6px 0 24px; }
.location-feature-meta b { padding: 7px 10px; border: 1px solid rgba(255,255,255,.22); color: rgba(255,255,255,.78); font-size: 9px; font-weight: 500; letter-spacing: .05em; }
.location-feature-copy em { font-style: normal; color: white; font-size: 11px; letter-spacing: .08em; border-bottom: 1px solid rgba(255,255,255,.45); padding-bottom: 8px; }
.location-credit { position: absolute; z-index: 3; right: 18px; bottom: 14px; max-width: 42%; color: rgba(255,255,255,.58); font-size: 8px; text-align: right; }
.location-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
  background: transparent;
}
.location-card {
  position: relative;
  overflow: hidden;
  background: var(--ink);
  border: 0;
  min-height: 310px;
  color: white;
  transition: box-shadow .24s ease, transform .24s ease;
}
.location-card picture, .location-card picture img { position: absolute; inset: 0; width: 100%; height: 100%; }
.location-card img { object-fit: cover; filter: saturate(.7) brightness(.76); transition: transform .7s ease, filter .5s ease; }
.location-card-shade { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(8,14,12,.9), rgba(8,14,12,.05) 70%); }
.location-card-copy { position: absolute; z-index: 2; left: 20px; right: 20px; bottom: 19px; }
.location-card:hover {
  box-shadow: 0 22px 52px rgba(20,23,22,.2);
  transform: translateY(-4px);
}
.location-card:hover img, .location-card.active img { transform: scale(1.055); filter: saturate(.9) brightness(.88); }
.location-card span { color: var(--gold); font-family: var(--serif); margin-right: 9px; }
.location-card h3 { color: white; margin: 10px 0 5px; font-family: var(--serif); font-size: clamp(19px, 2vw, 25px); line-height: 1.25; font-weight: 500; }
.location-card small { color: rgba(255,255,255,.74); font-size: 9px; letter-spacing: .12em; text-transform: uppercase; }
.location-card p { color: rgba(255,255,255,.67); margin: 7px 0 0; font-size: 11px; line-height: 1.55; }
.empty-location {
  grid-column: 1 / -1;
  min-height: 180px;
  display: grid;
  place-items: center;
  background: var(--cream);
  color: var(--muted);
  border: 1px solid rgba(20,23,22,.1);
}
.city-detail-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin: 28px 0; }
.city-detail-grid article { padding: 15px; background: #f4efe6; border: 1px solid rgba(20,23,22,.08); }
.city-detail-grid small { display: block; color: var(--red); font-size: 9px; letter-spacing: .12em; margin-bottom: 7px; }
.school-boundary-note { margin: 24px 0 10px; padding: 18px 20px; background: #201e19; color: var(--cream); border-left: 3px solid var(--gold); }
.school-boundary-note strong { color: var(--gold); font-size: 11px; letter-spacing: .08em; }
.school-boundary-note p { margin: 8px 0 0; color: rgba(244,239,230,.72); font-size: 12px; line-height: 1.75; }
.city-detail-grid p { margin: 0; color: var(--ink); font-size: 11px; line-height: 1.65; }
.modal-image-credit { display: inline-block; color: var(--muted); font-size: 9px; margin-bottom: 12px; text-decoration: underline; }

@keyframes locationReveal { from { opacity: .35; transform: scale(1.015); } to { opacity: 1; transform: scale(1); } }

.about-section { background: var(--cream); padding: 110px 0; }
.about-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 92px; align-items: center; }
.about-portrait { height: 560px; position: relative; overflow: hidden; }
.about-portrait img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(.35); }
.about-portrait span { position: absolute; left: 20px; bottom: 18px; color: white; font-size: 9px; line-height: 1.6; letter-spacing: .13em; }
.about-copy p { max-width: 520px; margin-top: 28px; }
.about-links { max-width: 500px; border-top: 1px solid var(--line); }
.about-links a { display: flex; justify-content: space-between; border-bottom: 1px solid var(--line); padding: 16px 0; font-size: 13px; }
.about-links span { color: var(--gold); }
.about-deep-links { margin-top: 26px; max-width: 620px; }
.about-team {
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.team-card {
  border: 1px solid rgba(20,23,22,.1);
  background: #fff;
  padding: 0;
  text-align: left;
  overflow: hidden;
  transition: transform .24s ease, box-shadow .24s ease;
}
.team-card:hover { transform: translateY(-3px); box-shadow: 0 20px 46px rgba(20,23,22,.08); }
.team-card img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; }
.team-card span,
.team-card strong,
.team-card small { display: block; padding: 0 16px; }
.team-card span { margin-top: 14px; color: var(--gold); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.team-card strong { margin-top: 8px; font-size: 16px; line-height: 1.35; }
.team-card small { margin: 10px 0 16px; color: var(--muted); font-size: 12px; line-height: 1.7; }
.about-story-card {
  display: block;
  width: 100%;
  padding: 24px;
  border: 1px solid rgba(20,23,22,.12);
  background: var(--cream);
  text-align: left;
  cursor: pointer;
  transition: transform .24s ease, box-shadow .24s ease;
}
.about-story-card:hover { transform: translateY(-3px); box-shadow: 0 22px 50px rgba(20,23,22,.08); }
.about-story-card span {
  color: var(--gold);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.about-story-card p { margin: 12px 0 0; max-width: none; color: var(--ink); }
.testimonial-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 10px; }
.testimonial-card {
  min-height: 148px;
  border: 1px solid rgba(20,23,22,.1);
  background: #fff;
  padding: 18px;
  text-align: left;
}
.testimonial-card strong { display: block; font-size: 13px; line-height: 1.5; }
.testimonial-card span { display: block; margin-top: 14px; color: var(--gold); font-size: 11px; }
.about-feature-links { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; margin-top: 10px; }
.about-feature-links a,
.about-feature-links button {
  min-height: 124px;
  border: 1px solid rgba(20,23,22,.1);
  background: #161917;
  color: var(--cream);
  padding: 22px;
  display: grid;
  align-content: space-between;
  width: 100%;
  text-align: left;
  transition: transform .24s ease, background .24s ease;
}
.about-feature-links a:hover,
.about-feature-links button:hover { transform: translateY(-3px); background: #1f352c; }
.about-feature-links span { color: var(--gold); }
.about-feature-links strong { font-size: 17px; line-height: 1.35; }
.about-feature-links small { color: rgba(244,239,230,.62); line-height: 1.65; }

.story-page,
.client-trust-page,
.book-page {
  min-height: calc(100vh - 70px);
  padding: 112px 0;
  background: var(--cream);
}
.story-layout {
  display: grid;
  grid-template-columns: minmax(320px, .78fr) minmax(0, 1fr);
  gap: clamp(48px, 8vw, 110px);
  align-items: center;
}
.story-visual {
  position: relative;
  min-height: 640px;
  overflow: hidden;
  background: var(--ink);
}
.story-visual img {
  width: 100%;
  height: 100%;
  min-height: 640px;
  object-fit: cover;
  filter: grayscale(.32);
  opacity: .72;
}
.story-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 34%, rgba(20,23,22,.78) 100%);
}
.story-visual span {
  position: absolute;
  left: 28px;
  bottom: 26px;
  z-index: 1;
  color: var(--cream);
  font-size: 10px;
  letter-spacing: .16em;
}
.story-copy {
  max-width: 670px;
}
.story-copy h2,
.client-trust-head h2 {
  margin: 18px 0 22px;
  font-size: clamp(42px, 5.5vw, 72px);
  line-height: 1.08;
  letter-spacing: 0;
}
.story-copy > p,
.client-trust-head p {
  max-width: 560px;
  color: var(--muted);
  font-size: 18px;
  margin: 0 0 34px;
}
.story-principles {
  display: grid;
  border-top: 1px solid rgba(20,23,22,.12);
}
.story-principles article {
  display: grid;
  grid-template-columns: 48px minmax(150px, .44fr) 1fr;
  gap: 20px;
  align-items: baseline;
  padding: 22px 0;
  border-bottom: 1px solid rgba(20,23,22,.12);
}
.story-principles span,
.client-trust-list span {
  color: var(--gold);
  font-family: var(--serif);
}
.story-principles strong {
  font-size: 18px;
}
.story-principles p {
  margin: 0;
  color: var(--muted);
}
.client-trust-layout {
  display: grid;
  grid-template-columns: minmax(280px, .54fr) minmax(0, 1fr);
  gap: clamp(44px, 7vw, 96px);
  align-items: start;
}
.client-trust-head {
  position: sticky;
  top: 104px;
}
.client-trust-source {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-top: 22px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--gold-dark);
  color: var(--ink);
  font-size: 14px;
}
.client-trust-source span { color: var(--gold-dark); font-size: 18px; }
.client-trust-list {
  display: grid;
  gap: 14px;
}
.client-trust-list article {
  background: rgba(251,250,247,.62);
  border: 1px solid rgba(20,23,22,.11);
  padding: clamp(24px, 3vw, 38px);
}
.client-trust-list blockquote {
  margin: 18px 0 24px;
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(24px, 3.2vw, 38px);
  line-height: 1.28;
}
.client-trust-list footer {
  color: var(--muted);
  font-size: 13px;
}
.client-trust-list footer a { color: var(--gold-dark); text-decoration: underline; text-underline-offset: 4px; }
.modal-source-note { margin: 0; color: var(--muted); font-size: 13px; }
.modal-source-link { display: inline-flex; margin-top: 18px; padding-bottom: 7px; border-bottom: 1px solid var(--gold-dark); color: var(--gold-dark); font-size: 14px; }
.book-layout {
  display: grid;
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.12fr);
  gap: clamp(48px, 7vw, 100px);
  align-items: start;
}
.book-cover-stage {
  position: relative;
  min-height: 620px;
  display: grid;
  place-items: center;
  background: linear-gradient(145deg, #171b18 0%, #243027 100%);
  overflow: hidden;
}
.book-cover-stage::before {
  content: "";
  position: absolute;
  inset: 28px;
  border: 1px solid rgba(244,239,230,.18);
}
.book-cover-stage img {
  position: relative;
  width: min(68%, 380px);
  aspect-ratio: 3 / 4.2;
  object-fit: cover;
  box-shadow: 0 34px 70px rgba(0,0,0,.32);
  transform: rotate(-2deg);
}
.book-copy {
  max-width: 780px;
  padding-top: 12px;
}
.book-copy h2 {
  margin: 18px 0 22px;
  font-size: clamp(42px, 5.5vw, 72px);
  line-height: 1.08;
  letter-spacing: 0;
}
.book-copy > p {
  max-width: 680px;
  color: var(--muted);
  font-size: 18px;
  line-height: 1.8;
  margin: 0 0 30px;
}
.book-intro {
  max-width: 720px;
  margin-top: 34px;
  padding-top: 30px;
  border-top: 1px solid rgba(20,23,22,.12);
}
.book-intro p {
  margin: 0 0 16px;
  color: #665f56;
  font-size: 16px;
  line-height: 1.95;
}
.book-pull {
  position: relative;
  margin: 38px 0 36px;
  padding: 24px 0 24px 34px;
  border-left: 2px solid var(--gold);
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.35;
}
.book-notes {
  margin: 0 0 34px;
  border-top: 1px solid rgba(20,23,22,.12);
}
.book-notes article {
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 20px;
  padding: 22px 0 24px;
  border-bottom: 1px solid rgba(20,23,22,.12);
}
.book-notes span {
  color: var(--gold);
  font-family: var(--serif);
  font-size: 18px;
  line-height: 1.35;
}
.book-notes h3 {
  margin: 0 0 8px;
  color: var(--ink);
  font-family: var(--serif);
  font-size: 21px;
  font-weight: 500;
}
.book-notes p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.8;
}
.book-copy > .book-audience {
  max-width: 720px;
  margin: 0 0 28px;
  padding: 19px 22px;
  border: 1px solid rgba(20,23,22,.12);
  color: #665f56;
  background: rgba(255,255,255,.2);
  font-size: 14px;
  line-height: 1.8;
}
.book-buy-link { min-width: 220px; }

.media-header { display: flex; justify-content: space-between; align-items: flex-end; margin-bottom: 34px; }
.media-header h2 { margin: 0; font-family: var(--serif); font-size: 30px; }
.media-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.media-card { min-height: 300px; position: relative; overflow: hidden; background: #e9e4da; padding: 24px; display: flex; flex-direction: column; justify-content: space-between; transition: transform .25s ease; }
.media-card:hover { transform: translateY(-4px); }
.media-card-dark { background: var(--ink); color: var(--cream); }
.media-card img, .media-card video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .22; }
.media-card video { opacity: .62; }
.market-report-download { display: grid; gap: 6px; padding: 22px 0; border-bottom: 1px solid var(--line); }
.market-report-download span { color: var(--gold); font-size: 10px; letter-spacing: .12em; }
.market-report-download strong { font: 500 18px/1.4 var(--serif); }
.market-report-download em { color: var(--muted); font-size: 11px; font-style: normal; }
.media-card div, .media-card > span { position: relative; z-index: 1; }
.media-card h3 { font-size: 24px; line-height: 1.24; margin: 0; }
.media-card p { max-width: 92%; margin: 12px 0 0; color: var(--muted); font-size: 14px; line-height: 1.65; }
.media-card-dark p { color: rgba(244,239,230,.66); }
.media-card small { color: var(--muted); }
.media-card-dark small { color: #a9afa7; }
.media-arrow { align-self: flex-end; color: var(--gold); font-size: 20px; }

.contact-section {
  position: relative;
  overflow: hidden;
  background:
    linear-gradient(90deg, rgba(20,23,22,.045) 0 1px, transparent 1px) 0 0 / 88px 100%,
    linear-gradient(180deg, var(--cream) 0%, #f7f3eb 54%, var(--paper) 100%);
  color: var(--ink);
  padding: 118px 0 106px;
}
.contact-section::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 1px;
  background: var(--line);
  z-index: 2;
}
.contact-section::after {
  inset: -40px -4vw -40px 48%;
  opacity: .13;
  background-image: linear-gradient(90deg, #f7f3eb 0%, rgba(247,243,235,.24) 70%), var(--city-backdrop-contact);
  background-position: center;
}
.contact-grid {
  display: grid;
  grid-template-columns: minmax(320px, .78fr) minmax(0, 1fr);
  gap: clamp(48px, 8vw, 112px);
  align-items: stretch;
}
.contact-intro {
  min-height: 560px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.contact-intro .section-kicker { color: var(--gold); }
.contact-intro h2 {
  max-width: 650px;
  color: var(--ink);
}
.contact-intro h2 em {
  font-family: var(--serif);
  font-style: normal;
  font-weight: 500;
}
.contact-intro p {
  max-width: 470px;
  color: var(--muted);
  margin: 30px 0 34px;
  font-size: 16px;
}
.contact-details {
  display: grid;
  gap: 0;
  max-width: 500px;
  color: var(--ink-2);
  font-size: 13px;
  border-top: 1px solid rgba(20,23,22,.12);
}
.contact-details span,
.contact-details a {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(20,23,22,.12);
  color: var(--muted);
}
.contact-details a:hover { color: var(--gold); }
.contact-form {
  justify-self: stretch;
  align-self: center;
  width: 100%;
  background: rgba(251,250,247,.82);
  border: 1px solid rgba(20,23,22,.12);
  box-shadow: 0 26px 70px rgba(20,23,22,.08);
  padding: clamp(28px, 4vw, 48px);
}
.form-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
.contact-form label {
  display: block;
  margin-bottom: 20px;
  color: var(--ink);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
}
.contact-form input, .contact-form textarea, .contact-form select {
  display: block;
  width: 100%;
  margin-top: 9px;
  background: rgba(244,239,230,.46);
  border: 0;
  border-bottom: 1px solid rgba(20,23,22,.18);
  color: var(--ink);
  padding: 13px 14px;
  outline: none;
  transition: background .22s ease, border-color .22s ease, box-shadow .22s ease;
}
.contact-form textarea {
  min-height: 136px;
  resize: vertical;
}
.contact-form input:focus,
.contact-form textarea:focus,
.contact-form select:focus {
  background: var(--paper);
  border-color: var(--gold);
  box-shadow: inset 0 -1px 0 var(--gold);
}
.contact-form input::placeholder, .contact-form textarea::placeholder { color: rgba(20,23,22,.42); }
.contact-form select option { color: var(--ink); }
.form-submit {
  min-width: 170px;
  background: var(--ink);
  color: var(--cream);
  border-color: var(--ink);
}
.form-submit:hover {
  background: var(--gold);
  color: var(--ink);
  border-color: var(--gold);
}
.form-status { min-height: 18px; color: var(--muted); font-size: 12px; }

.footer { background: var(--ink); color: var(--cream); padding: 0 0 32px; }
.footer-cta { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 70px; align-items: end; padding: 78px 0 58px; border-bottom: 1px solid rgba(244,239,230,.14); }
.footer-kicker { display: block; color: var(--gold); font-size: 9px; letter-spacing: .18em; margin-bottom: 15px; }
.footer-cta h2 { margin: 0; max-width: 720px; font-family: var(--serif); font-size: clamp(30px, 4vw, 52px); line-height: 1.18; font-weight: 500; }
.footer-cta p { margin: 18px 0 0; max-width: 700px; color: rgba(244,239,230,.66); font-size: 13px; line-height: 1.85; }
.footer-cta-button { min-width: 170px; background: var(--gold); border-color: var(--gold); color: var(--ink); }
.footer-grid { display: grid; grid-template-columns: 1.35fr .8fr 1fr 1fr; gap: 50px; padding: 52px 0 46px; }
.footer-brand-column p { max-width: 250px; margin: 18px 0 0; color: rgba(244,239,230,.46); font-size: 10px; line-height: 1.7; letter-spacing: .08em; }
.footer-column { display: flex; flex-direction: column; align-items: flex-start; gap: 9px; color: rgba(244,239,230,.62); font-size: 11px; }
.footer-column strong { margin-bottom: 8px; color: var(--cream); font-size: 10px; letter-spacing: .14em; font-weight: 600; }
.footer-column a { transition: color .2s ease; overflow-wrap: anywhere; }
.footer-column a:hover { color: var(--gold); }
.footer-column small { color: var(--gold); font-size: 9px; letter-spacing: .08em; }
.footer-qr { width: 112px; height: 112px; margin-top: 8px; padding: 6px; object-fit: cover; background: var(--cream); }
.footer-qr[hidden] { display: none !important; }
.footer-brand-link { display: inline-flex; align-items: center; gap: 12px; color: var(--cream); transition: opacity .22s ease; }
.footer-brand-link:hover { opacity: .78; }
.footer-nav { display: flex; flex-direction: column; gap: 9px; }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: 24px; border-top: 1px solid rgba(244,239,230,.12); color: rgba(244,239,230,.36); font-size: 8px; letter-spacing: .12em; }
.mobile-contact-bar { display: none; }

.modal-backdrop { position: fixed; inset: 0; z-index: 40; background: rgba(20,23,22,.7); display: none; align-items: center; justify-content: center; padding: 24px; }
.modal-backdrop.open { display: flex; }
.property-modal { width: min(880px, 100%); max-height: 90vh; overflow: hidden; background: var(--paper); color: var(--ink); display: grid; grid-template-columns: 1fr 1fr; position: relative; animation: modalIn .25s ease both; }
.property-modal > img { width: 100%; height: 100%; min-height: 480px; object-fit: cover; }
.modal-body { padding: 46px 38px; max-height: 90vh; overflow: auto; }
.modal-close { position: absolute; right: 18px; top: 14px; border: 0; background: transparent; font-size: 30px; line-height: 1; color: inherit; z-index: 2; }
.property-status { color: var(--red); font-size: 10px; letter-spacing: .13em; }
.modal-body h3 { margin: 12px 0 4px; font-size: 30px; line-height: 1.2; }
.modal-location { color: var(--muted); }
.modal-specs { display: flex; flex-wrap: wrap; gap: 14px; color: var(--muted); font-size: 12px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); padding: 16px 0; margin: 24px 0; }
#modalDescription { color: var(--muted); margin-bottom: 30px; white-space: pre-line; }
.modal-extra-cases { margin-top: 26px; }
.modal-case-list h4 { margin: 0 0 12px; font-size: 13px; color: var(--red); letter-spacing: .1em; }
.modal-case-list { display: grid; gap: 10px; }
.modal-case-list button {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 12px;
  align-items: center;
  border: 1px solid var(--line);
  background: #fff;
  color: var(--ink);
  padding: 8px;
  text-align: left;
}
.modal-case-list img { width: 76px; height: 58px; object-fit: cover; }
.modal-case-list strong { display: block; font-size: 13px; line-height: 1.35; }
.modal-case-list small { color: var(--muted); }
body.journey-open { overflow: hidden; }
.journey-backdrop {
  position: fixed;
  inset: 0;
  z-index: 45;
  display: none;
  overflow: auto;
  background:
    radial-gradient(circle at 14% 18%, rgba(202,165,106,.14), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(255,255,255,.05), transparent 24%),
    radial-gradient(circle at 68% 82%, rgba(111,128,98,.12), transparent 28%),
    linear-gradient(145deg, #1b2c23 0%, #21362b 44%, #17251e 100%);
}
.journey-backdrop.open { display: block; }
.journey-modal {
  min-height: 100%;
  position: relative;
  color: var(--cream);
}
.journey-modal .modal-close { color: inherit; }
.journey-backdrop[data-stage="questions"] {
  background:
    radial-gradient(circle at 14% 18%, rgba(202,165,106,.12), transparent 26%),
    radial-gradient(circle at 84% 16%, rgba(255,255,255,.05), transparent 24%),
    radial-gradient(circle at 68% 82%, rgba(111,128,98,.12), transparent 28%),
    linear-gradient(145deg, #1b2c23 0%, #21362b 44%, #17251e 100%);
  color: var(--cream);
}
.journey-backdrop[data-stage="questions"] .modal-close { color: var(--cream); }
.journey-backdrop[data-stage="offmarket"] {
  background:
    radial-gradient(circle at 88% 14%, rgba(255,255,255,.2), transparent 24%),
    radial-gradient(circle at 12% 86%, rgba(31,53,44,.1), transparent 28%),
    linear-gradient(145deg, #d8c7a8 0%, #dfcfb0 48%, #cdbb99 100%);
  color: var(--ink);
}
.journey-backdrop[data-stage="offmarket"] .modal-close { color: var(--ink); }
.journey-backdrop[data-stage="sellservice"] {
  background:
    linear-gradient(90deg, rgba(18,19,18,.94), rgba(18,19,18,.72)),
    url("https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=2200&q=82") center/cover;
  color: var(--cream);
}
.journey-backdrop[data-stage="sellservice"] .modal-close { color: var(--cream); }
.journey-modal-body { min-height: 100vh; }
.journey-stage {
  width: min(1440px, calc(100% - 96px));
  margin: 0 auto;
}
.journey-topic-detail {
  width: 100%;
  max-width: none;
  margin: 0;
}
.journey-overview {
  min-height: 100vh;
  display: grid;
  grid-template-columns: minmax(320px, .95fr) minmax(0, 1.25fr);
  gap: 68px;
  align-items: start;
  padding: 122px 0 64px;
}
.journey-overview-copy {
  max-width: 560px;
  position: sticky;
  top: 112px;
  align-self: start;
  padding-top: 10px;
}
.journey-overview-copy::before {
  content: "";
  display: block;
  width: 72px;
  height: 1px;
  margin-bottom: 18px;
  background: rgba(202,165,106,.9);
}
.journey-kicker {
  display: inline-block;
  color: var(--gold);
  font-size: 10px;
  letter-spacing: .18em;
  font-weight: 700;
  text-transform: uppercase;
}
.journey-overview-copy h2 {
  margin: 18px 0 20px;
  font-size: clamp(38px, 4.9vw, 70px);
  line-height: 1.06;
  font-weight: 600;
  text-wrap: balance;
}
.journey-overview-copy h2 em { font-family: var(--serif); font-style: normal; font-weight: 500; }
.journey-overview-copy p {
  margin: 0;
  max-width: 520px;
  color: rgba(244,239,230,.82);
  font-size: 17px;
  line-height: 1.8;
}
.journey-overview-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}
.journey-overview-meta span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid rgba(244,239,230,.16);
  border-radius: 999px;
  background: rgba(255,255,255,.04);
  color: rgba(244,239,230,.82);
  font-size: 10px;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.journey-overview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-self: start;
  border: 1px solid rgba(244,239,230,.14);
  background: rgba(255,255,255,.015);
  box-shadow: 0 34px 80px rgba(0,0,0,.12);
}
.journey-topic-card {
  position: relative;
  overflow: hidden;
  padding: 0;
  border: 0;
  border-right: 1px solid rgba(244,239,230,.16);
  border-bottom: 1px solid rgba(244,239,230,.16);
  background: rgba(255,255,255,.018);
  color: inherit;
  text-align: left;
  min-height: 510px;
  transition: background .25s ease, transform .25s ease, box-shadow .25s ease;
}
.journey-topic-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(202,165,106,.14), transparent 34%);
  opacity: 0;
  transition: opacity .25s ease;
  pointer-events: none;
}
.journey-topic-card:nth-child(2n) { border-right: 0; }
.journey-topic-card:nth-last-child(-n+2) { border-bottom: 0; }
.journey-topic-card:hover {
  background:
    linear-gradient(180deg, rgba(255,255,255,.045), rgba(255,255,255,.015)),
    rgba(255,255,255,.01);
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(0,0,0,.12);
}
.journey-topic-card:hover::before { opacity: 1; }
.journey-topic-card > * { position: relative; z-index: 1; }
.journey-topic-card figure {
  height: 185px;
  margin: 0;
  overflow: hidden;
  background: rgba(255,255,255,.04);
}
.journey-topic-card figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 52%, rgba(20,34,27,.6));
}
.journey-topic-card figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.78) contrast(1.04);
  transition: transform .65s ease, filter .65s ease;
}
.journey-topic-card:hover figure img { transform: scale(1.05); filter: saturate(.95) contrast(1.06); }
.journey-topic-copy {
  min-height: 325px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 25px 27px 27px;
}
.journey-topic-copy span {
  color: var(--gold);
  font-family: var(--serif);
  font-size: 13px;
  letter-spacing: .08em;
}
.journey-topic-copy strong {
  display: block;
  margin-top: 5px;
  font-size: 26px;
  line-height: 1.2;
  font-weight: 600;
}
.journey-topic-copy small {
  display: block;
  color: rgba(244,239,230,.74);
  font-size: 13px;
  line-height: 1.65;
}
.journey-topic-copy p {
  margin: 0;
  color: rgba(244,239,230,.56);
  font-size: 12px;
  line-height: 1.72;
}
.journey-topic-copy em {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin-top: auto;
  padding-top: 18px;
  border-top: 1px solid rgba(244,239,230,.14);
  color: var(--gold);
  font-size: 10px;
  font-style: normal;
  letter-spacing: .06em;
}
.journey-topic-copy em b { font-size: 14px; font-weight: 400; }
.journey-topic-card:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: -2px;
}
.journey-topic-detail { min-height: 100vh; padding: 108px 0 0; }
.journey-detail-back { display: inline-flex; align-items: center; gap: 12px; margin: 0 clamp(24px,4vw,72px) 30px; padding: 0; border: 0; background: transparent; color: rgba(244,239,230,.68); font-size: 11px; }
.journey-detail-back span { color: var(--gold); font-size: 17px; }
.journey-detail-hero { display: grid; grid-template-columns: minmax(0,.82fr) minmax(480px,1.18fr); min-height: 540px; background: rgba(255,255,255,.025); border: 1px solid rgba(244,239,230,.14); }
.journey-detail-heading { display: flex; flex-direction: column; justify-content: center; padding: clamp(42px,5vw,76px); }
.journey-detail-heading h2 { margin: 18px 0 12px; font: 500 clamp(48px,5.5vw,76px)/1.04 var(--serif); }
.journey-detail-heading > strong { display: block; max-width: 560px; color: var(--gold); font-size: 17px; line-height: 1.65; }
.journey-detail-heading > p { max-width: 600px; margin: 22px 0 0; color: rgba(244,239,230,.7); font-size: 14px; line-height: 1.9; }
.journey-detail-hero figure { position: relative; min-height: 540px; margin: 0; overflow: hidden; }
.journey-detail-hero figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 44%, rgba(12,14,13,.7)); }
.journey-detail-hero figure img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82) contrast(1.05); }
.journey-detail-hero figcaption { position: absolute; z-index: 1; left: 26px; bottom: 24px; color: rgba(255,255,255,.86); font-size: 9px; letter-spacing: .16em; text-transform: uppercase; }
.journey-detail-facts,
.journey-detail-process { display: grid; grid-template-columns: minmax(260px,.55fr) minmax(0,1.45fr); gap: clamp(44px,7vw,100px); padding: 76px clamp(24px,4vw,72px); border-bottom: 1px solid rgba(244,239,230,.14); }
.journey-detail-section-title { display: grid; align-content: start; gap: 16px; }
.journey-detail-section-title > span { color: var(--gold); font-size: 9px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.journey-detail-section-title > strong { max-width: 330px; font: 500 clamp(28px,3vw,42px)/1.2 var(--serif); }
.journey-detail-fact-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(244,239,230,.15); border-left: 1px solid rgba(244,239,230,.15); }
.journey-detail-fact-grid article { min-height: 180px; padding: 28px; border-right: 1px solid rgba(244,239,230,.15); border-bottom: 1px solid rgba(244,239,230,.15); }
.journey-detail-fact-grid article > span { color: var(--gold); font: 500 16px/1 var(--serif); }
.journey-detail-fact-grid article > p { margin: 34px 0 0; color: rgba(244,239,230,.78); font-size: 13px; line-height: 1.75; }
.journey-detail-process ol { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(244,239,230,.15); border-left: 1px solid rgba(244,239,230,.15); }
.journey-detail-process li { position: relative; min-height: 190px; padding: 24px 20px; border-right: 1px solid rgba(244,239,230,.15); border-bottom: 1px solid rgba(244,239,230,.15); }
.journey-detail-process li:not(:last-child)::after { content: "→"; position: absolute; z-index: 1; right: -9px; top: 50%; color: var(--gold); background: #1e3128; }
.journey-detail-process li span { color: var(--gold); font-family: var(--serif); }
.journey-detail-process li strong { display: block; margin-top: 64px; color: rgba(244,239,230,.84); font-size: 12px; line-height: 1.7; }
.journey-detail-boundary { display: grid; grid-template-columns: 1fr auto; gap: 34px; align-items: center; margin: 0; padding: 32px clamp(24px,4vw,72px); border: 0; border-bottom: 1px solid rgba(202,165,106,.32); background: rgba(202,165,106,.07); }
.journey-detail-boundary div > span { color: var(--gold); font-size: 9px; font-weight: 700; letter-spacing: .16em; }
.journey-detail-boundary p { margin: 8px 0 0; color: rgba(244,239,230,.68); font-size: 12px; line-height: 1.75; }
.journey-detail-boundary a { color: var(--cream); font-size: 11px; white-space: nowrap; text-decoration: underline; text-underline-offset: 7px; }
.journey-detail-boundary a b { color: var(--gold); font-size: 16px; }
.journey-detail-cta { display: grid; grid-template-columns: 1fr auto; gap: 36px; align-items: center; padding: 34px; background: var(--gold); color: var(--ink); }
.journey-detail-cta div { display: grid; gap: 10px; }
.journey-detail-cta div span { font-size: 9px; font-weight: 800; letter-spacing: .16em; }
.journey-detail-cta div strong { font: 500 23px/1.4 var(--serif); }
.journey-detail-start { min-width: 290px; justify-content: space-between; color: var(--cream); background: var(--ink); border-color: var(--ink); }
.journey-direct-contact {
  display: grid;
  grid-template-columns: minmax(300px,.78fr) minmax(0,1.22fr);
  gap: clamp(52px,8vw,130px);
  padding: clamp(64px,7vw,104px) clamp(24px,5vw,86px);
  background: linear-gradient(135deg, #d7c4a1 0%, #eadfc9 100%);
  color: var(--ink);
}
.journey-direct-contact-copy { display: flex; flex-direction: column; justify-content: center; }
.journey-direct-contact-copy h3 { margin: 18px 0 22px; font: 500 clamp(38px,4.3vw,64px)/1.08 var(--serif); }
.journey-direct-contact-copy h3 em { font-style: normal; }
.journey-direct-contact-copy > p { max-width: 560px; margin: 0; color: rgba(20,23,22,.66); font-size: 14px; line-height: 1.85; }
.journey-direct-details { display: grid; margin-top: 36px; border-top: 1px solid rgba(20,23,22,.18); }
.journey-direct-details span { display: grid; grid-template-columns: 76px 1fr; gap: 18px; padding: 14px 0; border-bottom: 1px solid rgba(20,23,22,.16); color: rgba(20,23,22,.78); font-size: 12px; }
.journey-direct-details small { color: rgba(20,23,22,.46); font-size: 8px; letter-spacing: .15em; }
.journey-direct-form { align-self: center; padding: clamp(28px,4vw,48px); border: 1px solid rgba(20,23,22,.16); background: rgba(251,250,247,.72); box-shadow: 0 28px 70px rgba(20,23,22,.1); }
.journey-direct-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 18px; }
.journey-direct-form label { display: block; margin-bottom: 20px; color: rgba(20,23,22,.72); font-size: 9px; font-weight: 700; letter-spacing: .12em; }
.journey-direct-form input,
.journey-direct-form textarea { display: block; width: 100%; margin-top: 9px; padding: 13px 2px; border: 0; border-bottom: 1px solid rgba(20,23,22,.2); outline: 0; background: transparent; color: var(--ink); }
.journey-direct-form input:focus,
.journey-direct-form textarea:focus { border-color: var(--gold-dark); }
.journey-direct-form textarea { min-height: 118px; resize: vertical; }
.journey-direct-note { margin-top: 4px; }
.journey-direct-submit { width: min(100%,260px); justify-content: space-between; background: var(--ink); color: var(--cream); border-color: var(--ink); }
.journey-direct-form .journey-footnote { margin-top: 14px; color: rgba(20,23,22,.55); }
.offmarket-gallery {
  min-height: 100vh;
  padding: 96px 0 58px;
  color: var(--ink);
}
.offmarket-gallery-head {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(460px, 1.18fr);
  gap: clamp(38px, 6vw, 90px);
  align-items: stretch;
  padding-bottom: 44px;
  margin-bottom: 34px;
  border-bottom: 1px solid rgba(20,23,22,.16);
}
.offmarket-gallery-intro { align-self: center; padding: 28px 0; }
.offmarket-gallery-head h2 {
  margin: 14px 0 0;
  font-size: clamp(40px, 4.4vw, 62px);
  line-height: 1.03;
  font-weight: 600;
}
.offmarket-gallery-head h2 em {
  font-family: var(--serif);
  font-style: normal;
  font-weight: 500;
}
.offmarket-gallery-intro > p {
  max-width: 560px;
  margin: 24px 0 28px;
  color: rgba(20,23,22,.68);
  line-height: 1.8;
}
.offmarket-gallery-primary {
  min-width: 280px;
  min-height: 58px;
  justify-content: space-between;
  color: var(--cream);
  background: var(--ink);
  border-color: var(--ink);
  box-shadow: 0 18px 42px rgba(20,23,22,.18);
}
.offmarket-gallery-primary:hover { background: #263c32; border-color: #263c32; }
.offmarket-gallery-hero {
  position: relative;
  min-height: 340px;
  margin: 0;
  overflow: hidden;
  background: var(--ink);
  box-shadow: 0 26px 58px rgba(20,23,22,.18);
}
.offmarket-gallery-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(12,14,13,.08), transparent 52%, rgba(12,14,13,.65));
}
.offmarket-gallery-hero img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.88) contrast(1.04); }
.offmarket-gallery-hero figcaption,
.offmarket-gallery-hero > span {
  position: absolute;
  z-index: 1;
  bottom: 24px;
  color: rgba(255,255,255,.9);
  font-size: 9px;
  letter-spacing: .18em;
}
.offmarket-gallery-hero figcaption { left: 24px; }
.offmarket-gallery-hero > span { right: 24px; color: #dfbd7a; }
.offmarket-gallery-track {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  padding: 4px 2px 24px;
  scrollbar-color: rgba(31,53,44,.52) rgba(20,23,22,.1);
  scrollbar-width: thin;
}
.offmarket-gallery-track::-webkit-scrollbar { height: 7px; }
.offmarket-gallery-track::-webkit-scrollbar-track { background: rgba(20,23,22,.08); }
.offmarket-gallery-track::-webkit-scrollbar-thumb { background: rgba(31,53,44,.52); }
.offmarket-home-card {
  flex: 0 0 min(280px, calc(100vw - 112px));
  scroll-snap-align: start;
  border: 1px solid rgba(20,23,22,.14);
  background:
    linear-gradient(180deg, rgba(255,255,255,.18), rgba(255,255,255,.03)),
    rgba(244,239,230,.2);
  color: inherit;
  cursor: pointer;
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.offmarket-home-card:hover {
  transform: translateY(-4px);
  border-color: rgba(31,53,44,.34);
  box-shadow: 0 22px 48px rgba(20,23,22,.12);
}
.offmarket-home-image {
  position: relative;
  aspect-ratio: 1.42;
  overflow: hidden;
  background: rgba(20,23,22,.08);
}
.offmarket-home-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.92) contrast(1.03);
  transition: transform .7s ease, filter .7s ease;
}
.offmarket-home-card:hover .offmarket-home-image img {
  transform: scale(1.045);
  filter: saturate(1) contrast(1.05);
}
.offmarket-home-image span {
  position: absolute;
  left: 18px;
  top: 16px;
  color: #d4ad68;
  font-family: var(--serif);
  font-size: 14px;
}
.offmarket-home-body {
  min-height: 176px;
  display: grid;
  align-content: start;
  gap: 9px;
  padding: 18px 18px 20px;
}
.offmarket-home-body small {
  color: rgba(20,23,22,.55);
  font-size: 9px;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.offmarket-home-body h3 {
  margin: 4px 0 0;
  font-size: 19px;
  line-height: 1.18;
  font-weight: 600;
}
.offmarket-home-body p {
  margin: 0;
  color: rgba(20,23,22,.62);
}
.offmarket-home-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.offmarket-home-meta span {
  min-height: 25px;
  display: inline-flex;
  align-items: center;
  padding: 0 8px;
  border: 1px solid rgba(20,23,22,.12);
  color: rgba(20,23,22,.62);
  font-size: 10px;
}
.offmarket-home-body strong {
  margin-top: 6px;
  color: #9f4e45;
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 500;
}
.offmarket-gallery-foot {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 32px;
  align-items: center;
  margin-top: 22px;
  padding: 30px 34px;
  color: var(--cream);
  background: var(--ink);
}
.offmarket-gallery-foot div { display: grid; gap: 8px; }
.offmarket-gallery-foot div span { color: var(--gold); font-size: 9px; letter-spacing: .18em; }
.offmarket-gallery-foot div strong { font: 500 21px/1.4 var(--serif); }
.offmarket-gallery-more {
  min-width: 290px;
  justify-content: space-between;
  color: var(--ink);
  background: var(--gold);
  border-color: var(--gold);
}
.sell-service-detail {
  min-height: 100vh;
  padding: 112px 0 68px;
  color: var(--cream);
}
.sell-service-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 440px);
  gap: 72px;
  align-items: end;
  padding-bottom: 42px;
  border-bottom: 1px solid rgba(244,239,230,.14);
}
.sell-service-copy h2 {
  margin: 18px 0 20px;
  font-size: clamp(46px, 5vw, 78px);
  line-height: 1.04;
  font-weight: 600;
}
.sell-service-copy p {
  max-width: 700px;
  margin: 0;
  color: rgba(244,239,230,.76);
  font-size: 18px;
  line-height: 1.8;
}
.sell-service-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}
.sell-service-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 0 12px;
  border: 1px solid rgba(244,239,230,.16);
  color: rgba(244,239,230,.78);
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.sell-service-panel {
  border: 1px solid rgba(244,239,230,.12);
  background: rgba(20,23,22,.28);
  padding: 26px;
}
.sell-service-panel small {
  display: block;
  color: var(--gold);
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  margin-bottom: 12px;
}
.sell-service-panel ul {
  list-style: none;
  padding: 0;
  margin: 0 0 24px;
}
.sell-service-panel li {
  padding: 14px 0;
  border-bottom: 1px solid rgba(244,239,230,.1);
  color: rgba(244,239,230,.76);
}
.sell-service-panel li::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 10px;
  border-radius: 50%;
  background: var(--gold);
  vertical-align: 2px;
}
.sell-service-panel .button-primary {
  width: 100%;
  background: var(--gold);
  border-color: var(--gold);
  color: var(--ink);
}
.sell-service-grid {
  margin-top: 36px;
}
.sell-service-grid section {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border: 1px solid rgba(244,239,230,.12);
  background: rgba(20,23,22,.22);
}
.sell-service-grid small {
  grid-column: 1 / -1;
  display: block;
  padding: 22px 26px 18px;
  color: var(--gold);
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.sell-service-grid article {
  min-height: 170px;
  padding: 26px;
  border-top: 1px solid rgba(244,239,230,.12);
  border-right: 1px solid rgba(244,239,230,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0));
}
.sell-service-grid article:nth-of-type(2n) { border-right: 0; }
.sell-service-grid article span {
  display: block;
  color: var(--gold);
  font-family: var(--serif);
  margin-bottom: 28px;
}
.sell-service-grid article strong {
  display: block;
  max-width: 310px;
  font-size: 20px;
  line-height: 1.42;
  font-weight: 600;
}
.journey-questionnaire {
  min-height: 100vh;
  padding: 110px 0 54px;
  color: var(--cream);
}
.journey-question-head {
  display: grid;
  grid-template-columns: 1fr 410px;
  gap: 64px;
  align-items: end;
  margin-bottom: 26px;
}
.journey-question-head h2 {
  margin: 14px 0 0;
  font-size: clamp(34px, 4.5vw, 66px);
  line-height: 1.04;
  font-weight: 500;
}
.journey-question-head p {
  margin: 0;
  color: rgba(244,239,230,.76);
  line-height: 1.8;
}
.journey-topic-banner {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  border-top: 1px solid rgba(244,239,230,.14);
  border-bottom: 1px solid rgba(244,239,230,.14);
  padding: 18px 0 22px;
  margin-bottom: 26px;
}
.journey-topic-banner span {
  color: var(--gold);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.journey-topic-banner strong { font-size: 22px; }
.journey-topic-banner small { color: rgba(244,239,230,.72); line-height: 1.6; }
.journey-back {
  justify-self: end;
  min-height: 38px;
  padding: 0 13px 0 14px;
  border: 1px solid rgba(244,239,230,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  color: rgba(244,239,230,.84);
  gap: 10px;
  font-size: 11px;
  letter-spacing: .03em;
}
.journey-back:hover {
  border-color: rgba(202,165,106,.64);
  background: rgba(202,165,106,.1);
  color: var(--cream);
}
.journey-question-form { display: grid; gap: 22px; }
.journey-question-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  border: 1px solid rgba(244,239,230,.14);
  background: transparent;
}
.journey-question-card {
  min-height: 178px;
  padding: 24px 26px 22px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0)),
    rgba(255,255,255,.01);
  display: flex;
  flex-direction: column;
  gap: 14px;
  border: 0;
  text-align: left;
  border-right: 1px solid rgba(244,239,230,.14);
  border-bottom: 1px solid rgba(244,239,230,.14);
}
.journey-question-card:nth-child(2n) { border-right: 0; }
.journey-question-card-wide { grid-column: 1 / -1; min-height: 210px; }
.journey-question-card-wide { border-right: 0; }
.journey-question-card span {
  color: var(--gold);
  font-family: var(--serif);
  font-size: 12px;
}
.journey-question-card strong {
  font-size: 20px;
  line-height: 1.32;
  font-weight: 500;
}
.journey-question-card select,
.journey-question-card textarea,
.journey-contact-grid input,
.journey-note textarea {
  width: 100%;
  border: 0;
  border-bottom: 1px solid rgba(244,239,230,.18);
  background: transparent;
  color: var(--cream);
  padding: 12px 0;
  outline: none;
}
.journey-question-card select { appearance: none; }
.journey-question-card select option {
  background: var(--paper);
  color: var(--ink);
}
.journey-question-card select option:disabled {
  color: var(--muted);
}
.journey-question-card select option:checked {
  background: var(--gold);
  color: var(--ink);
}
.journey-question-card textarea,
.journey-note textarea {
  min-height: 86px;
  resize: vertical;
}
.journey-contact-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.journey-contact-grid label,
.journey-note {
  display: block;
  color: rgba(244,239,230,.72);
  font-size: 11px;
  letter-spacing: .04em;
}
.journey-contact-grid label input {
  margin-top: 10px;
  padding: 12px 0;
}
.journey-note { padding-top: 2px; }
.journey-note textarea { margin-top: 10px; }
.journey-submit {
  width: min(320px, 100%);
  min-height: 52px;
}
.journey-footnote {
  margin: 0;
  color: rgba(244,239,230,.64);
  font-size: 12px;
}
.toast { position: fixed; z-index: 60; right: 100px; bottom: 34px; background: var(--ink); color: var(--cream); padding: 12px 18px; font-size: 12px; opacity: 0; transform: translateY(70px); transition: .28s ease; }
.toast.show { opacity: 1; transform: translateY(0); }
.reveal { opacity: 0; transform: translateY(28px); transition: opacity .75s ease, transform .75s ease; }
.reveal.in-view { opacity: 1; transform: translateY(0); }
body[data-route] [data-page-section].reveal:not(.page-hidden) { opacity: 1; transform: translateY(0); }

@keyframes heroRise {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes panelRise {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes videoReveal {
  from { opacity: 0; transform: scale(1.02); }
  to { opacity: 1; transform: scale(1); }
}
@keyframes modalIn {
  from { opacity: 0; transform: translateY(14px) scale(.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes blink {
  50% { opacity: 0; }
}

@media (max-width: 1180px) {
  .desktop-nav { display: none; }
  .mobile-menu-toggle { display: flex; }
  .top-actions { margin-left: auto; }
}

@media (max-width: 960px) {
  .desktop-nav { display: none; }
  .contact-dock-button { display: none; }
  .mobile-menu-toggle { display: flex; }
  .top-actions { margin-left: auto; }
  .section-wrap { width: calc(100% - 44px); }
  .hero { padding: 110px 22px 38px; min-height: 820px; align-items: start; }
  .hero-guide { position: relative; right: auto; top: auto; width: 100%; margin: 28px 0 0; }
  .hero-panel { position: relative; right: auto; bottom: auto; width: 100%; grid-template-columns: repeat(2, 1fr); margin-top: 28px; }
  .hero-rail { position: relative; left: auto; right: auto; bottom: auto; grid-template-columns: repeat(2, 1fr); margin-top: 20px; }
  .hero-rail a:nth-child(2n) { border-right: 0; }
  .hero-rail a { min-height: 104px; }
  .metrics-grid { grid-template-columns: repeat(2, 1fr); gap: 22px; }
  .metric { border-right: 0; padding: 0; }
  .intro-grid, .service-panel, .market-layout, .about-grid, .contact-grid, .story-layout, .client-trust-layout, .book-layout, .case-feature, .sell-layout, .personal-card { grid-template-columns: 1fr; gap: 38px; }
  .market-deep-head { grid-template-columns: 1fr; gap: 18px; }
  .market-deep-head p { max-width: 620px; }
  .market-intel-heading { grid-template-columns: 1fr; gap: 16px; }
  .market-intel-heading h3 { margin-top: 0; }
  .market-signal-grid { grid-template-columns: repeat(2,1fr); }
  .market-signal-grid article:nth-child(2) { border-right: 0; }
  .market-signal-grid article:nth-child(-n+2) { border-bottom: 1px solid rgba(244,239,230,.13); }
  .market-city-board article { grid-template-columns: minmax(210px,.75fr) minmax(180px,.55fr) minmax(0,1fr); gap: 22px; }
  .market-segment-grid { grid-template-columns: 1fr; }
  .market-segment-grid article { min-height: 250px; }
  .market-segment-grid h4 { margin-top: 48px; }
  .contact-intro { min-height: 0; }
  .contact-form { align-self: stretch; }
  .story-visual, .story-visual img { min-height: 460px; }
  .client-trust-head { position: static; top: auto; }
  .book-cover-stage { min-height: 460px; }
  .property-grid, .case-strip { grid-template-columns: 1fr; }
  body[data-route="home"] .property-card:first-child { grid-column: auto; }
  body[data-route="home"] .property-card:first-child .property-image-wrap { height: 460px; }
  .buy-grid, .location-grid, .principles-row, .trust-grid { grid-template-columns: repeat(2, 1fr); }
  .buy-special-link { grid-template-columns: minmax(140px,.45fr) 1fr; gap: 12px 24px; }
  .buy-special-link > span { grid-column: 2; }
  .buy-special-link em { grid-column: 2; justify-self: start; }
  .buy-detail-section { grid-template-columns: minmax(300px,.8fr) minmax(0,1.2fr); min-height: 560px; }
  .buy-detail-visual { min-height: 560px; }
  .buy-detail-content { padding: 42px 36px; }
  .buy-detail-points { grid-template-columns: 1fr; margin-top: 24px; }
  .sell-detail-section { grid-template-columns: minmax(300px,.8fr) minmax(0,1.2fr); min-height: 580px; }
  .sell-detail-visual { min-height: 580px; }
  .sell-detail-content { padding: 42px 36px; }
  .sell-detail-columns { grid-template-columns: 1fr; gap: 18px; }
  .sell-decision-panel ol { grid-template-columns: 1fr; }
  .estate-edit-head, .estate-edit-layout { grid-template-columns: 1fr; gap: 36px; }
  .estate-visuals { min-height: 600px; }
  .estate-notes { display: grid; grid-template-columns: repeat(3, 1fr); }
  .estate-notes article { padding: 22px 18px; border-right: 1px solid rgba(244,239,230,.16); }
  .estate-notes .text-link { grid-column: 1 / -1; padding: 24px 0 0; }
  .feature-rail { width: calc(100% - 44px); grid-template-columns: repeat(2, 1fr); }
  .media-grid { grid-template-columns: repeat(2, 1fr); }
  .journey-stage { width: calc(100% - 44px); }
  .journey-stage.journey-topic-detail { width: 100%; }
  .journey-overview,
  .journey-questionnaire {
    padding: 104px 0 42px;
  }
  .journey-overview {
    grid-template-columns: 1fr;
    gap: 32px;
  }
  .journey-overview-grid,
  .offmarket-gallery-head,
  .sell-service-hero,
  .sell-service-grid,
  .journey-question-head,
  .journey-topic-banner,
  .journey-question-grid,
  .journey-contact-grid {
    grid-template-columns: 1fr;
  }
  .journey-detail-hero,
  .journey-detail-facts,
  .journey-detail-process { grid-template-columns: 1fr; }
  .journey-detail-hero figure { min-height: 420px; }
  .journey-detail-fact-grid { grid-template-columns: 1fr 1fr; }
  .journey-detail-process ol { grid-template-columns: repeat(3,1fr); }
  .journey-detail-process li:nth-child(3n)::after { display: none; }
  .journey-detail-boundary,
  .journey-detail-cta { grid-template-columns: 1fr; }
  .journey-direct-contact { grid-template-columns: 1fr; gap: 38px; }
  .journey-detail-start { justify-self: start; }
  .journey-topic-card:nth-child(2n) { border-right: 1px solid rgba(244,239,230,.16); }
  .journey-topic-card:nth-last-child(-n+2) { border-bottom: 1px solid rgba(244,239,230,.16); }
  .journey-topic-card {
    min-height: 470px;
    border-right: 1px solid rgba(244,239,230,.16);
    border-bottom: 1px solid rgba(244,239,230,.16);
  }
  .journey-topic-card:last-child { border-bottom: 0; }
  .journey-topic-card strong { margin-top: 5px; }
  .journey-topic-card figure { height: 190px; }
  .journey-topic-copy { min-height: 280px; }
  .journey-overview-copy { position: static; top: auto; }
  .sell-service-image { min-height: 300px; }
  .sell-service-grid section { grid-template-columns: 1fr; }
  .sell-service-grid article,
  .sell-service-grid article:nth-of-type(2n) {
    border-right: 0;
  }
  .offmarket-home-card { flex-basis: min(300px, calc(100vw - 64px)); }
  .offmarket-gallery-hero { min-height: 330px; }
  .offmarket-gallery-foot { grid-template-columns: 1fr; }
  .offmarket-gallery-more { justify-self: start; }
  .journey-back { justify-self: start; }
  .journey-question-card-wide { grid-column: auto; }
  .journey-submit { width: 100%; }
  .journey-question-head,
  .journey-topic-banner,
  .journey-contact-grid {
    grid-template-columns: 1fr;
  }
  .journey-question-card {
    border-right: 0;
  }
  .footer-cta { grid-template-columns: 1fr; gap: 30px; }
  .footer-cta-button { justify-self: start; }
  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 42px 36px; }
}

@media (max-width: 640px) {
  .services-section::before,
  .buy-page::before,
  .market-deep-dives::before,
  .locations-section::before,
  .contact-section::after,
  .estate-edit::before { opacity: .08; }
  .services-section::before,
  .buy-page::before,
  .market-deep-dives::before { left: 22%; }
  .locations-section::before { height: 390px; }
  .contact-section::after { inset: 0; }
  .topbar { height: 68px; padding: 0 18px; }
  .brand-logo { width: 148px; height: 38px; }
  .footer-logo { width: 170px; }
  .brand-copy small, .top-link { display: none; }
  .lang-toggle { height: 36px; padding: 0 10px; }
  .mobile-navigation { width: 100%; }
  .hero h1 { font-size: 46px; }
  .hero-panel { grid-template-columns: 1fr; }
  .hero-rail { grid-template-columns: 1fr; }
  .hero-rail a { border-right: 0; border-bottom: 1px solid rgba(244, 239, 230, .14); }
  .hero-rail a:last-child { border-bottom: 0; }
  .hero-lede { font-size: 14px; }
  .intro-section, .properties-section, .market-section, .media-section, .personal-section { padding: 78px 0; }
  .market-deep-dives { padding: 78px 0 88px; }
  .market-deep-head { margin-bottom: 40px; }
  .market-compass-card { min-height: 520px; padding: 25px 24px 30px; }
  .market-compass-mark { top: 86px; right: 22px; width: 74px; height: 74px; opacity: .5; }
  .market-compass-card h3 { margin-top: 92px; font-size: 38px; }
  .market-compass-axis { left: 24px; right: 24px; bottom: 28px; }
  .market-intel-section { padding: 64px 0; }
  .market-signal-grid, .market-driver-list, .market-action-board { grid-template-columns: 1fr; }
  .market-signal-grid article { min-height: 235px; border-right: 0; border-bottom: 1px solid rgba(244,239,230,.13); }
  .market-signal-grid article:last-child { border-bottom: 0; }
  .market-signal-grid article > i { margin-top: 30px; }
  .market-city-board article { grid-template-columns: 1fr; gap: 13px; padding: 25px 0; }
  .market-city-board > article > span { padding-left: 46px; }
  .market-city-board p { padding-left: 46px; }
  .market-driver-list article { min-height: 210px; }
  .market-action-board > article { min-height: 0; padding: 42px 24px; }
  .market-action-board h4 { font-size: 29px; }
  .services-section, .cases-section, .about-section, .contact-section, .story-page, .client-trust-page, .book-page { padding: 78px 0; }
  .split-heading, .media-header { display: block; }
  .sell-page, .buy-page, .locations-section { padding: 78px 0; }
  .seller-menu, .buy-grid, .location-grid, .principles-row, .testimonial-row, .about-feature-links, .trust-grid, .feature-rail { grid-template-columns: 1fr; }
  .buy-anchor-link { grid-template-columns: 34px 1fr 20px; gap: 10px 14px; min-height: 124px; padding: 20px 0; }
  .buy-anchor-link strong { font-size: 21px; }
  .buy-anchor-link small { grid-column: 2; }
  .buy-anchor-link i { grid-column: 3; grid-row: 1 / 3; }
  .buy-special-link { grid-template-columns: 1fr 24px; gap: 12px; min-height: 0; padding: 28px 22px; }
  .buy-special-link:hover { padding-left: 28px; padding-right: 28px; }
  .buy-special-link small, .buy-special-link strong, .buy-special-link > span { grid-column: 1; }
  .buy-special-link strong { font-size: 29px; }
  .buy-special-link em { grid-column: 1 / 3; justify-self: stretch; }
  .buy-detail-list { margin-top: 68px; }
  .buy-property-heading { margin-top: 38px; }
  .buy-property-detail-list { margin-bottom: 72px; }
  .buy-detail-section { grid-template-columns: 1fr; min-height: 0; gap: 0; padding: 0; }
  .buy-detail-section:nth-child(even) .buy-detail-visual { order: 1; }
  .buy-detail-section:nth-child(even) .buy-detail-content { order: 2; }
  .buy-detail-visual { min-height: 300px; }
  .buy-detail-content { padding: 34px 24px 38px; }
  .sell-detail-list { margin-top: 72px; }
  .sell-detail-section { grid-template-columns: 1fr; min-height: 0; }
  .sell-detail-section:nth-child(even) .sell-detail-visual { order: 1; }
  .sell-detail-section:nth-child(even) .sell-detail-content { order: 2; }
  .sell-detail-visual { min-height: 320px; }
  .sell-detail-content { padding: 38px 24px 42px; }
  .sell-detail-content h2 { font-size: 40px; }
  .sell-detail-columns { grid-template-columns: 1fr; }
  .sell-decision-panel ol { grid-template-columns: 1fr; }
  .sell-decision-action { width: 100%; }
  .sell-detail-action { width: 100%; }
  .seller-proof { width: calc(100% - 44px); margin-top: 72px; }
  .seller-proof-copy { grid-template-columns: 1fr; }
  .seller-proof-copy > span, .seller-proof-copy h2, .seller-proof-copy p, .seller-proof-copy small { grid-column: 1; grid-row: auto; }
  .seller-proof-stats { grid-template-columns: 1fr 1fr; }
  .seller-proof-stat:nth-child(2) { border-right: 0; }
  .seller-proof-stat:nth-child(-n+2) { border-bottom: 1px solid rgba(244,239,230,.14); }
  .buy-detail-copy h2 { margin-top: 0; font-size: 40px; }
  .buy-detail-points { grid-column: 1; grid-template-columns: 1fr; }
  .buy-detail-action { width: 100%; margin-top: 32px; }
  .service-list { border-left: 0; border-top: 1px solid var(--line); padding: 28px 0 0; }
  .feature-rail { width: calc(100% - 44px); }
  .city-case-card { flex-basis: 280px; }
  .personal-image { min-height: 360px; }
  .journey-step { grid-template-columns: 42px 1fr; }
  .property-image-wrap { height: 300px; }
  body[data-route="home"] .property-card:first-child .property-image-wrap { height: 360px; }
  .estate-edit { padding: 78px 0; }
  .estate-edit-head { margin-bottom: 34px; }
  .estate-visuals { min-height: 640px; grid-template-columns: 1fr; grid-template-rows: 1.25fr .75fr .75fr; gap: 8px; }
  .estate-visual-1 { grid-row: auto; }
  .estate-notes { grid-template-columns: 1fr; }
  .estate-notes article { padding: 22px 0; border-right: 0; }
  .location-tabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 12px; }
  .location-tabs button { flex: 0 0 auto; }
  .location-category-intro { grid-template-columns: 1fr; gap: 8px; }
  .location-feature-card { min-height: 560px; }
  .location-feature-shade { background: linear-gradient(0deg, rgba(8,14,12,.94) 0%, rgba(8,14,12,.52) 52%, rgba(8,14,12,.08) 85%); }
  .location-feature-copy { left: 22px; right: 22px; bottom: 58px; width: auto; }
  .location-feature-copy h3 { font-size: 38px; }
  .location-feature-copy p { font-size: 13px; }
  .location-credit { left: 22px; right: 22px; bottom: 15px; max-width: none; text-align: left; }
  .location-card { min-height: 360px; }
  .city-detail-grid { grid-template-columns: 1fr; }
  .case-image-wrap { height: 360px; }
  .case-copy h3 { font-size: 34px; }
  .case-small { grid-template-columns: 95px 1fr 22px; }
  .case-small img { width: 95px; height: 78px; }
  .media-grid { grid-template-columns: 1fr; }
  .form-row { grid-template-columns: 1fr; }
  .contact-form { padding: 24px; }
  .contact-details span, .contact-details a { display: block; }
  .story-visual, .story-visual img { min-height: 380px; }
  .story-copy h2, .client-trust-head h2 { font-size: 38px; }
  .story-principles article { grid-template-columns: 36px 1fr; gap: 12px; }
  .story-principles p { grid-column: 2; }
  .book-cover-stage { min-height: 380px; }
  .book-cover-stage img { width: min(62%, 260px); }
  .book-copy h2 { font-size: 38px; }
  .book-copy { padding-top: 0; }
  .book-copy > p { font-size: 16px; }
  .book-intro { margin-top: 26px; padding-top: 24px; }
  .book-intro p { font-size: 15px; line-height: 1.85; }
  .book-pull { margin: 30px 0; padding-left: 22px; font-size: 29px; }
  .book-notes article { grid-template-columns: 38px 1fr; gap: 12px; }
  .book-notes h3 { font-size: 19px; }
  .property-modal { grid-template-columns: 1fr; }
  .property-modal > img { min-height: 0; height: 260px; }
  .modal-body { padding: 32px 24px; max-height: none; }
  .footer { padding-bottom: 84px; }
  .footer-cta { padding: 62px 0 42px; }
  .footer-cta h2 { font-size: 34px; }
  .footer-cta-button { width: 100%; }
  .footer-grid { grid-template-columns: 1fr; gap: 34px; padding: 42px 0 36px; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 10px; line-height: 1.65; }
  .mobile-contact-bar { position: fixed; z-index: 35; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: 1fr 1fr; min-height: 58px; background: rgba(20,23,22,.96); border-top: 1px solid rgba(202,165,106,.35); backdrop-filter: blur(12px); }
  .mobile-contact-bar a, .mobile-contact-bar button { display: grid; place-items: center; border: 0; background: transparent; color: var(--cream); font-size: 12px; letter-spacing: .04em; }
  .mobile-contact-bar a { background: var(--gold); color: var(--ink); }
  .contact-drawer { width: 100%; padding: 72px 24px 28px; }
  .global-back-button { right: 16px; bottom: 76px; width: 54px; height: 54px; }
  .global-back-button::after { display: none; }
  .toast { bottom: 142px; left: 18px; right: 18px; text-align: center; }
  .journey-stage { width: calc(100% - 36px); }
  .journey-stage.journey-topic-detail { width: 100%; }
  .journey-overview,
  .journey-questionnaire {
    padding: 92px 0 32px;
  }
  .journey-overview-copy h2 { font-size: 34px; }
  .journey-topic-detail { padding: 86px 0 32px; }
  .journey-detail-hero { min-height: 0; }
  .journey-detail-heading { padding: 32px 22px 36px; }
  .journey-detail-heading h2 { font-size: 42px; }
  .journey-detail-heading > strong { font-size: 15px; }
  .journey-detail-hero figure { min-height: 290px; }
  .journey-detail-facts,
  .journey-detail-process { gap: 28px; padding: 54px 0; }
  .journey-detail-fact-grid { grid-template-columns: 1fr; }
  .journey-detail-fact-grid article { min-height: 0; padding: 24px 20px; }
  .journey-detail-fact-grid article > p { margin-top: 22px; }
  .journey-detail-process ol { grid-template-columns: 1fr 1fr; }
  .journey-detail-process li { min-height: 148px; }
  .journey-detail-process li:nth-child(3n)::after { display: block; }
  .journey-detail-process li:nth-child(2n)::after { display: none; }
  .journey-detail-process li strong { margin-top: 38px; }
  .journey-detail-boundary { padding: 24px 20px; }
  .journey-detail-boundary a { white-space: normal; line-height: 1.6; }
  .journey-detail-cta { padding: 26px 20px; }
  .journey-detail-start { width: 100%; min-width: 0; }
  .journey-direct-contact { padding: 52px 20px 96px; }
  .journey-direct-contact-copy h3 { font-size: 38px; }
  .journey-direct-form { padding: 24px 20px; }
  .journey-direct-form-grid { grid-template-columns: 1fr; }
  .journey-direct-submit { width: 100%; }
  .offmarket-gallery-head h2 { font-size: 38px; }
  .sell-service-detail { padding-top: 92px; }
  .sell-service-copy h2 { font-size: 38px; }
  .sell-service-copy p { font-size: 15px; }
  .sell-service-grid article { min-height: 132px; padding: 22px 20px; }
  .sell-service-grid aside { padding: 0 20px 22px; }
  .offmarket-gallery { padding-top: 92px; }
  .offmarket-home-card { flex-basis: min(82vw, 300px); }
  .offmarket-home-body { min-height: 176px; padding: 18px; }
  .offmarket-home-body h3 { font-size: 19px; }
  .offmarket-gallery-foot { justify-content: stretch; padding: 24px 20px; }
  .offmarket-gallery-foot .button { width: 100%; }
  .journey-question-head h2 { font-size: 34px; }
  .journey-topic-card { min-height: 0; padding: 0; }
  .journey-topic-card figure { height: 210px; }
  .journey-topic-copy { min-height: 320px; padding: 22px 20px 24px; }
  .journey-topic-card strong { font-size: 22px; }
  .offmarket-gallery-hero { min-height: 290px; }
  .offmarket-gallery-primary { width: 100%; min-width: 0; }
  .journey-question-card { padding: 20px 20px 18px; min-height: 160px; }
  .journey-overview-meta { gap: 8px; }
  .journey-overview-meta span { min-height: 28px; padding: 0 10px; font-size: 9px; }
  .journey-question-card strong { font-size: 18px; }
  .journey-topic-banner strong { font-size: 18px; }
}

@media (max-width: 1000px) {
  .about-team { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .about-team { grid-template-columns: 1fr; }
}

.cross-border-hero {
  padding: 132px 0 96px;
  color: var(--cream);
  background:
    linear-gradient(115deg, rgba(20,23,22,.96), rgba(20,23,22,.72)),
    url("https://images.unsplash.com/photo-1560518883-ce09059eeffa?auto=format&fit=crop&w=2200&q=84") center/cover;
}
.cross-border-hero-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: end; }
.cross-border-hero h2 { margin: 16px 0 0; max-width: 760px; font: 500 clamp(46px, 6vw, 78px)/1.15 var(--serif); letter-spacing: -.04em; }
.cross-border-hero h2 em { color: var(--gold); font-style: normal; }
.cross-border-hero p { max-width: 520px; margin: 0 0 28px; color: rgba(244,239,230,.76); font-size: 17px; }
.cross-border-cases { padding: 112px 0; }
.cross-border-case-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 46px; }
.cross-border-case-card { position: relative; min-height: 500px; padding: 0; overflow: hidden; border: 0; color: white; text-align: left; background: var(--ink); }
.cross-border-case-card::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 30%, rgba(12,14,13,.9)); }
.cross-border-case-card img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; transition: transform .6s ease; }
.cross-border-case-card:hover img { transform: scale(1.035); }
.cross-border-case-card span, .cross-border-case-card strong, .cross-border-case-card small { position: relative; z-index: 1; display: block; margin-inline: 28px; }
.cross-border-case-card span { margin-top: 330px; color: var(--gold); font-size: 10px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.cross-border-case-card strong { margin-top: 10px; font: 500 25px/1.35 var(--serif); }
.cross-border-case-card small { margin-top: 10px; color: rgba(255,255,255,.72); font-size: 12px; }
.cross-border-flow { padding: 112px 0; color: var(--cream); background: var(--ink); }
.cross-border-flow .split-heading p { color: rgba(244,239,230,.66); }
.cross-border-topic-grid { display: grid; gap: 28px; margin-top: 54px; }
.cross-border-guide-card { overflow: hidden; border: 1px solid rgba(244,239,230,.16); background: rgba(255,255,255,.018); }
.cross-border-guide-head { display: grid; grid-template-columns: minmax(360px,.9fr) minmax(0,1.1fr); min-height: 470px; }
.cross-border-guide-head figure { position: relative; min-height: 470px; margin: 0; overflow: hidden; }
.cross-border-guide-head figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(8,20,14,.52)); }
.cross-border-guide-head img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.72) contrast(1.04); transition: transform .55s ease, filter .55s ease; }
.cross-border-guide-card:hover .cross-border-guide-head img { transform: scale(1.025); filter: saturate(.86) contrast(1.04); }
.cross-border-guide-head > div { display: flex; flex-direction: column; justify-content: center; padding: clamp(42px,5vw,76px); border-left: 1px solid rgba(244,239,230,.16); }
.cross-border-guide-head > div > span,
.cross-border-guide-label,
.cross-border-guide-boundary div > span { color: var(--gold); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.cross-border-guide-head h3 { max-width: 680px; margin: 22px 0 0; font: 500 clamp(36px,4vw,58px)/1.14 var(--serif); letter-spacing: -.035em; }
.cross-border-guide-head p { max-width: 660px; margin: 24px 0 0; color: rgba(244,239,230,.7); font-size: 16px; line-height: 1.85; }
.cross-border-guide-body { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(244,239,230,.16); }
.cross-border-guide-facts,
.cross-border-guide-process { padding: clamp(34px,4vw,58px); }
.cross-border-guide-facts { border-right: 1px solid rgba(244,239,230,.16); }
.cross-border-guide-fact-list { display: grid; margin-top: 30px; border-top: 1px solid rgba(244,239,230,.14); }
.cross-border-guide-fact-list article { display: grid; grid-template-columns: 42px 1fr; gap: 18px; padding: 22px 0; border-bottom: 1px solid rgba(244,239,230,.14); }
.cross-border-guide-fact-list article > span { color: var(--gold); font-family: var(--serif); }
.cross-border-guide-fact-list article > p { margin: 0; color: rgba(244,239,230,.76); font-size: 14px; line-height: 1.78; }
.cross-border-guide-process ol { display: grid; grid-template-columns: 1fr 1fr; gap: 0; margin: 30px 0 0; padding: 0; list-style: none; border-top: 1px solid rgba(244,239,230,.14); border-left: 1px solid rgba(244,239,230,.14); }
.cross-border-guide-process li { position: relative; min-height: 132px; padding: 20px; border-right: 1px solid rgba(244,239,230,.14); border-bottom: 1px solid rgba(244,239,230,.14); }
.cross-border-guide-process li span { color: var(--gold); font-family: var(--serif); }
.cross-border-guide-process li strong { display: block; margin-top: 34px; color: rgba(244,239,230,.82); font-size: 13px; line-height: 1.65; }
.cross-border-guide-boundary { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 32px; align-items: center; padding: 28px clamp(34px,4vw,58px); border-top: 1px solid rgba(202,165,106,.28); background: rgba(202,165,106,.06); }
.cross-border-guide-boundary p { margin: 8px 0 0; color: rgba(244,239,230,.65); font-size: 13px; line-height: 1.72; }
.cross-border-guide-boundary a { color: var(--cream); font-size: 12px; white-space: nowrap; text-decoration: underline; text-underline-offset: 7px; }
.cross-border-guide-boundary a b { color: var(--gold); font-size: 16px; }
.cross-border-questions { padding: 112px 0; }
.cross-border-question-shell { display: grid; grid-template-columns: .72fr 1.28fr; gap: 80px; padding: 72px; background: var(--cream); }
.cross-border-question-copy h2 { margin: 16px 0 22px; font: 500 clamp(36px, 4vw, 56px)/1.2 var(--serif); letter-spacing: -.03em; }
.cross-border-question-copy h2 em { color: var(--gold); font-style: normal; }
.cross-border-question-copy p { color: var(--muted); }
.cross-border-page-fields { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.cross-border-page-form label { display: grid; gap: 7px; color: var(--muted); font-size: 12px; }
.cross-border-page-form input, .cross-border-page-form select, .cross-border-page-form textarea { width: 100%; min-height: 50px; padding: 12px 14px; border: 1px solid rgba(20,23,22,.16); border-radius: 0; color: var(--ink); background: rgba(255,255,255,.72); outline: none; }
.cross-border-page-form textarea { margin-top: 16px; resize: vertical; }
.cross-border-page-contact { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 16px; }
.cross-border-page-form .button { margin-top: 18px; }

@media (max-width: 960px) {
  .cross-border-hero-grid, .cross-border-question-shell { grid-template-columns: 1fr; gap: 42px; }
  .cross-border-case-grid { grid-template-columns: 1fr 1fr; }
  .cross-border-guide-head { grid-template-columns: 1fr; }
  .cross-border-guide-head > div { border-top: 1px solid rgba(244,239,230,.16); border-left: 0; }
  .cross-border-guide-body { grid-template-columns: 1fr; }
  .cross-border-guide-facts { border-right: 0; border-bottom: 1px solid rgba(244,239,230,.16); }
  .cross-border-guide-boundary { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .cross-border-hero, .cross-border-cases, .cross-border-flow, .cross-border-questions { padding: 84px 0; }
  .cross-border-hero h2 { font-size: 42px; }
  .cross-border-case-grid, .cross-border-page-fields, .cross-border-page-contact { grid-template-columns: 1fr; }
  .cross-border-case-card { min-height: 420px; }
  .cross-border-case-card span { margin-top: 270px; }
  .cross-border-topic-grid { gap: 18px; margin-top: 36px; }
  .cross-border-guide-head { min-height: 0; }
  .cross-border-guide-head figure { min-height: 260px; }
  .cross-border-guide-head > div { padding: 32px 22px 38px; }
  .cross-border-guide-head h3 { font-size: 34px; }
  .cross-border-guide-head p { font-size: 14px; }
  .cross-border-guide-facts,
  .cross-border-guide-process { padding: 32px 22px; }
  .cross-border-guide-process ol { grid-template-columns: 1fr; }
  .cross-border-guide-process li { min-height: 110px; }
  .cross-border-guide-process li strong { margin-top: 22px; }
  .cross-border-guide-boundary { padding: 24px 22px; }
  .cross-border-guide-boundary a { white-space: normal; line-height: 1.6; }
  .cross-border-question-shell { padding: 32px 22px; }
}

/* V18 / Daydreamer unified luxury editorial system */
body {
  background: var(--paper);
  color: var(--ink);
  font-size: 15px;
  line-height: 1.72;
  letter-spacing: .005em;
}
.section-wrap { width: min(1240px, calc(100% - 112px)); }
.section-kicker,
.eyebrow,
.panel-kicker,
.media-type,
.footer-kicker,
.journey-kicker {
  color: var(--gold);
  font-weight: 600;
  letter-spacing: .21em;
}
.intro-grid h2,
.section-heading h2,
.about-copy h2,
.contact-intro h2,
.market-deep-head h2,
.trust-head h2,
.sell-copy h2,
.buy-page h2 {
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: -.025em;
}
.section-heading h2 em,
.split-heading h2 em,
.about-copy h2 em,
.contact-intro h2 em { color: var(--gold-dark); font-style: normal; }
.intro-copy p,
.section-heading p,
.split-heading > p,
.about-copy p,
.market-deep-head p { max-width: 680px; line-height: 1.9; }

.topbar {
  height: 86px;
  padding-inline: clamp(24px, 3.4vw, 62px);
  background: linear-gradient(180deg, rgba(9,19,15,.66), rgba(9,19,15,.18));
  border-bottom-color: rgba(241,234,223,.13);
  backdrop-filter: blur(16px) saturate(.8);
}
.topbar.scrolled,
body:not([data-route="home"]) .topbar {
  background: rgba(250,247,241,.94);
  border-bottom-color: rgba(16,32,26,.1);
  box-shadow: 0 8px 30px rgba(16,32,26,.05);
}
.desktop-nav { color: inherit; font-size: 12px; letter-spacing: .055em; }
.mega-menu,
body:not([data-route="home"]) .mega-menu {
  background: rgba(16,32,26,.97);
  color: var(--cream);
  border-color: rgba(189,150,92,.3);
  box-shadow: var(--shadow-deep);
}
body:not([data-route="home"]) .mega-menu a { color: rgba(241,234,223,.78); border-bottom-color: var(--line-dark); }

.button,
.sell-decision-action,
.buy-detail-action,
.journey-detail-start,
.journey-direct-submit {
  min-height: 52px;
  padding-inline: 24px;
  border-radius: 0;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .095em;
  box-shadow: none;
}
.button-primary,
.footer-cta-button {
  background: var(--gold);
  border-color: var(--gold);
  color: var(--ink);
}
.button-primary:hover,
.footer-cta-button:hover { background: #c8a56f; border-color: #c8a56f; }
.button-dark { background: var(--ink); border-color: var(--ink); color: var(--cream); }
.button-outline { color: var(--ink); border-color: rgba(16,32,26,.34); }
.text-link { min-height: 34px; gap: 22px; color: var(--ink); border-bottom-color: var(--gold); font-weight: 600; letter-spacing: .04em; }

.hero { background: var(--ink); }
.hero-image,
.hero-video { filter: saturate(.66) contrast(1.08) brightness(.88); }
.hero-shade {
  background:
    radial-gradient(circle at var(--mouse-x, 69%) var(--mouse-y, 24%), rgba(189,150,92,.18), transparent 25%),
    linear-gradient(90deg, rgba(7,16,12,.92) 0%, rgba(11,24,18,.55) 48%, rgba(11,24,18,.2) 76%),
    linear-gradient(0deg, rgba(6,14,10,.82), transparent 52%);
}
.hero h1 { max-width: 650px; font-size: clamp(43px, 5.25vw, 76px); line-height: 1.06; letter-spacing: -.045em; }
.hero h1 em { color: #f5efe5; }
.hero-lede { max-width: 430px; color: rgba(241,234,223,.78); font-size: 15px; line-height: 1.85; }
.hero-guide {
  border-color: rgba(189,150,92,.34);
  background: linear-gradient(150deg, rgba(12,25,19,.9), rgba(12,23,18,.72));
  box-shadow: var(--shadow-deep);
  backdrop-filter: blur(20px) saturate(.78);
}
.hero-guide h3 { font-family: var(--serif); font-weight: 500; letter-spacing: -.02em; }
.hero-guide .button { min-height: 48px; }
.hero-glow { background: linear-gradient(90deg, transparent 8%, rgba(189,150,92,.7), transparent 68%); }

.metrics-band,
.feature-rail-section,
.cases-section,
.estate-edit,
.cross-border-flow,
.footer,
.trust-section { background: var(--ink); color: var(--cream); }
.metrics-grid { padding-block: 42px; }
.metric { border-color: var(--line-dark); }
.metric strong { color: var(--gold); font-size: 38px; }
.metric small { color: rgba(241,234,223,.45); }

.intro-section,
.properties-section,
.market-section,
.media-section,
.cross-border-cases,
.cross-border-questions { background: var(--paper); }
.services-section,
.about-section,
.story-page,
.client-trust-page,
.book-page,
.market-deep-dives { background: var(--surface); }
.locations-section { background: var(--stone); }
.personal-card {
  background: var(--ink);
  border-color: rgba(189,150,92,.26);
  box-shadow: var(--shadow-soft);
}
.personal-copy {
  background:
    linear-gradient(135deg, rgba(189,150,92,.13), transparent 42%),
    radial-gradient(circle at 88% 18%, rgba(99,123,105,.22), transparent 28%);
}
.personal-image img,
.property-card img,
.city-case-card img,
.case-image-wrap img,
.about-portrait img,
.story-visual img,
.media-card img,
.location-feature-card img,
.location-card img,
.cross-border-case-card img,
.cross-border-topic-card figure img,
.journey-topic-card figure img,
.sell-detail-visual img,
.buy-detail-visual img {
  filter: saturate(.72) contrast(1.055) brightness(.96) sepia(.035);
}
.property-card:hover img,
.city-case-card:hover img,
.location-card:hover img,
.cross-border-case-card:hover img,
.cross-border-topic-card:hover figure img,
.journey-topic-card:hover figure img { filter: saturate(.9) contrast(1.05); }

.principles-row { background: rgba(189,150,92,.24); border-color: rgba(189,150,92,.24); }
.principle-card { background: var(--ink-2); }
.service-panel { gap: clamp(48px, 7vw, 96px); }
.service-item { padding-block: 23px; margin: 0; }
.service-main h3,
.service-item strong { color: var(--ink); }
.service-main h3 { font-family: var(--serif); font-weight: 500; }

.sell-page::before {
  background:
    linear-gradient(100deg, rgba(10,23,17,.97) 0%, rgba(12,27,20,.82) 52%, rgba(12,27,20,.52)),
    url("https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=1800&q=82") center/cover;
}
.sell-detail-section,
.buy-detail-section { background: var(--surface); box-shadow: none; }
.sell-detail-section:nth-child(even),
.buy-detail-section:nth-child(even) { background: var(--ink-2); }
.sell-detail-content,
.buy-detail-content { padding: clamp(52px, 6vw, 96px); }
.sell-detail-content h2,
.buy-detail-copy h2 { letter-spacing: -.035em; }
.inline-lead-form { border-color: rgba(189,150,92,.3); }
.inline-lead-form,
.journey-direct-form { background: rgba(250,247,241,.95); box-shadow: var(--shadow-soft); }

.page-mode-strip { background: rgba(241,234,223,.72); border-color: var(--line); }
.page-mode-strip button.active { border-color: var(--gold); background: rgba(189,150,92,.12); }
.typing-line { color: var(--ink); letter-spacing: -.035em; }
.buy-anchor-link:hover { background: rgba(241,234,223,.74); }
.buy-special-link { background: #d8c8af; }
.buy-special-link.dark { background: var(--ink-2); }

.property-grid { gap: 54px 28px; }
.property-image-wrap { background: var(--stone); }
.property-info { padding: 19px 2px 0; border-top: 1px solid rgba(16,32,26,.08); }
.property-info h3 { font-family: var(--serif); font-weight: 500; }
.property-badge { background: rgba(250,247,241,.94); color: var(--gold-dark); }
.property-price { color: var(--gold-dark); }
.filter-button.active::after { background: var(--gold); }
.city-case-row { border-color: var(--line-dark); background: rgba(255,255,255,.015); }
.city-case-card { background: var(--surface); border-radius: 0; }
.trust-section { background: var(--ink-2); }

.market-compass-card,
.market-signal-grid,
.market-action-board > article:last-child { background: var(--ink); }
.market-segment-grid article,
.market-action-board > article { background: var(--paper); }
.market-intelligence-stack,
.market-city-board,
.market-driver-list,
.market-intel-section,
.market-city-board article { border-color: rgba(16,32,26,.14); }
.market-intel-section.market-detail-focus { background: rgba(250,247,241,.78); box-shadow: 0 0 0 18px rgba(250,247,241,.78), var(--shadow-soft); }

.estate-edit::before,
.services-section::before,
.buy-page::before,
.market-deep-dives::before,
.locations-section::before,
.contact-section::after { filter: blur(15px) saturate(.58); }
.estate-visual,
.location-card,
.location-feature-card { background: var(--ink-2); }
.estate-notes h3,
.location-feature-copy h3,
.location-card h3 { font-weight: 500; letter-spacing: -.02em; }
.location-tabs button { border-color: rgba(16,32,26,.18); }
.location-tabs button.active { background: var(--ink); border-color: var(--ink); }
.location-category-intro span,
.city-detail-grid small { color: var(--gold-dark); }
.city-detail-grid article { background: rgba(250,247,241,.58); border-color: rgba(16,32,26,.09); }
.school-boundary-note { background: var(--ink-2); }

.about-portrait img { filter: saturate(.58) contrast(1.06); }
.team-card,
.testimonial-card,
.client-trust-list article { background: rgba(250,247,241,.72); border-color: rgba(16,32,26,.1); }
.about-story-card { background: transparent; border-color: rgba(16,32,26,.14); }
.about-feature-links a,
.about-feature-links button { background: var(--ink); }
.about-feature-links a:hover,
.about-feature-links button:hover { background: var(--ink-2); }
.book-cover-stage { background: linear-gradient(145deg, var(--ink) 0%, var(--ink-3) 100%); }
.media-card { background: var(--stone); }
.media-card-dark { background: var(--ink); }

.contact-section {
  background:
    linear-gradient(90deg, rgba(16,32,26,.035) 0 1px, transparent 1px) 0 0 / 96px 100%,
    linear-gradient(180deg, var(--surface) 0%, var(--paper) 100%);
}
.contact-form { background: rgba(250,247,241,.78); border-color: rgba(16,32,26,.13); box-shadow: var(--shadow-soft); }
.footer-cta { border-color: var(--line-dark); }
.footer-grid { border-color: var(--line-dark); }

.property-modal { background: var(--paper); box-shadow: var(--shadow-deep); }
.modal-case-list button { background: var(--surface); border-color: var(--line); }
.journey-backdrop,
.journey-backdrop[data-stage="questions"] {
  background:
    radial-gradient(circle at 16% 18%, rgba(189,150,92,.13), transparent 25%),
    radial-gradient(circle at 80% 76%, rgba(99,123,105,.13), transparent 30%),
    linear-gradient(145deg, var(--ink) 0%, var(--ink-3) 54%, var(--ink) 100%);
}
.journey-backdrop[data-stage="offmarket"] {
  background:
    radial-gradient(circle at 86% 14%, rgba(255,255,255,.18), transparent 23%),
    linear-gradient(145deg, #ded0b9 0%, #d4c2a4 55%, #c6b18e 100%);
}
.journey-overview-grid { border-color: var(--line-dark); box-shadow: var(--shadow-deep); }
.journey-topic-card { border-color: var(--line-dark); background: rgba(255,255,255,.012); }
.journey-detail-hero,
.journey-detail-fact-grid,
.journey-detail-process ol { border-color: var(--line-dark); }
.journey-detail-process li:not(:last-child)::after { background: var(--ink-2); }
.journey-detail-cta { background: var(--gold); }
.journey-direct-contact { background: var(--surface); }

.cross-border-hero {
  background:
    linear-gradient(112deg, rgba(8,20,14,.97) 0%, rgba(12,29,21,.78) 62%, rgba(12,29,21,.52)),
    url("https://images.unsplash.com/photo-1560518883-ce09059eeffa?auto=format&fit=crop&w=2200&q=84") center/cover;
}
.cross-border-topic-grid,
.cross-border-topic-card { border-color: var(--line-dark); }
.cross-border-question-shell { background: var(--surface); }
.cross-border-page-form input,
.cross-border-page-form select,
.cross-border-page-form textarea { background: rgba(250,247,241,.84); border-color: rgba(16,32,26,.15); }

.reveal { transition-duration: .8s; transition-timing-function: cubic-bezier(.2,.65,.2,1); }
.button,
.property-card img,
.location-card,
.media-card,
.team-card,
.journey-topic-card { transition-duration: .45s; }

@media (max-width: 960px) {
  .section-wrap { width: calc(100% - 48px); }
  .topbar { height: 74px; padding-inline: 24px; }
  .hero { padding-top: 102px; }
  .hero h1 { max-width: 680px; }
  .sell-detail-content,
  .buy-detail-content { padding: 48px 34px; }
}

@media (max-width: 640px) {
  body { font-size: 14px; line-height: 1.68; }
  .section-wrap { width: calc(100% - 36px); }
  .topbar { height: 68px; padding-inline: 18px; }
  .hero { min-height: 760px; padding: 94px 18px 30px; }
  .hero h1 { max-width: 100%; margin-block: 18px; font-size: clamp(39px, 12.4vw, 50px); line-height: 1.05; }
  .hero-lede { max-width: 92%; margin-bottom: 22px; font-size: 13px; }
  .hero-actions { display: grid; grid-template-columns: 1fr 1fr; }
  .hero-actions .button { width: 100%; min-height: 48px; }
  .hero-guide { margin-top: 22px; padding: 25px 20px; }
  .hero-guide h3 { font-size: 25px; }
  .metrics-grid { padding-block: 32px; }
  .metric strong { font-size: 31px; }
  .intro-section,
  .properties-section,
  .market-section,
  .media-section,
  .personal-section { padding-block: 74px; }
  .sell-page,
  .buy-page,
  .services-section,
  .estate-edit,
  .cases-section,
  .market-deep-dives,
  .locations-section,
  .about-section,
  .contact-section { padding-block: 76px; }
  .section-heading h2,
  .intro-grid h2,
  .about-copy h2,
  .contact-intro h2 { font-size: 39px; line-height: 1.14; }
  .property-grid { gap: 40px; }
  .property-info { display: grid; gap: 10px; }
  .property-price { font-size: 20px; }
  .sell-detail-content,
  .buy-detail-content { padding: 38px 22px 44px; }
  .buy-special-link { padding: 26px 20px; }
  .contact-form { padding: 25px 20px; box-shadow: none; }
  .journey-stage { width: calc(100% - 36px); }
}

/* =========================================================
   V22 — EDITORIAL LUXURY SYSTEM
   A quieter, image-led hierarchy for desktop and mobile.
   ========================================================= */
:root {
  --paper: #f8f5ef;
  --surface: #eee8de;
  --cream: #f2ece2;
  --stone: #d9d0c3;
  --ink: #10251d;
  --ink-2: #183127;
  --gold: #c49a5d;
  --line: rgba(16,37,29,.15);
  --section-space: clamp(92px, 9vw, 148px);
}

body { background: var(--paper); color: var(--ink); }
.section-wrap { width: min(1320px, calc(100% - 112px)); }
.section-heading h2,
.intro-grid h2,
.about-copy h2,
.contact-intro h2,
.market-deep-head h2 { letter-spacing: -.045em; text-wrap: balance; }
.section-kicker { letter-spacing: .2em; }

/* Navigation: quieter, smaller, and less obstructive. */
.topbar { height: 76px; padding-inline: clamp(28px, 3.5vw, 64px); }
.topbar.scrolled,
body:not([data-route="home"]) .topbar { height: 68px; }
.desktop-nav { gap: clamp(13px, 1.3vw, 24px); margin-right: 22px; font-size: 12px; }
.nav-group { padding-block: 14px; }
.mega-menu { top: calc(100% + 2px); min-width: 214px; padding: 14px; border-radius: 0; box-shadow: 0 22px 56px rgba(8,22,16,.15); }
.mega-menu-wide { width: min(480px, 70vw); grid-template-columns: 1fr 1fr; gap: 18px; }
.mega-menu a { padding: 8px 10px; font-size: 11px; }
.mega-column small { padding: 3px 10px 8px; }

/* Home hero: editorial statement plus a compact decision panel. */
.hero { min-height: 760px; height: 100svh; align-items: center; padding: 106px max(48px, calc((100vw - 1320px) / 2)) 48px; }
.hero-content { width: calc(100% - 430px); margin: 0; transform: translateY(-1vh); }
.hero h1 { max-width: 690px; font-size: clamp(48px, 5.7vw, 84px); line-height: 1.02; }
.hero-lede { max-width: 440px; font-size: 15px; }
.hero-guide { right: max(48px, calc((100vw - 1320px) / 2)); top: 50%; width: min(370px, 30vw); padding: 30px; transform: translateY(-48%); animation: none; }
.hero-choice-panel h3 { margin-bottom: 12px; }
.hero-choice-panel .lead-mini { max-width: none; margin-bottom: 24px; font-size: 12px; }
.hero-choice-links { border-top: 1px solid rgba(242,236,226,.2); }
.hero-choice-links a { display: grid; grid-template-columns: 32px 1fr 20px; gap: 12px; align-items: center; min-height: 58px; border-bottom: 1px solid rgba(242,236,226,.16); color: var(--cream); transition: padding .25s ease, color .25s ease; }
.hero-choice-links a:hover { padding-inline: 7px; color: var(--gold); }
.hero-choice-links span { color: var(--gold); font: 500 13px/1 var(--serif); }
.hero-choice-links strong { font-size: 13px; font-weight: 500; }
.hero-choice-links b { font-size: 16px; font-weight: 400; }
.hero-choice-contact { display: flex; justify-content: space-between; margin-top: 18px; color: rgba(242,236,226,.72); font-size: 11px; }
.hero-choice-contact:hover { color: var(--gold); }

/* Homepage narrative: strong full-width bands instead of stacked cards. */
.feature-rail-section { padding: 0; }
.feature-rail { width: 100%; border-inline: 0; }
.feature-rail a { min-height: 138px; padding-inline: clamp(26px, 3vw, 52px); }
.intro-section { padding-block: var(--section-space); }
.intro-grid { gap: clamp(56px, 10vw, 150px); }
.intro-grid h2 { font-size: clamp(48px, 6vw, 82px); }
.metrics-grid { width: min(1320px, calc(100% - 112px)); padding-block: 34px; }
.services-section,
.properties-section,
.market-section,
.locations-section,
.personal-section,
.media-section { padding-block: var(--section-space); }
.services-section { background: var(--surface); }
.service-panel { align-items: start; }
.service-main h3 { font-size: clamp(38px, 4vw, 58px); }
.service-list { padding-left: clamp(26px, 4vw, 54px); }
.service-item { grid-template-columns: 36px 1fr 28px; min-height: 86px; }

/* Listings: smaller image-led modules; no oversized Off-Market cards. */
.property-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 54px 24px; }
.property-image-wrap { height: auto; aspect-ratio: 4 / 3; }
body[data-route="home"] .property-card:first-child { grid-column: auto; }
body[data-route="home"] .property-card:first-child .property-image-wrap { height: auto; aspect-ratio: 4 / 3; }
body[data-route="home"] .property-card:first-child .property-info h3 { font: 500 20px/1.4 var(--serif); }
.property-info { display: grid; grid-template-columns: 1fr auto; padding-top: 17px; }
.property-info h3 { font-size: 20px; }
.property-price { font-size: 17px; }

/* Buy and sell: choose first, then show one detailed answer at a time. */
.sell-page { padding-top: 150px; }
.sell-layout { grid-template-columns: minmax(0, 1.08fr) minmax(360px, .72fr); gap: clamp(56px, 8vw, 116px); }
.sell-copy h2 { max-width: 780px; font-size: clamp(54px, 6vw, 86px); letter-spacing: -.05em; }
.sell-journey { grid-template-columns: repeat(4, 1fr); }
.journey-step { min-height: 176px; background: transparent; transition: background .25s ease, color .25s ease; }
.journey-step.active { background: #263a2e; color: #fff8ed; }
.journey-step.active span { color: #edc481; }
.journey-step.active small { color: #f3eadc; }
.sell-detail-list { width: 100%; margin-top: 78px; }
.sell-detail-section { grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); min-height: 670px; }
.sell-detail-visual { min-height: 670px; }
.sell-detail-content { padding: clamp(54px, 6vw, 94px); }
.sell-detail-content h2 { font-size: clamp(44px, 4.4vw, 68px); }

.buy-page { padding: 132px 0 var(--section-space); }
.page-mode-strip { position: sticky; top: 68px; z-index: 7; margin-inline: calc(50% - 50vw); padding-inline: max(56px, calc((100vw - 1320px) / 2)); background: rgba(248,245,239,.94); backdrop-filter: blur(18px); }
.page-mode-strip button { min-height: 64px; }
.typing-line { max-width: 1020px; margin-top: 76px; font-size: clamp(42px, 5.3vw, 78px); }
.buy-property-heading { display: grid; grid-template-columns: .3fr 1fr .68fr; gap: clamp(28px, 5vw, 76px); max-width: none; align-items: end; margin-top: 94px; }
.buy-property-heading > span { align-self: start; padding-top: 16px; }
.buy-property-heading h2 { margin: 0; }
.buy-property-heading p { margin-bottom: 5px; }
.buy-property-detail-list { margin-bottom: 86px; }
.buy-property-section,
.buy-detail-section { grid-template-columns: minmax(0, .94fr) minmax(0, 1.06fr); min-height: 620px; }
.buy-detail-visual { min-height: 620px; }
.buy-anchor-nav { display: grid; grid-template-columns: repeat(4, 1fr); margin-bottom: 24px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.buy-anchor-link { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; min-height: 206px; padding: 24px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.buy-anchor-link strong { font-size: 23px; }
.buy-anchor-link small { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.buy-anchor-link i { margin-top: auto; }
.buy-anchor-link.active { background: var(--ink); color: var(--cream); }
.buy-anchor-link.active small { color: rgba(242,236,226,.66); }
.buy-special-links { display: grid; grid-template-columns: 1fr 1fr; border-top: 0; }
.buy-special-link { display: flex; flex-direction: column; align-items: flex-start; min-height: 250px; padding: 34px; border: 0; }
.buy-special-link strong { margin: 40px 0 14px; font-size: 38px; }
.buy-special-link em { justify-self: auto; margin-top: auto; font-size: 13px; }
.buy-detail-list { width: 100vw; margin-top: 70px; margin-left: calc(50% - 50vw); }

/* Market: stronger visual rhythm with fewer competing boxes. */
.market-layout { grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr); gap: clamp(46px, 6vw, 92px); }
.market-compass-card { min-height: 580px; padding: clamp(34px, 4vw, 58px); }
.market-notes { gap: 0; border-top: 1px solid var(--line); }
.note { min-height: 104px; margin: 0; padding-block: 18px; border-bottom: 1px solid var(--line); }
.market-deep-head { grid-template-columns: .3fr 1fr .62fr; }
.market-intel-section { padding-block: clamp(72px, 8vw, 118px); }
.market-signal-grid article { min-height: 260px; }
.market-segment-grid article { min-height: 290px; }
.market-action-board > article { min-height: 510px; }

/* City and school hierarchy: city imagery first, category choices second. */
.locations-section { background: var(--surface); }
.location-context-band { display: grid; grid-template-columns: .78fr 1.22fr; min-height: 440px; margin: 62px 0 0; background: var(--ink); color: var(--cream); overflow: hidden; }
.location-context-copy { display: flex; flex-direction: column; justify-content: flex-end; padding: clamp(38px, 5vw, 72px); }
.location-context-copy > span { color: var(--gold); font-size: 9px; letter-spacing: .18em; }
.location-context-copy > strong { margin: 20px 0; font: 500 clamp(30px, 3vw, 45px)/1.22 var(--serif); }
.location-context-copy p { max-width: 470px; margin: 0; color: rgba(242,236,226,.66); }
.location-context-image { min-height: 440px; overflow: hidden; }
.location-context-image img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.64) contrast(1.04); }
.location-tabs { margin-top: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; }
.location-tabs button { min-height: 72px; border: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: transparent; }
.location-category-intro { margin: 48px 0 26px; }
.location-feature-card { min-height: min(58vw, 660px); }
.location-grid { gap: 1px; background: rgba(16,37,29,.14); }
.location-card { min-height: 280px; }

/* About: replace the 2x2 dark-card grid with editorial link rows. */
.about-section { padding-block: var(--section-space); }
.about-grid { grid-template-columns: minmax(380px, .8fr) minmax(0, 1.2fr); gap: clamp(64px, 9vw, 138px); }
.about-portrait { height: min(68vw, 720px); }
.about-copy h2 { font-size: clamp(52px, 6.2vw, 86px); }
.about-links { max-width: none; margin-top: 34px; }
.about-deep-links { max-width: none; margin-top: 32px; }
.about-feature-links { display: block; margin: 0; border-top: 1px solid var(--line); }
.about-feature-links a,
.about-feature-links button { min-height: 0; padding: 22px 0; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); display: grid; grid-template-columns: minmax(130px,.28fr) minmax(180px,.42fr) 1fr 24px; gap: 24px; align-items: center; }
.about-feature-links a::after,
.about-feature-links button::after { content: "→"; color: var(--gold); font-size: 18px; }
.about-feature-links a:hover,
.about-feature-links button:hover { padding-inline: 12px; transform: none; background: rgba(196,154,93,.08); }
.about-feature-links strong { font: 500 19px/1.4 var(--serif); }
.about-feature-links small { color: var(--muted); }

/* Trust, media and global actions. */
.trust-grid { grid-template-columns: 1.25fr 1fr 1fr; gap: 1px; background: rgba(242,236,226,.12); }
.trust-card { min-height: 360px; border: 0; border-radius: 0; }
.trust-card img { height: 150px; border-radius: 0; }
.media-grid { grid-template-columns: 1.35fr 1fr 1fr 1fr; gap: 1px; background: var(--line); }
.media-card { min-height: 360px; }
.contact-dock-button { top: auto; right: 28px; bottom: 98px; width: 58px; height: 58px; padding: 0; border: 1px solid rgba(196,154,93,.75); border-radius: 50%; background: var(--gold); writing-mode: initial; color: transparent; font-size: 0; box-shadow: 0 18px 44px rgba(8,22,16,.24); }
.contact-dock-button::before { content: "联系"; color: var(--ink); font-size: 11px; font-weight: 700; letter-spacing: .06em; }
.global-back-button { right: 28px; bottom: 28px; }
body[data-route="home"] .global-back-button { display: none; }
body[data-route="home"] .contact-dock-button { bottom: 28px; }

@media (max-width: 1180px) {
  .section-wrap,
  .metrics-grid { width: min(100% - 64px, 1100px); }
  .hero { padding-inline: 40px; }
  .hero h1 { max-width: 58vw; }
  .hero-guide { right: 40px; width: 340px; }
  .property-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sell-layout { grid-template-columns: 1fr .75fr; gap: 48px; }
}

@media (max-width: 960px) {
  .section-wrap,
  .metrics-grid { width: calc(100% - 48px); }
  .hero { height: auto; min-height: 900px; display: block; padding: 150px 24px 52px; }
  .hero-content { transform: none; }
  .hero-content { width: 100%; }
  .hero h1 { max-width: 720px; }
  .hero-guide { position: relative; inset: auto; transform: none; width: min(100%, 620px); margin: 48px 0 0; }
  .contact-dock-button { display: grid; place-items: center; }
  .feature-rail { grid-template-columns: repeat(2, 1fr); }
  .feature-rail a { border-bottom: 1px solid rgba(242,236,226,.14); }
  .property-grid { grid-template-columns: repeat(2, 1fr); }
  .sell-layout { grid-template-columns: 1fr; }
  .sell-journey { grid-template-columns: repeat(2, 1fr); }
  .inline-lead-form { max-width: none; }
  .buy-property-heading { grid-template-columns: 1fr; gap: 12px; }
  .buy-property-heading > span { padding-top: 0; }
  .buy-anchor-nav { grid-template-columns: repeat(2, 1fr); }
  .buy-special-links { grid-template-columns: 1fr; }
  .market-layout { grid-template-columns: 1fr; }
  .market-notes { display: grid; grid-template-columns: 1fr 1fr; }
  .note { padding-right: 24px; }
  .market-deep-head,
  .market-intel-heading { grid-template-columns: 1fr; }
  .market-signal-grid { grid-template-columns: repeat(2, 1fr); }
  .location-context-band { grid-template-columns: 1fr; }
  .location-context-image { min-height: 360px; order: -1; }
  .location-tabs { grid-template-columns: repeat(2, 1fr); }
  .location-grid { grid-template-columns: repeat(2, 1fr); }
  .about-grid { grid-template-columns: 1fr; }
  .about-portrait { height: min(105vw, 680px); }
  .media-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  :root { --section-space: 74px; }
  .section-wrap,
  .metrics-grid { width: calc(100% - 32px); }
  .topbar { padding-inline: 16px; }
  .brand-logo { width: 166px; }
  .hero { min-height: 820px; padding: 118px 16px 34px; }
  .hero h1 { font-size: clamp(40px, 12vw, 54px); }
  .hero-guide { margin-top: 34px; padding: 24px 20px; }
  .hero-choice-links a { min-height: 52px; }
  .feature-rail { grid-template-columns: 1fr 1fr; }
  .feature-rail a { min-height: 126px; padding: 20px 16px; }
  .feature-rail a span { display: none; }
  .intro-grid h2 { font-size: 42px; }
  .property-grid { grid-template-columns: 1fr; }
  .property-image-wrap,
  body[data-route="home"] .property-card:first-child .property-image-wrap { aspect-ratio: 4 / 3; }
  .sell-page { padding-top: 104px; }
  .sell-copy h2 { font-size: 48px; }
  .sell-journey { grid-template-columns: 1fr 1fr; }
  .journey-step { min-height: 150px; padding: 18px 15px; }
  .sell-detail-section,
  .buy-property-section,
  .buy-detail-section { grid-template-columns: 1fr; min-height: 0; }
  .sell-detail-visual,
  .buy-detail-visual { min-height: 340px; }
  .sell-detail-content,
  .buy-detail-content { padding: 38px 20px 44px; }
  .sell-detail-columns,
  .buy-detail-points { grid-template-columns: 1fr; }
  .seller-proof { width: calc(100% - 32px); padding: 34px 20px; }
  .seller-proof-stats { grid-template-columns: 1fr; }
  .seller-proof-stat, .seller-proof-stat:nth-child(2) { min-height: 0; border-right: 0; border-bottom: 1px solid rgba(244,239,230,.14); }
  .seller-proof-stat:last-child { border-bottom: 0; }
  .seller-proof-sources { flex-wrap: wrap; gap: 18px 24px; }
  .page-mode-strip { top: 68px; margin-inline: -16px; padding: 0 16px; overflow-x: auto; display: flex; justify-content: flex-start; }
  .page-mode-strip button { flex: 0 0 auto; min-height: 56px; padding-inline: 16px; }
  .typing-line { margin-top: 60px; font-size: 40px; }
  .buy-property-heading { margin-top: 66px; }
  .buy-anchor-nav { grid-template-columns: 1fr; }
  .buy-anchor-link { min-height: 150px; }
  .buy-special-link { min-height: 230px; }
  .buy-special-link strong { margin-top: 30px; }
  .market-compass-card { min-height: 500px; }
  .market-notes { grid-template-columns: 1fr; }
  .market-signal-grid,
  .market-segment-grid,
  .market-driver-list,
  .market-action-board { grid-template-columns: 1fr; }
  .market-city-board article { grid-template-columns: 1fr; gap: 12px; }
  .market-city-board strong { grid-column: auto; }
  .location-context-band { margin-top: 40px; }
  .location-context-image { min-height: 260px; }
  .location-context-copy { padding: 30px 22px 36px; }
  .location-tabs { grid-template-columns: 1fr 1fr; }
  .location-tabs button { min-height: 60px; padding: 12px 8px; }
  .location-grid { grid-template-columns: 1fr; }
  .location-card { min-height: 300px; }
  .about-feature-links a,
  .about-feature-links button { grid-template-columns: 1fr 22px; gap: 9px 18px; }
  .about-feature-links span,
  .about-feature-links strong,
  .about-feature-links small { grid-column: 1; }
  .about-feature-links a::after,
  .about-feature-links button::after { grid-column: 2; grid-row: 1 / 4; }
  .trust-grid,
  .media-grid { grid-template-columns: 1fr; }
  .contact-dock-button { display: grid; right: 16px; bottom: 82px; width: 54px; height: 54px; place-items: center; }
  .global-back-button { right: 16px; bottom: 16px; width: 54px; height: 54px; }
body[data-route="home"] .contact-dock-button { bottom: 16px; }
}

/* V23 — homepage service paths are always visible as three independent destinations */
.services-section .service-switcher { display: none; }
.services-section .service-panel { display: block; }

.service-overview-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: clamp(42px, 5vw, 72px);
  border: 1px solid rgba(17, 39, 32, .18);
  background: rgba(17, 39, 32, .18);
  box-shadow: 0 30px 80px rgba(28, 34, 30, .08);
}

.service-overview-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  background: #f5f0e7;
  color: var(--ink);
  overflow: hidden;
}

.service-overview-card figure {
  position: relative;
  margin: 0;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: var(--ink);
}

.service-overview-card figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 48%, rgba(9, 21, 17, .55));
  pointer-events: none;
}

.service-overview-card figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.78) contrast(.96);
  transition: transform .7s cubic-bezier(.2, .7, .2, 1), filter .7s ease;
}

.service-overview-card:hover figure img {
  transform: scale(1.035);
  filter: saturate(.92) contrast(1);
}

.service-overview-card figcaption {
  position: absolute;
  z-index: 1;
  right: 22px;
  bottom: 18px;
  left: 22px;
  color: rgba(255, 255, 255, .88);
  font-size: 10px;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.service-overview-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-height: 450px;
  padding: clamp(26px, 2.5vw, 38px);
}

.service-overview-body > span {
  color: var(--gold);
  font-size: 10px;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.service-overview-body h3 {
  margin: 18px 0 16px;
  font-family: var(--serif);
  font-size: clamp(38px, 3.2vw, 56px);
  font-weight: 500;
  line-height: 1.02;
  letter-spacing: -.045em;
}

.service-overview-body > p {
  min-height: 72px;
  margin: 0;
  color: rgba(17, 39, 32, .68);
  font-size: 14px;
  line-height: 1.8;
}

.service-overview-body nav {
  margin-top: 25px;
  border-bottom: 1px solid rgba(17, 39, 32, .15);
}

.service-overview-body nav button {
  display: grid;
  grid-template-columns: 28px 1fr 20px;
  gap: 12px;
  align-items: center;
  width: 100%;
  min-height: 58px;
  padding: 12px 0;
  border: 0;
  border-top: 1px solid rgba(17, 39, 32, .15);
  background: transparent;
  color: inherit;
  text-align: left;
  transition: padding .22s ease, color .22s ease;
}

.service-overview-body nav button:hover,
.service-overview-body nav button:focus-visible {
  padding-left: 8px;
  color: var(--gold);
}

.service-overview-body nav i,
.service-overview-body nav b,
.service-overview-cta b {
  color: var(--gold);
  font-family: var(--serif);
  font-style: normal;
  font-weight: 400;
}

.service-overview-body nav strong {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
}

.service-overview-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 60px;
  margin-top: auto;
  padding: 0 20px;
  border: 1px solid var(--ink);
  background: var(--ink);
  color: #fffaf1;
  font-size: 13px;
  font-weight: 600;
  text-align: left;
  transition: background .22s ease, color .22s ease, border-color .22s ease;
}

.service-overview-cta:hover,
.service-overview-cta:focus-visible {
  border-color: var(--gold);
  background: var(--gold);
  color: var(--ink);
}

.service-overview-cta:hover b,
.service-overview-cta:focus-visible b { color: var(--ink); }

.service-overview-buy {
  background: var(--ink);
  color: #f8f2e8;
}

.service-overview-buy .service-overview-body > p { color: rgba(248, 242, 232, .66); }
.service-overview-buy .service-overview-body nav { border-bottom-color: rgba(248, 242, 232, .18); }
.service-overview-buy .service-overview-body nav button { border-top-color: rgba(248, 242, 232, .18); }
.service-overview-buy .service-overview-cta {
  border-color: var(--gold);
  background: var(--gold);
  color: var(--ink);
}
.service-overview-buy .service-overview-cta b { color: var(--ink); }
.service-overview-buy .service-overview-cta:hover,
.service-overview-buy .service-overview-cta:focus-visible {
  border-color: #f8f2e8;
  background: #f8f2e8;
}

.service-overview-offmarket { background: #d9c7a8; }
.service-overview-offmarket .service-overview-body > p { color: rgba(17, 39, 32, .75); }

@media (max-width: 1100px) {
  .service-overview-grid { grid-template-columns: 1fr; }
  .service-overview-card {
    display: grid;
    grid-template-columns: minmax(280px, .85fr) minmax(0, 1.15fr);
  }
  .service-overview-card figure { min-height: 430px; aspect-ratio: auto; }
  .service-overview-body { min-height: 430px; }
  .service-overview-body > p { min-height: 0; }
}

@media (max-width: 700px) {
  .service-overview-grid { margin-top: 32px; }
  .service-overview-card { display: flex; }
  .service-overview-card figure { min-height: 0; aspect-ratio: 16 / 10; }
  .service-overview-body { min-height: 0; padding: 26px 22px 24px; }
  .service-overview-body h3 { font-size: clamp(38px, 12vw, 50px); }
  .service-overview-body > p { min-height: 0; }
  .service-overview-cta { margin-top: 28px; }
}

/* V24 — preserve the hero video's original color and improve contact legibility */
.hero-image,
.hero-video {
  filter: none;
}

.hero-shade {
  background: transparent;
}

.hero-glow {
  display: none;
}

.hero-content {
  text-shadow: 0 2px 22px rgba(0, 0, 0, .42);
}

.hero-content .button,
.hero-guide {
  text-shadow: none;
}

.contact-drawer-links > * {
  gap: 9px;
  padding: 21px 0;
}

.contact-drawer-links span {
  color: #d9b572;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.35;
  letter-spacing: .12em;
}

.contact-drawer-links strong {
  color: #fffaf1;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: .005em;
}

@media (max-width: 640px) {
  .contact-drawer-links span { font-size: 12px; }
  .contact-drawer-links strong { font-size: 17px; }
}

/* V26 — editorial side contact tab replaces the floating contact circle */
.contact-dock-button,
body[data-route="home"] .contact-dock-button {
  position: fixed;
  top: 50%;
  right: 0;
  bottom: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 176px;
  padding: 16px 10px;
  border: 0;
  border-radius: 0;
  background: var(--gold);
  color: var(--ink);
  box-shadow: 0 18px 44px rgba(8, 22, 16, .2);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.1;
  letter-spacing: .11em;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: translateY(-50%);
  transition: transform .22s ease, background .22s ease;
  z-index: 79;
}

.contact-dock-button::before { content: none; }
.contact-dock-button:hover,
.contact-dock-button:focus-visible {
  background: #d8ae69;
  transform: translate(-4px, -50%);
}

.mobile-contact-bar { display: none !important; }

@media (max-width: 640px) {
  .contact-dock-button,
  body[data-route="home"] .contact-dock-button {
    top: 55%;
    right: 0;
    bottom: auto;
    width: 44px;
    height: 150px;
    padding: 13px 8px;
    font-size: 11px;
    transform: translateY(-50%);
  }

  .contact-dock-button:hover,
  .contact-dock-button:focus-visible { transform: translate(-3px, -50%); }
}

/* V27 — legible editorial type scale across desktop and mobile */
body {
  font-size: 16px;
  line-height: 1.75;
}

/* Navigation and controls remain compact, but no longer read as fine print. */
.desktop-nav { font-size: 14px; }
.mega-menu a { font-size: 14px; line-height: 1.45; }
.mega-column small,
.mobile-navigation-head span,
.mobile-navigation-contact small {
  font-size: 11px;
  font-weight: 650;
}
.mobile-navigation-links details a { font-size: 15px; }
.mobile-navigation-contact { font-size: 14px; }
.button,
.sell-decision-action,
.buy-detail-action,
.journey-detail-start,
.journey-direct-submit,
.service-tab,
.filter-button,
.location-tabs button,
.page-mode-strip button {
  font-size: 14px;
}

/* Small editorial labels use a readable 12px floor and stronger contrast. */
.section-kicker,
.eyebrow,
.panel-kicker,
.media-type,
.footer-kicker,
.journey-kicker,
.guide-kicker,
.sell-detail-kicker,
.buy-detail-kicker,
.buy-property-heading > span,
.market-intel-heading > span,
.location-context-copy > span,
.location-category-intro span,
.location-feature-copy > span,
.service-overview-body > span,
.property-badge,
.property-status,
.case-meta,
.image-label,
.report-top,
.estate-notes article span,
.city-detail-grid small,
.journey-detail-section-title > span,
.journey-detail-boundary div > span,
.journey-detail-cta div span {
  font-size: 12px;
  font-weight: 650;
  line-height: 1.45;
}

/* Core reading copy: 16px with relaxed line spacing. */
.hero-lede,
.intro-copy p,
.section-heading > p,
.split-heading > p,
.about-copy > p,
.sell-copy > p,
.sell-detail-content > p,
.sell-decision-panel > p,
.buy-grid p,
.buy-anchor-link small,
.buy-property-heading p,
.buy-detail-copy > p,
.service-overview-body > p,
.note p,
.market-city-board p,
.market-segment-grid p,
.market-driver-list p,
.market-action-board article > div p,
.location-context-copy p,
.location-feature-copy p,
.school-boundary-note p,
.trust-card blockquote,
.footer-cta p,
#modalDescription,
.journey-detail-heading > p,
.journey-detail-fact-grid article > p,
.journey-detail-boundary p,
.journey-direct-contact-copy > p,
.cross-border-question-copy p {
  font-size: 16px;
  line-height: 1.8;
}

/* Supporting card copy and dense lists sit one step below body copy. */
.hero-guide .lead-mini,
.hero-choice-panel .lead-mini,
.hero-rail span,
.feature-rail span,
.buy-special-link > span,
.buy-detail-points span,
.service-item p,
.property-location,
.property-specs,
.city-case-card .body p,
.market-signal-grid p,
.market-action-board article > div strong,
.estate-notes p,
.location-card p,
.city-detail-grid p,
.team-card small,
.testimonial-card strong,
.media-card small,
.journey-step small,
.journey-topic-copy small,
.journey-topic-copy p,
.journey-detail-process li strong,
.journey-direct-details span,
.cross-border-topic-card small,
.cross-border-topic-card p,
.cross-border-case-card small {
  font-size: 15px;
  line-height: 1.72;
}

.sell-detail-columns li,
.sell-decision-panel li,
.about-links a,
.about-feature-links small,
.modal-specs,
.modal-case-list strong,
.journey-detail-back,
.journey-detail-boundary a,
.cross-border-page-form label,
.contact-details {
  font-size: 14px;
  line-height: 1.65;
}

.hero-choice-links strong,
.hero-choice-contact,
.service-overview-body nav strong,
.service-overview-cta,
.buy-special-link em,
.property-pagination,
.trust-card footer,
.testimonial-card span,
.client-trust-list footer,
.market-report-download em {
  font-size: 14px;
}

.metric span { font-size: 14px; }
.metric small,
.hero-rail small,
.feature-rail small,
.service-overview-card figcaption,
.sell-detail-visual figcaption small,
.sell-detail-columns small,
.sell-decision-panel > span,
.buy-special-link small,
.market-city-board strong,
.estate-visual figcaption,
.location-card small,
.about-portrait span,
.team-card span,
.journey-detail-hero figcaption,
.journey-direct-details small {
  font-size: 11px;
  font-weight: 650;
  line-height: 1.45;
}

.contact-form label,
.journey-direct-form label {
  font-size: 13px;
  line-height: 1.45;
}
.contact-form input,
.contact-form textarea,
.contact-form select,
.journey-direct-form input,
.journey-direct-form textarea,
.cross-border-page-form input,
.cross-border-page-form select,
.cross-border-page-form textarea,
.inline-lead-form input,
.inline-lead-form select,
.inline-lead-form textarea {
  font-size: 16px;
}

/* Footer information is content, not legal fine print. */
.footer-brand-column p { font-size: 14px; line-height: 1.75; }
.footer-column { font-size: 14px; line-height: 1.6; }
.footer-column strong { font-size: 12px; }
.footer-column small { font-size: 11px; }
.footer-bottom { font-size: 11px; line-height: 1.6; }

.contact-dock-button,
body[data-route="home"] .contact-dock-button { font-size: 13px; }

@media (max-width: 640px) {
  body { font-size: 16px; line-height: 1.72; }
  .hero-lede,
  .hero-guide .lead-mini,
  .hero-choice-panel .lead-mini,
  .buy-anchor-link small,
  .service-overview-body > p,
  .service-overview-body nav strong,
  .sell-detail-content > p,
  .buy-detail-copy > p,
  .location-card p,
  .city-detail-grid p,
  .journey-topic-copy small,
  .journey-topic-copy p { font-size: 16px; }
  .button,
  .sell-decision-action,
  .buy-detail-action,
  .service-overview-cta,
  .location-tabs button { font-size: 15px; }
  .contact-dock-button,
  body[data-route="home"] .contact-dock-button { font-size: 12px; }
}

/* =========================================================
   V29 — CINEMATIC SUBPAGE OPENINGS
   One editorial system with route-specific silhouettes.
   ========================================================= */
.page-hero {
  position: relative;
  isolation: isolate;
  width: 100%;
  min-height: 720px;
  height: min(86svh, 920px);
  overflow: hidden;
  background: #101512;
  color: #f7f2e9;
}

.page-hero-media {
  position: absolute;
  inset: 0;
  z-index: -2;
  overflow: hidden;
  background: #111512;
  transition: inset .7s cubic-bezier(.2,.7,.2,1);
}

.page-hero-media img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  filter: none;
  transform: scale(1.015);
  animation: pageHeroImageIn 1.25s cubic-bezier(.2,.7,.2,1) both;
}

.page-hero-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5,7,6,.86) 0%, rgba(5,7,6,.57) 43%, rgba(5,7,6,.12) 78%),
    linear-gradient(0deg, rgba(5,7,6,.76) 0%, rgba(5,7,6,.04) 52%);
}

.page-hero-frame {
  position: relative;
  z-index: 2;
  width: min(1320px, calc(100% - 112px));
  height: 100%;
  margin: 0 auto;
  padding: clamp(132px, 16vh, 172px) 0 224px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(260px, .42fr);
  gap: clamp(58px, 8vw, 130px);
  align-items: end;
}

.page-hero-frame::before {
  content: "";
  position: absolute;
  top: 116px;
  bottom: 202px;
  left: -28px;
  width: 1px;
  background: linear-gradient(180deg, transparent, rgba(247,242,233,.38) 22%, rgba(247,242,233,.08) 86%, transparent);
}

.page-hero-main {
  max-width: 860px;
  animation: pageHeroCopyIn .8s .08s cubic-bezier(.2,.7,.2,1) both;
}

.page-hero-heading-line {
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 28px;
  color: #d4ad72;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.3;
  letter-spacing: .19em;
}

.page-hero-heading-line::after {
  content: "";
  width: 86px;
  height: 1px;
  margin-left: 4px;
  background: linear-gradient(90deg, rgba(212,173,114,.72), transparent);
}

.page-hero-heading-line span:first-child {
  font-family: var(--serif);
  font-weight: 500;
  letter-spacing: .04em;
}

.page-hero h1 {
  max-width: 930px;
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(54px, 5.65vw, 84px);
  font-weight: 500;
  line-height: 1.11;
  letter-spacing: -.055em;
  text-wrap: balance;
  text-shadow: 0 8px 34px rgba(0,0,0,.24);
}

.page-hero h1 em {
  color: #f2e6d3;
  font-family: var(--serif);
  font-style: italic;
  font-weight: 500;
}

.page-hero-main > p {
  max-width: 630px;
  margin: 28px 0 0;
  color: rgba(247,242,233,.78);
  font-size: 17px;
  line-height: 1.85;
  text-shadow: 0 4px 22px rgba(0,0,0,.24);
}

.page-hero-cta {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 50px;
  min-width: 256px;
  margin-top: 34px;
  padding: 14px 0 11px;
  border-bottom: 1px solid rgba(212,173,114,.8);
  color: #f7f2e9;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .04em;
  transition: color .25s ease, padding .25s ease;
}

.page-hero-cta b {
  color: #d4ad72;
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 400;
  transition: transform .25s ease;
}

.page-hero-cta:hover { padding-left: 9px; color: #d4ad72; }
.page-hero-cta:hover b { transform: translateY(5px); }

.page-hero-aside {
  position: relative;
  align-self: end;
  min-height: 176px;
  padding: 24px 28px 48px;
  border-top: 1px solid rgba(247,242,233,.28);
  border-right: 1px solid rgba(247,242,233,.14);
  background: linear-gradient(145deg, rgba(11,14,12,.46), rgba(11,14,12,.16));
  backdrop-filter: blur(10px);
  animation: pageHeroCopyIn .8s .2s cubic-bezier(.2,.7,.2,1) both;
}

.page-hero-aside > span {
  color: #d4ad72;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .18em;
}

.page-hero-aside p {
  max-width: 300px;
  margin: 17px 0 0;
  color: rgba(247,242,233,.74);
  font-family: var(--serif);
  font-size: 15px;
  line-height: 1.8;
}

.page-hero-aside i {
  position: absolute;
  right: 18px;
  bottom: 8px;
  color: rgba(212,173,114,.34);
  font-family: var(--serif);
  font-size: 30px;
  font-style: normal;
  letter-spacing: -.05em;
}

.page-hero-meta {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: 42px;
  width: min(1320px, calc(100% - 112px));
  min-height: 94px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  transform: translateX(-50%);
  border-top: 1px solid rgba(247,242,233,.22);
  border-bottom: 1px solid rgba(247,242,233,.13);
  background: rgba(8,10,9,.18);
  backdrop-filter: blur(9px);
}

.page-hero-meta > span {
  display: grid;
  grid-template-columns: 38px 1fr;
  gap: 18px;
  align-items: center;
  min-width: 0;
  padding: 21px 27px;
  border-right: 1px solid rgba(247,242,233,.14);
}

.page-hero-meta > span:last-child { border-right: 0; }
.page-hero-meta i { color: #d4ad72; font: 500 16px/1 var(--serif); font-style: normal; }
.page-hero-meta strong { overflow: hidden; color: rgba(247,242,233,.92); font-size: 17px; font-weight: 650; letter-spacing: .035em; text-overflow: ellipsis; white-space: nowrap; }

.page-hero-brandline {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: 15px;
  width: min(1320px, calc(100% - 112px));
  display: flex;
  justify-content: space-between;
  transform: translateX(-50%);
  color: rgba(247,242,233,.43);
  font-size: 9px;
  font-weight: 650;
  letter-spacing: .19em;
}

/* Split pages keep the copy on a quiet architectural field and the image on the right. */
.page-hero[data-variant="split"],
.page-hero[data-variant="portrait"],
.page-hero[data-variant="report"] { background: #111915; }

.page-hero[data-variant="split"] .page-hero-media,
.page-hero[data-variant="portrait"] .page-hero-media,
.page-hero[data-variant="report"] .page-hero-media { left: 41%; }

.page-hero[data-variant="split"] .page-hero-media::after,
.page-hero[data-variant="portrait"] .page-hero-media::after,
.page-hero[data-variant="report"] .page-hero-media::after {
  background:
    linear-gradient(90deg, #111915 0%, rgba(17,25,21,.91) 8%, rgba(10,12,11,.18) 58%),
    linear-gradient(0deg, rgba(5,7,6,.72), rgba(5,7,6,0) 52%);
}

.page-hero[data-variant="split"] .page-hero-main,
.page-hero[data-variant="portrait"] .page-hero-main,
.page-hero[data-variant="report"] .page-hero-main { max-width: 720px; }

.page-hero[data-variant="portrait"] .page-hero-media { left: 46%; }
.page-hero[data-variant="portrait"] .page-hero-aside { border-color: rgba(212,173,114,.34); background: rgba(12,15,13,.48); }

.page-hero[data-variant="report"]::before {
  content: "MARKET / COMPASS";
  position: absolute;
  z-index: 1;
  top: 132px;
  right: max(56px, calc((100vw - 1320px) / 2));
  color: rgba(247,242,233,.17);
  font-family: var(--serif);
  font-size: clamp(34px, 4vw, 58px);
  letter-spacing: -.02em;
  writing-mode: vertical-rl;
}

.page-hero[data-variant="panorama"] .page-hero-main { max-width: 980px; }
.page-hero[data-variant="panorama"] .page-hero-media::after {
  background:
    linear-gradient(90deg, rgba(5,7,6,.78), rgba(5,7,6,.29) 60%, rgba(5,7,6,.08)),
    linear-gradient(0deg, rgba(5,7,6,.84), rgba(5,7,6,0) 60%);
}

.page-hero[data-variant="editorial"] .page-hero-media::after {
  background:
    linear-gradient(90deg, rgba(5,7,6,.87), rgba(5,7,6,.44) 54%, rgba(5,7,6,.12)),
    linear-gradient(0deg, rgba(5,7,6,.76), transparent 58%);
}

/* The navigation floats above subpage imagery, then returns to paper after scroll. */
body:not([data-route="home"]) .topbar:not(.scrolled) {
  height: 76px;
  color: var(--cream);
  background: linear-gradient(180deg, rgba(5,7,6,.62), rgba(5,7,6,.08));
  border-bottom-color: rgba(247,242,233,.14);
  box-shadow: none;
}

body:not([data-route="home"]) .topbar.scrolled {
  height: 68px;
  color: var(--ink);
  background: rgba(250,247,241,.94);
  border-bottom-color: rgba(16,32,26,.1);
  box-shadow: 0 8px 30px rgba(16,32,26,.05);
}

body[data-route="sell"] .topbar:not(.scrolled) {
  height: 68px;
  color: var(--ink);
  background: rgba(250,247,241,.96);
  border-bottom-color: rgba(16,32,26,.1);
  box-shadow: 0 8px 30px rgba(16,32,26,.05);
}

body[data-route="buy"] .buy-page { padding-top: 0; }
body[data-route="sell"] .sell-page { padding-top: var(--section-space); }

@keyframes pageHeroImageIn {
  from { opacity: 0; transform: scale(1.055); }
  to { opacity: 1; transform: scale(1.015); }
}

@keyframes pageHeroCopyIn {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 960px) {
  .page-hero { min-height: 700px; height: min(88svh, 850px); }
  .page-hero-frame { width: calc(100% - 56px); grid-template-columns: minmax(0, 1fr) minmax(220px, .38fr); gap: 38px; padding-bottom: 210px; }
  .page-hero-frame::before { left: -16px; }
  .page-hero h1 { font-size: clamp(50px, 7.5vw, 70px); }
  .page-hero-aside { padding-inline: 22px; }
  .page-hero-meta,
  .page-hero-brandline { width: calc(100% - 56px); }
}

@media (max-width: 700px) {
  .page-hero {
    min-height: 690px;
    height: 84svh;
  }

  .page-hero[data-variant="split"] .page-hero-media,
  .page-hero[data-variant="portrait"] .page-hero-media,
  .page-hero[data-variant="report"] .page-hero-media { inset: 0; }

  .page-hero-media::after,
  .page-hero[data-variant="split"] .page-hero-media::after,
  .page-hero[data-variant="portrait"] .page-hero-media::after,
  .page-hero[data-variant="report"] .page-hero-media::after,
  .page-hero[data-variant="panorama"] .page-hero-media::after,
  .page-hero[data-variant="editorial"] .page-hero-media::after {
    background:
      linear-gradient(90deg, rgba(5,7,6,.73), rgba(5,7,6,.18) 88%),
      linear-gradient(0deg, rgba(5,7,6,.9) 0%, rgba(5,7,6,.31) 66%, rgba(5,7,6,.15));
  }

  .page-hero-frame {
    width: calc(100% - 36px);
    padding: 114px 0 154px;
    display: flex;
    align-items: flex-end;
  }

  .page-hero-frame::before { top: 94px; bottom: 144px; left: -1px; }
  .page-hero-main { max-width: 100% !important; padding-left: 16px; }
  .page-hero-heading-line { gap: 11px; margin-bottom: 19px; font-size: 10px; letter-spacing: .14em; }
  .page-hero-heading-line::after { width: 40px; }
  .page-hero h1 { max-width: 100%; font-size: clamp(40px, 11.6vw, 52px); line-height: 1.1; letter-spacing: -.055em; }
  .page-hero-main > p { max-width: 94%; margin-top: 20px; font-size: 16px; line-height: 1.7; }
  .page-hero-cta { min-width: min(270px, 86vw); margin-top: 22px; padding-block: 11px; font-size: 14px; }
  .page-hero-aside { display: none; }
  .page-hero[data-variant="report"]::before { display: none; }

  .page-hero-meta {
    bottom: 27px;
    width: calc(100% - 36px);
    min-height: 88px;
    overflow: hidden;
  }

  .page-hero-meta > span {
    display: flex;
    min-width: 0;
    padding: 14px 9px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 7px;
  }

  .page-hero-meta i { font-size: 13px; }
  .page-hero-meta strong { width: 100%; font-size: 15px; font-weight: 650; letter-spacing: .015em; }
  .page-hero-brandline { display: none; }
  body:not([data-route="home"]) .topbar:not(.scrolled) { height: 68px; }
}

/* V55 relocated to the end of this file; original draft disabled
.market-city-board article {
  grid-template-columns: 168px minmax(200px, .48fr) minmax(150px, .34fr) minmax(240px, 1fr) 220px;
  gap: clamp(18px, 2.2vw, 34px);
}

.market-city-board article > .market-city-image { grid-column: 1; grid-row: 1; }
.market-city-board article > div { grid-column: 2; grid-row: 1; }
.market-city-board article > span { grid-column: 3; grid-row: 1; }
.market-city-board article > p { grid-column: 4; grid-row: 1; }

.market-city-guide-link {
  grid-column: 5;
  grid-row: 1;
  justify-self: end;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 220px;
  min-height: 58px;
  margin: 0;
  padding: 0 17px 0 19px;
  border: 1px solid rgba(16,42,34,.62);
  color: #102a22;
  background: transparent;
  font-size: 14px;
  font-weight: 750;
  letter-spacing: .02em;
  transition: color .3s ease, background-color .3s ease, border-color .3s ease, transform .3s ease;
}

.market-city-guide-link b {
  color: #a87d43;
  font-size: 20px;
  font-weight: 400;
  transition: color .3s ease, transform .3s ease;
}

.market-city-guide-link:hover,
.market-city-guide-link:focus-visible {
  border-color: #102a22;
  background: #102a22;
  color: #fff8ed;
  transform: translateY(-2px);
}

.market-city-guide-link:hover b,
.market-city-guide-link:focus-visible b {
  color: #d5aa69;
  transform: translateX(5px);
}

.city-page-map-stage {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.city-page-map-stage svg {
  width: 100%;
  height: 100%;
  cursor: zoom-in;
  touch-action: none;
  user-select: none;
}

.city-page-map::before { pointer-events: none; }
.city-page-map-stage .city-map-city path { cursor: inherit; }
.city-page-map.is-zoomed .city-page-map-stage svg { cursor: grab; }
.city-page-map.is-dragging .city-page-map-stage svg { cursor: grabbing; }
.city-page-map .city-map-city.active path { stroke-width: 2; }

.city-page-map-controls {
  position: absolute;
  z-index: 5;
  top: 14px;
  right: 14px;
  display: flex;
  gap: 5px;
}

.city-page-map-controls button {
  display: grid;
  place-items: center;
  width: 37px;
  height: 37px;
  padding: 0;
  border: 1px solid rgba(236,202,146,.38);
  border-radius: 0;
  background: rgba(6,26,20,.78);
  color: #fff8ed;
  font-size: 19px;
  line-height: 1;
  cursor: pointer;
  backdrop-filter: blur(8px);
  transition: color .25s ease, background-color .25s ease, border-color .25s ease;
}

.city-page-map-controls button:hover,
.city-page-map-controls button:focus-visible {
  border-color: #d5aa69;
  background: #d5aa69;
  color: #102a22;
}

.city-page-map > small {
  position: absolute;
  z-index: 5;
  left: 22px;
  bottom: 17px;
  color: rgba(255,248,237,.58);
  font-size: 10px;
  letter-spacing: .08em;
  pointer-events: none;
}

@media (max-width: 1280px) {
  .market-city-board article {
    grid-template-columns: 138px minmax(170px, .46fr) minmax(0, 1fr) 190px;
  }
  .market-city-board article > .market-city-image { grid-column: 1; grid-row: 1 / span 2; }
  .market-city-board article > div { grid-column: 2; grid-row: 1 / span 2; }
  .market-city-board article > span { grid-column: 3; grid-row: 1; }
  .market-city-board article > p { grid-column: 3; grid-row: 2; }
  .market-city-guide-link { grid-column: 4; grid-row: 1 / span 2; width: 190px; }
}

@media (max-width: 760px) {
  .market-city-board article {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 24px 0 30px;
  }
  .market-city-board article > .market-city-image,
  .market-city-board article > div,
  .market-city-board article > span,
  .market-city-board article > p,
  .market-city-guide-link {
    grid-column: 1;
    grid-row: auto;
  }
  .market-city-board article > p { font-size: 16px; line-height: 1.7; }
  .market-city-guide-link { justify-self: stretch; width: 100%; min-height: 60px; }
  .city-page-map-controls { top: 11px; right: 11px; }
  .city-page-map-controls button { width: 34px; height: 34px; }
  .city-page-map > small { left: 16px; bottom: 12px; font-size: 9px; }
}

*/

@media (prefers-reduced-motion: reduce) {
  .page-hero-media img,
  .page-hero-main,
  .page-hero-aside { animation: none; }
}

/* Unified Daydreamer portrait supplied by the brand team. */
img[src$="daydreamer-avatar.png"] {
  object-fit: contain !important;
  object-position: center !important;
  background: #fbfaf7;
  filter: none !important;
}

.personal-image img[src$="daydreamer-avatar.png"],
.about-portrait img[src$="daydreamer-avatar.png"],
.story-visual img[src$="daydreamer-avatar.png"],
.page-hero-media img[src$="daydreamer-avatar.png"] {
  transform: none !important;
  opacity: 1;
}

/* =========================================================
   V36 — HOME SELLER CAPABILITY
   Editorial ivory field; six detailed disciplines with direct links.
   ========================================================= */
.seller-capabilities {
  padding: clamp(92px, 9vw, 142px) 0 clamp(104px, 10vw, 156px);
  color: var(--ink);
  background:
    radial-gradient(circle at 90% 8%, rgba(189, 150, 92, .12), transparent 30%),
    linear-gradient(180deg, #f4f0e8 0%, #faf7f1 100%);
}

.seller-capabilities-head {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(360px, .78fr);
  gap: clamp(56px, 9vw, 148px);
  align-items: end;
  margin-bottom: clamp(54px, 6vw, 84px);
}

.seller-capabilities .section-kicker {
  color: var(--gold-dark);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .18em;
}

.seller-capabilities h2 {
  max-width: 780px;
  margin: 24px 0 0;
  font-family: var(--serif);
  font-size: clamp(44px, 5vw, 72px);
  font-weight: 500;
  line-height: 1.06;
  letter-spacing: -.045em;
}

.seller-capabilities h2 em { color: var(--gold-dark); font-style: normal; }

.seller-capabilities-intro > p {
  margin: 0 0 25px;
  color: #656158;
  font-size: 17px;
  line-height: 1.85;
}

.seller-capabilities-intro blockquote {
  position: relative;
  margin: 0;
  padding: 24px 0 0 30px;
  border-top: 1px solid rgba(16, 32, 26, .2);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 17px;
  font-weight: 620;
  line-height: 1.75;
}

.seller-capabilities-intro blockquote::before {
  content: "“";
  position: absolute;
  left: 0;
  top: 17px;
  color: var(--gold-dark);
  font-family: var(--serif);
  font-size: 34px;
}

.seller-capabilities-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid rgba(16, 32, 26, .2);
  border-left: 1px solid rgba(16, 32, 26, .2);
}

.seller-capability-card {
  display: flex;
  min-height: 380px;
  padding: clamp(30px, 3.1vw, 48px);
  flex-direction: column;
  border-right: 1px solid rgba(16, 32, 26, .2);
  border-bottom: 1px solid rgba(16, 32, 26, .2);
  background: rgba(255, 253, 248, .54);
  transition: background .35s ease, transform .35s ease, box-shadow .35s ease;
}

.seller-capability-card > span {
  color: var(--gold-dark);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .15em;
}

.seller-capability-card h3 {
  margin: 46px 0 20px;
  font-family: var(--sans);
  font-size: clamp(22px, 1.7vw, 29px);
  font-weight: 650;
  line-height: 1.3;
  letter-spacing: -.025em;
}

.seller-capability-card p {
  margin: 0 0 34px;
  color: #69655d;
  font-size: 15px;
  line-height: 1.85;
}

.seller-capability-card a {
  display: flex;
  width: 100%;
  margin-top: auto;
  padding-top: 18px;
  justify-content: space-between;
  border-top: 1px solid rgba(16, 32, 26, .16);
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
}

.seller-capability-card a b { color: var(--gold-dark); transition: transform .25s ease; }

@media (hover: hover) and (pointer: fine) {
  .seller-capability-card:hover {
    position: relative;
    z-index: 1;
    background: #fffdf8;
    box-shadow: 0 22px 56px rgba(16, 32, 26, .09);
    transform: translateY(-5px);
  }
  .seller-capability-card a:hover b { transform: translateX(5px); }
}

@media (max-width: 980px) {
  .seller-capabilities-head { grid-template-columns: 1fr; gap: 38px; }
  .seller-capabilities-intro { max-width: 720px; }
  .seller-capabilities-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .seller-capabilities { padding-block: 82px 96px; }
  .seller-capabilities h2 { font-size: clamp(40px, 11vw, 50px); }
  .seller-capabilities-intro > p,
  .seller-capabilities-intro blockquote { font-size: 15px; }
  .seller-capabilities-grid { grid-template-columns: 1fr; }
  .seller-capability-card { min-height: 0; padding: 30px 24px; }
  .seller-capability-card h3 { margin-top: 30px; font-size: 23px; }
}


/* Media channels — YouTube / Xiaohongshu / Zillow */
.media-section { overflow: hidden; }
.media-header { margin-bottom: 42px; }
.media-header h2 { font-size: clamp(38px, 4vw, 64px); font-weight: 500; letter-spacing: -.035em; }
.media-grid,
body[data-route="about"] .media-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-items: start;
  background: transparent;
}
.media-channel {
  min-width: 0;
  border-top: 2px solid var(--gold);
  background: rgba(250,247,240,.72);
  box-shadow: inset 0 0 0 1px rgba(15,47,40,.13);
}
.media-channel > header {
  min-height: 206px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 18px;
  padding: 26px 24px 24px;
}
.media-channel > header > span {
  padding-top: 4px;
  color: var(--gold);
  font: 500 20px/1 var(--serif);
}
.media-channel > header small {
  display: block;
  margin-bottom: 18px;
  color: var(--gold-dark);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
}
.media-channel > header h3 {
  margin: 0;
  color: var(--ink);
  font: 500 clamp(26px, 2.1vw, 36px)/1.12 var(--serif);
}
.media-channel > header p {
  max-width: 34ch;
  margin: 14px 0 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.75;
}
.media-channel-feature { display: block; color: var(--cream); }
.media-channel-feature figure {
  position: relative;
  height: clamp(380px, 34vw, 510px);
  margin: 0;
  overflow: hidden;
  background: var(--ink);
}
.media-channel-feature img,
.media-channel-feature video {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .55s cubic-bezier(.2,.65,.25,1), filter .4s ease;
}
.media-channel-feature:hover img { transform: scale(1.025); filter: saturate(.92); }
.media-channel-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5,22,18,.12) 18%, rgba(5,22,18,.78) 100%);
  pointer-events: none;
}
.media-channel-xiaohongshu .media-channel-shade { background: linear-gradient(180deg, rgba(68,42,29,.08) 15%, rgba(30,22,17,.78) 100%); }
.media-channel-zillow .media-channel-shade { background: linear-gradient(180deg, rgba(7,38,64,.08) 15%, rgba(5,31,39,.82) 100%); }
.media-channel-feature figure > small {
  position: absolute;
  z-index: 2;
  top: 24px;
  left: 24px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(244,239,230,.55);
  color: var(--cream);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
}
.media-channel-feature figure > div {
  position: absolute;
  z-index: 2;
  right: 24px;
  bottom: 28px;
  left: 24px;
}
.media-channel-feature h3 {
  max-width: 15ch;
  margin: 0;
  color: #fffaf0;
  font: 600 clamp(24px, 2vw, 34px)/1.24 var(--serif);
}
.media-channel-feature p {
  display: -webkit-box;
  max-width: 40ch;
  margin: 13px 0 0;
  overflow: hidden;
  color: rgba(255,250,240,.75);
  font-size: 13px;
  line-height: 1.7;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.media-channel-feature figure > b {
  position: absolute;
  z-index: 2;
  top: 22px;
  right: 24px;
  color: var(--gold);
  font-size: 22px;
  font-weight: 400;
}
.media-zillow-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-bottom: 1px solid rgba(15,47,40,.13);
}
.media-zillow-stats span {
  min-height: 92px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  padding: 14px;
  color: var(--muted);
  font-size: 10px;
  letter-spacing: .08em;
  text-align: center;
}
.media-zillow-stats span + span { border-left: 1px solid rgba(15,47,40,.13); }
.media-zillow-stats strong { color: var(--ink); font: 500 24px/1 var(--serif); letter-spacing: 0; }
.media-channel-list { border-top: 1px solid rgba(15,47,40,.13); }
.media-channel-row {
  min-height: 92px;
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr) 18px;
  gap: 15px;
  align-items: center;
  padding: 12px 18px;
  border-bottom: 1px solid rgba(15,47,40,.13);
  color: var(--ink);
  transition: background .3s ease, padding-left .3s ease;
}
.media-channel-row:hover { padding-left: 23px; background: rgba(196,154,93,.08); }
.media-channel-row img,
.media-channel-row video { width: 82px; height: 64px; object-fit: cover; }
.media-channel-row span { min-width: 0; }
.media-channel-row small { display: block; margin-bottom: 6px; color: var(--gold-dark); font-size: 9px; letter-spacing: .08em; }
.media-channel-row strong { display: -webkit-box; overflow: hidden; font: 500 14px/1.45 var(--serif); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.media-channel-row > b { color: var(--gold); font-weight: 400; }
.media-channel-profile {
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 22px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .03em;
  transition: background .3s ease, color .3s ease;
}
.media-channel-profile:hover { background: var(--ink); color: var(--cream); }
.media-channel-profile span { color: var(--gold); font-size: 18px; }
.media-channel-empty { min-height: 380px; display: grid; place-items: center; padding: 28px; background: #ebe5d9; color: var(--muted); text-align: center; }

@media (max-width: 980px) {
  .media-grid,
  body[data-route="about"] .media-grid { grid-template-columns: 1fr 1fr; }
  .media-channel-zillow { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
  .media-channel-zillow > header,
  .media-channel-zillow .media-channel-feature { grid-row: span 2; }
  .media-channel-zillow .media-channel-feature figure { height: 100%; min-height: 440px; }
  .media-channel-zillow .media-channel-profile { grid-column: 2; }
}

@media (max-width: 680px) {
  .media-header { display: block; }
  .media-grid,
  body[data-route="about"] .media-grid { grid-template-columns: 1fr; gap: 22px; }
  .media-channel-zillow { grid-column: auto; display: block; }
  .media-channel > header { min-height: 0; grid-template-columns: 38px minmax(0,1fr); padding: 23px 20px; }
  .media-channel-feature figure,
  .media-channel-zillow .media-channel-feature figure { height: min(124vw, 470px); min-height: 0; }
  .media-channel-feature figure > div { right: 20px; bottom: 24px; left: 20px; }
  .media-channel-feature figure > small { left: 20px; }
  .media-channel-feature figure > b { right: 20px; }
}

@media (prefers-reduced-motion: reduce) {
  .media-channel-feature img,
  .media-channel-row,
  .media-channel-profile { transition: none !important; }
}

/* Market Drivers v54 — contained editorial upgrade */
.market-driver-list { overflow: hidden; }
.market-driver-card {
  position: relative;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  grid-template-rows: auto 1fr auto;
  gap: 16px 22px;
  min-height: 292px;
  padding: 42px 40px 36px;
  overflow: hidden;
  border-right: 1px solid rgba(20,23,22,.18);
  border-bottom: 1px solid rgba(20,23,22,.18);
  background: transparent;
  transition: background-color 320ms cubic-bezier(.2,.7,.2,1);
}
.market-driver-card > i {
  position: relative;
  z-index: 2;
  color: var(--gold);
  font-family: var(--serif);
  font-size: 18px;
  font-style: normal;
}
.market-driver-card > h4 {
  position: relative;
  z-index: 2;
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(22px, 2vw, 29px);
  font-weight: 500;
  line-height: 1.3;
  transition: transform 320ms cubic-bezier(.2,.7,.2,1), color 320ms ease;
}
.market-driver-card > p {
  position: relative;
  z-index: 2;
  grid-column: 2;
  align-self: center;
  max-width: 540px;
  margin: 18px 0 8px;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.95;
}
.market-driver-card > span {
  position: relative;
  z-index: 2;
  grid-column: 2;
  color: var(--gold-dark);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  opacity: 0;
  transform: translateY(7px);
  transition: opacity 300ms ease, transform 320ms cubic-bezier(.2,.7,.2,1);
}
.market-driver-card > b {
  position: absolute;
  right: -4px;
  bottom: -45px;
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(130px, 14vw, 205px);
  font-weight: 400;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  transform: translate(14px, 10px);
  transition: opacity 320ms ease, transform 360ms cubic-bezier(.2,.7,.2,1);
}
.market-driver-card:hover,
.market-driver-card:focus-visible { background: rgba(88,111,94,.055); }
.market-driver-card:hover > h4,
.market-driver-card:focus-visible > h4 { color: var(--ink-2); transform: translateX(4px); }
.market-driver-card:hover > span,
.market-driver-card:focus-visible > span { opacity: 1; transform: translateY(0); }
.market-driver-card:hover > b,
.market-driver-card:focus-visible > b { opacity: .035; transform: translate(0,0); }
.market-driver-card:focus-visible { outline: 1px solid var(--gold); outline-offset: -3px; }

.market-driver-detail-page {
  background: #f6f0e7;
  color: var(--ink);
}
.market-driver-article { padding-top: 70px; }
.market-driver-detail-hero {
  width: min(1320px, calc(100% - 112px));
  min-height: 710px;
  margin: 0 auto;
  padding: 92px 0 84px;
  display: grid;
  grid-template-columns: minmax(250px,.46fr) minmax(0,1fr);
  grid-template-rows: auto auto 1fr;
  column-gap: clamp(70px, 10vw, 170px);
  border-bottom: 1px solid rgba(16,32,26,.2);
}
.market-driver-back {
  grid-column: 1 / -1;
  width: max-content;
  color: var(--gold-dark);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  transition: transform 300ms ease;
}
.market-driver-back:hover { transform: translateX(-4px); }
.market-driver-hero-meta {
  grid-column: 1;
  grid-row: 2 / 4;
  align-self: end;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding-bottom: 10px;
}
.market-driver-hero-meta span {
  color: rgba(189,150,92,.44);
  font-family: var(--serif);
  font-size: clamp(96px, 12vw, 175px);
  font-weight: 400;
  line-height: .78;
}
.market-driver-hero-meta strong {
  max-width: 240px;
  color: var(--gold-dark);
  font-size: 10px;
  letter-spacing: .17em;
  line-height: 1.7;
}
.market-driver-detail-hero h1 {
  grid-column: 2;
  align-self: end;
  margin: 90px 0 54px;
  font-family: var(--serif);
  font-size: clamp(58px, 7.2vw, 104px);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.045em;
}
.market-driver-detail-hero > blockquote {
  grid-column: 2;
  max-width: 900px;
  margin: 0;
  padding: 38px 0 0 clamp(24px, 4vw, 70px);
  border-top: 1px solid rgba(16,32,26,.2);
  border-left: 1px solid rgba(189,150,92,.48);
  color: var(--ink-2);
  font-family: var(--serif);
  font-size: clamp(27px, 3vw, 45px);
  font-weight: 400;
  line-height: 1.58;
}

.market-driver-visual-section {
  width: min(1320px, calc(100% - 112px));
  min-height: 460px;
  margin: 0 auto;
  padding: 92px 0 106px;
  display: grid;
  grid-template-columns: minmax(170px,.3fr) minmax(0,1fr);
  gap: clamp(50px,8vw,130px);
  align-items: center;
}
.market-driver-section-label { align-self: start; display: flex; gap: 18px; align-items: baseline; color: var(--gold-dark); }
.market-driver-section-label span { font-family: var(--serif); font-size: 18px; }
.market-driver-section-label strong { font-size: 9px; letter-spacing: .18em; }
.market-driver-viz {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 210px;
  padding: 30px;
  border-top: 1px solid rgba(16,32,26,.18);
  border-bottom: 1px solid rgba(16,32,26,.18);
}
.market-driver-viz.is-vertical { flex-direction: column; min-height: 345px; }
.market-driver-viz-step { display: flex; align-items: center; justify-content: center; color: var(--ink-2); }
.market-driver-viz-step strong { white-space: nowrap; font-size: clamp(12px,1.25vw,16px); letter-spacing: .11em; }
.market-driver-viz-step i { margin: 0 clamp(12px,2vw,30px); color: var(--gold); font-family: var(--serif); font-size: 20px; font-style: normal; font-weight: 400; }
.market-driver-viz.is-vertical .market-driver-viz-step { flex-direction: column; }
.market-driver-viz.is-vertical .market-driver-viz-step i { margin: 8px 0; }
.market-driver-viz-step:first-child strong,
.market-driver-viz-step:last-child strong { color: var(--gold-dark); }

.market-driver-story {
  padding: 110px 0 135px;
  background: #fbf8f2;
  border-top: 1px solid rgba(16,32,26,.13);
}
.market-driver-copy-block {
  width: min(1320px, calc(100% - 112px));
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(12,1fr);
  column-gap: 24px;
  padding: 90px 0;
  border-top: 1px solid rgba(16,32,26,.16);
}
.market-driver-copy-block:first-child { border-top: 0; padding-top: 20px; }
.market-driver-copy-block > span { grid-column: 1; color: var(--gold); font-family: var(--serif); font-size: 19px; }
.market-driver-copy-block > div { grid-column: 3 / span 7; }
.market-driver-copy-block.is-right > div { grid-column: 5 / span 7; }
.market-driver-copy-block.is-right > span { grid-column: 4; }
.market-driver-copy-block h2 {
  max-width: 820px;
  margin: 0 0 44px;
  font-family: var(--serif);
  font-size: clamp(37px,4.3vw,61px);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.025em;
}
.market-driver-copy-block p {
  max-width: 720px;
  margin: 0 0 25px;
  color: #5f625d;
  font-size: 16px;
  line-height: 2.05;
}
.market-driver-pullquote {
  width: min(1050px, calc(100% - 180px));
  margin: 38px auto 78px;
  padding: 48px 0 48px clamp(38px,6vw,88px);
  border-left: 1px solid var(--gold);
  color: var(--ink);
  font-family: var(--serif);
  font-size: clamp(32px,4vw,59px);
  font-weight: 400;
  line-height: 1.5;
}
.market-driver-pullquote.is-right { padding-right: clamp(38px,6vw,88px); padding-left: 0; border-right: 1px solid var(--gold); border-left: 0; text-align: right; }
.market-driver-editorial-image { width: min(1120px, calc(100% - 160px)); max-height: 580px; margin: 28px auto 100px; overflow: hidden; }
.market-driver-editorial-image img { width: 100%; height: 100%; max-height: 580px; object-fit: cover; filter: saturate(.7) contrast(1.02); }

.market-driver-take {
  min-height: 520px;
  padding: 110px max(56px, calc((100vw - 1320px)/2));
  display: grid;
  grid-template-columns: minmax(220px,.35fr) minmax(0,1fr);
  gap: clamp(70px,10vw,180px);
  align-items: center;
  background: var(--ink);
  color: var(--cream);
}
.market-driver-take > div { display: flex; flex-direction: column; gap: 15px; }
.market-driver-take > div span { color: var(--gold); font-size: 10px; font-weight: 700; letter-spacing: .18em; }
.market-driver-take > div strong { font-family: var(--serif); font-size: 27px; font-weight: 500; }
.market-driver-take blockquote { margin: 0; color: #f3ebdf; font-family: var(--serif); font-size: clamp(31px,3.7vw,53px); line-height: 1.55; }

.market-driver-footer-nav {
  width: min(1320px, calc(100% - 112px));
  min-height: 220px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 50px;
}
.market-driver-footer-nav > a:not(.market-driver-footer-back) { display: flex; flex-direction: column; gap: 8px; transition: transform 300ms ease; }
.market-driver-footer-nav > a:not(.market-driver-footer-back):hover { transform: translateX(-4px); }
.market-driver-footer-nav > a.is-next { text-align: right; }
.market-driver-footer-nav > a.is-next:hover { transform: translateX(4px); }
.market-driver-footer-nav span { color: var(--gold-dark); font-size: 10px; font-weight: 700; letter-spacing: .1em; }
.market-driver-footer-nav strong { font-family: var(--serif); font-size: 22px; font-weight: 500; }
.market-driver-footer-back { padding: 13px 0; border-bottom: 1px solid var(--gold); font-size: 11px; font-weight: 700; letter-spacing: .08em; }

@media (max-width: 900px) {
  .market-driver-detail-hero,
  .market-driver-visual-section,
  .market-driver-copy-block,
  .market-driver-footer-nav { width: calc(100% - 64px); }
  .market-driver-detail-hero { grid-template-columns: 180px 1fr; column-gap: 45px; }
  .market-driver-detail-hero h1 { font-size: clamp(54px,8vw,78px); }
  .market-driver-copy-block > div,
  .market-driver-copy-block.is-right > div { grid-column: 3 / span 9; }
  .market-driver-copy-block.is-right > span { grid-column: 1; }
  .market-driver-viz.is-horizontal { overflow-x: auto; justify-content: flex-start; }
  .market-driver-take { grid-template-columns: 1fr; gap: 52px; }
}

@media (max-width: 640px) {
  .market-driver-card { min-height: 260px; padding: 31px 24px 28px; grid-template-columns: 34px 1fr; gap: 12px 14px; }
  .market-driver-card > h4 { font-size: 24px; }
  .market-driver-card > p { margin-top: 9px; font-size: 16px; line-height: 1.82; }
  .market-driver-card > span { margin-top: 5px; font-size: 12px; opacity: 1; transform: none; }
  .market-driver-card > b { font-size: 132px; opacity: .025; }

  .market-driver-article { padding-top: 70px; }
  .market-driver-detail-hero { width: calc(100% - 40px); min-height: 0; padding: 52px 0 72px; display: block; }
  .market-driver-back { display: inline-block; margin-bottom: 74px; font-size: 12px; }
  .market-driver-hero-meta { display: flex; flex-direction: row; align-items: baseline; justify-content: space-between; gap: 15px; }
  .market-driver-hero-meta span { font-size: 72px; }
  .market-driver-hero-meta strong { max-width: 210px; text-align: right; font-size: 9px; }
  .market-driver-detail-hero h1 { margin: 46px 0 35px; font-size: clamp(48px,14vw,66px); }
  .market-driver-detail-hero > blockquote { padding: 27px 0 0 20px; font-size: 25px; line-height: 1.65; }

  .market-driver-visual-section { width: calc(100% - 40px); min-height: 0; padding: 70px 0 84px; display: block; }
  .market-driver-section-label { margin-bottom: 42px; }
  .market-driver-viz,
  .market-driver-viz.is-horizontal,
  .market-driver-viz.is-vertical { min-height: 0; padding: 34px 12px; flex-direction: column; overflow: visible; }
  .market-driver-viz-step,
  .market-driver-viz.is-horizontal .market-driver-viz-step { flex-direction: column; }
  .market-driver-viz-step strong { white-space: normal; text-align: center; font-size: 13px; }
  .market-driver-viz-step i,
  .market-driver-viz.is-horizontal .market-driver-viz-step i { margin: 8px 0; }
  .market-driver-viz.is-horizontal .market-driver-viz-step i { transform: rotate(90deg); }

  .market-driver-story { padding: 74px 0 88px; }
  .market-driver-copy-block,
  .market-driver-copy-block:first-child { width: calc(100% - 40px); padding: 65px 0; display: grid; grid-template-columns: 36px 1fr; gap: 14px; }
  .market-driver-copy-block:first-child { padding-top: 0; }
  .market-driver-copy-block > span,
  .market-driver-copy-block.is-right > span { grid-column: 1; }
  .market-driver-copy-block > div,
  .market-driver-copy-block.is-right > div { grid-column: 2; }
  .market-driver-copy-block h2 { margin-bottom: 32px; font-size: 38px; line-height: 1.34; }
  .market-driver-copy-block p { font-size: 16px; line-height: 1.95; }
  .market-driver-pullquote,
  .market-driver-pullquote.is-right { width: calc(100% - 40px); margin: 16px auto 60px; padding: 34px 0 34px 22px; border-right: 0; border-left: 1px solid var(--gold); text-align: left; font-size: 30px; }
  .market-driver-editorial-image { width: calc(100% - 40px); margin-bottom: 70px; }
  .market-driver-take { min-height: 0; padding: 76px 20px 82px; gap: 38px; }
  .market-driver-take blockquote { font-size: 29px; }
  .market-driver-footer-nav { width: calc(100% - 40px); min-height: 0; padding: 62px 0 76px; grid-template-columns: 1fr 1fr; gap: 38px 20px; align-items: start; }
  .market-driver-footer-nav > a:not(.market-driver-footer-back) strong { font-size: 18px; }
  .market-driver-footer-back { grid-column: 1 / -1; grid-row: 2; width: 100%; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
  .market-driver-card,
  .market-driver-card > h4,
  .market-driver-card > span,
  .market-driver-card > b,
  .market-driver-back,
  .market-driver-footer-nav > a { transition: none !important; }
}

/* 2026 business-positioning system: sell, trade up, and estate advisory */
.business-theme-grid {
  display: grid;
  grid-template-columns: 1.15fr 1fr 1fr;
  border: 1px solid var(--line);
  background: var(--paper);
  box-shadow: var(--shadow-soft);
}
.business-theme-card {
  min-height: 410px;
  display: flex;
  flex-direction: column;
  padding: 42px;
  border-right: 1px solid var(--line);
  transition: transform .45s ease, background .45s ease, color .45s ease;
}
.business-theme-card:last-child { border-right: 0; }
.business-theme-card figure { height: 220px; margin: -42px -42px 34px; overflow: hidden; background: var(--ink); }
.business-theme-card figure img { width: 100%; height: 100%; object-fit: cover; opacity: .86; transition: transform .6s ease, opacity .4s ease; }
.business-theme-card:hover figure img { opacity: 1; transform: scale(1.04); }
.business-theme-card > span,
.luxury-advisory-grid article > span,
.move-detail-card > div > span {
  color: var(--gold-dark);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .15em;
}
.business-theme-card h3 { margin: 42px 0 20px; font-family: var(--serif); font-size: clamp(29px, 3vw, 43px); font-weight: 500; line-height: 1.2; }
.business-theme-card p { min-height: 100px; margin: 0; color: var(--muted); font-size: 16px; }
.business-theme-card a { display: flex; justify-content: space-between; align-items: center; margin-top: 30px; padding-top: 20px; border-top: 1px solid currentColor; font-weight: 700; }
.business-theme-card:hover { position: relative; z-index: 2; color: var(--cream); background: var(--ink); transform: translateY(-10px); }
.business-theme-card:hover p { color: rgba(241,234,223,.74); }
.business-theme-card:hover > span { color: var(--gold); }

.move-page { padding: 120px 0; background: var(--paper); }
.move-intro,
.luxury-advisory-head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); gap: 90px; align-items: end; margin-bottom: 70px; }
.move-intro h2,
.luxury-advisory-head h2,
.city-transaction-overview h2,
.classic-cases-section h2 { margin: 14px 0 0; font-family: var(--serif); font-size: clamp(46px, 6vw, 78px); font-weight: 500; line-height: 1.08; }
.move-intro h2 em,
.luxury-advisory-head h2 em,
.city-transaction-overview h2 em,
.classic-cases-section h2 em { color: var(--gold-dark); font-weight: 400; }
.move-intro > p,
.luxury-advisory-head > p { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.9; }
.move-system-stage { position: relative; min-height: 760px; margin: 28px 0 12px; overflow: hidden; color: var(--cream); background: var(--ink); box-shadow: var(--shadow-deep); }
.move-system-stage > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s ease; }
.move-system-stage:hover > img { transform: scale(1.025); }
.move-system-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(7,20,16,.96) 0%, rgba(7,20,16,.75) 48%, rgba(7,20,16,.25) 100%), linear-gradient(0deg, rgba(7,20,16,.96) 0%, transparent 46%); }
.move-system-copy { position: relative; z-index: 2; width: min(760px, 66%); padding: clamp(58px, 7vw, 96px); }
.move-system-copy > span,
.move-system-detail > span { color: var(--gold); font-size: 12px; font-weight: 700; letter-spacing: .16em; }
.move-system-copy h3 { margin: 36px 0 26px; font-family: var(--serif); font-size: clamp(48px, 6vw, 78px); font-weight: 500; line-height: 1.08; }
.move-system-copy p { max-width: 680px; margin: 0; color: rgba(241,234,223,.76); font-size: 17px; line-height: 1.9; }
.move-system-nav { position: absolute; z-index: 3; inset: auto 0 0; display: grid; grid-template-columns: repeat(5, 1fr); width: 72%; border-top: 1px solid var(--line-dark); background: rgba(7,20,16,.82); backdrop-filter: blur(16px); }
.move-system-nav button { min-height: 112px; display: flex; flex-direction: column; align-items: flex-start; gap: 12px; padding: 24px; border: 0; border-right: 1px solid var(--line-dark); color: rgba(241,234,223,.6); background: transparent; text-align: left; transition: color .3s ease, background .3s ease; }
.move-system-nav button i { color: var(--gold); font-family: var(--serif); font-style: normal; }
.move-system-nav button strong { font-size: 15px; }
.move-system-nav button:hover,
.move-system-nav button.active { color: var(--cream); background: rgba(189,150,92,.16); }
.move-system-detail { position: absolute; z-index: 4; right: 0; bottom: 0; width: 28%; min-height: 250px; padding: 34px; background: rgba(151,111,63,.88); backdrop-filter: blur(18px); }
.move-system-detail h4 { margin: 24px 0 14px; font-family: var(--serif); font-size: 31px; font-weight: 500; line-height: 1.2; }
.move-system-detail p { margin: 0; color: rgba(255,255,255,.82); font-size: 15px; line-height: 1.75; }
.move-system-detail > b { position: absolute; right: 28px; top: 22px; color: rgba(255,255,255,.22); font-family: var(--serif); font-size: 62px; font-weight: 400; }
.move-content-block { padding: 88px 0; border-top: 1px solid var(--line); }
.move-subhead { display: grid; grid-template-columns: minmax(170px, .34fr) minmax(0, 1fr); gap: 52px; align-items: start; margin-bottom: 46px; }
.move-subhead > span { padding-top: 10px; color: var(--gold-dark); font-size: 12px; font-weight: 700; letter-spacing: .15em; }
.move-subhead h3 { max-width: 980px; margin: 0; color: var(--ink); font-family: var(--serif); font-size: clamp(36px, 4.6vw, 58px); font-weight: 500; line-height: 1.15; }
.move-subhead p { max-width: 820px; margin: 20px 0 0; color: var(--muted); font-size: 16px; line-height: 1.9; }
.move-question-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.move-question-grid article { position: relative; min-height: 460px; overflow: hidden; color: var(--cream); background: var(--ink); transition: transform .4s ease, box-shadow .4s ease; }
.move-question-grid article::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,20,16,.96), rgba(7,20,16,.08) 70%); }
.move-question-grid article > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .86; transition: transform .7s ease, opacity .4s ease; }
.move-question-grid article > div { position: absolute; z-index: 2; inset: auto 0 0; padding: 34px; }
.move-question-grid article:last-child { border-right: 0; }
.move-question-grid span,
.move-path-card > span,
.move-transition-grid span { color: var(--gold-dark); font-size: 12px; font-weight: 700; letter-spacing: .14em; }
.move-question-grid h4,
.move-path-card h4,
.move-transition-grid h4 { margin: 72px 0 20px; font-family: var(--serif); font-size: 29px; font-weight: 500; line-height: 1.3; }
.move-question-grid p,
.move-transition-grid p { margin: 0; color: var(--muted); font-size: 16px; line-height: 1.85; }
.move-question-grid h4 { margin: 130px 0 18px; font-size: 34px; }
.move-question-grid p { color: rgba(241,234,223,.76); }
.move-question-grid article:hover { z-index: 2; transform: translateY(-9px); box-shadow: var(--shadow-deep); }
.move-question-grid article:hover > img { opacity: 1; transform: scale(1.055); }
.move-path-block { padding-bottom: 104px; }
.move-path-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.move-path-card { min-height: 650px; display: flex; flex-direction: column; padding: 0; overflow: hidden; border: 1px solid var(--line); color: var(--ink); background: #f7f2e9; box-shadow: 0 20px 50px rgba(16,32,26,.06); font: inherit; text-align: left; cursor: pointer; transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
.move-path-card figure { position: relative; height: 250px; margin: 0; overflow: hidden; background: var(--ink); }
.move-path-card figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,20,16,.72), transparent 65%); }
.move-path-card figure img { width: 100%; height: 100%; object-fit: cover; opacity: .85; transition: transform .7s ease, opacity .4s ease; }
.move-path-card figcaption { position: absolute; z-index: 2; left: 28px; bottom: 24px; color: var(--gold); font-size: 12px; font-weight: 700; letter-spacing: .14em; }
.move-path-card > div { flex: 1; display: flex; flex-direction: column; padding: 30px; }
.move-path-card.active { border-color: var(--gold-dark); background: var(--ink); color: var(--cream); transform: translateY(-10px); box-shadow: var(--shadow-deep); }
.move-path-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-soft); }
.move-path-card:hover figure img,
.move-path-card.active figure img { opacity: 1; transform: scale(1.05); }
.move-path-card h4 { margin: 0 0 20px; font-size: 38px; }
.move-path-card dl { margin: 36px 0 0; }
.move-path-card dl > div { padding: 20px 0; border-top: 1px solid var(--line); }
.move-path-card.active dl > div { border-color: var(--line-dark); }
.move-path-card dt { margin-bottom: 9px; color: var(--gold-dark); font-size: 11px; font-weight: 700; letter-spacing: .16em; }
.move-path-card dd { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.75; }
.move-path-card.active dd { color: rgba(241,234,223,.72); }
.move-path-card > div > span { margin-top: auto; padding-top: 22px; color: var(--gold-dark); font-size: 13px; font-weight: 700; }
.move-path-detail { display: grid; grid-template-columns: .78fr 1.22fr; min-height: 650px; margin-top: 34px; overflow: hidden; color: var(--cream); background: var(--ink); box-shadow: var(--shadow-deep); }
.move-path-detail > figure { position: relative; min-height: 100%; margin: 0; overflow: hidden; }
.move-path-detail > figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,20,16,.82), transparent 65%); }
.move-path-detail > figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s ease; }
.move-path-detail:hover > figure img { transform: scale(1.035); }
.move-path-detail figcaption { position: absolute; z-index: 2; left: 32px; bottom: 30px; color: var(--gold); font-size: 12px; font-weight: 700; letter-spacing: .14em; }
.move-path-detail-copy { padding: clamp(40px, 5vw, 74px); }
.move-path-detail-copy > span { color: var(--gold); font-size: 12px; font-weight: 700; letter-spacing: .16em; }
.move-path-detail-copy h4 { margin: 26px 0 18px; font-family: var(--serif); font-size: clamp(42px, 5vw, 64px); font-weight: 500; }
.move-path-summary { max-width: 720px; color: rgba(241,234,223,.78); font-size: 17px; line-height: 1.9; }
.move-path-detail-copy dl { display: grid; grid-template-columns: 1fr 1fr; margin: 38px 0 0; border-top: 1px solid var(--line-dark); }
.move-path-detail-copy dl > div { min-height: 150px; padding: 24px 24px 22px 0; border-bottom: 1px solid var(--line-dark); }
.move-path-detail-copy dl > div:nth-child(odd) { border-right: 1px solid var(--line-dark); }
.move-path-detail-copy dl > div:nth-child(even) { padding-left: 24px; }
.move-path-detail-copy dt { color: var(--gold); font-size: 11px; font-weight: 700; letter-spacing: .14em; }
.move-path-detail-copy dd { margin: 12px 0 0; color: rgba(241,234,223,.68); font-size: 15px; line-height: 1.75; }
.move-path-timeline { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 32px; }
.move-path-timeline span { position: relative; padding: 38px 12px 0 0; color: rgba(241,234,223,.7); font-size: 12px; line-height: 1.45; }
.move-path-timeline span::before { content: ""; position: absolute; top: 13px; left: 0; width: 100%; border-top: 1px solid var(--line-dark); }
.move-path-timeline i { position: absolute; top: 0; left: 0; z-index: 2; padding-right: 8px; color: var(--gold); background: var(--ink); font-family: var(--serif); font-style: normal; }
.move-process-block { padding-bottom: 100px; }
.move-step-nav { display: grid; grid-template-columns: repeat(5, 1fr); border-block: 1px solid var(--line); }
.move-step-nav button { min-height: 104px; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 22px; border: 0; border-right: 1px solid var(--line); color: var(--muted); background: transparent; text-align: left; transition: background .3s ease, color .3s ease; }
.move-step-nav button:last-child { border-right: 0; }
.move-step-nav button i { color: var(--gold-dark); font-family: var(--serif); font-style: normal; }
.move-step-nav button strong { font-size: 15px; }
.move-step-nav button:hover,
.move-step-nav button.active { color: var(--cream); background: var(--ink); }
.move-detail-grid { display: grid; gap: 18px; margin-top: 42px; }
.move-detail-card { display: grid; grid-template-columns: .7fr 1.3fr; gap: 0; min-height: 560px; padding: 0; overflow: hidden; scroll-margin-top: 150px; border: 1px solid var(--line); color: var(--ink); background: #f7f2e9; transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease; }
.move-detail-card:nth-child(odd) { color: var(--cream); background: var(--ink); }
.move-detail-card.active { border-color: var(--gold-dark); box-shadow: 0 20px 55px rgba(16,32,26,.12); }
.move-detail-card:hover { transform: translateY(-5px); box-shadow: var(--shadow-soft); }
.move-detail-card > figure { position: relative; min-height: 100%; margin: 0; overflow: hidden; background: var(--ink); }
.move-detail-card > figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,20,16,.76), transparent 70%); }
.move-detail-card > figure img { width: 100%; height: 100%; object-fit: cover; transition: transform .7s ease; }
.move-detail-card:hover > figure img { transform: scale(1.04); }
.move-detail-card figcaption { position: absolute; z-index: 2; left: 26px; bottom: 24px; color: var(--gold); font-size: 12px; font-weight: 700; letter-spacing: .14em; }
.move-detail-copy { padding: clamp(38px, 5vw, 66px); }
.move-detail-card h3 { margin: 22px 0 18px; font-family: var(--serif); font-size: clamp(38px, 5vw, 62px); font-weight: 500; }
.move-detail-card p { max-width: 720px; margin: 0; color: var(--muted); font-size: 17px; line-height: 1.9; }
.move-detail-card:nth-child(odd) p { color: rgba(241,234,223,.74); }
.move-detail-card ul { display: grid; gap: 0; margin: 34px 0 0; padding: 0; list-style: none; }
.move-detail-card li { display: flex; align-items: center; min-height: 58px; border-bottom: 1px solid var(--line); font-size: 16px; }
.move-detail-card:nth-child(odd) li { border-color: var(--line-dark); }
.move-detail-card li::before { content: "—"; margin-right: 14px; color: var(--gold); }
.move-timeline { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 42px; }
.move-timeline span { padding: 22px 18px; border-top: 1px solid var(--line); }
.move-timeline i { display: block; margin-bottom: 12px; color: var(--gold-dark); font-family: var(--serif); font-style: normal; }
.move-timeline strong { font-size: 14px; }
.move-transition-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-block: 1px solid var(--line); }
.move-transition-grid article { position: relative; min-height: 430px; overflow: hidden; border-right: 1px solid var(--line-dark); color: var(--cream); background: var(--ink); transition: transform .35s ease; }
.move-transition-grid article::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(7,20,16,.96), rgba(7,20,16,.12) 70%); }
.move-transition-grid article > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .8; transition: transform .7s ease, opacity .4s ease; }
.move-transition-grid article > div { position: absolute; z-index: 2; inset: auto 0 0; padding: 28px; }
.move-transition-grid article:last-child { border-right: 0; }
.move-transition-grid h4 { margin-top: 58px; font-size: 25px; }
.move-transition-grid p { color: rgba(241,234,223,.72); }
.move-transition-grid article:hover { transform: translateY(-7px); }
.move-transition-grid article:hover > img { opacity: 1; transform: scale(1.055); }
@keyframes moveCardIn { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

.buy-page { padding: 72px 0; color: var(--ink); background: #f7f3eb; }
.buy-page::before { display: none; }
.buy-page .luxury-advisory-head { gap: 48px; margin-bottom: 36px; }
.buy-page .luxury-advisory-head h2 { font-size: clamp(32px, 3.5vw, 48px); line-height: 1.3; }
.luxury-advisory-head > p { color: var(--muted); }
.buy-page .luxury-advisory-grid { gap: 16px; border: 0; align-items: start; }
.advisory-dimension { border: 1px solid var(--line); background: #fffaf2; }
.advisory-dimension summary { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: space-between; min-height: 220px; padding: 26px; cursor: pointer; overflow: hidden; list-style: none; }
.advisory-dimension summary::-webkit-details-marker { display: none; }
.advisory-dimension summary img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; }
.advisory-dimension summary::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(247,243,235,.66), rgba(247,243,235,.92)); }
.advisory-dimension summary > span { color: #765425; font-size: 13px; letter-spacing: .08em; }
.buy-page .advisory-dimension h3 { margin: 52px 24px 0 0; color: var(--ink); font-size: 26px; }
.advisory-dimension summary b { position: absolute; right: 22px; bottom: 28px; color: #765425; font-size: 24px; }
.advisory-dimension[open] summary b { transform: rotate(45deg); }
.advisory-dimension[open], .advisory-dimension:hover { border-color: var(--gold-dark); }
.advisory-dimension summary:focus-visible { outline: 2px solid var(--gold-dark); outline-offset: -4px; }
.buy-page .advisory-dimension > p { padding: 24px; margin: 0; border-top: 1px solid var(--line); color: var(--muted); font-family: var(--sans); font-size: 16px; line-height: 1.8; }
.luxury-advisory-grid { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line-dark); }
.luxury-advisory-grid article { min-height: 310px; padding: 36px 30px; border-right: 1px solid var(--line-dark); transition: background .35s ease, transform .35s ease; }
.luxury-advisory-grid article:last-child { border-right: 0; }
.luxury-advisory-grid article:hover { background: rgba(189,150,92,.1); transform: translateY(-8px); }
.luxury-advisory-grid h3 { margin: 80px 0 18px; font-family: var(--serif); font-size: 28px; font-weight: 500; }
.luxury-advisory-grid p { margin: 0; color: rgba(241,234,223,.68); font-size: 15px; }

.city-transaction-overview { padding: 120px 0; background: #e8dece; }
.city-selector { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(170px, 1fr); gap: 12px; margin: 56px 0 28px; padding-bottom: 10px; overflow-x: auto; scrollbar-width: thin; }
.city-selector button { position: relative; height: 150px; padding: 0; overflow: hidden; border: 0; color: white; background: var(--ink); }
.city-selector img { width: 100%; height: 100%; object-fit: cover; opacity: .52; transition: transform .5s ease, opacity .4s ease; }
.city-selector span { position: absolute; inset: auto 18px 16px; z-index: 2; font-family: var(--serif); font-size: 20px; text-align: left; }
.city-selector button:hover img,
.city-selector button.active img { opacity: .86; transform: scale(1.06); }
.city-selector button.active::after { content: ""; position: absolute; inset: auto 0 0; height: 4px; background: var(--gold); }
.city-transaction-profile { background: var(--paper); box-shadow: var(--shadow-soft); }
.city-profile-hero { position: relative; min-height: 480px; overflow: hidden; color: white; }
.city-profile-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(9,24,19,.9), rgba(9,24,19,.15)); }
.city-profile-hero img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1s ease; }
.city-profile-hero:hover img { transform: scale(1.025); }
.city-profile-hero > div { position: relative; z-index: 2; width: min(620px, 72%); padding: clamp(48px, 7vw, 90px); }
.city-profile-hero span { color: var(--gold); font-size: 12px; font-weight: 700; letter-spacing: .14em; }
.city-profile-hero h3 { margin: 90px 0 16px; font-family: var(--serif); font-size: clamp(52px, 7vw, 88px); font-weight: 500; }
.city-profile-hero p { margin: 0; color: rgba(255,255,255,.76); font-size: 17px; }
.city-profile-stats { display: grid; grid-template-columns: repeat(4, 1fr); border-bottom: 1px solid var(--line); }
.city-profile-stats article { padding: 28px; border-right: 1px solid var(--line); }
.city-profile-stats article:last-child { border-right: 0; }
.city-profile-stats small { display: block; color: var(--muted); }
.city-profile-stats strong { display: block; margin-top: 10px; font-family: var(--serif); font-size: 24px; font-weight: 500; }
.city-profile-copy { display: grid; grid-template-columns: repeat(3, 1fr); }
.city-profile-copy article { min-height: 210px; padding: 34px; border-right: 1px solid var(--line); }
.city-profile-copy article:last-child { border-right: 0; }
.city-profile-copy small { color: var(--gold-dark); font-weight: 700; letter-spacing: .12em; }
.city-profile-copy p { color: var(--muted); font-size: 15px; }
.city-profile-source { padding: 18px 34px; border-top: 1px solid var(--line); color: var(--muted); font-size: 12px; }
.city-profile-cases { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; padding: 1px; background: var(--line); }
.city-profile-cases > div { padding: 34px; background: var(--paper); }
.city-profile-cases h4 { margin: 0 0 22px; font-family: var(--serif); font-size: 26px; font-weight: 500; }
.city-profile-case { width: 100%; display: grid; grid-template-columns: 120px 1fr; gap: 18px; align-items: center; margin-top: 10px; padding: 0; border: 1px solid var(--line); background: transparent; text-align: left; transition: transform .3s ease, box-shadow .3s ease; }
.city-profile-case:hover { transform: translateX(6px); box-shadow: 0 12px 30px rgba(16,32,26,.08); }
.city-profile-case img { width: 120px; height: 96px; object-fit: cover; }
.city-profile-case span { display: grid; gap: 4px; padding-right: 14px; }
.city-profile-case small { color: var(--gold-dark); font-size: 10px; letter-spacing: .1em; }
.city-profile-case strong { font-family: var(--serif); font-size: 17px; }
.city-profile-case em { color: var(--muted); font-size: 12px; font-style: normal; }

.classic-cases-section { padding: 120px 0; background: var(--paper); }
.classic-case-filters { display: flex; flex-wrap: wrap; gap: 10px; margin: 44px 0; }
.classic-case-filters button { padding: 12px 20px; border: 1px solid var(--line); background: transparent; color: var(--ink); transition: color .25s ease, background .25s ease; }
.classic-case-filters button:hover,
.classic-case-filters button.active { color: var(--cream); background: var(--ink); }
.classic-case-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.classic-case-card { display: grid; grid-template-columns: 44% 1fr; min-height: 390px; border: 1px solid var(--line); background: var(--surface); cursor: pointer; transition: transform .4s ease, box-shadow .4s ease; }
.classic-case-card:hover { transform: translateY(-8px); box-shadow: var(--shadow-soft); }
.classic-case-card figure { position: relative; min-height: 100%; margin: 0; overflow: hidden; }
.classic-case-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.classic-case-card:hover img { transform: scale(1.04); }
.classic-case-card figure span { position: absolute; inset: 18px auto auto 18px; padding: 7px 9px; color: var(--cream); background: rgba(16,32,26,.78); font-size: 10px; letter-spacing: .12em; }
.classic-case-card > div { display: flex; flex-direction: column; padding: 34px; }
.classic-case-card small { color: var(--gold-dark); letter-spacing: .08em; }
.classic-case-card h3 { margin: 20px 0 16px; font-family: var(--serif); font-size: 30px; font-weight: 500; line-height: 1.25; }
.classic-case-card p { color: var(--muted); font-size: 15px; }
.classic-case-card strong { margin-top: auto; font-family: var(--serif); font-size: 22px; font-weight: 500; }
.classic-case-card em { margin-top: 20px; color: var(--gold-dark); font-style: normal; font-weight: 700; }

@media (max-width: 980px) {
  .business-theme-grid { grid-template-columns: 1fr; }
  .business-theme-card { min-height: 320px; border-right: 0; border-bottom: 1px solid var(--line); }
  .move-intro, .luxury-advisory-head, .move-subhead { grid-template-columns: 1fr; gap: 28px; }
  .move-system-stage { min-height: 900px; }
  .move-system-copy { width: 100%; }
  .move-system-nav { width: 100%; }
  .move-system-detail { right: 0; bottom: 112px; width: 46%; }
  .move-question-grid, .move-path-grid { grid-template-columns: 1fr; }
  .move-question-grid article { min-height: 430px; border-right: 0; border-bottom: 1px solid var(--line); }
  .move-question-grid article:last-child { border-bottom: 0; }
  .move-path-card { min-height: 580px; }
  .move-path-card.active { transform: none; }
  .move-path-detail { grid-template-columns: 1fr; }
  .move-path-detail > figure { min-height: 360px; }
  .move-step-nav { grid-template-columns: repeat(5, minmax(150px, 1fr)); overflow-x: auto; }
  .move-detail-card { grid-template-columns: 1fr; }
  .move-detail-card > figure { min-height: 340px; }
  .move-timeline, .luxury-advisory-grid, .move-transition-grid { grid-template-columns: repeat(2, 1fr); }
  .move-transition-grid article:nth-child(2) { border-right: 0; }
  .move-transition-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .luxury-advisory-grid article:nth-child(2) { border-right: 0; }
  .luxury-advisory-grid article:nth-child(-n+2) { border-bottom: 1px solid var(--line-dark); }
  .city-profile-copy { grid-template-columns: 1fr; }
  .city-profile-copy article { border-right: 0; border-bottom: 1px solid var(--line); }
  .classic-case-grid { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .move-page, .buy-page, .city-transaction-overview, .classic-cases-section { padding: 82px 0; }
  .move-page .section-wrap, .buy-page .section-wrap, .city-transaction-overview .section-wrap, .classic-cases-section .section-wrap { width: calc(100% - 40px); }
  .move-intro h2, .luxury-advisory-head h2, .city-transaction-overview h2, .classic-cases-section h2 { font-size: 39px; }
  .move-system-stage { min-height: 0; padding-top: 310px; }
  .move-system-stage > img,
  .move-system-shade { height: 310px; }
  .move-system-copy { padding: 32px 24px 36px; background: var(--ink); }
  .move-system-copy h3 { margin-top: 24px; font-size: 40px; }
  .move-system-nav { position: relative; grid-template-columns: repeat(5, minmax(150px, 1fr)); width: 100%; overflow-x: auto; }
  .move-system-detail { position: relative; right: auto; bottom: auto; width: 100%; min-height: 240px; }
  .move-content-block { padding: 68px 0; }
  .move-subhead { margin-bottom: 32px; }
  .move-subhead h3 { font-size: 35px; }
  .move-question-grid article { min-height: 420px; }
  .move-question-grid h4 { margin-top: 100px; }
  .move-path-card { min-height: 570px; }
  .move-path-card figure { height: 220px; }
  .move-path-card > div { padding: 26px 22px; }
  .move-path-card h4 { font-size: 33px; }
  .move-path-detail > figure { min-height: 260px; }
  .move-path-detail-copy { padding: 34px 24px; }
  .move-path-detail-copy h4 { font-size: 40px; }
  .move-path-detail-copy dl { grid-template-columns: 1fr; }
  .move-path-detail-copy dl > div,
  .move-path-detail-copy dl > div:nth-child(even) { min-height: 0; padding: 22px 0; border-right: 0; }
  .move-path-timeline { grid-template-columns: 1fr; gap: 0; }
  .move-path-timeline span { padding: 16px 0 16px 42px; border-bottom: 1px solid var(--line-dark); }
  .move-path-timeline span::before { top: 0; bottom: 0; left: 13px; width: 0; border-top: 0; border-left: 1px solid var(--line-dark); }
  .move-path-timeline i { top: 14px; left: 0; padding: 0 8px 0 0; }
  .move-detail-card > figure { min-height: 240px; }
  .move-detail-copy { padding: 30px 24px; }
  .move-detail-card h3 { font-size: 36px; }
  .move-timeline, .luxury-advisory-grid, .move-transition-grid, .city-profile-stats, .city-profile-cases { grid-template-columns: 1fr; }
  .move-transition-grid article { min-height: 250px; border-right: 0; border-bottom: 1px solid var(--line); }
  .luxury-advisory-grid article { min-height: 250px; border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .luxury-advisory-grid h3 { margin-top: 52px; }
  .city-profile-hero { min-height: 420px; }
  .city-profile-hero > div { width: 100%; padding: 36px 26px; }
  .city-profile-hero h3 { margin-top: 100px; font-size: 50px; }
  .city-profile-stats article { border-right: 0; border-bottom: 1px solid var(--line); }
  .classic-case-card { grid-template-columns: 1fr; }
  .classic-case-card figure { min-height: 260px; }
}

@media (prefers-reduced-motion: reduce) {
  .business-theme-card, .move-system-stage img, .move-question-grid img, .move-path-card, .move-path-card img, .move-path-detail img, .move-detail-card, .move-detail-card img, .move-transition-grid article, .move-transition-grid img, .luxury-advisory-grid article, .city-selector img, .city-profile-hero img, .classic-case-card, .classic-case-card img { animation: none !important; transition: none !important; }
}

/* Properties hero: keep the advisory note clear of the bottom category rail. */
@media (min-width: 1101px) {
  body[data-route="properties"] .page-hero-main {
    max-width: 960px;
  }

  body[data-route="properties"] .page-hero h1 {
    max-width: 960px;
    font-size: clamp(54px, 5.2vw, 78px);
  }

  body[data-route="properties"] .page-hero-aside {
    position: absolute;
    right: 0;
    bottom: 176px;
    width: min(430px, 31vw);
    min-height: 176px;
  }
}

@media (min-width: 701px) and (max-width: 1100px) {
  body[data-route="properties"] .page-hero-aside {
    display: none;
  }

  body[data-route="properties"] .page-hero-frame {
    grid-template-columns: 1fr;
  }

  body[data-route="properties"] .page-hero-main {
    max-width: 820px;
  }
}

/* =========================================================
   V32 — IMAGE-LED MARKET COMPASS
   Real listing and city imagery now carries the report rhythm.
   ========================================================= */
.market-layout {
  grid-template-columns: minmax(0, 1.16fr) minmax(390px, .84fr);
  gap: clamp(38px, 5vw, 72px);
  align-items: stretch;
}

.market-compass-card {
  min-height: 720px;
  padding-bottom: 316px;
}

.market-compass-card .report-top,
.market-compass-card h3,
.market-compass-card > p { position: relative; z-index: 3; }
.market-compass-mark { z-index: 3; }

.market-compass-visual {
  position: absolute;
  z-index: 1;
  inset: auto 0 0;
  height: 286px;
  margin: 0;
  overflow: hidden;
  background: #1a261f;
}

.market-compass-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(16,21,19,.92) 0%, rgba(16,21,19,.08) 38%, rgba(8,10,9,.62) 100%),
    linear-gradient(90deg, rgba(8,10,9,.32), transparent 68%);
}

.market-compass-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none;
  transition: transform .75s cubic-bezier(.2,.7,.2,1);
}

.market-compass-card:hover .market-compass-visual img { transform: scale(1.035); }

.market-compass-visual figcaption {
  position: absolute;
  z-index: 2;
  left: 36px;
  right: 36px;
  bottom: 58px;
  display: flex;
  justify-content: space-between;
  gap: 24px;
  color: rgba(247,242,233,.78);
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .16em;
}

.market-compass-visual figcaption strong { color: #d4ad72; font-weight: 650; }
.market-compass-axis { z-index: 4; bottom: 25px; }

.market-notes {
  gap: 0;
  border-top: 1px solid var(--line);
}

.note-with-image {
  grid-template-columns: 96px 34px minmax(0, 1fr) 22px;
  gap: 15px;
  min-height: 116px;
  padding: 14px 0;
  overflow: hidden;
  transition: padding .3s ease, background .3s ease;
}

.note-with-image > figure {
  width: 96px;
  height: 78px;
  margin: 0;
  overflow: hidden;
  background: var(--stone);
}

.note-with-image > figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none;
  transition: transform .5s cubic-bezier(.2,.7,.2,1), filter .35s ease;
}

.note-with-image:hover {
  padding-left: 10px;
  padding-right: 10px;
  background: rgba(196,154,93,.075);
}

.note-with-image:hover figure img { transform: scale(1.08); }
.note-with-image h4 { font-family: var(--serif); font-size: 19px; font-weight: 600; }
.note-with-image p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; font-size: 14px; line-height: 1.65; }

.market-city-board article {
  grid-template-columns: 168px minmax(210px,.55fr) minmax(180px,.38fr) minmax(0,1fr);
  gap: clamp(22px, 3vw, 38px);
  min-height: 170px;
  padding: 20px 0;
}

.market-city-image {
  position: relative;
  width: 100%;
  height: 126px;
  margin: 0;
  overflow: hidden;
  background: var(--stone);
}

.market-city-image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 48%, rgba(6,9,7,.6));
}

.market-city-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none;
  transition: transform .55s cubic-bezier(.2,.7,.2,1);
}

.market-city-image span {
  position: absolute;
  z-index: 2;
  left: 12px;
  bottom: 10px;
  color: #f7f2e9;
  font-size: 9px;
  font-weight: 650;
  letter-spacing: .12em;
}

.market-city-board article:hover .market-city-image img { transform: scale(1.055); }

.market-segment-grid { gap: 12px; background: transparent; border: 0; }
.market-segment-grid article { min-height: 540px; padding: 0; overflow: hidden; background: #fbfaf7; border: 1px solid rgba(20,23,22,.12); }

.market-segment-visual {
  position: relative;
  height: 230px;
  margin: 0;
  overflow: hidden;
  background: var(--stone);
}

.market-segment-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 52%, rgba(6,9,7,.68));
}

.market-segment-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: none;
  transition: transform .65s cubic-bezier(.2,.7,.2,1);
}

.market-segment-grid article:hover .market-segment-visual img { transform: scale(1.055); }

.market-segment-visual > span {
  position: absolute;
  z-index: 2;
  left: 22px;
  bottom: 18px;
  color: #f7f2e9;
  font-size: 10px;
  font-weight: 650;
  letter-spacing: .14em;
}

.market-segment-copy { padding: 30px 30px 36px; }
.market-segment-grid article > .market-segment-copy { display: block; }
.market-segment-copy > div { display: flex; justify-content: space-between; gap: 20px; align-items: baseline; }
.market-segment-copy > div span { font-family: var(--serif); font-size: 29px; }
.market-segment-copy > div i { color: var(--gold); font-size: 10px; font-style: normal; letter-spacing: .14em; }
.market-segment-grid .market-segment-copy h4 { margin: 52px 0 16px; font-size: 19px; }
.market-segment-grid .market-segment-copy p { font-size: 15px; line-height: 1.78; }

@media (max-width: 1100px) {
  .market-layout { grid-template-columns: 1fr; }
  .market-compass-card { min-height: 690px; }
  .market-notes { display: grid; grid-template-columns: 1fr 1fr; }
  .note-with-image { grid-template-columns: 84px 30px minmax(0,1fr) 20px; padding: 14px 12px; border-right: 1px solid var(--line); }
  .note-with-image > figure { width: 84px; height: 70px; }
  .market-report-download,
  .market-notes > .button { margin-inline: 12px; }
  .market-city-board article { grid-template-columns: 138px minmax(190px,.52fr) minmax(0,1fr); }
  .market-city-board article > p { grid-column: 2 / -1; }
  .market-city-image { height: 112px; }
}

@media (max-width: 700px) {
  .market-compass-card { min-height: 710px; padding: 26px 22px 286px; }
  .market-compass-card h3 { margin-top: 28px; font-size: 36px; }
  .market-compass-card > p { font-size: 16px; line-height: 1.72; }
  .market-compass-visual { height: 260px; }
  .market-compass-visual figcaption { left: 22px; right: 22px; bottom: 54px; font-size: 8px; }
  .market-compass-axis { left: 22px; right: 22px; }
  .market-notes { grid-template-columns: 1fr; }
  .note-with-image { grid-template-columns: 82px 28px minmax(0,1fr) 18px; min-height: 108px; padding: 13px 0; border-right: 0; }
  .note-with-image > figure { width: 82px; height: 68px; }
  .note-with-image:hover { padding-left: 0; padding-right: 0; }
  .note-with-image h4 { font-size: 18px; }
  .market-city-board article { grid-template-columns: 1fr; gap: 14px; padding: 24px 0 30px; }
  .market-city-image { height: 210px; }
  .market-city-board article > p { grid-column: auto; }
  .market-segment-grid article { min-height: 0; }
  .market-segment-visual { height: 220px; }
  .market-segment-copy { padding: 26px 22px 32px; }
  .market-segment-grid .market-segment-copy h4 { margin-top: 36px; }
}

/* =========================================================
   V33 — EDITORIAL PERSONAL PORTRAIT
   An asymmetric profile spread with tactile principle cards.
   ========================================================= */
.personal-section {
  padding-top: clamp(24px, 4vw, 58px);
  padding-bottom: clamp(96px, 11vw, 154px);
}

.personal-card {
  --card-x: 78%;
  --card-y: 22%;
  position: relative;
  isolation: isolate;
  grid-template-columns: minmax(360px, .84fr) minmax(0, 1.16fr);
  min-height: 680px;
  overflow: hidden;
  border: 0;
  background: #0c231b;
  box-shadow: 0 38px 100px rgba(11, 28, 22, .22);
}

.personal-card::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  opacity: .44;
  background: radial-gradient(520px circle at var(--card-x) var(--card-y), rgba(198, 157, 92, .16), transparent 58%);
  transition: opacity .55s ease;
}

.personal-card::after {
  content: "";
  position: absolute;
  z-index: 3;
  top: 0;
  right: 0;
  width: 34%;
  height: 2px;
  background: linear-gradient(90deg, transparent, rgba(211, 174, 113, .92));
  transform: scaleX(.32);
  transform-origin: right;
  transition: transform .85s cubic-bezier(.2, .7, .2, 1);
}

.personal-card:hover::before { opacity: .92; }
.personal-card:hover::after { transform: scaleX(1); }

.personal-image {
  position: relative;
  z-index: 1;
  min-height: 680px;
  background: #d7d5ce;
}

.personal-image::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(90deg, transparent 72%, rgba(12, 35, 27, .22)),
    linear-gradient(180deg, transparent 66%, rgba(7, 20, 15, .25));
}

.personal-image img {
  object-position: center 18%;
  filter: saturate(.7) contrast(1.035) brightness(.98) sepia(.025);
  transform: scale(1.015);
  transition: transform 1.2s cubic-bezier(.2, .7, .2, 1), filter .7s ease;
}

.personal-card:hover .personal-image img {
  filter: saturate(.84) contrast(1.045) brightness(1) sepia(0);
  transform: scale(1.055);
}

.personal-copy {
  position: relative;
  z-index: 4;
  justify-content: center;
  padding: clamp(66px, 7.3vw, 104px) clamp(52px, 6.7vw, 96px) clamp(108px, 9vw, 136px);
  background: linear-gradient(112deg, rgba(15, 44, 34, .5), rgba(9, 28, 21, .2));
}

.personal-copy::after {
  content: "";
  width: 72px;
  height: 1px;
  margin-top: 36px;
  background: var(--gold);
  transition: width .65s cubic-bezier(.2, .7, .2, 1);
}

.personal-card:hover .personal-copy::after { width: 126px; }

.personal-copy span {
  display: flex;
  align-items: center;
  gap: 15px;
  font-size: 11px;
  letter-spacing: .22em;
}

.personal-copy span::before {
  content: "";
  width: 32px;
  height: 1px;
  background: currentColor;
}

.personal-copy h2 {
  max-width: 670px;
  margin: 28px 0 26px;
  font-size: clamp(42px, 4.7vw, 68px);
  line-height: 1.08;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.personal-copy p {
  max-width: 610px;
  color: rgba(244, 239, 230, .77);
  font-size: 17px;
  line-height: 1.88;
}

.principles-row {
  position: relative;
  z-index: 6;
  display: flex;
  gap: 12px;
  width: calc(100% - 78px);
  margin: -76px 39px 0;
  border: 0;
  background: transparent;
}

.principle-card {
  --card-x: 70%;
  --card-y: 20%;
  flex: 1 1 0;
  min-width: 0;
  min-height: 226px;
  padding: 30px 30px 28px;
  border: 1px solid rgba(16, 32, 26, .13);
  color: var(--ink);
  background:
    radial-gradient(280px circle at var(--card-x) var(--card-y), rgba(189, 150, 92, .14), transparent 58%),
    rgba(250, 247, 241, .98);
  box-shadow: 0 22px 62px rgba(8, 27, 20, .12);
  isolation: isolate;
  transition:
    flex-grow .56s cubic-bezier(.2, .75, .2, 1),
    transform .56s cubic-bezier(.2, .75, .2, 1),
    color .38s ease,
    border-color .38s ease,
    box-shadow .56s ease,
    background .38s ease;
}

.principle-card::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    radial-gradient(330px circle at var(--card-x) var(--card-y), rgba(208, 168, 103, .28), transparent 52%),
    #133329;
  opacity: 0;
  transition: opacity .42s ease;
}

.principle-card::after {
  content: "↗";
  position: absolute;
  top: 26px;
  right: 28px;
  color: var(--gold);
  font-size: 22px;
  line-height: 1;
  opacity: 0;
  transform: translate(-8px, 8px);
  transition: opacity .4s ease, transform .5s cubic-bezier(.2, .75, .2, 1);
}

.principle-card > span {
  display: inline-block;
  font-size: 17px;
  transition: transform .5s cubic-bezier(.2, .75, .2, 1);
}

.principle-card strong {
  margin: 42px 0 13px;
  font-family: var(--serif);
  font-size: clamp(20px, 1.55vw, 24px);
  font-weight: 650;
  letter-spacing: -.02em;
  transition: transform .5s cubic-bezier(.2, .75, .2, 1);
}

.principle-card small {
  display: block;
  color: #716d64;
  font-size: 15px;
  line-height: 1.72;
  transition: color .35s ease, transform .52s cubic-bezier(.2, .75, .2, 1);
}

@media (hover: hover) and (pointer: fine) {
  .principle-card:hover,
  .principle-card:focus-visible {
    flex-grow: 1.17;
    color: var(--cream);
    border-color: rgba(202, 165, 106, .56);
    box-shadow: 0 34px 76px rgba(7, 24, 18, .25);
    transform: translateY(-13px);
  }

  .principle-card:hover::before,
  .principle-card:focus-visible::before,
  .principle-card:hover::after,
  .principle-card:focus-visible::after { opacity: 1; }

  .principle-card:hover::after,
  .principle-card:focus-visible::after { transform: translate(0, 0); }

  .principle-card:hover > span,
  .principle-card:focus-visible > span,
  .principle-card:hover strong,
  .principle-card:focus-visible strong,
  .principle-card:hover small,
  .principle-card:focus-visible small { transform: translateX(7px); }

  .principle-card:hover small,
  .principle-card:focus-visible small { color: rgba(244, 239, 230, .76); }
}

.principle-card:focus-visible {
  outline: 2px solid var(--gold);
  outline-offset: 4px;
}

@media (max-width: 1060px) {
  .personal-card { grid-template-columns: minmax(320px, .9fr) minmax(0, 1.1fr); min-height: 620px; }
  .personal-image { min-height: 620px; }
  .personal-copy { padding: 58px 44px 106px; }
  .personal-copy h2 { font-size: clamp(38px, 5vw, 54px); }
  .principles-row { width: calc(100% - 48px); margin-inline: 24px; }
  .principle-card { padding-inline: 24px; }
}

@media (max-width: 780px) {
  .personal-section { padding-top: 18px; }
  .personal-card { grid-template-columns: 1fr; min-height: 0; }
  .personal-image { min-height: 0; height: auto; aspect-ratio: 4 / 4.7; }
  .personal-image::after { background: linear-gradient(180deg, transparent 70%, rgba(7, 20, 15, .28)); }
  .personal-copy { padding: 48px 28px 52px; }
  .personal-copy h2 { margin-block: 23px 20px; font-size: clamp(36px, 10vw, 48px); }
  .personal-copy p { font-size: 16px; line-height: 1.8; }
  .principles-row {
    width: calc(100% + 48px);
    margin: 20px -24px 0;
    padding: 10px 24px 30px;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .principles-row::-webkit-scrollbar { display: none; }
  .principle-card {
    flex: 0 0 min(82vw, 340px);
    min-height: 216px;
    scroll-snap-align: center;
  }
  .principle-card::after { opacity: .72; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .personal-card::after,
  .personal-image img,
  .personal-copy::after,
  .principle-card,
  .principle-card::before,
  .principle-card::after,
  .principle-card > span,
  .principle-card strong,
  .principle-card small { transition: none !important; }
}

/* =========================================================
   V34 — ABOUT PAGE REPAIR
   Remove the overlapping portrait-hero note and restore a
   quieter, editorial profile section below the opening.
   ========================================================= */
.page-hero[data-variant="portrait"] .page-hero-frame {
  grid-template-columns: minmax(0, 900px);
  align-items: center;
  padding-top: clamp(132px, 15vh, 170px);
  padding-bottom: 154px;
}

.page-hero[data-variant="portrait"] .page-hero-main {
  max-width: 900px;
  transform: translateY(6px);
}

.page-hero[data-variant="portrait"] .page-hero-aside { display: none; }

.page-hero[data-variant="portrait"] h1 {
  max-width: 900px;
  font-size: clamp(54px, 4.9vw, 74px);
  line-height: 1.12;
}

.page-hero[data-variant="portrait"] .page-hero-main > p { max-width: 680px; }

body[data-route="about"] .about-section {
  position: relative;
  padding: clamp(112px, 10vw, 154px) 0 clamp(124px, 11vw, 170px);
  overflow: hidden;
  background: #f5efe5;
}

body[data-route="about"] .about-section::before {
  content: "";
  position: absolute;
  top: 0;
  left: max(48px, calc((100vw - 1160px) / 2));
  width: 1px;
  height: 82px;
  background: linear-gradient(180deg, var(--gold), transparent);
}

body[data-route="about"] .about-grid {
  position: relative;
  grid-template-columns: minmax(340px, .78fr) minmax(0, 1.22fr);
  gap: clamp(72px, 9vw, 132px);
  align-items: start;
}

body[data-route="about"] .about-portrait {
  position: sticky;
  top: 104px;
  height: min(64vw, 680px);
  min-height: 580px;
  overflow: hidden;
  background: #d9d6cf;
  box-shadow:
    -18px 18px 0 rgba(189, 150, 92, .14),
    0 32px 76px rgba(16, 32, 26, .12);
}

body[data-route="about"] .about-portrait::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border: 1px solid rgba(250, 247, 241, .42);
  background: linear-gradient(180deg, transparent 64%, rgba(8, 24, 18, .3));
}

body[data-route="about"] .about-portrait img {
  object-position: center 18%;
  filter: saturate(.7) contrast(1.03) brightness(.99);
  transform: scale(1.01);
  transition: transform 1s cubic-bezier(.2, .7, .2, 1), filter .6s ease;
}

body[data-route="about"] .about-portrait:hover img {
  filter: saturate(.82) contrast(1.04) brightness(1);
  transform: scale(1.045);
}

body[data-route="about"] .about-portrait span {
  z-index: 2;
  left: 26px;
  bottom: 24px;
  font-size: 10px;
  font-weight: 650;
  line-height: 1.7;
  letter-spacing: .17em;
}

body[data-route="about"] .about-copy {
  padding-top: 30px;
  border-top: 1px solid rgba(16, 32, 26, .2);
}

body[data-route="about"] .about-copy .section-kicker {
  color: var(--gold-dark);
  font-size: 11px;
  letter-spacing: .2em;
}

body[data-route="about"] .about-copy h2 {
  max-width: 720px;
  margin: 32px 0 30px;
  font-size: clamp(48px, 5.1vw, 68px);
  line-height: 1.09;
  letter-spacing: -.045em;
  text-wrap: balance;
}

body[data-route="about"] .about-copy h2 em {
  color: var(--gold-dark);
  font-style: normal;
}

body[data-route="about"] .about-copy > p {
  max-width: 650px;
  margin: 0;
  color: #69655d;
  font-size: 17px;
  line-height: 1.9;
}

/* These two links were repeated again in the full four-item index below. */
body[data-route="about"] .about-links { display: none; }

body[data-route="about"] .about-deep-links {
  max-width: none;
  margin-top: 52px;
}

.about-proof-section {
  padding: clamp(92px, 9vw, 142px) 0;
  overflow: hidden;
  background: #102a22;
  color: #f7f1e7;
}
.about-proof-head {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(320px, .82fr);
  gap: clamp(44px, 7vw, 104px);
  align-items: end;
  padding-bottom: 52px;
  border-bottom: 1px solid rgba(247,241,231,.18);
}
.about-proof-head .section-kicker { color: #d5aa69; }
.about-proof-head h2 {
  max-width: 780px;
  margin: 24px 0 0;
  color: #f7f1e7;
  font-size: clamp(46px, 5vw, 72px);
  line-height: 1.12;
  letter-spacing: -.045em;
}
.about-proof-head h2 em { color: #d5aa69; font-style: normal; }
.about-proof-head > p { margin: 0; color: rgba(247,241,231,.68); font-size: 16px; line-height: 1.9; }
.about-proof-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
  gap: clamp(54px, 8vw, 118px);
  padding-top: 58px;
}
.about-proof-resume article {
  display: grid;
  grid-template-columns: 54px minmax(0,1fr);
  gap: 22px;
  padding: 0 0 28px;
  border-bottom: 1px solid rgba(247,241,231,.13);
}
.about-proof-resume article + article { padding-top: 28px; }
.about-proof-resume article > span { color: #d5aa69; font: 500 18px/1.3 var(--serif); }
.about-proof-resume small { display: block; color: #d5aa69; font-size: 10px; font-weight: 700; letter-spacing: .16em; }
.about-proof-resume h3 { margin: 8px 0 7px; color: #f7f1e7; font: 500 clamp(20px,2vw,27px)/1.35 var(--serif); }
.about-proof-resume p { margin: 0; color: rgba(247,241,231,.65); font-size: 14px; line-height: 1.75; }
.about-proof-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border: 1px solid rgba(213,170,105,.42); }
.about-proof-stats article { min-height: 188px; padding: 27px; border-right: 1px solid rgba(247,241,231,.13); border-bottom: 1px solid rgba(247,241,231,.13); }
.about-proof-stats article:nth-child(2n) { border-right: 0; }
.about-proof-stats article:nth-last-child(-n+2) { border-bottom: 0; }
.about-proof-stats strong { display: block; color: #d5aa69; font: 500 clamp(35px,3.3vw,51px)/1.05 var(--serif); letter-spacing: -.035em; }
.about-proof-stats span { display: block; margin-top: 16px; color: #f7f1e7; font-size: 14px; font-weight: 650; line-height: 1.5; }
.about-proof-stats small { display: block; margin-top: 8px; color: rgba(247,241,231,.45); font-size: 11px; }
.about-proof-sources { display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; margin-top: 20px; }
.about-proof-sources > span { color: rgba(247,241,231,.42); font-size: 10px; font-weight: 700; letter-spacing: .15em; }
.about-proof-sources a { padding-bottom: 3px; border-bottom: 1px solid rgba(213,170,105,.5); color: #d5aa69; font-size: 12px; }

@media (max-width: 980px) {
  .about-proof-head { grid-template-columns: 1fr; gap: 28px; }
  .about-proof-head > p { max-width: 760px; }
  .about-proof-layout { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .about-proof-section { padding-block: 82px; }
  .about-proof-head { padding-bottom: 36px; }
  .about-proof-head h2 { font-size: clamp(38px, 10.8vw, 49px); }
  .about-proof-layout { gap: 42px; padding-top: 42px; }
  .about-proof-resume article { grid-template-columns: 38px minmax(0,1fr); gap: 14px; }
  .about-proof-stats { grid-template-columns: 1fr; }
  .about-proof-stats article { min-height: 0; border-right: 0; }
  .about-proof-stats article:nth-last-child(-n+2) { border-bottom: 1px solid rgba(247,241,231,.13); }
  .about-proof-stats article:last-child { border-bottom: 0; }
}

body[data-route="about"] .about-feature-links {
  border-top: 1px solid rgba(16, 32, 26, .22);
}

body[data-route="about"] .about-feature-links a,
body[data-route="about"] .about-feature-links button {
  position: relative;
  isolation: isolate;
  grid-template-columns: minmax(118px, .25fr) minmax(170px, .42fr) minmax(0, 1fr) 26px;
  min-height: 112px;
  padding: 22px 4px;
  overflow: hidden;
  border-bottom-color: rgba(16, 32, 26, .16);
  transition: padding .45s cubic-bezier(.2, .7, .2, 1), background .35s ease, color .35s ease;
}

body[data-route="about"] .about-feature-links a::before,
body[data-route="about"] .about-feature-links button::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: var(--ink);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform .45s cubic-bezier(.2, .7, .2, 1);
}

body[data-route="about"] .about-feature-links a::after,
body[data-route="about"] .about-feature-links button::after {
  transition: transform .45s cubic-bezier(.2, .7, .2, 1), color .3s ease;
}

@media (hover: hover) and (pointer: fine) {
  body[data-route="about"] .about-feature-links a:hover,
  body[data-route="about"] .about-feature-links button:hover {
    padding-inline: 20px;
    color: var(--cream);
    background: transparent;
  }

  body[data-route="about"] .about-feature-links a:hover::before,
  body[data-route="about"] .about-feature-links button:hover::before { transform: scaleY(1); }

  body[data-route="about"] .about-feature-links a:hover::after,
  body[data-route="about"] .about-feature-links button:hover::after {
    color: var(--gold);
    transform: translateX(6px);
  }

  body[data-route="about"] .about-feature-links a:hover small,
  body[data-route="about"] .about-feature-links button:hover small { color: rgba(241, 234, 223, .7); }
}

@media (max-width: 960px) {
  .page-hero[data-variant="portrait"] .page-hero-frame { grid-template-columns: 1fr; }
  .page-hero[data-variant="portrait"] h1 { max-width: 760px; }
  body[data-route="about"] .about-grid { grid-template-columns: 1fr; gap: 68px; }
  body[data-route="about"] .about-portrait {
    position: relative;
    top: auto;
    width: min(100%, 620px);
    height: min(105vw, 700px);
    min-height: 0;
  }
}

@media (max-width: 700px) {
  .page-hero[data-variant="portrait"] .page-hero-frame { padding-block: 112px 142px; }
  .page-hero[data-variant="portrait"] h1 { font-size: clamp(40px, 11.4vw, 52px); }
  body[data-route="about"] .about-section { padding-block: 92px 112px; }
  body[data-route="about"] .about-section::before { left: 18px; height: 56px; }
  body[data-route="about"] .about-portrait { height: auto; aspect-ratio: 4 / 4.8; box-shadow: -10px 10px 0 rgba(189, 150, 92, .14); }
  body[data-route="about"] .about-copy { padding-top: 24px; }
  body[data-route="about"] .about-copy h2 { margin-block: 26px 22px; font-size: clamp(39px, 11vw, 48px); }
  body[data-route="about"] .about-copy > p { font-size: 16px; line-height: 1.82; }
  body[data-route="about"] .about-deep-links { margin-top: 40px; }
  body[data-route="about"] .about-feature-links a,
  body[data-route="about"] .about-feature-links button {
    grid-template-columns: 1fr 24px;
    gap: 10px 18px;
    min-height: 0;
    padding: 22px 4px;
  }
  body[data-route="about"] .about-feature-links span,
  body[data-route="about"] .about-feature-links strong,
  body[data-route="about"] .about-feature-links small { grid-column: 1; }
  body[data-route="about"] .about-feature-links a::after,
  body[data-route="about"] .about-feature-links button::after { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
}

@media (prefers-reduced-motion: reduce) {
  body[data-route="about"] .about-portrait img,
  body[data-route="about"] .about-feature-links a,
  body[data-route="about"] .about-feature-links button,
  body[data-route="about"] .about-feature-links a::before,
  body[data-route="about"] .about-feature-links button::before { transition: none !important; }
}

/* =========================================================
   V35 — ABOUT INFORMATION ARCHITECTURE
   One introduction, then proof, media, book and contact.
   ========================================================= */
#pageHeroCta[hidden],
.trust-all-link[hidden],
.media-all-link[hidden] { display: none !important; }

body[data-route="about"] #pageHero { order: 1; }
body[data-route="about"] [data-page-section="personal"] { order: 2; }
body[data-route="about"] #trust { order: 3; }
body[data-route="about"] #media { order: 4; }
body[data-route="about"] #book { order: 5; }
body[data-route="about"] #contact { order: 6; }

body[data-route="about"] .personal-section {
  padding-top: clamp(92px, 8vw, 126px);
  padding-bottom: clamp(126px, 11vw, 164px);
}

body[data-route="about"] .about-deep-links { margin-top: 46px; }

.about-story-link {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(138px, .28fr) minmax(220px, .58fr) minmax(0, 1fr) 28px;
  gap: 24px;
  align-items: center;
  min-height: 112px;
  padding: 23px 4px;
  overflow: hidden;
  border-top: 1px solid rgba(16, 32, 26, .22);
  border-bottom: 1px solid rgba(16, 32, 26, .18);
  width: 100%;
  color: inherit;
  background: transparent;
  font: inherit;
  text-align: left;
  transition: padding .45s cubic-bezier(.2, .7, .2, 1), color .35s ease;
}

.about-story-link::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: var(--ink);
  transform: scaleY(0);
  transform-origin: bottom;
  transition: transform .45s cubic-bezier(.2, .7, .2, 1);
}

.about-story-link > span {
  color: var(--gold-dark);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
}

.about-story-link > strong {
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 600;
}

.about-story-link > small {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
  transition: color .35s ease;
}

.about-story-link > i {
  color: var(--gold);
  font-size: 20px;
  font-style: normal;
  transition: transform .4s cubic-bezier(.2, .7, .2, 1);
}

.about-story-link[aria-expanded="true"] > i { transform: rotate(180deg); }
.about-story-link:focus-visible { outline: 2px solid var(--gold); outline-offset: 5px; }

@media (hover: hover) and (pointer: fine) {
  .about-story-link:hover { padding-inline: 20px; color: var(--cream); }
  .about-story-link:hover::before { transform: scaleY(1); }
  .about-story-link:hover > small { color: rgba(241, 234, 223, .68); }
  .about-story-link:hover:not([aria-expanded="true"]) > i { transform: translateY(5px); }
}

.about-story-inline {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  border-bottom: 1px solid rgba(16, 32, 26, .18);
  transition:
    max-height .7s cubic-bezier(.2, .7, .2, 1),
    opacity .45s ease,
    padding .6s cubic-bezier(.2, .7, .2, 1),
    visibility 0s linear .7s;
}

.about-story-inline.open {
  max-height: 1100px;
  padding: 38px 0 14px;
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}

.about-story-inline > p {
  max-width: 720px;
  margin: 0;
  color: #625e56;
  font-size: 17px;
  line-height: 1.9;
  white-space: pre-line;
}

.about-story-inline-principles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 36px;
  background: rgba(16, 32, 26, .16);
  border: 1px solid rgba(16, 32, 26, .16);
}

.about-story-inline-principles article {
  min-height: 180px;
  padding: 24px 22px 26px;
  background: rgba(250, 247, 241, .72);
}

.about-story-inline-principles span {
  color: var(--gold-dark);
  font-family: var(--serif);
  font-size: 15px;
}

.about-story-inline-principles strong {
  display: block;
  margin: 28px 0 10px;
  font-family: var(--serif);
  font-size: 18px;
}

.about-story-inline-principles p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

body[data-route="about"] .trust-all-link,
body[data-route="about"] .media-all-link {
  display: inline-flex;
  align-items: center;
  gap: 28px;
  margin-top: 32px;
  padding-bottom: 8px;
  border-bottom: 1px solid currentColor;
  font-size: 14px;
  font-weight: 600;
  transition: gap .3s ease, color .3s ease;
}

body[data-route="about"] .trust-all-link { color: var(--gold); }
body[data-route="about"] .media-all-link { color: var(--ink); float: right; }

body[data-route="about"] .trust-all-link:hover,
body[data-route="about"] .media-all-link:hover { gap: 40px; color: var(--gold-dark); }

body[data-route="about"] .media-grid {
  grid-template-columns: minmax(0, 1.3fr) repeat(2, minmax(0, 1fr));
}

body[data-route="about"] .media-section::after {
  content: "";
  display: block;
  clear: both;
}

@media (max-width: 900px) {
  .about-story-link { grid-template-columns: minmax(120px, .32fr) minmax(0, 1fr) 24px; }
  .about-story-link > small { grid-column: 2; }
  body[data-route="about"] .media-grid { grid-template-columns: 1fr 1fr; }
  body[data-route="about"] .media-card:first-child { grid-column: 1 / -1; }
  .about-story-inline-principles { grid-template-columns: 1fr; }
  .about-story-inline-principles article { min-height: 0; }
}

@media (max-width: 640px) {
  .about-story-link {
    grid-template-columns: 1fr 24px;
    gap: 9px 18px;
    padding-block: 22px;
  }
  .about-story-link > span,
  .about-story-link > strong,
  .about-story-link > small { grid-column: 1; }
  .about-story-link > i { grid-column: 2; grid-row: 1 / span 3; align-self: center; }
  body[data-route="about"] .media-grid { grid-template-columns: 1fr; }
  body[data-route="about"] .media-card:first-child { grid-column: auto; }
  body[data-route="about"] .media-all-link { float: none; }
  .about-story-inline.open { max-height: 1500px; padding-top: 30px; }
  .about-story-inline > p { font-size: 16px; line-height: 1.82; }
}

@media (prefers-reduced-motion: reduce) {
  .about-story-link,
  .about-story-link::before,
  .about-story-link > i,
  .about-story-inline,
  .trust-all-link,
  .media-all-link { transition: none !important; }
}

/* Buyer page: persistent private-inventory rail */
.buy-offmarket-section {
  position: relative;
  overflow: hidden;
  padding: clamp(92px, 9vw, 146px) 0 clamp(72px, 7vw, 112px);
  background:
    radial-gradient(circle at 88% 4%, rgba(255,255,255,.32), transparent 28%),
    linear-gradient(118deg, #d8c5a3 0%, #e4d5ba 56%, #d4bd94 100%);
  color: #132a22;
}

.buy-offmarket-section::before {
  content: "PRIVATE COLLECTION";
  position: absolute;
  right: -22px;
  top: 40px;
  color: rgba(19,42,34,.055);
  font-family: var(--serif);
  font-size: clamp(72px, 11vw, 190px);
  line-height: .8;
  letter-spacing: -.05em;
  white-space: nowrap;
  pointer-events: none;
}

.buy-offmarket-head {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr);
  gap: clamp(48px, 8vw, 128px);
  align-items: end;
  margin-bottom: clamp(48px, 6vw, 82px);
}

.buy-offmarket-title-block > span {
  display: inline-flex;
  align-items: center;
  gap: 18px;
  color: #8e6128;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .2em;
}

.buy-offmarket-title-block > span::before {
  content: "";
  width: 44px;
  height: 1px;
  background: currentColor;
}

.buy-offmarket-title-block h2 {
  max-width: 760px;
  margin: 22px 0 0;
  font-family: var(--serif);
  font-size: clamp(43px, 5.6vw, 82px);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -.04em;
}

.buy-offmarket-title-block h2 em {
  color: #9b6c34;
  font-style: italic;
  font-weight: 500;
}

.buy-offmarket-intro {
  display: grid;
  gap: 28px;
  padding-bottom: 5px;
}

.buy-offmarket-intro p {
  margin: 0;
  color: rgba(19,42,34,.72);
  font-size: 17px;
  line-height: 1.82;
}

.buy-offmarket-more {
  width: 100%;
  min-height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 0 24px;
  border: 1px solid rgba(19,42,34,.68);
  background: transparent;
  color: #132a22;
  font: inherit;
  font-size: 15px;
  font-weight: 650;
  cursor: pointer;
  transition: color .35s ease, background .35s ease, padding .35s ease;
}

.buy-offmarket-more b { font-size: 21px; font-weight: 400; }
.buy-offmarket-more:hover { padding-inline: 30px; background: #132a22; color: #f4efe6; }

.buy-offmarket-track {
  position: relative;
  z-index: 1;
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: clamp(285px, 23vw, 360px);
  gap: 14px;
  width: calc(100vw - max(48px, (100vw - 1160px) / 2));
  overflow-x: auto;
  overscroll-behavior-x: contain;
  scroll-snap-type: x mandatory;
  padding: 0 0 26px;
  scrollbar-width: thin;
  scrollbar-color: rgba(19,42,34,.54) rgba(19,42,34,.11);
}

.buy-offmarket-track::-webkit-scrollbar { height: 7px; }
.buy-offmarket-track::-webkit-scrollbar-track { background: rgba(19,42,34,.1); }
.buy-offmarket-track::-webkit-scrollbar-thumb { background: rgba(19,42,34,.55); }

.buy-offmarket-card {
  scroll-snap-align: start;
  min-width: 0;
  border: 1px solid rgba(19,42,34,.17);
  background: rgba(244,239,230,.28);
  cursor: pointer;
  transition: transform .4s cubic-bezier(.2,.7,.2,1), background .4s ease, box-shadow .4s ease;
}

.buy-offmarket-card:hover,
.buy-offmarket-card:focus-visible {
  transform: translateY(-8px);
  background: rgba(244,239,230,.58);
  box-shadow: 0 28px 62px rgba(56,42,20,.16);
  outline: none;
}

.buy-offmarket-card figure {
  position: relative;
  aspect-ratio: 1.28;
  margin: 0;
  overflow: hidden;
  background: #24372f;
}

.buy-offmarket-card figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10,18,15,.2), transparent 40%, rgba(10,18,15,.32));
  pointer-events: none;
}

.buy-offmarket-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.88) contrast(1.03);
  transition: transform .85s cubic-bezier(.2,.7,.2,1), filter .6s ease;
}

.buy-offmarket-card:hover img { transform: scale(1.055); filter: saturate(1) contrast(1.04); }

.buy-offmarket-card figure > span,
.buy-offmarket-card figure > small {
  position: absolute;
  z-index: 1;
  top: 18px;
  color: #e4bc76;
  font-size: 13px;
}

.buy-offmarket-card figure > span { left: 20px; font-family: var(--serif); }
.buy-offmarket-card figure > small {
  right: 20px;
  max-width: 64%;
  overflow: hidden;
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .14em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.buy-offmarket-card-body {
  min-height: 280px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 27px 22px 24px;
}

.buy-offmarket-card-body h3 {
  margin: 0;
  font-size: 24px;
  font-weight: 550;
  line-height: 1.24;
  letter-spacing: -.025em;
}

.buy-offmarket-card-body p {
  margin: 12px 0 21px;
  color: rgba(19,42,34,.62);
  font-size: 16px;
}

.buy-offmarket-card-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.buy-offmarket-card-meta span {
  padding: 7px 9px;
  border: 1px solid rgba(19,42,34,.16);
  color: rgba(19,42,34,.68);
  font-size: 13px;
}

.buy-offmarket-card-body > strong {
  margin-top: 24px;
  color: #a34c3b;
  font-family: var(--serif);
  font-size: 27px;
  font-weight: 500;
}

.buy-offmarket-card-body > em {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 24px;
  border-top: 1px solid rgba(19,42,34,.14);
  color: #132a22;
  font-size: 14px;
  font-style: normal;
  font-weight: 650;
}

.buy-offmarket-card-body > em b { font-size: 19px; font-weight: 400; transition: transform .3s ease; }
.buy-offmarket-card:hover .buy-offmarket-card-body > em b { transform: translateX(5px); }

.buy-offmarket-foot {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  gap: 30px;
  padding-top: 12px;
  color: rgba(19,42,34,.6);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .17em;
}
.buy-offmarket-foot i { font-style: normal; }

@media (max-width: 900px) {
  .buy-offmarket-head { grid-template-columns: 1fr; gap: 30px; }
  .buy-offmarket-intro { max-width: 620px; }
  .buy-offmarket-track { width: calc(100vw - 48px); grid-auto-columns: min(74vw, 330px); }
}

@media (max-width: 640px) {
  .buy-offmarket-section { padding-block: 78px 64px; }
  .buy-offmarket-section .section-wrap { width: calc(100% - 40px); }
  .buy-offmarket-title-block > span { font-size: 11px; letter-spacing: .14em; }
  .buy-offmarket-title-block h2 { font-size: clamp(37px, 12vw, 52px); }
  .buy-offmarket-intro p { font-size: 16px; }
  .buy-offmarket-track { width: calc(100vw - 20px); grid-auto-columns: min(84vw, 330px); }
  .buy-offmarket-card-body { min-height: 270px; }
  .buy-offmarket-foot i { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  .buy-offmarket-more,
  .buy-offmarket-card,
  .buy-offmarket-card img,
  .buy-offmarket-card-body > em b { transition: none !important; }
}

/* City atlas + full city decision pages */
.city-atlas-section {
  position: relative;
  overflow: hidden;
  padding: 126px 0 138px;
  background:
    radial-gradient(circle at 84% 12%, rgba(189,150,92,.11), transparent 25%),
    #f4efe6;
  color: #102a22;
}

.city-atlas-section::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: .42;
  background-image: linear-gradient(rgba(16,42,34,.035) 1px, transparent 1px), linear-gradient(90deg, rgba(16,42,34,.035) 1px, transparent 1px);
  background-size: 90px 90px;
}

.city-atlas-section .section-wrap { position: relative; z-index: 1; }

.city-atlas-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr);
  gap: 8vw;
  align-items: end;
  padding-bottom: 52px;
  border-bottom: 1px solid rgba(16,42,34,.17);
}

.city-atlas-heading > div > span,
.city-atlas-kicker,
.city-page-overview header > span,
.city-page-lenses article > span,
.city-page-neighborhoods header > span,
.city-page-cases header > span,
.city-page-faq header > span {
  display: block;
  margin-bottom: 20px;
  color: #a87d43;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .18em;
}

.city-atlas-heading h2 {
  margin: 0;
  color: #102a22;
  font-family: var(--serif);
  font-size: clamp(46px, 5.1vw, 78px);
  font-weight: 400;
  line-height: 1.06;
  letter-spacing: -.035em;
}

.city-atlas-heading h2 em { color: #a47a44; font-style: normal; }

.city-atlas-heading > p {
  max-width: 430px;
  margin: 0 0 7px;
  color: rgba(16,42,34,.67);
  font-size: 17px;
  line-height: 1.85;
}

.city-region-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 34px 0 26px;
}

.city-region-filter button {
  appearance: none;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid rgba(16,42,34,.2);
  background: transparent;
  color: rgba(16,42,34,.68);
  font-size: 14px;
  cursor: pointer;
  transition: color .28s ease, background .28s ease, border-color .28s ease, transform .28s ease;
}

.city-region-filter button:hover,
.city-region-filter button:focus-visible,
.city-region-filter button.active {
  border-color: #102a22;
  background: #102a22;
  color: #f7f1e8;
  transform: translateY(-2px);
}

.city-atlas-layout {
  display: grid;
  grid-template-columns: minmax(500px, 1.14fr) minmax(360px, .86fr);
  gap: 28px;
  align-items: stretch;
}

.city-map-panel {
  display: grid;
  grid-template-rows: minmax(540px, 1fr) auto auto;
  min-width: 0;
  border: 1px solid rgba(16,42,34,.2);
  background: #0c241d;
  box-shadow: 0 35px 80px rgba(13,31,25,.15);
}

.city-boundary-map {
  position: relative;
  min-height: 540px;
  overflow: hidden;
}

.city-boundary-map svg { display: block; width: 100%; height: 100%; min-height: 540px; }

.city-map-bay-line {
  fill: none;
  stroke: rgba(221,190,138,.14);
  stroke-width: 70;
  stroke-linecap: round;
}

.city-map-city path {
  fill: rgba(243,235,221,.11);
  stroke: rgba(221,190,138,.74);
  stroke-width: 1.35;
  vector-effect: non-scaling-stroke;
  outline: none;
  cursor: pointer;
  transition: fill .32s ease, stroke .32s ease, opacity .32s ease, filter .32s ease;
}

.city-map-city text {
  pointer-events: none;
  fill: rgba(250,245,236,.8);
  font-family: Arial, Helvetica, sans-serif;
  font-size: 10px;
  font-weight: 600;
  font-synthesis: none;
  letter-spacing: .012em;
  text-anchor: middle;
  dominant-baseline: middle;
  text-rendering: geometricPrecision;
  paint-order: stroke;
  stroke: rgba(5,18,14,.96);
  stroke-width: 1.5px;
  stroke-linejoin: round;
  transition: fill .22s ease;
}

.city-map-city:hover path,
.city-map-city:focus-within path {
  fill: rgba(201,158,96,.38);
  stroke: #f3d8aa;
}

.city-map-city.active path {
  fill: #c99e60;
  stroke: #f3d8aa;
  filter: drop-shadow(0 8px 13px rgba(0,0,0,.35));
}

.city-map-city:hover text,
.city-map-city:focus-within text { fill: rgba(255,248,237,.9); }
.city-map-city.active text { fill: #fff8ed; }
.city-map-city.muted { opacity: .14; pointer-events: none; }

.city-map-index {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid rgba(243,216,170,.17);
}

.city-map-index button {
  display: flex;
  gap: 12px;
  align-items: center;
  min-height: 56px;
  padding: 0 15px;
  border: 0;
  border-right: 1px solid rgba(243,216,170,.12);
  border-bottom: 1px solid rgba(243,216,170,.12);
  background: transparent;
  color: rgba(249,242,230,.7);
  font-family: var(--serif);
  font-size: 16px;
  text-align: left;
  cursor: pointer;
  transition: color .25s ease, background .25s ease, padding-left .25s ease;
}

.city-map-index button span { color: #c99e60; font-family: var(--sans); font-size: 11px; }
.city-map-index button:hover,
.city-map-index button:focus-visible { padding-left: 18px; background: rgba(201,158,96,.06); color: #fff8ed; }
.city-map-index button.active { padding-left: 20px; background: rgba(201,158,96,.2); color: #fff8ed; box-shadow: inset 3px 0 0 #c99e60; }

.city-map-source {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 17px 20px;
  color: rgba(249,242,230,.45);
  font-size: 12px;
  line-height: 1.5;
}

.city-map-source::before { content: "BOUNDARY DATA"; color: #c99e60; font-weight: 750; letter-spacing: .15em; }

.city-profile-verified {
  margin: 18px 0 0;
  padding-top: 14px;
  border-top: 1px solid rgba(243,216,170,.14);
  color: rgba(249,242,230,.52);
  font-size: 11px;
  line-height: 1.6;
  letter-spacing: .04em;
}

.city-atlas-profile {
  position: sticky;
  top: 102px;
  display: grid;
  grid-template-rows: auto 1fr;
  min-height: 750px;
  align-self: start;
  border: 1px solid rgba(16,42,34,.18);
  background: #fffaf2;
  box-shadow: 0 35px 80px rgba(13,31,25,.12);
}

.city-profile-image { position: relative; width: 100%; min-height: 0; aspect-ratio: 4 / 3; overflow: hidden; margin: 0; }
.city-profile-image picture,
.city-profile-image img { display: block; width: 100%; height: 100%; }
.city-profile-image img { object-fit: cover; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.city-atlas-profile:hover .city-profile-image img { transform: scale(1.045); }
.city-profile-image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 44%, rgba(7,25,19,.64)); }
.city-profile-image > span { position: absolute; z-index: 1; left: 26px; bottom: 22px; color: #fff7ea; font-size: 11px; font-weight: 750; letter-spacing: .16em; }

.city-profile-body { display: flex; flex-direction: column; padding: 34px 38px 37px; }
.city-profile-body > small { color: #a87d43; font-size: 11px; font-weight: 750; letter-spacing: .18em; }
.city-profile-body > h3 { margin: 10px 0 12px; color: #102a22; font-family: var(--serif); font-size: clamp(43px, 4vw, 61px); font-weight: 400; line-height: 1; }
.city-profile-summary { margin: 0; color: rgba(16,42,34,.68); font-size: 16px; line-height: 1.75; }

.city-profile-stats-inline { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 25px 0; background: rgba(16,42,34,.13); }
.city-profile-stats-inline > span { display: flex; min-width: 0; flex-direction: column; gap: 7px; padding: 14px 10px; background: #fffaf2; }
.city-profile-stats-inline small { color: rgba(16,42,34,.55); font-size: 11px; }
.city-profile-stats-inline strong { overflow-wrap: anywhere; color: #102a22; font-family: var(--serif); font-size: 18px; font-weight: 500; }

.city-profile-lens { padding: 19px 0; border-top: 1px solid rgba(16,42,34,.15); border-bottom: 1px solid rgba(16,42,34,.15); }
.city-profile-lens > span { color: #a87d43; font-size: 12px; font-weight: 750; letter-spacing: .11em; }
.city-profile-lens p { margin: 9px 0 0; color: rgba(16,42,34,.75); font-size: 16px; line-height: 1.72; }
.city-profile-market-source { margin: 16px 0 0; color: rgba(16,42,34,.55); font-size: 12px; line-height: 1.65; }
.city-profile-tags { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; }
.city-profile-tags b { padding: 7px 9px; border: 1px solid rgba(16,42,34,.15); color: rgba(16,42,34,.62); font-size: 12px; font-weight: 550; }

.city-profile-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  margin-top: auto;
  padding: 18px 0 5px;
  color: #102a22;
  border-bottom: 1px solid #a87d43;
  font-size: 15px;
  font-weight: 700;
}
.city-profile-link span { color: #a87d43; font-size: 21px; transition: transform .28s ease; }
.city-profile-link:hover span { transform: translateX(7px); }

.market-city-guide-link {
  display: inline-flex;
  margin-top: 16px;
  padding-bottom: 5px;
  border-bottom: 1px solid rgba(16,42,34,.3);
  color: #102a22;
  font-size: 14px;
  font-weight: 700;
}

/* Dedicated city route */
.city-detail-page { position: relative; background: #f5f0e8; color: #102a22; }
.city-detail-page.page-hidden { display: none; }

body[data-route="city"] .topbar:not(.scrolled) {
  border-bottom-color: rgba(255,255,255,.17);
  background: linear-gradient(180deg, rgba(4,15,12,.83), rgba(4,15,12,.32));
  color: #fff8ed;
}
body[data-route="city"] .topbar:not(.scrolled) .desktop-nav a,
body[data-route="city"] .topbar:not(.scrolled) .language-toggle,
body[data-route="city"] .topbar:not(.scrolled) .top-contact-button { color: #fff8ed; border-color: rgba(255,255,255,.52); }

.city-page-hero {
  position: relative;
  display: grid;
  min-height: min(900px, 100vh);
  overflow: hidden;
  background: #091d17;
}
.city-page-hero > picture,
.city-page-hero > picture img,
.city-page-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.city-page-hero > picture img { object-fit: cover; animation: cityHeroReveal 1.2s cubic-bezier(.2,.7,.2,1) both; }
.city-page-hero-shade { background: linear-gradient(90deg, rgba(5,19,15,.94) 0%, rgba(5,19,15,.76) 40%, rgba(5,19,15,.25) 73%, rgba(5,19,15,.08)), linear-gradient(0deg, rgba(5,19,15,.58), transparent 50%); }
@keyframes cityHeroReveal { from { opacity: .35; transform: scale(1.07); } to { opacity: 1; transform: scale(1); } }

.city-page-hero-copy {
  position: relative;
  z-index: 2;
  align-self: center;
  width: min(690px, calc(100% - 110px));
  margin: 74px 0 0 max(6vw, 54px);
  color: #fff8ed;
}
.city-page-hero-copy > a { display: inline-flex; margin-bottom: 72px; color: rgba(255,248,237,.68); font-size: 14px; }
.city-page-hero-copy > span { display: block; color: #d5aa69; font-size: 12px; font-weight: 750; letter-spacing: .2em; }
.city-page-hero-copy h1 { margin: 18px 0 24px; font-family: var(--serif); font-size: clamp(78px, 10.8vw, 168px); font-weight: 400; line-height: .86; letter-spacing: -.055em; }
.city-page-hero-copy p { max-width: 630px; margin: 0; color: rgba(255,248,237,.76); font-size: 19px; line-height: 1.82; }

.city-page-map {
  position: absolute;
  z-index: 3;
  right: 4.5vw;
  bottom: 5vw;
  width: min(31vw, 420px);
  aspect-ratio: 1.18;
  overflow: hidden;
  border: 1px solid rgba(236,202,146,.42);
  background: rgba(6,26,20,.82);
  box-shadow: 0 35px 80px rgba(0,0,0,.32);
  backdrop-filter: blur(14px);
}
.city-page-map::before { content: none; display: none; }
.city-page-map svg { width: 100%; height: 100%; }
.city-page-map .city-map-city:not(.active) { opacity: .16; }

.city-page-content { padding-top: 132px; padding-bottom: 138px; }

.city-page-market-read {
  margin: 52px 0 112px;
  padding: 48px 54px 52px;
  border: 1px solid rgba(16,42,34,.18);
  background: linear-gradient(135deg, #102a22, #183a30);
  color: #f7f0e5;
}
.city-page-market-read > header { display: flex; justify-content: space-between; gap: 24px; padding-bottom: 24px; border-bottom: 1px solid rgba(247,240,229,.18); }
.city-page-market-read > header span { color: #d2a35e; font-size: 11px; font-weight: 750; letter-spacing: .18em; }
.city-page-market-read > header small { color: rgba(247,240,229,.58); font-size: 12px; }
.city-page-market-read > div { display: grid; grid-template-columns: minmax(280px,.8fr) minmax(0,1.2fr); gap: 7vw; padding-top: 42px; }
.city-page-market-read h2 { margin: 0; font-family: var(--serif); font-size: clamp(46px,5.2vw,76px); font-weight: 400; line-height: 1.05; letter-spacing: -.04em; }
.city-page-market-read h2 em { color: #d2a35e; font-style: normal; }
.city-page-market-read > div > p { margin: 0; color: rgba(247,240,229,.82); font-size: 18px; line-height: 1.85; }
.city-page-market-read aside { grid-column: 2; display: grid; gap: 10px; padding-top: 24px; border-top: 1px solid rgba(247,240,229,.16); }
.city-page-market-read aside b { color: #d2a35e; font-size: 10px; letter-spacing: .15em; }
.city-page-market-read aside span { color: rgba(247,240,229,.58); font-size: 13px; line-height: 1.7; }
.city-page-market-read aside a { width: max-content; color: #f1c57f; font-size: 13px; border-bottom: 1px solid rgba(241,197,127,.55); }

.city-page-overview {
  display: grid;
  grid-template-columns: minmax(320px, .78fr) minmax(0, 1.22fr);
  gap: 8vw;
  padding-bottom: 112px;
}
.city-page-overview header { position: sticky; top: 120px; align-self: start; }
.city-page-overview h2,
.city-page-neighborhoods header h2,
.city-page-cases header h2,
.city-page-faq header h2 {
  margin: 0;
  font-family: var(--serif);
  font-size: clamp(48px, 5.4vw, 78px);
  font-weight: 400;
  line-height: 1.06;
  letter-spacing: -.04em;
}
.city-page-overview h2 em { color: #a87d43; font-style: normal; }
.city-page-overview header > p { margin: 28px 0 0; color: rgba(16,42,34,.68); font-size: 17px; line-height: 1.8; }

.city-page-facts { border-top: 1px solid rgba(16,42,34,.18); }
.city-page-facts article { display: grid; grid-template-columns: 52px minmax(128px,148px) minmax(0,1fr); gap: 24px; align-items: start; padding: 30px 0; border-bottom: 1px solid rgba(16,42,34,.18); transition: background-color .2s ease, box-shadow .2s ease; }
.city-page-facts article:hover { background: rgba(189,150,92,.055); box-shadow: inset 4px 0 #b88a4e; }
.city-page-facts article > span { color: #a87d43; font-family: var(--serif); font-size: 18px; }
.city-page-facts article small,
.city-page-facts article p,
.city-school-source { font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Source Han Sans SC", var(--sans); font-synthesis: none; text-shadow: none; -webkit-font-smoothing: antialiased; text-rendering: geometricPrecision; }
.city-page-facts article small { color: #102a22; font-size: 14px; font-weight: 600; }
.city-fact-value { min-width: 0; }
.city-page-facts article p { margin: 0; color: rgba(16,42,34,.72); font-size: 16px; font-weight: 400; line-height: 1.72; }
.city-fact-schools { background: rgba(189,150,92,.035); }
.city-school-copy { display: grid; gap: 0; }
.city-school-copy span { display: grid; grid-template-columns: 104px minmax(0,1fr); gap: 16px; padding: 9px 0; border-bottom: 1px solid rgba(16,42,34,.1); }
.city-school-copy span:first-child { padding-top: 0; }
.city-school-copy span:last-child { border-bottom: 0; }
.city-school-copy b { color: #102a22; font-size: 13px; font-weight: 650; }
.city-school-copy i { color: rgba(16,42,34,.74); font-style: normal; }
.city-school-links { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 14px; }
.city-school-source { display: inline-flex; padding-bottom: 4px; border-bottom: 1px solid rgba(168,125,67,.5); color: #8e642d; font-size: 13px; font-weight: 600; }

.city-page-lenses { display: grid; grid-template-columns: 1fr 1fr; margin-bottom: 124px; }
.city-page-lenses article { position: relative; overflow: hidden; min-height: 460px; padding: 64px; background: #102a22; color: #f7f0e5; }
.city-page-lenses article:last-child { background: #bf9458; color: #102a22; }
.city-page-lenses article::after { content: ""; position: absolute; right: -100px; bottom: -150px; width: 380px; aspect-ratio: 1; border: 1px solid currentColor; border-radius: 50%; opacity: .09; transition: transform .8s ease; }
.city-page-lenses article:hover::after { transform: translate(-35px,-25px) scale(.86); }
.city-page-lenses article > span { color: #d6aa68; }
.city-page-lenses article:last-child > span { color: #173229; }
.city-page-lenses h2 { margin: 0 0 25px; font-family: var(--serif); font-size: clamp(41px, 4.1vw, 62px); font-weight: 400; line-height: 1.08; }
.city-page-lenses p { position: relative; z-index: 1; max-width: 540px; margin: 0; color: inherit; opacity: .75; font-size: 17px; line-height: 1.83; }
.city-page-lenses a { position: absolute; z-index: 1; left: 64px; bottom: 58px; padding-bottom: 7px; border-bottom: 1px solid currentColor; color: inherit; font-size: 15px; font-weight: 700; }

.city-page-neighborhoods,
.city-page-cases,
.city-page-faq { padding: 112px 0; border-top: 1px solid rgba(16,42,34,.18); }
.city-page-neighborhoods > header { display: grid; grid-template-columns: .95fr 1fr; column-gap: 9vw; align-items: end; margin-bottom: 55px; }
.city-page-neighborhoods > header > span { grid-column: 1 / -1; }
.city-page-neighborhoods > header > p { margin: 0; color: rgba(16,42,34,.65); font-size: 17px; line-height: 1.8; }
.city-page-neighborhoods > div { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid rgba(16,42,34,.2); border-left: 1px solid rgba(16,42,34,.2); }
.city-page-neighborhoods article { position: relative; min-height: 300px; padding: 30px 27px; overflow: hidden; border-right: 1px solid rgba(16,42,34,.2); border-bottom: 1px solid rgba(16,42,34,.2); transition: color .32s ease, transform .32s ease; }
.city-page-neighborhoods article::before { content: ""; position: absolute; inset: 100% 0 0; z-index: -1; background: #102a22; transition: inset .38s cubic-bezier(.2,.7,.2,1); }
.city-page-neighborhoods article:hover { color: #f8f1e6; transform: translateY(-8px); }
.city-page-neighborhoods article:hover::before { inset: 0; }
.city-page-neighborhoods article > span { color: #a87d43; font-family: var(--serif); font-size: 18px; }
.city-page-neighborhoods article > small { display: block; margin: 42px 0 9px; color: #a87d43; font-size: 11px; font-weight: 750; letter-spacing: .14em; }
.city-page-neighborhoods article h3 { margin: 0 0 14px; font-family: var(--serif); font-size: 27px; font-weight: 500; line-height: 1.15; }
.city-page-neighborhoods article p { margin: 0; color: currentColor; opacity: .67; font-size: 15px; line-height: 1.7; }

.city-page-cases > header,
.city-page-faq > header { display: flex; align-items: end; justify-content: space-between; margin-bottom: 48px; }
.city-page-cases > div { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.city-page-case { display: grid; min-height: 480px; border: 1px solid rgba(16,42,34,.16); background: #fffaf2; cursor: pointer; transition: transform .35s ease, box-shadow .35s ease; }
.city-page-case:hover { transform: translateY(-10px); box-shadow: 0 28px 60px rgba(16,42,34,.14); }
.city-page-case img { width: 100%; height: 260px; object-fit: cover; transition: transform .7s ease; }
.city-page-case:hover img { transform: scale(1.035); }
.city-page-case > div { display: flex; flex-direction: column; padding: 27px; }
.city-page-case small { color: #a87d43; font-size: 11px; font-weight: 750; letter-spacing: .14em; }
.city-page-case .case-role-badge { align-self: flex-start; display: inline-flex; padding: 8px 11px; background: #b88a4a; color: #fffaf2; font-size: 12px; letter-spacing: .08em; line-height: 1; }
.city-page-case .case-type-label { margin-top: 13px; color: rgba(16,42,34,.58); font-size: 12px; font-weight: 700; letter-spacing: .08em; }
.city-page-case h3 { margin: 13px 0; font-family: var(--serif); font-size: 27px; font-weight: 500; }
.city-page-case p { margin: 0; color: rgba(16,42,34,.64); font-size: 15px; line-height: 1.65; }
.city-page-case .city-page-case-summary { margin-top: 10px; display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.city-page-case span { margin-top: auto; color: #102a22; font-size: 14px; font-weight: 700; }
.city-page-empty { grid-column: 1 / -1; padding: 50px; border: 1px dashed rgba(16,42,34,.22); color: rgba(16,42,34,.58); font-size: 16px; }
.city-page-empty strong { display: block; margin-bottom: 12px; color: #102a22; font-family: var(--serif); font-size: 27px; font-weight: 500; }
.city-page-empty p { max-width: 760px; margin: 0 0 22px; line-height: 1.8; }
.city-page-empty a { color: #8f672e; font-size: 13px; font-weight: 750; letter-spacing: .04em; text-decoration: none; border-bottom: 1px solid rgba(143,103,46,.38); }

.city-page-faq > div { border-top: 1px solid rgba(16,42,34,.2); }
.city-page-faq details { border-bottom: 1px solid rgba(16,42,34,.2); }
.city-page-faq summary { display: grid; grid-template-columns: 55px 1fr 32px; gap: 20px; align-items: center; min-height: 86px; cursor: pointer; list-style: none; }
.city-page-faq summary::-webkit-details-marker { display: none; }
.city-page-faq summary span { color: #a87d43; font-family: var(--serif); font-size: 18px; }
.city-page-faq summary strong { font-family: var(--serif); font-size: 24px; font-weight: 500; }
.city-page-faq summary b { color: #a87d43; font-size: 24px; font-weight: 400; transition: transform .3s ease; }
.city-page-faq details[open] summary b { transform: rotate(45deg); }
.city-page-faq details > p { max-width: 800px; margin: 0 0 32px 75px; color: rgba(16,42,34,.67); font-size: 16px; line-height: 1.8; }

.city-page-source { display: grid; grid-template-columns: 160px 1fr auto; gap: 28px; align-items: start; margin-top: 30px; padding: 42px 0 0; border-top: 1px solid rgba(16,42,34,.2); }
.city-page-source > span { color: #a87d43; font-size: 11px; font-weight: 750; letter-spacing: .15em; }
.city-page-source > p { margin: 0; color: rgba(16,42,34,.58); font-size: 14px; line-height: 1.7; }
.city-page-source > a:not(.button) { color: #102a22; font-size: 13px; }
.city-page-source .button { grid-column: 3; grid-row: 1 / span 2; min-width: 190px; justify-content: space-between; }
.city-page-map-kind {
  position: absolute;
  top: 18px;
  left: 20px;
  z-index: 4;
  color: #d8ad68;
  font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  font-size: 12px;
  font-weight: 600;
  font-synthesis: none;
  line-height: 1.4;
  letter-spacing: .035em;
  text-shadow: none;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
.city-data-stamp { display: grid; grid-template-columns: 140px 230px 1fr; gap: 24px; align-items: start; margin: 34px 0 0; padding: 20px 0; border-bottom: 1px solid rgba(16,42,34,.18); color: rgba(16,42,34,.64); }
.city-data-stamp span { color: #a87d43; font-size: 10px; font-weight: 750; letter-spacing: .15em; }
.city-data-stamp strong { color: #102a22; font-size: 13px; font-weight: 650; }
.city-data-stamp p { margin: 0; font-size: 13px; line-height: 1.65; }
.case-verified-at { display: block; margin-top: 12px; color: rgba(16,42,34,.5); font-size: 11px; font-style: normal; letter-spacing: .04em; }
.city-source-links { display: flex; flex-wrap: wrap; gap: 10px 18px; }
.city-source-links a { color: #102a22; font-size: 12px; text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 1080px) {
  .city-atlas-layout { grid-template-columns: minmax(450px, 1fr) minmax(330px, .78fr); }
  .city-map-index { grid-template-columns: repeat(2, 1fr); }
  .city-profile-body { padding-inline: 28px; }
  .city-page-neighborhoods > div { grid-template-columns: repeat(2, 1fr); }
  .city-page-map { width: min(34vw, 380px); }
}

@media (max-width: 720px) {
  .city-data-stamp { grid-template-columns: 1fr; gap: 8px; }
  .city-page-map-kind { top: 14px; left: 14px; max-width: 190px; font-size: 11px; line-height: 1.45; }
}

@media (max-width: 860px) {
  .city-atlas-section { padding: 94px 0 104px; }
  .city-atlas-section .section-wrap { width: min(100% - 44px, 760px); }
  .city-atlas-heading { grid-template-columns: 1fr; gap: 27px; }
  .city-atlas-layout { grid-template-columns: 1fr; }
  .city-map-panel { grid-template-rows: minmax(500px, 1fr) auto auto; }
  .city-boundary-map,
  .city-boundary-map svg { min-height: 500px; }
  .city-atlas-profile { position: relative; top: auto; grid-template-columns: .8fr 1.2fr; grid-template-rows: auto; min-height: 560px; }
  .city-profile-image { align-self: start; min-height: 0; aspect-ratio: 4 / 3; }
  .city-page-hero { min-height: 820px; }
  .city-page-map { right: 5vw; bottom: 4vw; width: 310px; }
  .city-page-overview { grid-template-columns: 1fr; gap: 55px; }
  .city-page-market-read > div { grid-template-columns: 1fr; gap: 28px; }
  .city-page-market-read aside { grid-column: 1; }
  .city-page-overview header { position: relative; top: auto; }
  .city-page-lenses article { min-height: 500px; padding: 45px; }
  .city-page-lenses a { left: 45px; }
  .city-page-cases > div { grid-template-columns: repeat(2, 1fr); }
  .city-page-source { grid-template-columns: 130px 1fr; }
  .city-page-source .button { grid-column: 1 / -1; grid-row: auto; width: max-content; }
}

@media (max-width: 640px) {
  .city-atlas-section { padding: 76px 0 84px; }
  .city-atlas-section .section-wrap { width: calc(100% - 32px); }
  .city-atlas-heading { padding-bottom: 34px; }
  .city-atlas-heading h2 { font-size: clamp(41px, 12vw, 57px); }
  .city-atlas-heading > p { font-size: 16px; }
  .city-region-filter { display: grid; grid-auto-flow: column; grid-auto-columns: max-content; overflow-x: auto; margin: 24px -16px 18px; padding: 0 16px 10px; scrollbar-width: none; }
  .city-region-filter::-webkit-scrollbar { display: none; }
  .city-map-panel { grid-template-rows: 410px auto auto; }
  .city-boundary-map,
  .city-boundary-map svg { min-height: 410px; }
  .city-map-index { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(154px, 45vw); grid-template-columns: none; overflow-x: auto; border-top-color: rgba(243,216,170,.18); scroll-snap-type: x proximity; }
  .city-map-index button { scroll-snap-align: start; font-size: 16px; }
  .city-map-source { flex-direction: column; gap: 7px; font-size: 11px; }
  .city-atlas-profile { grid-template-columns: 1fr; grid-template-rows: auto auto; min-height: 0; }
  .city-profile-body { padding: 28px 24px 30px; }
  .city-profile-body > h3 { font-size: 46px; }
  .city-profile-summary,
  .city-profile-lens p { font-size: 16px; }

  .city-page-hero { min-height: 760px; }
  .city-page-hero-shade { background: linear-gradient(180deg, rgba(5,19,15,.58), rgba(5,19,15,.92) 72%, rgba(5,19,15,.98)); }
  .city-page-hero-copy { align-self: end; width: calc(100% - 40px); margin: 0 20px 235px; }
  .city-page-hero-copy > a { margin-bottom: 36px; }
  .city-page-hero-copy h1 { margin: 14px 0 20px; font-size: clamp(65px, 21vw, 100px); }
  .city-page-hero-copy p { font-size: 16px; line-height: 1.68; }
  .city-page-map { right: 20px; bottom: 18px; left: 20px; width: auto; height: 190px; aspect-ratio: auto; }
  .city-page-map::before { top: 14px; left: 16px; }

  .city-page-content { width: calc(100% - 40px); padding-top: 82px; padding-bottom: 90px; }
  .city-page-market-read { margin: 34px 0 78px; padding: 30px 24px 34px; }
  .city-page-market-read > header { display: grid; gap: 8px; }
  .city-page-market-read > div { padding-top: 30px; }
  .city-page-market-read > div > p { font-size: 16px; }
  .city-page-overview { padding-bottom: 78px; }
  .city-page-overview h2,
  .city-page-neighborhoods header h2,
  .city-page-cases header h2,
  .city-page-faq header h2 { font-size: clamp(41px, 12vw, 58px); }
  .city-page-overview header > p { font-size: 16px; }
  .city-page-facts article { grid-template-columns: 40px 1fr; gap: 12px; }
  .city-page-facts article small { font-size: 15px; }
  .city-page-facts .city-fact-value { grid-column: 2; }
  .city-page-facts article p { font-size: 16px; }
  .city-school-copy span { grid-template-columns: 1fr; gap: 3px; padding: 10px 0; }
  .city-school-links { display: grid; justify-items: start; }
  .city-page-lenses { grid-template-columns: 1fr; margin-bottom: 80px; }
  .city-page-lenses article { min-height: 440px; padding: 38px 25px; }
  .city-page-lenses h2 { font-size: 44px; }
  .city-page-lenses p { font-size: 16px; }
  .city-page-lenses a { left: 25px; bottom: 34px; }
  .city-page-neighborhoods,
  .city-page-cases,
  .city-page-faq { padding: 78px 0; }
  .city-page-neighborhoods > header { display: block; }
  .city-page-neighborhoods > header > p { margin-top: 22px; font-size: 16px; }
  .city-page-neighborhoods > div { grid-template-columns: 1fr; }
  .city-page-neighborhoods article { min-height: 250px; }
  .city-page-neighborhoods article:hover { transform: none; }
  .city-page-cases > div { display: grid; grid-auto-flow: column; grid-auto-columns: 84vw; grid-template-columns: none; overflow-x: auto; margin-right: -20px; padding-right: 20px; scroll-snap-type: x mandatory; }
  .city-page-case { min-height: 450px; scroll-snap-align: start; }
  .city-page-cases > header,
  .city-page-faq > header { display: block; }
  .city-page-faq summary { grid-template-columns: 38px 1fr 25px; gap: 11px; min-height: 82px; }
  .city-page-faq summary strong { font-size: 20px; line-height: 1.35; }
  .city-page-faq details > p { margin: 0 0 28px 49px; font-size: 16px; }
  .city-page-source { grid-template-columns: 1fr; gap: 13px; }
  .city-page-source .button { grid-column: 1; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .city-map-city path,
  .city-map-city text,
  .city-region-filter button,
  .city-profile-image img,
  .city-profile-link span,
  .city-page-hero > picture img,
  .city-page-facts article,
  .city-page-lenses article::after,
  .city-page-neighborhoods article,
  .city-page-neighborhoods article::before,
  .city-page-case,
  .city-page-case img,
  .market-city-guide-link,
  .market-city-guide-link b,
  .city-page-map-controls button { animation: none !important; transition: none !important; }
}

/* V66 — keep the city atlas canvas stable while city profiles update */
.city-atlas-layout {
  align-items: start;
}

.city-map-panel {
  align-self: start;
  grid-template-rows: auto auto auto;
}

.city-boundary-map {
  min-height: 0;
  aspect-ratio: 760 / 620;
  contain: layout paint;
  isolation: isolate;
}

.city-boundary-map svg {
  width: 100%;
  height: 100%;
  min-height: 0;
}

@media (max-width: 860px) {
  .city-boundary-map {
    height: 500px;
    aspect-ratio: auto;
  }
}

@media (max-width: 640px) {
  .city-boundary-map {
    height: 410px;
  }
}

/* V55 — city row CTA alignment and accurate interactive city maps */
.city-page-map::before { pointer-events: none; }
.city-page-map-stage .city-map-city path { cursor: inherit; }

.market-city-board article {
  grid-template-columns: 168px minmax(200px, .48fr) minmax(150px, .34fr) minmax(240px, 1fr) 220px;
  gap: clamp(18px, 2.2vw, 34px);
}

.market-city-board article > .market-city-image { grid-column: 1; grid-row: 1; }
.market-city-board article > div { grid-column: 2; grid-row: 1; }
.market-city-board article > span { grid-column: 3; grid-row: 1; }
.market-city-board article > p { grid-column: 4; grid-row: 1; }

.market-city-guide-link {
  grid-column: 5;
  grid-row: 1;
  justify-self: end;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  width: 220px;
  min-height: 58px;
  margin: 0;
  padding: 0 17px 0 19px;
  border: 1px solid rgba(16,42,34,.62);
  color: #102a22;
  background: transparent;
  font-size: 14px;
  font-weight: 750;
  letter-spacing: .02em;
  transition: color .3s ease, background-color .3s ease, border-color .3s ease, transform .3s ease;
}

.market-city-guide-link b {
  color: #a87d43;
  font-size: 20px;
  font-weight: 400;
  transition: color .3s ease, transform .3s ease;
}

.market-city-guide-link:hover,
.market-city-guide-link:focus-visible {
  border-color: #102a22;
  background: #102a22;
  color: #fff8ed;
  transform: translateY(-2px);
}

.market-city-guide-link:hover b,
.market-city-guide-link:focus-visible b {
  color: #d5aa69;
  transform: translateX(5px);
}

.city-page-map-stage {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.city-page-map-stage svg {
  width: 100%;
  height: 100%;
  cursor: zoom-in;
  touch-action: none;
  user-select: none;
}

.city-page-map.is-zoomed .city-page-map-stage svg { cursor: grab; }
.city-page-map.is-dragging .city-page-map-stage svg { cursor: grabbing; }
.city-page-map .city-map-city.active path { stroke-width: 2; }

.city-page-map-controls {
  position: absolute;
  z-index: 5;
  top: 14px;
  right: 14px;
  display: flex;
  gap: 5px;
}

.city-page-map-controls button {
  display: grid;
  place-items: center;
  width: 37px;
  height: 37px;
  padding: 0;
  border: 1px solid rgba(236,202,146,.38);
  border-radius: 0;
  background: rgba(6,26,20,.78);
  color: #fff8ed;
  font-size: 19px;
  line-height: 1;
  cursor: pointer;
  backdrop-filter: blur(8px);
  transition: color .25s ease, background-color .25s ease, border-color .25s ease;
}

.city-page-map-controls button:hover,
.city-page-map-controls button:focus-visible {
  border-color: #d5aa69;
  background: #d5aa69;
  color: #102a22;
}

.city-page-map > small {
  position: absolute;
  z-index: 5;
  left: 22px;
  bottom: 17px;
  color: rgba(255,248,237,.58);
  font-size: 10px;
  letter-spacing: .08em;
  pointer-events: none;
}

@media (max-width: 1280px) {
  .market-city-board article {
    grid-template-columns: 138px minmax(170px, .46fr) minmax(0, 1fr) 190px;
  }
  .market-city-board article > .market-city-image { grid-column: 1; grid-row: 1 / span 2; }
  .market-city-board article > div { grid-column: 2; grid-row: 1 / span 2; }
  .market-city-board article > span { grid-column: 3; grid-row: 1; }
  .market-city-board article > p { grid-column: 3; grid-row: 2; }
  .market-city-guide-link { grid-column: 4; grid-row: 1 / span 2; width: 190px; }
}

@media (max-width: 760px) {
  .market-city-board article {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 24px 0 30px;
  }
  .market-city-board article > .market-city-image,
  .market-city-board article > div,
  .market-city-board article > span,
  .market-city-board article > p,
  .market-city-guide-link {
    grid-column: 1;
    grid-row: auto;
  }
  .market-city-board article > p { font-size: 16px; line-height: 1.7; }
  .market-city-guide-link { justify-self: stretch; width: 100%; min-height: 60px; }
  .city-page-map-controls { top: 11px; right: 11px; }
  .city-page-map-controls button { width: 34px; height: 34px; }
  .city-page-map > small { left: 16px; bottom: 12px; font-size: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  .market-city-guide-link,
  .market-city-guide-link b,
  .city-page-map-controls button { animation: none !important; transition: none !important; }
}

/* V61 — Daydreamer methodology: three complete editorial insight overlays */
.principle-card > i {
  display: block;
  margin-top: 18px;
  color: #a77d42;
  font-size: 11px;
  font-style: normal;
  font-weight: 750;
  letter-spacing: .08em;
  opacity: .82;
  transition: color .35s ease, transform .5s cubic-bezier(.2,.75,.2,1);
}

@media (hover: hover) and (pointer: fine) {
  .principle-card:hover > i,
  .principle-card:focus-visible > i { color: #f0c883; transform: translateX(7px); }
}

body.principle-insight-open { overflow: hidden; }

.principle-insight-modal {
  position: fixed;
  z-index: 1000;
  inset: 0;
  display: none;
  overflow-y: auto;
  overscroll-behavior: contain;
  background: rgba(7,22,17,.82);
  scrollbar-gutter: stable;
}

.principle-insight-modal.open { display: block; }
.principle-insight-dialog { position: relative; width: min(1500px, 100%); min-height: 100%; margin: 0 auto; background: #f7f2e9; box-shadow: 0 0 90px rgba(0,0,0,.28); }
.principle-insight-close {
  position: fixed;
  z-index: 1010;
  top: 22px;
  right: max(22px, calc((100vw - 1500px) / 2 + 22px));
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(248,243,233,.52);
  border-radius: 50%;
  color: #fff8ed;
  background: rgba(7,28,21,.72);
  font-size: 28px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
  backdrop-filter: blur(14px);
  transition: transform .3s ease, background-color .3s ease, color .3s ease;
}
.principle-insight-close:hover,
.principle-insight-close:focus-visible { color: #102a22; background: #d2a45f; transform: rotate(90deg); }

.pi-page { color: #102a22; background: radial-gradient(circle at 86% 4%, rgba(198,154,87,.08), transparent 24%), #f7f2e9; }
.pi-hero { position: relative; min-height: 560px; overflow: hidden; color: #fff9ef; background: #102a22; }
.pi-hero > img,
.pi-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.pi-hero > img { object-fit: cover; filter: saturate(.73) contrast(1.05); }
.pi-hero-shade { background: linear-gradient(90deg, rgba(248,244,236,.98) 0%, rgba(248,244,236,.91) 41%, rgba(16,42,34,.4) 68%, rgba(8,25,19,.1) 100%), linear-gradient(0deg, rgba(8,25,19,.35), transparent 55%); }
.pi-hero-copy { position: relative; z-index: 2; display: flex; flex-direction: column; justify-content: center; width: min(660px, 51%); min-height: 560px; padding: 72px 0 60px clamp(42px,6vw,92px); color: #102a22; }
.pi-eyebrow { display: flex; align-items: center; gap: 14px; color: #ad8247; font-size: 12px; font-weight: 750; letter-spacing: .16em; }
.pi-eyebrow span { font-family: var(--serif); font-size: 20px; font-weight: 500; letter-spacing: 0; }
.pi-eyebrow b { font-weight: 400; }
.pi-hero h1 { max-width: 650px; margin: 28px 0 22px; font-family: var(--serif); font-size: clamp(42px,4.2vw,62px); font-weight: 500; line-height: 1.14; letter-spacing: -.035em; text-wrap: balance; }
.pi-hero-copy > p { max-width: 600px; margin: 0; color: #625f58; font-size: 17px; line-height: 1.9; }

.pi-method,
.pi-section,
.pi-take,
.pi-nav { width: min(1370px, calc(100% - 80px)); margin-inline: auto; }

.pi-method { padding: 52px 0 58px; border-bottom: 1px solid rgba(16,42,34,.15); }
.pi-method > header { text-align: center; }
.pi-method > header span,
.pi-section > header > span { color: #b3874b; font-size: 10px; font-weight: 750; letter-spacing: .18em; }
.pi-method > header h2 { margin: 10px 0 30px; font-family: var(--serif); font-size: clamp(28px,2.4vw,36px); font-weight: 500; line-height: 1.3; }
.pi-method-track { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); align-items: stretch; border: 1px solid rgba(16,42,34,.14); }
.pi-method-track article { position: relative; min-height: 185px; padding: 27px 24px 24px; border-right: 1px solid rgba(16,42,34,.12); text-align: center; }
.pi-method-track article:last-child { border-right: 0; }
.pi-method-track article > span { display: grid; place-items: center; width: 40px; height: 40px; margin: 0 auto 15px; border: 1px solid rgba(181,136,72,.52); border-radius: 50%; color: #b18143; font-family: var(--serif); }
.pi-method-track article > b { display: block; color: #9b7748; font-size: 9px; letter-spacing: .12em; }
.pi-method-track article > strong { display: block; margin: 6px 0 8px; font-family: var(--serif); font-size: 18px; font-weight: 550; }
.pi-method-track article > p { margin: 0; color: #777269; font-size: 12px; line-height: 1.65; }
.pi-method-track article > i { position: absolute; top: 50%; right: -8px; z-index: 2; color: #b18143; font-size: 16px; font-style: normal; transform: translateY(-50%); }

.pi-section { padding: 62px 0; border-bottom: 1px solid rgba(16,42,34,.15); }
.pi-section > header { display: grid; grid-template-columns: minmax(290px,.78fr) minmax(420px,1.22fr); column-gap: clamp(42px,6vw,82px); align-items: end; margin-bottom: 34px; }
.pi-section > header > span { grid-column: 1 / -1; margin-bottom: 20px; }
.pi-section > header h2 { margin: 0; font-family: var(--serif); font-size: clamp(30px,2.8vw,40px); font-weight: 500; line-height: 1.28; letter-spacing: -.025em; text-wrap: balance; }
.pi-section > header p { max-width: 650px; margin: 0 0 4px; color: #777269; font-size: 16px; line-height: 1.85; }
.pi-card-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); border: 1px solid rgba(16,42,34,.14); }
.pi-card { min-width: 0; border-right: 1px solid rgba(16,42,34,.12); background: rgba(255,252,246,.46); }
.pi-card:last-child { border-right: 0; }
.pi-card figure { position: relative; height: 190px; overflow: hidden; background: #d8d1c5; }
.pi-card figure img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.68) contrast(1.03); transition: transform .65s cubic-bezier(.2,.7,.2,1), filter .4s ease; }
.pi-card figure span { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(10,35,27,.36), transparent 55%); }
.pi-card > div { padding: 24px 22px 26px; }
.pi-card small { color: #b18143; font-size: 10px; font-weight: 750; letter-spacing: .12em; }
.pi-card h3 { margin: 12px 0 10px; font-family: "Noto Sans SC", "PingFang SC", "Microsoft YaHei", var(--sans); font-size: 16px; font-weight: 500; line-height: 1.78; letter-spacing: 0; }
.pi-card p { margin: 0; color: #716d65; font-size: 16px; line-height: 1.78; }
.pi-card em { display: block; margin-top: 18px; padding-top: 15px; border-top: 1px solid rgba(16,42,34,.11); color: #9a7645; font-size: 11px; font-style: normal; line-height: 1.55; }
.pi-card:hover figure img { transform: scale(1.045); filter: saturate(.82) contrast(1.05); }
.pi-card-grid-2 { grid-template-columns: repeat(2,minmax(0,1fr)); }
.pi-card-grid-3 { grid-template-columns: repeat(3,minmax(0,1fr)); }
.pi-card-grid-5 { grid-template-columns: repeat(5,minmax(0,1fr)); }
.pi-card-grid-6 { grid-template-columns: repeat(6,minmax(0,1fr)); }
.pi-card-grid-5 .pi-card > div,
.pi-card-grid-6 .pi-card > div { padding-inline: 20px; }
.pi-card-grid-5 .pi-card h3,
.pi-card-grid-6 .pi-card h3 { font-size: 16px; }

.pi-page[data-principle-layout="market-intelligence"] .pi-section-3 .pi-card-grid,
.pi-page[data-principle-layout="go-to-market-strategy"] .pi-section-3 .pi-card-grid,
.pi-page[data-principle-layout="buyer-psychology"] .pi-section-3 .pi-card-grid { background: #fffaf1; }
.pi-page[data-principle-layout="buyer-psychology"] .pi-section-1 .pi-card { min-height: 260px; }
.pi-page[data-principle-layout="buyer-psychology"] .pi-section-1 .pi-card:first-child { background: #fffaf1; }
.pi-page[data-principle-layout="buyer-psychology"] .pi-section-1 .pi-card:last-child { color: #f7efe2; background: #12352a; }
.pi-page[data-principle-layout="buyer-psychology"] .pi-section-1 .pi-card:last-child p { color: rgba(247,239,226,.74); }

.pi-take { display: grid; grid-template-columns: 1.35fr .65fr; gap: clamp(50px,8vw,120px); align-items: end; padding: 74px clamp(34px,5vw,72px); color: #f7efe2; background: #0d3026; }
.pi-take > div > span { color: #d0a35f; font-size: 10px; font-weight: 750; letter-spacing: .18em; }
.pi-take blockquote { margin: 27px 0 0; font-family: var(--serif); font-size: clamp(27px,2.4vw,36px); line-height: 1.5; }
.pi-take > p { margin: 0; padding-left: 36px; border-left: 1px solid rgba(208,163,95,.46); color: rgba(247,239,226,.73); font-size: 15px; line-height: 1.85; }
.pi-take > p small { display: block; margin-top: 20px; color: #d0a35f; font-size: 11px; letter-spacing: .06em; }
.pi-nav { display: grid; grid-template-columns: 1fr auto 1fr; align-items: stretch; border: 1px solid rgba(16,42,34,.14); border-top: 0; background: #fbf7ef; }
.pi-nav button { min-height: 96px; padding: 20px 28px; border: 0; border-right: 1px solid rgba(16,42,34,.12); color: #102a22; background: transparent; text-align: left; cursor: pointer; transition: color .3s ease, background-color .3s ease; }
.pi-nav button:last-child { border-right: 0; text-align: right; }
.pi-nav button span { display: block; margin-bottom: 8px; color: #b18143; font-size: 10px; letter-spacing: .1em; }
.pi-nav button strong { font-family: var(--serif); font-size: 17px; font-weight: 500; }
.pi-nav .pi-nav-close { padding-inline: 38px; border-left: 1px solid rgba(16,42,34,.12); color: #9a7541; font-size: 11px; font-weight: 750; letter-spacing: .09em; text-align: center; }
.pi-nav button:hover,
.pi-nav button:focus-visible { color: #fff8ed; background: #102a22; }

@media (max-width: 1080px) {
  .pi-hero-copy { width: 62%; }
  .pi-card-grid-5,
  .pi-card-grid-6 { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .pi-card-grid-5 .pi-card:nth-child(3n),
  .pi-card-grid-6 .pi-card:nth-child(3n) { border-right: 0; }
  .pi-card-grid-5 .pi-card:nth-child(n+4),
  .pi-card-grid-6 .pi-card:nth-child(n+4) { border-top: 1px solid rgba(16,42,34,.12); }
}

@media (max-width: 760px) {
  .principle-insight-close { top: 14px; right: 14px; width: 44px; height: 44px; }
  .pi-hero { min-height: 520px; }
  .pi-hero-shade { background: linear-gradient(0deg, rgba(247,242,233,.99) 0%, rgba(247,242,233,.93) 55%, rgba(16,42,34,.17) 100%); }
  .pi-hero-copy { justify-content: flex-end; width: 100%; min-height: 520px; padding: 82px 24px 42px; }
  .pi-eyebrow { font-size: 10px; }
  .pi-hero h1 { margin-block: 22px 18px; font-size: clamp(36px,10.5vw,44px); line-height: 1.18; }
  .pi-hero-copy > p { font-size: 15px; line-height: 1.76; }
  .pi-method,
  .pi-section,
  .pi-take,
  .pi-nav { width: calc(100% - 32px); }
  .pi-method { padding-block: 50px 58px; }
  .pi-method-track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .pi-method-track::-webkit-scrollbar { display: none; }
  .pi-method-track article { flex: 0 0 72vw; scroll-snap-align: center; }
  .pi-section { padding-block: 48px; }
  .pi-section > header { grid-template-columns: 1fr; row-gap: 18px; margin-bottom: 30px; }
  .pi-section > header h2 { font-size: 30px; line-height: 1.35; }
  .pi-section > header p { font-size: 15px; }
  .pi-card-grid,
  .pi-card-grid-2,
  .pi-card-grid-3,
  .pi-card-grid-5,
  .pi-card-grid-6 { grid-template-columns: 1fr; }
  .pi-card { border-right: 0; border-bottom: 1px solid rgba(16,42,34,.12); }
  .pi-card:last-child { border-bottom: 0; }
  .pi-card figure { height: 220px; }
  .pi-card h3 { font-size: 16px; }
  .pi-take { grid-template-columns: 1fr; gap: 34px; padding: 52px 26px; }
  .pi-take > p { padding: 28px 0 0; border-top: 1px solid rgba(208,163,95,.42); border-left: 0; }
  .pi-nav { grid-template-columns: 1fr 1fr; }
  .pi-nav button { padding: 18px 16px; }
  .pi-nav .pi-nav-close { grid-column: 1 / -1; grid-row: 2; min-height: 64px; border-top: 1px solid rgba(16,42,34,.12); border-left: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .principle-card > i,
  .principle-insight-close,
  .pi-card figure img,
  .pi-nav button { transition: none !important; }
}

/* V56 — image-led Market Drivers cards and card-based detail pages */
.market-driver-list {
  gap: 16px;
  overflow: visible;
  border: 0;
  background: transparent;
}

.market-driver-card {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  min-height: 430px;
  padding: 30px 32px 32px;
  overflow: hidden;
  border: 1px solid rgba(16,32,26,.18);
  color: #fff8ed;
  background: #102a22;
  transition: transform .38s cubic-bezier(.2,.7,.2,1), box-shadow .38s ease, border-color .3s ease;
}

.market-driver-card::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(180deg, rgba(7,20,16,.15) 0%, rgba(7,20,16,.55) 46%, rgba(7,20,16,.97) 100%);
  transition: background .38s ease;
}

.market-driver-card:nth-child(1)::before { background: linear-gradient(145deg, rgba(45,31,19,.12), rgba(13,34,28,.64) 48%, rgba(8,24,19,.98) 100%); }
.market-driver-card:nth-child(2)::before { background: linear-gradient(145deg, rgba(37,48,42,.14), rgba(13,38,30,.62) 48%, rgba(8,25,20,.98) 100%); }
.market-driver-card:nth-child(3)::before { background: linear-gradient(145deg, rgba(18,39,50,.18), rgba(10,35,31,.62) 48%, rgba(7,24,20,.98) 100%); }
.market-driver-card:nth-child(4)::before { background: linear-gradient(145deg, rgba(74,48,26,.14), rgba(34,35,26,.62) 48%, rgba(9,25,20,.98) 100%); }

.market-driver-card-image {
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .92;
  filter: saturate(.78) contrast(1.04);
  transition: transform .75s cubic-bezier(.2,.7,.2,1), filter .4s ease;
}

.market-driver-card > i {
  color: #d5aa69;
  font-size: 20px;
}

.market-driver-card > small {
  position: relative;
  z-index: 2;
  max-width: 280px;
  margin: 8px 0 0 62px;
  color: rgba(255,248,237,.7);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .16em;
  line-height: 1.7;
}

.market-driver-card > h4 {
  margin: auto 0 0;
  color: #fff8ed;
  font-size: clamp(31px, 3vw, 45px);
  line-height: 1.17;
  transition: transform .34s cubic-bezier(.2,.7,.2,1), color .3s ease;
}

.market-driver-card > p {
  grid-column: auto;
  max-width: 610px;
  margin: 18px 0 0;
  color: rgba(255,248,237,.76);
  font-size: 15px;
  line-height: 1.78;
}

.market-driver-card > span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  grid-column: auto;
  margin-top: 25px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,248,237,.25);
  color: #f0c883;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .06em;
  opacity: 1;
  transform: none;
}

.market-driver-card > span b {
  color: #f0c883;
  font-size: 21px;
  font-weight: 400;
  transition: transform .3s ease;
}

.market-driver-card:hover,
.market-driver-card:focus-visible {
  border-color: rgba(213,170,105,.7);
  background: #102a22;
  box-shadow: 0 24px 55px rgba(12,31,25,.2);
  transform: translateY(-7px);
}

.market-driver-card:hover .market-driver-card-image,
.market-driver-card:focus-visible .market-driver-card-image { transform: scale(1.055); filter: saturate(.9) contrast(1.06); }
.market-driver-card:hover > h4,
.market-driver-card:focus-visible > h4 { color: #fff8ed; transform: translateX(4px); }
.market-driver-card:hover > span b,
.market-driver-card:focus-visible > span b { transform: translateX(6px); }

.market-driver-detail-page { background: #f4eee5; }
.market-driver-card-page { padding: 92px 0 0; }

.market-driver-card-hero {
  position: relative;
  width: min(1420px, calc(100% - 80px));
  min-height: 720px;
  margin: 0 auto 20px;
  overflow: hidden;
  color: #fff8ed;
  background: #102a22;
}

.market-driver-card-hero > img,
.market-driver-card-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.market-driver-card-hero > img { object-fit: cover; filter: saturate(.76) contrast(1.04); }
.market-driver-card-hero-shade { background: linear-gradient(90deg, rgba(6,22,17,.94) 0%, rgba(6,22,17,.76) 46%, rgba(6,22,17,.28) 78%), linear-gradient(0deg, rgba(6,22,17,.82), transparent 55%); }

.market-driver-card-hero .market-driver-back {
  position: absolute;
  z-index: 3;
  top: 42px;
  left: 48px;
  color: rgba(255,248,237,.78);
}

.market-driver-card-hero-copy {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 0;
  left: 0;
  display: grid;
  grid-template-columns: minmax(320px,.72fr) minmax(420px,1.28fr);
  gap: clamp(55px,8vw,130px);
  align-items: end;
  padding: 90px 72px 70px;
}

.market-driver-card-hero .market-driver-hero-meta {
  grid-column: 1;
  grid-row: 1;
  align-self: start;
  display: flex;
  flex-direction: row;
  align-items: baseline;
  gap: 18px;
  padding: 0;
}

.market-driver-card-hero .market-driver-hero-meta span { color: #d5aa69; font-size: 30px; line-height: 1; }
.market-driver-card-hero .market-driver-hero-meta strong { max-width: 260px; color: #d5aa69; }

.market-driver-card-hero h1 {
  grid-column: 1;
  grid-row: 2;
  margin: 25px 0 0;
  color: #fff8ed;
  font-family: var(--serif);
  font-size: clamp(60px,6.5vw,96px);
  font-weight: 500;
  line-height: 1.06;
  letter-spacing: -.045em;
}

.market-driver-card-hero blockquote {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-self: end;
  max-width: 690px;
  margin: 0;
  padding: 34px 0 4px 40px;
  border-top: 1px solid rgba(255,248,237,.24);
  border-left: 1px solid rgba(213,170,105,.65);
  color: rgba(255,248,237,.9);
  font-family: var(--serif);
  font-size: clamp(25px,2.5vw,38px);
  line-height: 1.55;
}

.market-driver-card-grid {
  width: min(1420px, calc(100% - 80px));
  margin: 0 auto;
  padding: 0 0 110px;
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 20px;
}

.market-driver-detail-card {
  position: relative;
  min-height: 560px;
  padding: clamp(38px,4vw,64px);
  border: 1px solid rgba(16,32,26,.17);
  color: var(--ink);
  background: #fbf8f2;
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.market-driver-detail-card:hover { border-color: rgba(167,122,68,.5); box-shadow: 0 22px 55px rgba(16,32,26,.08); transform: translateY(-5px); }
.market-driver-detail-card.is-wide { grid-column: 1 / -1; min-height: 0; }

.market-driver-detail-card > header {
  display: grid;
  grid-template-columns: 52px minmax(0,1fr);
  gap: 22px;
  align-items: start;
  padding-bottom: 34px;
  border-bottom: 1px solid rgba(16,32,26,.16);
}

.market-driver-detail-card > header > span { color: var(--gold-dark); font-family: var(--serif); font-size: 20px; }
.market-driver-detail-card h2 { margin: 0; font-family: var(--serif); font-size: clamp(31px,3vw,47px); font-weight: 500; line-height: 1.32; letter-spacing: -.025em; }
.market-driver-detail-card header small { display: block; margin-bottom: 15px; color: var(--gold-dark); font-size: 10px; font-weight: 700; letter-spacing: .16em; }

.market-driver-card-body { padding: 35px 0 10px 74px; }
.market-driver-card-body p { max-width: 790px; margin: 0 0 20px; color: #62645f; font-size: 16px; line-height: 1.92; }
.market-driver-detail-card.is-wide .market-driver-card-body { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 55px; }

.market-driver-detail-card > blockquote {
  margin: 28px 0 0 74px;
  padding: 28px 0 0 28px;
  border-top: 1px solid rgba(16,32,26,.14);
  border-left: 1px solid var(--gold);
  color: var(--ink-2);
  font-family: var(--serif);
  font-size: clamp(23px,2.3vw,34px);
  line-height: 1.55;
}

.market-driver-path-card {
  grid-column: 1 / -1;
  min-height: 360px;
  display: grid;
  grid-template-columns: minmax(280px,.35fr) minmax(0,1fr);
  gap: clamp(45px,7vw,110px);
  align-items: center;
  color: #fff8ed;
  background: #102a22;
}

.market-driver-path-card > header { display: grid; border: 0; padding: 0; }
.market-driver-path-card h2 { color: #fff8ed; }
.market-driver-path-card .market-driver-viz {
  min-height: 230px;
  padding: 26px;
  overflow-x: auto;
  justify-content: flex-start;
  border-color: rgba(255,248,237,.2);
}
.market-driver-path-card .market-driver-viz-step { color: rgba(255,248,237,.82); }
.market-driver-path-card .market-driver-viz-step:first-child strong,
.market-driver-path-card .market-driver-viz-step:last-child strong { color: #d5aa69; }

.market-driver-take-card {
  grid-column: 1 / -1;
  min-height: 430px;
  display: grid;
  grid-template-columns: minmax(220px,.34fr) minmax(0,1fr);
  gap: clamp(50px,8vw,130px);
  align-items: center;
  color: #fff8ed;
  background: #102a22;
}

.market-driver-take-card > div { display: flex; flex-direction: column; gap: 16px; }
.market-driver-take-card > div span { color: #d5aa69; font-size: 10px; font-weight: 700; letter-spacing: .18em; }
.market-driver-take-card > div strong { font-family: var(--serif); font-size: 28px; font-weight: 500; }
.market-driver-take-card > blockquote { margin: 0; padding: 0 0 0 42px; border-top: 0; border-left: 1px solid rgba(213,170,105,.7); color: #fff8ed; font-size: clamp(30px,3.4vw,48px); }

@media (max-width: 980px) {
  .market-driver-card { min-height: 400px; }
  .market-driver-card-hero,
  .market-driver-card-grid { width: calc(100% - 48px); }
  .market-driver-card-hero-copy { grid-template-columns: 1fr; gap: 28px; padding: 80px 45px 52px; }
  .market-driver-card-hero h1 { grid-column: 1; grid-row: 2; }
  .market-driver-card-hero blockquote { grid-column: 1; grid-row: 3; max-width: 740px; }
  .market-driver-path-card { grid-template-columns: 1fr; }
  .market-driver-detail-card.is-wide .market-driver-card-body { display: block; }
}

@media (max-width: 700px) {
  .market-driver-list { grid-template-columns: 1fr; gap: 12px; }
  .market-driver-card { min-height: 420px; padding: 25px 23px 27px; }
  .market-driver-card > small { margin-left: 0; }
  .market-driver-card > h4 { font-size: 34px; }
  .market-driver-card > p { font-size: 16px; line-height: 1.75; }

  .market-driver-card-page { padding-top: 70px; }
  .market-driver-card-hero,
  .market-driver-card-grid { width: calc(100% - 32px); }
  .market-driver-card-hero { min-height: 680px; margin-bottom: 12px; }
  .market-driver-card-hero .market-driver-back { top: 25px; left: 22px; font-size: 12px; }
  .market-driver-card-hero-copy { padding: 105px 22px 32px; }
  .market-driver-card-hero .market-driver-hero-meta { flex-direction: column; gap: 8px; }
  .market-driver-card-hero .market-driver-hero-meta span { font-size: 25px; }
  .market-driver-card-hero h1 { margin-top: 18px; font-size: clamp(49px,14vw,66px); }
  .market-driver-card-hero blockquote { padding: 24px 0 0 18px; font-size: 24px; line-height: 1.58; }

  .market-driver-card-grid { grid-template-columns: 1fr; gap: 12px; padding-bottom: 72px; }
  .market-driver-detail-card,
  .market-driver-detail-card.is-wide,
  .market-driver-path-card,
  .market-driver-take-card { grid-column: 1; min-height: 0; padding: 32px 24px; }
  .market-driver-detail-card > header { grid-template-columns: 38px 1fr; gap: 11px; padding-bottom: 25px; }
  .market-driver-detail-card h2 { font-size: 34px; }
  .market-driver-card-body { padding: 28px 0 0 49px; }
  .market-driver-card-body p { font-size: 16px; line-height: 1.88; }
  .market-driver-detail-card > blockquote { margin: 25px 0 0 49px; padding: 23px 0 0 18px; font-size: 25px; }
  .market-driver-path-card { display: block; }
  .market-driver-path-card .market-driver-viz { min-height: 0; margin-top: 30px; flex-direction: column; overflow: visible; }
  .market-driver-path-card .market-driver-viz-step { flex-direction: column; }
  .market-driver-path-card .market-driver-viz-step i { margin: 8px 0; transform: rotate(90deg); }
  .market-driver-take-card { display: block; }
  .market-driver-take-card > blockquote { margin-top: 34px; padding-left: 22px; font-size: 28px; }
}

@media (prefers-reduced-motion: reduce) {
  .market-driver-card,
  .market-driver-card-image,
  .market-driver-card > h4,
  .market-driver-card > span b,
  .market-driver-detail-card { transition: none !important; }
}

/* Price-Band Lens — approved component package */
.pbl-module {
  --pbl-bg: #f1ece2;
  --pbl-light: #faf7f0;
  --pbl-green: #102f26;
  --pbl-gold: #c9964a;
  --pbl-gold-soft: #d4ad72;
  --pbl-text: #746c62;
  --pbl-line: rgba(24,48,40,.15);
  margin-top: 8px;
  color: var(--pbl-green);
}
.pbl-module .pbl-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; }
.pbl-module .pbl-card {
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--pbl-line);
  border-radius: 0;
  color: inherit;
  background: #fbf9f4;
  text-align: left;
  cursor: pointer;
  transition: transform .35s ease,border-color .35s ease,box-shadow .35s ease;
}
.pbl-module .pbl-card:hover,
.pbl-module .pbl-card:focus-visible { transform: translateY(-5px); border-color: rgba(201,150,74,.72); box-shadow: 0 18px 44px rgba(35,38,32,.08); }
.pbl-module .pbl-card.is-active { border-color: var(--pbl-gold); box-shadow: inset 0 0 0 1px rgba(201,150,74,.15); transform: none; }
.pbl-module .pbl-card:focus-visible { outline: 1px solid var(--pbl-gold); outline-offset: 3px; }
.pbl-module .pbl-card-image { position: relative; height: 275px; margin: 0; overflow: hidden; background: #d9d0c2; }
.pbl-module .pbl-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.88) contrast(1.02); transition: transform .7s cubic-bezier(.2,.7,.2,1); }
.pbl-module .pbl-card:hover .pbl-card-image img,
.pbl-module .pbl-card:focus-visible .pbl-card-image img { transform: scale(1.04); }
.pbl-module .pbl-card-image i { position: absolute; inset: 0; background: linear-gradient(to bottom,rgba(0,0,0,.08),transparent 45%,rgba(0,0,0,.22)); }
.pbl-module .pbl-card-image span { position: absolute; left: 28px; bottom: 22px; color: #fff; font-size: 14px; font-weight: 600; letter-spacing: .06em; }
.pbl-module .pbl-card-body { min-height: 330px; padding: 38px 34px 30px; display: flex; flex-direction: column; }
.pbl-module .pbl-price-row { display: flex; justify-content: space-between; gap: 22px; align-items: center; }
.pbl-module .pbl-price { font-family: var(--serif); font-size: 36px; font-weight: 500; line-height: 1; letter-spacing: -.03em; }
.pbl-module .pbl-price-row > span { color: var(--pbl-gold-soft); font-size: 11px; letter-spacing: .12em; }
.pbl-module .pbl-card-body h4 { margin: 56px 0 20px; font-size: 22px; }
.pbl-module .pbl-card-body p { margin: 0; color: var(--pbl-text); font-size: 16px; line-height: 1.9; }
.pbl-module .pbl-card-link { margin-top: auto; padding-top: 28px; color: var(--pbl-gold); font-size: 14px; font-weight: 600; }
.pbl-module .pbl-card-link b { display: inline-block; margin-left: 7px; font-weight: inherit; transition: transform .25s ease; }
.pbl-module .pbl-card:hover .pbl-card-link b { transform: translateX(5px); }

.pbl-module .pbl-detail { margin-top: 70px; border-top: 1px solid var(--pbl-line); border-bottom: 0; background: var(--pbl-light); animation: pblDetailIn .42s ease both; scroll-margin-top: 86px; }
.pbl-module .pbl-detail-hero { min-height: 420px; display: grid; grid-template-columns: minmax(340px,.86fr) minmax(520px,1.35fr); margin: 0; overflow: hidden; border-bottom: 0; background: transparent; }
.pbl-module .pbl-detail-intro { position: relative; z-index: 2; padding: 62px 48px; }
.pbl-module .pbl-detail-intro > span { color: var(--pbl-gold); font-size: 11px; font-weight: 700; letter-spacing: .18em; }
.pbl-module .pbl-detail-intro h3 { margin: 23px 0; font-family: var(--serif); font-size: clamp(40px,3.2vw,58px); font-weight: 500; line-height: 1.1; }
.pbl-module .pbl-detail-intro > p { max-width: 500px; margin: 0; color: #716a60; font-size: 17px; line-height: 1.95; }
.pbl-module .pbl-detail-intro > small { display: block; max-width: 520px; margin-top: 28px; padding-top: 18px; border-top: 1px solid var(--pbl-line); color: #948a7e; font-size: 11px; line-height: 1.75; }
.pbl-module .pbl-detail-image { position: relative; min-height: 420px; margin: 0; overflow: hidden; }
.pbl-module .pbl-detail-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: saturate(.88); }
.pbl-module .pbl-detail-image i { position: absolute; inset: 0; background: linear-gradient(90deg,var(--pbl-light) 0%,rgba(250,247,240,.65) 8%,rgba(250,247,240,.08) 28%,transparent 55%); }
.pbl-module .pbl-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); margin: 0; border-top: 1px solid var(--pbl-line); border-bottom: 1px solid var(--pbl-line); border-left: 0; }
.pbl-module .pbl-summary-card { min-height: 185px; padding: 32px 30px 38px; border-right: 1px solid var(--pbl-line); background: transparent; }
.pbl-module .pbl-summary-card:last-child { border-right: 0; }
.pbl-module .pbl-summary-icon { display: block; margin-bottom: 18px; color: var(--pbl-gold); font-family: var(--serif); font-size: 28px; line-height: 1; }
.pbl-module .pbl-summary-card h4 { margin: 0 0 12px; font-size: 18px; }
.pbl-module .pbl-summary-card p { margin: 0; color: #766e64; font-size: 14px; line-height: 1.75; }
.pbl-module .pbl-home-types { padding: 58px 44px 22px; }
.pbl-module .pbl-section-title > span { color: var(--pbl-gold); font-size: 11px; letter-spacing: .18em; }
.pbl-module .pbl-section-title h3 { margin: 7px 0 27px; font-family: var(--sans); font-size: 24px; font-weight: 700; }
.pbl-module .pbl-home-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.pbl-module .pbl-home-type { min-height: 190px; display: grid; grid-template-columns: 47% 53%; overflow: hidden; border: 1px solid var(--pbl-line); background: #fcfaf5; }
.pbl-module .pbl-home-type figure { min-height: 100%; margin: 0; overflow: hidden; }
.pbl-module .pbl-home-type figure img { display: block; width: 100%; height: 100%; object-fit: cover; filter: saturate(.88); transition: transform .5s ease; }
.pbl-module .pbl-home-type:hover figure img { transform: scale(1.04); }
.pbl-module .pbl-home-type > div { padding: 27px 24px; display: flex; flex-direction: column; }
.pbl-module .pbl-home-type h4 { margin: 0 0 14px; font-size: 17px; }
.pbl-module .pbl-home-type p { margin: 0; color: #746c61; font-size: 13px; line-height: 1.75; }
.pbl-module .pbl-home-type > div > i { width: 22px; height: 1px; margin-top: auto; background: var(--pbl-gold); }
.pbl-module .pbl-insight-layout { margin: 0; padding: 36px 44px 60px; display: grid; grid-template-columns: .78fr 1.22fr; gap: 56px; }
.pbl-module .pbl-priorities { padding: 0; border: 0; background: transparent; }
.pbl-module .pbl-priority { min-height: 53px; display: flex; grid-template-columns: none; gap: 0; align-items: center; padding: 0; border-top: 0; border-bottom: 1px solid rgba(21,47,38,.13); }
.pbl-module .pbl-priority span { width: 52px; color: var(--pbl-gold); font-family: var(--serif); font-size: 20px; }
.pbl-module .pbl-priority strong { color: #4f4a43; font-size: 15px; font-weight: 500; }
.pbl-module .pbl-take { position: relative; min-height: 335px; padding: 46px 52px; overflow: hidden; color: #f6f0e5; background: linear-gradient(135deg,#102f26,#173b30); }
.pbl-module .pbl-take-top { display: flex; align-items: center; gap: 18px; }
.pbl-module .pbl-take-top b { color: var(--pbl-gold); font-family: var(--serif); font-size: 48px; font-weight: 500; line-height: .8; }
.pbl-module .pbl-take-top span { color: #d0a65f; font-size: 11px; letter-spacing: .2em; }
.pbl-module .pbl-take blockquote { position: relative; z-index: 2; max-width: 640px; margin: 38px 0 20px; font-family: var(--serif); font-size: clamp(27px,2.35vw,39px); line-height: 1.55; }
.pbl-module .pbl-take p { position: relative; z-index: 2; max-width: 630px; margin: 0; color: rgba(248,242,230,.67); font-size: 14px; line-height: 1.85; }
.pbl-module .pbl-take > i { position: absolute; right: 42px; bottom: -30px; color: rgba(202,162,94,.09); font-family: var(--serif); font-size: 190px; font-weight: 500; line-height: 1; transform: rotate(-12deg); }
.pbl-module .pbl-nav { min-height: 92px; padding: 30px 0 0; display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; gap: 16px; border-top: 1px solid var(--pbl-line); border-bottom: 0; }
.pbl-module .pbl-nav button { min-height: 47px; padding: 13px 22px; border: 1px solid rgba(17,46,37,.4); color: #48534e; background: transparent; font-size: 14px; cursor: pointer; transition: background .25s ease,color .25s ease; }
.pbl-module .pbl-nav button:first-child { justify-self: start; }
.pbl-module .pbl-nav button:last-child { justify-self: end; }
.pbl-module .pbl-nav button:first-child:hover,
.pbl-module .pbl-nav button:last-child:hover { color: #fff; background: var(--pbl-green); }
.pbl-module .pbl-nav .pbl-nav-back { justify-self: center; min-height: 0; padding: 10px 2px; border: 0; border-bottom: 1px solid var(--pbl-gold); color: var(--pbl-gold); }

@media (max-width: 1180px) {
  .pbl-module .pbl-card-image { height: 235px; }
  .pbl-module .pbl-card-body { padding: 30px 26px; }
  .pbl-module .pbl-card-body h4 { margin-top: 40px; }
  .pbl-module .pbl-home-type { grid-template-columns: 1fr; }
  .pbl-module .pbl-home-type figure { min-height: 190px; }
}
@media (max-width: 980px) {
  .pbl-module .pbl-grid { grid-template-columns: 1fr; }
  .pbl-module .pbl-card { min-height: 300px; display: grid; grid-template-columns: 43% 57%; }
  .pbl-module .pbl-card-image { height: 100%; min-height: 320px; }
  .pbl-module .pbl-card-body { min-height: 280px; }
  .pbl-module .pbl-detail-hero { grid-template-columns: 1fr; }
  .pbl-module .pbl-detail-image { min-height: 420px; }
  .pbl-module .pbl-detail-image i { background: linear-gradient(180deg,var(--pbl-light),transparent 28%); }
  .pbl-module .pbl-summary-grid { grid-template-columns: repeat(2,1fr); }
  .pbl-module .pbl-summary-card:nth-child(2) { border-right: 0; }
  .pbl-module .pbl-summary-card:nth-child(-n+2) { border-bottom: 1px solid var(--pbl-line); }
  .pbl-module .pbl-home-grid,
  .pbl-module .pbl-insight-layout { grid-template-columns: 1fr; }
  .pbl-module .pbl-home-type { grid-template-columns: 38% 62%; }
  .pbl-module .pbl-home-type figure { min-height: 0; }
}
@media (max-width: 680px) {
  .pbl-module .pbl-card { min-height: 0; display: block; }
  .pbl-module .pbl-card-image { height: 225px; min-height: 0; }
  .pbl-module .pbl-card-body { min-height: 290px; padding: 27px 23px; }
  .pbl-module .pbl-price { font-size: 31px; }
  .pbl-module .pbl-card-body h4 { margin-top: 38px; }
  .pbl-module .pbl-detail { margin-top: 45px; }
  .pbl-module .pbl-detail-intro { padding: 42px 24px; }
  .pbl-module .pbl-detail-intro h3 { font-size: 38px; }
  .pbl-module .pbl-detail-image { min-height: 280px; }
  .pbl-module .pbl-summary-grid { grid-template-columns: 1fr; }
  .pbl-module .pbl-summary-card { min-height: 0; border-right: 0; border-bottom: 1px solid var(--pbl-line); }
  .pbl-module .pbl-home-types { padding: 42px 22px 10px; }
  .pbl-module .pbl-home-type { min-height: 170px; grid-template-columns: 42% 58%; }
  .pbl-module .pbl-insight-layout { padding: 30px 22px 44px; gap: 38px; }
  .pbl-module .pbl-take { padding: 38px 27px; }
  .pbl-module .pbl-nav { grid-template-columns: 1fr 1fr; }
  .pbl-module .pbl-nav .pbl-nav-back { grid-column: 1 / 3; grid-row: 2; }
}
@media (prefers-reduced-motion: reduce) {
  .pbl-module .pbl-card,
  .pbl-module .pbl-card-image img,
  .pbl-module .pbl-card-link b,
  .pbl-module .pbl-detail,
  .pbl-module .pbl-home-type figure img { animation: none !important; transition: none !important; }
}

/* Approved editorial modules — Price-Band Lens + Market Driver details */
.pbl-module { margin-top: 8px; }
.pbl-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.pbl-card {
  position: relative;
  min-width: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(15,47,40,.17);
  border-radius: 0;
  color: #0f2f28;
  background: #fbf8f2;
  text-align: left;
  cursor: pointer;
  transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
}
.pbl-card:hover,
.pbl-card:focus-visible,
.pbl-card.is-active {
  border-color: rgba(201,154,79,.9);
  box-shadow: 0 18px 50px rgba(35,29,20,.08);
  transform: translateY(-3px);
}
.pbl-card:focus-visible { outline: 1px solid #c99a4f; outline-offset: 3px; }
.pbl-card-media { position: relative; height: 260px; margin: 0; overflow: hidden; background: #d9d0c2; }
.pbl-card-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8,23,19,.04), rgba(8,23,19,.48)); }
.pbl-card-media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.86) contrast(1.02); transition: transform .55s ease; }
.pbl-card:hover .pbl-card-media img,
.pbl-card:focus-visible .pbl-card-media img { transform: scale(1.045); }
.pbl-card-media span { position: absolute; z-index: 2; left: 28px; bottom: 22px; color: #fff; font-size: 13px; font-weight: 700; letter-spacing: .09em; }
.pbl-card-body { min-height: 330px; padding: 35px 34px 30px; display: flex; flex-direction: column; }
.pbl-price { font-family: var(--serif); font-size: 36px; font-weight: 500; line-height: 1; letter-spacing: -.02em; }
.pbl-card-body h4 { margin: 52px 0 18px; font-family: var(--sans); font-size: 21px; font-weight: 700; }
.pbl-card-body p { margin: 0; color: #6f675d; font-size: 16px; line-height: 1.9; }
.pbl-card-link { margin-top: auto; padding-top: 28px; color: #a8773d; font-size: 14px; font-weight: 700; }
.pbl-detail { margin-top: 54px; border-top: 1px solid rgba(15,47,40,.17); animation: pblDetailIn .42s ease both; scroll-margin-top: 84px; }
@keyframes pblDetailIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.pbl-detail-hero { min-height: 430px; display: grid; grid-template-columns: minmax(340px,.82fr) minmax(520px,1.38fr); margin: 0; overflow: hidden; border-bottom: 1px solid rgba(15,47,40,.17); background: #f8f4ec; }
.pbl-detail-copy { position: relative; z-index: 2; padding: 54px 20px 52px 48px; }
.pbl-detail-copy::after { content: ""; position: absolute; z-index: -1; top: 0; right: -120px; bottom: 0; width: 240px; background: linear-gradient(90deg, #f8f4ec 0%, rgba(248,244,236,.86) 42%, rgba(248,244,236,0)); pointer-events: none; }
.pbl-detail-copy > span { display: block; margin-bottom: 22px; color: #a8773d; font-size: 11px; font-weight: 800; letter-spacing: .17em; }
.pbl-detail-copy h3 { margin: 0 0 22px; font-family: var(--serif); font-size: clamp(38px,3.4vw,60px); font-weight: 500; line-height: 1.08; }
.pbl-detail-copy p { max-width: 560px; margin: 0; color: #6f675d; font-size: 17px; line-height: 1.95; }
.pbl-detail-hero > figure { min-height: 430px; margin: 0; overflow: hidden; }
.pbl-detail-hero > figure img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.82); }
.pbl-facts { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); margin-top: 22px; border-top: 1px solid rgba(15,47,40,.17); border-left: 1px solid rgba(15,47,40,.17); }
.pbl-fact { min-height: 182px; padding: 30px 28px 32px; border-right: 1px solid rgba(15,47,40,.17); border-bottom: 1px solid rgba(15,47,40,.17); background: rgba(255,255,255,.2); }
.pbl-fact > span { display: block; margin-bottom: 18px; color: #c99a4f; font-family: var(--serif); font-size: 26px; }
.pbl-fact h4 { margin: 0 0 12px; font-size: 18px; }
.pbl-fact p { margin: 0; color: #6f675d; font-size: 14px; line-height: 1.75; }
.pbl-content { padding-top: 48px; }
.pbl-content > h3,
.pbl-priorities > h3 { margin: 0 0 25px; font-family: var(--serif); font-size: 31px; font-weight: 500; }
.pbl-types { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 16px; }
.pbl-type { min-height: 245px; display: grid; grid-template-columns: 43% 57%; overflow: hidden; border: 1px solid rgba(15,47,40,.17); background: rgba(255,255,255,.22); }
.pbl-type figure { min-height: 100%; margin: 0; overflow: hidden; }
.pbl-type figure img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.84); transition: transform .5s ease; }
.pbl-type:hover figure img { transform: scale(1.04); }
.pbl-type > div { padding: 27px 25px; }
.pbl-type > div > span { color: #c99a4f; font-family: var(--serif); font-size: 16px; }
.pbl-type h4 { margin: 20px 0 12px; font-size: 17px; line-height: 1.45; }
.pbl-type p { margin: 0; color: #6f675d; font-size: 14px; line-height: 1.75; }
.pbl-bottom { display: grid; grid-template-columns: 1.08fr .92fr; gap: 22px; margin-top: 46px; }
.pbl-priorities { padding: 42px 42px 38px; border: 1px solid rgba(15,47,40,.17); background: rgba(255,255,255,.18); }
.pbl-priority { display: grid; grid-template-columns: 48px 1fr; gap: 20px; padding: 19px 0; border-top: 1px solid rgba(15,47,40,.15); }
.pbl-priority span { color: #c99a4f; font-family: var(--serif); font-size: 16px; }
.pbl-priority strong { font-size: 16px; font-weight: 600; }
.pbl-take { padding: 46px 44px; color: #f8f3e9; background: #0f3029; }
.pbl-take > span { color: #d4a45e; font-size: 11px; font-weight: 800; letter-spacing: .17em; }
.pbl-take blockquote { margin: 76px 0 28px; font-family: var(--serif); font-size: clamp(28px,2.6vw,42px); line-height: 1.45; }
.pbl-take p { margin: 0; color: rgba(248,243,233,.7); font-size: 15px; line-height: 1.85; }
.pbl-nav { min-height: 104px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 30px; border-bottom: 1px solid rgba(15,47,40,.17); }
.pbl-nav button,
.pbl-nav a { padding: 14px 0; border: 0; color: #0f2f28; background: transparent; font-size: 14px; text-decoration: none; cursor: pointer; }
.pbl-nav button:last-child { justify-self: end; }
.pbl-nav a { color: #a8773d; font-size: 11px; font-weight: 800; letter-spacing: .11em; }
.pbl-nav button:disabled { opacity: .25; cursor: default; }

.md-page { padding: 78px 0 0; color: #0f3029; background: radial-gradient(circle at 88% 8%, rgba(200,154,81,.07), transparent 26%), #f3eee4; }
.md-shell { width: min(1480px, calc(100% - 48px)); margin: 0 auto; }
.md-hero { position: relative; min-height: 76vh; overflow: hidden; background: #0f3029; }
.md-hero > img,
.md-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.md-hero > img { object-fit: cover; filter: saturate(.78) contrast(1.04); }
.md-hero-shade { background: linear-gradient(90deg, rgba(6,34,29,.96) 0%, rgba(6,34,29,.89) 28%, rgba(6,34,29,.54) 50%, rgba(6,34,29,.12) 78%); }
.md-hero-inner { position: relative; z-index: 2; min-height: 76vh; display: flex; flex-direction: column; justify-content: space-between; padding: 44px 58px 62px; }
.md-back { width: max-content; color: rgba(248,243,233,.86); font-size: 14px; text-decoration: none; }
.md-hero-content { width: min(660px, 52%); }
.md-eyebrow { display: flex; align-items: center; gap: 18px; margin-bottom: 32px; color: #d4a45e; }
.md-eyebrow span { font-family: var(--serif); font-size: 34px; line-height: 1; }
.md-eyebrow strong { font-size: 12px; letter-spacing: .17em; }
.md-hero-content h1 { margin: 0; color: #f8f3e9; font-family: var(--serif); font-size: clamp(58px,6vw,92px); font-weight: 500; line-height: 1.02; letter-spacing: -.045em; }
.md-hero-content > p { max-width: 580px; margin: 30px 0 0; color: rgba(248,243,233,.82); font-size: 18px; line-height: 1.9; }
.md-pull { padding: 120px 0 128px; }
.md-pull > div { width: min(960px,84%); margin: 0 auto; }
.md-pull span,
.md-flow > header > span,
.md-editorial-copy > span { display: block; margin-bottom: 24px; color: #a8773d; font-size: 11px; font-weight: 800; letter-spacing: .18em; }
.md-pull blockquote { margin: 0; font-family: var(--serif); font-size: clamp(34px,3.3vw,52px); line-height: 1.5; }
.md-flow { display: grid; grid-template-columns: 34% 66%; gap: 46px; align-items: start; padding: 28px 0 110px; }
.md-flow > header h2 { margin: 0; font-family: var(--serif); font-size: clamp(36px,3.5vw,58px); font-weight: 500; line-height: 1.22; }
.md-flow > header p { max-width: 480px; margin: 26px 0 0; color: #675f56; font-size: 16px; line-height: 1.95; }
.md-flow-track { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); padding: 42px 0; border-top: 1px solid rgba(15,48,41,.16); border-bottom: 1px solid rgba(15,48,41,.16); }
.md-flow-step { position: relative; min-width: 0; min-height: 150px; padding: 0 20px; }
.md-flow-step > span { display: block; margin-bottom: 16px; color: #c89a51; font-family: var(--serif); font-size: 18px; }
.md-flow-step > strong { display: block; min-height: 34px; font-size: 13px; letter-spacing: .07em; line-height: 1.35; }
.md-flow-step > p { margin: 10px 0 0; color: #675f56; font-size: 12px; line-height: 1.6; }
.md-flow-step > i { position: absolute; top: 30px; right: -5px; color: #c89a51; font-size: 18px; font-style: normal; }
.md-editorial { padding: 26px 0 44px; }
.md-editorial-row { display: grid; grid-template-columns: 1.05fr .95fr; gap: 72px; align-items: center; padding: 74px 0; }
.md-editorial-row.reverse { grid-template-columns: .95fr 1.05fr; }
.md-editorial-copy h2 { margin: 0 0 28px; font-family: var(--serif); font-size: clamp(34px,3vw,50px); font-weight: 500; line-height: 1.3; }
.md-rich-copy p { margin: 0 0 18px; color: #675f56; font-size: 16px; line-height: 1.95; }
.md-editorial-image { min-height: 560px; margin: 0; overflow: hidden; box-shadow: 0 22px 70px rgba(22,32,28,.1); }
.md-editorial-image img { width: 100%; height: 100%; min-height: 560px; object-fit: cover; filter: saturate(.82) contrast(1.02); }
.md-question-list { margin-top: 32px; border-top: 1px solid rgba(15,48,41,.16); }
.md-question-list > div { display: grid; grid-template-columns: 52px 1fr; gap: 20px; padding: 18px 0; border-bottom: 1px solid rgba(15,48,41,.16); }
.md-question-list span { color: #c89a51; font-family: var(--serif); }
.md-question-list strong { font-size: 15px; font-weight: 600; line-height: 1.65; }
.md-subblocks { display: grid; gap: 0; margin-top: 34px; border-top: 1px solid rgba(15,48,41,.16); }
.md-subblocks article { display: grid; grid-template-columns: 148px 1fr; gap: 22px; padding: 22px 0; border-bottom: 1px solid rgba(15,48,41,.16); }
.md-subblocks h3 { margin: 0; font-size: 15px; }
.md-subblocks p { margin: 0; color: #675f56; font-size: 14px; line-height: 1.75; }
.md-third-view { margin-top: 40px; padding: 32px 0 0 28px; border-top: 1px solid rgba(15,48,41,.16); border-left: 1px solid #c89a51; }
.md-third-view h3 { margin: 0 0 20px; font-family: var(--serif); font-size: 27px; font-weight: 500; line-height: 1.35; }
.md-third-view p { margin: 0 0 16px; color: #675f56; font-size: 15px; line-height: 1.85; }
.md-legal { margin: 26px 0 0; padding-top: 18px; border-top: 1px solid rgba(15,48,41,.13); color: #857d72; font-size: 12px; line-height: 1.75; }
.md-take { margin: 68px 0 0; padding: 76px 80px; color: #f8f3e9; background: #0f3029; }
.md-take > span { color: #d4a45e; font-size: 11px; font-weight: 800; letter-spacing: .18em; }
.md-take h2 { max-width: 980px; margin: 48px 0 28px; font-family: var(--serif); font-size: clamp(34px,3.6vw,56px); font-weight: 500; line-height: 1.35; }
.md-take p { max-width: 860px; margin: 0; color: rgba(248,243,233,.72); font-size: 18px; line-height: 1.9; }
.md-bottom-nav { min-height: 126px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; }
.md-bottom-nav a { color: #0f3029; font-size: 14px; text-decoration: none; }
.md-bottom-nav a:nth-child(2) { color: #a8773d; font-size: 11px; font-weight: 800; letter-spacing: .12em; }
.md-bottom-nav a:last-child { justify-self: end; }

@media (max-width: 1080px) {
  .pbl-detail-hero { grid-template-columns: .9fr 1.1fr; }
  .pbl-types { grid-template-columns: 1fr; }
  .pbl-type { min-height: 220px; }
  .md-flow { grid-template-columns: 1fr; }
  .md-editorial-row,
  .md-editorial-row.reverse { gap: 42px; }
}

@media (max-width: 820px) {
  .pbl-grid { grid-template-columns: 1fr; }
  .pbl-card { display: grid; grid-template-columns: 42% 58%; min-height: 300px; }
  .pbl-card-media { height: auto; min-height: 300px; }
  .pbl-card-body { min-height: 300px; }
  .pbl-card-body h4 { margin-top: 36px; }
  .pbl-detail-hero { grid-template-columns: 1fr; }
  .pbl-detail-copy { padding: 45px 36px; }
  .pbl-detail-copy::after { display: none; }
  .pbl-detail-hero > figure { min-height: 360px; }
  .pbl-facts { grid-template-columns: repeat(2,1fr); }
  .pbl-bottom { grid-template-columns: 1fr; }
  .md-hero-content { width: min(720px, 82%); }
  .md-flow-track { overflow-x: auto; }
  .md-flow-step { min-width: 150px; }
  .md-editorial-row,
  .md-editorial-row.reverse { grid-template-columns: 1fr; }
  .md-editorial-row.reverse .md-editorial-image { order: 2; }
  .md-editorial-row.reverse .md-editorial-copy { order: 1; }
}

@media (max-width: 640px) {
  .pbl-card { display: block; min-height: 0; }
  .pbl-card-media { height: 230px; min-height: 0; }
  .pbl-card-body { min-height: 290px; padding: 29px 25px 25px; }
  .pbl-price { font-size: 32px; }
  .pbl-card-body h4 { margin: 34px 0 14px; font-size: 20px; }
  .pbl-card-body p { font-size: 15px; line-height: 1.75; }
  .pbl-detail { margin-top: 38px; }
  .pbl-detail-copy { padding: 38px 24px; }
  .pbl-detail-copy h3 { font-size: 40px; }
  .pbl-detail-copy p { font-size: 16px; line-height: 1.82; }
  .pbl-detail-hero > figure { min-height: 270px; }
  .pbl-facts { grid-template-columns: 1fr; }
  .pbl-fact { min-height: 0; padding: 25px 23px; }
  .pbl-type { grid-template-columns: 1fr; }
  .pbl-type figure { min-height: 220px; }
  .pbl-type > div { padding: 25px 23px 28px; }
  .pbl-priorities,
  .pbl-take { padding: 34px 24px; }
  .pbl-take blockquote { margin-top: 48px; font-size: 31px; }
  .pbl-nav { grid-template-columns: 1fr 1fr; gap: 8px; padding: 20px 0; }
  .pbl-nav a { grid-column: 1 / -1; grid-row: 1; justify-self: center; }
  .pbl-nav button { grid-row: 2; }
  .md-page { padding-top: 68px; }
  .md-shell { width: calc(100% - 24px); }
  .md-hero,
  .md-hero-inner { min-height: 690px; }
  .md-hero-shade { background: linear-gradient(0deg, rgba(6,34,29,.96) 0%, rgba(6,34,29,.65) 64%, rgba(6,34,29,.2)); }
  .md-hero-inner { padding: 27px 22px 38px; }
  .md-hero-content { width: 100%; }
  .md-eyebrow { align-items: flex-start; flex-direction: column; gap: 9px; }
  .md-eyebrow span { font-size: 27px; }
  .md-hero-content h1 { font-size: clamp(50px,15vw,68px); }
  .md-hero-content > p { font-size: 16px; line-height: 1.75; }
  .md-pull { padding: 75px 0 82px; }
  .md-pull > div { width: calc(100% - 32px); }
  .md-pull blockquote { font-size: 31px; line-height: 1.55; }
  .md-flow { gap: 30px; padding: 10px 16px 72px; }
  .md-flow-track { grid-template-columns: 1fr; overflow: visible; padding: 22px 0; }
  .md-flow-step { min-width: 0; min-height: 0; padding: 18px 10px 30px 0; border-bottom: 1px solid rgba(15,48,41,.12); }
  .md-flow-step > i { top: auto; right: auto; bottom: 6px; left: 4px; transform: rotate(90deg); }
  .md-editorial { padding: 0 16px 25px; }
  .md-editorial-row { gap: 30px; padding: 54px 0; }
  .md-editorial-copy h2 { font-size: 34px; }
  .md-rich-copy p { font-size: 16px; line-height: 1.85; }
  .md-editorial-image,
  .md-editorial-image img { min-height: 380px; }
  .md-question-list > div { grid-template-columns: 38px 1fr; gap: 12px; }
  .md-subblocks article { grid-template-columns: 1fr; gap: 8px; }
  .md-third-view { padding-left: 20px; }
  .md-take { margin: 35px 0 0; padding: 54px 28px; }
  .md-take h2 { margin-top: 38px; font-size: 34px; }
  .md-take p { font-size: 16px; line-height: 1.8; }
  .md-bottom-nav { grid-template-columns: 1fr 1fr; min-height: 150px; padding: 22px 4px; }
  .md-bottom-nav a:nth-child(2) { grid-column: 1 / -1; grid-row: 1; justify-self: center; }
  .md-bottom-nav a:first-child,
  .md-bottom-nav a:last-child { grid-row: 2; }
}

@media (prefers-reduced-motion: reduce) {
  .pbl-card,
  .pbl-card-media img,
  .pbl-detail,
  .pbl-type figure img { animation: none !important; transition: none !important; }
}

/* V62 — screenshot-directed book, homepage decision panel, market contact and seller hero */
.hero-choice-panel {
  border-color: rgba(213,170,105,.48);
  background: linear-gradient(150deg, rgba(8,27,21,.95), rgba(8,25,19,.88));
}
.hero-guide { width: min(520px, 40vw); padding: clamp(32px, 3.4vw, 52px); }
.hero-content { width: calc(100% - 590px); }
.hero-choice-panel .guide-kicker { color: #d5aa69; font-size: 13px; letter-spacing: .2em; }
.hero-choice-panel h3 { margin-top: 25px; font-size: clamp(34px, 3.05vw, 50px); line-height: 1.25; }
.hero-choice-panel .lead-mini { color: rgba(255,248,237,.66); font-size: 15px; line-height: 1.8; }
.hero-choice-links a { grid-template-columns: 72px 1fr 34px; min-height: 72px; }
.hero-choice-links span { font-size: 23px; }
.hero-choice-links strong { font-family: var(--serif); font-size: 22px; font-weight: 500; }
.hero-choice-links b { color: #d5aa69; font-size: 24px; }
.hero-choice-contact {
  align-items: center;
  min-height: 66px;
  margin-top: 26px;
  padding: 0 22px;
  border: 1px solid rgba(213,170,105,.7);
  color: #d5aa69;
  font-size: 16px;
}
.hero-choice-contact:hover { padding-inline: 26px; background: rgba(213,170,105,.1); }

.book-page { padding: clamp(80px, 8vw, 124px) 0; }
.book-showcase {
  display: grid;
  grid-template-columns: minmax(0, 1.06fr) minmax(420px, .94fr);
  grid-template-areas: "copy cover" "notes notes" "audience audience";
  gap: clamp(42px, 5vw, 78px) clamp(48px, 6vw, 92px);
  align-items: stretch;
}
.book-showcase .book-copy { grid-area: copy; max-width: 760px; padding-top: 26px; }
.book-showcase .book-cover-stage {
  grid-area: cover;
  min-height: 620px;
  background: #d8c7ae;
  box-shadow: 0 28px 75px rgba(16,32,26,.12);
}
.book-showcase .book-cover-stage::before { inset: 12px; z-index: 1; border-color: rgba(213,170,105,.68); pointer-events: none; }
.book-showcase .book-cover-stage img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; box-shadow: none; transform: none; }
.book-showcase .book-copy h2 { font-size: clamp(56px, 6vw, 92px); letter-spacing: -.045em; }
.book-showcase .book-copy > p { color: #102a22; font-family: var(--serif); font-size: clamp(20px, 2vw, 28px); line-height: 1.65; }
.book-showcase .book-intro { margin-top: 30px; padding-top: 24px; }
.book-showcase .book-intro p { color: #5f5a53; font-size: 16px; line-height: 1.95; }
.book-showcase .book-pull { margin: 28px 0 22px; padding: 14px 0 14px 30px; font-size: clamp(30px, 3.2vw, 48px); }
.book-showcase .book-buy-link { min-width: 265px; min-height: 60px; justify-content: space-between; font-size: 15px; }
.book-showcase .book-notes {
  grid-area: notes;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  margin: 0;
  border-top: 0;
}
.book-showcase .book-notes article {
  display: block;
  min-height: 190px;
  padding: 4px 32px 10px 0;
  border-right: 1px solid rgba(16,32,26,.14);
  border-bottom: 0;
}
.book-showcase .book-notes article:not(:first-child) { padding-left: 38px; }
.book-showcase .book-notes article:last-child { border-right: 0; }
.book-showcase .book-notes span { display: block; margin-bottom: 28px; font-size: 34px; }
.book-showcase .book-notes span::after { content: ""; display: block; width: 42px; margin-top: 12px; border-bottom: 1px solid #c89b5d; }
.book-showcase .book-notes h3 { font-size: 23px; }
.book-showcase .book-notes p { font-size: 15px; }
.book-showcase > .book-audience {
  grid-area: audience;
  margin: -12px 0 0;
  padding: 26px 32px 26px 78px;
  border: 1px solid rgba(16,32,26,.13);
  color: #5f5a53;
  background: rgba(255,255,255,.18);
  font-size: 16px;
  line-height: 1.8;
}
.book-showcase > .book-audience::before { content: "▤"; float: left; margin-left: -48px; color: #c89b5d; font-size: 26px; }

.sell-page { padding-top: clamp(116px, 8vw, 156px); }
.sell-copy h2 em { color: #d5aa69; font-style: normal; }
.sell-copy > p { max-width: 660px; font-size: 17px; line-height: 1.85; }
.sell-journey { display: grid; grid-template-columns: 1fr; max-width: 720px; margin-top: 26px; border-top: 0; gap: 10px; }
.journey-step,
.journey-step.active {
  grid-template-columns: 74px 1fr;
  min-height: 112px;
  padding: 20px 26px;
  border: 1px solid rgba(213,170,105,.34);
  background: rgba(6,24,18,.55);
  color: #fff8ed;
}
.journey-step:hover { background: rgba(213,170,105,.16); border-color: #d5aa69; }
.journey-step.active,
.journey-step.active:hover {
  background: #263a2e;
  border-color: #edc481;
  box-shadow: inset 4px 0 0 #edc481;
}
.journey-step.active strong { color: #fff8ed; }
.journey-step:focus-visible { outline: 2px solid #edc481; outline-offset: 4px; }
.journey-step > span { color: #d5aa69; font: 500 36px/1 var(--serif); align-self: center; }
.journey-step strong { align-self: end; font-family: var(--serif); font-size: 20px; }
.journey-step small { align-self: start; color: rgba(255,248,237,.66); font-size: 14px; line-height: 1.6; }
.inline-lead-form { padding: clamp(30px, 3vw, 46px); border-radius: 14px; }
.inline-lead-form h3 { font-family: var(--serif); font-size: 32px; font-weight: 500; }
.inline-lead-form .lead-form-context { margin: -4px 0 22px; color: #746e64; font-size: 15px; line-height: 1.75; }
.inline-lead-form .lead-select-field { display: block; margin: 2px 0 8px; color: #746e64; font-size: 13px; line-height: 1.4; }
.inline-lead-form .lead-select-field span { display: block; margin: 0 0 6px; font-weight: 650; }
.inline-lead-form .lead-select-field select { width: 100%; margin-bottom: 0; }
.inline-lead-form input,
.inline-lead-form select,
.inline-lead-form textarea { min-height: 50px; margin-bottom: 8px; font-size: 15px; }
.inline-lead-form textarea { min-height: 94px; }
.inline-lead-form .button { width: 100%; min-height: 60px; justify-content: center; font-size: 14px; }

.market-notes > .market-city-contact {
  width: 100%;
  min-height: 72px;
  margin-top: 24px;
  justify-content: center;
  gap: 34px;
  font-size: 16px;
}

@media (max-width: 1080px) {
  .hero-guide { width: min(440px, 40vw); }
  .hero-content { width: calc(100% - 490px); }
  .book-showcase { grid-template-columns: 1fr 1fr; }
  .book-showcase .book-cover-stage { min-height: 540px; }
  .book-showcase .book-notes { grid-template-columns: repeat(2, 1fr); row-gap: 38px; }
  .book-showcase .book-notes article:nth-child(2) { border-right: 0; }
}

@media (max-width: 960px) {
  .hero-content { width: 100%; }
  .hero-guide { width: min(100%, 620px); }
}

@media (max-width: 760px) {
  .hero-choice-panel h3 { font-size: 34px; }
  .hero-choice-panel .lead-mini { font-size: 16px; }
  .hero-choice-links a { grid-template-columns: 48px 1fr 24px; min-height: 66px; }
  .hero-choice-links span { font-size: 19px; }
  .hero-choice-links strong { font-size: 20px; }
  .book-showcase { grid-template-columns: 1fr; grid-template-areas: "copy" "cover" "notes" "audience"; }
  .book-showcase .book-copy { padding-top: 0; }
  .book-showcase .book-cover-stage { min-height: 420px; }
  .book-showcase .book-copy h2 { font-size: clamp(48px, 15vw, 68px); }
  .book-showcase .book-notes { grid-template-columns: 1fr; row-gap: 0; }
  .book-showcase .book-notes article,
  .book-showcase .book-notes article:not(:first-child) { min-height: 0; padding: 26px 0; border-right: 0; border-bottom: 1px solid rgba(16,32,26,.14); }
  .book-showcase .book-notes span { margin-bottom: 14px; }
  .book-showcase > .book-audience { padding: 24px 22px 24px 62px; font-size: 16px; }
  .sell-page { padding-top: 104px; }
  .sell-copy h2 { font-size: clamp(50px, 15vw, 72px); }
  .journey-step,
  .journey-step.active { grid-template-columns: 58px 1fr; padding: 18px; }
  .journey-step > span { font-size: 29px; }
  .journey-step strong { font-size: 19px; }
  .inline-lead-form { border-radius: 10px; }
}

/* V67 — lighter, more compact homepage decision panel */
.hero-choice-panel {
  width: min(430px, 34vw);
  padding: clamp(27px, 2.2vw, 34px);
  border-color: rgba(213,170,105,.42);
  background: linear-gradient(150deg, rgba(8,27,21,.68), rgba(8,25,19,.48));
  -webkit-backdrop-filter: blur(8px) saturate(.82);
  backdrop-filter: blur(8px) saturate(.82);
  box-shadow: 0 24px 64px rgba(5,16,12,.16);
}

.hero-content {
  width: calc(100% - 500px);
}

.hero-choice-panel .guide-kicker {
  font-size: 12px;
}

.hero-choice-panel h3 {
  margin-top: 19px;
  margin-bottom: 10px;
  font-size: clamp(31px, 2.45vw, 41px);
  line-height: 1.22;
}

.hero-choice-panel .lead-mini {
  margin-bottom: 19px;
  font-size: 14px;
  line-height: 1.7;
}

.hero-choice-links a {
  grid-template-columns: 54px 1fr 27px;
  min-height: 62px;
}

.hero-choice-links span { font-size: 19px; }
.hero-choice-links strong { font-size: 18px; }
.hero-choice-links b { font-size: 21px; }

.hero-choice-contact {
  min-height: 56px;
  margin-top: 18px;
  padding-inline: 18px;
  font-size: 14px;
}

@media (max-width: 1080px) {
  .hero-choice-panel { width: min(390px, 38vw); }
  .hero-content { width: calc(100% - 440px); }
}

@media (max-width: 960px) {
  .hero-content { width: 100%; }
  .hero-choice-panel {
    width: min(100%, 560px);
    padding: 30px;
  }
}

@media (max-width: 760px) {
  .hero-choice-panel {
    width: 100%;
    padding: 26px 22px;
    background: linear-gradient(150deg, rgba(8,27,21,.74), rgba(8,25,19,.56));
  }
  .hero-choice-panel h3 { font-size: 32px; }
  .hero-choice-panel .lead-mini { font-size: 15px; }
  .hero-choice-links a { grid-template-columns: 45px 1fr 23px; min-height: 60px; }
  .hero-choice-links span { font-size: 18px; }
  .hero-choice-links strong { font-size: 19px; }
}

/* V68 — trade-up page: one decision path, clearer hierarchy, less vertical sprawl */
body[data-route="move"] .move-page {
  padding: 24px 0 112px;
}

body[data-route="move"] .move-content-block {
  padding: 78px 0;
  scroll-margin-top: 104px;
}

body[data-route="move"] .move-content-block:first-child {
  border-top: 0;
}

body[data-route="move"] .move-subhead {
  grid-template-columns: minmax(150px, .28fr) minmax(0, 1fr);
  gap: clamp(34px, 5vw, 76px);
  margin-bottom: 38px;
}

body[data-route="move"] .move-subhead h3 {
  max-width: 820px;
  font-size: clamp(38px, 4.2vw, 56px);
}

body[data-route="move"] .move-subhead p {
  max-width: 760px;
  margin-top: 16px;
}

body[data-route="move"] .move-question-grid article {
  min-height: 410px;
}

body[data-route="move"] .move-question-grid article > div {
  padding: 30px;
}

body[data-route="move"] .move-question-grid h4 {
  margin-top: 92px;
  font-size: 31px;
}

body[data-route="move"] .move-path-card {
  min-height: 540px;
}

body[data-route="move"] .move-path-card figure {
  height: 210px;
}

body[data-route="move"] .move-path-card > div {
  padding: 26px 28px;
}

body[data-route="move"] .move-path-card h4 {
  margin-bottom: 10px;
  font-size: 33px;
}

body[data-route="move"] .move-path-card dl {
  margin-top: 18px;
}

body[data-route="move"] .move-path-card dl > div {
  padding: 15px 0;
}

body[data-route="move"] .move-path-detail {
  min-height: 560px;
  margin-top: 26px;
}

body[data-route="move"] .move-path-detail-copy {
  padding: clamp(36px, 4vw, 58px);
}

body[data-route="move"] .move-path-detail-copy h4 {
  margin-top: 20px;
  font-size: clamp(40px, 4.5vw, 58px);
}

body[data-route="move"] .move-path-detail-copy dl {
  margin-top: 26px;
}

body[data-route="move"] .move-path-detail-copy dl > div {
  min-height: 122px;
  padding-block: 20px;
}

body[data-route="move"] .move-transition-grid article {
  min-height: 370px;
}

body[data-route="move"] .move-transition-grid article > div {
  padding: 26px;
}

body[data-route="move"] .move-transition-grid h4 {
  margin: 42px 0 14px;
}

.move-timeline-panel {
  display: grid;
  grid-template-columns: minmax(240px, .7fr) minmax(0, 1.3fr);
  gap: clamp(40px, 6vw, 90px);
  align-items: end;
  margin-top: 18px;
  padding: clamp(36px, 5vw, 64px);
  border: 1px solid var(--line-dark);
  color: var(--cream);
  background: var(--ink);
}

.move-timeline-panel > div:first-child > span {
  display: block;
  margin-bottom: 26px;
  color: var(--gold);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .16em;
}

.move-timeline-panel > div:first-child > strong {
  display: block;
  font-family: var(--serif);
  font-size: clamp(31px, 3.5vw, 46px);
  font-weight: 500;
  line-height: 1.16;
}

.move-timeline-panel > div:first-child > p {
  max-width: 430px;
  margin: 18px 0 0;
  color: rgba(241,234,223,.68);
  font-size: 15px;
  line-height: 1.8;
}

.move-timeline-panel .move-timeline {
  margin: 0;
}

.move-timeline-panel .move-timeline span {
  min-height: 94px;
  padding: 24px 16px 16px 0;
  border-color: var(--line-dark);
  color: rgba(241,234,223,.78);
}

.move-timeline-panel .move-timeline i {
  color: var(--gold);
}

body[data-route="move"] .move-system-stage {
  min-height: 680px;
  margin-top: 78px;
  scroll-margin-top: 104px;
}

body[data-route="move"] .move-system-copy {
  padding: clamp(52px, 6vw, 82px);
}

body[data-route="move"] .move-system-copy h3 {
  font-size: clamp(45px, 5.2vw, 68px);
}

@media (max-width: 900px) {
  .move-timeline-panel {
    grid-template-columns: 1fr;
    gap: 34px;
  }
}

@media (max-width: 640px) {
  body[data-route="move"] .move-page {
    padding: 8px 0 76px;
  }

  body[data-route="move"] .move-content-block {
    padding: 58px 0;
    scroll-margin-top: 82px;
  }

  body[data-route="move"] .move-subhead {
    grid-template-columns: 1fr;
    gap: 18px;
    margin-bottom: 28px;
  }

  body[data-route="move"] .move-subhead > span {
    padding-top: 0;
  }

  body[data-route="move"] .move-subhead h3 {
    font-size: 34px;
  }

  body[data-route="move"] .move-question-grid article {
    min-height: 350px;
  }

  body[data-route="move"] .move-question-grid h4 {
    margin-top: 70px;
    font-size: 29px;
  }

  body[data-route="move"] .move-path-card {
    min-height: 500px;
  }

  body[data-route="move"] .move-path-card figure {
    height: 190px;
  }

  body[data-route="move"] .move-path-detail {
    min-height: 0;
  }

  body[data-route="move"] .move-transition-grid article {
    min-height: 300px;
  }

  .move-timeline-panel {
    margin-top: 14px;
    padding: 30px 22px;
  }

  .move-timeline-panel .move-timeline {
    grid-template-columns: 1fr;
  }

  .move-timeline-panel .move-timeline span {
    min-height: 0;
    padding: 16px 0;
    border-top: 1px solid var(--line-dark);
  }

  body[data-route="move"] .move-system-stage {
    min-height: 0;
    margin-top: 58px;
    scroll-margin-top: 82px;
  }
}

/* V69 — clickable pre-trade-up decisions with client-facing outcomes */
.move-question-card {
  position: relative;
  min-height: 410px;
  display: block;
  overflow: hidden;
  padding: 0;
  border: 1px solid transparent;
  color: var(--cream);
  background: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: transform .35s ease, box-shadow .35s ease, border-color .35s ease;
}

.move-question-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(7,20,16,.97), rgba(7,20,16,.1) 72%);
  pointer-events: none;
}

.move-question-card > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .84;
  transition: transform .7s ease, opacity .4s ease;
}

.move-question-card > div {
  position: absolute;
  z-index: 2;
  inset: auto 0 0;
  padding: 30px;
}

.move-question-card span {
  color: var(--gold);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
}

.move-question-card h4 {
  margin: 88px 0 16px;
  font-family: var(--serif);
  font-size: 31px;
  font-weight: 500;
  line-height: 1.25;
}

.move-question-card p {
  margin: 0;
  color: rgba(241,234,223,.76);
  font-size: 16px;
  line-height: 1.8;
}

.move-question-card em {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 22px;
  padding-top: 16px;
  border-top: 1px solid rgba(241,234,223,.24);
  color: var(--cream);
  font-size: 14px;
  font-style: normal;
  font-weight: 700;
  opacity: .78;
}

.move-question-card em b {
  color: var(--gold);
  font-size: 20px;
  font-weight: 400;
  transition: transform .3s ease;
}

.move-question-card:hover,
.move-question-card.active {
  z-index: 2;
  border-color: var(--gold-dark);
  transform: translateY(-7px);
  box-shadow: var(--shadow-deep);
}

.move-question-card:hover > img,
.move-question-card.active > img {
  opacity: 1;
  transform: scale(1.045);
}

.move-question-card:hover em,
.move-question-card.active em {
  opacity: 1;
}

.move-question-card:hover em b,
.move-question-card.active em b {
  transform: translateX(5px);
}

.move-question-card:focus-visible {
  outline: 2px solid var(--gold-dark);
  outline-offset: 4px;
}

.move-question-detail {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, .75fr);
  margin-top: 24px;
  border: 1px solid var(--line);
  color: var(--ink);
  background: #f7f2e9;
  animation: moveCardIn .35s ease both;
}

.move-question-detail-copy {
  padding: clamp(38px, 5vw, 68px);
  border-right: 1px solid var(--line);
}

.move-question-detail-copy > span,
.move-question-detail aside > small {
  color: var(--gold-dark);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .15em;
}

.move-question-detail-copy h4 {
  max-width: 820px;
  margin: 28px 0 20px;
  font-family: var(--serif);
  font-size: clamp(34px, 4vw, 52px);
  font-weight: 500;
  line-height: 1.2;
}

.move-question-detail-copy p {
  max-width: 820px;
  margin: 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.9;
}

.move-question-detail aside {
  display: flex;
  flex-direction: column;
  padding: clamp(36px, 4vw, 56px);
  color: var(--cream);
  background: var(--ink);
}

.move-question-detail aside ul {
  display: grid;
  gap: 0;
  margin: 26px 0 34px;
  padding: 0;
  list-style: none;
}

.move-question-detail aside li {
  padding: 14px 0;
  border-bottom: 1px solid var(--line-dark);
  color: rgba(241,234,223,.82);
  font-size: 15px;
}

.move-question-detail aside li::before {
  content: "—";
  margin-right: 12px;
  color: var(--gold);
}

.move-question-detail aside a {
  min-height: 60px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding: 0 20px;
  border: 1px solid rgba(189,150,92,.72);
  color: var(--gold);
  font-size: 15px;
  font-weight: 700;
  transition: color .3s ease, background .3s ease;
}

.move-question-detail aside a:hover {
  color: var(--ink);
  background: var(--gold);
}

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

  .move-question-detail-copy {
    border-right: 0;
  }
}

@media (max-width: 640px) {
  .move-question-card {
    min-height: 360px;
  }

  .move-question-card > div {
    padding: 24px 22px;
  }

  .move-question-card h4 {
    margin-top: 58px;
    font-size: 28px;
  }

  .move-question-detail {
    margin-top: 16px;
  }

  .move-question-detail-copy,
  .move-question-detail aside {
    padding: 30px 22px;
  }

  .move-question-detail-copy h4 {
    margin-top: 22px;
    font-size: 34px;
  }

  .move-question-detail-copy p {
    font-size: 16px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .move-question-card,
  .move-question-card img,
  .move-question-card em b,
  .move-question-detail,
  .move-question-detail aside a {
    animation: none !important;
    transition: none !important;
  }
}

/* Location and school service detail, within the ivory luxury section. */
.luxury-context-link { display: inline-block; margin-top: 24px; color: var(--ink); font: 600 16px/1.6 var(--sans); text-decoration: underline; text-underline-offset: 6px; }
.luxury-context { margin-top: 48px; padding-top: 36px; border-top: 1px solid var(--line); scroll-margin-top: 110px; }
.buy-page .luxury-context h3 { margin: 0 0 28px; color: var(--ink); font: 600 clamp(24px, 2.3vw, 32px)/1.4 var(--sans); }
.luxury-context-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 36px; }
.buy-page .luxury-context h4 { margin: 0 0 12px; color: var(--ink); font: 600 20px/1.5 var(--sans); }
.buy-page .luxury-context p { margin: 0; color: var(--muted); font: 400 17px/1.85 var(--sans); }
.luxury-context-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 28px; }
@media(max-width: 700px) { .luxury-context-grid { grid-template-columns: 1fr; gap: 28px; } .luxury-context { margin-top: 32px; } }

/* Dedicated homepage team metrics section. */
.metrics-band { padding: 76px 0; }
.metrics-band h2 { margin: 0; font: 500 clamp(28px, 3vw, 42px)/1.35 var(--sans); color: var(--cream); }
.metrics-band .metrics-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 0; padding-block: 32px; }
.metrics-band .metric { min-width: 0; padding: 28px; border: 1px solid rgba(244,239,230,.16); }
.metrics-band .metric strong { font-size: clamp(27px,3vw,42px); overflow-wrap: anywhere; }
.metrics-band .metric span { font-size: 17px; line-height: 1.6; }
.metrics-band .metric small { display: block; margin-top: 8px; font-size: 13px; letter-spacing: 0; }
#metricsNote { margin: 0; color: #c5c8c2; font: 400 14px/1.7 var(--sans); }
@media(max-width:700px) { .metrics-band { padding: 44px 0; } .metrics-band .metrics-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .metrics-band .metric { padding: 20px 14px; } .metrics-band .metric strong { font-size: 26px; } }
@media(max-width:380px) { .metrics-band .metrics-grid { grid-template-columns: 1fr; } }

/* Compact proof points: one line on desktop, readable pairs on small screens. */
.metrics-band { padding: 28px 0 30px; }
.metrics-band > .section-wrap { width: min(1560px, calc(100% - 80px)); }
.metrics-band h2 { font: 600 17px/1.5 var(--sans); letter-spacing: .03em; }
.metrics-band .metrics-grid {
  width: min(1560px, calc(100% - 80px));
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  padding: 15px 0 12px;
}
.metrics-band .metric { border: 0; border-left: 1px solid rgba(244,239,230,.2); padding: 7px 17px; }
.metrics-band .metric:first-child { border-left: 0; padding-left: 0; }
.metrics-band .metric strong { font: 500 clamp(23px,2vw,31px)/1.15 var(--serif); white-space: nowrap; }
.metrics-band .metric span { margin-top: 5px; font-size: 14px; line-height: 1.4; }
.metrics-band .metric small { margin-top: 3px; font-size: 12px; line-height: 1.4; }
.metrics-band #metricsNote { font-size: 12px; line-height: 1.55; }
.metrics-band #metricsNote a { color: var(--cream); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1050px) {
  .metrics-band .metrics-grid { grid-template-columns: repeat(3, minmax(0,1fr)); row-gap: 14px; }
  .metrics-band .metric:nth-child(4) { border-left: 0; padding-left: 0; }
}
@media (max-width: 640px) {
  .metrics-band > .section-wrap, .metrics-band .metrics-grid { width: calc(100% - 36px); }
  .metrics-band .metrics-grid { grid-template-columns: repeat(2, minmax(0,1fr)); row-gap: 15px; }
  .metrics-band .metric { padding: 5px 12px; }
  .metrics-band .metric:nth-child(odd) { border-left: 0; padding-left: 0; }
  .metrics-band .metric:nth-child(even) { border-left: 1px solid rgba(244,239,230,.2); padding-left: 12px; }
  .metrics-band .metric strong { font-size: 25px; }
}

/* Unified city and transaction library */
body[data-route="cases"] .properties-section {
  width: 100%;
  max-width: none;
  padding: 104px max(5.5vw, 34px) 112px;
  background: #f6f1e8;
}
body[data-route="cases"] .properties-section > * { width: min(1560px, 100%); margin-inline: auto; }
body[data-route="cases"] .properties-section .section-heading { max-width: 920px; }
body[data-route="cases"] .properties-section .section-heading h2 { font-size: clamp(48px, 6.2vw, 82px); line-height: 1.02; }
body[data-route="cases"] .properties-section .property-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body[data-route="cases"] .properties-section .property-card { background: #fffdf8; }
.property-source { display: block; margin-top: 15px; color: var(--muted); font-size: 12px; letter-spacing: .04em; }

.featured-cases-section { padding: 112px 0 120px; background: #102a22; color: #f5eee2; }
.featured-cases-section .section-kicker { color: #d2a866; }
.featured-cases-section h2 { margin: 14px 0 0; font: 500 clamp(46px, 6vw, 78px)/1.06 var(--serif); }
.featured-cases-section h2 em { color: #d2a866; font-style: normal; font-weight: 400; }
.featured-cases-section .split-heading > p { color: rgba(245,238,226,.72); }
.featured-case-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin-top: 52px; background: rgba(245,238,226,.2); border: 1px solid rgba(245,238,226,.2); }
.featured-case-card { display: grid; grid-template-columns: 42% 1fr; min-height: 350px; background: #102a22; cursor: pointer; transition: background .25s ease; }
.featured-case-card:hover, .featured-case-card:focus-visible { background: #16382e; outline: none; }
.featured-case-card figure { position: relative; min-height: 100%; margin: 0; overflow: hidden; }
.featured-case-card figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(8,24,19,.02),rgba(8,24,19,.28)); }
.featured-case-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.featured-case-card:hover img { transform: scale(1.035); }
.featured-case-card figure span { position: absolute; z-index: 1; inset: 18px auto auto 18px; padding: 7px 9px; background: rgba(10,31,24,.86); color: #f5eee2; font-size: 10px; font-weight: 700; letter-spacing: .11em; }
.featured-case-card > div { display: flex; flex-direction: column; padding: 32px; }
.featured-case-card small { color: #d2a866; font-size: 12px; letter-spacing: .06em; }
.featured-case-card h3 { margin: 19px 0 15px; font: 500 30px/1.22 var(--serif); }
.featured-case-card p { display: -webkit-box; overflow: hidden; margin: 0; color: rgba(245,238,226,.68); font-size: 15px; line-height: 1.72; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.featured-case-card footer { display: flex; gap: 16px; align-items: end; justify-content: space-between; margin-top: auto; padding-top: 24px; border-top: 1px solid rgba(245,238,226,.18); }
.featured-case-card footer strong { font: 500 20px/1.25 var(--serif); }
.featured-case-card footer em { color: #d2a866; font-size: 12px; font-style: normal; white-space: nowrap; }

body[data-route="cases"] .classic-cases-section { padding: 92px 0 120px; }
body[data-route="cases"] .classic-cases-section .split-heading { align-items: end; }
body[data-route="cases"] .classic-cases-section .split-heading > p { max-width: 610px; }
body[data-route="cases"] .classic-case-filters { display: block; margin: 50px 0 28px; }
.case-library-controls {
  display: grid;
  grid-template-columns: minmax(0,1.5fr) minmax(0,1fr) minmax(190px,.55fr);
  gap: 28px;
  align-items: end;
  padding: 26px;
  border: 1px solid rgba(16,32,26,.16);
  background: rgba(255,252,245,.76);
}
.case-library-filter-group > span,
.case-library-city > span {
  display: block;
  margin-bottom: 12px;
  color: var(--gold-dark);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .16em;
}
.case-library-filter-group > div { display: flex; flex-wrap: wrap; gap: 8px; }
body[data-route="cases"] .case-library-filter-group button { padding: 9px 13px; font-size: 12px; }
.case-library-city select {
  width: 100%;
  min-height: 41px;
  padding: 0 36px 0 13px;
  border: 1px solid var(--line);
  border-radius: 0;
  background: var(--paper);
  color: var(--ink);
  font: 600 13px/1.2 var(--sans);
}
.case-library-summary { display: flex; gap: 9px; align-items: baseline; margin-top: 18px; color: var(--muted); font-size: 13px; }
.case-library-summary strong { color: var(--ink); font: 500 30px/1 var(--serif); }
body[data-route="cases"] .classic-case-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
body[data-route="cases"] .classic-case-card.case-library-card { display: flex; flex-direction: column; min-height: 560px; }
body[data-route="cases"] .case-library-card figure { flex: 0 0 238px; min-height: 238px; }
body[data-route="cases"] .case-library-card > div { flex: 1; padding: 27px 26px 25px; }
body[data-route="cases"] .case-library-card h3 { margin: 16px 0 12px; font-size: 27px; }
body[data-route="cases"] .case-library-card p {
  display: -webkit-box;
  overflow: hidden;
  margin: 0 0 24px;
  line-height: 1.75;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
.case-library-result { display: flex; gap: 16px; align-items: end; justify-content: space-between; margin-top: auto; padding-top: 20px; border-top: 1px solid var(--line); }
.case-library-result strong { margin: 0; font-size: 20px; }
.case-library-result em { margin: 0; white-space: nowrap; font-size: 12px; }
.classic-case-empty { grid-column: 1 / -1; padding: 64px 24px; border: 1px solid var(--line); color: var(--muted); text-align: center; }
.classic-case-more { display: flex; justify-content: center; margin-top: 36px; }
.case-library-more { min-width: 260px; padding: 15px 24px; border: 1px solid var(--ink); background: transparent; color: var(--ink); font-weight: 700; }
.case-library-more:hover { background: var(--ink); color: var(--cream); }

body[data-route="cases"] .city-atlas-section { padding: 82px 0 95px; }
body[data-route="cases"] .city-atlas-heading { padding-bottom: 38px; }
body[data-route="cases"] .city-atlas-profile { min-height: 0; }
body[data-route="cases"] .city-profile-image { aspect-ratio: 16 / 8; }
body[data-route="cases"] .city-profile-body.case-atlas-body { min-height: 0; padding: 28px 30px 30px; }
body[data-route="cases"] .case-atlas-body > h3 { margin-bottom: 7px; }
.case-atlas-count { margin: 0 0 20px; color: rgba(16,42,34,.65); font-size: 15px; }
.case-atlas-list { display: grid; gap: 9px; }
.case-atlas-card {
  display: grid;
  grid-template-columns: 82px minmax(0,1fr) auto;
  gap: 14px;
  align-items: center;
  width: 100%;
  min-height: 91px;
  padding: 8px 13px 8px 8px;
  border: 1px solid rgba(16,42,34,.16);
  background: transparent;
  color: #102a22;
  text-align: left;
  cursor: pointer;
  transition: border-color .2s ease, background .2s ease;
}
.case-atlas-card:hover,
.case-atlas-card:focus-visible { border-color: #a87d43; background: rgba(201,158,96,.08); }
.case-atlas-card img { width: 82px; height: 73px; object-fit: cover; }
.case-atlas-card > span { display: grid; min-width: 0; gap: 3px; }
.case-atlas-card small { color: #a87d43; font-size: 12px; font-weight: 700; }
.case-atlas-card strong { overflow: hidden; color: #102a22; font: 600 16px/1.35 var(--sans); text-overflow: ellipsis; white-space: nowrap; }
.case-atlas-card em { color: rgba(16,42,34,.65); font-size: 13px; font-style: normal; }
.case-atlas-card > b { color: #a87d43; font-size: 18px; font-weight: 400; }
.case-atlas-empty { margin: 0; padding: 24px; border: 1px solid rgba(16,42,34,.16); color: rgba(16,42,34,.65); font-size: 15px; line-height: 1.65; }
body[data-route="cases"] .case-atlas-all {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 24px;
  align-items: center;
  width: 100%;
  min-height: 66px;
  margin-top: 12px;
  padding: 0 18px;
  border: 1px solid rgba(16,42,34,.42);
  background: rgba(255,255,255,.16);
  color: #102a22;
  cursor: pointer;
  font-family: var(--sans);
  line-height: 1.35;
  text-align: left;
  transition: border-color .2s ease, background .2s ease;
}
body[data-route="cases"] .case-atlas-all:hover,
body[data-route="cases"] .case-atlas-all:focus-visible { border-color: #a87d43; background: rgba(201,158,96,.08); }
body[data-route="cases"] .case-atlas-all .case-atlas-all-label { color: #102a22; font-size: 15px; font-weight: 700; }
body[data-route="cases"] .case-atlas-all .case-atlas-all-tail { display: inline-flex; gap: 12px; align-items: center; color: #a87d43; }
body[data-route="cases"] .case-atlas-all .case-atlas-all-tail small { color: rgba(16,42,34,.62); font-size: 12px; font-weight: 600; white-space: nowrap; }
body[data-route="cases"] .case-atlas-all .case-atlas-all-tail b { font-size: 19px; font-weight: 400; line-height: 1; }
body[data-route="cases"] .case-atlas-all:hover .case-atlas-all-label,
body[data-route="cases"] .case-atlas-all:hover .case-atlas-all-tail { transform: none; }
body[data-route="cases"] .case-atlas-all:hover .case-atlas-all-tail b { transform: translateX(4px); }
body[data-route="cases"] .city-map-index button small { margin-left: auto; color: #d7ad72; font: 600 12px/1 var(--sans); }

@media (max-width: 1100px) {
  body[data-route="cases"] .properties-section .property-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .featured-case-grid { grid-template-columns: 1fr; }
  .case-library-controls { grid-template-columns: 1fr 1fr; }
  .case-library-city { grid-column: 1 / -1; }
  body[data-route="cases"] .classic-case-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 700px) {
  body[data-route="cases"] .properties-section { padding: 76px 18px 84px; }
  body[data-route="cases"] .properties-section .section-heading h2 { font-size: clamp(40px, 12vw, 58px); }
  body[data-route="cases"] .properties-section .property-grid { grid-template-columns: 1fr; }
  .featured-cases-section { padding: 82px 0 90px; }
  .featured-case-grid { margin-top: 36px; }
  .featured-case-card { grid-template-columns: 1fr; min-height: 0; }
  .featured-case-card figure { min-height: 255px; }
  .featured-case-card > div { min-height: 300px; padding: 26px 22px; }
  .featured-case-card h3 { font-size: 28px; }
}

@media (max-width: 720px) {
  body[data-route="cases"] .city-atlas-section { padding: 66px 0 70px; }
  body[data-route="cases"] .city-atlas-profile { grid-template-columns: 1fr; }
  body[data-route="cases"] .city-profile-image { aspect-ratio: 16 / 9; }
  body[data-route="cases"] .city-profile-body.case-atlas-body { padding: 24px 20px 27px; }
  .case-atlas-card { grid-template-columns: 72px minmax(0,1fr) auto; gap: 10px; }
  .case-atlas-card img { width: 72px; height: 69px; }
  body[data-route="cases"] .classic-cases-section { padding: 70px 0 86px; }
  .case-library-controls { grid-template-columns: 1fr; gap: 22px; padding: 20px; }
  .case-library-city { grid-column: auto; }
  body[data-route="cases"] .classic-case-grid { grid-template-columns: 1fr; }
  body[data-route="cases"] .classic-case-card.case-library-card { min-height: 0; }
  body[data-route="cases"] .case-library-card figure { flex-basis: 250px; }
  .case-library-result { align-items: flex-start; flex-direction: column; }
  .case-library-more { width: 100%; }
}

/* V101 — content center, selected reading and author invitations. */
.book-showcase {
  grid-template-areas:
    "copy cover"
    "notes notes"
    "audience audience"
    "excerpts excerpts"
    "invitation invitation";
}
.book-excerpts {
  grid-area: excerpts;
  padding-top: clamp(42px, 5vw, 74px);
  border-top: 1px solid rgba(16,32,26,.16);
}
.book-excerpts > header {
  display: grid;
  grid-template-columns: minmax(0,.72fr) minmax(360px,1.28fr);
  gap: 20px 64px;
  align-items: end;
  margin-bottom: 34px;
}
.book-excerpts > header > span {
  grid-column: 1 / -1;
  color: var(--gold-dark);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .2em;
}
.book-excerpts > header h3 {
  margin: 0;
  color: var(--ink);
  font: 500 clamp(40px,4.2vw,64px)/1.08 var(--serif);
  letter-spacing: -.035em;
}
.book-excerpts > header p {
  margin: 0;
  color: var(--muted);
  font: 400 16px/1.85 var(--sans);
}
.book-excerpt-grid {
  display: grid;
  grid-template-columns: 1fr;
  border: 1px solid rgba(16,32,26,.14);
}
.book-excerpt-tabs { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
.book-excerpt-tab {
  position: relative;
  min-width: 0;
  min-height: 250px;
  padding: clamp(28px,3vw,46px);
  border: 0;
  border-bottom: 1px solid rgba(16,32,26,.14);
  background: rgba(255,255,255,.22);
  color: var(--ink);
  cursor: pointer;
  text-align: left;
  transition: background .2s ease, box-shadow .2s ease;
}
.book-excerpt-tab + .book-excerpt-tab { border-left: 1px solid rgba(16,32,26,.14); }
.book-excerpt-tab:hover,
.book-excerpt-tab:focus-visible { background: rgba(201,158,96,.08); }
.book-excerpt-tab.is-active { background: rgba(201,158,96,.11); box-shadow: inset 0 3px 0 var(--gold-dark); }
.book-excerpt-tab > span {
  color: var(--gold-dark);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .16em;
}
.book-excerpt-tab h4 {
  max-width: 18ch;
  min-height: 2.7em;
  margin: 22px 0 28px;
  color: var(--ink);
  font: 500 clamp(25px,2.4vw,36px)/1.35 var(--serif);
}
.book-excerpt-tab small { display: flex; align-items: center; justify-content: space-between; font: 700 13px/1.4 var(--sans); }
.book-excerpt-tab small b { color: var(--gold-dark); font: 400 22px/1 var(--serif); transition: transform .2s ease; }
.book-excerpt-tab:hover small b { transform: translateX(4px); }
.book-excerpt-reader {
  min-width: 0;
  padding: clamp(28px,3vw,46px);
  background: rgba(255,255,255,.34);
}
.book-excerpt-reader > header {
  display: grid;
  grid-template-columns: minmax(110px,.28fr) minmax(0,1fr);
  gap: 28px;
  align-items: baseline;
  margin-bottom: 28px;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(16,32,26,.14);
}
.book-excerpt-reader > header span {
  color: var(--gold-dark);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .16em;
}
.book-excerpt-reader h4 {
  margin: 0;
  color: var(--ink);
  font: 500 clamp(25px,2.4vw,34px)/1.35 var(--serif);
}
.book-excerpt-reader-body { column-count: 2; column-gap: clamp(36px,5vw,72px); column-rule: 1px solid rgba(16,32,26,.11); }
.book-excerpt-reader p {
  margin: 0;
  color: var(--muted);
  font: 400 15px/1.9 var(--sans);
  white-space: pre-line;
  break-inside: avoid;
}
.book-excerpt-reader p + p { margin-top: 18px; }
.book-invitation {
  grid-area: invitation;
  min-height: 170px;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 40px;
  align-items: center;
  padding: clamp(28px,3vw,46px);
  border: 1px solid rgba(16,32,26,.16);
  background: linear-gradient(105deg,rgba(15,47,40,.97),rgba(33,62,51,.94));
  color: var(--cream);
}
.book-invitation span { color: #d5aa69; font-size: 10px; font-weight: 750; letter-spacing: .2em; }
.book-invitation h3 { margin: 12px 0 8px; color: #fff8ed; font: 500 clamp(27px,3vw,40px)/1.2 var(--serif); }
.book-invitation p { max-width: 680px; margin: 0; color: rgba(255,248,237,.7); font-size: 15px; line-height: 1.75; }
.book-invitation .button { min-width: 230px; justify-content: space-between; border-color: #d5aa69; background: #d5aa69; color: var(--ink); }

.media-grid,
body[data-route="about"] .media-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
.media-channel-market .media-channel-shade { background: linear-gradient(180deg,rgba(15,47,40,.08),rgba(7,31,24,.86)); }
.media-channel-podcast .media-channel-shade { background: linear-gradient(180deg,rgba(67,38,22,.08),rgba(38,23,17,.84)); }
.media-public-record {
  display: grid;
  grid-template-columns: minmax(270px,1.2fr) minmax(330px,1fr) auto;
  gap: 34px;
  align-items: center;
  margin-top: 18px;
  padding: 26px 28px;
  border: 1px solid rgba(15,47,40,.16);
  background: rgba(250,247,240,.76);
}
.media-public-record > div:first-child > span { color: var(--gold-dark); font-size: 10px; font-weight: 750; letter-spacing: .16em; }
.media-public-record > div:first-child > strong { display: block; margin: 8px 0 5px; color: var(--ink); font: 500 22px/1.35 var(--serif); }
.media-public-record > div:first-child > p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.65; }
.media-public-stats { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); }
.media-public-stats span { min-width: 0; padding: 4px 14px; color: var(--muted); font-size: 10px; text-align: center; }
.media-public-stats span + span { border-left: 1px solid rgba(15,47,40,.14); }
.media-public-stats b { display: block; margin-bottom: 7px; color: var(--ink); font: 500 25px/1 var(--serif); }
.media-public-record > a { min-width: 176px; padding-bottom: 6px; border-bottom: 1px solid rgba(15,47,40,.3); color: var(--ink); font-size: 13px; font-weight: 700; }

@media (max-width: 1180px) {
  .media-grid,
  body[data-route="about"] .media-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .media-public-record { grid-template-columns: 1fr 1fr; }
  .media-public-record > a { grid-column: 1 / -1; width: fit-content; }
}

@media (max-width: 760px) {
  .book-showcase {
    grid-template-areas:
      "copy"
      "cover"
      "notes"
      "audience"
      "excerpts"
      "invitation";
  }
  .book-excerpts > header { grid-template-columns: 1fr; gap: 14px; }
  .book-excerpts > header > span { grid-column: auto; }
  .book-excerpt-tabs { grid-template-columns: 1fr; }
  .book-excerpt-tab { min-height: 0; }
  .book-excerpt-tab + .book-excerpt-tab { border-left: 0; }
  .book-excerpt-tab h4 { min-height: 0; }
  .book-excerpt-reader > header { grid-template-columns: 1fr; gap: 10px; }
  .book-excerpt-reader-body { column-count: 1; }
  .book-invitation { grid-template-columns: 1fr; gap: 24px; }
  .book-invitation .button { width: 100%; }
  .media-public-record { grid-template-columns: 1fr; padding: 24px 20px; }
  .media-public-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .media-public-record > a { grid-column: auto; }
}

@media (max-width: 520px) {
  body[data-route="cases"] .case-atlas-all { gap: 12px; min-height: 62px; padding: 0 14px; }
  body[data-route="cases"] .case-atlas-all .case-atlas-all-tail small { display: none; }
}

@media (max-width: 680px) {
  .media-grid,
  body[data-route="about"] .media-grid { grid-template-columns: 1fr; }
}

#personalExperience { color: var(--gold-dark); font: 600 18px/1.6 var(--sans); margin: 16px 0; }

/* Keep the home case library compact while letting visitors browse it in place. */
body:is([data-route="home"], [data-route="sell"], [data-route="move"]) .classic-case-grid.home-cases-scroll {
  height: min(62vh, 590px);
  min-height: 440px;
  overflow-y: auto;
  scroll-behavior: smooth;
  scrollbar-gutter: stable;
  align-content: start;
  padding-right: 10px;
}
body:is([data-route="home"], [data-route="sell"], [data-route="move"]) .classic-case-grid.home-cases-scroll:focus-visible {
  outline: 2px solid var(--gold-dark);
  outline-offset: 4px;
}
body:is([data-route="home"], [data-route="sell"], [data-route="move"]) .classic-case-grid.home-cases-scroll::-webkit-scrollbar { width: 8px; }
body:is([data-route="home"], [data-route="sell"], [data-route="move"]) .classic-case-grid.home-cases-scroll::-webkit-scrollbar-thumb { background: #ae8c5d; border-radius: 8px; }
body:is([data-route="home"], [data-route="sell"], [data-route="move"]) .classic-case-more { display: block; margin-top: 20px; }
body:is([data-route="sell"], [data-route="move"]) .classic-case-filters:empty { display: none; }
.home-cases-controls { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.home-cases-controls > span { margin-right: auto; color: var(--muted); font-size: 14px; }
.home-cases-controls button {
  min-width: 44px;
  min-height: 44px;
  border: 1px solid rgba(15,47,40,.3);
  background: transparent;
  color: var(--ink);
  cursor: pointer;
}
.home-cases-controls button:hover,
.home-cases-controls button:focus-visible { background: var(--ink); color: #fff; }
.home-cases-controls .home-cases-toggle { padding: 0 20px; font-size: 14px; font-weight: 600; }
@media (max-width: 640px) {
  body:is([data-route="home"], [data-route="sell"], [data-route="move"]) .classic-case-grid.home-cases-scroll {
    height: min(65vh, 530px);
    min-height: 380px;
    padding-right: 4px;
  }
  .home-cases-controls > span { width: 100%; }
}

/* The home statement has exactly two intentional lines at every viewport. */
body[data-route="home"] .hero h1.hero-title-two-lines {
  width: max-content;
  max-width: none;
  margin-block: 22px 26px;
  font-size: clamp(31px, 3.7vw, 60px);
  line-height: 1.12;
  letter-spacing: -.05em;
  white-space: nowrap;
  text-wrap: nowrap;
}
body[data-route="home"] .hero h1.hero-title-two-lines em { color: #f5efe5; }
html[lang="en"] body[data-route="home"] .hero h1.hero-title-two-lines { font-size: clamp(28px, 3.2vw, 52px); }
@media (max-width: 960px) {
  body[data-route="home"] .hero h1.hero-title-two-lines { font-size: clamp(30px, 5vw, 46px); }
  html[lang="en"] body[data-route="home"] .hero h1.hero-title-two-lines { font-size: clamp(27px, 4.5vw, 42px); }
}
@media (max-width: 640px) {
  body[data-route="home"] .hero h1.hero-title-two-lines { font-size: clamp(21px, 6.7vw, 42px); line-height: 1.22; }
  html[lang="en"] body[data-route="home"] .hero h1.hero-title-two-lines { font-size: clamp(21px, 6vw, 38px); }
}

/* Dedicated seller valuation journey: contact first, property context second. */
.home-value-page {
  min-height: 100vh;
  padding: 118px 0 58px;
  background:
    radial-gradient(circle at 17% 18%, rgba(189,150,92,.15), transparent 26%),
    linear-gradient(112deg, rgba(8,24,18,.98) 0%, rgba(11,35,26,.94) 53%, rgba(25,48,38,.87) 100%),
    var(--home-value-image, url("https://images.unsplash.com/photo-1600607688969-a5bfcd646154?auto=format&fit=crop&w=2200&q=84")) center/cover;
  color: var(--cream);
}
.home-value-shell {
  width: min(1280px, calc(100% - 96px));
  min-height: calc(100vh - 176px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, .86fr) minmax(520px, 1fr);
  gap: clamp(54px, 7vw, 112px);
  align-items: center;
}
.home-value-intro { max-width: 590px; }
.home-value-kicker { color: #d5aa69; font-size: 12px; font-weight: 700; letter-spacing: .2em; }
.home-value-intro h1 { margin: 20px 0 24px; color: #fffaf1; font: 500 clamp(45px,5.5vw,78px)/1.08 var(--serif); letter-spacing: -.055em; }
.home-value-intro h1 em { color: #d5aa69; font-style: normal; }
.home-value-lead { max-width: 570px; margin: 0; color: rgba(250,247,241,.75); font-size: 17px; line-height: 1.85; }
.home-value-promise { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-top: 38px; border-block: 1px solid rgba(250,247,241,.16); }
.home-value-promise span { min-height: 94px; display: flex; flex-direction: column; justify-content: center; padding: 15px 20px 15px 0; color: rgba(250,247,241,.78); font-size: 13px; }
.home-value-promise span + span { padding-left: 20px; border-left: 1px solid rgba(250,247,241,.16); }
.home-value-promise b { margin-bottom: 6px; color: #d5aa69; font: 500 18px/1 var(--serif); }
.home-value-intro blockquote { margin: 30px 0 0; padding-left: 22px; border-left: 1px solid #d5aa69; color: rgba(250,247,241,.66); font: 500 15px/1.8 var(--serif); }
.home-value-form-card {
  min-height: 600px;
  padding: clamp(30px,4vw,54px);
  background: rgba(250,247,241,.97);
  color: var(--ink);
  box-shadow: 0 34px 90px rgba(0,0,0,.27);
  border: 1px solid rgba(213,170,105,.48);
}
.home-value-form-card-single { min-height: 0; }
.home-value-progress { display: grid; grid-template-columns: repeat(2,1fr); margin-bottom: 42px; border-bottom: 1px solid var(--line); }
.home-value-progress span { position: relative; display: flex; align-items: center; gap: 10px; padding: 0 0 16px; color: #8b877f; }
.home-value-progress span::after { content:""; position:absolute; inset:auto 0 -1px; height:2px; background:transparent; }
.home-value-progress span.active::after,.home-value-progress span.complete::after { background: var(--gold-dark); }
.home-value-progress i { width: 27px; height: 27px; display: grid; place-items: center; border: 1px solid #b8b0a4; border-radius: 50%; font: 500 12px/1 var(--sans); font-style: normal; }
.home-value-progress span.active,.home-value-progress span.complete { color: var(--ink); }
.home-value-progress span.active i,.home-value-progress span.complete i { border-color: var(--gold-dark); background: var(--gold-dark); color: white; }
.home-value-progress b { font-size: 13px; font-weight: 600; }
.home-value-step { min-width: 0; margin: 0; padding: 0; border: 0; }
.home-value-step legend { width: 100%; margin: 0 0 8px; padding: 0; color: var(--ink); font: 500 clamp(28px,3vw,39px)/1.25 var(--serif); }
.home-value-step > p { margin: 0 0 26px; color: var(--muted); font-size: 14px; }
.home-value-step label { display: grid; gap: 8px; margin-bottom: 18px; color: var(--ink); font-size: 13px; font-weight: 600; }
.home-value-step input,.home-value-step select,.home-value-step textarea { width: 100%; min-height: 52px; padding: 13px 15px; border: 1px solid #d4cabc; border-radius: 0; outline: 0; background: rgba(255,255,255,.72); color: var(--ink); font-size: 15px; font-weight: 400; }
.home-value-step textarea { min-height: 88px; resize: vertical; }
.home-value-step input:focus,.home-value-step select:focus,.home-value-step textarea:focus { border-color: var(--gold-dark); box-shadow: 0 0 0 3px rgba(189,150,92,.12); }
.home-value-field-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.home-value-field-row-three { grid-template-columns: 1.5fr .75fr .75fr; }
.home-value-next,.home-value-submit { width: 100%; min-height: 58px; display: flex; align-items: center; justify-content: space-between; padding: 0 22px; border: 1px solid var(--gold); background: var(--gold); color: #10201a; font-weight: 750; }
.home-value-next:hover,.home-value-submit:hover { background: #d4ad71; }
.home-value-step > small { display: block; margin-top: 15px; color: #8b877f; font-size: 12px; }
.home-value-timeline { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-bottom: 20px; }
.home-value-timeline > span { grid-column: 1 / -1; margin-bottom: 2px; font-size: 13px; font-weight: 650; }
.home-value-timeline label { position: relative; display: block; margin: 0; }
.home-value-timeline input { position: absolute; opacity: 0; pointer-events: none; }
.home-value-timeline label span { min-height: 48px; display: flex; align-items: center; padding: 10px 13px; border: 1px solid #d4cabc; background: rgba(255,255,255,.55); color: #555d58; font-size: 13px; font-weight: 500; cursor: pointer; }
.home-value-timeline input:checked + span { border-color: var(--gold-dark); background: #efe2ce; color: var(--ink); box-shadow: inset 3px 0 0 var(--gold-dark); }
.home-value-timeline input:focus-visible + span { outline: 2px solid var(--gold-dark); outline-offset: 2px; }
.home-value-actions { display: grid; grid-template-columns: auto minmax(260px,1fr); gap: 12px; margin-top: 4px; }
.home-value-back { min-height: 58px; padding: 0 18px; border: 1px solid #cfc5b7; background: transparent; color: var(--ink); }
.home-value-error { min-height: 24px; margin: 12px 0 0!important; color: #9a5749!important; font-size: 12px!important; }
.home-value-success { grid-column: 1 / -1; width: min(780px,100%); margin: auto; padding: clamp(42px,6vw,78px); border: 1px solid rgba(213,170,105,.52); background: rgba(250,247,241,.97); color: var(--ink); box-shadow: 0 34px 90px rgba(0,0,0,.27); text-align: center; }
.home-value-success > span { color: var(--gold-dark); font-size: 11px; font-weight: 750; letter-spacing: .2em; }
.home-value-success > strong { display: block; margin: 18px 0 14px; font: 500 clamp(36px,5vw,58px)/1.2 var(--serif); }
.home-value-success > p { max-width: 620px; margin: 0 auto; color: var(--muted); font-size: 16px; line-height: 1.8; }
.home-value-success-classification { width: min(420px,100%); margin: 30px auto 0; padding: 18px; border-block: 1px solid var(--line); }
.home-value-success-classification small { display: block; color: var(--muted); font-size: 11px; }
.home-value-success-classification b { display: block; margin-top: 5px; color: var(--gold-dark); font-size: 16px; }
.home-value-success-actions { display: flex; justify-content: center; gap: 12px; margin-top: 30px; }
.home-value-success-actions a { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; padding: 0 20px; border: 1px solid var(--ink); font-size: 13px; font-weight: 650; }
.home-value-success-actions a:last-child { background: var(--ink); color: var(--cream); }
body[data-route="homeValue"] .global-back-button { display: none; }

@media (max-width: 1020px) {
  .home-value-page { padding-top: 108px; }
  .home-value-shell { width: calc(100% - 48px); grid-template-columns: minmax(0,.75fr) minmax(460px,1fr); gap: 38px; }
  .home-value-intro h1 { font-size: clamp(39px,5.4vw,58px); }
  .home-value-promise { grid-template-columns: 1fr; }
  .home-value-promise span { min-height: 56px; padding: 10px 0; flex-direction: row; align-items: center; gap: 12px; }
  .home-value-promise span + span { padding-left: 0; border-left: 0; border-top: 1px solid rgba(250,247,241,.13); }
  .home-value-promise b { margin: 0; }
}
@media (max-width: 780px) {
  .home-value-page { min-height: 0; padding: 94px 0 36px; }
  .home-value-shell { width: calc(100% - 28px); min-height: 0; grid-template-columns: 1fr; gap: 28px; }
  .home-value-intro { display: contents; }
  .home-value-kicker { order: 1; }
  .home-value-intro h1 { order: 2; margin: -8px 0 0; font-size: clamp(38px,11vw,56px); }
  .home-value-lead { order: 3; font-size: 16px; }
  .home-value-form-card { order: 4; min-height: 0; padding: 26px 20px; }
  .home-value-promise,.home-value-intro blockquote { display: none; }
  .home-value-field-row,.home-value-field-row-three { grid-template-columns: 1fr; gap: 0; }
  .home-value-timeline { grid-template-columns: 1fr; }
  .home-value-actions { grid-template-columns: 1fr; }
  .home-value-back { order: 2; }
  .home-value-success { order: 4; padding: 40px 22px; }
  .home-value-success-actions { flex-direction: column; }
  .home-value-step input,
  .home-value-step select,
  .home-value-step textarea { font-size: 16px; }
}

/* Final mobile form guardrails: single-column fields, iOS-safe type and unobstructed actions. */
@media (max-width: 720px) {
  .inline-lead-form,
  .contact-form,
  .cross-border-page-form,
  .luxury-contact-form,
  .home-value-form-card { width: 100%; max-width: 100%; min-width: 0; }
  .form-row,
  .cross-border-page-fields,
  .luxury-contact-decisions,
  .luxury-contact-required,
  .home-value-field-row,
  .home-value-field-row-three { grid-template-columns: 1fr !important; }
  .inline-lead-form input,
  .inline-lead-form select,
  .inline-lead-form textarea,
  .contact-form input,
  .contact-form select,
  .contact-form textarea,
  .cross-border-page-form input,
  .cross-border-page-form select,
  .cross-border-page-form textarea,
  .luxury-contact-form input,
  .luxury-contact-form select,
  .luxury-contact-form textarea,
  .home-value-step input,
  .home-value-step select,
  .home-value-step textarea { width: 100%; max-width: 100%; min-width: 0; font-size: 16px !important; }
  .inline-lead-form .button,
  .contact-form .button,
  .cross-border-page-form .button,
  .luxury-contact-form .button,
  .home-value-next,
  .home-value-submit { width: 100%; justify-content: center; }
}

/* Seller service chapters: one consistent editorial reading direction. */
.sell-detail-list {
  gap: 0;
}

.sell-detail-section,
.sell-detail-section:nth-child(even) {
  grid-template-columns: minmax(360px, 46%) minmax(0, 54%);
  min-height: 600px;
}

.sell-detail-section .sell-detail-visual,
.sell-detail-section:nth-child(even) .sell-detail-visual {
  order: 1;
  min-height: 600px;
}

.sell-detail-section .sell-detail-content,
.sell-detail-section:nth-child(even) .sell-detail-content {
  order: 2;
  padding: clamp(48px, 5.2vw, 82px);
}

@media (max-width: 840px) {
  .sell-detail-section,
  .sell-detail-section:nth-child(even) {
    grid-template-columns: 1fr;
    min-height: 0;
  }

  .sell-detail-section .sell-detail-visual,
  .sell-detail-section:nth-child(even) .sell-detail-visual {
    order: 1;
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .sell-detail-section .sell-detail-content,
  .sell-detail-section:nth-child(even) .sell-detail-content {
    order: 2;
    padding: 38px 20px 44px;
  }
}

/* Luxury acquisition page: one clear decision path with a dedicated contact close. */
body[data-route="buy"] .page-hero { min-height: 70vh; }
body[data-route="buy"] [data-page-section] { scroll-margin-top: 92px; }

.luxury-page-nav {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 0 0 70px;
  border: 1px solid var(--line);
  background: rgba(255, 252, 246, .78);
}
.luxury-page-nav button {
  min-height: 82px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px;
  border: 0;
  border-right: 1px solid var(--line);
  color: var(--ink);
  background: transparent;
  text-align: left;
  transition: background .25s ease, color .25s ease;
}
.luxury-page-nav button:last-child { border-right: 0; }
.luxury-page-nav button:hover { background: var(--ink); color: var(--cream); }
.luxury-page-nav span { color: var(--gold-dark); font: 500 13px/1 var(--serif); }
.luxury-page-nav strong { font-size: 14px; font-weight: 650; }

body[data-route="buy"] .buy-page { padding: 64px 0 96px; background: #f6f1e8; }
body[data-route="buy"] .luxury-advisory-head { margin-bottom: 42px; }
body[data-route="buy"] .luxury-advisory-head h2 { font-size: clamp(42px, 5.2vw, 72px); line-height: 1.12; }
body[data-route="buy"] .luxury-advisory-head h2 em { color: var(--gold-dark); font-style: normal; }
body[data-route="buy"] .luxury-advisory-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  border: 1px solid var(--line);
  background: #fffaf3;
}
body[data-route="buy"] .advisory-dimension {
  min-height: 260px;
  padding: 30px 26px;
  border: 0;
  border-right: 1px solid var(--line);
  background: transparent;
  transform: none;
}
body[data-route="buy"] .advisory-dimension:last-child { border-right: 0; }
body[data-route="buy"] .advisory-dimension:hover { background: #efe4d2; transform: none; }
body[data-route="buy"] .advisory-dimension > span { color: var(--gold-dark); font-size: 12px; font-weight: 700; letter-spacing: .11em; }
body[data-route="buy"] .advisory-dimension h3 { margin: 54px 0 16px; color: var(--ink); font-size: 27px; }
body[data-route="buy"] .advisory-dimension > p { margin: 0; padding: 0; border: 0; color: var(--muted); font-size: 15px; line-height: 1.75; }
body[data-route="buy"] .luxury-context { margin-top: 42px; padding: 34px; border: 1px solid var(--line); background: #eee4d5; }
body[data-route="buy"] .luxury-context-actions { margin-top: 24px; }

.luxury-offmarket { padding: 110px 0; background: #e8dece; }
.luxury-offmarket-layout { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 0; align-items: stretch; }
.luxury-offmarket figure { position: relative; min-height: 620px; margin: 0; overflow: hidden; background: var(--ink); }
.luxury-offmarket figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(8, 26, 20, .06), rgba(8, 26, 20, .62)); }
.luxury-offmarket figure img { width: 100%; height: 100%; object-fit: cover; }
.luxury-offmarket figcaption { position: absolute; z-index: 2; inset: auto 32px 28px; color: var(--cream); font-size: 11px; letter-spacing: .18em; }
.luxury-offmarket-copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(48px, 6vw, 86px); background: #fbf7f0; }
.luxury-offmarket-copy > span { color: var(--gold-dark); font-size: 12px; font-weight: 750; letter-spacing: .18em; }
.luxury-offmarket-copy h2 { margin: 22px 0 20px; color: var(--ink); font: 500 clamp(38px, 4.2vw, 62px)/1.14 var(--serif); }
.luxury-offmarket-copy h2 em { color: var(--gold-dark); font-style: normal; }
.luxury-offmarket-copy > p { margin: 0 0 28px; color: var(--muted); font-size: 16px; line-height: 1.85; }
.luxury-offmarket-points { margin-bottom: 30px; border-top: 1px solid var(--line); }
.luxury-offmarket-points article { display: grid; grid-template-columns: 42px 1fr; gap: 14px; padding: 18px 0; border-bottom: 1px solid var(--line); }
.luxury-offmarket-points article > span { color: var(--gold-dark); font: 500 16px/1.2 var(--serif); }
.luxury-offmarket-points strong { display: block; margin-bottom: 5px; color: var(--ink); font-size: 15px; }
.luxury-offmarket-points p { margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.luxury-offmarket-copy .button { align-self: flex-start; min-height: 56px; }

body[data-route="buy"] .cross-border-hero { padding: 86px 0; background: var(--ink); color: var(--cream); }
body[data-route="buy"] .cross-border-hero-grid { align-items: center; }
body[data-route="buy"] .cross-border-hero h2 { font-size: clamp(38px, 4.6vw, 64px); }
body[data-route="buy"] .cross-border-hero p { color: rgba(244, 239, 230, .72); }

body[data-route="buy"] .classic-cases-section { padding: 96px 0; background: #f7f3eb; }
body[data-route="buy"] .classic-cases-section .section-heading { margin-bottom: 38px; }

.luxury-contact-section { padding: 110px 0; background: #e9dfd0; }
.luxury-contact-shell { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); gap: clamp(44px, 7vw, 110px); align-items: start; }
.luxury-contact-copy { position: sticky; top: 120px; }
.luxury-contact-copy h2 { margin: 22px 0; color: var(--ink); font: 500 clamp(42px, 5vw, 70px)/1.12 var(--serif); }
.luxury-contact-copy h2 em { color: var(--gold-dark); font-style: normal; }
.luxury-contact-copy > p { max-width: 470px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.8; }
.luxury-contact-form { padding: clamp(28px, 4vw, 52px); border: 1px solid var(--line); background: #fffaf3; box-shadow: 0 24px 70px rgba(22, 35, 29, .08); }
.luxury-contact-decisions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 18px; }
.luxury-contact-form label { display: grid; gap: 8px; color: var(--ink); font-size: 13px; font-weight: 650; }
.luxury-contact-form label > span { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.luxury-contact-form small { color: #8c877e; font-size: 11px; font-weight: 500; }
.luxury-contact-form label em { color: #9b5c47; font-size: 11px; font-style: normal; }
.luxury-contact-form input,
.luxury-contact-form select,
.luxury-contact-form textarea { width: 100%; min-height: 52px; padding: 13px 15px; border: 1px solid #d5cab9; border-radius: 0; outline: 0; background: rgba(255, 255, 255, .78); color: var(--ink); font: 400 16px/1.5 var(--sans); }
.luxury-contact-form textarea { min-height: 120px; resize: vertical; }
.luxury-contact-form input:focus,
.luxury-contact-form select:focus,
.luxury-contact-form textarea:focus { border-color: var(--gold-dark); box-shadow: 0 0 0 3px rgba(189, 150, 92, .12); }
.luxury-contact-required { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--line); }
.luxury-contact-note { margin-top: 20px; }
.luxury-contact-form .button { min-width: 170px; margin-top: 24px; }

@media (max-width: 1020px) {
  .luxury-page-nav { grid-template-columns: repeat(3, 1fr); }
  .luxury-page-nav button:nth-child(3) { border-right: 0; }
  .luxury-page-nav button:nth-child(-n+3) { border-bottom: 1px solid var(--line); }
  body[data-route="buy"] .luxury-advisory-grid { grid-template-columns: repeat(2, 1fr); }
  body[data-route="buy"] .advisory-dimension:nth-child(2) { border-right: 0; }
  body[data-route="buy"] .advisory-dimension:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .luxury-contact-shell { grid-template-columns: 1fr; }
  .luxury-contact-copy { position: static; }
}

@media (max-width: 720px) {
  body[data-route="buy"] .page-hero { min-height: 76vh; }
  body[data-route="buy"] .buy-page { padding: 34px 0 58px; }
  .luxury-page-nav { display: flex; margin-bottom: 46px; overflow-x: auto; scrollbar-width: thin; }
  .luxury-page-nav button { min-width: 142px; min-height: 66px; border-bottom: 0 !important; }
  body[data-route="buy"] .luxury-advisory-head { gap: 22px; }
  body[data-route="buy"] .luxury-advisory-head h2 { font-size: 41px; }
  body[data-route="buy"] .luxury-advisory-grid { grid-template-columns: 1fr; }
  body[data-route="buy"] .advisory-dimension { min-height: 0; padding: 26px 22px; border-right: 0; border-bottom: 1px solid var(--line); }
  body[data-route="buy"] .advisory-dimension h3 { margin-top: 28px; }
  body[data-route="buy"] .luxury-context { margin-top: 28px; padding: 24px 20px; }
  .luxury-offmarket { padding: 58px 0; }
  .luxury-offmarket-layout { grid-template-columns: 1fr; }
  .luxury-offmarket figure { min-height: 360px; }
  .luxury-offmarket-copy { padding: 38px 22px; }
  body[data-route="buy"] .cross-border-hero { padding: 58px 0; }
  body[data-route="buy"] .classic-cases-section { padding: 62px 0; }
  .luxury-contact-section { padding: 64px 0; }
  .luxury-contact-shell { gap: 34px; }
  .luxury-contact-copy h2 { font-size: 42px; }
  .luxury-contact-form { padding: 26px 20px; }
  .luxury-contact-decisions,
  .luxury-contact-required { grid-template-columns: 1fr; }
  .luxury-contact-form .button { width: 100%; }
}

/* V128 / Global typography contract
   One visual level now keeps one size across every public route. */
:root {
  --type-display: clamp(56px, 5.65vw, 84px);
  --type-section: clamp(44px, 4.55vw, 64px);
  --type-subsection: clamp(32px, 3.1vw, 44px);
  --type-card: 26px;
  --type-card-compact: 20px;
  --type-lead: 17px;
  --type-body: 16px;
  --type-small: 13px;
  --type-label: 11px;
  --type-button: 14px;
  --display-sans: "Manrope", "DM Sans", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
}

body {
  font-size: var(--type-body);
}

/* Level 1: page and route hero titles. */
.hero h1,
.page-hero h1,
.city-page-hero-copy h1,
.market-driver-detail-hero h1,
.market-driver-card-hero h1,
.md-hero-content h1,
.pi-hero h1,
.home-value-intro h1 {
  font-size: var(--type-display) !important;
  font-style: normal !important;
  line-height: 1.08 !important;
  letter-spacing: -.045em;
}

.hero h1 {
  font-family: var(--display-sans) !important;
  font-weight: 600 !important;
}

.page-hero h1,
.city-page-hero-copy h1,
.market-driver-detail-hero h1,
.market-driver-card-hero h1,
.md-hero-content h1,
.pi-hero h1,
.home-value-intro h1 {
  font-family: var(--serif) !important;
  font-weight: 500 !important;
}

.hero h1 em {
  font-family: var(--display-sans) !important;
  font-style: normal !important;
  font-weight: 600 !important;
}

.page-hero h1 em,
.city-page-hero-copy h1 em,
.market-driver-detail-hero h1 em,
.market-driver-card-hero h1 em,
.md-hero-content h1 em,
.pi-hero h1 em,
.home-value-intro h1 em {
  font-family: var(--serif) !important;
  font-style: normal !important;
  font-weight: 500 !important;
}

/* English display copy is longer; keep the same hierarchy without excessive wrapping. */
html[lang="en"] body[data-route="home"] .hero h1.hero-title-two-lines {
  font-size: clamp(42px, 4.6vw, 68px) !important;
}

/* Level 2: major section titles. */
.intro-grid h2,
.section-heading h2,
.split-heading h2,
.about-copy h2,
.contact-intro h2,
.personal-copy h2,
.sell-copy h2,
.sell-detail-content h2,
.seller-proof-copy h2,
.buy-property-heading h2,
.buy-detail-copy h2,
.market-deep-head h2,
.trust-head h2,
.cross-border-hero h2,
.luxury-advisory-head h2,
.luxury-offmarket-copy h2,
.luxury-contact-copy h2,
.move-intro h2,
.city-transaction-overview h2,
.classic-cases-section h2,
.featured-cases-section h2,
.city-atlas-heading h2,
.city-page-market-read h2,
.city-page-overview h2,
.city-page-neighborhoods header h2,
.city-page-cases header h2,
.city-page-faq header h2,
.book-showcase .book-copy h2,
.story-copy h2,
.client-trust-head h2,
.buy-offmarket-title-block h2,
.market-driver-detail-card h2,
.md-flow > header h2,
.footer-cta h2 {
  font-size: var(--type-section) !important;
  line-height: 1.14 !important;
  letter-spacing: -.04em;
}

/* Level 3: section subheads and feature headlines. */
.hero-choice-panel h3,
.service-main h3,
.market-compass-card h3,
.market-intel-heading h3,
.move-system-copy h3,
.move-subhead h3,
.move-detail-card h3,
.city-profile-hero h3,
.city-profile-body > h3,
.location-feature-copy h3,
.journey-detail-section-title > strong,
.journey-direct-contact-copy h3,
.book-excerpts > header h3,
.pbl-detail-intro h3,
.pbl-detail-copy h3,
.md-editorial-copy h2,
.md-take h2,
.city-page-lenses h2 {
  font-size: var(--type-subsection) !important;
  line-height: 1.2 !important;
  letter-spacing: -.025em;
}

/* Level 4: card and module titles. */
.business-theme-card h3,
.advisory-dimension h3,
.luxury-advisory-grid h3,
.classic-case-card h3,
.featured-case-card h3,
.case-copy h3,
.report-card h3,
.media-card h3,
.move-system-detail h4,
.move-question-grid h4,
.move-question-card h4,
.move-path-card h4,
.move-path-detail-copy h4,
.move-question-detail-copy h4,
.market-action-board h4,
.book-excerpt-card h4,
.pbl-content > h3,
.pbl-priorities > h3,
.md-third-view h3 {
  font-size: var(--type-card) !important;
  line-height: 1.3 !important;
}

/* Level 5: compact card titles. */
.property-info h3,
.city-case-card .body strong,
.city-profile-cases h4,
.city-profile-case strong,
.market-signal-grid h4,
.market-driver-list h4,
.market-segment-grid h4,
.note h4,
.note-with-image h4,
.estate-notes h3,
.location-card h3,
.team-card strong,
.testimonial-card strong,
.pbl-card-body h4,
.pbl-summary-card h4,
.pbl-home-type h4,
.pbl-fact h4,
.pbl-type h4,
.md-subblocks h3 {
  font-size: var(--type-card-compact) !important;
  line-height: 1.45 !important;
}

/* Supporting copy, labels and controls. */
.hero-lede,
.page-hero-main > p,
.intro-copy p,
.section-heading p,
.split-heading > p,
.about-copy p,
.market-deep-head p,
.move-intro > p,
.luxury-advisory-head > p,
.luxury-offmarket-copy > p,
.luxury-contact-copy > p,
.move-system-copy p,
.move-subhead p,
.move-detail-card p,
.city-profile-hero p,
.location-category-intro p,
.home-value-lead,
.home-value-success > p {
  font-size: var(--type-lead) !important;
  line-height: 1.85;
}

.property-location,
.property-specs,
.classic-case-card p,
.featured-case-card p,
.city-profile-copy p,
.market-signal-grid p,
.market-segment-grid p,
.market-driver-list p,
.note p,
.media-card p,
.estate-notes p,
.location-card p,
.team-card small,
.journey-detail-fact-grid article > p,
.journey-detail-boundary p,
.pbl-module p,
.md-editorial-copy p {
  font-size: var(--type-small) !important;
}

.section-kicker,
.eyebrow,
.panel-kicker,
.media-type,
.journey-kicker,
.sell-detail-kicker,
.buy-detail-kicker,
.property-badge,
.case-meta,
.case-library-filter-group > span,
.case-library-city > span,
.city-profile-case small,
.location-card small {
  font-size: var(--type-label) !important;
  line-height: 1.4;
}

.button,
.sell-decision-action,
.buy-detail-action,
.journey-detail-start,
.page-hero-cta,
.classic-case-filters button,
.case-library-more,
.home-value-next,
.home-value-submit,
.home-value-back {
  font-size: var(--type-button) !important;
}

@media (max-width: 720px) {
  :root {
    --type-display: clamp(42px, 11vw, 54px);
    --type-section: clamp(38px, 10vw, 46px);
    --type-subsection: clamp(30px, 8.5vw, 36px);
    --type-card: 24px;
    --type-card-compact: 19px;
    --type-lead: 16px;
    --type-body: 16px;
    --type-small: 13px;
    --type-label: 11px;
    --type-button: 14px;
  }

  .hero h1,
  .page-hero h1,
  .city-page-hero-copy h1,
  .market-driver-detail-hero h1,
  .market-driver-card-hero h1,
  .md-hero-content h1,
  .pi-hero h1,
  .home-value-intro h1 {
    line-height: 1.1 !important;
  }

  body[data-route="home"] .hero h1.hero-title-two-lines {
    font-size: clamp(36px, 9.6vw, 48px) !important;
    line-height: 1.16 !important;
  }

  html[lang="en"] body[data-route="home"] .hero h1.hero-title-two-lines {
    font-size: clamp(23px, 7.2vw, 32px) !important;
  }
}

@media (max-width: 480px) {
  body[data-route="home"] .hero-actions { grid-template-columns: 1fr; }
  body[data-route="home"] .hero-actions .button { justify-content: space-between; }
  .contact-dock-button,
  body[data-route="home"] .contact-dock-button {
    top: auto;
    right: 16px;
    bottom: 16px;
    width: 56px;
    height: 56px;
    padding: 0;
    border: 1px solid rgba(16,32,26,.35);
    border-radius: 50%;
    color: transparent;
    font-size: 0;
    writing-mode: horizontal-tb;
    transform: none;
  }
  .contact-dock-button::before { content: "联系"; color: var(--ink); font-size: 12px; font-weight: 750; letter-spacing: .05em; }
  html[lang="en"] .contact-dock-button::before { content: "Contact"; font-size: 10px; letter-spacing: .02em; }
  .contact-dock-button:hover,
  .contact-dock-button:focus-visible { transform: translateY(-3px); }
}

/* Luxury page refinement: lead with proof, then move through access and consultation. */
body[data-route="buy"] main {
  background: #f4eee4;
}

body[data-route="buy"] .luxury-page-nav {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  box-shadow: 0 24px 70px rgba(32, 43, 36, .07);
}

body[data-route="buy"] .buy-page {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 88% 12%, rgba(179, 137, 73, .16), transparent 30%),
    linear-gradient(135deg, #f8f4ed 0%, #eee4d5 100%);
}

body[data-route="buy"] .buy-page::after {
  content: "ESTATE ADVISORY";
  position: absolute;
  right: -18px;
  bottom: -16px;
  color: rgba(116, 84, 40, .045);
  font: 500 clamp(66px, 10vw, 142px)/.85 var(--serif);
  letter-spacing: -.055em;
  white-space: nowrap;
  pointer-events: none;
}

body[data-route="buy"] .buy-page > .section-wrap {
  position: relative;
  z-index: 1;
}

body[data-route="buy"] .luxury-advisory-grid {
  box-shadow: 0 30px 84px rgba(37, 45, 39, .08);
}

body[data-route="buy"] .classic-cases-section {
  position: relative;
  overflow: hidden;
  padding: 116px 0 104px;
  background:
    linear-gradient(180deg, rgba(8, 28, 21, .94) 0%, rgba(11, 36, 27, .9) 30%, #f5efe6 30.2%, #f5efe6 100%),
    url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2400&q=82") center 38% / cover no-repeat;
}

body[data-route="buy"] .classic-cases-section .section-heading {
  min-height: 220px;
  align-items: start;
  margin-bottom: 42px;
  padding: 4px 0 66px;
}

body[data-route="buy"] .classic-cases-section .section-kicker,
body[data-route="buy"] .classic-cases-section .section-heading h2 {
  color: #f5efe5;
}

body[data-route="buy"] .classic-cases-section .section-heading h2 em {
  color: #d0a55f;
}

body[data-route="buy"] .classic-cases-section .section-heading > p {
  color: rgba(245, 239, 229, .72);
}

body[data-route="buy"] .classic-cases-section .classic-case-filters {
  padding: 18px 20px;
  border: 1px solid #d8cbbb;
  background: rgba(255, 251, 245, .92);
  backdrop-filter: blur(10px);
}

body[data-route="buy"] .classic-cases-section .classic-case-grid {
  margin-top: 22px;
}

body[data-route="buy"] .classic-cases-section .classic-case-card {
  background: #fffaf3;
  box-shadow: 0 20px 48px rgba(33, 41, 35, .08);
}

body[data-route="buy"] .luxury-offmarket {
  background:
    radial-gradient(circle at 9% 18%, rgba(184, 141, 75, .2), transparent 31%),
    linear-gradient(135deg, #e4d5bd 0%, #f0e8dc 100%);
}

body[data-route="buy"] .luxury-offmarket-layout {
  box-shadow: 0 34px 90px rgba(45, 38, 28, .16);
}

body[data-route="buy"] .luxury-offmarket-copy {
  background: linear-gradient(145deg, #fffaf3 0%, #f2e7d7 100%);
}

body[data-route="buy"] .luxury-offmarket-points article {
  grid-template-columns: minmax(128px, .42fr) minmax(0, 1fr);
  gap: 22px;
}

body[data-route="buy"] .luxury-offmarket-points article > span {
  padding-top: 3px;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 750;
  line-height: 1.45;
  letter-spacing: .08em;
}

body[data-route="buy"] .luxury-offmarket-points strong {
  font-size: 17px;
}

body[data-route="buy"] .luxury-offmarket-copy .button {
  justify-content: space-between;
  gap: 26px;
}

body[data-route="buy"] .cross-border-hero {
  background:
    radial-gradient(circle at 80% 20%, rgba(198, 157, 88, .2), transparent 32%),
    linear-gradient(120deg, #071a13 0%, #123428 56%, #0a2018 100%);
}

body[data-route="buy"] .luxury-contact-section {
  background:
    radial-gradient(circle at 12% 82%, rgba(184, 139, 72, .18), transparent 34%),
    linear-gradient(135deg, #efe4d3 0%, #f8f4ed 62%, #e9dcc8 100%);
}

@media (max-width: 1020px) {
  body[data-route="buy"] .luxury-page-nav {
    display: flex;
    overflow-x: auto;
    scrollbar-width: thin;
  }

  body[data-route="buy"] .luxury-page-nav button {
    flex: 1 0 148px;
    border-bottom: 0;
  }

  body[data-route="buy"] .classic-cases-section {
    background:
      linear-gradient(180deg, rgba(8, 28, 21, .94) 0%, rgba(11, 36, 27, .9) 26%, #f5efe6 26.2%, #f5efe6 100%),
      url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1800&q=80") center top / cover no-repeat;
  }
}

@media (max-width: 720px) {
  body[data-route="buy"] .buy-page::after { display: none; }

  body[data-route="buy"] .classic-cases-section {
    padding: 74px 0 66px;
    background:
      linear-gradient(180deg, rgba(8, 28, 21, .95) 0%, rgba(11, 36, 27, .92) 24%, #f5efe6 24.2%, #f5efe6 100%),
      url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=1200&q=78") center top / auto 430px no-repeat;
  }

  body[data-route="buy"] .classic-cases-section .section-heading {
    min-height: 240px;
    margin-bottom: 28px;
    padding-bottom: 42px;
  }

  body[data-route="buy"] .classic-cases-section .classic-case-filters {
    margin-inline: -4px;
    padding: 14px;
    overflow-x: auto;
  }

  body[data-route="buy"] .luxury-offmarket-points article {
    grid-template-columns: 1fr;
    gap: 8px;
  }
}

/* Cross-border real estate / city-to-contract route */
.cross-border-hero {
  --cross-border-city: url("https://images.unsplash.com/photo-1501594907352-04cda38ebc29?auto=format&fit=crop&w=2200&q=84");
  position: relative;
  min-height: 650px;
  padding: 116px 0 42px;
  overflow: hidden;
  isolation: isolate;
  color: #f7f0e5;
  background: #071c15 var(--cross-border-city) center 44% / cover no-repeat;
}

.cross-border-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(4, 24, 17, .98) 0%, rgba(5, 29, 21, .93) 43%, rgba(7, 27, 20, .74) 66%, rgba(5, 20, 16, .5) 100%),
    linear-gradient(180deg, rgba(7, 18, 15, .18) 0%, rgba(7, 21, 16, .46) 68%, rgba(5, 19, 14, .94) 100%);
}

.cross-border-hero::after {
  content: "CROSS-BORDER";
  position: absolute;
  z-index: -1;
  right: -14px;
  bottom: 20px;
  color: rgba(244, 231, 208, .07);
  font: 500 clamp(74px, 12vw, 180px)/.8 var(--serif);
  letter-spacing: -.06em;
  white-space: nowrap;
}

.cross-border-hero .section-wrap { position: relative; z-index: 1; }

.cross-border-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(520px, 1.08fr);
  gap: clamp(58px, 7vw, 112px);
  align-items: center;
}

.cross-border-hero-copy { align-self: center; }

.cross-border-hero .section-kicker {
  color: #d4aa65;
  letter-spacing: .19em;
}

.cross-border-hero h2 {
  max-width: 760px;
  margin: 22px 0 0;
  color: #fffaf2;
  font: 500 clamp(48px, 5.5vw, 78px)/1.11 var(--serif);
  letter-spacing: -.05em;
}

.cross-border-hero h2 em { color: #d3a45b; font-style: normal; }

.cross-border-audience {
  display: inline-flex;
  margin-top: 34px;
  padding: 12px 15px;
  border: 1px solid rgba(214, 172, 103, .38);
  color: rgba(255, 247, 235, .76);
  background: rgba(5, 23, 17, .46);
  font-size: 11px;
  font-weight: 650;
  letter-spacing: .08em;
  line-height: 1.55;
  backdrop-filter: blur(10px);
}

.cross-border-hero-panel {
  padding: clamp(30px, 3.5vw, 50px);
  border: 1px solid rgba(226, 190, 130, .33);
  background: linear-gradient(145deg, rgba(8, 31, 23, .88), rgba(8, 24, 19, .66));
  box-shadow: 0 30px 86px rgba(0, 0, 0, .22);
  backdrop-filter: blur(16px);
}

.cross-border-hero-panel > p {
  max-width: 680px;
  margin: 0;
  color: rgba(255, 249, 239, .77);
  font-size: 16px;
  line-height: 1.86;
}

.cross-border-paths {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-top: 26px;
  border-top: 1px solid rgba(234, 211, 174, .21);
  border-left: 1px solid rgba(234, 211, 174, .21);
}

.cross-border-paths article {
  min-height: 132px;
  padding: 19px 20px 18px;
  border-right: 1px solid rgba(234, 211, 174, .21);
  border-bottom: 1px solid rgba(234, 211, 174, .21);
  background: rgba(255, 255, 255, .018);
}

.cross-border-paths article > span {
  display: block;
  color: #d1a35d;
  font-size: 9px;
  font-weight: 750;
  letter-spacing: .14em;
}

.cross-border-paths article > strong {
  display: block;
  margin-top: 10px;
  color: #fffaf2;
  font-size: 16px;
  line-height: 1.4;
}

.cross-border-paths article > p {
  margin: 7px 0 0;
  color: rgba(255, 249, 239, .6);
  font-size: 12px;
  line-height: 1.6;
}

.cross-border-hero-panel .button {
  width: 100%;
  justify-content: space-between;
  margin-top: 24px;
  padding-inline: 22px;
  background: #cba05d;
}

.cross-border-city-line {
  display: flex;
  gap: 0;
  margin-top: 66px;
  border-top: 1px solid rgba(230, 206, 166, .2);
  border-bottom: 1px solid rgba(230, 206, 166, .2);
}

.cross-border-city-line span {
  flex: 1 0 auto;
  padding: 15px 18px;
  border-right: 1px solid rgba(230, 206, 166, .2);
  color: rgba(255, 247, 235, .53);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .15em;
  text-align: center;
}

.cross-border-city-line span:last-child { border-right: 0; }

body[data-route="buy"] .cross-border-hero,
body[data-route="crossBorder"] .cross-border-hero {
  background: #071c15 var(--cross-border-city) center 44% / cover no-repeat;
}

body[data-route="crossBorder"] .cross-border-hero {
  min-height: 760px;
  padding-top: 148px;
}

.cross-border-flow {
  position: relative;
  padding: 126px 0;
  overflow: hidden;
  color: #f7f0e5;
  background:
    radial-gradient(circle at 92% 8%, rgba(201, 157, 89, .16), transparent 27%),
    linear-gradient(140deg, #071c15 0%, #0d2d22 54%, #071c15 100%);
}

.cross-border-flow::after {
  content: "CITY TO CONTRACT";
  position: absolute;
  right: -12px;
  top: 58px;
  color: rgba(240, 220, 186, .045);
  font: 500 clamp(66px, 10vw, 144px)/1 var(--serif);
  letter-spacing: -.05em;
  pointer-events: none;
}

.cross-border-flow > .section-wrap { position: relative; z-index: 1; }
.cross-border-flow .split-heading p { color: rgba(247, 240, 229, .66); }
.cross-border-topic-grid { display: grid; gap: 18px; margin-top: 56px; }

.cross-border-guide-card {
  overflow: hidden;
  border: 1px solid rgba(238, 212, 171, .2);
  background: rgba(255, 255, 255, .02);
  box-shadow: 0 18px 54px rgba(0, 0, 0, .09);
}

.cross-border-guide-card[open] { border-color: rgba(211, 164, 91, .58); }
.cross-border-guide-summary { display: grid; grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr); min-height: 286px; cursor: pointer; list-style: none; }
.cross-border-guide-summary::-webkit-details-marker { display: none; }
.cross-border-guide-summary::marker { display: none; content: ""; }
.cross-border-guide-summary figure { position: relative; min-height: 286px; margin: 0; overflow: hidden; }
.cross-border-guide-summary figure::after { content: ""; position: absolute; inset: 0; background: linear-gradient(105deg, rgba(5, 23, 17, .08), rgba(5, 23, 17, .68)); }
.cross-border-guide-summary img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.7) contrast(1.06); transition: transform .65s ease, filter .65s ease; }
.cross-border-guide-card:hover .cross-border-guide-summary img { transform: scale(1.03); filter: saturate(.88) contrast(1.04); }
.cross-border-guide-summary > div { position: relative; display: flex; flex-direction: column; justify-content: center; padding: clamp(32px, 4vw, 60px); border-left: 1px solid rgba(238, 212, 171, .18); background: linear-gradient(135deg, rgba(8, 34, 25, .88), rgba(8, 25, 20, .58)); }
.cross-border-guide-summary > div > span { color: #d1a35d; font-size: 10px; font-weight: 750; letter-spacing: .16em; }
.cross-border-guide-summary h3 { max-width: 720px; margin: 17px 58px 0 0; color: #fffaf2; font: 500 clamp(30px, 3.3vw, 48px)/1.16 var(--serif); letter-spacing: -.035em; }
.cross-border-guide-summary p { max-width: 670px; margin: 18px 58px 0 0; color: rgba(247, 240, 229, .66); font-size: 14px; line-height: 1.78; }

.cross-border-guide-toggle {
  position: absolute;
  right: 28px;
  top: 50%;
  width: 38px;
  height: 38px;
  transform: translateY(-50%);
  border: 1px solid rgba(211, 164, 91, .55);
  border-radius: 50%;
}
.cross-border-guide-toggle::before,
.cross-border-guide-toggle::after { content: ""; position: absolute; left: 11px; top: 18px; width: 14px; height: 1px; background: #d1a35d; transition: transform .3s ease; }
.cross-border-guide-toggle::after { transform: rotate(90deg); }
.cross-border-guide-card[open] .cross-border-guide-toggle::after { transform: rotate(0); }
.cross-border-guide-expanded { border-top: 1px solid rgba(238, 212, 171, .18); background: rgba(3, 19, 13, .56); }

.cross-border-cases { padding: 116px 0; }
.cross-border-cases .cross-border-case-grid { gap: 20px; }
.cross-border-case-card { box-shadow: 0 22px 52px rgba(24, 30, 26, .12); }

.cross-border-questions {
  position: relative;
  padding: 116px 0 128px;
  background:
    radial-gradient(circle at 8% 12%, rgba(191, 145, 75, .13), transparent 28%),
    linear-gradient(135deg, #f1e6d6 0%, #faf7f1 58%, #e9dac4 100%);
}
.cross-border-question-shell { gap: clamp(52px, 7vw, 96px); padding: clamp(42px, 6vw, 78px); border: 1px solid rgba(98, 76, 44, .17); background: rgba(255, 251, 245, .82); box-shadow: 0 32px 88px rgba(48, 44, 36, .1); backdrop-filter: blur(12px); }
.cross-border-page-form input,
.cross-border-page-form select,
.cross-border-page-form textarea { background: rgba(255, 255, 255, .82); }

@media (max-width: 1080px) {
  .cross-border-hero-grid { grid-template-columns: 1fr; gap: 46px; }
  .cross-border-hero-copy { max-width: 850px; }
  .cross-border-hero-panel { max-width: 850px; }
  .cross-border-city-line { margin-top: 50px; overflow-x: auto; }
  .cross-border-city-line span { flex-basis: 170px; }
}

@media (max-width: 760px) {
  .cross-border-hero,
  body[data-route="buy"] .cross-border-hero,
  body[data-route="crossBorder"] .cross-border-hero { min-height: 0; padding: 92px 0 26px; background-position: 58% center; }
  .cross-border-hero::before { background: linear-gradient(180deg, rgba(4, 24, 17, .92), rgba(4, 24, 17, .95) 64%, rgba(4, 22, 16, .99)); }
  .cross-border-hero::after { display: none; }
  .cross-border-hero-grid { gap: 34px; }
  .cross-border-hero h2 { margin-top: 16px; font-size: clamp(39px, 11vw, 52px); line-height: 1.12; }
  .cross-border-audience { width: 100%; margin-top: 24px; }
  .cross-border-hero-panel { padding: 24px 20px; }
  .cross-border-paths { grid-template-columns: 1fr; }
  .cross-border-paths article { min-height: 0; padding: 17px 16px; }
  .cross-border-city-line { width: calc(100% - 32px); margin-top: 34px; }
  .cross-border-flow { padding: 78px 0; }
  .cross-border-flow::after { display: none; }
  .cross-border-topic-grid { margin-top: 34px; }
  .cross-border-guide-summary { grid-template-columns: 1fr; min-height: 0; }
  .cross-border-guide-summary figure { min-height: 210px; height: 210px; }
  .cross-border-guide-summary figure::after { background: linear-gradient(180deg, rgba(5, 23, 17, .05), rgba(5, 23, 17, .7)); }
  .cross-border-guide-summary > div { min-height: 250px; padding: 28px 22px 32px; border-top: 1px solid rgba(238, 212, 171, .18); border-left: 0; }
  .cross-border-guide-summary h3 { margin-right: 46px; font-size: 31px; }
  .cross-border-guide-summary p { margin-right: 46px; font-size: 13px; }
  .cross-border-guide-toggle { right: 20px; width: 34px; height: 34px; }
  .cross-border-guide-toggle::before,
  .cross-border-guide-toggle::after { left: 9px; top: 16px; }
  .cross-border-guide-body { grid-template-columns: 1fr; }
  .cross-border-guide-facts { border-right: 0; border-bottom: 1px solid rgba(244, 239, 230, .16); }
  .cross-border-cases,
  .cross-border-questions { padding: 76px 0; }
  .cross-border-question-shell { grid-template-columns: 1fr; gap: 34px; padding: 30px 20px; }
}

/* Estate decision gallery / richer luxury-acquisition opening */
body[data-route="buy"] .luxury-page-nav {
  position: relative;
  z-index: 4;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 24px;
  border-color: rgba(18, 49, 38, .18);
  background: rgba(255, 251, 244, .9);
  box-shadow: 0 18px 52px rgba(35, 42, 36, .08);
  backdrop-filter: blur(14px);
}

body[data-route="buy"] .luxury-page-nav button {
  min-height: 78px;
  justify-content: flex-start;
  padding-inline: 20px;
}

body[data-route="buy"] .luxury-page-nav button:hover {
  color: #f8f0e3;
  background: linear-gradient(135deg, #0a281d, #174536);
}

body[data-route="buy"] .luxury-advisory-head {
  --luxury-advisory-image: url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=2200&q=84");
  position: relative;
  min-height: 440px;
  margin: 0;
  padding: clamp(46px, 6vw, 82px);
  overflow: hidden;
  align-items: end;
  color: #f8f0e3;
  background: #071d15 var(--luxury-advisory-image) center 52% / cover no-repeat;
  box-shadow: 0 28px 76px rgba(25, 35, 29, .16);
  isolation: isolate;
}

body[data-route="buy"] .luxury-advisory-head::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5, 25, 18, .96) 0%, rgba(7, 30, 22, .86) 45%, rgba(9, 28, 22, .55) 72%, rgba(8, 22, 18, .36) 100%),
    linear-gradient(180deg, rgba(5, 17, 13, .12), rgba(5, 18, 14, .78));
}

body[data-route="buy"] .luxury-advisory-head::after {
  content: "ESTATE DECISION FRAMEWORK";
  position: absolute;
  z-index: -1;
  right: -10px;
  top: 36px;
  color: rgba(248, 240, 227, .07);
  font: 500 clamp(54px, 7vw, 104px)/.9 var(--serif);
  letter-spacing: -.05em;
  white-space: nowrap;
}

body[data-route="buy"] .luxury-advisory-head > div > span {
  color: #d4aa65;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .16em;
}

body[data-route="buy"] .luxury-advisory-head h2 {
  max-width: 720px;
  margin-top: 22px;
  color: #fffaf2;
  text-shadow: 0 3px 26px rgba(0, 0, 0, .24);
}

body[data-route="buy"] .luxury-advisory-head h2 em { color: #d4aa65; }

body[data-route="buy"] .luxury-advisory-head > p {
  max-width: 500px;
  margin: 0 0 8px;
  padding: 22px 0 0 24px;
  border-left: 1px solid rgba(218, 177, 108, .5);
  color: rgba(255, 248, 237, .78);
  font-size: 16px;
  line-height: 1.9;
}

body[data-route="buy"] .luxury-advisory-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
  border: 0;
  background: transparent;
  box-shadow: none;
}

body[data-route="buy"] .advisory-dimension {
  position: relative;
  display: flex;
  min-height: 390px;
  padding: 0;
  overflow: hidden;
  align-items: flex-end;
  border: 0;
  background: #0a241a;
  box-shadow: 0 24px 62px rgba(30, 37, 32, .13);
  isolation: isolate;
}

body[data-route="buy"] .advisory-dimension::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(180deg, rgba(5, 20, 15, .03) 8%, rgba(5, 24, 17, .36) 48%, rgba(4, 22, 16, .96) 100%);
  pointer-events: none;
}

body[data-route="buy"] .advisory-dimension figure {
  position: absolute;
  inset: 0;
  margin: 0;
}

body[data-route="buy"] .advisory-dimension figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.78) contrast(1.04);
  transition: transform .7s ease, filter .7s ease;
}

body[data-route="buy"] .advisory-dimension:hover { background: #0a241a; transform: none; }
body[data-route="buy"] .advisory-dimension:hover figure img { transform: scale(1.035); filter: saturate(.96) contrast(1.02); }

body[data-route="buy"] .advisory-dimension-copy {
  position: relative;
  z-index: 2;
  width: 100%;
  padding: 34px 34px 32px;
}

body[data-route="buy"] .advisory-dimension-copy > span {
  display: inline-flex;
  padding: 7px 10px;
  border: 1px solid rgba(218, 177, 108, .46);
  color: #e1ba78;
  background: rgba(6, 26, 19, .45);
  font-size: 11px;
  font-weight: 750;
  letter-spacing: .12em;
  backdrop-filter: blur(8px);
}

body[data-route="buy"] .advisory-dimension h3 {
  margin: 24px 0 12px;
  color: #fffaf2;
  font: 500 clamp(28px, 2.6vw, 38px)/1.2 var(--serif);
}

body[data-route="buy"] .advisory-dimension-copy > p {
  max-width: 520px;
  margin: 0;
  color: rgba(255, 248, 237, .7);
  font-size: 15px;
  line-height: 1.72;
}

body[data-route="buy"] .luxury-context {
  display: grid;
  grid-template-columns: minmax(330px, .72fr) minmax(0, 1.28fr);
  margin-top: 18px;
  padding: 0;
  overflow: hidden;
  border: 0;
  color: #f8f0e3;
  background: linear-gradient(145deg, #09251b, #123b2d);
  box-shadow: 0 28px 76px rgba(28, 36, 31, .13);
}

body[data-route="buy"] .luxury-context-visual {
  position: relative;
  min-height: 610px;
  margin: 0;
  overflow: hidden;
}

body[data-route="buy"] .luxury-context-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5, 22, 16, .04), rgba(5, 22, 16, .62));
}

body[data-route="buy"] .luxury-context-visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(.78) contrast(1.04);
}

body[data-route="buy"] .luxury-context-visual figcaption {
  position: absolute;
  z-index: 2;
  left: 28px;
  right: 28px;
  bottom: 26px;
  color: rgba(255, 248, 237, .72);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .16em;
}

body[data-route="buy"] .luxury-context-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(42px, 5vw, 72px);
}

body[data-route="buy"] .luxury-context-kicker,
body[data-route="buy"] .luxury-context-grid article > span {
  color: #d4aa65;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .16em;
}

body[data-route="buy"] .luxury-context h3 {
  max-width: 720px;
  margin: 18px 0 32px;
  color: #fffaf2;
  font: 500 clamp(32px, 3.4vw, 48px)/1.23 var(--serif);
  letter-spacing: -.025em;
}

body[data-route="buy"] .luxury-context-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
  border-top: 1px solid rgba(239, 216, 178, .2);
}

body[data-route="buy"] .luxury-context-grid article {
  padding: 26px 0;
  border-bottom: 1px solid rgba(239, 216, 178, .2);
}

body[data-route="buy"] .luxury-context h4 {
  margin: 11px 0 8px;
  color: #fffaf2;
  font: 500 22px/1.42 var(--serif);
}

body[data-route="buy"] .luxury-context p {
  color: rgba(255, 248, 237, .67);
  font-size: 15px;
  line-height: 1.78;
}

body[data-route="buy"] .luxury-context-actions { margin-top: 28px; }
body[data-route="buy"] .luxury-context-actions .secondary { border-color: rgba(248, 240, 227, .45); color: #fffaf2; }
body[data-route="buy"] .luxury-context-actions .primary { background: #cda25e; color: #08241a; }

@media (max-width: 980px) {
  body[data-route="buy"] .luxury-advisory-head { grid-template-columns: 1fr; gap: 28px; min-height: 520px; background-position: 60% center; }
  body[data-route="buy"] .luxury-advisory-head > p { max-width: 650px; }
  body[data-route="buy"] .luxury-context { grid-template-columns: 1fr; }
  body[data-route="buy"] .luxury-context-visual { min-height: 360px; height: 360px; }
}

@media (max-width: 720px) {
  body[data-route="buy"] .luxury-page-nav { margin-bottom: 16px; }
  body[data-route="buy"] .luxury-advisory-head { min-height: 500px; padding: 34px 22px; background-position: 64% center; }
  body[data-route="buy"] .luxury-advisory-head::before { background: linear-gradient(180deg, rgba(5, 25, 18, .68), rgba(5, 25, 18, .97) 70%); }
  body[data-route="buy"] .luxury-advisory-head::after { display: none; }
  body[data-route="buy"] .luxury-advisory-head h2 { font-size: 40px; }
  body[data-route="buy"] .luxury-advisory-head > p { padding: 18px 0 0; border-top: 1px solid rgba(218, 177, 108, .45); border-left: 0; font-size: 15px; }
  body[data-route="buy"] .luxury-advisory-grid { grid-template-columns: 1fr; gap: 12px; margin-top: 12px; }
  body[data-route="buy"] .advisory-dimension { min-height: 340px; border: 0; }
  body[data-route="buy"] .advisory-dimension-copy { padding: 28px 22px 24px; }
  body[data-route="buy"] .advisory-dimension h3 { margin-top: 18px; font-size: 30px; }
  body[data-route="buy"] .luxury-context { margin-top: 12px; padding: 0; }
  body[data-route="buy"] .luxury-context-visual { min-height: 250px; height: 250px; }
  body[data-route="buy"] .luxury-context-content { padding: 34px 22px 36px; }
  body[data-route="buy"] .luxury-context h3 { font-size: 34px; }
  body[data-route="buy"] .luxury-context p { font-size: 15px; }
  body[data-route="buy"] .luxury-context-actions { display: grid; grid-template-columns: 1fr; }
  body[data-route="buy"] .luxury-context-actions .button { width: 100%; }
}

/* About / career dossier — layered to match the estate advisory visual language */
.about-proof-section {
  --about-proof-image: url("https://images.unsplash.com/photo-1600607687920-4e2a09cf159d?auto=format&fit=crop&w=2200&q=86");
  position: relative;
  isolation: isolate;
  padding: clamp(96px, 9vw, 148px) 0;
  overflow: hidden;
  color: #f8f1e6;
  background:
    radial-gradient(circle at 92% 8%, rgba(205, 162, 94, .16), transparent 27%),
    radial-gradient(circle at 5% 88%, rgba(59, 104, 84, .24), transparent 31%),
    linear-gradient(135deg, #061d15 0%, #0b2d22 52%, #071f17 100%);
}

.about-proof-section::before {
  content: "CAREER / PUBLIC RECORD";
  position: absolute;
  z-index: -1;
  right: -1vw;
  top: 50px;
  color: rgba(248, 241, 230, .038);
  font: 500 clamp(70px, 10vw, 150px)/.88 var(--serif);
  letter-spacing: -.055em;
  white-space: nowrap;
  pointer-events: none;
}

.about-proof-section::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .18;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(248, 241, 230, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(248, 241, 230, .035) 1px, transparent 1px);
  background-size: 88px 88px;
  mask-image: linear-gradient(90deg, transparent, #000 60%, transparent);
}

.about-proof-shell { position: relative; z-index: 1; }

.about-proof-head {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(340px, .72fr);
  gap: clamp(46px, 8vw, 126px);
  align-items: end;
  padding-bottom: 62px;
  border-bottom: 1px solid rgba(239, 216, 178, .24);
}

.about-proof-head .section-kicker {
  color: #d4aa65;
  font-size: 11px;
  letter-spacing: .2em;
}

.about-proof-head h2 {
  max-width: 900px;
  margin: 24px 0 0;
  color: #fffaf2;
  font-size: clamp(48px, 5vw, 76px);
  line-height: 1.08;
  letter-spacing: -.052em;
  text-wrap: balance;
}

.about-proof-head h2 em { color: #d4aa65; font-style: normal; }

.about-proof-head > p {
  max-width: 560px;
  margin: 0 0 4px;
  padding: 8px 0 8px 26px;
  border-left: 1px solid rgba(216, 174, 105, .58);
  color: rgba(255, 248, 237, .72);
  font-size: 16px;
  line-height: 1.9;
}

.about-proof-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(420px, .95fr);
  gap: 20px;
  padding-top: 22px;
}

.about-proof-career,
.about-proof-record {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(239, 216, 178, .2);
  background: rgba(255, 255, 255, .025);
  box-shadow: 0 28px 72px rgba(0, 0, 0, .12);
}

.about-proof-career { padding: clamp(30px, 4vw, 52px); }

.about-proof-subhead,
.about-proof-record-head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: baseline;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(239, 216, 178, .18);
}

.about-proof-subhead > span,
.about-proof-record-head > span,
.about-proof-visual > span {
  color: #d4aa65;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .17em;
}

.about-proof-subhead > p,
.about-proof-record-head > p {
  max-width: 390px;
  margin: 0;
  color: rgba(255, 248, 237, .56);
  font-size: 13px;
  line-height: 1.65;
  text-align: right;
}

.about-proof-resume {
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 18px;
  border-top: 1px solid rgba(239, 216, 178, .08);
  border-left: 1px solid rgba(239, 216, 178, .08);
}

.about-proof-resume article {
  position: relative;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 16px;
  min-height: 242px;
  padding: 30px 24px 28px;
  border-right: 1px solid rgba(239, 216, 178, .14);
  border-bottom: 1px solid rgba(239, 216, 178, .14);
  background: linear-gradient(145deg, rgba(255, 255, 255, .018), rgba(255, 255, 255, 0));
  transition: background .35s ease, transform .35s ease;
}

.about-proof-resume article + article { padding-top: 30px; }
.about-proof-resume article:hover { z-index: 1; background: rgba(255, 255, 255, .05); transform: translateY(-3px); }
.about-proof-resume article > span { color: #d4aa65; font: 500 18px/1.3 var(--serif); }
.about-proof-resume small { display: block; color: #d4aa65; font-size: 10px; font-weight: 750; letter-spacing: .16em; }
.about-proof-resume h3 { margin: 14px 0 10px; color: #fffaf2; font: 500 clamp(20px, 1.8vw, 28px)/1.28 var(--serif); letter-spacing: -.02em; }
.about-proof-resume p { margin: 0; color: rgba(255, 248, 237, .62); font-size: 14px; line-height: 1.72; }

.about-proof-record {
  display: flex;
  flex-direction: column;
  background: rgba(5, 24, 17, .58);
}

.about-proof-visual {
  position: relative;
  min-height: 272px;
  padding: 30px;
  overflow: hidden;
  background: #0b241b var(--about-proof-image) center 52% / cover no-repeat;
}

.about-proof-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(5, 23, 17, .12), rgba(5, 23, 17, .66)),
    linear-gradient(90deg, rgba(5, 23, 17, .54), transparent 70%);
}

.about-proof-visual > span,
.about-proof-visual > strong { position: relative; z-index: 1; }
.about-proof-visual > span { display: inline-flex; padding: 8px 11px; border: 1px solid rgba(222, 181, 111, .46); background: rgba(5, 24, 17, .42); backdrop-filter: blur(8px); }
.about-proof-visual > strong { position: absolute; right: 26px; bottom: 17px; color: rgba(248, 241, 230, .34); font: 500 62px/1 var(--serif); letter-spacing: -.05em; }

.about-proof-record-head { margin: 0 28px; padding: 25px 0 20px; }

.about-proof-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0 28px;
  border: 0;
}

.about-proof-stats article {
  min-height: 168px;
  padding: 25px 24px 24px 0;
  border-right: 1px solid rgba(239, 216, 178, .16);
  border-bottom: 1px solid rgba(239, 216, 178, .16);
}

.about-proof-stats article:nth-child(2n) { padding-left: 24px; border-right: 0; }
.about-proof-stats article:nth-last-child(-n+2) { border-bottom: 0; }
.about-proof-stats strong { display: block; color: #d9ad68; font: 500 clamp(34px, 3.1vw, 53px)/1.02 var(--serif); letter-spacing: -.045em; }
.about-proof-stats span { display: block; margin-top: 15px; color: #fffaf2; font-size: 14px; font-weight: 680; line-height: 1.45; }
.about-proof-stats small { display: block; margin-top: 7px; color: rgba(255, 248, 237, .42); font-size: 11px; }
.about-proof-sources { display: flex; flex-wrap: wrap; gap: 13px 22px; align-items: center; margin: auto 28px 0; padding: 21px 0 26px; border-top: 1px solid rgba(239, 216, 178, .18); }
.about-proof-sources > span { color: rgba(255, 248, 237, .42); font-size: 10px; font-weight: 750; letter-spacing: .15em; }
.about-proof-sources a { padding-bottom: 3px; border-bottom: 1px solid rgba(213, 170, 105, .54); color: #d4aa65; font-size: 12px; }

@media (max-width: 1080px) {
  .about-proof-head { grid-template-columns: 1fr; gap: 28px; }
  .about-proof-head > p { max-width: 760px; }
  .about-proof-layout { grid-template-columns: 1fr; }
  .about-proof-resume article { min-height: 220px; }
  .about-proof-record { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); }
  .about-proof-visual { grid-row: 1 / span 3; min-height: 100%; }
  .about-proof-record-head { margin-left: 26px; }
  .about-proof-stats { margin-left: 26px; }
  .about-proof-sources { margin-left: 26px; }
}

@media (max-width: 720px) {
  .about-proof-section { padding: 76px 0; }
  .about-proof-section::before { top: 24px; font-size: 64px; }
  .about-proof-head { padding-bottom: 38px; }
  .about-proof-head h2 { font-size: clamp(39px, 11vw, 50px); line-height: 1.1; }
  .about-proof-head > p { padding: 18px 0 0; border-top: 1px solid rgba(216, 174, 105, .48); border-left: 0; font-size: 15px; }
  .about-proof-layout { gap: 12px; padding-top: 12px; }
  .about-proof-career { padding: 28px 18px 18px; }
  .about-proof-subhead,
  .about-proof-record-head { display: block; }
  .about-proof-subhead > p,
  .about-proof-record-head > p { margin-top: 9px; text-align: left; }
  .about-proof-resume { grid-template-columns: 1fr; }
  .about-proof-resume article,
  .about-proof-resume article + article { min-height: 0; padding: 25px 16px; }
  .about-proof-record { display: flex; }
  .about-proof-visual { min-height: 238px; }
  .about-proof-record-head { margin: 0 20px; }
  .about-proof-stats { margin: 0 20px; }
  .about-proof-stats article { min-height: 154px; padding: 22px 14px 20px 0; }
  .about-proof-stats article:nth-child(2n) { padding-left: 14px; }
  .about-proof-stats strong { font-size: clamp(31px, 9vw, 39px); }
  .about-proof-stats span { font-size: 13px; }
  .about-proof-sources { margin: 0 20px; }
}
/* Homepage request form: keep the existing dark glass and gold decision card. */
.hero-request-panel {
  max-height: calc(100svh - 132px);
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(213,170,105,.6) transparent;
}
.hero-request-panel h3 {
  font-size: clamp(29px, 2.3vw, 39px) !important;
  line-height: 1.16 !important;
}
.hero-request-panel h3 em { color: #d5aa69; }
.hero-request-panel .lead-mini { margin-bottom: 20px; }
.hero-request-field { display: block; margin: 0 0 14px; }
.hero-request-field > span {
  display: block;
  margin-bottom: 8px;
  color: #fff8ed;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
}
.hero-request-panel .hero-request-field input,
.hero-request-panel .hero-request-field select,
.hero-request-panel .hero-request-field textarea {
  display: block;
  width: 100%;
  min-height: 46px;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid rgba(255,248,237,.38);
  border-radius: 0;
  background: rgba(5,18,14,.38);
  color: #fff8ed;
  font-size: 15px;
  line-height: 1.45;
  color-scheme: dark;
}
.hero-request-panel .hero-request-field textarea { min-height: 86px; resize: vertical; }
.hero-request-panel .hero-request-field input::placeholder,
.hero-request-panel .hero-request-field textarea::placeholder { color: rgba(255,248,237,.6); }
.hero-request-panel .hero-request-field input:focus-visible,
.hero-request-panel .hero-request-field select:focus-visible,
.hero-request-panel .hero-request-field textarea:focus-visible {
  border-color: #d5aa69;
  outline: 2px solid #d5aa69;
  outline-offset: 2px;
}
.hero-request-panel .hero-request-field select option { background: #10251b; color: #fff8ed; }
.hero-request-more { margin: 4px 0 16px; border-block: 1px solid rgba(213,170,105,.42); }
.hero-request-more summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 50px;
  list-style: none;
  color: #d5aa69;
  cursor: pointer;
  font-size: 14px;
}
.hero-request-more summary::-webkit-details-marker { display: none; }
.hero-request-more summary b { font-size: 22px; font-weight: 400; }
.hero-request-more[open] summary b { transform: rotate(45deg); }
.hero-request-optional { padding-top: 14px; border-top: 1px solid rgba(255,248,237,.18); }
.hero-request-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
.hero-request-submit {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  min-height: 52px;
  padding: 0 18px;
  border: 1px solid #d5aa69;
  background: #c69d60;
  color: #10201a;
  cursor: pointer;
  font-size: 16px;
  font-weight: 700;
}
.hero-request-submit:hover { background: #e0b675; }
.hero-request-submit:disabled { opacity: .72; cursor: wait; }
.hero-request-submit b { font-size: 22px; font-weight: 400; }
.hero-request-privacy { display: block; margin-top: 12px; color: rgba(255,248,237,.65); font-size: 12px; line-height: 1.5; }
.hero-request-error { margin: 8px 0 0; color: #ffcfb9; font-size: 13px; line-height: 1.5; }
.hero-request-error:empty { display: none; }
.hero-request-success { padding-block: 18px; }
.hero-request-success[hidden], .hero-request-panel form[hidden] { display: none; }
.hero-request-success > span { color: #d5aa69; font-size: 12px; letter-spacing: .16em; }
.hero-request-success strong { display: block; margin: 16px 0 10px; color: #fff8ed; font: 500 30px/1.25 var(--serif); }
.hero-request-success p { margin: 0; color: rgba(255,248,237,.78); font-size: 15px; line-height: 1.7; }
@media (max-width: 960px) {
  .hero-request-panel { max-height: none; overflow: visible; }
}
@media (max-width: 580px) {
  .hero-request-panel { padding: 26px 20px; }
  .hero-request-panel h3 { font-size: 33px !important; }
  .hero-request-row { grid-template-columns: 1fr; gap: 0; }
  .hero-request-panel .hero-request-field input,
  .hero-request-panel .hero-request-field select,
  .hero-request-panel .hero-request-field textarea { font-size: 16px; }
}

.modal-photo-gallery{display:flex;gap:8px;overflow-x:auto;padding:10px 0 17px}.modal-photo-gallery button{flex:0 0 82px;height:62px;padding:0;border:2px solid transparent;background:transparent;cursor:pointer}.modal-photo-gallery button.active,.modal-photo-gallery button:focus-visible{border-color:var(--gold)}.modal-photo-gallery img{width:100%;height:100%;object-fit:cover}
