.contact-hero .about-hero__copy {
  width: min(48%, 650px);
}

.contact-hero .about-hero__title {
  max-width: 13ch;
}

.contact-hero .about-hero__summary {
  max-width: 570px;
}

.contact-hero__actions {
  margin-top: 24px;
  pointer-events: auto;
}

.contact-hero__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 22px;
  border-radius: 999px;
  background: #fff;
  color: #17345c;
  font: 600 14px/1 'Manrope', sans-serif;
  text-decoration: none;
}

.contact-hero__actions a:hover {
  background: #e1e7f7;
}

.contact-hero-mobile-summary { display:none; }

@media (min-width: 1200px) {
  .contact-hero .about-hero__poster,
  .contact-hero .about-hero__video {
    width:100%;
    object-fit:contain;
    object-position:right center;
  }
  .contact-hero::after {
    background:linear-gradient(90deg, #070f2c 12%, rgba(7,15,44,.95) 26%, rgba(7,15,44,.5) 42%, transparent 62%);
  }
  .contact-hero .about-hero__description {
    max-width: 570px;
    white-space: normal;
  }
}

@media (max-width: 1199px) {
  .contact-hero .about-hero__media::after {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 90px;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg, #070f2c 0%, rgba(7, 15, 44, 0) 100%);
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  .contact-hero .about-hero__copy {
    width: 48%;
  }
  html.site-typography body .contact-hero h1[data-r="ct-hero-title"] { font-size:clamp(34px,4.4vw,52px) !important; }
  .contact-hero .about-hero__title strong { display:inline; }
  .contact-hero .about-hero__media {
    top:0;
    transform:translateX(8%);
  }

  .contact-hero .about-hero__poster,
  .contact-hero .about-hero__video {
    object-fit:contain;
    object-position:right center;
  }
  .contact-hero .about-hero__media::after { display:none; }
  .contact-hero::after {
    background:linear-gradient(90deg, #070f2c 26%, rgba(7,15,44,.85) 36%, rgba(7,15,44,.4) 48%, transparent 64%);
  }
  .contact-hero__actions { margin-top:18px; }
}

@media (max-width: 767px) {
  .contact-hero .about-hero__copy {
    width: 100%;
  }

  .contact-hero .about-hero__title {
    font-size: clamp(36px, 8.5vw, 44px) !important;
  }

  .contact-hero .about-hero__description {
    margin-top: 14px;
  }

  .contact-hero .about-hero__summary {
    display:none;
  }

  .contact-hero__actions {
    margin-top: 16px;
  }

  .contact-hero .about-hero__media {
    top:270px;
  }

  .contact-hero .about-hero__poster {
    width:auto;
    height:100%;
    left:50%;
    right:auto;
    transform:translateX(-68.2%);
    object-fit:contain;
  }

  .contact-hero .about-hero__media::after {
    inset:0;
    height:100%;
    background:linear-gradient(90deg, transparent 78%, #070f2c 100%);
  }

  .contact-hero::after {
    background:linear-gradient(180deg, #070f2c 0%, #070f2c 36%, rgba(7,15,44,.65) 44%, transparent 55%);
  }
  .contact-hero-mobile-summary { display:block; max-width:1440px; margin:0 auto; padding:24px clamp(20px,5vw,72px) 0; }
  .contact-hero-mobile-summary p { margin:0; color:#4d5b70; font:400 16px/1.65 'Manrope',sans-serif; }
}

/* Two balanced columns avoid splitting email and phone numbers on tablets. */
@media (min-width:768px) and (max-width:1199px) {
  [data-r="ct-grid"] { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  [data-r="ct-card"] { min-width:0; padding:24px !important; }
  [data-r="ct-card"]:last-child { grid-column:1 / -1; }
  [data-r="ct-card"] .ty-ctitle { white-space:nowrap !important; word-break:normal !important; }
}

/* Contact hero now uses the home avatar (mouse-follow video). Mobile: centre the character like the home page did. */
@media (max-width: 767px) {
  .contact-hero--avatar .about-hero__media { background: #070f2c; }
  .contact-hero--avatar .about-hero__poster {
    width: clamp(660px, 165vw, 720px);
    height: auto;
    max-width: none;
    left: 50%;
    right: auto;
    top: 25px;
    bottom: auto;
    /* The character is at 59.5% of the source artwork width. */
    transform: translateX(-59.5%);
    object-fit: contain;
  }
}
