/* Homepage refinements, loaded after the existing responsive styles. */
body .hero-copy .hero-value-summary {
  text-align:justify !important;
  text-align-last:left;
  text-justify:auto;
  word-spacing:normal;
}

/* Keep the top of the continuously scrolling list readable. */
body .hero-copy .sports-elevator-shell {
  -webkit-mask-image:linear-gradient(180deg,#000 0,#000 93%,transparent 100%) !important;
  mask-image:linear-gradient(180deg,#000 0,#000 93%,transparent 100%) !important;
}

/* Keep the desktop/tablet opening content compact and show three whole rows. */
@media (min-width:641px) and (min-height:501px), (min-width:1101px) {
  body .container.hero { padding-top:18px !important; }
  body .hero-grid { row-gap:18px !important; }
  body .hero-copy .hero-sports-elevator {
    height:auto !important;
    min-height:0 !important;
    padding:12px 14px !important;
  }
  body .hero-copy .sports-elevator-shell {
    flex:none !important;
    height:192px !important;
    min-height:192px !important;
    max-height:192px !important;
    -webkit-mask-image:none !important;
    mask-image:none !important;
  }
  body .hero-grid > .hero-trust-strip .trust-item { min-height:0 !important; padding:9px 12px !important; }
}
@media (min-width:641px) and (max-width:980px) and (min-height:501px) {
  body .hero-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; grid-template-rows:auto auto auto !important; }
  body .hero-copy { display:contents !important; }
  body .hero-message-stack { grid-column:1 / -1 !important; grid-row:1 !important; }
  body .hero-grid > .hero-visual-wrap { grid-column:1 / -1 !important; grid-row:2 !important; width:520px !important; max-width:100% !important; justify-self:center; }
  body .hero-visual-wrap .hero-card.hero-visual-card { width:100% !important; max-width:100% !important; height:300px !important; min-height:0 !important; }
  body .hero-visual-wrap .hero-profile-overlay { transform:scale(1) !important; }
  body .hero-copy .hero-sports-elevator { grid-column:1 !important; grid-row:3 !important; margin:0 !important; align-self:stretch; }
  body .hero-grid > .hero-trust-strip { grid-column:2 !important; grid-row:3 !important; margin:0 !important; }
  body .hero-copy .sports-elevator-head { flex-wrap:wrap; gap:6px; }
  body .hero-copy .sports-feature-status { display:none !important; }
  body .hero-copy .sports-feature-card { grid-template-columns:42px minmax(0,1fr) !important; }
  body .hero-grid > .hero-trust-strip .trust-icon { width:32px !important; min-width:32px !important; height:32px !important; }
  body .hero-grid > .hero-trust-strip .trust-copy strong { font-size:14px !important; }
  body .hero-grid > .hero-trust-strip .trust-copy span { font-size:12px !important; line-height:1.3 !important; }
}

/* Let the opening section fit its content on desktop and tablet. */
@media (min-width:641px) {
  body .container.hero { min-height:0; }
}

/* Keep a measured gap before the athlete search on wide layouts. */
@media (min-width:981px) and (min-height:501px), (min-width:1101px) {
  body .container.hero + .search-section { margin-top:48px !important; }
}

/* Compact the phone message panel without reducing type or tap targets. */
@media (max-width:640px), (orientation:landscape) and (max-height:500px) and (max-width:1100px) and (pointer:coarse) {
  body .hero-message-stack { padding-top:10px !important; padding-bottom:8px !important; }
  body .hero-supporting-headline {
    margin-top:8px !important;
    padding-top:5px !important;
    padding-bottom:5px !important;
  }
  body .hero-copy .hero-value-summary { margin-top:8px !important; line-height:1.38 !important; }
  body .hero-primary-actions { margin-top:10px !important; }
  body .hero-primary-actions .btn {
    position:relative;
    height:40px !important;
    min-height:40px !important;
    padding-top:6px !important;
    padding-bottom:6px !important;
  }
  /* Extend the clickable area two pixels above and below the visible button. */
  body .hero-primary-actions .btn::after {
    content:"";
    position:absolute;
    /* Absolute positioning starts inside the button's one-pixel border. */
    inset:-3px 0;
    border-radius:inherit;
  }
}
