/* ГдеБензин95 — тёмная тема. Свои классы (префикс g-). */
:root{
  --bg:#0b0f14; --bg2:#111823; --card:#151d29; --card2:#1a2431;
  --line:#243040; --text:#e7edf5; --dim:#93a2b6; --dim2:#6c7d92;
  --acc:#33d17a; --acc2:#1f9e5a; --gold:#ffcf4d; --red:#ff5c5c; --orange:#ff9f45;
  --r:16px; --shadow:0 12px 40px -22px rgba(0,0,0,.9);
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:radial-gradient(1200px 600px at 80% -10%,#13233a 0%,transparent 60%),var(--bg);
  color:var(--text);font-family:'Onest',-apple-system,'Segoe UI',Roboto,sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}
a{color:var(--acc);text-decoration:none}
a:hover{color:#5ee39a}
.wrap{max-width:1080px;margin:0 auto;padding:0 18px}
.dim{color:var(--dim)}.tiny{font-size:12.5px;color:var(--dim2)}

/* шапка */
.top{position:sticky;top:0;z-index:20;background:rgba(11,15,20,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.top .in{display:flex;align-items:center;gap:12px;height:62px}
.brand{display:flex;align-items:center;gap:10px;color:var(--text)}
.logo{width:38px;height:38px;border-radius:11px;background:linear-gradient(150deg,#33d17a,#149a53);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 22px -10px rgba(51,209,122,.7)}
.brand b{font-size:16.5px;letter-spacing:-.2px}
.brand b i{color:var(--gold);font-style:normal}
.brand .sub{font-size:11px;color:var(--dim2)}
.nav{margin-left:auto;display:flex;align-items:center;gap:16px}
.nav a{font-size:13.5px;font-weight:600;color:var(--dim)}
.nav a:hover{color:var(--text)}
.cta{display:inline-flex;align-items:center;gap:7px;background:var(--acc);color:#06210f!important;border-radius:11px;padding:9px 15px;font-weight:800;font-size:13.5px}
.cta:hover{background:#48e08c}
@media(max-width:620px){.nav a:not(.cta){display:none}}

/* герой */
.hero{padding:52px 0 26px}
.badge{display:inline-flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:6px 13px;font-size:12.5px;color:var(--dim);margin-bottom:16px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 4px rgba(51,209,122,.18)}
h1{font-size:38px;line-height:1.12;letter-spacing:-.6px;margin:0 0 14px;font-weight:800}
h1 .g{color:var(--gold)}
.lead{font-size:17px;color:var(--dim);max-width:620px;margin:0 0 22px}
.btns{display:flex;gap:10px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;border-radius:13px;padding:13px 22px;font-weight:800;font-size:15px}
.btn.p{background:var(--acc);color:#06210f;box-shadow:0 14px 34px -16px rgba(51,209,122,.8)}
.btn.p:hover{background:#48e08c}
.btn.g{background:var(--card);border:1px solid var(--line);color:var(--text)}
.btn.g:hover{border-color:#33445a}
.btn.vk{background:#0077ff;color:#fff;box-shadow:0 14px 34px -16px rgba(0,119,255,.85)}
.btn.vk:hover{background:#2b8bff;color:#fff}
.btn.vk svg{width:20px;height:20px;flex:none}

/* статистика-полоса */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:28px 0}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px}
.stat .v{font-size:26px;font-weight:800}
.stat .k{font-size:12.5px;color:var(--dim);margin-top:2px}
@media(max-width:640px){.stats{grid-template-columns:1fr 1fr}h1{font-size:29px}.lead{font-size:15.5px}}

/* секции / карточки */
section{padding:26px 0}
h2{font-size:22px;letter-spacing:-.3px;margin:0 0 6px}
.sub2{color:var(--dim);margin:0 0 18px;font-size:14.5px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;box-shadow:var(--shadow)}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:840px){.grid3{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.grid3,.grid2{grid-template-columns:1fr}}

/* сетка городов */
.cities{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.city{display:flex;align-items:center;justify-content:space-between;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;color:var(--text)}
.city:hover{border-color:var(--acc2);background:var(--card2);color:var(--text)}
.city .n{font-weight:700;font-size:14.5px}
.city .c{font-size:12px;color:var(--dim2);background:var(--bg2);border-radius:999px;padding:2px 9px}
@media(max-width:840px){.cities{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.cities{grid-template-columns:1fr}}

/* пилюли/бейджи */
.pill{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:700}
.pill.ok{background:rgba(51,209,122,.14);color:var(--acc)}
.pill.warn{background:rgba(255,159,69,.14);color:var(--orange)}
.pill.no{background:rgba(255,92,92,.14);color:var(--red)}
.pill.n{background:var(--bg2);color:var(--dim)}
.chips{display:flex;flex-wrap:wrap;gap:7px}
.chip{background:var(--bg2);border:1px solid var(--line);border-radius:9px;padding:5px 10px;font-size:12.5px;color:var(--dim)}
.chip b{color:var(--text)}

/* строки-списки */
.row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.row:last-child{border-bottom:none}
.row .nm{flex:1;min-width:0}
.row .nm b{display:block;font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .nm span{font-size:12.5px;color:var(--dim2)}
.bar{height:8px;border-radius:6px;background:var(--bg2);overflow:hidden;flex:1;max-width:160px}
.bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#1f9e5a,#33d17a)}

/* контент/тексты */
.prose{font-size:15px;color:#cdd8e6}
.prose h3{font-size:16.5px;margin:20px 0 8px;color:var(--text)}
.prose p{margin:0 0 12px}
.prose ul{margin:0 0 12px;padding-left:20px}
.prose li{margin:4px 0}
.crumbs{font-size:12.5px;color:var(--dim2);padding:16px 0 0}
.crumbs a{color:var(--dim)}

/* футер */
.foot{border-top:1px solid var(--line);background:var(--bg2);margin-top:30px}
.foot .in{padding:26px 0;display:flex;gap:16px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--dim)}
.foot a{color:var(--dim)}.foot a:hover{color:var(--text)}
.foot .sp{margin-left:auto}
.disc{font-size:11.5px;color:var(--dim2);margin-top:10px;line-height:1.5}
@media(max-width:640px){.foot .sp{margin-left:0;width:100%}}
