*{ margin:0; padding:0; box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  :root{
    /* тёмные секции */
    --navy:#0F1D2E; --navy2:#16293F;
    --paper:#F0ECE3; --slate:#93A1B3;
    --line-d:rgba(255,255,255,0.10);
    /* светлые секции */
    --cream:#F4EFE6; --cream2:#FBF9F5;
    --ink:#1C1A17; --muted:#6E6A62;
    --line-l:rgba(28,26,23,0.12);
    /* сквозной акцент */
    --gold:#D6A24E; --gold-deep:#B98532;
    --grade:saturate(.80) contrast(1.03) sepia(.08) brightness(.98);
  }
  body{
    font-family:'Onest',sans-serif; color:var(--ink);
    background:var(--cream); -webkit-font-smoothing:antialiased;
    text-rendering:optimizeLegibility;
  }
  .wrap{ max-width:1320px; margin:0 auto; padding:0 48px; width:100%; }

  /* ---------- общие типографические элементы ---------- */
  .eyebrow{
    display:inline-flex; align-items:center; gap:14px;
    font-family:'Unbounded',sans-serif; font-size:12px; font-weight:500;
    letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-deep);
  }
  .eyebrow::before{ content:''; width:34px; height:1px; background:var(--gold); display:block; }
  section.dark .eyebrow{ color:var(--gold); }
  h2.title{
    font-family:'Unbounded',sans-serif; font-weight:600;
    font-size:clamp(28px,3.2vw,46px); line-height:1.08; letter-spacing:-0.02em;
    color:var(--ink); text-wrap:pretty;
  }
  section.dark h2.title{ color:var(--paper); }
  h2.title em{ font-style:normal; color:var(--gold); }
  .lead{ font-size:19px; line-height:1.6; color:var(--muted); max-width:46ch; }
  section.dark .lead{ color:var(--slate); }

  /* ---------- кнопки ---------- */
  .btn{ font-family:'Onest',sans-serif; font-size:15px; font-weight:600;
    border-radius:4px; cursor:pointer; border:1px solid transparent; transition:transform .2s, box-shadow .2s, background .2s, border-color .2s, color .2s; display:inline-flex; align-items:center; justify-content:center; gap:10px; text-decoration:none; }
  .btn-primary{ background:var(--gold); color:var(--navy); padding:17px 36px;
    box-shadow:0 12px 30px -14px rgba(214,162,78,0.75); }
  .btn-primary:hover{ transform:translateY(-2px); background:#e0ad59; box-shadow:0 18px 40px -14px rgba(214,162,78,0.9); }
  .btn-ghost{ background:transparent; padding:16px 30px; font-weight:500; }
  section.dark .btn-ghost{ color:var(--paper); border-color:var(--line-d); }
  section.dark .btn-ghost:hover{ border-color:var(--gold); background:rgba(214,162,78,0.07); }
  .btn-ghost.light{ color:var(--ink); border-color:var(--line-l); }
  .btn-ghost.light:hover{ border-color:var(--gold); background:rgba(214,162,78,0.07); }

  /* ============================================================
     HERO — утверждённый первый экран (В2)
  ============================================================ */
  .hero{
    --line2:var(--line-d);
    position:relative; min-height:100vh; color:var(--paper);
    font-family:'Onest',sans-serif; overflow:hidden;
    display:flex; flex-direction:column;
    background:
      linear-gradient(100deg, rgba(15,29,46,0.90) 0%, rgba(15,29,46,0.66) 42%, rgba(15,29,46,0.24) 72%, rgba(15,29,46,0.46) 100%),
      url('../hero-people.png');
    background-size:cover; background-position:center;
  }
  .hero::before{ content:''; position:absolute; inset:0; pointer-events:none;
    background:radial-gradient(ellipse at 75% 15%, rgba(214,162,78,0.14), transparent 50%),
               radial-gradient(ellipse at 10% 90%, rgba(22,41,63,0.9), transparent 60%); }
  .hero::after{ content:''; position:absolute; inset:0; pointer-events:none; opacity:.10;
    background-image:linear-gradient(var(--line2) 1px, transparent 1px), linear-gradient(90deg, var(--line2) 1px, transparent 1px);
    background-size:64px 64px;
    -webkit-mask-image:radial-gradient(ellipse at 70% 40%, black, transparent 75%);
    mask-image:radial-gradient(ellipse at 70% 40%, black, transparent 75%); }
  .nav{ position:relative; z-index:3; display:flex; align-items:center; justify-content:space-between;
    padding:26px 48px; border-bottom:1px solid var(--line-d); }
  .nav .logo img{ height:24px; width:auto; display:block; }
  .nav-links{ display:flex; gap:34px; align-items:center; }
  .nav-links a{ color:var(--paper); text-decoration:none; font-size:14px; opacity:.72; transition:opacity .2s; }
  .nav-links a:hover{ opacity:1; }
  .nav-contact{ display:inline-flex; align-items:center; gap:12px; }
  .nav-links a.nav-phone{ font-family:'Unbounded',sans-serif; font-weight:500; font-size:14px; color:var(--gold); letter-spacing:.01em; opacity:1; }
  .nav-links a.nav-phone:hover{ opacity:.78; }
  .nav-links a.nav-tg{ display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; flex:none;
    border-radius:50%; border:1px solid var(--gold); color:var(--gold); opacity:1; transition:background .2s, color .2s; }
  .nav-links a.nav-tg svg{ width:16px; height:16px; fill:currentColor; display:block; }
  .nav-links a.nav-tg:hover{ background:var(--gold); color:var(--navy); opacity:1; }
  .nav-mail{ display:none; }
  /* бургер — только на мобильном */
  .nav-burger{ display:none; width:46px; height:46px; flex:none; flex-direction:column; align-items:center; justify-content:center;
    gap:6px; background:transparent; border:none; cursor:pointer; z-index:7; margin:-8px -8px -8px 0; }
  .nav-burger span{ width:26px; height:2px; background:var(--paper); border-radius:2px; transition:transform .28s ease, opacity .2s ease; }
  .nav.open .nav-burger span:nth-child(1){ transform:translateY(8px) rotate(45deg); }
  .nav.open .nav-burger span:nth-child(2){ opacity:0; }
  .nav.open .nav-burger span:nth-child(3){ transform:translateY(-8px) rotate(-45deg); }
  .nav-backdrop{ display:none; }
  .hero-inner{ position:relative; z-index:2; flex:1; display:flex; flex-direction:column; justify-content:center;
    padding:60px 48px; max-width:1320px; margin:0 auto; width:100%; }
  .hero .eyebrow{ margin-bottom:30px; }
  .hero .eyebrow::before{ display:none; }
  .hero .eyebrow .badge{
    display:inline-flex; align-items:center; gap:8px;
    padding:7px 14px 7px 11px; border-radius:100px;
    background:var(--gold); color:var(--navy);
    font-weight:600; letter-spacing:.1em;
    box-shadow:0 0 0 1px var(--gold), 0 10px 28px -12px rgba(214,162,78,.8);
  }
  .hero .eyebrow .badge .pin{
    width:14px; height:14px; flex:none; display:block;
    fill:var(--navy);
  }
  .hero h1{ font-family:'Unbounded',sans-serif; font-weight:600; font-size:clamp(38px,5.6vw,74px);
    line-height:1.02; letter-spacing:-0.02em; max-width:16ch; margin-bottom:36px; }
  .hero h1 em{ font-style:normal; color:var(--gold); }
  .meta-row{ display:flex; gap:48px; align-items:center; flex-wrap:wrap;
    padding:24px 0; border-top:1px solid var(--line-d); border-bottom:1px solid var(--line-d);
    margin-bottom:38px; max-width:760px; }
  .meta-row .k{ font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:var(--slate); margin-bottom:6px; }
  .meta-row .val{ font-family:'Unbounded',sans-serif; font-size:22px; font-weight:500; }
  .meta-row .val em{ font-style:normal; color:var(--gold); }
  .cta-row{ display:flex; gap:18px; align-items:center; flex-wrap:wrap; }

  /* ============================================================
     О КОНФЕРЕНЦИИ — светлая, асимметрия текст + фото
  ============================================================ */
  section.block{ padding:120px 0; position:relative; }
  .about{ background:var(--cream); }
  .about-grid{ display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:64px; align-items:start; }
  .about-copy .eyebrow{ margin-bottom:26px; }
  .about-copy h2.title{ margin-bottom:26px; }
  .about-copy h2.title.about-title{ max-width:16ch; text-wrap:normal; }
  .about-copy .lead{ margin-bottom:14px; }
  .about-copy .lead.sub{ font-size:17px; color:var(--muted); margin-bottom:14px; }
  .about-copy .lead.sub:last-of-type{ margin-bottom:34px; }
  .about-cta{ display:flex; gap:16px; align-items:center; flex-wrap:wrap; }
  .about-photo{ position:relative; }
  .about-photo image-slot{ width:100%; height:540px; display:block; box-shadow:0 40px 80px -40px rgba(28,26,23,.45); filter:var(--grade); }
  .about-photo .tagcap{ position:absolute; left:-1px; bottom:28px; background:var(--navy); color:var(--paper);
    font-size:13px; padding:12px 20px; display:flex; align-items:baseline; gap:10px; }
  .about-photo .tagcap b{ font-family:'Unbounded',sans-serif; font-weight:500; color:var(--gold); }

  /* строка ценности под фото/текстом */
  .value-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:78px;
    border-top:1px solid var(--line-l); }
  .value-item{ padding:34px 36px 4px 36px; border-right:1px solid var(--line-l); }
  .value-item:first-child{ padding-left:0; }
  .value-item:last-child{ border-right:none; padding-right:0; }
  .value-item .idx{ font-family:'Unbounded',sans-serif; font-size:14px; font-weight:600; color:var(--gold-deep); margin-bottom:18px; }
  .value-item h3{ font-family:'Unbounded',sans-serif; font-weight:500; font-size:20px; letter-spacing:-.01em; margin-bottom:12px; color:var(--ink); }
  .value-item p{ font-size:15.5px; line-height:1.6; color:var(--muted); max-width:34ch; }

  /* ============================================================
     ДОВЕРИЕ / СТАТИСТИКА — тёмная вставка для ритма
  ============================================================ */
  .stats{ background:var(--navy); color:var(--paper); position:relative; overflow:hidden; padding:96px 0; }
  .stats::before{ content:''; position:absolute; inset:0; opacity:.16; pointer-events:none;
    background:url('../hero-terrace.jpg') center/cover; }
  .stats::after{ content:''; position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(180deg, rgba(15,29,46,.86), rgba(15,29,46,.92)); }
  .stats .wrap{ position:relative; z-index:2; }
  .stats .stat-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:56px; flex-wrap:wrap; }
  .stats .stat-head h2{ font-family:'Unbounded',sans-serif; font-weight:500; font-size:clamp(24px,2.6vw,34px); line-height:1.12; letter-spacing:-.02em; flex:1 1 50%; max-width:640px; }
  .stats .stat-head h2 em{ font-style:normal; color:var(--gold); }
  .stats .stat-head p{ color:var(--slate); font-size:15px; max-width:34ch; }
  .stat-grid{ display:grid; grid-template-columns:repeat(4,1fr); }
  .stat{ padding:6px 32px; border-left:1px solid var(--line-d); }
  .stat:first-child{ border-left:none; padding-left:0; }
  .stat .num{ font-family:'Unbounded',sans-serif; font-weight:600; font-size:clamp(40px,4.6vw,62px); letter-spacing:-.03em; line-height:1; color:var(--paper); }
  .stat .num span{ color:var(--gold); }
  .stat .cap{ margin-top:16px; font-size:14.5px; color:var(--slate); line-height:1.45; max-width:22ch; }

  /* ============================================================
     ПРОГРАММА — светлая, табы по дням, спикер на каждой теме
  ============================================================ */
  .program{ background:var(--cream); }
  .pg-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:38px; flex-wrap:wrap; }
  .pg-head .l{ flex:1 1 50%; max-width:640px; }
  .pg-head .eyebrow{ margin-bottom:22px; }
  .pg-head h2.title{ margin:0; }
  .pg-head .dl{ display:inline-flex; flex-direction:column; align-items:flex-start; gap:4px; }
  .pg-head .dl small{ font-size:12.5px; color:var(--muted); text-align:left; line-height:1.4; }

  .pg-tabs{ display:inline-flex; gap:6px; padding:6px; background:rgba(28,26,23,0.045);
    border:1px solid var(--line-l); border-radius:7px; margin-bottom:14px; }
  .pg-tab{ font-family:'Unbounded',sans-serif; font-weight:500; font-size:14px; padding:13px 24px;
    border-radius:4px; cursor:pointer; color:var(--muted); border:none; background:transparent;
    display:flex; flex-direction:column; gap:3px; line-height:1.1; transition:background .2s, color .2s; }
  .pg-tab .d{ font-size:11.5px; font-weight:400; opacity:.8; }
  .pg-tab:hover{ color:var(--ink); }
  .pg-tab.active{ background:var(--navy); color:var(--paper); }
  .pg-tab.active .d{ color:var(--gold); opacity:1; }
  .pg-daycap{ display:none; font-size:14px; color:var(--muted); margin-bottom:34px; }

  .pg-day{ display:none; }
  .pg-day.active{ display:block; }

  .pg-ses{ display:flex; align-items:center; gap:18px; margin:48px 0 4px; flex-wrap:wrap; }
  .pg-ses:first-child{ margin-top:0; }
  .pg-ses .lbl{ font-family:'Unbounded',sans-serif; font-weight:600; font-size:11.5px; letter-spacing:.07em;
    text-transform:uppercase; color:var(--navy); background:var(--gold); padding:8px 13px; border-radius:3px; white-space:nowrap; }
  .pg-ses .t{ font-family:'Unbounded',sans-serif; font-weight:500; font-size:clamp(18px,1.85vw,23px);
    letter-spacing:-.01em; color:var(--ink); }

  /* спикеры временно убраны из программы; для возврата — вернуть 3-ю колонку 296px и блоки .pg-spk */
  .pg-row{ display:grid; grid-template-columns:118px minmax(0,1fr); gap:30px; align-items:baseline;
    padding:24px 0; border-top:1px solid var(--line-l); }
  .pg-row .time{ font-family:'Unbounded',sans-serif; font-weight:500; font-size:15px; color:var(--gold-deep);
    white-space:nowrap; }
  .pg-row .topic{ font-size:16.5px; line-height:1.55; color:var(--ink); text-wrap:pretty; }

  .pg-spk{ display:flex; gap:14px; align-items:flex-start; align-self:start; }
  .pg-spk img{ width:56px; height:56px; border-radius:50%; object-fit:cover; object-position:top center;
    flex:none; border:1px solid var(--line-l); filter:var(--grade); background:#FFFFFF; }
  .pg-spk .n{ font-family:'Unbounded',sans-serif; font-weight:500; font-size:14.5px; color:var(--ink); line-height:1.15; }
  .pg-spk .r{ margin-top:6px; font-size:12px; line-height:1.42; color:var(--muted); }

  /* перерывы / служебные пункты */
  .pg-row.brk{ grid-template-columns:118px 1fr; padding:16px 0; align-items:center; }
  .pg-row.brk .topic{ color:var(--muted); font-size:14.5px; display:flex; align-items:center; gap:12px; }
  .pg-row.brk .topic::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--gold); opacity:.6; flex:none; }
  .pg-row.gala{ background:linear-gradient(90deg, rgba(214,162,78,.10), transparent 80%);
    padding-left:24px; padding-right:24px; margin-left:-24px; margin-right:-24px; border-radius:8px; }
  .pg-row.gala .topic strong{ display:block; font-family:'Unbounded',sans-serif; font-weight:500; font-size:16px; color:var(--ink); margin-bottom:6px; letter-spacing:-.01em; }
  .pg-row.gala .gala-tag{ display:block; font-size:12px; color:var(--gold-deep); margin-bottom:10px; letter-spacing:.01em; }
  .pg-foot{ margin-top:34px; font-size:13px; color:var(--muted); font-style:italic; }
  .pg-cta{ display:flex; align-items:center; justify-content:space-between; gap:18px; flex-wrap:wrap;
    margin-top:38px; padding-top:34px; border-top:1px solid var(--line-l); }
  .pg-cta .btn-primary{ padding:18px 42px; font-size:16px; }

  /* ============================================================
     СПИКЕРЫ — светлая, сетка карточек
  ============================================================ */
  .speakers{ background:var(--cream2); }
  .sp-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:48px; margin-bottom:60px; flex-wrap:wrap; }
  .sp-head .l{ flex:1 1 50%; max-width:640px; }
  .sp-head .eyebrow{ margin-bottom:24px; }
  .sp-head h2.title{ margin-bottom:0; }
  .sp-head .note{ font-size:15px; color:var(--muted); max-width:28ch; padding-bottom:6px; }
  .sp-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:32px; }
  .sp-card{ background:var(--cream); border:1px solid var(--line-l); transition:border-color .25s, transform .25s, box-shadow .25s; }
  .sp-card:hover{ transform:translateY(-4px); border-color:rgba(214,162,78,.55); box-shadow:0 30px 60px -34px rgba(28,26,23,.4); }
  .sp-photo{ position:relative; overflow:hidden; background:#FFFFFF; }
  .sp-photo image-slot, .sp-photo img{ width:100%; height:340px; display:block; object-fit:cover; object-position:top center; filter:var(--grade); transition:transform .5s cubic-bezier(.22,.61,.36,1); background:transparent; }
  .sp-card:hover .sp-photo image-slot, .sp-card:hover .sp-photo img{ transform:scale(1.04); }
  .sp-tag{ position:absolute; top:16px; left:16px; z-index:2; background:var(--gold); color:var(--navy);
    font-family:'Unbounded',sans-serif; font-weight:600; font-size:11px; letter-spacing:.06em; padding:6px 11px; border-radius:3px; }
  .sp-body{ padding:24px 26px 28px; }
  .sp-body .name{ font-family:'Unbounded',sans-serif; font-weight:500; font-size:21px; letter-spacing:-.01em; color:var(--ink); }
  .sp-body .rule{ width:30px; height:2px; background:var(--gold); margin:14px 0; transition:width .25s; }
  .sp-card:hover .sp-body .rule{ width:54px; }
  .sp-body .role{ font-size:14.5px; line-height:1.5; color:var(--muted); }
  .sp-body .spec{ margin-top:14px; font-size:13px; color:var(--gold-deep); font-weight:500; letter-spacing:.01em; }

  /* ============================================================
     СТОИМОСТЬ + РЕГИСТРАЦИЯ — одна цена, форма участия рядом
  ============================================================ */
  .pricing{ background:var(--cream); }
  .pr-head{ flex:1 1 50%; max-width:640px; margin:0 0 40px; }
  .pr-head .eyebrow{ margin-bottom:22px; }
  .pr-head h2.title{ margin:0 0 18px; }
  .deadline{ display:inline-flex; align-items:center; gap:10px; background:rgba(214,162,78,.12);
    border:1px solid rgba(214,162,78,.4); color:var(--gold-deep); font-size:13.5px; font-weight:600;
    padding:9px 16px; border-radius:100px; }
  .deadline .dot{ width:7px; height:7px; border-radius:50%; background:var(--gold); box-shadow:0 0 0 0 rgba(214,162,78,.6); animation:pulse 2.2s infinite; }
  @keyframes pulse{ 0%{ box-shadow:0 0 0 0 rgba(214,162,78,.5);} 70%{ box-shadow:0 0 0 8px rgba(214,162,78,0);} 100%{ box-shadow:0 0 0 0 rgba(214,162,78,0);} }

  .book-grid{ display:grid; grid-template-columns:minmax(0,0.9fr) minmax(0,1.1fr);
    border:1px solid var(--line-l); border-radius:10px; overflow:hidden; box-shadow:0 50px 100px -55px rgba(15,29,46,.45); }

  /* — левая колонка: цена (тёмная) — */
  .book-price{ background:var(--navy); color:var(--paper); padding:54px 46px; position:relative; overflow:hidden; display:flex; flex-direction:column; }
  .book-price::before{ content:''; position:absolute; inset:0; opacity:.14; pointer-events:none; background:url('../hero-terrace.jpg') center/cover; }
  .book-price::after{ content:''; position:absolute; inset:0; pointer-events:none; background:linear-gradient(160deg, rgba(15,29,46,.78), rgba(15,29,46,.94)); }
  .book-price > *{ position:relative; z-index:2; }
  .bp-ey{ font-family:'Unbounded',sans-serif; font-size:12px; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:20px; }
  .bp-amount{ display:flex; align-items:baseline; gap:14px; flex-wrap:wrap; }
  .bp-now{ font-family:'Unbounded',sans-serif; font-weight:600; font-size:clamp(42px,4.6vw,60px); letter-spacing:-.03em; line-height:1; color:var(--paper); }
  .bp-old{ font-size:20px; color:var(--slate); text-decoration:line-through; text-decoration-color:rgba(147,161,179,.6); }
  .bp-off{ font-size:12.5px; font-weight:700; color:var(--navy); background:var(--gold); padding:5px 10px; border-radius:3px; align-self:center; }
  .bp-sub{ margin-top:14px; font-size:14.5px; color:var(--slate); line-height:1.5; }
  .bp-list{ list-style:none; margin:30px 0 0; display:flex; flex-direction:column; gap:14px; border-top:1px solid var(--line-d); padding-top:30px; }
  .bp-list li{ font-size:15px; line-height:1.45; color:var(--paper); display:flex; gap:13px; align-items:flex-start; }
  .bp-list li::before{ content:''; flex:none; width:7px; height:7px; margin-top:6px; border-right:1.5px solid var(--gold); border-bottom:1.5px solid var(--gold); transform:rotate(45deg); }
  .bp-game{ margin-top:auto; padding-top:30px; }
  .bp-game .row{ display:flex; justify-content:space-between; align-items:flex-start; gap:18px; padding-top:24px; border-top:1px solid var(--line-d); }
  .bp-game .g-name{ font-family:'Unbounded',sans-serif; font-weight:500; font-size:15px; color:var(--paper); }
  .bp-game .g-name span{ display:block; font-family:'Onest',sans-serif; font-weight:400; font-size:13px; color:var(--slate); margin-top:6px; max-width:34ch; line-height:1.45; }
  .bp-game .g-price{ font-family:'Unbounded',sans-serif; font-weight:500; font-size:18px; color:var(--gold); white-space:nowrap; }

  /* — правая колонка: форма (светлая) — */
  .book-form{ background:var(--cream2); padding:54px 46px; }
  .book-form h3{ font-family:'Unbounded',sans-serif; font-weight:500; font-size:24px; letter-spacing:-.01em; color:var(--ink); margin-bottom:8px; }
  .book-form .fdesc{ font-size:14.5px; color:var(--muted); margin-bottom:28px; max-width:40ch; line-height:1.55; }
  .f-grid{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  .field{ margin-bottom:16px; }
  .field.full{ grid-column:1 / -1; }
  .field label{ display:block; font-size:12.5px; font-weight:600; letter-spacing:.01em; color:var(--muted); margin-bottom:8px; }
  .field label .req{ color:var(--gold-deep); }
  .field input{ width:100%; font-family:'Onest',sans-serif; font-size:15px; color:var(--ink); padding:14px 15px; background:var(--cream); border:1px solid var(--line-l); border-radius:5px; transition:border-color .2s, box-shadow .2s, background .2s; }
  .field input::placeholder{ color:rgba(110,106,98,.5); }
  .field input:focus{ outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(214,162,78,.16); background:#fff; }
  .company-field{ display:none; }
  .company-field.on{ display:block; }

  .opts{ display:flex; flex-direction:column; gap:14px; margin:22px 0 4px; }
  .check{ position:relative; display:flex; gap:13px; align-items:flex-start; cursor:pointer; font-size:14px; line-height:1.5; color:var(--ink); }
  .check input{ position:absolute; opacity:0; width:0; height:0; }
  .check .box{ flex:none; width:21px; height:21px; border:1.5px solid var(--line-l); border-radius:5px; margin-top:1px; background:var(--cream); transition:border-color .2s, background .2s; position:relative; }
  .check input:checked + .box{ background:var(--gold); border-color:var(--gold); }
  .check input:checked + .box::after{ content:''; position:absolute; left:6.5px; top:2.5px; width:5px; height:10px; border-right:2px solid var(--navy); border-bottom:2px solid var(--navy); transform:rotate(45deg); }
  .check input:focus-visible + .box{ box-shadow:0 0 0 3px rgba(214,162,78,.28); }
  .check .ct{ flex:1; }
  .check .ct b{ font-weight:600; }
  .check .add{ font-family:'Unbounded',sans-serif; font-weight:500; font-size:14px; color:var(--gold-deep); white-space:nowrap; }
  .check.consent{ font-size:12.5px; color:var(--muted); line-height:1.5; }
  .check.consent a{ color:var(--gold-deep); text-decoration:underline; text-underline-offset:2px; }

  .book-total{ display:flex; justify-content:space-between; align-items:baseline; gap:16px;
    margin:26px 0 20px; padding-top:24px; border-top:1px solid var(--line-l); }
  .book-total .tl{ font-size:13.5px; color:var(--muted); }
  .book-total .tl b{ display:block; font-size:15px; color:var(--ink); font-weight:600; margin-top:3px; }
  .book-total .tv{ font-family:'Unbounded',sans-serif; font-weight:600; font-size:32px; letter-spacing:-.02em; color:var(--ink); white-space:nowrap; }
  .book-form .btn-primary{ width:100%; }
  .book-form.done{ display:flex; flex-direction:column; justify-content:center; }
  .book-form.done > h3, .book-form.done > .fdesc, .book-form.done > form{ display:none; }
  .book-form.done .form-ok{ display:flex; }
  .book-note{ margin-top:16px; font-size:12.5px; color:var(--muted); line-height:1.55; text-align:center; }

  /* ============================================================
     КАК ЭТО БЫЛО — тёмная: слайдер фото + карусель отзывов
  ============================================================ */
  .howitwas{ background:var(--navy); color:var(--paper); position:relative; overflow:hidden; }
  .hw-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:40px; margin-bottom:44px; flex-wrap:wrap; }
  .hw-head .l{ flex:1 1 50%; max-width:640px; }
  .hw-head .eyebrow{ margin-bottom:22px; }
  .hw-head h2.title{ margin:0; }
  .hw-head .note{ font-size:15px; color:var(--slate); max-width:30ch; padding-bottom:6px; line-height:1.55; }

  /* фото показываем небольшими плитками — низкое разрешение исходников
     при уменьшенном выводе считывается как резкое, без «плывущих» пикселей */
  .gal-grid{ display:grid; grid-template-columns:repeat(4,1fr); grid-auto-rows:200px; gap:14px; }
  .gm-item{ position:relative; overflow:hidden; border-radius:7px; background:var(--navy2); }
  .gm-item img{ width:100%; height:100%; object-fit:cover; filter:var(--grade); display:block; transition:transform .5s ease; }
  .gm-item:hover img{ transform:scale(1.05); }
  .gm-feature{ grid-column:span 2; grid-row:span 2; }
  .gm-feature figcaption{ font-size:15px; padding:40px 20px 18px; }
  .gm-item figcaption{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:26px 14px 12px;
    font-family:'Unbounded',sans-serif; font-weight:500; font-size:12.5px; letter-spacing:.01em; color:var(--paper);
    background:linear-gradient(to top, rgba(15,29,46,.92), transparent); opacity:0; transform:translateY(6px);
    transition:opacity .25s, transform .25s; }
  .gm-item:hover figcaption{ opacity:1; transform:none; }

  /* слайдер (slick) на мобильном — галерея и отзывы, ~1.2 элемента */
  .gal-grid.slick-initialized, .tst-grid.slick-initialized{ display:block; }
  .gal-grid.slick-initialized .gm-item{ width:74vw; height:200px; margin-right:12px; }
  .gal-grid.slick-initialized .slick-track{ display:flex; align-items:stretch; }
  .gal-grid.slick-initialized .slick-slide{ height:auto; }
  /* отзывы: ширину задаём на карточке (variableWidth slick подхватит outerWidth),
     равную высоту наводит JS-выравниватель ниже — см. блок init slick'а. */
  .tst-grid.slick-initialized .tst-card{ width:74vw; max-width:480px; margin-right:12px;
    display:flex; flex-direction:column; }
  .tst-grid.slick-initialized .tst-card .who{ margin-top:auto; }

  /* отзывы — несколько карточек одновременно, без переключения и скачков высоты */
  .tst{ margin-top:78px; border-top:1px solid var(--line-d); padding-top:56px; }
  .tst .eyebrow{ margin-bottom:30px; }
  .tst-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
  .tst-card{ background:var(--navy2); border:1px solid var(--line-d); border-radius:8px;
    padding:30px 28px 28px; display:flex; flex-direction:column; }
  .tst-card .tst-mark{ font-family:'Unbounded',sans-serif; font-weight:700; font-size:54px; line-height:.4;
    color:var(--gold); display:block; height:26px; margin-bottom:18px; }
  .tst-card blockquote{ font-family:'Onest',sans-serif; font-size:16.5px; line-height:1.55; color:var(--paper);
    flex:1; text-wrap:pretty; }
  .tst-card .who{ margin-top:24px; }
  .tst-card .who .nm{ font-family:'Unbounded',sans-serif; font-weight:500; font-size:15px; color:var(--gold); }
  .tst-card .who .co{ font-size:13.5px; color:var(--slate); margin-top:5px; line-height:1.4; }

  /* ---------- reveal: контент ВСЕГДА видим (opacity:1 в покое). Анимируем только
       лёгкое вертикальное смещение через .intro — даже если кадры анимации не
       отрисуются (троттлинг/фон), контент остаётся видимым, просто без сдвига. ---------- */
  @media (prefers-reduced-motion: no-preference){
    .reveal.intro > *{ animation: revealRise .66s cubic-bezier(.22,.61,.36,1) both; }
    .reveal.intro > *:nth-child(2){ animation-delay:.07s; }
    .reveal.intro > *:nth-child(3){ animation-delay:.14s; }
    .reveal.intro > *:nth-child(4){ animation-delay:.21s; }
    .reveal.intro > *:nth-child(5){ animation-delay:.28s; }
    .reveal.intro > *:nth-child(6){ animation-delay:.35s; }
  }
  @keyframes revealRise{ from{ transform:translateY(20px); } to{ transform:none; } }

  /* ============================================================
     ОРГАНИЗАТОР И ПАРТНЁРЫ — тёмная: логотипы + CTA партнёрам
  ============================================================ */
  .orgs{ background:var(--navy); color:var(--paper); padding-top:72px; position:relative; }
  .orgs::before{ content:''; position:absolute; top:0; left:50%; transform:translateX(-50%);
    width:min(1320px, calc(100% - 96px)); height:1px; background:var(--line-d); }
  .orgs-grid{ display:grid; grid-template-columns:minmax(0,0.82fr) minmax(0,1.18fr); gap:64px; align-items:start; }
  .org-col .eyebrow, .prt-col .eyebrow{ margin-bottom:26px; }
  .org-logos{ display:flex; align-items:center; gap:24px; flex-wrap:wrap; margin-bottom:26px; }
  .org-logos img{ display:block; width:auto; }
  .org-logos .l1{ height:23px; }
  .org-logos .l2{ height:42px; }
  .org-logos .sep{ width:1px; height:40px; background:var(--line-d); }
  .org-desc{ font-size:16px; line-height:1.62; color:var(--slate); max-width:36ch; }
  .org-desc + .org-desc{ margin-top:14px; }
  .org-meta{ margin-top:26px; display:flex; flex-direction:column; gap:8px; font-size:14.5px; color:var(--slate); }
  .org-meta a{ color:var(--gold); text-decoration:none; }
  .org-meta a:hover{ text-decoration:underline; text-underline-offset:2px; }

  .prt-col{ border-left:1px solid var(--line-d); padding-left:64px; }
  .prt-head{ display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:28px; flex-wrap:wrap; }
  .prt-head .eyebrow{ margin-bottom:0; }
  .prt-logos{ display:flex; flex-wrap:wrap; gap:16px; }
  .prt-logo, .prt-slot{ flex:1 1 200px; max-width:280px; height:168px; border-radius:8px; }
  .prt-logo{ position:relative; display:flex; align-items:center; justify-content:center;
    padding:30px 22px; background:var(--navy2); border:1px solid var(--line-d); }
  .prt-logo img{ max-height:66px; max-width:90%; width:auto; opacity:.95; transition:opacity .25s; }
  .prt-logo:hover img{ opacity:1; }
  .prt-status{ position:absolute; top:14px; left:14px; font-family:'Unbounded',sans-serif; font-weight:600;
    font-size:10px; letter-spacing:.06em; text-transform:uppercase; color:var(--navy); background:var(--gold);
    padding:5px 10px; border-radius:100px; }
  .prt-slot{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:7px;
    border:1px dashed rgba(240,236,227,.26); background:transparent; color:var(--slate); cursor:pointer;
    transition:border-color .22s, color .22s, background .22s; text-align:center; padding:14px; }
  .prt-slot:hover{ border-color:var(--gold); color:var(--paper); background:rgba(214,162,78,.05); }
  .prt-slot .ps-plus{ font-family:'Unbounded',sans-serif; font-weight:500; font-size:22px; line-height:1; color:var(--gold); }
  .prt-slot .ps-t{ font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
  .prt-cta{ margin-top:24px; }

  /* модальное окно «Стать партнёром» */
  .modal{ position:fixed; inset:0; z-index:100; display:none; align-items:center; justify-content:center; padding:24px; }
  .modal.on{ display:flex; }
  .modal-overlay{ position:absolute; inset:0; background:rgba(15,29,46,.62);
    backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
  .modal-card{ position:relative; z-index:2; width:min(460px,100%); background:var(--cream2); border-radius:12px;
    padding:44px 42px 40px; box-shadow:0 50px 100px -40px rgba(0,0,0,.65);
    animation:modalPop .28s cubic-bezier(.22,.61,.36,1) both; }
  @keyframes modalPop{ from{ opacity:0; transform:translateY(14px) scale(.98); } to{ opacity:1; transform:none; } }
  .modal-close{ position:absolute; top:16px; right:16px; width:36px; height:36px; border-radius:50%;
    border:1px solid var(--line-l); background:transparent; color:var(--muted); font-size:22px; line-height:1; cursor:pointer;
    display:flex; align-items:center; justify-content:center; transition:background .2s, color .2s, border-color .2s; }
  .modal-close:hover{ background:var(--ink); color:var(--cream2); border-color:var(--ink); }
  .modal-card .eyebrow{ margin-bottom:18px; }
  .modal-card h3{ font-family:'Unbounded',sans-serif; font-weight:500; font-size:22px; letter-spacing:-.01em;
    color:var(--ink); margin-bottom:12px; line-height:1.18; text-wrap:pretty; max-width:20ch; }
  .modal-desc{ font-size:14.5px; color:var(--muted); line-height:1.55; margin-bottom:26px; }
  .modal-card .btn-primary{ width:100%; }
  .modal-card.done form, .modal-card.done > .eyebrow, .modal-card.done > h3, .modal-card.done .modal-desc{ display:none; }

  /* экран благодарности — общий для форм брони и партнёра */
  .form-ok{ display:none; flex-direction:column; align-items:center; text-align:center; padding:14px 0; }
  .form-ok .ok-badge{ width:64px; height:64px; border-radius:50%; background:var(--gold);
    display:flex; align-items:center; justify-content:center; margin-bottom:22px; }
  .form-ok .ok-badge svg{ width:30px; height:30px; fill:none; stroke:var(--navy); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
  .form-ok h3{ font-family:'Unbounded',sans-serif; font-weight:500; font-size:22px; letter-spacing:-.01em; color:var(--ink); margin-bottom:10px; max-width:none; }
  .form-ok p{ font-size:14.5px; color:var(--muted); line-height:1.55; max-width:34ch; }
  .modal-card.done .form-ok{ display:flex; }

  /* ============================================================
     МЕСТО ПРОВЕДЕНИЯ — тёмная: адрес + карта
  ============================================================ */
  .venue{ background:var(--navy); color:var(--paper); padding-bottom:72px; }
  .vn-grid{ display:grid; grid-template-columns:minmax(0,0.88fr) minmax(0,1.28fr); gap:52px; align-items:stretch; }
  .vn-info{ display:flex; flex-direction:column; }
  .vn-info .eyebrow{ margin-bottom:26px; }
  .vn-info h2.title{ margin-bottom:22px; }
  .vn-addr{ display:flex; gap:13px; align-items:flex-start; font-size:18px; line-height:1.5; color:var(--paper); }
  .vn-addr svg{ width:20px; height:20px; flex:none; fill:var(--gold); margin-top:2px; }
  .vn-sub{ margin-top:16px; font-size:15.5px; line-height:1.6; color:var(--slate); max-width:34ch; }
  .vn-cta{ display:flex; gap:14px; flex-wrap:wrap; margin-top:auto; padding-top:36px; }
  .vn-map{ position:relative; height:480px; border-radius:10px; overflow:hidden; border:1px solid var(--line-d);
    background:var(--navy2); }
  .vn-map iframe{ position:absolute; inset:0; width:100%; height:100%; border:0; display:block; }

  /* ============================================================
     ФУТЕР
  ============================================================ */
  .footer{ background:#0B1622; color:var(--slate); padding:72px 0 42px; border-top:1px solid var(--line-d); }
  .ft-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:44px; flex-wrap:wrap;
    padding-bottom:40px; border-bottom:1px solid var(--line-d); }
  .ft-logo{ height:24px; width:auto; display:block; margin-bottom:20px; }
  .ft-tag{ font-size:14.5px; color:var(--slate); max-width:40ch; line-height:1.55; }
  .ft-venue{ margin-top:11px; font-size:13.5px; color:var(--slate); max-width:42ch; line-height:1.55; }
  .ft-contacts{ display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
  .ft-phone-row{ display:flex; align-items:center; gap:14px; }
  .ft-tg{ width:40px; height:40px; flex:none; border-radius:50%; border:1px solid var(--gold); color:var(--gold);
    display:flex; align-items:center; justify-content:center; transition:background .2s, color .2s; }
  .ft-tg svg{ width:18px; height:18px; fill:currentColor; display:block; }
  .ft-tg:hover{ background:var(--gold); color:var(--navy); }
  .ft-phone{ font-family:'Unbounded',sans-serif; font-weight:500; font-size:18px; color:var(--gold); text-decoration:none; letter-spacing:.01em; }
  .ft-phone:hover{ opacity:.82; }
  .ft-mail{ font-size:15px; color:var(--paper); text-decoration:none; text-align:right; border-bottom:1px solid var(--line-d); padding-bottom:2px; transition:color .2s, border-color .2s; }
  .ft-mail:hover{ color:var(--gold); border-color:var(--gold); }
  .ft-bottom{ display:flex; justify-content:space-between; gap:40px; flex-wrap:wrap; padding-top:36px; }
  .ft-co{ display:flex; flex-direction:column; align-items:flex-start; gap:16px; }
  .ft-action{ height:30px; width:auto; flex:none; opacity:.9; }
  .ft-cp{ font-size:12.5px; line-height:1.65; color:var(--slate); white-space:nowrap; }
  .ft-cp .addr{ display:block; margin-top:9px; }
  .ft-links{ display:flex; flex-direction:column; gap:9px; }
  .ft-links a{ font-size:12.5px; color:var(--slate); text-decoration:none; transition:color .2s; white-space:nowrap; }
  .ft-links a:hover{ color:var(--gold); }

  /* ---------- адаптив ---------- */
  @media (max-width:1080px){
    .about-grid{ grid-template-columns:minmax(0,1fr); gap:44px; }
    .about-photo image-slot{ height:auto; aspect-ratio:1/1; max-height:720px; }
    .sp-grid{ grid-template-columns:repeat(2,1fr); }
    .gal-grid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:180px; }
    .tst-grid{ grid-template-columns:repeat(2,1fr); }
    .stat-grid{ grid-template-columns:repeat(2,1fr); gap:36px 0; }
    .stat{ padding:6px 28px; }
    .stat:nth-child(odd){ border-left:none; padding-left:0; }
    .book-grid{ grid-template-columns:1fr; }
    .book-price{ padding:46px 40px; }
    .pg-row{ grid-template-columns:100px minmax(0,1fr); gap:22px; }
    .orgs-grid{ grid-template-columns:1fr; gap:48px; }
    .vn-grid{ grid-template-columns:1fr; gap:30px; }
    .vn-map{ height:400px; }
    .prt-col{ border-left:none; padding-left:0; border-top:1px solid var(--line-d); padding-top:44px; }
  }
  @media (max-width:720px){
    .wrap{ padding:0 24px; }
    .nav{ padding:18px 24px; }
    .nav-burger{ display:flex; }
    .nav-links{ position:fixed; top:0; right:0; bottom:0; width:min(84vw,340px); height:100dvh; z-index:6;
      flex-direction:column; align-items:stretch; justify-content:flex-start; gap:0;
      padding:92px 30px 36px; background:var(--navy2); border-left:1px solid var(--line-d);
      box-shadow:-30px 0 70px -30px rgba(0,0,0,.6);
      transition:transform .32s cubic-bezier(.4,0,.2,1); overflow-y:auto; }
    .nav:not(.open) .nav-links{ transform:translateX(100%); }
    .nav-links a{ font-size:18px; opacity:1; padding:16px 0; border-bottom:1px solid var(--line-d); }
    .nav-links a:last-child{ border-bottom:none; }
    .nav-contact{ display:flex; flex-direction:row; align-items:center; gap:16px; padding:22px 0 4px; border-bottom:1px solid var(--line-d); }
    .nav-links a.nav-phone{ font-size:18px; padding:0; border:none; }
    .nav-links a.nav-tg{ width:40px; height:40px; }
    .nav-mail{ display:block; color:var(--paper); font-size:15px; opacity:.85; }
    .nav-backdrop{ display:block; position:fixed; inset:0; z-index:5; background:rgba(8,16,26,.5);
      transition:opacity .3s ease, visibility .3s ease; backdrop-filter:blur(2px); -webkit-backdrop-filter:blur(2px); }
    .nav:not(.open) .nav-backdrop{ opacity:0; visibility:hidden; pointer-events:none; }
    .hero-inner{ padding:44px 24px; }
    .meta-row{ gap:24px; }
    section.block{ padding:84px 0; }
    .value-row{ grid-template-columns:1fr; }
    .value-item{ border-right:none; border-bottom:1px solid var(--line-l); padding:28px 0; }
    .value-item:last-child{ border-bottom:none; }
    .sp-grid{ grid-template-columns:1fr; }
    .gal-grid{ grid-template-columns:repeat(2,1fr); grid-auto-rows:140px; }
    .tst-grid{ grid-template-columns:1fr; }
    .about-photo image-slot{ height:360px; }
    .book-price, .book-form{ padding:38px 26px; }
    .f-grid{ grid-template-columns:1fr; gap:0; }
    .gm-item figcaption{ opacity:1; transform:none; }
    .pg-row{ grid-template-columns:84px 1fr; gap:8px 18px; }
    .pg-row .pg-spk{ grid-column:2; margin-top:16px; }
    .pg-row.brk{ grid-template-columns:84px 1fr; }
    .pg-head{ gap:24px; } .pg-head .dl small{ text-align:left; }
    .pg-tab{ padding:11px 16px; }
    .prt-logos{ grid-template-columns:repeat(2,1fr); }
    .modal-card{ padding:38px 26px 32px; }
    .vn-map{ height:360px; }
    .ft-top{ flex-direction:column; align-items:flex-start; gap:30px; }
    .ft-contacts{ align-items:flex-start; }
    .ft-mail{ text-align:left; }
    .ft-bottom{ flex-direction:column; gap:26px; }
    .ft-cp{ white-space:normal; }
    .pg-cta{ gap:14px; }
    .pg-cta .btn{ width:100%; }
  }
  @media (max-width:480px){
    .nav .logo img{ width:min(220px,52vw); height:auto; }
    .nav-mail{ display:none; }
    .nav-contact{ border-bottom:none; }
    .hero{ background-position:70% center; }
    .hero .eyebrow .badge{ display:none; }
    .hero h1{ font-size:7vw; }
    .meta-row{ gap:18px 28px; }
    .meta-row .val{ font-size:19px; }
    .cta-row{ flex-direction:column; align-items:stretch; }
    .cta-row .btn{ width:100%; }
    .stat-grid{ grid-template-columns:1fr; gap:0; }
    .stat{ padding:24px 0; border-left:none; padding-left:0; border-top:1px solid var(--line-d); }
    .stat:first-child{ border-top:none; }
    .gal-grid{ grid-auto-rows:120px; }
    .about-cta, .about-cta .btn{ width:100%; }
    .about-cta{ flex-direction:column; align-items:stretch; }
    .pg-head .dl{ display:none; }
    .sp-grid{ gap:20px; }
    .about-photo{ order:-1; }
    section.block{ padding:60px 0; }
    .stats{ padding:60px 0; }
    .venue{ padding-bottom:60px; }
    .orgs{ padding-top:60px; }
    .pg-row{ grid-template-columns:1fr; gap:6px; }
    .pg-row .pg-spk{ grid-column:auto; margin-top:14px; }
    .pg-row.brk{ grid-template-columns:1fr; gap:4px; }
    .pg-tabs{ display:flex; width:100%; }
    .pg-tab{ flex:1; }
    .stats .stat-head, .sp-head, .hw-head{ gap:20px; }
    /* цена под текстом, чтобы не вылезала на узких экранах */
    .bp-game .row{ flex-direction:column; gap:8px; }
    .check{ flex-wrap:wrap; gap:2px 13px; }
    .check .add{ flex-basis:100%; padding-left:34px; }
    .book-total{ flex-direction:column; align-items:flex-start; gap:8px; }
  }
