.contact-us-page { overflow: hidden; }
.contact-us-page a { text-decoration-thickness: 1px; }
.contact-us-page .contact-hero { position: relative; padding-block: clamp(var(--space-10), 10vw, var(--space-12)); background: var(--surface-page); }
.contact-us-page .contact-hero::before { position: absolute; inset: 0; opacity: .45; pointer-events: none; background: linear-gradient(120deg, transparent 20%, rgb(255 255 255 / .025) 45%, transparent 70%), radial-gradient(circle at 75% 20%, rgb(217 154 61 / .07), transparent 24%); content: ""; }
.contact-hero__grid { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: center; }
.contact-hero__copy { grid-column: 1 / span 5; min-width: 0; display: grid; gap: var(--space-4); }
.contact-hero__copy > * { margin: 0; }
.contact-hero__copy .lead { max-width: 56ch; }
.contact-hero__actions { margin-top: var(--space-2); }
.contact-hero__datum { grid-column: 6 / span 1; min-width: 0; align-self: end; display: grid; gap: var(--space-3); padding-bottom: var(--space-2); }
.contact-hero__datum > * { margin: 0; }
.contact-hero__datum p:last-child { max-width: 34ch; color: var(--text-secondary); font-size: var(--text-13); overflow-wrap: anywhere; }
.contact-hero__rule { width: 100%; height: 1px; background: var(--color-amber-400); }
.contact-hero__image { grid-column: 7 / span 6; min-width: 0; width: 100%; aspect-ratio: 16 / 10; box-shadow: var(--shadow-raised); }
.contact-hero__image img { height: 100%; object-fit: cover; }
.contact-shape__intro { width: 50%; min-width: 0; }
.contact-shape__intro .lead { max-width: 60ch; }
.contact-shape__panels { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); margin-top: var(--space-7); }
.contact-plan-panel { min-width: 0; display: grid; grid-template-rows: auto auto 1fr auto; gap: var(--space-4); padding: var(--space-5); border: 1px solid var(--border-subtle); background: var(--surface-panel); }
.contact-plan-panel > * { margin: 0; }
.contact-plan-panel__reference { color: var(--text-muted); font-family: var(--font-heading); font-size: var(--text-13); font-variant-numeric: tabular-nums; letter-spacing: .08em; }
.contact-plan-panel p:not(.contact-plan-panel__reference) { max-width: 36ch; color: var(--text-secondary); }
.contact-plan-panel--amber .contact-plan-panel__reference { padding-top: var(--space-2); border-top: 1px solid var(--color-amber-400); color: var(--color-amber-400); }
.contact-plan-panel--felt .contact-plan-panel__reference { color: var(--color-success-soft); }
.contact-plan-panel--felt { border-top-color: var(--color-felt-600); }
.contact-form-section { background: var(--surface-page); }
.contact-form-section__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: start; }
.contact-form-section__intro { grid-column: 1 / span 5; min-width: 0; }
.contact-form-section__intro .lead { max-width: 54ch; }
.contact-form-section__rail { grid-column: 11 / span 2; min-width: 0; margin: 0; padding-top: var(--space-2); text-align: right; }
.contact-request-form { grid-column: 3 / span 8; min-width: 0; display: grid; gap: var(--space-5); padding: var(--space-6); border: 1px solid var(--border-strong); background: var(--surface-panel); box-shadow: var(--shadow-card); }
.contact-request-form > * { margin: 0; }
.contact-request-form__rule { width: 100%; height: 1px; background: var(--color-amber-400); }
.contact-request-form__required { color: var(--text-secondary); font-size: var(--text-13); }
.contact-request-form__required span, .contact-field label > span[aria-hidden="true"] { color: var(--color-amber-400); }
.contact-request-form__fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); }
.contact-field { min-width: 0; display: grid; gap: var(--space-2); }
.contact-field > label, .contact-request-form__notes > label { margin: 0; font-family: var(--font-heading); font-size: var(--text-11); letter-spacing: .08em; text-transform: uppercase; }
.contact-field input, .contact-field select, .contact-request-form__notes textarea { min-width: 0; min-height: 3rem; background: var(--surface-raised); }
.contact-field--full { grid-column: 1 / -1; }
.contact-field small { color: var(--text-secondary); }
.contact-field__error { min-height: 1.1em; color: var(--color-amber-400); font-size: var(--text-13); line-height: var(--leading-compact); }
.contact-request-form__notes { display: grid; gap: var(--space-3); min-width: 0; }
.contact-request-form__notes > * { margin: 0; }
.contact-request-form__notes p { max-width: 68ch; color: var(--text-secondary); }
.contact-optional { color: var(--text-muted); font-size: var(--text-11); font-weight: 400; letter-spacing: 0; text-transform: lowercase; }
.contact-request-form__footer { display: flex; align-items: center; gap: var(--space-4); min-width: 0; }
.contact-request-form__footer > * { min-width: 0; margin: 0; }
.contact-request-form__footer .button { flex: 0 0 auto; }
.contact-request-form__handling { flex: 1 1 auto; color: var(--text-secondary); font-size: var(--text-13); }
.contact-request-form__status:empty { display: none; }
.contact-request-form__status { padding: var(--space-3) var(--space-4); border: 1px solid rgb(155 199 165 / .55); background: rgb(155 199 165 / .08); color: var(--color-success-soft); font-weight: 600; }
.contact-guidance { background: var(--surface-page); }
.contact-guidance__intro { width: 50%; min-width: 0; }
.contact-guidance__intro .lead { max-width: 56ch; }
.contact-timeline { display: grid; gap: 0; width: 75%; margin: var(--space-7) 0 0 8.333%; padding: 0; }
.contact-timeline__item { display: grid; grid-template-columns: minmax(4rem, 1fr) minmax(0, 7fr); gap: var(--space-5); min-width: 0; padding-block: var(--space-5); border-top: 1px solid var(--border-subtle); }
.contact-timeline__number { min-width: 0; color: var(--text-muted); font-family: var(--font-heading); font-size: var(--text-13); font-variant-numeric: tabular-nums; letter-spacing: .08em; }
.contact-timeline__copy { min-width: 0; }
.contact-timeline__copy h3 { margin-bottom: var(--space-3); }
.contact-timeline__copy p { max-width: 58ch; margin-bottom: 0; color: var(--text-secondary); }
.contact-timeline__item--felt { border-top-color: var(--color-felt-600); }
.contact-timeline__item--felt .contact-timeline__number { color: var(--color-success-soft); }
.contact-clarity { background: var(--surface-panel); }
.contact-clarity > .container > h2 { max-width: 16ch; }
.contact-clarity__panel { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; margin-top: var(--space-6); border: 1px solid var(--border-strong); }
.contact-clarity__statement { min-width: 0; display: grid; align-content: start; gap: var(--space-3); padding: var(--space-6); }
.contact-clarity__statement > * { margin: 0; }
.contact-clarity__statement p:last-child { max-width: 42ch; color: var(--text-secondary); }
.contact-clarity__statement--boundary { border-left: 1px solid var(--border-strong); background: var(--surface-raised); }
.contact-clarity__statement--boundary .meta { color: var(--color-amber-400); }
.contact-host { padding-block: clamp(var(--space-9), 8vw, var(--space-12)); background: var(--surface-page); }
.contact-host__intro { width: 41.666%; min-width: 0; }
.contact-host__intro .lead { max-width: 54ch; }
.contact-host__units { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); min-width: 0; margin-top: var(--space-7); border: 1px solid var(--border-strong); }
.contact-host__unit { min-width: 0; display: grid; align-content: start; gap: var(--space-3); padding: var(--space-6); }
.contact-host__unit > * { margin: 0; }
.contact-host__unit p:not(.meta) { max-width: 38ch; color: var(--text-secondary); }
.contact-host__unit--email { border-left: 1px solid var(--border-strong); background: var(--surface-raised); }
.contact-host__link { min-width: 0; min-height: 3rem; display: inline-flex; align-items: center; color: var(--text-primary); font-family: var(--font-heading); font-size: clamp(1.2rem, 2.4vw, 1.75rem); font-weight: 600; line-height: 1.2; overflow-wrap: anywhere; }
.contact-host__address { display: grid; grid-template-columns: minmax(10rem, .8fr) minmax(0, 4fr); gap: var(--space-4); min-width: 0; padding: var(--space-5) 0 0; border-top: 1px solid var(--border-subtle); }
.contact-host__address > * { margin: 0; }
.contact-host__address p { color: var(--text-secondary); }
.contact-find { background: var(--surface-panel); }
.contact-find__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--space-5); align-items: center; }
.contact-find__copy { grid-column: 1 / span 5; min-width: 0; }
.contact-find__copy h3 { margin-top: var(--space-6); margin-bottom: var(--space-3); }
.contact-find__address { max-width: 44ch; margin-bottom: var(--space-5); color: var(--text-primary); font-family: var(--font-heading); font-size: var(--text-24); font-weight: 600; line-height: var(--leading-heading-sm); }
.contact-find__copy > p:not(.contact-find__address) { max-width: 50ch; color: var(--text-secondary); }
.contact-find__note { margin-top: var(--space-5); padding-top: var(--space-4); border-top: 1px solid var(--border-subtle); }
.contact-find__image { grid-column: 7 / span 6; min-width: 0; width: 100%; aspect-ratio: 16 / 10; }
.contact-find__image img { width: 100%; height: 100%; object-fit: cover; }
.contact-after { padding-block: clamp(var(--space-8), 7vw, var(--space-10)); background: var(--surface-page); }
.contact-after__intro { width: 41.666%; min-width: 0; }
.contact-after__intro h2 { max-width: 15ch; }
.contact-after__rows { display: grid; gap: 0; width: 75%; margin: var(--space-6) 0 0 8.333%; padding: 0; border: 1px solid var(--border-subtle); background: var(--surface-panel); }
.contact-after__rows li { display: grid; grid-template-columns: 4rem minmax(10rem, 1.7fr) minmax(0, 3fr); gap: var(--space-4); min-width: 0; padding: var(--space-5); border-bottom: 1px solid var(--border-subtle); }
.contact-after__rows li:last-child { border-bottom: 0; }
.contact-after__rows li > span { grid-column: 1; min-width: 0; color: var(--color-success-soft); font-family: var(--font-heading); font-size: var(--text-24); font-variant-numeric: tabular-nums; }
.contact-after__rows li > div { grid-column: 2 / -1; min-width: 0; display: grid; grid-template-columns: minmax(10rem, 1fr) minmax(0, 2fr); gap: var(--space-4); }
.contact-after__rows h3, .contact-after__rows p { margin: 0; }
.contact-after__rows p { max-width: 58ch; color: var(--text-secondary); }
.contact-final { padding-top: var(--space-8); background: var(--surface-page); }
.contact-final__panel { display: flex; align-items: center; gap: var(--space-6); width: 66.666%; margin-inline: auto; padding: var(--space-6); border: 1px solid var(--border-strong); border-top-color: var(--color-amber-400); background: var(--surface-panel); }
.contact-final__copy { flex: 1 1 auto; min-width: 0; }
.contact-final__copy > * { margin: 0; }
.contact-final__copy { display: grid; gap: var(--space-3); }
.contact-final__copy p:last-child { max-width: 48ch; color: var(--text-secondary); }
.contact-final__panel .button { flex: 0 0 auto; }
.contact-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@media (max-width: 900px) {
  .contact-hero__grid, .contact-form-section__grid, .contact-find__grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .contact-hero__copy { grid-column: 1 / -1; }
  .contact-hero__datum { grid-column: 1 / -1; max-width: 34ch; }
  .contact-hero__image { grid-column: 1 / -1; }
  .contact-shape__intro, .contact-guidance__intro, .contact-host__intro, .contact-after__intro { width: 100%; }
  .contact-shape__panels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .contact-shape__panels > :last-child { grid-column: 1 / -1; }
  .contact-form-section__intro { grid-column: 1 / -1; }
  .contact-form-section__rail { display: none; }
  .contact-request-form { grid-column: 1 / -1; }
  .contact-timeline { width: 100%; margin-left: 0; }
  .contact-timeline__item { grid-template-columns: 1fr; gap: var(--space-2); }
  .contact-timeline__copy p { max-width: 58ch; }
  .contact-find__copy, .contact-find__image { grid-column: 1 / -1; }
  .contact-find__image { order: 2; }
  .contact-after__rows { width: 100%; margin-left: 0; }
  .contact-after__rows li { grid-template-columns: 3rem minmax(0, 1fr); }
  .contact-after__rows li > div { grid-template-columns: 1fr; gap: var(--space-2); }
  .contact-final__panel { width: 100%; }
}
@media (max-width: 760px) {
  .contact-clarity__panel, .contact-host__units { grid-template-columns: 1fr; }
  .contact-clarity__statement--boundary, .contact-host__unit--email { border-top: 1px solid var(--border-strong); border-left: 0; }
  .contact-host__address { grid-template-columns: 1fr; gap: var(--space-2); }
  .contact-final__panel { flex-direction: column; align-items: stretch; }
  .contact-final__panel .button { width: 100%; }
}
@media (max-width: 680px) {
  .contact-hero { padding-block: var(--space-9); }
  .contact-hero__grid, .contact-form-section__grid, .contact-find__grid { grid-template-columns: 1fr; gap: var(--space-5); }
  .contact-hero__copy, .contact-hero__datum, .contact-hero__image, .contact-form-section__intro, .contact-request-form, .contact-find__copy, .contact-find__image { grid-column: 1; }
  .contact-hero__copy h1 { font-size: clamp(2.375rem, 10vw, 2.625rem); }
  .contact-hero__actions { display: grid; grid-template-columns: 1fr; gap: var(--space-3); }
  .contact-hero__actions .button { width: 100%; }
  .contact-shape__panels { grid-template-columns: 1fr; }
  .contact-shape__panels > :last-child { grid-column: 1; }
  .contact-plan-panel, .contact-clarity__statement, .contact-host__unit, .contact-request-form, .contact-final__panel { padding: var(--space-5); }
  .contact-request-form__fields { grid-template-columns: 1fr; }
  .contact-field--full { grid-column: 1; }
  .contact-request-form__footer { flex-direction: column; align-items: stretch; }
  .contact-request-form__footer .button { width: 100%; }
  .contact-timeline__item { padding-block: var(--space-5); }
  .contact-find__image { aspect-ratio: 3 / 2; }
  .contact-after__rows li { grid-template-columns: 1fr; gap: var(--space-2); }
  .contact-after__rows li > span, .contact-after__rows li > div { grid-column: 1; }
  .contact-after__rows li { padding: var(--space-4); }
  .contact-host__link { font-size: 1.35rem; }
}
@media (prefers-reduced-motion: reduce) { .contact-us-page * { scroll-behavior: auto; } }

/* mobile-photo-center */
@media (max-width: 56.25rem) {
  img,
  video {
    object-position: center !important;
  }

  .image-frame,
  .media-frame,
  .card__media,
  [class*='__media'] {
    width: 100%;
    max-width: 100%;
    margin-inline: 0;
    justify-self: stretch;
    overflow: hidden;
  }

  .image-frame img,
  .media-frame img,
  .media-frame video,
  .card__media img,
  [class*='__media'] img,
  [class*='hero'] img,
  [class*='hero__image'] {
    width: 100%;
    height: 100%;
    max-width: none;
    min-width: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center !important;
  }
}
