
:root{--o:#e8631a;--o-soft:#fff2ea;--ink:#141821;--mut:#6b7480;--line:#e6e6e6;
  --bg:#f7f7f5;--white:#fff;--radius:16px;--shadow:0 1px 2px rgba(16,24,40,.05)}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font:16px/1.55 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  -webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
.wrap{max-width:1160px;margin:0 auto;padding:0 20px}
header{background:#101319;position:sticky;top:0;z-index:20}
.hd{display:flex;align-items:center;gap:24px;height:62px}
.logo{display:flex;align-items:center;gap:11px}
.logo img{width:40px;height:40px;border-radius:50%}
.wm{color:#fff;font-weight:800;font-size:19px;letter-spacing:-.4px;line-height:1}
.wm b{color:var(--o);font-weight:800}
.wm small{display:block;font-size:9.5px;letter-spacing:2.4px;color:#8c94a0;font-weight:600;
  margin-top:3px}
nav{margin-left:auto;display:flex;align-items:center;gap:20px}
nav a{color:#c6ccd6;font-size:14.5px;font-weight:500}
nav a:hover{color:#fff}
.call{display:inline-flex;align-items:center;gap:8px;background:var(--o);color:#fff;
  border-radius:12px;padding:11px 17px;font-weight:700;font-size:15px}
.call svg{width:16px;height:16px}
.hero{background:linear-gradient(160deg,#171b23,#0e1116);color:#fff;padding:52px 0 46px}
.hero h1{margin:0 0 10px;font-size:44px;line-height:1.08;letter-spacing:-1.4px}
.hero p{margin:0 0 8px;color:#aab2bd;font-size:18px}
.hero .cnt{font-size:15px;color:#8891a0;margin:0 0 20px}
.hero .cta{display:inline-flex;align-items:center;gap:9px;background:var(--o);color:#fff;
  border-radius:13px;padding:14px 22px;font-weight:700;font-size:16px}
.hero .cta:hover{background:#d2560f}
/* auto по бокам обязателен: .sect идёт в CSS ниже .wrap и с той же
   специфичностью, поэтому margin:38px 0 0 затирал бы у .wrap margin:0 auto —
   и вся страница переставала центрироваться, прилипая к левому краю. */
.sect{margin:38px auto 0}
.sect h2{font-size:23px;letter-spacing:-.5px;margin:0 0 13px}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);
  padding:22px 24px;box-shadow:var(--shadow)}
.card p{margin:0;font-size:16px;line-height:1.65;max-width:78ch}
.advs{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.adv svg{width:22px;height:22px;color:var(--o);margin-bottom:9px}
.adv b{display:block;font-size:17px;letter-spacing:-.2px;margin-bottom:5px}
.adv p{font-size:14.5px;color:var(--mut)}
.botcta{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
.botcta p{flex:1 1 320px;font-size:15.5px;color:var(--mut)}
.botcta a{display:inline-flex;align-items:center;gap:9px;background:#229ED9;color:#fff;
  border-radius:12px;padding:13px 20px;font-weight:600;font-size:15px;white-space:nowrap}
.botcta a:hover{background:#1b87ba}
.botcta a svg{width:17px;height:17px}
.lead{font-size:16px;line-height:1.6;color:var(--mut);max-width:76ch;margin:0 0 16px}
.cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px;
  margin-bottom:16px}
.cats a{background:var(--white);border:1px solid var(--line);border-radius:12px;
  padding:14px 15px;box-shadow:var(--shadow);transition:.15s;display:block}
.cats a:hover{border-color:var(--o);transform:translateY(-1px)}
.cats b{display:block;font-size:15px;letter-spacing:-.2px;margin-bottom:2px}
.cats i{font-style:normal;font-size:13px;color:var(--mut)}
.cityline{font-size:17px;letter-spacing:-.2px;margin:20px 0 10px}
.cityline:first-of-type{margin-top:0}
.allbtn{display:inline-flex;align-items:center;gap:9px;background:var(--o);color:#fff;
  border-radius:12px;padding:13px 20px;font-weight:700;font-size:15.5px}
.allbtn:hover{background:#d2560f}
.allbtn+.cityline{margin-top:26px}
.city{margin-bottom:14px}
.city h3{margin:0 0 3px;font-size:19px;letter-spacing:-.3px}
.city .go{display:inline-block;color:var(--o);font-weight:600;font-size:14.5px;
  margin-bottom:13px}
.city .soon{display:inline-block;color:var(--mut);font-size:13.5px;margin-bottom:13px}
.shops{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:12px}
.shop{border:1px solid var(--line);border-radius:13px;padding:15px 17px;background:var(--bg)}
.shop b{display:block;font-size:15px;margin-bottom:3px}
.shop .h{color:var(--mut);font-size:14px;margin-bottom:9px}
.shop .l{display:flex;gap:8px;flex-wrap:wrap}
.shop .l a{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;
  border:1px solid var(--line);border-radius:10px;padding:8px 12px;background:var(--white)}
.shop .l a.ph{background:var(--o);color:#fff;border-color:var(--o)}
.shop .l a.tg{background:#229ED9;color:#fff;border-color:#229ED9}
.shop .l a.tg:hover{background:#1b87ba;border-color:#1b87ba}
.shop .l svg{width:14px;height:14px}
footer{background:#101319;color:#8f97a3;margin-top:44px;padding:30px 0 34px;font-size:14px}
footer a{color:var(--o)}
footer .fnote{margin:14px 0 0;font-size:13px;color:#79818c;max-width:74ch}
@media(max-width:760px){
  .hero{padding:38px 0 34px}
  .hero h1{font-size:31px;letter-spacing:-1px}
  .hero p{font-size:16px}
  nav a{display:none}
  .hd{gap:12px}
  .card{padding:17px 18px}
  .sect h2{font-size:20px}
  /* на телефоне 15 категорий в одну колонку — это простыня, ставим две */
  .cats{grid-template-columns:repeat(2,1fr);gap:8px}
  .cats a{padding:12px 13px}
  .cats b{font-size:14px}
}
