:root {
  --black: #111111;
  --black-2: #191919;
  --ink: #262626;
  --muted: #a7a7a7;
  --line: rgba(255, 255, 255, 0.22);
  --soft: #fafafa;
  --white: #ffffff;
  --red: #EF1C4A;
  --crays-red: #EF1C4A;
  --red-dark: #EF1C4A;
  --gold: #d8c67a;
  --pink: #EF1C4A;
  --cream: #eae1c8;
  --signal: #ffe300;
  --crays-blue: #0a3753;
  --container: 1170px;
  --header: 67px;
  --ease: cubic-bezier(.22, .61, .36, 1);
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* Compact the white association row so the image and copy read as one balanced block. */
@media (min-width: 768px) {
  .backgrounder-white.white-block .container.maxi-container.association-row {
    min-height: 390px !important;
    height: auto !important;
    align-items: center !important;
    margin-top: 42px !important;
    margin-bottom: 36px !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row > .col-md-5,
  .backgrounder-white.white-block .container.maxi-container.association-row > .col-md-7,
  .backgrounder-white.white-block .container.maxi-container.association-row .row-media {
    min-height: 390px !important;
    height: 390px !important;
    max-height: 390px !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .row-copy {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .limiter-feld {
    max-width: 560px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .regular-headline {
    margin-bottom: 22px !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .limiter-feld p {
    max-width: 490px !important;
    line-height: 1.62 !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .limiter-feld p + p,
  .backgrounder-white.white-block .container.maxi-container.association-row .limiter-feld .strong-lines {
    margin-top: 18px !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .spacing-feld {
    height: 26px !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .row-media img,
  .backgrounder-white.white-block .container.maxi-container.association-row .col-md-7 img {
    height: 390px !important;
    min-height: 390px !important;
    max-height: 390px !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}

/* Final layout pass: keep the association copy centered and protect people from being cropped. */
@media (min-width: 768px) {
  .backgrounder-white.white-block .container.maxi-container.association-row {
    min-height: 390px !important;
    height: auto !important;
    align-items: center !important;
    margin-top: 42px !important;
    margin-bottom: 36px !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .row-copy {
    min-height: 390px !important;
    height: 390px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 28px 24px !important;
    text-align: center !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .limiter-feld {
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .regular-headline,
  .backgrounder-white.white-block .container.maxi-container.association-row .limiter-feld p {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .regular-headline {
    margin-bottom: 22px !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .limiter-feld p {
    max-width: 500px !important;
    line-height: 1.62 !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .limiter-feld p + p,
  .backgrounder-white.white-block .container.maxi-container.association-row .limiter-feld .strong-lines {
    margin-top: 18px !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .spacing-feld {
    height: 26px !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .cursiv-feld {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    display: flex !important;
    justify-content: center !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .row-media,
  .backgrounder-white.white-block .container.maxi-container.association-row .col-md-7 {
    min-height: 390px !important;
    height: 390px !important;
    max-height: 390px !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .row-media img,
  .backgrounder-white.white-block .container.maxi-container.association-row .col-md-7 img {
    height: 390px !important;
    min-height: 390px !important;
    max-height: 390px !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}

.news-card img {
  object-fit: contain !important;
  object-position: center center !important;
  background: #181818 !important;
}

.label-recover img {
  object-position: center center !important;
}

/* Absolute last word for the dark story cards: original full cover frame, rounded corners. */
.newsfeed .news-cards .news-card .news-card-main > img {
  display: block !important;
  width: 425px !important;
  height: 495px !important;
  min-height: 495px !important;
  max-height: 495px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 15px !important;
  background: transparent !important;
}

/* Final visible menu overlay calibration: measured against the desktop reference and kept clear of the sticky opening bar. */
@media (min-width: 1024px) {
  body.menu-open {
    overflow: hidden !important;
  }

  body.menu-open .site-header {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    height: 154px !important;
    background: #fff !important;
    color: #111 !important;
    border-radius: 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, .12) !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    z-index: 10030 !important;
  }

  body.menu-open .fixed-header {
    position: relative !important;
    width: 100% !important;
    height: 154px !important;
    max-width: none !important;
  }

  body.menu-open .brand {
    position: fixed !important;
    left: 47px !important;
    top: 20px !important;
    width: 172px !important;
    height: 35px !important;
    z-index: 10050 !important;
  }

  body.menu-open .brand-logo-light {
    display: none !important;
  }

  body.menu-open .brand-logo-dark {
    display: block !important;
  }

  body.menu-open .brand-logo {
    width: 172px !important;
    max-height: 35px !important;
  }

  body.menu-open .header-nav {
    position: fixed !important;
    top: 14px !important;
    right: 55px !important;
    width: 482px !important;
    height: 47px !important;
    z-index: 10050 !important;
  }

  body.menu-open .search-trigger {
    position: absolute !important;
    left: -58px !important;
    top: 0 !important;
    width: 58px !important;
    height: 43px !important;
  }

  body.menu-open .search-trigger img {
    width: 30px !important;
    height: 30px !important;
    filter: brightness(0) !important;
  }

  body.menu-open .login-wrap {
    position: absolute !important;
    left: 20px !important;
    top: 0 !important;
    width: 126px !important;
    height: 40px !important;
  }

  body.menu-open .member-wrap {
    position: absolute !important;
    left: 168px !important;
    top: 0 !important;
    width: 200px !important;
    height: 40px !important;
  }

  body.menu-open .login-button,
  body.menu-open .member-button {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    padding: 0 40px 0 0 !important;
    border-radius: 5px !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 40px !important;
    font-weight: 700 !important;
    letter-spacing: 1.6px !important;
  }

  body.menu-open .login-button {
    background: #545454 !important;
    color: #fff !important;
  }

  body.menu-open .member-button {
    background: #fff !important;
    color: #111 !important;
  }

  body.menu-open .menu-trigger {
    position: absolute !important;
    left: 389px !important;
    top: -9px !important;
    width: 105px !important;
    height: 58px !important;
    color: #111 !important;
  }

  body.menu-open .menu-copy {
    top: 22px !important;
    left: 0 !important;
    width: 54px !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 1.55px !important;
    color: #111 !important;
  }

  body.menu-open .hamburger {
    top: 0 !important;
    right: 0 !important;
    width: 31px !important;
    height: 58px !important;
  }

  body.menu-open .hamburger::before,
  body.menu-open .hamburger::after,
  body.menu-open .hamburger span {
    left: 0 !important;
    right: auto !important;
    width: 31px !important;
    height: 1px !important;
    background: #111 !important;
  }

  body.menu-open .hamburger::before,
  body.menu-open .hamburger::after {
    top: 29px !important;
  }

  body.menu-open .hamburger::before {
    transform: rotate(45deg) !important;
  }

  body.menu-open .hamburger::after {
    transform: rotate(-45deg) !important;
  }

  body.menu-open .hamburger span {
    opacity: 0 !important;
  }

  body.menu-open .menu-overlay {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: hidden !important;
    background: #fff !important;
    color: #2b2b2b !important;
    z-index: 10010 !important;
  }

  body.menu-open .menu-overlay-bg {
    background: #fff !important;
  }

  body.menu-open .menu-overlay::before {
    content: "" !important;
    position: absolute !important;
    left: 194px !important;
    top: 113px !important;
    width: 690px !important;
    height: 690px !important;
    background: url("assets/crays-mark.svg") center/contain no-repeat !important;
    opacity: .035 !important;
    filter: grayscale(1) brightness(1.9) saturate(0) !important;
    pointer-events: none !important;
  }

  body.menu-open .menu-large {
    position: absolute !important;
    left: auto !important;
    right: 78px !important;
    top: 194px !important;
    width: 580px !important;
    height: 620px !important;
    min-height: 0 !important;
    padding: 55px 52px 34px !important;
    border-radius: 10px !important;
    background: #e9eef0 !important;
    color: #2c2c2c !important;
    z-index: 2 !important;
  }

  body.menu-open .menu-title {
    display: block !important;
    margin: 0 0 44px !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 13px !important;
    line-height: 15px !important;
    font-weight: 400 !important;
    letter-spacing: 4px !important;
    color: #000 !important;
  }

  body.menu-open .menu-large ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  body.menu-open .menu-large li {
    height: 55px !important;
    border-top: 1px solid rgba(0, 0, 0, .13) !important;
  }

  body.menu-open .menu-large li:last-child {
    border-bottom: 1px solid rgba(0, 0, 0, .13) !important;
  }

  body.menu-open .menu-large a,
  body.menu-open .menu-large button {
    width: 100% !important;
    height: 55px !important;
    min-height: 55px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    font-family: "Avenir Book", "Poppins", Arial, sans-serif !important;
    font-size: 50px !important;
    line-height: 55px !important;
    font-weight: 400 !important;
    letter-spacing: -2.2px !important;
    color: #2c2c2c !important;
    text-align: left !important;
    background: transparent !important;
    border: 0 !important;
  }

  body.menu-open .menu-large li:first-child button,
  body.menu-open .menu-large li:first-child a {
    font-family: "Avenir Heavy", "Poppins", Arial, sans-serif !important;
    font-weight: 900 !important;
    letter-spacing: -2.4px !important;
  }

  body.menu-open .menu-secondary {
    position: absolute !important;
    left: 52px !important;
    right: 52px !important;
    bottom: 32px !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px 54px !important;
    margin: 0 !important;
  }

  body.menu-open .menu-secondary a {
    min-height: 0 !important;
    height: 16px !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 16px !important;
    font-weight: 700 !important;
    letter-spacing: -.35px !important;
    color: #000 !important;
    white-space: nowrap !important;
  }

  body.menu-open .menu-small {
    position: absolute !important;
    left: 786px !important;
    top: 458px !important;
    width: 380px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #666 !important;
    display: block !important;
    z-index: 2 !important;
  }

  body.menu-open .menu-small a {
    width: 380px !important;
    height: 40px !important;
    padding: 0 0 0 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    border-top: 1px solid rgba(0, 0, 0, .14) !important;
    background: transparent !important;
    color: #6d6d6d !important;
    font-family: "Avenir Book", "Poppins", Arial, sans-serif !important;
    font-size: 28px !important;
    line-height: 40px !important;
    font-weight: 400 !important;
    letter-spacing: 2.2px !important;
    text-align: right !important;
    white-space: nowrap !important;
  }

  body.menu-open .menu-small a:last-child {
    border-bottom: 1px solid rgba(0, 0, 0, .14) !important;
  }

  body.menu-open .menu-actions {
    position: absolute !important;
    left: 718px !important;
    bottom: 162px !important;
    width: 98px !important;
    height: 16px !important;
    display: block !important;
    z-index: 2 !important;
  }

  body.menu-open .menu-action-dark {
    display: none !important;
  }

  body.menu-open .menu-action-light {
    width: auto !important;
    height: 16px !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #000 !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 16px !important;
    font-weight: 700 !important;
    letter-spacing: -.35px !important;
    text-align: left !important;
  }

  body.menu-open .menu-footer {
    position: absolute !important;
    left: 70px !important;
    right: auto !important;
    bottom: 132px !important;
    display: block !important;
    color: rgba(0, 0, 0, .62) !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 14px !important;
    font-weight: 700 !important;
    z-index: 2 !important;
  }

  body.menu-open .menu-footer nav,
  body.menu-open .privacy-link {
    display: none !important;
  }

  body.menu-open .hero-help {
    right: 25px !important;
    bottom: 132px !important;
    width: 207px !important;
    height: 48px !important;
    border-radius: 5px !important;
    z-index: 10060 !important;
  }
}

/* Final sticky-safe menu pass: keep every overlay element above the fixed opening bar. */
@media (min-width: 1024px) {
  body.menu-open {
    overflow: hidden !important;
  }

  body.menu-open .menu-overlay {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    min-height: 100vh !important;
    overflow: hidden !important;
    background: #fff !important;
    color: #2c2c2c !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 10010 !important;
  }

  body.menu-open .site-header {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    height: 154px !important;
    background: #fff !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    z-index: 10050 !important;
  }

  body.menu-open .brand {
    position: fixed !important;
    left: 47px !important;
    top: 20px !important;
    width: 172px !important;
    height: 35px !important;
    z-index: 10060 !important;
  }

  body.menu-open .header-nav {
    position: fixed !important;
    top: 14px !important;
    right: 55px !important;
    width: 482px !important;
    height: 47px !important;
    z-index: 10060 !important;
  }

  body.menu-open .menu-large {
    position: fixed !important;
    top: 281px !important;
    right: 78px !important;
    width: 580px !important;
    height: min(620px, calc(100vh - 405px)) !important;
    min-height: 0 !important;
    padding: 55px 52px 34px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: #e9eef0 !important;
    z-index: 10020 !important;
  }

  body.menu-open .menu-large a,
  body.menu-open .menu-large button {
    height: 55px !important;
    min-height: 55px !important;
    font-size: 50px !important;
    line-height: 55px !important;
    letter-spacing: -2.2px !important;
  }

  body.menu-open .menu-small {
    position: fixed !important;
    left: 786px !important;
    top: min(596px, calc(100vh - 424px)) !important;
    width: 380px !important;
    height: auto !important;
    min-height: 0 !important;
    display: block !important;
    padding: 0 !important;
    background: transparent !important;
    z-index: 10020 !important;
  }

  body.menu-open .menu-small a {
    width: 380px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    border-top: 1px solid rgba(0, 0, 0, .14) !important;
    color: #686868 !important;
    font-size: 28px !important;
    line-height: 34px !important;
    letter-spacing: 1.8px !important;
    text-align: right !important;
    white-space: nowrap !important;
  }

  body.menu-open .menu-small a:last-child {
    border-bottom: 1px solid rgba(0, 0, 0, .14) !important;
  }

  body.menu-open .menu-actions {
    position: fixed !important;
    left: 718px !important;
    bottom: 128px !important;
    width: 98px !important;
    height: 16px !important;
    display: block !important;
    z-index: 10020 !important;
  }

  body.menu-open .menu-footer {
    position: fixed !important;
    left: 70px !important;
    right: auto !important;
    bottom: 118px !important;
    display: block !important;
    z-index: 10020 !important;
  }

  body.menu-open .privacy-link {
    display: none !important;
  }

  body.menu-open .hero-help {
    position: fixed !important;
    right: 25px !important;
    bottom: 118px !important;
    width: 207px !important;
    height: 48px !important;
    z-index: 10060 !important;
  }
}

/* True final sticky-safe menu overlay. The fixed opening bar owns the bottom
   86px of the viewport, so menu content must finish above that area. */
@media (min-width: 1024px) {
  body.menu-open .site-header {
    height: 154px !important;
    background: #fff !important;
    border-bottom: 1px solid rgba(0, 0, 0, .12) !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body.menu-open .brand {
    position: fixed !important;
    left: 47px !important;
    top: 20px !important;
  }

  body.menu-open .header-nav {
    position: fixed !important;
    top: 14px !important;
    right: 55px !important;
  }

  body.menu-open .menu-overlay {
    position: fixed !important;
    inset: 0 !important;
    height: 100vh !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  body.menu-open .menu-overlay::before {
    left: 194px !important;
    top: 113px !important;
    width: 690px !important;
    height: 690px !important;
  }

  body.menu-open .menu-large {
    position: fixed !important;
    top: 194px !important;
    right: 78px !important;
    width: 580px !important;
    height: 620px !important;
    padding: 55px 52px 34px !important;
    border-radius: 10px !important;
  }

  body.menu-open .menu-small {
    position: fixed !important;
    left: 866px !important;
    top: 570px !important;
    width: 300px !important;
  }

  body.menu-open .menu-small a {
    width: 300px !important;
    height: 32px !important;
    min-height: 32px !important;
    line-height: 32px !important;
    padding: 0 !important;
    font-size: 26px !important;
    letter-spacing: 2.1px !important;
    white-space: nowrap !important;
  }

  body.menu-open .menu-actions {
    position: fixed !important;
    left: 718px !important;
    bottom: 130px !important;
  }

  body.menu-open .menu-footer {
    position: fixed !important;
    left: 70px !important;
    bottom: 102px !important;
  }

  body.menu-open .hero-help {
    position: fixed !important;
    right: 25px !important;
    bottom: 112px !important;
  }
}

/* Sticky-aware menu override: the opening bar is part of the viewport, so every
   open-menu element is positioned above it instead of flowing behind it. */
@media (min-width: 1024px) {
  body.menu-open .menu-large {
    position: fixed !important;
    top: 281px !important;
    right: 78px !important;
    width: 580px !important;
    height: 619px !important;
    padding: 55px 52px 34px !important;
    border-radius: 10px !important;
  }

  body.menu-open .menu-large li {
    height: 55px !important;
  }

  body.menu-open .menu-large a,
  body.menu-open .menu-large button {
    height: 55px !important;
    min-height: 55px !important;
    line-height: 55px !important;
  }

  body.menu-open .menu-small {
    position: fixed !important;
    left: 866px !important;
    top: 598px !important;
    width: 300px !important;
    height: auto !important;
  }

  body.menu-open .menu-small a {
    width: 300px !important;
    height: 40px !important;
    line-height: 40px !important;
    padding-left: 0 !important;
    font-size: 28px !important;
    letter-spacing: 2.6px !important;
    white-space: nowrap !important;
  }

  body.menu-open .menu-actions {
    position: fixed !important;
    left: 718px !important;
    bottom: 130px !important;
  }

  body.menu-open .menu-footer {
    position: fixed !important;
    left: 70px !important;
    bottom: 100px !important;
  }

  body.menu-open .hero-help {
    position: fixed !important;
    right: 25px !important;
    bottom: 112px !important;
  }
}

/* ABSOLUTE EOF - Versuch 6 menu overlay: wins over duplicate legacy blocks. */
@media (min-width: 1024px) {
  body.menu-open {
    overflow: hidden !important;
  }

  body.menu-open .site-header {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    height: 154px !important;
    background: #fff !important;
    color: #111 !important;
    border-radius: 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, .12) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    box-shadow: none !important;
  }

  body.menu-open .fixed-header {
    height: 154px !important;
  }

  body.menu-open .brand {
    left: 47px !important;
    top: 103px !important;
    width: 172px !important;
    height: 35px !important;
  }

  body.menu-open .brand-logo-light {
    display: none !important;
  }

  body.menu-open .brand-logo-dark {
    display: block !important;
  }

  body.menu-open .brand-logo {
    width: 172px !important;
    max-height: 35px !important;
  }

  body.menu-open .header-nav {
    top: 101px !important;
    right: 46px !important;
    width: 490px !important;
    height: 43px !important;
  }

  body.menu-open .search-trigger {
    left: -58px !important;
    top: -2px !important;
    width: 58px !important;
    height: 43px !important;
  }

  body.menu-open .search-trigger img {
    width: 30px !important;
    height: 30px !important;
    filter: brightness(0) !important;
  }

  body.menu-open .login-wrap {
    left: 20px !important;
    top: 0 !important;
    width: 126px !important;
    height: 40px !important;
  }

  body.menu-open .member-wrap {
    left: 168px !important;
    top: 0 !important;
    width: 200px !important;
    height: 40px !important;
  }

  body.menu-open .login-button,
  body.menu-open .member-button {
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    border-radius: 5px !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 40px !important;
    font-weight: 700 !important;
    letter-spacing: 1.6px !important;
  }

  body.menu-open .login-button {
    background: #545454 !important;
    color: #fff !important;
  }

  body.menu-open .member-button {
    background: #fff !important;
    color: #111 !important;
  }

  body.menu-open .menu-trigger {
    left: 389px !important;
    top: -9px !important;
    width: 105px !important;
    height: 58px !important;
    color: #111 !important;
  }

  body.menu-open .menu-copy {
    top: 22px !important;
    left: 0 !important;
    width: 54px !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 1.55px !important;
  }

  body.menu-open .hamburger {
    top: 0 !important;
    right: 0 !important;
    width: 31px !important;
    height: 58px !important;
  }

  body.menu-open .hamburger::before,
  body.menu-open .hamburger::after,
  body.menu-open .hamburger span {
    left: 0 !important;
    right: auto !important;
    width: 31px !important;
    height: 1px !important;
    background: #111 !important;
  }

  body.menu-open .hamburger::before {
    top: 29px !important;
    transform: rotate(45deg) !important;
  }

  body.menu-open .hamburger::after {
    top: 29px !important;
    transform: rotate(-45deg) !important;
  }

  body.menu-open .hamburger span {
    opacity: 0 !important;
  }

  body.menu-open .menu-overlay {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: hidden !important;
    background: #fff !important;
    color: #2b2b2b !important;
    z-index: 9998 !important;
  }

  body.menu-open .menu-overlay-bg {
    background: #fff !important;
  }

  body.menu-open .menu-overlay::before {
    content: "" !important;
    position: absolute !important;
    left: 194px !important;
    top: 200px !important;
    width: 690px !important;
    height: 690px !important;
    background: url("assets/crays-mark.svg") center/contain no-repeat !important;
    opacity: .035 !important;
    filter: grayscale(1) brightness(1.9) saturate(0) !important;
    pointer-events: none !important;
  }

  body.menu-open .menu-large {
    position: absolute !important;
    left: auto !important;
    right: 78px !important;
    top: 280px !important;
    width: 580px !important;
    height: 620px !important;
    min-height: 0 !important;
    padding: 55px 52px 34px !important;
    border-radius: 10px !important;
    background: #e9eef0 !important;
    color: #2c2c2c !important;
  }

  body.menu-open .menu-title {
    margin: 0 0 44px !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 13px !important;
    line-height: 15px !important;
    font-weight: 400 !important;
    letter-spacing: 4px !important;
    color: #000 !important;
  }

  body.menu-open .menu-large ul {
    margin: 0 !important;
    padding: 0 !important;
  }

  body.menu-open .menu-large li {
    height: 55px !important;
    border-top: 1px solid rgba(0, 0, 0, .13) !important;
  }

  body.menu-open .menu-large li:last-child {
    border-bottom: 1px solid rgba(0, 0, 0, .13) !important;
  }

  body.menu-open .menu-large a,
  body.menu-open .menu-large button {
    height: 55px !important;
    min-height: 55px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    font-family: "Avenir Book", "Poppins", Arial, sans-serif !important;
    font-size: 48px !important;
    line-height: 55px !important;
    font-weight: 400 !important;
    letter-spacing: -2.2px !important;
    color: #111 !important;
    text-align: left !important;
    background: transparent !important;
  }

  body.menu-open .menu-large li:first-child button,
  body.menu-open .menu-large li:first-child a {
    font-family: "Avenir Heavy", "Poppins", Arial, sans-serif !important;
    font-weight: 900 !important;
    letter-spacing: -2.4px !important;
  }

  body.menu-open .menu-secondary {
    position: absolute !important;
    left: 52px !important;
    right: 52px !important;
    bottom: 32px !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px 54px !important;
    margin: 0 !important;
  }

  body.menu-open .menu-secondary a {
    min-height: 0 !important;
    height: 16px !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 16px !important;
    font-weight: 700 !important;
    letter-spacing: -.35px !important;
    color: #000 !important;
  }

  body.menu-open .menu-small {
    position: absolute !important;
    left: 866px !important;
    top: 596px !important;
    width: 300px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #666 !important;
    display: block !important;
    z-index: 2 !important;
  }

  body.menu-open .menu-small a {
    width: 300px !important;
    height: 44px !important;
    padding: 0 0 0 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    border-top: 1px solid rgba(0, 0, 0, .14) !important;
    background: transparent !important;
    color: #6d6d6d !important;
    font-family: "Avenir Book", "Poppins", Arial, sans-serif !important;
    font-size: 29px !important;
    line-height: 44px !important;
    font-weight: 400 !important;
    letter-spacing: 2.6px !important;
    text-align: right !important;
  }

  body.menu-open .menu-small a:last-child {
    border-bottom: 1px solid rgba(0, 0, 0, .14) !important;
  }

  body.menu-open .menu-actions {
    position: absolute !important;
    left: 718px !important;
    bottom: 136px !important;
    width: 98px !important;
    height: 16px !important;
    display: block !important;
    z-index: 2 !important;
  }

  body.menu-open .menu-action-dark {
    display: none !important;
  }

  body.menu-open .menu-action-light {
    width: auto !important;
    height: 16px !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #000 !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 16px !important;
    font-weight: 700 !important;
    letter-spacing: -.35px !important;
    text-align: left !important;
  }

  body.menu-open .menu-footer {
    left: 70px !important;
    bottom: 106px !important;
    right: auto !important;
    display: block !important;
    color: rgba(0, 0, 0, .62) !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 14px !important;
    font-weight: 700 !important;
  }

  body.menu-open .menu-footer nav,
  body.menu-open .privacy-link {
    display: none !important;
  }

  body.menu-open .hero-help {
    right: 25px !important;
    bottom: 112px !important;
    width: 207px !important;
    height: 48px !important;
    border-radius: 5px !important;
    z-index: 10001 !important;
  }
}

/* Versuch 6: final desktop menu overlay matched to the Fitseveneleven reference. */
@media (min-width: 1024px) {
  body.menu-open {
    overflow: hidden !important;
  }

  body.menu-open .site-header {
    position: fixed !important;
    height: 154px !important;
    background: #fff !important;
    color: #111 !important;
    border-radius: 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, .12) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body.menu-open .fixed-header {
    height: 154px !important;
  }

  body.menu-open .brand {
    left: 47px !important;
    top: 103px !important;
    width: 172px !important;
    height: 35px !important;
  }

  body.menu-open .brand-logo {
    width: 172px !important;
    max-height: 35px !important;
  }

  body.menu-open .header-nav {
    top: 101px !important;
    right: 46px !important;
    width: 490px !important;
    height: 43px !important;
  }

  body.menu-open .search-trigger {
    left: -58px !important;
    top: -2px !important;
    width: 58px !important;
    height: 43px !important;
  }

  body.menu-open .search-trigger img {
    width: 30px !important;
    height: 30px !important;
    filter: brightness(0) !important;
  }

  body.menu-open .login-wrap {
    left: 20px !important;
    top: 0 !important;
    width: 126px !important;
    height: 40px !important;
  }

  body.menu-open .member-wrap {
    left: 168px !important;
    top: 0 !important;
    width: 200px !important;
    height: 40px !important;
  }

  body.menu-open .login-button,
  body.menu-open .member-button {
    height: 40px !important;
    border-radius: 5px !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 40px !important;
    font-weight: 700 !important;
    letter-spacing: 1.6px !important;
  }

  body.menu-open .login-button {
    background: #545454 !important;
    color: #fff !important;
  }

  body.menu-open .member-button {
    background: #fff !important;
    color: #111 !important;
  }

  body.menu-open .menu-trigger {
    left: 389px !important;
    top: -9px !important;
    width: 105px !important;
    height: 58px !important;
    color: #111 !important;
  }

  body.menu-open .menu-copy {
    top: 22px !important;
    left: 0 !important;
    width: 54px !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 1.55px !important;
  }

  body.menu-open .hamburger {
    top: 0 !important;
    right: 0 !important;
    width: 31px !important;
    height: 58px !important;
  }

  body.menu-open .hamburger::before,
  body.menu-open .hamburger::after,
  body.menu-open .hamburger span {
    left: 0 !important;
    width: 31px !important;
    height: 1px !important;
    background: #111 !important;
  }

  body.menu-open .hamburger::before {
    top: 29px !important;
    transform: rotate(45deg) !important;
  }

  body.menu-open .hamburger::after {
    top: 29px !important;
    transform: rotate(-45deg) !important;
  }

  body.menu-open .hamburger span {
    opacity: 0 !important;
  }

  body.menu-open .menu-overlay {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: hidden !important;
    background: #fff !important;
    color: #2b2b2b !important;
    z-index: 9998 !important;
  }

  body.menu-open .menu-overlay-bg {
    background: #fff !important;
  }

  body.menu-open .menu-overlay::before {
    content: "" !important;
    position: absolute !important;
    left: 194px !important;
    top: 200px !important;
    width: 690px !important;
    height: 690px !important;
    background: url("assets/crays-mark.svg") center/contain no-repeat !important;
    opacity: .035 !important;
    filter: grayscale(1) brightness(1.9) saturate(0) !important;
    pointer-events: none !important;
  }

  body.menu-open .menu-large {
    position: absolute !important;
    left: auto !important;
    right: 78px !important;
    top: 280px !important;
    width: 580px !important;
    height: 620px !important;
    min-height: 0 !important;
    padding: 55px 52px 34px !important;
    border-radius: 10px !important;
    background: #e9eef0 !important;
    color: #2c2c2c !important;
  }

  body.menu-open .menu-title {
    margin: 0 0 44px !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 13px !important;
    line-height: 15px !important;
    font-weight: 400 !important;
    letter-spacing: 4px !important;
    color: #000 !important;
  }

  body.menu-open .menu-large ul {
    margin: 0 !important;
    padding: 0 !important;
  }

  body.menu-open .menu-large li {
    height: 55px !important;
    border-top: 1px solid rgba(0, 0, 0, .13) !important;
  }

  body.menu-open .menu-large li:last-child {
    border-bottom: 1px solid rgba(0, 0, 0, .13) !important;
  }

  body.menu-open .menu-large a,
  body.menu-open .menu-large button {
    height: 55px !important;
    min-height: 55px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    font-family: "Avenir Book", "Poppins", Arial, sans-serif !important;
    font-size: 29px !important;
    line-height: 55px !important;
    font-weight: 400 !important;
    letter-spacing: -1px !important;
    color: #111 !important;
    text-align: left !important;
    background: transparent !important;
  }

  body.menu-open .menu-large li:first-child button,
  body.menu-open .menu-large li:first-child a {
    font-family: "Avenir Heavy", "Poppins", Arial, sans-serif !important;
    font-weight: 900 !important;
    letter-spacing: -1.4px !important;
  }

  body.menu-open .menu-secondary {
    position: absolute !important;
    left: 52px !important;
    right: 52px !important;
    bottom: 32px !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px 54px !important;
    margin: 0 !important;
  }

  body.menu-open .menu-secondary a {
    min-height: 0 !important;
    height: 16px !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 16px !important;
    font-weight: 700 !important;
    letter-spacing: -.35px !important;
    color: #000 !important;
  }

  body.menu-open .menu-small {
    position: absolute !important;
    left: 866px !important;
    top: 596px !important;
    width: 300px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #666 !important;
    display: block !important;
    z-index: 2 !important;
  }

  body.menu-open .menu-small a {
    width: 300px !important;
    height: 44px !important;
    padding: 0 0 0 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    border-top: 1px solid rgba(0, 0, 0, .14) !important;
    background: transparent !important;
    color: #6d6d6d !important;
    font-family: "Avenir Book", "Poppins", Arial, sans-serif !important;
    font-size: 29px !important;
    line-height: 44px !important;
    font-weight: 400 !important;
    letter-spacing: 2.6px !important;
    text-align: right !important;
  }

  body.menu-open .menu-small a:last-child {
    border-bottom: 1px solid rgba(0, 0, 0, .14) !important;
  }

  body.menu-open .menu-actions {
    position: absolute !important;
    left: 718px !important;
    bottom: 136px !important;
    width: 98px !important;
    height: 16px !important;
    display: block !important;
    z-index: 2 !important;
  }

  body.menu-open .menu-action-dark {
    display: none !important;
  }

  body.menu-open .menu-action-light {
    width: auto !important;
    height: 16px !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #000 !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 16px !important;
    font-weight: 700 !important;
    letter-spacing: -.35px !important;
    text-align: left !important;
  }

  body.menu-open .menu-footer {
    left: 70px !important;
    bottom: 106px !important;
    right: auto !important;
    display: block !important;
    color: rgba(0, 0, 0, .62) !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 14px !important;
    font-weight: 700 !important;
  }

  body.menu-open .menu-footer nav,
  body.menu-open .privacy-link {
    display: none !important;
  }

  body.menu-open .hero-help {
    right: 25px !important;
    bottom: 112px !important;
    width: 207px !important;
    height: 48px !important;
    border-radius: 5px !important;
    z-index: 10001 !important;
  }
}

/* Restore the original news-card image frame after local image QA. */
.news-card img {
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 15px !important;
  background: transparent !important;
}

@media (min-width: 1024px) {
  .news-card img {
    width: 425px !important;
    height: 495px !important;
  }
}

/* Current task overrides: Crays red and hidden side star. */
.intro-copy h2 {
  color: var(--crays-red) !important;
}

.crays-red-word {
  color: var(--crays-red) !important;
}

.hero-widget {
  display: none !important;
}

@font-face {
  font-display: block;
  font-family: "Poppins";
  font-style: normal;
  font-weight: 400;
  src: url("assets/fonts/fit711-poppins-regular.woff2") format("woff2");
}

@font-face {
  font-display: block;
  font-family: "Poppins";
  font-style: normal;
  font-weight: 600;
  src: url("assets/fonts/fit711-poppins-600.woff2") format("woff2");
}

@font-face {
  font-display: block;
  font-family: "Poppins";
  font-style: normal;
  font-weight: 700;
  src: url("assets/fonts/fit711-poppins-700.woff2") format("woff2");
}

@font-face {
  font-display: block;
  font-family: "Avenir Heavy2";
  src: url("assets/fonts/fit711-avenir-heavy.woff2") format("woff2");
}

@font-face {
  font-display: block;
  font-family: "Avenir Heavy";
  src: url("assets/fonts/fit711-avenir-heavy.woff2") format("woff2");
}

@font-face {
  font-display: block;
  font-family: "Avenir Medium";
  src: url("assets/fonts/fit711-avenir-medium.woff2") format("woff2");
}

@font-face {
  font-display: block;
  font-family: "Avenir LT W04_95 Black1475560";
  src: url("assets/fonts/fit711-avenir-black.woff2") format("woff2");
}

@font-face {
  font-display: block;
  font-family: "Avenir Book";
  font-style: italic;
  src: url("assets/fonts/fit711-avenir-book.woff2") format("woff2");
}

@font-face {
  font-display: block;
  font-family: "Avenir Light Oblique";
  src: url("assets/fonts/fit711-avenir-light-oblique.woff2") format("woff2");
}

@font-face {
  font-display: block;
  font-family: "Bodoni Moda";
  font-style: italic;
  font-weight: 700;
  src: url("assets/fonts/bodoni-moda-italic-700.ttf") format("truetype");
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  background: var(--black-2);
  color: var(--white);
  font-family: "Avenir Book", "Poppins", "Montserrat", Arial, sans-serif;
  letter-spacing: 0;
}

body.menu-open,
body.drawer-open {
  overflow: hidden;
}

img,
svg {
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input {
  font: inherit;
}

button {
  cursor: pointer;
}

.site-shell {
  min-height: 100vh;
  overflow: clip;
}

.site-header {
  position: absolute;
  inset: 0 0 auto;
  z-index: 1000;
  height: var(--header);
  background: rgba(0, 0, 0, 0);
  border-radius: 0 0 20px 20px;
  color: var(--white);
  box-shadow: none;
  -webkit-backdrop-filter: blur(11px);
  backdrop-filter: blur(11px);
  transition: background .35s ease, backdrop-filter .35s ease, box-shadow .35s ease;
}

.site-header.is-sticky,
.site-header.menu-active,
.site-header.search-active {
  position: fixed;
  background: rgba(0, 0, 0, 0);
  -webkit-backdrop-filter: blur(11px);
  backdrop-filter: blur(11px);
  box-shadow: none;
}

.fixed-header {
  position: relative;
  z-index: 82;
  height: var(--header);
  max-width: 100%;
}

.brand {
  position: absolute;
  left: 46px;
  top: 15px;
  height: 34px;
  display: grid;
  place-items: center start;
  width: 142px;
  color: var(--white);
}

.brand img {
  width: 100%;
  height: auto;
  max-height: 34px;
  object-fit: contain;
}

.brand-logo-dark {
  display: none;
}

.site-header.header-dark {
  color: #1a1a1a;
}

.site-header.header-dark .brand-logo-light {
  display: none;
}

.site-header.header-dark .brand-logo-dark {
  display: block;
}

.site-header.header-dark .search-trigger img {
  filter: brightness(0);
}

.site-header.header-dark .menu-copy {
  color: #1a1a1a;
}

.site-header.header-dark .hamburger::before,
.site-header.header-dark .hamburger::after {
  background: #1a1a1a;
}

.site-header.header-dark .member-button {
  background: #000;
  color: #fff;
}

.site-header.header-dark .member-button img {
  filter: invert(1);
}

.site-header.header-dark .login-button {
  background: rgb(84, 84, 84);
  color: var(--white);
}

.brand-search {
  left: 40px;
}

.header-nav {
  position: absolute;
  right: 40px;
  top: 7px;
  width: 560px;
  height: 60px;
  display: block;
}

.search-trigger,
.menu-trigger,
.icon-close {
  border: 0;
  color: var(--white);
  background: transparent;
}

.search-trigger {
  position: absolute;
  left: 10px;
  top: 4px;
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  margin: 0;
}

.search-trigger img {
  width: 24px;
  height: 25px;
}

.search-trigger svg,
.search-box svg {
  width: 27px;
  height: 27px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
}

.header-button {
  position: relative;
  height: 40px;
  min-width: 126px;
  padding: 6px 40px 6px 0;
  border-radius: 7px;
  border: 0;
  background: transparent;
  color: var(--white);
  font-family: "Avenir Medium", "Avenir Heavy2", sans-serif;
  font-size: 10px;
  font-weight: 400;
  line-height: normal;
  letter-spacing: 1.5px;
  display: inline-block !important;
  text-align: center;
  text-transform: uppercase;
  box-shadow: none;
}

.login-button {
  position: absolute;
  left: 78px;
  top: 7px;
  min-width: 126px;
  background: rgb(84, 84, 84);
  display: inline-block !important;
}

.login-button::before,
.login-button::after,
.member-button::before,
.member-button::after {
  display: none;
}

.header-button span {
  position: absolute;
  right: 19px;
  top: 50%;
  transform: translateY(-50%);
  display: block;
}

.login-button img {
  width: 20px;
  height: 20px;
}

.member-button,
.menu-action-light {
  background: var(--white);
  color: var(--black);
}

.member-button {
  position: absolute;
  left: 224px;
  top: 7px;
  min-width: 200px;
  display: inline-block !important;
}

.member-button img {
  width: 21px;
  height: 9px;
}

.menu-trigger {
  position: absolute;
  left: 444px;
  top: 0;
  width: 96px;
  height: 60px;
  padding: 0;
}

.menu-copy {
  position: absolute;
  left: 7px;
  top: 23px;
  width: 50px;
  height: 20px;
  display: block;
  text-align: left;
  font-size: 10px;
  font-family: "Avenir Medium", "Avenir Heavy2", "Poppins", sans-serif;
  font-weight: 400;
  letter-spacing: 1.5px;
}

.menu-copy-close {
  opacity: 0;
}

.hamburger {
  position: absolute;
  right: -1px;
  top: -1px;
  width: 60px;
  height: 60px;
}

.hamburger span,
.hamburger::before,
.hamburger::after {
  content: "";
  position: absolute;
  right: 16px;
  width: 28px;
  height: 1px;
  background: var(--white);
  transition: transform .3s ease, top .3s ease, opacity .2s ease;
}

.hamburger span {
  display: block;
  top: 30px;
}

.hamburger::before {
  top: 24px;
}

.hamburger::after {
  top: 36px;
}

.site-header.menu-active .menu-copy-open {
  opacity: 0;
}

.site-header.menu-active .menu-copy-close {
  opacity: 1;
}

.site-header.menu-active .hamburger::before {
  top: 30px;
  transform: rotate(45deg);
}

.site-header.menu-active .hamburger::after {
  top: 30px;
  transform: rotate(-45deg);
}

.site-header.menu-active .hamburger span {
  opacity: 0;
}

.search-layer {
  position: fixed;
  inset: -620px 0 auto;
  z-index: 84;
  height: var(--header);
  background: rgba(250, 250, 250, .96);
  color: var(--black);
  transition: transform .45s var(--ease);
}

.search-layer.active {
  transform: translateY(620px);
}

.search-box {
  position: absolute;
  left: 325px;
  top: 5px;
  width: min(630px, calc(100vw - 520px));
  height: 44px;
}

.search-box svg {
  position: absolute;
  left: 10px;
  top: 11px;
  color: #252525;
}

.search-box input {
  width: 100%;
  height: 44px;
  border: 0;
  border-bottom: 1px solid #cfcfcf;
  background: var(--white);
  color: var(--black);
  padding: 10px 14px 10px 58px;
  outline: 0;
  font-size: 14px;
}

.suggestions {
  position: absolute;
  inset: 44px 0 auto;
  background: var(--white);
  color: var(--black);
  border-top: 0;
  box-shadow: 0 18px 35px rgba(0, 0, 0, .08);
}

.suggestion-heading,
.suggestions button {
  height: 43px;
  width: 100%;
  padding: 0 12px;
  border: 0;
  background: transparent;
  color: var(--black);
  text-align: left;
  display: flex;
  align-items: center;
  font-size: 15px;
}

.suggestion-heading {
  height: 39px;
  color: #6e6e6e;
  font-weight: 800;
}

.suggestions button:hover {
  background: #f0f0f0;
}

.icon-close {
  position: absolute;
  right: 40px;
  top: 15px;
  width: 32px;
  height: 32px;
}

.icon-close span {
  position: absolute;
  left: 6px;
  top: 15px;
  width: 20px;
  height: 1px;
  background: var(--black);
}

.icon-close span:first-child {
  transform: rotate(45deg);
}

.icon-close span:last-child {
  transform: rotate(-45deg);
}

.menu-overlay {
  position: fixed;
  inset: 0;
  height: 0;
  visibility: hidden;
  overflow: hidden;
  z-index: 78;
  background: rgba(17, 17, 17, .98);
  transition: height .45s var(--ease), visibility .45s var(--ease);
}

.menu-overlay.active {
  height: 100vh;
  visibility: visible;
}

.menu-overlay-bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .04) 1px, transparent 1px) 0 0 / 25% 100%,
    #111;
}

.menu-small {
  position: absolute;
  left: calc(50% - 360px);
  top: 240px;
  width: 300px;
  min-height: 260px;
  padding: 6px 0;
  background: #d8d8d8;
  color: var(--black);
}

.menu-small a {
  height: 42px;
  display: flex;
  align-items: center;
  padding: 0 25px;
  font-size: 14px;
  font-weight: 700;
  color: var(--black);
}

.menu-small a:hover {
  background: var(--white);
}

.menu-large {
  position: absolute;
  right: 51px;
  top: 105px;
  width: 580px;
  min-height: 632px;
  padding: 50px;
  background: rgba(250, 250, 250, .96);
  color: var(--black);
}

.menu-title {
  display: block;
  margin-bottom: 34px;
  font-size: 22px;
  font-weight: 900;
}

.menu-large ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.menu-large li {
  border-top: 1px solid rgba(0, 0, 0, .14);
}

.menu-large li:last-child {
  border-bottom: 1px solid rgba(0, 0, 0, .14);
}

.menu-large a,
.menu-large button {
  width: 100%;
  min-height: 54px;
  display: flex;
  align-items: center;
  border: 0;
  background: transparent;
  color: var(--black);
  padding: 0;
  text-align: left;
  font-size: 26px;
  font-weight: 900;
  letter-spacing: 0;
}

.menu-large a:hover,
.menu-large button:hover {
  color: var(--red);
}

.menu-secondary {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px 20px;
  margin-top: 28px;
}

.menu-secondary a {
  min-height: auto;
  font-size: 13px;
  font-weight: 700;
}

.menu-actions {
  position: absolute;
  left: calc(50% - 360px);
  bottom: 58px;
  width: 300px;
  display: grid;
  gap: 12px;
}

.menu-actions a,
.menu-actions button {
  height: 56px;
  border: 1px solid var(--white);
  display: grid;
  place-items: center;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.menu-action-dark {
  background: transparent;
  color: var(--white);
}

.menu-footer {
  position: absolute;
  left: 70px;
  bottom: 38px;
  right: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
  color: rgba(255, 255, 255, .72);
  font-size: 12px;
  font-weight: 700;
}

.menu-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
}

.privacy-link {
  position: absolute;
  right: 150px;
  bottom: 78px;
  color: rgba(255, 255, 255, .72);
  font-size: 12px;
  font-weight: 800;
}

.hero-slider {
  position: relative;
  height: 100vh;
  min-height: 900px;
  overflow: hidden;
  background: #050505;
}

.hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  visibility: hidden;
  z-index: 1;
  pointer-events: none;
  transition: opacity .5s ease;
}

.hero-slide.active {
  opacity: 1;
  visibility: visible;
  z-index: 2;
  pointer-events: auto;
}

.hero-bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transform: translate3d(0, var(--hero-shift, 0px), 0);
  will-change: transform;
}

.hero-bg-campaign {
  object-position: center 48%;
  filter: saturate(1.05) contrast(1.04);
}

.hero-bg-pulse {
  object-position: center 54%;
  filter: saturate(1.04) contrast(1.02);
}

.hero-bg-highfive-crop {
  object-position: center 35% !important;
  transform: translate3d(0, var(--hero-shift, 0px), 0) scale(1.14) !important;
  transform-origin: center 35%;
}

.hero-bg-focus {
  object-position: center 52%;
  filter: saturate(1.03) contrast(1.03);
}

.hero-slide::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: linear-gradient(90deg, rgba(0, 0, 0, .48), rgba(0, 0, 0, .08) 55%, rgba(0, 0, 0, .26));
  pointer-events: none;
}

.hero-slide-campaign::after {
  background: linear-gradient(90deg, rgba(0, 0, 0, .18), rgba(0, 0, 0, .02) 58%, rgba(0, 0, 0, .12));
}

.hero-campaign-layer {
  position: absolute;
  top: 0;
  left: -.32vw;
  z-index: 3;
  width: 106.15vw;
  height: auto;
  max-width: none;
  object-fit: contain;
  object-position: center;
  pointer-events: none;
}

.hero-campaign-layer,
.hero-campaign-copy,
.hero-copy {
  opacity: 0;
  transform: translate3d(0, -50px, 0);
  transition:
    opacity .82s cubic-bezier(.22, .61, .36, 1),
    transform .82s cubic-bezier(.22, .61, .36, 1);
  will-change: opacity, transform;
}

.hero-campaign-copy {
  position: absolute;
  z-index: 3;
  left: 7.35%;
  top: 30.3%;
  width: min(780px, 52vw);
  color: var(--white);
  text-shadow: 0 4px 0 rgba(0, 0, 0, .72);
}

.hero-wordmark {
  margin-bottom: 34px;
  font-family: "Avenir Heavy2", "Poppins", sans-serif;
  font-size: clamp(34px, 3.1vw, 59px);
  line-height: .9;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: uppercase;
}

.hero-campaign-copy h1 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(72px, 9vw, 170px);
  line-height: .66;
  font-style: italic;
  font-weight: 700;
  letter-spacing: 0;
}

.hero-campaign-copy h1 span {
  display: block;
}

.hero-campaign-copy h1 em {
  display: block;
  margin-left: clamp(245px, 21vw, 405px);
  font-size: clamp(36px, 4.2vw, 80px);
  line-height: .85;
  font-style: italic;
  white-space: nowrap;
}

.hero-campaign-copy p {
  margin: 36px 0 0;
  color: rgba(255, 255, 255, .82);
  font-family: "Avenir Heavy2", "Poppins", sans-serif;
  font-size: clamp(16px, 1.6vw, 31px);
  line-height: 1;
  letter-spacing: 4px;
  text-shadow: none;
}

.hero-copy {
  position: absolute;
  z-index: 3;
  left: 8%;
  top: 28%;
  max-width: 640px;
}

.hero-copy-right {
  left: auto;
  right: 9%;
  text-align: right;
}

.hero-copy h1 {
  margin: 0;
  font-family: "Avenir Book", "Poppins", sans-serif;
  font-size: clamp(72px, 6.1vw, 112px);
  line-height: 1;
  font-weight: 400;
  letter-spacing: 2px;
  color: var(--white);
}

.hero-copy p {
  display: inline-block;
  margin: 18px 0 0 44%;
  padding: 3px 15px;
  background: #EF1C4A;
  color: var(--white);
  font-family: "Avenir Book", "Poppins", sans-serif;
  font-size: clamp(18px, 1.55vw, 30px);
  font-weight: 400;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.hero-copy-right p {
  margin-left: 0;
}

.hero-buttons {
  position: absolute;
  z-index: 4;
  left: 7.9%;
  bottom: 253px;
  display: flex;
  align-items: center;
  gap: 0;
  opacity: 0;
  transition: opacity .55s ease .24s;
  will-change: opacity;
}

.hero-slide:nth-child(2) .hero-buttons,
.hero-slide:nth-child(3) .hero-buttons {
  left: 7.13%;
  bottom: 179px;
}

.hero-buttons button,
.hero-buttons a {
  min-width: 210px;
  height: 61px;
  border: 1px solid var(--white);
  border-radius: 7px;
  background: transparent;
  color: var(--white);
  display: block;
  padding: 0 42px;
  font-family: "Poppins", "Avenir Medium", sans-serif;
  font-size: 13px;
  font-weight: 600;
  line-height: 60px;
  text-align: center;
  letter-spacing: .992188px;
  text-transform: uppercase;
  box-shadow: 0 18px 40px rgba(0, 0, 0, .12);
  white-space: nowrap;
}

.hero-buttons button:first-child,
.hero-buttons a:first-child {
  background: var(--white);
  color: var(--black);
  border-color: var(--white);
}

.hero-slide:nth-child(2) .hero-buttons button:first-child,
.hero-slide:nth-child(2) .hero-buttons a:first-child,
.hero-slide:nth-child(3) .hero-buttons button:first-child,
.hero-slide:nth-child(3) .hero-buttons a:first-child {
  background: rgba(255, 255, 255, .49);
  color: rgb(26, 26, 26);
  border-color: rgba(255, 255, 255, .72);
}

.hero-buttons > *:nth-child(2) {
  min-width: 241px;
}

.hero-buttons > * + * {
  margin-left: 0;
}

.hero-slide.active.hero-enter .hero-campaign-layer,
.hero-slide.active.hero-enter .hero-campaign-copy,
.hero-slide.active.hero-enter .hero-copy {
  opacity: 1;
  transform: translate3d(0, 0, 0) !important;
}

.hero-slide.active.hero-enter .hero-buttons {
  opacity: 1;
}

.scroll-cue {
  position: absolute;
  z-index: 5;
  left: 38px;
  bottom: 151px;
  width: 119px;
  height: 49px;
  border: 0;
  background: transparent;
  color: transparent;
  font-size: 0;
  line-height: 0;
  text-indent: -9999px;
}

.scroll-cue::before {
  content: "";
  position: absolute;
  inset: 0;
  background: center / contain no-repeat url("assets/scroll-down-original.svg");
  transform: none;
  border: 0;
}

.scroll-cue {
  padding: 0;
}

.hero-line {
  position: absolute;
  z-index: 5;
  left: 15.2%;
  bottom: 161px;
  width: 207px;
  height: 12px;
  background: center / contain no-repeat url("assets/transform-your-life-original.svg");
  color: transparent;
  font-size: 0;
  line-height: 0;
  text-indent: -9999px;
}

.hero-count {
  position: absolute;
  z-index: 5;
  right: 232px;
  bottom: 160px;
  display: flex;
  gap: 4px;
  color: var(--white);
  font-size: 13px;
}

.hero-arrows {
  position: absolute;
  z-index: 5;
  right: 40px;
  bottom: 158px;
  display: flex;
}

.hero-arrows button {
  width: 40px;
  height: 40px;
  border: 1px solid var(--white);
  background: transparent;
  color: var(--white);
}

.hero-arrows button:first-child {
  border-radius: 35px 0 0 35px;
  border-right: 0;
}

.hero-arrows button:last-child {
  border-radius: 0 35px 35px 0;
}

.hero-arrows svg {
  width: 22px;
  height: 22px;
  margin: auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.hero-dots {
  position: absolute;
  z-index: 5;
  left: 50%;
  bottom: 170px;
  transform: translateX(-50%);
  display: flex;
  gap: 5px;
}

.hero-dots button {
  width: 13px;
  height: 13px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: #e5e5e5;
}

.hero-dots button.active {
  background: var(--white);
}

.hero-help {
  position: absolute;
  right: 24px;
  bottom: 111px;
  z-index: 12;
  min-width: 206px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 6px 6px 0 6px;
  background: rgba(255, 255, 255, .94);
  color: #161943;
  font-size: 16px;
  font-weight: 500;
  box-shadow: 0 12px 25px rgba(0, 0, 0, .08);
  border: 0;
  cursor: pointer;
}

body.support-assistant-open {
  overflow: hidden;
}

.support-assistant-modal[hidden] {
  display: none !important;
}

.support-assistant-modal {
  position: fixed;
  inset: 0;
  z-index: 12000;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  padding: 24px 24px 112px;
  background: rgba(4, 16, 24, .58);
}

.support-assistant-card {
  width: min(440px, calc(100vw - 32px));
  height: min(700px, calc(100dvh - 144px));
  min-height: 460px;
  overflow: hidden;
  border-radius: 18px;
  background: #f3f0eb;
  box-shadow: 0 30px 100px rgba(0, 0, 0, .34);
}

.support-assistant-heading {
  position: absolute;
  width: min(440px, calc(100vw - 32px));
  height: 0;
  z-index: 2;
}

.support-assistant-heading h2 {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.support-assistant-heading button {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 3;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(255, 255, 255, .25);
  border-radius: 999px;
  background: rgba(0, 0, 0, .24);
  color: #fff;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}

.support-assistant-card iframe {
  width: 100%;
  height: 100%;
  border: 0;
  background: #f3f0eb;
}

.support-mobile-trigger {
  display: none;
}

@media (max-width: 767px) {
  .support-mobile-trigger {
    position: fixed;
    right: 16px;
    bottom: calc(var(--mobile-bottom-bar, 74px) + 14px);
    z-index: 10080;
    display: grid;
    min-width: 64px;
    height: 44px;
    place-items: center;
    border: 0;
    border-radius: 999px;
    background: #EF1C4A;
    color: #fff;
    font: 700 12px/1 "Avenir Heavy", "Poppins", Arial, sans-serif;
    letter-spacing: .08em;
    text-transform: uppercase;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .24);
  }

  .support-assistant-modal {
    align-items: stretch;
    padding: 12px 12px calc(var(--mobile-bottom-bar, 74px) + 12px);
  }

  .support-assistant-card {
    width: 100%;
    height: 100%;
    min-height: 0;
    border-radius: 16px;
  }

  .support-assistant-heading {
    width: calc(100vw - 24px);
  }
}

.hero-widget {
  position: absolute;
  right: 0;
  top: 40%;
  z-index: 12;
  width: 40px;
  height: 48px;
  border: 0;
  border-radius: 7px 0 0 7px;
  background: rgba(60, 60, 60, .88);
  color: var(--signal);
}

.hero-widget {
  display: none !important;
}

.hero-widget span,
.hero-widget span::before,
.hero-widget span::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 22px;
  height: 3px;
  border-radius: 999px;
  background: currentColor;
  transform: translate(-50%, -50%);
}

.hero-widget span::before {
  transform: translate(-50%, -50%) rotate(60deg);
}

.hero-widget span::after {
  transform: translate(-50%, -50%) rotate(-60deg);
}

.opening-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  height: 86px;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 16px;
  background: var(--crays-blue);
  color: var(--white);
  font-family: "Avenir Book", sans-serif;
  font-size: 16px;
  line-height: 27px;
  letter-spacing: 2.5px;
  box-shadow: 0 -14px 42px rgba(0, 0, 0, .08);
}

.opening-copy {
  width: auto;
  height: 27px;
  margin: 0 27px 0 0;
  font-family: "Avenir Heavy", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 27px !important;
  letter-spacing: 2.5px !important;
  text-transform: none;
  font-synthesis: none;
  white-space: nowrap;
}

.opening-time {
  display: block;
  height: 54px;
  font-family: "Avenir Book", sans-serif;
  font-size: 14px;
  line-height: 27px;
  letter-spacing: 2.5px;
}

.opening-time span {
  display: inline-flex;
  height: 54px;
  justify-items: center;
  flex-direction: column;
  align-items: center;
  margin: 0 8px 0 0;
  color: rgba(255, 255, 255, .72);
}

.opening-time strong {
  font-family: "Avenir LT W04_95 Black1475560", "Avenir Heavy2", "Poppins", sans-serif;
  font-size: 27px;
  line-height: 27px;
  font-weight: 700;
  letter-spacing: 2.5px;
  color: var(--white);
  margin: 0 4px;
}

.opening-time em {
  display: block;
  font-family: "Avenir Medium", "Avenir Book", sans-serif;
  font-size: 10px;
  font-style: normal;
  font-weight: 400;
  line-height: 27px;
  letter-spacing: 1.6px;
  text-transform: uppercase;
  color: rgba(255, 255, 255, .78);
}

.round-action {
  position: absolute;
  top: -18px;
  width: 64px;
  height: 64px;
  border: 0;
  border-radius: 999px;
  background: #000;
  color: var(--white);
  box-shadow: 0 10px 24px rgba(0, 0, 0, .24);
}

.fingerprint-action {
  left: 40px;
}

.fingerprint-action::before,
.fingerprint-action::after {
  content: "";
  position: absolute;
}

.fingerprint-action::before {
  left: 50%;
  top: 50%;
  width: 36px;
  height: 36px;
  background: center / contain no-repeat url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg' fill='none'%3E%3Cpath d='M20 5.9c7.5 0 13.6 5.9 13.9 13.1' stroke='white' stroke-width='1.35' stroke-linecap='round'/%3E%3Cpath d='M6.4 21.2C5.9 13.4 12.1 7.1 20 7.1c5.8 0 10.8 3.7 12.8 8.8' stroke='white' stroke-width='1.35' stroke-linecap='round'/%3E%3Cpath d='M8.3 25.1c-1.7-6.8 1.7-13.9 8.5-16.1 6.7-2.1 13.8 1.4 15.9 8.1.4 1.3.6 2.8.6 4.4' stroke='white' stroke-width='1.35' stroke-linecap='round'/%3E%3Cpath d='M11.2 28.7c-2.3-5.1-2-12.4 2.6-16 4.6-3.6 11.5-2.5 14.6 2.4 2.3 3.7 1.7 8.4.7 11.7' stroke='white' stroke-width='1.35' stroke-linecap='round'/%3E%3Cpath d='M14.8 31.1c-2.5-5-2.9-12.8.9-15.8 3.2-2.5 8.6-1.8 10.8 2.1 1.9 3.5.8 8.9-.4 12.2' stroke='white' stroke-width='1.35' stroke-linecap='round'/%3E%3Cpath d='M18.7 32.8c-2.2-4.9-3.1-11.7-.3-13.8 1.7-1.3 4.7-.8 5.8 1.1 1.3 2.3.5 7.4-.8 11.2' stroke='white' stroke-width='1.35' stroke-linecap='round'/%3E%3Cpath d='M22.6 33.1c1.4-3.8 2.7-10.4.6-12-1.1-.8-2.7-.4-3.3.8-1.2 2.3-.3 7.5 1.5 11' stroke='white' stroke-width='1.35' stroke-linecap='round'/%3E%3C/svg%3E");
  transform: translate(-50%, -50%);
  border: 0;
  border-radius: 0;
}

.fingerprint-action::after {
  display: none;
}

.chat-action {
  top: -18px;
  right: 24px;
  width: 80px;
  height: 80px;
}

.chat-action::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 50px;
  height: 50px;
  background: center / contain no-repeat url("assets/icon-melibo-chat.png");
  transform: translate(-50%, -50%);
  border: 0;
  border-radius: 0;
}

.chat-action::after {
  display: none;
}

.newsfeed {
  background: #1a1a1a;
}

.news-grid {
  width: min(1440px, calc(100vw - 96px));
  min-height: 2807px;
  margin: 0 auto;
  padding: 50px 45px 110px 30px;
  display: grid;
  grid-template-columns: 440px 425px 425px;
  column-gap: 45px;
  align-items: start;
  position: relative;
}

.intro-copy {
  grid-column: 1;
  padding-top: 96px;
  padding-right: 15px;
}

@media (min-width: 1024px) {
  .intro-copy {
    position: sticky;
    top: 0;
  }
}

.intro-copy h2 {
  margin: 0 0 11px;
  padding-left: 7px;
  padding-bottom: 10px;
  color: var(--white);
  font-family: "Avenir Medium";
  font-size: 17px;
  font-style: italic;
  font-weight: 300;
  line-height: 1;
  letter-spacing: .6px;
}

.intro-copy h3 {
  margin: 0 0 60px;
  color: var(--white);
  font-family: "Avenir LT W04_95 Black1475560";
  font-size: 60px;
  line-height: 48px;
  font-style: italic;
  font-weight: 900;
  letter-spacing: -.1px;
}

.intro-copy h3 span {
  display: block;
  color: var(--white);
}

.intro-copy p {
  margin: 15px 0 0;
  color: #d8d8d8;
  font-family: "Avenir Book", Arial, sans-serif;
  font-size: 15px;
  line-height: 27px;
  letter-spacing: 0;
}

.news-cards {
  grid-column: 2 / 4;
  position: relative;
  height: 2601px;
  margin-top: 96px;
}

.news-card {
  position: absolute;
  width: 425px;
  margin: 0;
  padding-bottom: 60px;
  color: #d8d8d8;
}

.news-card:nth-child(1) {
  left: 0;
  top: 0;
}

.news-card:nth-child(2) {
  left: 455px;
  top: 150px;
}

.news-card:nth-child(3) {
  left: 0;
  top: 861px;
}

.news-card:nth-child(4) {
  left: 455px;
  top: 1011px;
}

.news-card:nth-child(5) {
  left: 0;
  top: 1776px;
}

.news-card-main {
  display: block;
  color: inherit;
  text-decoration: none;
}

.news-card img {
  display: block;
  width: 425px;
  height: 495px;
  object-fit: cover;
  border-radius: 15px;
}

.news-card h4 {
  margin: 16px 0 24px;
  color: #d8d8d8;
  font-family: "Avenir Heavy", "Avenir Heavy2", "Avenir Book", Arial, sans-serif;
  font-size: 17px;
  font-style: normal;
  font-weight: 900;
  line-height: 27px;
  letter-spacing: 1.1px;
}

.news-card p {
  margin: 15px 0 35px;
  color: #d8d8d8;
  font-family: "Avenir Light Oblique", "Avenir Book", Arial, sans-serif;
  font-size: 15px;
  font-style: italic;
  line-height: 27px;
  letter-spacing: 0;
}

.news-read-more {
  position: relative;
  min-width: 122px;
  height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 8px 28px;
  border: 1px solid var(--white);
  border-radius: 7px;
  color: var(--white);
  overflow: hidden;
  font-family: "Avenir Medium", "Avenir Book", Arial, sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 18px;
  letter-spacing: -.1px;
  text-decoration: none;
  transition: border-color .2s ease, color .2s ease, transform .2s ease;
  z-index: 0;
}

.news-read-more::before {
  content: "";
  position: absolute;
  inset: -1px;
  background: var(--white);
  transform: translateX(-102%);
  transition: transform .24s ease;
  z-index: -1;
}

.news-read-more:hover {
  border-color: transparent;
  color: var(--black);
  transform: scale(1.05);
}

.news-read-more:hover::before {
  transform: translateX(0);
}

.logo-section,
.label-band {
  background: var(--soft);
  color: var(--ink);
}

.logo-container {
  width: min(1440px, calc(100vw - 96px));
  min-height: 372px;
  margin: 0 auto;
  padding: 70px 0 30px;
  text-align: center;
}

.logo-container h2 {
  margin: 0;
  color: var(--ink);
  font-size: 50px;
  font-weight: 400;
  line-height: 1.12;
}

.logo-container h2.muted {
  color: #c0c0c0;
}

.logo-pill {
  width: min(502px, 100%);
  min-height: 44px;
  margin: 50px auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 7px 30px;
  border-radius: 12px;
  background: rgba(217, 217, 217, .3);
  overflow: hidden;
}

.logo-pill span {
  white-space: nowrap;
  font-size: 14px;
}

.logo-rail {
  display: flex;
  gap: 24px;
  white-space: nowrap;
}

.logo-rail b {
  color: #242424;
  font-size: 14px;
  font-weight: 900;
}

.press-rail b:nth-child(1) {
  font-size: 26px;
  line-height: 1;
}

.press-rail b:nth-child(2) {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 22px;
  line-height: 1;
}

.press-rail b:nth-child(3) {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 17px;
  font-style: italic;
  line-height: 1;
}

.press-rail b:nth-child(4) {
  font-family: Georgia, "Times New Roman", serif;
  font-size: 16px;
  line-height: 1;
}

.label-container {
  width: min(var(--container), calc(100vw - 96px));
  min-height: 551px;
  margin: 0 auto;
  padding: 104px 0;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.label-card {
  overflow: hidden;
  border-radius: 15px;
}

.label-card a {
  display: block;
  color: var(--black);
}

.label-card img {
  width: 100%;
  aspect-ratio: 1 / .99;
  object-fit: cover;
  border-radius: 15px;
  transition: transform .4s ease;
}

.label-card h3 {
  margin: 12px 0 0;
  padding: 0 12px;
  font-size: 26px;
  line-height: 1.4;
  font-weight: 900;
  transition: color .3s ease;
}

.label-card:hover img {
  transform: scale(1.01);
}

.label-move:hover h3 { color: var(--red); }
.label-focus:hover h3 { color: var(--gold); }
.label-pulse:hover h3 { color: var(--pink); }
.label-recover:hover h3 { color: var(--cream); }

.white-block {
  width: 100%;
  display: table;
  background: var(--white);
  color: var(--black);
}

.max-row {
  width: min(1980px, 100%);
  min-height: 316px;
  margin: 0 auto 9px;
  display: grid;
  grid-template-columns: 5fr 7fr;
  align-items: center;
  background: var(--white);
}

.max-row.reverse {
  min-height: 392px;
  grid-template-columns: 7fr 5fr;
}

.row-copy {
  padding: 60px clamp(34px, 6vw, 75px);
}

.row-copy h2 {
  margin: 0 0 28px;
  font-size: clamp(38px, 4vw, 58px);
  line-height: .96;
  font-weight: 900;
}

.row-copy p {
  max-width: 374px;
  margin: 0;
  color: var(--black);
  font-size: 15px;
  line-height: 1.72;
}

.outline-button {
  width: 240px;
  height: 59px;
  margin-top: 50px;
  display: grid;
  place-items: center;
  border: 1px solid var(--black);
  background: transparent;
  color: var(--black);
  font-size: 16px;
  font-weight: 900;
  letter-spacing: 2px;
  text-transform: uppercase;
}

.row-media {
  height: 100%;
  min-height: 316px;
  overflow: hidden;
  border-radius: 15px;
}

.max-row.reverse .row-media {
  min-height: 392px;
}

.row-media img {
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
}

.impressions {
  background: var(--black-2);
}

.impression-container {
  width: min(var(--container), calc(100vw - 96px));
  min-height: 888px;
  margin: 0 auto;
  padding: 150px 0 100px;
  text-align: center;
}

.impression-container h2 {
  margin: 0 0 76px;
  color: var(--white);
  font-size: 42px;
  line-height: 1;
  font-weight: 900;
}

.impression-stage {
  width: 100%;
  overflow: hidden;
}

.impression-track {
  display: flex;
  gap: 30px;
  transition: transform .45s var(--ease);
  will-change: transform;
}

.impression-slide {
  flex: 0 0 min(672px, 72vw);
  padding: 15px;
}

.impression-slide img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  border-radius: 15px;
}

.impression-caption {
  margin: 20px 0 0;
  color: var(--white);
  font-size: 15px;
  font-weight: 700;
}

.impression-dots {
  margin-top: 46px;
  display: flex;
  justify-content: center;
  gap: 10px;
}

.impression-dots button {
  width: 20px;
  height: 20px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: transparent;
  position: relative;
}

.impression-dots button::before {
  content: "";
  position: absolute;
  inset: 6px;
  border-radius: inherit;
  background: #a0a0a0;
}

.impression-dots button.active::before {
  background: var(--white);
}

.site-footer {
  background: var(--black-2);
  color: var(--white);
}

.social-strip {
  min-height: 816px;
  position: relative;
  overflow: hidden;
  padding-top: 90px;
  text-align: center;
}

.marquee {
  position: absolute;
  left: 0;
  width: 220%;
  color: rgba(255, 255, 255, .08);
  font-family: "Krona One", sans-serif;
  font-size: clamp(42px, 7vw, 92px);
  line-height: 1;
  white-space: nowrap;
}

.marquee-left {
  top: 100px;
  animation: marqueeLeft 24s linear infinite;
}

.marquee-right {
  top: 162px;
  animation: marqueeRight 28s linear infinite;
}

@keyframes marqueeLeft {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@keyframes marqueeRight {
  from { transform: translateX(-50%); }
  to { transform: translateX(0); }
}

.social-strip p {
  margin: 245px 0 20px;
  color: var(--white);
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0;
}

.social-handle {
  display: inline-block;
  margin-bottom: 60px;
  color: var(--white);
  font-size: 20px;
  font-weight: 700;
}

.social-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  width: 100%;
}

.social-grid img {
  width: 100%;
  aspect-ratio: 253 / 188;
  object-fit: cover;
}

.footer-main {
  width: min(var(--container), calc(100vw - 96px));
  min-height: 887px;
  margin: 0 auto;
  padding: 80px 0 120px;
  display: grid;
  grid-template-columns: 1.45fr 1fr 1fr 1.2fr;
  gap: 60px;
}

.footer-column h3 {
  margin: 0 0 32px;
  font-size: 30px;
  font-weight: 900;
}

.footer-column a {
  display: block;
  margin-bottom: 15px;
  color: #d8d8d8;
  font-size: 26px;
  line-height: 1.22;
  font-weight: 500;
}

.footer-column a:hover {
  color: var(--red);
}

.language-row {
  display: flex;
  gap: 18px;
  margin-top: 26px;
}

.language-row a {
  margin: 0;
}

.footer-badges {
  display: grid;
  grid-template-columns: repeat(2, minmax(90px, 1fr));
  gap: 20px;
  align-content: start;
  padding-top: 42px;
}

.footer-badges span {
  min-height: 132px;
  border: 1px solid rgba(255, 255, 255, .26);
  display: grid;
  place-items: center;
  color: var(--white);
  text-align: center;
  font-family: "Krona One", sans-serif;
  font-size: 13px;
  line-height: 1.45;
}

.promo-panel {
  display: none;
  position: fixed;
  right: 8px;
  bottom: 10px;
  z-index: 60;
  width: min(366px, calc(100vw - 32px));
  min-height: 88px;
  background: var(--white);
  color: var(--black);
  box-shadow: 0 18px 55px rgba(0, 0, 0, .24);
  transition: opacity .25s ease, transform .25s ease;
}

.promo-panel.hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(24px);
}

.promo-panel button {
  position: absolute;
  right: 0;
  top: -64px;
  width: 86px;
  height: 64px;
  border: 0;
  background: rgba(17, 17, 17, .92);
  color: var(--white);
  font-size: 30px;
}

.promo-panel img {
  width: 100%;
  height: 88px;
  object-fit: cover;
}

.promo-panel strong,
.promo-panel span {
  display: block;
  padding: 0 16px;
}

.promo-panel strong {
  margin-top: 13px;
  font-size: 14px;
  font-weight: 900;
}

.promo-panel span {
  margin: 4px 0 16px;
  color: #555;
  font-size: 12px;
}

.drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 88;
  background: rgba(0, 0, 0, .46);
  opacity: 0;
  pointer-events: none;
  transition: opacity .28s ease;
}

.drawer-backdrop.active {
  opacity: 1;
  pointer-events: auto;
}

.member-drawer {
  position: fixed;
  right: 0;
  top: 0;
  z-index: 90;
  width: min(480px, 100vw);
  height: 100vh;
  background: var(--white);
  color: var(--black);
  transform: translateX(100%);
  transition: transform .34s var(--ease);
  box-shadow: -20px 0 70px rgba(0, 0, 0, .25);
}

.member-drawer.active {
  transform: translateX(0);
}

.drawer-close {
  position: absolute;
  right: 14px;
  top: 14px;
  z-index: 2;
  width: 36px;
  height: 36px;
  border: 0;
  background: transparent;
  color: var(--black);
  font-size: 30px;
  line-height: 1;
}

.drawer-body {
  height: 100%;
  overflow-y: auto;
  padding: 78px 24px 40px;
}

.stepper {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 6px;
  margin: 0 0 54px;
  padding: 0;
  list-style: none;
}

.stepper li {
  color: #aaa;
  font-size: 12px;
  font-weight: 900;
  text-align: center;
}

.stepper li::before {
  content: "";
  display: block;
  height: 3px;
  margin-bottom: 8px;
  background: #ddd;
}

.stepper li.active {
  color: var(--red);
}

.stepper li.active::before {
  background: var(--red);
}

.stepper li.available {
  cursor: pointer;
}

.menu-trigger:focus:not(:focus-visible) {
  outline: none;
}

.menu-trigger:focus-visible {
  outline: 2px solid rgba(239, 28, 74, .9);
  outline-offset: 4px;
}

.stepper li[aria-disabled="true"] {
  cursor: default;
}

.stepper li.current span {
  color: var(--black);
}

.stepper span {
  display: block;
  margin-top: 3px;
  font-size: 10px;
  color: #555;
}

.drawer-step {
  display: none;
}

.drawer-step.active {
  display: block;
}

.drawer-step h2 {
  margin: 0 0 12px;
  font-size: 28px;
  font-weight: 900;
  text-transform: uppercase;
}

.drawer-step p {
  margin: 0 0 28px;
  color: #5f5f5f;
  font-size: 14px;
  line-height: 1.5;
}

.drawer-search {
  width: 100%;
  height: 52px;
  border: 1px solid #ddd;
  border-radius: 0;
  padding: 0 16px;
  outline: 0;
  font-size: 15px;
  margin-bottom: 38px;
}

.club-list {
  display: grid;
  gap: 12px;
}

.club-card {
  width: 100%;
  min-height: 79px;
  border: 1px solid #e7e7e7;
  background: #fbfbfb;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 18px;
  text-align: left;
  color: var(--black);
}

.club-card strong {
  display: block;
  font-size: 13px;
  font-weight: 900;
  text-transform: uppercase;
}

.club-card span {
  display: block;
  margin-top: 6px;
  color: #626262;
  font-size: 15px;
}

.club-card em {
  color: var(--red);
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
}

.club-card:hover,
.club-card.selected {
  border-color: var(--black);
  background: var(--black);
  color: var(--white);
}

.club-card:hover span,
.club-card.selected span {
  color: #d8d8d8;
}

.drawer-options,
.plan-list {
  display: grid;
  gap: 14px;
}

.drawer-options button,
.plan-card,
.drawer-next {
  min-height: 58px;
  border: 1px solid #ddd;
  background: #fbfbfb;
  color: var(--black);
  padding: 0 18px;
  text-align: left;
  font-weight: 800;
}

.drawer-options button.active,
.plan-card.active,
.drawer-options button:hover,
.plan-card:hover {
  border-color: var(--black);
  background: var(--black);
  color: var(--white);
}

.plan-card {
  min-height: 112px;
}

.plan-card strong,
.plan-card span {
  display: block;
}

.plan-card strong {
  font-size: 18px;
}

.plan-card span {
  margin-top: 8px;
  color: inherit;
  opacity: .75;
}

.drawer-next {
  width: 100%;
  margin-top: 26px;
  background: var(--black);
  color: var(--white);
  border-color: var(--black);
  text-align: center;
  text-transform: uppercase;
}

.drawer-next:disabled {
  cursor: default;
  opacity: .38;
}

.member-form {
  display: grid;
  gap: 16px;
}

.member-form label {
  display: grid;
  gap: 8px;
  color: #4a4a4a;
  font-size: 13px;
  font-weight: 800;
}

.member-form input {
  height: 52px;
  border: 1px solid #ddd;
  padding: 0 14px;
  outline: 0;
}

.summary {
  display: grid;
  gap: 12px;
  padding: 18px;
  background: #f5f5f5;
}

.summary p {
  margin: 0;
}

.payment-box {
  display: grid;
  gap: 8px;
  padding: 22px 18px;
  border: 1px solid #e2e2e2;
  background: #f7f7f7;
}

.payment-box strong {
  font-size: 18px;
  font-weight: 900;
}

.payment-box span {
  color: #5f5f5f;
  font-size: 14px;
  line-height: 1.5;
}

@media (max-width: 1180px) {
  .brand {
    left: 40px;
  }

  .header-nav {
    right: 40px;
    top: 7px;
    width: 160px;
    height: 60px;
  }

  .login-button,
  .member-button {
    display: none;
  }

  .search-trigger {
    left: 0;
    top: 7px;
  }

  .menu-trigger {
    left: 68px;
    top: 0;
  }

  .news-grid {
    width: min(960px, calc(100vw - 48px));
    min-height: auto;
    padding: 50px 24px 110px;
    grid-template-columns: 1fr;
  }

  .intro-copy {
    position: relative;
    top: auto;
    max-width: 440px;
  }

  .news-cards {
    grid-column: 1;
    height: auto;
    min-height: 0;
    margin-top: 60px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 60px 30px;
  }

  .news-card,
  .news-card:nth-child(1),
  .news-card:nth-child(2),
  .news-card:nth-child(3),
  .news-card:nth-child(4),
  .news-card:nth-child(5) {
    position: relative;
    left: auto;
    top: auto;
    width: 100%;
    padding-bottom: 0;
  }

  .news-card img {
    width: 100%;
    height: auto;
    aspect-ratio: 425 / 495;
  }

  .menu-small {
    left: 70px;
  }
}

@media (max-width: 767px) {
  :root {
    --header: 66px;
  }

  .site-header {
    height: var(--header);
  }

  .brand {
    left: 20px;
    width: 142px;
  }

  .header-nav {
    right: 18px;
    top: 3px;
    width: 150px;
    height: 60px;
  }

  .search-trigger {
    left: 0;
    top: 10px;
    margin-right: 2px;
  }

  .menu-trigger {
    left: 72px;
    top: 0;
    width: 72px;
  }

  .menu-copy {
    width: 72px;
    font-size: 11px;
    letter-spacing: 1.2px;
  }

  .hamburger {
    right: -4px;
  }

  .search-box {
    left: 20px;
    top: 76px;
    width: calc(100vw - 40px);
  }

  .search-layer {
    height: 380px;
  }

  .search-layer.active {
    transform: translateY(620px);
  }

  .search-close {
    right: 20px;
  }

  .menu-small,
  .menu-actions {
    display: none;
  }

  .menu-large {
    left: 20px;
    right: 20px;
    top: 92px;
    width: auto;
    min-height: 0;
    padding: 34px 26px;
  }

  .menu-large a,
  .menu-large button {
    min-height: 48px;
    font-size: 22px;
  }

  .menu-footer {
    left: 20px;
    right: 20px;
    bottom: 26px;
    display: block;
    font-size: 11px;
  }

  .menu-footer nav {
    margin-top: 16px;
  }

  .privacy-link {
    right: 20px;
    bottom: 82px;
  }

  .hero-slider {
    min-height: 850px;
    height: 100vh;
  }

  .hero-bg,
  .hero-campaign-layer {
    object-position: center;
  }

  .hero-copy {
    left: 20px;
    right: 20px;
    top: 138px;
    max-width: none;
  }

  .hero-copy-right {
    left: 20px;
    right: 20px;
    text-align: left;
  }

  .hero-copy h1 {
    font-size: 42px;
  }

  .hero-buttons,
  .hero-slide:nth-child(2) .hero-buttons,
  .hero-slide:nth-child(3) .hero-buttons {
    left: 50%;
    bottom: 124px;
    transform: translateX(-50%);
    width: calc(100vw - 40px);
    justify-content: center;
  }

  .hero-buttons button,
  .hero-buttons a {
    min-width: 0;
    width: 50%;
    height: 56px;
    font-size: 10px;
  }

  .hero-line {
    display: none;
  }

  .hero-count {
    display: none;
  }

  .hero-arrows {
    display: none;
  }

  .scroll-cue {
    display: none;
  }

  .hero-dots {
    bottom: 100px;
  }

  .hero-help {
    right: 14px;
    bottom: 92px;
    min-width: 174px;
    height: 42px;
    font-size: 14px;
  }

  .hero-widget {
    top: 38%;
  }

  .opening-bar {
    height: 76px;
    grid-template-columns: 1fr;
    justify-items: center;
    row-gap: 4px;
    padding: 8px 76px;
    text-align: center;
  }

  .opening-copy,
  .opening-time {
    grid-column: 1;
  }

  .opening-copy {
    font-size: 9px;
    letter-spacing: 2px;
    white-space: normal;
  }

  .opening-time {
    gap: 10px;
  }

  .opening-time strong {
    font-size: 22px;
  }

  .opening-time em {
    font-size: 7px;
  }

  .round-action {
    top: -19px;
    width: 58px;
    height: 58px;
  }

  .fingerprint-action {
    left: 14px;
  }

  .chat-action {
    right: 14px;
  }

  .news-grid {
    width: calc(100vw - 40px);
    min-height: 0;
    padding: 60px 0 80px;
    display: block;
  }

  .intro-copy {
    padding-top: 10px;
    padding-right: 0;
  }

  .intro-copy h3 {
    max-width: 280px;
    margin-bottom: 60px;
    font-size: 42px;
    line-height: 36px;
  }

  .intro-copy p {
    display: none;
  }

  .news-cards {
    display: flex;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    height: auto;
    min-height: 0;
    margin-top: 0;
    padding: 0 20% 0 0;
  }

  .news-card,
  .news-card:nth-child(2),
  .news-card:nth-child(3),
  .news-card:nth-child(4),
  .news-card:nth-child(5) {
    flex: 0 0 80%;
    position: relative;
    left: auto;
    top: auto;
    width: auto;
    margin: 0;
    padding-bottom: 0;
    scroll-snap-align: start;
  }

  .news-card img {
    width: 100%;
    height: auto;
    aspect-ratio: 425 / 495;
  }

  .news-card img,
  .label-card img,
  .row-media,
  .row-media img,
  .impression-slide img {
    border-radius: 10px;
  }

  .logo-container {
    width: calc(100vw - 40px);
    padding: 70px 0 30px;
  }

  .logo-container h2 {
    font-size: 30px;
  }

  .logo-pill {
    flex-direction: column;
    align-items: center;
    padding: 16px 20px;
  }

  .label-container {
    width: calc(100vw - 40px);
    min-height: 0;
    grid-template-columns: repeat(2, 1fr);
    padding: 60px 0;
    gap: 16px 10px;
  }

  .label-card h3 {
    font-size: 16px;
    line-height: 1.15;
  }

  .white-block {
    background: #262626;
    color: var(--white);
  }

  .max-row,
  .max-row.reverse {
    display: flex;
    flex-direction: column;
    min-height: 0;
    margin-bottom: 0;
    padding: 60px 20px;
    background: #262626;
  }

  .max-row.reverse .row-media {
    order: 2;
  }

  .row-copy {
    width: 100%;
    padding: 0 0 50px;
  }

  .row-copy h2,
  .row-copy p {
    color: var(--white);
  }

  .row-copy p {
    max-width: none;
  }

  .outline-button {
    margin: 40px auto 0;
    background: var(--white);
    color: var(--black);
    border-color: var(--white);
  }

  .row-media,
  .max-row.reverse .row-media {
    width: 100%;
    min-height: 0;
    aspect-ratio: 16 / 9;
  }

  .impression-container {
    width: calc(100vw - 40px);
    min-height: 660px;
    padding: 86px 0 80px;
  }

  .impression-container h2 {
    margin-bottom: 44px;
  }

  .impression-slide {
    flex-basis: 88vw;
    padding: 8px;
  }

  .social-strip {
    min-height: 620px;
  }

  .social-strip p {
    margin-top: 200px;
    padding: 0 20px;
  }

  .social-grid {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding-right: 20%;
  }

  .social-grid img {
    flex: 0 0 80%;
    scroll-snap-align: start;
  }

  .footer-main {
    width: calc(100vw - 40px);
    min-height: 0;
    grid-template-columns: 1fr;
    padding: 70px 0 100px;
    gap: 42px;
  }

  .footer-column a {
    font-size: 22px;
  }

  .footer-badges {
    grid-template-columns: repeat(2, 1fr);
    padding-top: 0;
  }

  .promo-panel {
    width: calc(100vw - 24px);
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

/* FITSEVENELEVEN parity overrides: keep this block last so older rules cannot override it. */
@media (min-width: 768px) {
  .header-nav {
    right: 40px !important;
    top: 7px !important;
    width: 560px !important;
    height: 60px !important;
  }

  .search-trigger {
    left: 10px !important;
    top: 4px !important;
    width: 48px !important;
    height: 48px !important;
    padding: 10px !important;
    display: block !important;
  }

  .search-trigger img {
    width: 28px !important;
    height: 28px !important;
  }

  .login-button,
  .member-button {
    top: 7px !important;
    height: 40px !important;
    padding: 6px 40px 6px 0 !important;
    border-radius: 7px !important;
    display: inline-block !important;
    font-family: "Avenir Medium", sans-serif !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: normal !important;
    letter-spacing: 1.5px !important;
    text-align: center !important;
    text-transform: none !important;
  }

  .login-button {
    left: 78px !important;
    width: 126px !important;
    min-width: 126px !important;
    background: rgb(84, 84, 84) !important;
    color: #fff !important;
  }

  .member-button {
    left: 224px !important;
    width: 200px !important;
    min-width: 200px !important;
    background: #fff !important;
    color: rgba(0, 0, 0, .8) !important;
  }

  .header-button span {
    right: 20px !important;
  }

  .login-button img {
    width: 20px !important;
    height: 20px !important;
  }

  .member-button img {
    width: 20px !important;
    height: auto !important;
  }

  .menu-trigger {
    left: 444px !important;
    top: 0 !important;
    width: 96px !important;
    height: 60px !important;
  }

  .menu-copy {
    left: 7px !important;
    top: 22.5px !important;
    width: 50px !important;
    height: 12px !important;
    font-family: "Avenir Medium", sans-serif !important;
    font-size: 10px !important;
    line-height: normal !important;
    letter-spacing: 1.5px !important;
    color: #fafafa !important;
  }

  .hamburger {
    right: -1px !important;
    top: -1px !important;
    width: 60px !important;
    height: 60px !important;
  }

  .hamburger span,
  .hamburger::before,
  .hamburger::after {
    right: 16px !important;
    width: 28px !important;
    height: 1px !important;
    background: #fff !important;
  }

  .hamburger::before { top: 24px !important; }
  .hamburger span { top: 30px !important; }
  .hamburger::after { top: 36px !important; }
}

.opening-bar {
  height: 86px !important;
  padding: 16px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: "Avenir Book", sans-serif !important;
  font-size: 16px !important;
  line-height: 27px !important;
  letter-spacing: 2.5px !important;
}

.opening-copy {
  height: 27px !important;
  margin: 0 27px 0 0 !important;
  font-family: "Avenir Heavy", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 27px !important;
  letter-spacing: 2.5px !important;
  text-transform: none !important;
  font-synthesis: none !important;
}

.opening-time {
  height: 54px !important;
  font-family: "Avenir Book", sans-serif !important;
  font-size: 14px !important;
  line-height: 27px !important;
  letter-spacing: 2.5px !important;
}

.opening-time span {
  height: 54px !important;
  margin: 0 8px 0 0 !important;
}

.opening-time strong {
  font-family: "Avenir LT W04_95 Black1475560", sans-serif !important;
  font-size: 27px !important;
  font-weight: 700 !important;
  line-height: 27px !important;
  letter-spacing: 2.5px !important;
}

.opening-time em {
  font-family: "Avenir Medium", sans-serif !important;
  font-size: 10px !important;
  font-weight: 400 !important;
  line-height: 27px !important;
  letter-spacing: 1.6px !important;
  text-transform: uppercase !important;
}

.site-footer {
  background: #fff !important;
  color: #1a1a1a !important;
}

.social-strip {
  min-height: 859px !important;
  padding-top: 88px !important;
  overflow: hidden !important;
  background: #fff !important;
  color: #1a1a1a !important;
  text-align: center !important;
}

.marquee {
  width: 250% !important;
  font-family: "Avenir LT W04_95 Black1475560", "Avenir Heavy2", sans-serif !important;
  font-size: 78px !important;
  font-weight: 700 !important;
  font-style: italic !important;
  line-height: .88 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

.marquee-left {
  top: 62px !important;
  color: transparent !important;
  -webkit-text-stroke: 1px #2a2a2a !important;
}

.marquee-right {
  top: 132px !important;
  color: #2a2a2a !important;
}

.social-strip p {
  margin: 276px auto 26px !important;
  max-width: 360px !important;
  color: #000 !important;
  font-family: "Avenir Book", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 27px !important;
  letter-spacing: 3.5px !important;
  text-transform: uppercase !important;
}

.social-handle {
  position: relative !important;
  display: inline-block !important;
  margin: 78px 0 64px !important;
  color: #000 !important;
  font-family: "Avenir Book", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 27px !important;
  letter-spacing: 4px !important;
}

.social-handle::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: -61px !important;
  width: 31px !important;
  height: 31px !important;
  transform: translateX(-50%) !important;
  border: 4px solid #000 !important;
  border-radius: 10px !important;
}

.social-handle::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: -50px !important;
  width: 11px !important;
  height: 11px !important;
  transform: translateX(-50%) !important;
  border: 4px solid #000 !important;
  border-radius: 999px !important;
  box-shadow: 12px -9px 0 -6px #000 !important;
}

.social-grid {
  width: calc(100% - 116px) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(5, 1fr) !important;
  gap: 0 !important;
}

.social-grid img {
  width: 100% !important;
  height: 265px !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  border-radius: 0 !important;
}

.footer-main {
  width: min(1394px, calc(100vw - 96px)) !important;
  min-height: 716px !important;
  padding: 130px 0 150px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1.2fr .8fr .8fr 1.1fr !important;
  gap: 70px !important;
  background: #fff !important;
}

.footer-column h3 {
  margin: 0 0 11px !important;
  color: #616161 !important;
  font-family: "Avenir Book", sans-serif !important;
  font-size: 30px !important;
  font-weight: 400 !important;
  line-height: 44px !important;
  letter-spacing: 2.5px !important;
}

.footer-column a {
  margin: 0 0 10px !important;
  color: #262626 !important;
  font-family: "Avenir Book", sans-serif !important;
  font-size: 26px !important;
  font-weight: 400 !important;
  line-height: 36px !important;
  letter-spacing: 2.5px !important;
}

.footer-badges {
  padding-top: 0 !important;
  grid-template-columns: repeat(3, 90px) !important;
  gap: 16px !important;
  align-content: start !important;
}

.footer-badges span {
  min-height: 116px !important;
  border: 1px solid #d8d8d8 !important;
  color: #1a1a1a !important;
  font-family: "Avenir Heavy", sans-serif !important;
  font-size: 14px !important;
  line-height: 18px !important;
}

/* Source-parity layer mapped from FITSEVENELEVEN home HTML/CSS. Keep this last. */
@media (min-width: 768px) {
  .site-header .header-nav {
    right: 40px !important;
    top: 7px !important;
    width: 560px !important;
    height: 60px !important;
  }

  .site-header .search-trigger {
    left: 10px !important;
    top: 4px !important;
    width: 48px !important;
    height: 48px !important;
    padding: 10px !important;
    display: block !important;
  }

  .site-header .search-trigger img {
    width: 28px !important;
    height: 28px !important;
  }

  .site-header .header-button {
    position: absolute !important;
    top: 7px !important;
    height: 40px !important;
    padding: 6px 40px 6px 0 !important;
    border: 0 !important;
    border-radius: 7px !important;
    display: inline-block !important;
    appearance: none !important;
    font-family: "Avenir Medium", sans-serif !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: 28px !important;
    letter-spacing: 1.5px !important;
    text-align: center !important;
    text-transform: uppercase !important;
    vertical-align: top !important;
  }

  .site-header .login-button {
    left: 78px !important;
    width: 126px !important;
    min-width: 126px !important;
    background: rgb(84, 84, 84) !important;
    color: #fff !important;
  }

  .site-header .member-button {
    left: 224px !important;
    width: 200px !important;
    min-width: 200px !important;
    background: #fff !important;
    color: rgba(0, 0, 0, .8) !important;
  }

  .site-header .header-button span {
    position: absolute !important;
    right: 20px !important;
    transform: none !important;
    display: block !important;
  }

  .site-header .login-button span {
    top: 10px !important;
    width: 20px !important;
    height: 20px !important;
  }

  .site-header .login-button img {
    width: 20px !important;
    height: 20px !important;
  }

  .site-header .member-button span {
    top: 15px !important;
    width: 20px !important;
    height: 10px !important;
  }

  .site-header .member-button img {
    width: 20px !important;
    height: auto !important;
  }

  .site-header .menu-trigger {
    left: 444px !important;
    top: 0 !important;
    width: 96px !important;
    height: 60px !important;
  }

  .site-header .menu-copy {
    left: 7px !important;
    top: 23px !important;
    width: 50px !important;
    height: 12px !important;
    font-family: "Avenir Medium", sans-serif !important;
    font-size: 10px !important;
    line-height: normal !important;
    letter-spacing: 1.5px !important;
  }

  .site-header .hamburger {
    right: -1px !important;
    top: -1px !important;
    width: 60px !important;
    height: 60px !important;
  }

  .site-header .hamburger span,
  .site-header .hamburger::before,
  .site-header .hamburger::after {
    right: 16px !important;
    width: 28px !important;
    height: 1px !important;
  }

  .site-header .hamburger::before { top: 24px !important; }
  .site-header .hamburger span { top: 30px !important; }
  .site-header .hamburger::after { top: 36px !important; }

  .site-header.header-dark .menu-copy {
    color: #1a1a1a !important;
  }

  .site-header.header-dark .hamburger span,
  .site-header.header-dark .hamburger::before,
  .site-header.header-dark .hamburger::after {
    background: #1a1a1a !important;
  }
}

.opening-bar {
  height: 86px !important;
  padding: 16px !important;
  background: var(--crays-blue) !important;
  color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-family: "Avenir Book", sans-serif !important;
  font-size: 16px !important;
  line-height: 27px !important;
  letter-spacing: 2.5px !important;
}

.opening-copy {
  height: 27px !important;
  margin: 0 27px 0 0 !important;
  color: #fff !important;
  font-family: "Avenir Heavy", sans-serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 27px !important;
  letter-spacing: 2.5px !important;
  text-transform: none !important;
  white-space: nowrap !important;
  font-synthesis: none !important;
}

.opening-time {
  height: 54px !important;
  font-family: "Avenir Book", sans-serif !important;
  font-size: 14px !important;
  line-height: 27px !important;
  letter-spacing: 2.5px !important;
}

.opening-time span {
  height: 54px !important;
  margin: 0 8px 0 0 !important;
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.opening-time strong {
  color: #fff !important;
  font-family: "Avenir LT W04_95 Black1475560", sans-serif !important;
  font-size: 27px !important;
  font-weight: 700 !important;
  line-height: 27px !important;
  letter-spacing: 2.5px !important;
}

.opening-time em {
  color: rgba(255, 255, 255, .82) !important;
  font-family: "Avenir Medium", sans-serif !important;
  font-size: 10px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 27px !important;
  letter-spacing: 1.6px !important;
  text-transform: uppercase !important;
}

.logo-section,
.label-band {
  background: #fafafa !important;
  color: #262626 !important;
}

.logo-container {
  width: min(1440px, 100%) !important;
  min-height: 372px !important;
  padding: 70px 15px 30px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

.logo-container h2 {
  margin: 0 !important;
  color: #262626 !important;
  font-family: "Avenir Book", sans-serif !important;
  font-size: 50px !important;
  font-weight: 300 !important;
  line-height: 56px !important;
  letter-spacing: -.1px !important;
}

.logo-container h2.muted {
  color: #c0c0c0 !important;
}

.logo-pill {
  width: 100% !important;
  max-width: 502px !important;
  min-height: 44px !important;
  margin: 50px auto 0 !important;
  padding: 8px 30px !important;
  border-radius: 15px !important;
  background: rgba(217, 217, 217, .3) !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 18px !important;
  overflow: hidden !important;
}

.logo-pill span {
  color: #1a1a1a !important;
  font-family: "Avenir Book", sans-serif !important;
  font-size: 14px !important;
  line-height: 21px !important;
  letter-spacing: 0 !important;
}

.label-container {
  width: min(1440px, 100%) !important;
  min-height: 551px !important;
  margin: 0 auto !important;
  padding: 104px 0 !important;
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 0 !important;
}

.label-card {
  position: relative !important;
  padding: 0 5px !important;
  overflow: hidden !important;
  border-radius: 15px !important;
}

.label-card a {
  display: block !important;
  color: #000 !important;
  text-decoration: none !important;
}

.label-card img {
  width: 100% !important;
  aspect-ratio: 1 / .99 !important;
  height: auto !important;
  object-fit: cover !important;
  border-radius: 15px !important;
  filter: saturate(.56) contrast(1.04) !important;
  transition: transform .4s ease-in-out, filter .4s ease-in-out !important;
}

.label-card h3 {
  width: 100% !important;
  margin: 12px 0 0 !important;
  padding: 0 12px !important;
  color: #000 !important;
  font-family: "Avenir Heavy", "Avenir LT W04_95 Black1475560", sans-serif !important;
  font-size: 32px !important;
  font-weight: 400 !important;
  line-height: 48px !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  transition: color .3s ease-in-out !important;
}

.label-card:hover img {
  filter: saturate(1.2) contrast(1.04) !important;
  transform: translate3d(0, 0, 0) scale3d(1.01, 1.01, 1) !important;
}

.label-move:hover h3 { color: #EF1C4A !important; }
.label-focus:hover h3 { color: var(--crays-blue) !important; }
.label-pulse:hover h3 { color: #EF1C4A !important; }
.label-recover:hover h3 { color: #bdb59e !important; }

.white-block {
  width: 100% !important;
  display: table !important;
  background: #fff !important;
  color: #000 !important;
}

.max-row,
.max-row.reverse {
  width: min(1640px, 100%) !important;
  margin: 0 auto 9px !important;
  display: grid !important;
  align-items: center !important;
  background: #fff !important;
  min-height: 0 !important;
}

.max-row {
  grid-template-columns: 5fr 7fr !important;
}

.max-row.reverse {
  grid-template-columns: 7fr 5fr !important;
}

.row-copy {
  padding: 0 75px !important;
  color: #000 !important;
}

.row-copy h2 {
  margin: 0 0 28px !important;
  color: #000 !important;
  font-family: "Avenir Heavy", sans-serif !important;
  font-size: 30px !important;
  font-weight: 900 !important;
  line-height: 36px !important;
  letter-spacing: 0 !important;
  text-align: center !important;
}

.row-copy h2 span {
  display: inline !important;
  padding-left: 2px !important;
  background: linear-gradient(var(--crays-blue), var(--crays-blue)) 0 75% / 100% 9px no-repeat !important;
}

.row-copy p {
  width: 100% !important;
  max-width: 374px !important;
  margin: 0 auto !important;
  color: #000 !important;
  font-family: "Avenir Book", sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 27px !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

.outline-button {
  position: relative !important;
  z-index: 0 !important;
  width: 240px !important;
  height: auto !important;
  min-height: 59px !important;
  margin: 50px auto 0 !important;
  padding: 15px !important;
  display: table !important;
  overflow: hidden !important;
  border: 1px solid #fff !important;
  border-radius: 8px !important;
  background: #1a1a1a !important;
  color: #fff !important;
  font-family: "Avenir Book", sans-serif !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 27px !important;
  letter-spacing: 2px !important;
  text-align: center !important;
  text-transform: none !important;
  transition: color .2s ease-out, transform .2s ease-out, border-color .2s ease-out !important;
}

.outline-button::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  background: #fff !important;
  transform: translate(-100%, 0) rotate(10deg) !important;
  transform-origin: top left !important;
  transition: .2s transform ease-out !important;
}

.outline-button:hover {
  color: #000 !important;
  border-color: transparent !important;
  transform: scale(1.05) !important;
}

.outline-button:hover::after {
  transform: translate(0, 0) !important;
}

.row-media,
.max-row.reverse .row-media {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  border-radius: 15px !important;
  display: block !important;
}

.row-media img {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 15px !important;
  margin-bottom: -9px !important;
}

.impressions {
  background: #262626 !important;
  color: #fff !important;
}

.impression-container {
  width: min(1640px, 100%) !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 100px 0 140px !important;
  display: block !important;
  text-align: center !important;
}

@media (max-width: 1780px) and (min-width: 1532px) {
  .impression-container {
    max-width: 1520px !important;
  }
}

@media (max-width: 1531px) and (min-width: 1400px) {
  .impression-container {
    max-width: 1380px !important;
  }
}

.impression-container h2 {
  margin: 0 !important;
  padding-bottom: 60px !important;
  color: #fff !important;
  font-family: "Avenir Book", sans-serif !important;
  font-size: 60px !important;
  font-style: normal !important;
  font-weight: 350 !important;
  line-height: 48px !important;
  letter-spacing: -.1px !important;
  text-align: center !important;
}

.impression-stage {
  width: 100% !important;
  overflow: hidden !important;
}

.impression-track {
  display: flex !important;
  gap: 0 !important;
  transition: transform .3s ease !important;
  will-change: transform !important;
}

.impression-slide {
  flex: 0 0 60% !important;
  padding: 15px 15px 80px !important;
  background: transparent !important;
}

.impression-slide img {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  border-radius: 33px !important;
}

.impression-caption {
  margin: -40px 0 30px !important;
  display: block !important;
  color: #fff !important;
  font-family: "Avenir Book", sans-serif !important;
  font-size: 15px !important;
  line-height: 27px !important;
  letter-spacing: 3px !important;
  text-align: center !important;
}

.impression-dots {
  margin-top: 0 !important;
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
}

.impression-dots button::before {
  background: rgba(217, 217, 217, .3) !important;
}

.impression-dots button.active::before {
  background: rgba(217, 217, 217, .7) !important;
}

/* Go parity corrections: keep this as the final CSS block. */
@media (min-width: 768px) {
  .site-header .login-wrap,
  .site-header .member-wrap {
    position: absolute !important;
    top: 7px !important;
    height: 40px !important;
    display: inline-block !important;
  }

  .site-header .login-wrap {
    left: 78px !important;
    width: 126px !important;
  }

  .site-header .member-wrap {
    left: 224px !important;
    width: 200px !important;
  }

  .site-header .login-wrap .login-button,
  .site-header .member-wrap .member-button {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 42px 0 20px !important;
    font-family: "Avenir Medium", sans-serif !important;
    font-size: 10px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    letter-spacing: 1.5px !important;
    text-align: center !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    vertical-align: top !important;
  }
}

.label-card h3 {
  font-family: "Avenir Heavy", "Avenir LT W04_95 Black1475560", sans-serif !important;
  font-size: 32px !important;
  font-weight: 800 !important;
  line-height: 48px !important;
  letter-spacing: 2.5px !important;
}

.max-row,
.max-row.reverse {
  height: 436px !important;
  min-height: 436px !important;
  max-height: 436px !important;
  overflow: hidden !important;
}

.row-copy h2 {
  margin: 0 0 28px !important;
  font-family: "Avenir Medium", sans-serif !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 27px !important;
  letter-spacing: 2.5px !important;
}

.row-media,
.max-row.reverse .row-media {
  height: 436px !important;
  min-height: 436px !important;
  max-height: 436px !important;
}

.row-media img {
  width: 100% !important;
  height: 436px !important;
  min-height: 436px !important;
  max-height: 436px !important;
  object-fit: cover !important;
}

.impression-track {
  display: grid !important;
  grid-template-columns: 20% 60% 20% !important;
  gap: 0 !important;
  transform: none !important;
  transition: none !important;
  will-change: auto !important;
}

.impression-slide {
  min-width: 0 !important;
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
  padding: 15px 15px 80px !important;
}

.impression-slide img {
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  border-radius: 33px !important;
}

.hero-slide.active .hero-campaign-layer,
.hero-slide.active .hero-copy {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) !important;
}

.hero-slide.active .hero-buttons {
  opacity: 1 !important;
}

/* Original-section parity pass: labels, white rows, impressions. */
section.new-section2.logo-section {
  width: 100% !important;
  padding-bottom: 30px !important;
  background: #fafafa !important;
}

section.new-section2.logo-section .container.logo-container {
  width: min(1440px, 100%) !important;
  max-width: 1440px !important;
  min-height: 0 !important;
  padding: 0 15px !important;
  margin: 0 auto !important;
  display: block !important;
  text-align: center !important;
  background: transparent !important;
}

section.new-section2.logo-section .container.logo-container > .col-md-12 {
  width: 100% !important;
  padding-top: 70px !important;
  padding-bottom: 50px !important;
}

section.new-section2.logo-section h2.logo-headline {
  margin: 0 !important;
  color: #262626 !important;
  font-family: "Avenir Book", sans-serif !important;
  font-size: 50px !important;
  font-style: normal !important;
  font-weight: 300 !important;
  line-height: 56px !important;
  letter-spacing: -.1px !important;
  text-align: center !important;
}

section.new-section2.logo-section h2.logo-headline.logo-headline-grau {
  color: #c0c0c0 !important;
}

section.new-section2.logo-section .container.logo-container > .col-md-3,
section.new-section2.logo-section .container.logo-container > .col-md-6 {
  float: none !important;
  display: block !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

section.new-section2.logo-section .container.logo-container > .col-md-6 {
  width: 50% !important;
  max-width: 720px !important;
}

section.new-section2.logo-section .logo-feld {
  width: 100% !important;
  max-width: 502px !important;
  height: 43px !important;
  min-height: 43px !important;
  margin: 0 auto !important;
  padding: 8px 30px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  overflow: hidden !important;
  border-radius: 15px !important;
  border: 1px solid rgba(0, 0, 0, .06) !important;
  background: #f2f2f0 !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .04) !important;
  color-scheme: light !important;
  isolation: isolate !important;
}

section.new-section2.logo-section span.seen-in {
  flex: 0 0 auto !important;
  width: 112px !important;
  min-width: 112px !important;
  margin: 0 !important;
  color: #1a1a1a !important;
  font-family: "Avenir Book", sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 27px !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

section.new-section2.logo-section .logo-holder-neu {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: auto !important;
  height: 27px !important;
  display: flex !important;
  align-items: flex-start !important;
  margin-left: 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

section.new-section2.logo-section .logo-holder-neu .press-logo-track {
  height: 27px !important;
  display: flex !important;
  align-items: flex-start !important;
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  animation: pressLogoMarquee 24s linear infinite !important;
}

section.new-section2.logo-section .logo-holder-neu .partner-logo-sequence {
  height: 27px !important;
  display: flex !important;
  align-items: center !important;
  flex: 0 0 auto !important;
}

section.new-section2.logo-section .logo-holder-neu .partner-logo {
  height: 27px !important;
  min-width: 92px !important;
  margin: 0 10px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #171717 !important;
  text-decoration: none !important;
  flex: 0 0 auto !important;
}

section.new-section2.logo-section .logo-holder-neu .partner-logo:focus-visible,
section.new-section2.logo-section .partner-marquee-toggle:focus-visible {
  outline: 2px solid #f41e4e !important;
  outline-offset: 2px !important;
}

section.new-section2.logo-section .logo-holder-neu img.logobild {
  width: auto !important;
  max-width: none !important;
  max-height: 21px !important;
  height: auto !important;
  margin: 0 !important;
  display: block !important;
  background: none !important;
  object-fit: contain !important;
  flex: 0 0 auto !important;
  filter: grayscale(1) contrast(1.25) !important;
  mix-blend-mode: multiply !important;
  opacity: .96 !important;
}

section.new-section2.logo-section .logo-holder-neu img.partner-logo-invert {
  filter: grayscale(1) brightness(0) contrast(1.2) !important;
  mix-blend-mode: normal !important;
  opacity: .94 !important;
}

section.new-section2.logo-section .logo-holder-neu .partner-logo[aria-label="Visit Panatta"] img {
  max-width: 88px !important;
  max-height: 19px !important;
}

section.new-section2.logo-section .logo-holder-neu .partner-logo[aria-label="Visit Hold Strong"] img {
  max-width: 104px !important;
  max-height: 17px !important;
}

section.new-section2.logo-section .logo-holder-neu .partner-logo[aria-label="Visit FITYES"] img {
  max-width: 94px !important;
  max-height: 19px !important;
}

section.new-section2.logo-section .logo-holder-neu .partner-logo[aria-label="Visit David"] img,
section.new-section2.logo-section .logo-holder-neu .partner-logo[aria-label="Visit RAW Nutrition"] img {
  max-width: 96px !important;
  max-height: 18px !important;
}

section.new-section2.logo-section .logo-holder-neu .partner-logo[aria-label="Visit RYSE Supplements"] img,
section.new-section2.logo-section .logo-holder-neu .partner-logo[aria-label="Visit LMNT"] img {
  max-width: 78px !important;
  max-height: 19px !important;
}

section.new-section2.logo-section .logo-holder-neu .partner-logo[aria-label="Visit Gorilla Mind"] img {
  max-width: 34px !important;
  max-height: 21px !important;
}

section.new-section2.logo-section .logo-holder-neu .partner-wordmark {
  font-family: Arial, Helvetica, sans-serif !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: -.6px !important;
}

section.new-section2.logo-section .logo-holder-neu .partner-wordmark-panatta {
  font-style: italic !important;
  letter-spacing: -1px !important;
}

section.new-section2.logo-section .logo-holder-neu .partner-wordmark-ryse {
  font-size: 16px !important;
  letter-spacing: -1.4px !important;
}

section.new-section2.logo-section .partner-marquee-toggle {
  width: 24px !important;
  height: 24px !important;
  padding: 0 !important;
  margin: 0 0 0 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: transparent !important;
  color: #333 !important;
  font: 700 11px/1 Arial, sans-serif !important;
  cursor: pointer !important;
  flex: 0 0 24px !important;
}

section.new-section2.logo-section .partner-marquee-toggle:hover {
  background: rgba(0, 0, 0, .08) !important;
}

section.new-section2.logo-section .logo-holder-neu.is-paused .press-logo-track,
section.new-section2.logo-section .partner-rail.is-paused .press-logo-track,
section.new-section2.logo-section .partner-rail:focus-within .press-logo-track {
  animation-play-state: paused !important;
}

section.new-section2.logo-section .partner-rail:focus-within {
  overflow-x: auto !important;
}

section.new-section2.logo-section .partner-rail:focus-within .press-logo-track {
  animation: none !important;
  transform: none !important;
}

section.new-section2.logo-section .partner-rail:focus-within .partner-logo-sequence[aria-hidden="true"] {
  display: none !important;
}

.search-layer .brand-search {
  position: absolute !important;
  left: 46px !important;
  top: 14px !important;
  width: 144px !important;
  height: 36px !important;
  min-height: 36px !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  overflow: visible !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  z-index: 3 !important;
}

.search-layer .brand-search .search-brand-logo {
  width: 144px !important;
  height: 36px !important;
  max-width: 100% !important;
  max-height: 36px !important;
  display: block !important;
  object-fit: contain !important;
  object-position: left center !important;
  filter: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.site-header.search-active .fixed-header > .brand {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 767px) {
  .search-layer .brand-search {
    left: 20px !important;
    width: 124px !important;
  }

  .search-layer .brand-search .search-brand-logo {
    width: 124px !important;
  }
}

@keyframes pressLogoMarquee {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(-50%, 0, 0);
  }
}

section.label-band {
  width: 100% !important;
  background: #fafafa !important;
}

section.label-band .container.label-container {
  width: min(1440px, 100%) !important;
  max-width: 1440px !important;
  min-height: 551px !important;
  margin: 0 auto !important;
  padding: 104px 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  background: transparent !important;
}

section.label-band .container.label-container > .col-sm-3.hoverfeld {
  position: relative !important;
  flex: 0 0 25% !important;
  width: 25% !important;
  max-width: 25% !important;
  padding: 0 5px !important;
  margin: 0 !important;
  overflow: visible !important;
  border-radius: 0 !important;
  background: transparent !important;
}

section.label-band .col-sm-3.hoverfeld a.button {
  display: block !important;
  width: 100% !important;
  color: #000 !important;
  text-decoration: none !important;
  background: transparent !important;
}

section.label-band img.hoveropacity {
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  aspect-ratio: 350 / 346.5 !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 15px !important;
  filter: saturate(.55) contrast(1.04) !important;
  transform: translate3d(0, 0, 0) scale3d(1, 1, 1) !important;
  transform-style: preserve-3d !important;
  transition: transform .4s ease-in-out, filter .4s ease-in-out !important;
}

section.label-band .col-sm-3.hoverfeld:hover img.hoveropacity {
  filter: saturate(1.18) contrast(1.04) !important;
  transform: translate3d(0, 0, 0) scale3d(1.01, 1.01, 1) rotateX(0deg) rotateY(0deg) rotateZ(0deg) skew(0deg, 0deg) !important;
}

section.label-band .label-container p.label-name {
  width: 100% !important;
  margin: 12px 0 0 !important;
  padding: 0 12px !important;
  color: #000 !important;
  font-size: 26px !important;
  line-height: 1.4 !important;
  letter-spacing: 2.5px !important;
  text-align: center !important;
  text-decoration: none !important;
  transition: color .3s ease-in-out !important;
}

section.label-band .label-container p.label-name strong {
  display: block !important;
  color: inherit !important;
  font-family: "Avenir LT W04_95 Black1475560", "Avenir Heavy", sans-serif !important;
  font-size: 32px !important;
  font-weight: 700 !important;
  line-height: 48px !important;
  letter-spacing: 2.5px !important;
  text-decoration: none !important;
}

section.label-band .label-container p.label-name strong span {
  display: block !important;
  color: inherit !important;
  font: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
}

section.label-band .hoverfeld:hover .RED-LABEL { color: #EF1C4A !important; }
section.label-band .hoverfeld:hover .BLACK-LABEL { color: #dddc00 !important; }
section.label-band .hoverfeld:hover .PINK-LABEL { color: #EF1C4A !important; }
section.label-band .hoverfeld:hover .WHITE-LABEL { color: #eae1c8 !important; }

.backgrounder-white.white-block {
  width: 100% !important;
  display: table !important;
  background: #fff !important;
  color: #1a1a1a !important;
}

.backgrounder-white.white-block .container.maxi-container {
  width: min(1640px, 100%) !important;
  max-width: 1640px !important;
  height: 436px !important;
  min-height: 436px !important;
  max-height: 436px !important;
  margin: 0 auto 9px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  overflow: hidden !important;
  background: #fff !important;
}

.backgrounder-white.white-block .container.maxi-container > .col-md-5 {
  flex: 0 0 41.66666667% !important;
  width: 41.66666667% !important;
  max-width: 41.66666667% !important;
  height: 100% !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
}

.backgrounder-white.white-block .container.maxi-container > .col-md-7 {
  flex: 0 0 58.33333333% !important;
  width: 58.33333333% !important;
  max-width: 58.33333333% !important;
  height: 436px !important;
  padding: 0 !important;
  display: flex !important;
  overflow: hidden !important;
  border-radius: 15px !important;
}

.backgrounder-white.white-block .limiter-feld {
  width: 100% !important;
  max-width: 800px !important;
  margin: 0 !important;
  padding: 0 75px !important;
  float: none !important;
}

.backgrounder-white.white-block .regular-headline {
  margin: 0 0 28px !important;
  color: #1a1a1a !important;
  font-family: "Avenir Medium", sans-serif !important;
  font-size: 30px !important;
  font-style: normal !important;
  font-weight: 400 !important;
  line-height: 27px !important;
  letter-spacing: 2.5px !important;
  text-align: center !important;
}

.backgrounder-white.white-block .regular-headline span {
  display: inline !important;
  padding: 0 0 0 2px !important;
  background: linear-gradient(rgba(239, 28, 74, .58), rgba(239, 28, 74, .58)) 0 82% / 100% 7px no-repeat !important;
}

.backgrounder-white.white-block .limiter-feld p {
  width: 100% !important;
  max-width: 460px !important;
  margin: 0 auto 10px !important;
  color: #1a1a1a !important;
  font-family: "Avenir Book", sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  line-height: 27px !important;
  letter-spacing: 0 !important;
  text-align: left !important;
}

.backgrounder-white.white-block .limiter-feld p + p {
  margin-top: 18px !important;
}

.backgrounder-white.white-block .limiter-feld p.strong-lines {
  margin-top: 30px !important;
  font-family: "Avenir Heavy", "Avenir LT W04_95 Black1475560", sans-serif !important;
  font-weight: 900 !important;
}

.backgrounder-white.white-block .limiter-feld p.strong-lines strong {
  font-family: inherit !important;
  font-weight: 900 !important;
}

.backgrounder-white.white-block .spacing-feld {
  height: 50px !important;
}

.backgrounder-white.white-block .col-md-6.cursiv-feld {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.backgrounder-white.white-block a.secondlink.cursiv-button,
.backgrounder-white.white-block a.outline-button {
  position: relative !important;
  z-index: 0 !important;
  width: 240px !important;
  min-height: 59px !important;
  margin: 0 auto !important;
  padding: 15px !important;
  display: table !important;
  overflow: hidden !important;
  border: 1px solid #fff !important;
  border-radius: 8px !important;
  background: #1a1a1a !important;
  color: #fff !important;
  font-family: "Avenir Book", sans-serif !important;
  font-size: 16px !important;
  font-style: normal !important;
  font-weight: 900 !important;
  line-height: 27px !important;
  letter-spacing: 2px !important;
  text-align: center !important;
  text-decoration: none !important;
  text-transform: none !important;
  transition: color .2s ease-out, transform .2s ease-out, border-color .2s ease-out !important;
}

.backgrounder-white.white-block a.secondlink.cursiv-button::after,
.backgrounder-white.white-block a.outline-button::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border-radius: 8px !important;
  background: #fff !important;
  transform: translate(-100%, 0) rotate(10deg) !important;
  transform-origin: top left !important;
  transition: .2s transform ease-out !important;
}

.backgrounder-white.white-block a.secondlink.cursiv-button:hover,
.backgrounder-white.white-block a.outline-button:hover {
  border-color: transparent !important;
  color: #000 !important;
  transform: scale(1.05) !important;
}

.backgrounder-white.white-block a.secondlink.cursiv-button:hover::after,
.backgrounder-white.white-block a.outline-button:hover::after {
  transform: translate(0, 0) !important;
}

.backgrounder-white.white-block .row-media img,
.backgrounder-white.white-block .col-md-7 img {
  width: 100% !important;
  height: 436px !important;
  min-height: 436px !important;
  max-height: 436px !important;
  margin: 0 !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 15px !important;
}

section.impressions {
  width: 100% !important;
  background: #262626 !important;
  color: #fff !important;
}

section.impressions .container.maxi-container.impression-container {
  width: min(1640px, 100%) !important;
  max-width: 1640px !important;
  margin: 0 auto !important;
  padding: 160px 0 10px !important;
  display: block !important;
  text-align: center !important;
}

section.impressions .impression-container h2,
section.impressions .impression-container h3 {
  margin: 0 0 60px !important;
  padding-bottom: 60px !important;
  color: #fff !important;
  font-family: "Avenir Book", sans-serif !important;
  font-size: 60px !important;
  font-style: normal !important;
  font-weight: 350 !important;
  line-height: 48px !important;
  letter-spacing: -.1px !important;
  text-align: center !important;
}

section.impressions .your-slider-class.impression-stage {
  width: 100% !important;
  overflow: hidden !important;
}

section.impressions .impression-track {
  width: auto !important;
  display: flex !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  overflow: visible !important;
  transform: translate3d(0, 0, 0);
  transition: transform .7s ease !important;
  will-change: transform !important;
}

section.impressions .impression-slide {
  flex: 0 0 60% !important;
  width: 60% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 15px 15px 80px !important;
  background: transparent !important;
}

section.impressions .impression-slide img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  display: block !important;
  object-fit: cover !important;
  border-radius: 33px !important;
}

section.impressions .impression-slide p {
  width: 100% !important;
  margin: 42px 0 28px !important;
  display: block !important;
  color: #282828 !important;
  font-family: "Avenir Heavy", "Avenir Heavy2", "Avenir Book", Arial, sans-serif !important;
  font-size: clamp(18px, 1.06vw, 20px) !important;
  font-weight: 900 !important;
  line-height: 1.3 !important;
  letter-spacing: .9px !important;
  text-align: center !important;
}

section.impressions .impression-slide.active p,
section.impressions .impression-slide.slick-active p {
  color: #fff !important;
}

section.impressions .impression-caption {
  display: none !important;
}

section.impressions .impression-dots {
  bottom: auto !important;
  margin: 20px 0 0 !important;
  display: flex !important;
  justify-content: center !important;
  gap: 10px !important;
}

@media (max-width: 1780px) and (min-width: 1532px) {
  section.impressions .container.maxi-container.impression-container {
    max-width: 1520px !important;
  }
}

@media (max-width: 1531px) and (min-width: 1400px) {
  section.impressions .container.maxi-container.impression-container {
    max-width: 1380px !important;
  }
}

@media (max-width: 1024px) {
  section.label-band .container.label-container {
    flex-wrap: wrap !important;
    padding: 64px 15px !important;
  }

  section.label-band .container.label-container > .col-sm-3.hoverfeld {
    flex-basis: 50% !important;
    width: 50% !important;
    max-width: 50% !important;
    margin-bottom: 10px !important;
  }
}

@media (max-width: 767px) {
  section.impressions .impression-slide p {
    margin: 26px 0 22px !important;
    font-size: 15px !important;
    line-height: 20px !important;
    letter-spacing: .7px !important;
  }

  section.new-section2.logo-section h2.logo-headline {
    font-size: 30px !important;
    line-height: 36px !important;
  }

  section.new-section2.logo-section .container.logo-container > .col-md-6 {
    width: 100% !important;
  }

  section.new-section2.logo-section .logo-feld {
    width: min(502px, calc(100vw - 30px)) !important;
    flex-direction: row !important;
    align-items: center !important;
    padding: 8px 12px !important;
  }

  section.new-section2.logo-section .logo-holder-neu {
    margin: 0 !important;
  }

  section.new-section2.logo-section span.seen-in {
    width: 104px !important;
    min-width: 104px !important;
    font-size: 14px !important;
  }

  section.new-section2.logo-section .partner-marquee-toggle {
    margin-left: 2px !important;
  }

  .backgrounder-white.white-block {
    background: #fff !important;
  }

  .backgrounder-white.white-block .container.maxi-container {
    width: 100vw !important;
    max-width: 100vw !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 40px 0 !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: visible !important;
    background: #fff !important;
  }

  .backgrounder-white.white-block .container.maxi-container > .col-md-5,
  .backgrounder-white.white-block .container.maxi-container > .col-md-7 {
    width: 100vw !important;
    max-width: 100vw !important;
    flex-basis: auto !important;
    height: auto !important;
    max-height: none !important;
  }

  .backgrounder-white.white-block .limiter-feld {
    width: 100% !important;
    max-width: 100vw !important;
    padding: 0 20px !important;
  }

  .backgrounder-white.white-block .regular-headline,
  .backgrounder-white.white-block .limiter-feld p {
    color: #1a1a1a !important;
    text-align: left !important;
  }

  .backgrounder-white.white-block .limiter-feld p {
    max-width: calc(100vw - 40px) !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .backgrounder-white.white-block .col-md-6.cursiv-feld {
    width: 100% !important;
    max-width: calc(100vw - 40px) !important;
  }

  .backgrounder-white.white-block a.secondlink.cursiv-button,
  .backgrounder-white.white-block a.outline-button {
    margin-left: auto !important;
    margin-right: auto !important;
  }

  .backgrounder-white.white-block .row-media img,
  .backgrounder-white.white-block .col-md-7 img {
    width: 100vw !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
  }
}

/* Final lock: two-line centered membership labels and white-row spacing. */
section.label-band .label-container p.label-name {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 14px auto 0 !important;
  padding: 0 8px !important;
  overflow: visible !important;
  text-align: center !important;
  white-space: normal !important;
}

section.label-band .label-container p.label-name strong {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 5px !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  font-size: 26px !important;
  line-height: 1.16 !important;
  letter-spacing: 2px !important;
  text-align: center !important;
  white-space: normal !important;
  word-spacing: normal !important;
}

section.label-band .label-container p.label-name strong span {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
  text-align: center !important;
  white-space: nowrap !important;
  word-spacing: normal !important;
}

.backgrounder-white.white-block .container.maxi-container.reverse {
  margin-top: 62px !important;
}

.backgrounder-white.white-block .container.maxi-container.reverse .limiter-feld {
  padding-top: 42px !important;
}

.backgrounder-white.white-block .limiter-feld p + p {
  margin-top: 26px !important;
}

@media (min-width: 761px) {
  .backgrounder-white.white-block .container.maxi-container {
    height: auto !important;
    min-height: 560px !important;
    max-height: none !important;
    align-items: stretch !important;
    overflow: visible !important;
  }

  .backgrounder-white.white-block .container.maxi-container > .col-md-5,
  .backgrounder-white.white-block .container.maxi-container > .col-md-7 {
    height: auto !important;
    min-height: 560px !important;
    max-height: none !important;
  }

  .backgrounder-white.white-block .container.maxi-container > .col-md-5 {
    align-items: center !important;
  }

  .backgrounder-white.white-block .container.maxi-container > .col-md-7 {
    overflow: hidden !important;
  }

  .backgrounder-white.white-block .container.maxi-container.reverse .limiter-feld {
    padding-top: 0 !important;
  }

  .backgrounder-white.white-block .row-media img,
  .backgrounder-white.white-block .col-md-7 img {
    height: 100% !important;
    min-height: 560px !important;
    max-height: none !important;
    object-fit: cover !important;
  }

  .backgrounder-white.white-block .spacing-feld {
    height: 34px !important;
  }
}

/* Final 2026-06-23 viewport-layer repair.
   Fitseveneleven keeps the hero taller than the viewport so the image sits
   behind both the header and the fixed opening bar. */
:root {
  --crays-fit-header-h: 67px;
  --crays-fit-opening-h: 86px;
  --crays-fit-hero-extra: 48px;
}

html,
body {
  margin: 0 !important;
  padding: 0 !important;
}

body {
  overflow-x: hidden !important;
  padding-bottom: 0 !important;
}

.site-shell,
main {
  overflow: visible !important;
}

.site-header {
  position: fixed !important;
  inset: 0 0 auto 0 !important;
  width: 100% !important;
  height: var(--crays-fit-header-h) !important;
  z-index: 10000 !important;
  background: rgba(0, 0, 0, 0) !important;
  border: 0 !important;
  border-radius: 0 0 20px 20px !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: blur(13px) !important;
  backdrop-filter: blur(13px) !important;
  pointer-events: none !important;
}

.site-header::before,
.site-header::after {
  display: none !important;
}

.fixed-header {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: none !important;
  height: var(--crays-fit-header-h) !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  z-index: 10002 !important;
  pointer-events: auto !important;
}

.brand {
  position: absolute !important;
  left: 46px !important;
  top: 15px !important;
  width: 142px !important;
  height: 38px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  z-index: 10004 !important;
}

.brand-logo {
  width: 142px !important;
  height: auto !important;
  max-height: 38px !important;
  object-fit: contain !important;
}

.header-nav {
  position: fixed !important;
  top: 7px !important;
  right: 40px !important;
  width: 560px !important;
  height: 60px !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  background: transparent !important;
  z-index: 10003 !important;
  pointer-events: auto !important;
}

.search-trigger {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 58px !important;
  height: 54px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.search-trigger img {
  width: 28px !important;
  height: 28px !important;
}

.login-wrap {
  position: absolute !important;
  left: 78px !important;
  top: 7px !important;
  width: 126px !important;
  height: 40px !important;
  margin: 0 !important;
}

.member-wrap {
  position: absolute !important;
  left: 224px !important;
  top: 7px !important;
  width: 200px !important;
  height: 40px !important;
  margin: 0 !important;
}

.header-button,
.login-button,
.member-button {
  position: relative !important;
  width: 100% !important;
  height: 40px !important;
  min-height: 0 !important;
  padding: 0 42px 0 20px !important;
  border: 0 !important;
  border-radius: 5px !important;
  font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
  font-size: 10px !important;
  line-height: 40px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
}

.login-button {
  background: rgb(84, 84, 84) !important;
  color: #fff !important;
}

.member-button {
  background: #fff !important;
  color: rgba(0, 0, 0, .88) !important;
}

.header-button span {
  position: absolute !important;
  right: 20px !important;
  top: 50% !important;
  width: 18px !important;
  height: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: translateY(-50%) !important;
}

.header-button span img {
  width: 18px !important;
  height: 18px !important;
  object-fit: contain !important;
}

.menu-trigger {
  position: absolute !important;
  left: 444px !important;
  top: 0 !important;
  width: 116px !important;
  height: 60px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #fff !important;
}

.menu-copy {
  position: absolute !important;
  top: 23px !important;
  left: 7px !important;
  height: 12px !important;
  font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
  font-size: 10px !important;
  line-height: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: currentColor !important;
}

.hamburger {
  position: absolute !important;
  right: 16px !important;
  top: 0 !important;
  width: 28px !important;
  height: 60px !important;
  color: currentColor !important;
}

.hamburger::before,
.hamburger::after,
.hamburger span {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  width: 28px !important;
  height: 1px !important;
  background: currentColor !important;
  opacity: 1 !important;
  transform: none !important;
}

.hamburger::before {
  top: 24px !important;
}

.hamburger span {
  top: 30px !important;
  display: block !important;
}

.hamburger::after {
  top: 36px !important;
}

.hero-slider {
  position: relative !important;
  width: 100% !important;
  height: calc(100vh + var(--crays-fit-hero-extra)) !important;
  min-height: calc(100vh + var(--crays-fit-hero-extra)) !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  background: #050505 !important;
}

.hero-slide,
.hero-slide.active {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.hero-bg {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: none !important;
  object-fit: cover !important;
  object-position: center center !important;
  transform: none !important;
}

.hero-campaign-layer {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 100vw !important;
  height: auto !important;
  max-width: none !important;
  transform: none !important;
}

.hero-buttons {
  position: absolute !important;
  left: 7.9% !important;
  bottom: 206px !important;
  z-index: 7 !important;
}

.hero-slide:nth-child(2) .hero-buttons,
.hero-slide:nth-child(3) .hero-buttons {
  left: 7.13% !important;
  bottom: 179px !important;
}

.scroll-cue {
  position: absolute !important;
  left: 38px !important;
  bottom: 32px !important;
  z-index: 6 !important;
}

.hero-line {
  position: absolute !important;
  left: 15.2% !important;
  bottom: 42px !important;
  z-index: 6 !important;
}

.hero-dots {
  position: absolute !important;
  left: 50% !important;
  bottom: 35px !important;
  z-index: 6 !important;
  transform: translateX(-50%) !important;
}

.hero-count {
  position: absolute !important;
  right: 232px !important;
  bottom: 41px !important;
  z-index: 6 !important;
}

.hero-arrows {
  position: absolute !important;
  right: 40px !important;
  bottom: 32px !important;
  z-index: 6 !important;
}

.hero-help {
  position: absolute !important;
  right: 24px !important;
  bottom: 111px !important;
  z-index: 12 !important;
}

.hero-widget {
  position: fixed !important;
  right: 40px !important;
  bottom: 28px !important;
  z-index: 10030 !important;
}

.opening-bar {
  position: fixed !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: var(--crays-fit-opening-h) !important;
  min-height: var(--crays-fit-opening-h) !important;
  max-height: var(--crays-fit-opening-h) !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 10020 !important;
}

.opening-copy {
  font-family: "Avenir Heavy", Avenir, Arial, sans-serif !important;
  font-size: 14px !important;
  line-height: 27px !important;
  font-weight: 800 !important;
  letter-spacing: 2.5px !important;
}

.count-number {
  font-family: "Avenir Heavy", Avenir, Arial, sans-serif !important;
  font-size: 29px !important;
  line-height: 32px !important;
  font-weight: 800 !important;
  letter-spacing: 5px !important;
}

.count-label {
  font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
  font-size: 10px !important;
  line-height: 12px !important;
  letter-spacing: 1.6px !important;
}

.site-header.menu-active {
  background: #fff !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  border-radius: 0 !important;
  border-bottom: 1px solid rgba(0, 0, 0, .12) !important;
}

.site-header.menu-active .brand-logo-light {
  display: none !important;
}

.site-header.menu-active .brand-logo-dark {
  display: block !important;
}

.site-header.menu-active .search-trigger img {
  filter: brightness(0) !important;
}

.site-header.menu-active .menu-trigger,
.site-header.menu-active .menu-copy,
.site-header.menu-active .hamburger {
  color: #000 !important;
}

.site-header.menu-active .hamburger::before {
  top: 20px !important;
  transform: rotate(45deg) !important;
}

.site-header.menu-active .hamburger span {
  opacity: 0 !important;
}

.site-header.menu-active .hamburger::after {
  top: 20px !important;
  transform: rotate(-45deg) !important;
}

.menu-overlay {
  position: fixed !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100vh !important;
  background: #fff !important;
  color: #2b2b2b !important;
  overflow: hidden !important;
  visibility: hidden !important;
  opacity: 0 !important;
  z-index: 9998 !important;
  transition: opacity .32s ease, visibility .32s ease !important;
}

.menu-overlay.active {
  visibility: visible !important;
  opacity: 1 !important;
}

.menu-overlay-bg {
  position: absolute !important;
  inset: 0 !important;
  background: #fff !important;
}

.menu-overlay::before {
  content: "" !important;
  position: absolute !important;
  left: 170px !important;
  top: 190px !important;
  width: 720px !important;
  height: 720px !important;
  background: url("assets/crays-mark.svg") center/contain no-repeat !important;
  opacity: .035 !important;
  filter: grayscale(1) brightness(1.8) !important;
  pointer-events: none !important;
}

.menu-small {
  position: absolute !important;
  left: 866px !important;
  top: 596px !important;
  width: 300px !important;
  z-index: 2 !important;
}

.menu-large {
  position: absolute !important;
  left: 1263px !important;
  top: 280px !important;
  width: 580px !important;
  height: 620px !important;
  padding: 56px 52px !important;
  border-radius: 12px !important;
  background: #e9eef0 !important;
  z-index: 2 !important;
}

/* Crays task pass: real editable hero offer type, replacing the old baked-in campaign image. */
.hero-offer-copy {
  position: absolute !important;
  left: 7.6% !important;
  top: 28.2% !important;
  width: min(900px, 58vw) !important;
  color: #fff !important;
  text-transform: uppercase !important;
  text-shadow: 0 18px 44px rgba(0, 0, 0, .55) !important;
}

.hero-offer-copy h1 {
  display: inline-block !important;
  margin: 0 !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: clamp(76px, 7.65vw, 148px) !important;
  line-height: .78 !important;
  font-style: italic !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

.hero-offer-copy h1 span {
  display: block !important;
  white-space: nowrap !important;
}

.hero-offer-copy p {
  display: block !important;
  width: fit-content !important;
  max-width: 100% !important;
  margin: 20px 0 0 !important;
  padding: 0 !important;
  background: transparent !important;
  color: rgba(255, 255, 255, .9) !important;
  font-family: "Avenir Heavy", "Montserrat", Arial, sans-serif !important;
  font-size: clamp(13px, .98vw, 19px) !important;
  line-height: 1.05 !important;
  font-weight: 800 !important;
  letter-spacing: 2.7px !important;
  white-space: nowrap !important;
  text-shadow: 0 8px 26px rgba(0, 0, 0, .4) !important;
}

.hero-offer-copy.hero-offer-text {
  top: 27.5% !important;
  width: min(1020px, 64vw) !important;
  max-width: 1020px !important;
  text-transform: none !important;
}

.hero-offer-copy.hero-offer-text h1 {
  display: block !important;
  max-width: 980px !important;
  font-family: "Avenir Heavy", "Montserrat", Arial, sans-serif !important;
  font-size: clamp(45px, 4.25vw, 82px) !important;
  line-height: .98 !important;
  font-style: normal !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
  text-wrap: balance !important;
}

.hero-offer-copy.hero-offer-text p {
  width: min(760px, 100%) !important;
  max-width: 760px !important;
  margin-top: 24px !important;
  font-family: "Avenir Book", "Montserrat", Arial, sans-serif !important;
  font-size: clamp(17px, 1.24vw, 24px) !important;
  line-height: 1.28 !important;
  font-weight: 700 !important;
  letter-spacing: .2px !important;
  white-space: normal !important;
  text-wrap: balance !important;
}

.hero-slide.active .hero-offer-copy,
.hero-slide.active.hero-enter .hero-offer-copy {
  opacity: 1 !important;
  transform: none !important;
}

.hero-slide:nth-child(2) .hero-buttons,
.hero-slide:nth-child(3) .hero-buttons,
.hero-slide:nth-child(4) .hero-buttons {
  left: 7.9% !important;
  bottom: 206px !important;
}

.hero-slide:nth-child(2) .hero-buttons button:first-child,
.hero-slide:nth-child(2) .hero-buttons a:first-child,
.hero-slide:nth-child(3) .hero-buttons button:first-child,
.hero-slide:nth-child(3) .hero-buttons a:first-child,
.hero-slide:nth-child(4) .hero-buttons button:first-child,
.hero-slide:nth-child(4) .hero-buttons a:first-child {
  background: #fff !important;
  color: #000 !important;
  border-color: #fff !important;
}

.hero-slide:nth-child(4) .hero-copy {
  top: 25.5% !important;
}

.hero-buttons,
.hero-slide:nth-child(2) .hero-buttons,
.hero-slide:nth-child(3) .hero-buttons,
.hero-slide:nth-child(4) .hero-buttons {
  gap: 14px !important;
}

.hero-buttons > * + * {
  margin-left: 0 !important;
}

/* Header and fixed helper alignment pass after reference measurement. */
.header-nav {
  right: 40px !important;
  top: 7px !important;
  width: 560px !important;
  height: 60px !important;
}

.search-trigger {
  left: 10px !important;
}

.login-button {
  left: 78px !important;
  top: 7px !important;
  min-width: 126px !important;
}

.member-button {
  left: 224px !important;
  top: 7px !important;
  width: 200px !important;
  min-width: 200px !important;
}

.menu-trigger {
  left: 444px !important;
  top: 0 !important;
  width: 116px !important;
  height: 60px !important;
}

.menu-copy {
  left: 5px !important;
  top: 23px !important;
  width: 52px !important;
  text-align: left !important;
}

.hamburger {
  right: 0 !important;
  top: 0 !important;
  width: 45px !important;
  height: 60px !important;
}

.hamburger span,
.hamburger::before,
.hamburger::after {
  right: 0 !important;
  width: 29px !important;
  height: 1px !important;
}

.hamburger::before {
  top: 24px !important;
}

.hamburger span {
  top: 30px !important;
}

.hamburger::after {
  top: 36px !important;
}

.hero-help {
  bottom: 158px !important;
}

.hero-widget {
  bottom: 28px !important;
}

.site-header .fixed-header .header-nav .menu-trigger {
  width: 116px !important;
}

.site-header .fixed-header .header-nav .menu-copy {
  left: 5px !important;
  width: 52px !important;
}

.site-header .fixed-header .header-nav .hamburger {
  right: 0 !important;
  width: 45px !important;
}

.site-header .fixed-header .header-nav .hamburger span,
.site-header .fixed-header .header-nav .hamburger::before,
.site-header .fixed-header .header-nav .hamburger::after {
  right: 0 !important;
  width: 29px !important;
}

.menu-overlay::before {
  left: 142px !important;
  top: 172px !important;
  width: 760px !important;
  height: 760px !important;
  opacity: .065 !important;
  filter: grayscale(1) brightness(.15) !important;
}

.menu-actions {
  bottom: 128px !important;
}

.menu-footer {
  bottom: 116px !important;
  color: rgba(0, 0, 0, .56) !important;
}

.privacy-link {
  bottom: 150px !important;
  color: rgba(0, 0, 0, .56) !important;
}

@media (max-width: 760px) {
  html,
  body,
  .site-shell {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  .brand {
    left: 22px !important;
    top: 17px !important;
    width: 140px !important;
  }

  .header-nav {
    right: 16px !important;
    width: 144px !important;
  }

  .login-wrap,
  .member-wrap {
    display: none !important;
  }

  .search-trigger {
    left: 0 !important;
    top: 5px !important;
  }

  .site-header .fixed-header .header-nav .menu-trigger {
    left: 58px !important;
    width: 86px !important;
  }

  .site-header .fixed-header .header-nav .menu-copy {
    display: none !important;
  }

  .site-header .fixed-header .header-nav .hamburger {
    right: 0 !important;
    width: 38px !important;
  }

  .hero-slider {
    height: 100vh !important;
    min-height: 844px !important;
  }

  .hero-offer-copy {
    left: 28px !important;
    top: 29% !important;
    width: calc(100vw - 56px) !important;
    max-width: calc(100vw - 56px) !important;
  }

  .hero-offer-copy h1 {
    max-width: 100% !important;
    font-size: clamp(49px, 16vw, 68px) !important;
    line-height: .83 !important;
  }

  .hero-offer-copy h1 span {
    white-space: normal !important;
  }

  .hero-offer-copy p {
    max-width: 100% !important;
    font-size: 10px !important;
    line-height: 1.25 !important;
    letter-spacing: 1.35px !important;
    white-space: normal !important;
  }

  .hero-offer-copy.hero-offer-text {
    top: 24% !important;
  }

  .hero-offer-copy.hero-offer-text h1 {
    font-size: clamp(32px, 10vw, 43px) !important;
    line-height: 1.02 !important;
    text-wrap: balance !important;
  }

  .hero-offer-copy.hero-offer-text p {
    margin-top: 18px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    letter-spacing: .1px !important;
    text-wrap: balance !important;
  }

  .hero-buttons,
  .hero-slide:nth-child(2) .hero-buttons,
  .hero-slide:nth-child(3) .hero-buttons,
  .hero-slide:nth-child(4) .hero-buttons {
    left: 28px !important;
    right: 28px !important;
    bottom: 176px !important;
    width: calc(100vw - 56px) !important;
    gap: 10px !important;
  }

  .hero-buttons button,
  .hero-buttons a {
    min-width: 0 !important;
    width: calc((100% - 10px) / 2) !important;
    height: 58px !important;
    padding: 0 12px !important;
    font-size: 11px !important;
    line-height: 58px !important;
  }

  .hero-help {
    right: 18px !important;
    bottom: 124px !important;
    width: 174px !important;
    height: 42px !important;
    font-size: 14px !important;
  }

  .hero-widget {
    right: 20px !important;
    bottom: 18px !important;
    width: 64px !important;
    height: 64px !important;
  }

  .opening-bar {
    height: 86px !important;
    padding: 10px 92px 10px 18px !important;
    justify-content: flex-start !important;
    gap: 10px !important;
  }

  .opening-copy {
    margin: 0 !important;
    max-width: 116px !important;
    height: auto !important;
    font-size: 9px !important;
    line-height: 1.15 !important;
    letter-spacing: 1.2px !important;
    white-space: normal !important;
  }

  .opening-time strong {
    font-size: 15px !important;
    line-height: 18px !important;
    letter-spacing: 1.2px !important;
  }

  .opening-time em {
    font-size: 6px !important;
    line-height: 12px !important;
    letter-spacing: .8px !important;
  }

  .opening-time span {
    width: 31px !important;
    min-width: 31px !important;
    margin-right: 2px !important;
  }

  .opening-time {
    display: flex !important;
    flex: 0 0 auto !important;
    white-space: nowrap !important;
  }

  .fingerprint-action {
    display: none !important;
  }

  .scroll-cue,
  .hero-line,
  .hero-count,
  .hero-arrows,
  .hero-dots {
    display: none !important;
  }

  .menu-overlay::before {
    left: -190px !important;
    top: 120px !important;
    width: 560px !important;
    height: 560px !important;
  }

  .menu-large {
    left: 22px !important;
    right: 22px !important;
    top: 120px !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 34px 28px !important;
  }

  .menu-large a,
  .menu-large button {
    min-height: 46px !important;
    font-size: 24px !important;
  }

  .menu-small,
  .menu-actions,
  .menu-footer,
  .privacy-link {
    display: none !important;
  }

  .hero-slide.active .hero-offer-copy,
  .hero-slide.active.hero-enter .hero-offer-copy,
  .hero-slide.active .hero-buttons,
  .hero-slide.active.hero-enter .hero-buttons {
    opacity: 1 !important;
    transform: none !important;
  }

  .hero-slide.active .hero-buttons,
  .hero-slide.active.hero-enter .hero-buttons {
    left: 28px !important;
    right: auto !important;
    width: calc(100vw - 56px) !important;
    margin: 0 !important;
  }
}

/* Final layout pass: keep the association copy centered and protect people from being cropped. */
@media (min-width: 768px) {
  .backgrounder-white.white-block .container.maxi-container.association-row {
    min-height: 390px !important;
    height: auto !important;
    align-items: center !important;
    margin-top: 42px !important;
    margin-bottom: 36px !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .row-copy {
    min-height: 390px !important;
    height: 390px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 28px 24px !important;
    text-align: center !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .limiter-feld {
    width: 100% !important;
    max-width: 560px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    text-align: center !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .regular-headline,
  .backgrounder-white.white-block .container.maxi-container.association-row .limiter-feld p {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .regular-headline {
    margin-bottom: 22px !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .limiter-feld p {
    max-width: 500px !important;
    line-height: 1.62 !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .limiter-feld p + p,
  .backgrounder-white.white-block .container.maxi-container.association-row .limiter-feld .strong-lines {
    margin-top: 18px !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .spacing-feld {
    height: 26px !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .cursiv-feld {
    float: none !important;
    width: 100% !important;
    max-width: none !important;
    display: flex !important;
    justify-content: center !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .row-media,
  .backgrounder-white.white-block .container.maxi-container.association-row .col-md-7 {
    min-height: 390px !important;
    height: 390px !important;
    max-height: 390px !important;
  }

  .backgrounder-white.white-block .container.maxi-container.association-row .row-media img,
  .backgrounder-white.white-block .container.maxi-container.association-row .col-md-7 img {
    height: 390px !important;
    min-height: 390px !important;
    max-height: 390px !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
}

.news-card img {
  object-fit: contain !important;
  object-position: center center !important;
  background: #181818 !important;
}

.label-recover img {
  object-position: center center !important;
}
/* EOF override: original full cover frame for the dark story cards. */
.newsfeed .news-cards .news-card .news-card-main > img {
  display: block !important;
  width: 425px !important;
  height: 495px !important;
  min-height: 495px !important;
  max-height: 495px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border-radius: 15px !important;
  background: transparent !important;
}

/* Final visible menu overlay calibration: measured against the desktop reference and kept clear of the sticky opening bar. */
@media (min-width: 1024px) {
  body.menu-open {
    overflow: hidden !important;
  }

  body.menu-open .site-header {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    height: 154px !important;
    background: #fff !important;
    color: #111 !important;
    border-radius: 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, .12) !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    z-index: 10030 !important;
  }

  body.menu-open .fixed-header {
    position: relative !important;
    width: 100% !important;
    height: 154px !important;
    max-width: none !important;
  }

  body.menu-open .brand {
    position: fixed !important;
    left: 47px !important;
    top: 20px !important;
    width: 172px !important;
    height: 35px !important;
    z-index: 10050 !important;
  }

  body.menu-open .brand-logo-light {
    display: none !important;
  }

  body.menu-open .brand-logo-dark {
    display: block !important;
  }

  body.menu-open .brand-logo {
    width: 172px !important;
    max-height: 35px !important;
  }

  body.menu-open .header-nav {
    position: fixed !important;
    top: 14px !important;
    right: 55px !important;
    width: 482px !important;
    height: 47px !important;
    z-index: 10050 !important;
  }

  body.menu-open .search-trigger {
    position: absolute !important;
    left: -58px !important;
    top: 0 !important;
    width: 58px !important;
    height: 43px !important;
  }

  body.menu-open .search-trigger img {
    width: 30px !important;
    height: 30px !important;
    filter: brightness(0) !important;
  }

  body.menu-open .login-wrap {
    position: absolute !important;
    left: 20px !important;
    top: 0 !important;
    width: 126px !important;
    height: 40px !important;
  }

  body.menu-open .member-wrap {
    position: absolute !important;
    left: 168px !important;
    top: 0 !important;
    width: 200px !important;
    height: 40px !important;
  }

  body.menu-open .login-button,
  body.menu-open .member-button {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 40px !important;
    padding: 0 40px 0 0 !important;
    border-radius: 5px !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 40px !important;
    font-weight: 700 !important;
    letter-spacing: 1.6px !important;
  }

  body.menu-open .login-button {
    background: #545454 !important;
    color: #fff !important;
  }

  body.menu-open .member-button {
    background: #fff !important;
    color: #111 !important;
  }

  body.menu-open .menu-trigger {
    position: absolute !important;
    left: 389px !important;
    top: -9px !important;
    width: 105px !important;
    height: 58px !important;
    color: #111 !important;
  }

  body.menu-open .menu-copy {
    top: 22px !important;
    left: 0 !important;
    width: 54px !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 12px !important;
    font-weight: 700 !important;
    letter-spacing: 1.55px !important;
    color: #111 !important;
  }

  body.menu-open .hamburger {
    top: 0 !important;
    right: 0 !important;
    width: 31px !important;
    height: 58px !important;
  }

  body.menu-open .hamburger::before,
  body.menu-open .hamburger::after,
  body.menu-open .hamburger span {
    left: 0 !important;
    right: auto !important;
    width: 31px !important;
    height: 1px !important;
    background: #111 !important;
  }

  body.menu-open .hamburger::before,
  body.menu-open .hamburger::after {
    top: 29px !important;
  }

  body.menu-open .hamburger::before {
    transform: rotate(45deg) !important;
  }

  body.menu-open .hamburger::after {
    transform: rotate(-45deg) !important;
  }

  body.menu-open .hamburger span {
    opacity: 0 !important;
  }

  body.menu-open .menu-overlay {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    visibility: visible !important;
    opacity: 1 !important;
    overflow: hidden !important;
    background: #fff !important;
    color: #2b2b2b !important;
    z-index: 10010 !important;
  }

  body.menu-open .menu-overlay-bg {
    background: #fff !important;
  }

  body.menu-open .menu-overlay::before {
    content: "" !important;
    position: absolute !important;
    left: 194px !important;
    top: 113px !important;
    width: 690px !important;
    height: 690px !important;
    background: url("assets/crays-mark.svg") center/contain no-repeat !important;
    opacity: .035 !important;
    filter: grayscale(1) brightness(1.9) saturate(0) !important;
    pointer-events: none !important;
  }

  body.menu-open .menu-large {
    position: absolute !important;
    left: auto !important;
    right: 78px !important;
    top: 194px !important;
    width: 580px !important;
    height: 620px !important;
    min-height: 0 !important;
    padding: 55px 52px 34px !important;
    border-radius: 10px !important;
    background: #e9eef0 !important;
    color: #2c2c2c !important;
    z-index: 2 !important;
  }

  body.menu-open .menu-title {
    display: block !important;
    margin: 0 0 44px !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 13px !important;
    line-height: 15px !important;
    font-weight: 400 !important;
    letter-spacing: 4px !important;
    color: #000 !important;
  }

  body.menu-open .menu-large ul {
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  body.menu-open .menu-large li {
    height: 55px !important;
    border-top: 1px solid rgba(0, 0, 0, .13) !important;
  }

  body.menu-open .menu-large li:last-child {
    border-bottom: 1px solid rgba(0, 0, 0, .13) !important;
  }

  body.menu-open .menu-large a,
  body.menu-open .menu-large button {
    width: 100% !important;
    height: 55px !important;
    min-height: 55px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    font-family: "Avenir Book", "Poppins", Arial, sans-serif !important;
    font-size: 50px !important;
    line-height: 55px !important;
    font-weight: 400 !important;
    letter-spacing: -2.2px !important;
    color: #2c2c2c !important;
    text-align: left !important;
    background: transparent !important;
    border: 0 !important;
  }

  body.menu-open .menu-large li:first-child button,
  body.menu-open .menu-large li:first-child a {
    font-family: "Avenir Heavy", "Poppins", Arial, sans-serif !important;
    font-weight: 900 !important;
    letter-spacing: -2.4px !important;
  }

  body.menu-open .menu-secondary {
    position: absolute !important;
    left: 52px !important;
    right: 52px !important;
    bottom: 32px !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px 54px !important;
    margin: 0 !important;
  }

  body.menu-open .menu-secondary a {
    min-height: 0 !important;
    height: 16px !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 16px !important;
    font-weight: 700 !important;
    letter-spacing: -.35px !important;
    color: #000 !important;
    white-space: nowrap !important;
  }

  body.menu-open .menu-small {
    position: absolute !important;
    left: 786px !important;
    top: 458px !important;
    width: 380px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    color: #666 !important;
    display: block !important;
    z-index: 2 !important;
  }

  body.menu-open .menu-small a {
    width: 380px !important;
    height: 40px !important;
    padding: 0 0 0 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    border-top: 1px solid rgba(0, 0, 0, .14) !important;
    background: transparent !important;
    color: #6d6d6d !important;
    font-family: "Avenir Book", "Poppins", Arial, sans-serif !important;
    font-size: 28px !important;
    line-height: 40px !important;
    font-weight: 400 !important;
    letter-spacing: 2.2px !important;
    text-align: right !important;
    white-space: nowrap !important;
  }

  body.menu-open .menu-small a:last-child {
    border-bottom: 1px solid rgba(0, 0, 0, .14) !important;
  }

  body.menu-open .menu-actions {
    position: absolute !important;
    left: 718px !important;
    bottom: 162px !important;
    width: 98px !important;
    height: 16px !important;
    display: block !important;
    z-index: 2 !important;
  }

  body.menu-open .menu-action-dark {
    display: none !important;
  }

  body.menu-open .menu-action-light {
    width: auto !important;
    height: 16px !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #000 !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 14px !important;
    line-height: 16px !important;
    font-weight: 700 !important;
    letter-spacing: -.35px !important;
    text-align: left !important;
  }

  body.menu-open .menu-footer {
    position: absolute !important;
    left: 70px !important;
    right: auto !important;
    bottom: 132px !important;
    display: block !important;
    color: rgba(0, 0, 0, .62) !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 14px !important;
    font-weight: 700 !important;
    z-index: 2 !important;
  }

  body.menu-open .menu-footer nav,
  body.menu-open .privacy-link {
    display: none !important;
  }

  body.menu-open .hero-help {
    right: 25px !important;
    bottom: 132px !important;
    width: 207px !important;
    height: 48px !important;
    border-radius: 5px !important;
    z-index: 10060 !important;
  }
}

/* Absolute EOF menu override: sticky-safe and later than all older menu copies. */
@media (min-width: 1024px) {
  body.menu-open {
    overflow: hidden !important;
  }

  body.menu-open .menu-overlay {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    min-height: 100vh !important;
    overflow: hidden !important;
    background: #fff !important;
    color: #2c2c2c !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 10010 !important;
  }

  body.menu-open .site-header {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    height: 154px !important;
    background: #fff !important;
    color: #111 !important;
    border-radius: 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, .12) !important;
    box-shadow: none !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    z-index: 10050 !important;
  }

  body.menu-open .fixed-header {
    height: 154px !important;
    max-width: none !important;
  }

  body.menu-open .brand {
    position: fixed !important;
    left: 47px !important;
    top: 20px !important;
    width: 172px !important;
    height: 35px !important;
    z-index: 10060 !important;
  }

  body.menu-open .header-nav {
    position: fixed !important;
    top: 14px !important;
    right: 55px !important;
    width: 482px !important;
    height: 47px !important;
    z-index: 10060 !important;
  }

  body.menu-open .menu-large {
    position: fixed !important;
    top: 281px !important;
    right: 78px !important;
    left: auto !important;
    width: 580px !important;
    height: min(620px, calc(100vh - 405px)) !important;
    min-height: 0 !important;
    padding: 55px 52px 34px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: #e9eef0 !important;
    color: #2c2c2c !important;
    z-index: 10020 !important;
  }

  body.menu-open .menu-large a,
  body.menu-open .menu-large button {
    height: 55px !important;
    min-height: 55px !important;
    font-size: 50px !important;
    line-height: 55px !important;
    letter-spacing: -2.2px !important;
  }

  body.menu-open .menu-small {
    position: fixed !important;
    left: 786px !important;
    top: min(520px, calc(100vh - 418px)) !important;
    width: 380px !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 !important;
    display: block !important;
    background: transparent !important;
    z-index: 10020 !important;
  }

  body.menu-open .menu-small a {
    width: 380px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    border-top: 1px solid rgba(0, 0, 0, .14) !important;
    background: transparent !important;
    color: #686868 !important;
    font-size: 28px !important;
    line-height: 34px !important;
    letter-spacing: 1.8px !important;
    text-align: right !important;
    white-space: nowrap !important;
  }

  body.menu-open .menu-small a:last-child {
    border-bottom: 1px solid rgba(0, 0, 0, .14) !important;
  }

  body.menu-open .menu-actions {
    position: fixed !important;
    left: 718px !important;
    bottom: 128px !important;
    width: 98px !important;
    height: 16px !important;
    display: block !important;
    z-index: 10020 !important;
  }

  body.menu-open .menu-action-dark {
    display: none !important;
  }

  body.menu-open .menu-action-light {
    width: auto !important;
    height: 16px !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #000 !important;
    font-size: 14px !important;
    line-height: 16px !important;
  }

  body.menu-open .menu-footer {
    position: fixed !important;
    left: 70px !important;
    right: auto !important;
    bottom: 118px !important;
    display: block !important;
    z-index: 10020 !important;
  }

  body.menu-open .menu-footer nav,
  body.menu-open .privacy-link {
    display: none !important;
  }

  body.menu-open .hero-help {
    position: fixed !important;
    right: 25px !important;
    bottom: 118px !important;
    width: 207px !important;
    height: 48px !important;
    border-radius: 5px !important;
    z-index: 10060 !important;
  }
}

@media (min-width: 768px) {
  .backgrounder-white.white-block .container.maxi-container.social-circle-row,
  .backgrounder-white.white-block .container.maxi-container.social-circle-row > .col-md-5,
  .backgrounder-white.white-block .container.maxi-container.social-circle-row > .col-md-7,
  .backgrounder-white.white-block .container.maxi-container.social-circle-row .row-media {
    min-height: 480px !important;
    height: 480px !important;
    max-height: 480px !important;
  }

  .backgrounder-white.white-block .container.maxi-container.social-circle-row .row-media img,
  .backgrounder-white.white-block .container.maxi-container.social-circle-row .col-md-7 img {
    min-height: 480px !important;
    height: 480px !important;
    max-height: 480px !important;
    object-fit: cover !important;
  }
}

@media (min-width: 1024px) {
  .intro-copy h3 {
    max-width: 360px !important;
    font-size: 68px !important;
    line-height: 54px !important;
    letter-spacing: 0 !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .intro-copy h3 {
    max-width: 340px !important;
    font-size: 62px !important;
    line-height: 51px !important;
    letter-spacing: 0 !important;
  }
}

@media (max-width: 767px) {
  .intro-copy h3 {
    max-width: 310px !important;
    font-size: 46px !important;
    line-height: 40px !important;
    letter-spacing: 0 !important;
  }
}

.hero-bg.hero-bg-dumbbell-slide-1 {
  object-position: center 46% !important;
  transform: translate3d(0, 0, 0) scale(1.02) !important;
  transform-origin: center 46% !important;
}

/* FitSevenEleven-style first hero type treatment adapted for Crays. */
.hero-slide-fit711::after {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, .28) 34%, rgba(0, 0, 0, .05) 63%, rgba(0, 0, 0, .18) 100%) !important;
}

.hero-slide-fit711 .hero-fit711-copy {
  left: 7.36% !important;
  top: clamp(286px, 32.4vh, 338px) !important;
  width: min(980px, 62vw) !important;
  max-width: 980px !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
}

.hero-fit711-brand {
  display: flex !important;
  align-items: baseline !important;
  gap: .16em !important;
  margin: 0 0 34px !important;
  color: #fff !important;
  font-family: "Avenir Book", "Avenir Heavy", "Poppins", Arial, sans-serif !important;
  font-size: clamp(34px, 2.8vw, 54px) !important;
  line-height: .86 !important;
  font-weight: 400 !important;
  letter-spacing: -1.4px !important;
  text-shadow: 0 14px 38px rgba(0, 0, 0, .38) !important;
}

.hero-fit711-brand span:first-child {
  font-family: "Avenir Heavy", "Avenir LT W04_95 Black1475560", "Poppins", Arial, sans-serif !important;
  font-weight: 400 !important;
}

.hero-slide-fit711 .hero-fit711-copy h1 {
  display: block !important;
  margin: 0 !important;
  color: #fff !important;
  font-family: "Bodoni Moda", "Bodoni 72", "Bodoni 72 Oldstyle", "Bodoni MT", Didot, Georgia, "Times New Roman", serif !important;
  font-style: italic !important;
  font-weight: 700 !important;
  letter-spacing: -5px !important;
  line-height: .74 !important;
  text-shadow:
    4px 7px 0 rgba(0, 0, 0, .84),
    0 16px 38px rgba(0, 0, 0, .38) !important;
}

.hero-slide-fit711 .hero-fit711-main {
  display: block !important;
  font-size: clamp(94px, 9.65vw, 185px) !important;
  line-height: .74 !important;
  white-space: nowrap !important;
}

.hero-slide-fit711 .hero-fit711-sub {
  display: flex !important;
  align-items: center !important;
  margin-top: clamp(-42px, -2.2vw, -24px) !important;
  margin-left: clamp(176px, 11.45vw, 220px) !important;
  width: fit-content !important;
  white-space: nowrap !important;
}

.hero-slide-fit711 .hero-fit711-free {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: clamp(132px, 9.9vw, 190px) !important;
  width: auto !important;
  min-height: clamp(52px, 3.85vw, 74px) !important;
  padding: 0 clamp(22px, 1.55vw, 30px) clamp(3px, .35vw, 7px) !important;
  border: clamp(2px, .16vw, 3px) solid rgba(234, 225, 200, .96) !important;
  border-radius: 50% !important;
  font-size: clamp(48px, 4.65vw, 89px) !important;
  line-height: .74 !important;
  letter-spacing: -2.5px !important;
  text-shadow:
    4px 7px 0 rgba(0, 0, 0, .84),
    0 14px 34px rgba(0, 0, 0, .38) !important;
  transform: rotate(-2deg) translateY(-1px) !important;
}

.hero-slide-fit711 .hero-fit711-free::after {
  content: "" !important;
  position: absolute !important;
  inset: -5px -9px -4px -8px !important;
  border: 1.5px solid rgba(234, 225, 200, .84) !important;
  border-radius: 50% !important;
  transform: rotate(4deg) !important;
  pointer-events: none !important;
}

.hero-slide-fit711 .hero-fit711-training {
  display: inline-block !important;
  margin-left: clamp(14px, 1.1vw, 22px) !important;
  font-size: clamp(52px, 4.85vw, 93px) !important;
  line-height: .78 !important;
  letter-spacing: -2.6px !important;
  width: auto !important;
  text-shadow:
    4px 7px 0 rgba(0, 0, 0, .84),
    0 14px 34px rgba(0, 0, 0, .38) !important;
}

.hero-slide-fit711 .hero-fit711-copy p {
  margin: clamp(32px, 2.35vw, 45px) 0 0 !important;
  color: rgba(255, 255, 255, .86) !important;
  font-family: "Avenir Medium", "Avenir Book", "Poppins", Arial, sans-serif !important;
  font-size: clamp(16px, 1.53vw, 29px) !important;
  line-height: 1.05 !important;
  font-weight: 400 !important;
  letter-spacing: clamp(3.3px, .34vw, 6.5px) !important;
  white-space: nowrap !important;
  text-shadow: 0 12px 32px rgba(0, 0, 0, .38) !important;
}

.hero-slide-fit711 .hero-buttons {
  left: 7.9% !important;
  bottom: 293px !important;
  gap: 0 !important;
}

.hero-slide-fit711 .hero-buttons button,
.hero-slide-fit711 .hero-buttons a {
  height: 61px !important;
  border-radius: 7px !important;
  font-family: "Poppins", "Avenir Medium", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 60px !important;
  letter-spacing: .992188px !important;
}

.hero-slide-fit711 .hero-buttons button:first-child {
  background: #fff !important;
  color: #0c0c0c !important;
  border-color: #fff !important;
}

.hero-slide-fit711 .hero-buttons a {
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, .92) !important;
}

@media (max-width: 1180px) {
  .hero-slide-fit711 .hero-fit711-copy {
    top: clamp(238px, 28vh, 310px) !important;
    width: min(780px, 78vw) !important;
  }

  .hero-fit711-brand {
    margin-bottom: 24px !important;
  }
}

@media (max-width: 767px) {
  .hero-slide-fit711 .hero-fit711-copy {
    left: 28px !important;
    right: 24px !important;
    top: 22.5% !important;
    width: auto !important;
    max-width: none !important;
  }

  .hero-fit711-brand {
    margin-bottom: 18px !important;
    font-size: clamp(25px, 8vw, 34px) !important;
    letter-spacing: -.8px !important;
  }

  .hero-fit711-main {
    font-size: clamp(58px, 18.5vw, 86px) !important;
    letter-spacing: -2.4px !important;
  }

  .hero-fit711-sub {
    margin-top: -18px !important;
    margin-left: clamp(78px, 24vw, 118px) !important;
  }

  .hero-fit711-free {
    min-width: clamp(82px, 27vw, 118px) !important;
    min-height: clamp(37px, 11.5vw, 52px) !important;
    font-size: clamp(34px, 10.5vw, 49px) !important;
    letter-spacing: -1.4px !important;
  }

  .hero-fit711-training {
    margin-left: 10px !important;
    font-size: clamp(34px, 10.7vw, 50px) !important;
    letter-spacing: -1.5px !important;
  }

  .hero-slide-fit711 .hero-fit711-copy p {
    margin-top: 24px !important;
    max-width: 100% !important;
    font-size: clamp(11px, 3.35vw, 14px) !important;
    letter-spacing: 1.55px !important;
    white-space: normal !important;
    line-height: 1.25 !important;
  }

  .hero-slide-fit711 .hero-buttons {
    left: 28px !important;
    right: 28px !important;
    bottom: 176px !important;
    width: calc(100vw - 56px) !important;
    gap: 10px !important;
  }
}

/* 12-WEEKS slide: mirror the FitSevenEleven campaign as a single optical layer. */
.hero-slide-fit711 .hero-fit711-copy {
  left: 0 !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  text-transform: uppercase !important;
  pointer-events: none !important;
  text-shadow: none !important;
}

.hero-slide-fit711 .hero-fit711-core {
  position: absolute !important;
  left: -.36vw !important;
  top: 4px !important;
  width: 105.3vw !important;
  max-width: none !important;
  height: auto !important;
  display: block !important;
  opacity: 1 !important;
}

.hero-slide-fit711 .hero-fit711-brand {
  position: absolute !important;
  left: 7.45vw !important;
  top: 246px !important;
  display: flex !important;
  align-items: baseline !important;
  gap: .13em !important;
  margin: 0 !important;
  color: #fff !important;
  font-family: "Avenir Book", "Avenir Medium", "Poppins", Arial, sans-serif !important;
  font-size: clamp(44px, 2.78vw, 53px) !important;
  line-height: .86 !important;
  font-weight: 400 !important;
  letter-spacing: -1.8px !important;
  text-shadow:
    4px 7px 0 rgba(0, 0, 0, .88),
    0 14px 34px rgba(0, 0, 0, .36) !important;
}

.hero-slide-fit711 .hero-fit711-brand span:first-child {
  font-family: "Avenir LT W04_95 Black1475560", "Avenir Heavy", "Poppins", Arial, sans-serif !important;
  font-weight: 400 !important;
}

.hero-slide-fit711 .hero-fit711-copy p {
  position: absolute !important;
  left: 7.45vw !important;
  top: 578px !important;
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
  color: #e7ddd4 !important;
  font-family: "Avenir Medium", "Avenir Heavy", "Poppins", Arial, sans-serif !important;
  font-size: clamp(24px, 1.52vw, 29px) !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: clamp(5.2px, .33vw, 6.3px) !important;
  white-space: nowrap !important;
  text-shadow:
    2px 4px 0 rgba(0, 0, 0, .76),
    0 12px 28px rgba(0, 0, 0, .28) !important;
}

@media (max-width: 1180px) {
  .hero-slide-fit711 .hero-fit711-core {
    left: -42px !important;
    top: 36px !important;
    width: 1400px !important;
  }

  .hero-slide-fit711 .hero-fit711-brand {
    left: 74px !important;
    top: 268px !important;
    font-size: 42px !important;
  }

  .hero-slide-fit711 .hero-fit711-copy p {
    left: 74px !important;
    top: 502px !important;
    font-size: 21px !important;
    letter-spacing: 4.4px !important;
  }
}

@media (max-width: 767px) {
  .hero-slide-fit711 .hero-fit711-core {
    left: -116px !important;
    top: 132px !important;
    width: 980px !important;
  }

  .hero-slide-fit711 .hero-fit711-brand {
    left: 28px !important;
    top: 266px !important;
    font-size: 31px !important;
    letter-spacing: -1px !important;
  }

  .hero-slide-fit711 .hero-fit711-copy p {
    left: 28px !important;
    top: 432px !important;
    max-width: calc(100vw - 56px) !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    letter-spacing: 1.8px !important;
    white-space: normal !important;
  }
}

/* Final offer-slide lock: slide 1 = 12 WEEKS, slide 2 = 4 WEEKS. */
.hero-slide-fit711-12 .hero-fit711-copy,
.hero-slide-fit711-4 .hero-fit711-copy {
  left: 0 !important;
  top: 0 !important;
  right: auto !important;
  bottom: auto !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  text-transform: uppercase !important;
  pointer-events: none !important;
  text-shadow: none !important;
}

.hero-slide-fit711-12 .hero-fit711-core {
  position: absolute !important;
  left: -.36vw !important;
  top: 4px !important;
  width: 105.3vw !important;
  max-width: none !important;
  height: auto !important;
  display: block !important;
  opacity: 1 !important;
}

.hero-slide-fit711-12 .hero-buttons,
.hero-slide-fit711-4 .hero-buttons {
  left: 7.9% !important;
  bottom: 299px !important;
  gap: 0 !important;
}

.hero-slide-fit711-4::after {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .55) 0%, rgba(0, 0, 0, .28) 34%, rgba(0, 0, 0, .05) 63%, rgba(0, 0, 0, .18) 100%) !important;
}

.hero-slide-fit711-4 .hero-fit711-core-4 {
  position: absolute !important;
  left: -2.5vw !important;
  top: -13px !important;
  width: 54.9vw !important;
  min-width: 1046px !important;
  max-width: none !important;
  height: auto !important;
  display: block !important;
  opacity: 1 !important;
}

.hero-slide-fit711-4 .hero-fit711-copy p {
  position: absolute !important;
  left: 7.75vw !important;
  top: 609px !important;
  margin: 0 !important;
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  background: transparent !important;
  color: #e7ddd4 !important;
  font-family: "Avenir Medium", "Avenir Heavy", "Poppins", Arial, sans-serif !important;
  font-size: clamp(22px, 1.41vw, 27px) !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  letter-spacing: clamp(4.6px, .29vw, 5.5px) !important;
  white-space: nowrap !important;
  text-shadow:
    2px 4px 0 rgba(0, 0, 0, .76),
    0 12px 28px rgba(0, 0, 0, .28) !important;
}

.hero-slide-fit711-4 .hero-buttons button,
.hero-slide-fit711-4 .hero-buttons a {
  height: 61px !important;
  border-radius: 7px !important;
  font-family: "Poppins", "Avenir Medium", Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 60px !important;
  letter-spacing: .992188px !important;
}

.hero-slide-fit711-4 .hero-buttons button:first-child {
  background: #fff !important;
  color: #0c0c0c !important;
  border-color: #fff !important;
}

.hero-slide-fit711-4 .hero-buttons a {
  background: transparent !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, .92) !important;
}

@media (max-width: 1180px) {
  .hero-slide-fit711-4 .hero-fit711-core-4 {
    left: -116px !important;
    top: 42px !important;
    width: 1060px !important;
    min-width: 0 !important;
  }

  .hero-slide-fit711-4 .hero-fit711-copy p {
    left: 74px !important;
    top: 640px !important;
    font-size: 20px !important;
    letter-spacing: 4px !important;
  }
}

@media (max-width: 767px) {
  .hero-slide-fit711-4 .hero-fit711-core-4 {
    left: -360px !important;
    top: 160px !important;
    width: 980px !important;
    min-width: 0 !important;
  }

  .hero-slide-fit711-12 .hero-buttons,
  .hero-slide-fit711-4 .hero-buttons {
    left: 28px !important;
    right: 28px !important;
    bottom: 176px !important;
    width: calc(100vw - 56px) !important;
    gap: 10px !important;
  }

  .hero-slide-fit711-4 .hero-fit711-copy p {
    left: 28px !important;
    top: 475px !important;
    max-width: calc(100vw - 56px) !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    letter-spacing: 1.7px !important;
    white-space: normal !important;
  }
}

/* Final FitSevenEleven-inspired lock for hero slides 3 and 4. */
@font-face {
  font-display: block;
  font-family: "Fit711 Avenir Book";
  font-style: normal;
  font-weight: 400;
  src: url("assets/fonts/fit711-avenir-book.woff2") format("woff2");
}

@font-face {
  font-display: block;
  font-family: "Fit711 Avenir Medium";
  font-style: normal;
  font-weight: 500;
  src: url("assets/fonts/fit711-avenir-medium.woff2") format("woff2");
}

@font-face {
  font-display: block;
  font-family: "Fit711 Avenir Heavy";
  font-style: normal;
  font-weight: 700;
  src: url("assets/fonts/fit711-avenir-heavy.woff2") format("woff2");
}

.hero-slide-fit711-info,
.hero-slide-fit711-city {
  --fit711-left: 7.15vw;
  --fit711-soft: #e8ddd3;
  --fit711-shadow: 2px 4px 0 rgba(0, 0, 0, .66), 0 16px 34px rgba(0, 0, 0, .28);
}

.hero-slide-fit711-info::after {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .68) 0%, rgba(0, 0, 0, .42) 34%, rgba(0, 0, 0, .15) 66%, rgba(0, 0, 0, .34) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, .34) 0%, rgba(0, 0, 0, .06) 38%, rgba(0, 0, 0, .22) 100%) !important;
}

.hero-slide-fit711-city::after {
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .74) 0%, rgba(0, 0, 0, .44) 36%, rgba(0, 0, 0, .12) 66%, rgba(0, 0, 0, .31) 100%),
    linear-gradient(180deg, rgba(0, 0, 0, .30) 0%, rgba(0, 0, 0, .04) 43%, rgba(0, 0, 0, .24) 100%) !important;
}

.hero-slide-fit711-info .hero-bg-focus {
  object-position: center 48% !important;
  filter: saturate(.94) contrast(1.05) brightness(.86) !important;
}

.hero-slide-fit711-city .hero-bg-focus {
  object-position: center 50% !important;
  filter: saturate(1.08) contrast(1.06) brightness(.87) !important;
}

.hero-slide-fit711-info .hero-fit711-info-copy,
.hero-slide-fit711-city .hero-fit711-city-copy {
  left: var(--fit711-left) !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 3 !important;
  width: min(860px, 55vw) !important;
  max-width: none !important;
  color: #fff !important;
  text-transform: uppercase !important;
  text-shadow: none !important;
  pointer-events: none !important;
}

.hero-slide-fit711-info .hero-fit711-info-copy {
  top: 245px !important;
}

.hero-slide-fit711-city .hero-fit711-city-copy {
  top: 342px !important;
}

.hero-slide-fit711-info .hero-fit711-info-copy h1,
.hero-slide-fit711-info .hero-fit711-info-copy h2,
.hero-slide-fit711-city .hero-fit711-city-copy h1,
.hero-slide-fit711-city .hero-fit711-city-copy h2 {
  margin: 0 !important;
  color: #fff !important;
  font-family: "Fit711 Avenir Book", "Avenir Book", "Avenir Medium", Arial, sans-serif !important;
  font-size: clamp(74px, 5vw, 98px) !important;
  line-height: .94 !important;
  font-style: normal !important;
  font-weight: 400 !important;
  letter-spacing: .028em !important;
  text-shadow: none !important;
}

.hero-slide-fit711-info .hero-fit711-info-copy h1 span,
.hero-slide-fit711-info .hero-fit711-info-copy h2 span,
.hero-slide-fit711-city .hero-fit711-city-copy h1 span,
.hero-slide-fit711-city .hero-fit711-city-copy h2 span {
  display: block !important;
}

.hero-fit711-smallline,
.hero-fit711-term,
.hero-fit711-note {
  margin: 0 !important;
  color: var(--fit711-soft) !important;
  font-family: "Fit711 Avenir Medium", "Avenir Medium", "Avenir Heavy", "Poppins", Arial, sans-serif !important;
  font-size: clamp(15px, 1.08vw, 21px) !important;
  line-height: 1.08 !important;
  font-style: normal !important;
  font-weight: 500 !important;
  letter-spacing: clamp(3.1px, .24vw, 4.7px) !important;
  white-space: nowrap !important;
  text-shadow: var(--fit711-shadow) !important;
}

.hero-fit711-smallline {
  margin-top: 14px !important;
}

.hero-fit711-offer-stack {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0 !important;
  margin-top: 24px !important;
}

.hero-fit711-offer-prefix {
  display: block !important;
  margin: 0 0 -6px 3px !important;
  color: #fff !important;
  font-family: "Fit711 Avenir Medium", "Avenir Medium", "Poppins", Arial, sans-serif !important;
  font-size: clamp(15px, 1.02vw, 20px) !important;
  line-height: 1 !important;
  font-style: normal !important;
  font-weight: 500 !important;
  letter-spacing: clamp(2.6px, .2vw, 3.8px) !important;
}

.hero-fit711-offer-outline {
  display: block !important;
  color: transparent !important;
  -webkit-text-stroke: 2px rgba(255, 255, 255, .96) !important;
  text-stroke: 2px rgba(255, 255, 255, .96) !important;
  font-family: "Fit711 Avenir Heavy", "Avenir Heavy", "Avenir LT W04_95 Black1475560", Arial, sans-serif !important;
  font-size: clamp(66px, 5.35vw, 104px) !important;
  line-height: .88 !important;
  font-style: normal !important;
  font-weight: 700 !important;
  letter-spacing: -.018em !important;
  text-shadow: none !important;
}

.hero-fit711-term {
  margin-top: 13px !important;
}

.hero-fit711-redtag {
  display: inline-block !important;
  margin-top: 10px !important;
  padding: 4px 13px 5px !important;
  background: var(--crays-red) !important;
  color: #fff !important;
  font-family: "Fit711 Avenir Medium", "Avenir Medium", "Poppins", Arial, sans-serif !important;
  font-size: clamp(17px, 1.22vw, 24px) !important;
  line-height: 1 !important;
  font-style: normal !important;
  font-weight: 500 !important;
  letter-spacing: .09em !important;
  text-shadow: none !important;
}

.hero-fit711-pill {
  display: inline-block !important;
  margin-top: 17px !important;
  padding: 7px 14px 8px !important;
  border-radius: 7px !important;
  background: rgba(240, 232, 220, .93) !important;
  color: #111 !important;
  font-family: "Fit711 Avenir Medium", "Avenir Medium", "Poppins", Arial, sans-serif !important;
  font-size: clamp(18px, 1.38vw, 27px) !important;
  line-height: 1 !important;
  font-style: normal !important;
  font-weight: 500 !important;
  letter-spacing: .055em !important;
  text-shadow: none !important;
  white-space: nowrap !important;
}

.hero-fit711-note {
  margin-top: 17px !important;
}

.hero-slide-fit711-info .hero-buttons,
.hero-slide-fit711-city .hero-buttons {
  left: var(--fit711-left) !important;
  bottom: 88px !important;
  gap: 0 !important;
}

.hero-slide-fit711-info .hero-buttons button,
.hero-slide-fit711-info .hero-buttons a,
.hero-slide-fit711-city .hero-buttons button,
.hero-slide-fit711-city .hero-buttons a {
  height: 61px !important;
  border-radius: 7px !important;
  font-family: "Poppins", "Fit711 Avenir Medium", Arial, sans-serif !important;
  font-size: 13px !important;
  line-height: 60px !important;
  font-weight: 600 !important;
  letter-spacing: .992188px !important;
}

.hero-slide-fit711-info .hero-buttons button:first-child,
.hero-slide-fit711-info .hero-buttons a:first-child,
.hero-slide-fit711-city .hero-buttons button:first-child,
.hero-slide-fit711-city .hero-buttons a:first-child {
  background: #fff !important;
  color: #0c0c0c !important;
  border-color: #fff !important;
}

.hero-slide-fit711-info .hero-buttons > *:nth-child(2),
.hero-slide-fit711-city .hero-buttons > *:nth-child(2) {
  background: rgba(255, 255, 255, .04) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, .9) !important;
}

@media (max-width: 1180px) {
  .hero-slide-fit711-info,
  .hero-slide-fit711-city {
    --fit711-left: 74px;
  }

  .hero-slide-fit711-info .hero-fit711-info-copy,
  .hero-slide-fit711-city .hero-fit711-city-copy {
    width: min(760px, calc(100vw - 132px)) !important;
  }

  .hero-slide-fit711-info .hero-fit711-info-copy {
    top: 250px !important;
  }

  .hero-slide-fit711-city .hero-fit711-city-copy {
    top: 302px !important;
  }

  .hero-slide-fit711-info .hero-fit711-info-copy h1,
  .hero-slide-fit711-info .hero-fit711-info-copy h2,
  .hero-slide-fit711-city .hero-fit711-city-copy h1,
  .hero-slide-fit711-city .hero-fit711-city-copy h2 {
    font-size: clamp(62px, 7.7vw, 86px) !important;
  }

  .hero-fit711-offer-outline {
    font-size: clamp(56px, 7.4vw, 84px) !important;
  }

  .hero-slide-fit711-info .hero-buttons,
  .hero-slide-fit711-city .hero-buttons {
    bottom: 92px !important;
  }
}

@media (max-width: 767px) {
  .hero-slide-fit711-info,
  .hero-slide-fit711-city {
    --fit711-left: 28px;
  }

  .hero-slide-fit711-info .hero-bg-focus,
  .hero-slide-fit711-city .hero-bg-focus {
    object-position: center center !important;
  }

  .hero-slide-fit711-info .hero-fit711-info-copy,
  .hero-slide-fit711-city .hero-fit711-city-copy {
    top: 228px !important;
    width: calc(100vw - 56px) !important;
  }

  .hero-slide-fit711-info .hero-fit711-info-copy h1,
  .hero-slide-fit711-info .hero-fit711-info-copy h2,
  .hero-slide-fit711-city .hero-fit711-city-copy h1,
  .hero-slide-fit711-city .hero-fit711-city-copy h2 {
    font-size: clamp(44px, 14vw, 64px) !important;
    line-height: .96 !important;
    letter-spacing: .032em !important;
  }

  .hero-fit711-smallline,
  .hero-fit711-term,
  .hero-fit711-note {
    max-width: calc(100vw - 56px) !important;
    font-size: 11px !important;
    line-height: 1.22 !important;
    letter-spacing: 1.8px !important;
    white-space: normal !important;
  }

  .hero-fit711-offer-stack {
    margin-top: 18px !important;
  }

  .hero-fit711-offer-outline {
    max-width: calc(100vw - 56px) !important;
    font-size: clamp(43px, 13vw, 58px) !important;
    -webkit-text-stroke-width: 1.25px !important;
    text-stroke-width: 1.25px !important;
    letter-spacing: -.02em !important;
  }

  .hero-fit711-offer-prefix {
    font-size: 11px !important;
    letter-spacing: 1.7px !important;
  }

  .hero-fit711-redtag,
  .hero-fit711-pill {
    max-width: calc(100vw - 56px) !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    letter-spacing: .06em !important;
    white-space: normal !important;
  }

  .hero-slide-fit711-info .hero-buttons,
  .hero-slide-fit711-city .hero-buttons {
    left: 28px !important;
    right: 28px !important;
    bottom: 176px !important;
    width: calc(100vw - 56px) !important;
    gap: 10px !important;
  }
}

/* Step 1 FitSevenEleven navigation parity lock. */
.member-button .member-label-default,
.member-button .member-label-menu {
  position: static !important;
  right: auto !important;
  top: auto !important;
  width: auto !important;
  height: auto !important;
  display: inline !important;
  transform: none !important;
}

.member-button .member-label-menu {
  display: none !important;
}

.member-button .member-icon {
  position: absolute !important;
  right: 20px !important;
  top: 50% !important;
  width: 18px !important;
  height: 18px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transform: translateY(-50%) !important;
}

@media (min-width: 1024px) {
  body.menu-open::after {
    content: "" !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    top: 67px !important;
    height: 1px !important;
    background: rgba(0, 0, 0, .12) !important;
    z-index: 10140 !important;
    pointer-events: none !important;
  }

  body.menu-open .site-header {
    height: 68px !important;
    z-index: 10120 !important;
  }

  body.menu-open .fixed-header {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    height: 68px !important;
    background: #fff !important;
    z-index: 10125 !important;
  }

  body.menu-open .header-nav {
    top: 14px !important;
    right: 55px !important;
    width: 482px !important;
    height: 47px !important;
    z-index: 10145 !important;
  }

  body.menu-open .search-trigger {
    display: none !important;
  }

  body.menu-open .login-wrap {
    left: 0 !important;
    top: 0 !important;
    width: 126px !important;
    height: 40px !important;
  }

  body.menu-open .member-wrap {
    left: 146px !important;
    top: 0 !important;
    width: 200px !important;
    height: 40px !important;
  }

  body.menu-open .member-button {
    background: #fff !important;
    color: transparent !important;
    font-size: 0 !important;
  }

  body.menu-open .member-button::before {
    content: "JOIN NOW" !important;
    position: absolute !important;
    left: 20px !important;
    right: 42px !important;
    top: 0 !important;
    display: block !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 40px !important;
    font-weight: 700 !important;
    letter-spacing: 1.5px !important;
    color: #000 !important;
    text-align: center !important;
    white-space: nowrap !important;
  }

  body.menu-open .menu-trigger {
    left: 372px !important;
    top: 0 !important;
    width: 116px !important;
    height: 58px !important;
  }

  body.menu-open .menu-copy {
    top: 14px !important;
    left: 2px !important;
    font-size: 10px !important;
    line-height: 12px !important;
    letter-spacing: 1.5px !important;
  }

  body.menu-open .hamburger {
    right: 0 !important;
    top: -1px !important;
    width: 60px !important;
    height: 60px !important;
  }

  body.menu-open .hamburger::before,
  body.menu-open .hamburger::after {
    left: auto !important;
    right: 16px !important;
    width: 29px !important;
    height: 1px !important;
    background: #000 !important;
  }

  body.menu-open .hamburger::before {
    top: 31px !important;
    transform: rotate(45deg) !important;
  }

  body.menu-open .hamburger::after {
    top: 31px !important;
    transform: rotate(-45deg) !important;
  }

  body.menu-open .hamburger span {
    opacity: 0 !important;
  }

  body.menu-open .menu-overlay::before {
    left: 194px !important;
    top: 113px !important;
    width: 690px !important;
    height: 690px !important;
    background: url("assets/images/crays-menu-favicon.png") center/contain no-repeat !important;
    opacity: .11 !important;
    filter: none !important;
    z-index: 1 !important;
  }

  body.menu-open .menu-overlay-bg {
    z-index: 0 !important;
  }

  body.menu-open .menu-large {
    top: 194px !important;
    right: 78px !important;
    width: 580px !important;
    height: 619px !important;
    padding: 55px 50px 34px !important;
    border-radius: 12px !important;
    overflow: hidden !important;
    background: rgb(232, 237, 238) !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.menu-open .menu-title {
    display: block !important;
    margin: 0 0 46px !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 27px !important;
    font-weight: 400 !important;
    letter-spacing: 2.5px !important;
  }

  body.menu-open .menu-large li {
    height: 65px !important;
    border-top: 1px solid rgba(0, 0, 0, .13) !important;
  }

  body.menu-open .menu-large li:last-child {
    border-bottom: 0 !important;
  }

  body.menu-open .menu-large a,
  body.menu-open .menu-large button {
    height: 65px !important;
    min-height: 65px !important;
    font-family: "Avenir Book", "Poppins", Arial, sans-serif !important;
    font-size: 50px !important;
    line-height: 65px !important;
    font-weight: 400 !important;
    letter-spacing: -0.1px !important;
    color: #2c2c2c !important;
  }

  body.menu-open .menu-large li:first-child button,
  body.menu-open .menu-large li:first-child a {
    font-family: "Avenir Heavy", "Poppins", Arial, sans-serif !important;
    font-weight: 900 !important;
    letter-spacing: -0.1px !important;
  }

  body.menu-open .menu-secondary {
    display: none !important;
  }

  body.menu-open .menu-small {
    left: 866px !important;
    top: 510px !important;
    width: 300px !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.menu-open .menu-small a {
    width: 300px !important;
    height: 44px !important;
    min-height: 44px !important;
    font-size: 26px !important;
    line-height: 42px !important;
    letter-spacing: 2px !important;
    visibility: visible !important;
    opacity: 1 !important;
  }

  body.menu-open .menu-actions,
  body.menu-open .menu-footer {
    display: none !important;
  }

  body.menu-open .opening-bar {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 10130 !important;
  }

  body.menu-open .opening-bar .round-action,
  body.menu-open .hero-widget,
  body.menu-open .hero-help {
    z-index: 10150 !important;
  }
}

/* Mobile-first production lock: phone layout only, desktop untouched. */
@media (max-width: 767px) {
  html,
  body {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    background: #fff !important;
  }

  .site-shell,
  main,
  section,
  footer {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  .site-header,
  .fixed-header {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    width: 100vw !important;
    height: 66px !important;
    min-height: 66px !important;
    background: linear-gradient(180deg, rgba(0, 0, 0, .48), rgba(0, 0, 0, .16)) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    backdrop-filter: blur(12px) !important;
    border: 0 !important;
    border-radius: 0 0 18px 18px !important;
    z-index: 10060 !important;
  }

  .brand {
    position: fixed !important;
    left: 20px !important;
    top: 15px !important;
    width: 145px !important;
    height: 36px !important;
    z-index: 10070 !important;
  }

  .brand-logo {
    width: 145px !important;
    max-height: 36px !important;
  }

  .header-nav {
    position: fixed !important;
    top: 8px !important;
    right: 16px !important;
    width: 128px !important;
    height: 52px !important;
    z-index: 10075 !important;
  }

  .login-wrap,
  .member-wrap {
    display: none !important;
  }

  .search-trigger {
    position: absolute !important;
    left: 0 !important;
    top: 4px !important;
    width: 48px !important;
    height: 48px !important;
    display: grid !important;
    place-items: center !important;
  }

  .search-trigger img {
    width: 28px !important;
    height: 28px !important;
  }

  .menu-trigger {
    position: absolute !important;
    left: 72px !important;
    top: 0 !important;
    width: 56px !important;
    height: 56px !important;
    color: #fff !important;
  }

  .menu-copy {
    display: none !important;
  }

  .hamburger {
    position: absolute !important;
    inset: 0 !important;
    width: 56px !important;
    height: 56px !important;
  }

  .hamburger::before,
  .hamburger::after,
  .hamburger span {
    left: auto !important;
    right: 4px !important;
    width: 31px !important;
    height: 1.5px !important;
    background: currentColor !important;
  }

  .hamburger::before {
    top: 21px !important;
  }

  .hamburger span {
    top: 28px !important;
  }

  .hamburger::after {
    top: 35px !important;
  }

  .hero-slider {
    height: 100svh !important;
    min-height: 740px !important;
    max-height: 860px !important;
    width: 100vw !important;
    overflow: hidden !important;
    background: #050505 !important;
  }

  .hero-slide,
  .hero-slide.active {
    height: 100% !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  .hero-bg {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    transform: scale(1.06) !important;
  }

  .hero-bg-highfive-crop {
    object-position: 58% center !important;
    transform: scale(1.1) !important;
  }

  .hero-slide::after,
  .hero-slide-fit711::after,
  .hero-slide-fit711-4::after,
  .hero-slide-fit711-info::after,
  .hero-slide-fit711-city::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background:
      linear-gradient(180deg, rgba(0, 0, 0, .48) 0%, rgba(0, 0, 0, .18) 31%, rgba(0, 0, 0, .08) 55%, rgba(0, 0, 0, .64) 100%),
      linear-gradient(90deg, rgba(0, 0, 0, .38), rgba(0, 0, 0, 0) 58%) !important;
    z-index: 1 !important;
    pointer-events: none !important;
  }

  .hero-fit711-copy,
  .hero-slide-fit711-12 .hero-fit711-copy,
  .hero-slide-fit711-4 .hero-fit711-copy {
    position: absolute !important;
    inset: 0 auto auto 0 !important;
    width: 100vw !important;
    height: 100% !important;
    max-width: none !important;
    z-index: 4 !important;
    opacity: 1 !important;
    transform: none !important;
  }

  .hero-slide-fit711 .hero-fit711-core,
  .hero-slide-fit711-12 .hero-fit711-core {
    position: absolute !important;
    left: 24px !important;
    top: 74px !important;
    width: min(310px, 80vw) !important;
    height: auto !important;
    max-width: none !important;
    object-fit: contain !important;
  }

  .hero-slide-fit711-4 .hero-fit711-core-4 {
    position: absolute !important;
    left: 22px !important;
    top: 80px !important;
    width: min(330px, 84vw) !important;
    height: auto !important;
    max-width: none !important;
  }

  .hero-fit711-brand {
    position: absolute !important;
    left: 28px !important;
    top: 265px !important;
    margin: 0 !important;
    color: #fff !important;
    text-shadow: 0 8px 22px rgba(0, 0, 0, .55) !important;
  }

  .hero-fit711-brand span {
    font-size: clamp(30px, 9vw, 38px) !important;
    line-height: .92 !important;
    letter-spacing: 0 !important;
  }

  .hero-slide-fit711 .hero-fit711-copy p,
  .hero-slide-fit711-4 .hero-fit711-copy p {
    position: absolute !important;
    left: 28px !important;
    right: 24px !important;
    top: 430px !important;
    width: auto !important;
    max-width: 330px !important;
    margin: 0 !important;
    font-size: 12px !important;
    line-height: 1.25 !important;
    letter-spacing: 2.9px !important;
    white-space: normal !important;
    color: rgba(255, 255, 255, .92) !important;
  }

  .hero-slide-fit711-info,
  .hero-slide-fit711-city {
    --fit711-left: 28px !important;
  }

  .hero-slide-fit711-info .hero-fit711-info-copy,
  .hero-slide-fit711-city .hero-fit711-city-copy {
    top: 118px !important;
    left: 28px !important;
    width: calc(100vw - 56px) !important;
    z-index: 4 !important;
  }

  .hero-slide-fit711-info .hero-fit711-info-copy h1,
  .hero-slide-fit711-city .hero-fit711-city-copy h1 {
    max-width: calc(100vw - 56px) !important;
    font-size: clamp(42px, 15vw, 66px) !important;
    line-height: .95 !important;
  }

  .hero-fit711-smallline,
  .hero-fit711-term,
  .hero-fit711-note {
    max-width: calc(100vw - 56px) !important;
    font-size: 11px !important;
    line-height: 1.28 !important;
    letter-spacing: 1.8px !important;
    white-space: normal !important;
  }

  .hero-fit711-offer-outline {
    max-width: calc(100vw - 56px) !important;
    font-size: clamp(42px, 13vw, 58px) !important;
  }

  .hero-fit711-redtag,
  .hero-fit711-pill {
    max-width: calc(100vw - 56px) !important;
    white-space: normal !important;
  }

  .hero-buttons,
  .hero-slide-fit711 .hero-buttons,
  .hero-slide-fit711-12 .hero-buttons,
  .hero-slide-fit711-4 .hero-buttons,
  .hero-slide-fit711-info .hero-buttons,
  .hero-slide-fit711-city .hero-buttons {
    position: absolute !important;
    left: 28px !important;
    right: 28px !important;
    bottom: 176px !important;
    width: auto !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    z-index: 5 !important;
  }

  .hero-buttons button,
  .hero-buttons a {
    width: 100% !important;
    min-width: 0 !important;
    height: 60px !important;
    min-height: 60px !important;
    padding: 0 10px !important;
    border-radius: 5px !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: 1.1px !important;
  }

  .scroll-cue,
  .hero-line,
  .hero-count,
  .hero-arrows,
  .hero-dots {
    display: none !important;
  }

  .hero-help {
    display: none !important;
  }

  .opening-bar {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: 84px !important;
    min-height: 84px !important;
    padding: 0 !important;
    background: #0a3753 !important;
    z-index: 10045 !important;
    box-shadow: 0 -16px 36px rgba(0, 0, 0, .18) !important;
  }

  .opening-copy {
    position: absolute !important;
    left: 20px !important;
    top: 24px !important;
    width: 110px !important;
    font-size: 9px !important;
    line-height: 1.22 !important;
    letter-spacing: 1.25px !important;
    text-align: left !important;
  }

  .opening-time {
    position: absolute !important;
    left: 142px !important;
    right: 76px !important;
    top: 19px !important;
    height: 44px !important;
    display: flex !important;
    justify-content: space-between !important;
    gap: 10px !important;
  }

  .opening-time span {
    width: auto !important;
    min-width: 28px !important;
    display: grid !important;
    justify-items: center !important;
    gap: 1px !important;
  }

  .opening-time strong {
    font-size: 23px !important;
    line-height: 24px !important;
    letter-spacing: 2px !important;
  }

  .opening-time em {
    font-size: 7px !important;
    line-height: 9px !important;
    letter-spacing: 1px !important;
  }

  .fingerprint-action {
    display: none !important;
  }

  .chat-action,
  .hero-widget {
    position: fixed !important;
    right: 16px !important;
    bottom: 16px !important;
    width: 62px !important;
    height: 62px !important;
    z-index: 10070 !important;
  }

  .menu-overlay {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100svh !important;
    min-height: 100svh !important;
    overflow: hidden auto !important;
    background: #fff !important;
    z-index: 10030 !important;
  }

  body.menu-open {
    overflow: hidden !important;
  }

  body.menu-open .site-header,
  body.menu-open .fixed-header {
    height: 66px !important;
    background: #fff !important;
    border-radius: 0 !important;
    border-bottom: 1px solid rgba(0, 0, 0, .12) !important;
  }

  body.menu-open .brand-logo-light {
    display: none !important;
  }

  body.menu-open .brand-logo-dark {
    display: block !important;
  }

  body.menu-open .search-trigger,
  body.menu-open .login-wrap,
  body.menu-open .member-wrap {
    display: none !important;
  }

  body.menu-open .header-nav {
    right: 18px !important;
    width: 68px !important;
  }

  body.menu-open .menu-trigger {
    left: 0 !important;
    color: #000 !important;
  }

  body.menu-open .hamburger::before {
    top: 28px !important;
    transform: rotate(45deg) !important;
  }

  body.menu-open .hamburger::after {
    top: 28px !important;
    transform: rotate(-45deg) !important;
  }

  body.menu-open .hamburger span {
    opacity: 0 !important;
  }

  body.menu-open .menu-overlay::before {
    content: "" !important;
    position: fixed !important;
    left: -22vw !important;
    top: 86px !important;
    width: 112vw !important;
    height: 112vw !important;
    background: url("assets/images/crays-menu-favicon.png") center/contain no-repeat !important;
    opacity: .075 !important;
    z-index: 1 !important;
    pointer-events: none !important;
  }

  body.menu-open .menu-large {
    position: fixed !important;
    left: 18px !important;
    right: 18px !important;
    top: 92px !important;
    width: auto !important;
    height: auto !important;
    max-height: calc(100svh - 260px) !important;
    padding: 26px 22px 24px !important;
    border-radius: 10px !important;
    overflow: hidden !important;
    background: rgb(232, 237, 238) !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 3 !important;
  }

  body.menu-open .menu-title {
    margin: 0 0 22px !important;
    font-size: 11px !important;
    line-height: 14px !important;
    letter-spacing: 3px !important;
  }

  body.menu-open .menu-large li {
    height: 44px !important;
  }

  body.menu-open .menu-large a,
  body.menu-open .menu-large button {
    height: 44px !important;
    min-height: 44px !important;
    font-size: clamp(28px, 8.7vw, 36px) !important;
    line-height: 44px !important;
    letter-spacing: -.6px !important;
    white-space: nowrap !important;
  }

  body.menu-open .menu-small {
    position: fixed !important;
    left: 22px !important;
    right: 22px !important;
    top: auto !important;
    bottom: 104px !important;
    width: auto !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 18px !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 3 !important;
  }

  body.menu-open .menu-small a {
    width: 100% !important;
    height: 31px !important;
    min-height: 31px !important;
    justify-content: flex-start !important;
    font-size: 13px !important;
    line-height: 31px !important;
    letter-spacing: .8px !important;
    text-align: left !important;
    white-space: nowrap !important;
  }

  body.menu-open .menu-actions,
  body.menu-open .menu-footer,
  body.menu-open .privacy-link {
    display: none !important;
  }

  .newsfeed {
    padding: 44px 20px 50px !important;
    background: #151515 !important;
  }

  .news-grid {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
  }

  .intro-copy {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }

  .intro-copy h2 {
    margin: 0 0 14px !important;
    font-size: 12px !important;
    line-height: 1 !important;
    letter-spacing: 2px !important;
  }

  .intro-copy h3 {
    max-width: 340px !important;
    margin: 0 0 20px !important;
    font-size: clamp(50px, 17vw, 66px) !important;
    line-height: .84 !important;
  }

  .intro-copy p {
    max-width: 340px !important;
    font-size: 13px !important;
    line-height: 1.58 !important;
  }

  .news-cards {
    width: 100% !important;
    margin: 28px 0 0 !important;
    display: block !important;
    overflow: visible !important;
    padding: 0 !important;
  }

  .news-card {
    width: 100% !important;
    min-width: 0 !important;
    scroll-snap-align: none !important;
  }

  .news-card:nth-child(n+2) {
    display: none !important;
  }

  .newsfeed .news-cards .news-card .news-card-main > img,
  .news-card-main img {
    width: 100% !important;
    height: 330px !important;
    min-height: 330px !important;
    max-height: 330px !important;
    border-radius: 12px !important;
    object-fit: cover !important;
  }

  .news-card h4 {
    margin-top: 12px !important;
    font-size: 13px !important;
    line-height: 1.2 !important;
  }

  .news-card p {
    font-size: 11px !important;
    line-height: 1.45 !important;
  }

  .logo-section {
    padding: 42px 20px 34px !important;
  }

  .logo-headline {
    font-size: clamp(28px, 9vw, 38px) !important;
    line-height: .95 !important;
    letter-spacing: 0 !important;
  }

  .logo-pill {
    width: 100% !important;
    max-width: 330px !important;
    margin: 22px auto 0 !important;
  }

  .label-band {
    padding: 26px 14px 38px !important;
  }

  .label-container,
  .container.label-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 12px !important;
  }

  .label-card,
  .hoverfeld,
  .label-container > .col-sm-3 {
    width: 100% !important;
    max-width: none !important;
    flex: none !important;
    min-width: 0 !important;
    padding: 0 !important;
  }

  .label-card a,
  .label-card .button {
    display: block !important;
    width: 100% !important;
  }

  .label-card img,
  .hoveropacity {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1.08 !important;
    object-fit: cover !important;
    border-radius: 8px !important;
  }

  .label-name {
    min-height: 40px !important;
    font-size: clamp(13px, 4vw, 16px) !important;
    line-height: .95 !important;
    letter-spacing: .2px !important;
  }

  .backgrounder-white.white-block {
    padding: 42px 20px 44px !important;
  }

  .container,
  .maxi-container,
  .backgrounder-white.white-block .container.maxi-container.social-circle-row,
  .backgrounder-white.white-block .container.maxi-container.association-row {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto 42px !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
  }

  .backgrounder-white.white-block .row-copy,
  .backgrounder-white.white-block .limiter-feld {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .regular-headline {
    margin: 0 0 18px !important;
    font-size: clamp(26px, 8vw, 34px) !important;
    line-height: 1.05 !important;
  }

  .limiter-feld p {
    font-size: 13px !important;
    line-height: 1.62 !important;
    text-align: left !important;
  }

  .cursiv-feld {
    width: 100% !important;
    display: block !important;
  }

  .secondlink,
  .cursiv-button {
    width: 100% !important;
    max-width: 260px !important;
    height: 48px !important;
    display: grid !important;
    place-items: center !important;
    margin: 18px auto 0 !important;
    font-size: 12px !important;
  }

  .row-media,
  .desktoper,
  .backgrounder-white.white-block .row-media,
  .backgrounder-white.white-block .col-md-7 {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    border-radius: 12px !important;
    overflow: hidden !important;
  }

  .row-media img,
  .backgrounder-white.white-block .row-media img,
  .backgrounder-white.white-block .col-md-7 img {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
    border-radius: 12px !important;
  }

  section.impressions {
    padding: 48px 0 52px !important;
  }

  section.impressions .container.maxi-container.impression-container {
    padding: 0 20px !important;
  }

  section.impressions .impression-container h3 {
    margin: 0 0 24px !important;
    font-size: clamp(34px, 10vw, 48px) !important;
    line-height: 1 !important;
  }

  section.impressions .your-slider-class.impression-stage {
    height: auto !important;
    overflow: visible !important;
  }

  section.impressions .impression-track {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: 72vw !important;
    gap: 14px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    padding-bottom: 14px !important;
  }

  section.impressions .impression-slide {
    width: 100% !important;
    scroll-snap-align: start !important;
  }

  section.impressions .impression-slide img {
    width: 100% !important;
    height: 160px !important;
    border-radius: 12px !important;
    object-fit: cover !important;
  }

  .social-strip {
    padding: 42px 20px 46px !important;
  }

  .marquee {
    font-size: clamp(42px, 15vw, 62px) !important;
    line-height: .82 !important;
  }

  .social-strip p {
    margin-top: 28px !important;
    font-size: 10px !important;
    letter-spacing: 2px !important;
  }

  .social-grid {
    width: 100% !important;
    max-width: 330px !important;
    margin: 24px auto 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  .social-grid img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1.2 !important;
    object-fit: cover !important;
    border-radius: 8px !important;
  }

  .footer-main {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    width: 100% !important;
    max-width: none !important;
    padding: 42px 28px 126px !important;
  }

  .footer-column {
    width: 100% !important;
  }

  .footer-column h3 {
    margin: 0 0 12px !important;
    font-size: 16px !important;
    line-height: 1.1 !important;
    letter-spacing: 2px !important;
  }

  .footer-column a,
  .language-row a {
    min-height: 34px !important;
    display: flex !important;
    align-items: center !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    letter-spacing: 2px !important;
  }

  .label-band .label-container,
  .label-band .container.label-container {
    width: 100% !important;
    max-width: 362px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  .label-band .label-container > .label-card,
  .label-band .label-container > .hoverfeld,
  .label-band .label-container > .col-sm-3 {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    padding: 0 !important;
    display: block !important;
  }

  .label-band .label-card img,
  .label-band .hoveropacity {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1.08 !important;
  }
}

/* Mobile premium rewrite: independent phone composition, desktop untouched. */
@media (max-width: 767px) {
  :root {
    --mobile-header: 64px;
    --mobile-bottom-bar: 88px;
    --mobile-gutter: 18px;
  }

  html {
    scroll-padding-top: var(--mobile-header) !important;
  }

  body {
    min-width: 0 !important;
    background: #fff !important;
    color: #101010 !important;
  }

  .site-shell,
  main,
  .hero-slider,
  .newsfeed,
  .logo-section,
  .label-band,
  .backgrounder-white,
  .impressions,
  .site-footer {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  .site-header,
  .fixed-header {
    position: fixed !important;
    inset: 0 0 auto 0 !important;
    height: var(--mobile-header) !important;
    min-height: var(--mobile-header) !important;
    background: linear-gradient(180deg, rgba(0, 0, 0, .55), rgba(0, 0, 0, .08)) !important;
    -webkit-backdrop-filter: blur(14px) !important;
    backdrop-filter: blur(14px) !important;
    border: 0 !important;
    border-radius: 0 !important;
    z-index: 10080 !important;
  }

  .brand {
    position: fixed !important;
    left: 16px !important;
    top: 17px !important;
    width: 132px !important;
    height: 32px !important;
    z-index: 10095 !important;
  }

  .brand-logo {
    width: 132px !important;
    height: auto !important;
    max-height: 32px !important;
  }

  .brand-logo-light {
    display: block !important;
  }

  .brand-logo-dark {
    display: none !important;
  }

  .header-nav {
    position: fixed !important;
    top: 10px !important;
    right: 12px !important;
    width: 148px !important;
    height: 44px !important;
    display: block !important;
    z-index: 10100 !important;
  }

  .search-trigger,
  .login-wrap {
    display: none !important;
  }

  .member-wrap {
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    display: block !important;
    width: 88px !important;
    height: 44px !important;
  }

  .member-button {
    display: flex !important;
    width: 88px !important;
    height: 44px !important;
    min-height: 44px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 0 !important;
    border-radius: 6px !important;
    background: rgba(255, 255, 255, .96) !important;
    color: #080808 !important;
    font-family: "Avenir Heavy", "Poppins", Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 1 !important;
    letter-spacing: 1.2px !important;
    text-transform: uppercase !important;
    box-shadow: 0 10px 26px rgba(0, 0, 0, .16) !important;
  }

  .member-button span,
  .member-button::before,
  .member-button::after {
    display: none !important;
  }

  .menu-trigger {
    position: absolute !important;
    left: 100px !important;
    top: 0 !important;
    width: 48px !important;
    height: 44px !important;
    color: #fff !important;
  }

  .menu-copy {
    display: none !important;
  }

  .hamburger {
    position: absolute !important;
    inset: 0 !important;
    width: 48px !important;
    height: 44px !important;
  }

  .hamburger::before,
  .hamburger::after,
  .hamburger span {
    left: 9px !important;
    right: auto !important;
    width: 30px !important;
    height: 2px !important;
    background: currentColor !important;
  }

  .hamburger::before {
    top: 15px !important;
  }

  .hamburger span {
    top: 22px !important;
  }

  .hamburger::after {
    top: 29px !important;
  }

  .hero-slider {
    position: relative !important;
    min-height: 100svh !important;
    height: 100svh !important;
    background: #050606 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  @supports (height: 100dvh) {
    .hero-slider,
    .hero-slide,
    .hero-slide.active {
      min-height: 100dvh !important;
      height: 100dvh !important;
    }
  }

  .hero-slide,
  .hero-slide.active {
    min-height: 100svh !important;
    height: 100svh !important;
    background-size: cover !important;
    background-position: center center !important;
    overflow: hidden !important;
  }

  .hero-slide-fit711-12 {
    background-image: url("assets/images/crays-hero-dumbbell-slide-1.jpg") !important;
    background-position: 66% center !important;
  }

  .hero-slide-fit711-4 {
    background-image: url("assets/images/crays-hero-leg-press-final.webp") !important;
    background-position: 61% center !important;
  }

  .hero-slide-fit711-info {
    background-image: url("assets/images/crays-hero-trainer-client.webp") !important;
    background-position: 54% center !important;
  }

  .hero-slide-fit711-city {
    background-image: url("assets/images/crays-hero-dumbbell-woman-wide.webp") !important;
    background-position: 60% center !important;
  }

  .hero-bg {
    opacity: 0 !important;
  }

  .hero-slide::after,
  .hero-slide-fit711::after,
  .hero-slide-fit711-4::after,
  .hero-slide-fit711-info::after,
  .hero-slide-fit711-city::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    background:
      linear-gradient(180deg, rgba(0, 0, 0, .48) 0%, rgba(0, 0, 0, .2) 30%, rgba(0, 0, 0, .18) 55%, rgba(0, 0, 0, .78) 100%),
      linear-gradient(90deg, rgba(0, 0, 0, .42), rgba(0, 0, 0, 0) 66%) !important;
    pointer-events: none !important;
  }

  .hero-campaign-copy,
  .hero-fit711-copy,
  .hero-slide-fit711-12 .hero-fit711-copy,
  .hero-slide-fit711-4 .hero-fit711-copy {
    position: absolute !important;
    inset: 0 auto auto 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 4 !important;
    transform: none !important;
    opacity: 1 !important;
  }

  .hero-fit711-brand {
    position: absolute !important;
    left: var(--mobile-gutter) !important;
    top: 112px !important;
    margin: 0 !important;
    display: flex !important;
    gap: 6px !important;
    color: #fff !important;
    text-shadow: 0 8px 24px rgba(0, 0, 0, .42) !important;
  }

  .hero-fit711-brand span {
    font-family: "Avenir Heavy", "Poppins", Arial, sans-serif !important;
    font-size: 34px !important;
    line-height: .9 !important;
    letter-spacing: 0 !important;
  }

  .hero-slide-fit711 .hero-fit711-core,
  .hero-slide-fit711-12 .hero-fit711-core {
    position: absolute !important;
    left: 8px !important;
    top: 164px !important;
    width: min(430px, calc(100vw + 44px)) !important;
    height: auto !important;
    object-fit: contain !important;
    filter: drop-shadow(0 12px 30px rgba(0, 0, 0, .32)) !important;
  }

  .hero-slide-fit711-4 .hero-fit711-core-4 {
    position: absolute !important;
    left: var(--mobile-gutter) !important;
    top: 146px !important;
    width: min(292px, calc(100vw - 48px)) !important;
    height: auto !important;
    object-fit: contain !important;
    filter: drop-shadow(0 12px 30px rgba(0, 0, 0, .38)) !important;
  }

  .hero-slide-fit711 .hero-fit711-copy p,
  .hero-slide-fit711-4 .hero-fit711-copy p {
    position: absolute !important;
    left: var(--mobile-gutter) !important;
    right: var(--mobile-gutter) !important;
    top: 370px !important;
    width: auto !important;
    max-width: 338px !important;
    margin: 0 !important;
    color: rgba(255, 255, 255, .92) !important;
    font-family: "Avenir Heavy", "Poppins", Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    letter-spacing: 2.4px !important;
    white-space: normal !important;
    text-shadow: 0 6px 18px rgba(0, 0, 0, .46) !important;
  }

  .hero-slide-fit711-4 .hero-fit711-copy p {
    top: 408px !important;
  }

  .hero-slide-fit711-info .hero-fit711-info-copy,
  .hero-slide-fit711-city .hero-fit711-city-copy {
    position: absolute !important;
    left: var(--mobile-gutter) !important;
    top: 122px !important;
    width: calc(100vw - 36px) !important;
    max-width: 342px !important;
    z-index: 4 !important;
  }

  .hero-slide-fit711-info .hero-fit711-info-copy h1,
  .hero-slide-fit711-city .hero-fit711-city-copy h1 {
    margin: 0 0 22px !important;
    max-width: 342px !important;
    font-size: 54px !important;
    line-height: .92 !important;
    letter-spacing: 0 !important;
    color: #fff !important;
    text-shadow: 0 9px 28px rgba(0, 0, 0, .45) !important;
  }

  .hero-fit711-smallline,
  .hero-fit711-term,
  .hero-fit711-note {
    max-width: 328px !important;
    color: rgba(255, 255, 255, .92) !important;
    font-size: 11px !important;
    line-height: 1.45 !important;
    letter-spacing: 1.7px !important;
    white-space: normal !important;
  }

  .hero-fit711-offer-stack {
    margin-top: 18px !important;
  }

  .hero-fit711-offer-prefix {
    font-size: 36px !important;
    letter-spacing: 0 !important;
  }

  .hero-fit711-offer-outline {
    max-width: 342px !important;
    font-size: 46px !important;
    line-height: .9 !important;
    letter-spacing: 0 !important;
  }

  .hero-fit711-redtag,
  .hero-fit711-pill {
    display: inline-flex !important;
    max-width: 310px !important;
    margin-top: 18px !important;
    padding: 9px 12px !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    letter-spacing: 1.3px !important;
    white-space: normal !important;
  }

  .hero-buttons,
  .hero-slide-fit711 .hero-buttons,
  .hero-slide-fit711-12 .hero-buttons,
  .hero-slide-fit711-4 .hero-buttons,
  .hero-slide-fit711-info .hero-buttons,
  .hero-slide-fit711-city .hero-buttons {
    position: absolute !important;
    left: var(--mobile-gutter) !important;
    right: var(--mobile-gutter) !important;
    bottom: calc(var(--mobile-bottom-bar) + 22px) !important;
    width: auto !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    z-index: 5 !important;
  }

  .hero-buttons button,
  .hero-buttons a {
    width: 100% !important;
    min-width: 0 !important;
    height: 56px !important;
    min-height: 56px !important;
    padding: 0 10px !important;
    border-radius: 6px !important;
    font-family: "Avenir Heavy", "Poppins", Arial, sans-serif !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: 1px !important;
  }

  .scroll-cue,
  .hero-line,
  .hero-count,
  .hero-arrows,
  .hero-dots,
  .hero-help,
  .hero-widget,
  .opening-bar .round-action {
    display: none !important;
  }

  .opening-bar {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100vw !important;
    height: var(--mobile-bottom-bar) !important;
    min-height: var(--mobile-bottom-bar) !important;
    padding: 0 18px !important;
    display: block !important;
    background: #073a56 !important;
    color: #fff !important;
    box-shadow: 0 -18px 44px rgba(0, 0, 0, .24) !important;
    z-index: 10070 !important;
  }

  .opening-copy {
    position: absolute !important;
    left: 18px !important;
    right: 18px !important;
    top: 12px !important;
    width: auto !important;
    color: #fff !important;
    font-family: "Avenir Heavy", "Poppins", Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 1.2 !important;
    letter-spacing: 1.3px !important;
    text-align: center !important;
  }

  .opening-time {
    position: absolute !important;
    left: 50% !important;
    right: auto !important;
    top: 39px !important;
    width: min(300px, calc(100vw - 42px)) !important;
    height: 38px !important;
    display: flex !important;
    justify-content: space-between !important;
    gap: 8px !important;
    transform: translateX(-50%) !important;
  }

  .opening-time span {
    width: 25% !important;
    min-width: 0 !important;
    display: grid !important;
    justify-items: center !important;
    gap: 2px !important;
  }

  .opening-time strong {
    font-size: 22px !important;
    line-height: 22px !important;
    letter-spacing: 1.4px !important;
  }

  .opening-time em {
    font-size: 7px !important;
    line-height: 9px !important;
    letter-spacing: 1px !important;
  }

  body.menu-open {
    overflow: hidden !important;
  }

  body.menu-open .site-header,
  body.menu-open .fixed-header {
    background: #fff !important;
    border-bottom: 1px solid rgba(0, 0, 0, .1) !important;
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }

  body.menu-open .brand-logo-light {
    display: none !important;
  }

  body.menu-open .brand-logo-dark {
    display: block !important;
  }

  body.menu-open .header-nav {
    width: 148px !important;
    right: 12px !important;
  }

  body.menu-open .member-wrap {
    display: block !important;
  }

  body.menu-open .member-button {
    background: #111 !important;
    color: #fff !important;
    box-shadow: none !important;
  }

  body.menu-open .menu-trigger {
    left: 100px !important;
    color: #111 !important;
  }

  body.menu-open .hamburger::before,
  body.menu-open .hamburger::after {
    top: 22px !important;
    width: 32px !important;
  }

  body.menu-open .hamburger::before {
    transform: rotate(45deg) !important;
  }

  body.menu-open .hamburger::after {
    transform: rotate(-45deg) !important;
  }

  body.menu-open .hamburger span {
    opacity: 0 !important;
  }

  .menu-overlay {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100svh !important;
    min-height: 100svh !important;
    padding: 88px 18px 118px !important;
    overflow: hidden auto !important;
    background: #fff !important;
    z-index: 10050 !important;
  }

  body.menu-open .menu-overlay::before {
    content: "" !important;
    position: fixed !important;
    left: -28vw !important;
    top: 104px !important;
    width: 118vw !important;
    height: 118vw !important;
    background: url("assets/images/crays-menu-favicon.png") center/contain no-repeat !important;
    opacity: .07 !important;
    pointer-events: none !important;
    z-index: 1 !important;
  }

  body.menu-open .menu-large {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    padding: 28px 22px 24px !important;
    border-radius: 8px !important;
    overflow: hidden !important;
    background: rgb(232, 237, 238) !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 3 !important;
  }

  body.menu-open .menu-title {
    margin: 0 0 22px !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: 2.5px !important;
  }

  body.menu-open .menu-large li {
    height: auto !important;
    border-top: 1px solid rgba(0, 0, 0, .13) !important;
  }

  body.menu-open .menu-large a,
  body.menu-open .menu-large button {
    height: auto !important;
    min-height: 48px !important;
    display: flex !important;
    align-items: center !important;
    font-family: "Avenir Book", "Poppins", Arial, sans-serif !important;
    font-size: 31px !important;
    line-height: 1.06 !important;
    font-weight: 400 !important;
    letter-spacing: 0 !important;
    white-space: normal !important;
    color: #2b2b2b !important;
  }

  body.menu-open .menu-large li:first-child a,
  body.menu-open .menu-large li:first-child button {
    font-family: "Avenir Heavy", "Poppins", Arial, sans-serif !important;
    font-weight: 900 !important;
  }

  body.menu-open .menu-small {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    width: 100% !important;
    margin-top: 20px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 0 !important;
    visibility: visible !important;
    opacity: 1 !important;
    z-index: 3 !important;
  }

  body.menu-open .menu-small a {
    width: 100% !important;
    height: 36px !important;
    min-height: 36px !important;
    justify-content: flex-start !important;
    border-top: 1px solid rgba(0, 0, 0, .13) !important;
    color: #5f5f5f !important;
    font-family: "Avenir Medium", Avenir, Arial, sans-serif !important;
    font-size: 15px !important;
    line-height: 36px !important;
    letter-spacing: 1.1px !important;
    text-align: left !important;
    white-space: normal !important;
  }

  body.menu-open .menu-actions,
  body.menu-open .menu-footer,
  body.menu-open .privacy-link,
  body.menu-open .menu-secondary {
    display: none !important;
  }

  .newsfeed {
    padding: 46px 18px 52px !important;
    background: #111 !important;
    color: #fff !important;
  }

  .news-grid {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    padding: 0 !important;
    display: block !important;
  }

  .intro-copy {
    width: 100% !important;
    max-width: 370px !important;
    padding: 0 !important;
  }

  .intro-copy h2 {
    margin: 0 0 14px !important;
    color: #fff !important;
    font-size: 12px !important;
    line-height: 1 !important;
    letter-spacing: 2px !important;
  }

  .intro-copy h3 {
    max-width: 330px !important;
    margin: 0 0 18px !important;
    color: #fff !important;
    font-size: 52px !important;
    line-height: .86 !important;
    letter-spacing: 0 !important;
  }

  .intro-copy p {
    max-width: 350px !important;
    color: rgba(255, 255, 255, .78) !important;
    font-size: 14px !important;
    line-height: 1.58 !important;
  }

  .intro-copy p:nth-of-type(n+3) {
    display: none !important;
  }

  .news-cards {
    width: calc(100vw - 18px) !important;
    margin: 30px 0 0 !important;
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: min(82vw, 320px) !important;
    gap: 14px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    padding: 0 18px 8px 0 !important;
  }

  .news-card,
  .news-card:nth-child(n+2) {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    scroll-snap-align: start !important;
  }

  .news-card-main {
    display: block !important;
    color: inherit !important;
  }

  .newsfeed .news-cards .news-card .news-card-main > img,
  .news-card-main img {
    width: 100% !important;
    height: 292px !important;
    min-height: 292px !important;
    max-height: 292px !important;
    border-radius: 8px !important;
    object-fit: cover !important;
    object-position: center !important;
  }

  .news-card h4 {
    margin: 14px 0 8px !important;
    color: #fff !important;
    font-size: 15px !important;
    line-height: 1.18 !important;
    letter-spacing: .4px !important;
  }

  .news-card p {
    color: rgba(255, 255, 255, .7) !important;
    font-size: 12px !important;
    line-height: 1.45 !important;
  }

  .news-read-more {
    color: #fff !important;
    font-size: 11px !important;
    letter-spacing: 1px !important;
  }

  .logo-section {
    padding: 42px 18px 36px !important;
    background: #fff !important;
  }

  .logo-section .container,
  .logo-container {
    width: 100% !important;
    max-width: 390px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: block !important;
  }

  .logo-headline {
    font-size: 34px !important;
    line-height: .96 !important;
    letter-spacing: 0 !important;
  }

  .logo-pill {
    width: 100% !important;
    max-width: 350px !important;
    margin: 24px auto 0 !important;
    overflow: hidden !important;
  }

  .press-rail {
    overflow-x: auto !important;
    justify-content: flex-start !important;
  }

  .label-band {
    padding: 24px 18px 42px !important;
    background: #f4f6f6 !important;
  }

  .label-band .label-container,
  .label-band .container.label-container {
    width: 100% !important;
    max-width: 390px !important;
    margin: 0 auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
  }

  .label-band .label-card,
  .label-band .hoverfeld,
  .label-band .label-container > .col-sm-3 {
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    padding: 0 !important;
    display: block !important;
  }

  .label-band .label-card a,
  .label-band .label-card .button {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    background: #111 !important;
  }

  .label-band .label-card img,
  .label-band .hoveropacity {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 16 / 10 !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: cover !important;
    border-radius: 8px !important;
    opacity: .78 !important;
  }

  .label-move img {
    object-position: 54% center !important;
  }

  .label-focus img {
    object-position: center 58% !important;
  }

  .label-pulse img {
    object-position: 48% center !important;
  }

  .label-recover img {
    object-position: center center !important;
  }

  .label-band .label-name,
  .label-band .RED-LABEL,
  .label-band .BLACK-LABEL,
  .label-band .PINK-LABEL,
  .label-band .WHITE-LABEL {
    position: absolute !important;
    left: 18px !important;
    right: 18px !important;
    bottom: 16px !important;
    min-height: 0 !important;
    margin: 0 !important;
    color: #fff !important;
    text-shadow: 0 8px 24px rgba(0, 0, 0, .55) !important;
    font-family: "Avenir Heavy", "Poppins", Arial, sans-serif !important;
    font-size: 27px !important;
    line-height: .95 !important;
    letter-spacing: 0 !important;
  }

  .label-band .label-name strong,
  .label-band .label-name span {
    display: block !important;
  }

  .backgrounder-white.white-block {
    padding: 44px 18px 48px !important;
    background: #fff !important;
  }

  .backgrounder-white.white-block .container.maxi-container,
  .backgrounder-white.white-block .container.maxi-container.social-circle-row,
  .backgrounder-white.white-block .container.maxi-container.association-row {
    width: 100% !important;
    max-width: 390px !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto 42px !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 22px !important;
  }

  .social-circle-row .row-media {
    order: -1 !important;
  }

  .backgrounder-white.white-block .row-copy,
  .backgrounder-white.white-block .limiter-feld {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .regular-headline {
    margin: 0 0 16px !important;
    font-size: 31px !important;
    line-height: 1.04 !important;
    letter-spacing: 0 !important;
  }

  .limiter-feld p {
    color: #262626 !important;
    font-size: 14px !important;
    line-height: 1.6 !important;
    text-align: left !important;
  }

  .limiter-feld p:nth-of-type(n+3) {
    display: none !important;
  }

  .cursiv-feld {
    width: 100% !important;
    display: block !important;
  }

  .secondlink,
  .cursiv-button {
    width: 100% !important;
    max-width: none !important;
    height: 50px !important;
    display: grid !important;
    place-items: center !important;
    margin: 18px 0 0 !important;
    border-radius: 6px !important;
    font-size: 12px !important;
    letter-spacing: 1px !important;
  }

  .row-media,
  .desktoper,
  .backgrounder-white.white-block .row-media,
  .backgrounder-white.white-block .col-md-7 {
    display: block !important;
    width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    padding: 0 !important;
    border-radius: 8px !important;
    overflow: hidden !important;
  }

  .row-media img,
  .backgrounder-white.white-block .row-media img,
  .backgrounder-white.white-block .col-md-7 img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 4 / 5 !important;
    object-fit: cover !important;
    object-position: center !important;
    border-radius: 8px !important;
  }

  section.impressions {
    padding: 48px 0 52px !important;
    background: #111 !important;
    color: #fff !important;
  }

  section.impressions .container.maxi-container.impression-container {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 18px !important;
    display: block !important;
  }

  section.impressions .impression-container h3 {
    margin: 0 0 24px !important;
    color: #fff !important;
    font-size: 42px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
  }

  section.impressions .your-slider-class.impression-stage {
    height: auto !important;
    overflow: visible !important;
  }

  section.impressions .impression-track {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: min(76vw, 310px) !important;
    gap: 14px !important;
    overflow-x: auto !important;
    scroll-snap-type: x mandatory !important;
    padding: 0 18px 12px 0 !important;
  }

  section.impressions .impression-slide {
    width: 100% !important;
    scroll-snap-align: start !important;
  }

  section.impressions .impression-slide img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 5 !important;
    border-radius: 8px !important;
    object-fit: cover !important;
  }

  .impression-caption {
    color: rgba(255, 255, 255, .72) !important;
  }

  .social-strip {
    padding: 44px 18px 46px !important;
    background: #fff !important;
  }

  .marquee {
    font-size: 48px !important;
    line-height: .88 !important;
    letter-spacing: 0 !important;
  }

  .social-strip p {
    margin-top: 28px !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
    letter-spacing: 1.8px !important;
  }

  .social-handle {
    font-size: 18px !important;
    letter-spacing: 1px !important;
  }

  .social-grid {
    width: 100% !important;
    max-width: 390px !important;
    margin: 24px auto 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }

  .social-grid img {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 1 / 1.18 !important;
    object-fit: cover !important;
    border-radius: 8px !important;
  }

  .site-footer {
    background: #fff !important;
  }

  .footer-main {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 30px !important;
    width: 100% !important;
    max-width: 390px !important;
    margin: 0 auto !important;
    padding: 44px 24px 128px !important;
  }

  .footer-column {
    width: 100% !important;
  }

  .footer-column h3 {
    margin: 0 0 12px !important;
    font-size: 15px !important;
    line-height: 1.1 !important;
    letter-spacing: 2px !important;
  }

  .footer-column a,
  .language-row a {
    min-height: 34px !important;
    display: flex !important;
    align-items: center !important;
    font-size: 18px !important;
    line-height: 1.2 !important;
    letter-spacing: 1.8px !important;
  }

  .drawer-backdrop {
    z-index: 10105 !important;
  }

  .member-drawer {
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100svh !important;
    background: #fff !important;
    box-shadow: none !important;
    z-index: 10120 !important;
  }

  @supports (height: 100dvh) {
    .member-drawer {
      height: 100dvh !important;
    }
  }

  .drawer-close {
    right: 14px !important;
    top: 14px !important;
    width: 42px !important;
    height: 42px !important;
    font-size: 30px !important;
  }

  .drawer-body {
    height: 100% !important;
    overflow-y: auto !important;
    padding: 70px 18px 108px !important;
  }

  .stepper {
    position: sticky !important;
    top: 0 !important;
    z-index: 2 !important;
    display: grid !important;
    grid-template-columns: repeat(5, 1fr) !important;
    gap: 5px !important;
    margin: 0 0 30px !important;
    padding: 0 0 14px !important;
    background: #fff !important;
  }

  .stepper li {
    font-size: 11px !important;
    line-height: 1 !important;
  }

  .stepper li::before {
    height: 3px !important;
    margin-bottom: 8px !important;
  }

  .stepper span {
    margin-top: 5px !important;
    font-size: 9px !important;
    line-height: 1.1 !important;
  }

  .drawer-step h2 {
    margin: 0 0 12px !important;
    font-size: 26px !important;
    line-height: 1.04 !important;
    letter-spacing: 0 !important;
  }

  .drawer-step p {
    margin: 0 0 22px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
  }

  .drawer-search {
    height: 52px !important;
    margin-bottom: 22px !important;
    border-radius: 6px !important;
  }

  .club-list,
  .drawer-options,
  .plan-list,
  .member-form {
    gap: 12px !important;
  }

  .club-card,
  .drawer-options button,
  .plan-card,
  .drawer-next {
    min-height: 58px !important;
    border-radius: 6px !important;
    padding: 14px 16px !important;
  }

  .plan-card {
    min-height: 92px !important;
  }

  .plan-card strong {
    font-size: 17px !important;
    line-height: 1.15 !important;
  }

  .plan-card span {
    margin-top: 6px !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
  }

  .member-form input {
    height: 52px !important;
    border-radius: 6px !important;
    font-size: 16px !important;
  }

  .summary {
    border-radius: 8px !important;
  }

  .promo-panel {
    display: none !important;
  }
}

@media (max-width: 360px) {
  .hero-fit711-brand {
    top: 106px !important;
  }

  .hero-fit711-brand span {
    font-size: 30px !important;
  }

  .hero-slide-fit711 .hero-fit711-core,
  .hero-slide-fit711-12 .hero-fit711-core {
    top: 150px !important;
    width: calc(100vw - 32px) !important;
  }

  .hero-slide-fit711 .hero-fit711-copy p {
    top: 318px !important;
  }

  .hero-slide-fit711-4 .hero-fit711-core-4 {
    top: 126px !important;
    width: calc(100vw - 62px) !important;
  }

  .hero-slide-fit711-4 .hero-fit711-copy p {
    top: 360px !important;
  }

  .hero-buttons,
  .hero-slide-fit711 .hero-buttons,
  .hero-slide-fit711-12 .hero-buttons,
  .hero-slide-fit711-4 .hero-buttons,
  .hero-slide-fit711-info .hero-buttons,
  .hero-slide-fit711-city .hero-buttons {
    bottom: calc(var(--mobile-bottom-bar) + 16px) !important;
  }

  body.menu-open .menu-large a,
  body.menu-open .menu-large button {
    font-size: 28px !important;
  }
}

/* Final mobile hard lock: measured fixes for phone width. */
@media (max-width: 767px) {
  section.newsfeed .news-cards {
    width: calc(100vw - 18px) !important;
    max-width: none !important;
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: min(84vw, 328px) !important;
    grid-template-columns: none !important;
    gap: 14px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
  }

  section.newsfeed .news-cards > article.news-card {
    width: 100% !important;
    min-width: min(84vw, 328px) !important;
    max-width: none !important;
    flex: none !important;
    display: block !important;
    scroll-snap-align: start !important;
  }

  section.newsfeed .news-card-main,
  section.newsfeed .news-card-main > img {
    width: 100% !important;
  }

  section.newsfeed .news-card-main > img {
    height: auto !important;
    aspect-ratio: 4 / 5 !important;
    min-height: 0 !important;
    max-height: none !important;
    object-fit: cover !important;
  }

  section.label-band > div.container.label-container,
  section.label-band div.container.label-container {
    width: 100% !important;
    max-width: 390px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
  }

  section.label-band div.container.label-container > div.col-sm-3.hoverfeld.label-card {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    flex: none !important;
    display: block !important;
  }

  section.label-band div.container.label-container > div.col-sm-3.hoverfeld.label-card > a.button {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    display: block !important;
    position: relative !important;
    overflow: hidden !important;
    border-radius: 8px !important;
    background: #111 !important;
  }

  section.label-band div.container.label-container > div.col-sm-3.hoverfeld.label-card img.hoveropacity {
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 16 / 10 !important;
    object-fit: cover !important;
    border-radius: 8px !important;
  }

  section.label-band div.container.label-container p.label-name {
    position: absolute !important;
    left: 18px !important;
    right: 18px !important;
    bottom: 16px !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    color: #fff !important;
    font-size: 27px !important;
    line-height: .95 !important;
    text-align: left !important;
  }

  footer.site-footer .footer-main {
    width: 100% !important;
    max-width: 390px !important;
    margin: 0 auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .hero-slide-fit711-12 .hero-fit711-brand {
    display: none !important;
  }
}

/* Final mobile hero slider: slide-specific image and copy composition. */
@media (max-width: 767px) {
  :root {
    --mobile-bottom-bar: 88px;
    --hero-safe-left: 18px;
    --hero-safe-right: 18px;
    --hero-cta-gap: 28px;
  }

  .hero-slide,
  .hero-slide.active {
    background-size: cover !important;
    background-repeat: no-repeat !important;
  }

  .hero-slide::after,
  .hero-slide-fit711::after,
  .hero-slide-fit711-4::after,
  .hero-slide-fit711-info::after,
  .hero-slide-fit711-city::after {
    background:
      linear-gradient(180deg, rgba(0, 0, 0, .42) 0%, rgba(0, 0, 0, .18) 31%, rgba(0, 0, 0, .16) 58%, rgba(0, 0, 0, .72) 100%),
      linear-gradient(90deg, rgba(0, 0, 0, .38) 0%, rgba(0, 0, 0, .04) 68%) !important;
  }

  .hero-buttons,
  .hero-slide-fit711 .hero-buttons,
  .hero-slide-fit711-12 .hero-buttons,
  .hero-slide-fit711-4 .hero-buttons,
  .hero-slide-fit711-info .hero-buttons,
  .hero-slide-fit711-city .hero-buttons {
    left: var(--hero-safe-left) !important;
    right: var(--hero-safe-right) !important;
    bottom: calc(var(--mobile-bottom-bar) + var(--hero-cta-gap)) !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    z-index: 8 !important;
  }

  .hero-buttons button,
  .hero-buttons a {
    height: 56px !important;
    min-height: 56px !important;
    border-radius: 6px !important;
    font-size: 11px !important;
    letter-spacing: 1px !important;
  }

  .hero-slide-fit711-12 {
    background-image: url("assets/images/crays-hero-dumbbell-slide-1.jpg") !important;
    background-position: 66% center !important;
  }

  .hero-slide-fit711-12 .hero-fit711-brand {
    display: none !important;
  }

  .hero-slide-fit711-12 .hero-fit711-core {
    left: var(--hero-safe-left) !important;
    top: clamp(144px, 20svh, 176px) !important;
    width: min(348px, calc(100vw - 36px)) !important;
    max-width: none !important;
    filter: drop-shadow(0 12px 28px rgba(0, 0, 0, .34)) !important;
  }

  .hero-slide-fit711-12 .hero-fit711-copy p {
    left: var(--hero-safe-left) !important;
    right: var(--hero-safe-right) !important;
    top: clamp(348px, 43svh, 380px) !important;
    max-width: 344px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    letter-spacing: 2.25px !important;
    text-align: left !important;
  }

  .hero-slide-fit711-4 {
    background-image: url("assets/images/crays-hero-leg-press-final.webp") !important;
    background-position: 56% center !important;
  }

  .hero-slide-fit711-4 .hero-fit711-core-4 {
    left: var(--hero-safe-left) !important;
    top: clamp(112px, 15svh, 138px) !important;
    width: min(292px, 76vw) !important;
    max-width: none !important;
    filter: drop-shadow(0 12px 28px rgba(0, 0, 0, .44)) !important;
  }

  .hero-slide-fit711-4 .hero-fit711-copy p {
    left: var(--hero-safe-left) !important;
    right: var(--hero-safe-right) !important;
    top: clamp(400px, 50svh, 430px) !important;
    max-width: 332px !important;
    font-size: 12px !important;
    line-height: 1.35 !important;
    letter-spacing: 2.1px !important;
    text-align: left !important;
  }

  .hero-slide-fit711-info {
    background-image: url("assets/images/crays-hero-trainer-client.webp") !important;
    background-position: 50% center !important;
  }

  .hero-slide-fit711-info .hero-fit711-info-copy {
    left: var(--hero-safe-left) !important;
    top: clamp(100px, 13svh, 126px) !important;
    width: calc(100vw - 36px) !important;
    max-width: 350px !important;
  }

  .hero-slide-fit711-info .hero-fit711-info-copy h1 {
    margin: 0 0 18px !important;
    max-width: 350px !important;
    font-size: clamp(46px, 13.2vw, 58px) !important;
    line-height: .9 !important;
    color: #fff !important;
    text-align: left !important;
  }

  .hero-slide-fit711-info .hero-fit711-smallline {
    max-width: 318px !important;
    margin: 0 0 18px !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    letter-spacing: 1.6px !important;
    text-align: left !important;
  }

  .hero-slide-fit711-info .hero-fit711-offer-stack {
    margin: 12px 0 0 !important;
  }

  .hero-slide-fit711-info .hero-fit711-offer-prefix {
    font-size: 34px !important;
    line-height: .9 !important;
  }

  .hero-slide-fit711-info .hero-fit711-offer-outline {
    max-width: 348px !important;
    font-size: clamp(42px, 12.4vw, 54px) !important;
    line-height: .9 !important;
  }

  .hero-slide-fit711-info .hero-fit711-term {
    margin-top: 10px !important;
    max-width: 330px !important;
    font-size: 11px !important;
  }

  .hero-slide-fit711-info .hero-fit711-redtag {
    margin-top: 14px !important;
    max-width: 314px !important;
  }

  .hero-slide-fit711-city {
    background-image: url("assets/images/crays-hero-dumbbell-woman-wide.webp") !important;
    background-position: 52% center !important;
  }

  .hero-slide-fit711-city .hero-fit711-city-copy {
    left: var(--hero-safe-left) !important;
    top: clamp(112px, 15svh, 136px) !important;
    width: calc(100vw - 36px) !important;
    max-width: 350px !important;
  }

  .hero-slide-fit711-city .hero-fit711-city-copy h1 {
    margin: 0 0 18px !important;
    max-width: 350px !important;
    font-size: clamp(45px, 13vw, 58px) !important;
    line-height: .92 !important;
    color: #fff !important;
    text-align: left !important;
  }

  .hero-slide-fit711-city .hero-fit711-smallline,
  .hero-slide-fit711-city .hero-fit711-note {
    max-width: 324px !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    letter-spacing: 1.55px !important;
    text-align: left !important;
  }

  .hero-slide-fit711-city .hero-fit711-pill {
    margin-top: 18px !important;
    max-width: 300px !important;
  }

  .hero-slide-fit711-city .hero-fit711-note {
    margin-top: 18px !important;
  }

  .opening-bar {
    height: var(--mobile-bottom-bar) !important;
    min-height: var(--mobile-bottom-bar) !important;
  }
}

/* Mobile hero art direction: each slide gets its own readable poster crop. */
@media (max-width: 767px) {
  .hero-slider {
    background: #040607 !important;
  }

  .hero-slide,
  .hero-slide.active {
    background-color: #040607 !important;
    background-repeat: no-repeat !important;
    background-size: clamp(650px, 174vw, 760px) auto !important;
    background-position: center 58px !important;
  }

  .hero-slide::after,
  .hero-slide-fit711::after,
  .hero-slide-fit711-4::after,
  .hero-slide-fit711-info::after,
  .hero-slide-fit711-city::after {
    background:
      linear-gradient(180deg, rgba(0, 0, 0, .3) 0%, rgba(0, 0, 0, .04) 31%, rgba(0, 0, 0, .52) 62%, rgba(0, 0, 0, .88) 100%),
      linear-gradient(90deg, rgba(0, 0, 0, .34) 0%, rgba(0, 0, 0, 0) 72%) !important;
  }

  .hero-slide-fit711-12 {
    background-image: url("assets/images/crays-hero-dumbbell-slide-1.jpg") !important;
    background-position: 66% 48px !important;
    background-size: clamp(700px, 184vw, 860px) auto !important;
  }

  .hero-slide-fit711-4 {
    background-image: url("assets/images/crays-hero-barbell-woman-652259.webp") !important;
    background-position: 38% 58px !important;
    background-size: clamp(650px, 172vw, 760px) auto !important;
  }

  .hero-slide-fit711-info {
    background-image: url("assets/images/crays-hero-trainer-client.webp") !important;
    background-position: 46% 58px !important;
    background-size: clamp(610px, 164vw, 720px) auto !important;
  }

  .hero-slide-fit711-city {
    background-image: url("assets/images/crays-hero-dumbbell-woman-wide.webp") !important;
    background-position: 41% 58px !important;
    background-size: clamp(620px, 166vw, 730px) auto !important;
  }

  .hero-slide-fit711-12 .hero-fit711-core {
    left: 22px !important;
    top: clamp(254px, 36svh, 304px) !important;
    width: min(314px, calc(100vw - 48px)) !important;
    filter: drop-shadow(0 10px 25px rgba(0, 0, 0, .58)) !important;
  }

  .hero-slide-fit711-12 .hero-fit711-copy p {
    left: 22px !important;
    top: clamp(408px, 52svh, 448px) !important;
    max-width: 340px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    letter-spacing: 2.1px !important;
    color: rgba(255, 255, 255, .96) !important;
    text-shadow: 0 8px 22px rgba(0, 0, 0, .72) !important;
  }

  .hero-slide-fit711-4 .hero-fit711-core-4 {
    left: 22px !important;
    top: clamp(224px, 30svh, 260px) !important;
    width: min(296px, 76vw) !important;
    filter: drop-shadow(0 10px 25px rgba(0, 0, 0, .66)) !important;
  }

  .hero-slide-fit711-4 .hero-fit711-copy p {
    left: 22px !important;
    top: clamp(418px, 53svh, 452px) !important;
    max-width: 326px !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    letter-spacing: 2px !important;
    color: rgba(255, 255, 255, .96) !important;
    text-shadow: 0 8px 22px rgba(0, 0, 0, .72) !important;
  }

  .hero-slide-fit711-info .hero-fit711-info-copy,
  .hero-slide-fit711-city .hero-fit711-city-copy {
    left: 22px !important;
    top: clamp(218px, 29svh, 246px) !important;
    width: calc(100vw - 44px) !important;
    max-width: 348px !important;
    padding: 0 !important;
    text-shadow: 0 8px 22px rgba(0, 0, 0, .72) !important;
  }

  .hero-slide-fit711-info .hero-fit711-info-copy h1,
  .hero-slide-fit711-city .hero-fit711-city-copy h1 {
    max-width: 348px !important;
    font-size: clamp(44px, 12.4vw, 56px) !important;
    line-height: .9 !important;
    margin: 0 0 16px !important;
  }

  .hero-slide-fit711-info .hero-fit711-smallline,
  .hero-slide-fit711-city .hero-fit711-smallline,
  .hero-slide-fit711-info .hero-fit711-term,
  .hero-slide-fit711-city .hero-fit711-note {
    max-width: 326px !important;
    color: rgba(255, 255, 255, .96) !important;
    font-size: 11px !important;
    line-height: 1.42 !important;
    letter-spacing: 1.55px !important;
    text-shadow: 0 8px 22px rgba(0, 0, 0, .72) !important;
  }

  .hero-slide-fit711-info .hero-fit711-offer-stack {
    margin: 10px 0 0 !important;
  }

  .hero-slide-fit711-info .hero-fit711-offer-prefix {
    font-size: 31px !important;
  }

  .hero-slide-fit711-info .hero-fit711-offer-outline {
    max-width: 336px !important;
    font-size: clamp(39px, 11.4vw, 50px) !important;
    line-height: .9 !important;
  }

  .hero-slide-fit711-info .hero-fit711-redtag,
  .hero-slide-fit711-city .hero-fit711-pill {
    margin-top: 12px !important;
    max-width: 300px !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, .34) !important;
  }

  .hero-slide-fit711-city .hero-fit711-note {
    margin-top: 14px !important;
  }

  .hero-buttons,
  .hero-slide-fit711 .hero-buttons,
  .hero-slide-fit711-12 .hero-buttons,
  .hero-slide-fit711-4 .hero-buttons,
  .hero-slide-fit711-info .hero-buttons,
  .hero-slide-fit711-city .hero-buttons {
    bottom: calc(var(--mobile-bottom-bar) + 30px) !important;
  }
}

@media (max-width: 360px) {
  .hero-slide-fit711-12 .hero-fit711-core {
    top: 224px !important;
    width: calc(100vw - 54px) !important;
  }

  .hero-slide-fit711-12 .hero-fit711-copy p {
    top: 372px !important;
  }

  .hero-slide-fit711-4 .hero-fit711-core-4 {
    top: 204px !important;
    width: 74vw !important;
  }

  .hero-slide-fit711-4 .hero-fit711-copy p {
    top: 384px !important;
  }

  .hero-slide-fit711-info .hero-fit711-info-copy,
  .hero-slide-fit711-city .hero-fit711-city-copy {
    top: 190px !important;
  }
}

/* Final hero brand casing lock: Crays Gym, only C and G uppercase. */
.hero-slide-fit711 .hero-fit711-brand,
.hero-slide-fit711 .hero-fit711-brand span {
  text-transform: none !important;
}

/* Final navigation interaction lock: open menu links must sit above every hero/image layer. */
body.menu-open main,
body.menu-open .hero-slider,
body.menu-open .hero-slide,
body.menu-open .hero-bg {
  pointer-events: none !important;
}

body.menu-open .menu-overlay {
  position: fixed !important;
  inset: 154px 0 0 0 !important;
  z-index: 10045 !important;
  pointer-events: auto !important;
}

body.menu-open .menu-overlay.active,
body.menu-open .menu-overlay .menu-small,
body.menu-open .menu-overlay .menu-large,
body.menu-open .menu-overlay .menu-actions,
body.menu-open .menu-overlay .menu-footer,
body.menu-open .menu-overlay .privacy-link,
body.menu-open .menu-overlay a,
body.menu-open .menu-overlay button {
  pointer-events: auto !important;
}

@media (max-width: 767px) {
  body.menu-open .menu-overlay {
    inset: 64px 0 0 0 !important;
  }
}

/* Final menu hover affordance: make clickable destinations feel alive and obvious. */
body.menu-open .menu-large li {
  position: relative !important;
  margin: 0 -16px !important;
  border-color: rgba(0, 0, 0, .1) !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  transition:
    transform .24s cubic-bezier(.2, .8, .2, 1),
    box-shadow .24s cubic-bezier(.2, .8, .2, 1),
    background-color .24s ease,
    border-color .24s ease !important;
}

body.menu-open .menu-large li::before {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 9px !important;
  bottom: 9px !important;
  width: 0 !important;
  border-radius: 999px !important;
  background: var(--red) !important;
  transition: width .24s cubic-bezier(.2, .8, .2, 1) !important;
}

body.menu-open .menu-large li::after {
  content: "→" !important;
  position: absolute !important;
  right: 18px !important;
  top: 50% !important;
  color: var(--red) !important;
  font-family: "Avenir Heavy", Avenir, Arial, sans-serif !important;
  font-size: 28px !important;
  line-height: 1 !important;
  opacity: 0 !important;
  transform: translate(-12px, -50%) !important;
  transition:
    opacity .22s ease,
    transform .24s cubic-bezier(.2, .8, .2, 1) !important;
  pointer-events: none !important;
}

body.menu-open .menu-large li:hover,
body.menu-open .menu-large li:focus-within {
  background: rgba(255, 255, 255, .94) !important;
  border-color: rgba(239, 28, 74, .28) !important;
  box-shadow: 0 18px 42px rgba(10, 24, 34, .13) !important;
  transform: translate3d(10px, -2px, 0) !important;
}

body.menu-open .menu-large li:hover::before,
body.menu-open .menu-large li:focus-within::before {
  width: 5px !important;
}

body.menu-open .menu-large li:hover::after,
body.menu-open .menu-large li:focus-within::after {
  opacity: 1 !important;
  transform: translate(0, -50%) !important;
}

body.menu-open .menu-large a,
body.menu-open .menu-large button {
  position: relative !important;
  z-index: 1 !important;
  min-height: 62px !important;
  padding: 0 54px 0 16px !important;
  border-radius: 8px !important;
  color: #2c2f31 !important;
  transition:
    color .22s ease,
    transform .24s cubic-bezier(.2, .8, .2, 1),
    letter-spacing .24s ease !important;
}

body.menu-open .menu-large a:hover,
body.menu-open .menu-large button:hover,
body.menu-open .menu-large a:focus-visible,
body.menu-open .menu-large button:focus-visible {
  color: var(--red) !important;
  transform: translateX(8px) !important;
  letter-spacing: .01em !important;
  outline: none !important;
}

body.menu-open .menu-small a {
  position: relative !important;
  transition:
    color .22s ease,
    background-color .22s ease,
    transform .22s cubic-bezier(.2, .8, .2, 1),
    box-shadow .22s ease !important;
}

body.menu-open .menu-small a:hover,
body.menu-open .menu-small a:focus-visible {
  color: var(--red) !important;
  background: #fff !important;
  box-shadow: 0 10px 24px rgba(10, 24, 34, .08) !important;
  transform: translateX(-8px) !important;
  outline: none !important;
}

/* Final right-menu line lock: keep every primary navigation item on one line. */
body.menu-open .menu-large a,
body.menu-open .menu-large button {
  min-height: 62px !important;
  padding-right: 46px !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  font-size: clamp(40px, 2.45vw, 48px) !important;
  line-height: 1.05 !important;
}

body.menu-open .menu-large li::after {
  right: 14px !important;
}

/* Final fullscreen menu lock: no page imagery may remain visible behind the open menu. */
body.menu-open .site-header,
body.menu-open .fixed-header {
  z-index: 10060 !important;
}

body.menu-open .menu-overlay {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100vh !important;
  min-height: 100vh !important;
  background: #fff !important;
  z-index: 10045 !important;
  pointer-events: auto !important;
}

body.menu-open .menu-overlay-bg {
  background: #fff !important;
}

body.menu-open .menu-large {
  width: 580px !important;
  max-width: calc(100vw - 96px) !important;
}

body.menu-open .menu-large li {
  min-height: 64px !important;
  margin: 0 -12px !important;
  overflow: visible !important;
}

body.menu-open .menu-large a,
body.menu-open .menu-large button {
  min-height: 64px !important;
  padding: 0 44px 0 18px !important;
  white-space: nowrap !important;
  overflow: visible !important;
  text-overflow: clip !important;
  font-size: clamp(36px, 2.2vw, 44px) !important;
  line-height: 1 !important;
}

body.menu-open .menu-large li::after {
  content: "\2192" !important;
  right: 14px !important;
}

/* Final menu hover color lock: black highlight, no red on primary menu hover. */
body.menu-open .menu-large li::before {
  background: #05070a !important;
}

body.menu-open .menu-large li::after {
  color: #05070a !important;
}

body.menu-open .menu-large li:hover,
body.menu-open .menu-large li:focus-within {
  background: rgba(0, 0, 0, .07) !important;
  border-color: rgba(0, 0, 0, .28) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .16) !important;
}

body.menu-open .menu-large a:hover,
body.menu-open .menu-large button:hover,
body.menu-open .menu-large a:focus-visible,
body.menu-open .menu-large button:focus-visible {
  color: #05070a !important;
}

/* Final menu hover follow lock: no static first item. The bold black state belongs to the item under the pointer. */
body.menu-open .menu-large a,
body.menu-open .menu-large button,
body.menu-open .menu-large li:first-child a,
body.menu-open .menu-large li:first-child button {
  font-family: "Avenir Book", "Poppins", Arial, sans-serif !important;
  font-weight: 400 !important;
  color: #2c2f31 !important;
  letter-spacing: 0 !important;
}

body.menu-open .menu-large li:not(:hover):not(:focus-within) a,
body.menu-open .menu-large li:not(:hover):not(:focus-within) button {
  transform: none !important;
  letter-spacing: 0 !important;
}

body.menu-open .menu-large li:hover a,
body.menu-open .menu-large li:hover button,
body.menu-open .menu-large li:focus-within a,
body.menu-open .menu-large li:focus-within button {
  font-family: "Avenir Heavy", "Poppins", Arial, sans-serif !important;
  font-weight: 900 !important;
  color: #05070a !important;
  transform: translateX(8px) !important;
  letter-spacing: 0 !important;
}

@media (max-width: 767px) {
  .site-header .brand {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
  }

  .site-header .search-trigger,
  .site-header .menu-trigger,
  .site-header .icon-close,
  .drawer-close {
    min-width: 44px !important;
    min-height: 44px !important;
  }
}

/* Final mobile opening bar lock: keep the blue sticky area readable with no text overlap. */
@media (max-width: 767px) {
  .opening-bar {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    height: var(--mobile-bottom-bar) !important;
    min-height: var(--mobile-bottom-bar) !important;
    padding: 8px 16px 9px !important;
    overflow: hidden !important;
  }

  .opening-copy {
    position: static !important;
    inset: auto !important;
    width: min(330px, calc(100vw - 32px)) !important;
    max-width: calc(100vw - 32px) !important;
    margin: 0 auto !important;
    font-size: 8.8px !important;
    line-height: 1.2 !important;
    letter-spacing: 1px !important;
    text-align: center !important;
    white-space: normal !important;
  }

  .opening-time {
    position: static !important;
    inset: auto !important;
    width: min(300px, calc(100vw - 42px)) !important;
    height: auto !important;
    margin: 0 auto !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    transform: none !important;
  }

  .opening-time span {
    width: auto !important;
  }
}

/* Final horizontal safety lock for oversized hero art and closed menu panels. */
html,
body {
  max-width: 100%;
  overflow-x: clip !important;
}

/* Keep the paired hero actions optically separated across every campaign slide. */
.hero-buttons,
.hero-slide-fit711 .hero-buttons,
.hero-slide-fit711-12 .hero-buttons,
.hero-slide-fit711-4 .hero-buttons,
.hero-slide-fit711-info .hero-buttons,
.hero-slide-fit711-city .hero-buttons {
  gap: clamp(12px, 1vw, 14px) !important;
}

@media (prefers-reduced-motion: reduce) {
  section.new-section2.logo-section .logo-holder-neu {
    overflow-x: auto !important;
  }

  section.new-section2.logo-section .logo-holder-neu .press-logo-track {
    animation: none !important;
    transform: none !important;
  }

  section.new-section2.logo-section .logo-holder-neu .partner-logo-sequence[aria-hidden="true"] {
    display: none !important;
  }

  section.new-section2.logo-section .partner-marquee-toggle {
    display: none !important;
  }
}

/* Binding public-access taxonomy: CRAYS GYM, SOCIAL and BACKYARD remain distinct. */
@media (min-width: 768px) {
  .footer-main.footer-main-reduced {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: clamp(48px, 7vw, 120px) !important;
  }
}

/* Final binding home-menu layout: keep both linked taxonomies visible without overlap. */
@media (min-width: 1200px) {
  body.menu-open .menu-large {
    top: 160px !important;
    right: 54px !important;
    height: 650px !important;
  }

  body.menu-open .menu-small {
    left: auto !important;
    right: 700px !important;
    top: 300px !important;
    width: min(500px, calc(100vw - 820px)) !important;
  }

  body.menu-open .menu-small a {
    width: 100% !important;
    font-size: clamp(20px, 1.55vw, 27px) !important;
    letter-spacing: 1.2px !important;
  }
}

/* Franchise is a B2B entry point and therefore shares the stakeholder webfront navigation. */
.franchise-page .franchise-stakeholder-nav {
  position: absolute;
  top: 7px;
  right: 40px;
  z-index: 10004;
  display: flex;
  height: 60px;
  align-items: center;
  gap: clamp(16px, 1.55vw, 30px);
  font-family: "Montserrat", Arial, sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
}

.franchise-page .franchise-stakeholder-nav > a {
  color: #fff;
  text-decoration: none;
}

.franchise-page .franchise-stakeholder-nav > a:not(.franchise-stakeholder-cta) {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  opacity: .88;
}

.franchise-page .franchise-stakeholder-nav > a:hover,
.franchise-page .franchise-stakeholder-nav > a:focus-visible {
  opacity: 1;
}

.franchise-page .franchise-stakeholder-cta {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 34px;
  border-radius: 5px;
  background: #fff;
  padding: 0 20px;
  color: #17130f !important;
}

@media (max-width: 1180px) {
  .franchise-page .site-header {
    height: 118px !important;
  }

  .franchise-page .franchise-stakeholder-nav {
    top: 66px;
    right: 0;
    left: 0;
    height: 52px;
    justify-content: flex-start;
    overflow-x: auto;
    border-top: 1px solid rgba(255,255,255,.14);
    background: rgba(0,0,0,.72);
    padding: 0 24px;
    scrollbar-width: none;
  }

  .franchise-page .franchise-stakeholder-nav::-webkit-scrollbar {
    display: none;
  }

  .franchise-page .franchise-stakeholder-cta {
    order: -1;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  body.menu-open .menu-large {
    left: 37% !important;
    right: 30px !important;
    top: 150px !important;
    width: auto !important;
    max-width: none !important;
    height: 610px !important;
    padding: 42px 34px 28px !important;
  }

  body.menu-open .menu-large a,
  body.menu-open .menu-large button {
    font-size: clamp(24px, 3.2vw, 34px) !important;
  }

  body.menu-open .menu-small {
    left: 30px !important;
    right: auto !important;
    top: 245px !important;
    width: calc(37% - 54px) !important;
  }

  body.menu-open .menu-small a {
    width: 100% !important;
    font-size: clamp(16px, 2vw, 22px) !important;
    letter-spacing: .5px !important;
    white-space: normal !important;
    line-height: 1.1 !important;
  }
}

@media (max-width: 767px) {
  body.menu-open .menu-overlay {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    padding-bottom: calc(var(--mobile-bottom-bar) + 70px) !important;
  }

  body.menu-open .menu-small {
    position: absolute !important;
    left: 20px !important;
    right: 20px !important;
    top: 92px !important;
    width: auto !important;
    min-height: 0 !important;
    display: block !important;
    padding: 0 !important;
    background: transparent !important;
  }

  body.menu-open .menu-small a {
    width: 100% !important;
    min-height: 44px !important;
    height: auto !important;
    justify-content: flex-start !important;
    padding: 8px 4px !important;
    border-top: 1px solid rgba(0, 0, 0, .14) !important;
    color: #2c2f31 !important;
    font-size: 17px !important;
    line-height: 1.2 !important;
    letter-spacing: .5px !important;
    text-align: left !important;
    white-space: normal !important;
  }

  body.menu-open .menu-large {
    position: absolute !important;
    left: 20px !important;
    right: 20px !important;
    top: 390px !important;
    width: auto !important;
    max-width: none !important;
    height: 500px !important;
    min-height: 500px !important;
    padding: 30px 24px 24px !important;
  }

  body.menu-open .menu-title {
    margin-bottom: 18px !important;
  }

  body.menu-open .menu-large li,
  body.menu-open .menu-large a,
  body.menu-open .menu-large button {
    min-height: 50px !important;
    height: 50px !important;
  }

  body.menu-open .menu-large a,
  body.menu-open .menu-large button {
    padding: 0 30px 0 8px !important;
    font-size: clamp(20px, 6.5vw, 26px) !important;
    white-space: normal !important;
  }

  body.menu-open .menu-footer,
  body.menu-open .privacy-link {
    display: none !important;
  }

  body.menu-open .menu-overlay::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 890px !important;
    width: 1px !important;
    height: calc(var(--mobile-bottom-bar) + 48px) !important;
    pointer-events: none !important;
  }
}

/* Franchise header: the longer Partner Log In label owns a wider, collision-free slot. */
@media (min-width: 1200px) {
  .franchise-page .site-header .header-nav {
    width: 590px !important;
  }

  .franchise-page .site-header .login-wrap {
    width: 150px !important;
  }

  .franchise-page .site-header .login-wrap .login-button {
    left: auto !important;
    top: auto !important;
    padding-left: 18px !important;
    padding-right: 44px !important;
  }

  .franchise-page .site-header .member-wrap {
    left: 248px !important;
  }

  .franchise-page .site-header .menu-trigger {
    left: 468px !important;
  }
}

/* Final desktop B2B lockup: stronger label and a tighter relationship to the menu icon. */
@media (min-width: 1200px) {
  .site-header .fixed-header .header-nav .menu-trigger {
    width: 110px !important;
  }

  .site-header .fixed-header .header-nav .menu-copy {
    left: 20px !important;
    top: 22px !important;
    width: 42px !important;
    height: 16px !important;
    font-size: 12px !important;
    line-height: 16px !important;
    letter-spacing: 1.25px !important;
  }

  .site-header .fixed-header .header-nav .hamburger {
    right: 0 !important;
    width: 42px !important;
  }
}
