:root{--bg:#0d0e10;--card:#151618;--text:#e9e9ea;--muted:#9a9aa0;--gold:#d7c36a;}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto}
a{color:inherit;text-decoration:none}

.container{max-width:1240px;margin:36px auto;padding:0 20px}

/* Шапка/подвал */
.site-header,.site-footer{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;background:#0b0c0e;border-bottom:1px solid #1f2023}
.site-footer{border-top:1px solid #1f2023;border-bottom:none;opacity:.75}
.btn-ghost{background:transparent;border:1px solid #2a2a30;color:var(--text);padding:8px 12px;border-radius:10px;cursor:pointer}

/* Карточки/текстовые утилиты */
.card{background:var(--card);border:1px solid #202126;border-radius:14px;padding:20px}
.center{text-align:center}
.accent{color:var(--gold)}
.muted{color:var(--muted)}

/* ==== Герой как в макете ==== */
.hero{margin:18px 0 28px}
.hero-centered{text-align:center}
.club-cap{font-size:24px; letter-spacing:.02em; opacity:.9; margin-bottom:8px; color:var(--gold);}
.display{font-family: Georgia, 'Times New Roman', serif; font-weight:700; line-height:1.05; font-size:72px; margin:0 0 8px;}
.subcap{font-size:22px; margin:0}

/* ==== Сетка ступеней ==== */
.grid.steps{display:grid;gap:24px;grid-template-columns:repeat(3,1fr);margin-top:26px}
.steps-centered{max-width:1040px;margin-left:auto;margin-right:auto}

/* ==== Карточка ступени ==== */
.step-card{background:var(--card);border:1px solid #454545;border-radius:14px;padding:32px 34px;transition:.2s}
.step-card.allowed{box-shadow:0 0 0 2px var(--gold) inset;border-color:rgba(215,195,106,.45)}
.step-card.locked{opacity:.62;cursor:not-allowed}
.step-card.allowed:hover{transform:translateY(-2px)}
.step-title{color:var(--gold);font-size:30px;font-weight:800;text-align:center;margin-bottom:10px}
.step-sub{color:var(--muted);text-align:center;font-size:18px}

/* ==== Уроки ==== */
.lesson{margin:18px 0;padding:16px;border:1px solid #202126;border-radius:14px;background:var(--card)}
.video{position:relative;padding-top:56.25%;overflow:hidden;border-radius:12px}
.video iframe{position:absolute;inset:0;width:100%;height:100%}

/* ==== Адаптив ==== */
@media (max-width:1200px){
  .display{font-size:64px}
}
@media (max-width:1024px){
  .grid.steps{grid-template-columns:repeat(2,1fr)}
  .display{font-size:56px}
}
@media (max-width:640px){
  .grid.steps{grid-template-columns:1fr}
  .display{font-size:42px}
  .club-cap{font-size:20px}
  .subcap{font-size:18px}
  .step-title{font-size:24px}
  .step-sub{font-size:16px}
}

.asset-list{display:flex;flex-wrap:wrap;gap:10px}
.asset-pill{display:inline-block;padding:8px 12px;border:1px solid #2a2a30;border-radius:999px;background:#141518;color:var(--text)}
.asset-pill:hover{transform:translateY(-1px)}
