/* MEGA GOLF LAB — shared mobile edition for Chinese and English pages. */
@media (max-width: 980px) {
  html { scroll-padding-top: 88px; }
  body { overflow-x: hidden; }
  main[id], section[id] { scroll-margin-top: 88px; }

  .hero {
    min-height: 100svh;
    background: #06121e url("../images/mega-mobile-hero-cinematic-v1.jpg") center / cover no-repeat;
  }
  .hero::after {
    background:
      linear-gradient(180deg, rgba(0, 17, 34, .78) 0%, rgba(0, 18, 38, .32) 23%, rgba(2, 15, 28, .06) 52%, rgba(0, 9, 18, .91) 100%),
      linear-gradient(90deg, rgba(0, 18, 36, .42) 0%, transparent 64%);
  }
  .hero video { display: none; }
  .hero__nav {
    grid-template-columns: minmax(0, 1fr) auto;
    width: calc(100% - 32px);
    padding: 12px 0 0;
    border-bottom: 0;
  }
  .hero__actions {
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 6px;
  }
  .hero__lang {
    min-width: 44px;
    min-height: 44px;
    padding: 0 10px;
    border-color: rgba(255,255,255,.4);
    font-size: 10px;
    letter-spacing: .08em;
  }
  .brand {
    display: flex;
    align-items: center;
    min-width: 0;
    min-height: 44px;
    width: 108px;
    height: 46px;
    overflow: visible;
    font-size: 0;
  }
  .brand img {
    width: 108px;
    max-width: none;
    height: auto;
    margin: 0;
  }
  .hero__contact {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 0 13px;
    border: 1px solid rgba(255,255,255,.4);
    border-radius: 999px;
    font-size: 11px;
    letter-spacing: .08em;
    white-space: nowrap;
  }
  .hero__links {
    grid-column: 1 / -1;
    order: 3;
    display: flex;
    justify-content: flex-start;
    gap: 0;
    margin-top: 8px;
    overflow-x: auto;
    border-top: 1px solid rgba(255,255,255,.18);
    border-bottom: 1px solid rgba(255,255,255,.18);
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }
  .hero__links::-webkit-scrollbar,
  .release-side::-webkit-scrollbar,
  .club-blades::-webkit-scrollbar,
  .wear-visuals::-webkit-scrollbar,
  .athlete-lineup::-webkit-scrollbar { display: none; }
  .hero__links a {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    min-height: 44px;
    padding: 0 15px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .1em;
  }
  .hero__copy {
    left: 24px;
    right: 24px;
    bottom: 44px;
    width: auto;
    max-width: 420px;
  }
  .hero__wordmark { width: min(62vw, 245px); margin-bottom: 18px; }
  .hero__copy h1 { margin-bottom: 15px; }
  .hero__copy p:last-child { max-width: 330px; font-size: 13px; line-height: 1.62; }

  .story__copy { padding: 54px 24px 46px; }
  .story h2 { margin: 0 0 22px; }
  .story__body { font-size: 16px; line-height: 1.8; }
  .story__body p + p { margin-top: 18px; }
  .story__meta { margin-top: 30px; font-size: 12px; }
  .story__image { min-height: 52svh; max-height: 520px; }

  .releases { padding: 36px 20px 64px; }
  .release-headline { margin-top: 30px; }
  .release-headline span { margin-top: 12px; }
  .release-stage { gap: 14px; margin-top: 36px; }
  .release-main {
    height: min(128vw, 540px);
    min-height: 460px;
  }
  .release-main__copy { left: 20px; right: 18px; bottom: 20px; gap: 10px; }
  .release-main h3 { font-size: clamp(35px, 10.5vw, 47px); }
  .release-main p { max-width: 180px; font-size: 13px; line-height: 1.4; }
  .release-main .release-arrow.specular-link {
    width: 128px;
    height: 46px;
    padding: 0 13px 0 17px;
    font-size: 11px;
  }
  .release-side {
    display: grid;
    grid-template-rows: 330px;
    grid-auto-flow: column;
    grid-auto-columns: min(82vw, 340px);
    gap: 12px;
    height: auto;
    padding: 0 0 8px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }
  .release-side-card { height: 330px; scroll-snap-align: start; }
  .release-side-card__copy { left: 20px; right: 17px; bottom: 18px; gap: 8px; }
  .release-side-card h3 { font-size: 31px; }
  .release-side-card p { font-size: 13px; }
  .release-side-card .release-arrow.specular-link { width: 120px; height: 44px; padding: 0 12px 0 16px; font-size: 11px; }

  .umbrellas { min-height: auto; padding-bottom: 86px; }
  .umbrellas__topline { top: 34px; left: 24px; right: 24px; font-size: 12px; }
  .umbrellas__copy { padding: 105px 24px 0; }
  .umbrellas__copy::before { left: 16px; top: 137px; font-size: 92px; }
  .umbrellas__kicker { font-size: 12px; }
  .umbrellas h2 { margin-top: 48px; }
  .umbrellas__intro { margin-top: 22px; font-size: 16px; line-height: 1.75; }
  .umbrellas__specs { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 16px; margin-top: 26px; padding-top: 18px; }
  .umbrellas__specs b { font-size: 18px; }
  .umbrellas__specs small { font-size: 11px; line-height: 1.45; }
  .umbrellas__cta { min-height: 47px; margin-top: 22px; padding-top: 0; padding-bottom: 0; }
  .umbrella-stage {
    width: calc(100% - 32px);
    height: 470px;
    margin: 48px auto 90px;
  }
  .umbrella-stage__orbit { width: 125px; }
  .umbrella-card.is-primary { left: 0; width: 58%; height: 92%; }
  .umbrella-card.is-secondary { right: 0; width: 45%; height: 67%; }
  .umbrella-card::after { left: 12px; bottom: 12px; padding: 8px 10px; font-size: 8px; }
  .umbrella-choice { left: 24px; right: 24px; bottom: 18px; gap: 19px; overflow-x: auto; }
  .umbrella-choice button { min-height: 48px; padding: 9px 0; }
  .umbrella-choice button b { font-size: 20px; }
  .umbrella-choice button span { font-size: 12px; }

  .clubs { height: auto; min-height: 0; max-height: none; aspect-ratio: auto; padding: 38px 0 28px; }
  .clubs__copy {
    width: calc(100% - 32px);
    height: auto;
    min-height: 340px;
    margin: 0 16px 16px;
    padding: 26px;
  }
  .clubs__body { margin-top: 26px; }
  .clubs__eyebrow,
  .clubs__index { font-size: 12px; }
  .clubs__eyebrow { margin-bottom: 12px; }
  .clubs__copy h2 { font-size: clamp(43px, 12vw, 58px); }
  .clubs__rule { margin: 17px 0; }
  .clubs__note { display: block; font-size: 12px; line-height: 1.55; }
  .clubs__cta { min-height: 46px; margin-top: 19px; padding: 0; }
  .clubs__models { margin-top: 24px; padding-top: 18px; }
  .clubs__models span { font-size: 11px; }
  .clubs__origin { margin-top: 16px; font-size: 11px; }
  .club-blade__name small { font-size: 12px; }
  .club-blades {
    grid-auto-columns: 76vw;
    height: 470px;
    padding: 0 16px 12px;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
  }
  .mobile-scroll-indicator {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    align-items: center;
    gap: 12px;
    min-height: 34px;
    margin: 6px 24px 24px;
    color: #517080;
    font: 800 11px/1 Arial, sans-serif;
    letter-spacing: .12em;
  }
  .mobile-scroll-indicator[hidden] { display: none; }
  .mobile-scroll-indicator__count b { color: #078fd5; font-size: 13px; }
  .mobile-scroll-indicator__rail {
    position: relative;
    display: block;
    width: 100%;
    height: 4px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(7,67,96,.17);
  }
  .mobile-scroll-indicator__thumb {
    position: absolute;
    left: 0;
    top: 0;
    width: 32%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, #078fd5, #42cfff);
    box-shadow: 0 0 10px rgba(7,143,213,.3);
    transform: translate3d(0,0,0);
    will-change: transform;
  }
  .clubs .mobile-scroll-indicator {
    margin-top: 9px;
    color: rgba(255,255,255,.48);
  }
  .clubs .mobile-scroll-indicator__rail { background: rgba(134,216,255,.18); }
  .clubs .mobile-scroll-indicator__count b { color: #86d8ff; }
  .wear .mobile-scroll-indicator,
  .athletes .mobile-scroll-indicator { margin-top: 8px; }
  .athletes__rule { display: none; }

  .wear { min-height: auto; padding: 38px 0 26px; }
  .wear__topline { left: 24px; right: 24px; top: 20px; }
  .wear__copy { width: auto; height: auto; margin: 0 24px 26px; }
  .wear h2 { margin-top: 0; }
  .wear__lead { width: auto; max-width: 520px; margin-top: 19px; font-size: 15px; line-height: 1.75; }
  .wear__type-specs b { font-size: 12px; }
  .wear__type-specs small { font-size: 13px; line-height: 1.5; }
  .wear__cta { width: min(100%, 280px); min-height: 46px; margin-top: 19px; padding-bottom: 0; }
  .wear__type-specs { position: relative; inset: auto; margin-top: 30px; }
  .wear__type-specs span { min-height: 65px; padding-top: 13px; padding-bottom: 12px; }
  .wear-visuals {
    grid-auto-columns: min(76vw, 310px);
    align-items: start;
    height: auto;
    padding: 0 24px 12px;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
  }
  .wear-shot,
  .wear-shot--face,
  .wear-shot--shoulder,
  .wear-shot--total,
  .wear-shot--sleeve,
  .wear-shot--glove {
    height: auto;
    aspect-ratio: 3 / 4;
    background: linear-gradient(145deg, #fff, #edf7fb);
  }
  .wear-shot img,
  .wear-shot--face img,
  .wear-shot--shoulder img,
  .wear-shot--total img,
  .wear-shot--sleeve img,
  .wear-shot--glove img {
    object-fit: contain;
    object-position: center;
  }

  .athletes { min-height: auto; padding: 46px 0 24px; }
  .athletes__head { width: calc(100% - 40px); }
  .athletes__head > div::after {
    left: 42px;
    right: auto;
    top: 50px;
    color: rgba(10,116,216,.055);
    font-size: clamp(78px, 24vw, 100px);
    line-height: .78;
    letter-spacing: -.1em;
    transform: scaleX(.76);
    transform-origin: left top;
  }
  .athletes__eyebrow { font-size: 12px; }
  .athletes__intro { margin-top: 20px; font-size: 15px; line-height: 1.75; }
  .athletes__intro strong { font-size: 12px; }
  .athletes__intro span { line-height: 1.75; }
  .athlete-lineup {
    grid-template-columns: repeat(6, minmax(270px, 76vw));
    height: 535px;
    margin-top: 28px;
    padding: 0 20px 12px;
    scrollbar-width: none;
    overscroll-behavior-inline: contain;
  }
  .athlete-card,
  .athlete-card:nth-child(2),
  .athlete-card:nth-child(4),
  .athlete-card.is-featured { height: 505px; }
  .athlete-card__caption strong,
  .athlete-card.is-featured .athlete-card__caption strong { font-size: 21px; }
  .athlete-card__caption small,
  .athlete-card__badge,
  .athlete-card__index { font-size: 12px; }
  .athletes__rule { width: calc(100% - 40px); }

  .contact-panel { padding: 12px; }
  .contact-panel__inner { min-height: 1110px; }
  .contact-panel__visual { height: 360px; background-position: center; }
  .contact-panel__inner::after { background: linear-gradient(180deg, transparent 0 28%, rgba(243,248,250,.8) 34%, #f3f8fa 38%); }
  .contact-panel__copy { top: 388px; left: 20px; right: 20px; }
  .contact-panel h2 .c-quiet { font-size: 24px; }
  .contact-panel h2 .c-logo { width: min(75vw, 320px); }
  .contact-panel h2 .c-together { margin-left: 0; font-size: clamp(28px, 8vw, 36px); }
  .contact-panel__copy > p { margin-top: 20px; padding-top: 14px; font-size: 13px; line-height: 1.65; }
  .contact-panel__links {
    left: 20px;
    right: 20px;
    top: 690px;
    width: auto;
    gap: 8px;
  }

  .contact-panel__links a { min-height: 108px; padding: 15px; }
  .contact-panel__links .contact-panel__primary { min-height: 118px; }
  .contact-action__title { font-size: 16px; }
  .contact-action__eyebrow { font-size: 11px; }
  .contact-action__meta { font-size: 12px; }
  .contact-panel__links .contact-panel__back { min-height: 44px; padding-top: 0; align-items: center; }
  .footer { left: 20px; bottom: 20px; font-size: 11px; }
}

/* Six-athlete lineup: keep Bow's full portrait balanced inside the narrow card. */
.athlete-card--bow img { object-position: 50% 13%; }

/* Desktop UV copy panel: connect headline, coverage map and 365 signature. */
@media (min-width: 981px) {
  .wear__copy {
    height: 88%;
  }

  .wear__copy::after {
    content: "COVERAGE";
    position: absolute;
    z-index: -1;
    left: -1%;
    bottom: -1%;
    color: rgba(7,143,213,.025);
    font: 900 clamp(68px, 6.2vw, 112px)/.78 "Arial Narrow", Arial, sans-serif;
    letter-spacing: -.065em;
    transform: scaleX(.78);
    transform-origin: left bottom;
    -webkit-text-stroke: 1px rgba(7,143,213,.18);
    pointer-events: none;
  }

  .wear__type-specs {
    top: 39%;
    bottom: auto;
    border-color: rgba(6,35,59,.2);
    background: linear-gradient(135deg, rgba(255,255,255,.5), rgba(210,239,252,.3));
    box-shadow: 0 22px 60px rgba(26,83,111,.07);
  }

  .wear__type-specs > span,
  .wear__type-specs > .wear__type-link {
    min-height: 88px;
  }

  .wear__type-specs > span {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding-top: 17px;
    padding-bottom: 17px;
    border-bottom: 1px solid rgba(6,35,59,.12);
  }

  .wear__type-specs > span:nth-child(5) { border-bottom: 0; }
  .wear__type-specs > .wear__type-link { border-bottom: 0; }
  .wear__type-specs b { font-size: 11px; }
  .wear__type-specs small { font-size: 11px; line-height: 1.35; }
}

/* Desktop athlete wall: one baseline, with an expanding focus card. */
@media (min-width: 981px) {
  .athletes__head > div::after {
    left: clamp(210px, 15vw, 270px);
    top: -20px;
    color: rgba(10,116,216,.065);
    font-size: clamp(150px, 13.5vw, 230px);
    line-height: .78;
    letter-spacing: -.085em;
    transform: scaleX(.82);
  }

  .athletes { min-height: 1000px; }

  .athlete-lineup {
    display: flex;
    align-items: flex-end;
    gap: clamp(8px, .75vw, 14px);
    height: 900px;
  }

  .athlete-card,
  .athlete-card:nth-child(2),
  .athlete-card:nth-child(4),
  .athlete-card.is-featured {
    flex: 1 1 0;
    min-width: 0;
    height: 620px;
    filter: saturate(.88) contrast(.98);
    border-color: rgba(7,29,51,.13);
    box-shadow: 0 24px 70px rgba(12,43,70,.11);
    will-change: flex-grow, height;
    transition:
      flex-grow .64s cubic-bezier(.22, 1, .36, 1),
      height .64s cubic-bezier(.22, 1, .36, 1),
      filter .48s cubic-bezier(.22, .8, .24, 1),
      box-shadow .48s cubic-bezier(.22, .8, .24, 1),
      opacity .48s cubic-bezier(.22, .8, .24, 1);
  }

  body.motion-enabled .athlete-lineup .athlete-card,
  body.motion-enabled .athlete-lineup .athlete-card:nth-child(2),
  body.motion-enabled .athlete-lineup .athlete-card:nth-child(4),
  body.motion-enabled .athlete-lineup .athlete-card.is-featured {
    transition:
      flex-grow .64s cubic-bezier(.22, 1, .36, 1),
      height .64s cubic-bezier(.22, 1, .36, 1),
      filter .48s cubic-bezier(.22, .8, .24, 1),
      box-shadow .48s cubic-bezier(.22, .8, .24, 1),
      opacity .48s cubic-bezier(.22, .8, .24, 1),
      transform .58s cubic-bezier(.22, .72, .25, 1);
    transition-delay: 0s;
  }

  .athlete-lineup.has-athlete-focus .athlete-card:not(.is-athlete-focus) {
    flex-grow: .82;
    opacity: .78;
    filter: saturate(.66) contrast(.96);
  }

  .athlete-lineup .athlete-card.is-athlete-focus {
    z-index: 6;
    flex-grow: 1.78;
    height: 760px;
    transform: none;
    opacity: 1;
    filter: saturate(1) contrast(1);
    border-color: rgba(10,116,216,.42);
    box-shadow: 0 34px 90px rgba(7,54,94,.22);
  }

  .athlete-card.is-featured .athlete-card__caption,
  .athlete-card__caption {
    left: 24px;
    bottom: 22px;
  }

  .athlete-card.is-featured .athlete-card__caption strong,
  .athlete-card__caption strong {
    font-size: clamp(15px, 1.12vw, 21px);
    transition: font-size .5s cubic-bezier(.16, 1, .3, 1);
  }

  .athlete-card.is-athlete-focus .athlete-card__caption strong,
  .athlete-card.is-featured.is-athlete-focus .athlete-card__caption strong {
    font-size: clamp(21px, 1.5vw, 28px);
  }
}

@media (min-width: 981px) and (prefers-reduced-motion: reduce) {
  .athlete-card,
  .athlete-card:nth-child(2),
  .athlete-card:nth-child(4),
  .athlete-card.is-featured,
  .athlete-card__caption strong {
    transition-duration: .01ms !important;
  }
}

/* Shared desktop/mobile umbrella title accent. */
.umbrellas h2 .u-accent,
.umbrellas h2 .u-accent .u-dot { color: #0787cf; }

/* UV collection CTA: slim directional rail instead of the old circle arrow. */
.wear__cta i {
  position: relative;
  display: block;
  flex: 0 0 50px;
  width: 50px;
  height: 28px;
  overflow: visible;
  border: 0;
  border-radius: 0;
  color: transparent;
  background: transparent;
  font-size: 0;
}

.wear__cta i::before {
  content: "";
  position: absolute;
  left: 7px;
  top: 50%;
  width: 34px;
  height: 1px;
  background: #078fd5;
  box-shadow: -7px 0 0 1px #078fd5;
  transform: translateY(-50%);
  transform-origin: right center;
  transition: width .32s cubic-bezier(.2,.8,.2,1), transform .32s cubic-bezier(.2,.8,.2,1);
}

.wear__cta i::after {
  content: "";
  position: absolute;
  right: 7px;
  top: 50%;
  width: 8px;
  height: 8px;
  border-top: 1.5px solid #078fd5;
  border-right: 1.5px solid #078fd5;
  transform: translateY(-50%) rotate(45deg);
  transition: right .32s cubic-bezier(.2,.8,.2,1);
}

.wear__cta:hover i::before,
.wear__cta:focus-visible i::before { width: 41px; transform: translateY(-50%) translateX(2px); }
.wear__cta:hover i::after,
.wear__cta:focus-visible i::after { right: 1px; }

/* Complete the five product types with a sixth, action-led grid cell. */
.wear__type-specs .wear__type-link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: auto;
  min-width: 0;
  margin: 0;
  padding: 15px 8px 14px 16px;
  border: 0;
  border-bottom: 0;
  color: #06233b;
  background: linear-gradient(115deg, rgba(7,143,213,.1), rgba(7,143,213,.025));
  font-size: inherit;
  transition: background .3s ease, color .3s ease;
}

.wear__type-specs .wear__type-link::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 3px;
  height: 100%;
  background: #078fd5;
  transform: scaleY(.28);
  transform-origin: bottom;
  transition: transform .32s cubic-bezier(.2,.8,.2,1);
}

.wear__type-specs .wear__type-link span {
  min-width: 0;
  padding: 0;
  border: 0;
}
.wear__type-specs .wear__type-link b {
  display: block;
  color: #078fd5;
  font: 800 10px/1 Arial, sans-serif;
  letter-spacing: .18em;
}
.wear__type-specs .wear__type-link small {
  display: block;
  margin-top: 8px;
  color: #496270;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .04em;
}
.wear__type-specs .wear__type-link i { flex-basis: 42px; width: 42px; }
.wear__type-specs .wear__type-link:hover,
.wear__type-specs .wear__type-link:focus-visible { background: rgba(7,143,213,.15); }
.wear__type-specs .wear__type-link:hover::before,
.wear__type-specs .wear__type-link:focus-visible::before { transform: scaleY(1); }

@media (max-width: 980px) {
  .wear__type-specs .wear__type-link { padding: 15px 8px 14px 16px; }
  .wear__type-specs .wear__type-link b { font-size: 12px; }
  .wear__type-specs .wear__type-link small { font-size: 13px; line-height: 1.5; }
}

@media (max-width: 480px) {
  .hero__links a { padding: 0 12px; }
  .release-main__copy { align-items: flex-end; }
  .release-main .release-arrow.specular-link { width: 112px; }
  .release-side-card .release-arrow.specular-link { width: 108px; }
  .specular-link__arrow { font-size: 17px; }
  .umbrellas__cta-index,
  .umbrellas__cta-label { font-size: 11px; }
  .clubs__models { gap: 7px; }
  .clubs__models span { font-size: 11px; }
  .contact-panel__links { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .contact-action__eyebrow { font-size: 11px; }
  .contact-action__title { font-size: 15px; }
}

@media (min-width: 600px) and (max-width: 980px) {
  .release-side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: 340px;
    grid-auto-flow: row;
    grid-auto-columns: auto;
    width: 100%;
    overflow: visible;
  }
  .release-side-card { width: 100%; height: 340px; }
}

@media (min-width: 981px) {
  .brand {
    display: flex;
    align-items: center;
    width: 112px;
    font-size: 0;
  }
  .brand img {
    width: 112px;
    height: auto;
  }
  .mobile-scroll-indicator { display: none; }
}

@media (max-width: 980px) and (hover: none) {
  .release-main:hover img,
  .release-side-card:hover img,
  .umbrella-card.is-secondary:hover,
  .wear-shot:hover img,
  .athlete-card:hover,
  .athlete-card:hover img { transform: none; }
}

@media (max-width: 980px) {
  html[lang="en"] .story__body { font-size: 16px; line-height: 1.8; }
  html[lang="en"] .umbrellas__intro { font-size: 16px; line-height: 1.75; }
  html[lang="en"] .hero__links a { padding-inline: 13px; }
  html[lang="en"] .release-main h3 { font-size: clamp(36px, 10vw, 45px); }
  html[lang="en"] .release-main p { max-width: 155px; }
  html[lang="en"] .umbrellas__specs small { font-size: 11px; letter-spacing: .04em; }
  html[lang="en"] .wear__type-specs small { font-size: 12px; letter-spacing: .02em; }
  html[lang="en"] .clubs__copy h2 { font-size: clamp(45px, 12.5vw, 60px); }
  html[lang="en"] .wear h2 { font-size: clamp(39px, 10.5vw, 52px); }
  html[lang="en"] .athletes h2 { font-size: clamp(38px, 10vw, 48px); }
  html[lang="en"] .contact-panel h2 .c-together { font-size: clamp(28px, 8vw, 36px); }
  html[lang="en"] .contact-action__title { font-size: 15px; }
}
