*{margin:0;padding:0;box-sizing:border-box}
:root{
  --page-x:120px;
  --club-block-gap-outer:204px;
  --club-block-gap-inner:163px;
}

body{
  font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
  background:#fff;
  color:#111;
}

body.drawerOpen{
  overflow:hidden;
}

header{
  height:78px;
  background:#000;
  width:100%;
  display:flex;
  align-items:center;
}

.headerInner{
  width:100%;
  padding:0 var(--page-x);
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.logo{display:block;height:28px;width:auto}
.logoLink{display:flex;align-items:center;line-height:0;text-decoration:none}

nav{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}

nav a{
  color:#fff;
  text-decoration:none;
  margin-left:44px;
  font-size:14px;
  font-weight:220;
  letter-spacing:.2px;
  transition:.3s;
}

nav a:hover{color:#fff}

.menuTrigger{
  color:#fff;
  background:none;
  border:0;
  margin-left:44px;
  font-size:14px;
  font-weight:220;
  letter-spacing:.2px;
  font-family:inherit;
  cursor:pointer;
  transition:.3s;
}

.menuTrigger:hover{color:#fff}

.headerEnterBtn{
  margin-left:44px;
  height:34px;
  padding:0 18px;
  border-radius:999px;
  background:#fff;
  color:#111 !important;
  border:1px solid #fff;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:220;
  letter-spacing:.2px;
  line-height:1;
  text-decoration:none;
  transition:background-color .25s ease, color .25s ease, border-color .25s ease;
}

.headerEnterBtn:hover{
  background:#f0f0f0;
  border-color:#f0f0f0;
  color:#111 !important;
}

.clubProductsDrawerOverlay{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.42);
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  opacity:0;
  pointer-events:none;
  transition:opacity .25s ease;
  z-index:1200;
}

.clubProductsDrawerOverlay.isOpen{
  opacity:1;
  pointer-events:auto;
}

.clubProductsDrawer{
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:min(25vw, 460px);
  min-width:320px;
  background:#fff;
  border-right:1px solid #e8e8e8;
  transform:translateX(-100%);
  transition:transform .28s ease;
  padding:24px 24px 28px;
}

.clubProductsDrawerTitle{
  position:absolute;
  left:24px;
  top:30px;
  transform:translateY(-50%);
  margin:0;
  color:#111;
  font-size:13px;
  font-weight:260;
  letter-spacing:.08em;
  text-transform:uppercase;
  line-height:1;
}

.clubProductsDrawerOverlay.isOpen .clubProductsDrawer{
  transform:translateX(0);
}

.clubProductsDrawerClose{
  position:absolute;
  right:12px;
  top:12px;
  border:0;
  background:none;
  color:#111;
  font-size:0;
  line-height:0;
  cursor:pointer;
  width:36px;
  height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
}

.clubProductsDrawerClose::before,
.clubProductsDrawerClose::after{
  content:"";
  position:absolute;
  width:16px;
  height:1px;
  background:currentColor;
}

.clubProductsDrawerClose::before{
  transform:rotate(45deg);
}

.clubProductsDrawerClose::after{
  transform:rotate(-45deg);
}

.clubProductsDrawerNav{
  margin-top:56px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:14px;
}

.clubProductsDrawerLink{
  color:#111;
  text-decoration:none;
  font-size:21px;
  font-weight:260;
  line-height:1.3;
  letter-spacing:.01em;
  transition:opacity .2s ease;
  margin-left:0;
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#111;
}

.clubProductsDrawerLink:hover{
  opacity:1;
  color:#111;
}

.clubProductsDrawerLink::before{
  content:"";
  width:34px;
  height:0;
  border-top:1px solid #111;
  background:transparent;
  transition:width .25s ease;
  flex-shrink:0;
}

.clubProductsDrawerLink:hover::before{
  width:52px;
}

.clubProductsDrawerDivider{
  align-self:stretch;
  height:1px;
  background:#d9d9d9;
  margin:10px 12px 10px 0;
}

.clubCanvas{
  width:100%;
  min-height:auto;
  background:#fff;
  padding-top:var(--club-block-gap-outer);
  padding-bottom:var(--club-block-gap-outer);
}

.clubIntroSplit{
  padding:0 var(--page-x);
}

.clubIntroSplit + .clubIntroSplit{
  margin-top:var(--club-block-gap-inner);
}

.clubIntroGrid{
  display:grid;
  grid-template-columns:3fr 2fr;
  grid-template-areas:"text image";
  gap:48px;
  align-items:start;
}

.clubIntroGrid--reverse{
  grid-template-columns:2fr 3fr;
  grid-template-areas:"image text";
}

.clubIntroText{
  grid-area:text;
  padding-top:6px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.clubIntroGrid--reverse .clubIntroText{
  align-items:flex-end;
  text-align:right;
}

.clubIntroTitle{
  font-size:52px;
  font-weight:420;
  line-height:1.04;
  letter-spacing:-.02em;
  margin:0 0 18px;
}

.clubIntroDescription{
  font-size:21px;
  font-weight:220;
  line-height:1.3;
  color:#333;
  margin:0;
  max-width:760px;
}

.clubIntroImage{
  grid-area:image;
  width:100%;
  aspect-ratio:1 / 1;
  background:#d9d9d9;
}

.clubIntroImage img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.clubAccessCtaWrap{
  margin-top:var(--club-block-gap-inner);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
}

.clubAccessTitle{
  font-size:46px;
  font-weight:320;
  line-height:1.08;
  letter-spacing:-.01em;
  color:#111;
  text-align:center;
  margin:0 0 20px;
}

.clubAccessTitleStrong{
  font-weight:520;
}

.clubAccessCta{
  background:#071b3d;
  color:#fff;
  border:1.5px solid #071b3d;
}

.revealOnScroll{
  opacity:0;
  transform:translateY(18px);
  transition:opacity 1.1s ease, transform 1.1s ease;
  will-change:opacity, transform;
}

.revealOnScroll.isVisible{
  opacity:1;
  transform:translateY(0);
}

.clubHeroPlaceholder{
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  width:100vw;
  height:min(81vh, 806px);
  background:#0a1f3f url("assets/DSCF1426-v2.JPG") center/cover no-repeat;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
}

.clubHeroPlaceholder::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(7, 27, 61, 0.62);
  pointer-events:none;
}

.clubHeroPlaceholder::after{
  content:none;
  pointer-events:none;
}

.clubHeroContent{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  position:relative;
  z-index:1;
}

.clubHeroLogo{
  width:min(20.4vw, 246px);
  height:auto;
  display:block;
  transform:translateY(-16px);
  overflow:visible;
}

.clubHeroTitle{
  margin-top:18px;
  color:#fff;
  font-size:44px;
  font-weight:320;
  letter-spacing:-.01em;
  line-height:1.1;
  text-align:center;
  opacity:0;
  animation:clubTitleFade 1.1s ease-out 2.3s forwards;
}

.clubHeroSubtitle{
  margin-top:8px;
  max-width:none;
  color:rgba(255,255,255,.72);
  font-size:24px;
  font-weight:220;
  letter-spacing:-.005em;
  line-height:1.3;
  text-align:center;
  white-space:nowrap;
  opacity:0;
  animation:clubTitleFade 1.1s ease-out 2.55s forwards;
}

.clubHeroActions{
  margin-top:22px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  opacity:0;
  animation:clubTitleFade 1.1s ease-out 2.8s forwards;
}

.clubHeroBtn{
  height:46px;
  padding:0 24px;
  border-radius:999px;
  text-decoration:none;
  font-size:16px;
  font-weight:320;
  letter-spacing:.01em;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition:transform .22s ease;
}

.clubHeroBtn:hover{
  transform:translateY(-4px);
}

.clubHeroBtn--solid{
  background:#fff;
  color:#111;
  border:1.5px solid #fff;
}

.clubHeroBtn--ghost{
  background:transparent;
  color:#fff;
  border:1.5px solid #fff;
}

.clubHeroMark{
  fill:#fff;
  opacity:0;
  animation:clubMarkFade 1.1s ease-out .12s forwards;
}

.clubHeroWordGroup{
  fill:#fff;
  font-family:"Helvetica Neue", Helvetica, Arial, sans-serif;
  font-weight:200;
}

.clubHeroWordBase{
  letter-spacing:-120px;
}

.clubHeroGlyph{
  opacity:0;
  animation:clubGlyphReveal .45s ease forwards;
}

.clubHeroGlyph--1{ animation-delay:1.0s; }
.clubHeroGlyph--2{ animation-delay:1.3s; }
.clubHeroGlyph--3{ animation-delay:1.6s; }
.clubHeroGlyph--4{ animation-delay:1.9s; }

@keyframes clubMarkFade{
  from{ opacity:0; }
  to{ opacity:1; }
}

@keyframes clubGlyphReveal{
  from{
    opacity:0;
  }
  to{
    opacity:1;
  }
}

@keyframes clubTitleFade{
  from{opacity:0}
  to{opacity:1}
}

.blackBandSection{
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  width:100vw;
  margin-top:46px;
  background:#000;
  min-height:auto;
  display:block;
  padding:0 var(--page-x);
  color:#fff;
}

.blackBandFooter{position:relative;padding-top:0}
.blackBandDivider{height:1px;background:rgba(255,255,255,.42);width:100%;margin:0}

.blackBandFooterGrid{
  display:grid;
  grid-template-columns:1.25fr 1fr 1fr;
  gap:48px;
  padding:34px 0 44px;
}

.blackBandFooterGrid > div{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.blackBandColTitle{
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:rgba(255,255,255,.72);
  margin-bottom:20px;
}

.blackBandSocial{
  display:flex;
  gap:10px;
  margin-bottom:24px;
  flex-wrap:wrap;
  justify-content:flex-start;
}

.blackBandSocialItem{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:34px;
  height:34px;
  color:#fff;
  line-height:0;
  transition:color .2s ease;
}

.blackBandSocialItem svg{
  width:30px;
  height:30px;
  fill:currentColor;
  display:block;
}

.blackBandSocial:hover .blackBandSocialItem{color:#4a4a4a}
.blackBandSocial .blackBandSocialItem:hover{color:#fff}

.blackBandNewsLead{
  font-size:28px;
  font-weight:250;
  line-height:1.06;
  max-width:520px;
  margin-bottom:20px;
  letter-spacing:-.01em;
}

.blackBandNewsBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:44px;
  padding:0 20px;
  border-radius:10px;
  border:1px solid rgba(255,255,255,.4);
  color:#fff;
  text-decoration:none;
  font-size:15px;
  font-weight:300;
}

.blackBandLinks{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:10px;
  width:100%;
  margin:0;
  padding:0;
}

.blackBandLinks a{
  color:#fff;
  text-decoration:none;
  font-size:23px;
  font-weight:250;
  line-height:1.06;
  letter-spacing:-.01em;
  text-align:left;
  width:100%;
  margin-left:0 !important;
  padding-left:0;
  display:block;
}

.blackBandLinks a:hover{opacity:.8}

@media(max-width:768px){
  :root{
    --club-block-gap-outer:122px;
    --club-block-gap-inner:98px;
  }
  .headerInner{padding:0 20px}
  .clubCanvas{min-height:90vh}
  .clubIntroSplit{padding:0 20px}
  .clubIntroSplit + .clubIntroSplit{margin-top:var(--club-block-gap-inner)}
  .clubIntroGrid{
    grid-template-columns:1fr;
    gap:26px;
  }
  .clubIntroGrid--reverse .clubIntroText{
    align-items:flex-start;
    text-align:left;
  }
  .clubIntroTitle{font-size:36px}
  .clubIntroDescription{font-size:18px}
  .blackBandSection{min-height:auto;padding:0 20px}
  .blackBandFooter{padding-top:18px}
  .blackBandFooterGrid{
    grid-template-columns:1fr;
    gap:32px;
    padding:30px 0 40px;
  }
  .blackBandNewsLead{font-size:23px;max-width:none}
  .blackBandLinks a{font-size:19px}
  .clubHeroSubtitle{
    white-space:normal;
    font-size:18px;
    padding:0 20px;
  }
  .clubHeroActions{
    flex-wrap:wrap;
    padding:0 20px;
    gap:10px;
  }
  .clubHeroBtn{
    height:42px;
    font-size:14px;
  }
  .clubAccessCtaWrap{
    margin-top:var(--club-block-gap-inner);
  }
  .clubAccessTitle{
    font-size:34px;
    margin-bottom:14px;
  }
}
.whatsappFab{
  position:fixed;
  right:24px;
  bottom:24px;
  width:56px;
  height:56px;
  border-radius:50%;
  background:#000;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 24px rgba(0,0,0,.28);
  z-index:1002;
  border:0;
  cursor:pointer;
  transition:transform .18s ease;
}

.whatsappFab svg{
  width:28px;
  height:28px;
  display:block;
}

.whatsappFab:hover{
  transform:scale(1.06);
}

.whatsappFab .whatsappFabIcon--arrow{
  display:none;
}

.whatsappFab[aria-expanded="true"] .whatsappFabIcon--wa{
  display:none;
}

.whatsappFab[aria-expanded="true"] .whatsappFabIcon--arrow{
  display:block;
}

.whatsappMenu{
  position:fixed;
  right:24px;
  bottom:24px;
  width:483px;
  min-height:237px;
  border-radius:28px;
  background:#fff;
  border:1px solid #e3e3e3;
  box-shadow:0 14px 34px rgba(0,0,0,.24);
  padding:18px 16px 80px;
  z-index:1001;
  opacity:0;
  transform:translateY(10px);
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
}

.whatsappMenuTitle{
  margin:0;
  color:#111;
  font-size:24px;
  font-weight:400;
  line-height:1.2;
  letter-spacing:-.01em;
  text-align:left;
}

.whatsappMenuActions{
  margin-top:16px;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.whatsappMenuBtn{
  width:100%;
  min-height:44px;
  border-radius:999px;
  border:1px solid #111;
  background:transparent;
  color:#111;
  display:flex;
  align-items:center;
  justify-content:space-between;
  text-align:left;
  text-decoration:none;
  font-size:15px;
  font-weight:300;
  line-height:1.2;
  padding:8px 14px;
  gap:12px;
  transition:background-color .2s ease;
}

.whatsappMenuBtn:hover{
  background:#f0f0f0;
}

.whatsappMenuBtnLabel{
  flex:1 1 auto;
  text-align:left;
}

.whatsappMenuBtnIcon{
  width:22px;
  height:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}

.whatsappMenuBtnIcon img{
  width:74%;
  height:74%;
  display:block;
  object-fit:contain;
}

.whatsappMenu.isOpen{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}