/* City landings (mos77.ru) — часть 1: каркас, hero, статус */
.cl-page{width:100%!important;max-width:100%!important;margin:0!important;padding:0 0 60px!important;box-sizing:border-box;--cl-accent:#0284c7;--cl-ink:#0f172a;--cl-muted:#64748b;--cl-line:#e2e8f0}
.cl-page *{box-sizing:border-box}
.cl-crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;color:var(--cl-muted);margin:4px 0 14px}
.cl-crumbs a{color:var(--cl-muted);text-decoration:none}
.cl-crumbs a:hover{color:var(--cl-accent)}
.cl-crumbs strong{color:var(--cl-ink);font-weight:700}
.cl-hero{position:relative;overflow:hidden;border-radius:24px;padding:34px 30px;color:#fff;margin-bottom:18px;background:linear-gradient(135deg,var(--cl-accent) 0%,#0f172a 85%);box-shadow:0 18px 40px rgba(15,23,42,.18)}
.cl-hero:after{content:"";position:absolute;right:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 70%);animation:cl-float 8s ease-in-out infinite}
.cl-hero__badge{display:inline-flex;gap:6px;padding:5px 12px;border-radius:999px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);backdrop-filter:blur(8px);font-size:12px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:14px}
.cl-hero__title{position:relative;z-index:1;font-size:clamp(22px,3.2vw,32px);font-weight:900;line-height:1.2;margin:0 0 10px;color:#fff}
.cl-hero__sub{position:relative;z-index:1;margin:0;font-size:15.5px;line-height:1.55;color:#e2e8f0;max-width:760px}
.cl-live{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;align-items:center;padding:18px 22px;border-radius:18px;border:1.5px solid var(--cl-line);background:#fff;margin-bottom:18px;box-shadow:0 6px 18px rgba(15,23,42,.05)}
.cl-live__main{display:flex;gap:14px;align-items:center}
.cl-live__dot{width:14px;height:14px;border-radius:50%;flex-shrink:0;background:#16a34a;box-shadow:0 0 0 0 rgba(22,163,74,.5);animation:cl-pulse 1.8s infinite}
.cl-live__text{font-size:18px;font-weight:900;color:var(--cl-ink)}
.cl-live__sub{font-size:13.5px;color:var(--cl-muted);margin-top:2px}
.cl-live__chips{display:flex;flex-wrap:wrap;gap:8px}
.cl-chip{font-size:13px;padding:7px 12px;border-radius:10px;background:#f8fafc;border:1px solid var(--cl-line);color:#334155}
.cl-chip b{color:var(--cl-ink)}
.cl-live__note{flex-basis:100%;margin:0;font-size:13px;color:var(--cl-muted)}
.cl-live--open{border-color:#bbf7d0;background:linear-gradient(90deg,#f0fdf4,#fff 60%)}
.cl-live--closed{border-color:#fecaca;background:linear-gradient(90deg,#fef2f2,#fff 60%)}
.cl-live--closed .cl-live__dot{background:#dc2626;animation:none}
.cl-live--warn{border-color:#fde68a;background:linear-gradient(90deg,#fffbeb,#fff 60%)}
.cl-live--warn .cl-live__dot{background:#f59e0b;box-shadow:0 0 0 0 rgba(245,158,11,.5)}
.cl-live--info{border-color:#bfdbfe;background:linear-gradient(90deg,#eff6ff,#fff 60%)}
.cl-live--info .cl-live__dot{background:#2563eb;box-shadow:0 0 0 0 rgba(37,99,235,.5)}
@keyframes cl-pulse{0%{box-shadow:0 0 0 0 rgba(22,163,74,.45)}70%{box-shadow:0 0 0 12px rgba(22,163,74,0)}100%{box-shadow:0 0 0 0 rgba(22,163,74,0)}}
@keyframes cl-float{0%,100%{transform:translateY(0)}50%{transform:translateY(18px)}}

/* City landings (mos77.ru) — часть 2: контент, FAQ, карточки */
.cl-answer{border-radius:18px;padding:22px 24px;margin-bottom:22px;background:#fff;border:1.5px solid var(--cl-line);border-left:5px solid var(--cl-accent);box-shadow:0 6px 18px rgba(15,23,42,.04)}
.cl-answer__badge{display:inline-block;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--cl-accent);margin-bottom:8px}
.cl-answer__lead{font-size:16px;line-height:1.6;color:#1e293b;margin:0 0 16px}
.cl-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:0}
.cl-fact{padding:12px 14px;border-radius:12px;background:#f8fafc;border:1px solid var(--cl-line)}
.cl-fact dt{font-size:12px;color:var(--cl-muted);margin-bottom:3px}
.cl-fact dd{margin:0;font-size:14.5px;font-weight:800;color:var(--cl-ink);line-height:1.35}
.cl-section,.cl-tips,.cl-faq,.cl-related,.cl-network{margin:0 0 24px}
.cl-page h2{font-size:21px;font-weight:900;color:var(--cl-ink);margin:0 0 12px;line-height:1.3}
.cl-section p{font-size:15.5px;line-height:1.65;color:#334155;margin:0 0 12px}
.cl-list{margin:0 0 12px;padding-left:22px}
.cl-list li{font-size:15px;line-height:1.6;color:#334155;margin-bottom:6px}
.cl-list--steps{list-style:none;padding:0;counter-reset:s}
.cl-list--steps li{counter-increment:s;position:relative;padding:12px 14px 12px 52px;border-radius:12px;background:#fff;border:1px solid var(--cl-line);margin-bottom:8px}
.cl-list--steps li:before{content:counter(s);position:absolute;left:14px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;background:var(--cl-accent);color:#fff;font-weight:900;font-size:13px;display:flex;align-items:center;justify-content:center}
.cl-tips{padding:20px 22px;border-radius:18px;background:linear-gradient(135deg,#fffbeb,#fff);border:1.5px solid #fde68a}
.cl-tips ul{margin:0;padding-left:20px}
.cl-tips li{font-size:15px;line-height:1.6;color:#422006;margin-bottom:6px}
.cl-place{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:18px 22px;border-radius:18px;background:#0f172a;color:#fff;margin-bottom:24px}
.cl-place__label{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#94a3b8;font-weight:800}
.cl-place__addr{font-size:17px;font-weight:800;margin-top:2px}
.cl-place__meta{font-size:13.5px;color:#cbd5e1;margin-top:4px}
.cl-place__btns{display:flex;flex-wrap:wrap;gap:8px}
.cl-btn{display:inline-flex;align-items:center;padding:11px 18px;border-radius:12px;font-size:14px;font-weight:800;text-decoration:none;color:#fff;border:1px solid rgba(255,255,255,.3);transition:transform .15s,background .15s}
.cl-btn:hover{transform:translateY(-2px);background:rgba(255,255,255,.1);color:#fff}
.cl-btn--primary{background:var(--cl-accent);border-color:var(--cl-accent)}
.cl-btn--primary:hover{background:var(--cl-accent);filter:brightness(1.1)}
.cl-faq__item{border:1.5px solid var(--cl-line);border-radius:14px;background:#fff;margin-bottom:8px;transition:border-color .15s}
.cl-faq__item[open]{border-color:var(--cl-accent)}
.cl-faq__item summary{cursor:pointer;list-style:none;padding:15px 44px 15px 18px;font-weight:800;font-size:15.5px;color:var(--cl-ink);position:relative}
.cl-faq__item summary::-webkit-details-marker{display:none}
.cl-faq__item summary:after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:22px;color:var(--cl-accent);transition:transform .2s}
.cl-faq__item[open] summary:after{transform:translateY(-50%) rotate(45deg)}
.cl-faq__item p{margin:0;padding:0 18px 16px;font-size:15px;line-height:1.6;color:#334155}
.cl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}
.cl-card{display:flex;flex-direction:column;gap:6px;padding:16px 18px;border-radius:16px;background:#fff;border:1.5px solid var(--cl-line);text-decoration:none;transition:transform .15s,border-color .15s,box-shadow .15s}
.cl-card:hover{transform:translateY(-3px);border-color:var(--cl-accent);box-shadow:0 10px 24px rgba(15,23,42,.08)}
.cl-card strong{font-size:16px;color:var(--cl-ink)}
.cl-card span{font-size:13.5px;line-height:1.5;color:var(--cl-muted)}
.cl-card em{font-style:normal;font-size:13px;font-weight:800;color:var(--cl-accent);margin-top:auto}
.cl-card--hub{background:linear-gradient(135deg,#f8fafc,#fff)}
.cl-network__list{display:flex;flex-wrap:wrap;gap:8px}
.cl-network__list a{padding:9px 14px;border-radius:999px;background:#f1f5f9;border:1px solid var(--cl-line);font-size:14px;font-weight:700;color:#1e293b;text-decoration:none;transition:background .15s}
.cl-network__list a:hover{background:#e2e8f0}
.cl-network__list small{color:var(--cl-muted);font-weight:500}
.cl-updated{font-size:12.5px;color:var(--cl-muted);margin:10px 0 0}
.csp-guides{margin:0 0 30px}
@media (max-width:640px){.cl-hero{padding:26px 20px;border-radius:20px}.cl-live,.cl-answer,.cl-place,.cl-tips{padding:16px}.cl-facts{grid-template-columns:1fr 1fr}}
@media (prefers-reduced-motion:reduce){.cl-hero:after,.cl-live__dot{animation:none}}
