.contact-page {
  background: var(--color-charcoal-950);
}

.contact-page section {
  padding-block: var(--space-10);
}

.contact-hero {
  padding-block: var(--space-11) var(--space-10) !important;
}

.contact-hero__grid,
.contact-conversations__grid,
.contact-preparation__grid,
.contact-closing__grid {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  column-gap: 1.25rem;
}

.contact-hero__copy {
  grid-column: 1 / span 8;
  min-width: 0;
}

.contact-hero__copy h1 {
  max-width: 11ch;
}

.contact-hero__intro {
  max-width: 42rem;
  color: var(--color-warm-cream-100);
}

.contact-hero__actions {
  display: flex;
  min-width: 0;
  flex-wrap: wrap;
  gap: var(--space-3);
}

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

.contact-hero__rulefield {
  grid-column: 9 / span 4;
  display: flex;
  min-width: 0;
  align-items: stretch;
  justify-content: flex-end;
  gap: var(--space-4);
  padding-block: var(--space-2);
}

.contact-hero__rulefield span {
  width: 1px;
  min-width: 1px;
  background: var(--color-copper-500);
  opacity: 0.7;
}

.contact-hero__rulefield span:nth-child(1) { height: 42%; }
.contact-hero__rulefield span:nth-child(2) { height: 74%; align-self: flex-end; }
.contact-hero__rulefield span:nth-child(3) { height: 26%; }

.contact-ledger__heading {
  max-width: 44rem;
  margin-block-end: var(--space-7);
}

.contact-ledger__heading p:not(.eyebrow) {
  max-width: 40rem;
  color: var(--color-warm-cream-100);
}

.contact-ledger__rows {
  border-block-start: var(--border-dark);
}

.contact-ledger__row {
  display: grid;
  min-width: 0;
  grid-template-columns: minmax(0, 2fr) minmax(0, 7fr) minmax(0, 3fr);
  gap: 1.25rem;
  align-items: start;
  padding-block: var(--space-6);
  border-block-end: var(--border-dark);
}

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

.contact-ledger__meta {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-2);
}

.contact-ledger__meta span,
.contact-tile__number,
.contact-stage__index,
.contact-prompt__index {
  color: var(--color-copper-300);
  font-size: var(--text-small);
  font-weight: 800;
  letter-spacing: var(--tracking-label);
  line-height: var(--leading-small);
}

.contact-ledger__meta p {
  margin: 0;
  color: var(--color-warm-cream-100);
  font-size: var(--text-small);
  font-weight: 700;
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}

.contact-ledger__detail h3 {
  margin-block-end: var(--space-3);
  overflow-wrap: anywhere;
}

.contact-ledger__detail h3 a {
  color: var(--color-warm-cream-050);
}

.contact-ledger__detail p {
  max-width: 40rem;
  margin-block-end: 0;
  color: var(--color-warm-cream-100);
}

.contact-ledger__action {
  display: flex;
  min-width: 0;
  justify-content: flex-end;
  padding-block-start: var(--space-2);
}

.contact-inline-action,
.contact-copy-button {
  min-height: 2.75rem;
  padding: 0.75rem 0;
  border: 0;
  background: transparent;
  color: var(--color-copper-300);
  font-size: var(--text-small);
  font-weight: 800;
  letter-spacing: var(--tracking-button);
  line-height: 1.2;
  text-decoration: underline;
  text-underline-offset: 0.3125rem;
  text-transform: uppercase;
}

.contact-copy-button {
  color: var(--color-warm-cream-050);
}

.contact-inline-action:hover,
.contact-copy-button:hover {
  color: var(--color-warm-cream-050);
  text-underline-offset: 0.4375rem;
}

.contact-conversations__intro {
  grid-column: 1 / span 6;
  min-width: 0;
  margin-block-end: var(--space-7);
}

.contact-conversations__intro p:not(.eyebrow) { max-width: 44rem; color: var(--color-warm-cream-100); }

.contact-conversations__tiles {
  grid-column: 1 / -1;
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1.25rem;
}

.contact-tile {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: var(--space-4);
  padding: var(--space-6);
  border: var(--border-dark);
  background: var(--color-charcoal-900);
  transition: border-color var(--transition-fast), background-color var(--transition-fast);
}

.contact-tile:hover { border-color: var(--color-copper-500); }
.contact-tile > * { min-width: 0; }
.contact-tile h3 { margin: 0; }
.contact-tile p:not(.contact-tile__number) { margin: 0; max-width: 31rem; color: var(--color-warm-cream-100); }
.contact-tile a { margin-top: auto; min-height: 2.75rem; display: inline-flex; align-items: center; }
.contact-tile--dining { grid-column: 1 / span 4; }
.contact-tile--after-dark { grid-column: 5 / span 4; background: var(--color-green-800); }
.contact-tile--lounge { grid-column: 1 / span 5; border-block-start: 2px solid var(--color-copper-500); background: var(--color-green-800); }
.contact-tile--gathering { grid-column: 6 / span 3; }

.contact-journey { border-block: var(--border-dark); }
.contact-journey__heading { max-width: 48rem; margin-block-end: var(--space-7); }
.contact-journey__heading p:not(.eyebrow) { max-width: 44rem; color: var(--color-warm-cream-100); }
.contact-journey__stages {
  display: grid;
  min-width: 0;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  position: relative;
}
.contact-stage { min-width: 0; padding: var(--space-6); border-block-start: 1px solid var(--color-copper-500); background: var(--color-charcoal-900); }
.contact-stage h3 { margin-block: var(--space-4) var(--space-3); }
.contact-stage p:not(.contact-stage__index) { max-width: 27rem; margin: 0; color: var(--color-warm-cream-100); }
.contact-stage--lounge { background: var(--color-green-800); }
.contact-stage__index { margin: 0; }
.contact-stage__index span { margin-inline-start: var(--space-2); }
.contact-journey__closing { max-width: 38rem; margin-block: var(--space-6) 0; color: var(--color-warm-cream-100); }

.contact-preparation__heading { grid-column: 1 / span 6; min-width: 0; }
.contact-preparation__heading p:not(.eyebrow) { max-width: 46rem; color: var(--color-warm-cream-100); }
.contact-preparation__prompts { grid-column: 3 / span 6; display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); }
.contact-prompt { display: grid; min-width: 0; grid-template-columns: minmax(0, 2fr) minmax(0, 10fr); gap: var(--space-4); padding-block-end: var(--space-5); border-block-end: var(--border-dark); }
.contact-prompt > * { min-width: 0; }
.contact-prompt__body h3 { margin-block-end: var(--space-3); }
.contact-prompt__body p { max-width: 48rem; margin: 0; color: var(--color-warm-cream-100); }
.contact-prompt__felt { display: inline; padding: 0.1em 0.25em; background: var(--color-green-800); color: var(--color-warm-cream-050); }
.contact-preparation__route { grid-column: 10 / span 3; align-self: end; min-width: 0; padding-block-start: var(--space-6); }
.contact-preparation__route a { display: block; min-height: 2.75rem; overflow-wrap: anywhere; }

.contact-closing { position: relative; }
.contact-closing__stack { grid-column: 4 / span 6; display: flex; min-width: 0; flex-direction: column; gap: var(--space-4); }
.contact-closing__stack > * { min-width: 0; }
.contact-closing__stack h2,
.contact-closing__stack p { margin: 0; }
.contact-closing__intro { max-width: 36rem; color: var(--color-warm-cream-100); }
.contact-closing__actions { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); margin-block-start: var(--space-3); }
.contact-closing__action { display: grid; min-width: 0; min-height: 3.5rem; grid-template-columns: minmax(5rem, 0.25fr) minmax(0, 1fr) auto; gap: var(--space-3); align-items: center; padding: var(--space-3) var(--space-4); border: var(--border-dark); color: var(--color-warm-cream-050); text-decoration: none; transition: border-color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast); }
.contact-closing__action:hover { border-color: var(--color-copper-300); background: rgb(244 235 221 / 8%); color: var(--color-warm-cream-050); text-decoration: none; transform: translateY(-2px); }
.contact-closing__action span { color: var(--color-copper-300); font-size: var(--text-small); font-weight: 800; letter-spacing: var(--tracking-label); text-transform: uppercase; }
.contact-closing__action strong { min-width: 0; overflow-wrap: anywhere; font-size: clamp(1.125rem, 1.7vw, 1.35rem); font-weight: 500; }
.contact-closing__action i { font-style: normal; }
.contact-closing__address { display: flex; min-width: 0; flex-direction: column; gap: var(--space-3); margin-block-start: var(--space-3); padding-block-start: var(--space-5); border-block-start: 1px solid var(--color-copper-500); }
.contact-closing__address p { color: var(--color-copper-300); font-size: var(--text-small); font-weight: 800; letter-spacing: var(--tracking-label); text-transform: uppercase; }
.contact-closing__address address { margin: 0; color: var(--color-warm-cream-050); font-family: var(--font-display); font-size: var(--text-h4); line-height: var(--leading-h4); }
.contact-copy-button--light { align-self: flex-start; color: var(--color-warm-cream-050); }
.contact-live { position: fixed; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }

@media (max-width: 980px) {
  .contact-conversations__tiles { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .contact-tile--dining { grid-column: 1 / span 4; }
  .contact-tile--after-dark { grid-column: 5 / span 4; }
  .contact-tile--lounge { grid-column: 1 / span 4; }
  .contact-tile--gathering { grid-column: 5 / span 4; }
}

@media (max-width: 900px) {
  .contact-page section { padding-block: var(--space-9); }
  .contact-hero { padding-block: var(--space-10) var(--space-9) !important; }
  .contact-hero__grid,
  .contact-conversations__grid,
  .contact-preparation__grid,
  .contact-closing__grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .contact-hero__copy { grid-column: 1 / span 7; }
  .contact-hero__rulefield { display: none; }
  .contact-ledger__row { grid-template-columns: minmax(0, 1fr) minmax(0, 6fr) minmax(0, 1fr); }
  .contact-ledger__action { grid-column: 2 / span 1; justify-content: flex-start; padding-block-start: 0; }
  .contact-journey__stages { grid-template-columns: repeat(8, minmax(0, 1fr)); }
  .contact-stage--dinner { grid-column: 1 / span 4; }
  .contact-stage--cocktails { grid-column: 5 / span 4; }
  .contact-stage--lounge { grid-column: 1 / -1; }
  .contact-preparation__heading { grid-column: 1 / span 6; margin-block-end: var(--space-6); }
  .contact-preparation__prompts { grid-column: 2 / span 6; }
  .contact-preparation__route { grid-column: 2 / span 6; justify-self: start; }
  .contact-closing__stack { grid-column: 2 / span 6; }
}

@media (max-width: 700px) {
  .contact-page section { padding-block: var(--space-8); }
  .contact-hero { padding-block: var(--space-9) var(--space-8) !important; }
  .contact-hero__grid,
  .contact-conversations__grid,
  .contact-preparation__grid,
  .contact-closing__grid { grid-template-columns: 1fr; row-gap: var(--space-5); }
  .contact-hero__copy,
  .contact-conversations__intro,
  .contact-preparation__heading,
  .contact-preparation__prompts,
  .contact-preparation__route,
  .contact-closing__stack { grid-column: 1; }
  .contact-hero__actions { flex-direction: column; align-items: stretch; }
  .contact-hero__actions > * { width: 100%; }
  .contact-ledger__heading { margin-block-end: var(--space-6); }
  .contact-ledger__row { grid-template-columns: 1fr; gap: var(--space-3); padding-block: var(--space-5); }
  .contact-ledger__action { grid-column: 1; justify-content: flex-start; }
  .contact-ledger__detail h3 { font-size: clamp(1.3rem, 7vw, 1.65rem); }
  .contact-conversations__intro { margin-block-end: var(--space-5); }
  .contact-conversations__tiles { grid-column: 1; grid-template-columns: 1fr; gap: var(--space-4); }
  .contact-tile--dining,
  .contact-tile--after-dark,
  .contact-tile--lounge,
  .contact-tile--gathering { grid-column: 1; }
  .contact-tile { padding: var(--space-5); }
  .contact-tile--lounge { padding-block: var(--space-6); }
  .contact-journey__heading { margin-block-end: var(--space-6); }
  .contact-journey__stages { grid-template-columns: 1fr; gap: var(--space-4); padding-inline-start: var(--space-5); border-inline-start: 1px solid var(--color-copper-500); }
  .contact-stage--dinner,
  .contact-stage--cocktails,
  .contact-stage--lounge { grid-column: 1; }
  .contact-stage { position: relative; padding: var(--space-5); }
  .contact-stage::before { position: absolute; left: calc(var(--space-5) * -1 - 1px); top: var(--space-5); width: var(--space-4); height: 1px; background: var(--color-copper-500); content: ""; }
  .contact-stage__index span { display: none; }
  .contact-preparation__heading { margin-block-end: 0; }
  .contact-preparation__prompts { gap: var(--space-5); }
  .contact-prompt { grid-template-columns: 1fr; gap: var(--space-3); }
  .contact-preparation__route { width: 100%; padding-block-start: 0; }
  .contact-preparation__route a { display: flex; align-items: center; min-height: 2.75rem; }
  .contact-closing__stack { gap: var(--space-4); }
  .contact-closing__action { grid-template-columns: 1fr auto; }
  .contact-closing__action span { grid-column: 1; }
  .contact-closing__action strong { grid-column: 1; grid-row: 2; }
  .contact-closing__action i { grid-column: 2; grid-row: 1 / span 2; }
}

@media (prefers-reduced-motion: reduce) {
  .contact-tile,
  .contact-closing__action { transition: none; }
}
