/* Степнарий — общие стили страниц (тема «Ночная степь») */
:root {
  --bg:#0b0f15; --bg2:#10161e; --panel:#121922; --line:#2c3542; --line2:#3a4452;
  --ink:#e9e3d3; --hi:#f4efe2; --body:#d4d0c6; --mute:#8e97a4; --mute2:#b9c0ca;
  --gold:#d9b25c; --teal:#5fc8b8;
  --serif:"Brygada 1918", Georgia, serif; --sans:"Onest", system-ui, sans-serif; --mono:"IBM Plex Mono", ui-monospace, monospace;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--bg); color:var(--ink); font-family:var(--sans); font-size:16px; line-height:1.5; -webkit-font-smoothing:antialiased; }
a { color:var(--gold); }
a:focus-visible, button:focus-visible, input:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.cap { font-family:var(--mono); font-size:11.5px; letter-spacing:.2em; text-transform:uppercase; }
.wrap { max-width:1180px; margin:0 auto; padding:0 28px; }

/* buttons */
.btn { display:inline-flex; align-items:center; gap:10px; font-family:var(--sans); font-size:15px; font-weight:600; text-decoration:none; padding:14px 24px; border:1px solid var(--gold); background:var(--gold); color:var(--bg); cursor:pointer; }
.btn:hover { background:#e6c375; border-color:#e6c375; }
.btn.ghost { background:transparent; color:var(--ink); border-color:var(--line2); font-weight:500; }
.btn.ghost:hover { border-color:var(--gold); color:var(--hi); }

/* header */
.top { position:sticky; top:0; z-index:10; background:rgba(11,15,21,.94); border-bottom:1px solid var(--line); backdrop-filter:blur(6px); }
.top .wrap { height:64px; display:flex; align-items:center; gap:28px; }
.logo { text-decoration:none; display:flex; align-items:baseline; gap:12px; white-space:nowrap; }
.logo b { font-family:var(--serif); font-weight:600; font-size:21px; letter-spacing:.26em; color:var(--hi); }
.logo span { color:var(--gold); }
.nav { display:flex; gap:22px; margin-left:auto; font-size:14.5px; }
.nav a { color:var(--mute2); text-decoration:none; padding:6px 0; border-bottom:1px solid transparent; }
.nav a:hover { color:var(--hi); }
.nav a.on { color:var(--hi); border-bottom-color:var(--gold); }
.soon { font-family:var(--mono); font-size:9.5px; letter-spacing:.14em; color:var(--teal); border:1px solid rgba(95,200,184,.45); padding:1px 5px; margin-left:6px; vertical-align:2px; text-transform:uppercase; }

/* footer */
.foot { border-top:1px solid var(--line); margin-top:72px; }
.foot .wrap { padding-top:26px; padding-bottom:30px; display:flex; flex-wrap:wrap; gap:10px 28px; justify-content:space-between; font-size:13px; color:var(--mute); }
.foot a { color:var(--mute2); }

/* section headings */
.sec-h { display:flex; align-items:baseline; justify-content:space-between; gap:16px; margin:64px 0 22px; }
.sec-h h2 { margin:0; font-family:var(--serif); font-weight:600; font-size:30px; color:var(--hi); }
.sec-h a { font-size:14px; text-decoration:none; }

@media (max-width:760px) {
  .wrap { padding:0 18px; }
  .top .wrap { height:56px; gap:14px; }
  .logo b { font-size:16px; letter-spacing:.16em; } .logo span { display:none; }
  .nav { gap:14px; font-size:13px; }
  .nav .hide-sm { display:none; }
  .sec-h h2 { font-size:24px; }
}
