.contact-page { background: #121212; }

.contact-hero { min-height: 1451px; padding: 0 48px 80px; background: #121212; color: #fff; }
.contact-hero-inner { max-width: 1180px; margin: 0 auto; padding-top: 342px; display: grid; grid-template-columns: 1fr 1fr; gap: 64px; align-items: start; }
.contact-copy { padding-top: 5px; }
.contact-copy h1 { margin: 0 0 29px; color: #cb0404; font-size: 28px; line-height: 1.1; }
.contact-copy h2 { max-width: 510px; margin: 0 0 26px; color: #fff; font-size: 55px; line-height: 1.1; text-wrap: normal; }
.contact-copy > p { margin: 0 0 25px; color: #fff; font-size: 17px; line-height: 1.9; }
.contact-points { list-style: none; margin: 0; padding: 0; }
.contact-points li { position: relative; margin: 0 0 19px; padding-left: 38px; font-size: 17px; line-height: 1.9; }
.contact-points li::before { content: '✓'; position: absolute; left: 0; top: -5px; color: #cb2b1d; font-family: Arial,sans-serif; font-size: 32px; font-weight: 800; transform: rotate(-10deg); }

.contact-form-card { padding: 32px; background: #fffbd5; color: #202020; }
.contact-form-card h3 { margin: 0 0 9px; font-family: 'Roboto Flex',sans-serif; font-size: 17px; font-weight: 700; line-height: 1.25; text-transform: none; }
.contact-form-card label { display: block; margin-bottom: 10px; }
.contact-form-card label > span:first-child:not(:only-child) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.contact-form-card input:not([type=checkbox]), .contact-form-card textarea, .contact-form-card select { box-sizing: border-box; width: 100%; border: 1px solid #e4e4e4; border-radius: 0; background: #fff; color: #333; font: 17px/1.4 'Roboto Flex',sans-serif; padding: 14px 16px; outline: none; }
.contact-form-card textarea { min-height: 164px; resize: vertical; }
.contact-form-card select { height: 52px; }
.contact-form-card .newsletter { position: relative; display: flex; align-items: flex-start; gap: 5px; margin: 5px 0 14px; font-size: 16px; line-height: 1.9; }
.contact-form-card .newsletter input { width: 15px; height: 15px; margin: 7px 0 0; flex: 0 0 auto; }
.contact-form-card .newsletter span { position: static !important; width: auto !important; height: auto !important; overflow: visible !important; clip: auto !important; }
.contact-form-submit-btn { width: 100%; min-height: 58px; border: 0; border-radius: 12px; background: #c92b18; color: #fff; font: 700 25px/1 'Bebas Neue',sans-serif; text-transform: uppercase; cursor: pointer; }

.contact-benefits { padding: 48px; background: #f2f2f2; }
.contact-benefits-inner { max-width: 1180px; margin: auto; display: grid; grid-template-columns: repeat(4,1fr); gap: 35px; }
.contact-benefit { display: flex; justify-content: center; align-items: center; gap: 16px; }
.benefit-icon { display: block; width: 58px; height: 58px; flex: 0 0 58px; object-fit: contain; }
.benefit-icon[src$="contact-benefit-one-on-one.svg"] { filter: brightness(0) saturate(100%) invert(13%) sepia(88%) saturate(3981%) hue-rotate(354deg) brightness(84%) contrast(111%); }
.contact-benefit strong { display: block; color: #121212; font: 700 38px/1.05 'Bebas Neue',sans-serif; white-space: nowrap; }
.contact-benefit p { margin: 5px 0 0; color: #333; font-size: 16px; line-height: 1.25; }

.contact-team { position: relative; min-height: 849px; padding: 80px 48px 70px; overflow: hidden; background: #121212 url('/assets/images/team-bg-golf.webp') center/cover no-repeat; color: #fff; }
.contact-team::before { content: ''; position: absolute; inset: 0; background: rgba(18,18,18,.94); }
.contact-team-inner { position: relative; z-index: 1; max-width: 1180px; margin: auto; }
.contact-team h2 { max-width: 680px; margin: 0 auto 26px; color: #fff; font-size: 55px; line-height: 1.1; text-align: center; }
.contact-team-lead { max-width: 600px; margin: 0 auto 36px; font-size: 17px; line-height: 1.9; text-align: center; }
.contact-team .carousel-track { gap: 32px; }
.contact-team .carousel-slide { flex: 0 0 calc((100% - 96px)/4); width: calc((100% - 96px)/4); }
.contact-team .team-card { display: block; min-height: 365px; padding: 25px 20px 22px; background: #fff; color: #121212; text-align: center; }
.contact-team .team-card-image, .contact-team .team-card-image img { width: 210px; height: 210px; margin: auto; border-radius: 50%; object-fit: cover; }
.contact-team .team-card-name { margin: 22px 0 8px; color: #121212; font-size: 32px; }
.contact-team .team-card-role { margin: 0; color: #333; font-size: 16px; line-height: 1.4; }
.contact-team .carousel-arrow { display: none; }
.contact-team .carousel-pagination { margin-top: 40px; }

.contact-sports { padding: 80px 48px 91px; background: #fff; }
.contact-sports-inner { max-width: 1110px; margin: auto; text-align: center; }
.contact-sports h2 { max-width: 680px; margin: 0 auto 27px; color: #121212; font-size: 55px; line-height: 1.1; }
.contact-sports-inner > p { max-width: 680px; margin: 0 auto 38px; color: #333; font-size: 17px; line-height: 1.9; }
.contact-sports-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 32px; }
.contact-sports-grid a { min-height: 181px; padding: 23px 14px 18px; background: #f2f2f2; color: #121212; text-decoration: none; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 15px; }
.contact-sports-grid img { display: block; width: 61px; height: 61px; object-fit: contain; }
.contact-sports-grid strong { font: 700 32px/1.1 'Bebas Neue',sans-serif; text-transform: uppercase; }

@media (max-width: 1024px) {
  .contact-hero { min-height: 0; padding: 0 48px 48px; }
  .contact-hero-inner { padding-top: 107px; grid-template-columns: 1fr; gap: 32px; }
  .contact-copy h1 { font-size: 26px; }
  .contact-copy h2 { max-width: 30rem; font-size: 42px; }
  .contact-benefits-inner { grid-template-columns: repeat(2,1fr); gap: 60px; }
  .contact-team { min-height: 0; padding: 64px 48px; }
  .contact-team h2, .contact-sports h2 { font-size: 42px; }
  .contact-team .carousel-slide { flex-basis: calc((100% - 32px)/2); width: calc((100% - 32px)/2); }
  .contact-sports { padding: 64px 48px; }
  .contact-sports-grid { grid-template-columns: repeat(3,1fr); gap: 20px; }
}

@media (max-width: 767px) {
  .contact-hero { padding: 0 24px 48px; }
  .contact-hero-inner { padding-top: 116px; gap: 32px; }
  .contact-copy h1 { margin-bottom: 23px; font-size: 20px; }
  .contact-copy h2 { max-width: 100%; margin-bottom: 23px; font-size: 36px; }
  .contact-copy > p, .contact-points li { font-size: 16px; line-height: 1.9; }
  .contact-points li { margin-bottom: 17px; }
  .contact-form-card { padding: 28px; }
  .contact-form-card h3 { font-size: 23px; }
  .contact-benefits { padding: 48px 24px; }
  .contact-benefits-inner { grid-template-columns: repeat(2,1fr); gap: 40px 20px; }
  .contact-benefit { flex-direction: column; gap: 9px; text-align: center; }
  .contact-benefit strong { font-size: 28px; }
  .contact-benefit p { font-size: 16px; }
  .contact-team { padding: 48px 24px; }
  .contact-team h2, .contact-sports h2 { font-size: 36px; }
  .contact-team-lead { font-size: 16px; }
  .contact-team .carousel-slide { flex-basis: 100%; width: 100%; }
  .contact-team .team-card-image, .contact-team .team-card-image img { width: 260px; height: 260px; }
  .contact-sports { padding: 48px 24px; }
  .contact-sports-inner > p { font-size: 16px; }
  .contact-sports-grid { grid-template-columns: repeat(2,1fr); gap: 20px; }
  .contact-sports-grid a { min-height: 175px; }
  .contact-sports-grid strong { font-size: 22px; }
}
