/* Figma 53:429 — Contact page. */
.contact-page { --page-background: url('../../images/pages/contact/background.svg'); }
.contact-intro { min-height: calc(860 * var(--design-unit)); padding-bottom: calc(65.8 * var(--design-unit)); }
.contact-intro__copy, .contact-intro__address { max-width: calc(1030 * var(--design-unit)); }
.contact-intro__address { margin: calc(30.6 * var(--design-unit)) auto 0; color: var(--color-muted); font-style: normal; }
.contact-methods { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: calc(20 * var(--design-unit)) calc(30 * var(--design-unit)); padding-bottom: calc(140 * var(--design-unit)); }
.contact-methods__card { display: flex; align-items: center; min-width: 0; min-height: calc(100 * var(--design-unit)); padding: calc(20 * var(--design-unit)) calc(40 * var(--design-unit)); border-radius: calc(22 * var(--design-unit)); background: linear-gradient(rgba(50,37,87,.32),rgba(70,51,131,.32)); box-shadow: inset 0 1px 1px rgba(95,62,192,.32); backdrop-filter: blur(13px); }
.contact-methods__title { flex: 0 0 calc(200 * var(--design-unit)); color: #fff; font-size: calc(24 * var(--design-unit)); font-weight: 700; line-height: 1.6; }
.contact-methods__email { min-width: 0; color: var(--color-muted); font-size: calc(17 * var(--design-unit)); line-height: 1.8; }
.contact-methods__card:hover { background: linear-gradient(rgba(50,37,87,.52),rgba(70,51,131,.52)); }
.contact-methods__card:hover .contact-methods__email { color: #fff; }
.contact-methods__card:focus-visible { outline: 2px solid #bdabff; outline-offset: calc(4 * var(--design-unit)); }
.contact-methods__card:nth-child(3n + 2) { --reveal-delay: 90ms; }
.contact-methods__card:nth-child(3n) { --reveal-delay: 180ms; }
.contact-title--mobile { display: none; }

@media (max-width: 768px) {
  /* 390px mobile canvas; desktop imagery and geometry stay unchanged. */
  .contact-page .interior-banner { height: 5.4rem; }
  .contact-page .interior-banner picture { display: block; width: 100%; height: 100%; }
  .contact-page .interior-content {
    margin-top: -.6rem;
    background: linear-gradient(#100e19, #100e19) bottom center / 100% calc(100% - var(--banner-seam-height)) no-repeat;
    clip-path: none;
  }
  .contact-intro { min-height: 7.6rem; padding-top: 1.2rem; padding-bottom: .65rem; }
  .contact-intro .section-tag { min-height: .42rem; padding: .12rem .26rem; padding-right: calc(.26rem - .26em); font-size: .16rem; letter-spacing: .26em; }
  .contact-intro .interior-intro__title { margin-top: .38rem; font-size: .58rem; line-height: 1.2; letter-spacing: 0; }
  .contact-title--desktop { display: none; }
  .contact-title--mobile { display: inline; }
  .contact-intro__copy, .contact-intro__address { max-width: 100%; font-size: .17rem; line-height: 1.8; }
  .contact-intro__copy { margin-top: .4rem; }
  .contact-intro__address { margin-top: .306rem; }
  .contact-methods { grid-template-columns: 1fr; gap: .2rem; padding-bottom: .8rem; }
  .contact-methods__card { min-height: 1rem; padding: .2rem .2rem .2rem .4rem; border-radius: .22rem; }
  .contact-methods__title { flex-basis: 1rem; font-size: .24rem; }
  .contact-methods__email { font-size: .17rem; white-space: nowrap; }
  .contact-methods__card:focus-visible { outline-offset: .04rem; }
  .contact-page .footer { min-height: 2.4rem; padding: .45rem 0 calc(.45rem + env(safe-area-inset-bottom)); border-top-color: rgba(164,142,191,.12); }
  .contact-page .footer__inner { gap: .12rem; }
  .contact-page .footer__brand { margin-bottom: .26rem; }
}
