@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@500;600;700;800&family=Inter:wght@400;500;600&display=swap');

/* ===== Пульс: яркий, градиентный, молодёжный ===== */
:root{
  --bg:#faf7ff; --bg-alt:#f3ecff; --surface:#ffffff; --surface-2:#f4eeff;
  --text:#1d1430; --muted:#6f6690; --border:#e9e0fa;
  --accent:#7c3aed; --accent-2:#db2777; --accent-contrast:#ffffff;
  --header-bg:rgba(250,247,255,.85); --header-text:#1d1430; --header-border:#e9e0fa;
  --footer-bg:#1a1030; --footer-text:#cdbff0;
  --star:#fbbf24; --star-empty:#ded2f3; --ring:rgba(124,58,237,.22);
  --radius:22px; --radius-lg:30px; --radius-sm:16px;
  --shadow:0 6px 20px rgba(124,58,237,.10); --shadow-lg:0 22px 50px rgba(124,58,237,.20);
  --font:'Inter',system-ui,sans-serif; --font-head:'Outfit',system-ui,sans-serif; --fw-head:700;
}
.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#f3ecff,#ffe9f3)}
.hero::before{content:'';position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,#a855f7,transparent 70%);opacity:.35;top:-120px;right:-50px}
.hero::after{content:'';position:absolute;width:300px;height:300px;border-radius:50%;background:radial-gradient(circle,#fb7185,transparent 70%);opacity:.30;bottom:-120px;left:8%}
.hero-inner{position:relative;z-index:1}
.hero-title{background:linear-gradient(90deg,#7c3aed,#db2777);-webkit-background-clip:text;background-clip:text;color:transparent;font-weight:800}
.brand-mark{background:linear-gradient(135deg,#7c3aed,#db2777);border-radius:14px}
.main-nav>a:not(.nav-cta){font-weight:600}
.nav-cta{border-radius:999px}
.btn{border-radius:999px;font-weight:700}
.btn-accent{background:linear-gradient(135deg,#7c3aed,#db2777);border:0}
.btn-accent:hover{background:linear-gradient(135deg,#6d28d9,#be185d)}
.cat-card:hover,.place-card:hover,.review-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.section-head h2{font-weight:700}
.rating-pill{border-radius:999px}
.rating-pill[data-score=high]{background:linear-gradient(135deg,#ede9fe,#fce7f3);color:#7c3aed}
.stat-num{background:linear-gradient(90deg,#7c3aed,#db2777);-webkit-background-clip:text;background-clip:text;color:transparent}
/* расположение: лучшие → свежие → категории → как это работает */
.home-top{order:1}.home-recent{order:2}.home-cats{order:3}.home-how{order:4}
.grid-cards{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}
.cats{grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
