@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Libre+Caslon+Display&display=swap');

:root {
  --wmr-blue: #002B8E;
  --wmr-yellow: #FDDC59;
  --brand-blue: var(--wmr-blue);
  --brand-yellow: var(--wmr-yellow);
  --text-yellow: var(--brand-yellow);
  --text-yellow-ink: #8a6500;
  --ink: #172439;
  --ink-soft: #354154;
  --navy: #17366f;
  --navy-deep: #10264e;
  --forest: #d4af37;
  --forest-deep: #9b7417;
  --glass: #23477f;
  --glass-deep: #112e62;
  --brass: #b08a49;
  --brass-pale: #d3b977;
  --paper: #f4efe4;
  --cream: #fbf8f0;
  --gallery-paper: #eee9df;
  --white: #fffefa;
  --gold: #c2a25e;
  --rust: #995d43;
  --muted: #686a65;
  --line: rgba(23, 36, 57, .2);
  --line-light: rgba(255, 255, 255, .28);
  --shadow-rest: 0 14px 38px rgba(23, 36, 57, .09);
  --shadow-hover: 0 22px 54px rgba(23, 36, 57, .14);
  --shadow-document: 0 18px 48px rgba(57, 45, 29, .13);
  --shadow: var(--shadow-rest);
  --radius-control: 6px;
  --radius-property: 4px;
  --radius-editorial: 2px;
  --gutter: clamp(1.25rem, 4.5vw, 4.5rem);
  --section-space: clamp(4.4rem, 7.8vw, 7.8rem);
  --section-space-compact: clamp(3.1rem, 5.2vw, 5.2rem);
  --ease-editorial: cubic-bezier(.22, 1, .36, 1);
  --motion-fast: 180ms;
  --motion-medium: 320ms;
  --sans: 'DM Sans', ui-sans-serif, system-ui, sans-serif;
  --serif: 'Libre Caslon Display', Georgia, serif;
  --content: 1480px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 96px; }
body { margin: 0; background: var(--cream); color: var(--ink); font-family: var(--sans); }
body[data-division='commercial'] { --accent: var(--brand-yellow); --division: var(--forest-deep); --section-ornament: url('/assets/ornaments/bankers-lamp.webp'); }
body[data-division='homes'] { --accent: var(--brand-yellow); --division: var(--navy); --section-ornament: url('/assets/ornaments/apple-branch.webp'); }
body[data-division='shared'] { --accent: var(--gold); --division: var(--ink); --section-ornament: url('/assets/ornaments/compass.webp'); }
html[data-site-mode='homes'] body[data-division='shared'] { --accent: var(--brand-yellow); --division: var(--navy); --section-ornament: url('/assets/ornaments/apple-branch.webp'); }
html[data-site-mode='commercial'] body[data-division='shared'] { --accent: var(--brand-yellow); --division: var(--forest-deep); --section-ornament: url('/assets/ornaments/commercial-building.webp'); }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button { color: inherit; }
button:disabled, input:disabled, select:disabled, textarea:disabled { cursor: not-allowed; opacity: .55; }
[hidden] { display: none !important; }
::selection { background: var(--gold); color: var(--ink); }

.sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.image-disclosure { position: absolute; z-index: 6; top: .7rem; left: .7rem; width: fit-content; padding: .28rem .42rem; border: 1px solid rgba(255, 255, 255, .38); background: rgba(9, 24, 50, .76); color: var(--white); font-size: .47rem; font-style: normal; font-weight: 700; letter-spacing: .12em; line-height: 1; text-transform: uppercase; pointer-events: none; }
.skip-link { position: fixed; z-index: 200; top: -6rem; left: 1rem; padding: .85rem 1rem; background: var(--white); color: var(--ink); box-shadow: var(--shadow); }
.skip-link:focus { top: 1rem; }
:focus-visible { outline: 3px solid var(--brand-yellow); outline-offset: 2px; box-shadow: 0 0 0 6px var(--ink); }
.overline { margin: 0 0 .72rem; color: currentColor; font-size: .69rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.field-note { margin: 0 0 .8rem; color: var(--muted); font-size: .64rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.wmr-stamp, .division-stamp { width: fit-content; margin-bottom: 1.25rem; padding: .5rem .65rem; display: inline-flex; border: 1px solid var(--brand-blue); color: var(--brand-blue); font-size: .58rem; font-weight: 700; letter-spacing: .15em; line-height: 1.25; text-transform: uppercase; }
.wmr-stamp.light, .division-stamp { border-color: rgba(255, 255, 255, .52); color: var(--white); }
.wmr-rule { position: relative; width: min(100%, 96px); height: 1px; margin: 0 0 1.25rem 8px; background: var(--brand-blue); }
.wmr-rule::before { position: absolute; top: -4px; left: -8px; width: 8px; height: 8px; background: var(--brand-yellow); content: ''; }
.wmr-rule.light { background: rgba(255, 255, 255, .5); }
.lede { max-width: 62ch; color: var(--muted); font-size: clamp(1rem, 1.45vw, 1.2rem); line-height: 1.75; }
.section-wrap { width: min(100%, var(--content)); margin: 0 auto; padding: var(--section-space) var(--gutter); }
.section-wrap.compact { padding-top: var(--section-space-compact); padding-bottom: var(--section-space-compact); }
.section-heading { margin-bottom: clamp(2rem, 4.3vw, 4.1rem); }
.section-heading h2, .editorial-title { max-width: 12ch; margin: .15rem 0 1.05rem; font: 400 clamp(2.7rem, 5.3vw, 5.9rem)/.96 var(--serif); letter-spacing: -.045em; }
.section-heading.split { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(270px, .55fr); gap: clamp(2rem, 8vw, 8rem); align-items: end; }
.section-heading.split > :last-child { align-self: end; }
.section-heading .lede { margin: 0; }
.section-heading.split:has(> .context-ornament), .section-heading.split.has-context-ornament { grid-template-columns: minmax(0, 1.1fr) minmax(72px, .18fr) minmax(270px, .55fr); gap: clamp(1.5rem, 5vw, 5rem); align-items: center; }
.section-heading.split:has(> .context-ornament) > div:first-child::after, .section-heading.split.has-context-ornament > div:first-child::after { display: none; }
.section-heading.split:has(> .context-ornament) > :last-child, .section-heading.split.has-context-ornament > :last-child { align-self: center; }
.context-ornament { width: clamp(68px, 7vw, 108px); aspect-ratio: 1; display: block; justify-self: center; background-position: center; background-repeat: no-repeat; background-size: contain; filter: saturate(.92) drop-shadow(0 12px 15px rgba(23, 36, 57, .16)); transform: rotate(-2deg); }
.context-ornament img { width: 100%; height: 100%; object-fit: contain; }
.context-ornament--compass { background-image: url('/assets/ornaments/compass.webp'); }
.context-ornament--commercial, .context-ornament--brick { background-image: url('/assets/ornaments/commercial-building.webp'); }
.rule-link { display: inline-flex; align-items: center; gap: .75rem; padding-bottom: .35rem; border-bottom: 1px solid currentColor; font-size: .73rem; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.rule-link::after { content: '→'; font-size: 1rem; transition: transform .2s ease; }
.rule-link[target='_blank']::after { content: '↗'; }
.rule-link:hover::after { transform: translateX(.2rem); }
.button { display: inline-flex; min-height: 46px; align-items: center; justify-content: center; gap: .45rem; padding: .67rem 1.12rem; border: 1px solid currentColor; border-radius: var(--radius-property); background: transparent; font-size: .69rem; font-weight: 700; letter-spacing: .085em; text-decoration: none; text-transform: uppercase; transition: transform var(--motion-fast) var(--ease-editorial), box-shadow var(--motion-fast) ease, background var(--motion-fast) ease, color var(--motion-fast) ease, border-color var(--motion-fast) ease; }
.button.solid { border-color: var(--ink); background: var(--ink); color: var(--white); }
.button.light { border-color: var(--white); background: var(--white); color: var(--ink); }
.button.gold { border-color: var(--gold); background: var(--gold); color: #142018; }
.button.brass { border-color: var(--brass-pale); background: var(--brass-pale); color: var(--glass-deep); cursor: pointer; }
.button-row { display: flex; flex-wrap: wrap; align-items: center; gap: .78rem; margin-top: 1.7rem; }

.site-header { position: sticky; z-index: 100; top: 0; min-height: 88px; padding: 0 clamp(1rem, 2.2vw, 2.25rem); display: grid; grid-template-columns: minmax(150px, 178px) auto minmax(0, 1fr); align-items: center; gap: clamp(.75rem, 1.4vw, 1.35rem); background-color: rgba(251, 248, 240, .97); background-image: repeating-linear-gradient(90deg, transparent 0, transparent 83px, rgba(23, 36, 57, .035) 84px); border-top: 3px solid var(--brass); border-bottom: 2px solid var(--brass); box-shadow: 0 7px 26px rgba(13, 28, 22, .08); backdrop-filter: blur(18px); }
.brand { display: block; width: min(100%, 184px); }
.brand img { width: 100%; height: auto; }
.division-links { display: flex; align-items: center; gap: .85rem; }
.division-links a { min-height: 42px; padding: .66rem .05rem .45rem; display: flex; align-items: center; gap: .32rem; border-bottom: 2px solid transparent; color: var(--muted); font-size: .72rem; font-weight: 700; letter-spacing: .05em; text-decoration: none; text-transform: uppercase; transition: color .2s ease, border-color .2s ease; }
.division-links a + a { position: relative; }
.division-links a + a::before { position: absolute; top: 50%; left: -.5rem; width: 3px; height: 3px; background: var(--brass); border-radius: 50%; content: ''; }
.division-links a[aria-current], .division-links a[data-selected], .division-links a:hover { border-color: var(--division); color: var(--division); }
.division-links strong { color: var(--text-yellow-ink); font-weight: 700; }
.header-navigation { min-width: 0; justify-self: end; display: flex; align-items: center; gap: clamp(.7rem, 1.15vw, 1.15rem); }
.primary-nav { display: flex; align-items: center; gap: clamp(.55rem, .9vw, .95rem); }
.primary-nav a, .header-utilities a { font-size: .75rem; font-weight: 700; letter-spacing: .065em; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.primary-nav a { position: relative; padding: .82rem 0; }
.primary-nav a::after { position: absolute; right: 0; bottom: .7rem; left: 0; height: 1px; background: currentColor; content: ''; transform: scaleX(0); transform-origin: right; transition: transform .2s ease; }
.primary-nav a:hover::after, .primary-nav a[aria-current='page']::after { transform: scaleX(1); transform-origin: left; }
.primary-nav a[data-nav-emphasis='primary'] { min-height: 38px; padding: .63rem .75rem; border: 1px solid var(--ink); border-radius: var(--radius-property); background: var(--ink); color: var(--white); }
.primary-nav a[data-nav-emphasis='primary']::after { display: none; }
.header-utilities { padding-left: .75rem; display: flex; align-items: center; gap: .5rem; border-left: 1px solid var(--line); }
.header-utilities a { min-height: 38px; padding: .45rem .15rem; display: inline-flex; align-items: center; gap: .35rem; color: var(--muted); }
.header-utilities a[aria-current='page'] { color: var(--ink); }
.header-utilities strong { min-width: 1.35rem; height: 1.35rem; padding: 0 .25rem; display: inline-grid; place-items: center; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--white); color: var(--ink); font-size: .65rem; line-height: 1; }
.menu-button { display: none; width: 48px; height: 48px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.menu-button > span:not(.sr-only) { width: 25px; height: 2px; margin: 5px auto; display: block; background: currentColor; }

.entry-hero { position: relative; min-height: calc(100svh - 86px); overflow: hidden; background: var(--forest-deep); color: var(--white); }
.entry-hero > img, .entry-shade { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.entry-shade { background: linear-gradient(180deg, rgba(9, 15, 19, .12), rgba(9, 15, 19, .45) 52%, rgba(9, 15, 19, .82)); }
.entry-intro { position: relative; z-index: 2; max-width: 1100px; margin: 0 auto; padding: clamp(3.5rem, 9vh, 8rem) 1.5rem 24rem; text-align: center; }
.entry-intro .wmr-stamp { margin-right: auto; margin-left: auto; }
.entry-intro h1 { max-width: 14ch; margin: .15rem auto 1rem; font: 400 clamp(3.8rem, 8.2vw, 8.8rem)/.88 var(--serif); letter-spacing: -.055em; text-wrap: balance; }
.entry-intro p:last-child { margin: 0; color: rgba(255, 255, 255, .82); }
.entry-choice-grid { position: absolute; z-index: 3; right: 0; bottom: 0; left: 0; display: grid; grid-template-columns: 1fr 1fr; }
.entry-choice { min-height: 330px; padding: 2.2rem clamp(1.4rem, 4vw, 4.5rem); display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto 1fr auto; color: var(--white); background: rgba(15, 24, 27, .38); border-top: 1px solid var(--line-light); text-decoration: none; transition: background .25s ease; }
.entry-choice + .entry-choice { border-left: 1px solid var(--line-light); }
.entry-choice:hover, .entry-choice:focus-visible { background: rgba(19, 41, 32, .78); }
.entry-choice .number { grid-column: 2; grid-row: 1; color: rgba(255, 255, 255, .62); font-size: .68rem; }
.entry-choice .kicker { grid-column: 1; grid-row: 1; font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; }
.entry-choice h2 { grid-column: 1 / -1; margin: .65rem 0 .8rem; font: 400 clamp(2.5rem, 5vw, 5.3rem)/.91 var(--serif); letter-spacing: -.045em; }
.entry-choice.commercial h2 { font-size: clamp(2rem, 4vw, 4.3rem); }
.entry-choice p { grid-column: 1; max-width: 48ch; margin: 0; color: rgba(255, 255, 255, .8); font-size: .87rem; line-height: 1.55; }
.entry-choice .enter { grid-column: 1 / -1; margin-top: 1.4rem; padding-top: .9rem; display: flex; justify-content: space-between; border-top: 1px solid var(--line-light); font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.gateway-proof-strip { background-color: var(--paper); background-image: repeating-linear-gradient(0deg, transparent 0, transparent 43px, rgba(0, 43, 142, .045) 44px); border-bottom: 1px solid var(--line); }
.gateway-proof-strip .section-wrap { padding-top: 1.5rem; padding-bottom: 1.5rem; display: grid; grid-template-columns: minmax(180px, .42fr) minmax(0, 1.58fr); gap: 2rem; align-items: center; }
.gateway-proof-strip .field-note { margin: 0; }
.gateway-proof-strip dl { margin: 0; display: grid; grid-template-columns: repeat(3, 1fr); border-left: 1px solid var(--line); }
.gateway-proof-strip dl div { min-height: 64px; padding: .6rem 1.25rem; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--line); }
.gateway-proof-strip dt { color: var(--muted); font-size: .56rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.gateway-proof-strip dd { margin: .28rem 0 0; font: 400 clamp(1.15rem, 1.8vw, 1.75rem)/1 var(--serif); }

.gateway-featured { background: var(--gallery-paper); }
.gateway-property-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); gap: clamp(1.1rem, 2vw, 2rem); align-items: start; }
.gateway-property-grid .property-card--feature { grid-column: span 6; }
.gateway-property-grid .property-card--standard { grid-column: span 3; }
.gateway-heritage { position: relative; overflow: hidden; background: var(--brand-blue); color: var(--white); }
.gateway-heritage::after { position: absolute; inset: 0; opacity: .12; background-image: repeating-linear-gradient(0deg, transparent 0, transparent 51px, rgba(255, 255, 255, .25) 52px); content: ''; pointer-events: none; }
.gateway-heritage-mark { position: absolute; z-index: 1; right: -5vw; bottom: -8vw; width: min(62vw, 920px); opacity: .08; transform: rotate(-5deg); }
.gateway-heritage-mark img { width: 100%; filter: brightness(0) invert(1); }
.gateway-heritage-grid { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(220px, .45fr) minmax(0, 1fr); gap: clamp(3rem, 12vw, 12rem); align-items: start; }
.gateway-heritage .field-note { color: rgba(255, 255, 255, .64); }
.gateway-heritage h2 { max-width: 11ch; margin: 0 0 1.5rem; font: 400 clamp(3.4rem, 7vw, 7.6rem)/.9 var(--serif); letter-spacing: -.052em; }
.gateway-heritage p:not(.field-note) { max-width: 64ch; color: rgba(255, 255, 255, .76); font-size: clamp(1rem, 1.3vw, 1.17rem); line-height: 1.85; }
.gateway-directory { background-color: var(--paper); background-image: linear-gradient(90deg, transparent 49.9%, rgba(0, 43, 142, .045) 50%, transparent 50.1%); }
.gateway-directory-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(360px, 1.2fr); gap: clamp(3rem, 10vw, 10rem); align-items: start; }
.gateway-directory h2 { max-width: 11ch; margin: 0 0 1.2rem; font: 400 clamp(3rem, 6vw, 6.4rem)/.94 var(--serif); letter-spacing: -.048em; }
.gateway-office-list { border-top: 1px solid var(--line); }
.gateway-office-list a { min-height: 88px; padding: 1rem 0; display: grid; grid-template-columns: 1fr auto auto; gap: 1.2rem; align-items: center; border-bottom: 1px solid var(--line); text-decoration: none; }
.gateway-office-list span { color: var(--ink-soft); font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.gateway-office-list strong { color: var(--wmr-blue); font: 400 clamp(1.35rem, 2.2vw, 2.3rem)/1 var(--serif); }
.gateway-office-list b { color: var(--brand-blue); font-size: 1.15rem; }
.gateway-contact-band { background: var(--forest-deep); color: var(--white); }
.gateway-contact-band > .section-wrap { padding-top: clamp(3.5rem, 6vw, 6rem); padding-bottom: clamp(3.5rem, 6vw, 6rem); display: grid; grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: clamp(2.5rem, 9vw, 9rem); align-items: center; }
.gateway-contact-band .field-note { color: rgba(255, 255, 255, .55); }
.gateway-contact-band h2 { max-width: 13ch; margin: 0; font: 400 clamp(2.6rem, 5vw, 5.4rem)/.95 var(--serif); letter-spacing: -.045em; }
.gateway-contact-actions { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.gateway-contact-actions a { min-height: 190px; padding: 1.4rem; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); text-decoration: none; }
.gateway-contact-actions span { color: rgba(255, 255, 255, .58); font-size: .62rem; letter-spacing: .12em; text-transform: uppercase; }
.gateway-contact-actions strong { align-self: end; font: 400 clamp(1.55rem, 2.6vw, 2.6rem)/1 var(--serif); }
.gateway-contact-actions b { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--brand-yellow); }

.page-hero { position: relative; min-height: min(720px, calc(100svh - 86px)); display: flex; align-items: end; overflow: hidden; color: var(--white); background: var(--division); }
.page-hero > img, .page-hero::after { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.page-hero--homes > img { object-position: 56% center; }
.page-hero--commercial > img { object-position: 58% center; }
.page-hero::after { content: ''; }
.page-hero--homes::after { background: linear-gradient(90deg, rgba(10, 24, 52, .92) 0%, rgba(16, 47, 82, .7) 42%, rgba(16, 47, 82, .13) 78%), linear-gradient(0deg, rgba(9, 18, 24, .58), transparent 47%); }
.page-hero--commercial::after { background: linear-gradient(90deg, rgba(17, 35, 75, .94) 0%, rgba(86, 65, 19, .72) 43%, rgba(50, 36, 26, .16) 79%), linear-gradient(0deg, rgba(17, 24, 43, .62), transparent 45%); }
.page-hero-content { position: relative; z-index: 2; width: min(100%, var(--content)); margin: 0 auto; padding: clamp(4.4rem, 8.6vw, 7.8rem) var(--gutter); }
.page-hero h1 { max-width: 12ch; margin: .2rem 0 1.25rem; font: 400 clamp(4rem, 8.2vw, 8.8rem)/.88 var(--serif); letter-spacing: -.055em; }
.page-hero--commercial h1 { max-width: 13ch; font-size: clamp(3.6rem, 7.25vw, 7.8rem); }
.page-hero p:not(.overline) { max-width: 55ch; color: rgba(255, 255, 255, .84); font-size: clamp(1rem, 1.5vw, 1.2rem); line-height: 1.7; }
.page-hero .button-row { margin-bottom: 0; }
.hero-curio-stack { position: absolute; z-index: 3; right: clamp(1.2rem, 4vw, 4.5rem); bottom: 2.1rem; display: flex; align-items: end; gap: clamp(.2rem, .8vw, .7rem); }
.hero-curio-stack img { width: clamp(64px, 7vw, 112px); height: clamp(72px, 9vw, 132px); object-fit: contain; filter: saturate(.78) drop-shadow(0 14px 20px rgba(0, 0, 0, .42)); transition: transform .25s ease; }
.hero-curio-stack img:nth-child(2) { transform: translateY(12px) rotate(2deg); }
.hero-curio-stack img:nth-child(3) { transform: translateY(3px) rotate(-2deg); }
.masthead { background: var(--paper); border-bottom: 1px solid var(--line); }
.masthead-inner { width: min(100%, var(--content)); margin: 0 auto; padding: clamp(4.4rem, 8.6vw, 7.8rem) var(--gutter) clamp(2.7rem, 5.2vw, 5.2rem); }
.masthead h1 { max-width: 14ch; margin: .15rem 0 1.15rem; font: 400 clamp(3.7rem, 7vw, 7.8rem)/.9 var(--serif); letter-spacing: -.052em; }
.masthead .lede { margin: 0; }
.breadcrumb { margin: 0 0 2rem; display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; color: var(--muted); font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; }
.breadcrumb a { text-underline-offset: 4px; }

.featured-section, .gateway-featured {
  background-color: var(--gallery-paper);
  background-image: radial-gradient(circle at 18% 12%, rgba(255, 255, 255, .28), transparent 34%), repeating-linear-gradient(135deg, rgba(86, 70, 47, .012) 0 1px, transparent 1px 6px);
}
.property-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1.25rem, 2.4vw, 2.6rem); }
.property-card { min-width: 0; overflow: hidden; border: 1px solid rgba(176, 138, 73, .42); border-radius: 4px; background: #fffdf7; box-shadow: 0 12px 30px rgba(57, 45, 29, .08); transition: border-color var(--motion-medium) ease, box-shadow var(--motion-medium) ease, transform var(--motion-medium) var(--ease-editorial); }
.property-card a { display: block; color: inherit; text-decoration: none; }
.property-card-media { position: relative; aspect-ratio: 5 / 4; overflow: hidden; background: #d9d4c8; border-bottom: 1px solid rgba(176, 138, 73, .28); }
.property-card--feature .property-card-media { aspect-ratio: 16 / 9; }
.property-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s ease; }
.property-edit-marker { position: absolute; z-index: 2; top: .75rem; left: .75rem; padding: .38rem .48rem; border: 1px solid rgba(176, 138, 73, .74); background: rgba(251, 248, 240, .94); color: var(--navy-deep); box-shadow: 0 7px 18px rgba(57, 45, 29, .08); font-size: .52rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.property-card-copy { padding: clamp(1.05rem, 2vw, 1.45rem); border-bottom: 0; }
.property-badge { width: fit-content; padding: .3rem .42rem; display: inline-flex; border: 1px solid rgba(176, 138, 73, .5); border-radius: 3px; background: #f4efe3; color: var(--ink-soft); font-size: .53rem; font-weight: 700; letter-spacing: .11em; line-height: 1; text-transform: uppercase; }
.property-card-copy h3 { margin: 0 0 .55rem; font: 400 clamp(1.65rem, 2.25vw, 2.35rem)/1.03 var(--serif); letter-spacing: -.025em; }
.property-card-facts { margin: 0; color: var(--muted); font-size: .76rem; line-height: 1.55; }
.filter-bar { margin-bottom: 2.6rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.filter-bar button { min-height: 44px; padding: .58rem .82rem; border: 1px solid var(--line); border-radius: var(--radius-control); background: transparent; font-size: .64rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; transition: background var(--motion-fast) ease, color var(--motion-fast) ease, border-color var(--motion-fast) ease; }
.filter-bar button[aria-pressed='true'] { border-color: var(--ink); background: var(--ink); color: var(--white); }
.provider-boundary { margin-top: clamp(3rem, 7vw, 7rem); padding: clamp(2rem, 4vw, 4rem); display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; background: var(--ink); color: var(--white); }
.provider-boundary h2 { max-width: 15ch; margin: 0 0 .8rem; font: 400 clamp(2rem, 3.5vw, 3.7rem)/1 var(--serif); }
.provider-boundary p { max-width: 62ch; margin: 0; color: rgba(255, 255, 255, .72); line-height: 1.65; }

.service-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.service-grid article { min-height: 360px; padding: 1.5rem; display: flex; flex-direction: column; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.service-grid .number { color: var(--muted); font-size: .66rem; }
.service-grid h3 { margin: auto 0 .9rem; font: 400 clamp(2rem, 2.8vw, 3rem)/1 var(--serif); }
.service-grid p { min-height: 7.3em; margin: 0 0 1.5rem; color: var(--muted); font-size: .86rem; line-height: 1.65; }
.service-grid a { font-size: .66rem; font-weight: 700; letter-spacing: .07em; text-underline-offset: 4px; text-transform: uppercase; }
.proof-band { background: var(--division); color: var(--white); }
.proof-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 10vw, 10rem); align-items: end; }
.proof-grid h2 { max-width: 12ch; margin: 0; font: 400 clamp(2.8rem, 5.5vw, 6rem)/.95 var(--serif); letter-spacing: -.045em; }
.proof-list { border-top: 1px solid var(--line-light); }
.proof-list div { padding: 1.2rem 0; display: flex; justify-content: space-between; gap: 2rem; border-bottom: 1px solid var(--line-light); }
.proof-list dt { font-size: .69rem; letter-spacing: .1em; text-transform: uppercase; }
.proof-list dd { margin: 0; color: rgba(255, 255, 255, .72); font-size: .84rem; text-align: right; }

.idx-page { background: var(--paper); }
.idx-shell { width: min(100%, var(--content)); margin: 0 auto; padding: clamp(2rem, 4vw, 4rem) clamp(1rem, 3vw, 3rem) clamp(5rem, 8vw, 8rem); }
.idx-toolbar { min-height: 54px; padding: .9rem 1rem; display: flex; justify-content: space-between; gap: 1rem; align-items: center; background: var(--ink); color: var(--white); font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.idx-toolbar span:first-child::before { width: .48rem; height: .48rem; margin-right: .55rem; display: inline-block; background: #93b081; border-radius: 50%; content: ''; }
.idx-frame { min-height: 780px; border: 1px solid var(--line); border-top: 0; background: var(--white); }
.idx-frame iframe { width: 100%; min-height: 780px; display: block; border: 0; }
.idx-fallback { padding: 1.15rem; display: flex; justify-content: space-between; gap: 1.5rem; align-items: center; border: 1px solid var(--line); border-top: 0; background: var(--cream); }
.idx-fallback p { margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.5; }
.idx-widget-shell { padding: clamp(4rem, 8vw, 8rem) 0; overflow: hidden; background: var(--navy-deep); color: var(--white); }
.idx-widget-shell .section-heading { align-items: end; }
.idx-widget-shell .section-heading h2 { max-width: 11ch; color: var(--white); }
.idx-widget-shell .section-heading .lede { color: rgba(255, 255, 255, .68); }
.idx-widget-shell--light { background: var(--paper); color: var(--ink); }
.idx-widget-shell--light .section-heading h2 { color: var(--ink); }
.idx-widget-shell--light .section-heading .lede { color: var(--muted); }
.idx-widget-shell--carousel { padding-top: clamp(3.5rem, 7vw, 7rem); background-color: var(--cream); background-image: linear-gradient(rgba(20, 45, 84, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(20, 45, 84, .045) 1px, transparent 1px); background-size: 42px 42px; color: var(--ink); }
.idx-widget-shell--carousel .section-heading h2 { color: var(--ink); }
.idx-widget-shell--carousel .section-heading .lede { color: var(--muted); }
.idx-widget-toolbar { min-height: 54px; padding: .9rem 1rem; display: flex; justify-content: space-between; gap: 1rem; align-items: center; background: var(--brand-yellow); border: 1px solid var(--brass); color: var(--navy-deep); font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.idx-widget-toolbar span:first-child::before { width: .48rem; height: .48rem; margin-right: .55rem; display: inline-block; background: var(--navy-deep); border-radius: 50%; content: ''; }
.idx-widget-panel { position: relative; width: 100%; overflow: hidden; background: #fff; border: 1px solid var(--brass); box-shadow: 0 24px 70px rgba(3, 15, 38, .18); color: #172439; }
.idx-widget-panel--map { min-height: clamp(620px, 76vh, 920px); border-top: 0; }
.idx-widget-panel--showcase, .idx-widget-panel--carousel { min-height: 360px; padding: clamp(.75rem, 2vw, 1.5rem); }
.idx-widget-panel > idx-prime-map-search, .idx-widget-panel > idx-listings-showcase, .idx-widget-panel > idx-listings-carousel { width: 100%; display: block; }
.idx-widget-panel--map > idx-prime-map-search { min-height: clamp(620px, 76vh, 920px); height: 100%; }
.idx-widget-panel iframe { max-width: 100%; }
.idx-widget-shell .idx-fallback { margin-top: 1.25rem; border: 1px solid rgba(20, 45, 84, .25); background: rgba(255, 255, 255, .72); }
.idx-widget-shell .idx-fallback .overline { margin-bottom: .2rem; color: var(--rust); }
.idx-fallback-actions { justify-content: flex-end; }

.property-hero { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(330px, .62fr); min-height: 690px; background: var(--paper); border-bottom: 1px solid var(--line); }
.property-hero-media { min-height: 620px; background: #d9d4c8; }
.property-hero-media img { width: 100%; height: 100%; object-fit: cover; }
.property-gallery { position: relative; min-width: 0; overflow: hidden; isolation: isolate; }
.property-gallery-track { position: absolute; inset: 0; display: flex; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scrollbar-width: none; overscroll-behavior-inline: contain; -webkit-overflow-scrolling: touch; }
.property-gallery-track::-webkit-scrollbar { display: none; }
.property-gallery-slide { position: relative; min-width: 100%; height: 100%; margin: 0; flex: 0 0 100%; scroll-snap-align: start; scroll-snap-stop: always; background: #d9d4c8; }
.property-gallery-slide img { display: block; }
.property-gallery-slide figcaption { position: absolute; right: 1rem; bottom: 1rem; max-width: min(34rem, calc(100% - 2rem)); padding: .55rem .7rem; background: rgba(8, 27, 61, .78); color: var(--white); font-size: .66rem; line-height: 1.45; }
.property-gallery-controls { position: absolute; z-index: 3; bottom: 1.1rem; left: 1.1rem; display: grid; grid-template-columns: auto auto auto; align-items: stretch; background: rgba(250, 247, 238, .94); border: 1px solid rgba(20, 45, 84, .48); box-shadow: 0 12px 30px rgba(3, 15, 38, .22); backdrop-filter: blur(8px); }
.property-gallery-controls button { min-height: 48px; padding: .7rem .85rem; display: flex; gap: .5rem; align-items: center; border: 0; background: transparent; color: var(--navy-deep); font-size: .6rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.property-gallery-controls button:hover, .property-gallery-controls button:focus-visible { background: var(--brand-yellow); }
.property-gallery-controls p { min-width: 64px; margin: 0; padding: .7rem; display: flex; gap: .28rem; align-items: center; justify-content: center; border-right: 1px solid rgba(20, 45, 84, .28); border-left: 1px solid rgba(20, 45, 84, .28); color: var(--navy-deep); font: 700 .69rem/1 var(--sans); }
.property-gallery-index { position: absolute; z-index: 3; right: 1.1rem; bottom: 1.1rem; max-width: min(42%, 330px); min-height: 48px; padding: .7rem; display: flex; flex-wrap: wrap; gap: .4rem; align-content: center; justify-content: flex-end; background: rgba(8, 27, 61, .82); border: 1px solid rgba(255, 255, 255, .3); backdrop-filter: blur(8px); }
.property-gallery-index a { width: 8px; height: 8px; display: block; flex: 0 0 auto; border: 1px solid rgba(255, 255, 255, .8); border-radius: 50%; background: transparent; }
.property-gallery-index a[aria-current='true'] { background: var(--brand-yellow); border-color: var(--brand-yellow); transform: scale(1.28); }
.property-gallery-hint { position: absolute; z-index: 2; top: 1.1rem; right: 1.1rem; margin: 0; padding: .55rem .7rem; background: rgba(8, 27, 61, .78); color: var(--white); font-size: .56rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.property-gallery:focus-visible { outline: 3px solid var(--brand-yellow); outline-offset: -3px; }
.property-hero-copy { padding: clamp(3rem, 6vw, 6rem) clamp(1.5rem, 4vw, 4.5rem); display: flex; flex-direction: column; justify-content: flex-end; }
.property-hero-copy .breadcrumb { margin-bottom: auto; }
.property-hero-copy h1 { margin: .5rem 0 .75rem; font: 400 clamp(3rem, 5vw, 5.9rem)/.91 var(--serif); letter-spacing: -.05em; }
.property-hero-copy .locality { margin: 0; color: var(--muted); font-size: 1rem; }
.property-hero-copy .dek { margin: 1.7rem 0 0; color: var(--ink-soft); line-height: 1.7; }
.property-media-links { margin-top: 1.5rem; display: flex; flex-wrap: wrap; gap: .85rem 1.5rem; align-items: center; }
.property-media-links .rule-link { margin-top: 0; }
.property-source-strip { padding: 1rem clamp(1.25rem, 5vw, 5rem); display: flex; justify-content: space-between; gap: 1rem; background: var(--ink); color: rgba(255, 255, 255, .74); font-size: .64rem; letter-spacing: .075em; text-transform: uppercase; }
.property-source-strip a { color: var(--white); text-underline-offset: 4px; }
.property-body { background: var(--cream); }
.property-story-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .45fr); gap: clamp(3rem, 10vw, 10rem); }
.property-story h2 { max-width: 12ch; margin: 0 0 1.5rem; font: 400 clamp(2.7rem, 5vw, 5rem)/.98 var(--serif); letter-spacing: -.04em; }
.property-story p { max-width: 68ch; color: var(--ink-soft); font-size: 1.02rem; line-height: 1.85; }
.highlight-grid { margin: 2rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; list-style: none; }
.highlight-grid li { padding: 1rem; border: 1px solid var(--line); background: var(--paper); font-size: .82rem; line-height: 1.55; }
.fact-list { margin: 0; border-top: 1px solid var(--line); }
.fact-list div { padding: 1rem 0; display: grid; grid-template-columns: 1fr 1.2fr; gap: 1rem; border-bottom: 1px solid var(--line); }
.fact-list dt { color: var(--muted); font-size: .66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.fact-list dd { margin: 0; font-size: .82rem; text-align: right; }
.feature-groups { margin-top: clamp(4rem, 8vw, 8rem); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.feature-group { padding-top: 1rem; border-top: 1px solid var(--ink); }
.feature-group h3 { margin: 0 0 1rem; font: 400 2rem/1 var(--serif); }
.feature-group ul { margin: 0; padding: 0; list-style: none; color: var(--muted); font-size: .85rem; line-height: 1.7; }
.editor-note { margin-top: 3rem; padding: 1.3rem; border-left: 3px solid var(--gold); background: var(--paper); color: var(--muted); font-size: .8rem; line-height: 1.65; }
.idx-remarks-section { margin-top: clamp(4rem, 8vw, 8rem); }
.idx-remarks-heading { align-items: end; }
.idx-remarks-heading h2 { max-width: 10ch; font-size: clamp(2.7rem, 5vw, 5rem); }
.idx-remarks-heading .lede { max-width: 48ch; }
.idx-remarks-gate { padding: clamp(1.5rem, 4vw, 3rem); display: flex; justify-content: space-between; gap: 2rem; align-items: center; border: 1px solid var(--brass); background: var(--paper); }
.idx-remarks-gate p { max-width: 58ch; margin: 0; color: var(--muted); line-height: 1.7; }
.idx-remarks-gate strong { display: block; margin-bottom: .35rem; color: var(--ink); font: 400 1.6rem/1.2 var(--serif); }
.idx-remarks-frame-shell { min-height: 560px; overflow: hidden; border: 1px solid var(--brass); background: #fff; box-shadow: 0 24px 60px rgba(3, 15, 38, .13); }
.idx-remarks-frame { width: 100%; height: clamp(560px, 68vh, 760px); display: block; border: 0; background: #fff; }
.idx-remarks-note { padding: 1rem 0; display: flex; justify-content: space-between; gap: 1.5rem; align-items: flex-start; border-bottom: 1px solid var(--line); }
.idx-remarks-note p { max-width: 66ch; margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.6; }
.idx-remarks-note .rule-link { flex: 0 0 auto; }
.idx-remarks-unavailable { padding: clamp(1.5rem, 4vw, 3rem); display: flex; justify-content: space-between; gap: 2rem; align-items: center; border: 1px solid var(--brass); background: var(--paper); }
.idx-remarks-unavailable p { max-width: 58ch; margin: 0; color: var(--muted); line-height: 1.7; }
.idx-remarks-unavailable strong { display: block; margin-bottom: .35rem; color: var(--ink); font: 400 1.6rem/1.2 var(--serif); }

.idx-gallery-section { background: var(--paper); border-bottom: 1px solid var(--line); }
.idx-gallery-heading { align-items: end; }
.idx-gallery-heading h2 { max-width: 10ch; font-size: clamp(2.7rem, 5vw, 5rem); }
.idx-gallery-heading .lede { max-width: 48ch; }
.idx-gallery-gate { padding: clamp(1.5rem, 4vw, 3rem); display: flex; justify-content: space-between; gap: 2rem; align-items: center; border: 1px solid var(--brass); background: var(--surface-document, #fffdf7); }
.idx-gallery-gate p { max-width: 58ch; margin: 0; color: var(--muted); line-height: 1.7; }
.idx-gallery-gate strong { display: block; margin-bottom: .35rem; color: var(--ink); font: 400 1.6rem/1.2 var(--serif); }
.idx-gallery-frame-shell { min-height: 620px; overflow: hidden; border: 1px solid var(--brass); background: #fff; box-shadow: 0 24px 60px rgba(3, 15, 38, .13); scroll-margin-top: calc(var(--header-height) + 1rem); }
.idx-gallery-frame { width: 100%; height: clamp(620px, 76vh, 920px); display: block; border: 0; background: #fff; }
.idx-gallery-note { padding: 1rem 0; display: flex; justify-content: space-between; gap: 1.5rem; align-items: flex-start; border-bottom: 1px solid var(--line); }
.idx-gallery-note p { max-width: 66ch; margin: 0; color: var(--muted); font-size: .72rem; line-height: 1.6; }
.idx-gallery-note .rule-link { flex: 0 0 auto; }
.detail-gallery, .relationship-section { margin-top: clamp(4rem, 8vw, 8rem); }
.detail-gallery .section-heading h2, .relationship-section .section-heading h2 { font-size: clamp(2.4rem, 4.5vw, 4.7rem); }
.detail-gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.detail-gallery-grid figure { margin: 0; }
.detail-gallery-grid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.detail-gallery-grid figcaption { padding-top: .65rem; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.relationship-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1.5rem; }
.relationship-grid > div { padding-top: 1rem; border-top: 1px solid var(--ink); }
.relationship-grid h3 { margin: 0 0 .85rem; font: 400 1.8rem/1 var(--serif); }
.relationship-grid ul { margin: 0; padding: 0; list-style: none; color: var(--muted); font-size: .82rem; line-height: 1.7; }

.search-field { width: min(100%, 420px); display: block; }
.search-field input { width: 100%; min-height: 48px; padding: .72rem .9rem; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--white); color: var(--ink); }
.team-masthead { background-color: var(--paper); background-image: repeating-linear-gradient(90deg, transparent 0, transparent 119px, rgba(0, 43, 142, .04) 120px); }
.team-masthead .wmr-stamp { display: block; }
.team-directory { background: var(--cream); }
.team-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.team-card { min-width: 0; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.team-card-media { position: relative; aspect-ratio: 4 / 4.35; display: grid; place-items: center; overflow: hidden; background: #d8dfd2; color: var(--brand-yellow); text-decoration: none; }
.team-card-media::after { position: absolute; z-index: 1; inset: 0; border: 8px solid rgba(255, 255, 255, .1); background: linear-gradient(155deg, rgba(35, 71, 62, .03), rgba(35, 71, 62, .13)); content: ''; pointer-events: none; }
.team-card-media img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; filter: saturate(1.03) contrast(1.015); transition: transform .45s ease, filter .45s ease; }
.team-card-media:hover img { filter: saturate(1.08) contrast(1.02); transform: scale(1.02); }
.agent-monogram { position: relative; width: 72%; aspect-ratio: 4 / 4.35; padding: 1.2rem; display: flex; flex-direction: column; align-items: center; justify-content: center; overflow: hidden; border: 1px solid rgba(211, 185, 119, .7); background-color: var(--navy-deep); background-image: linear-gradient(rgba(211, 185, 119, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(211, 185, 119, .08) 1px, transparent 1px); background-size: 28px 28px; box-shadow: inset 0 0 50px rgba(3, 16, 40, .45); }
.agent-monogram::before, .agent-monogram::after { position: absolute; content: ''; pointer-events: none; }
.agent-monogram::before { inset: .55rem; border: 1px solid rgba(211, 185, 119, .32); }
.agent-monogram::after { right: -8%; bottom: 12%; left: -8%; height: 28%; background: linear-gradient(145deg, transparent 0 19%, rgba(211, 185, 119, .22) 20% 22%, transparent 23% 36%, rgba(211, 185, 119, .38) 37% 39%, transparent 40%), linear-gradient(35deg, transparent 0 42%, rgba(211, 185, 119, .18) 43% 45%, transparent 46%); }
.agent-monogram-mark, .agent-monogram-label { position: relative; z-index: 1; color: rgba(250, 247, 238, .68); font-size: .52rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.agent-monogram-mark { margin-bottom: 1rem; }
.agent-monogram-label { margin-top: 1rem; }
.agent-initials { position: relative; z-index: 1; color: var(--text-yellow); font: 400 clamp(4.5rem, 9vw, 9rem)/1 var(--serif); letter-spacing: -.08em; }
.team-card-copy { min-height: 330px; padding: 1.35rem; display: flex; flex-direction: column; }
.team-card .index { align-self: flex-end; color: var(--muted); font-size: .58rem; letter-spacing: .1em; }
.team-card .team-role { margin: auto 0 .55rem; color: var(--muted); font-size: .64rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.team-card h2 { margin: 0 0 .45rem; font: 400 clamp(1.75rem, 2.5vw, 2.65rem)/1.02 var(--serif); }
.team-card h2 a { text-decoration: none; }
.agent-license-name { display: block; color: var(--muted); font-size: .68rem; font-weight: 400; letter-spacing: .015em; line-height: 1.4; text-transform: none; }
.team-card .agent-license-name { margin: 0 0 .25rem; }
.agent-license-number { display: block; color: var(--muted); font-size: .68rem; font-weight: 400; letter-spacing: .02em; line-height: 1.4; }
.team-card-meta { margin: .85rem 0 0; padding: .7rem 0 0; display: grid; gap: .45rem; border-top: 1px solid var(--line); }
.team-card-meta div { display: grid; grid-template-columns: 5.5rem minmax(0, 1fr); gap: .75rem; align-items: baseline; }
.team-card-meta dt { color: var(--muted); font-size: .54rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.team-card-meta dd { margin: 0; color: var(--ink-soft); font-size: .67rem; line-height: 1.35; overflow-wrap: anywhere; }
.team-phone { min-height: 54px; padding: .7rem 0; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: .8rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); text-decoration: none; }
.team-phone span { color: var(--muted); font-size: .57rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.team-phone strong { font: 400 1.05rem/1 var(--serif); white-space: nowrap; }
.team-email { min-height: 54px; padding: .7rem 0; display: grid; grid-template-columns: 1fr minmax(0, auto); align-items: center; gap: .8rem; border-bottom: 1px solid var(--line); text-decoration: none; }
.team-email span { color: var(--muted); font-size: .57rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.team-email strong { max-width: 22ch; font: 400 .88rem/1.15 var(--serif); overflow-wrap: anywhere; text-align: right; }
.profile-link { margin-top: 1.05rem; display: flex; justify-content: space-between; gap: 1rem; color: var(--brand-blue); font-size: .62rem; font-weight: 700; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
.agent-hero { min-height: 720px; display: grid; grid-template-columns: minmax(340px, .78fr) minmax(0, 1.22fr); background: var(--paper); border-bottom: 1px solid var(--line); }
.agent-hero-media { position: relative; min-height: 720px; display: grid; place-items: center; overflow: hidden; background-color: #d8dfd2; background-image: repeating-linear-gradient(0deg, transparent 0, transparent 59px, rgba(23, 36, 57, .045) 60px); color: var(--brand-yellow); }
.agent-hero-media::after { position: absolute; z-index: 1; inset: 0; background: linear-gradient(155deg, rgba(35, 71, 62, .02), rgba(35, 71, 62, .12)); content: ''; pointer-events: none; }
.agent-hero-media > img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; filter: saturate(1.03) contrast(1.015); }
.agent-hero-media .agent-monogram { width: min(72%, 520px); }
.agent-hero-media .agent-initials { font-size: clamp(8rem, 17vw, 17rem); }
.agent-image-note { position: absolute; z-index: 2; right: 1.25rem; bottom: 1.25rem; padding: .55rem .65rem; background: rgba(16, 25, 37, .82); color: var(--white); font-size: .58rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.agent-hero-copy { padding: clamp(3rem, 7vw, 7rem); display: flex; flex-direction: column; justify-content: flex-end; }
.agent-hero-copy .breadcrumb { margin-bottom: auto; }
.agent-hero-copy .wmr-stamp { margin-top: 2rem; }
.agent-hero-copy h1 { max-width: 12ch; margin: .2rem 0 .55rem; font: 400 clamp(4rem, 8vw, 8.4rem)/.88 var(--serif); letter-spacing: -.055em; }
.agent-hero-copy .agent-license-name { margin: 0 0 1rem; font-size: .75rem; }
.agent-hero-credentials { width: min(100%, 560px); margin: 0 0 1.25rem; padding: .85rem 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 1.5rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.agent-hero-credentials div { min-width: 0; }
.agent-hero-credentials dt { margin: 0 0 .24rem; color: var(--muted); font-size: .56rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.agent-hero-credentials dd { margin: 0; color: var(--ink); font-size: .78rem; line-height: 1.35; overflow-wrap: anywhere; }
.agent-intro { max-width: 57ch; margin: 0; color: var(--muted); font-size: clamp(1rem, 1.35vw, 1.17rem); line-height: 1.75; }
.agent-actions { margin-top: 2rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: stretch; }
.agent-actions .button { grid-column: 1 / -1; text-align: center; }
.agent-phone { min-height: 72px; padding: .8rem 1rem; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; gap: .25rem .8rem; border: 1px solid var(--ink); text-decoration: none; }
.agent-phone span { color: var(--muted); font-size: .58rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.agent-phone strong { font: 400 1.3rem/1 var(--serif); }
.agent-phone.agent-email strong { max-width: 25ch; font-size: 1rem; overflow-wrap: anywhere; }
.agent-phone b { grid-column: 2; grid-row: 1 / 3; align-self: center; }
.agent-profile-body { background: var(--cream); }
.agent-bio-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .56fr); gap: clamp(3rem, 10vw, 10rem); align-items: start; }
.agent-bio-grid > div > h2 { max-width: 11ch; margin: 0 0 1.5rem; font: 400 clamp(3rem, 6vw, 6.2rem)/.94 var(--serif); letter-spacing: -.048em; }
.agent-bio { max-width: 67ch; margin: 0 0 2rem; color: var(--ink-soft); font-size: clamp(1.05rem, 1.45vw, 1.25rem); line-height: 1.9; }
.agent-contact-note { padding: clamp(1.5rem, 3vw, 3rem); background-color: var(--paper); background-image: linear-gradient(rgba(0, 43, 142, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 43, 142, .045) 1px, transparent 1px); background-size: 28px 28px; border-top: 4px solid var(--brand-yellow); }
.agent-contact-note h2 { margin: 0 0 1rem; font: 400 clamp(2rem, 3vw, 3.2rem)/1 var(--serif); }
.agent-contact-note > p:not(.overline) { color: var(--muted); font-size: .82rem; line-height: 1.7; }
.agent-contact-note dl { margin: 2rem 0 0; border-top: 1px solid var(--line); }
.agent-contact-note dl div { padding: 1rem 0; display: grid; grid-template-columns: .42fr 1fr; gap: 1rem; border-bottom: 1px solid var(--line); }
.agent-contact-note dt { color: var(--muted); font-size: .6rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.agent-contact-note dd { margin: 0; overflow-wrap: anywhere; }
.agent-contact-note dd a { font-family: var(--serif); text-underline-offset: 4px; }
.agent-contact-note small { margin-top: .25rem; display: block; color: var(--muted); font-size: .62rem; }
.agent-connect-band { background: var(--brand-blue); color: var(--white); }
.agent-connect-band > .section-wrap { padding-top: clamp(3.5rem, 6vw, 6rem); padding-bottom: clamp(3.5rem, 6vw, 6rem); display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: clamp(3rem, 9vw, 9rem); align-items: center; }
.agent-connect-band h2 { max-width: 12ch; margin: 0; font: 400 clamp(2.7rem, 5vw, 5.3rem)/.96 var(--serif); letter-spacing: -.045em; }
.agent-next-links { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.agent-next-links a { min-height: 150px; padding: 1.2rem; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); text-decoration: none; }
.agent-next-links span { color: rgba(255, 255, 255, .58); font-size: .59rem; letter-spacing: .1em; text-transform: uppercase; }
.agent-next-links strong { align-self: end; font: 400 clamp(1.45rem, 2.3vw, 2.35rem)/1 var(--serif); }
.agent-next-links b { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--brand-yellow); }
.office-list { border-top: 1px solid var(--line); }
.office-card { min-height: 160px; padding: 1.5rem 0; display: grid; grid-template-columns: 90px 1fr auto; align-items: center; gap: 2rem; border-bottom: 1px solid var(--line); }
.office-card > .index { color: var(--muted); font-size: .65rem; }
.office-card h2 { margin: 0 0 .35rem; font: 400 clamp(2rem, 3.5vw, 3.5rem)/1 var(--serif); }
.office-card .phone { color: var(--wmr-blue); font-size: .95rem; font-weight: 600; text-decoration: none; }
.story-split { display: grid; grid-template-columns: 1fr 1fr; min-height: 680px; background: var(--forest); color: var(--white); }
.story-split-media { min-height: 600px; overflow: hidden; }
.story-split-media img { width: 100%; height: 100%; object-fit: cover; object-position: 15% center; }
.story-split-copy { padding: clamp(3rem, 7vw, 7rem); display: flex; flex-direction: column; justify-content: center; }
.story-split-copy h2 { margin: .2rem 0 1.5rem; font: 400 clamp(3rem, 5.5vw, 5.8rem)/.96 var(--serif); letter-spacing: -.045em; }
.story-split-copy p { max-width: 58ch; color: rgba(255, 255, 255, .76); line-height: 1.85; }
.values-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.values-grid article { padding-top: 1.2rem; border-top: 1px solid var(--ink); }
.values-grid h2 { margin: 0 0 .8rem; font: 400 2.2rem/1 var(--serif); }
.values-grid p { color: var(--muted); line-height: 1.7; }
.contact-panel { background: var(--ink); color: var(--white); }
.contact-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 10vw, 10rem); }
.contact-grid h1 { max-width: 11ch; margin: .2rem 0 1rem; font: 400 clamp(3.8rem, 7.5vw, 8rem)/.9 var(--serif); letter-spacing: -.05em; }
.contact-grid .lede { color: rgba(255, 255, 255, .7); }
.contact-options { border-top: 1px solid var(--line-light); }
.contact-option { padding: 1.5rem 0; display: grid; grid-template-columns: 1fr auto; gap: 1rem; border-bottom: 1px solid var(--line-light); text-decoration: none; }
.contact-option span { color: rgba(255, 255, 255, .62); font-size: .65rem; letter-spacing: .1em; text-transform: uppercase; }
.contact-option strong { grid-column: 1; font: 400 clamp(1.55rem, 2.6vw, 2.7rem)/1 var(--serif); }
.contact-option b { grid-column: 2; grid-row: 1 / 3; align-self: center; font-size: 1.3rem; }

/* Entrance gate */
body.is-gated { overflow: hidden; }
body.is-gated .site-shell { visibility: hidden; }
.entry-gate { --gate-homes-basis: 50%; --gate-commercial-basis: 50%; --gate-duration: 820ms; --gate-ease: cubic-bezier(.76, 0, .24, 1); position: fixed; z-index: 500; inset: 0; display: grid; background: var(--glass-deep); color: var(--white); overflow: hidden; }
.entry-gate[hidden] { display: none; }
.entry-gate-brand { position: absolute; z-index: 4; top: clamp(.55rem, 1.4vw, 1.1rem); left: 50%; width: min(670px, calc(100% - 2rem)); display: grid; justify-items: center; color: var(--white); filter: drop-shadow(0 10px 28px rgba(4, 15, 12, .5)); transform: translateX(-50%); pointer-events: none; }
.entry-gate-wordmark { width: min(205px, 52vw); height: auto; filter: none; }
.entry-gate-prompt { margin-top: .22rem; text-align: center; text-wrap: balance; }
.entry-gate-prompt p { margin: 0; }
.entry-gate-eyebrow { color: var(--wmr-yellow); font-size: .54rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.entry-gate-title { margin: .12rem 0 .18rem !important; color: var(--white); font: 400 clamp(1.25rem, 2vw, 1.8rem)/1 var(--serif); letter-spacing: -.02em; }
.entry-gate-slogan { margin: 0; color: var(--wmr-yellow); font-size: clamp(.56rem, .72vw, .68rem); font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.entry-gate-intro { max-width: 72ch; color: rgba(255, 255, 255, .86); font-size: clamp(.58rem, .72vw, .69rem); line-height: 1.45; }
.entry-gate-choices { min-width: 0; min-height: 100svh; display: flex; }
.gate-choice { position: relative; min-width: 0; overflow: hidden; color: var(--white); opacity: 1; text-decoration: none; transition: flex-basis var(--gate-duration) var(--gate-ease), opacity 460ms ease, transform var(--gate-duration) var(--gate-ease); will-change: flex-basis, transform; }
.gate-choice--homes { flex: 0 0 var(--gate-homes-basis); }
.gate-choice--commercial { flex: 0 0 var(--gate-commercial-basis); }
.gate-choice + .gate-choice { border-left: 1px solid rgba(253, 220, 89, .64); }
.gate-choice > img, .gate-scrim { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.gate-choice > img { transform: scale(1.015); transition: object-position 1.05s var(--gate-ease), transform 1.05s var(--gate-ease), filter .55s ease; }
.gate-choice--homes > img { object-position: 66% center; }
.gate-choice--commercial > img { object-position: 64% center; }
.gate-choice--homes .gate-scrim { background: linear-gradient(180deg, rgba(9, 23, 46, .2), rgba(9, 24, 45, .85)); }
.gate-choice--commercial .gate-scrim { background: linear-gradient(180deg, rgba(44, 49, 77, .18), rgba(74, 56, 16, .9)); }
.gate-choice-copy { position: absolute; z-index: 2; right: 0; bottom: 0; left: 0; min-height: 46vh; padding: clamp(7rem, 14vh, 10rem) clamp(1.3rem, 4vw, 4.5rem) clamp(2.5rem, 5vw, 5rem); display: flex; flex-direction: column; justify-content: flex-end; }
.gate-index { position: absolute; top: 3rem; right: clamp(1.3rem, 4vw, 4.5rem); color: rgba(255, 255, 255, .65); font-size: .58rem; letter-spacing: .14em; text-transform: uppercase; }
.gate-choice-copy > p { margin: 0 0 .65rem; font-size: .68rem; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.gate-choice-copy h2 { max-width: 11ch; margin: 0 0 1rem; color: var(--wmr-yellow); font: 400 clamp(4rem, 7.3vw, 8rem)/.86 var(--serif); letter-spacing: -.055em; }
.gate-choice--commercial h2 { font-size: clamp(2.7rem, 4.7vw, 5.2rem); }
.gate-description { max-width: 50ch; color: rgba(255, 255, 255, .75); font-size: clamp(.88rem, 1.2vw, 1.05rem); line-height: 1.6; }
.gate-choice-copy > strong { margin-top: 2rem; padding-top: 1rem; display: flex; justify-content: space-between; border-top: 1px solid rgba(255, 255, 255, .38); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; }
.gate-choice-copy > strong b { color: var(--brand-yellow); font-size: 1rem; transition: transform .25s ease; }
.entry-gate-note { position: absolute; z-index: 4; right: 1.2rem; bottom: .8rem; margin: 0; color: rgba(255, 255, 255, .58); font-size: .52rem; letter-spacing: .16em; text-transform: uppercase; pointer-events: none; }
.entry-gate.is-exiting { pointer-events: none; }
.entry-gate.is-exiting .entry-gate-brand, .entry-gate.is-exiting .entry-gate-note { opacity: 0; transition: opacity .2s ease; }

html[data-entry-arrival] { background: var(--glass-deep); }
html[data-entry-arrival] body::before, html[data-entry-arrival] body::after { position: fixed; z-index: 700; inset: 0; content: ''; opacity: 1; pointer-events: none; }
html[data-entry-arrival] body::before { background-position: center; background-repeat: no-repeat; background-size: cover; }
html[data-entry-arrival='homes'] body::before { background-image: url('/assets/wmr-homes-greek-revival-hero.webp'); background-position: 66% center; }
html[data-entry-arrival='commercial'] body::before { background-image: url('/assets/wmr-commercial-hero-v2.webp'); background-position: 64% center; }
html[data-entry-arrival='homes'] body::after { background: linear-gradient(180deg, rgba(9, 23, 46, .2), rgba(9, 24, 45, .85)); }
html[data-entry-arrival='commercial'] body::after { background: linear-gradient(180deg, rgba(44, 49, 77, .18), rgba(74, 56, 16, .9)); }
html[data-entry-arrival].is-entry-arrival-ready body::before, html[data-entry-arrival].is-entry-arrival-ready body::after { opacity: 0; transition: opacity 300ms cubic-bezier(.22, 1, .36, 1); }

/* Revisited homepage */
.homecoming-hero { position: relative; min-height: min(840px, calc(100svh - 86px)); display: flex; align-items: end; overflow: hidden; background: var(--glass-deep); color: var(--white); }
.homecoming-hero > img, .homecoming-shade { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.homecoming-shade { background: linear-gradient(90deg, rgba(10, 30, 67, .94), rgba(10, 30, 67, .65) 48%, rgba(10, 30, 67, .12)), linear-gradient(0deg, rgba(8, 22, 49, .5), transparent 52%); }
.homecoming-copy { position: relative; z-index: 2; width: min(100%, var(--content)); margin: 0 auto; padding: clamp(5rem, 11vw, 10rem) clamp(1.25rem, 6vw, 6rem); }
.homecoming-copy h1 { max-width: 11ch; margin: .2rem 0 1.2rem; font: 400 clamp(4.2rem, 9vw, 9.5rem)/.86 var(--serif); letter-spacing: -.06em; }
.homecoming-copy > p:not(.overline) { max-width: 56ch; color: rgba(255, 255, 255, .78); font-size: clamp(1rem, 1.45vw, 1.2rem); line-height: 1.75; }
.light-link { padding: .4rem 0; border: 0; border-bottom: 1px solid currentColor; background: transparent; color: var(--white); cursor: pointer; }
.homecoming-curios { position: absolute; z-index: 3; right: clamp(1.2rem, 5vw, 5rem); bottom: clamp(1.5rem, 5vw, 4.5rem); display: flex; align-items: end; gap: clamp(.2rem, 1vw, .75rem); }
.homecoming-curios img { width: clamp(62px, 7vw, 112px); height: clamp(76px, 9vw, 132px); object-fit: contain; filter: saturate(.8) drop-shadow(0 14px 18px rgba(3, 13, 10, .45)); transform-origin: bottom center; transition: transform .28s ease; }
.homecoming-curios img:nth-child(2) { width: clamp(78px, 9vw, 142px); transform: translateY(10px); }
.gateway-regions { background: var(--paper); }
.region-diptych { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: var(--brass); border: 1px solid var(--brass); }
.region-portal { position: relative; min-height: clamp(310px, 31vw, 440px); padding: 1.5rem; display: flex; flex-direction: column; justify-content: flex-end; overflow: hidden; background: var(--paper); color: var(--white); text-decoration: none; }
.region-portal::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 28%, rgba(9, 29, 67, .92)); content: ''; }
.region-portal img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center; transition: transform .7s cubic-bezier(.22, 1, .36, 1), filter .35s ease; }
.region-portal > span, .region-portal > strong { position: relative; z-index: 2; }
.region-portal > span { margin-bottom: .7rem; color: rgba(255, 255, 255, .64); font-size: .61rem; letter-spacing: .14em; text-transform: uppercase; }
.region-portal > strong { padding-top: 1rem; display: flex; justify-content: space-between; border-top: 1px solid rgba(255, 255, 255, .35); font: 400 clamp(1.7rem, 3vw, 3rem)/1 var(--serif); }
.region-portal b { color: var(--brand-yellow); }

/* Illustrated service territories */
.region-showcase { overflow: hidden; }
.region-showcase--homes { background-color: var(--paper); background-image: repeating-linear-gradient(0deg, transparent 0, transparent 43px, rgba(0, 43, 142, .04) 44px); }
.region-showcase--commercial { background: var(--glass-deep); color: var(--white); }
.region-showcase--commercial .lede, .region-showcase--commercial .region-list p { color: rgba(255, 255, 255, .62); }
.region-showcase.is-atlas-only > .section-wrap { padding-top: clamp(1.25rem, 2.5vw, 2.5rem); }
.region-map { position: relative; margin: 0; overflow: hidden; border: 1px solid var(--brass); background: var(--glass-deep); box-shadow: 0 28px 70px rgba(8, 25, 20, .18); }
.region-map figcaption { padding: .75rem 1rem; background: var(--glass-deep); color: rgba(255, 255, 255, .64); font-size: .58rem; letter-spacing: .13em; text-transform: uppercase; }
.market-atlas { position: relative; overflow: hidden; border: 1px solid var(--brass); background: var(--paper); box-shadow: 0 28px 70px rgba(8, 25, 20, .16); }
.market-atlas .region-map { margin: 0; border: 0; box-shadow: none; }
.market-atlas figcaption { padding: .85rem 1rem; background: var(--navy); color: rgba(255, 255, 255, .7); font-size: .58rem; font-weight: 700; letter-spacing: .13em; line-height: 1.55; text-transform: uppercase; }
.atlas-stage { position: relative; aspect-ratio: 16 / 9; overflow: hidden; isolation: isolate; background: var(--paper); }
.atlas-base { width: 100%; height: 100%; display: block; object-fit: contain; }
.atlas-zones { position: absolute; z-index: 2; inset: 0; width: 100%; height: 100%; }
.atlas-zone { color: var(--brand-blue); outline: none; }
.atlas-zone-slice { opacity: 0; pointer-events: none; transform-box: fill-box; transform-origin: center; transition: opacity .18s ease, transform .38s cubic-bezier(.22, 1, .36, 1), filter .38s ease; }
.atlas-zone-wash { fill: rgba(238, 195, 61, .1); stroke: none; }
.atlas-zone-hit { fill: rgba(255, 255, 255, .001); stroke: transparent; stroke-width: 1.5; vector-effect: non-scaling-stroke; cursor: pointer; transition: fill .2s ease, stroke .2s ease, stroke-width .2s ease; }
.atlas-zone-marker { pointer-events: none; transition: filter .22s ease, opacity .22s ease; }
.atlas-zone-marker circle { fill: rgba(251, 248, 240, .93); stroke: var(--brand-blue); stroke-width: 2; vector-effect: non-scaling-stroke; }
.atlas-zone-marker text { fill: var(--brand-blue); font: 700 14px/1 var(--sans); letter-spacing: .04em; text-anchor: middle; dominant-baseline: middle; }
.atlas-zone:hover .atlas-zone-slice, .atlas-zone:focus-visible .atlas-zone-slice, .atlas-zone.is-active .atlas-zone-slice { opacity: 1; filter: drop-shadow(0 8px 8px rgba(7, 24, 20, .22)); transform: translateY(-5px) scale(1.004); }
.atlas-zone:hover .atlas-zone-hit, .atlas-zone:focus-visible .atlas-zone-hit, .atlas-zone.is-active .atlas-zone-hit { fill: rgba(238, 195, 61, .13); stroke: var(--brand-blue); stroke-width: 2.25; }
.atlas-zone:hover .atlas-zone-marker, .atlas-zone:focus-visible .atlas-zone-marker, .atlas-zone.is-active .atlas-zone-marker { filter: drop-shadow(0 6px 8px rgba(7, 24, 20, .35)); }
.atlas-zone:hover .atlas-zone-marker circle, .atlas-zone:focus-visible .atlas-zone-marker circle, .atlas-zone.is-active .atlas-zone-marker circle { fill: var(--brand-yellow); }
.atlas-zone:focus-visible .atlas-zone-marker circle { stroke-width: 4; }
.atlas-status { position: absolute; z-index: 4; left: clamp(.6rem, 2vw, 1.2rem); bottom: clamp(.6rem, 2vw, 1.2rem); width: min(340px, calc(100% - 1.2rem)); padding: .7rem .85rem; display: grid; grid-template-columns: auto 1fr; column-gap: .75rem; background: rgba(251, 248, 240, .92); border: 1px solid rgba(238, 195, 61, .8); box-shadow: 0 8px 20px rgba(7, 24, 20, .14); color: var(--ink); pointer-events: none; }
.atlas-status span { grid-row: 1 / 3; color: var(--brand-blue); font-size: .58rem; font-weight: 800; letter-spacing: .1em; }
.atlas-status strong { font: 400 1.2rem/1 var(--serif); }
.atlas-status em { margin-top: .25rem; color: var(--muted); font-size: .56rem; font-style: normal; line-height: 1.35; }
.market-atlas .atlas-zone-marker { transform-origin: center; }
.market-atlas .atlas-zone.is-active .atlas-zone-marker { transform: scale(1.06); }
.market-atlas .atlas-zone-hit { touch-action: manipulation; }
.region-list { margin: 1.25rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid currentColor; border-left: 1px solid currentColor; list-style: none; }
.region-list li { min-width: 0; transition: background .2s ease, color .2s ease; }
.region-list li.is-atlas-active { background: var(--brand-yellow); color: var(--ink); }
.region-showcase--commercial .region-list li.is-atlas-active p { color: var(--ink-soft); }
.region-list a { min-height: 158px; padding: 1rem; display: grid; grid-template-columns: auto 1fr auto; gap: .65rem; align-items: start; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; text-decoration: none; }
.region-list span { color: var(--text-yellow-ink); font-size: .55rem; letter-spacing: .1em; }
.region-list strong { font: 400 clamp(1.05rem, 1.5vw, 1.45rem)/1 var(--serif); }
.region-list p { margin: .55rem 0 0; display: block; color: var(--muted); font-size: .68rem; line-height: 1.5; }
.region-list em { margin-top: .6rem; display: block; color: var(--rust); font-size: .53rem; font-style: normal; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.region-list b { color: var(--text-yellow-ink); }
.region-showcase--commercial .region-list span, .region-showcase--commercial .region-list b { color: var(--text-yellow); }
.market-area-label { width: fit-content; max-width: 100%; margin: .7rem 0 .95rem; padding: .36rem .52rem; display: inline-flex; align-items: center; border: 1px solid rgba(0, 43, 142, .42); background: rgba(255, 254, 250, .62); color: var(--brand-blue); font-size: .54rem; font-weight: 700; letter-spacing: .07em; line-height: 1.35; text-wrap: balance; text-transform: uppercase; }

.market-index-hero { position: relative; min-height: min(760px, calc(100svh - 96px)); display: flex; align-items: center; overflow: hidden; background: #e9dfca; border-bottom: 1px solid var(--line); }
.market-index-hero-image, .market-index-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.market-index-hero-image { object-fit: cover; object-position: center; }
.market-index-shade { background: linear-gradient(90deg, rgba(247, 241, 226, .96) 0%, rgba(247, 241, 226, .8) 28%, rgba(247, 241, 226, .32) 49%, rgba(247, 241, 226, 0) 70%); }
.market-index-copy { position: relative; z-index: 1; width: min(100%, var(--content)); margin: 0 auto; padding: clamp(4rem, 8vw, 8rem) var(--gutter); }
.market-index-kicker { color: var(--brand-blue); }
.market-index-copy h1 { max-width: 9ch; margin: .25rem 0 0; font: 400 clamp(4rem, 7.3vw, 8.2rem)/.88 var(--serif); letter-spacing: -.055em; text-wrap: balance; }
.market-index-copy > p:last-child { max-width: 58ch; margin: 1.25rem 0 0; color: var(--ink-soft); font-size: clamp(.98rem, 1.3vw, 1.15rem); line-height: 1.72; }
.market-directory { background-color: var(--cream); background-image: repeating-linear-gradient(0deg, transparent 0, transparent 43px, rgba(0, 43, 142, .035) 44px); }
.market-data-note { margin-bottom: clamp(2.5rem, 5vw, 5rem); padding: 1.4rem; display: grid; grid-template-columns: minmax(190px, .4fr) minmax(0, 1.6fr); gap: 2rem; border: 1px solid var(--brass); background: rgba(244, 239, 228, .82); }
.market-data-note .overline { margin: 0; }
.market-data-note > p:last-child { max-width: 90ch; margin: 0; color: var(--muted); font-size: .82rem; line-height: 1.7; }
.market-card-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.market-card { min-width: 0; }
.market-card > a { position: relative; min-height: 500px; height: 100%; padding: 1.4rem; display: flex; flex-direction: column; overflow: hidden; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(251, 248, 240, .72); text-decoration: none; transition: background .25s ease, color .25s ease; }
.market-card-index { color: var(--text-yellow-ink); font-size: .58rem; letter-spacing: .12em; }
.market-card img { position: absolute; top: 1rem; right: .9rem; width: clamp(64px, 7vw, 96px); height: 102px; object-fit: contain; opacity: .88; filter: saturate(.76); transition: transform .35s ease; }
.market-card .overline { max-width: 22ch; margin-top: auto; color: var(--rust); }
.market-card h2 { max-width: 12ch; margin: 0 0 1rem; font: 400 clamp(2.2rem, 3.6vw, 4rem)/.94 var(--serif); letter-spacing: -.04em; }
.market-card > a > p:not(.overline):not(.market-counties) { margin: 0 0 1.5rem; color: var(--muted); font-size: .78rem; line-height: 1.7; }
.market-counties { width: fit-content; margin: -.35rem 0 1.15rem; padding: .35rem .5rem; border: 1px solid rgba(0, 43, 142, .38); color: var(--brand-blue); font-size: .56rem; font-weight: 700; letter-spacing: .08em; line-height: 1.45; text-transform: uppercase; }
.market-card strong { margin-top: auto; padding-top: 1rem; display: flex; justify-content: space-between; border-top: 1px solid currentColor; color: var(--brand-blue); font-size: .62rem; letter-spacing: .09em; text-transform: uppercase; }
.market-close { background: var(--glass-deep); color: var(--white); }
.market-close .section-wrap { padding-top: clamp(3.5rem, 6vw, 6rem); padding-bottom: clamp(3.5rem, 6vw, 6rem); display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 8vw, 8rem); align-items: end; }
.market-close h2 { max-width: 11ch; margin: 0; font: 400 clamp(3rem, 5.7vw, 6rem)/.92 var(--serif); }
.market-close p:not(.overline) { max-width: 56ch; color: rgba(255, 255, 255, .68); line-height: 1.75; }

.market-hero { min-height: 720px; display: grid; grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr); background: var(--paper); border-bottom: 1px solid var(--line); }
.market-hero-copy { padding: clamp(4rem, 8vw, 8rem) clamp(1.25rem, 5vw, 5rem); display: flex; flex-direction: column; justify-content: center; }
.market-hero-copy h1 { max-width: 11ch; margin: .2rem 0 1.3rem; font: 400 clamp(3.8rem, 6.8vw, 7.7rem)/.89 var(--serif); letter-spacing: -.052em; }
.market-hero-copy > p:not(.breadcrumb, .overline) { max-width: 56ch; color: var(--muted); line-height: 1.78; }
.market-hero-art { position: relative; min-height: 0; aspect-ratio: 16 / 9; align-self: center; overflow: hidden; background: var(--glass-deep); }
.market-hero-map, .market-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.market-hero-map { object-fit: contain; filter: saturate(.82) contrast(1.02); }
.market-hero-shade { background: linear-gradient(90deg, rgba(244, 239, 228, .12), transparent 28%), linear-gradient(0deg, rgba(7, 28, 21, .68), transparent 55%); }
.market-hero-object { position: absolute; z-index: 2; right: 4%; bottom: 2%; width: min(33vw, 330px); max-height: 43%; object-fit: contain; filter: drop-shadow(0 22px 30px rgba(3, 15, 11, .42)); }
.market-stat-band { background-color: var(--glass-deep); background-image: linear-gradient(rgba(176, 138, 73, .06) 1px, transparent 1px), linear-gradient(90deg, rgba(176, 138, 73, .06) 1px, transparent 1px); background-size: 42px 42px; color: var(--white); }
.market-stat-band .section-wrap { display: grid; grid-template-columns: minmax(230px, .55fr) minmax(0, 1.45fr); gap: clamp(2.5rem, 7vw, 7rem); align-items: end; }
.market-stat-heading h2 { max-width: 12ch; margin: 0 0 1rem; font: 400 clamp(2.6rem, 4.8vw, 5rem)/.95 var(--serif); }
.market-stat-heading > p:last-child { color: rgba(255, 255, 255, .6); font-size: .75rem; line-height: 1.7; }
.market-stats { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.market-stats div { min-height: 210px; padding: 1.2rem; display: flex; flex-direction: column; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.market-stats strong { font: 400 clamp(2.6rem, 4.6vw, 5rem)/.9 var(--serif); color: var(--text-yellow); }
.market-stats span { margin-top: auto; font-size: .68rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.market-stats small { margin-top: .45rem; color: rgba(255, 255, 255, .58); font-size: .65rem; }
.market-character { background: var(--paper); }
.market-character-grid { display: grid; grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); gap: clamp(3rem, 10vw, 10rem); align-items: end; }
.market-character-grid h2 { max-width: 11ch; margin: 0; font: 400 clamp(3rem, 5.8vw, 6.3rem)/.93 var(--serif); letter-spacing: -.047em; }
.market-character-grid > p { margin: 0; color: var(--muted); font-size: clamp(1rem, 1.45vw, 1.22rem); line-height: 1.9; }
.practice-lenses { margin-top: clamp(3rem, 7vw, 7rem); display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.practice-lenses article { position: relative; min-height: 440px; padding: clamp(1.5rem, 3vw, 3rem); display: flex; flex-direction: column; overflow: hidden; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.practice-lenses article.homes { background: var(--cream); }
.practice-lenses article.commercial { background: var(--forest-deep); color: var(--white); }
.practice-lenses h3 { max-width: 12ch; margin: clamp(3rem, 7vw, 6rem) 0 1.4rem; font: 400 clamp(2.5rem, 4.5vw, 4.8rem)/.93 var(--serif); }
.practice-lenses ul { margin: 0 0 2rem; padding: 0; border-top: 1px solid currentColor; list-style: none; }
.practice-lenses li { padding: .75rem 0; border-bottom: 1px solid currentColor; color: var(--muted); font-size: .77rem; }
.practice-lenses .commercial li { color: rgba(255, 255, 255, .68); }
.practice-lenses .rule-link { align-self: start; margin-top: auto; }
.market-attractions { background: var(--cream); }
.attraction-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.attraction-grid article { min-height: 300px; padding: 1.2rem; display: flex; flex-direction: column; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.attraction-grid article > span { color: var(--text-yellow-ink); font-size: .56rem; letter-spacing: .1em; }
.attraction-grid h3 { margin: auto 0 .8rem; font: 400 clamp(1.7rem, 2.7vw, 2.8rem)/1 var(--serif); }
.attraction-grid p { margin: 0 0 1.2rem; color: var(--muted); font-size: .74rem; line-height: 1.65; }
.attraction-grid a { padding-top: .7rem; display: flex; justify-content: space-between; border-top: 1px solid var(--line); color: var(--brand-blue); font-size: .6rem; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.market-sources { background: #e8dfcd; }
.market-sources .section-wrap { display: grid; grid-template-columns: minmax(250px, .7fr) minmax(0, 1.3fr); gap: clamp(2.5rem, 8vw, 8rem); }
.market-sources h2 { margin: 0 0 1rem; font: 400 clamp(2.7rem, 4.8vw, 5rem)/.94 var(--serif); }
.market-sources p:not(.overline) { color: var(--muted); font-size: .76rem; line-height: 1.7; }
.market-sources ul { margin: 0; padding: 0; border-top: 1px solid var(--line); list-style: none; }
.market-sources li { border-bottom: 1px solid var(--line); }
.market-sources a { padding: 1rem .1rem; display: flex; justify-content: space-between; gap: 1rem; font-size: .72rem; text-decoration: none; }

/* Selected work */
.gateway-work { background: var(--cream); }
.case-study-section--homes { background: var(--paper); }
.case-study-section--commercial, .case-study-section--all { background: var(--glass-deep); color: var(--white); }
.case-study-section--commercial .lede, .case-study-section--all .lede { color: rgba(255, 255, 255, .62); }
.case-study-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(1rem, 2.2vw, 2.2rem); }
.gateway-case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.case-study-card { min-width: 0; background: var(--cream); color: var(--ink); border: 1px solid rgba(176, 138, 73, .55); box-shadow: 0 14px 38px rgba(9, 25, 20, .08); transition: transform .3s ease, box-shadow .3s ease; }
.case-study-card > a { height: 100%; display: flex; flex-direction: column; text-decoration: none; }
.case-study-media { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: var(--glass); }
.case-study-media::after { position: absolute; inset: 0; background: linear-gradient(180deg, transparent 40%, rgba(6, 24, 19, .55)); content: ''; }
.case-study-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .65s cubic-bezier(.22, 1, .36, 1), filter .3s ease; }
.case-study-media > span { position: absolute; z-index: 2; top: .8rem; right: .8rem; width: 38px; height: 38px; display: grid; place-items: center; background: var(--brass-pale); color: var(--glass-deep); font-size: .58rem; }
.case-study-copy { min-height: 360px; padding: 1.4rem; display: flex; flex-direction: column; }
.case-study-copy h3 { margin: 0 0 1rem; font: 400 clamp(2rem, 3.3vw, 3.5rem)/.94 var(--serif); letter-spacing: -.035em; }
.case-study-copy > p:not(.overline) { margin: 0 0 1.5rem; color: var(--muted); font-size: .85rem; line-height: 1.7; }
.case-study-copy dl { margin: auto 0 1.4rem; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); }
.case-study-copy dl div { padding: .8rem 0; border-bottom: 1px solid var(--line); }
.case-study-copy dt { color: var(--muted); font-size: .54rem; letter-spacing: .1em; text-transform: uppercase; }
.case-study-copy dd { margin: .2rem 0 0; font-size: .72rem; }
.case-study-link { padding-top: .9rem; display: flex; justify-content: space-between; border-top: 1px solid var(--ink); color: var(--brand-blue); font-size: .62rem; letter-spacing: .09em; text-transform: uppercase; }
.case-study-link b { transition: transform .2s ease; }
.work-masthead { background-color: #e7d18a; background-image: linear-gradient(rgba(0, 43, 142, .1) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 43, 142, .1) 1px, transparent 1px); background-size: 34px 34px; }
.work-switch { margin-top: 2.3rem; display: flex; flex-wrap: wrap; gap: .8rem; }
.work-switch a { min-height: 44px; padding: .72rem .9rem; display: inline-flex; align-items: center; gap: .7rem; border: 1px solid rgba(23, 36, 57, .72); background: rgba(255, 255, 255, .18); font-size: .65rem; font-weight: 700; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; transition: background .28s cubic-bezier(.22, 1, .36, 1), border-color .28s ease, color .28s ease, transform .28s cubic-bezier(.22, 1, .36, 1); }
.work-switch small { min-width: 1.65rem; padding-left: .7rem; border-left: 1px solid currentColor; font: inherit; opacity: .62; }
.work-switch b { margin-left: .1rem; font-size: .8rem; opacity: .42; transition: opacity .28s ease, transform .28s cubic-bezier(.22, 1, .36, 1); }
.work-switch a.is-active { border-color: var(--ink); background: var(--ink); color: var(--cream); box-shadow: 0 10px 28px rgba(23, 36, 57, .16); }
.work-switch a.is-active b { opacity: 1; transform: translateX(.16rem); }
.work-switch a:hover, .work-switch a:focus-visible { border-color: var(--ink); background: rgba(23, 36, 57, .1); transform: translateY(-2px); }
.work-switch a.is-active:hover, .work-switch a.is-active:focus-visible { background: var(--navy-deep); color: var(--white); }
.work-switch a:hover b, .work-switch a:focus-visible b { opacity: 1; transform: translateX(.2rem); }
.work-close, .story-close { background: var(--glass-deep); color: var(--white); }
.work-close .section-wrap, .story-close .section-wrap { padding-top: clamp(4rem, 7vw, 7rem); padding-bottom: clamp(4rem, 7vw, 7rem); }
.work-close h2, .story-close h2 { max-width: 15ch; margin: .2rem 0 2rem; font: 400 clamp(3.2rem, 6.5vw, 7rem)/.9 var(--serif); letter-spacing: -.05em; }
.case-detail-hero { min-height: 720px; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(440px, .92fr); background: var(--glass-deep); color: var(--white); }
.case-detail-media { position: relative; min-height: 720px; overflow: hidden; background: #0d211a; }
.case-detail-media img { width: 100%; height: 100%; object-fit: cover; }
.case-media-credit { position: absolute; right: 1rem; bottom: 1rem; left: 1rem; padding: .65rem .75rem; display: flex; align-items: center; gap: .55rem; background: rgba(7, 24, 20, .86); color: rgba(255, 255, 255, .82); font-size: .58rem; line-height: 1.4; text-decoration: none; backdrop-filter: blur(7px); }
.case-media-credit span { color: var(--text-yellow); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.case-media-credit b { margin-left: auto; }
.case-detail-copy { padding: clamp(3rem, 6vw, 6rem); display: flex; flex-direction: column; justify-content: end; border-left: 1px solid rgba(176, 138, 73, .55); }
.case-detail-copy .breadcrumb { margin-bottom: auto; color: rgba(255, 255, 255, .65); }
.case-detail-copy h1 { margin: .2rem 0 1.2rem; font: 400 clamp(3.5rem, 6vw, 6.7rem)/.88 var(--serif); letter-spacing: -.055em; }
.case-summary { color: rgba(255, 255, 255, .72); font-size: clamp(1rem, 1.35vw, 1.18rem); line-height: 1.75; }
.case-detail-copy dl { margin: 2rem 0 0; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(255, 255, 255, .28); }
.case-detail-copy dl div { padding: 1rem 0; border-bottom: 1px solid rgba(255, 255, 255, .28); }
.case-detail-copy dt { color: var(--text-yellow); font-size: .55rem; letter-spacing: .12em; text-transform: uppercase; }
.case-detail-copy dd { margin: .3rem 0 0; font-family: var(--serif); }
.case-narrative { background: var(--cream); }
.case-facts { margin-bottom: clamp(4rem, 8vw, 8rem); display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.case-facts div { min-height: 150px; padding: 1rem; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.case-facts span { color: var(--text-yellow-ink); font-size: .6rem; }
.case-facts strong { font: 400 clamp(1.45rem, 2.5vw, 2.6rem)/1 var(--serif); }
.case-transaction { margin-bottom: clamp(4rem, 8vw, 8rem); display: grid; grid-template-columns: minmax(230px, .45fr) minmax(0, 1.55fr); gap: clamp(2rem, 6vw, 6rem); }
.case-transaction-heading h2 { max-width: 9ch; margin: .15rem 0 0; font: 400 clamp(2.8rem, 5vw, 5.5rem)/.9 var(--serif); letter-spacing: -.05em; }
.case-transaction dl { margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.case-transaction dl div { min-height: 132px; padding: 1rem; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); }
.case-transaction dt { color: var(--muted); font-size: .56rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.case-transaction dd { margin: 1.4rem 0 0; font: 400 clamp(1.1rem, 1.8vw, 1.65rem)/1.15 var(--serif); }
.case-chapters { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(2rem, 5vw, 5rem); }
.case-chapters section { padding-top: 1.2rem; border-top: 3px solid var(--brass); }
.case-chapters h2 { margin: 0 0 1rem; font: 400 clamp(2.2rem, 3.6vw, 3.8rem)/.96 var(--serif); }
.case-chapters section > p:not(.overline) { color: var(--ink-soft); line-height: 1.85; }
.case-gallery { margin-top: clamp(5rem, 10vw, 10rem); }
.case-gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.case-gallery-grid figure { min-width: 0; margin: 0; background: var(--paper); border: 1px solid var(--line); }
.case-gallery-grid figure:only-child { grid-column: 1 / -1; }
.case-gallery-grid figure > div { overflow: hidden; }
.case-gallery-grid img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; transition: transform .45s ease, filter .45s ease; }
.case-gallery-grid figure:only-child img { aspect-ratio: 16 / 8; }
.case-gallery-grid figcaption { padding: 1rem; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem; align-items: end; }
.case-gallery-grid figcaption p { margin: 0; color: var(--ink-soft); font-size: .78rem; line-height: 1.6; }
.case-gallery-grid figcaption a { color: var(--brand-blue); font-size: .57rem; font-weight: 700; letter-spacing: .08em; text-align: right; text-transform: uppercase; }
.case-sources { margin-top: 5rem; padding: 1.4rem; background: var(--paper); border-left: 4px solid var(--brass); }
.case-sources ul { margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .7rem 1.5rem; list-style: none; }
.case-sources a { font-size: .72rem; font-weight: 700; text-underline-offset: 4px; }
.case-scope-note { max-width: 86ch; margin: .2rem 0 1.4rem; color: var(--ink-soft); font-size: .74rem; line-height: 1.7; }
.case-scope-note strong { color: var(--ink); }

/* Story */
.story-hero { position: relative; min-height: min(860px, calc(100svh - 86px)); display: flex; align-items: end; overflow: hidden; background: var(--glass-deep); color: var(--white); }
.story-hero > img, .story-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.story-hero-shade { background: linear-gradient(90deg, rgba(7, 24, 20, .93), rgba(7, 24, 20, .55) 55%, rgba(7, 24, 20, .08)), linear-gradient(0deg, rgba(5, 17, 14, .62), transparent 48%); }
.story-hero-copy { position: relative; z-index: 2; width: min(100%, var(--content)); margin: 0 auto; padding: clamp(4rem, 9vw, 9rem) clamp(1.25rem, 6vw, 6rem); }
.story-hero-copy h1 { margin: .2rem 0 1.2rem; font: 400 clamp(4.5rem, 10vw, 10.5rem)/.82 var(--serif); letter-spacing: -.065em; }
.story-hero-copy > p:not(.overline, .breadcrumb) { max-width: 58ch; color: rgba(255, 255, 255, .78); line-height: 1.75; }
.founding-story { background: var(--paper); }
.founding-grid { display: grid; grid-template-columns: minmax(240px, .45fr) minmax(0, 1fr); gap: clamp(3rem, 10vw, 10rem); }
.founding-mark { display: flex; flex-direction: column; color: var(--brand-blue); font: 400 clamp(6rem, 16vw, 17rem)/.62 var(--serif); letter-spacing: -.09em; }
.founding-mark strong { color: var(--text-yellow-ink); font-weight: 400; }
.founding-grid h2 { max-width: 12ch; margin: 0 0 1.5rem; font: 400 clamp(3.2rem, 6vw, 6.6rem)/.92 var(--serif); letter-spacing: -.05em; }
.founding-grid > div:last-child > p:not(.overline) { max-width: 66ch; color: var(--ink-soft); font-size: clamp(1rem, 1.3vw, 1.18rem); line-height: 1.9; }
.story-timeline { background: var(--cream); }
.story-timeline ol { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); list-style: none; }
.story-timeline li { min-height: 280px; padding: 1.2rem; display: flex; flex-direction: column; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.story-timeline li > span { color: var(--text-yellow-ink); font-size: .6rem; }
.story-timeline li > p { margin: auto 0 .65rem; color: var(--muted); font-size: .6rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.story-timeline h3 { margin: 0; font: 400 clamp(1.6rem, 2.5vw, 2.6rem)/1 var(--serif); }
.story-practices { background-color: #e7d18a; background-image: repeating-linear-gradient(90deg, transparent 0, transparent 79px, rgba(0, 43, 142, .08) 80px); }
.story-practices h2 { max-width: 15ch; margin: 0 0 1.5rem; font: 400 clamp(3.4rem, 7vw, 7.5rem)/.88 var(--serif); letter-spacing: -.055em; }
.story-practices .section-wrap > p:not(.overline) { max-width: 70ch; color: var(--ink-soft); font-size: 1.08rem; line-height: 1.85; }
.story-practice-links { margin-top: 3rem; display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--ink); border-left: 1px solid var(--ink); }
.story-practice-links a { min-height: 210px; padding: 1.3rem; display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto 1fr; border-right: 1px solid var(--ink); border-bottom: 1px solid var(--ink); text-decoration: none; }
.story-practice-links span { font-size: .59rem; letter-spacing: .12em; text-transform: uppercase; }
.story-practice-links strong { align-self: end; font: 400 clamp(2rem, 4vw, 4.2rem)/.92 var(--serif); }
.story-practice-links b { grid-column: 2; grid-row: 1 / 3; align-self: center; color: var(--brand-blue); font-size: 1.2rem; }

/* Inquiry forms */
.inquiry-section { background: var(--glass-deep); color: var(--white); }
.inquiry-section--homes { background: var(--navy-deep); }
.inquiry-card { display: grid; grid-template-columns: minmax(260px, .55fr) minmax(0, 1.45fr); gap: clamp(2rem, 7vw, 7rem); align-items: start; padding: clamp(1.5rem, 4vw, 4rem); background-color: rgba(17, 46, 98, .94); background-image: linear-gradient(rgba(253, 220, 89, .09) 1px, transparent 1px), linear-gradient(90deg, rgba(253, 220, 89, .09) 1px, transparent 1px); background-size: 32px 32px; border: 1px solid rgba(253, 220, 89, .6); border-radius: var(--radius-control); box-shadow: inset 0 0 60px rgba(4, 17, 44, .35), var(--shadow-rest); color: var(--white); }
.inquiry-card-heading, .inquiry-form, .form-grid { align-self: start; align-content: start; }
.inquiry-card--full { grid-template-columns: minmax(250px, .38fr) minmax(0, 1.62fr); }
.inquiry-card-heading h2 { margin: .2rem 0 1rem; font: 400 clamp(2.7rem, 5vw, 5.2rem)/.92 var(--serif); letter-spacing: -.045em; }
.inquiry-card-heading > p:not(.overline) { color: rgba(255, 255, 255, .68); line-height: 1.75; }
.inquiry-privacy { margin-top: 2rem; padding-top: 1rem; border-top: 1px solid rgba(211, 185, 119, .42); font-size: .72rem; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.inquiry-form label { display: grid; gap: .45rem; }
.inquiry-form label > span { color: rgba(255, 255, 255, .75); font-size: .59rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.inquiry-form label small { font-size: .52rem; font-weight: 400; }
.inquiry-form input, .inquiry-form select, .inquiry-form textarea { width: 100%; min-height: 48px; padding: .72rem .82rem; border: 1px solid rgba(211, 185, 119, .55); border-radius: var(--radius-control); background: rgba(250, 247, 238, .96); color: var(--ink); }
.inquiry-form textarea { min-height: 130px; resize: vertical; }
.form-message { grid-column: 1 / -1; }
.form-section-heading { grid-column: 1 / -1; margin: 1rem 0 0; padding: 1rem 0 .15rem; border-top: 1px solid rgba(211, 185, 119, .55); color: var(--text-yellow); font: 400 1.5rem/1 var(--serif); }
.form-consent { grid-column: 1 / -1; padding: .9rem; display: flex !important; grid-template-columns: auto 1fr; align-items: start; background: rgba(255, 255, 255, .06); border: 1px solid rgba(211, 185, 119, .28); }
.form-trap { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; clip-path: inset(50%) !important; white-space: nowrap !important; pointer-events: none !important; }
.form-trap input { position: absolute !important; inset: 0 !important; width: 1px !important; height: 1px !important; min-height: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; opacity: 0 !important; pointer-events: none !important; }
.inquiry-form .form-consent input { width: 1.1rem; height: 1.1rem; min-height: 0; margin: .15rem 0 0; padding: 0; accent-color: var(--brass-pale); }
.inquiry-form .form-consent span { color: rgba(255, 255, 255, .76); font-size: .68rem; font-weight: 400; letter-spacing: 0; line-height: 1.55; text-transform: none; }
.form-submit { margin-top: 1rem; display: flex; align-items: center; gap: 1rem; }
.form-submit p { max-width: 52ch; margin: 0; color: rgba(255, 255, 255, .57); font-size: .65rem; line-height: 1.55; }
.form-status { min-height: 1.3em; margin: .8rem 0 0; color: var(--text-yellow); font-size: .7rem; }
.form-status.is-success { padding: .75rem; border: 1px solid var(--brand-yellow); color: var(--white); }
.form-status.is-error { padding: .75rem; border: 1px solid #f0a49a; color: #ffd7d1; }
.property-action-form .form-status.is-success { background: rgba(0, 43, 142, .08); border-color: var(--brand-blue); color: var(--brand-blue); }
.property-action-form .form-status.is-error { background: rgba(142, 53, 43, .08); border-color: #8e352b; color: #8e352b; }
.form-trap { position: absolute !important; width: 1px !important; height: 1px !important; margin: -1px !important; padding: 0 !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }
.inquiry-form[aria-busy='true'], .property-action-form form[aria-busy='true'], .analysis-share form[aria-busy='true'] { opacity: .72; }
.inquiry-form button:disabled, .property-action-form button:disabled, .analysis-share button:disabled { cursor: wait; }
.contact-panel .contact-grid { grid-template-columns: minmax(300px, .65fr) minmax(0, 1.35fr); }
.contact-panel .inquiry-card { height: fit-content; grid-template-columns: 1fr; grid-template-rows: auto auto; gap: 1.5rem; align-content: start; }
.contact-panel .contact-options { margin-top: 3rem; }
.contact-options--mailbox { max-width: 430px; }
.contact-office-grid { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.contact-office-grid .contact-option { min-height: 132px; padding: 1.25rem; align-content: space-between; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.contact-office-grid .contact-option span { color: rgba(255, 255, 255, .9); font-size: .73rem; font-weight: 700; }
.contact-office-grid .contact-option strong { color: var(--wmr-yellow); font-size: clamp(1.45rem, 2vw, 2.15rem); }
.contact-office-grid .contact-option:hover,
.contact-office-grid .contact-option:focus-visible { padding-left: 1.55rem; }
.listing-agent-contact[href^='tel:'] { color: var(--wmr-blue); }

/* Property discovery, actions, and analysis */
.property-card { display: flex; flex-direction: column; }
.property-card-main { flex: 1; display: flex !important; flex-direction: column; }
.property-card-copy { flex: 1; }
.property-price { margin: .75rem 0 .65rem; color: var(--brand-blue); font: 400 clamp(1.55rem, 2.2vw, 2.05rem)/1 var(--serif); letter-spacing: -.02em; }
.property-card-actions { margin-top: auto; display: grid; grid-template-columns: auto auto minmax(0, 1fr); border-top: 1px solid rgba(176, 138, 73, .3); background: #f7f2e8; }
.property-card-actions button, .property-card-view { min-height: 46px; padding: .7rem .8rem; border: 0; border-right: 1px solid rgba(176, 138, 73, .3); background: transparent; color: var(--ink); font-size: .57rem; font-weight: 700; letter-spacing: .075em; text-transform: uppercase; transition: background .2s ease, color .2s ease; }
.property-card-actions button { cursor: pointer; }
.property-card-view { display: flex !important; align-items: center; justify-content: flex-end; gap: .35rem; border-right: 0; white-space: nowrap; }
.property-card-actions button[aria-pressed='true'] { background: var(--brand-yellow); color: var(--navy-deep); }
.filter-toolbar { margin-bottom: 2.15rem; display: flex; align-items: center; justify-content: space-between; gap: .8rem; }
.filter-toolbar .filter-bar { margin: 0; }
.sort-control { display: flex; align-items: center; gap: .6rem; color: var(--muted); font-size: .62rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.sort-control select { min-height: 44px; padding: .55rem 2rem .55rem .7rem; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--white); }
.utility-links { margin-top: 2rem; display: flex; flex-wrap: wrap; gap: .8rem; }
.utility-links a { padding: .65rem .8rem; border: 1px solid var(--line); font-size: .63rem; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.smart-search { margin: clamp(2.7rem, 5.2vw, 5.2rem) 0; padding: clamp(1.5rem, 4vw, 4rem); background-color: var(--navy-deep); background-image: linear-gradient(rgba(253, 220, 89, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(253, 220, 89, .08) 1px, transparent 1px); background-size: 34px 34px; color: var(--white); border: 1px solid var(--brass); border-radius: var(--radius-control); box-shadow: var(--shadow-rest); }
.smart-search-heading { max-width: 850px; }
.smart-search-heading h2 { max-width: 14ch; margin: .2rem 0 1rem; font: 400 clamp(2.7rem, 5.5vw, 5.8rem)/.94 var(--serif); }
.smart-search-heading > p:last-child { max-width: 72ch; color: rgba(255, 255, 255, .68); line-height: 1.75; }
.smart-search form { margin-top: 2rem; display: grid; grid-template-columns: 1fr auto; }
.smart-search form > label { display: grid; gap: .45rem; }
.smart-search form > label > span { color: rgba(255, 255, 255, .72); font-size: .58rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.smart-search input { width: 100%; min-height: 52px; padding: .78rem .9rem; border: 1px solid var(--brass-pale); border-radius: var(--radius-control) 0 0 var(--radius-control); background: var(--cream); color: var(--ink); }
.smart-search form > .button { align-self: end; }
.smart-search-suggestions { margin-top: .8rem; display: flex; flex-wrap: wrap; gap: .5rem; }
.smart-search-suggestions button { min-height: 44px; padding: .45rem .65rem; border: 1px solid rgba(255, 255, 255, .35); border-radius: var(--radius-control); background: transparent; color: var(--white); font-size: .58rem; cursor: pointer; }
.smart-search-status { margin: 1rem 0 0; color: var(--brand-yellow); font-size: .69rem; }
.smart-search-results { margin-top: 2.5rem; padding-top: 2.5rem; border-top: 1px solid rgba(255, 255, 255, .25); }
.smart-search-results .property-card { background: var(--cream); color: var(--ink); }
.search-scout-wrap { padding-top: clamp(2rem, 5vw, 5rem); padding-bottom: clamp(2rem, 5vw, 5rem); }
.search-scout-wrap .smart-search { margin: 0; }
.search-curated { padding: clamp(4rem, 8vw, 8rem) 0; background: var(--paper); }
.search-curated-heading { margin-bottom: clamp(2rem, 4vw, 4rem); align-items: end; }
.search-curated-heading h2 { max-width: 11ch; }
.search-curated .search-scout-wrap { padding: 0; }
.search-curated .search-human-search { margin-top: clamp(2rem, 4vw, 4rem); }
.search-edit-section { background: var(--stone); }
.action-lead-panel { margin: clamp(3rem, 7vw, 7rem) 0; padding: clamp(1.5rem, 4vw, 4rem); display: grid; grid-template-columns: minmax(260px, .7fr) minmax(0, 1.3fr); gap: clamp(2rem, 7vw, 7rem); background: var(--brand-yellow); color: var(--navy-deep); border: 1px solid var(--brand-blue); }
.action-lead-panel h2 { max-width: 12ch; margin: .2rem 0 1rem; font: 400 clamp(2.8rem, 5vw, 5.4rem)/.94 var(--serif); }
.action-lead-panel p:not(.overline) { max-width: 54ch; line-height: 1.7; }
.action-lead-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--navy-deep); border-left: 1px solid var(--navy-deep); }
.action-lead-grid a { min-height: 130px; padding: 1rem; display: grid; grid-template-columns: 1fr auto; align-items: end; border-right: 1px solid var(--navy-deep); border-bottom: 1px solid var(--navy-deep); text-decoration: none; }
.action-lead-grid span { font: 400 clamp(1.35rem, 2.4vw, 2.3rem)/1 var(--serif); }
.property-price-lockup { margin: 1.5rem 0 0; padding: 1rem 0; display: flex; justify-content: space-between; gap: 1rem; align-items: end; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.property-price-lockup strong { font: 400 clamp(1.7rem, 3vw, 3rem)/1 var(--serif); color: var(--brand-blue); }
.property-price-lockup span { color: var(--rust); font-size: .64rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.property-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, .33fr); gap: clamp(2rem, 6vw, 6rem); align-items: start; }
.property-action-rail { position: sticky; top: 110px; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--paper); box-shadow: var(--shadow-rest); }
.listing-agent-stack { padding: 1rem; border-bottom: 1px solid var(--line); background-color: var(--navy-deep); background-image: linear-gradient(rgba(253, 220, 89, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(253, 220, 89, .07) 1px, transparent 1px); background-size: 24px 24px; color: var(--white); }
.listing-agent-stack > .overline { margin-bottom: .7rem; color: var(--brand-yellow); font-size: .55rem; }
.listing-agent-cards { display: grid; gap: .7rem; }
.listing-agent-card { min-width: 0; padding: .75rem; display: grid; grid-template-columns: 78px minmax(0, 1fr); gap: .85rem; background: var(--cream); color: var(--ink); border: 1px solid var(--brass); }
.listing-agent-media { position: relative; width: 78px; height: 92px; display: grid; place-items: center; overflow: hidden; background: #d8dfd2; color: var(--brand-yellow); text-decoration: none; }
.listing-agent-media::after { position: absolute; inset: 0; background: linear-gradient(155deg, rgba(35, 71, 62, .02), rgba(35, 71, 62, .11)); content: ''; pointer-events: none; }
.listing-agent-media > img { width: 100%; height: 100%; object-fit: cover; object-position: center 18%; filter: saturate(1.03) contrast(1.015); }
.listing-agent-media .agent-monogram { width: 90%; padding: .35rem; }
.listing-agent-media .agent-monogram::before { inset: .2rem; }
.listing-agent-media .agent-monogram-mark, .listing-agent-media .agent-monogram-label { display: none; }
.listing-agent-media .agent-initials { font-size: 2.1rem; }
.listing-agent-card > div { min-width: 0; display: flex; flex-direction: column; }
.listing-agent-card p { margin: 0 0 .2rem; color: var(--muted); font-size: .5rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.listing-agent-card h2 { margin: 0 0 .45rem; font: 400 1.35rem/1 var(--serif); }
.listing-agent-card h2 a { text-decoration: none; }
.listing-agent-card .agent-license-name { margin: -.1rem 0 .55rem; font-size: .58rem; }
.listing-agent-contact { color: var(--ink-soft); font-size: .62rem; line-height: 1.45; overflow-wrap: anywhere; text-decoration: none; }
.listing-agent-profile { margin-top: auto; padding-top: .45rem; display: flex; justify-content: space-between; border-top: 1px solid var(--line); color: var(--brand-blue); font-size: .53rem; font-weight: 700; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.property-action-primary { display: grid; }
.property-action-primary > * { min-height: 52px; padding: .8rem 1rem; display: flex; align-items: center; border: 0; border-bottom: 1px solid var(--line); background: transparent; color: var(--ink); font-size: .66rem; font-weight: 700; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; cursor: pointer; }
.property-action-primary button[aria-pressed='true'] { background: var(--brand-yellow); }
.property-action-form { border-bottom: 1px solid var(--line); }
.property-action-form summary { min-height: 52px; padding: .8rem 1rem; display: flex; align-items: center; justify-content: space-between; font-size: .66rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; list-style: none; }
.property-action-form summary::-webkit-details-marker { display: none; }
.property-action-form[open] summary { background: var(--navy-deep); color: var(--white); }
.property-action-form form { padding: 1rem; background: var(--cream); }
.action-form-grid { display: grid; gap: .8rem; }
.action-form-grid label { display: grid; gap: .35rem; font-size: .59rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.action-form-grid input, .action-form-grid select, .action-form-grid textarea { width: 100%; min-height: 44px; padding: .65rem; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--white); color: var(--ink); }
.action-form-grid .form-consent { display: grid !important; grid-template-columns: auto 1fr; color: var(--ink); background: var(--paper); }
.action-form-grid .form-consent input { width: 18px; min-height: 18px; }
.property-action-form .button { width: 100%; margin-top: 1rem; }
.underwriting-model { margin-top: clamp(3.6rem, 7vw, 7rem); padding: clamp(1.5rem, 4vw, 4rem); border-radius: var(--radius-control); background: var(--navy-deep); box-shadow: var(--shadow-rest); color: var(--white); scroll-margin-top: 110px; }
.underwriting-heading h2 { max-width: 12ch; margin: 0 0 1rem; font: 400 clamp(2.7rem, 5vw, 5rem)/.94 var(--serif); }
.underwriting-heading > p:last-child { max-width: 72ch; color: rgba(255, 255, 255, .65); line-height: 1.7; }
.underwriting-grid { margin-top: 2.5rem; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); gap: clamp(2rem, 5vw, 5rem); }
.underwriting-inputs { display: grid; gap: 1.1rem; }
.underwriting-inputs label { display: grid; gap: .5rem; }
.underwriting-inputs label > span { display: flex; justify-content: space-between; color: rgba(255, 255, 255, .76); font-size: .64rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.underwriting-inputs output { color: var(--brand-yellow); }
.underwriting-inputs input[type='number'] { min-height: 48px; padding: .7rem; border: 1px solid var(--brass); border-radius: var(--radius-control); background: var(--cream); }
.underwriting-inputs input[type='range'] { accent-color: var(--brand-yellow); }
.underwriting-results { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.underwriting-results > div { min-height: 120px; padding: 1rem; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.underwriting-results span { color: rgba(255, 255, 255, .58); font-size: .57rem; letter-spacing: .07em; text-transform: uppercase; }
.underwriting-results strong { color: var(--brand-yellow); font: 400 clamp(1.25rem, 2vw, 2rem)/1 var(--serif); }
.underwriting-results .button { grid-column: 1 / -1; margin-top: 1rem; }
.analysis-share { grid-column: 1 / -1; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.analysis-share summary { padding: 1rem; color: var(--brand-yellow); font-size: .66rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; cursor: pointer; }
.analysis-share form { padding: 0 1rem 1rem; display: grid; gap: .75rem; }
.analysis-share label { display: grid; gap: .35rem; color: rgba(255, 255, 255, .72); font-size: .59rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.analysis-share input { min-height: 46px; padding: .7rem; border: 1px solid var(--brass); border-radius: var(--radius-control); background: var(--cream); color: var(--ink); }
.analysis-share .form-status { grid-column: 1 / -1; }

/* Front-facing proof, residential analysis, alerts, and the house mascot */
.track-record-strip { position: relative; overflow: hidden; background-color: var(--navy-deep); background-image: linear-gradient(rgba(253, 220, 89, .07) 1px, transparent 1px), linear-gradient(90deg, rgba(253, 220, 89, .07) 1px, transparent 1px); background-size: 36px 36px; border-block: 3px solid var(--brass); color: var(--white); }
.track-record-strip::after { position: absolute; inset: 0; background: linear-gradient(110deg, transparent 5%, rgba(253, 220, 89, .08) 52%, transparent 86%); content: ''; pointer-events: none; }
.track-record-strip .section-wrap { position: relative; z-index: 1; padding-top: clamp(2.2rem, 4vw, 4rem); padding-bottom: clamp(2.2rem, 4vw, 4rem); display: grid; grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr); gap: clamp(2rem, 7vw, 7rem); align-items: center; }
.track-record-strip h2 { max-width: 16ch; margin: 0; color: var(--brand-yellow); font: 400 clamp(2.4rem, 4.6vw, 5rem)/.94 var(--serif); letter-spacing: -.04em; }
.track-record-strip p { max-width: 58ch; margin: .8rem 0 0; color: rgba(255, 255, 255, .7); line-height: 1.7; }
.track-record-strip dl, .track-record-metrics { margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(253, 220, 89, .42); border-left: 1px solid rgba(253, 220, 89, .42); }
.track-record-strip dl > div, .track-record-metrics > div { min-height: 132px; padding: 1rem; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid rgba(253, 220, 89, .42); border-bottom: 1px solid rgba(253, 220, 89, .42); }
.track-record-strip dt, .track-record-metrics span { color: rgba(255, 255, 255, .62); font-size: .57rem; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; }
.track-record-strip dd, .track-record-metrics strong { margin: 0; color: var(--brand-yellow); font: 400 clamp(1.55rem, 2.8vw, 3.1rem)/.96 var(--serif); }

.mortgage-model { margin-top: clamp(3.6rem, 7vw, 7rem); padding: clamp(1.5rem, 4vw, 4rem); scroll-margin-top: 110px; background-color: var(--navy-deep); background-image: linear-gradient(rgba(253, 220, 89, .065) 1px, transparent 1px), linear-gradient(90deg, rgba(253, 220, 89, .065) 1px, transparent 1px); background-size: 34px 34px; border: 1px solid var(--brass); border-radius: var(--radius-control); box-shadow: inset 0 0 65px rgba(4, 17, 44, .35), var(--shadow-rest); color: var(--white); }
.mortgage-model h2, .mortgage-heading h2 { max-width: 12ch; margin: 0 0 1rem; color: var(--white); font: 400 clamp(2.7rem, 5vw, 5rem)/.94 var(--serif); letter-spacing: -.04em; }
.mortgage-model > p, .mortgage-heading > p:last-child { max-width: 70ch; color: rgba(255, 255, 255, .68); line-height: 1.7; }
.mortgage-grid { margin-top: 2.5rem; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(280px, .9fr); gap: clamp(2rem, 5vw, 5rem); }
.mortgage-inputs { display: grid; gap: 1rem; }
.mortgage-inputs label { display: grid; gap: .45rem; }
.mortgage-inputs label > span { display: flex; justify-content: space-between; gap: 1rem; color: rgba(255, 255, 255, .76); font-size: .62rem; font-weight: 700; letter-spacing: .075em; text-transform: uppercase; }
.mortgage-inputs output { color: var(--brand-yellow); }
.mortgage-inputs input, .mortgage-inputs select { width: 100%; min-height: 48px; padding: .7rem; border: 1px solid var(--brass); border-radius: var(--radius-control); background: var(--cream); color: var(--ink); }
.mortgage-inputs input[type='range'] { min-height: 24px; padding: 0; border: 0; background: transparent; accent-color: var(--brand-yellow); }
.mortgage-results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-content: start; border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.mortgage-results > div { min-height: 118px; padding: 1rem; display: flex; flex-direction: column; justify-content: space-between; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.mortgage-results span { color: rgba(255, 255, 255, .6); font-size: .57rem; letter-spacing: .08em; text-transform: uppercase; }
.mortgage-results strong { color: var(--brand-yellow); font: 400 clamp(1.35rem, 2.2vw, 2.2rem)/1 var(--serif); }
.mortgage-model small { display: block; margin-top: 1rem; color: rgba(255, 255, 255, .52); font-size: .62rem; line-height: 1.55; }

.property-alert-form { border: 1px solid var(--brass); background: var(--paper); }
details.property-alert-form > summary, .property-alert-form summary { min-height: 54px; padding: .85rem 1rem; display: flex; align-items: center; justify-content: space-between; background: var(--navy-deep); color: var(--white); font-size: .65rem; font-weight: 700; letter-spacing: .08em; list-style: none; text-transform: uppercase; cursor: pointer; }
.property-alert-form summary::-webkit-details-marker { display: none; }
.property-alert-form summary::after { color: var(--brand-yellow); content: '+'; font-size: 1rem; }
.property-alert-form[open] summary::after { content: '−'; }
.property-alert-form form, form.property-alert-form { padding: 1rem; display: grid; gap: .8rem; }
form.property-alert-form { border-top: 3px solid var(--brass); }
.property-alert-form label { display: grid; gap: .35rem; color: var(--ink); font-size: .59rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.property-alert-form input, .property-alert-form select, .property-alert-form textarea { width: 100%; min-height: 44px; padding: .65rem; border: 1px solid var(--line); border-radius: var(--radius-control); background: var(--white); color: var(--ink); }
.property-alert-form textarea { min-height: 96px; resize: vertical; }
.property-alert-form .form-status { color: var(--brand-blue); }

.snowflake-easter-egg { position: fixed; z-index: 45; bottom: 1rem; left: 1rem; width: clamp(110px, 8vw, 130px); padding: 0; display: block; border: 0; background: transparent; opacity: .7; cursor: pointer; filter: drop-shadow(0 8px 12px rgba(23, 36, 57, .2)); transform: rotate(-5deg); transition: opacity .25s ease, transform .35s cubic-bezier(.22, 1, .36, 1), filter .25s ease; }
.snowflake-easter-egg:not(:has(img)) { aspect-ratio: .82; background: url('/assets/ornaments/snowflake-white-v2.webp') center / contain no-repeat; }
.snowflake-easter-egg img { width: 100%; height: auto; }
.snowflake-easter-egg::after { position: absolute; bottom: calc(100% + .4rem); left: 0; width: max-content; max-width: min(240px, 72vw); padding: .48rem .62rem; background: var(--navy-deep); color: var(--white); content: attr(data-easter-egg); font-size: .58rem; font-weight: 700; letter-spacing: .065em; line-height: 1.45; text-transform: uppercase; opacity: 0; pointer-events: none; transform: translateY(4px); transition: opacity .2s ease, transform .2s ease; }
.snowflake-easter-egg:hover, .snowflake-easter-egg:focus-visible { opacity: 1; filter: drop-shadow(0 13px 18px rgba(23, 36, 57, .3)); transform: translateY(-7px) rotate(3deg) scale(1.08); }
.snowflake-easter-egg:hover::after, .snowflake-easter-egg:focus-visible::after { opacity: 1; transform: none; }
.empty-state { padding: clamp(3rem, 8vw, 8rem); border: 1px solid var(--line); background: var(--paper); text-align: center; }
.empty-state h2 { margin: 0 0 1rem; font: 400 clamp(2.5rem, 5vw, 5rem)/.94 var(--serif); }
.empty-state p { color: var(--muted); }
.property-tool-status { margin: 0 0 1.5rem; padding: 1rem 1.2rem; border: 1px solid var(--line); background: var(--paper); color: var(--muted); }
.saved-starters { margin-top: clamp(3rem, 7vw, 7rem); }
.saved-starters > .section-heading { margin-bottom: clamp(1.5rem, 3vw, 3rem); }

/* Finished field guides */
.market-symbol { position: absolute; top: .55rem; right: .55rem; width: clamp(84px, 8vw, 116px); aspect-ratio: 1; pointer-events: none; }
.market-symbol-vignette { position: absolute; inset: 0; background-image: url('/assets/ornaments/market-vignettes-v2.webp'); background-repeat: no-repeat; background-position: var(--market-x) var(--market-y); background-size: 400% 300%; filter: saturate(.9) drop-shadow(0 8px 10px rgba(16, 38, 78, .16)); transition: transform .35s cubic-bezier(.22, 1, .36, 1), filter .35s ease; }
.market-hero-art > .market-symbol { z-index: 3; top: auto; right: 3%; bottom: 3%; width: min(22vw, 220px); }
.market-identity { background: var(--brand-yellow); color: var(--navy-deep); }
.market-identity .section-wrap { padding-top: 2rem; padding-bottom: 2rem; display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; }
.market-tag-list { margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; }
.market-tag-list li { padding: .48rem .62rem; border: 1px solid currentColor; font-size: .61rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
.market-landmarks { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--line); }
.market-action-band { background: var(--brand-yellow); color: var(--navy-deep); }
.market-action-band .section-wrap { padding-top: clamp(3rem, 6vw, 6rem); padding-bottom: clamp(3rem, 6vw, 6rem); display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(2rem, 7vw, 7rem); }
.market-action-band h2 { max-width: 12ch; margin: 0; font: 400 clamp(2.7rem, 5vw, 5rem)/.95 var(--serif); }
.market-actions { border-top: 1px solid var(--navy-deep); }
.market-actions a { min-height: 70px; padding: 1rem 0; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid var(--navy-deep); font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; }

/* Process */
.process-hero { min-height: 720px; padding: clamp(4rem, 9vw, 9rem) clamp(1.25rem, 6vw, 6rem); display: grid; grid-template-columns: minmax(300px, .76fr) minmax(480px, 1fr); gap: clamp(2.5rem, 5vw, 5.5rem); align-items: center; background: var(--brand-yellow); color: var(--navy-deep); }
.process-hero h1 { max-width: 11ch; margin: .2rem 0 1.2rem; font: 400 clamp(4rem, 6vw, 7.4rem)/.87 var(--serif); letter-spacing: -.055em; text-wrap: balance; }
.process-hero > div:first-child > p:last-child { max-width: 58ch; line-height: 1.75; }
.process-vignette { display: block; aspect-ratio: 1; background-image: url('/assets/ornaments/process-vignettes-v2.webp'); background-repeat: no-repeat; background-position: var(--process-x) var(--process-y); background-size: 400% 300%; filter: saturate(.94) drop-shadow(0 12px 16px rgba(16, 38, 78, .2)); transition: transform .35s cubic-bezier(.22, 1, .36, 1), filter .35s ease; }
.process-hero-art { min-width: 0; width: 100%; }
.process-hero-vignette { width: min(100%, 210px); }
.process-hero-vignette:nth-child(1) { transform: translate(18px, 24px) rotate(-4deg); }
.process-hero-vignette:nth-child(2) { transform: translate(-8px, -30px) rotate(3deg); }
.process-hero-vignette:nth-child(3) { transform: translate(24px, 5px) rotate(2deg); }
.process-hero-vignette:nth-child(4) { transform: translate(-18px, -18px) rotate(-3deg); }
.process-projector { --projector-x: 0px; --projector-y: 0px; --projector-scale: 1.012; --projector-exposure: 1; position: relative; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; isolation: isolate; background: #0b1830; border: 1px solid rgba(16, 38, 78, .58); border-radius: 3px; box-shadow: inset 0 0 0 1px rgba(255, 253, 244, .18), inset 0 0 34px rgba(5, 14, 30, .3), 0 24px 58px rgba(16, 38, 78, .22); }
.process-projector::after { position: absolute; z-index: 4; inset: 0; background: radial-gradient(ellipse at center, transparent 64%, rgba(8, 17, 35, .09) 82%, rgba(8, 17, 35, .26) 100%); box-shadow: inset 0 0 0 1px rgba(255, 246, 220, .14); content: ''; pointer-events: none; }
.process-projector-layer, .process-projector-static { position: absolute; z-index: 1; inset: -1%; width: 102%; max-width: none; height: 102%; object-fit: cover; object-position: center; }
.process-projector-layer { opacity: 0; filter: brightness(var(--projector-exposure)) saturate(.995); transform: translate3d(var(--projector-x), var(--projector-y), 0) scale(var(--projector-scale)); transform-origin: center; transition: none; will-change: transform, filter; }
.process-projector-layer.is-active { opacity: 1; }
.process-projector-static { display: none; }
.process-projector-exposure, .process-projector-grain, .process-projector-dust, .process-projector-shutter { position: absolute; inset: 0; pointer-events: none; }
.process-projector-exposure { z-index: 2; background: rgba(255, 229, 176, .28); mix-blend-mode: screen; opacity: 0; }
.process-projector.is-exposure-pulse .process-projector-exposure { opacity: .1; }
.process-projector[data-projector-transition='location-splice'].is-exposure-pulse .process-projector-exposure { opacity: .16; }
.process-projector-grain { z-index: 3; inset: -8%; background-image: radial-gradient(circle at 17% 23%, rgba(255, 255, 255, .7) 0 .45px, transparent .8px), radial-gradient(circle at 71% 62%, rgba(9, 15, 24, .72) 0 .5px, transparent .9px), radial-gradient(circle at 43% 81%, rgba(255, 241, 207, .55) 0 .4px, transparent .75px); background-position: 0 0, 2px 3px, 4px 1px; background-size: 5px 5px, 7px 7px, 9px 9px; mix-blend-mode: soft-light; opacity: .07; animation: process-projector-grain 620ms steps(2, end) infinite; }
.process-projector-dust { z-index: 3; background-image: radial-gradient(circle at 19% 31%, rgba(255, 248, 226, .55) 0 .7px, transparent 1.2px), radial-gradient(circle at 77% 69%, rgba(14, 20, 28, .48) 0 .8px, transparent 1.3px), radial-gradient(circle at 58% 14%, rgba(255, 248, 226, .42) 0 .55px, transparent 1px); opacity: 0; animation: process-projector-dust 8.2s steps(1, end) infinite; }
.process-projector-shutter { z-index: 5; background: rgba(4, 10, 21, .91); opacity: 0; }
.process-projector.is-shuttered .process-projector-shutter { opacity: 1; }
@keyframes process-projector-grain { 0% { transform: translate3d(-1.2%, -.8%, 0); } 50% { transform: translate3d(1%, .6%, 0); } 100% { transform: translate3d(-.5%, 1%, 0); } }
@keyframes process-projector-dust { 0%, 11%, 28%, 54%, 76%, 100% { opacity: 0; transform: translate3d(0, 0, 0); } 12%, 13% { opacity: .18; transform: translate3d(1px, -1px, 0); } 55%, 56% { opacity: .13; transform: translate3d(-1px, 1px, 0); } 77% { opacity: .1; transform: translate3d(0, -1px, 0); } }
.process-steps { background: var(--cream); }
.process-steps ol { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); list-style: none; }
.process-steps li { position: relative; min-height: 310px; padding: 1.3rem; display: flex; flex-direction: column; overflow: hidden; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.process-step-number { color: var(--text-yellow-ink); font-size: .6rem; letter-spacing: .1em; }
.process-step-vignette { position: absolute; top: .7rem; right: .7rem; width: clamp(88px, 9vw, 128px); }
.process-steps h3 { margin: auto 0 .8rem; font: 400 clamp(1.8rem, 3vw, 3rem)/1 var(--serif); }
.process-steps li p { margin: 0; color: var(--muted); font-size: .8rem; line-height: 1.7; }
.media-workbench { background: var(--navy-deep); color: var(--white); }
.media-workbench > .section-wrap { display: grid; grid-template-columns: minmax(260px, .55fr) minmax(0, 1.45fr); gap: clamp(3rem, 8vw, 8rem); }
.media-workbench h2 { max-width: 11ch; margin: .2rem 0 1rem; font: 400 clamp(3rem, 5vw, 5.4rem)/.94 var(--serif); }
.media-workbench > .section-wrap > div:first-child > p:last-child { color: rgba(255, 255, 255, .64); line-height: 1.75; }
.media-workbench-grid { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line-light); border-left: 1px solid var(--line-light); }
.media-workbench-grid article { position: relative; min-height: 280px; padding: 1.2rem; display: flex; flex-direction: column; border-right: 1px solid var(--line-light); border-bottom: 1px solid var(--line-light); }
.media-vignette { width: 108px; }
.media-workbench-grid h3 { margin: auto 0 .7rem; color: var(--brand-yellow); font: 400 1.9rem/1 var(--serif); }
.media-workbench-grid p { margin: 0; color: rgba(255, 255, 255, .64); font-size: .75rem; line-height: 1.65; }
.process-reach { background: var(--brand-blue); color: var(--white); }
.process-reach .section-wrap { display: grid; grid-template-columns: .8fr 1.2fr; gap: clamp(3rem, 8vw, 8rem); }
.process-reach h2 { max-width: 11ch; margin: 0; font: 400 clamp(3rem, 6vw, 6.2rem)/.93 var(--serif); }
.process-reach p:not(.overline) { color: rgba(255, 255, 255, .72); line-height: 1.8; }

/* Press clipping carousel */
.press-hero { position: relative; min-height: clamp(650px, 82svh, 880px); display: flex; align-items: flex-end; overflow: hidden; background: var(--navy-deep); color: var(--white); }
.press-hero-image, .press-hero-shade { position: absolute; inset: 0; width: 100%; height: 100%; }
.press-hero-image { object-fit: cover; object-position: center 44%; }
.press-hero-shade { background: linear-gradient(90deg, rgba(8, 27, 61, .92), rgba(8, 27, 61, .58) 45%, rgba(8, 27, 61, .08) 76%), linear-gradient(0deg, rgba(6, 18, 42, .68), transparent 62%); }
.press-hero-copy { position: relative; z-index: 1; width: min(100%, 1600px); padding: clamp(4rem, 8vw, 8rem) clamp(1.25rem, 6vw, 6rem); }
.press-hero-copy .breadcrumb, .press-hero-copy .breadcrumb a, .press-hero-copy .overline { color: rgba(255, 255, 255, .76); }
.press-hero h1 { max-width: 10ch; margin: .35rem 0 1rem; font: 400 clamp(4.1rem, 8vw, 8.5rem)/.88 var(--serif); letter-spacing: -.055em; text-wrap: balance; }
.press-hero-copy > p:last-child { max-width: 54ch; color: rgba(255, 255, 255, .82); font-size: clamp(.92rem, 1.15vw, 1.08rem); line-height: 1.75; }
.press-carousel-section { overflow: hidden; background-color: var(--cream); background-image: repeating-linear-gradient(0deg, transparent 0, transparent 43px, rgba(0, 43, 142, .035) 44px); }
.press-carousel-controls { display: flex; justify-content: flex-end; gap: .55rem; }
.press-carousel-controls button { width: 52px; height: 52px; border: 1px solid var(--ink); background: transparent; cursor: pointer; font-size: 1.2rem; }
.press-carousel { width: 100vw; margin-inline: calc(50% - 50vw); padding: .75rem clamp(1.25rem, 5vw, 5rem) 2.5rem; display: flex; gap: 1.25rem; overflow-x: auto; overscroll-behavior-inline: contain; scroll-behavior: smooth; scroll-padding-inline: clamp(1.25rem, 5vw, 5rem); scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: var(--brass) transparent; }
.press-card { flex: 0 0 clamp(320px, 34vw, 500px); min-width: 0; scroll-snap-align: start; }
.press-card > a { position: relative; min-height: 650px; height: 100%; display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(57, 45, 29, .82); border-radius: var(--radius-editorial); background: var(--paper); box-shadow: var(--shadow-document); text-decoration: none; }
.press-card-art { position: relative; width: 100%; aspect-ratio: 3 / 2; display: block; flex: 0 0 auto; overflow: hidden; border-bottom: 1px solid rgba(57, 45, 29, .82); background: #e8dfcd; }
.press-card-art img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.94) contrast(.99); transition: filter .3s ease, transform .45s cubic-bezier(.22, 1, .36, 1); }
.press-card-index { position: absolute; top: .8rem; right: .8rem; z-index: 2; width: 40px; height: 40px; display: grid; place-items: center; border: 1px solid var(--navy-deep); background: var(--brand-yellow); color: var(--navy-deep); font-size: .57rem; font-weight: 700; letter-spacing: .08em; }
.press-card-copy { padding: 1.4rem; display: flex; flex: 1; flex-direction: column; }
.press-card-meta { min-height: 2.35rem; margin-bottom: .75rem; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .4rem 1rem; }
.press-card-date { flex: 0 0 auto; display: grid; justify-items: end; gap: .35rem; }
.press-card-meta time { color: var(--muted); font-size: .61rem; font-weight: 500; letter-spacing: .1em; line-height: 1; }
.press-card-date em { color: var(--muted); font-size: .5rem; font-style: normal; font-weight: 700; letter-spacing: .09em; line-height: 1; text-transform: uppercase; }
.publication-mark { min-width: 0; max-width: 74%; min-height: 2rem; display: inline-flex; align-items: center; color: var(--ink); font-size: .92rem; font-weight: 700; letter-spacing: .02em; line-height: 1.05; text-wrap: balance; }
.publication-mark--times-union, .publication-mark--wall-street-journal, .publication-mark--new-york-post, .publication-mark--daily-freeman { font-family: Georgia, 'Times New Roman', serif; font-size: 1.04rem; font-weight: 700; letter-spacing: -.025em; }
.publication-mark--wall-street-journal, .publication-mark--daily-freeman { text-transform: uppercase; }
.publication-mark--costar { color: #2f568d; font-size: .94rem; letter-spacing: -.01em; }
.publication-mark--wrrv, .publication-mark--hudson-valley-country { color: #8d352d; font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif; font-size: 1rem; font-style: italic; letter-spacing: .025em; text-transform: uppercase; }
.publication-mark--realtor { color: #c8473c; font-size: .96rem; letter-spacing: -.015em; }
.publication-mark--real-deal { font-size: 1rem; font-weight: 800; letter-spacing: -.02em; text-transform: uppercase; }
.publication-mark--upstate-house { font-family: Georgia, 'Times New Roman', serif; font-size: 1rem; letter-spacing: .02em; }
.publication-mark--main-street, .publication-mark--hudson-valley-one { font-size: .88rem; letter-spacing: .07em; text-transform: uppercase; }
.press-card-copy h2 { margin: .15rem 0 1rem; font: 400 clamp(1.9rem, 2.7vw, 3rem)/.97 var(--serif); letter-spacing: -.035em; }
.press-card-summary, .press-card-fact { min-height: 5.2rem; margin: 0 0 1.3rem; color: var(--muted); font-size: .78rem; line-height: 1.7; }
.press-card-fact { padding: .75rem 0 .75rem .9rem; border-left: 2px solid var(--brass); color: var(--ink-soft); font-weight: 700; letter-spacing: .015em; }
.press-card-quote { position: relative; min-height: 5.2rem; margin: 0 0 1.3rem; padding: .1rem 0 0 1.15rem; color: var(--ink-soft); }
.press-card-quote::before { position: absolute; top: -.25rem; left: 0; color: var(--text-yellow-ink); content: '“'; font: 400 2rem/1 var(--serif); }
.press-card-quote p { margin: 0 0 .55rem; font: italic 400 .98rem/1.45 var(--serif); }
.press-card-quote cite { display: block; color: var(--muted); font-size: .52rem; font-style: normal; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.press-card-copy strong { margin-top: auto; padding-top: .85rem; display: flex; justify-content: space-between; border-top: 1px solid var(--ink); color: var(--brand-blue); font-size: .61rem; letter-spacing: .09em; text-transform: uppercase; }
.press-carousel-note { margin: 0; color: var(--muted); font-size: .66rem; }
.press-close { background: var(--navy-deep); color: var(--white); }
.press-close .section-wrap { padding-top: clamp(3.5rem, 6vw, 6rem); padding-bottom: clamp(3.5rem, 6vw, 6rem); display: grid; grid-template-columns: .9fr 1.1fr; gap: clamp(3rem, 8vw, 8rem); align-items: end; }
.press-close h2 { max-width: 13ch; margin: 0; font: 400 clamp(3rem, 5.5vw, 5.8rem)/.94 var(--serif); }
.press-close p:not(.overline) { max-width: 56ch; color: rgba(255, 255, 255, .66); line-height: 1.75; }
/* Shared interaction polish */
.hero-coordinate { position: absolute; z-index: 2; right: 1.2rem; bottom: 1rem; color: rgba(255, 255, 255, .52); font-size: .52rem; letter-spacing: .15em; }
@media (hover: hover) and (pointer: fine) {
  .button:hover { transform: translateY(-1px); box-shadow: var(--shadow-rest); }
  .button.solid:hover { background: var(--brand-blue); }
  .button.brass:hover { background: var(--white); }
  .entry-gate.is-interactive:not(.is-exiting) .entry-gate-choices:has(.gate-choice--homes:hover), .entry-gate:not(.is-exiting) .entry-gate-choices:has(.gate-choice--homes:focus-visible) { --gate-homes-basis: 64%; --gate-commercial-basis: 36%; }
  .entry-gate.is-interactive:not(.is-exiting) .entry-gate-choices:has(.gate-choice--commercial:hover), .entry-gate:not(.is-exiting) .entry-gate-choices:has(.gate-choice--commercial:focus-visible) { --gate-homes-basis: 36%; --gate-commercial-basis: 64%; }
  .entry-gate.is-interactive:not(.is-exiting) .gate-choice--homes:hover > img, .entry-gate:not(.is-exiting) .gate-choice--homes:focus-visible > img { object-position: 58% center; transform: scale(1); filter: saturate(1.05); }
  .entry-gate.is-interactive:not(.is-exiting) .gate-choice--commercial:hover > img, .entry-gate:not(.is-exiting) .gate-choice--commercial:focus-visible > img { object-position: 57% center; transform: scale(1); filter: saturate(1.05); }
  .entry-gate.is-interactive:not(.is-exiting) .gate-choice:hover .gate-choice-copy > strong b, .entry-gate:not(.is-exiting) .gate-choice:focus-visible .gate-choice-copy > strong b { transform: translateX(.35rem); }
  .region-portal:hover img, .region-portal:focus-visible img { transform: scale(1.035); filter: saturate(1.08); }
  .homecoming-curios:hover img:nth-child(odd), .hero-curio-stack:hover img:nth-child(odd) { transform: translateY(-5px) rotate(-2deg); }
  .homecoming-curios:hover img:nth-child(even), .hero-curio-stack:hover img:nth-child(even) { transform: translateY(2px) rotate(3deg); }
  .property-card:hover, .property-card:focus-within { border-color: rgba(176, 138, 73, .72); box-shadow: 0 20px 44px rgba(57, 45, 29, .13); transform: translateY(-4px); }
  .property-card:hover .property-card-media img, .property-card:focus-within .property-card-media img { transform: scale(1.02); }
  .property-card-actions button:hover, .property-card-actions button:focus-visible, .property-card-view:hover, .property-card-view:focus-visible { background: var(--navy-deep); color: var(--white); }
  .market-card > a:hover, .market-card > a:focus-visible { background: var(--forest-deep); color: var(--white); }
  .market-card > a:hover p, .market-card > a:focus-visible p { color: rgba(255, 255, 255, .7); }
  .market-card > a:hover strong, .market-card > a:focus-visible strong { color: var(--text-yellow); }
  .market-card > a:hover .market-symbol-vignette, .market-card > a:focus-visible .market-symbol-vignette { transform: translate(-5px, -7px) rotate(-2deg) scale(1.06); filter: saturate(1); }
  .market-hero-art:hover .market-symbol-vignette { transform: translate(-8px, -8px) rotate(-2deg) scale(1.03); filter: saturate(1); }
  .process-hero-art:hover .process-hero-vignette:nth-child(1) { transform: translate(12px, 15px) rotate(-1deg); }
  .process-hero-art:hover .process-hero-vignette:nth-child(2) { transform: translate(-4px, -38px) rotate(-1deg); }
  .process-hero-art:hover .process-hero-vignette:nth-child(3) { transform: translate(18px, -2px) rotate(-2deg); }
  .process-hero-art:hover .process-hero-vignette:nth-child(4) { transform: translate(-12px, -25px) rotate(1deg); }
  .process-steps li:hover .process-step-vignette, .media-workbench-grid article:hover .media-vignette { transform: translateY(-6px) rotate(-2deg) scale(1.04); filter: saturate(1); }
  .press-card:hover, .press-card:focus-within { animation-play-state: paused; }
  .press-card:hover .press-card-art img, .press-card:focus-within .press-card-art img { transform: scale(1.025); filter: saturate(1) contrast(1); }
  .press-carousel-controls button:hover, .press-carousel-controls button:focus-visible { background: var(--navy-deep); color: var(--white); }
  .context-ornament { transition: filter .25s ease, transform .3s cubic-bezier(.22, 1, .36, 1); }
  .section-heading:hover > .context-ornament { filter: saturate(1.04) drop-shadow(0 16px 20px rgba(23, 36, 57, .2)); transform: translateY(-4px) rotate(2deg); }
  .attraction-grid article { transition: background .22s ease, transform .22s ease; }
  .attraction-grid article:hover, .attraction-grid article:focus-within { background: var(--paper); transform: translateY(-4px); }
  .case-study-card:hover, .case-study-card:focus-within { transform: translateY(-7px); box-shadow: 0 25px 55px rgba(7, 24, 20, .18); }
  .case-study-card:hover .case-study-media img, .case-study-card:focus-within .case-study-media img { transform: scale(1.035); filter: saturate(1.08); }
  .case-study-card:hover .case-study-link b, .case-study-card:focus-within .case-study-link b { transform: translateX(.35rem); }
  .case-gallery-grid figure:hover img, .case-gallery-grid figure:focus-within img { transform: scale(1.025); filter: saturate(1.06); }
  .service-grid article, .gateway-office-list a, .gateway-contact-actions a, .contact-option, .story-practice-links a, .region-list a { transition: background .22s ease, color .22s ease, transform .22s ease; }
  .service-grid article:hover, .service-grid article:focus-within { background: var(--paper); transform: translateY(-4px); }
  .gateway-office-list a:hover, .gateway-office-list a:focus-visible, .region-list a:hover, .region-list a:focus-visible { background: rgba(176, 138, 73, .12); }
  .gateway-contact-actions a:hover, .gateway-contact-actions a:focus-visible, .story-practice-links a:hover, .story-practice-links a:focus-visible { background: rgba(176, 138, 73, .18); }
  .contact-option:hover, .contact-option:focus-visible { padding-left: .7rem; background: rgba(255, 255, 255, .06); }
}

.site-footer { padding: clamp(3rem, 5.2vw, 5.2rem) var(--gutter) 2rem; background: #101925; color: var(--white); }
.footer-top { width: min(100%, var(--content)); margin: 0 auto; display: grid; grid-template-columns: minmax(210px, .62fr) minmax(0, 1.38fr) minmax(340px, .88fr); gap: clamp(1.8rem, 4vw, 4rem); }
.footer-wordmark { width: min(100%, 230px); display: inline-block; }
.footer-wordmark img { width: 100%; height: auto; }
.footer-curios { margin-top: 1rem; display: flex; align-items: end; gap: .2rem; }
.footer-curios img { width: 52px; height: 58px; object-fit: contain; filter: saturate(.72) drop-shadow(0 8px 12px rgba(0, 0, 0, .32)); }
.footer-curios img:nth-child(2) { width: 64px; transform: translateY(5px); }
.footer-brand p { max-width: 31ch; color: rgba(255, 255, 255, .58); font-size: .8rem; line-height: 1.65; }
.footer-groups { display: grid; grid-template-columns: repeat(4, minmax(100px, 1fr)); gap: 2rem; align-content: start; }
.footer-group { display: flex; flex-direction: column; gap: .68rem; }
.footer-group p { margin: 0 0 .15rem; color: rgba(255, 255, 255, .48); font-size: .56rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.footer-group a, .footer-utilities a, .legal-nav a { color: rgba(255, 255, 255, .76); font-size: .68rem; text-underline-offset: 4px; }
.footer-contact .overline { color: rgba(255, 255, 255, .6); }
.footer-contact { min-width: 0; }
.footer-contact a { display: block; margin-bottom: .7rem; font: 400 clamp(1.35rem, 2.4vw, 2.4rem)/1.05 var(--serif); text-decoration: none; }
.footer-contact a[href^='mailto:'] { font-size: clamp(1.18rem, 1.55vw, 1.58rem); overflow-wrap: normal; white-space: nowrap; word-break: normal; }
.footer-contact a[href^='tel:'] { color: var(--wmr-yellow); }
.footer-utilities { width: min(100%, var(--content)); margin: 2.2rem auto 0; padding-top: 1rem; display: flex; gap: 1.25rem; border-top: 1px solid rgba(255, 255, 255, .12); }
.footer-utilities::before { color: rgba(255, 255, 255, .42); content: 'Property tools'; font-size: .56rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.footer-bottom { width: min(100%, var(--content)); margin: 1.3rem auto 0; padding-top: 1.5rem; border-top: 1px solid var(--line-light); }
.legal-nav { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; }
.footer-compliance { margin-top: 1.5rem; display: flex; align-items: flex-start; gap: .85rem; }
.footer-eho { width: 48px; height: auto; flex: 0 0 auto; opacity: .68; filter: invert(1); }
.footer-disclaimer { max-width: 110ch; margin: 0; color: rgba(255, 255, 255, .5); font-size: .65rem; line-height: 1.65; }
.error-page { min-height: 100svh; padding: 8vw; display: flex; flex-direction: column; justify-content: center; background: var(--paper); }
.error-page h1 { max-width: 11ch; margin: .2rem 0 1rem; font: 400 clamp(3.7rem, 8vw, 8rem)/.9 var(--serif); }
.error-page p:not(.overline) { max-width: 52ch; color: var(--muted); line-height: 1.7; }
.error-page .button { width: fit-content; margin-top: 1.5rem; }

.has-reveal [data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .6s ease, transform .6s ease; }
.has-reveal [data-reveal].is-revealed { opacity: 1; transform: none; }

/* Consolidated public-experience details */
.practice-switch-label { color: var(--muted); font-size: .49rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.practice-switch { padding: 2px; display: grid; grid-template-columns: 1fr 1fr; border: 1px solid rgba(0, 43, 142, .42); border-radius: var(--radius-control); background: rgba(255, 255, 255, .66); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .55); }
.division-links .practice-switch a { min-height: 34px; padding: .48rem .68rem .42rem; justify-content: center; border: 0; border-radius: var(--radius-property); line-height: 1; }
.division-links .practice-switch a + a::before { display: none; }
.division-links .practice-switch a[data-division-link='homes'][aria-current],
.division-links .practice-switch a[data-division-link='homes'][data-selected] { background: var(--wmr-blue); color: var(--white); box-shadow: 0 3px 10px rgba(23, 36, 57, .18); }
.division-links .practice-switch a[data-division-link='commercial'][aria-current],
.division-links .practice-switch a[data-division-link='commercial'][data-selected] { background: var(--wmr-yellow); color: var(--navy-deep); box-shadow: 0 3px 10px rgba(23, 36, 57, .18); }

.entry-gate.is-exiting-homes .entry-gate-choices { --gate-homes-basis: 100%; --gate-commercial-basis: 0%; }
.entry-gate.is-exiting-commercial .entry-gate-choices { --gate-homes-basis: 0%; --gate-commercial-basis: 100%; }
.entry-gate.is-exiting-homes .gate-choice--homes,
.entry-gate.is-exiting-commercial .gate-choice--commercial { z-index: 2; opacity: 1; transform: none; }
.entry-gate.is-exiting-homes .gate-choice--commercial { opacity: 0; transform: translateX(110%); }
.entry-gate.is-exiting-commercial .gate-choice--homes { opacity: 0; transform: translateX(-110%); }
.entry-gate.is-exiting-homes .gate-choice--homes > img,
.entry-gate.is-exiting-commercial .gate-choice--commercial > img { object-position: center; transform: scale(1); }

.idx-widget-state { position: absolute; z-index: 3; right: .75rem; bottom: .75rem; margin: 0; padding: .5rem .65rem; background: rgba(16, 38, 78, .9); color: var(--white); border: 1px solid var(--brand-yellow); font-size: .58rem; font-weight: 700; letter-spacing: .06em; line-height: 1.45; text-transform: uppercase; }
.idx-widget-panel.is-idx-ready > .idx-widget-state { opacity: 0; pointer-events: none; transition: opacity .35s ease 1.2s; }
.idx-widget-state.is-error { max-width: 320px; background: #7c302b; }

.field-error { display: block; color: #ffe08a; font-size: .65rem; font-weight: 700; line-height: 1.45; }
.inquiry-form [aria-invalid='true'], .action-form-grid [aria-invalid='true'], .property-alert-form [aria-invalid='true'] { border-color: #ffe08a; box-shadow: 0 0 0 2px rgba(255, 224, 138, .28); }
.smart-search-empty { margin-top: 1.6rem; padding: 1.2rem; border: 1px solid rgba(253, 220, 89, .55); background: rgba(255, 255, 255, .06); }
.smart-search-empty h3 { margin: 0 0 .45rem; font: 400 clamp(1.7rem, 3vw, 2.6rem)/1 var(--serif); }
.smart-search-empty p { margin: 0; color: rgba(255, 255, 255, .7); line-height: 1.6; }

.calculator-methodology { margin-top: 1.4rem; border-top: 1px solid var(--line-light); }
.calculator-methodology summary { padding: 1rem 0; color: var(--brand-yellow); font-size: .65rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; cursor: pointer; }
.calculator-methodology p { max-width: 84ch; margin: 0 0 .5rem; color: rgba(255, 255, 255, .64); font-size: .72rem; line-height: 1.7; }

.office-card address { margin: 0 0 .35rem; color: var(--ink-soft); font-size: .82rem; font-style: normal; }
.office-hours { margin: .4rem 0 .55rem; display: grid; gap: .15rem; color: var(--muted); font-size: .69rem; line-height: 1.5; }
.office-hours strong { color: var(--ink); font-weight: 600; }
.office-hours span { color: var(--muted); }

.team-portrait-band { position: relative; margin: 0; overflow: hidden; background: var(--navy-deep); }
.team-portrait-band img { width: 100%; max-height: 760px; aspect-ratio: 3 / 2; object-fit: cover; object-position: center; }
.team-portrait-band figcaption { position: absolute; right: clamp(1rem, 4vw, 4rem); bottom: clamp(1rem, 4vw, 3rem); max-width: 32ch; padding: .7rem .85rem; background: rgba(16, 38, 78, .9); border: 1px solid var(--brand-yellow); color: var(--white); font-size: .59rem; font-weight: 700; letter-spacing: .08em; line-height: 1.5; text-transform: uppercase; }

.story-sequence { background: var(--paper); }
.story-sequence ol { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.story-sequence li { min-height: 430px; padding: clamp(1.25rem, 3vw, 2.5rem) 0; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(280px, .85fr); gap: clamp(2rem, 7vw, 7rem); align-items: center; border-bottom: 1px solid var(--line); }
.story-sequence li:nth-child(even) figure { order: 2; }
.story-sequence figure { position: relative; margin: 0; padding: clamp(.38rem, .6vw, .6rem); overflow: hidden; border: 1px solid rgba(176, 138, 73, .58); border-radius: var(--radius-editorial); background: #eee4d1; box-shadow: var(--shadow-document), inset 0 0 0 1px rgba(255, 254, 250, .72); transition: transform var(--motion-medium) var(--ease-editorial), box-shadow var(--motion-medium) ease; }
.story-sequence figure:hover { box-shadow: 0 26px 62px rgba(57, 45, 29, .18), inset 0 0 0 1px rgba(255, 254, 250, .82); transform: translateY(-4px); }
.story-sequence figure img { width: 100%; aspect-ratio: 16 / 9; border: 1px solid rgba(57, 45, 29, .12); border-radius: 1px; object-fit: cover; }
.story-sequence figure figcaption { padding: .65rem .25rem .08rem; color: var(--muted); font-size: .57rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.story-sequence li > div > span { color: var(--brand-blue); font-size: .6rem; font-weight: 800; letter-spacing: .12em; }
.story-sequence li h3 { max-width: 13ch; margin: .35rem 0 1rem; font: 400 clamp(2.2rem, 4vw, 4.4rem)/.95 var(--serif); letter-spacing: -.04em; }
.story-sequence li > div > p:last-child { max-width: 58ch; color: var(--ink-soft); line-height: 1.8; }
.story-scene-body { max-width: 62ch; display: grid; gap: .72rem; }
.story-scene-body > p { margin: 0; color: var(--ink-soft); line-height: 1.72; }
.story-scene-body .story-scene-note,
.story-scene-body .story-scene-credo { margin-top: .45rem; padding-top: .85rem; border-top: 1px solid var(--line); color: var(--brand-blue); font-size: .66rem; font-weight: 700; letter-spacing: .08em; line-height: 1.62; text-transform: uppercase; }
.story-scene-pull { margin: .55rem 0 .15rem; padding: .8rem 0 .8rem 1rem; border-left: 3px solid var(--brand-blue); }
.story-scene-pull p { margin: 0; color: var(--ink); font: 400 clamp(1.35rem, 2.25vw, 2.2rem)/1.08 var(--serif); letter-spacing: -.025em; }

.press-card-type { width: fit-content; margin: 0 0 .65rem !important; padding: .28rem .42rem; border: 1px solid var(--brand-blue); color: var(--brand-blue) !important; font-size: .52rem !important; font-weight: 700; letter-spacing: .09em; line-height: 1 !important; text-transform: uppercase; }
.privacy-content article { padding: 1.5rem 0; border-top: 1px solid var(--line); }
.privacy-content article:last-child { border-bottom: 1px solid var(--line); }
.privacy-content h2 { max-width: 18ch; margin: 0 0 .7rem; font: 400 clamp(1.9rem, 3.4vw, 3.4rem)/1 var(--serif); }
.privacy-content p { max-width: 78ch; color: var(--ink-soft); line-height: 1.8; }

.not-found-page { overflow: hidden; background: var(--navy-deep); }
.error-page { position: relative; min-height: 100svh; display: flex; align-items: center; overflow: hidden; color: var(--white); }
.error-page-art, .error-page-shade { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.error-page-shade { background: linear-gradient(90deg, rgba(16, 38, 78, .96), rgba(16, 38, 78, .68) 44%, rgba(16, 38, 78, .08) 75%), linear-gradient(0deg, rgba(6, 17, 39, .4), transparent); }
.error-page-copy { position: relative; z-index: 2; width: min(100%, 880px); padding: clamp(2rem, 7vw, 7rem); }
.error-page-brand { width: min(220px, 62vw); margin-bottom: clamp(3rem, 8vh, 7rem); display: block; filter: drop-shadow(0 8px 24px rgba(0, 0, 0, .3)); }
.error-page-brand img { width: 100%; }
.error-page h1 { max-width: 10ch; margin: .2rem 0 1.2rem; font: 400 clamp(4rem, 10vw, 10rem)/.84 var(--serif); letter-spacing: -.06em; }
.error-page-copy > p:not(.overline) { max-width: 48ch; color: rgba(255, 255, 255, .78); font-size: clamp(1rem, 1.4vw, 1.2rem); line-height: 1.7; }

@media(max-width:1380px) {
  .site-header { grid-template-columns: minmax(145px, 165px) auto minmax(0, 1fr); gap: .8rem; }
  .primary-nav { gap: .6rem; }
  .primary-nav a, .header-utilities a { font-size: .6875rem; }
}

@media(max-width:1180px) {
  .site-header { grid-template-columns: 150px 1fr auto; gap: 1rem; }
  .division-links { justify-self: start; }
  .practice-switch-label { display: none; }
  .menu-button { display: block; }
  .header-navigation { position: fixed; z-index: 120; top: 88px; right: auto; left: 50%; width: 100vw; max-height: calc(100svh - 88px); padding: 1rem var(--gutter) 1.4rem; display: none; overflow: auto; grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) auto; gap: 1rem 2rem; align-items: start; justify-self: stretch; background: var(--cream); border-bottom: 1px solid var(--line); box-shadow: var(--shadow-rest); transform: translateX(-50%); }
  .header-navigation.is-open { display: grid; }
  .primary-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
  .primary-nav a { min-height: 48px; padding: .9rem; display: flex; align-items: center; border-bottom: 1px solid var(--line); font-size: .875rem; white-space: normal; }
  .primary-nav a::after { display: none; }
  .primary-nav a[data-nav-emphasis='primary'] { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; color: var(--ink); }
  .header-utilities { padding: 0 0 0 1.25rem; align-self: stretch; flex-direction: column; align-items: stretch; justify-content: center; border-left: 1px solid var(--line); }
  .header-utilities a { min-height: 48px; justify-content: space-between; font-size: .875rem; }
  .service-grid { grid-template-columns: repeat(2, 1fr); }
  .property-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gateway-property-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gateway-property-grid .property-card--feature { grid-column: 1 / -1; }
  .gateway-property-grid .property-card--standard { grid-column: auto; }
  .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .case-study-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .region-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .market-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .attraction-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .process-steps ol { grid-template-columns: repeat(2, 1fr); }
  .property-detail-layout { grid-template-columns: 1fr; }
  .property-action-rail { position: static; display: grid; grid-template-columns: 1fr 1fr; }
  .listing-agent-stack { grid-column: 1 / -1; }
  .listing-agent-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .property-action-primary { grid-column: 1 / -1; grid-template-columns: repeat(4, 1fr); }
  .property-action-primary > * { border-right: 1px solid var(--line); }
}

@media(max-width:1120px) {
  .footer-top { grid-template-columns: minmax(0, 1fr) minmax(340px, 1fr); }
  .footer-brand { grid-column: 1 / -1; }
  .contact-office-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media(max-width:900px) {
  .atlas-status { display: none; }
  .region-list p { margin: .55rem 0 0; display: block; color: var(--muted); font-size: .68rem; line-height: 1.5; }
  .region-list em { margin-top: .6rem; display: block; color: var(--rust); font-size: .53rem; font-style: normal; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
  .region-list a { min-height: 150px; }
  .site-header { grid-template-columns: 150px 1fr auto; }
  .section-heading.split, .entry-note-grid, .proof-grid, .contact-grid, .gateway-heritage-grid, .gateway-directory-grid, .gateway-contact-band > .section-wrap, .agent-connect-band > .section-wrap, .action-lead-panel, .process-hero, .media-workbench > .section-wrap, .process-reach .section-wrap, .market-action-band .section-wrap, .press-hero, .press-close .section-wrap { grid-template-columns: 1fr; }
  .section-heading.split:has(> .context-ornament), .section-heading.split.has-context-ornament { grid-template-columns: 1fr; }
  .section-heading.split:has(> .context-ornament) > .context-ornament, .section-heading.split.has-context-ornament > .context-ornament { justify-self: center; }
  .gateway-heritage-grid, .gateway-directory-grid { gap: 3rem; }
  .gateway-heritage-mark { width: 90vw; }
  .agent-hero { min-height: 0; grid-template-columns: 1fr; }
  .agent-hero-media { min-height: min(92vw, 720px); aspect-ratio: 4 / 3; }
  .agent-hero-copy { min-height: 600px; }
  .agent-bio-grid { grid-template-columns: 1fr; }
  .property-hero { grid-template-columns: 1fr; }
  .property-hero-media { min-height: 55vw; }
  .property-hero-copy { min-height: 520px; }
  .story-split { grid-template-columns: 1fr; }
  .story-split-media { min-height: 60vw; }
  .footer-top { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
  .region-diptych, .case-detail-hero, .founding-grid, .inquiry-card, .contact-panel .contact-grid { grid-template-columns: 1fr; }
  .region-portal { min-height: 430px; }
  .case-detail-media { min-height: 58vw; }
  .case-detail-copy { min-height: 580px; border-top: 1px solid rgba(176, 138, 73, .55); border-left: 0; }
  .case-transaction { grid-template-columns: 1fr; }
  .case-transaction-heading h2 { max-width: 13ch; }
  .case-chapters { grid-template-columns: 1fr; }
  .story-timeline ol { grid-template-columns: repeat(2, 1fr); }
  .story-sequence li { min-height: 0; grid-template-columns: 1fr; gap: 1.5rem; }
  .story-sequence li:nth-child(even) figure { order: 0; }
  .founding-mark { flex-direction: row; line-height: .8; }
  .market-index-hero { min-height: 0; display: block; background: var(--paper); }
  .market-index-hero-image { position: relative; aspect-ratio: 16 / 9; height: auto; object-position: center; }
  .market-index-shade { display: none; }
  .market-index-copy { padding-top: clamp(2.8rem, 7vw, 4.5rem); padding-bottom: clamp(3rem, 8vw, 5rem); background: var(--paper); }
  .market-hero { grid-template-columns: 1fr; }
  .market-hero-art { min-height: 0; aspect-ratio: 16 / 9; }
  .market-close .section-wrap, .market-stat-band .section-wrap, .market-character-grid, .market-sources .section-wrap { grid-template-columns: 1fr; }
  .market-stat-band .section-wrap, .market-character-grid, .market-sources .section-wrap { gap: 2.5rem; }
  .homecoming-curios, .hero-curio-stack { opacity: .45; }
  .process-hero { min-height: 0; }
  .process-hero-art { min-height: 0; }
  .press-hero { min-height: min(760px, 82svh); }
  .press-hero-image { object-position: 58% center; }
  .press-hero-shade { background: linear-gradient(90deg, rgba(8, 27, 61, .94), rgba(8, 27, 61, .66) 62%, rgba(8, 27, 61, .18)), linear-gradient(0deg, rgba(6, 18, 42, .72), transparent 65%); }
  .underwriting-grid, .mortgage-grid, .track-record-strip .section-wrap { grid-template-columns: 1fr; }
  .market-identity .section-wrap { grid-template-columns: 1fr; }
  .error-page-art { object-position: 64% center; }
  .error-page-shade { background: linear-gradient(90deg, rgba(16, 38, 78, .96), rgba(16, 38, 78, .72) 58%, rgba(16, 38, 78, .18)); }
}

@media(max-width:640px) {
  .agent-actions { grid-template-columns: 1fr; }
  .gateway-proof-strip .section-wrap { grid-template-columns: 1fr; gap: 1rem; }
  .gateway-proof-strip dl { grid-template-columns: 1fr; border-top: 1px solid var(--line); }
  .gateway-proof-strip dl div { min-height: 58px; border-bottom: 1px solid var(--line); }
  .team-portrait-band img { aspect-ratio: 4 / 3; }
  .team-portrait-band figcaption { position: static; max-width: none; border-right: 0; border-bottom: 0; border-left: 0; }
  .error-page-copy { padding: 1.25rem; }
  .error-page-brand { width: 145px; margin-bottom: 3rem; }
  .error-page h1 { font-size: clamp(3.7rem, 19vw, 6rem); }
  .work-switch { display: grid; grid-template-columns: 1fr; gap: .55rem; }
  .work-switch a { width: 100%; justify-content: flex-start; }
  .work-switch b { margin-left: auto; }
  .contact-office-grid { grid-template-columns: 1fr; }
}

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

@media(max-width:760px) {
  html { scroll-padding-top: 76px; }
  .site-header { min-height: 76px; grid-template-columns: 128px 1fr auto; padding: 0 1rem; }
  .brand { width: 128px; }
  .division-links a { min-height: 35px; padding: .45rem .55rem; font-size: .65rem; }
  .header-navigation { top: 76px; max-height: calc(100svh - 76px); grid-template-columns: 1fr; }
  .primary-nav { grid-template-columns: 1fr 1fr; }
  .header-utilities { padding: .7rem 0 0; flex-direction: row; border-top: 1px solid var(--line); border-left: 0; }
  .header-utilities a { min-width: 8rem; }
  .entry-hero { min-height: auto; }
  .entry-hero > img, .entry-shade { height: 520px; }
  .entry-intro { min-height: 520px; padding: 5rem 1.25rem 4rem; display: flex; flex-direction: column; justify-content: center; }
  .entry-intro h1 { font-size: clamp(3.4rem, 16vw, 5.5rem); }
  .entry-choice-grid { position: relative; grid-template-columns: 1fr; }
  .entry-choice { min-height: 285px; padding: 1.5rem 1.25rem; background: var(--navy-deep); }
  .entry-choice.commercial { background: var(--forest-deep); }
  .entry-choice + .entry-choice { border-left: 0; }
  .entry-choice h2 { font-size: clamp(2.8rem, 12vw, 4.4rem); }
  .entry-choice.commercial h2 { font-size: clamp(2.25rem, 10vw, 3.6rem); }
  .page-hero { min-height: 650px; }
  .page-hero--homes > img { object-position: 80% center; }
  .page-hero--commercial > img { object-position: 68% center; }
  .page-hero--homes::after { background: linear-gradient(0deg, rgba(8, 22, 49, .94) 0%, rgba(16, 47, 82, .62) 58%, rgba(16, 47, 82, .17)); }
  .page-hero--commercial::after { background: linear-gradient(0deg, rgba(17, 35, 75, .95) 0%, rgba(112, 83, 18, .68) 58%, rgba(50, 36, 26, .18)); }
  .page-hero h1 { font-size: clamp(3.7rem, 16vw, 6rem); }
  .masthead h1 { font-size: clamp(3.4rem, 14vw, 5.6rem); }
  .property-grid, .values-grid, .feature-groups, .relationship-grid { grid-template-columns: 1fr; }
  .property-gallery-index, .property-gallery-hint { display: none; }
  .property-gallery-controls { right: .75rem; bottom: .75rem; left: .75rem; grid-template-columns: 1fr auto 1fr; }
  .property-gallery-controls button:last-child { justify-content: flex-end; }
  .property-gallery-controls p { min-width: 58px; }
  .gateway-property-grid { grid-template-columns: 1fr; }
  .gateway-property-grid .property-card--feature,
  .gateway-property-grid .property-card--standard { grid-column: auto; }
  .property-card--feature .property-card-media { aspect-ratio: 5 / 4; }
  .property-grid { gap: 2.5rem; }
  .gateway-office-list a { min-height: 82px; grid-template-columns: 1fr auto; }
  .gateway-office-list strong { grid-column: 1; }
  .gateway-office-list b { grid-column: 2; grid-row: 1 / 3; }
  .gateway-contact-actions, .agent-next-links { grid-template-columns: 1fr; }
  .gateway-contact-actions a, .agent-next-links a { min-height: 145px; }
  .service-grid { grid-template-columns: 1fr; }
  .service-grid article { min-height: 310px; }
  .provider-boundary { grid-template-columns: 1fr; }
  .idx-shell { padding-right: 0; padding-left: 0; }
  .idx-toolbar { margin: 0 1rem; }
  .idx-frame { min-height: 660px; border-right: 0; border-left: 0; }
  .idx-frame iframe { min-height: 660px; }
  .idx-fallback { align-items: stretch; flex-direction: column; border-right: 0; border-left: 0; }
  .idx-widget-shell { padding: 4rem 0; }
  .idx-widget-shell .section-heading { align-items: start; }
  .idx-widget-toolbar { margin: 0; align-items: flex-start; flex-direction: column; }
  .idx-widget-panel { max-width: 100%; border-right: 0; border-left: 0; box-shadow: 0 18px 44px rgba(3, 15, 38, .14); }
  .idx-widget-panel--map, .idx-widget-panel--map > idx-prime-map-search { min-height: 680px; }
  .idx-widget-panel--showcase, .idx-widget-panel--carousel { min-height: 300px; padding: .5rem; }
  .idx-widget-shell .idx-fallback { margin-top: 1rem; align-items: stretch; flex-direction: column; }
  .idx-widget-shell .idx-fallback .button { width: 100%; }
  .property-hero-media { min-height: 72vw; }
  .property-source-strip { flex-direction: column; }
  .property-story-grid { grid-template-columns: 1fr; }
  .detail-gallery-grid, .highlight-grid { grid-template-columns: 1fr; }
  .office-card { grid-template-columns: 42px 1fr; gap: 1rem; }
  .office-card > .rule-link { grid-column: 2; justify-self: start; }
  .footer-top { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .footer-groups { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .entry-gate-brand { top: .3rem; width: calc(100% - 1.5rem); }
  .entry-gate-wordmark { width: 112px; }
  .entry-gate-prompt { margin-top: 0; }
  .entry-gate-eyebrow { font-size: .44rem; letter-spacing: .16em; }
  .entry-gate-title { margin: .04rem 0 .08rem !important; font-size: 1rem; }
  .entry-gate-intro { max-width: 58ch; font-size: .49rem; line-height: 1.32; }
  .entry-gate-choices { height: 100svh; min-height: 100svh; flex-direction: column; }
  .gate-choice { min-height: 0; }
  .gate-choice + .gate-choice { border-top: 1px solid rgba(253, 220, 89, .64); border-left: 0; }
  .gate-choice--homes > img { object-position: 72% center; }
  .gate-choice--commercial > img { object-position: 66% center; }
  .gate-choice-copy { min-height: 100%; padding: 5.4rem 1.25rem 1.2rem; }
  .gate-choice--commercial .gate-choice-copy { padding-top: 2.2rem; }
  .gate-index { top: 7.8rem; right: 1.25rem; }
  .gate-choice--commercial .gate-index { top: 1.3rem; }
  .gate-choice-copy > p { margin-bottom: .25rem; font-size: .56rem; }
  .gate-choice-copy h2 { margin-bottom: .4rem; font-size: clamp(2.7rem, 13vw, 4rem); }
  .gate-choice--commercial h2 { font-size: clamp(2rem, 9vw, 3rem); }
  .gate-description { max-width: 38ch; font-size: .72rem; line-height: 1.35; }
  .gate-choice-copy > strong { margin-top: .7rem; padding-top: .55rem; font-size: .58rem; }
  .entry-gate-note { display: none; }
  .entry-gate.is-exiting-homes .gate-choice--commercial { transform: translateY(110%); }
  .entry-gate.is-exiting-commercial .gate-choice--homes { transform: translateY(-110%); }
  .homecoming-hero { min-height: 720px; }
  .homecoming-hero > img { object-position: 45% center; }
  .homecoming-copy h1 { font-size: clamp(4rem, 18vw, 6.4rem); }
  .homecoming-curios, .hero-curio-stack { display: none; }
  .region-diptych, .case-study-grid, .case-study-section--homes .case-study-grid, .gateway-case-grid, .case-facts, .story-practice-links, .form-grid { grid-template-columns: 1fr; }
  .region-portal { min-height: 330px; }
  .atlas-status { display: none; }
  .region-list { grid-template-columns: 1fr; }
  .region-list a { min-height: 130px; }
  .case-study-copy { min-height: 320px; }
  .case-detail-media { min-height: 72vw; }
  .case-detail-copy { min-height: 540px; padding: 3rem 1.25rem; }
  .case-detail-copy h1 { font-size: clamp(3.4rem, 15vw, 5.5rem); }
  .case-facts div { min-height: 120px; }
  .case-transaction dl, .case-gallery-grid { grid-template-columns: 1fr; }
  .case-gallery-grid figure:only-child { grid-column: auto; }
  .case-gallery-grid figure:only-child img { aspect-ratio: 4 / 3; }
  .case-gallery-grid figcaption { grid-template-columns: 1fr; }
  .case-gallery-grid figcaption a { text-align: left; }
  .story-hero { min-height: 720px; }
  .story-hero > img { object-position: 38% center; }
  .story-hero-copy h1 { font-size: clamp(4rem, 19vw, 6.5rem); }
  .story-timeline ol { grid-template-columns: 1fr; }
  .story-timeline li { min-height: 210px; }
  .founding-mark { font-size: clamp(7rem, 34vw, 11rem); }
  .story-practices h2 { font-size: clamp(3.6rem, 16vw, 5.8rem); }
  .market-card-grid, .attraction-grid, .practice-lenses, .market-data-note, .market-stats { grid-template-columns: 1fr; }
  .market-card > a { min-height: 420px; }
  .market-index-copy, .market-hero-copy { padding-top: 4rem; padding-bottom: 4rem; }
  .market-index-copy h1, .market-hero-copy h1 { font-size: clamp(3.6rem, 15vw, 5.8rem); }
  .market-hero-art { min-height: 0; aspect-ratio: 16 / 9; }
  .market-hero-object { width: min(46vw, 260px); }
  .market-stats div { min-height: 155px; }
  .practice-lenses article { min-height: 390px; }
  .attraction-grid article { min-height: 250px; }
  .form-submit { align-items: stretch; flex-direction: column; }
  .form-submit .button { width: 100%; }
  .filter-toolbar { align-items: stretch; flex-direction: column; }
  .smart-search form { grid-template-columns: 1fr; gap: .6rem; }
  .action-lead-grid, .media-workbench-grid, .underwriting-results, .mortgage-results { grid-template-columns: 1fr; }
  .process-steps ol { grid-template-columns: 1fr; }
  .property-action-rail { grid-template-columns: 1fr; }
  .listing-agent-cards { grid-template-columns: 1fr; }
  .property-action-primary { grid-template-columns: 1fr 1fr; }
  .underwriting-results .button { grid-column: 1; }
  .process-hero-art { min-height: 0; }
  .market-symbol { transform: scale(.82); transform-origin: top right; }
  .track-record-strip dl, .track-record-metrics { grid-template-columns: 1fr; }
  .track-record-strip dl > div, .track-record-metrics > div { min-height: 96px; }
  .press-carousel { padding-right: 1.25rem; padding-left: 1.25rem; scroll-padding-inline: 1.25rem; }
  .press-carousel-controls { justify-content: center; }
  .press-card { flex-basis: calc(100vw - 2.5rem); }
  .press-card > a { min-height: 520px; }
  .press-card-meta { align-items: flex-start; }
  .publication-mark { max-width: 70%; }
  .snowflake-easter-egg { bottom: .65rem; left: .65rem; width: 84px; }
}

@media(max-width:480px) {
  .division-links a { width: auto; min-width: 40px; justify-content: center; }
  .division-links a span { display: inline; }
  .primary-nav { grid-template-columns: 1fr; }
  .entry-intro { min-height: 460px; }
  .entry-hero > img, .entry-shade { height: 460px; }
  .button-row { align-items: stretch; flex-direction: column; }
  .button-row .button { width: 100%; }
  .property-hero-copy { min-height: 470px; }
  .property-hero-copy h1 { font-size: clamp(3rem, 15vw, 4.4rem); }
  .agent-hero-media { min-height: 118vw; aspect-ratio: 4 / 5; }
  .agent-hero-copy { min-height: 0; padding: 3rem 1.25rem; }
  .agent-hero-copy .breadcrumb { margin-bottom: 3rem; }
  .agent-hero-copy h1 { font-size: clamp(3.5rem, 17vw, 5.5rem); }
  .agent-actions { grid-template-columns: 1fr; }
  .agent-bio-grid { gap: 3rem; }
  .contact-grid h1 { font-size: clamp(3.5rem, 17vw, 5.5rem); }
  .footer-groups { grid-template-columns: 1fr; }
  .footer-utilities { flex-wrap: wrap; }
  .footer-compliance { gap: .7rem; }
  .footer-eho { width: 42px; }
}

@media(max-width:1180px) and (min-width:761px) {
  .snowflake-easter-egg { width: 98px; }
}

@media(max-width:560px) {
  .site-header { grid-template-columns: 96px 1fr auto; gap: .45rem; padding: 0 .65rem; }
  .brand { width: 96px; }
  .division-links a { min-width: 42px; width: auto; padding: .42rem .35rem; justify-content: center; font-size: .625rem; letter-spacing: .035em; }
  .division-links a span { display: inline; }
}

/* Long canonical labels keep their full meaning without colliding in the shared header. */
@media(max-width:1600px) and (min-width:1181px) {
  .site-header { grid-template-columns: minmax(140px, 160px) auto minmax(0, 1fr); padding-right: 1.1rem; padding-left: 1.1rem; gap: .65rem; }
  .brand { width: min(94%, 158px); }
  .practice-switch-label,
  .practice-commercial-suffix { display: none; }
  .division-links .practice-switch a { padding-right: .55rem; padding-left: .55rem; font-size: .65rem; }
  .header-navigation { gap: .55rem; }
  .primary-nav { gap: clamp(.38rem, .55vw, .6rem); }
  .primary-nav a,
  .header-utilities a { font-size: .72rem; letter-spacing: .05em; }
  .header-utilities { padding-left: .5rem; gap: .3rem; }
}

.contact-options--mailbox .contact-option strong {
  max-width: 100%;
  font-size: clamp(1.35rem, 2.1vw, 2.05rem);
  white-space: nowrap;
}

@media(max-width:760px) {
  .contact-options--mailbox .contact-option { column-gap: .55rem; }
  .contact-options--mailbox .contact-option strong { font-size: clamp(1.18rem, 5.7vw, 1.65rem); }
}

@media(prefers-reduced-motion:reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .entry-gate .entry-gate-choices { --gate-homes-basis: 50% !important; --gate-commercial-basis: 50% !important; }
  .gate-choice > img { transform: none !important; }
  html[data-entry-arrival] body::before, html[data-entry-arrival] body::after { display: none; }
  .atlas-zone:hover .atlas-zone-slice, .atlas-zone:focus-visible .atlas-zone-slice, .atlas-zone.is-active .atlas-zone-slice { transform: none; }
  .story-sequence figure:hover { transform: none; }
  .process-projector-layer, .process-projector-exposure, .process-projector-grain, .process-projector-dust, .process-projector-shutter { display: none; }
  .process-projector-static { display: block; inset: 0; width: 100%; height: 100%; transform: none; }
}

/* Final editorial material and interaction system */
:root {
  --stone: #eee9df;
  --surface-paper: #f7f2e8;
  --surface-paper-deep: #eee7da;
  --surface-field: #d9cca5;
  --surface-ink: #10264e;
  --surface-document: #fffdf7;
  --header-height: 82px;
  --header-height-mobile: 74px;
  --shadow-rest: 0 12px 32px rgba(57, 45, 29, .09);
  --shadow-hover: 0 20px 46px rgba(57, 45, 29, .14);
  --shadow-document: 0 18px 48px rgba(57, 45, 29, .13);
  --section-compact: clamp(2.6rem, 4.15vw, 4.25rem);
  --section-standard: clamp(3.6rem, 6.1vw, 6.3rem);
  --section-feature: clamp(4rem, 7.2vw, 7.2rem);
  --section-transition: clamp(3.15rem, 5.1vw, 5.1rem);
  --section-hero: clamp(4.4rem, 8.6vw, 7.8rem);
  --section-space: var(--section-standard);
  --section-space-compact: var(--section-compact);
}

html { scroll-padding-top: calc(var(--header-height) + 14px); }
html, body { max-width: 100%; overflow-x: clip; }

.section-heading { margin-bottom: clamp(1.8rem, 3.7vw, 3.55rem); }
.section-heading h2, .editorial-title { margin-bottom: .9rem; }
.section-heading .overline { margin-bottom: .62rem; }
.button-row { gap: .68rem; margin-top: 1.45rem; }

/* Shorter browse-page openings; preserve headline typography and artwork. */
body:is([data-page-type='featured-index'], [data-page-type='idx-search']) .masthead-inner {
  padding-top: clamp(2.5rem, 4.5vw, 4.25rem);
  padding-bottom: clamp(2rem, 3.5vw, 3.25rem);
}
body[data-page-type='market-guide'] .market-hero {
  min-height: 620px;
}
body[data-page-type='market-guide'] .market-hero-copy,
body[data-page-path='/markets/'] .market-index-copy {
  padding-top: clamp(2.5rem, 4.5vw, 4.25rem);
  padding-bottom: clamp(2.5rem, 4.5vw, 4.25rem);
}
@media (min-width: 901px) {
  body[data-page-path='/markets/'] .market-index-hero {
    min-height: min(640px, calc(100svh - var(--header-height)));
  }
}

/* One compact, optically aligned shared header. */
.site-header {
  min-height: var(--header-height);
  grid-template-columns: minmax(148px, 174px) auto minmax(0, 1fr);
  box-shadow: 0 6px 22px rgba(57, 45, 29, .08);
}
.brand { width: min(96%, 167px); transform: translateY(1px); }
.division-links { gap: .55rem; }
.division-links a,
.primary-nav a,
.header-utilities a,
.primary-nav a[data-nav-emphasis='primary'] { min-height: 48px; }
.primary-nav a { display: inline-flex; align-items: center; }
.primary-nav a::after { bottom: .48rem; }
.primary-nav a[data-nav-emphasis='primary'] { padding-top: .55rem; padding-bottom: .55rem; }
.header-utilities a { padding-top: .55rem; padding-bottom: .55rem; }
.division-links .practice-switch a { min-height: 48px; }
.entry-hero,
.homecoming-hero,
.story-hero { min-height: min(840px, calc(100svh - var(--header-height))); }
.page-hero { min-height: min(720px, calc(100svh - var(--header-height))); }

/* Paper/gallery surfaces: tonal, never decorative wallpaper. */
.featured-section,
.gateway-featured,
.search-edit-section,
.team-directory,
.gateway-work,
.case-study-section--homes,
.case-study-section--commercial,
.case-study-section--all,
.press-carousel-section {
  background-color: var(--stone);
  background-image:
    radial-gradient(circle at 16% 10%, rgba(255, 255, 255, .34), transparent 31%),
    repeating-linear-gradient(135deg, rgba(86, 70, 47, .012) 0 1px, transparent 1px 7px);
}
.case-study-section--commercial,
.case-study-section--all { color: var(--ink); }
.case-study-section--commercial .lede,
.case-study-section--all .lede { color: var(--muted); }

/* Canonical property card: restrained gallery object. */
.property-card {
  border-color: rgba(176, 138, 73, .46);
  border-radius: var(--radius-property);
  background: var(--surface-document);
  box-shadow: var(--shadow-rest);
}
.property-card-media { background: #d9d4c8; }
.property-card-copy { padding: clamp(1rem, 1.7vw, 1.35rem); }
.property-price { margin: .68rem 0 .58rem; font-size: clamp(1.65rem, 2.3vw, 2.18rem); }
.property-card-copy h3 { margin-bottom: .48rem; }
.property-card-actions button,
.property-card-view { min-height: 44px; }
.property-card:focus-within { border-color: var(--brand-blue); box-shadow: var(--shadow-hover); }
.property-card-main:focus-visible { outline-offset: -4px; }

/* Work remains a distinct mounted-print family on one gallery surface. */
.case-study-card {
  overflow: hidden;
  border-color: rgba(176, 138, 73, .5);
  border-radius: var(--radius-editorial);
  background: var(--surface-document);
  box-shadow: var(--shadow-document);
  transition: transform var(--motion-medium) var(--ease-editorial), box-shadow var(--motion-medium) ease, border-color var(--motion-medium) ease;
}
.case-study-media { aspect-ratio: 16 / 10; }
.case-study-media img { filter: saturate(.96) contrast(.995); }
.case-study-copy { min-height: 350px; padding: 1.3rem; flex: 1; }
.case-study-copy h3 { min-height: 1.88em; margin-bottom: .85rem; }
.case-study-copy > p:not(.overline) { min-height: 5.1rem; margin-bottom: 1.25rem; }
.case-study-card:focus-within { border-color: var(--brand-blue); box-shadow: var(--shadow-hover); }
.case-study-card > a:focus-visible { outline-offset: -4px; }

/* People cards are one coherent portrait directory and one whole-card target. */
.team-directory { background-color: var(--surface-paper); }
.team-card {
  position: relative;
  background: var(--surface-document);
  transition: background var(--motion-fast) ease, box-shadow var(--motion-medium) ease, transform var(--motion-medium) var(--ease-editorial);
}
.team-card-link { height: 100%; display: flex; flex-direction: column; color: inherit; text-decoration: none; }
.team-card-link .team-card-media { flex: 0 0 auto; }
.team-card-link > img,
.team-card-link > .agent-monogram { width: 100%; aspect-ratio: 4 / 4.35; flex: 0 0 auto; object-fit: cover; object-position: center 18%; }
.team-card-link > img { filter: saturate(1.01) contrast(1.01); transition: transform .45s var(--ease-editorial), filter .45s ease; }
.team-card-link > .agent-monogram { width: 72%; margin: auto; }
.team-card-link .team-card-copy { flex: 1; }
.team-card-link:focus-visible { outline-offset: -4px; }
.team-card-media img { filter: saturate(1.01) contrast(1.01); }
.team-card-copy { min-height: 390px; }
.team-card-link .profile-link { margin-top: auto; padding-top: 1.05rem; display: flex; justify-content: space-between; gap: 1rem; color: var(--brand-blue); font-size: .62rem; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }

/* Field Atlas cards stay cartographic; interaction resolves to WMR navy. */
.market-directory { background-color: var(--surface-paper); background-image: repeating-linear-gradient(0deg, transparent 0, transparent 47px, rgba(0, 43, 142, .025) 48px); }
.market-card > a {
  background: rgba(255, 253, 247, .78);
  transition: background var(--motion-medium) ease, color var(--motion-medium) ease, box-shadow var(--motion-medium) ease, transform var(--motion-medium) var(--ease-editorial);
}
.market-card img,
.market-symbol-vignette { filter: saturate(.72) drop-shadow(0 7px 9px rgba(16, 38, 78, .13)); }
.market-card > a:focus-visible { z-index: 1; outline-offset: -4px; }

/* Press uses an editorial clipping, not an application card. */
.press-card { transition: transform var(--motion-medium) var(--ease-editorial), filter var(--motion-medium) ease; }
.press-card > a { box-shadow: var(--shadow-document); transition: box-shadow var(--motion-medium) ease, border-color var(--motion-medium) ease; }
.press-card-copy { padding: 1.3rem; }
.press-card-meta { margin-bottom: .65rem; align-items: baseline; justify-content: space-between; }
.publication-mark { min-height: 1.8rem; font-size: .96rem; }
.press-card-meta time { font-size: .59rem; }
.press-card-copy h2 { margin-bottom: .85rem; line-height: .99; }
.press-card-summary,
.press-card-fact,
.press-card-quote { min-height: 4.85rem; margin-bottom: 1.15rem; }
.press-card-quote p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.press-card > a:focus-visible { outline-offset: -4px; }

/* Homepage practice orientation replaces repeated proof without competing with the gate. */
.gateway-practice-intro { background: var(--surface-paper); border-bottom: 1px solid var(--line); }
.gateway-practice-intro > .section-wrap { padding-top: var(--section-space-compact); padding-bottom: var(--section-space-compact); }
.gateway-practice-grid { display: grid; grid-template-columns: minmax(240px, .62fr) minmax(0, 1.38fr); gap: clamp(2rem, 8vw, 8rem); align-items: end; }
.gateway-practice-grid > div:first-child h2 { max-width: 12ch; margin: .1rem 0 1rem; font: 400 clamp(2.7rem, 5vw, 5.5rem)/.95 var(--serif); letter-spacing: -.045em; }
.gateway-practice-grid > div:first-child > p:last-child { max-width: 52ch; margin: 0; color: var(--muted); line-height: 1.72; }
.gateway-practice-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.gateway-practice-link { min-height: 220px; padding: clamp(1.2rem, 2.5vw, 2rem); display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto 1fr; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255, 253, 247, .58); color: inherit; text-decoration: none; transition: background var(--motion-fast) ease, color var(--motion-fast) ease, transform var(--motion-medium) var(--ease-editorial); }
.gateway-practice-link .overline { color: var(--muted); }
.gateway-practice-link > span { grid-column: 1 / -1; color: var(--muted); font-size: .58rem; font-weight: 700; letter-spacing: .1em; line-height: 1.45; text-transform: uppercase; }
.gateway-practice-link > strong { grid-column: 1; align-self: end; margin-top: 2rem; padding-top: .75rem; border-top: 1px solid currentColor; font: 400 clamp(2rem, 3.5vw, 3.7rem)/.95 var(--serif); letter-spacing: -.035em; }
.gateway-practice-link > b { grid-column: 2; grid-row: 2; align-self: end; padding: .75rem 0 0 .7rem; border-top: 1px solid currentColor; color: var(--brand-blue); }
.gateway-practice-link:focus-visible { outline-offset: -4px; }

/* A quiet broker-review path inside the existing service section. */
.service-section--homes { background-color: var(--surface-paper); background-image: radial-gradient(circle at 8% 88%, rgba(176, 138, 73, .08), transparent 30%); }
.service-section--commercial { background-color: var(--navy-deep); background-image: linear-gradient(rgba(253, 220, 89, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(253, 220, 89, .035) 1px, transparent 1px); background-size: 48px 48px; color: var(--white); }
.service-section--commercial .section-heading .lede,
.service-section--commercial .service-grid p { color: rgba(255, 255, 255, .68); }
.service-section--commercial .service-grid { border-color: rgba(255, 255, 255, .24); }
.service-section--commercial .service-grid article { border-color: rgba(255, 255, 255, .24); }
.service-section--commercial .service-grid .number { color: var(--brand-yellow); }
.service-section--commercial .service-grid a { color: var(--brand-yellow); }
.discreet-service-panel { margin-top: clamp(1.6rem, 3vw, 2.8rem); padding: clamp(1.15rem, 2.2vw, 1.8rem) 0; display: grid; grid-template-columns: minmax(220px, .52fr) minmax(0, 1.48fr); gap: clamp(1.5rem, 5vw, 5rem); align-items: start; border-top: 1px solid currentColor; border-bottom: 1px solid currentColor; }
.discreet-service-panel h3 { max-width: 15ch; margin: .1rem 0 0; font: 400 clamp(1.8rem, 3.2vw, 3.25rem)/.98 var(--serif); letter-spacing: -.03em; }
.discreet-service-panel > div:last-child > p { max-width: 68ch; margin: 0 0 1rem; color: var(--muted); font-size: .86rem; line-height: 1.72; }
.service-section--commercial .discreet-service-panel > div:last-child > p,
.service-section--commercial .discreet-service-panel .overline { color: inherit; opacity: .72; }

/* Shared vertical rhythm: breath around major canvases, compression at transitions. */
.region-showcase > .section-wrap,
.gateway-regions > .section-wrap,
.story-practices > .section-wrap,
.gateway-heritage > .section-wrap { padding-top: var(--section-feature); padding-bottom: var(--section-feature); }

.featured-section > .section-wrap:not(.compact),
.gateway-featured > .section-wrap:not(.compact),
.gateway-directory > .section-wrap:not(.compact) { padding-top: var(--section-standard); padding-bottom: var(--section-standard); }

.service-section > .section-wrap:not(.compact),
.case-study-section > .section-wrap:not(.compact),
.gateway-work > .section-wrap:not(.compact),
.proof-band > .section-wrap:not(.compact) { padding-top: var(--section-transition); padding-bottom: var(--section-transition); }

.gateway-contact-band > .section-wrap { padding-top: var(--section-transition); padding-bottom: var(--section-transition); }

/* Story scenes keep their internal compositions; only the inter-scene pause tightens. */
.story-sequence li { padding-top: clamp(1rem, 2.4vw, 2rem); padding-bottom: clamp(1rem, 2.4vw, 2rem); }

/* The character change remains asymmetric, but no longer behaves like a full-page chapter. */
.market-character > .section-wrap { padding-top: var(--section-compact); padding-bottom: var(--section-compact); }
.practice-lenses { margin-top: clamp(2rem, 4.4vw, 4.4rem); }
.practice-lenses article { min-height: 380px; padding: clamp(1.25rem, 2.35vw, 2.35rem); }
.practice-lenses h3 { margin-top: clamp(2rem, 4vw, 3.6rem); margin-bottom: 1.15rem; }
.practice-lenses ul { margin-bottom: 1.3rem; }
.practice-lenses li { padding-top: .56rem; padding-bottom: .56rem; }

/* The contact form and office grid use independent row/column rhythm. */
.contact-panel > .section-wrap { padding-top: var(--section-standard); padding-bottom: var(--section-standard); }
.contact-panel .contact-grid { column-gap: clamp(3rem, 8vw, 8rem); row-gap: var(--section-compact); }
.contact-panel .contact-options { margin-top: clamp(2rem, 3vw, 2.55rem); }

/* Process body: six materially distinct chapters; projector hero is intentionally untouched. */
.process-system { position: relative; isolation: isolate; background: var(--surface-paper); }
.process-system-intro { padding-top: var(--section-transition); padding-bottom: var(--section-transition); display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); gap: clamp(2rem, 6vw, 6rem); align-items: end; }
.process-system-intro h2 { max-width: 13ch; margin: .15rem 0 0; font: 400 clamp(3rem, 5.6vw, 6rem)/.93 var(--serif); letter-spacing: -.048em; }
.process-system-intro > p { max-width: 62ch; margin: 0; color: var(--muted); font-size: clamp(.95rem, 1.25vw, 1.1rem); line-height: 1.78; }
.process-route-nav {
  position: sticky;
  z-index: 30;
  top: var(--header-height);
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  background: rgba(247, 242, 232, .96);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 8px 22px rgba(57, 45, 29, .06);
  backdrop-filter: blur(14px);
}
.process-route-link {
  position: relative;
  min-width: 0;
  min-height: 56px;
  padding: .68rem clamp(.5rem, 1.2vw, 1rem);
  display: flex;
  align-items: center;
  gap: .5rem;
  border-right: 1px solid var(--line);
  color: var(--muted);
  font-size: .58rem;
  font-weight: 700;
  letter-spacing: .08em;
  text-decoration: none;
  text-transform: uppercase;
  transition: background var(--motion-fast) ease, color var(--motion-fast) ease;
}
.process-route-link:last-child { border-right: 0; }
.process-route-link span { color: var(--brand-blue); font-variant-numeric: tabular-nums; }
.process-route-link::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 2px; background: var(--brand-blue); content: ''; transform: scaleX(0); transition: transform var(--motion-medium) var(--ease-editorial); }
.process-route-link[aria-current='true'],
.process-route-link[aria-current='step'],
.process-route-link.is-active { background: var(--surface-document); color: var(--navy-deep); }
.process-route-link[aria-current='true']::after,
.process-route-link[aria-current='step']::after,
.process-route-link.is-active::after { transform: scaleX(1); }
.process-route-link:focus-visible { z-index: 1; outline-offset: -4px; }

.process-phase { position: relative; min-height: clamp(580px, 64vw, 800px); overflow: hidden; border-bottom: 1px solid var(--line); }
.process-phase::before { position: absolute; inset: 0; content: ''; pointer-events: none; opacity: .5; }
.process-phase__inner { position: relative; z-index: 1; width: min(100%, var(--content)); min-height: inherit; margin: 0 auto; padding: clamp(4rem, 6.8vw, 6.8rem) var(--gutter); display: grid; grid-template-columns: minmax(270px, .68fr) minmax(0, 1.32fr); gap: clamp(3rem, 9vw, 9rem); align-items: center; }
.process-phase:nth-of-type(even) .process-phase__copy { order: 2; }
.process-phase:nth-of-type(even) .process-phase__media { order: 1; }
.process-phase__copy { min-width: 0; }
.process-phase__number { display: block; margin-bottom: clamp(2.2rem, 5vw, 5rem); color: var(--brand-blue); font: 400 clamp(4.5rem, 9vw, 9rem)/.72 var(--serif); letter-spacing: -.075em; opacity: .22; }
.process-phase__eyebrow { margin: 0 0 .7rem; font-size: .61rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.process-phase__copy h2 { max-width: 11ch; margin: 0 0 1rem; font: 400 clamp(3rem, 5.6vw, 6rem)/.92 var(--serif); letter-spacing: -.048em; text-wrap: balance; }
.process-phase__copy > p:not(.process-phase__eyebrow) { max-width: 56ch; margin: 0; color: var(--muted); font-size: clamp(.94rem, 1.2vw, 1.08rem); line-height: 1.78; }
.process-phase__actions { margin-top: 1.35rem; display: flex; flex-wrap: wrap; gap: .65rem; }
.process-phase__media { min-width: 0; display: grid; grid-template-columns: 1fr; gap: clamp(.75rem, 1.6vw, 1.4rem); align-items: stretch; }
.process-phase__figure { position: relative; min-width: 0; margin: 0; padding: clamp(.32rem, .6vw, .52rem); display: flex; flex-direction: column; overflow: hidden; border: 1px solid rgba(176, 138, 73, .52); border-radius: var(--radius-editorial); background: #e9dfcc; box-shadow: var(--shadow-document), inset 0 0 0 1px rgba(255, 254, 250, .68); }
.process-phase__figure:first-child:last-child { grid-column: 1 / -1; }
.process-phase__figure img { width: 100%; aspect-ratio: 4 / 3; border: 1px solid rgba(57, 45, 29, .12); object-fit: cover; }
.process-phase__figure figcaption { padding: .58rem .2rem .05rem; color: var(--muted); font-size: .54rem; font-weight: 700; letter-spacing: .09em; line-height: 1.45; text-transform: uppercase; }
.process-phase__media:has(.process-phase__diagram) { grid-template-columns: minmax(0, 1.15fr) minmax(210px, .85fr); }
.process-phase__media:has(.process-phase__diagram) .process-phase__figure img { min-height: 360px; flex: 1; aspect-ratio: auto; }
.process-phase__diagram { position: relative; min-height: 360px; padding: clamp(1.2rem, 3vw, 2.6rem); display: grid; align-content: center; gap: .8rem; overflow: hidden; border: 1px solid currentColor; background: rgba(255, 255, 255, .035); }
.process-phase__diagram::before,
.process-phase__diagram::after { position: absolute; content: ''; pointer-events: none; }
.process-phase__diagram::before { inset: 10%; border: 1px solid currentColor; opacity: .36; }
.process-phase__diagram::after { top: 18%; right: 16%; bottom: 18%; left: 16%; background: linear-gradient(90deg, transparent 32%, currentColor 32% 33%, transparent 33% 66%, currentColor 66% 67%, transparent 67%), linear-gradient(0deg, transparent 32%, currentColor 32% 33%, transparent 33% 66%, currentColor 66% 67%, transparent 67%); opacity: .18; }
.process-phase__diagram ul,
.process-phase__diagram ol { margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid currentColor; border-left: 1px solid currentColor; list-style: none; }
.process-phase__diagram li { min-height: 94px; padding: .8rem; display: flex; align-items: end; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; font-size: .66rem; font-weight: 700; letter-spacing: .07em; line-height: 1.45; text-transform: uppercase; }
.process-phase__notes { margin: 1.25rem 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; }
.process-phase__notes > * { margin: 0; padding: .45rem .6rem; border: 1px solid currentColor; font-size: .57rem; font-weight: 700; letter-spacing: .07em; line-height: 1.4; text-transform: uppercase; }

.process-phase--paper,
.process-phase--document {
  background-color: var(--surface-paper);
  color: var(--ink);
}
.process-phase--paper::before { background: radial-gradient(circle at 84% 12%, rgba(255, 255, 255, .42), transparent 32%), repeating-linear-gradient(0deg, transparent 0, transparent 54px, rgba(0, 43, 142, .025) 55px); }
.process-phase--document { background-color: var(--surface-document); }
.process-phase--document::before { background: linear-gradient(90deg, transparent 0 8%, rgba(176, 138, 73, .05) 8% calc(8% + 1px), transparent calc(8% + 1px)), repeating-linear-gradient(0deg, transparent 0 42px, rgba(23, 36, 57, .025) 43px); }
.process-phase--field { background: var(--surface-field); color: var(--navy-deep); }
.process-phase--field::before { background: radial-gradient(ellipse at 10% 92%, transparent 0 24%, rgba(16, 38, 78, .055) 24.2% 24.5%, transparent 24.7% 35%, rgba(16, 38, 78, .04) 35.2% 35.5%, transparent 35.7%); }
.process-phase--blueprint,
.process-phase--ink { background-color: var(--surface-ink); color: var(--white); border-color: rgba(255, 255, 255, .18); }
.process-phase--blueprint::before { background-image: linear-gradient(rgba(253, 220, 89, .045) 1px, transparent 1px), linear-gradient(90deg, rgba(253, 220, 89, .045) 1px, transparent 1px); background-size: 34px 34px; }
.process-phase--ink::before { background: radial-gradient(circle at 78% 22%, rgba(253, 220, 89, .055), transparent 26%), repeating-linear-gradient(0deg, transparent 0, transparent 59px, rgba(255, 255, 255, .025) 60px); }
.process-phase--blueprint .process-phase__number,
.process-phase--ink .process-phase__number { color: var(--brand-yellow); opacity: .28; }
.process-phase--blueprint .process-phase__copy > p:not(.process-phase__eyebrow),
.process-phase--ink .process-phase__copy > p:not(.process-phase__eyebrow),
.process-phase--blueprint .process-phase__figure figcaption,
.process-phase--ink .process-phase__figure figcaption { color: rgba(255, 255, 255, .68); }
.process-phase--blueprint .process-phase__figure,
.process-phase--ink .process-phase__figure { border-color: rgba(253, 220, 89, .46); background: #162f5b; box-shadow: 0 20px 50px rgba(2, 10, 26, .25), inset 0 0 0 1px rgba(255, 255, 255, .08); }
.process-phase--presentation .process-phase__media { align-items: stretch; }
.process-phase__media--pair { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.process-phase__media--pair .process-phase__figure img { min-height: 360px; flex: 1; aspect-ratio: auto; }
.process-phase__artifact img { background: #fff; object-fit: contain; }
.process-phase--presentation .process-phase__diagram { color: var(--brand-blue); background-color: #ede4d2; background-image: linear-gradient(rgba(0, 43, 142, .08) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 43, 142, .08) 1px, transparent 1px); background-size: 24px 24px; }
.process-phase--market .process-phase__diagram,
.process-phase--closing .process-phase__diagram { color: rgba(255, 255, 255, .76); }
.process-phase--market .process-phase__diagram { background-image: radial-gradient(circle at 20% 25%, var(--brand-yellow) 0 4px, transparent 5px), radial-gradient(circle at 74% 22%, var(--brand-yellow) 0 4px, transparent 5px), radial-gradient(circle at 50% 52%, var(--brand-yellow) 0 5px, transparent 6px), radial-gradient(circle at 24% 78%, var(--brand-yellow) 0 4px, transparent 5px), radial-gradient(circle at 78% 76%, var(--brand-yellow) 0 4px, transparent 5px), linear-gradient(30deg, transparent 49.5%, rgba(253, 220, 89, .22) 50%, transparent 50.5%), linear-gradient(-28deg, transparent 49.5%, rgba(253, 220, 89, .18) 50%, transparent 50.5%); }
.process-distribution-diagram ul { position: absolute; z-index: 1; inset: 0; display: block; border: 0; }
.process-distribution-diagram li { position: absolute; min-height: 0; max-width: 104px; padding: .28rem .38rem; display: block; border: 1px solid rgba(255, 255, 255, .28); background: rgba(10, 32, 72, .88); font-size: .48rem; line-height: 1.25; text-align: center; }
.process-distribution-diagram li:nth-child(1) { top: 28%; left: 8%; }
.process-distribution-diagram li:nth-child(2) { top: 36%; left: 43%; }
.process-distribution-diagram li:nth-child(3) { top: 18%; right: 5%; }
.process-distribution-diagram li:nth-child(4) { bottom: 18%; left: 8%; }
.process-distribution-diagram li:nth-child(5) { right: 5%; bottom: 27%; }
.process-phase--response .process-phase__notes > * { background: rgba(255, 255, 255, .5); }
.process-response-sheet { position: relative; min-height: 470px; padding: clamp(1.6rem, 4vw, 3.4rem); overflow: hidden; border: 1px solid rgba(176, 138, 73, .58); background-color: #f4eddf; background-image: repeating-linear-gradient(0deg, transparent 0, transparent 47px, rgba(0, 43, 142, .09) 48px); box-shadow: var(--shadow-document), inset 0 0 0 1px rgba(255, 255, 255, .8); transform: rotate(-.35deg); }
.process-response-sheet::before { position: absolute; top: 0; bottom: 0; left: 12%; width: 1px; background: rgba(166, 73, 55, .22); content: ''; }
.process-response-sheet > * { position: relative; z-index: 1; }
.process-response-sheet__head { padding-bottom: 1.1rem; display: flex; justify-content: space-between; gap: 1rem; border-bottom: 2px solid var(--brand-blue); }
.process-response-sheet__head span { color: var(--brand-blue); font-size: .56rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.process-response-sheet__head strong { font: 400 clamp(1.7rem, 3vw, 2.8rem)/1 var(--serif); }
.process-response-sheet dl { margin: clamp(1.6rem, 4vw, 3rem) 0 0; }
.process-response-sheet dl div { padding: 1rem 0 1rem 14%; display: grid; grid-template-columns: minmax(120px, .45fr) minmax(0, 1fr); gap: 1rem; border-bottom: 1px solid rgba(0, 43, 142, .22); }
.process-response-sheet dt { color: var(--brand-blue); font-size: .57rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.process-response-sheet dd { margin: 0; font: italic 400 clamp(1.15rem, 2vw, 1.6rem)/1.2 var(--serif); }
.process-response-sheet__note { width: fit-content; margin: 1.7rem 6% 0 auto; color: #76513e; font: italic 400 clamp(1.1rem, 2vw, 1.55rem)/1.2 var(--serif); transform: rotate(-2deg); }
.process-response-sheet__caption { margin: 2rem 0 0 14%; color: var(--muted); font-size: .52rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }

/* Final material pass: four restrained moments, never a repeating icon system. */
.story-practices {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background-image: none;
}
.story-practices::after {
  position: absolute;
  z-index: 0;
  right: clamp(-10rem, -7vw, -4rem);
  bottom: clamp(-12rem, -10vw, -5rem);
  width: clamp(300px, 42vw, 640px);
  aspect-ratio: 1;
  background: url('/assets/ornaments/bankers-lamp.webp') center / contain no-repeat;
  content: '';
  opacity: .04;
  pointer-events: none;
  mix-blend-mode: multiply;
  transform: rotate(-7deg);
}
.story-practices > .section-wrap { position: relative; z-index: 1; }

.process-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.process-hero::before {
  position: absolute;
  z-index: 0;
  inset: -16% -8%;
  background-image:
    radial-gradient(circle at 14% 72%, transparent 0 116px, var(--navy-deep) 117px 119px, transparent 120px 168px, var(--navy-deep) 169px 171px, transparent 172px),
    linear-gradient(17deg, transparent 0 24%, var(--navy-deep) 24.15% 24.45%, transparent 24.6% 58%, var(--navy-deep) 58.15% 58.45%, transparent 58.6%),
    linear-gradient(76deg, transparent 0 42%, var(--navy-deep) 42.15% 42.45%, transparent 42.6%),
    linear-gradient(112deg, transparent 0 68%, var(--navy-deep) 68.15% 68.45%, transparent 68.6%);
  content: '';
  opacity: .035;
  pointer-events: none;
  transform: rotate(-2deg);
}
.process-hero > * { position: relative; z-index: 1; }

.track-record-strip--homes {
  isolation: isolate;
  background-image: none;
}
.track-record-strip--homes::before {
  position: absolute;
  z-index: 0;
  right: clamp(-10rem, -7vw, -4rem);
  bottom: clamp(-13rem, -11vw, -6rem);
  width: clamp(330px, 39vw, 610px);
  aspect-ratio: 1;
  background: url('/assets/ornaments/horse.webp') center / contain no-repeat;
  content: '';
  opacity: .042;
  pointer-events: none;
  mix-blend-mode: screen;
  transform: rotate(5deg);
}

.market-identity {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}
.market-identity::before {
  position: absolute;
  z-index: 0;
  inset: -80% -12% -95% 34%;
  background-image:
    repeating-radial-gradient(ellipse at 68% 46%, transparent 0 30px, var(--navy-deep) 31px 33px, transparent 34px 60px),
    repeating-radial-gradient(ellipse at 18% 72%, transparent 0 44px, var(--navy-deep) 45px 47px, transparent 48px 82px);
  content: '';
  opacity: .025;
  pointer-events: none;
  transform: rotate(-8deg);
}
.market-identity > .section-wrap { position: relative; z-index: 1; }

/* Two deliberate mounted-object overlaps; all utility and legal pages remain flat. */
@media(min-width:901px) {
  .story-sequence > .section-wrap { padding-bottom: 0; }
  .story-sequence li:last-child { padding-bottom: 0; }
  .story-sequence li:last-child figure { position: relative; z-index: 3; bottom: -28px; }
  .process-phase--presentation .process-phase__artifact { z-index: 2; margin-right: -26px; margin-bottom: -24px; }
}

@media (hover: hover) and (pointer: fine) {
  .property-card:hover,
  .property-card:focus-within,
  .case-study-card:hover,
  .case-study-card:focus-within,
  .team-card:hover,
  .team-card:focus-within,
  .market-agent-card:hover,
  .market-agent-card:focus-visible,
  .press-card:hover,
  .press-card:focus-within { transform: translateY(-4px); }
  .property-card:hover,
  .property-card:focus-within,
  .case-study-card:hover,
  .case-study-card:focus-within,
  .market-agent-card:hover,
  .market-agent-card:focus-visible,
  .press-card:hover > a,
  .press-card:focus-within > a { box-shadow: var(--shadow-hover); }
  .case-study-card:hover .case-study-media img,
  .case-study-card:focus-within .case-study-media img,
  .team-card:hover .team-card-media img,
  .team-card:focus-within .team-card-media img,
  .team-card:hover .team-card-link > img,
  .team-card:focus-within .team-card-link > img,
  .press-card:hover .press-card-art img,
  .press-card:focus-within .press-card-art img { transform: scale(1.02); }
  .team-card:hover,
  .team-card:focus-within { background: #fffdf7; box-shadow: var(--shadow-rest); }
  .market-card > a:hover,
  .market-card > a:focus-visible { z-index: 1; background: var(--navy-deep); color: var(--white); box-shadow: var(--shadow-hover), inset 0 0 0 1px rgba(253, 220, 89, .28); transform: translateY(-3px); }
  .market-card > a:hover p,
  .market-card > a:focus-visible p { color: rgba(255, 255, 255, .72); }
  .market-card > a:hover strong,
  .market-card > a:focus-visible strong,
  .market-card > a:hover .overline,
  .market-card > a:focus-visible .overline { color: var(--brand-yellow); }
  .market-card > a:hover .market-counties,
  .market-card > a:focus-visible .market-counties { border-color: rgba(255, 255, 255, .45); color: var(--white); }
  .market-card > a:hover .market-symbol-vignette,
  .market-card > a:focus-visible .market-symbol-vignette { filter: saturate(.88) drop-shadow(0 9px 12px rgba(0, 0, 0, .2)); transform: translate(-2px, -3px) scale(1.02); }
  .market-card > a:hover img,
  .market-card > a:focus-visible img { transform: scale(1.02); }
  .process-phase__figure { transition: transform var(--motion-medium) var(--ease-editorial), box-shadow var(--motion-medium) ease; }
  .process-phase__figure:hover { transform: translateY(-3px); box-shadow: var(--shadow-hover), inset 0 0 0 1px rgba(255, 254, 250, .75); }
  .gateway-practice-link:hover,
  .gateway-practice-link:focus-visible { background: var(--navy-deep); color: var(--white); transform: translateY(-3px); }
  .gateway-practice-link:hover .overline,
  .gateway-practice-link:focus-visible .overline { color: rgba(255, 255, 255, .65); }
  .gateway-practice-link:hover > strong,
  .gateway-practice-link:focus-visible > strong { color: var(--white); }
  .gateway-practice-link:hover > span,
  .gateway-practice-link:focus-visible > span { color: rgba(255, 255, 255, .65); }
  .gateway-practice-link:hover > b,
  .gateway-practice-link:focus-visible > b { color: var(--brand-yellow); }
  .service-section--commercial .service-grid article:hover,
  .service-section--commercial .service-grid article:focus-within { background: rgba(255, 255, 255, .055); color: var(--white); }
}

@media(max-width:1180px) {
  .site-header { grid-template-columns: 148px 1fr auto; }
  .header-navigation { top: var(--header-height); max-height: calc(100svh - var(--header-height)); }
  .market-agent-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .process-phase__inner { grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr); gap: clamp(2rem, 5vw, 4.5rem); }
}

@media(max-width:1380px) and (min-width:1181px) {
  .site-header { grid-template-columns: minmax(136px, 156px) auto minmax(0, 1fr); padding-right: 1.1rem; padding-left: 1.1rem; gap: .62rem; }
  .brand { width: min(94%, 154px); }
  .practice-switch-label { display: none; }
  .division-links { gap: .3rem; }
  .division-links .practice-switch a { padding-right: .48rem; padding-left: .48rem; font-size: .625rem; }
  .header-navigation { gap: .55rem; }
  .primary-nav { gap: .48rem; }
  .primary-nav a,
  .header-utilities a { font-size: .6875rem; letter-spacing: .05em; }
  .header-utilities { padding-left: .5rem; gap: .3rem; }
}

@media(max-width:900px) {
  .gateway-practice-grid { grid-template-columns: 1fr; gap: 2rem; }
  .process-system-intro { grid-template-columns: 1fr; gap: 1.2rem; }
  .process-route-nav { overflow-x: auto; grid-template-columns: repeat(6, minmax(118px, 1fr)); scrollbar-width: thin; }
  .process-phase { min-height: 0; }
  .process-phase__inner { grid-template-columns: 1fr; gap: 2.4rem; }
  .process-phase:nth-of-type(even) .process-phase__copy,
  .process-phase:nth-of-type(even) .process-phase__media { order: initial; }
  .process-phase__number { margin-bottom: 1.8rem; }
  .process-phase__copy h2 { max-width: 13ch; }
  .case-study-copy > .overline { min-height: 2.8em; }
  .case-study-copy h3 { min-height: 2.82em; }
  .case-study-copy > p:not(.overline) { min-height: 6.8em; }
}

@media(max-width:760px) {
  :root { --gutter: 1.25rem; }
  html { scroll-padding-top: calc(var(--header-height-mobile) + 12px); }
  .site-header { min-height: var(--header-height-mobile); grid-template-columns: 124px 1fr auto; padding: 0 1rem; }
  .brand { width: 119px; transform: translateY(1px); }
  .header-navigation { top: var(--header-height-mobile); max-height: calc(100svh - var(--header-height-mobile)); }
  .division-links a { min-height: 44px; }
  .practice-commercial-suffix { display: none !important; }
  .entry-hero,
  .homecoming-hero,
  .story-hero { min-height: 720px; }
  .section-heading { margin-bottom: 1.8rem; }
  .property-card-copy { padding: 1rem; }
  .case-study-copy { min-height: 320px; }
  .case-study-copy > .overline,
  .case-study-copy h3,
  .case-study-copy > p:not(.overline) { min-height: 0; }
  .team-card-copy { min-height: 250px; }
  .agent-hero-credentials { grid-template-columns: 1fr; }
  .discreet-service-panel { grid-template-columns: 1fr; gap: 1rem; }
  .market-agent-grid { grid-template-columns: 1fr 1fr; }
  .market-agent-card-copy { min-height: 162px; }
  .press-card-copy { padding: 1.15rem; }
  .process-route-nav { top: var(--header-height-mobile); }
  .process-route-link { min-height: 50px; padding: .58rem .68rem; }
  .process-phase__inner { padding-top: 3.4rem; padding-bottom: 3.4rem; }
  .process-phase__media { gap: .7rem; }
  .process-phase__diagram ul,
  .process-phase__diagram ol { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .inquiry-form input,
  .inquiry-form select,
  .inquiry-form textarea,
  .action-form-grid input,
  .action-form-grid select,
  .action-form-grid textarea,
  .property-alert-form input,
  .property-alert-form select,
  .property-alert-form textarea,
  .search-field input,
  .smart-search input,
  .underwriting-inputs input[type='number'],
  .mortgage-inputs input,
  .mortgage-inputs select,
  .analysis-share input { min-height: 52px; font-size: 16px; }
  .smart-search input { border-radius: var(--radius-control); }
  .smart-search form > .button { width: 100%; }
  .underwriting-inputs input[type='range'],
  .mortgage-inputs input[type='range'] { min-height: 44px; }
  .form-grid { gap: .85rem; }
  .form-submit { margin-top: .85rem; }
}

@media(max-width:560px) {
  .site-header { grid-template-columns: 94px 1fr auto; padding: 0 .7rem; }
  .brand { width: 90px; }
  .division-links { min-width: 0; gap: .3rem; }
  .practice-switch { width: 100%; min-width: 0; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
  .division-links .practice-switch a { padding-right: .3rem; padding-left: .3rem; font-size: .625rem; line-height: 1.2; }
  .division-links a { min-width: 44px; padding-right: .35rem; padding-left: .35rem; }
  .market-agent-grid { grid-template-columns: 1fr; }
  .gateway-practice-grid { grid-template-columns: 1fr; }
  .gateway-practice-links { grid-template-columns: 1fr; }
  .gateway-practice-link { min-height: 190px; }
  .market-agent-card { display: grid; grid-template-columns: 42% minmax(0, 1fr); }
  .market-agent-card > img,
  .market-agent-card > .agent-monogram { height: 100%; min-height: 210px; aspect-ratio: auto; }
  .market-agent-card-copy { min-height: 210px; }
  .market-character > .section-wrap { padding-top: 2rem; padding-bottom: 2rem; }
  .practice-lenses article { min-height: 330px; }
  .process-phase__media:has(.process-phase__diagram) { grid-template-columns: 1fr; }
  .process-phase__media:has(.process-phase__diagram) .process-phase__figure img { min-height: 0; aspect-ratio: 4 / 3; }
  .process-phase__media--pair { grid-template-columns: 1fr; }
  .process-phase__media--pair .process-phase__figure img { min-height: 0; aspect-ratio: 4 / 3; }
  .process-phase__diagram { min-height: 220px; padding: 1rem; }
  .process-phase__diagram ul,
  .process-phase__diagram ol { grid-template-columns: 1fr; }
  .process-phase__diagram li { min-height: 70px; }
  .process-response-sheet { min-height: 410px; padding: 1.25rem; transform: none; }
  .process-response-sheet dl div { padding-left: 9%; grid-template-columns: 1fr; gap: .35rem; }
  .process-response-sheet__caption { margin-left: 9%; }
  .property-card-actions { grid-template-columns: 1fr 1fr; }
  .property-card-actions button { border-bottom: 1px solid rgba(176, 138, 73, .3); }
  .property-card-view { grid-column: 1 / -1; min-height: 48px; justify-content: space-between; border-top: 0; }
}

/* Closeout polish for newly generated editorial and utility surfaces. */
.story-hero-copy > p.story-ad-line {
  width: fit-content;
  max-width: min(100%, 38ch);
  margin: 0 0 1.15rem;
  padding: .5rem .75rem .46rem;
  border: 1px solid rgba(253, 220, 89, .66);
  background: rgba(16, 38, 78, .72);
  color: var(--brand-yellow);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .1);
  font: italic 400 clamp(.98rem, 1.25vw, 1.2rem)/1.3 var(--serif);
  letter-spacing: .015em;
  text-wrap: balance;
}

/* Preserve the compact header while giving the wordmark a clearer lower edge. */
.brand {
  padding-block: .12rem .38rem;
  transform: translateY(-1px);
}

/* Property cards read as editorial listing sheets rather than app tiles. */
.property-card {
  border-color: rgba(23, 36, 57, .34);
  border-radius: 0;
  background: var(--surface-document);
  box-shadow: none;
}
.property-card-media {
  aspect-ratio: 4 / 3;
  border-bottom-color: rgba(23, 36, 57, .28);
}
.property-card--feature .property-card-media { aspect-ratio: 16 / 9; }
.property-card-media img { filter: saturate(.96) contrast(1.015); }
.property-badge {
  position: absolute;
  z-index: 3;
  top: .8rem;
  right: .8rem;
  padding: .42rem .55rem;
  border: 1px solid rgba(23, 36, 57, .38);
  border-radius: 0;
  background: rgba(255, 253, 247, .94);
  color: var(--navy-deep);
  box-shadow: 0 5px 16px rgba(23, 36, 57, .1);
  font-size: .56rem;
  letter-spacing: .13em;
}
.property-card-copy {
  padding: clamp(1.05rem, 1.8vw, 1.45rem);
  display: flex;
  flex-direction: column;
}
.property-card-facts {
  margin-bottom: 1.35rem;
  color: var(--muted);
  font-size: .63rem;
  font-weight: 700;
  letter-spacing: .11em;
  line-height: 1.45;
  text-transform: uppercase;
}
.property-card-title {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: end;
}
.property-card-title h3,
.property-card-copy .property-card-title h3 { margin: 0; }
.property-card-title b {
  padding-bottom: .17rem;
  color: var(--brand-blue);
  font-size: 1rem;
  font-weight: 500;
  transition: transform var(--motion-fast) ease;
}
.property-price {
  margin: 1rem 0 .1rem;
  color: var(--brand-blue);
  font-size: clamp(1.55rem, 2.2vw, 2.08rem);
}
.property-card-actions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top-color: rgba(23, 36, 57, .28);
  background: transparent;
}
.property-card-actions button {
  min-height: 50px;
  padding: .72rem 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border-right: 1px solid rgba(23, 36, 57, .24);
  background: transparent;
  font-size: .59rem;
  letter-spacing: .095em;
}
.property-card-actions button:last-child { border-right: 0; }
.property-card-actions button:hover { background: var(--surface-paper-deep); }
.property-card-actions button[aria-pressed='true'] {
  background: var(--brand-yellow);
  color: var(--navy-deep);
}
.property-card:focus-within { box-shadow: 0 14px 32px rgba(23, 36, 57, .11); }

/* Publication and date remain separate and the wordmarks sit optically centered. */
.press-card-meta {
  min-height: 3.2rem;
  margin-bottom: .9rem;
  padding-bottom: .75rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: .65rem 1.15rem;
  border-bottom: 1px solid rgba(23, 36, 57, .16);
}
.publication-mark {
  width: 100%;
  max-width: 100%;
  min-height: 2rem;
  justify-content: center;
  text-align: center;
}
.press-card-date {
  min-width: max-content;
  justify-items: end;
}
.press-card-meta time { line-height: 1.25; }

.office-context {
  max-width: 50ch;
  margin: 0 0 .45rem;
  color: var(--muted);
  font-size: .64rem;
  font-weight: 700;
  letter-spacing: .09em;
  line-height: 1.45;
  text-transform: uppercase;
}

.careers-content {
  background-color: var(--surface-paper);
  background-image: repeating-linear-gradient(0deg, transparent 0, transparent 47px, rgba(0, 43, 142, .025) 48px);
}
.career-benefit-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1px;
  border: 1px solid var(--line);
  background: var(--line);
}
.career-benefit-grid article {
  min-height: 260px;
  padding: 1.25rem;
  display: flex;
  flex-direction: column;
  background: var(--surface-document);
}
.career-benefit-grid article > span {
  color: var(--text-yellow-ink);
  font-size: .6rem;
  font-weight: 700;
  letter-spacing: .11em;
}
.career-benefit-grid h3 {
  margin: auto 0 .75rem;
  font: 400 clamp(1.65rem, 2.4vw, 2.45rem)/1 var(--serif);
  letter-spacing: -.025em;
}
.career-benefit-grid p {
  margin: 0;
  color: var(--muted);
  font-size: .8rem;
  line-height: 1.65;
}
.career-disclosure {
  max-width: 96ch;
  margin: 1rem 0 0;
  padding-left: .85rem;
  border-left: 2px solid var(--brass);
  color: var(--muted);
  font-size: .69rem;
  line-height: 1.65;
}
.careers-content .inquiry-card { margin-top: clamp(2.8rem, 5vw, 5rem); }

.practice-lens-actions {
  margin-top: auto;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .8rem 1.3rem;
}
.practice-lenses .practice-lens-actions .rule-link {
  margin-top: 0;
  align-self: auto;
}

.case-connections {
  margin-top: clamp(3.5rem, 7vw, 7rem);
  padding-top: clamp(2.2rem, 4vw, 4rem);
  border-top: 1px solid var(--line);
}
.case-connections .relationship-grid {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 1px;
  border: 1px solid var(--line);
  background: var(--line);
}
.case-connections .relationship-grid > div {
  min-height: 210px;
  padding: 1.15rem;
  border-top: 0;
  background: var(--surface-document);
}
.case-connections .relationship-grid a { text-underline-offset: 4px; }
.case-connections .relationship-grid p {
  margin: 1rem 0 0;
  padding-top: .8rem;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: .66rem;
  line-height: 1.6;
}
.case-current-selections {
  margin-top: clamp(3.5rem, 7vw, 7rem);
  padding-top: clamp(2.2rem, 4vw, 4rem);
  border-top: 1px solid var(--line);
}
.case-current-selections .section-heading { align-items: end; }

.smart-search-context {
  width: fit-content;
  max-width: 100%;
  margin: 1.25rem 0 0;
  padding: .7rem .85rem;
  border-left: 2px solid var(--brand-yellow);
  background: rgba(255, 255, 255, .07);
  color: rgba(255, 255, 255, .78);
  font-size: .72rem;
  line-height: 1.55;
}
.smart-search-context strong { color: var(--brand-yellow); }
.smart-search-context a {
  margin-left: .45rem;
  color: var(--white);
  text-underline-offset: 4px;
}

.footer-curios { display: none; }

@media (hover: hover) and (pointer: fine) {
  .property-card:hover { box-shadow: 0 16px 36px rgba(23, 36, 57, .12); }
  .property-card:hover .property-card-title b,
  .property-card:focus-within .property-card-title b { transform: translate(.14rem, -.14rem); }
}

@media(max-width:760px) {
  .brand { padding-block: .08rem .24rem; transform: translateY(-1px); }
  .idx-remarks-note, .idx-remarks-gate, .idx-remarks-unavailable { align-items: stretch; flex-direction: column; }
  .property-card--feature .property-card-media { aspect-ratio: 5 / 4; }
  .property-card-facts { margin-bottom: 1rem; }
  .press-card-meta { grid-template-columns: 1fr; justify-items: center; }
  .press-card-date { justify-items: center; }
  .case-connections .relationship-grid { grid-template-columns: 1fr; }
  .practice-lens-actions { align-items: flex-start; flex-direction: column; }
  .smart-search-context a { margin-left: 0; display: block; }
}

@media(prefers-reduced-motion:reduce) {
  .has-reveal [data-reveal],
  .has-reveal [data-reveal].is-revealed { opacity: 1 !important; transform: none !important; }
  .property-card,
  .property-card-media img,
  .button,
  .rule-link::after,
  .case-study-card,
  .case-study-media img,
  .case-gallery-grid img,
  .team-card,
  .team-card-media img,
  .team-card-link > img,
  .gateway-practice-link,
  .service-grid article,
  .work-switch a,
  .context-ornament,
  .attraction-grid article,
  .market-card > a,
  .market-card img,
  .market-symbol-vignette,
  .market-agent-card,
  .press-card,
  .press-card-art img,
  .process-phase__figure { transform: none !important; }
  .process-route-link::after { transition: none !important; }
  .process-route-nav { scroll-behavior: auto; }
}

/* Header width guardrails: preserve a composed desktop row, then move the
   complete navigation into the existing accessible menu before it can collide. */
.site-header > * { min-width: 0; }
.practice-switch { max-width: 100%; min-width: 0; }

@media(max-width:2300px) and (min-width:2001px) {
  .site-header {
    grid-template-columns: minmax(138px, 154px) auto minmax(0, 1fr);
    gap: .6rem;
    padding-right: 1rem;
    padding-left: 1rem;
  }
  .brand { width: min(96%, 154px); }
  .practice-switch-label,
  .practice-commercial-suffix { display: none; }
  .division-links { gap: .3rem; }
  .division-links .practice-switch a { padding-right: .5rem; padding-left: .5rem; font-size: .65rem; }
  .header-navigation { gap: .45rem; }
  .primary-nav { gap: .45rem; }
  .primary-nav a,
  .header-utilities a { font-size: .6875rem; letter-spacing: .045em; }
  .header-utilities { padding-left: .45rem; gap: .25rem; }
}

@media(max-width:2000px) {
  .site-header {
    grid-template-columns: minmax(136px, 160px) minmax(280px, 420px) 48px;
    gap: 1rem;
    justify-content: space-between;
  }
  .brand { width: min(96%, 158px); }
  .division-links { width: 100%; min-width: 0; justify-self: center; }
  .practice-switch-label,
  .practice-commercial-suffix { display: none; }
  .practice-switch { width: 100%; }
  .menu-button { display: block; }
  .header-navigation {
    position: fixed;
    z-index: 120;
    top: var(--header-height);
    right: auto;
    left: 50%;
    width: 100vw;
    max-height: calc(100svh - var(--header-height));
    padding: 1rem var(--gutter) 1.4rem;
    display: none;
    overflow: auto;
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1rem 2rem;
    align-items: start;
    justify-self: stretch;
    background: var(--cream);
    border-bottom: 1px solid var(--line);
    box-shadow: var(--shadow-rest);
    transform: translateX(-50%);
  }
  .header-navigation.is-open { display: grid; }
  .primary-nav { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
  .primary-nav a {
    min-height: 48px;
    padding: .9rem;
    display: flex;
    align-items: center;
    border-bottom: 1px solid var(--line);
    font-size: .875rem;
    white-space: normal;
  }
  .primary-nav a::after { display: none; }
  .primary-nav a[data-nav-emphasis='primary'] {
    border: 0;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
    color: var(--ink);
  }
  .header-utilities {
    padding: 0 0 0 1.25rem;
    align-self: stretch;
    flex-direction: column;
    align-items: stretch;
    justify-content: center;
    border-left: 1px solid var(--line);
  }
  .header-utilities a { min-height: 48px; justify-content: space-between; font-size: .875rem; }
}

@media(max-width:760px) {
  .site-header { grid-template-columns: 124px minmax(0, 1fr) 48px; padding: 0 1rem; }
  .brand { width: 119px; }
  .header-navigation {
    top: var(--header-height-mobile);
    max-height: calc(100svh - var(--header-height-mobile));
    grid-template-columns: 1fr;
  }
  .primary-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .header-utilities {
    padding: .7rem 0 0;
    flex-direction: row;
    border-top: 1px solid var(--line);
    border-left: 0;
  }
  .header-utilities a { min-width: 8rem; }
  .idx-gallery-gate,
  .idx-gallery-note { align-items: stretch; flex-direction: column; }
  .idx-gallery-frame-shell { min-height: 600px; scroll-margin-top: calc(var(--header-height-mobile) + 1rem); }
  .idx-gallery-frame { height: 720px; }
}

@media(max-width:560px) {
  .site-header { grid-template-columns: 94px minmax(0, 1fr) 48px; padding: 0 .7rem; gap: .45rem; }
  .brand { width: 90px; }
  .division-links .practice-switch a { padding-right: .3rem; padding-left: .3rem; font-size: .625rem; }
}

@media(max-width:480px) {
  .primary-nav { grid-template-columns: 1fr; }
}
