/* ============================================================
   7k-online27.xyz — концепт «Картографический стол»
   Префикс: .atlas-
   Заголовки: Literata (serif) · Текст: Commissioner (sans)
   ============================================================ */

:root {
  --atlas-bg: #0c1013;
  --atlas-surf: #141a1e;
  --atlas-surf2: #182026;
  --atlas-line: #20292f;
  --atlas-acc: #d8a24a;
  --atlas-acc-dim: #8a6526;
  --atlas-sea: #5b93c4;
  --atlas-sea-dim: #33546f;
  --atlas-tx: #e7eef2;
  --atlas-mut: #93a1ab;
  --atlas-r: 3px;
  --atlas-maxw: 1180px;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }

body {
  margin: 0;
  background: var(--atlas-bg);
  color: var(--atlas-tx);
  font-family: 'Commissioner', 'Segoe UI', system-ui, -apple-system, Arial, sans-serif;
  font-size: 16.5px;
  line-height: 1.68;
  font-weight: 380;
  letter-spacing: .002em;
  background-image:
    linear-gradient(var(--atlas-line) 1px, transparent 1px),
    linear-gradient(90deg, var(--atlas-line) 1px, transparent 1px);
  background-size: 88px 88px, 88px 88px;
  background-position: -1px -1px;
  background-attachment: fixed;
}

/* --- ЯВНЫЙ ЗАГОЛОВОЧНЫЙ ШРИФТ (serif только здесь) --- */
h1, h2, h3, h4,
.atlas-logo__t,
.atlas-kpi__v,
.atlas-num,
.atlas-step__t,
.atlas-tier__t,
.atlas-game__t,
.atlas-table__t,
.atlas-quote__n,
.atlas-faq summary {
  font-family: 'Literata', Georgia, 'Times New Roman', serif;
  font-weight: 600;
  letter-spacing: -.012em;
  line-height: 1.24;
}

h1 { font-size: clamp(1.72rem, 3.5vw, 2.62rem); margin: .18em 0 .5em; }
h2 { font-size: clamp(1.34rem, 2.4vw, 1.78rem); margin: 0 0 .62em; }
h3 { font-size: 1.06rem; margin: 0 0 .45em; }
h4 { font-size: .98rem; margin: 0 0 .35em; }
p  { margin: 0 0 1.05em; }

a { color: var(--atlas-sea); text-decoration: none; }
a:hover { color: var(--atlas-acc); }

ul { margin: 0 0 1.05em; padding-left: 1.1em; }
li { margin-bottom: .38em; }

.atlas-skip {
  position: absolute; left: -9999px; top: 0;
  background: var(--atlas-acc); color: #14100a; padding: 10px 16px; z-index: 99;
}
.atlas-skip:focus { left: 8px; top: 8px; }

.atlas-wrap { max-width: var(--atlas-maxw); margin: 0 auto; padding: 0 26px; }

/* ================= HEADER ================= */
.atlas-bar {
  position: sticky; top: 0; z-index: 40;
  display: flex; align-items: center; gap: 22px;
  padding: 13px 26px;
  background: rgba(12, 16, 19, .93);
  border-bottom: 1px solid var(--atlas-line);
  backdrop-filter: blur(9px);
}
.atlas-logo { display: flex; align-items: center; gap: 11px; color: var(--atlas-tx); }
.atlas-logo__svg { width: 36px; height: 36px; flex: none; }
.atlas-logo__t { font-size: 1.06rem; display: flex; flex-direction: column; }
.atlas-logo__sub {
  font-family: 'Commissioner', system-ui, sans-serif;
  font-size: .69rem; font-weight: 400; color: var(--atlas-mut);
  letter-spacing: .09em; text-transform: uppercase;
}
.atlas-nav { display: flex; gap: 19px; margin-left: auto; flex-wrap: wrap; }
.atlas-nav a {
  color: var(--atlas-mut); font-size: .845rem; letter-spacing: .045em;
  text-transform: uppercase; border-bottom: 1px solid transparent; padding-bottom: 2px;
}
.atlas-nav a:hover { color: var(--atlas-acc); border-bottom-color: var(--atlas-acc-dim); }

.atlas-cta {
  display: inline-block;
  background: linear-gradient(96deg, var(--atlas-acc), #c98c33);
  color: #16100a; font-weight: 600; font-size: .93rem;
  padding: 12px 24px; border-radius: var(--atlas-r);
  border: 1px solid #e6b665; letter-spacing: .01em;
}
.atlas-cta:hover { color: #16100a; filter: brightness(1.09); }
.atlas-cta--sm { padding: 9px 17px; font-size: .85rem; }
.atlas-cta--ghost {
  background: transparent; color: var(--atlas-sea);
  border: 1px solid var(--atlas-sea-dim); font-weight: 500;
}
.atlas-cta--ghost:hover { color: var(--atlas-tx); border-color: var(--atlas-sea); filter: none; }
.atlas-cta--card {
  display: block; width: 100%; text-align: center;
  background: transparent; color: var(--atlas-acc);
  border: 1px solid var(--atlas-acc-dim); font-weight: 500;
  font-size: .82rem; padding: 9px 12px; letter-spacing: .04em; margin-top: 11px;
}
.atlas-cta--card:hover { background: var(--atlas-acc); color: #16100a; border-color: var(--atlas-acc); filter: none; }
.atlas-ctarow { margin: 24px 0 0; }

/* ================= SECTION SHELL ================= */
.atlas-sec { padding: 62px 0 8px; }
.atlas-sec--tint { background: linear-gradient(180deg, rgba(20,26,30,.86), rgba(12,16,19,0)); }

.atlas-coord {
  display: inline-flex; align-items: center; gap: 9px;
  font-size: .705rem; letter-spacing: .17em; text-transform: uppercase;
  color: var(--atlas-acc); margin: 0 0 12px;
  font-variant-numeric: tabular-nums;
}
.atlas-coord::before {
  content: ''; width: 26px; height: 1px; background: var(--atlas-acc-dim); display: block;
}
.atlas-lead { color: var(--atlas-mut); max-width: 78ch; }
.atlas-lead--sp { margin-top: 22px; }

/* ================= HERO (2 колонки, SVG слева) ================= */
.atlas-hero { padding: 44px 0 22px; border-bottom: 1px solid var(--atlas-line); }
.atlas-hero__grid {
  display: grid; grid-template-columns: 0.86fr 1.14fr; gap: 46px; align-items: center;
}
.atlas-hero__art { width: 100%; height: auto; display: block; }
.atlas-chip {
  display: inline-block; font-size: .745rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--atlas-sea); border: 1px solid var(--atlas-sea-dim);
  padding: 5px 12px; border-radius: 2px; margin: 0 0 16px;
}
.atlas-hero__sub { color: var(--atlas-mut); max-width: 62ch; }
.atlas-hero__btns { display: flex; gap: 13px; flex-wrap: wrap; margin: 22px 0 26px; }

.atlas-kpi { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--atlas-line); border: 1px solid var(--atlas-line); }
.atlas-kpi__c { background: var(--atlas-surf); padding: 15px 14px; }
.atlas-kpi__v { display: block; font-size: 1.24rem; color: var(--atlas-acc); font-variant-numeric: tabular-nums; }
.atlas-kpi__k { display: block; font-size: .745rem; color: var(--atlas-mut); letter-spacing: .05em; margin-top: 3px; }

/* ================= CARDS ================= */
.atlas-cards { display: grid; gap: 17px; }
.atlas-cards--3 { grid-template-columns: repeat(3, 1fr); }
.atlas-cards--2 { grid-template-columns: repeat(2, 1fr); }

.atlas-card {
  background: var(--atlas-surf);
  border: 1px solid var(--atlas-line);
  border-top: 2px solid var(--atlas-sea-dim);
  border-radius: var(--atlas-r);
  padding: 20px 20px 16px;
}
.atlas-card--acc { border-top-color: var(--atlas-acc-dim); }
.atlas-card p:last-child { margin-bottom: 0; }
.atlas-card__meta {
  font-size: .78rem; color: var(--atlas-mut); font-variant-numeric: tabular-nums;
  border-top: 1px dashed var(--atlas-line); padding-top: 9px; margin-top: 11px;
}
.atlas-num {
  display: inline-block; font-size: .78rem; color: var(--atlas-acc);
  letter-spacing: .12em; margin-bottom: 7px;
}

/* --- шаги пакета --- */
.atlas-step { position: relative; padding-left: 46px; }
.atlas-step__i {
  position: absolute; left: 0; top: 2px; width: 32px; height: 32px;
  border: 1px solid var(--atlas-acc-dim); border-radius: 50%;
  display: grid; place-items: center; color: var(--atlas-acc);
  font-size: .86rem; font-variant-numeric: tabular-nums;
}
.atlas-step__t { font-size: 1.02rem; margin: 0 0 .35em; }

/* ================= CATALOG 12 ================= */
.atlas-games { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; }
.atlas-game {
  background: linear-gradient(168deg, var(--atlas-surf2), var(--atlas-surf));
  border: 1px solid var(--atlas-line); border-radius: var(--atlas-r);
  padding: 16px 17px 14px;
}
.atlas-game__t { font-size: 1rem; margin: 0 0 3px; }
.atlas-game__st { display: block; font-size: .755rem; color: var(--atlas-sea); letter-spacing: .06em; margin-bottom: 9px; }
.atlas-game p { font-size: .895rem; color: var(--atlas-mut); margin: 0 0 10px; }
.atlas-game__row {
  display: flex; flex-wrap: wrap; gap: 6px 14px;
  font-size: .765rem; color: var(--atlas-tx); font-variant-numeric: tabular-nums;
  border-top: 1px solid var(--atlas-line); padding-top: 9px;
}
.atlas-game__row span + span { border-left: 1px solid var(--atlas-line); padding-left: 14px; }

/* ================= LIVE 6 ================= */
.atlas-live { display: grid; grid-template-columns: repeat(2, 1fr); gap: 15px; }
.atlas-table {
  display: flex; gap: 15px; align-items: flex-start;
  background: var(--atlas-surf); border: 1px solid var(--atlas-line);
  border-left: 3px solid var(--atlas-acc-dim); border-radius: var(--atlas-r);
  padding: 16px 18px;
}
.atlas-table__ico { width: 38px; height: 38px; flex: none; }
.atlas-table__t { font-size: .99rem; margin: 0 0 2px; }
.atlas-table__st { font-size: .755rem; color: var(--atlas-sea); letter-spacing: .06em; }
.atlas-table p { font-size: .885rem; color: var(--atlas-mut); margin: 7px 0 0; }
.atlas-table__lim { display: block; font-size: .77rem; color: var(--atlas-tx); margin-top: 8px; font-variant-numeric: tabular-nums; }

/* ================= ROUTE / VIP ================= */
.atlas-scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.atlas-route {
  display: grid; grid-template-columns: repeat(6, minmax(168px, 1fr));
  gap: 1px; background: var(--atlas-line); border: 1px solid var(--atlas-line); min-width: 620px;
}
.atlas-tier { background: var(--atlas-surf); padding: 17px 15px; position: relative; }
.atlas-tier::before {
  content: ''; position: absolute; top: 0; left: 0; height: 2px; width: 100%;
  background: linear-gradient(90deg, var(--atlas-sea-dim), var(--atlas-acc));
  opacity: .28;
}
.atlas-tier--top::before { opacity: 1; }
.atlas-tier__t { font-size: 1.02rem; margin: 0 0 4px; color: var(--atlas-acc); }
.atlas-tier__c { font-size: 1.42rem; font-variant-numeric: tabular-nums; display: block; margin: 4px 0 6px; }
.atlas-tier__d { font-size: .795rem; color: var(--atlas-mut); font-variant-numeric: tabular-nums; }

/* ================= TABLE (касса) ================= */
.atlas-grid {
  width: 100%; border-collapse: collapse; font-size: .885rem; min-width: 620px;
  font-variant-numeric: tabular-nums;
}
.atlas-grid caption { text-align: left; color: var(--atlas-mut); font-size: .8rem; padding-bottom: 9px; }
.atlas-grid th, .atlas-grid td { padding: 11px 13px; border-bottom: 1px solid var(--atlas-line); text-align: left; }
.atlas-grid th {
  color: var(--atlas-acc); font-weight: 500; font-size: .755rem;
  letter-spacing: .1em; text-transform: uppercase; border-bottom-color: var(--atlas-acc-dim);
}
.atlas-grid tbody tr:hover { background: var(--atlas-surf); }

/* ================= REVIEWS ================= */
.atlas-quote {
  background: var(--atlas-surf); border: 1px solid var(--atlas-line);
  border-radius: var(--atlas-r); padding: 19px 20px; margin: 0;
}
.atlas-quote__s { color: var(--atlas-acc); letter-spacing: .22em; font-size: .82rem; }
.atlas-quote p { font-size: .93rem; margin: 9px 0 12px; }
.atlas-quote__n { display: block; font-size: .9rem; }
.atlas-quote__g { display: block; font-size: .775rem; color: var(--atlas-mut); }

/* ================= FAQ ================= */
.atlas-faq { display: grid; gap: 9px; }
.atlas-faq details {
  background: var(--atlas-surf); border: 1px solid var(--atlas-line);
  border-radius: var(--atlas-r); padding: 2px 18px;
}
.atlas-faq summary {
  cursor: pointer; padding: 14px 0; font-size: .99rem; list-style: none;
  display: flex; justify-content: space-between; gap: 14px; align-items: flex-start;
}
.atlas-faq summary::-webkit-details-marker { display: none; }
.atlas-faq summary::after { content: '+'; color: var(--atlas-acc); font-size: 1.3rem; line-height: 1; }
.atlas-faq details[open] summary::after { content: '−'; }
.atlas-faq details[open] summary { border-bottom: 1px solid var(--atlas-line); }
.atlas-faq p { font-size: .905rem; color: var(--atlas-mut); padding: 12px 0 4px; margin: 0; }

/* ================= AUTHOR NOTE ================= */
.atlas-note {
  border: 1px solid var(--atlas-line); border-left: 3px solid var(--atlas-sea);
  background: var(--atlas-surf); border-radius: var(--atlas-r);
  padding: 24px 26px; margin: 46px 0 0;
}
.atlas-note p { font-size: .9rem; color: var(--atlas-mut); }
.atlas-note p:last-child { margin-bottom: 0; }

/* ================= FOOTER ================= */
.atlas-foot {
  margin-top: 58px; border-top: 1px solid var(--atlas-line);
  background: #0a0e10; padding: 34px 0 42px;
}
.atlas-foot p { font-size: .83rem; color: var(--atlas-mut); max-width: 92ch; }
.atlas-foot__age {
  display: inline-grid; place-items: center; width: 38px; height: 38px;
  border: 1px solid var(--atlas-acc-dim); border-radius: 50%;
  color: var(--atlas-acc); font-size: .82rem; margin-bottom: 13px;
}

/* ================= АДАПТИВ ================= */
@media (max-width: 1080px) {
  .atlas-hero__grid { grid-template-columns: 1fr 1fr; gap: 30px; }
  .atlas-games { grid-template-columns: repeat(2, 1fr); }
  .atlas-cards--3 { grid-template-columns: repeat(2, 1fr); }
  body { background-size: 66px 66px, 66px 66px; }
}

@media (max-width: 860px) {
  .atlas-bar { flex-wrap: wrap; gap: 12px; padding: 11px 18px; }
  .atlas-nav { order: 3; width: 100%; margin-left: 0; gap: 14px; }
  .atlas-hero__grid { grid-template-columns: 1fr; gap: 24px; }
  .atlas-hero__art { max-width: 420px; margin: 0 auto; }
  .atlas-kpi { grid-template-columns: repeat(2, 1fr); }
  .atlas-live { grid-template-columns: 1fr; }
  .atlas-wrap { padding: 0 18px; }
  .atlas-sec { padding: 46px 0 6px; }
}

@media (max-width: 620px) {
  body { font-size: 16px; background-size: 48px 48px, 48px 48px; }
  .atlas-games, .atlas-cards--3, .atlas-cards--2 { grid-template-columns: 1fr; }
  .atlas-kpi { grid-template-columns: 1fr; }
  .atlas-hero__btns .atlas-cta { width: 100%; text-align: center; }
  .atlas-note { padding: 19px 18px; }
  .atlas-table { flex-direction: column; }
  h1 { font-size: 1.62rem; }
}
