/* Editorial luxury direction, derived from the supplied brokerage identity. */
:root {
  --bg: #f9f7f1;
  --surface: #efede5;
  --ink: #14242e;
  --muted: #596168;
  --line: #d8d4c9;
  --orange: #816427;
  --button: #182f3d;
  --nav: #f9f7f1f5;
  --gold: #d8bd82;
  --midnight: #102530;
  --space-32: 8rem;
  --luxury-title: clamp(3.2rem, 1.7rem + 3.6vw, 5.4rem);
}
[data-theme="dark"] {
  --bg: #101f29;
  --surface: #1a2d38;
  --ink: #f6f2e9;
  --muted: #bbc3c5;
  --line: #3e4b52;
  --orange: #dcc189;
  --button: #d8bd82;
  --nav: #101f29f5;
}
.wrap { max-width: 1400px; padding-inline: var(--space-12); }
.header-row { min-height: 100px; }
.brand svg { color: var(--orange); }
.brand > span { letter-spacing: .1em; }
.brand small { letter-spacing: .02em; margin-top: var(--space-1, .25rem); }
.header-row nav { gap: var(--space-6); }
.primary { background: var(--button); color: #fff; border: 1px solid var(--button); }
.primary:hover { background: #304b5a; border-color: #304b5a; }
[data-theme="dark"] .primary { color: #102530; }
[data-theme="dark"] .primary:hover { background: #e8d4aa; border-color: #e8d4aa; }
.secondary { background: var(--bg); color: var(--ink); }
.button { letter-spacing: .015em; }
.theme { border-radius: 0; }
.ny-hero { max-width: none; padding: 0; gap: 0; grid-template-columns: 1fr 1fr; background: var(--midnight); color: #f9f7f1; align-items: stretch; }
.hero-copy { padding: var(--space-20) var(--space-12); padding-left: max(var(--space-12), calc((100vw - 1304px)/2)); align-self: center; }
.ny-hero h1 { font-size: var(--luxury-title); line-height: 1.06; max-width: 12ch; margin-bottom: var(--space-6); }
.ny-hero h1 span { color: var(--gold); }
.ny-hero .eyebrow { color: #d8c8a5; font-weight: 500; letter-spacing: .15em; }
.ny-hero .eyebrow span { background: var(--gold); }
.ny-hero .intro { color: #d0d6d7; max-width: 39ch; }
.ny-hero .primary { background: var(--gold); border-color: var(--gold); color: #102530; }
.ny-hero .primary:hover { background: #e8d4aa; }
.ny-hero .text-link { color: #fff; border-color: #64737a; }
.signature { margin-top: var(--space-8); border-color: var(--gold); color: #cbd2d5; }
.signature strong { color: #fff; font-weight: 500; }
.hero-art { min-height: 690px; }
.hero-art > img { position: absolute; inset: 0; height: 100%; width: 100%; border-radius: 0; object-position: 60% center; }
.art-label { top: var(--space-6); right: var(--space-6); background: #102530e8; color: #f2dfb6; padding: var(--space-3) var(--space-4); }
.agent-stamp { left: var(--space-8); right: var(--space-8); bottom: var(--space-16); background: #f9f7f1f5; color: #14242e; border: none; padding: var(--space-4); }
.agent-stamp span { color: #596168; }
.agent-stamp strong { color: #14242e; }
.hero-image-note { position: absolute; bottom: var(--space-4); left: var(--space-8); right: var(--space-8); padding: var(--space-2); background: #102530e8; color: #e2e5e4; font-size: var(--text-xs); }
.broker-strip { background: var(--surface); }
.broker-strip > .wrap { padding-block: var(--space-6); }
.brokerage-logo, .broker-strip .brokerage-logo { width: 164px; height: auto; aspect-ratio: 1190 / 967; object-fit: contain; padding: 0; background: #f8edca; }
.broker-strip span { letter-spacing: .08em; }
.broker-strip > .wrap > span:first-child { max-width: 20ch; }
.section { padding-block: var(--space-20); }
.move-paths { display: grid; grid-template-columns: repeat(3,1fr); gap: var(--space-8); margin-bottom: var(--space-24); }
.move-paths a { display: flex; flex-direction: column; gap: var(--space-4); border-top: 1px solid var(--orange); padding-block: var(--space-6); }
.move-paths a > span { font-size: var(--text-xs); letter-spacing: .06em; color: var(--muted); }
.move-paths strong { font-family: var(--font-display); font-size: var(--text-lg); font-weight: 500; }
.move-paths a > span:last-child { color: var(--orange); letter-spacing: 0; font-size: var(--text-sm); }
.move-paths a:hover strong { color: var(--orange); }
.region-grid { gap: var(--space-12); }
.region-card { background: transparent; border: 0; border-bottom: 1px solid var(--line); }
.region-copy { padding: var(--space-6) 0 var(--space-8); }
.region-image > a img { height: 360px; }
.region-number { background: #102530ed; color: #eee0bd; font-weight: 500; }
.region-copy h2 { margin-bottom: var(--space-4); }
.landmark-tags span { border: 0; padding: 0; color: var(--muted); background: transparent; }
.landmark-tags span:not(:last-child)::after { content: " /"; color: var(--orange); }
.region-jumps a, .area-route-tabs a { border-width: 0 0 1px; padding-inline: var(--space-3); }
.region-open { font-weight: 500; }
.listing-collection-nav { display: flex; flex-wrap: wrap; justify-content: flex-start; margin: 0 0 var(--space-8); gap: var(--space-6); }
.listing-collection-nav a { padding-block: var(--space-3); border-bottom: 1px solid var(--line); min-height: 44px; font-size: var(--text-sm); }
.listing-collection-nav a[aria-current="page"] { border-color: var(--orange); color: var(--orange); }
.team-listings-heading { max-width: 760px; margin-block: var(--space-12) var(--space-8); }
.team-listings-heading h2 { margin-bottom: var(--space-6); }
.team-listings-heading > p:not(.eyebrow) { color: var(--muted); }
.team-listings-pending { background: var(--surface); padding: var(--space-8); margin-bottom: var(--space-8); border-top: 1px solid var(--line); }
.team-listings-pending h3 { margin-bottom: var(--space-4); }
.team-listings-pending > p:not(.eyebrow) { color: var(--muted); margin-top: var(--space-4); }
.sample-tag { background: var(--midnight); color: #f9f7f1; }
.save-button { color: var(--midnight); }
.save-button[aria-pressed="true"] { background: var(--midnight); border-color: var(--midnight); color: #fff; }
[data-theme="dark"] .area-route-tabs a[aria-current="page"] { color: var(--midnight); }
[data-theme="dark"] .mobile-contact-bar a { color: var(--midnight); }
.professional-paths { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-12); margin-top: var(--space-16); padding-top: var(--space-12); border-top: 1px solid var(--line); }
.professional-paths h3 { margin-bottom: var(--space-4); }
.professional-paths p:not(.eyebrow) { color: var(--muted); margin-bottom: var(--space-6); }
.inquiry-box { background: var(--surface); border: 0; padding: var(--space-12); }
.contact-card { border-top: 2px solid var(--orange); }
.contact-card .brokerage-logo { width: 210px; }
.cma-profile { border-top-width: 2px; }
.resources-hero img { filter: saturate(.8); }
footer { background: var(--midnight); border-top: 1px solid #79673f; padding-block: var(--space-16); }
.footer-brand-logo { width: 154px; height: auto; margin-bottom: var(--space-6); }
:focus-visible { outline: 2px solid var(--orange); outline-offset: 4px; }
.ny-hero :focus-visible, footer :focus-visible { outline-color: var(--gold); }
@media (min-width:761px) and (max-width:1100px) { .header-row nav { gap: var(--space-6); } }
@media (max-width:1000px) {
  .wrap { padding-inline: var(--space-8); }
  .ny-hero { padding: 0; }
  .hero-copy { padding: var(--space-12) var(--space-8); }
  .hero-art { min-height: 650px; }
}
@media (max-width:760px) {
  .wrap { padding-inline: var(--space-6); }
  .header-row { min-height: 80px; }
  .brand > span { letter-spacing: .04em; }
  .brand small { max-width: 18ch; }
  .ny-hero { padding: 0; grid-template-columns: 1fr; }
  .hero-copy { padding: var(--space-12) var(--space-6); }
  .ny-hero h1 { font-size: var(--luxury-title); max-width: 13ch; }
  .ny-hero .eyebrow { line-height: 1.8; }
  .hero-art { min-height: 470px; }
  .hero-art > img { height: 100%; border-radius: 0; }
  .agent-stamp { left: var(--space-4); right: var(--space-4); bottom: var(--space-20); }
  .hero-image-note { left: var(--space-4); right: var(--space-4); }
  .broker-strip > .wrap { justify-content: center; text-align: center; }
  .broker-strip > .wrap > span { width: 100%; max-width: none !important; }
  .broker-strip .brokerage-logo { width: 150px; }
  .move-paths, .professional-paths { grid-template-columns: 1fr; gap: var(--space-6); }
  .move-paths { margin-bottom: var(--space-16); }
  .move-paths a { gap: var(--space-3); }
  .section { padding-block: var(--space-12); }
  .region-grid { gap: var(--space-8); }
  .region-image > a img { height: 300px; }
  .inquiry-box { padding: var(--space-6); }
}
