.brand {
  display: block;
  width: 184px;
  line-height: 0;
}

.brand img {
  display: block;
  width: 100%;
  height: auto;
  filter: brightness(1.28) saturate(1.3) drop-shadow(0 3px 12px rgba(0,40,170,.34));
}

.hero-media {
  inset: 0 0 0 42%;
  background-image: url('assets/hero.webp');
  background-position: center 45%;
}

.hero-media::after,
.image-panel::after,
.photo::after,
.modality-card::after {
  content: '';
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255,255,255,.06);
  pointer-events: none;
}

.intro-visual {
  background-image: url('assets/coach-talk.webp');
  background-position: center 42%;
}

.card-crossfit {
  background-image: url('assets/deadlift-woman.webp');
  background-position: center 48%;
}

.card-hyrox {
  background-image: url('assets/run.webp');
  background-position: center 40%;
}

.card-kettlebell {
  background-image: url('assets/kettlebell.webp');
  background-position: center 40%;
}

.card-gymnastics {
  background-image: url('assets/rings.webp');
  background-position: center 42%;
}

.card-lpo {
  background-image: url('assets/barbell-man.webp');
  background-position: center 46%;
}

.photo-1 {
  background-image: url('assets/smile-row.webp');
  background-position: center 40%;
}

.photo-2 {
  background-image: url('assets/plate-woman.webp');
  background-position: center 38%;
}

.photo-3 {
  background-image: url('assets/plate-man.webp');
  background-position: center 42%;
}

.photo-4 {
  background-image: url('assets/bike.webp');
  background-position: center 44%;
}

.first-class-media {
  background-image: url('assets/floor-mobility.webp');
  background-position: center 47%;
}

.hero-lead {
  margin-bottom: 1rem;
}

.hero-offer {
  display: grid;
  grid-template-columns: 1fr 1.35fr;
  width: min(100%, 650px);
  margin: 0 0 1.15rem;
  border: 1px solid rgba(255,255,255,.28);
  background: rgba(5,8,15,.72);
  backdrop-filter: blur(8px);
}

.offer-card {
  display: flex;
  flex-direction: column;
  padding: .7rem 1.1rem;
}

.offer-card + .offer-card {
  border-left: 1px solid rgba(255,255,255,.22);
}

.offer-card span,
.offer-card p {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .1em;
}

.offer-card strong {
  color: #fff;
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 2.4rem;
  line-height: .95;
}

.offer-card small {
  font-size: .42em;
  margin-left: .3rem;
}

.offer-card p {
  margin: 0;
  margin-top: .42rem;
  color: #c5ccd9;
  letter-spacing: .03em;
}

.offer-card p b {
  color: #ff5a1f;
  font-size: 1.08rem;
}

.offer-trial strong {
  font-size: 1.85rem;
}

.modality-grid {
  grid-template-columns: repeat(6, 1fr);
}

.modality-card {
  grid-column: span 2;
}

.modality-card:nth-child(4) {
  grid-column: 2 / span 2;
}

.modality-card:nth-child(5) {
  grid-column: 4 / span 2;
}

.credentials {
  display: grid;
  grid-template-columns: .8fr 1.2fr;
  gap: clamp(3rem, 7vw, 8rem);
  align-items: start;
  background: #0d1119;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.credential-grid {
  display: grid;
  gap: 0;
}

.credential-grid article {
  display: grid;
  grid-template-columns: 3.5rem minmax(170px, .8fr) 1fr;
  gap: 1.25rem;
  padding: 1.5rem 0;
  border-top: 1px solid rgba(255,255,255,.14);
  align-items: start;
}

.credential-grid span {
  color: #ff5a1f;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800;
}

.credential-grid strong {
  font-family: 'Barlow Condensed', sans-serif;
  font-size: 1.35rem;
  line-height: 1;
}

.credential-grid p {
  color: #aeb5c3;
  margin: 0;
}

.community-banner {
  min-height: min(82vh, 920px);
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: end;
  isolation: isolate;
}

.community-banner-media {
  position: absolute;
  inset: 0;
  background: url('assets/community.webp') center 43% / cover no-repeat;
  z-index: -2;
}

.community-banner::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(2,3,7,.96), rgba(2,3,7,.05) 65%);
  z-index: -1;
}

.community-banner-copy {
  width: 100%;
  padding: clamp(2rem, 7vw, 7rem);
}

.community-banner-copy h2 {
  max-width: 1000px;
}

.community-banner-copy em {
  color: #ff5a1f;
  font-style: normal;
}

.plans {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(3rem, 8vw, 9rem);
  align-items: center;
  background: #082c91;
}

.plan-copy h2 {
  margin-bottom: 1.25rem;
}

.plan-copy h2 strong {
  color: #fff;
  font-size: 1.18em;
}

.plan-copy h2 small {
  font-size: .3em;
  margin-left: .4rem;
}

.plan-copy > p:not(.eyebrow) {
  max-width: 620px;
  font-size: 1.1rem;
  margin-bottom: 2rem;
}

.plan-benefits {
  display: grid;
  grid-template-columns: 1fr 1fr;
}

.plan-benefits span {
  min-height: 110px;
  display: flex;
  align-items: end;
  padding: 1.25rem;
  border: 1px solid rgba(255,255,255,.2);
  margin: 0 -1px -1px 0;
  font-family: 'Barlow Condensed', sans-serif;
  font-weight: 800;
  font-size: 1.35rem;
  text-transform: uppercase;
}

.plan-benefits span:last-child {
  grid-column: 1 / -1;
}

.whatsapp-float {
  position: fixed;
  right: 1.35rem;
  bottom: 1.35rem;
  z-index: 125;
  display: inline-flex;
  align-items: center;
  gap: .55rem;
  min-height: 52px;
  padding: .75rem 1rem .75rem .85rem;
  border-radius: 999px;
  background: #20c76a;
  color: #06150c;
  box-shadow: 0 12px 30px rgba(0,0,0,.3), 0 0 0 3px rgba(32,199,106,.15);
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .04em;
  transition: transform .2s, box-shadow .2s;
}

.whatsapp-float:hover {
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(0,0,0,.36), 0 0 0 5px rgba(32,199,106,.18);
}

.whatsapp-float span {
  display: grid;
  place-items: center;
  width: 28px;
  height: 28px;
  border: 2px solid #06150c;
  border-radius: 50%;
  font-size: 1rem;
  line-height: 1;
}

.footer-brand {
  width: 160px;
}

@media (max-width: 900px) {
  .brand { width: 152px; }
  .hero-media {
    inset: 0;
    background-position: center 35%;
  }

  .modality-grid {
    grid-template-columns: 1fr;
  }

  .modality-card,
  .modality-card:nth-child(4),
  .modality-card:nth-child(5) {
    grid-column: auto;
  }

  .credentials,
  .plans {
    grid-template-columns: 1fr;
  }

  .credential-grid article {
    grid-template-columns: 2.5rem 1fr;
  }

  .credential-grid article p {
    grid-column: 2;
  }

  .community-banner {
    min-height: 690px;
  }

  .community-banner-media {
    background-position: center 45%;
  }

  .hero-offer {
    width: 100%;
  }

  .offer-card strong {
    font-size: 2rem;
  }

  .offer-trial strong {
    font-size: 1.7rem;
  }
}

@media (max-width: 520px) {
  .brand { width: 138px; }

  .offer-card span,
  .offer-card p {
    font-size: .68rem;
  }

  .offer-card {
    padding: .65rem .75rem;
  }

  .hero-offer {
    grid-template-columns: 1fr;
  }

  .offer-card + .offer-card {
    border-top: 1px solid rgba(255,255,255,.22);
    border-left: 0;
  }

  .whatsapp-float {
    right: .9rem;
    bottom: 4.65rem;
    min-height: 48px;
    padding: .65rem;
  }

  .whatsapp-float b {
    display: none;
  }
}
