:root {
      /* Единственная палитра сайта = шапка/герой */
      --bg: #0C1022;
      --navy: #0C1022;
      --alt: #0C1022;
      --alt2: #0C1022;
      --text: #FFFFFF;
      --white: #FFFFFF;
      --ink: #1A1A1C;
      --muted: rgba(255, 255, 255, 0.62);
      --muted-ink: rgba(26, 26, 28, 0.62);
      --primary: #007FEF;
      --blue: #007FEF;
      --accent: #70C500;
      --lime: #70C500;
      --tg: #7B68F5;
      --purple: #7B68F5;
      --border: rgba(255, 255, 255, 0.22);
      --border-strong: #FFFFFF;
      --ph: #0C1022;
      --ph-border: #FFFFFF;
      --occupancy: #70C500;
      --progress: #FFFFFF;
      --font-display: Rubik, Arial, sans-serif;
      --font-round: Marmelad, Rubik, Arial, sans-serif;
      --max: 1218px;
      --r-pill: 500px;
      --r-chip: 70px;
      --r-card: 40px;
      --r-player: 50px;
      --gap: 20px;
    }
    *, *::before, *::after { box-sizing: border-box; }
    html {
      scroll-behavior: smooth;
      background: var(--bg);
    }
    body {
      margin: 0;
      background: var(--bg);
      color: var(--text);
      font-family: var(--font-display);
      font-weight: 400;
      font-size: 20px;
      line-height: 26px;
      -webkit-font-smoothing: antialiased;
    }
    html { background: var(--bg); }
    a { color: inherit; text-decoration: none; }
    img { max-width: 100%; display: block; }
    figure { margin: 0; }
    button { font-family: inherit; cursor: pointer; }
    .wrap {
      width: min(var(--max), calc(100% - 32px));
      margin: 0 auto;
    }
    .band { background: var(--bg); }
    .band-alt { background: var(--alt); }
    .band-alt2 { background: var(--alt2); }
    .section-pad { padding: 60px 0; }

    /* sparkle */
    .sparkle {
      width: 16px; height: 18px; flex: 0 0 auto;
      color: var(--accent);
      display: inline-block; vertical-align: middle;
    }
    .sparkle.white { color: #fff; }
    .sparkle.on-dark { color: var(--accent); }

    /* photo placeholder */
    .ph {
      background: var(--ph);
      border: 2px dashed var(--ph-border);
      color: var(--muted);
      display: flex; align-items: center; justify-content: center;
      text-align: center;
      font-size: 17px; font-weight: 400;
      min-height: 80px;
    }

    /* pills */
    .pill {
      display: inline-flex; align-items: center; justify-content: center; gap: 8px;
      height: 54px; padding: 0 28px;
      border-radius: var(--r-pill);
      font-size: 24px; font-weight: 700; line-height: 1;
      white-space: nowrap;
      border: 2px solid transparent;
    }
    .pill-solid {
      background: var(--accent); color: var(--ink); border-color: var(--accent);
    }
    .pill-ghost {
      background: transparent; color: var(--text);
      border-color: var(--border-strong);
    }
    .hero-pills a.pill.pill-blue {
      background: var(--blue);
      color: var(--white);
      border-color: var(--blue);
    }
    .pill-ghost-soft {
      background: transparent; color: var(--text);
      border-color: var(--border);
    }
    .chip {
      display: inline-flex; align-items: center; gap: 8px;
      height: 40px; padding: 0 16px;
      border-radius: var(--r-chip);
      background: var(--white);
      border: 1px solid transparent;
      font-size: 17px; font-weight: 400; color: var(--ink);
      white-space: nowrap;
    }
    .chip-blue {
      background: var(--blue); color: var(--white); border-color: var(--blue);
    }
    .chip-blue .sparkle { color: var(--white); }
    .chip-ghost {
      background: transparent; border: 1px solid var(--ph-border); color: var(--muted);
    }

    /* nav */
    .nav {
      position: sticky; top: 0; z-index: 50;
      display: block;
      min-height: 60px;
      height: auto;
      margin: 0;
      background: var(--bg);
      border-bottom: 0;
    }
    .nav-inner {
      min-height: 60px;
      height: auto;
      padding: 8px 0;
      display: flex; align-items: center; justify-content: space-between; gap: 12px 20px;
      flex-wrap: wrap;
    }
    .brand { font-size: 17px; font-weight: 700; font-family: var(--font-round); }
    .brand-name { color: var(--primary); }
    .brand-sub { color: var(--muted); font-weight: 400; font-family: var(--font-display); }
    .nav-menus {
      display: flex;
      align-items: center;
      justify-content: flex-end;
      flex-wrap: wrap;
      gap: 10px 22px;
      flex: 1 1 auto;
    }
    .nav-links, .nav-socials {
      display: flex; align-items: center; flex-wrap: wrap;
      gap: 10px 18px;
      font-size: 16px; font-weight: 700;
    }
    .nav-links a:hover { color: var(--primary); }
    .nav-socials { gap: 8px 12px; }
    .nav-soc {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 32px;
      height: 32px;
      border-radius: 8px;
      color: var(--white);
    }
    .nav-soc:hover { opacity: 0.84; color: var(--white); }
    .nav-soc svg { width: 28px; height: 28px; display: block; }
    .nav-cta { color: var(--primary); font-weight: 700; margin-left: 6px; }

    /* hero A — poster, not SaaS subtitle */
    .hero {
      display: block;
      padding: 40px 0 48px;
      min-height: 0;
      margin: 0;
      scroll-margin-top: 72px;
      background: var(--bg);
      border-bottom: 0;
    }
    .hero + .wrap {
      display: block;
      margin-top: 0;
      background: var(--bg);
    }

    .hero-a h1 {
      margin: 0;
      font-family: var(--font-display);
      font-size: clamp(44px, 8.35vw, 120px);
      font-weight: 700;
      line-height: 0.9;
      letter-spacing: -0.03em;
    }
    .ha-l1 {
      color: var(--blue);
      display: block;
      font-family: Unbounded, Rubik, Arial, sans-serif;
      font-weight: 800;
      letter-spacing: -0.045em;
      font-synthesis: none;
    }
    .ha-l2 {
      color: var(--text);
      display: block;
      letter-spacing: 0.01em;
    }
    .ha-row {
      display: flex;
      align-items: baseline;
      flex-wrap: nowrap;
      gap: 0.08em 0.28em;
      width: 100%;
    }
    .ha-l3 {
      color: var(--text);
      flex: 0 0 auto;
      white-space: nowrap;
      letter-spacing: 0.01em;
    }
    .ha-side {
      font-family: var(--font-round);
      font-size: clamp(26px, 3.15vw, 44px);
      font-weight: 400;
      line-height: 0.95;
      letter-spacing: 0.02em;
      color: var(--text);
      white-space: nowrap;
      flex: 0 0 auto;
    }
    .ha-sub {
      display: block;
      margin: 0.2em 0 0;
      max-width: 36rem;
      font-family: var(--font-display);
      font-size: 24px;
      font-weight: 400;
      line-height: 1.25;
      letter-spacing: 0;
      color: rgba(255, 255, 255, 0.62);
      white-space: normal;
    }
    .ha-hl {
      position: relative;
      display: inline-block;
      padding-bottom: 0.42em;
    }
    .ha-mark {
      background: var(--lime);
      color: var(--ink);
      padding: 0.05em 0.16em 0.08em;
      border-radius: 0.14em;
      box-decoration-break: clone;
      -webkit-box-decoration-break: clone;
    }
    .ha-doodle {
      position: absolute;
      left: -8%;
      bottom: -0.48em;
      width: 124%;
      height: 0.78em;
      overflow: visible;
      display: block;
      pointer-events: none;
    }
    .hero-pills { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }

    /* photo ribbon — infinite left marquee like Tilda rec558842198 */
    .ribbon {
      display: block;
      border-radius: 40px 40px 0 0;
      overflow: hidden;
      height: 480px;
      margin: 0;
      position: relative;
      background: var(--bg);
    }
    .ribbon-track {
      display: flex;
      width: max-content;
      height: 100%;
      gap: 0;
      animation: ribbon-marquee 40s linear infinite;
      will-change: transform;
    }
    .ribbon-set {
      display: flex;
      height: 100%;
      flex: 0 0 auto;
      gap: 0;
      padding-right: 0;
      align-items: stretch;
    }
    .ribbon-tile {
      flex: 0 0 360px;
      width: 360px;
      height: 480px;
      aspect-ratio: 3 / 4;
      overflow: hidden;
      border-radius: 0;
      background: var(--white);
    }
    .ribbon-tile img {
      width: 100%;
      height: 100%;
      object-fit: contain;
      object-position: center center;
      display: block;
      transform: none;
    }
    @keyframes ribbon-marquee {
      from { transform: translate3d(0, 0, 0); }
      to { transform: translate3d(-50%, 0, 0); }
    }
    .ribbon:hover .ribbon-track { animation-play-state: paused; }
    @media (prefers-reduced-motion: reduce) {
      .ribbon-track { animation: none; }
      .avatars .ph img { transition: none; }
    }
    .ribbon::after {
      content: "";
      position: absolute; inset: 0;
      background: linear-gradient(180deg, transparent 42%, rgba(12, 16, 34, .78) 100%);
      pointer-events: none;
    }
    .ribbon-overlay {
      position: absolute; left: 48px; bottom: 48px; right: 48px;
      color: var(--text);
      text-shadow: 0 2px 18px rgba(12, 16, 34, .75);
      z-index: 1;
    }
    .ribbon-role {
      font-family: var(--font-round);
      font-size: 24px; margin: 0 0 8px;
      color: #fff;
      font-weight: 400;
      letter-spacing: 0.01em;
      text-shadow: 0 1px 2px rgba(12, 16, 34, .9), 0 4px 16px rgba(12, 16, 34, .65);
    }
    .ribbon-role-accent { color: var(--purple); }
    .ribbon-name {
      margin: 0; font-size: 72px; font-weight: 800; line-height: 86px;
      color: var(--text);
      font-family: Unbounded, Rubik, Arial, sans-serif;
      letter-spacing: -0.045em;
      font-synthesis: none;
    }
    .ribbon-name a:hover { color: var(--primary); }

    /* stats */
    .stats { padding: 40px 0 36px; overflow: visible; }
    .stats .wrap { overflow: visible; }
    .stats-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: var(--gap);
      overflow: visible;
    }
    .stat-card {
      min-height: 272px;
      border-radius: var(--r-card);
      padding: 28px 28px 32px;
      position: relative;
      display: flex;
      flex-direction: column;
      overflow: visible;
    }
    .stat-body {
      display: grid;
      grid-template-rows: 52px 80px minmax(72px, 1fr) 28px;
      flex: 1 1 auto;
      min-height: 270px;
      align-items: stretch;
    }
    .stat-yt,
    .stat-tg {
      min-height: 330px;
    }
    .stat-club .stat-body {
      grid-template-rows: 48px 44px minmax(72px, 1fr) 28px;
      min-height: 216px;
    }
    .stat-club {
      z-index: 3;
      padding-right: 22px;
      padding-top: 156px;
    }
    .stat-sticker {
      position: absolute;
      top: -46px;
      right: -30px;
      width: 276px;
      transform: rotate(-6.5deg);
      transform-origin: 88% 12%;
      z-index: 4;
      pointer-events: none;
      user-select: none;
    }
    .stat-sticker-sheet {
      background: #FFF7EE;
      border-radius: 32px;
      padding: 14px 14px 16px;
      box-shadow:
        0 1px 0 rgba(255, 255, 255, .92),
        0 2px 4px rgba(12, 16, 34, .12),
        0 16px 28px rgba(12, 16, 34, .28);
    }
    .stat-deco-plaque {
      display: block;
      width: 100%;
      max-width: none;
      height: auto;
      border-radius: 0;
      clip-path: none;
    }
    .stat-sticker-note {
      margin: 12px 2px 0;
      font-family: Unbounded, Marmelad, Rubik, Arial, sans-serif;
      font-weight: 800;
      font-size: 17px;
      letter-spacing: -0.045em;
      line-height: 1.08;
      color: #0C1022;
      text-align: center;
      font-synthesis: none;
    }
    .stat-sticker-note span {
      display: block;
    }
    .stat-sticker-note span + span {
      margin-top: 4px;
      color: #007FEF;
      font-size: 15px;
      letter-spacing: -0.035em;
    }
    .stat-yt { background: var(--white); color: var(--ink); }
    .stat-yt .muted { color: var(--muted-ink); }
    .stat-tg { background: var(--tg); color: #fff; }
    .stat-tg .muted { color: rgba(255,255,255,.85); }
    .stat-club { background: var(--primary); color: #fff; }
    .stat-club .muted { color: rgba(255,255,255,.8); }
    .stat-mark {
      display: flex;
      align-items: center;
      gap: 10px;
      height: 40px;
      min-height: 40px;
      margin: 0;
    }
    .stat-yt .stat-mark,
    .stat-tg .stat-mark {
      height: 52px;
      min-height: 52px;
      gap: 12px;
    }
    .stat-icon,
    .stat-logo-yt,
    .stat-logo-tg-badge {
      width: 44px;
      height: 44px;
      flex: 0 0 44px;
      display: block;
    }
    .stat-platform,
    .stat-logo-tg-word {
      font-family: Arial, Helvetica, sans-serif;
      font-size: 44px;
      font-weight: 800;
      letter-spacing: -0.04em;
      line-height: 1;
      color: inherit;
    }
    .stat-club .stat-mark {
      height: 48px;
      min-height: 48px;
    }
    .stat-brand {
      font-family: Arial, Helvetica, sans-serif;
      font-size: 40px;
      font-weight: 800;
      letter-spacing: -0.04em;
      line-height: 1;
    }
    .icon-yt, .icon-tg { flex: 0 0 auto; display: block; }
    .stat-title {
      margin: 0;
      height: 34px;
      min-height: 34px;
      font-size: 18px;
      font-weight: 700;
      line-height: 34px;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }
    .stat-yt .stat-title,
    .stat-tg .stat-title {
      height: 80px;
      min-height: 80px;
      font-size: 18px;
      font-weight: 700;
      line-height: 1.2;
      display: flex;
      align-items: flex-start;
    }
    .stat-club .stat-title {
      height: auto;
      min-height: 44px;
      font-size: 24px;
      font-weight: 700;
      line-height: 1.2;
      white-space: normal;
      overflow: visible;
      text-overflow: unset;
    }
    .stat-num {
      margin: 0;
      align-self: end;
      display: flex;
      align-items: flex-end;
      min-height: 64px;
      font-size: 64px;
      font-weight: 700;
      line-height: 1;
    }
    .stat-num.slot { font-size: 40px; line-height: 1.05; letter-spacing: -0.03em; }
    .stat-cap {
      margin: 0;
      height: 28px;
      min-height: 28px;
      font-size: 16px;
      font-weight: 600;
      line-height: 28px;
      letter-spacing: 0.02em;
      text-transform: none;
    }
    .stat-club .stat-cap {
      height: auto;
      white-space: normal;
      line-height: 1.25;
    }
    .muted { color: var(--muted); }
    .stat-badge {
      position: absolute; right: 12px; bottom: -16px;
      height: 40px; min-width: 250px; padding: 0 18px;
      border-radius: 50px;
      background: var(--accent); color: var(--ink);
      display: inline-flex; align-items: center; gap: 8px;
      font-size: 17px; font-weight: 700;
      z-index: 2;
    }
    .stat-badge .sparkle { color: var(--ink); }

    /* titles */
    .h72 {
      font-size: 72px; font-weight: 700; line-height: 86px; margin: 0;
      letter-spacing: normal;
      font-family: var(--font-display);
    }
    .blue { color: var(--primary); }
    .title-block { padding: 48px 0 24px; }
    #programma .title-block { padding-top: 96px; }

    /* stages */
    .stages { display: flex; flex-direction: column; gap: var(--gap); padding-bottom: 20px; overflow: visible; }
    #programma { overflow: visible; }
    .stage {
      background: transparent;
      border: 2px solid var(--border);
      border-radius: var(--r-card);
      padding: 32px 36px 24px;
      min-height: 0;
    }
    .stage--tribute {
      position: relative;
      overflow: visible;
      background: transparent;
      border: none;
      padding: 0;
      margin-top: 88px;
    }
    .stage-cover {
      position: relative;
      z-index: 2;
      isolation: isolate;
      background: #0C1022;
      border: 2px solid var(--border);
      border-radius: var(--r-card);
      padding: 32px 36px 24px;
    }
    .stage-grid {
      display: grid;
      grid-template-columns: minmax(280px, 1fr) minmax(280px, 1.1fr);
      gap: 24px 40px;
    }
    .stage-label { font-size: 17px; color: var(--primary); font-weight: 400; margin: 0 0 8px; }
    .stage h3 { margin: 0; font-size: 36px; font-weight: 700; line-height: 1.15; }
    .stage-copy { margin: 0; font-size: 20px; color: var(--muted); }
    .stage-pills { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 20px; }
    .tribute-rank {
      position: absolute;
      z-index: 1;
      display: block;
      width: min(278px, 44%);
      top: -328px;
      right: 6px;
      margin: 0;
      transform: perspective(720px) rotateZ(8.5deg) rotateY(-16deg) skewX(-5deg);
      transform-origin: 70% 80%;
      pointer-events: none;
      user-select: none;
    }
    .tribute-rank img {
      display: block;
      width: 100%;
      height: auto;
      border-radius: 18px;
      border: 3px solid #fff;
      box-shadow:
        0 1px 0 rgba(255, 255, 255, .85),
        0 8px 10px rgba(12, 16, 34, .18),
        0 18px 32px rgba(12, 16, 34, .34);
      background: #fff;
    }

    .stage { min-height: 0; }
    .prog-lead {
      margin: 16px 0 0;
      max-width: 52rem;
      font-size: 20px;
      line-height: 1.4;
      color: var(--muted);
      font-weight: 400;
    }
    .prog-lead strong { color: var(--text); font-weight: 700; }
    .stage-acc {
      margin-top: 20px;
      border-top: 1px solid var(--border);
      padding-top: 16px;
    }
    .stage-acc summary {
      cursor: pointer;
      list-style: none;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      font-size: 17px;
      font-weight: 700;
      color: var(--text);
      user-select: none;
    }
    .stage-acc summary::-webkit-details-marker { display: none; }
    .stage-acc summary::after {
      content: "+";
      color: var(--primary);
      font-size: 28px;
      line-height: 1;
      font-weight: 400;
      flex: 0 0 auto;
    }
    .stage-acc[open] summary::after { content: "–"; }
    .lesson-list {
      margin: 16px 0 0;
      padding: 0;
      list-style: none;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }
    .lesson-list li {
      border: 1px solid var(--border);
      border-radius: 20px;
      padding: 12px 18px;
      font-size: 17px;
      line-height: 1.35;
      color: var(--text);
    }
    .lesson-num {
      color: var(--primary);
      font-weight: 700;
      margin-right: 6px;
    }


    .focus-grid {
      display: grid;
      grid-template-columns: repeat(6, minmax(0, 1fr));
      gap: var(--gap);
      padding-top: 28px;
      padding-bottom: 28px;
      overflow: visible;
    }
    .focus-card {
      border-radius: var(--r-card);
      padding: 28px 26px 32px;
      min-height: 240px;
      display: flex;
      flex-direction: column;
      gap: 10px;
    }
    .focus-card.focus-blue {
      position: relative;
      overflow: visible;
      z-index: 3;
    }
    .focus-span2 { grid-column: span 2; }
    .focus-span3 { grid-column: span 3; }
    .focus-label {
      font-size: 17px;
      font-weight: 400;
      margin: 0;
      opacity: .9;
    }
    .focus-card h3 {
      margin: 0;
      font-size: 32px;
      font-weight: 800;
      line-height: 1.15;
    }
    .focus-card p {
      margin: 0;
      font-size: 18px;
      line-height: 1.4;
    }
    .focus-navy {
      background: var(--navy);
      border: 2px solid var(--border-strong);
      color: var(--white);
    }
    .focus-navy .focus-label { color: var(--blue); opacity: 1; }
    .focus-navy p { color: var(--muted); }
    .focus-blue { background: var(--blue); color: var(--white); }
    .focus-lime { background: var(--lime); color: var(--ink); }
    .focus-purple { background: var(--purple); color: var(--white); }
    .focus-white { background: var(--white); color: var(--ink); }
    .focus-white .focus-label { color: var(--blue); opacity: 1; }
    .focus-white p { color: var(--muted-ink); }

    .deliverables {
      display: flex; flex-wrap: wrap; gap: 12px;
      padding: 28px 0 48px;
    }

    /* player */
    .player {
      background: var(--white);
      color: var(--ink);
      border-radius: var(--r-player);
      min-height: 688px;
      display: flex; flex-direction: column;
      overflow: hidden;
      border: 0;
    }
    .player .h72 { color: var(--ink); }
    .player .blue { color: var(--primary); }
    .player-body {
      flex: 1;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 40px;
      padding: 48px 48px 40px;
      align-items: stretch;
    }
    .player-col {
      display: flex;
      flex-direction: column;
      min-height: 0;
      height: 100%;
    }
    .avatars { display: flex; margin: 28px 0 16px; }
    .avatars .ph {
      width: 148px; height: 147px; border-radius: 3000px;
      border: 3px solid var(--white); margin-left: -28px; font-size: 14px;
      overflow: hidden;
      padding: 0;
      display: block;
      position: relative;
      min-height: 0;
      background: var(--navy);
      color: transparent;
    }
    .avatars .ph img {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 22%;
      display: block;
      border-radius: 50%;
      opacity: 0;
      transition: opacity 560ms ease;
      z-index: 0;
    }
    .avatars .ph img.is-front {
      opacity: 1;
      z-index: 1;
    }
    .avatars .ph:first-child { margin-left: 0; }
    .player-caption { font-size: 20px; color: var(--muted-ink); margin: 0; }
    .player-lead { font-size: 28px; font-weight: 700; margin: 0 0 16px; line-height: 1.25; }
    .player-copy { font-size: 20px; color: var(--muted-ink); margin: 0 0 12px; line-height: 1.35; }
    .player-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 8px 0 28px; }
    .player-chip {
      display: inline-flex; align-items: center;
      height: 32px; padding: 0 14px;
      border-radius: var(--r-chip);
      background: var(--navy);
      color: var(--white);
      font-size: 14px; font-weight: 600;
      white-space: nowrap;
    }
    .player-cta {
      margin-top: auto;
      align-self: flex-start;
      padding-top: 4px;
      margin-bottom: 8px;
    }
    .player-bar {
      height: 85px;
      background: var(--primary);
      border-radius: 0 0 var(--r-player) var(--r-player);
      display: flex; align-items: center; gap: 20px;
      padding: 0 36px;
      color: var(--white);
    }
    .player-ctrl {
      width: 40px; height: 40px; border: 2px solid rgba(255,255,255,.5);
      border-radius: 3000px; display: flex; align-items: center; justify-content: center;
    }
    .player-progress {
      flex: 1; height: 8px; background: rgba(12, 16, 34, 0.35); border-radius: 10px; overflow: hidden;
    }
    .player-progress span {
      display: block; width: 38%; height: 100%; background: var(--white); border-radius: 10px;
    }
    .under-pills {
      display: block;
      min-height: 122px;
      padding: 20px 0 48px;
      visibility: hidden;
      pointer-events: none;
    }

    /* schedule */
    .schedule {
      display: grid;
      grid-template-columns: 1fr 360px;
      gap: var(--gap);
      padding-bottom: 48px;
    }
    .schedule-cards { display: flex; flex-direction: column; gap: var(--gap); }
    .outline-card {
      background: transparent;
      border: 2px solid var(--border);
      border-radius: var(--r-card);
      padding: 32px 36px;
    }
    .schedule .outline-card {
      padding: 44px 40px 52px;
      min-height: 304px;
    }
    .q { font-size: 28px; font-weight: 700; color: var(--primary); margin: 0 0 14px; }
    .a { font-size: 20px; color: var(--muted); margin: 0; }
    .schedule .a { line-height: 1.45; }
    .schedule-side { align-self: stretch; min-height: 484px; }
    .schedule-side .ph {
      height: 100%;
      min-height: 484px;
      width: 100%;
      border-radius: var(--r-card);
      border-style: solid;
      overflow: hidden;
      padding: 0;
      display: block;
      color: transparent;
    }
    .schedule-side .ph img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 18%;
      display: block;
      border-radius: inherit;
    }

    /* gallery — витрина агентов/скиллов, не отзывы */
    .gallery {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: var(--gap);
      padding-bottom: 48px;
    }
    .g-item { margin: 0; min-width: 0; }
    .g-item > a {
      display: block;
      color: inherit;
      height: 100%;
    }
    .g-item > a:focus-visible .tool-face {
      box-shadow: 0 0 0 3px var(--blue);
    }
    .g-item > a:hover .g-cap { color: var(--white); }
    .tool-face {
      position: relative;
      overflow: hidden;
      height: 248px;
      border-radius: var(--r-card);
      padding: 24px 22px 22px;
      display: flex;
      flex-direction: column;
      justify-content: flex-end;
      gap: 8px;
      border: 2px solid transparent;
    }
    .tool-name {
      position: relative;
      z-index: 1;
      margin: 0;
      font-size: 28px;
      font-weight: 800;
      line-height: 1.12;
      letter-spacing: -0.03em;
    }
    .tool-tag {
      position: relative;
      z-index: 1;
      font-size: 15px;
      font-weight: 600;
      line-height: 1.2;
      opacity: 0.82;
    }
    .tool-deco {
      position: absolute;
      top: 22px;
      right: 20px;
      color: inherit;
      opacity: 0.28;
      pointer-events: none;
    }
    .tf-seo .tool-deco {
      width: 54px; height: 54px; border-radius: 50%;
      background: currentColor;
      box-shadow: 22px 10px 0 currentColor;
    }
    .tf-cut .tool-deco {
      width: 34px; height: 58px; border-radius: 8px;
      background: currentColor;
      box-shadow: 16px 10px 0 0 currentColor;
    }
    .tf-blog .tool-deco {
      width: 18px; height: 72px; border-radius: 8px;
      background: currentColor;
      transform: rotate(-28deg);
      transform-origin: center bottom;
    }
    .tf-office .tool-deco {
      width: 18px; height: 18px; border-radius: 50%;
      background: currentColor;
      box-shadow: 26px 0 0 currentColor, 13px 24px 0 currentColor;
    }
    .tf-aura .tool-deco {
      width: 64px; height: 64px; border-radius: 16px;
      border: 8px solid currentColor;
      background: transparent;
      box-shadow: inset 0 0 0 10px transparent;
    }
    .tf-cloud .tool-deco {
      width: 64px; height: 10px; border-radius: 8px;
      background: currentColor;
      box-shadow: 0 16px 0 currentColor, 0 32px 0 currentColor;
    }
    .tf-stat .tool-deco {
      width: 12px; height: 28px; border-radius: 4px;
      background: currentColor;
      box-shadow: 18px -12px 0 0 currentColor, 36px 8px 0 0 currentColor, 54px -4px 0 0 currentColor;
    }
    .tf-grid .tool-deco {
      width: 16px; height: 20px; border-radius: 4px;
      background: currentColor;
      box-shadow:
        20px 0 0 currentColor, 40px 0 0 currentColor,
        0 26px 0 currentColor, 20px 26px 0 currentColor, 40px 26px 0 currentColor,
        0 52px 0 currentColor, 20px 52px 0 currentColor, 40px 52px 0 currentColor;
    }
    .tf-core .tool-deco {
      width: 64px; height: 64px; border-radius: 50%;
      border: 8px solid currentColor;
      box-shadow: inset 0 0 0 10px currentColor;
    }
    .tf-site .tool-deco {
      width: 72px; height: 52px; border-radius: 10px;
      border: 6px solid currentColor;
      background: transparent;
      position: absolute;
    }
    .tf-site .tool-deco::after {
      content: "";
      position: absolute;
      left: 8px; right: 8px; top: 8px;
      height: 6px; border-radius: 4px;
      background: currentColor;
    }
    .tf-feed .tool-deco {
      width: 56px; height: 16px; border-radius: 6px;
      background: currentColor;
      box-shadow: 8px 20px 0 currentColor, 0 40px 0 currentColor;
    }
    .tf-jr .tool-deco {
      width: 0; height: 0;
      border-style: solid;
      border-width: 16px 0 16px 28px;
      border-color: transparent transparent transparent currentColor;
      background: none;
      opacity: 0.4;
    }
    .gallery .g-item:nth-child(5n+1) .tool-face {
      background: var(--blue); color: var(--white); border-color: var(--blue);
    }
    .gallery .g-item:nth-child(5n+2) .tool-face {
      background: var(--lime); color: var(--ink); border-color: var(--lime);
    }
    .gallery .g-item:nth-child(5n+3) .tool-face {
      background: var(--purple); color: var(--white); border-color: var(--purple);
    }
    .gallery .g-item:nth-child(5n+4) .tool-face {
      background: var(--white); color: var(--ink); border-color: var(--white);
    }
    .gallery .g-item:nth-child(5n+5) .tool-face {
      background: var(--navy); color: var(--white); border-color: var(--white);
    }
    .g-cap { font-size: 17px; color: var(--muted); margin: 10px 0 0; }

    /* tiles */
    .tiles {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: var(--gap);
    }
    .tile {
      min-height: 360px;
      border-radius: var(--r-card);
      padding: 24px;
      display: flex; flex-direction: column;
      color: var(--white);
    }
    .tile-verb { font-size: 20px; margin: 0 0 4px; opacity: .9; }
    .tile h3 { font-size: 36px; font-weight: 700; margin: 0 0 20px; }
    .tile-thumbs { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: auto; }
    .tile-thumbs .ph {
      width: 80px; height: 80px; border-radius: 3000px; border: 0; font-size: 11px; color: inherit;
      background: rgba(255, 255, 255, 0.22);
    }
    .tile-lime { background: var(--lime); color: var(--ink); }
    .tile-lime .tile-thumbs .ph { background: var(--navy); color: var(--white); }
    .tile-blue { background: var(--blue); }
    .tile-white { background: var(--white); color: var(--ink); }
    .tile-white .tile-thumbs .ph { background: var(--navy); color: var(--white); }
    .tile-purple { background: var(--purple); }

    .wide-bar {
      margin-top: 0;
      min-height: 143px;
      border-radius: var(--r-card);
      background: var(--blue);
      color: var(--white);
      display: flex; align-items: center; justify-content: space-between;
      padding: 28px 36px; gap: 16px;
    }
    .wide-bar h3 { margin: 0; font-size: 36px; font-weight: 700; }
    .arrows { display: flex; gap: 10px; }
    .arrow-circle {
      width: 54px; height: 54px; border-radius: 3000px;
      border: 2px solid var(--ph-border);
      display: inline-flex; align-items: center; justify-content: center;
      background: transparent; color: inherit;
    }
    .wide-bar .arrow-circle { border-color: rgba(255,255,255,.4); color: #fff; }

    /* reviews — infinite marquee like hero ribbon */
    #otzyvy { padding-bottom: 32px; }
    .reviews-scroller {
      overflow: hidden;
      padding-bottom: 8px;
      cursor: default;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
    }
    .reviews-scroller::-webkit-scrollbar { display: none; }
    .reviews-track {
      display: flex;
      width: max-content;
      gap: 0;
      animation: reviews-marquee 90s linear infinite;
      will-change: transform;
    }
    .reviews-set {
      display: flex;
      flex: 0 0 auto;
      gap: var(--gap);
      padding-right: var(--gap);
    }
    .reviews-scroller:hover .reviews-track,
    .reviews-scroller:focus-within .reviews-track,
    .reviews-scroller.is-paused .reviews-track,
    body.review-lightbox-open .reviews-track {
      animation-play-state: paused;
    }
    @keyframes reviews-marquee {
      from { transform: translate3d(0, 0, 0); }
      to { transform: translate3d(-50%, 0, 0); }
    }
    @media (prefers-reduced-motion: reduce) {
      .reviews-track { animation: none; }
      .reviews-set[aria-hidden="true"] { display: none; }
      .reviews-scroller { overflow-x: auto; }
    }
    /* Цветная «история»: скрин лежит на подложке клуба, не на navy */
    .review {
      flex: 0 0 318px;
      width: 318px;
      aspect-ratio: 9 / 16;
      height: auto;
      display: flex;
      flex-direction: column;
      border-radius: 24px;
      padding: 16px;
      background: var(--blue);
      color: var(--white);
      border: 2px solid transparent;
      position: relative;
      overflow: hidden;
      box-shadow: 0 16px 36px rgba(12, 16, 34, 0.38);
    }
    .reviews-set .review:nth-child(4n + 1) {
      background: #007FEF;
    }
    .reviews-set .review:nth-child(4n + 2) {
      background: #70C500;
    }
    .reviews-set .review:nth-child(4n + 3) {
      background: #7B68F5;
    }
    .reviews-set .review:nth-child(4n + 4) {
      background: #FFFFFF;
      border-color: #0C1022;
    }
    .review-photo {
      display: block;
      width: 100%;
      flex: 1 1 auto;
      min-height: 0;
      height: 100%;
      padding: 0;
      margin: 0;
      border: 0;
      background: transparent;
      border-radius: 16px;
      overflow: hidden;
      cursor: zoom-in;
      font: inherit;
      color: inherit;
      appearance: none;
      -webkit-appearance: none;
      position: relative;
    }
    .review-photo:focus-visible {
      outline: 3px solid var(--navy);
      outline-offset: 2px;
    }
    .review-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: top center;
      display: block;
      pointer-events: none;
      border-radius: 16px;
    }
    .review-cap {
      position: absolute;
      left: 8px; right: 8px; bottom: 8px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 8px;
      padding: 6px 8px;
      border-radius: 14px;
      background: rgba(255, 255, 255, 0.94);
      box-shadow: 0 8px 18px rgba(12, 16, 34, 0.18);
      pointer-events: none;
    }
    .review-badge {
      display: inline-flex;
      flex: 0 0 auto;
      height: 26px; padding: 0 10px; align-items: center;
      border-radius: var(--r-pill);
      background: var(--lime); color: var(--ink);
      font-size: 12px; font-weight: 700;
      white-space: nowrap;
    }
    .review-badge.alt { background: var(--blue); color: var(--white); }
    .review-name {
      margin: 0;
      font-size: 13px;
      font-weight: 700;
      color: var(--ink);
      text-align: left;
      max-width: none;
      white-space: nowrap;
      overflow: hidden;
      text-overflow: ellipsis;
    }

    .review-lightbox {
      position: fixed;
      inset: 0;
      z-index: 10000;
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 28px 20px;
    }
    .review-lightbox[hidden] { display: none !important; }
    .review-lightbox-backdrop {
      position: absolute;
      inset: 0;
      background: rgba(12, 16, 34, 0.88);
      cursor: zoom-out;
    }
    .review-lightbox-dialog {
      position: relative;
      z-index: 1;
      margin: 0;
      max-width: min(960px, 92vw);
      max-height: 90vh;
    }
    .review-lightbox-dialog img {
      display: block;
      max-width: 92vw;
      max-height: 86vh;
      width: auto;
      height: auto;
      object-fit: contain;
      border-radius: 16px;
      background: var(--navy);
      box-shadow: 0 24px 80px rgba(12, 16, 34, 0.55);
    }
    .review-lightbox-close {
      position: absolute;
      top: -14px;
      right: -14px;
      width: 44px;
      height: 44px;
      border-radius: 50%;
      border: 2px solid var(--white);
      background: var(--navy);
      color: var(--white);
      font-size: 28px;
      line-height: 1;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      z-index: 2;
    }
    .review-lightbox-close:hover,
    .review-lightbox-close:focus-visible {
      background: var(--blue);
      border-color: var(--white);
      outline: 2px solid var(--lime);
      outline-offset: 2px;
    }
    body.review-lightbox-open { overflow: hidden; }

    /* host — кто ведёт клуб */
    #vedet {
      padding: 112px 0 96px;
    }
    .host {
      display: grid;
      grid-template-columns: minmax(0, 1.05fr) minmax(280px, 560px);
      gap: 48px;
      align-items: center;
    }
    .host-copy .h72 { margin: 0 0 24px; }
    .host-name {
      margin: 0 0 10px;
      font-family: Unbounded, Rubik, Arial, sans-serif;
      font-weight: 800;
      font-size: 40px;
      line-height: 1.12;
      letter-spacing: -0.045em;
      font-synthesis: none;
      color: var(--white);
    }
    .host-role {
      font-family: var(--font-round);
      font-size: 22px;
      line-height: 1.35;
      color: var(--purple);
      margin: 0 0 24px;
    }
    .host-text {
      margin: 0 0 16px;
      font-size: 20px;
      line-height: 1.5;
      color: var(--muted);
      max-width: 34em;
    }
    .host-pills {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin: 0 0 32px;
    }
    .host-cta {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      gap: 12px;
    }
    .host-copy .social-row {
      justify-content: flex-start;
      margin-top: 14px;
    }
    .host-photos {
      display: block;
      min-height: 0;
    }
    .host-photo {
      margin: 0;
      border-radius: 24px;
      overflow: hidden;
      border: 2px solid var(--white);
      background: var(--navy);
      aspect-ratio: 3 / 4;
    }
    .host-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center 12%;
      display: block;
    }

    /* tariffs */
    .tariffs {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: var(--gap);
      align-items: stretch;
    }
    .tariff {
      position: relative;
      min-height: 615px;
      height: 100%;
      border-radius: var(--r-card);
      padding: 36px 28px 28px;
      color: var(--white);
      display: flex;
      flex-direction: column;
      align-self: stretch;
      margin-top: 0;
      transform: none;
    }
    .tariff-dark { background: var(--navy); border: 2px solid var(--border-strong); }
    .tariff-blue { background: var(--blue); border: 2px solid var(--blue); }
    .tariff-lime { background: var(--lime); color: var(--ink); border: 2px solid var(--lime); }
    .tariff h3 { margin: 0 40px 8px 0; font-size: 28px; font-weight: 700; }
    .price { font-size: 64px; font-weight: 700; line-height: 1; margin: 12px 0 20px; }
    .price-sub {
      display: block;
      font-size: 20px;
      font-weight: 400;
      opacity: .9;
      margin-top: 8px;
    }
    .tariff-pills { display: flex; flex-direction: column; gap: 8px; margin-bottom: 24px; }
    .tariff .chip { width: fit-content; }
    .tariff-blue .chip,
    .tariff-lime .chip {
      height: auto;
      min-height: 40px;
      white-space: normal;
      line-height: 1.2;
      padding: 8px 16px;
      max-width: 100%;
      align-items: center;
    }
    .tariff .pill { margin-top: auto; align-self: stretch; justify-content: center; }
    .tariff-soon { overflow: hidden; }
    .tariff-soon-blur {
      display: flex;
      flex-direction: column;
      flex: 1 1 auto;
      min-height: 0;
      filter: blur(8px);
      pointer-events: none;
      user-select: none;
    }
    .tariff-soon-overlay {
      position: absolute;
      inset: 0;
      z-index: 3;
      display: flex;
      align-items: center;
      justify-content: center;
      pointer-events: none;
      background: rgba(12, 16, 34, 0.16);
    }
    .tariff-soon-label {
      margin: 0;
      font-family: Unbounded, Rubik, Arial, sans-serif;
      font-weight: 800;
      font-synthesis: none;
      font-size: clamp(28px, 2.6vw, 42px);
      line-height: 1.12;
      letter-spacing: -0.045em;
      color: #0C1022;
      text-align: center;
      transform: rotate(-18deg);
      text-wrap: balance;
      padding: 0 16px;
    }
    .tariff-dark .pill-ghost, .tariff-blue .pill-ghost {
      border-color: var(--white); color: var(--white);
    }
    .tariff-lime .pill-ghost { border-color: var(--ink); color: var(--ink); }
    .tariff-lime .chip { background: var(--white); color: var(--ink); }
    .tariff-lime .pill-inverse {
      background: var(--white); color: var(--ink); border-color: var(--white);
    }
    .occupancy {
      position: absolute; top: 16px; right: 16px;
      width: 72px; height: 72px; border-radius: 3000px;
      background: var(--lime); color: var(--ink);
      display: flex; flex-direction: column; align-items: center; justify-content: center;
      text-align: center; line-height: 1.05;
    }
    .tariff-blue .occupancy {
      background: var(--white); color: var(--ink);
    }
    .tariff-lime .occupancy {
      background: #007FEF;
      color: #fff;
      z-index: 4;
    }
    .occupancy b { font-size: 20px; }
    .occupancy span { font-size: 10px; font-weight: 400; padding: 0 6px; }
    .tariff-blue .occupancy span { line-height: 1.15; }
    .tariff-lime .occupancy span { font-size: 12px; font-weight: 600; }

    /* prereq */
    .prereq-head {
      display: inline-flex; align-items: center; gap: 10px;
      min-height: 54px; height: auto; padding: 10px 28px;
      border-radius: var(--r-pill);
      background: var(--accent); color: var(--ink);
      font-size: 24px; font-weight: 700;
      margin-bottom: 20px;
    }
    .prereq-rows { display: flex; flex-direction: column; gap: var(--gap); }
    .prereq-row {
      display: grid;
      grid-template-columns: 1fr auto;
      gap: 24px; align-items: center;
      border: 2px solid var(--border);
      border-radius: var(--r-card);
      padding: 28px 32px;
      background: transparent;
    }
    .counter {
      width: 88px; height: 88px; border-radius: 3000px;
      background: var(--lime); color: var(--ink);
      display: flex; flex-direction: column; align-items: center; justify-content: center;
      font-weight: 700; text-align: center; line-height: 1.1;
    }
    .prereq-row:nth-child(1) .counter { background: var(--blue); color: var(--white); }
    .prereq-row:nth-child(2) .counter { background: var(--purple); color: var(--white); }
    .prereq-row:nth-child(3) .counter { background: var(--lime); color: var(--ink); }
    .counter b { font-size: 24px; }
    .counter span { font-size: 13px; font-weight: 400; }

    /* faq */
    .faq-stack { display: flex; flex-direction: column; gap: var(--gap); padding-bottom: 48px; }
    .faq {
      border: 2px solid var(--border);
      border-radius: var(--r-card);
      padding: 36px;
      background: transparent;
    }
    .faq-split {
      display: grid;
      grid-template-columns: minmax(240px, .9fr) minmax(280px, 1.2fr);
      gap: 28px 40px;
      align-items: start;
    }
    .faq .q { margin: 0; color: #007FEF; }
    .faq .a { color: var(--white); line-height: 1.45; }
    .faq .a a {
      color: var(--white);
      text-decoration: underline;
      text-underline-offset: 3px;
    }
    .faq .a a:hover { color: var(--blue); }

    /* social */
    .social {
      position: relative;
      min-height: 165px;
      overflow: hidden;
      padding: 40px 0;
    }
    .social-wall {
      display: flex; flex-wrap: wrap; gap: 12px; justify-content: center;
      opacity: .28; pointer-events: none; margin-bottom: 16px;
    }
    .capsule {
      display: inline-flex; align-items: center; gap: 12px;
      height: 55px; padding: 0 28px;
      border-radius: var(--r-pill);
      border: 2px solid var(--white);
      font-size: 20px; font-weight: 700;
      background: transparent;
      color: var(--white);
    }
    .capsule .icon-yt, .capsule .icon-tg, .capsule svg { width: 22px; height: 22px; }
    .capsule .handle { color: var(--primary); font-weight: 400; }
    .social-active {
      display: flex; flex-wrap: wrap; justify-content: center; gap: 12px;
      position: relative; z-index: 1;
    }
    .social-row {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 10px;
      margin-top: 20px;
    }
    .social-pill {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      height: 40px;
      padding: 0 16px;
      border-radius: var(--r-pill);
      border: 1.5px solid var(--white);
      font-size: 15px;
      font-weight: 700;
      color: var(--white);
      background: transparent;
    }
    .social-pill:hover { border-color: var(--primary); color: var(--primary); }
    .social-pill svg { width: 18px; height: 18px; flex: 0 0 auto; }

    /* footer */
    footer {
      padding: 48px 0 60px;
      font-size: 17px; color: var(--muted);
    }
    .foot-inner { display: grid; gap: 18px; }
    .foot-name { margin: 0; color: var(--white); font-size: 20px; font-weight: 700; }
    .foot-tag, .foot-requisites p { margin: 8px 0 0; }
    .foot-requisites a, .foot-legal a { color: var(--white); }
    .foot-requisites a:hover, .foot-legal a:hover, .foot-soc a:hover { color: var(--primary); }
    .foot-soc {
      display: flex; align-items: center; flex-wrap: wrap;
      gap: 10px 14px;
    }
    .foot-soc a {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      width: 32px; height: 32px;
    }
    .foot-soc svg { width: 28px; height: 28px; display: block; }
    .foot-legal { display: flex; flex-wrap: wrap; gap: 10px 20px; }
    .foot-copy { margin: 8px 0 0; }

    @media (max-width: 1100px) {
      .h72 { font-size: 48px; line-height: 56px; }
      .ribbon-name { font-size: 48px; line-height: 56px; }
      .stats-grid, .tariffs, .tiles { grid-template-columns: 1fr; }
      .stage-grid, .player-body, .schedule, .host, .faq-split { grid-template-columns: 1fr; }
      .host { gap: 32px; }
      .host-photos { max-width: 420px; }
      .schedule-side { min-height: 0; }
      .schedule-side .ph { min-height: 0; height: auto; aspect-ratio: 360 / 484; }
      .schedule-side .ph img { aspect-ratio: 360 / 484; }
      .player-cta { margin-top: 28px; }
      .focus-grid { grid-template-columns: 1fr; }
      .focus-span2, .focus-span3 { grid-column: auto; }
      .stat-club { padding-right: 20px; padding-top: 140px; }
      .stat-sticker { width: 248px; top: -36px; right: -18px; }
      .stat-sticker-note { font-size: 16px; }
      .stat-sticker-note span + span { font-size: 14px; }
      .gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .stat-badge { position: static; margin-top: 16px; }
      .price, .stat-num { font-size: 48px; }
      .stat-num { min-height: 48px; }
      .tariff-soon-label { font-size: 36px; }
    }
    @media (max-width: 768px) {
      .nav-links, .nav-socials { gap: 8px 12px; font-size: 14px; }
      .hero { min-height: 0; padding-top: 24px; }
      .ha-side { margin-left: 0; }
      .ha-row { flex-wrap: wrap; }
      .ha-sub { max-width: 36rem; font-size: 20px; }
      .pill { font-size: 17px; height: 44px; padding: 0 16px; }
      .h72 { font-size: 36px; line-height: 42px; }
      .stage h3, .tile h3, .wide-bar h3, .focus-card h3 { font-size: 28px; }
      .stat-club { padding-right: 18px; padding-top: 128px; }
      .stat-sticker { width: 228px; top: -28px; right: -8px; }
      .stat-sticker-note { font-size: 15px; }
      .stat-sticker-note span + span { font-size: 13px; }
      .ribbon { height: 336px; }
      .ribbon-set { gap: 0; padding-right: 0; }
      .ribbon-tile { flex: 0 0 252px; width: 252px; height: 336px; aspect-ratio: 3 / 4; }
      .ribbon-overlay { left: 20px; bottom: 20px; right: 20px; }
      .ribbon-name { font-size: 32px; line-height: 38px; }
      .ribbon-role { font-size: 16px; }
      .gallery { grid-template-columns: 1fr; }
      .player { min-height: 0; }
      .player-body { padding: 28px 20px 36px; }
      .player-chips { margin: 8px 0 28px; }
      .under-pills { min-height: 122px; }
      .stage--tribute { margin-top: 56px; }
      .tribute-rank {
        width: min(188px, 50%);
        top: -198px;
        right: 2px;
        transform: perspective(560px) rotateZ(8.5deg) rotateY(-16deg) skewX(-5deg);
      }
      .avatars .ph { width: 88px; height: 88px; margin-left: -18px; font-size: 11px; }
      .wide-bar { flex-direction: column; align-items: flex-start; min-height: 0; }
      .prereq-head { height: auto; padding: 12px 18px; font-size: 18px; white-space: normal; }
      .prereq-row { grid-template-columns: 1fr; }
      #vedet { padding: 72px 0 64px; }
      .host-name { font-size: 28px; }
      .host-role { font-size: 18px; margin-bottom: 16px; }
      .host-text { margin-bottom: 14px; }
      .host-pills { margin-bottom: 24px; }
      .host-photos {
        max-width: none;
        min-height: 0;
      }
    }
    @media (max-width: 480px) {
      .wrap { width: calc(100% - 24px); }
      .nav-inner { gap: 8px; }
      .brand { font-size: 15px; }
      .brand-sub { display: none; }
      .nav-links, .nav-socials { gap: 8px 10px; font-size: 13px; }
      .hero-a h1 { font-size: clamp(34px, 11vw, 44px); }
      .ha-row { flex-wrap: wrap; }
      .pill { white-space: normal; height: auto; padding: 10px 16px; text-align: center; }
      .review { flex-basis: 270px; width: 270px; }
      .faq, .stage, .outline-card { padding: 20px; }
      .stage--tribute { margin-top: 48px; }
      .tribute-rank {
        width: min(166px, 54%);
        top: -166px;
        right: 0;
        transform: perspective(520px) rotateZ(8.5deg) rotateY(-16deg) skewX(-5deg);
      }
    }
    @media (max-width: 375px) {
      html body.kz-home { overflow-x: clip; }
      .wrap { width: calc(100% - 20px); }
      .hero { padding: 28px 0 32px; }
      .hero-a h1 { font-size: clamp(28px, 10.4vw, 38px); }
      .ha-sub { font-size: 16px; max-width: none; }
      .hero-pills { gap: 8px; margin-top: 18px; }
      .hero-pills .pill { flex: 1 1 calc(50% - 8px); }
    }

    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    /* GEO / Яндекс+Google + калькуляторы (возврат блоков старой главной) */
    .kz-geo-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: var(--gap);
    }
    .kz-geo-card {
      border: 2px solid var(--border);
      border-radius: var(--r-card);
      padding: 28px 26px;
      background: rgba(255, 255, 255, 0.03);
    }
    .kz-geo-kicker {
      margin: 0 0 10px;
      color: var(--lime);
      font-size: 13px;
      font-weight: 800;
      letter-spacing: 0.04em;
      text-transform: uppercase;
    }
    .kz-geo-card h3 {
      margin: 0 0 12px;
      color: var(--white);
      font-size: 28px;
      line-height: 1.15;
      letter-spacing: -0.03em;
    }
    .kz-geo-card p,
    .kz-geo-lead {
      margin: 0;
      color: var(--muted);
      font-size: 17px;
      line-height: 1.55;
    }
    .kz-geo-answer {
      grid-column: 1 / -1;
      border-color: var(--blue);
    }
    .kz-tools-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
    }
    .kz-tool-card {
      display: flex;
      flex-direction: column;
      gap: 10px;
      padding: 22px;
      border: 2px solid var(--border);
      border-radius: 22px;
      text-decoration: none;
      color: inherit;
      min-width: 0;
      background: rgba(255, 255, 255, 0.03);
    }
    .kz-tool-card:hover,
    .kz-tool-card:focus-visible {
      border-color: var(--blue);
      outline: none;
    }
    .kz-tool-badge {
      display: inline-flex;
      width: fit-content;
      padding: 6px 10px;
      border-radius: 999px;
      background: var(--blue);
      color: #fff;
      font-size: 12px;
      font-weight: 800;
    }
    .kz-tool-card h3 {
      margin: 0;
      color: var(--white);
      font-size: 22px;
      letter-spacing: -0.03em;
      line-height: 1.15;
    }
    .kz-tool-card p {
      margin: 0;
      color: var(--muted);
      font-size: 15px;
      line-height: 1.55;
      flex: 1;
    }
    .kz-tool-more {
      color: var(--lime);
      font-weight: 800;
      font-size: 14px;
    }
    .kz-tools-foot {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 28px;
    }
    @media (max-width: 900px) {
      .kz-geo-grid,
      .kz-tools-grid { grid-template-columns: 1fr; }
      .kz-geo-answer { grid-column: auto; }
    }
