/* ============================================================
   TEMPLATE D · gallery-first
   Первый экран строится вокруг сетки из 12 игровых тайлов:
   H1 + lead сверху, сетка 2 колонки (мобила) / 4 колонки (десктоп),
   поверх сетки — накладная строка из 4 quick-action.
   Дальше — стек полноширинных полос (band) с центрированной
   колонкой контента и чередующимся фоном.
   Все цвета и шрифты — через токены. Классы — с префиксом aero7.
   ============================================================ */

:root {
  --bg:      #071521;
  --bg2:     #112735;
  --accent:  #ff6a2a;
  --accent2: #bcc8cf;
  --text:    #f4f0df;
  --mute:    #9bb2ad;
  --line:    color-mix(in srgb, var(--mute) 28%, transparent);
  --card:    color-mix(in srgb, var(--bg2) 86%, var(--text) 5%);
  --f-head:  'Archivo Black', Georgia, 'Times New Roman', serif;
  --f-body:  'Noto Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --gap:     14px;
  --pad:     clamp(14px, 4vw, 40px);
  --wrap:    1120px;
  --tap:     44px;
  --r:       14px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--bg);
  color: var(--text);
  font-family: var(--f-body);
  font-size: 16px;
  line-height: 1.63;
  -webkit-text-size-adjust: 100%;
}

h1, h2, h3,
.aero7qa__t,
.aero7foot__t,
.aero7step__t { font-family: var(--f-head); font-weight: 600; line-height: 1.16; margin: 0 0 12px; letter-spacing: -0.012em; }

h1 { font-size: clamp(26px, 4.3vw, 44px); }
h2 { font-size: clamp(21px, 3vw, 32px); }
h3 { font-size: clamp(17px, 2vw, 21px); }

p  { margin: 0 0 12px; }
p:last-child { margin-bottom: 0; }
a  { color: var(--accent2); text-decoration: none; }
a:hover { text-decoration: underline; }

.aero7wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; }

/* ---------- skip + шапка ---------- */

.aero7skip {
  position: absolute; left: -9999px; top: 0; z-index: 99;
  background: var(--accent); color: var(--bg); padding: 12px 18px; font-weight: 600;
}
.aero7skip:focus { left: 0; }

.aero7top {
  position: sticky; top: 0; z-index: 40;
  display: flex; align-items: center; gap: 10px; flex-wrap: wrap;
  padding: 8px var(--pad);
  background: color-mix(in srgb, var(--bg) 90%, transparent);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--line);
}
.aero7logo { display: flex; align-items: center; gap: 10px; color: var(--text); min-height: var(--tap); }
.aero7logo:hover { text-decoration: none; }
.aero7logo__svg { width: 32px; height: 32px; flex: 0 0 auto; }
.aero7logo__t { display: flex; flex-direction: column; font-family: var(--f-head); font-size: 18px; line-height: 1.1; }
.aero7logo__s { font-family: var(--f-body); font-size: 11px; color: var(--mute); letter-spacing: .07em; text-transform: uppercase; }

.aero7menu { display: flex; gap: 2px; flex-wrap: wrap; margin-left: auto; }
.aero7menu a {
  display: inline-flex; align-items: center; min-height: var(--tap);
  padding: 0 11px; color: var(--mute); font-size: 14px;
}
.aero7menu a:hover { color: var(--accent2); text-decoration: none; }

/* ---------- CTA ---------- */

.aero7cta {
  display: inline-flex; align-items: center; justify-content: center;
  min-height: var(--tap); padding: 11px 22px;
  background: var(--accent); color: var(--bg);
  font-weight: 600; font-size: 15px; border-radius: 999px;
  border: 1px solid var(--accent);
}
.aero7cta:hover { text-decoration: none; filter: brightness(1.08); }
.aero7cta--line { background: transparent; color: var(--text); border-color: var(--line); }
.aero7cta--mini { padding: 8px 16px; font-size: 14px; }
.aero7cta--wide { width: 100%; max-width: 420px; }

/* ============================================================
   HERO · gallery-first
   ============================================================ */

.aero7hero { padding: clamp(22px, 5vw, 46px) var(--pad) 0; }
.aero7hero__head { max-width: 940px; margin: 0 auto clamp(18px, 3vw, 30px); text-align: center; }
.aero7eyebrow {
  margin: 0 0 10px; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; color: var(--accent2);
}
.aero7lead { font-size: clamp(15px, 1.7vw, 18px); color: var(--mute); }
.aero7lead span { color: var(--text); }

/* обёртка держит накладную строку quick-action */
.aero7shelf { position: relative; max-width: var(--wrap); margin: 0 auto; }

.aero7gal {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--gap);
}
.aero7gal__i {
  position: relative; overflow: hidden;
  background: var(--card); border: 1px solid var(--line); border-radius: var(--r);
  display: flex; flex-direction: column;
}
.aero7gal__i img {
  display: block; width: 100%; height: auto;
  aspect-ratio: 1 / 1; object-fit: cover; object-position: center;
}
.aero7gal__c { padding: 9px 11px 11px; }
.aero7gal__n {
  display: block; font-family: var(--f-head); font-size: 15px; line-height: 1.2; margin-bottom: 3px;
}
.aero7gal__m { display: block; font-size: 12px; color: var(--mute); line-height: 1.4; }
.aero7gal__b {
  position: absolute; top: 8px; left: 8px;
  padding: 3px 8px; border-radius: 999px; font-size: 11px; letter-spacing: .04em;
  background: color-mix(in srgb, var(--bg) 78%, transparent); color: var(--accent2);
  border: 1px solid var(--line);
}

/* строка quick-action: на мобиле — стек под сеткой, на десктопе — накладка поверх сетки */
.aero7qa {
  display: grid; gap: 10px; grid-template-columns: 1fr;
  margin: 16px 0 0; padding: 0; list-style: none;
}
.aero7qa__i {
  display: flex; flex-direction: column; gap: 4px;
  padding: 12px 14px; border-radius: var(--r);
  background: color-mix(in srgb, var(--bg2) 94%, var(--accent) 6%);
  border: 1px solid var(--line);
}
.aero7qa__t { margin: 0; font-size: 15px; }
.aero7qa__d { margin: 0; font-size: 13px; color: var(--mute); line-height: 1.45; }
.aero7qa__l {
  display: inline-flex; align-items: center; min-height: var(--tap);
  font-size: 14px; font-weight: 600; color: var(--accent);
}

.aero7hero__row {
  display: flex; flex-wrap: wrap; gap: 10px; justify-content: center;
  max-width: var(--wrap); margin: 18px auto 0;
}
.aero7kpi {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px;
  list-style: none; max-width: var(--wrap); margin: 18px auto 0; padding: 0;
}
.aero7kpi li {
  padding: 11px 13px; border-radius: var(--r);
  border: 1px solid var(--line); background: var(--card);
  font-size: 13px; color: var(--mute);
}
.aero7kpi span {
  display: block; font-family: var(--f-head); font-weight: 600;
  font-size: 20px; color: var(--text); margin-bottom: 2px;
}

/* ============================================================
   ПОЛОСЫ КОНТЕНТА
   ============================================================ */

.aero7band { padding: clamp(30px, 5.5vw, 62px) var(--pad); border-top: 1px solid var(--line); }
.aero7band:nth-of-type(even) { background: var(--bg2); }
.aero7band__h { max-width: 860px; margin: 0 0 clamp(16px, 2.6vw, 26px); }
.aero7num {
  display: inline-block; margin: 0 0 8px;
  font-family: var(--f-head); font-size: 12px; letter-spacing: .16em;
  color: var(--accent); text-transform: uppercase;
}
.aero7band__h p { color: var(--mute); font-size: 15px; }

/* welcome — ступени */
.aero7steps { display: grid; grid-template-columns: 1fr; gap: 12px; list-style: none; margin: 0; padding: 0; }
.aero7step {
  position: relative; padding: 16px 16px 16px 58px;
  border-radius: var(--r); background: var(--card); border: 1px solid var(--line);
}
.aero7step::before {
  content: attr(data-n);
  position: absolute; left: 14px; top: 14px;
  width: 32px; height: 32px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--f-head); font-size: 15px;
  color: var(--bg); background: var(--accent2);
}
.aero7step__t { margin: 0 0 6px; font-size: 17px; }
.aero7step p { font-size: 14px; color: var(--mute); }

/* три шага / карточки в ряд */
.aero7three { display: grid; grid-template-columns: 1fr; gap: 12px; }
.aero7box { padding: 16px; border-radius: var(--r); background: var(--card); border: 1px solid var(--line); }
.aero7box p { font-size: 14px; color: var(--mute); }
.aero7box h3 { margin-bottom: 8px; }

/* таблицы */
.aero7scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: var(--r); border: 1px solid var(--line); }
table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: 14px; background: var(--card); }
caption { text-align: left; padding: 12px 14px; color: var(--mute); font-size: 13px; }
th, td { padding: 11px 13px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: top; }
th { font-family: var(--f-head); font-weight: 600; color: var(--text); background: color-mix(in srgb, var(--bg) 55%, var(--card)); }
tbody tr:last-child td { border-bottom: 0; }
td:first-child { color: var(--accent2); white-space: nowrap; }

/* турнир */
.aero7tour { display: grid; grid-template-columns: 1fr; gap: 12px; }
.aero7tour__fund {
  padding: 18px; border-radius: var(--r);
  border: 1px solid var(--accent); background: color-mix(in srgb, var(--accent) 10%, var(--card));
}
.aero7tour__fund span { display: block; font-family: var(--f-head); font-size: clamp(26px, 4vw, 38px); color: var(--text); }
.aero7list { margin: 0; padding: 0 0 0 18px; font-size: 14px; color: var(--mute); }
.aero7list li { margin-bottom: 7px; }
.aero7list li:last-child { margin-bottom: 0; }

/* live */
.aero7live { display: grid; grid-template-columns: 1fr; gap: 12px; }

/* доступ — 6 H3 */
.aero7access { display: grid; grid-template-columns: 1fr; gap: 12px; }
.aero7access article { padding: 15px; border-radius: var(--r); border: 1px solid var(--line); background: var(--card); }
.aero7access p { font-size: 14px; color: var(--mute); }

/* отзывы */
.aero7revs { display: grid; grid-template-columns: 1fr; gap: 12px; }
.aero7rev { padding: 16px; border-radius: var(--r); background: var(--card); border-left: 3px solid var(--accent2); }
.aero7rev p { font-size: 14px; }
.aero7rev__w { margin-top: 10px; font-size: 13px; color: var(--mute); }

/* финальный CTA */
.aero7final { text-align: center; }
.aero7final .aero7band__h { margin-left: auto; margin-right: auto; }
.aero7final p { color: var(--mute); }

/* FAQ */
.aero7faq details {
  border: 1px solid var(--line); border-radius: var(--r);
  background: var(--card); margin-bottom: 9px; overflow: hidden;
}
.aero7faq summary {
  display: flex; align-items: center; min-height: var(--tap);
  padding: 11px 42px 11px 15px; cursor: pointer; position: relative;
  font-family: var(--f-head); font-size: 16px; list-style: none;
}
.aero7faq summary::-webkit-details-marker { display: none; }
.aero7faq summary::after {
  content: '+'; position: absolute; right: 15px; color: var(--accent2); font-size: 20px; line-height: 1;
}
.aero7faq details[open] summary::after { content: '–'; }
.aero7faq details[open] summary { color: var(--accent2); }
.aero7faq__a { padding: 0 15px 14px; font-size: 14px; color: var(--mute); }

/* author note */
.aero7author p { font-size: 14px; color: var(--mute); max-width: 900px; }

/* подвал */
.aero7foot { padding: clamp(26px, 4vw, 44px) var(--pad); border-top: 1px solid var(--line); background: var(--bg2); }
.aero7foot__g { display: grid; grid-template-columns: 1fr; gap: 18px; max-width: var(--wrap); margin: 0 auto; }
.aero7foot p { font-size: 13px; color: var(--mute); }
.aero7foot__t { margin-bottom: 6px; font-size: 15px; color: var(--text); }
.aero7foot__c { max-width: var(--wrap); margin: 20px auto 0; padding-top: 14px; border-top: 1px solid var(--line); font-size: 12px; color: var(--mute); }

/* ============================================================
   БРЕЙКПОИНТЫ. До 620 px — одна колонка во всех контентных
   контейнерах; исключение — сетка тайлов, она держит 2 колонки,
   тайл шириной в экран перестаёт читаться как галерея.
   ============================================================ */

@media (min-width: 620px) {
  .aero7gal { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .aero7qa { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aero7three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .aero7access { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aero7steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .aero7live { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .aero7kpi { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .aero7foot__g { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (min-width: 900px) {
  .aero7gal { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  /* строка quick-action ложится накладкой поверх нижнего ряда сетки */
  .aero7shelf { padding-bottom: 152px; }
  .aero7qa {
    position: absolute; left: 0; right: 0; bottom: 0; margin: 0;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: 12px; border-radius: var(--r);
    background: color-mix(in srgb, var(--bg) 82%, transparent);
    backdrop-filter: blur(12px);
    border: 1px solid var(--line);
    box-shadow: 0 -18px 46px color-mix(in srgb, var(--bg) 72%, transparent);
  }
  .aero7qa__i { background: transparent; border: 0; border-left: 1px solid var(--line); border-radius: 0; padding: 4px 12px; }
  .aero7qa__i:first-child { border-left: 0; }
  .aero7tour { grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr); align-items: start; }
  .aero7revs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .aero7access { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .aero7steps { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

.seo-intents{max-width:1180px;margin:24px auto;padding:16px 20px;color:var(--muted,inherit);font-size:.78rem;line-height:1.8}.seo-intents p{margin:0}@media(max-width:620px){.seo-intents{padding:14px}}
