:root {
  --surface-warm: #FAF8F3;
  --surface-cream: #F5F0E8;
  --surface-plain: #FFFFFF;
  --surface-ink: #1A1A1A;
  --surface-stone: #D4CBC0;
  --text-primary: #2C2926;
  --text-secondary: #6E6258;
  --text-inverse: #FAF8F3;
  --border-subtle: #E6DED4;
  --accent-terracotta: #A94F2D;
  --accent-sage: #8A9A7B;
  --accent-blue: #2563EB;
  --accent-blue-light: #7FA4FF;
  --accent-gold: #E8A951;
  --accent-brick: #A04234;
  --accent-green: #0B7D38;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;
  --space-12: 48px;
  --space-16: 64px;
  --space-20: 80px;
  --space-24: 96px;
  --font-serif: "Newsreader", Georgia, serif;
  --font-sans: "Manrope", ui-sans-serif, system-ui, sans-serif;
  --font-humanist: "Source Sans 3", ui-sans-serif, system-ui, sans-serif;
  --font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
  --control-font-size: 0.95rem;
  --control-line-height: 1.2;
  --max: 1180px;
  --wide: 1440px;
  --radius: 8px;
  --ease-emphasis: cubic-bezier(0.16, 1, 0.3, 1);
  --zena-page-gutter: max(var(--space-4), calc((100% - var(--wide)) / 2));
  --zena-page-rail: min(var(--wide), calc(100% - var(--space-8)));
  --zena-rail: var(--zena-page-rail);
  --zena-wide-rail: var(--zena-page-rail);
}

* {
  box-sizing: border-box;
}

html {
  max-width: 100%;
  overflow-x: clip;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  max-width: 100%;
  overflow-x: clip;
  color: var(--text-primary);
  background: var(--page-bg, var(--surface-warm));
  font-family: var(--body-font, var(--font-sans));
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}

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

.visually-hidden {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

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

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

:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 65%, transparent);
  outline-offset: 4px;
}

.skip-link {
  position: fixed;
  top: var(--space-4);
  left: var(--space-4);
  z-index: 20;
  padding: var(--space-2) var(--space-4);
  color: var(--text-inverse);
  background: var(--surface-ink);
  transform: translateY(-140%);
  transition: transform 180ms ease-out;
}

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

.site-header {
  position: sticky;
  top: 0;
  z-index: 10;
  display: grid;
  grid-template-columns: minmax(220px, 1fr) auto auto;
  gap: var(--space-5);
  align-items: center;
  width: 100%;
  min-height: 72px;
  margin: 0 auto;
  padding: var(--space-4) var(--zena-page-gutter);
  color: var(--header-text, var(--text-primary));
  background: color-mix(in srgb, var(--page-bg, var(--surface-warm)) 88%, transparent);
  backdrop-filter: blur(16px);
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  min-width: 0;
}

.brand-mark {
  display: block;
  flex: 0 0 auto;
  width: 52px;
  height: 52px;
}

.brand-copy {
  display: grid;
  gap: 0;
  min-width: 0;
}

.brand-copy strong {
  font-size: 1rem;
  line-height: 1.1;
}

.brand-copy span {
  overflow: hidden;
  color: var(--muted, var(--text-secondary));
  font-size: 0.78rem;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.option-nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1);
  justify-content: center;
}

.option-nav a {
  padding: var(--space-3) var(--space-4);
  border-radius: 0;
  color: var(--muted, var(--text-secondary));
  font-size: 0.8rem;
  font-weight: 500;
  line-height: 1.2;
  transition: color 160ms ease-out, background 160ms ease-out;
}

.option-nav a:hover,
.option-nav a[aria-current="page"] {
  color: var(--text-primary);
  background: color-mix(in srgb, var(--surface-stone) 40%, transparent);
}

.option-nav a:active,
.button:active {
  transform: translateY(1px);
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: var(--space-3) var(--space-6);
  border: 1px solid currentColor;
  border-radius: var(--button-radius, var(--radius));
  font-size: 0.84rem;
  font-weight: 600;
  letter-spacing: 0.01em;
  line-height: 1.1;
  transition: color 180ms ease-out, background 180ms ease-out, border-color 180ms ease-out, transform 180ms ease-out;
}

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

.button-primary {
  color: var(--button-text, var(--text-inverse));
  background: var(--accent);
  border-color: var(--accent);
}

.button-primary:hover {
  color: var(--button-text, var(--text-inverse));
  background: var(--accent-strong, var(--accent));
}

.button-secondary {
  color: var(--text-primary);
  background: transparent;
  border-color: color-mix(in srgb, currentColor 32%, transparent);
}

.button-secondary:hover {
  color: var(--text-primary);
  border-color: var(--accent);
}

.button-small {
  min-height: 44px;
  padding: var(--space-2) var(--space-4);
  color: var(--text-primary);
  white-space: nowrap;
}

.home-shell,
.index-main,
.research-main {
  width: 100%;
  max-width: var(--wide);
  margin: 0 auto;
  overflow-x: clip;
}

.home-shell.zena-live-shell {
  max-width: none;
}

.hero {
  display: grid;
  min-height: calc(100dvh - 72px);
  grid-template-columns: minmax(0, 1.04fr) minmax(320px, 0.96fr);
  gap: var(--space-16);
  align-items: center;
  width: min(var(--wide), calc(100% - var(--space-8)));
  margin: 0 auto;
  padding: var(--space-16) 0 var(--space-20);
}

.hero-copy {
  max-width: 720px;
}

.concept-label,
.section-kicker {
  margin: 0 0 var(--space-4);
  color: var(--accent);
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.35;
  text-transform: uppercase;
}

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

h1,
h2,
h3,
p,
blockquote,
.button,
.option-nav a {
  overflow-wrap: break-word;
}

h1 {
  max-width: 10.5ch;
  margin-bottom: var(--space-6);
  font-family: var(--headline-font, var(--font-serif));
  font-size: clamp(3rem, 7vw, 6.75rem);
  font-weight: var(--headline-weight, 620);
  letter-spacing: 0;
  line-height: 0.98;
}

h2 {
  margin-bottom: var(--space-5);
  font-family: var(--headline-font, var(--font-serif));
  font-size: clamp(2rem, 4vw, 3.6rem);
  font-weight: var(--section-weight, 560);
  letter-spacing: 0;
  line-height: 1.05;
}

h3 {
  margin-bottom: var(--space-3);
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  line-height: 1.2;
}

.hero-dek {
  max-width: 66ch;
  margin-bottom: var(--space-8);
  color: var(--muted, var(--text-secondary));
  font-size: 1.1875rem;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  margin-bottom: var(--space-6);
}

.hero-actions .button {
  flex: 0 1 auto;
  max-width: 100%;
}

.angle-note {
  max-width: 42ch;
  color: var(--muted, var(--text-secondary));
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.84rem;
}

.hero-media {
  position: relative;
  overflow: hidden;
  margin: 0;
  background: var(--surface-stone);
  border-radius: var(--media-radius, var(--radius));
  aspect-ratio: var(--hero-aspect, 4 / 5);
}

.hero-media picture,
.hero-media img {
  display: block;
  width: 100%;
  height: 100%;
}

.hero-media img {
  object-fit: cover;
  filter: var(--image-filter, none);
  transform: scale(1.01);
}

.hero-media figcaption {
  position: absolute;
  right: var(--space-4);
  bottom: var(--space-4);
  padding: var(--space-2) var(--space-3);
  color: var(--caption-text, var(--text-inverse));
  background: color-mix(in srgb, var(--surface-ink) 62%, transparent);
  border-radius: var(--radius);
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.72rem;
}

.proof-band,
.listing-section,
.services-section,
.process-section,
.market-section,
.testimonial-section {
  width: min(var(--max), calc(100% - var(--space-8)));
  margin: 0 auto;
  padding: var(--space-20) 0;
}

.proof-band {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.proof-intro {
  grid-column: 1;
  width: min(760px, 100%);
  max-width: 780px;
  justify-self: start;
}

.proof-band > .section-kicker {
  grid-column: 1;
  width: auto;
  justify-self: start;
}

.proof-intro p,
.market-section p,
.research-content p {
  color: var(--muted, var(--text-secondary));
  font-size: 1.05rem;
}

.metric-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  grid-column: 1;
  align-items: stretch;
  width: min(980px, 100%);
  max-width: 980px;
  justify-self: start;
}

.metric {
  display: grid;
  grid-template-rows: auto auto auto 1fr;
  min-height: 260px;
  padding: var(--space-6);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.metric-index {
  display: block;
  margin-bottom: var(--space-3);
  color: var(--metric-color, var(--accent));
  font-family: var(--metric-font, var(--font-mono));
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.2;
}

.metric h3 {
  margin-bottom: var(--space-5);
  color: var(--metric-color, var(--accent));
  font-family: var(--headline-font, var(--font-serif));
  font-size: clamp(1.8rem, 2.6vw, 3rem);
  font-weight: var(--section-weight, 640);
  line-height: 0.98;
}

.metric strong {
  display: block;
  margin-bottom: var(--space-2);
  font-weight: 800;
  line-height: 1.35;
}

.metric p {
  align-self: end;
  margin-bottom: 0;
  color: var(--muted, var(--text-secondary));
  font-size: 0.9rem;
}

.section-heading {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-3);
  align-items: start;
  width: min(980px, 100%);
  margin-bottom: var(--space-12);
  margin-right: 0;
  margin-left: 0;
}

.photo-section {
  display: grid;
  grid-template-columns: minmax(240px, 0.45fr) minmax(0, 1fr);
  gap: var(--space-12);
  align-items: end;
  width: min(var(--max), calc(100% - var(--space-8)));
  margin: 0 auto;
  padding: var(--space-20) 0;
}

.photo-story {
  max-width: 420px;
}

.photo-story p:not(.section-kicker) {
  color: var(--muted, var(--text-secondary));
  font-size: 1.05rem;
}

.photo-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(180px, 0.72fr);
  grid-template-rows: repeat(2, minmax(160px, 1fr));
  gap: var(--space-4);
  min-height: 560px;
}

.photo-card {
  position: relative;
  overflow: hidden;
  margin: 0;
  min-height: 0;
  background: var(--surface-stone);
  border-radius: var(--media-radius, var(--radius));
}

.photo-card-large {
  grid-row: 1 / span 2;
}

.photo-card picture,
.photo-card img,
.testimonial-photo picture,
.testimonial-photo img {
  display: block;
  width: 100%;
  height: 100%;
}

.photo-card img,
.testimonial-photo img {
  object-fit: cover;
  filter: var(--image-filter, none);
}

.photo-card figcaption,
.testimonial-photo figcaption {
  position: absolute;
  right: var(--space-4);
  bottom: var(--space-4);
  max-width: calc(100% - var(--space-8));
  padding: var(--space-2) var(--space-3);
  color: var(--caption-text, var(--text-inverse));
  background: color-mix(in srgb, var(--surface-ink) 62%, transparent);
  border-radius: var(--radius);
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.72rem;
  line-height: 1.3;
}

.listing-section {
  border-top: 1px solid var(--border);
}

.listing-page-shell {
  width: 100%;
  max-width: var(--wide);
  margin: 0 auto;
  overflow-x: clip;
}

.listing-page-hero,
.listing-notes-section,
.listing-demo-callout {
  width: min(var(--max), calc(100% - var(--space-8)));
  margin: 0 auto;
  padding: var(--space-20) 0;
}

.listing-page-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(300px, 0.38fr);
  gap: var(--space-12);
  align-items: end;
  border-bottom: 1px solid var(--border);
}

.listing-page-hero h1 {
  max-width: 12ch;
}

.listing-page .listing-page-hero .hero-dek {
  color: var(--muted, var(--text-secondary));
}

.listing-page .listing-page-hero .button-secondary {
  color: var(--text-primary);
}

.listing-status-panel {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-8);
  color: var(--text-primary);
  background: color-mix(in srgb, var(--section-bg, var(--page-bg)) 86%, var(--surface-plain));
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.listing-status-panel p,
.listing-status-panel span {
  margin: 0;
  color: var(--muted, var(--text-secondary));
}

.listing-status-panel p {
  color: var(--accent);
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.listing-status-panel strong {
  display: block;
  font-family: var(--headline-font, var(--font-serif));
  font-size: clamp(2rem, 3.4vw, 3.4rem);
  line-height: 1;
}

.listing-heading {
  max-width: 860px;
}

.listing-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.46fr);
  gap: var(--space-8);
  align-items: stretch;
}

.listing-media {
  display: grid;
  gap: var(--space-3);
  min-width: 0;
}

.listing-photo {
  position: relative;
  overflow: hidden;
  margin: 0;
  background: var(--surface-stone);
  border-radius: var(--media-radius, var(--radius));
}

.listing-photo picture,
.listing-photo img {
  display: block;
  width: 100%;
  height: 100%;
}

.listing-photo img {
  object-fit: cover;
  filter: var(--image-filter, none);
}

.listing-photo-main {
  aspect-ratio: 16 / 10;
  min-height: 430px;
}

.listing-photo-main figcaption {
  position: absolute;
  right: var(--space-4);
  bottom: var(--space-4);
  max-width: calc(100% - var(--space-8));
  padding: var(--space-2) var(--space-3);
  color: var(--caption-text, var(--text-inverse));
  background: color-mix(in srgb, var(--surface-ink) 64%, transparent);
  border-radius: var(--radius);
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.72rem;
  line-height: 1.3;
}

.listing-thumb-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
}

.listing-photo-thumb {
  aspect-ratio: 4 / 3;
  min-height: 112px;
}

.listing-panel {
  display: grid;
  align-content: start;
  gap: var(--space-6);
  min-width: 0;
  padding: var(--space-8);
  color: var(--text-primary);
  background: color-mix(in srgb, var(--section-bg, var(--page-bg)) 86%, var(--surface-plain));
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.listing-panel-top {
  display: grid;
  gap: var(--space-3);
}

.listing-address {
  margin: 0;
  color: var(--accent);
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.listing-panel strong {
  display: block;
  color: var(--text-primary);
  font-family: var(--headline-font, var(--font-serif));
  font-size: clamp(1.8rem, 3vw, 3rem);
  font-weight: var(--section-weight, 700);
  line-height: 1;
}

.listing-panel p {
  margin-bottom: 0;
  color: var(--muted, var(--text-secondary));
}

.listing-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--border);
}

.listing-facts div {
  display: grid;
  gap: var(--space-1);
  min-height: 92px;
  padding: var(--space-4);
  background: var(--page-bg);
}

.listing-facts dt {
  color: var(--muted, var(--text-secondary));
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-transform: uppercase;
}

.listing-facts dd {
  margin: 0;
  font-weight: 800;
  line-height: 1.25;
}

.listing-highlights {
  display: grid;
  gap: var(--space-3);
  padding: 0;
  margin: 0;
  color: var(--text-primary);
  list-style: none;
}

.listing-highlights li {
  position: relative;
  padding-left: var(--space-5);
  color: var(--muted, var(--text-secondary));
  font-size: 0.95rem;
}

.listing-highlights li::before {
  position: absolute;
  top: 0.74em;
  left: 0;
  width: var(--space-2);
  height: var(--space-2);
  content: "";
  background: var(--accent);
  border-radius: 50%;
  transform: translateY(-50%);
}

.zena-live-shell .hero {
  min-height: calc(100dvh - 72px);
}

.zena-hero .hero-media img {
  object-position: 50% 42%;
}

.page-intro {
  width: var(--zena-rail);
  margin: 0 auto;
  padding: var(--space-20) 0 var(--space-8);
}

.page-intro h1 {
  max-width: 12ch;
}

.page-intro .hero-dek {
  color: var(--text-secondary);
}

.rental-type-row .metric h3 {
  font-size: clamp(1.6rem, 2.4vw, 2.45rem);
}

.rental-type-row .metric p {
  align-self: start;
}

.plans-section,
.proximity-section,
.lead-section,
.policy-section {
  width: min(var(--max), calc(100% - var(--space-8)));
  margin: 0 auto;
  padding: var(--space-20) 0;
}

.plans-section .section-heading p:not(.section-kicker),
.lead-section .section-heading p:not(.section-kicker),
.proximity-section p:not(.section-kicker),
.policy-section li {
  color: var(--muted, var(--text-secondary));
  font-size: 1.05rem;
}

.plan-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
}

.plan-card {
  display: grid;
  overflow: hidden;
  background: color-mix(in srgb, var(--surface-cream) 86%, var(--surface-plain));
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.plan-card-media {
  position: relative;
  overflow: hidden;
  min-height: 230px;
  margin: 0;
  background: var(--surface-stone);
}

.plan-card-media picture,
.plan-card-media img {
  display: block;
  width: 100%;
  height: 100%;
}

.plan-card-media img {
  object-fit: cover;
  filter: var(--image-filter, none);
}

.plan-card-media figcaption {
  display: none;
}

.plan-card-copy {
  display: grid;
  align-content: start;
  gap: var(--space-4);
  padding: var(--space-6);
}

.plan-card h3 {
  margin-bottom: 0;
  font-family: var(--headline-font, var(--font-serif));
  font-size: clamp(1.8rem, 2.5vw, 2.6rem);
}

.plan-card p {
  margin-bottom: 0;
  color: var(--muted, var(--text-secondary));
}

.plan-facts {
  display: grid;
  gap: 0;
  margin: 0;
  border-top: 1px solid var(--border);
}

.plan-facts div {
  display: grid;
  gap: var(--space-1);
  padding: var(--space-4) var(--space-5) var(--space-4) 0;
}

.plan-facts dt {
  color: var(--muted);
  font-family: var(--label-font, var(--font-humanist));
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.25;
  text-transform: uppercase;
}

.plan-facts dd {
  margin: 0;
  font-weight: 600;
  line-height: 1.3;
  font-variant-numeric: tabular-nums;
}

.proximity-section {
  display: grid;
  grid-template-columns: minmax(0, 0.72fr) minmax(360px, 0.72fr);
  gap: var(--space-12);
  align-items: center;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.proximity-map {
  position: relative;
  display: grid;
  gap: var(--space-3);
  min-height: 420px;
  padding: var(--space-6);
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--surface-stone) 36%, transparent) 1px, transparent 1px) 0 0 / 42px 42px,
    linear-gradient(0deg, color-mix(in srgb, var(--surface-stone) 36%, transparent) 1px, transparent 1px) 0 0 / 42px 42px,
    color-mix(in srgb, var(--surface-stone) 22%, var(--surface-cream));
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.proximity-map article {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: var(--space-3);
  align-items: start;
  max-width: 340px;
  padding: var(--space-4);
  margin-top: calc(var(--pin-index) * 34px);
  margin-left: calc((2 - var(--pin-index)) * 20px);
  background: color-mix(in srgb, var(--surface-plain) 76%, var(--surface-cream));
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.proximity-map span {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  color: var(--text-inverse);
  background: var(--accent);
  border-radius: 50%;
  font-family: var(--font-mono);
  font-weight: 800;
}

.proximity-map h3 {
  margin-bottom: var(--space-1);
  font-size: 1.1rem;
}

.proximity-map p {
  grid-column: 2;
  margin-bottom: 0;
  font-size: 0.94rem;
}

.policy-section {
  display: grid;
  gap: var(--space-8);
  border-top: 1px solid var(--border);
}

.policy-head {
  display: grid;
  gap: var(--space-4);
  max-width: 46ch;
}

.policy-intro {
  margin: 0;
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.55;
}

.policy-section {
  grid-template-columns: minmax(0, 0.4fr) minmax(0, 0.6fr);
  gap: var(--space-10);
  align-items: start;
}

.policy-stack {
  display: grid;
  gap: var(--space-5);
  padding: 0;
  margin: 0;
  list-style: none;
  counter-reset: policy;
}

.policy-stack li {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: var(--space-4);
  align-items: baseline;
  padding: 0;
  border: 0;
}

.policy-mark {
  color: var(--accent);
  font-family: var(--font-mono, var(--label-font));
  font-size: 0.82rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1;
}

.policy-stack p {
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.55;
}

.listing-notes-section {
  border-top: 1px solid var(--border);
}

.listing-notes-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.listing-notes-grid article {
  padding: var(--space-6);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.listing-notes-grid p,
.listing-demo-callout p {
  color: var(--muted, var(--text-secondary));
}

.listing-demo-callout {
  display: grid;
  grid-template-columns: minmax(0, 0.86fr) minmax(280px, 0.42fr);
  gap: var(--space-8);
  align-items: end;
  margin-top: var(--space-16);
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
}

.listing-demo-links {
  display: grid;
  gap: var(--space-3);
}

.service-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--border);
}

.service-item {
  min-height: 280px;
  padding: var(--space-6);
  border-right: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.service-item:nth-child(4n) {
  border-right: 0;
}

.service-item p {
  margin-bottom: var(--space-8);
  color: var(--accent);
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.service-item span,
.process-list p,
.testimonial-grid span {
  color: var(--muted, var(--text-secondary));
}

.process-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  padding: 0;
  margin: 0;
  list-style: none;
}

.process-list li {
  padding: var(--space-6);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.process-list span {
  display: grid;
  width: 40px;
  height: 40px;
  margin-bottom: var(--space-8);
  place-items: center;
  color: var(--button-text, var(--text-inverse));
  background: var(--accent);
  border-radius: 50%;
  font-family: var(--font-mono);
  font-weight: 700;
}

.market-section {
  display: grid;
  grid-template-columns: minmax(0, 0.78fr) minmax(300px, 0.52fr);
  gap: var(--space-16);
  align-items: center;
}

.neighborhood-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  align-content: start;
}

.neighborhood-cloud span {
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  color: var(--text-primary);
  background: color-mix(in srgb, var(--section-bg, var(--page-bg)) 80%, var(--surface-plain));
  font-size: 0.9rem;
  font-weight: 700;
}

.testimonial-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-3);
  align-items: stretch;
}

.testimonial-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(280px, 0.58fr);
  gap: var(--space-12);
  align-items: stretch;
}

.testimonial-grid figure {
  display: flex;
  min-height: 0;
  flex-direction: column;
  justify-content: space-between;
  margin: 0;
  padding: var(--space-6) 0 var(--space-6) var(--space-6);
  border-left: 2px solid var(--accent);
  border-radius: 0;
}

.testimonial-grid blockquote {
  margin: 0 0 var(--space-5);
  font-family: var(--headline-font, var(--font-serif));
  font-size: clamp(1.35rem, 2.3vw, 2.05rem);
  line-height: 1.15;
  text-align: left;
}

.testimonial-grid figcaption {
  display: grid;
  gap: var(--space-1);
  font-weight: 800;
}

.testimonial-photo {
  position: relative;
  overflow: hidden;
  min-height: 440px;
  margin: 0;
  border-radius: var(--media-radius, var(--radius));
}

/* ===================== Zena Gardens footer — editorial colophon endcap =====================
   Full-bleed warm-ink slab; interior rides the shared page rail. The footer is a
   quiet closing mark, not a link farm: a confident serif wordmark, one readable
   leasing line, a hairline, then a clean inline directory and a fine-print row.
   Do not reintroduce the giant tagline headline or the multi-column hairline grid. */

.site-footer {
  position: relative;
  display: grid;
  width: 100%;
  margin: var(--space-24) 0 0;
  padding: var(--space-20) 0 var(--space-12);
  color: var(--text-inverse);
  background: var(--panel-ink, var(--surface-ink));
  --footer-fg: var(--text-inverse);
  --footer-fg-muted: color-mix(in srgb, var(--text-inverse) 70%, transparent);
  --footer-fg-faint: color-mix(in srgb, var(--text-inverse) 52%, transparent);
  --footer-fg-quiet: color-mix(in srgb, var(--text-inverse) 74%, transparent);
  --footer-rule: color-mix(in srgb, var(--text-inverse) 14%, transparent);
  --footer-divider: color-mix(in srgb, var(--text-inverse) 22%, transparent);
  --footer-focus-tint: color-mix(in srgb, var(--text-inverse) 8%, transparent);
}

.site-footer > * {
  width: var(--zena-page-rail, min(var(--wide), calc(100% - var(--space-8))));
  margin-inline: auto;
}

.footer-endcap {
  display: grid;
  gap: var(--space-12);
  align-content: start;
}

/* Masthead: wordmark on the left, CTA pinned to the right, baselines aligned. */
.footer-masthead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-8);
  align-items: end;
  justify-content: space-between;
}

.footer-wordmark {
  display: inline-block;
  font-family: var(--headline-font);
  font-size: clamp(2.4rem, 4.4vw, 4rem);
  font-weight: 500;
  letter-spacing: -0.015em;
  line-height: 0.96;
  text-wrap: balance;
  color: var(--footer-fg);
  text-decoration: none;
}

.footer-wordmark:hover {
  color: color-mix(in srgb, var(--accent-brick) 70%, var(--footer-fg));
}

.footer-cta {
  min-width: 168px;
  padding-block: var(--space-4);
  color: var(--text-inverse);
  background: var(--accent);
  border-color: var(--accent);
}

.footer-cta:hover {
  color: var(--text-inverse);
  background: color-mix(in srgb, var(--accent) 88%, var(--text-inverse));
  border-color: color-mix(in srgb, var(--accent) 88%, var(--text-inverse));
}

/* Editorial leasing line — quiet body-scale serif, not a competing headline. */
.footer-deck {
  max-width: 46ch;
  margin: 0;
  font-family: var(--headline-font);
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  font-weight: 400;
  line-height: 1.55;
  color: var(--footer-fg-quiet);
  text-wrap: pretty;
}

.footer-rule {
  border-top: 1px solid var(--footer-rule);
}

/* Directory — inline nav with hairline separators, calm colophon rhythm. */
.footer-directory {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0;
  font-family: var(--body-font);
  font-size: 0.92rem;
}

.footer-directory > a {
  position: relative;
  color: var(--footer-fg-muted);
  text-decoration: none;
  padding: 0 var(--space-5);
  transition: color 180ms ease;
}

.footer-directory > a:first-child {
  padding-left: 0;
}

.footer-directory > a + a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 1px;
  height: 0.92rem;
  transform: translateY(-50%);
  background: var(--footer-divider);
}

.footer-directory > a:hover,
.footer-directory > a:focus-visible {
  color: var(--footer-fg);
  outline: none;
}

.footer-directory > a:focus-visible {
  background: var(--footer-focus-tint);
}

/* Fine print — locale credit + a closing colophon line. */
.footer-fineprint {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4) var(--space-8);
  justify-content: space-between;
  align-items: baseline;
}

.footer-fineprint p {
  margin: 0;
  color: var(--footer-fg-faint);
  font-size: 0.82rem;
  letter-spacing: 0.01em;
}

.footer-colophon {
  font-style: italic;
}

.index-main,
.research-main {
  width: min(var(--max), calc(100% - var(--space-8)));
}

.index-hero {
  padding: var(--space-24) 0 var(--space-16);
}

.index-hero h1,
.research-main h1 {
  max-width: 11ch;
}

.index-hero p:not(.concept-label) {
  max-width: 70ch;
  color: var(--text-secondary);
  font-size: 1.2rem;
}

.option-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
}

.option-card {
  display: grid;
  align-content: space-between;
  min-height: 380px;
  padding: var(--space-8);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: var(--page-bg);
}

.option-card p {
  margin-bottom: var(--space-5);
  color: var(--accent);
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.option-card h2 {
  max-width: 9ch;
}

.option-card span {
  display: block;
  margin-bottom: var(--space-8);
  color: var(--muted, var(--text-secondary));
}

.research-callout {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1fr) auto;
  gap: var(--space-8);
  align-items: center;
  margin: var(--space-16) 0 0;
  padding: var(--space-8) 0;
  border-top: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
}

.research-callout p {
  color: var(--text-secondary);
}

.research-main {
  padding: var(--space-20) 0;
}

.research-content {
  display: grid;
  gap: var(--space-8);
  max-width: 780px;
}

.research-content section {
  padding-bottom: var(--space-8);
  border-bottom: 1px solid var(--border-subtle);
}

.research-content h2 {
  font-size: clamp(1.5rem, 3vw, 2.4rem);
}

.research-content ul {
  padding-left: var(--space-5);
}

.research-content li + li {
  margin-top: var(--space-2);
}

.research-content a {
  color: var(--accent-terracotta);
  text-decoration: underline;
  text-underline-offset: 3px;
}

.theme-river {
  --page-bg: var(--surface-warm);
  --section-bg: var(--surface-warm);
  --accent: var(--accent-terracotta);
  --accent-strong: color-mix(in srgb, var(--accent-terracotta) 82%, var(--surface-ink));
  --border: var(--border-subtle);
  --muted: var(--text-secondary);
  --headline-font: var(--font-serif);
  --body-font: var(--font-sans);
  --label-font: var(--font-mono);
  --media-radius: 4px;
}

.theme-river .hero {
  min-height: auto;
  grid-template-columns: minmax(0, 0.96fr) minmax(320px, 0.72fr);
  gap: var(--space-12);
  padding-top: var(--space-12);
}

.theme-river h1 {
  font-size: clamp(3.2rem, 6.2vw, 5.95rem);
  font-weight: 520;
}

.theme-river .hero-media {
  align-self: stretch;
  max-height: 780px;
  aspect-ratio: 5 / 6;
}

.theme-river .hero-media img {
  object-position: 52% 50%;
}

.theme-alamo {
  --page-bg: var(--surface-plain);
  --section-bg: var(--surface-plain);
  --accent: var(--accent-terracotta);
  --accent-strong: color-mix(in srgb, var(--accent-terracotta) 82%, var(--surface-ink));
  --border: color-mix(in srgb, var(--surface-ink) 14%, transparent);
  --muted: color-mix(in srgb, var(--surface-ink) 70%, transparent);
  --headline-font: var(--font-sans);
  --body-font: var(--font-sans);
  --label-font: var(--font-mono);
  --headline-weight: 800;
  --section-weight: 800;
  --button-text: var(--text-inverse);
  --image-filter: saturate(0.82) contrast(1.04);
  --hero-aspect: 1 / 1;
}

.theme-alamo .hero {
  width: min(var(--wide), calc(100% - var(--space-8)));
  grid-template-columns: minmax(0, 0.86fr) minmax(360px, 0.9fr);
  gap: 0;
  align-items: stretch;
  min-height: auto;
  padding: var(--space-4) 0 var(--space-8);
}

.theme-alamo h1 {
  max-width: 11.5ch;
  font-size: clamp(3.2rem, 5vw, 5.2rem);
}

.theme-alamo .hero-copy {
  min-height: min(780px, calc(100dvh - 104px));
  max-width: none;
  padding: var(--space-16) var(--space-12);
  color: var(--text-primary);
  background: color-mix(in srgb, var(--accent-terracotta) 10%, var(--surface-plain));
  border: 1px solid color-mix(in srgb, var(--accent-terracotta) 28%, var(--surface-ink));
  border-right: 0;
  border-radius: var(--radius) 0 0 var(--radius);
}

.theme-alamo .hero-dek,
.theme-alamo .angle-note {
  color: var(--muted);
}

.theme-alamo .hero-copy .concept-label {
  color: var(--accent);
}

.theme-alamo .button-secondary {
  color: var(--text-primary);
}

.theme-alamo .hero-media {
  width: 100%;
  height: auto;
  min-height: min(780px, calc(100dvh - 104px));
  aspect-ratio: auto;
  border: 1px solid color-mix(in srgb, var(--accent-terracotta) 28%, var(--surface-ink));
  border-left: 0;
  border-radius: 0 var(--radius) var(--radius) 0;
}

.theme-alamo .proof-band {
  width: min(var(--wide), 100%);
  padding-right: max(var(--space-8), calc((100% - var(--max)) / 2));
  padding-left: max(var(--space-8), calc((100% - var(--max)) / 2));
  color: var(--text-primary);
  background: color-mix(in srgb, var(--accent-terracotta) 10%, var(--surface-plain));
  border: 0;
}

.theme-limestone {
  --page-bg: var(--surface-cream);
  --section-bg: var(--surface-cream);
  --accent: var(--accent-brick);
  --accent-strong: color-mix(in srgb, var(--accent-brick) 82%, var(--surface-ink));
  --border: color-mix(in srgb, var(--surface-stone) 78%, var(--text-primary));
  --muted: color-mix(in srgb, var(--text-primary) 74%, transparent);
  --headline-font: var(--font-serif);
  --body-font: var(--font-humanist);
  --label-font: var(--font-humanist);
  --media-radius: 0;
  --image-filter: sepia(0.12) saturate(0.9) brightness(1.03);
  --hero-aspect: 16 / 9;
}

.theme-limestone .hero {
  position: relative;
  grid-template-columns: 1fr;
  grid-template-areas: "stack";
  gap: 0;
  min-height: auto;
  padding-top: var(--space-10);
}

.theme-limestone .hero > * {
  grid-area: stack;
}

.theme-limestone .hero-copy {
  position: relative;
  z-index: 2;
  max-width: 690px;
  align-self: end;
  justify-self: start;
  margin: 0 0 var(--space-10) var(--space-10);
  padding: var(--space-6);
  color: var(--text-inverse);
}

.theme-limestone .hero-copy::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background: color-mix(in srgb, var(--surface-ink) 74%, transparent);
  border-radius: var(--radius);
}

.theme-limestone .hero .hero-copy .hero-dek,
.theme-limestone .hero .hero-copy .angle-note {
  color: color-mix(in srgb, var(--text-inverse) 82%, transparent);
}

.theme-limestone .button-secondary {
  color: var(--text-inverse);
}

.theme-limestone .hero-media {
  width: 100%;
  min-height: 610px;
  max-height: 690px;
}

.theme-limestone h1 {
  font-size: clamp(3rem, 5.35vw, 5.05rem);
}

.theme-limestone .services-section,
.theme-limestone .market-section {
  width: 100%;
  max-width: none;
  padding-right: max(var(--space-8), calc((100% - var(--max)) / 2));
  padding-left: max(var(--space-8), calc((100% - var(--max)) / 2));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--surface-stone) 24%, transparent) 25%, transparent 25%) 0 0 / 24px 24px,
    color-mix(in srgb, var(--surface-stone) 28%, var(--surface-cream));
}

.theme-ledger {
  --page-bg: var(--surface-plain);
  --section-bg: var(--surface-plain);
  --accent: var(--accent-green);
  --accent-strong: color-mix(in srgb, var(--accent-green) 78%, var(--surface-ink));
  --border: color-mix(in srgb, var(--surface-ink) 16%, transparent);
  --muted: color-mix(in srgb, var(--surface-ink) 72%, transparent);
  --headline-font: var(--font-sans);
  --body-font: var(--font-sans);
  --label-font: var(--font-mono);
  --metric-font: var(--font-mono);
  --headline-weight: 760;
  --section-weight: 760;
}

.theme-ledger .hero {
  width: min(var(--max), calc(100% - var(--space-8)));
  min-height: auto;
  grid-template-columns: minmax(0, 0.82fr) minmax(360px, 0.74fr);
  gap: var(--space-12);
  padding: var(--space-16) 0 var(--space-16);
  text-align: left;
}

.theme-ledger h1 {
  max-width: 9.6ch;
  margin-right: 0;
  margin-left: 0;
}

.theme-ledger .hero-dek,
.theme-ledger .angle-note {
  margin-right: 0;
  margin-left: 0;
}

.theme-ledger .hero-actions {
  justify-content: flex-start;
}

.theme-ledger .hero-media {
  display: block;
  min-height: 560px;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: 0 24px 80px color-mix(in srgb, var(--surface-ink) 10%, transparent);
}

.theme-ledger .hero-media img {
  filter: grayscale(0.42) contrast(1.08) brightness(1.02);
}

.theme-ledger .hero-media figcaption {
  display: none;
}

.theme-ledger .proof-band,
.theme-ledger .services-section,
.theme-ledger .process-section,
.theme-ledger .market-section,
.theme-ledger .testimonial-section {
  width: min(var(--max), calc(100% - var(--space-8)));
}

.theme-ledger .section-heading,
.theme-ledger .market-section {
  grid-template-columns: 1fr;
}

.theme-ledger .testimonial-grid {
  grid-template-columns: 1fr;
}

.theme-ledger .metric,
.theme-ledger .process-list li,
.theme-ledger .service-item {
  border-right: 0;
  border-left: 0;
  border-radius: 0;
}

.theme-ledger .testimonial-grid figure {
  border-right: 0;
  border-radius: 0;
}

.option-index {
  --page-bg: var(--surface-warm);
  --accent: var(--accent-terracotta);
  --border: var(--border-subtle);
  --muted: var(--text-secondary);
}

.research-page {
  --page-bg: var(--surface-warm);
  --accent: var(--accent-terracotta);
  --border: var(--border-subtle);
  --muted: var(--text-secondary);
}

@media (max-width: 1100px) {
  .site-header {
    grid-template-columns: 1fr auto;
  }

  .option-nav {
    grid-column: 1 / -1;
    justify-content: flex-start;
    order: 3;
  }

  .hero,
  .theme-river .hero,
  .theme-alamo .hero,
  .theme-river .proof-band,
  .theme-alamo .proof-band,
  .theme-limestone .proof-band,
  .proof-band,
  .listing-page-hero,
  .listing-layout,
  .listing-demo-callout,
  .plan-grid,
  .proximity-section,
  .policy-section,
  .market-section,
  .site-footer,
  .research-callout {
    grid-template-columns: 1fr;
  }

  .theme-alamo .hero-copy,
  .theme-alamo .hero-media {
    min-height: auto;
    height: auto;
  }

  .theme-alamo .hero-copy,
  .theme-alamo .hero-media {
    border: 1px solid color-mix(in srgb, var(--accent-terracotta) 28%, var(--surface-ink));
  }

  .theme-alamo .hero-media {
    aspect-ratio: 16 / 10;
  }

  .proof-intro,
  .proof-band > .section-kicker,
  .metric-row {
    grid-column: 1;
  }

  .service-list,
  .metric-row,
  .process-list,
  .testimonial-layout {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .photo-section {
    grid-template-columns: 1fr;
    align-items: start;
  }

  .photo-story {
    max-width: 720px;
  }

  .photo-grid {
    min-height: 460px;
  }

  .listing-panel {
    padding: var(--space-6);
  }

  .service-item:nth-child(2n) {
    border-right: 0;
  }

  .service-item:nth-child(4n) {
    border-right: 1px solid var(--border);
  }
}

@media (max-width: 760px) {
  body {
    font-size: 15px;
  }

  .site-header {
    width: 100%;
    min-height: 0;
    gap: var(--space-2);
    padding: var(--space-3) var(--zena-page-gutter) var(--space-2);
  }

  .brand-copy span {
    display: none;
  }

  .button-small {
    min-height: 44px;
    padding: var(--space-2) var(--space-3);
    font-size: 0.74rem;
  }

  .option-nav {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2px;
    width: 100%;
  }

  .option-nav a {
    padding: 7px 4px;
    font-size: 0.7rem;
    text-align: center;
  }

  .hero,
  .theme-river .hero,
  .theme-alamo .hero,
  .theme-limestone .hero,
  .theme-ledger .hero {
    width: min(100% - var(--space-6), var(--wide));
    padding: var(--space-8) 0 var(--space-12);
  }

  .theme-alamo .hero {
    width: 100%;
    padding: 0 0 var(--space-8);
  }

  .theme-alamo .hero-copy {
    padding: var(--space-6) var(--space-5) var(--space-8);
    border-radius: 0;
    border-right: 0;
    border-left: 0;
  }

  .theme-alamo .hero-media {
    order: -1;
    min-height: 168px;
    max-height: 188px;
    border-radius: 0;
    border-right: 0;
    border-left: 0;
  }

  .theme-limestone .hero-copy {
    grid-area: auto;
    margin: 0 0 var(--space-5);
    padding: 0;
    color: var(--text-primary);
  }

  .theme-limestone .hero {
    grid-template-areas: none;
  }

  .theme-limestone .hero-copy::before {
    display: none;
  }

  .theme-limestone .hero .hero-copy .hero-dek,
  .theme-limestone .hero .hero-copy .angle-note {
    color: var(--muted);
  }

  .theme-limestone .button-secondary {
    color: var(--text-primary);
  }

  .theme-limestone .hero-media {
    grid-area: auto;
    order: -1;
    min-height: 214px;
    max-height: none;
    margin-bottom: var(--space-6);
    aspect-ratio: 16 / 9;
    border-radius: var(--radius);
  }

  .theme-limestone .hero-media figcaption {
    display: none;
  }

  h1 {
    font-size: clamp(2.45rem, 12.5vw, 4rem);
  }

  h2 {
    font-size: clamp(1.75rem, 8.5vw, 2.75rem);
  }

  .theme-alamo h1,
  .theme-limestone h1,
  .theme-ledger h1 {
    font-size: clamp(2.25rem, 11vw, 3.7rem);
  }

  .theme-alamo h1 {
    font-size: clamp(2.05rem, 10.2vw, 3.35rem);
  }

  .theme-limestone h1 {
    font-size: clamp(2.1rem, 10vw, 3.25rem);
  }

  .theme-limestone .hero-dek {
    font-size: 1.05rem;
  }

  .theme-limestone .hero-actions,
  .theme-ledger .hero-actions {
    justify-content: flex-start;
  }

  .theme-ledger .hero-actions {
    justify-content: flex-start;
  }

  .theme-ledger .hero {
    grid-template-columns: 1fr;
    text-align: left;
  }

  .theme-ledger .hero-media {
    min-height: 280px;
    aspect-ratio: 4 / 3;
  }

  .proof-band,
  .listing-section,
  .listing-page-hero,
  .listing-notes-section,
  .services-section,
  .process-section,
  .market-section,
  .testimonial-section,
  .plans-section,
  .proximity-section,
  .lead-section,
  .policy-section,
  .page-intro,
  .photo-section,
  .theme-ledger .proof-band,
  .theme-ledger .services-section,
  .theme-ledger .process-section,
  .theme-ledger .market-section,
  .theme-ledger .testimonial-section,
  .index-main,
  .research-main {
    width: min(100% - var(--space-6), var(--max));
    padding: var(--space-12) 0;
  }

  .photo-grid {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    min-height: 0;
  }

  .photo-card,
  .photo-card-large {
    grid-row: auto;
    min-height: 210px;
    aspect-ratio: 4 / 3;
  }

  .listing-photo-main {
    min-height: 230px;
    aspect-ratio: 4 / 3;
  }

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

  .listing-photo-thumb {
    min-height: 124px;
  }

  .listing-facts {
    grid-template-columns: 1fr;
  }

  .testimonial-layout {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }

  .testimonial-photo {
    min-height: 260px;
    aspect-ratio: 4 / 3;
  }

  .testimonial-grid figure {
    padding: var(--space-5) 0 var(--space-5) var(--space-4);
  }

  .theme-limestone .services-section,
  .theme-limestone .market-section {
    width: 100%;
    padding-right: var(--space-5);
    padding-left: var(--space-5);
  }

  .section-heading,
  .testimonial-grid,
  .service-list,
  .listing-layout,
  .listing-notes-grid,
  .listing-demo-callout,
  .plan-grid,
  .proximity-section,
  .policy-section,
  .metric-row,
  .process-list,
  .testimonial-layout,
  .option-grid,
  .footer-grid,
  .theme-ledger .metric {
    grid-template-columns: 1fr;
  }

  .service-item,
  .service-item:nth-child(4n) {
    min-height: auto;
    border-right: 0;
  }

  .option-card {
    min-height: 320px;
    padding: var(--space-6);
  }

  .plan-card-media {
    min-height: 210px;
  }

  .proximity-map {
    min-height: 0;
    padding: var(--space-4);
  }

  .proximity-map article {
    margin-top: 0;
    margin-left: 0;
  }

  .site-footer {
    width: 100%;
    margin-top: var(--space-10);
  }
}

/* Resident admin operations: compact access provisioning and staff message queue. */
.admin-resident-access-form,
.admin-resident-message-layout { display: grid; gap: var(--space-4); min-width: 0; }
.admin-resident-access-form { grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: end; padding: var(--space-4); border: 1px solid var(--border-subtle); background: var(--surface-plain); }
.admin-resident-access-form label,
.admin-resident-thread-detail form { display: grid; gap: var(--space-2); color: var(--text-secondary); font-size: 0.82rem; font-weight: 700; }
.admin-resident-access-form input,
.admin-resident-access-form select,
.admin-resident-thread-detail textarea { width: 100%; min-width: 0; border: 1px solid var(--border-subtle); border-radius: var(--button-radius, 0); padding: var(--space-3); background: var(--surface-warm); color: var(--text-primary); font: inherit; }
.admin-resident-access-action { display: grid; gap: var(--space-2); }
.admin-resident-access-action p,
.admin-resident-section-head p,
.admin-resident-thread-detail header p,
.admin-resident-thread-detail form p { margin: 0; color: var(--text-secondary); font-size: 0.82rem; }
.admin-resident-section-head { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); margin-top: var(--space-2); }
.admin-resident-section-head h3,
.admin-resident-thread-detail h3 { margin: 0; font-size: 1.25rem; }
.admin-resident-message-layout { grid-template-columns: minmax(16rem, 0.75fr) minmax(0, 1.25fr); align-items: start; }
.admin-resident-thread-list,
.admin-resident-message-list { display: grid; gap: var(--space-2); margin: var(--space-3) 0 0; padding: 0; list-style: none; }
.admin-resident-thread-list button { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 0.8fr); gap: var(--space-3); padding: var(--space-3); border: 1px solid var(--border-subtle); border-radius: var(--button-radius, 0); background: var(--surface-plain); color: var(--text-primary); font: inherit; text-align: left; cursor: pointer; }
.admin-resident-thread-list button[aria-pressed="true"],
.admin-resident-thread-list button:hover,
.admin-resident-thread-list button:focus-visible { border-color: var(--accent-brick); background: var(--surface-cream); }
.admin-resident-thread-list span,
.admin-resident-thread-list small { display: block; min-width: 0; overflow-wrap: anywhere; }
.admin-resident-thread-list small { margin-top: var(--space-1); color: var(--text-secondary); font-size: 0.78rem; }
.admin-resident-thread-list b { display: inline-block; min-width: 1.4rem; margin-right: var(--space-2); padding: 0 var(--space-1); background: var(--accent-brick); color: var(--text-inverse); font-family: var(--font-mono); font-size: 0.75rem; text-align: center; }
.admin-resident-thread-detail { display: grid; gap: var(--space-4); min-width: 0; padding: var(--space-4); border: 1px solid var(--border-subtle); background: var(--surface-plain); }
.admin-resident-message-list li { display: grid; gap: var(--space-1); max-width: 85%; padding: var(--space-3); border-inline-start: 3px solid var(--surface-stone); background: var(--surface-warm); }
.admin-resident-message-list li[data-sender="staff"] { justify-self: end; border-inline-start: 0; border-inline-end: 3px solid var(--accent-brick); }
.admin-resident-message-list p,
.admin-resident-message-list time { margin: 0; }
.admin-resident-message-list time { color: var(--text-secondary); font-size: 0.75rem; }
@media (max-width: 900px) { .admin-resident-access-form, .admin-resident-message-layout { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 768px) { .admin-resident-table-wrap { overflow-x: visible; } .admin-resident-table, .admin-resident-table tbody, .admin-resident-table tr, .admin-resident-table td { display: block; min-width: 0; } .admin-resident-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0, 0, 0, 0); } .admin-resident-table tbody { display: grid; gap: var(--space-3); } .admin-resident-table tr { border: 1px solid var(--border-subtle); background: var(--surface-plain); } .admin-resident-table td { padding: var(--space-3); border-top: 1px solid var(--border-subtle); } .admin-resident-table td:first-child { border-top: 0; } .admin-resident-table td::before { content: attr(data-label); display: block; margin-bottom: var(--space-1); color: var(--text-secondary); font-family: var(--font-mono); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; } }
@media (max-width: 560px) { .admin-resident-access-form, .admin-resident-message-layout { grid-template-columns: 1fr; } }

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

/* Zena Gardens opus live system */
.zena-opus-hero {
  position: relative;
  display: grid;
  align-items: end;
  width: 100%;
  min-height: clamp(640px, calc(100svh - 76px), 820px);
  margin: 0;
  overflow: hidden;
  background: var(--panel-ink, var(--surface-ink));
}

.zena-opus-hero::before {
  content: none;
}

.zena-hero-text {
  position: relative;
  z-index: 2;
  width: var(--zena-page-rail);
  max-width: none;
  margin: 0 auto;
  padding: var(--space-20) 0 var(--space-20);
  color: var(--text-inverse);
}

.zena-hero-text h1 {
  max-width: 10ch;
  color: var(--text-inverse);
  font-size: clamp(3.5rem, 7vw, 7rem);
  line-height: 1.02;
  letter-spacing: -0.025em;
  text-wrap: balance;
  text-shadow: 0 2px 32px color-mix(in srgb, var(--panel-ink, var(--surface-ink)) 70%, transparent);
}

.zena-hero-frame {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 0;
}

.zena-hero-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(
      90deg,
      color-mix(in srgb, var(--panel-ink, var(--surface-ink)) 88%, transparent) 0%,
      color-mix(in srgb, var(--panel-ink, var(--surface-ink)) 67%, transparent) 34%,
      color-mix(in srgb, var(--panel-ink, var(--surface-ink)) 18%, transparent) 72%,
      transparent 100%
    ),
    linear-gradient(
      0deg,
      color-mix(in srgb, var(--panel-ink, var(--surface-ink)) 66%, transparent) 0%,
      transparent 58%
    );
  pointer-events: none;
}

.zena-hero-photo {
  position: absolute;
  inset: 0;
  overflow: hidden;
  margin: 0;
  background: var(--surface-stone);
}

.zena-hero-photo picture,
.zena-hero-photo img,
.opus-plan-media picture,
.opus-plan-media img {
  display: block;
  width: 100%;
  height: 100%;
}

.zena-hero-photo img,
.opus-plan-media img {
  object-fit: cover;
  filter: var(--image-filter, none);
}

.zena-hero-photo img {
  object-position: center 42%;
  transform: scale(1.015);
}

.zena-hero-photo figcaption,
.opus-plan-media figcaption {
  display: none;
}

.zena-hero-image-title {
  position: absolute;
  right: var(--zena-page-gutter);
  bottom: var(--space-6);
  z-index: 2;
  margin: 0;
  color: var(--text-inverse);
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.78rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  text-shadow: 0 1px 18px color-mix(in srgb, var(--panel-ink, var(--surface-ink)) 76%, transparent);
}

.hero-fact-panel {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  width: calc(100% - var(--space-12));
  margin: 0 var(--space-6) var(--space-6);
  overflow: hidden;
  background: color-mix(in srgb, var(--text-inverse) 24%, transparent);
  border: 1px solid color-mix(in srgb, var(--text-inverse) 30%, transparent);
}

.hero-fact-panel span {
  min-height: 104px;
  padding: var(--space-4);
  color: var(--text-inverse);
  background: color-mix(in srgb, var(--surface-ink) 72%, transparent);
  font-family: var(--label-font);
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.35;
}

.opus-plans,
.opus-proximity {
  width: var(--zena-wide-rail);
  margin: 0 auto;
  padding: var(--space-20) 0;
}

.rental-overview-opus,
.opus-lead,
.opus-policy {
  width: var(--zena-rail);
  margin: 0 auto;
  padding: var(--space-20) 0;
}

.rental-overview-opus {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(360px, 0.72fr);
  gap: var(--space-16);
  align-items: start;
  border-top: 1px solid var(--border);
}

.overview-lockup {
  display: grid;
  gap: var(--space-5);
  align-content: start;
}

.overview-lockup h2 {
  max-width: 14ch;
}

.overview-lead {
  max-width: 44ch;
  margin: 0;
  color: var(--muted);
  font-size: 1.12rem;
  line-height: 1.55;
}

.text-link {
  justify-self: start;
  color: var(--accent);
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 1px solid color-mix(in srgb, var(--accent) 45%, transparent);
  padding-bottom: 2px;
  transition: border-color 160ms var(--ease-emphasis), color 160ms var(--ease-emphasis);
}

.text-link:hover,
.text-link:focus-visible {
  color: var(--text-primary);
  border-color: var(--text-primary);
}

.overview-body > p,
.split-heading > p,
.proximity-copy p,
.apply-hero .hero-dek,
.apply-detail-grid p {
  color: var(--muted);
  font-size: 1.08rem;
}

.rental-type-stack {
  display: grid;
  gap: 0;
  margin-top: 0;
}

.rental-type-stack article {
  display: grid;
  grid-template-columns: 2.5rem 7rem minmax(0, 1fr);
  gap: var(--space-5);
  align-items: baseline;
  padding: var(--space-6) 0;
  border-bottom: 1px solid var(--border);
}

/* Lines only BETWEEN items: drop the closing rule on the last entry. */
.rental-type-stack article:last-child {
  border-bottom: 0;
}

.rental-type-index {
  color: var(--muted) !important;
  font-family: var(--font-mono) !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  font-weight: 600 !important;
}

.rental-type-copy {
  display: grid;
  gap: var(--space-2);
}

.rental-type-stack span,
.opus-step-list span,
.apply-detail-grid span {
  color: var(--accent);
  font-family: var(--label-font);
  font-size: 0.76rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.rental-type-stack h3 {
  margin: 0;
  font-family: var(--headline-font);
  font-size: clamp(1.35rem, 2vw, 2rem);
}

.rental-type-stack p {
  margin: 0;
  color: var(--muted);
}

.split-heading {
  width: 100%;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.5fr);
  gap: var(--space-12);
  align-items: start;
}

@media (min-width: 701px) {
  .split-heading > p {
    align-self: end;
  }
}

.opus-plan-board {
  display: grid;
  grid-template-columns: minmax(0, 0.82fr) minmax(0, 1.1fr);
  grid-auto-flow: dense;
  gap: var(--space-4);
}

.opus-plan-card {
  display: grid;
  grid-template-columns: 1fr;
  min-height: 360px;
  background: color-mix(in srgb, var(--surface-cream) 82%, var(--surface-plain));
  border: 1px solid var(--border);
}

.opus-plan-card-featured {
  grid-row: span 2;
}

.opus-plan-card-featured .opus-plan-media {
  min-height: 420px;
}

.opus-plan-copy {
  display: grid;
  align-content: start;
  gap: var(--space-4);
  padding: var(--space-6);
}

.opus-plan-copy h3 {
  margin: 0;
  font-family: var(--headline-font);
  font-size: clamp(2rem, 3vw, 3.1rem);
}

.opus-plan-copy p {
  margin: 0;
  color: var(--muted);
}

.opus-plan-media {
  position: relative;
  min-height: 220px;
  margin: 0;
  overflow: hidden;
  background: var(--surface-stone);
}

.opus-proximity {
  grid-template-columns: minmax(0, 0.58fr) minmax(420px, 0.78fr);
  padding-top: var(--space-24);
  padding-bottom: var(--space-24);
}

.opus-proximity .proximity-map {
  min-height: 500px;
  transform: rotate(-1deg);
}

.opus-proximity .proximity-map article {
  transform: rotate(1deg);
}

.opus-step-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  padding: 0;
  margin: 0;
  list-style: none;
}

.opus-step-list li {
  display: grid;
  grid-template-rows: auto auto 1fr;
  align-content: start;
  gap: var(--space-5);
  padding: var(--space-8);
  background: color-mix(in srgb, var(--surface-stone) 24%, var(--surface-warm));
  border: 1px solid color-mix(in srgb, var(--border) 76%, transparent);
  border-radius: var(--radius);
}

.opus-step-list li > span {
  padding-bottom: var(--space-6);
  color: color-mix(in srgb, var(--text-secondary) 78%, var(--accent));
  border-bottom: 1px solid color-mix(in srgb, var(--text-secondary) 34%, transparent);
  font-family: var(--headline-font);
  font-size: clamp(4rem, 7vw, 6rem);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 0.86;
  text-transform: none;
}

.opus-step-list h3 {
  margin: 0;
  font-family: var(--headline-font);
  font-size: clamp(1.75rem, 2.4vw, 2.35rem);
  line-height: 1.05;
}

.opus-step-list p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.opus-policy {
  border-top: 1px solid var(--border);
}

.apply-main-opus {
  width: min(var(--max), calc(100% - var(--space-8)));
  margin: 0 auto;
}

.apply-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(340px, 0.44fr);
  gap: var(--space-12);
  align-items: end;
  padding: var(--space-20) 0 var(--space-16);
  border-bottom: 1px solid var(--border);
}

.apply-hero h1 {
  max-width: 11ch;
}

.apply-panel {
  display: grid;
  gap: var(--space-5);
  padding: var(--space-8);
  background: color-mix(in srgb, var(--surface-stone) 26%, var(--surface-cream));
  border-left: 2px solid var(--accent);
}

.apply-panel strong {
  font-family: var(--headline-font);
  font-size: clamp(1.45rem, 2vw, 2rem);
  line-height: 1.1;
}

.apply-photo-band {
  margin: var(--space-10) 0 0;
  aspect-ratio: 21 / 8;
  min-height: 220px;
}

.apply-photo-band figcaption {
  position: absolute;
  right: var(--space-4);
  bottom: var(--space-4);
  max-width: calc(100% - var(--space-8));
  padding: var(--space-2) var(--space-3);
  color: var(--caption-text, var(--text-inverse));
  background: color-mix(in srgb, var(--surface-ink) 64%, transparent);
  border-radius: var(--radius);
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.72rem;
  line-height: 1.3;
}

.apply-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-4);
  padding: var(--space-16) 0 var(--space-20);
}

.apply-detail-grid article {
  display: grid;
  align-content: start;
  gap: var(--space-4);
  min-height: 0;
  padding: var(--space-5) 0 0;
  border: 0;
  border-top: 1px solid var(--border);
}

.apply-detail-grid h2 {
  margin: 0;
  font-size: clamp(1.65rem, 2.6vw, 2.55rem);
}

.apply-detail-grid p {
  margin: 0;
}

@media (max-width: 1100px) {
  .zena-opus-hero,
  .rental-overview-opus,
  .split-heading,
  .opus-proximity,
  .apply-hero {
    grid-template-columns: 1fr;
  }

  .zena-opus-hero::before {
    left: 0;
  }

  .apply-hero h1 {
    max-width: none;
  }

  .zena-hero-frame {
    min-height: 100%;
  }

  .opus-plan-board,
  .opus-step-list,
  .apply-detail-grid {
    grid-template-columns: 1fr;
  }

  .opus-plan-card-featured {
    grid-row: auto;
  }

  .rental-type-stack article {
    grid-template-columns: 2.5rem 6rem minmax(0, 1fr);
  }
}

@media (max-width: 760px) {
  .rental-overview-opus,
  .opus-plans,
  .opus-proximity,
  .opus-lead,
  .opus-policy,
  .apply-main-opus {
    width: min(calc(100% - var(--space-6)), var(--max));
    overflow-x: clip;
  }

  .rental-overview-opus,
  .opus-plans,
  .opus-proximity,
  .opus-lead,
  .opus-policy {
    padding: var(--space-12) 0;
  }

  .zena-opus-hero::before {
    display: none;
  }

  .zena-hero-text {
    width: min(100% - var(--space-6), var(--wide));
    padding: var(--space-20) 0 var(--space-16);
  }

  .zena-opus-hero {
    min-height: clamp(640px, calc(100svh - 164px), 760px);
  }

  .zena-hero-frame {
    min-height: 100%;
    aspect-ratio: auto;
  }

  .zena-hero-photo img {
    object-position: 56% center;
  }

  .zena-hero-image-title {
    right: var(--space-3);
    bottom: var(--space-3);
    font-size: 0.68rem;
  }

  .hero-fact-panel {
    grid-template-columns: 1fr;
    width: calc(100% - var(--space-6));
    margin: 0 var(--space-3) var(--space-3);
  }

  .hero-fact-panel span {
    min-height: 0;
    padding: var(--space-3);
  }

  .rental-type-stack article {
    grid-template-columns: 2.25rem minmax(0, 1fr);
    gap: var(--space-1) var(--space-4);
  }

  .rental-type-label,
  .rental-type-copy {
    grid-column: 2;
  }

  .opus-proximity .proximity-map,
  .opus-proximity .proximity-map article {
    transform: none;
  }

  .opus-step-list li,
  .apply-detail-grid article {
    min-height: auto;
    padding: var(--space-6);
  }

  .apply-hero {
    padding: var(--space-12) 0;
  }

  .apply-photo-band {
    width: 100%;
    margin-top: var(--space-8);
    aspect-ratio: 16 / 9;
    min-height: 170px;
  }

  .apply-detail-grid {
    padding: var(--space-12) 0;
  }
}

.zena-hero-text .hero-dek {
  max-width: 54ch;
  color: color-mix(in srgb, var(--text-inverse) 84%, transparent);
  text-shadow: 0 1px 24px color-mix(in srgb, var(--panel-ink) 72%, transparent);
}

.zena-hero-text .button-secondary {
  color: var(--text-inverse);
  border-color: color-mix(in srgb, var(--text-inverse) 62%, transparent);
  background: color-mix(in srgb, var(--panel-ink) 24%, transparent);
}

.zena-hero-text .button-secondary:hover {
  color: var(--panel-ink);
  background: var(--text-inverse);
  border-color: var(--text-inverse);
}

.zena-opus-hero .concept-label {
  color: color-mix(in srgb, var(--text-inverse) 86%, var(--accent-brick));
  text-shadow: 0 1px 18px color-mix(in srgb, var(--panel-ink) 78%, transparent);
}

/* Zena Gardens v2: location-first narrative, stacked plans, stronger shell */
/* Header redesign — two-column mast: botanical wordmark left, nav + phone + CTA
   clustered right so the menu reads next to the button instead of centered.
   Nav hover is a hairline underline; the header CTA is a filled square
   terracotta button matching the footer colophon CTA. */
.zena-live .site-header {
  grid-template-columns: auto auto;
  justify-content: space-between;
  gap: var(--space-6);
  min-height: 84px;
  color: var(--text-inverse);
  background: color-mix(in srgb, var(--panel-ink) 96%, var(--accent-brick));
  border-bottom: 1px solid color-mix(in srgb, var(--text-inverse) 16%, transparent);
  backdrop-filter: none;
}

.zena-live {
  --button-radius: 0;
  --panel-ink: #1B1815;
}

.zena-live .button {
  font-size: var(--control-font-size);
  font-weight: 500;
  line-height: var(--control-line-height);
}

/* Right cluster — phone, nav, CTA grouped with hairline column dividers. */
.header-cluster {
  display: flex;
  align-items: center;
  gap: var(--space-6);
  justify-content: flex-end;
}

/* Phone number — the primary header action. Peggy wants calls first, so
   this reads as a filled accent CTA with a handset glyph, not a quiet link. */
.header-phone {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-2) var(--space-4);
  border-left: 0;
  border-radius: var(--button-radius, 0);
  background: var(--accent);
  color: var(--text-inverse);
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.9rem;
  font-weight: 650;
  letter-spacing: 0.01em;
  text-decoration: none;
  white-space: nowrap;
  box-shadow: 0 1px 2px color-mix(in srgb, var(--surface-ink) 35%, transparent);
  transition: background 180ms ease, transform 120ms ease;
}

.header-phone::before {
  content: "";
  width: 14px;
  height: 14px;
  background: currentColor;
  -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.4 0 .8-.3 1l-2.2 2.2z'/></svg>") center / contain no-repeat;
          mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M6.6 10.8c1.4 2.8 3.8 5.1 6.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1C10.6 21 3 13.4 3 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.2.2 2.4.6 3.6.1.4 0 .8-.3 1l-2.2 2.2z'/></svg>") center / contain no-repeat;
}

.header-phone:hover,
.header-phone:focus-visible {
  background: var(--accent-strong, var(--accent));
  color: var(--text-inverse);
}

.header-phone:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--accent) 65%, transparent);
  outline-offset: 2px;
}

.header-phone:active {
  transform: translateY(1px);
}

.header-wordmark {
  display: inline-flex;
  align-items: center;
  gap: var(--space-3);
  font-family: var(--headline-font);
  color: inherit;
  text-decoration: none;
  white-space: nowrap;
  transition: color 180ms ease;
}

.header-wordmark-copy {
  display: grid;
  gap: 0;
}

.header-wordmark-copy strong {
  color: var(--text-inverse);
  font-family: var(--headline-font);
  font-size: 1.34rem;
  font-weight: 500;
  letter-spacing: -0.005em;
  line-height: 1;
}

.header-wordmark-copy span {
  color: color-mix(in srgb, var(--text-inverse) 66%, transparent);
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.78rem;
  font-weight: 650;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.header-wordmark:hover,
.header-wordmark:focus-visible {
  color: var(--text-inverse);
}

.header-wordmark:focus-visible {
  text-decoration: underline;
  text-underline-offset: 6px;
}

/* Nav — editorial hairline underline on hover/current instead of bg chip. */
.zena-live .option-nav {
  gap: 0;
  justify-content: flex-end;
}

.zena-live .option-nav a {
  position: relative;
  border-radius: 0;
  background: transparent;
  color: color-mix(in srgb, var(--text-inverse) 74%, transparent);
  font-size: var(--control-font-size);
  font-weight: 400;
  line-height: var(--control-line-height);
  white-space: nowrap;
  transition: color 180ms ease;
}

.zena-live .option-nav a::after {
  content: "";
  position: absolute;
  left: var(--space-4);
  right: var(--space-4);
  bottom: calc(50% - 0.62em);
  height: 1px;
  background: var(--accent-brick);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 220ms cubic-bezier(0.16, 1, 0.3, 1);
}

.zena-live .option-nav a:hover,
.zena-live .option-nav a:focus-visible {
  color: var(--text-inverse);
  background: color-mix(in srgb, var(--text-inverse) 7%, transparent);
}

.zena-live .option-nav a:hover::after,
.zena-live .option-nav a:focus-visible::after,
.zena-live .option-nav a[aria-current="page"]::after {
  transform: scaleX(1);
}

.zena-live .option-nav a[aria-current="page"] {
  color: var(--text-inverse);
  background: transparent;
}

/* Header CTA — filled square terracotta, matching the footer colophon CTA.
   Scoped to the header so body .button-small (floor plan / lightbox) stays
   transparent-outline. */
.zena-live .site-header .button-small {
  color: var(--text-inverse);
  background: var(--accent);
  border-color: var(--accent);
}

.zena-live .site-header .button-small:hover {
  color: var(--text-inverse);
  background: color-mix(in srgb, var(--accent) 88%, var(--text-inverse));
  border-color: color-mix(in srgb, var(--accent) 88%, var(--text-inverse));
}

/* Body .button-small (floor plan / lightbox) keeps its transparent-outline look
   inherited from the base + zena-live defaults below. */
.zena-live .button-small {
  background: transparent;
  border-color: color-mix(in srgb, var(--accent) 55%, transparent);
}

.zena-live .button-small:hover {
  color: var(--text-inverse);
  background: var(--accent);
  border-color: var(--accent);
}

.plan-showcase .split-heading h2 {
  max-width: 22ch;
  text-wrap: balance;
}

.location-offer h2 {
  max-width: 13ch;
  text-wrap: balance;
}

.plan-stack {
  display: grid;
  gap: var(--space-5);
}

.plan-row {
  display: grid;
  grid-template-columns: minmax(380px, 0.94fr) minmax(420px, 0.86fr);
  align-items: start;
  background: color-mix(in srgb, var(--surface-cream) 84%, var(--surface-plain));
  border: 1px solid var(--border);
}

.plan-row-gallery {
  --plan-mosaic-gap: var(--space-3);
  display: grid;
  align-self: start;
  min-width: 0;
  padding: var(--plan-mosaic-gap);
  background: color-mix(in srgb, var(--surface-cream) 90%, var(--surface-stone));
}

.plan-row-gallery .plan-mosaic-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-self: start;
  gap: var(--plan-mosaic-gap);
  aspect-ratio: 1 / 1;
  overflow: hidden;
  padding: 0;
  border: 0;
}

.plan-row-gallery .plan-mosaic-gallery.is-mosaic-ready {
  position: relative;
  display: block;
  aspect-ratio: auto;
}

.plan-row-gallery .plan-gallery-pending {
  min-height: 420px;
  align-content: center;
  gap: var(--space-3);
  padding: var(--space-6);
  color: var(--muted);
  border: 1px solid var(--border);
}

.plan-row-gallery .plan-gallery-pending p {
  max-width: 34ch;
  margin: 0;
}

.plan-row-gallery .plan-gallery-pending strong {
  max-width: 18ch;
  color: var(--text-primary);
  font-family: var(--headline-font);
  font-size: clamp(1.7rem, 3vw, 2.4rem);
  font-weight: 500;
  line-height: 1.05;
}

.plan-row-details {
  display: grid;
  align-content: start;
  gap: var(--space-6);
  min-width: 0;
  padding: clamp(var(--space-6), 3vw, var(--space-10));
}

.plan-row-copy {
  display: grid;
  align-content: start;
  gap: var(--space-5);
  padding: 0;
}

.plan-row-copy h3 {
  margin: 0;
  font-family: var(--headline-font);
  font-size: clamp(2.4rem, 5vw, 4.8rem);
  line-height: 0.98;
}

.plan-row-copy > p:not(.section-kicker) {
  max-width: 58ch;
  margin: 0;
  color: var(--muted);
  font-size: 1.08rem;
}

.plan-facts-inline {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.plan-facts-inline div + div {
  padding-left: var(--space-5);
  border-left: 1px solid var(--border);
}

.plan-note {
  padding-top: var(--space-4);
  border-top: 1px solid var(--border);
  font-size: 0.95rem !important;
}

.plan-row .plan-floor-plan {
  padding: var(--space-4) 0 0;
  border-top: 1px solid var(--border);
}

.plan-row .plan-floor-plan .plan-floor-plan-preview {
  display: grid;
  grid-template-columns: minmax(110px, 130px) minmax(0, 1fr);
  gap: var(--space-5);
  align-items: start;
}

.plan-row .plan-floor-plan .plan-floor-plan-thumb {
  margin: 0;
  overflow: hidden;
  background: color-mix(in srgb, var(--surface-cream) 80%, var(--surface-plain));
  border: 1px solid var(--border);
  border-radius: var(--media-radius, var(--radius));
}

.plan-row .plan-floor-plan .plan-floor-plan-thumb img {
  display: block;
  height: auto;
  max-height: 130px;
  width: 100%;
  padding: var(--space-2);
  object-fit: contain;
  object-position: center;
  background: color-mix(in srgb, var(--surface-cream) 70%, var(--surface-plain));
}

.plan-row .plan-floor-plan .plan-floor-plan-meta {
  display: grid;
  align-content: start;
  gap: var(--space-3);
  min-width: 0;
}

.plan-row .plan-floor-plan .plan-floor-plan-actions {
  margin: 0;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
}

.plan-row .plan-floor-plan-note {
  margin: 0;
  font-size: 0.85rem;
  line-height: 1.5;
  color: var(--muted);
}

.plan-mosaic-tile {
  position: relative;
  display: block;
  width: 100%;
  aspect-ratio: 1 / 1;
  margin: 0;
  padding: 0;
  border: 0;
  overflow: hidden;
  border-radius: var(--media-radius, var(--radius));
  background: color-mix(in srgb, var(--surface-cream) 78%, var(--surface-stone));
  cursor: pointer;
}

.plan-mosaic-gallery.is-mosaic-ready .plan-mosaic-tile {
  position: absolute;
  aspect-ratio: auto;
}

.plan-mosaic-tile picture,
.plan-mosaic-tile img {
  display: block;
  width: 100%;
  height: 100%;
}

.plan-mosaic-tile img {
  object-fit: cover;
  transition: transform 460ms cubic-bezier(0.22, 1, 0.36, 1), filter 320ms ease;
  will-change: transform;
}

.plan-mosaic-tile:hover img,
.plan-mosaic-tile:focus-visible img {
  transform: scale(1.04);
}

.plan-mosaic-tile::after {
  position: absolute;
  inset: 0;
  pointer-events: none;
  content: "";
  background: linear-gradient(180deg, transparent 60%, color-mix(in srgb, var(--panel-ink, var(--surface-ink)) 28%, transparent));
  opacity: 0;
  transition: opacity 340ms ease;
  border-radius: var(--media-radius, var(--radius));
}

.plan-mosaic-tile:hover::after,
.plan-mosaic-tile:focus-visible::after {
  opacity: 1;
}

.plan-mosaic-tile:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: -2px;
}

.plan-gallery-lightbox::backdrop {
  background: color-mix(in srgb, var(--surface-ink) 55%, transparent);
  transition: opacity 180ms var(--ease-emphasis);
}

.plan-gallery-lightbox {
  width: min(calc(100% - var(--space-8)), 960px);
  max-width: 100%;
  max-height: calc(100% - var(--space-8));
  padding: 0;
  margin: auto;
  color: var(--text-primary);
  background: color-mix(in srgb, var(--surface-plain) 96%, var(--surface-cream));
  border: 1px solid var(--border);
  border-radius: var(--media-radius, var(--radius));
}

.plan-gallery-lightbox-inner {
  display: grid;
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-5);
}

.plan-gallery-lightbox-header {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
  justify-content: space-between;
}

.plan-gallery-lightbox-header h3 {
  margin: 0;
  font-family: var(--headline-font, var(--font-serif));
  font-size: 1.15rem;
  line-height: 1.2;
}

.plan-gallery-lightbox-close {
  padding: var(--space-2) var(--space-4);
  color: var(--text-inverse);
  background: var(--accent);
  border: 0;
  border-radius: var(--radius);
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

.plan-gallery-lightbox-close:hover,
.plan-gallery-lightbox-close:focus-visible {
  filter: brightness(1.05);
}

.plan-gallery-lightbox-stage {
  position: relative;
}

.plan-gallery-lightbox-page img {
  display: block;
  width: 100%;
  max-height: min(72vh, 720px);
  object-fit: contain;
  background: color-mix(in srgb, var(--surface-cream) 65%, var(--surface-plain));
  border: 1px solid var(--border);
  border-radius: var(--media-radius, var(--radius));
}

.plan-gallery-lightbox-page figcaption {
  padding-top: var(--space-2);
  color: var(--muted);
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.78rem;
}

.plan-gallery-lightbox-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.plan-gallery-lightbox-count {
  margin: 0;
  color: var(--muted);
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.78rem;
  letter-spacing: 0.06em;
}

.location-offer {
  grid-template-columns: minmax(0, 0.42fr) minmax(460px, 0.84fr);
  align-items: stretch;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.location-copy {
  display: grid;
  align-content: start;
  gap: var(--space-5);
}

.location-copy > p:not(.section-kicker):not(.location-note) {
  max-width: 46ch;
  color: var(--muted);
  font-size: 1.08rem;
}

.location-note {
  margin: 0;
  max-width: 52ch;
  color: var(--muted);
  font-size: 0.94rem !important;
  line-height: 1.55;
}

.location-copy .location-anchor-board {
  position: relative;
  display: grid;
  gap: var(--space-3);
  min-height: auto;
  margin-top: var(--space-4);
  padding: var(--space-4);
  background: color-mix(in srgb, var(--surface-cream) 80%, var(--surface-plain));
  border: 1px solid var(--border);
}

.location-copy .location-anchor-board::before {
  display: none;
}

.location-copy .location-anchor {
  width: 100%;
  margin: 0;
  background: transparent;
  border: 0;
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--border);
}

.location-copy .location-anchor:last-child {
  border-bottom: 0;
}

.location-anchor-board {
  position: relative;
  display: grid;
  gap: var(--space-4);
  min-height: 560px;
  padding: clamp(var(--space-5), 4vw, var(--space-10));
  overflow: hidden;
  background:
    linear-gradient(90deg, color-mix(in srgb, var(--surface-stone) 26%, transparent) 1px, transparent 1px) 0 0 / 56px 56px,
    linear-gradient(0deg, color-mix(in srgb, var(--surface-stone) 26%, transparent) 1px, transparent 1px) 0 0 / 56px 56px,
    color-mix(in srgb, var(--surface-stone) 16%, var(--surface-cream));
  border: 1px solid var(--border);
}

.location-anchor-board::before {
  position: absolute;
  inset: 12% 18% auto auto;
  width: 44%;
  height: 70%;
  content: "";
  border: 1px solid color-mix(in srgb, var(--accent) 28%, transparent);
  transform: rotate(9deg);
}

.location-anchor {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: var(--space-4);
  align-items: start;
  width: min(100%, 470px);
  padding: var(--space-5);
  margin-top: calc(var(--pin-index) * 20px);
  margin-left: calc(var(--pin-index) * 10%);
  background: color-mix(in srgb, var(--surface-plain) 80%, var(--surface-cream));
  border: 1px solid var(--border);
}

.location-anchor span {
  display: grid;
  width: 50px;
  height: 50px;
  place-items: center;
  color: var(--text-inverse);
  background: var(--panel-ink, var(--surface-ink));
  font-family: var(--font-mono);
  font-weight: 500;
}

.location-anchor p {
  margin: 0 0 var(--space-1);
  color: var(--muted);
  font-family: var(--label-font);
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.25;
  text-transform: uppercase;
}

.location-anchor h3 {
  margin: 0 0 var(--space-2);
  font-family: var(--headline-font);
  font-size: clamp(1.55rem, 2.5vw, 2.3rem);
}

.location-anchor strong,
.location-anchor small {
  display: block;
}

.location-anchor strong {
  margin-bottom: var(--space-2);
  line-height: 1.35;
}

.location-anchor small {
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.45;
}


.location-copy .location-anchor {
  grid-template-columns: 44px minmax(0, 1fr);
  gap: var(--space-3);
  align-items: start;
}

.location-copy .location-anchor span {
  width: 44px;
  height: 44px;
}

.location-copy .location-anchor h3 {
  margin: 0 0 var(--space-1);
  font-size: clamp(1.2rem, 2vw, 1.55rem);
}

.location-copy .location-anchor strong {
  color: var(--accent);
  font-family: var(--label-font, var(--mono-font));
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

.location-copy .location-anchor small {
  font-size: 0.86rem;
}
.footer-lockup {
  display: grid;
  gap: var(--space-6);
  max-width: 780px;
}

.footer-lockup p {
  max-width: 18ch;
  margin: 0;
  font-family: var(--headline-font);
  font-size: clamp(2.25rem, 4.6vw, 4.9rem);
  font-weight: 500;
  letter-spacing: -0.015em;
  line-height: 0.98;
  color: var(--text-inverse);
  text-wrap: balance;
}

.site-footer .brand-copy strong {
  color: var(--text-inverse);
  font-weight: 500;
}

.site-footer .brand-copy span {
  color: color-mix(in srgb, var(--text-inverse) 58%, transparent);
}


@media (max-width: 1100px) {
  .plan-row,
  .location-offer {
    grid-template-columns: 1fr;
  }

  .plan-row-gallery {
    border-right: 0;
    border-bottom: 1px solid var(--border);
  }

  .plan-row-details {
    border-left: 0;
  }

  .plan-row-gallery .plan-mosaic-gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .plan-row-gallery .plan-gallery-pending {
    min-height: 0;
    aspect-ratio: auto;
    padding: var(--space-8) var(--space-6);
  }

  .location-anchor-board {
    min-height: auto;
  }
}

@media (max-width: 900px) {
  .zena-opus-hero {
    min-height: clamp(640px, calc(100svh - 164px), 760px);
  }

  .zena-live .site-header {
    grid-template-columns: 1fr;
    gap: var(--space-2);
    min-height: 0;
    padding-block: var(--space-3);
  }

  .header-cluster {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: var(--space-2) var(--space-3);
    width: 100%;
  }

  .zena-live .option-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    align-items: center;
    justify-content: flex-start;
    min-height: var(--space-12);
    order: initial;
  }

 .header-phone {
   grid-column: 1;
   grid-row: 1;
   order: initial;
    justify-self: start;
 }

  .header-cluster .button-small {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
    order: initial;
    padding: var(--space-2) var(--space-3);
  }

  .brand-mark {
    width: 44px;
    height: 44px;
  }

  .header-wordmark-copy strong {
    font-size: 1.2rem;
  }
}

@media (max-width: 760px) {
.policy-section {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .policy-stack {
    gap: var(--space-4);
  }

  .location-copy .location-anchor-board {
    padding: var(--space-3);
  }

  .zena-map,
  #zena-map,
  .location-tool #zena-map {
    min-height: 340px;
    height: 420px;
  }

  .plan-row-gallery .plan-mosaic-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .plan-facts-inline {
    grid-template-columns: 1fr;
  }

  .plan-facts-inline div + div {
    padding-left: 0;
    border-left: 0;
    padding-top: var(--space-3);
    border-top: 1px solid var(--border);
  }

  .location-anchor {
    grid-template-columns: 44px minmax(0, 1fr);
    margin-left: 0;
  }

  .location-anchor span {
    width: 44px;
    height: 44px;
  }

  .footer-masthead {
    grid-template-columns: 1fr;
    gap: var(--space-8);
    align-items: flex-start;
  }

  .footer-cta {
    justify-self: start;
  }

  .footer-directory {
    font-size: 1rem;
  }

  .footer-directory > a {
    padding-block: var(--space-2);
  }

  .footer-base {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Small-screen typography + overflow safety (top-notch mobile) */
@media (max-width: 700px) {
  :root {
    --zena-page-gutter: var(--space-3);
    --zena-page-rail: min(var(--wide), calc(100% - var(--space-6)));
  }

  .zena-opus-hero,
  .rental-overview-opus,
  .split-heading,
  .opus-proximity,
  .location-offer,
  .apply-hero,
  .policy-section {
    grid-template-columns: 1fr;
  }

  h1,
  h2,
  h3,
  .plan-row-copy h3,
  .split-heading h2,
  .location-offer h2 {
    overflow-wrap: break-word;
    hyphens: none;
    max-width: none;
    text-wrap: balance;
  }

  h2 {
    font-size: clamp(1.7rem, 6.6vw, 2.5rem);
  }

  .theme-limestone h1,
  .zena-hero-text h1 {
    font-size: clamp(2.2rem, 9vw, 3.1rem);
  }

  .plan-row-copy h3 {
    font-size: clamp(2rem, 10vw, 3rem);
  }

  .plan-showcase .split-heading h2,
  .location-offer h2 {
    max-width: 18ch;
  }

  .rental-overview-opus,
  .opus-plans,
  .opus-proximity,
  .opus-lead,
  .opus-policy,
  .plans-section,
  .lead-section,
  .policy-section,
  .proximity-section {
    width: min(100% - var(--space-6), var(--max));
    margin-inline: auto;
  }

  .section-heading,
  .split-heading,
  .split-heading > p,
  .overview-lead,
  .location-copy p {
    max-width: 100%;
  }

  .footer-fineprint {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-2);
  }

  .footer-wordmark {
    font-size: clamp(2rem, 9vw, 2.7rem);
  }
}

/* Zena Gardens v3: make proximity read as a usable orientation tool */
.location-tool {
  display: grid;
  align-content: center;
}

.location-tool #zena-map {
  width: 100%;
  height: clamp(560px, 78vh, 820px);
}

.zena-live .site-header .brand-copy strong {
  color: var(--text-inverse);
  font-family: var(--headline-font);
  font-size: 1.15rem;
  font-weight: 500;
  letter-spacing: 0.01em;
}

.zena-live .site-header .brand-copy span {
  color: color-mix(in srgb, var(--text-inverse) 66%, transparent);
  font-weight: 400;
}





/* Task 9: Zena map, floor plans, plan galleries, drive-time labels */
.zena-map,
#zena-map {
  position: relative;
  z-index: 0;
  width: 100%;
  min-width: 0;
  height: clamp(560px, 80vh, 820px);
  min-height: 540px;
  aspect-ratio: auto;
  overflow: hidden;
  color: var(--text-primary);
  background:
    radial-gradient(circle at 18% 12%, color-mix(in srgb, var(--accent) 14%, transparent), transparent 34%),
    linear-gradient(180deg, color-mix(in srgb, var(--surface-cream) 88%, var(--surface-plain)), var(--surface-cream));
  border: 1px solid var(--border);
  border-radius: var(--media-radius, var(--radius));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--surface-plain) 55%, transparent);
  isolation: isolate;
}

.zena-map .leaflet-container,
#zena-map .leaflet-container {
  width: 100%;
  height: 100%;
  font-family: var(--body-font, var(--font-sans));
  background: color-mix(in srgb, var(--surface-stone) 22%, var(--surface-cream));
}

.zena-map .leaflet-control-container,
#zena-map .leaflet-control-container {
  z-index: 2;
}

.zena-map .leaflet-control-zoom,
#zena-map .leaflet-control-zoom,
.zena-map .leaflet-control-attribution,
#zena-map .leaflet-control-attribution {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: 0 8px 24px color-mix(in srgb, var(--surface-ink) 12%, transparent);
}

.zena-map .leaflet-control-zoom a,
#zena-map .leaflet-control-zoom a {
  color: var(--text-primary);
  background: color-mix(in srgb, var(--surface-plain) 92%, var(--surface-cream));
}

.zena-map .leaflet-control-zoom a:hover,
#zena-map .leaflet-control-zoom a:hover,
.zena-map .leaflet-control-zoom a:focus-visible,
#zena-map .leaflet-control-zoom a:focus-visible {
  color: var(--text-inverse);
  background: var(--accent);
}

.zena-map .leaflet-popup-content-wrapper,
#zena-map .leaflet-popup-content-wrapper,
.zena-map .leaflet-popup-tip,
#zena-map .leaflet-popup-tip {
  border-radius: var(--radius);
  box-shadow: 0 10px 28px color-mix(in srgb, var(--surface-ink) 18%, transparent);
}

.zena-map .zena-map-marker,
#zena-map .zena-map-marker {
  display: grid;
  place-items: center;
  color: var(--text-inverse);
  background: var(--accent);
  border: 1px solid color-mix(in srgb, var(--surface-plain) 72%, transparent);
  border-radius: 999px;
  box-shadow: 0 8px 20px color-mix(in srgb, var(--surface-ink) 16%, transparent);
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.72rem;
  font-weight: 800;
  line-height: 1;
}

.zena-map .zena-map-marker span,
#zena-map .zena-map-marker span {
  display: grid;
  place-items: center;
  width: var(--space-8);
  height: var(--space-8);
}

.zena-map .zena-map-marker--center,
#zena-map .zena-map-marker--center {
  color: var(--text-inverse);
  background: var(--surface-ink);
}

.zena-map .leaflet-tooltip.zena-map-tooltip,
#zena-map .leaflet-tooltip.zena-map-tooltip {
  color: var(--text-primary);
  background: color-mix(in srgb, var(--surface-plain) 94%, var(--surface-cream));
  border: 1px solid var(--border);
  border-radius: var(--media-radius, var(--radius));
  box-shadow: 0 8px 20px color-mix(in srgb, var(--surface-ink) 14%, transparent);
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.zena-map .leaflet-tooltip.zena-map-tooltip--center,
#zena-map .leaflet-tooltip.zena-map-tooltip--center {
  color: var(--text-inverse);
  background: var(--surface-ink);
  border-color: color-mix(in srgb, var(--surface-plain) 28%, var(--surface-ink));
}



.zena-map-fallback-note {
  margin: 0;
  padding: var(--space-4);
  color: var(--muted);
  background: color-mix(in srgb, var(--surface-stone) 18%, var(--surface-cream));
  border: 1px dashed var(--border);
  border-radius: var(--radius);
  font-size: 0.92rem;
  line-height: 1.45;
}

.plan-floor-plan {
  min-width: 0;
  margin: 0;
  padding-top: var(--space-5);
  border-top: 1px solid var(--border);
}

.plan-floor-plan figure,
.plan-floor-plan .plan-floor-plan-figure {
  margin: 0;
  overflow: hidden;
  background: var(--surface-plain);
  border: 1px solid var(--border);
  border-radius: var(--media-radius, var(--radius));
}

.plan-floor-plan img {
  display: block;
  width: 100%;
  max-height: 220px;
  margin: 0 auto;
  object-fit: contain;
  object-position: center;
  background: color-mix(in srgb, var(--surface-cream) 70%, var(--surface-plain));
}

.plan-floor-plan-preview {
  display: grid;
  grid-template-columns: minmax(150px, 0.55fr) minmax(0, 1fr);
  gap: var(--space-5);
  align-items: center;
}

.plan-floor-plan-thumb {
  margin: 0;
}

.plan-floor-plan-thumb img {
  height: 158px;
  max-height: none;
}

.plan-floor-plan-meta {
  display: grid;
  gap: var(--space-2);
  align-content: center;
  min-width: 0;
}

.plan-floor-plan-text {
  display: grid;
  gap: var(--space-2);
  min-width: 0;
}

.plan-floor-plan-label {
  margin: 0;
  color: var(--accent);
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.plan-floor-plan-summary {
  margin: 0;
  font-family: var(--headline-font, var(--font-serif));
  font-size: 1.2rem;
  line-height: 1.2;
  color: var(--text-primary);
}

.plan-floor-plan figcaption {
  padding: var(--space-2) var(--space-3);
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.35;
}


.plan-floor-plan-note {
  margin: 0;
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.45;
}

.plan-floor-plan-meta .plan-floor-plan-actions {
  margin-top: var(--space-2);
}

.plan-floor-plan-lightbox-pages {
  display: grid;
  gap: var(--space-4);
}

.plan-floor-plan-lightbox-page img {
  max-height: min(60vh, 640px);
}

.plan-floor-plan-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
}

.plan-floor-plan-actions .button {
  flex: 0 0 auto;
}

.plan-floor-plan-actions a:not(.button) {
  color: var(--accent);
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.plan-floor-plan-actions a:not(.button):hover,
.plan-floor-plan-actions a:not(.button):focus-visible {
  color: var(--text-primary);
}

.plan-floor-plan-lightbox::backdrop {
  background: color-mix(in srgb, var(--surface-ink) 55%, transparent);
  transition: opacity 180ms var(--ease-emphasis);
}

.plan-floor-plan-lightbox {
  width: min(calc(100% - var(--space-8)), 960px);
  max-width: 100%;
  max-height: calc(100% - var(--space-8));
  padding: 0;
  margin: auto;
  color: var(--text-primary);
  background: color-mix(in srgb, var(--surface-plain) 96%, var(--surface-cream));
  border: 1px solid var(--border);
  border-radius: var(--media-radius, var(--radius));
}

.plan-floor-plan-lightbox-inner {
  display: grid;
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-5);
}

.plan-floor-plan-lightbox-header {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
  align-items: center;
  justify-content: space-between;
}

.plan-floor-plan-lightbox-header h3 {
  margin: 0;
  font-family: var(--headline-font, var(--font-serif));
  font-size: 1.15rem;
  line-height: 1.2;
}

.plan-floor-plan-lightbox-close {
  padding: var(--space-2) var(--space-4);
  color: var(--text-inverse);
  background: var(--accent);
  border: 0;
  border-radius: var(--radius);
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

.plan-floor-plan-lightbox-close:hover,
.plan-floor-plan-lightbox-close:focus-visible {
  filter: brightness(1.05);
}

.plan-floor-plan-lightbox img {
  display: block;
  width: 100%;
  max-height: min(72vh, 720px);
  object-fit: contain;
  background: color-mix(in srgb, var(--surface-cream) 65%, var(--surface-plain));
  border: 1px solid var(--border);
  border-radius: var(--media-radius, var(--radius));
}

@media (max-width: 800px) {
  .zena-map,
  #zena-map {
    min-height: 260px;
    aspect-ratio: 4 / 3;
    border-radius: var(--media-radius, var(--radius));
  }

  .plan-row-gallery .plan-mosaic-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .plan-floor-plan-preview {
    grid-template-columns: 1fr;
  }

  .plan-row .plan-floor-plan .plan-floor-plan-preview,
  .plan-row .plan-floor-plan .plan-floor-plan-meta {
    grid-template-columns: 1fr;
  }

  .plan-row .plan-floor-plan .plan-floor-plan-thumb {
    max-width: none;
  }

  .plan-row .plan-floor-plan .plan-floor-plan-actions {
    grid-column: 1;
    justify-content: flex-start;
  }

  .plan-floor-plan-thumb img {
    height: auto;
    max-height: 200px;
  }

  .plan-floor-plan img {
    max-height: 200px;
  }

  .plan-floor-plan-lightbox {
    width: calc(100% - var(--space-6));
    max-height: calc(100% - var(--space-6));
  }

  .plan-floor-plan-lightbox-inner {
    padding: var(--space-4);
  }
}

@media (prefers-reduced-motion: reduce) {
  .plan-floor-plan-lightbox,
  .plan-floor-plan-lightbox::backdrop {
    transition: none;
  }
}

/* ===================== Concept A: Leasing Desk (/v2-desk/) =====================
   Alternative Zena Gardens concept: comparison-first "leasing desk" reading of
   the same renter content. Zero dark panels, zero editorial staging — sage +
   gold accent pair, Source Sans 3 + IBM Plex Mono only, square corners.
   Everything below is scoped under body.theme-desk so it cannot leak onto the
   live page, the folio concept, or any other route. */

.theme-desk {
  --page-bg: var(--surface-plain);
  --accent: var(--accent-sage);
  --accent-strong: color-mix(in srgb, var(--accent-sage) 55%, var(--text-primary));
  --border: color-mix(in srgb, var(--surface-ink) 14%, transparent);
  --headline-font: var(--font-humanist);
  --body-font: var(--font-humanist);
  --label-font: var(--font-mono);
  --media-radius: 0;
  --button-radius: 0;
  background: var(--page-bg);
}

/* Typography: two families only, section titles flattened to H3 scale so the
   comparison board reads as the page's real hierarchy signal. */
.theme-desk h1 {
  max-width: 24ch;
  margin-bottom: var(--space-6);
  font-family: var(--headline-font);
  font-size: clamp(2.4rem, 3.4vw, 3.4rem);
  font-weight: 700;
  line-height: 1.08;
  letter-spacing: 0;
}

.theme-desk h2 {
  margin-bottom: var(--space-3);
  font-family: var(--headline-font);
  font-size: clamp(1.25rem, 2vw, 1.7rem);
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
}

.theme-desk h3 {
  font-family: var(--headline-font);
  font-weight: 600;
}

.theme-desk a:hover {
  color: var(--accent-strong);
}

/* Gold is reserved for the primary CTA fill and "Available now" flags; it is
   never used as text, only as a fill behind ink. */
.theme-desk .button-primary {
  color: var(--text-primary);
  background: var(--accent-gold);
  border-color: var(--accent-gold);
}

.theme-desk .button-primary:hover {
  color: var(--text-primary);
  background: color-mix(in srgb, var(--accent-gold) 82%, var(--text-primary));
  border-color: color-mix(in srgb, var(--accent-gold) 82%, var(--text-primary));
}

/* Reused floor-plan label/link colors darkened so sage stays AA on white. */
.theme-desk .plan-floor-plan-label,
.theme-desk .plan-floor-plan-actions a:not(.button) {
  color: var(--accent-strong);
}

/* Shared layout shells */
.theme-desk .desk-main {
  width: 100%;
  max-width: var(--wide);
  margin: 0 auto;
  overflow-x: clip;
}

.theme-desk .desk-shell {
  width: min(var(--max), calc(100% - var(--space-8)));
  margin: 0 auto;
  padding: var(--space-16) 0;
}

.theme-desk .desk-eyebrow {
  margin: 0 0 var(--space-2);
  color: var(--accent-strong);
  font-family: var(--label-font);
  font-size: 0.78rem;
  font-weight: 650;
  letter-spacing: 0.08em;
  line-height: 1.35;
  text-transform: uppercase;
}

.theme-desk .desk-section-heading {
  max-width: 62ch;
  margin-bottom: var(--space-8);
}

/* 1. Desk hero — no photo, two columns, plain fact panel */
.theme-desk .desk-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.7fr);
  gap: var(--space-12);
  align-items: start;
}

.theme-desk .desk-hero-copy,
.theme-desk .desk-glance {
  min-width: 0;
}

.theme-desk .desk-hero-dek {
  max-width: 60ch;
  margin-bottom: var(--space-8);
  color: var(--text-secondary);
  font-size: 1.1875rem;
}

.theme-desk .desk-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-3);
}

.theme-desk .desk-glance {
  padding: var(--space-6);
  border: 1px solid var(--border);
}

.theme-desk .desk-glance-list {
  display: grid;
  gap: 0;
  margin: var(--space-4) 0 0;
}

.theme-desk .desk-glance-list div {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-1) var(--space-4);
  padding: var(--space-3) 0;
  border-top: 1px solid var(--border);
}

.theme-desk .desk-glance-list dt {
  min-width: 0;
}

.theme-desk .desk-glance-list div:first-child {
  border-top: 0;
  padding-top: 0;
}

.theme-desk .desk-glance-list dt {
  font-weight: 600;
}

.theme-desk .desk-glance-list dd {
  margin: 0;
  color: var(--text-primary);
  font-family: var(--label-font);
  font-size: 0.9rem;
  font-weight: 600;
  text-align: right;
  white-space: nowrap;
}

/* 2. Plan comparison board — real <table>, hairline-ruled, sticky row labels */
.theme-desk .desk-board-scroll {
  overflow-x: auto;
  border: 1px solid var(--border);
}

.theme-desk .desk-board {
  width: 100%;
  min-width: 880px;
  table-layout: fixed;
  border-collapse: collapse;
  background: var(--page-bg);
}

.theme-desk .desk-board th,
.theme-desk .desk-board td {
  border: 1px solid var(--border);
  padding: var(--space-4);
  text-align: left;
  vertical-align: top;
}

.theme-desk .desk-board-col-label {
  width: 150px;
}

.theme-desk .desk-board-label {
  position: sticky;
  left: 0;
  z-index: 1;
  background: var(--page-bg);
  text-align: left;
}

.theme-desk .desk-board-cell-photo {
  padding: 0;
}

.theme-desk .desk-board-photo {
  margin: 0;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--surface-stone);
}

.theme-desk .desk-board-photo picture,
.theme-desk .desk-board-photo img {
  display: block;
  width: 100%;
  height: 100%;
}

.theme-desk .desk-board-photo img {
  object-fit: cover;
}

.theme-desk .desk-board-photo figcaption {
  display: none;
}

.theme-desk .desk-board-cell-name h3 {
  margin-bottom: var(--space-2);
}

.theme-desk .desk-board-cell-name .desk-eyebrow {
  margin-bottom: 0;
}

.theme-desk .desk-board-value {
  color: var(--text-primary);
  font-family: var(--label-font);
  font-size: 0.9rem;
}

.theme-desk .desk-flag {
  display: inline-flex;
  padding: var(--space-1) var(--space-3);
  color: var(--text-primary);
  background: color-mix(in srgb, var(--accent-gold) 30%, var(--surface-plain));
  border: 1px solid color-mix(in srgb, var(--accent-gold) 55%, transparent);
  font-family: var(--label-font);
  font-size: 0.82rem;
  font-weight: 650;
  letter-spacing: 0.04em;
}

.theme-desk .desk-board-cell-notes p {
  margin: 0 0 var(--space-2);
  color: var(--text-secondary);
  font-size: 0.9rem;
}

.theme-desk .desk-board-cell-notes p:last-child {
  margin-bottom: 0;
}

/* Reused plan-floor-plan component inside narrow board cells: stack instead
   of the two-up preview grid it uses at full column width elsewhere. */
.theme-desk .desk-board .plan-floor-plan {
  padding-top: 0;
  border-top: 0;
}

.theme-desk .desk-board .plan-floor-plan-preview {
  grid-template-columns: 1fr;
}

.theme-desk .desk-board .plan-floor-plan-thumb img {
  height: auto;
  max-height: 160px;
}

/* 3. Photo evidence ("Walk the units") — stone-tint label + scroll filmstrip */
.theme-desk .desk-evidence-rows {
  display: grid;
  gap: var(--space-5);
}

.theme-desk .desk-evidence-row {
  display: grid;
  grid-template-columns: minmax(180px, 220px) minmax(0, 1fr);
  border: 1px solid var(--border);
}

.theme-desk .desk-evidence-label {
  display: grid;
  align-content: center;
  gap: var(--space-2);
  min-width: 0;
  padding: var(--space-5);
  background: color-mix(in srgb, var(--surface-stone) 35%, var(--surface-plain));
}

.theme-desk .desk-evidence-count {
  margin: 0;
  color: var(--text-secondary);
  font-family: var(--label-font);
  font-size: 0.82rem;
}

.theme-desk .desk-evidence-back {
  color: var(--accent-strong);
  font-family: var(--label-font);
  font-size: 0.78rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.theme-desk .desk-evidence-back:hover {
  color: var(--text-primary);
}

.theme-desk .desk-evidence-strip {
  display: flex;
  gap: var(--space-3);
  align-items: flex-start;
  padding: var(--space-4);
  overflow-x: auto;
  scroll-snap-type: x proximity;
}

.theme-desk .desk-evidence-photo {
  flex: 0 0 auto;
  margin: 0;
  scroll-snap-align: start;
}

.theme-desk .desk-evidence-photo picture,
.theme-desk .desk-evidence-photo img {
  display: block;
  height: clamp(220px, 26vw, 320px);
  width: auto;
}

.theme-desk .desk-evidence-photo img {
  object-fit: cover;
}

.theme-desk .desk-evidence-photo figcaption {
  margin-top: var(--space-2);
  color: var(--text-secondary);
  font-family: var(--label-font);
  font-size: 0.72rem;
  letter-spacing: 0.02em;
}

/* 4. Location as data */
.theme-desk .desk-location {
  display: grid;
  grid-template-columns: minmax(0, 0.55fr) minmax(420px, 1fr);
  gap: var(--space-10);
  align-items: start;
}

.theme-desk .desk-location-copy,
.theme-desk .desk-location-map {
  min-width: 0;
}

.theme-desk .desk-location-rows {
  display: grid;
  margin: var(--space-6) 0;
  border-top: 1px solid var(--border);
}

.theme-desk .desk-location-row {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-1) var(--space-4);
  padding: var(--space-4) 0;
  border-bottom: 1px solid var(--border);
}

.theme-desk .desk-location-row-main {
  min-width: 0;
}

.theme-desk .desk-location-name {
  margin: 0 0 var(--space-1);
  font-weight: 600;
}

.theme-desk .desk-location-detail {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.9rem;
}

.theme-desk .desk-location-drive {
  flex: 0 0 auto;
  margin: 0;
  color: var(--text-primary);
  font-family: var(--label-font);
  font-size: 0.9rem;
  font-weight: 600;
  white-space: nowrap;
}

.theme-desk .desk-location-fine p {
  margin: 0 0 var(--space-2);
  color: var(--text-secondary);
  font-family: var(--label-font);
  font-size: 0.78rem;
  line-height: 1.5;
}

.theme-desk .desk-location-fine p:last-child {
  margin-bottom: 0;
}

.theme-desk .desk-location-map {
  position: relative;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  border: 1px solid var(--border);
}

.theme-desk .desk-location-map #zena-map,
.theme-desk .desk-location-map .zena-map {
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: auto;
  border: 0;
  border-radius: 0;
}

/* 5. Next steps strip */
.theme-desk .desk-next-heading {
  margin-bottom: var(--space-6);
}

.theme-desk .desk-next-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
  border: 1px solid var(--border);
}

.theme-desk .desk-next-cell {
  padding: var(--space-6);
  border-left: 1px solid var(--border);
}

.theme-desk .desk-next-cell:first-child {
  border-left: 0;
}

.theme-desk .desk-next-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  margin-bottom: var(--space-3);
  color: var(--accent-strong);
  border: 1px solid var(--accent);
  font-family: var(--label-font);
  font-size: 0.82rem;
  font-weight: 650;
}

.theme-desk .desk-next-cell p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.9rem;
}

.theme-desk .desk-next-cta {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 200px;
}

/* 6. Policy band */
.theme-desk .desk-policy {
  width: 100%;
  background: color-mix(in srgb, var(--surface-stone) 30%, var(--surface-plain));
}

.theme-desk .desk-policy-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-8);
  margin-top: var(--space-6);
}

.theme-desk .desk-policy-index {
  margin: 0 0 var(--space-2);
  color: var(--accent-strong);
  font-family: var(--label-font);
  font-size: 0.78rem;
  font-weight: 650;
  letter-spacing: 0.08em;
}

.theme-desk .desk-policy-item p:last-child {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.9rem;
}

/* 7. Footer restyle: light-surface colophon for the desk concept draft —
   overrides the live page's warm-ink slab via the footer semantic tokens. */
.theme-desk .site-footer {
  color: var(--text-primary);
  background: var(--surface-plain);
  border-top: 2px solid var(--accent-sage);
  --footer-fg: var(--text-primary);
  --footer-fg-muted: var(--text-secondary);
  --footer-fg-faint: var(--text-secondary);
  --footer-fg-quiet: var(--text-secondary);
  --footer-rule: var(--border);
  --footer-divider: var(--border);
  --footer-focus-tint: color-mix(in srgb, var(--text-primary) 6%, transparent);
}

@media (max-width: 1100px) {
  .theme-desk .desk-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .theme-desk .desk-location {
    grid-template-columns: minmax(0, 1fr);
  }

  .theme-desk .desk-location-map {
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 760px) {
  .theme-desk .desk-next-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .theme-desk .desk-next-cell {
    padding: var(--space-5);
    border-top: 1px solid var(--border);
    border-left: 0;
  }

  .theme-desk .desk-next-cell:first-child {
    border-top: 0;
  }

  .theme-desk .desk-policy-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .theme-desk .desk-evidence-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .theme-desk .desk-evidence-label {
    border-bottom: 1px solid var(--border);
  }
}

/* ===================== Concept B: West Side Folio (/v3-folio/) ===================== */
/* Scoped entirely under .theme-folio so it cannot leak onto any other route. */

.theme-folio {
  --page-bg: var(--surface-warm);
  --accent: var(--accent-gold);
  --accent-strong: var(--accent-terracotta);
  --panel-ink: #1B1815;
  --headline-font: var(--font-serif);
  --body-font: var(--font-serif);
  --label-font: var(--font-mono);
  --media-radius: 0;
  --button-radius: 0;
  background: var(--page-bg);
}

/* Supporting tokens the given block above doesn't set but shared components
   (map, floor-plan plate, footer, header) still read. */
.theme-folio {
  --border: color-mix(in srgb, var(--text-primary) 16%, transparent);
  --muted: color-mix(in srgb, var(--text-primary) 66%, transparent);
  --button-text: var(--panel-ink);
}

.theme-folio .folio-main {
  width: 100%;
  overflow-x: clip;
}

.theme-folio .folio-constrain {
  width: min(var(--max), calc(100% - var(--space-8)));
  margin-inline: auto;
}

/* Gold is never body-size text on cream: it is reserved for text/rules on ink
   surfaces, CTA fills, oversized decorative numerals, and graphic rules.
   Small labels and inline emphasis on cream use --accent-strong (terracotta). */
.theme-folio a:hover {
  color: var(--accent-strong);
}

.theme-folio .folio-kicker {
  margin: 0 0 var(--space-4);
  color: var(--accent-strong);
  font-family: var(--label-font);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.35;
  text-transform: uppercase;
}

.theme-folio .folio-plate-caption {
  max-width: 72ch;
  margin: var(--space-4) 0 0;
  color: var(--muted);
  font-family: var(--label-font);
  font-size: 0.78rem;
  letter-spacing: 0.02em;
  line-height: 1.5;
}

.theme-folio .folio-dropcap::first-letter {
  float: left;
  padding: 0.02em 0.08em 0 0;
  color: var(--accent-strong);
  font-family: var(--font-serif);
  font-size: 3.6em;
  font-weight: 500;
  line-height: 0.82;
}

.theme-folio .button-primary {
  color: var(--button-text);
}

.theme-folio .button-primary:hover {
  color: var(--text-inverse);
  background: var(--panel-ink);
  border-color: var(--panel-ink);
}

/* --- Header: inverse bar sitting just above the dusk-dark hero --- */

.theme-folio .site-header {
  --header-text: var(--text-inverse);
  background: var(--panel-ink);
  backdrop-filter: none;
  border-bottom: 1px solid color-mix(in srgb, var(--accent) 32%, transparent);
}

.theme-folio .site-header .brand-copy span {
  color: color-mix(in srgb, var(--text-inverse) 62%, transparent);
}

.theme-folio .site-header .option-nav a {
  color: color-mix(in srgb, var(--text-inverse) 78%, transparent);
}

.theme-folio .site-header .option-nav a:hover,
.theme-folio .site-header .option-nav a[aria-current="page"] {
  color: var(--text-inverse);
  background: transparent;
  text-decoration: underline;
  text-decoration-color: var(--accent);
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}

.theme-folio .site-header .button-small {
  color: var(--text-inverse);
  background: transparent;
  border-color: color-mix(in srgb, var(--text-inverse) 45%, transparent);
}

.theme-folio .site-header .button-small:hover {
  color: var(--panel-ink);
  background: var(--accent);
  border-color: var(--accent);
}

/* --- Cover hero --- */

.theme-folio .folio-hero {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 92dvh;
  overflow: hidden;
  isolation: isolate;
}

.theme-folio .folio-hero-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  margin: 0;
}

.theme-folio .folio-hero-media,
.theme-folio .folio-hero-media img {
  width: 100%;
  height: 100%;
}

.theme-folio .folio-hero-media img {
  object-fit: cover;
}

.theme-folio .folio-hero-scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--panel-ink) 25%, transparent),
    color-mix(in srgb, var(--panel-ink) 88%, transparent) 78%
  );
}

.theme-folio .folio-hero-content {
  position: relative;
  z-index: 2;
  width: min(var(--max), calc(100% - var(--space-8)));
  margin: 0 auto;
  padding-bottom: var(--space-12);
}

.theme-folio .folio-hero-folio-line {
  margin: 0 0 var(--space-5);
  color: var(--accent);
  font-family: var(--label-font);
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.theme-folio .folio-hero h1 {
  max-width: 14ch;
  margin-bottom: var(--space-6);
  color: var(--text-inverse);
  font-weight: 500;
}

.theme-folio .folio-hero-dek {
  max-width: 54ch;
  margin: 0 0 var(--space-8);
  color: color-mix(in srgb, var(--text-inverse) 88%, transparent);
  font-size: 1.1875rem;
}

.theme-folio .folio-hero-actions {
  margin-bottom: 0;
}

.theme-folio .folio-hero .button-secondary {
  color: var(--text-inverse);
  border-color: color-mix(in srgb, var(--text-inverse) 55%, transparent);
}

.theme-folio .folio-hero .button-secondary:hover {
  color: var(--accent);
  border-color: var(--accent);
}

.theme-folio .folio-bar {
  position: relative;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2) var(--space-5);
  width: min(var(--max), calc(100% - var(--space-8)));
  margin: var(--space-10) auto 0;
  padding: var(--space-4) 0 var(--space-6);
  border-top: 1px solid color-mix(in srgb, var(--text-inverse) 30%, transparent);
  color: color-mix(in srgb, var(--text-inverse) 82%, transparent);
  font-family: var(--label-font);
  font-size: 0.78rem;
  letter-spacing: 0.01em;
}

.theme-folio .folio-bar-sep {
  color: var(--accent);
}

@media (prefers-reduced-motion: no-preference) {
  .theme-folio .folio-hero-content > * {
    animation: folio-reveal 600ms var(--ease-emphasis) both;
  }

  .theme-folio .folio-hero-content > *:nth-child(2) {
    animation-delay: 90ms;
  }

  .theme-folio .folio-hero-content > *:nth-child(3) {
    animation-delay: 160ms;
  }

  .theme-folio .folio-hero-content > *:nth-child(4) {
    animation-delay: 230ms;
  }

  .theme-folio .folio-bar {
    animation: folio-reveal 600ms var(--ease-emphasis) both;
    animation-delay: 300ms;
  }
}

@keyframes folio-reveal {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* --- Why people come here --- */

.theme-folio .folio-place-section {
  padding: var(--space-24) 0 var(--space-20);
}

.theme-folio .folio-place-section h2 {
  max-width: 16ch;
}

.theme-folio .folio-place-intro {
  max-width: 62ch;
  margin: var(--space-6) 0 var(--space-12);
  font-size: 1.1875rem;
  line-height: 1.7;
}

.theme-folio .folio-anchor-list {
  display: grid;
  gap: var(--space-12);
  padding-top: var(--space-8);
  border-top: 1px solid var(--border);
}

.theme-folio .folio-anchor + .folio-anchor {
  padding-top: var(--space-12);
  border-top: 1px solid var(--border);
}

.theme-folio .folio-anchor-label {
  margin: 0 0 var(--space-2);
  color: var(--accent-strong);
  font-family: var(--label-font);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.theme-folio .folio-anchor h3 {
  margin: 0 0 var(--space-3);
}

.theme-folio .folio-anchor-usecase {
  max-width: 62ch;
  margin: 0 0 var(--space-2);
  font-size: 1.05rem;
}

.theme-folio .folio-anchor-note {
  max-width: 62ch;
  margin: 0;
  color: var(--muted);
  font-size: 0.95rem;
}

.theme-folio .folio-anchor-drive-row {
  display: flex;
  justify-content: flex-end;
  margin-top: var(--space-4);
}

.theme-folio .folio-anchor-drive {
  padding-bottom: 3px;
  border-bottom: 2px solid var(--accent);
  color: var(--text-primary);
  font-family: var(--font-serif);
  font-size: 1.05rem;
  font-style: italic;
}

.theme-folio .folio-map-plate {
  max-width: 100%;
  margin: var(--space-16) 0 0;
}

.theme-folio .folio-map-frame {
  aspect-ratio: 16 / 9;
  padding: var(--space-2);
  background: var(--surface-plain);
  border: 1px solid var(--border);
}

.theme-folio .folio-map-frame .zena-map,
.theme-folio .folio-map-frame #zena-map {
  width: 100%;
  height: 100%;
  min-height: 0;
  aspect-ratio: auto;
}

/* --- Plan posters rail --- */

.theme-folio .folio-rail-section {
  padding: var(--space-20) 0;
}

.theme-folio .folio-rail-heading {
  margin-bottom: var(--space-10);
}

.theme-folio .folio-rail-heading h2 {
  max-width: 18ch;
}

.theme-folio .folio-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: min(420px, 82vw);
  gap: var(--space-5);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-inline: max(var(--space-6), calc((100vw - var(--max)) / 2));
  padding-bottom: var(--space-4);
}

.theme-folio .folio-poster {
  position: relative;
  display: block;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  background: var(--panel-ink);
  scroll-snap-align: start;
}

.theme-folio .folio-poster picture {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
}

.theme-folio .folio-poster img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 220ms ease-in-out;
}

.theme-folio .folio-poster:hover img,
.theme-folio .folio-poster:focus-visible img {
  transform: scale(1.02);
}

.theme-folio .folio-poster-scrim {
  position: absolute;
  inset: auto 0 0 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 46%;
  padding: var(--space-6) var(--space-5) var(--space-5);
  background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--panel-ink) 94%, transparent) 62%);
  color: var(--text-inverse);
}

.theme-folio .folio-poster-name {
  display: block;
  margin-bottom: var(--space-3);
  font-family: var(--font-serif);
  font-size: clamp(2rem, 4vw, 3.6rem);
  font-weight: 500;
  line-height: 1.05;
}

.theme-folio .folio-poster-rule {
  display: block;
  width: 48px;
  height: 2px;
  margin-bottom: var(--space-3);
  background: var(--accent);
}

.theme-folio .folio-poster-fact {
  display: block;
  color: var(--accent);
  font-family: var(--label-font);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

@media (prefers-reduced-motion: reduce) {
  .theme-folio .folio-poster img {
    transition: none;
  }

  .theme-folio .folio-poster:hover img,
  .theme-folio .folio-poster:focus-visible img {
    transform: none;
  }
}

/* --- Plan chapters --- */

.theme-folio .folio-chapter {
  padding: var(--space-20) 0;
}

.theme-folio .folio-chapter-head {
  padding-top: var(--space-6);
  margin-bottom: var(--space-10);
  border-top: 2px solid var(--border);
}

.theme-folio .folio-chapter-eyebrow-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: var(--space-3);
  margin-bottom: var(--space-5);
}

.theme-folio .folio-chapter-kicker {
  color: var(--accent-strong);
  font-family: var(--label-font);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.theme-folio .folio-chapter-status {
  color: var(--accent-strong);
  font-family: var(--font-serif);
  font-size: 1.05rem;
  font-style: italic;
}

.theme-folio .folio-chapter-title-row {
  display: flex;
  align-items: flex-end;
  gap: var(--space-6);
}

.theme-folio .folio-chapter-numeral {
  color: var(--accent);
  font-family: var(--font-serif);
  font-size: clamp(3.5rem, 8vw, 7rem);
  font-weight: 500;
  line-height: 0.8;
}

.theme-folio .folio-chapter-name {
  max-width: none;
  margin: 0;
  font-size: clamp(2.4rem, 5vw, 4.8rem);
  line-height: 0.98;
}

.theme-folio .folio-chapter-lede {
  max-width: 62ch;
  margin: var(--space-8) 0 var(--space-6);
  font-size: 1.1875rem;
  line-height: 1.7;
}

.theme-folio .folio-colophon {
  max-width: 62ch;
  margin: 0 0 var(--space-10);
  color: var(--muted);
  font-family: var(--label-font);
  font-size: 0.85rem;
  letter-spacing: 0.02em;
}

.theme-folio .folio-opener-figure {
  margin: 0 0 var(--space-10);
}

.theme-folio .folio-opener-figure picture,
.theme-folio .folio-opener-figure img {
  display: block;
  width: 100%;
}

.theme-folio .folio-opener-figure img {
  aspect-ratio: 21 / 9;
  object-fit: cover;
}

.theme-folio .folio-floorplan-plate {
  margin: 0 0 var(--space-10);
  padding: var(--space-6) 0;
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.theme-folio .folio-floorplan-plate .plan-floor-plan {
  padding-top: var(--space-4);
  border-top: 0;
}

.theme-folio .folio-contact-sheet {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 220px));
  justify-content: center;
  gap: var(--space-4);
  margin: 0 0 var(--space-10);
}

.theme-folio .folio-contact-photo {
  position: relative;
  margin: 0;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  background: var(--surface-stone);
}

.theme-folio .folio-contact-photo picture,
.theme-folio .folio-contact-photo img {
  display: block;
  width: 100%;
  height: 100%;
}

.theme-folio .folio-contact-photo img {
  object-fit: cover;
  transition: transform 220ms ease-in-out, filter 220ms ease-in-out;
}

.theme-folio .folio-contact-photo:hover img,
.theme-folio .folio-contact-photo:focus-visible img {
  filter: brightness(1.05);
  transform: scale(1.03);
}

.theme-folio .folio-contact-index {
  position: absolute;
  left: var(--space-2);
  top: var(--space-2);
  z-index: 1;
  padding: 2px 6px;
  color: var(--text-inverse);
  background: color-mix(in srgb, var(--panel-ink) 82%, transparent);
  font-family: var(--label-font);
  font-size: 0.66rem;
  letter-spacing: 0.04em;
}

.theme-folio .folio-marginalia {
  max-width: 62ch;
  margin: 0;
  padding-left: var(--space-5);
  border-left: 2px solid var(--accent);
}

.theme-folio .folio-marginalia p {
  margin: 0;
  color: var(--muted);
  font-size: 0.98rem;
  font-style: italic;
}

.theme-folio .folio-chapter-divider {
  margin: 0;
  padding: var(--space-8) 0 0;
  color: var(--accent-strong);
  text-align: center;
  font-family: var(--font-mono);
  letter-spacing: 0.3em;
}

@media (prefers-reduced-motion: reduce) {
  .theme-folio .folio-contact-photo img {
    transition: none;
  }

  .theme-folio .folio-contact-photo:hover img,
  .theme-folio .folio-contact-photo:focus-visible img {
    transform: none;
  }
}

/* --- How the lease begins --- */

.theme-folio .folio-steps-section {
  padding: var(--space-20) 0;
}

.theme-folio .folio-steps-list {
  display: grid;
  gap: var(--space-12);
  margin: var(--space-8) 0;
  padding: 0;
  list-style: none;
}

.theme-folio .folio-steps-list li {
  display: grid;
  grid-template-columns: minmax(90px, 0.2fr) minmax(0, 1fr);
  align-items: start;
  gap: var(--space-8);
}

.theme-folio .folio-step-numeral {
  color: var(--accent);
  font-family: var(--font-serif);
  font-size: clamp(2rem, 4vw, 3.6rem);
  font-weight: 500;
  line-height: 1;
}

.theme-folio .folio-step-copy h3 {
  margin: 0 0 var(--space-2);
}

.theme-folio .folio-step-copy p {
  max-width: 62ch;
  margin: 0;
  color: var(--muted);
}

.theme-folio .folio-steps-cta {
  margin: var(--space-10) 0 0;
}

/* --- The fine print, plainly --- */

.theme-folio .folio-policy-section {
  width: min(680px, calc(100% - var(--space-8)));
  margin-inline: auto;
  padding: var(--space-16) 0 var(--space-24);
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}

.theme-folio .folio-fineprint-heading {
  margin: 0 0 var(--space-6);
  color: var(--text-primary);
  font-family: var(--label-font);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1.4;
}

.theme-folio .folio-policy-list {
  display: grid;
  gap: var(--space-4);
  margin: 0;
  padding: 0;
  list-style: none;
}

.theme-folio .folio-policy-list li {
  position: relative;
  padding-left: var(--space-5);
  color: var(--text-primary);
  font-size: 1rem;
  font-style: italic;
  line-height: 1.6;
}

.theme-folio .folio-policy-list li::before {
  content: "\2013";
  position: absolute;
  left: 0;
  color: var(--accent-strong);
  font-style: normal;
}

/* --- Footer as back cover --- */

.theme-folio .site-footer {
  padding-top: var(--space-20);
  text-align: center;
}

.theme-folio .footer-top {
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-6);
}

.theme-folio .footer-lockup {
  justify-items: center;
  text-align: center;
}

.theme-folio .footer-lockup .brand {
  justify-content: center;
}

.theme-folio .footer-grid {
  position: relative;
  grid-template-columns: repeat(4, auto);
  justify-content: center;
  gap: var(--space-8);
  padding-top: var(--space-8);
  border-top: 0;
}

.theme-folio .footer-grid::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 64px;
  height: 2px;
  content: "";
  transform: translateX(-50%);
  background: var(--accent);
}

.theme-folio .footer-grid > div {
  text-align: center;
}

.theme-folio .footer-grid p {
  max-width: 22ch;
  margin-inline: auto;
  font-size: 0.8rem;
}

.theme-folio .footer-base {
  justify-content: center;
  text-align: center;
}

/* --- Mobile safety (mirrors the site-wide 700px typography pass) --- */

@media (max-width: 700px) {
  .theme-folio .folio-hero-content {
    padding-bottom: var(--space-8);
  }

  .theme-folio .folio-hero h1 {
    max-width: none;
  }

  .theme-folio .folio-bar {
    font-size: 0.72rem;
  }

  .theme-folio .folio-chapter-title-row {
    flex-direction: column;
    align-items: flex-start;
    gap: var(--space-3);
  }

  .theme-folio .folio-chapter-numeral {
    font-size: clamp(2.6rem, 12vw, 4rem);
  }

  .theme-folio .folio-steps-list li {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .theme-folio .folio-rail {
    grid-auto-columns: min(360px, 86vw);
  }

  .theme-folio .folio-footer-grid,
  .theme-folio .footer-grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .theme-folio .footer-grid p {
    max-width: none;
  }
}

/* === Mobile map sizing (appended last to win source order over desktop rules) === */
@media (max-width: 760px) {
  .location-tool,
  .location-tool #zena-map,
  #zena-map {
    height: 520px;
    min-height: 460px;
  }
}

.zena-admin-page {
  --admin-nav-width: minmax(208px, 248px);
  --admin-board-column-min: 18rem;
  background: var(--surface-cream);
  color: var(--text-primary);
}

.admin-shell {
  min-height: 100dvh;
  display: grid;
  grid-template-columns: var(--admin-nav-width) minmax(0, 1fr) minmax(320px, 380px);
  align-items: start;
}

.admin-shell:not([data-admin-ready="true"]) {
  grid-template-columns: var(--admin-nav-width) minmax(0, 1fr);
}

.admin-shell[data-admin-view="dashboard"] {
  grid-template-columns: var(--admin-nav-width) minmax(0, 1fr);
}

.admin-shell[data-admin-detail-open="false"] {
  grid-template-columns: var(--admin-nav-width) minmax(0, 1fr);
}

.admin-shell:not([data-admin-ready="true"]) .admin-record-sidebar {
  display: none;
}

.admin-shell:not([data-admin-ready="true"]) .admin-topbar [data-admin-status] {
  display: none;
}

.admin-shell:not([data-admin-ready="true"]) .admin-nav button {
  pointer-events: none;
  opacity: 0.52;
}

.admin-shell[data-lead-detail-collapsed="true"] {
  grid-template-columns: var(--admin-nav-width) minmax(0, 1fr) 56px;
}

.admin-shell[data-admin-navigation-collapsed="true"] {
  --admin-nav-width: 72px;
}

.admin-sidebar {
  position: sticky;
  top: 0;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  padding: var(--space-6);
  background: var(--panel-ink, var(--surface-ink));
  color: var(--text-inverse);
}

.admin-sidebar-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: var(--space-2);
}

.admin-brand {
  display: grid;
  gap: var(--space-1);
  color: inherit;
  text-decoration: none;
}

.admin-brand > span {
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: color-mix(in srgb, var(--text-inverse), transparent 28%);
}

.admin-brand strong {
  font-family: var(--font-display);
  font-size: clamp(1.9rem, 3vw, 2.75rem);
  line-height: 0.95;
  font-weight: 600;
}

.admin-brand strong > span:first-child {
  display: none;
}

.admin-sidebar-toggle {
  flex: 0 0 auto;
  border-color: color-mix(in srgb, var(--text-inverse), transparent 72%);
  color: var(--text-inverse);
}

.admin-icon-button.admin-mobile-nav-toggle {
  display: none;
}

.admin-nav {
  display: grid;
  gap: var(--space-1);
}

.admin-nav button {
  width: 100%;
  min-height: 42px;
  border: 0;
  border-radius: var(--button-radius, 0);
  padding: var(--space-2) var(--space-3);
  background: transparent;
  color: color-mix(in srgb, var(--text-inverse), transparent 20%);
  font: inherit;
  font-weight: 600;
  text-align: left;
  cursor: pointer;
}

.admin-nav button svg {
  display: none;
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: square;
  stroke-linejoin: miter;
  stroke-width: 1.6;
}

.admin-nav button:hover,
.admin-nav button:focus-visible {
  background: color-mix(in srgb, var(--text-inverse), transparent 90%);
  color: var(--text-inverse);
}

.admin-nav button[aria-current] {
  background: var(--surface-cream);
  color: var(--text-primary);
}

.admin-nav button:active {
  background: color-mix(in srgb, var(--text-inverse), transparent 84%);
}

.admin-nav button:disabled {
  cursor: wait;
  opacity: 0.45;
}

@media (min-width: 1181px) {
  .admin-shell[data-admin-navigation-collapsed="true"] .admin-sidebar {
    gap: var(--space-6);
    padding-inline: var(--space-3);
  }

  .admin-shell[data-admin-navigation-collapsed="true"] .admin-sidebar-head {
    align-items: center;
    flex-direction: column;
  }

  .admin-shell[data-admin-navigation-collapsed="true"] .admin-brand > span,
  .admin-shell[data-admin-navigation-collapsed="true"] .admin-brand strong > span:last-child {
    display: none;
  }

  .admin-shell[data-admin-navigation-collapsed="true"] .admin-brand strong > span:first-child,
  .admin-shell[data-admin-navigation-collapsed="true"] .admin-nav button svg {
    display: block;
  }

  .admin-shell[data-admin-navigation-collapsed="true"] .admin-nav button {
    display: grid;
    place-items: center;
    min-height: 44px;
    padding: var(--space-2);
  }

  .admin-shell[data-admin-navigation-collapsed="true"] .admin-nav button > span {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .admin-shell[data-admin-navigation-collapsed="true"] .admin-sidebar-toggle svg {
    transform: rotate(180deg);
  }
}

.admin-workspace {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: var(--space-4);
  padding: var(--space-6);
}

.admin-topbar,
.admin-pin-panel,
.admin-panel,
.admin-stat-grid article {
  border: 1px solid var(--border-subtle);
  background: var(--surface-warm);
}

.admin-topbar {
  position: sticky;
  z-index: 12;
  top: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  min-height: 48px;
  padding: var(--space-2) 0 var(--space-3);
  border: 0;
  border-bottom: 1px solid var(--border-subtle);
  background: var(--surface-cream);
}

.admin-topbar-brand {
  display: flex;
  align-items: baseline;
  gap: var(--space-2);
  min-width: 0;
}

.admin-topbar-brand h1 {
  font-family: var(--font-sans);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: -0.01em;
}

.admin-topbar-brand span,
.admin-topbar-brand strong {
  color: var(--text-secondary);
  font-size: 0.82rem;
}

.admin-topbar-brand strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.theme-limestone.zena-admin-page .admin-topbar .button-secondary {
  color: var(--text-primary);
}

.theme-limestone.zena-admin-page .admin-panel .button-secondary,
.theme-limestone.zena-admin-page .admin-record-sidebar .button-secondary {
  color: var(--text-primary);
  border-color: var(--border-subtle);
}

.admin-topbar-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: end;
  gap: var(--space-4);
  min-width: 0;
}

.admin-pin-form[hidden] {
  display: none;
}

.admin-topbar h1,
.admin-pin-panel h2,
.admin-panel h2,
.admin-property-detail h3,
.admin-record-sidebar h3,
.admin-board-column h3 {
  margin: 0;
  font-family: var(--font-display);
  line-height: 1;
}

.admin-pin-panel {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: var(--space-8);
  padding: var(--space-8);
}

.admin-auth-progress {
  display: none;
  grid-template-columns: 1.5fr 1fr 0.65fr;
  gap: var(--space-2);
  width: min(100%, 420px);
  margin-top: var(--space-8);
}

.admin-auth-progress span {
  height: 3px;
  background: var(--border-subtle);
}

.admin-auth-progress span:first-child {
  background: var(--accent-brick);
}

.admin-shell[data-admin-auth-state="checking"] .admin-pin-panel {
  grid-template-columns: minmax(0, 1fr);
  align-content: center;
  min-height: min(62vh, 520px);
  padding: clamp(var(--space-8), 7vw, var(--space-20));
  border: 0;
  background: transparent;
}

.admin-shell[data-admin-auth-state="checking"] .admin-pin-panel > div {
  max-width: 620px;
}

.admin-shell[data-admin-auth-state="checking"] .admin-pin-panel h2 {
  margin-top: var(--space-3);
  font-size: clamp(2.35rem, 5vw, 4.6rem);
}

.admin-shell[data-admin-auth-state="checking"] .admin-pin-panel [data-admin-auth-copy] {
  max-width: 48ch;
  margin-top: var(--space-4);
  font-size: 1rem;
  line-height: 1.6;
}

.admin-shell[data-admin-auth-state="checking"] .admin-auth-progress {
  display: grid;
}

.admin-pin-panel p,
.admin-status {
  margin: 0;
  color: var(--text-secondary);
}

.admin-pin-form {
  display: grid;
  align-content: center;
  gap: var(--space-3);
}

.admin-pin-form label {
  font-weight: 700;
}

.admin-pin-form div {
  display: flex;
  gap: var(--space-2);
}

.admin-pin-form input,
.admin-inline-form input,
.admin-inline-form select {
  width: 100%;
  border: 1px solid var(--border-subtle);
  border-radius: var(--button-radius, 0);
  padding: var(--space-3) var(--space-4);
  background: var(--surface-plain);
  color: var(--text-primary);
  font: inherit;
}

.admin-status[data-tone="error"] {
  color: var(--accent-brick);
}

.admin-status[data-tone="success"] {
  color: color-mix(in srgb, var(--accent-sage) 35%, var(--text-primary));
}

.admin-dashboard {
  display: grid;
  gap: var(--space-6);
}

.admin-pin-panel[hidden],
.admin-dashboard[hidden],
.admin-panel[hidden],
.admin-inquiry-list[hidden],
.admin-board[hidden] {
  display: none;
}

.admin-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-3);
}

.admin-stat-grid article {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-5);
}

.admin-stat-grid span,
.admin-table th,
[data-admin-property-detail-meta],
[data-admin-inquiry-detail-meta],
[data-admin-work-order-detail-meta],
.admin-record-form label,
.admin-detail-list dt,
.admin-board-column header span {
  color: var(--text-secondary);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-stat-grid strong {
  font-family: var(--font-mono);
  font-size: clamp(1.6rem, 3vw, 2.6rem);
  line-height: 1;
}

.admin-panel {
  display: grid;
  gap: var(--space-5);
  grid-template-columns: minmax(0, 1fr);
  min-width: 0;
  padding: var(--space-2) 0 0;
  border: 0;
  background: transparent;
}

.admin-panel-head {
  display: flex;
  justify-content: space-between;
  gap: var(--space-4);
  align-items: end;
  min-width: 0;
}

.admin-panel-head > * {
  min-width: 0;
}

.admin-panel-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: end;
  gap: var(--space-3);
  min-width: 0;
  max-width: 100%;
}

.admin-panel[data-admin-panel="inquiries"] .admin-panel-head > div:first-child {
  flex: 0 0 auto;
  min-width: 10rem;
}

.admin-panel-intro {
  max-width: 68ch;
  margin: var(--space-2) 0 0;
  color: var(--text-secondary);
  line-height: 1.55;
}

.admin-dashboard-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-8);
  max-width: 980px;
}

.admin-dashboard-home {
  padding: var(--space-2) 0 0;
  border: 0;
  background: transparent;
}

.admin-dashboard-section {
  min-width: 0;
  padding-top: var(--space-4);
  border-top: 1px solid var(--border-subtle);
}

.admin-dashboard-section + .admin-dashboard-section {
  padding-inline-start: 0;
}

.admin-dashboard-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--space-4);
  margin-bottom: var(--space-3);
}

.admin-dashboard-section-head h3,
.admin-dashboard-section-head p {
  margin: 0;
}

.admin-dashboard-section-head h3 {
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  line-height: 1.05;
}

.admin-dashboard-section-head > p {
  max-width: 24ch;
  color: var(--text-secondary);
  font-size: 0.86rem;
  text-align: right;
}

.admin-dashboard-queue-groups {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-5);
}

.admin-dashboard-queue-groups > section {
  display: grid;
  grid-template-columns: minmax(7rem, 0.22fr) minmax(0, 1fr);
  align-items: start;
  gap: var(--space-5);
  min-width: 0;
}

.admin-dashboard-queue-groups > section[hidden],
.admin-dashboard-all-clear[hidden] {
  display: none;
}

.admin-dashboard-all-clear {
  margin: var(--space-6) 0;
  padding: var(--space-6) 0;
  border-block: 1px solid var(--border-subtle);
  color: var(--text-secondary);
  line-height: 1.55;
}

.admin-dashboard-queue-groups h4 {
  margin: var(--space-3) 0 0;
  padding: 0;
  color: var(--text-secondary);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-action-list {
  display: grid;
}

.admin-action-list > button {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: var(--space-4);
  align-items: center;
  width: 100%;
  min-height: 52px;
  padding: var(--space-3) 0;
  border: 0;
  border-top: 1px solid var(--border-subtle);
  background: transparent;
  color: var(--text-primary);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.admin-action-list > button:last-child {
  border-bottom: 1px solid var(--border-subtle);
}

.admin-action-list > button:hover {
  background: var(--surface-cream);
}

.admin-action-list > button:active {
  transform: translateY(1px);
}

.admin-action-list > button:focus-visible {
  outline: 2px solid var(--accent-brick);
  outline-offset: var(--space-1);
}

.admin-action-list > button span,
.admin-action-list > button strong,
.admin-action-list > button small {
  display: block;
}

.admin-action-list > button small {
  margin-top: var(--space-1);
  color: var(--text-secondary);
  line-height: 1.45;
}

.admin-action-list > button b {
  font-family: var(--font-mono);
  font-size: clamp(1.35rem, 2.5vw, 1.9rem);
  font-weight: 600;
  line-height: 1;
}

.admin-action-list > button em {
  color: var(--accent-brick);
  font-family: var(--font-display);
  font-size: 1.15rem;
  font-style: normal;
  line-height: 1;
}

.admin-recent-list {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  max-width: 760px;
}

.admin-recent-list li {
  display: grid;
  grid-template-columns: minmax(72px, auto) minmax(0, 1fr);
  gap: var(--space-1) var(--space-3);
  padding: var(--space-3) 0;
  border-top: 1px solid var(--border-subtle);
}

.admin-recent-list li:last-child {
  border-bottom: 1px solid var(--border-subtle);
}

.admin-recent-list span {
  color: var(--accent-brick);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-recent-list strong,
.admin-recent-list small {
  min-width: 0;
  overflow-wrap: anywhere;
}

.admin-recent-list small {
  grid-column: 2;
  color: var(--text-secondary);
  line-height: 1.4;
}

.admin-loading-state,
.admin-error-state,
.admin-empty-state {
  margin: 0;
  color: var(--text-secondary);
  line-height: 1.5;
}

.admin-error-state {
  color: var(--accent-brick);
}

.admin-error-state .button {
  margin-top: var(--space-3);
}

.admin-work-order-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-block: 1px solid var(--border-subtle);
}

.admin-work-order-summary > article {
  display: grid;
  gap: var(--space-2);
  min-width: 0;
  padding: var(--space-4);
  border-inline-start: 1px solid var(--border-subtle);
}

.admin-work-order-summary > article:first-child {
  border-inline-start: 0;
}

.admin-work-order-summary span {
  color: var(--text-secondary);
  font-family: var(--font-mono);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-work-order-summary strong {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  line-height: 1;
}

.admin-work-order-toolbar {
  display: grid;
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  gap: var(--space-3);
  align-items: end;
}

.admin-work-order-toolbar label {
  display: grid;
  gap: var(--space-2);
  color: var(--text-secondary);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-work-order-toolbar select {
  width: 100%;
  min-height: 44px;
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--border-subtle);
  border-radius: var(--button-radius, 0);
  background: var(--surface-plain);
  color: var(--text-primary);
  font: inherit;
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.admin-work-order-toolbar select:focus-visible {
  outline: 2px solid var(--accent-brick);
  outline-offset: var(--space-1);
}

.admin-work-order-toolbar .admin-unit-result-count {
  grid-column: 1 / -1;
  justify-self: start;
  padding-bottom: 0;
}

.admin-work-order-active-queue {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-inline-start: 3px solid var(--accent-brick);
  background: var(--surface-cream);
}

.admin-work-order-active-queue[hidden] {
  display: none;
}

.admin-work-order-active-queue p {
  margin: 0;
  font-weight: 700;
}

.admin-work-order-table {
  min-width: 940px;
}

.admin-work-order-table tbody tr {
  transition: background 120ms ease-out;
}

.admin-work-order-table tbody tr:hover {
  background: color-mix(in srgb, var(--surface-cream) 68%, transparent);
}

.admin-work-order-table td > strong,
.admin-work-order-table td > span,
.admin-work-order-table td button > strong,
.admin-work-order-table td button > span {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.admin-work-order-table td button > span,
.admin-work-order-table td > span,
.admin-work-order-table time {
  margin-top: var(--space-1);
  color: var(--text-secondary);
  font-size: 0.84rem;
  line-height: 1.4;
}

.admin-work-order-priority-chip,
.admin-work-order-status-chip {
  display: inline-block !important;
  width: fit-content;
  margin: 0 !important;
  padding: var(--space-1) var(--space-2);
  border: 1px solid var(--border-subtle);
  color: var(--text-primary) !important;
  font-family: var(--font-mono);
  font-size: 0.7rem !important;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.2 !important;
  text-transform: uppercase;
}

.admin-work-order-priority-chip[data-priority="emergency"],
.admin-work-order-priority[data-priority="emergency"] {
  border-inline-start-color: var(--accent-brick);
  background: var(--surface-cream);
}

.admin-work-order-priority-chip[data-priority="urgent"],
.admin-work-order-priority[data-priority="urgent"] {
  border-inline-start-color: var(--accent-gold);
  background: var(--surface-warm);
}

.admin-work-order-status-chip[data-status="waiting"] {
  border-color: var(--accent-gold);
}

.admin-work-order-status-chip[data-status="completed"],
.admin-work-order-status-chip[data-status="closed"] {
  border-color: var(--accent-sage);
}

.admin-work-order-priority {
  display: grid;
  gap: var(--space-1);
  padding: var(--space-4);
  border-block: 1px solid var(--border-subtle);
  border-inline-start: 3px solid var(--border-subtle);
}

.admin-work-order-reporter {
  display: grid;
  gap: var(--space-1);
  margin-block: var(--space-4);
  padding: var(--space-3) var(--space-4);
  border-inline-start: 3px solid var(--accent-brick);
  background: var(--surface-cream);
}

.admin-work-order-reporter span {
  color: var(--text-secondary);
  font-size: 0.86rem;
}

.admin-work-order-priority[hidden],
.admin-work-order-reporter[hidden],
.admin-work-order-form[hidden],
.admin-work-order-status-actions[hidden],
.admin-work-order-status-actions form[hidden],
[data-admin-work-order-close][hidden],
[data-admin-work-order-reopen][hidden],
[data-admin-work-order-history][hidden] {
  display: none;
}

.admin-work-order-priority span {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-work-order-priority p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.86rem;
  line-height: 1.45;
}

.admin-work-order-timeline small + p,
.admin-work-order-timeline p + small {
  margin-top: var(--space-1);
}

.admin-unit-toolbar {
  display: grid;
  grid-template-columns: repeat(2, minmax(180px, 260px)) minmax(0, 1fr);
  gap: var(--space-3);
  align-items: end;
  padding-top: var(--space-4);
  border-top: 1px solid var(--border-subtle);
}

.admin-unit-toolbar label {
  display: grid;
  gap: var(--space-2);
  color: var(--text-secondary);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-unit-toolbar select {
  width: 100%;
  min-height: 44px;
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--border-subtle);
  border-radius: var(--button-radius, 0);
  background: var(--surface-plain);
  color: var(--text-primary);
  font: inherit;
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.admin-unit-toolbar select:focus-visible {
  outline: 2px solid var(--accent-brick);
  outline-offset: var(--space-1);
}

.admin-unit-result-count,
.admin-unit-status {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.88rem;
}

.admin-unit-result-count {
  justify-self: end;
  padding-bottom: var(--space-3);
  font-family: var(--font-mono);
}

.admin-unit-status {
  min-height: 1.4em;
}

.admin-unit-status[data-tone="error"] {
  color: var(--accent-brick);
}

.admin-unit-status[data-tone="success"] {
  color: color-mix(in srgb, var(--accent-sage) 35%, var(--text-primary));
}

.admin-unit-table {
  min-width: 860px;
}

.admin-unit-table tbody tr {
  transition: background 120ms ease-out;
}

.admin-unit-table tbody tr:hover {
  background: color-mix(in srgb, var(--surface-cream) 68%, transparent);
}

.admin-availability {
  padding-inline-start: var(--space-2);
  border-inline-start: 3px solid var(--border-subtle);
  color: var(--text-primary) !important;
  font-weight: 700;
}

.admin-availability[data-availability="currently_available"] {
  border-inline-start-color: var(--accent-sage);
}

.admin-availability[data-availability="upcoming"] {
  border-inline-start-color: var(--accent-brick);
}

.admin-unit-derived {
  display: grid;
  gap: var(--space-1);
  padding: var(--space-4);
  border-block: 1px solid var(--border-subtle);
  border-inline-start: 3px solid var(--border-subtle);
  background: var(--surface-warm);
}

.admin-unit-derived[hidden] {
  display: none;
}

.admin-unit-derived[data-availability="currently_available"] {
  border-inline-start-color: var(--accent-sage);
}

.admin-unit-derived[data-availability="upcoming"] {
  border-inline-start-color: var(--accent-brick);
}

.admin-unit-derived span {
  color: var(--text-secondary);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-unit-derived strong {
  font-family: var(--font-display);
  font-size: 1.4rem;
}

.admin-unit-derived p,
.admin-unit-form-status {
  margin: 0;
  color: var(--text-secondary);
  line-height: 1.45;
}

.admin-record-form[hidden] {
  display: none;
}

.admin-field-error {
  min-height: 1.2em;
  color: var(--accent-brick);
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1.35;
  text-transform: none;
}

.admin-record-form [aria-invalid="true"] {
  border-color: var(--accent-brick);
  outline: 1px solid var(--accent-brick);
  outline-offset: 1px;
}

.admin-money-field {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  padding-inline-start: var(--space-3);
  border: 1px solid var(--border-subtle);
  background: var(--surface-warm);
  color: var(--text-secondary);
}

.admin-money-field:focus-within {
  outline: 2px solid var(--accent-brick);
  outline-offset: var(--space-1);
}

.admin-money-field input {
  border: 0;
  background: transparent;
}

.admin-unit-visibility {
  display: grid;
  gap: var(--space-3);
  margin: var(--space-2) 0;
  padding: var(--space-4) 0;
  border: 0;
  border-block: 1px solid var(--border-subtle);
}

.admin-unit-visibility legend {
  padding: 0;
  color: var(--text-primary);
  font-weight: 700;
}

.admin-unit-visibility p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.88rem;
  line-height: 1.45;
}

.admin-unit-visibility label {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  color: var(--text-primary);
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.4;
  text-transform: none;
}

.admin-unit-visibility input {
  width: auto;
  margin-top: var(--space-1);
}

.admin-unit-form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.admin-segmented {
  display: inline-grid;
  grid-template-columns: repeat(2, minmax(72px, 1fr));
  border: 1px solid var(--border-subtle);
  background: var(--surface-plain);
}

.admin-segmented[aria-label="Inquiry follow-up filter"] {
  grid-template-columns: repeat(5, minmax(72px, 1fr));
}

.admin-segmented button {
  border: 0;
  border-inline-start: 1px solid var(--border-subtle);
  padding: var(--space-3) var(--space-4);
  background: transparent;
  color: var(--text-secondary);
  font: inherit;
  cursor: pointer;
}

.admin-segmented button:first-child {
  border-inline-start: 0;
}

.admin-segmented button:hover,
.admin-segmented button:focus-visible,
.admin-segmented button[aria-pressed="true"] {
  background: var(--panel-ink, var(--surface-ink));
  color: var(--text-inverse);
}

.admin-inline-form {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(120px, 160px) auto;
  gap: var(--space-2);
}

.admin-table-wrap {
  overflow-x: auto;
}

.admin-table {
  width: 100%;
  border-collapse: collapse;
  min-width: 780px;
}

.admin-table th,
.admin-table td {
  padding: var(--space-4);
  border-top: 1px solid var(--border-subtle);
  text-align: left;
  vertical-align: top;
}

.admin-table td strong,
.admin-table td span {
  display: block;
}

.admin-table td span {
  margin-top: var(--space-1);
  color: var(--text-secondary);
  font-size: 0.9rem;
}

.admin-table mark {
  display: inline-block;
  padding: var(--space-1) var(--space-2);
  background: var(--surface-stone);
  color: var(--text-primary);
}

.admin-follow-up {
  color: var(--text-secondary);
  font-size: 0.9rem;
  font-weight: 600;
}

.admin-follow-up[data-tone="overdue"],
.admin-follow-up[data-tone="today"] {
  color: var(--accent-brick);
  font-weight: 700;
}

.admin-stage-select {
  width: 100%;
  min-width: 116px;
  border: 1px solid var(--border-subtle);
  border-radius: var(--button-radius, 0);
  padding: var(--space-2) var(--space-3);
  background: var(--surface-plain);
  color: var(--text-primary);
  font: inherit;
}

.admin-table td button {
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.admin-table tbody tr[data-selected="true"] {
  background: var(--surface-cream);
}

.admin-table tbody tr[data-admin-inquiry-id],
.admin-table tbody tr[data-admin-property-id],
.admin-table tbody tr[data-admin-unit-id],
.admin-table tbody tr[data-admin-work-order-id],
.admin-table tbody tr[data-admin-tour-id],
.admin-table tbody tr[data-admin-application-id] {
  cursor: pointer;
}

.admin-table tbody tr[data-admin-inquiry-id]:hover,
.admin-table tbody tr[data-admin-property-id]:hover,
.admin-table tbody tr[data-admin-unit-id]:hover,
.admin-table tbody tr[data-admin-work-order-id]:hover,
.admin-table tbody tr[data-admin-tour-id]:hover,
.admin-table tbody tr[data-admin-application-id]:hover,
.admin-table tbody tr:focus-within {
  background: var(--surface-warm);
}

.admin-table td button:hover strong,
.admin-table td button:focus-visible strong {
  color: var(--accent-brick);
}

.admin-table td button:focus-visible {
  outline: 2px solid var(--accent-brick);
  outline-offset: var(--space-1);
}

.admin-inquiry-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  align-items: start;
}

.admin-inquiry-main {
  min-width: 0;
  display: grid;
  gap: var(--space-4);
}

.admin-inquiry-table {
  min-width: 760px;
}

.admin-inquiry-table th,
.admin-inquiry-table td {
  padding: var(--space-3);
}

.admin-inquiry-table th:first-child,
.admin-inquiry-table td:first-child {
  width: 34%;
}

.admin-inquiry-table time {
  color: var(--text-secondary);
  font-size: 0.86rem;
}

.admin-legacy-label {
  margin-top: var(--space-1);
  color: var(--accent-brick) !important;
  font-family: var(--font-mono);
  font-size: 0.68rem !important;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-record-sidebar {
  position: sticky;
  top: 0;
  min-height: 100dvh;
  max-height: 100dvh;
  display: grid;
  align-content: start;
  gap: var(--space-3);
  padding: var(--space-5);
  overflow: auto;
  border-inline-start: 1px solid var(--border-subtle);
  background: var(--surface-plain);
}

.admin-record-sidebar[hidden] {
  display: none;
}

.admin-record-controls {
  display: flex;
  justify-content: space-between;
  gap: var(--space-2);
  padding-bottom: var(--space-2);
  border-bottom: 1px solid var(--border-subtle);
}

.admin-icon-button {
  width: 44px;
  height: 44px;
  display: inline-grid;
  place-items: center;
  border: 1px solid var(--border-subtle);
  background: transparent;
  color: var(--text-primary);
  cursor: pointer;
}

.admin-icon-button svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: square;
  stroke-width: 1.8;
}

.admin-icon-button:hover,
.admin-icon-button:focus-visible {
  border-color: var(--accent-brick);
  color: var(--accent-brick);
  outline: 2px solid transparent;
}

.admin-sidebar .admin-sidebar-toggle {
  border-color: color-mix(in srgb, var(--text-inverse), transparent 66%);
  color: var(--text-inverse);
}

.admin-sidebar .admin-sidebar-toggle:hover,
.admin-sidebar .admin-sidebar-toggle:focus-visible {
  border-color: var(--text-inverse);
  background: color-mix(in srgb, var(--text-inverse), transparent 90%);
  color: var(--text-inverse);
}

.admin-record-toggle {
  width: 100%;
  border: 1px solid var(--border-subtle);
  border-radius: var(--button-radius, 0);
  padding: var(--space-2) var(--space-3);
  background: var(--surface-warm);
  color: var(--text-primary);
  font: inherit;
  cursor: pointer;
}

.admin-record-toggle:hover,
.admin-record-toggle:focus-visible {
  border-color: var(--accent-brick);
  color: var(--accent-brick);
  outline: none;
}

.admin-record-sidebar-body,
.admin-sidebar-pane {
  display: grid;
  gap: var(--space-4);
}

.admin-sidebar-pane[hidden] {
  display: none;
}

.admin-shell[data-lead-detail-collapsed="true"] .admin-record-sidebar {
  padding: var(--space-2);
  overflow: hidden;
}

.admin-shell[data-lead-detail-collapsed="true"] .admin-record-sidebar-body {
  display: none;
}

.admin-shell[data-lead-detail-collapsed="true"] .admin-record-controls {
  display: grid;
  border-bottom: 0;
}

.admin-shell[data-lead-detail-collapsed="true"] [data-admin-record-sidebar-toggle] svg {
  transform: rotate(180deg);
}

.admin-detail-list {
  display: grid;
  gap: var(--space-3);
  margin: 0;
}

.admin-detail-list div {
  display: grid;
  gap: var(--space-1);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--border-subtle);
}

.admin-detail-list div:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.admin-detail-list dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.admin-legacy-stage {
  margin: 0;
  padding: var(--space-3);
  border-inline-start: 3px solid var(--accent-brick);
  background: var(--surface-cream);
  color: var(--text-primary);
  font-size: 0.88rem;
  line-height: 1.45;
}

.admin-legacy-stage[hidden],
.admin-contact-form[hidden],
.admin-activity-form[hidden],
[data-admin-assign-to-me][hidden] {
  display: none;
}

.admin-leasing-section {
  display: grid;
  gap: var(--space-3);
  padding-top: var(--space-4);
  border-top: 1px solid var(--border-subtle);
}

.admin-leasing-section-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: var(--space-3);
}

.admin-leasing-section-head h4,
.admin-leasing-section-head p {
  margin: 0;
}

.admin-leasing-section-head h4 {
  font-family: var(--font-display);
  font-size: 1.25rem;
  line-height: 1.1;
}

.admin-leasing-section-head p,
.admin-leasing-section-head > span,
.admin-inline-status {
  color: var(--text-secondary);
  font-size: 0.8rem;
  line-height: 1.45;
}

.admin-leasing-section-head > span {
  font-family: var(--font-mono);
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-contact-summary {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-3);
  border: 1px solid var(--border-subtle);
  background: var(--surface-warm);
}

.admin-contact-summary > strong {
  font-size: 1rem;
}

.admin-contact-summary dl {
  display: grid;
  gap: var(--space-2);
  margin: 0;
}

.admin-contact-summary dl div {
  display: grid;
  grid-template-columns: 4.25rem minmax(0, 1fr);
  gap: var(--space-2);
}

.admin-contact-summary dt {
  color: var(--text-secondary);
  font-family: var(--font-mono);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-contact-summary dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.admin-inline-status {
  min-height: 1.2em;
  margin: 0;
}

.admin-activity-timeline {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.admin-activity-timeline li {
  display: grid;
  gap: var(--space-2);
  padding: var(--space-3) 0 var(--space-3) var(--space-4);
  border-inline-start: 1px solid var(--border-subtle);
  border-bottom: 1px solid var(--border-subtle);
}

.admin-activity-timeline li::before {
  content: "";
  width: 7px;
  height: 7px;
  margin: 0 0 -7px calc(-1 * var(--space-4) - 4px);
  background: var(--accent-brick);
}

.admin-activity-timeline li header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-3);
}

.admin-activity-timeline p,
.admin-activity-timeline small,
.admin-activity-timeline time {
  margin: 0;
}

.admin-activity-timeline p {
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.admin-activity-timeline small,
.admin-activity-timeline time {
  color: var(--text-secondary);
  font-size: 0.76rem;
}

.admin-property-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--space-4);
  align-items: start;
}

.admin-property-table {
  min-width: 600px;
}

.admin-property-table th,
.admin-property-table td {
  padding-inline: var(--space-3);
}

.admin-property-detail-head {
  display: grid;
  gap: var(--space-2);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--border-subtle);
}

.admin-property-detail-head p {
  margin: 0;
}

.admin-record-form {
  display: grid;
  gap: var(--space-3);
  margin: 0;
}

.admin-record-form label {
  display: grid;
  gap: var(--space-2);
}

.admin-record-form input,
.admin-record-form select,
.admin-record-form textarea {
  width: 100%;
  border: 1px solid var(--border-subtle);
  border-radius: var(--button-radius, 0);
  padding: var(--space-3);
  background: var(--surface-warm);
  color: var(--text-primary);
  font: inherit;
  font-size: 0.96rem;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
}

.admin-record-form textarea {
  resize: vertical;
}

.admin-voice-availability {
  display: grid;
  gap: var(--space-3);
  margin: var(--space-2) 0;
  padding: var(--space-4);
  border: 1px solid var(--border-subtle);
  background: var(--surface-plain);
}

.admin-voice-availability[hidden] {
  display: none;
}

.admin-voice-availability legend {
  padding-inline: var(--space-2);
  color: var(--text-primary);
  font-weight: 700;
}

.admin-voice-availability p {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.9rem;
}

.admin-voice-availability-status {
  min-height: 1.4em;
}

.theme-limestone .admin-voice-availability .button-secondary {
  border-color: var(--border-subtle);
  color: var(--text-primary);
}

.admin-record-form input[readonly],
.admin-record-form textarea[readonly],
.admin-inline-form input[readonly] {
  background: var(--surface-plain);
  cursor: text;
}

[data-admin-mutation]:disabled,
[data-admin-mutation-scope] button:disabled,
[data-admin-mutation-scope] select:disabled {
  opacity: 0.56;
  cursor: not-allowed;
}

.admin-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}

.admin-board {
  display: grid;
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: minmax(var(--admin-board-column-min), 21rem);
  gap: var(--space-3);
  max-width: 100%;
  padding: 0 0 var(--space-3);
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline proximity;
  scrollbar-gutter: stable;
}

.admin-board-column {
  display: grid;
  align-content: start;
  gap: var(--space-3);
  min-height: 360px;
  padding: var(--space-4);
  border: 1px solid var(--border-subtle);
  background: var(--surface-plain);
  min-inline-size: 0;
  scroll-snap-align: start;
}

.admin-board-column header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding-bottom: var(--space-3);
  border-bottom: 1px solid var(--border-subtle);
}

.admin-board-column h3 {
  font-size: 1.35rem;
}

.admin-board-card {
  display: grid;
  gap: var(--space-3);
  padding: var(--space-4);
  border-inline-start: 3px solid var(--accent-brick);
  background: var(--surface-warm);
  cursor: pointer;
  min-inline-size: 0;
  overflow-wrap: anywhere;
}

.admin-website-layout {
  display: grid;
  grid-template-columns: minmax(190px, 0.28fr) minmax(0, 1fr);
  gap: var(--space-8);
  align-items: start;
}

.admin-website-pages {
  display: grid;
  border-top: 1px solid var(--border-subtle);
}

.admin-website-pages button {
  display: grid;
  gap: var(--space-1);
  width: 100%;
  padding: var(--space-4);
  border: 0;
  border-bottom: 1px solid var(--border-subtle);
  background: transparent;
  color: var(--text-primary);
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.admin-website-pages button:hover,
.admin-website-pages button:focus-visible,
.admin-website-pages button[aria-current="page"] {
  background: var(--surface-cream);
}

.admin-website-pages button[aria-current="page"] {
  border-inline-start: 3px solid var(--accent-brick);
}

.admin-website-pages button span,
.admin-website-editor-head > span,
.admin-website-form label small,
.admin-website-follow-up > span {
  color: var(--text-secondary);
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
}

.admin-website-editor,
.admin-website-form,
.admin-website-fields {
  display: grid;
  gap: var(--space-5);
  min-width: 0;
}

.admin-website-editor-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: var(--space-4);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--border-subtle);
}

.admin-website-editor-head h3 {
  margin: 0;
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 2.2vw, 2rem);
}

.admin-website-fields fieldset {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-4);
  margin: 0;
  padding: var(--space-5) 0 0;
  border: 0;
  border-top: 1px solid var(--border-subtle);
}

.admin-website-fields legend {
  padding: 0 var(--space-3) 0 0;
  font-family: var(--font-display);
  font-size: 1.2rem;
  font-weight: 600;
}

.admin-website-form label {
  display: grid;
  gap: var(--space-2);
  align-content: start;
  color: var(--text-primary);
  font-weight: 700;
}

.admin-website-form input,
.admin-website-form textarea {
  width: 100%;
  padding: var(--space-3);
  border: 1px solid var(--border-subtle);
  border-radius: 0;
  background: var(--surface-plain);
  color: var(--text-primary);
  font: inherit;
  line-height: 1.5;
  resize: vertical;
}

.admin-website-form input:focus-visible,
.admin-website-form textarea:focus-visible {
  outline: 2px solid var(--accent-brick);
  outline-offset: var(--space-1);
}

.admin-website-form > .button {
  justify-self: start;
}

.admin-website-status-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.admin-website-status-row .button[hidden] {
  display: none;
}

.admin-website-follow-up {
  display: grid;
  grid-template-columns: minmax(90px, auto) minmax(0, 1fr);
  gap: var(--space-4);
  padding: var(--space-5) 0;
  border-block: 1px solid var(--border-subtle);
}

.admin-website-follow-up strong,
.admin-website-follow-up p {
  display: block;
  margin: 0;
}

.admin-website-follow-up p {
  margin-top: var(--space-1);
  color: var(--text-secondary);
}

.admin-board-column[data-drag-over="true"] {
  background: var(--surface-cream);
  outline: 2px solid var(--accent-brick);
  outline-offset: -2px;
}

.admin-board-card[data-selected="true"] {
  background: var(--surface-cream);
  outline: 1px solid var(--accent-brick);
  outline-offset: -1px;
}

.admin-board-card[data-dragging="true"] {
  opacity: 0.55;
}

.admin-board-card button {
  display: grid;
  gap: var(--space-1);
  width: 100%;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.admin-board-card button:hover strong,
.admin-board-card button:focus-visible strong {
  color: var(--accent-brick);
}

.admin-board-card button:focus-visible {
  outline: 2px solid var(--accent-brick);
  outline-offset: var(--space-1);
}

.admin-board-card strong,
.admin-board-card span {
  display: block;
}

.admin-board-card span,
.admin-board-card p,
.admin-board-card footer,
.admin-empty-state {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.92rem;
}

.admin-board-card footer {
  display: grid;
  gap: var(--space-1);
  padding-top: var(--space-3);
  border-top: 1px solid var(--border-subtle);
}

@media (max-width: 1320px) and (min-width: 1181px) {
  .zena-admin-page {
    --admin-nav-width: 220px;
  }

  .admin-shell[data-admin-navigation-collapsed="true"] {
    --admin-nav-width: 72px;
  }

  .admin-shell {
    grid-template-columns: var(--admin-nav-width) minmax(0, 1fr) 320px;
  }

  .admin-shell[data-admin-view="dashboard"] {
    grid-template-columns: var(--admin-nav-width) minmax(0, 1fr);
  }

  .admin-workspace,
  .admin-sidebar,
  .admin-record-sidebar {
    padding: var(--space-4);
  }

  .admin-topbar-actions,
  .admin-panel-actions {
    justify-content: start;
  }

  .admin-access-banner {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }
}

@media (max-width: 1180px) {
  .admin-shell,
  .admin-shell[data-admin-view="dashboard"],
  .admin-shell[data-admin-detail-open="false"] {
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-shell[data-lead-detail-collapsed="true"],
  .admin-shell:not([data-admin-ready="true"]) {
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-sidebar {
    position: static;
    min-height: auto;
  }

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

  .admin-sidebar-toggle {
    display: none;
  }

  .admin-pin-panel,
  .admin-access-banner,
  .admin-stat-grid,
  .admin-inquiry-layout,
  .admin-property-layout {
    grid-template-columns: 1fr;
  }

  .admin-record-sidebar {
    position: fixed;
    z-index: 20;
    inset-block: 0;
    inset-inline-end: 0;
    width: min(420px, 100vw);
    min-height: 100dvh;
    max-height: 100dvh;
    border-inline-start: 1px solid var(--border-subtle);
    border-top: 0;
    box-shadow: -18px 0 48px color-mix(in srgb, var(--surface-ink), transparent 84%);
    overscroll-behavior: contain;
  }

  .admin-shell[data-lead-detail-collapsed="true"] .admin-record-sidebar {
    width: 56px;
  }

  .admin-board-column {
    min-height: auto;
  }

  .admin-website-layout {
    grid-template-columns: minmax(170px, 0.25fr) minmax(0, 1fr);
    gap: var(--space-6);
  }

  .admin-panel-head {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-panel-actions {
    align-items: stretch;
    flex-direction: column;
    width: 100%;
  }

  .admin-panel[data-admin-panel="inquiries"] .admin-panel-head > div:first-child {
    min-width: 0;
  }
}

@media (max-width: 900px) {
  .admin-dashboard-grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .admin-dashboard-queue-groups {
    grid-template-columns: 1fr;
    gap: var(--space-5);
  }

  .admin-dashboard-queue-groups > section {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .admin-website-layout,
  .admin-website-fields fieldset {
    grid-template-columns: 1fr;
  }

  .admin-website-pages {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-work-order-summary,
  .admin-work-order-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-work-order-summary > article:nth-child(3) {
    border-inline-start: 0;
  }

  .admin-work-order-summary > article:nth-child(n + 3) {
    border-top: 1px solid var(--border-subtle);
  }
}

@media (max-width: 768px) {
  .admin-resident-table,
  .admin-resident-table tbody,
  .admin-resident-table tr,
  .admin-resident-table td {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .admin-sidebar {
    gap: var(--space-4);
  }

  .admin-brand {
    display: grid;
    justify-content: start;
  }

  .admin-brand strong {
    font-size: 1.65rem;
  }

  .admin-nav {
    min-width: 0;
    display: none;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-2);
  }

  .admin-nav button {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: center;
    gap: var(--space-3);
    min-height: 48px;
  }

  .admin-nav button svg,
  .admin-icon-button.admin-mobile-nav-toggle {
    display: block;
  }

  .admin-shell[data-admin-mobile-navigation-open="true"] .admin-nav {
    display: grid;
  }

  .admin-unit-table-wrap,
  .admin-inquiry-list,
  .admin-property-table-wrap,
  .admin-work-order-table-wrap {
    overflow-x: visible;
  }

  .admin-unit-table,
  .admin-inquiry-table,
  .admin-property-table,
  .admin-work-order-table {
    display: block;
    min-width: 0;
  }

  .admin-unit-table thead,
  .admin-inquiry-table thead,
  .admin-property-table thead,
  .admin-work-order-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .admin-unit-table tbody,
  .admin-inquiry-table tbody,
  .admin-property-table tbody,
  .admin-work-order-table tbody {
    display: grid;
    gap: var(--space-3);
  }

  .admin-unit-table tbody tr,
  .admin-inquiry-table tbody tr,
  .admin-property-table tbody tr,
  .admin-work-order-table tbody tr {
    display: grid;
    min-width: 0;
    border: 1px solid var(--border-subtle);
    background: var(--surface-plain);
  }

  .admin-unit-table tbody tr[data-selected="true"],
  .admin-inquiry-table tbody tr[data-selected="true"],
  .admin-property-table tbody tr[data-selected="true"],
  .admin-work-order-table tbody tr[data-selected="true"] {
    border-inline-start: 3px solid var(--accent-brick);
  }

  .admin-unit-table td,
  .admin-inquiry-table td,
  .admin-property-table td,
  .admin-work-order-table td {
    display: grid;
    grid-template-columns: minmax(7.25rem, 0.52fr) minmax(0, 1fr);
    gap: var(--space-3);
    min-width: 0;
    padding: var(--space-3);
    border-top: 1px solid var(--border-subtle);
  }

  .admin-unit-table td:first-child,
  .admin-inquiry-table td:first-child,
  .admin-property-table td:first-child,
  .admin-work-order-table td:first-child {
    width: auto;
    border-top: 0;
  }

  .admin-unit-table td::before,
  .admin-inquiry-table td::before,
  .admin-property-table td::before,
  .admin-work-order-table td::before {
    content: attr(data-label);
    color: var(--text-secondary);
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .admin-unit-table td[colspan],
  .admin-inquiry-table td[colspan],
  .admin-property-table td[colspan],
  .admin-work-order-table td[colspan] {
    display: block;
  }

  .admin-unit-table td[colspan]::before,
  .admin-inquiry-table td[colspan]::before,
  .admin-property-table td[colspan]::before,
  .admin-work-order-table td[colspan]::before {
    display: none;
  }

  .admin-unit-table td button,
  .admin-inquiry-table td button,
  .admin-property-table td button,
  .admin-work-order-table td button {
    min-height: 44px;
  }

  .admin-inquiry-table td > * {
    min-width: 0;
  }

  .admin-property-table td > * {
    min-width: 0;
  }

  .admin-work-order-table td > * {
    min-width: 0;
  }
}

@media (max-width: 560px) {
  .admin-workspace,
  .admin-sidebar {
    padding: var(--space-4);
  }

  .admin-topbar,
  .admin-pin-form div,
  .admin-topbar-actions,
  .admin-inline-form,
  .admin-form-grid {
    display: grid;
    grid-template-columns: 1fr;
  }

  .admin-dashboard-home [data-admin-dashboard-quick-actions] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-1);
  }

  .admin-dashboard-home [data-admin-dashboard-quick-actions] .button {
    width: 100%;
    min-height: 48px;
    padding-inline: var(--space-2);
  }

  .admin-board {
    grid-auto-columns: min(82vw, 20rem);
  }

  .admin-website-pages,
  .admin-website-follow-up {
    grid-template-columns: 1fr;
  }

  .admin-segmented[aria-label="Inquiry follow-up filter"] {
    width: 100%;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-segmented,
  .admin-inline-form {
    width: 100%;
    min-width: 0;
  }

  .admin-segmented[aria-label="Inquiry follow-up filter"] button:last-child {
    grid-column: 1 / -1;
  }

  .admin-activity-timeline li header {
    align-items: start;
    flex-direction: column;
    gap: var(--space-1);
  }

  .admin-dashboard-section-head,
  .admin-unit-form-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-dashboard-section-head > p {
    max-width: none;
    text-align: left;
  }

  .admin-action-list > button {
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: var(--space-2) var(--space-3);
  }

  .admin-unit-toolbar {
    grid-template-columns: 1fr;
  }

  .admin-work-order-toolbar {
    grid-template-columns: 1fr;
  }

  .admin-work-order-active-queue {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-unit-result-count {
    justify-self: start;
    padding-bottom: 0;
  }

  .admin-unit-table td {
    grid-template-columns: minmax(6.5rem, 0.48fr) minmax(0, 1fr);
  }

  .admin-unit-form-actions .button {
    width: 100%;
  }
}

.admin-application-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-block: 1px solid var(--border-subtle);
}

.admin-application-summary > article {
  display: grid;
  gap: var(--space-2);
  min-width: 0;
  padding: var(--space-4);
  border-inline-start: 1px solid var(--border-subtle);
}

.admin-application-summary > article:first-child {
  border-inline-start: 0;
}

.admin-application-summary span {
  color: var(--text-secondary);
  font-family: var(--font-mono);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-application-summary strong {
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 3vw, 2.1rem);
  line-height: 1;
}

.admin-application-toolbar {
  display: grid;
  grid-template-columns: repeat(4, minmax(140px, 1fr));
  gap: var(--space-3);
  align-items: end;
}

.admin-application-toolbar label {
  display: grid;
  gap: var(--space-2);
  color: var(--text-secondary);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-application-toolbar select {
  width: 100%;
  min-height: 44px;
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--border-subtle);
  border-radius: var(--button-radius, 0);
  background: var(--surface-plain);
  color: var(--text-primary);
  font: inherit;
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.admin-application-toolbar select:focus-visible {
  outline: 2px solid var(--accent-brick);
  outline-offset: var(--space-1);
}

.admin-application-toolbar .admin-unit-result-count {
  grid-column: 1 / -1;
  justify-self: start;
  padding-bottom: 0;
}

.admin-application-active-queue {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-inline-start: 3px solid var(--accent-brick);
  background: var(--surface-cream);
}

.admin-application-active-queue[hidden],
[data-admin-application-detail-body][hidden],
.admin-application-start-form[hidden] {
  display: none;
}

.admin-application-active-queue p,
.admin-application-privacy {
  margin: 0;
}

.admin-application-active-queue p {
  font-weight: 700;
}

.admin-application-privacy {
  padding: var(--space-3) var(--space-4);
  border-inline-start: 3px solid var(--accent-gold);
  background: var(--surface-cream);
  color: var(--text-secondary);
  font-size: 0.88rem;
  line-height: 1.5;
}

.admin-application-table {
  min-width: 960px;
}

.admin-application-table tbody tr:hover {
  background: color-mix(in srgb, var(--surface-cream) 68%, transparent);
}

.admin-application-table td button {
  display: grid;
  gap: var(--space-1);
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.admin-application-table td button:focus-visible {
  outline: 2px solid var(--accent-brick);
  outline-offset: var(--space-1);
}

.admin-application-table td > strong,
.admin-application-table td > span,
.admin-application-table td button > strong,
.admin-application-table td button > span {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.admin-application-table td > span:not(.admin-application-state),
.admin-application-table td button > span {
  color: var(--text-secondary);
  font-size: 0.84rem;
  line-height: 1.4;
}

.admin-application-state {
  display: inline-block;
  width: fit-content;
  padding: var(--space-1) var(--space-2);
  border: 1px solid var(--border-subtle);
  color: var(--text-primary);
  font-family: var(--font-mono);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.25;
  text-transform: uppercase;
}

.admin-application-state[data-status="documents_needed"],
.admin-application-state[data-status="denied"] {
  border-color: var(--accent-brick);
}

.admin-application-state[data-status="submitted"],
.admin-application-state[data-status="screening"] {
  border-color: var(--accent-gold);
  background: var(--surface-cream);
}

.admin-application-state[data-status="approved"],
.admin-application-state[data-status="conditionally_approved"] {
  border-color: var(--accent-sage);
}

.admin-application-parties {
  display: grid;
  margin: 0 0 var(--space-4);
  padding: 0;
  list-style: none;
}

.admin-application-parties li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  min-width: 0;
  padding: var(--space-3) 0;
  border-bottom: 1px solid var(--border-subtle);
}

.admin-application-parties li span,
.admin-application-parties li strong,
.admin-application-parties li small {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.admin-application-parties li small {
  margin-top: var(--space-1);
  color: var(--text-secondary);
  text-transform: capitalize;
}

@media (max-width: 1320px) and (min-width: 769px) {
  .admin-application-table-wrap {
    overflow-x: visible;
  }

  .admin-application-table {
    display: block;
    min-width: 0;
  }

  .admin-application-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .admin-application-table tbody {
    display: grid;
    gap: var(--space-3);
  }

  .admin-application-table tbody tr {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    min-width: 0;
    border: 1px solid var(--border-subtle);
    background: var(--surface-plain);
  }

  .admin-application-table tbody tr[data-selected="true"] {
    border-inline-start: 3px solid var(--accent-brick);
  }

  .admin-application-table td {
    display: grid;
    align-content: start;
    gap: var(--space-2);
    min-width: 0;
    padding: var(--space-3);
    border: 0;
    border-top: 1px solid var(--border-subtle);
  }

  .admin-application-table td:nth-child(-n + 3) {
    border-top: 0;
  }

  .admin-application-table td::before {
    content: attr(data-label);
    color: var(--text-secondary);
    font-family: var(--font-mono);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .admin-application-table td[colspan] {
    display: block;
    grid-column: 1 / -1;
  }

  .admin-application-table td[colspan]::before {
    display: none;
  }
}

@media (max-width: 900px) {
  .admin-application-summary,
  .admin-application-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-application-summary > article:nth-child(odd) {
    border-inline-start: 0;
  }

  .admin-application-summary > article:nth-child(n + 3) {
    border-top: 1px solid var(--border-subtle);
  }
}

@media (max-width: 768px) {
  .admin-application-table-wrap {
    overflow-x: visible;
  }

  .admin-application-table {
    display: block;
    min-width: 0;
  }

  .admin-application-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .admin-application-table tbody {
    display: grid;
    gap: var(--space-3);
  }

  .admin-application-table tbody tr {
    display: grid;
    min-width: 0;
    border: 1px solid var(--border-subtle);
    background: var(--surface-plain);
  }

  .admin-application-table tbody tr[data-selected="true"] {
    border-inline-start: 3px solid var(--accent-brick);
  }

  .admin-application-table td {
    display: grid;
    grid-template-columns: minmax(7.25rem, 0.52fr) minmax(0, 1fr);
    gap: var(--space-3);
    min-width: 0;
    padding: var(--space-3);
    border-top: 1px solid var(--border-subtle);
  }

  .admin-application-table td:first-child {
    width: auto;
    border-top: 0;
  }

  .admin-application-table td::before {
    content: attr(data-label);
    color: var(--text-secondary);
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .admin-application-table td[colspan] {
    display: block;
  }

  .admin-application-table td[colspan]::before {
    display: none;
  }

  .admin-application-table td button {
    min-height: 44px;
  }
}

@media (max-width: 560px) {
  .admin-application-summary,
  .admin-application-toolbar {
    grid-template-columns: 1fr;
  }

  .admin-application-summary > article,
  .admin-application-summary > article:nth-child(odd) {
    border-inline-start: 0;
    border-top: 1px solid var(--border-subtle);
  }

  .admin-application-summary > article:first-child {
    border-top: 0;
  }

  .admin-application-active-queue,
  .admin-application-parties li {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-application-table td {
    grid-template-columns: minmax(6.5rem, 0.48fr) minmax(0, 1fr);
  }
}

.admin-tour-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-block: 1px solid var(--border-subtle);
}

.admin-tour-summary > article {
  display: grid;
  gap: var(--space-2);
  min-width: 0;
  padding: var(--space-4);
  border-inline-start: 1px solid var(--border-subtle);
}

.admin-tour-summary > article:first-child {
  border-inline-start: 0;
}

.admin-tour-summary span,
.admin-tour-timing-kind {
  color: var(--text-secondary);
  font-family: var(--font-mono);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-tour-summary strong {
  font-family: var(--font-display);
  font-size: clamp(1.45rem, 3vw, 2.1rem);
  line-height: 1;
}

.admin-tour-toolbar {
  display: grid;
  grid-template-columns: repeat(3, minmax(150px, 1fr));
  gap: var(--space-3);
  align-items: end;
}

.admin-tour-toolbar label {
  display: grid;
  gap: var(--space-2);
  color: var(--text-secondary);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-tour-toolbar select {
  width: 100%;
  min-height: 44px;
  padding: var(--space-2) var(--space-3);
  border: 1px solid var(--border-subtle);
  border-radius: var(--button-radius, 0);
  background: var(--surface-plain);
  color: var(--text-primary);
  font: inherit;
  font-size: 0.9rem;
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

.admin-tour-toolbar .admin-unit-result-count {
  grid-column: 1 / -1;
  justify-self: start;
  padding-bottom: 0;
}

.admin-tour-active-queue {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  padding: var(--space-3) var(--space-4);
  border-inline-start: 3px solid var(--accent-brick);
  background: var(--surface-cream);
}

.admin-tour-active-queue[hidden],
[data-admin-tour-detail-body][hidden],
.admin-tour-confirm-form[hidden],
.admin-tour-reschedule-form[hidden],
.admin-tour-outcome-form[hidden] {
  display: none;
}

.admin-tour-active-queue p {
  margin: 0;
  font-weight: 700;
}

.admin-tour-table {
  min-width: 900px;
}

.admin-tour-table tbody tr {
  transition: background 120ms ease-out;
}

.admin-tour-table tbody tr:hover {
  background: color-mix(in srgb, var(--surface-cream) 68%, transparent);
}

.admin-tour-table td button {
  display: grid;
  gap: var(--space-1);
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}

.admin-tour-table td button:focus-visible {
  outline: 2px solid var(--accent-brick);
  outline-offset: var(--space-1);
}

.admin-tour-table td > strong,
.admin-tour-table td > span,
.admin-tour-table td button > strong,
.admin-tour-table td button > span {
  display: block;
  min-width: 0;
  overflow-wrap: anywhere;
}

.admin-tour-table td > span:not(.admin-tour-state),
.admin-tour-table td button > span:not(.admin-tour-timing-kind) {
  color: var(--text-secondary);
  font-size: 0.84rem;
  line-height: 1.4;
}

.admin-tour-state {
  display: inline-block;
  width: fit-content;
  padding: var(--space-1) var(--space-2);
  border: 1px solid var(--border-subtle);
  color: var(--text-primary);
  font-family: var(--font-mono);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.25;
  text-transform: uppercase;
}

.admin-tour-state[data-status="requested"] {
  border-color: var(--accent-gold);
  background: var(--surface-cream);
}

.admin-tour-state[data-status="scheduled"] {
  border-color: var(--accent-sage);
}

.admin-tour-state[data-status="outcome"] {
  border-color: var(--accent-brick);
}

.admin-tour-appointment-current {
  display: grid;
  gap: var(--space-2);
  margin-bottom: var(--space-4);
  padding: var(--space-4);
  border-block: 1px solid var(--border-subtle);
  background: var(--surface-plain);
}

.admin-tour-appointment-current strong,
.admin-tour-appointment-current p {
  margin: 0;
  overflow-wrap: anywhere;
}

.admin-tour-appointment-current p {
  color: var(--text-secondary);
  line-height: 1.45;
}

.admin-tour-reschedule-form,
.admin-tour-outcome-form {
  margin-top: var(--space-5);
  padding-top: var(--space-4);
  border-top: 1px solid var(--border-subtle);
}

.admin-tour-history li p,
[data-admin-tour-activity] li p {
  overflow-wrap: anywhere;
}

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

  .admin-tour-summary > article:nth-child(odd) {
    border-inline-start: 0;
  }

  .admin-tour-summary > article:nth-child(n + 3) {
    border-top: 1px solid var(--border-subtle);
  }

  .admin-tour-toolbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 768px) {
  .admin-tour-table-wrap {
    overflow-x: visible;
  }

  .admin-tour-table {
    display: block;
    min-width: 0;
  }

  .admin-tour-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .admin-tour-table tbody {
    display: grid;
    gap: var(--space-3);
  }

  .admin-tour-table tbody tr {
    display: grid;
    min-width: 0;
    border: 1px solid var(--border-subtle);
    background: var(--surface-plain);
  }

  .admin-tour-table tbody tr[data-selected="true"] {
    border-inline-start: 3px solid var(--accent-brick);
  }

  .admin-tour-table td {
    display: grid;
    grid-template-columns: minmax(7.25rem, 0.52fr) minmax(0, 1fr);
    gap: var(--space-3);
    min-width: 0;
    padding: var(--space-3);
    border-top: 1px solid var(--border-subtle);
  }

  .admin-tour-table td:first-child {
    width: auto;
    border-top: 0;
  }

  .admin-tour-table td::before {
    content: attr(data-label);
    color: var(--text-secondary);
    font-family: var(--font-mono);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .admin-tour-table td[colspan] {
    display: block;
  }

  .admin-tour-table td[colspan]::before {
    display: none;
  }

  .admin-tour-table td button {
    min-height: 44px;
  }
}

@media (max-width: 560px) {
  .admin-tour-summary,
  .admin-tour-toolbar {
    grid-template-columns: 1fr;
  }

  .admin-tour-summary > article,
  .admin-tour-summary > article:nth-child(odd) {
    border-inline-start: 0;
    border-top: 1px solid var(--border-subtle);
  }

  .admin-tour-summary > article:first-child {
    border-top: 0;
  }

  .admin-tour-active-queue {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-tour-table td {
    grid-template-columns: minmax(6.5rem, 0.48fr) minmax(0, 1fr);
  }
}

/* ===================== Available Listings (/listings/) ===================== */

.listings-page .listings-main {
  width: min(var(--max), calc(100% - var(--space-8)));
  margin: 0 auto;
  padding: 0 0 var(--space-20);
}

.listings-page .listings-intro {
  width: var(--zena-rail);
  margin: 0 auto;
  padding: var(--space-20) 0 var(--space-8);
}

.listings-page .listings-intro h1 {
  max-width: 12ch;
}

.listings-page .listings-intro .hero-dek {
  color: var(--text-secondary);
  max-width: 48ch;
}

.listings-section {
  margin-top: var(--space-8);
}

.listings-section .section-heading {
  display: grid;
  gap: var(--space-2);
  padding-bottom: var(--space-8);
  border-bottom: 1px solid var(--border-subtle);
  margin-bottom: var(--space-10);
}

.listings-section .section-heading p:not(.section-kicker) {
  color: var(--text-secondary);
  font-family: var(--font-sans);
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.6;
}

.listings-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr));
  gap: var(--space-6);
}

.listings-loading,
.listings-empty {
  grid-column: 1 / -1;
  display: grid;
  gap: var(--space-4);
  padding: var(--space-16) 0;
  text-align: center;
  place-items: center;
}

.listings-empty p:not(.section-kicker) {
  color: var(--text-secondary);
  max-width: 42ch;
  font-size: 1.0625rem;
  line-height: 1.6;
}

/* ===== Listing cards ===== */

.listing-card {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
  padding: var(--space-8);
  background: var(--surface-cream);
  border: 1px solid var(--border-subtle);
  border-radius: var(--media-radius, 0);
}

.listing-card-head {
  display: grid;
  gap: var(--space-1);
}

.listing-card-head .listing-portfolio-badge {
  justify-self: start;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-secondary);
  padding: 2px var(--space-2);
  border: 1px solid var(--border-subtle);
  border-radius: var(--button-radius, 0);
  margin-bottom: var(--space-2);
}

.listing-card-title {
  font-family: var(--font-display);
  font-size: clamp(1.25rem, 1.8vw, 1.6rem);
  font-weight: 600;
  line-height: 1.2;
  color: var(--text-primary);
  margin: 0;
}

.listing-card-body {
  display: grid;
  gap: var(--space-4);
  flex: 1;
  min-width: 0;
}

.listing-planmix {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-6);
  min-width: 0;
  margin: 0;
}

.listing-planmix > div {
  display: flex;
  flex-wrap: wrap;
  min-width: 0;
  gap: var(--space-1);
  font-size: 0.875rem;
}

.listing-planmix dt {
  color: var(--text-secondary);
  font-weight: 500;
  white-space: nowrap;
}

.listing-planmix dd {
  min-width: 0;
  color: var(--text-primary);
  font-weight: 600;
  margin: 0;
  overflow-wrap: anywhere;
}

.listing-card-summary {
  color: var(--text-secondary);
  font-size: 0.9375rem;
  line-height: 1.55;
  margin: 0;
}

.listing-card-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding-top: var(--space-4);
  border-top: 1px solid var(--border-subtle);
}

.listing-availability {
  font-family: var(--font-mono);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.listing-availability-available {
  color: var(--accent);
}

.listing-availability-waitlist {
  color: var(--text-secondary);
}

@media (max-width: 768px) {
  .listings-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .listings-page .listings-main {
    width: min(var(--max), calc(100% - var(--space-6)));
  }
}

@media (max-width: 640px) {
  .listing-card {
    padding: var(--space-6);
  }

  .listing-card-foot {
    flex-direction: column;
    align-items: stretch;
  }

  .listing-card-foot .button {
    text-align: center;
  }
}

/* ===================== Inquiry form (/apply/) ===================== */

.apply-inquiry-section {
  width: min(var(--max), calc(100% - var(--space-8)));
  margin: 0 auto;
  padding: var(--space-16) 0;
  border-bottom: 1px solid var(--border-subtle);
}

.apply-inquiry-inner {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
  gap: var(--space-16);
  align-items: start;
}

.apply-inquiry-intro h2 {
  font-family: var(--font-display);
  font-size: clamp(1.5rem, 2.5vw, 2.4rem);
  font-weight: 600;
  line-height: 1.15;
  margin: 0 0 var(--space-4);
  max-width: 14ch;
}

.apply-inquiry-intro p:not(.section-kicker) {
  color: var(--text-secondary);
  font-size: 1.0625rem;
  line-height: 1.6;
  max-width: 36ch;
}

.apply-inquiry-form {
  display: grid;
  gap: var(--space-6);
}

.form-field {
  display: grid;
  gap: var(--space-2);
}

.form-field-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
}

.form-field label {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-secondary);
}

.form-optional {
  font-weight: 400;
  text-transform: none;
  letter-spacing: 0;
  color: var(--text-secondary);
  opacity: 0.7;
}

.form-field input,
.form-field select,
.form-field textarea {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: var(--space-3) var(--space-4);
  font-family: var(--font-sans);
  font-size: 1rem;
  color: var(--text-primary);
  background: var(--surface-warm, #FAF8F3);
  border: 1px solid var(--border-subtle);
  border-radius: var(--button-radius, 0);
  outline: none;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
  -webkit-appearance: none;
  appearance: none;
}

.form-field select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%236E6258' stroke-width='1.5' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right var(--space-4) center;
  padding-right: var(--space-10);
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus {
  border-color: var(--accent-terracotta);
  box-shadow: 0 0 0 1px var(--accent-terracotta);
}

.form-field textarea {
  resize: vertical;
  min-height: 4.5rem;
}

.form-actions {
  display: flex;
}

.form-actions .button {
  min-width: 180px;
}

.form-status {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.5;
  padding: 0;
  min-height: 1.4em;
}

.form-status[data-tone="error"] {
  color: var(--accent-terracotta);
  font-weight: 500;
}

.form-status[data-tone="success"] {
  color: var(--accent-sage);
  font-weight: 500;
}

.form-status[data-tone="pending"] {
  color: var(--text-secondary);
}

@media (max-width: 800px) {
  .apply-inquiry-inner {
    grid-template-columns: 1fr;
    gap: var(--space-10);
  }

  .form-field-row {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }
}

.policy-section {
  grid-template-columns: minmax(0, 0.9fr) minmax(360px, 0.7fr);
  gap: var(--space-8);
  align-items: stretch;
}

.policy-content {
  display: grid;
  gap: var(--space-8);
  align-content: start;
}

.policy-stack {
  gap: var(--space-3);
}

.policy-stack li {
  align-items: start;
  padding: var(--space-5);
  background: color-mix(in srgb, var(--surface-stone) 24%, var(--surface-warm));
  border: 1px solid color-mix(in srgb, var(--border) 76%, transparent);
  border-radius: var(--radius);
}

.policy-mark {
  color: color-mix(in srgb, var(--text-secondary) 78%, var(--accent));
  font-family: var(--headline-font);
  font-size: 2.15rem;
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 0.9;
}

.policy-media {
  position: relative;
  min-height: 100%;
  margin: 0;
  overflow: hidden;
  background: var(--surface-stone);
}

.policy-media picture,
.policy-media img {
  display: block;
  width: 100%;
  height: 100%;
}

.policy-media img {
  object-fit: cover;
  object-position: 46% center;
}

.policy-media figcaption {
  position: absolute;
  right: var(--space-4);
  bottom: var(--space-4);
  max-width: calc(100% - var(--space-8));
  padding: var(--space-2) var(--space-3);
  color: var(--text-inverse);
  background: color-mix(in srgb, var(--panel-ink) 78%, transparent);
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.72rem;
  line-height: 1.4;
}

.location-offer {
  grid-template-columns: minmax(0, 0.52fr) minmax(480px, 0.86fr);
  gap: var(--space-8);
  align-items: stretch;
}

.location-tool {
  min-height: 520px;
  align-content: stretch;
}

.location-tool #zena-map {
  height: 100%;
  min-height: 520px;
}

.location-offer > .location-anchor-board {
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  min-height: 0;
  padding: 0;
  overflow: visible;
  background: transparent;
  border: 0;
}

.location-offer > .location-anchor-board::before {
  display: none;
}

.location-offer .location-anchor {
  grid-template-columns: 1fr;
  gap: var(--space-5);
  width: 100%;
  padding: var(--space-6);
  margin: 0;
  background: color-mix(in srgb, var(--surface-stone) 24%, var(--surface-warm));
  border: 1px solid color-mix(in srgb, var(--border) 76%, transparent);
  border-radius: var(--radius);
}

.location-offer .location-anchor > span {
  display: block;
  width: auto;
  height: auto;
  padding-bottom: var(--space-4);
  color: color-mix(in srgb, var(--text-secondary) 78%, var(--accent));
  background: transparent;
  border-bottom: 1px solid color-mix(in srgb, var(--text-secondary) 34%, transparent);
  font-family: var(--headline-font);
  font-size: 2.75rem;
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 0.9;
}

.location-offer .location-anchor h3 {
  font-size: clamp(1.45rem, 2vw, 1.9rem);
}

.location-offer .location-anchor strong {
  color: var(--accent);
  font-family: var(--label-font, var(--font-mono));
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

@media (max-width: 1100px) {
  .location-offer {
    grid-template-columns: 1fr;
  }

  .location-offer > .location-anchor-board {
    grid-column: 1;
  }
}

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

  .policy-media {
    min-height: 420px;
  }
}

@media (max-width: 760px) {
  .location-offer > .location-anchor-board {
    grid-template-columns: 1fr;
    gap: var(--space-3);
  }

  .location-tool {
    height: 420px;
    min-height: 420px;
  }

  .location-tool #zena-map {
    height: 100%;
    min-height: 0;
  }

  .policy-media {
    min-height: 360px;
  }
}
