.contact-page .contact-main {
  width: min(calc(100% - 3rem), 72rem);
  margin-inline: auto;
  padding-block: clamp(8rem, 14vw, 12rem) 3.5rem;
}
.contact-page .contact-layout {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  align-items: start;
  gap: clamp(3rem, 8vw, 8rem);
}
.contact-options-heading {
  margin: 0 0 2rem;
  color: var(--catalog-muted);
  font-size: .75rem;
  letter-spacing: .12em;
}
.contact-intro h1 {
  margin: 0;
  font-family: 'AkolkhetiH', sans-serif;
  font-size: clamp(2.5rem, 4.7vw, 4.25rem);
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: -.035em;
}
.contact-intro h1 em { color: #fff; font-style: normal; }
.contact-signal { position: relative; width: 19rem; height: 10rem; margin-top: 2.5rem; overflow: hidden; }
.signal-orbit { position: absolute; box-sizing: border-box; border: 1px solid #ffffff18; border-radius: 50%; left: 0; top: 0; width: 18rem; height: 18rem; clip-path: inset(0 0 50% 0); }
.signal-orbit-inner { width: 11rem; height: 11rem; left: 3.5rem; top: 3.5rem; }
.signal-core { position: absolute; width: .55rem; height: .55rem; border-radius: 50%; background: #72bfe8; left: 8.75rem; top: 8.75rem; box-shadow: 0 0 24px #72bfe866; }
.signal-point { position: absolute; width: .4rem; height: .4rem; border-radius: 50%; background: #d40000; top: 2.3rem; left: 14.7rem; }
.signal-line { position: absolute; height: 1px; width: 18rem; background: #ffffff18; top: 9rem; left: 0; }
.signal-caption { position: absolute; top: 7.5rem; left: 0; font-size: .5rem; letter-spacing: .15em; color: #929ba7; }
.contact-options { min-width: 0; }
.contact-options-heading { margin-bottom: 1.25rem; }
.contact-page .contact-row {
  display: grid;
  grid-template-columns: 1.5rem minmax(0, 1fr);
  align-items: center;
  gap: 1.25rem;
  padding: 1.45rem 0;
  border-bottom: 1px solid var(--catalog-border);
  color: var(--catalog-text);
  text-decoration: none;
  transition: color 180ms ease;
}
.contact-page .contact-row:last-child { border-bottom: 0; }
.contact-row-icon { width: 1.4rem; height: 1.4rem; fill: currentColor; }
.contact-row-copy { display: grid; gap: .5rem; }
.contact-row-label { font-size: 1.125rem; font-weight: 500; }
.contact-row-detail { color: var(--catalog-muted); font-size: .78rem; line-height: 1.6; }
.contact-page .contact-row:hover { color: var(--catalog-blue); }
.contact-page a:focus-visible { outline: 2px solid var(--catalog-blue); outline-offset: 5px; }
/* The shared decoder may populate this span; preserve the action label. */
.contact-options .lazy-email-text { display: none; }
/* Match the homepage's inherited typography and global spacing reset locally. */
.contact-page .main-footer { font-family: "Times New Roman", serif; color: #fff; text-rendering: optimizeLegibility; }
.contact-page .footer-column-title { margin-top: 0; }
.contact-page .footer-list { margin: 0; padding: 0; }
.contact-message { margin-top: 4rem; padding-top: 2rem; }
.contact-message h2 { margin: 0; font-family: 'AkolkhetiH', sans-serif; font-size: 1.75rem; font-weight: 400; }
.contact-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; max-width: 48rem; margin-top: 2rem; }
.contact-field { display: grid; align-content: start; gap: .75rem; min-width: 0; }
.contact-field label { font-size: .9rem; line-height: 1.6; }
.contact-field label span { color: var(--catalog-muted); font-size: .78rem; }
.contact-field input, .contact-field textarea {
  width: 100%; min-width: 0; padding: .9rem 1rem;
  border: 1px solid var(--catalog-border); border-radius: 3px;
  background: #ffffff04; color: var(--catalog-text); font: inherit; font-size: 1rem; line-height: 1.6;
}
.contact-field textarea { resize: vertical; min-height: 10rem; }
.contact-field input:focus-visible, .contact-field textarea:focus-visible { outline: 2px solid var(--catalog-blue); outline-offset: 3px; }
.contact-field [aria-invalid="true"] { border-color: #f2a6a6; }
.contact-field-message { grid-column: 1 / -1; }
.contact-field-error { margin: 0; color: #f2a6a6; font-size: .8rem; line-height: 1.6; }
.contact-send { justify-self: start; min-height: 3rem; padding: .85rem 2rem; border: 1px solid var(--catalog-border); border-radius: 3px; background: #ffffff08; color: var(--catalog-muted); font: inherit; cursor: not-allowed; }
@media (max-width: 48rem) {
  .contact-page .contact-main { padding-top: 7.5rem; }
  .contact-page .contact-layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .contact-intro { display: contents; }
  .contact-intro h1 { grid-row: 1; font-size: clamp(2.5rem, 7vw, 3.75rem); }
  .contact-options { grid-row: 2; }
  .contact-signal { grid-row: 3; width: min(19rem, 100%); margin-top: 0; }
  .contact-message { margin-top: 2.5rem; }
  .contact-form { grid-template-columns: 1fr; }
  .contact-send { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .contact-page .contact-row { transition: none; }
}
