:root{
  --bg:#050505;
  --panel:#0b0b0c;
  --panel-2:#101011;
  --line:#222225;
  --text:#f6f6f6;
  --muted:#8c8c92;
  --red:#d8111f;
  --red-bright:#ef1b2a;
  --max:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Arial,Helvetica,sans-serif;
  line-height:1.45;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}

.topbar{
  width:min(calc(100% - 36px),var(--max));
  height:78px;
  margin:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--line);
  position:relative;
  z-index:20;
}
.brand{display:flex;align-items:center;gap:12px}
.brand img{width:48px;height:48px;object-fit:contain}
.brand-wordmark{display:flex;flex-direction:column;line-height:.9}
.brand-wordmark strong{font-size:18px;letter-spacing:2px}
.brand-wordmark span{font-size:9px;letter-spacing:4px;color:#999;margin-top:7px}
nav{display:flex;gap:26px;font-size:12px;color:#aaa}
nav a:hover{color:white}
.menu-toggle{display:none;background:none;border:0;padding:8px}
.menu-toggle span{display:block;width:24px;height:2px;background:white;margin:6px 0}

.hero{
  min-height:calc(100vh - 78px);
  display:grid;
  align-items:center;
  border-bottom:1px solid var(--line);
}
.hero-inner{
  width:min(calc(100% - 36px),var(--max));
  margin:auto;
  padding:90px 0 70px;
}
.hero-logo-wrap{margin-bottom:30px}
.hero-logo{width:92px;height:92px;object-fit:contain}
.eyebrow{
  margin:0 0 16px;
  color:var(--red);
  font-size:10px;
  font-weight:900;
  letter-spacing:2.6px;
}
h1,h2,h3{margin:0}
h1{
  font-size:clamp(58px,9vw,122px);
  line-height:.86;
  letter-spacing:-6px;
  text-transform:uppercase;
  max-width:900px;
}
h1 span{color:#666}
.hero-copy{
  max-width:630px;
  margin:32px 0 0;
  color:#a6a6ab;
  font-size:17px;
}
.hero-actions{display:flex;gap:12px;margin-top:34px}
.btn{
  min-height:52px;
  padding:0 22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid #323235;
  font-size:12px;
  font-weight:900;
  letter-spacing:.3px;
}
.btn.primary{background:var(--red);border-color:var(--red)}
.btn.primary:hover{background:var(--red-bright)}
.btn.secondary:hover{border-color:#777}
.btn.inverted{background:white;border-color:white;color:#111}
.hero-meta{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  max-width:800px;
  margin-top:56px;
  padding-top:24px;
  border-top:1px solid var(--line);
}
.hero-meta div{display:flex;flex-direction:column;gap:4px}
.hero-meta span{font-size:10px;color:#777;text-transform:uppercase;letter-spacing:1.4px}
.hero-meta b{font-size:14px}

.section{
  width:min(calc(100% - 36px),var(--max));
  margin:auto;
  padding:100px 0;
}
.section-dark{
  width:100%;
  max-width:none;
  margin:0;
  padding-left:max(18px,calc((100vw - var(--max))/2));
  padding-right:max(18px,calc((100vw - var(--max))/2));
  background:var(--panel);
}
.section-head{margin-bottom:42px}
.section-head.compact{margin-bottom:34px}
h2{
  font-size:clamp(42px,6vw,76px);
  line-height:.94;
  letter-spacing:-3.5px;
  text-transform:uppercase;
}

.start-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.start-grid article{
  padding:28px 26px 30px;
  border-right:1px solid var(--line);
}
.start-grid article:last-child{border-right:0}
.step{font-size:10px;color:#666}
.start-grid h3{font-size:24px;margin:24px 0 10px}
.start-grid p{font-size:13px;color:#888;max-width:280px;min-height:56px}
.text-link{display:inline-block;margin-top:10px;color:#d7d7d7;font-size:12px;font-weight:800}
.text-link:hover{color:white}

.newbie{
  margin-top:28px;
  border:1px solid #4b161b;
  padding:26px;
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:30px;
  align-items:center;
  background:linear-gradient(145deg,#12090a,#080808);
}
.newbie h3{font-size:28px}
.newbie-options{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.newbie-options>div{
  min-height:112px;
  border:1px solid #29292c;
  padding:18px;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.newbie-options>div.accent{border-color:var(--red)}
.newbie-options span,.newbie-options small{font-size:10px;color:#888}
.newbie-options strong{font-size:30px;margin:4px 0}

.price-list{border-top:1px solid var(--line)}
.price-row{
  min-height:88px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:30px;
  border-bottom:1px solid var(--line);
  padding:17px 0;
}
.price-row>div{display:flex;flex-direction:column;gap:5px}
.price-row span{font-size:16px;font-weight:900}
.price-row small{font-size:11px;color:#777}
.price-row strong{font-size:28px;letter-spacing:-1px;white-space:nowrap}
.price-row.newbie-row strong,.price-row.newbie-row span{color:#ff4450}

.schedule-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.schedule-card{border:1px solid var(--line);background:#080808}
.schedule-card header{
  padding:17px 19px;
  border-bottom:1px solid var(--line);
  color:var(--red);
  font-size:10px;
  font-weight:900;
  letter-spacing:2px;
}
.schedule-row{
  display:grid;
  grid-template-columns:100px 1fr;
  align-items:center;
  padding:18px 19px;
  border-bottom:1px solid #1d1d20;
}
.schedule-row:last-child{border-bottom:0}
.schedule-row time{font-size:20px;font-weight:900}
.schedule-row strong{font-size:14px}
.schedule-note{margin:15px 0 0;color:#777;font-size:11px}

.cabinet-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.cabinet-copy p{font-size:22px;max-width:580px;margin:0}
.cabinet-copy p.muted{margin-top:20px;font-size:13px;color:#777}
.feature-list{border-top:1px solid var(--line)}
.feature-list div{
  display:grid;
  grid-template-columns:44px 1fr;
  padding:16px 0;
  border-bottom:1px solid var(--line);
}
.feature-list span{font-size:10px;color:#666}
.feature-list strong{font-size:14px}
.pay-note{
  margin-top:42px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:22px 0;
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
}
.pay-note>div{display:flex;flex-direction:column;gap:6px}
.pay-note .label{font-size:9px;color:#777;letter-spacing:2px}
.pay-note strong{font-size:14px}
.status{font-size:9px;letter-spacing:2px;border:1px solid #6b5719;color:#d6b54a;padding:8px 10px}

.personal-card{
  min-height:280px;
  background:var(--red);
  padding:40px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:30px;
}
.personal-card .eyebrow{color:#30060a}
.personal-card h2{max-width:760px}
.personal-card p{margin:16px 0 0;color:#4b090e}

.documents-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:70px}
.documents-list{border-top:1px solid var(--line)}
.documents-list div{
  min-height:64px;
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:center;
  border-bottom:1px solid var(--line);
}
.documents-list span{font-size:13px}
.documents-list b{font-size:9px;letter-spacing:1.5px;color:#777;text-transform:uppercase}
.club-card{
  border:1px solid var(--line);
  padding:26px;
  align-self:start;
}
.club-card img{width:80px;height:80px;object-fit:contain;margin-bottom:26px}
.club-card h3{font-size:34px;margin-bottom:20px}
.club-info{display:flex;flex-direction:column;gap:6px;color:#888;font-size:12px}

footer{
  width:min(calc(100% - 36px),var(--max));
  margin:auto;
  min-height:120px;
  border-top:1px solid var(--line);
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.footer-brand{display:flex;align-items:center;gap:10px}
.footer-brand img{width:38px;height:38px;object-fit:contain}
.footer-brand>div{display:flex;flex-direction:column;line-height:.9}
.footer-brand strong{font-size:13px;letter-spacing:2px}
.footer-brand span{font-size:8px;letter-spacing:3px;color:#777;margin-top:6px}
footer p{font-size:10px;color:#666}

.mobile-actions{display:none}

@media(max-width:900px){
  nav{
    display:none;
    position:absolute;
    left:0;right:0;top:78px;
    background:#080808;
    border:1px solid var(--line);
    padding:18px;
    flex-direction:column;
  }
  nav.open{display:flex}
  .menu-toggle{display:block}
  .start-grid{grid-template-columns:1fr}
  .start-grid article{border-right:0;border-bottom:1px solid var(--line)}
  .start-grid article:last-child{border-bottom:0}
  .newbie,.cabinet-grid,.documents-grid{grid-template-columns:1fr}
}

@media(max-width:650px){
  body{padding-bottom:66px}
  .topbar{height:70px;width:calc(100% - 28px)}
  nav{top:70px}
  .brand img{width:42px;height:42px}
  .brand-wordmark strong{font-size:16px}
  .hero{min-height:auto}
  .hero-inner{width:calc(100% - 28px);padding:56px 0 50px}
  .hero-logo{width:76px;height:76px}
  h1{font-size:58px;letter-spacing:-3.4px}
  h2{font-size:43px;letter-spacing:-2.4px}
  .hero-copy{font-size:14px}
  .hero-actions{flex-direction:column}
  .btn{width:100%}
  .hero-meta{grid-template-columns:1fr 1fr;margin-top:38px}
  .section{width:calc(100% - 28px);padding:72px 0}
  .section-dark{width:100%;padding-left:14px;padding-right:14px}
  .newbie{grid-template-columns:1fr;padding:20px}
  .newbie-options{grid-template-columns:1fr}
  .price-row{min-height:76px}
  .price-row strong{font-size:23px}
  .schedule-grid{grid-template-columns:1fr}
  .cabinet-grid{gap:32px}
  .cabinet-copy p{font-size:19px}
  .pay-note{align-items:flex-start;flex-direction:column}
  .personal-card{min-height:360px;padding:26px;align-items:flex-start;flex-direction:column;justify-content:space-between}
  .personal-card h2{font-size:44px}
  .documents-grid{gap:34px}
  .documents-list div{align-items:flex-start;flex-direction:column;gap:7px;padding:14px 0}
  footer{width:calc(100% - 28px);padding:28px 0;align-items:flex-start;flex-direction:column;gap:18px}
  .mobile-actions{
    position:fixed;
    left:10px;right:10px;bottom:10px;
    z-index:40;
    display:grid;
    grid-template-columns:1fr 1fr;
    border:1px solid #333;
    background:rgba(8,8,8,.94);
    backdrop-filter:blur(12px);
  }
  .mobile-actions a{
    min-height:48px;
    display:grid;
    place-items:center;
    font-size:11px;
    font-weight:900;
  }
  .mobile-actions a:first-child{background:var(--red)}
}
