.contact-us-page {
  overflow: hidden;
}

.contact-us-page .contact-us-hero__grid,
.contact-us-page .contact-us-dining__grid,
.contact-us-page .contact-us-location__grid {
  display: grid;
  grid-template-columns: minmax(460px, 5fr) minmax(0, 7fr);
  align-items: center;
  gap: var(--space-7);
}

.contact-us-page .contact-us-hero__copy,
.contact-us-page .contact-us-dining__copy,
.contact-us-page .contact-us-location__copy,
.contact-us-page .contact-us-hero__media,
.contact-us-page .contact-us-dining__media,
.contact-us-page .contact-us-location__media {
  min-width: 0;
  width: 100%;
}

.contact-us-page .contact-us-hero__copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-5);
}

.contact-us-page .contact-us-hero__copy > * { margin: 0; }
.contact-us-page .contact-us-hero__copy h1 { max-width: 12ch; font-size: var(--text-hero); }
.contact-us-page .contact-us-hero__copy h1 span { color: var(--color-brass); }
.contact-us-page .contact-us-hero__copy .lead { max-width: 60ch; }
.contact-us-page .contact-us-hero__media { align-self: end; margin-top: var(--space-5); }
.contact-us-page .contact-us-hero__media img { width: 100%; height: min(42vw, 38rem); object-fit: cover; object-position: 72% center; }

.contact-us-page .contact-us-hero__actions {
  display: flex;
  min-width: 0;
  gap: var(--space-3);
  flex-wrap: wrap;
}
.contact-us-page .contact-us-hero__actions > * { min-width: 0; }
.contact-us-page .contact-us-hero__microcopy { max-width: 54ch; color: var(--color-dim-text); font-size: var(--text-label); }

.contact-us-page .contact-us-intents__heading,
.contact-us-page .contact-us-format__heading,
.contact-us-page .contact-us-checklist__heading,
.contact-us-page .contact-us-direct__intro {
  max-width: 620px;
}
.contact-us-page .contact-us-intents__heading p:last-child,
.contact-us-page .contact-us-checklist__heading p:last-child,
.contact-us-page .contact-us-direct__intro p:last-child { max-width: 60ch; }

.contact-us-page .contact-us-intents__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-5);
  margin-top: var(--space-7);
}
.contact-us-page .contact-us-intent-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-6);
  border: var(--border-brass-muted);
  background: var(--surface-panel);
  box-shadow: var(--shadow-panel);
  transition: transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base);
}
.contact-us-page .contact-us-intent-card > * { min-width: 0; margin: 0; }
.contact-us-page .contact-us-intent-card p { max-width: 52ch; }
.contact-us-page .contact-us-intent-card:hover { border-color: var(--color-brass); box-shadow: var(--shadow-panel-hover); transform: translateY(-2px); }
.contact-us-page .contact-us-intent-card.is-selected { box-shadow: inset 3px 0 0 var(--color-felt-green), var(--shadow-panel); }
.contact-us-page .contact-us-intent-card__top { display: flex; min-width: 0; justify-content: space-between; align-items: center; gap: var(--space-3); }
.contact-us-page .contact-us-intent-card__number { color: var(--color-brass); font-family: var(--font-heading); font-size: 2.5rem; line-height: 1; }
.contact-us-page .contact-us-select-visit { width: fit-content; min-width: 0; min-height: 2.75rem; margin-top: auto; padding: 0; border: 0; background: transparent; color: var(--color-brass-bright); font-weight: 700; text-align: left; text-decoration: underline; text-underline-offset: .2em; }

.contact-us-page .contact-us-form-frame {
  width: min(100%, 920px);
  margin-inline: auto;
  padding: 2.5rem;
  border: var(--border-brass);
  background: var(--surface-section);
  box-shadow: var(--shadow-panel);
}
.contact-us-page .contact-us-form__intro { max-width: 620px; }
.contact-us-page .contact-us-form__intro p:last-child { max-width: 62ch; }
.contact-us-page .contact-us-form { display: flex; min-width: 0; flex-direction: column; gap: var(--space-5); }
.contact-us-page .contact-us-form__summary:empty,
.contact-us-page .contact-us-form__status:empty { display: none; }
.contact-us-page .contact-us-form__summary { padding: var(--space-4); border-left: 3px solid var(--color-error); background: rgba(212,119,104,.1); color: var(--color-white); }
.contact-us-page .contact-us-form__fieldset { min-width: 0; margin: 0; padding: var(--space-5); background: var(--surface-inset); }
.contact-us-page .contact-us-form__fieldset--poker { border-color: rgba(78,118,93,.9); }
.contact-us-page .contact-us-form__fieldset--poker legend { color: #b7d1bd; }
.contact-us-page .contact-us-field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); }
.contact-us-page .contact-us-field-grid > * { min-width: 0; width: 100%; }
.contact-us-page .contact-us-field-grid__full { grid-column: 1 / -1; }
.contact-us-page .contact-us-form .form-group { margin: 0; }
.contact-us-page .contact-us-form label { width: 100%; }
.contact-us-page .contact-us-form__optional { color: var(--color-dim-text); font-weight: 400; }
.contact-us-page .contact-us-form .form-hint { max-width: 50ch; }
.contact-us-page .contact-us-form .form-error { min-height: 1.35em; }
.contact-us-page .contact-us-form__notes { min-width: 0; width: 100%; }
.contact-us-page .contact-us-form__notes .form-hint { max-width: 50ch; }
.contact-us-page .contact-us-form__action { display: flex; min-width: 0; flex-direction: column; align-items: flex-start; gap: var(--space-3); }
.contact-us-page .contact-us-form__action > * { min-width: 0; margin: 0; }
.contact-us-page .contact-us-form__action p { max-width: 62ch; font-size: var(--text-label); }
.contact-us-page .contact-us-form__status { max-width: 62ch; color: #b7d1bd; font-weight: 700; }
.contact-us-page .contact-us-form .has-error input,
.contact-us-page .contact-us-form .has-error select { border-color: var(--color-error); }

.contact-us-page .contact-us-format__heading { max-width: 640px; }
.contact-us-page .contact-us-format__heading .lead { max-width: 60ch; }
.contact-us-page .contact-us-format__rows { display: flex; min-width: 0; flex-direction: column; margin-top: var(--space-7); }
.contact-us-page .contact-us-format-row { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 7fr); min-width: 0; gap: var(--space-5); padding-block: var(--space-6); border-top: var(--border-brass-muted); }
.contact-us-page .contact-us-format-row > * { min-width: 0; }
.contact-us-page .contact-us-format-row__rail { display: flex; flex-direction: column; gap: var(--space-2); color: var(--color-brass); }
.contact-us-page .contact-us-format-row__rail span { font-family: var(--font-heading); font-size: 3.25rem; line-height: .9; }
.contact-us-page .contact-us-format-row__rail small { color: #b7d1bd; font-weight: 700; letter-spacing: var(--tracking-meta); text-transform: uppercase; }
.contact-us-page .contact-us-format-row__copy { max-width: 650px; }
.contact-us-page .contact-us-format-row__copy p { max-width: 65ch; }

.contact-us-page .contact-us-dining__copy { max-width: 500px; }
.contact-us-page .contact-us-dining__rule { width: 5rem; height: 1px; margin-bottom: var(--space-5); background: var(--color-copper); }
.contact-us-page .contact-us-text-action { display: inline-flex; min-height: 2.75rem; align-items: center; font-weight: 700; }
.contact-us-page .contact-us-dining__note { max-width: 50ch; margin-top: var(--space-5); padding: var(--space-5); border: var(--border-brass-muted); background: var(--surface-inset); }
.contact-us-page .contact-us-dining__note p { margin: 0; }
.contact-us-page .contact-us-dining__media img { width: 100%; height: min(48vw, 42rem); object-fit: cover; object-position: center; }

.contact-us-page .contact-us-checklist__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-7); }
.contact-us-page .contact-us-checklist__tile { min-width: 0; padding: var(--space-6); border: var(--border-brass-muted); background: var(--surface-panel); }
.contact-us-page .contact-us-checklist__tile > *:last-child { margin-bottom: 0; }
.contact-us-page .contact-us-checklist__tile p { max-width: 48ch; }
.contact-us-page .contact-us-checklist__marker { display: inline-flex; min-width: 2.5rem; min-height: 1.75rem; align-items: center; border-bottom: 2px solid var(--color-brass); color: var(--color-brass-bright); font-size: var(--text-meta); font-weight: 800; letter-spacing: var(--tracking-meta); }
.contact-us-page .contact-us-checklist__marker--green { border-color: var(--color-felt-green); color: #b7d1bd; }
.contact-us-page .contact-us-checklist__marker--copper { border-color: var(--color-copper); color: #e2a581; }
.contact-us-page .contact-us-checklist__tile a { display: inline-flex; min-height: 2.75rem; align-items: center; }

.contact-us-page .contact-us-direct__panel { padding: var(--space-7); border: var(--border-brass); background: var(--surface-panel); box-shadow: var(--shadow-panel); }
.contact-us-page .contact-us-direct__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-5); margin-top: var(--space-6); }
.contact-us-page .contact-us-contact-block,
.contact-us-page .contact-us-address-strip { min-width: 0; padding: var(--space-5); border: var(--border-brass-muted); background: var(--surface-inset); }
.contact-us-page .contact-us-contact-block > *:last-child,
.contact-us-page .contact-us-address-strip > *:last-child { margin-bottom: 0; }
.contact-us-page .contact-us-contact-block p:not(.contact-us-contact-block__label) { max-width: 48ch; }
.contact-us-page .contact-us-contact-block__label { color: var(--color-brass); font-size: var(--text-meta); font-weight: 800; letter-spacing: var(--tracking-meta); text-transform: uppercase; }
.contact-us-page .contact-us-contact-block__value { display: inline-flex; min-height: 2.75rem; align-items: center; max-width: 100%; color: var(--color-brass-bright); font-size: clamp(1.125rem, 2vw, 1.4rem); font-weight: 700; overflow-wrap: anywhere; }
.contact-us-page .contact-us-contact-block__value--email { color: var(--color-white); }
.contact-us-page .contact-us-address-strip { grid-column: 1 / -1; }
.contact-us-page .contact-us-address-strip p { max-width: 60ch; }
.contact-us-page .contact-us-address-strip address { color: var(--color-white); font-size: var(--text-lead); font-style: normal; line-height: var(--line-body); }

.contact-us-page .contact-us-location__grid { grid-template-columns: minmax(0, 7fr) minmax(400px, 5fr); }
.contact-us-page .contact-us-location__copy { max-width: 500px; justify-self: end; }
.contact-us-page .contact-us-location__copy > p:not(.eyebrow):not(.contact-us-location__address) { max-width: 56ch; }
.contact-us-page .contact-us-location__media img { width: 100%; height: min(47vw, 42rem); object-fit: cover; object-position: center; }
.contact-us-page .contact-us-location__address { color: var(--color-brass-bright); font-size: var(--text-lead); font-weight: 700; }
.contact-us-page .contact-us-location__note { max-width: 48ch; padding: var(--space-5); border: var(--border-brass-muted); background: var(--surface-inset); }
.contact-us-page .contact-us-location__note p { margin-bottom: var(--space-4); }

.contact-us-page .contact-us-close { padding-top: var(--space-9); padding-bottom: var(--space-10); }
.contact-us-page .contact-us-close__panel { display: flex; min-width: 0; flex-direction: column; align-items: center; gap: var(--space-5); width: min(100%, 760px); margin-inline: auto; padding: var(--space-7); border: var(--border-brass); background: var(--surface-section); box-shadow: var(--shadow-panel); text-align: center; }
.contact-us-page .contact-us-close__panel > * { min-width: 0; margin: 0; }
.contact-us-page .contact-us-close__panel > p:not(.eyebrow) { max-width: 54ch; }
.contact-us-page .contact-us-close__actions { display: flex; min-width: 0; flex-direction: column; align-items: center; gap: var(--space-3); }
.contact-us-page .contact-us-close__actions > * { min-width: 0; }
.contact-us-page .contact-us-close__actions a:last-child { display: inline-flex; min-height: 2.75rem; align-items: center; font-size: var(--text-label); }

@media (max-width: 980px) {
  .contact-us-page .contact-us-hero__grid,
  .contact-us-page .contact-us-dining__grid,
  .contact-us-page .contact-us-location__grid { gap: var(--space-6); }
  .contact-us-page .contact-us-intents__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-us-page .contact-us-intent-card:last-child { grid-column: auto; }
}

@media (max-width: 900px) {
  .contact-us-page .contact-us-hero__grid,
  .contact-us-page .contact-us-dining__grid,
  .contact-us-page .contact-us-location__grid { grid-template-columns: minmax(0, 1fr); }
  .contact-us-page .contact-us-hero__media,
  .contact-us-page .contact-us-dining__media,
  .contact-us-page .contact-us-location__media { grid-column: 1; }
  .contact-us-page .contact-us-dining__copy,
  .contact-us-page .contact-us-location__copy { max-width: 500px; justify-self: start; }
  .contact-us-page .contact-us-location__copy { grid-row: 1; }
  .contact-us-page .contact-us-location__media { grid-row: 2; }
  .contact-us-page .contact-us-format-row { grid-template-columns: minmax(0, 1fr); gap: var(--space-3); }
  .contact-us-page .contact-us-format-row__rail { flex-direction: row; align-items: baseline; }
}

@media (max-width: 820px) {
  .contact-us-page .contact-us-checklist__grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 760px) {
  .contact-us-page .contact-us-field-grid,
  .contact-us-page .contact-us-direct__grid { grid-template-columns: minmax(0, 1fr); }
  .contact-us-page .contact-us-field-grid__full,
  .contact-us-page .contact-us-address-strip { grid-column: 1; }
}

@media (max-width: 720px) {
  .contact-us-page .contact-us-hero__grid,
  .contact-us-page .contact-us-dining__grid,
  .contact-us-page .contact-us-location__grid { gap: var(--space-5); }
  .contact-us-page .contact-us-hero__copy { gap: var(--space-4); }
  .contact-us-page .contact-us-hero__copy h1 { max-width: 11ch; font-size: clamp(3rem, 13vw, 4.4rem); }
  .contact-us-page .contact-us-hero__copy .lead { font-size: var(--text-lead); }
  .contact-us-page .contact-us-hero__actions { width: 100%; flex-direction: column; }
  .contact-us-page .contact-us-hero__actions .button { width: 100%; }
  .contact-us-page .contact-us-hero__media { margin-top: 0; }
  .contact-us-page .contact-us-hero__media img,
  .contact-us-page .contact-us-dining__media img,
  .contact-us-page .contact-us-location__media img { height: auto; aspect-ratio: 4 / 3; }
  .contact-us-page .contact-us-intents__grid { grid-template-columns: minmax(0, 1fr); }
  .contact-us-page .contact-us-intent-card,
  .contact-us-page .contact-us-checklist__tile { padding: var(--space-5); }
  .contact-us-page .contact-us-form-frame,
  .contact-us-page .contact-us-direct__panel { padding: var(--space-5); }
  .contact-us-page .contact-us-form__fieldset { padding: var(--space-4); }
  .contact-us-page .contact-us-form__action .button { width: 100%; }
  .contact-us-page .contact-us-direct__grid { gap: var(--space-4); }
  .contact-us-page .contact-us-contact-block,
  .contact-us-page .contact-us-address-strip { padding: var(--space-4); }
  .contact-us-page .contact-us-close { padding-top: var(--space-8); padding-bottom: var(--space-8); }
  .contact-us-page .contact-us-close__panel { padding: var(--space-5); }
  .contact-us-page .contact-us-close__actions { width: 100%; }
  .contact-us-page .contact-us-close__actions .button { width: 100%; }
}
