/* ============================================================================
   СФЕРА РАБОТ — worksphere.ru | ОСНОВНОЙ STYLE.CSS
   Бело-чёрно-красная редакционная тема. Грузится асинхронно после critical.css.
   Палитра: чистый белый фон, чернильный текст, ЧЁРНЫЙ — основной интерактив
   (кнопки/плитки иконок), КРАСНЫЙ — фирменный акцент (линии, штрихи, ховеры).
   Чистая типографика (Montserrat + Golos Text), тонкие границы, мягкие тени,
   БЕЗ glassmorphism и blur-фильтров. Hover — только у кликабельных элементов.
   Фирменные приёмы: красная линия сверху карточек, чёрные плитки иконок,
   красный штрих у надзаголовков, красная подчёркивающая линия у кнопок,
   тёмный финальный блок. Lighthouse 100.
   Имена селекторов/переменных и подключения шрифтов СОХРАНЕНЫ.
   ============================================================================ */
:root{
  --bg:#ffffff;--bg-soft:#f6f5f2;--surface:#ffffff;--surface-2:#faf9f7;--surface-3:#f3f1ec;
  --text:#1b1b1b;--text-strong:#0d0d0d;--text-dim:#595959;--text-mute:#8a8a86;
  /* бренд: чёрный — основной, красный — акцент */
  --ink:#0d0d0d;--ink-2:#2b2b2b;
  --red:#e0182b;--red-strong:#c1101f;--red-soft:rgba(224,24,43,.08);--red-border:rgba(224,24,43,.26);
  /* legacy-токены акцента переведены в чернильную гамму */
  --accent:#0d0d0d;--accent-strong:#000000;--accent-soft:#f3f1ec;--accent-border:#dcd9d2;
  --accent-2:#0d0d0d;--brand:#0d0d0d;--brand-2:#000000;
  --success:#e0182b;--success-soft:rgba(224,24,43,.08);--warn:#c2410c;--warn-soft:#fbede4;
  --line:#e8e6e1;--line-2:#d8d5ce;--ring:rgba(224,24,43,.30);
  --r-sm:6px;--r-md:10px;--r-lg:13px;--r-xl:16px;--r-2xl:20px;--r-full:999px;
  --shadow-1:0 1px 2px rgba(13,13,13,.05);
  --shadow-2:0 2px 10px rgba(13,13,13,.07),0 1px 2px rgba(13,13,13,.05);
  --shadow-3:0 16px 40px rgba(13,13,13,.12),0 4px 12px rgba(13,13,13,.06);
  --shadow-blue:0 8px 22px rgba(13,13,13,.16);
  --container:1200px;--container-px:clamp(20px,4vw,44px);--header-h:68px;
  --font-display:"Unbounded","Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --font-head:"Montserrat",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  --font-body:"Golos Text",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
}

/* ---------------- ОБЩАЯ РАЗМЕТКА ---------------- */
main{display:block}
.page-wrap{max-width:var(--container);margin:0 auto;padding:10px var(--container-px) 48px}
.section{max-width:var(--container);margin:0 auto;padding:clamp(40px,5.5vw,72px) var(--container-px)}
.divider{max-width:var(--container);margin:0 auto;height:1px;background:linear-gradient(90deg,transparent,var(--line-2) 18%,var(--line-2) 82%,transparent)}
.section-head{margin-bottom:40px}
.section-head-center{text-align:center;display:flex;flex-direction:column;align-items:center;gap:14px}
/* надзаголовок — красный штрих + чернильный капс (без «пилюли») */
.section-eyebrow{display:inline-flex;align-items:center;gap:10px;padding:0;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--text-strong);background:transparent;border:0;border-radius:0}
.section-eyebrow::before{content:"";width:24px;height:2px;background:var(--red);border-radius:2px;flex-shrink:0}
.section h2,.cardstexts h2,.faq-section h2,.related-cities h2,.local-info h2{font-family:var(--font-head);font-size:clamp(25px,3vw,40px);font-weight:700;letter-spacing:-.022em;color:var(--text-strong);line-height:1.14}
.section-sub{font-size:clamp(15.5px,1.3vw,18px);color:var(--text-dim);max-width:66ch;margin:0 auto;line-height:1.65}

/* ---------------- СЧЁТЧИКИ ---------------- */
.stats-bar{max-width:var(--container);margin:0 auto;padding:10px var(--container-px)}
.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.stat-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:28px 24px;text-align:center;box-shadow:var(--shadow-1)}
.stat-icon{width:52px;height:52px;margin:0 auto 16px;display:grid;place-items:center;border-radius:13px;background:var(--ink);color:#fff}
.stat-num{font-family:var(--font-head);font-size:clamp(28px,3vw,40px);font-weight:800;color:var(--text-strong);line-height:1;letter-spacing:-.02em;display:flex;justify-content:center;align-items:baseline;gap:2px}
.stat-plus{color:var(--red)}
.stat-label{margin-top:10px;font-size:12.5px;color:var(--text-mute);font-weight:600;text-transform:uppercase;letter-spacing:.04em}

/* ---------------- ФОРМАТЫ РАБОТЫ ---------------- */
.formats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.format-card{position:relative;overflow:hidden;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:28px;box-shadow:var(--shadow-1);transition:border-color .16s ease,box-shadow .16s ease}
.format-card::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--red)}
.format-card:hover{border-color:var(--ink);box-shadow:var(--shadow-2)}

.format-card-accent{background:linear-gradient(180deg,var(--bg-soft),var(--surface));border-color:var(--line-2)}
.format-card-accent::before{width:100%}
.format-icon{width:52px;height:52px;display:grid;place-items:center;border-radius:13px;background:var(--ink);color:#fff;margin-bottom:18px}
.format-card-accent .format-icon{background:var(--ink);color:#fff}
.format-card h3{font-family:var(--font-head);font-size:18.5px;font-weight:700;color:var(--text-strong);margin-bottom:9px}
.format-card p{font-size:14.5px;color:var(--text-dim);line-height:1.6;flex:1}
.format-link{display:inline-flex;align-items:center;gap:6px;margin-top:18px;font-size:14px;font-weight:700;color:var(--red)}


/* ---------------- ПРЕИМУЩЕСТВА ---------------- */
.advantages-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.adv-card{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:26px;box-shadow:var(--shadow-1);transition:border-color .16s ease,box-shadow .16s ease}
.adv-card::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--red)}
.adv-card:hover{border-color:var(--ink);box-shadow:var(--shadow-2)}

.adv-icon{width:46px;height:46px;display:grid;place-items:center;border-radius:12px;background:var(--ink);color:#fff;margin-bottom:16px}
.adv-card-top{font-family:var(--font-head);font-size:17px;font-weight:700;color:var(--text-strong);margin-bottom:9px}
.adv-card-bottom p{font-size:14.5px;color:var(--text-dim);line-height:1.6}

/* ---------------- ЗАГОЛОВКИ СЕКЦИЙ КАРТОЧЕК ---------------- */
.cardstexts{max-width:var(--container);margin:0 auto;padding:clamp(32px,4vw,52px) var(--container-px) 8px;text-align:center}
.cardstexts .section-head{margin-bottom:0}
.formstexts{font-family:var(--font-head)}

/* ---------------- КАРТОЧКИ ВАКАНСИЙ ---------------- */
.cards{max-width:var(--container);margin:0 auto;padding:28px var(--container-px) 8px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.job-card{position:relative;overflow:hidden;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:24px;box-shadow:var(--shadow-1);transition:border-color .16s ease,box-shadow .16s ease}
.job-card::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--red)}
.job-card:hover{border-color:var(--ink);box-shadow:var(--shadow-2)}

.card-photo{width:56px;height:56px;border-radius:13px;object-fit:cover;border:1px solid var(--line);margin-bottom:16px}
.job-card-head{margin-bottom:12px}
.job-title{font-family:var(--font-head);font-size:18px;font-weight:700;color:var(--text-strong);line-height:1.3;letter-spacing:-.01em}
.job-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.job-card-type,.job-card-city{display:inline-flex;align-items:center;gap:5px;padding:4px 11px;font-size:12.5px;font-weight:600;border-radius:var(--r-full)}
.job-card-type{color:var(--ink-2);background:var(--surface-3);border:1px solid var(--line)}
.job-card-city{color:var(--text-dim);background:var(--surface-3)}
.job-schedule{display:flex;align-items:center;gap:8px;font-size:14px;color:var(--text-dim);margin-bottom:9px}
.job-schedule svg{color:var(--text-mute);flex-shrink:0}
.job-salary,.vac-salary{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-head);font-size:18px;font-weight:800;color:var(--text-strong);margin-bottom:13px}
.salary-period{font-family:var(--font-body);font-size:13px;font-weight:500;color:var(--text-mute)}
.badges,.vac-badges{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}
.badge{display:inline-flex;align-items:center;padding:4px 11px;font-size:12px;font-weight:600;color:var(--ink-2);background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-full)}
.job-buttons{display:flex;gap:10px;margin-top:auto;padding-top:6px}
.job-buttons .job-btn{flex:1;padding:11px 14px;font-size:14px}
.cards-cta-wrap{max-width:var(--container);margin:0 auto;padding:30px var(--container-px) 8px;text-align:center}
.big-cta{padding:14px 32px;font-size:16px}

/* ---------------- ГОРОДА (главная) ---------------- */
.cities-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px}
.city-card{display:flex;align-items:center;gap:11px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:14px 16px;box-shadow:var(--shadow-1);transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}
.city-card:hover{border-color:var(--ink);background:var(--surface-2);box-shadow:var(--shadow-2)}
.city-card-icon{display:grid;place-items:center;color:var(--ink);flex-shrink:0}
.city-card-name{flex:1;font-size:15px;font-weight:600;color:var(--text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.city-card-arrow{color:var(--text-mute);transition:color .16s ease}
.city-card:hover .city-card-arrow{color:var(--red)}
.cities-cta{text-align:center;margin-top:30px}

/* ---------------- КАК ЭТО РАБОТАЕТ ---------------- */
.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.how-card{position:relative;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:30px 26px;box-shadow:var(--shadow-1);overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}
.how-card::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--red)}
.how-card:hover{border-color:var(--ink);box-shadow:var(--shadow-2)}

.how-num{position:absolute;top:16px;right:22px;font-family:var(--font-head);font-size:54px;font-weight:800;line-height:1;color:rgba(224,24,43,.10);letter-spacing:-.03em}
.how-icon{width:50px;height:50px;display:grid;place-items:center;border-radius:13px;background:var(--ink);color:#fff;margin-bottom:18px;position:relative}
.how-card h3{font-family:var(--font-head);font-size:18px;font-weight:700;color:var(--text-strong);margin-bottom:10px;position:relative}
.how-card p{font-size:14.5px;color:var(--text-dim);line-height:1.6;position:relative}

/* ---------------- ДЛЯ РАБОТОДАТЕЛЕЙ ---------------- */
.employers-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(32px,4vw,60px);align-items:center}
.employers-text h2{font-family:var(--font-head);font-size:clamp(26px,3vw,38px);font-weight:700;letter-spacing:-.022em;color:var(--text-strong);margin:16px 0}
.employers-lead{font-size:17px;color:var(--text-dim);line-height:1.65;margin-bottom:24px}
.employers-list{display:flex;flex-direction:column;gap:16px;margin-bottom:28px}
.employers-list li{display:flex;gap:12px;font-size:15.5px;color:var(--text-dim);line-height:1.5}
.employers-list li strong{color:var(--text-strong)}
.empl-list-icon{flex-shrink:0;width:24px;height:24px;display:grid;place-items:center;border-radius:7px;background:var(--red-soft);color:var(--red);margin-top:1px}
.employers-actions{display:flex;flex-wrap:wrap;gap:12px}
.employers-stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.empl-stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:26px 24px;box-shadow:var(--shadow-1)}
.empl-stat-num{font-family:var(--font-head);font-size:clamp(26px,3vw,34px);font-weight:800;color:var(--text-strong);letter-spacing:-.02em;line-height:1}
.empl-stat-label{margin-top:10px;font-size:13.5px;color:var(--text-mute);line-height:1.4}

/* ---------------- FAQ ---------------- */
.faq-section{max-width:900px;margin:0 auto;padding:clamp(40px,5.5vw,72px) var(--container-px)}
.faq-section .section-head-center{margin-bottom:32px}
.faq-list{display:flex;flex-direction:column;gap:12px}
.faq-item{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-1);overflow:hidden}
.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 24px;font-family:var(--font-head);font-size:16px;font-weight:600;color:var(--text-strong);cursor:pointer;list-style:none;transition:color .15s ease}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"";flex-shrink:0;width:10px;height:10px;border-right:2px solid var(--text-mute);border-bottom:2px solid var(--text-mute);transform:rotate(45deg);transition:transform .2s ease;margin-right:4px}
.faq-item[open] summary{color:var(--red)}
.faq-item[open] summary::after{transform:rotate(-135deg);border-color:var(--red)}
.faq-item summary:hover{color:var(--red)}
.faq-answer,.faq-item-body{padding:0 24px 22px;font-size:15.5px;color:var(--text-dim);line-height:1.7}
.faq-answer a,.faq-item-body a{color:var(--red);font-weight:600}
.faq-answer strong,.faq-item-body strong{color:var(--text-strong)}

/* ---------------- ПРОЗА / SEO-БЛОК «О НАС» ---------------- */
.about-section{max-width:900px;margin:0 auto;padding:clamp(40px,5.5vw,72px) var(--container-px)}
.about-text .section-eyebrow{margin-bottom:16px}
.about-text h2{font-family:var(--font-head);font-size:clamp(26px,3vw,36px);font-weight:700;letter-spacing:-.022em;color:var(--text-strong);margin-bottom:20px;line-height:1.18}
.about-text h3{font-family:var(--font-head);font-size:21px;font-weight:700;color:var(--text-strong);margin:32px 0 13px;letter-spacing:-.01em}
.about-text p{font-size:16.5px;color:var(--text-dim);line-height:1.75;margin-bottom:17px}
.about-text strong{color:var(--text-strong);font-weight:600}
.about-text a{color:var(--red);font-weight:600}
.about-text ul{margin:0 0 18px;padding:0;display:flex;flex-direction:column;gap:11px}
.about-text li{position:relative;padding-left:28px;font-size:16.5px;color:var(--text-dim);line-height:1.6}
.about-text li::before{content:"";position:absolute;left:0;top:10px;width:9px;height:9px;border-radius:2px;background:var(--red)}
.about-text li strong{color:var(--text-strong)}

/* ---------------- ФИНАЛЬНЫЙ CTA (тёмная премиум-панель) ---------------- */
.final-cta{max-width:var(--container);margin:0 auto;padding:clamp(32px,4vw,56px) var(--container-px) clamp(48px,5vw,80px)}
.final-cta-card{position:relative;text-align:center;background:var(--ink);border:1px solid var(--ink);border-radius:var(--r-2xl);padding:clamp(44px,6vw,80px) clamp(28px,4vw,56px);overflow:hidden;box-shadow:var(--shadow-3)}
.final-cta-glow{position:absolute;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,rgba(224,24,43,.22),transparent 65%);top:-260px;left:50%;transform:translateX(-50%);pointer-events:none}
.final-cta-card .section-eyebrow{color:#fff}
.final-cta-card h2{position:relative;font-family:var(--font-head);font-size:clamp(28px,3.4vw,42px);font-weight:800;letter-spacing:-.025em;color:#fff;margin-bottom:16px;line-height:1.12}
.final-cta-card p{position:relative;font-size:clamp(15.5px,1.4vw,18.5px);color:#bcbcbc;max-width:54ch;margin:0 auto 30px;line-height:1.62}
.final-cta-buttons{position:relative;display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
/* кнопки на тёмном: основная — белая (красная линия снизу остаётся), альт — контурная */
.final-cta-card .job-btn.primary,.final-cta-card .btn-primary,.final-cta-card .btn-brand{background:#fff;color:var(--ink);border-color:#fff}
.final-cta-card .job-btn.primary:hover,.final-cta-card .btn-primary:hover,.final-cta-card .btn-brand:hover{background:#f2f2f2;border-color:#f2f2f2}
.final-cta-card .job-btn.btn-alt{background:transparent;border-color:#3a3a3a;color:#fff}
.final-cta-card .job-btn.btn-alt:hover{background:transparent;border-color:#fff;color:#fff}

/* ---------------- FOOTER ---------------- */
.footer{background:var(--surface);border-top:1px solid var(--line);margin-top:28px}
.footer-container{max-width:var(--container);margin:0 auto;padding:clamp(40px,4vw,60px) var(--container-px);display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}
.footer-logo-img img{height:32px;width:auto}
.footer-copy{margin-top:16px;font-size:13.5px;color:var(--text-mute);line-height:1.7;max-width:38ch}
.footer h3,.footer-social h3{font-family:var(--font-head);font-size:12.5px;font-weight:700;color:var(--text-strong);margin-bottom:18px;text-transform:uppercase;letter-spacing:.08em}
.footer-nav ul,.footer-contacts ul{display:flex;flex-direction:column;gap:12px}
.footer-nav a,.footer-contacts a{font-size:14.5px;color:var(--text-dim);transition:color .15s ease}
.footer-nav a:hover,.footer-contacts a:hover{color:var(--red)}
.footer-contacts li{display:flex;align-items:center;gap:10px}
.contact-icon{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:var(--surface-3);color:var(--text-dim)}
.footer-social-list{display:flex;gap:10px;margin-bottom:18px}
.footer-social-link{display:grid;place-items:center;width:42px;height:42px;border-radius:var(--r-md);background:var(--surface-3);border:1px solid var(--line);color:var(--text-dim);transition:color .16s ease,border-color .16s ease,background-color .16s ease}
.footer-social-link:hover{color:#fff;border-color:var(--ink);background:var(--ink)}
.footer-social-note{font-size:13px;color:var(--text-mute);line-height:1.6;max-width:34ch}
.footer-social-note strong{color:var(--text-dim)}

/* ---------------- УНИВЕРСАЛЬНАЯ КАРТОЧКА ---------------- */
.glass-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);box-shadow:var(--shadow-1)}

/* ---------------- ФИЛЬТР + АВТОКОМПЛИТ (карта/компании) ---------------- */
.map-site-filters,.brand-city-filter{margin:0 auto 24px;padding:20px;max-width:var(--container)}
.map-site-filters .filter-form,.brand-city-filter .filter-form{display:flex;gap:12px;align-items:stretch;flex-wrap:wrap}
.filter-input-wrap{position:relative;flex:1;min-width:220px;display:flex;align-items:center}
.filter-input-icon{position:absolute;left:14px;display:grid;place-items:center;color:var(--text-mute);pointer-events:none;z-index:2}
.map-site-filters input[type="text"],.map-site-filters input[type="search"],.map-site-filters select,.brand-city-filter input[type="text"],.brand-city-filter input[type="search"]{width:100%;padding:13px 14px 13px 44px;font-family:var(--font-body);font-size:15.5px;color:var(--text);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-md);transition:border-color .15s ease,box-shadow .15s ease;appearance:none}
.map-site-filters select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M3 6l5 5 5-5' stroke='%238b938d' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
.map-site-filters input::placeholder,.brand-city-filter input::placeholder{color:var(--text-mute)}
.map-site-filters input:focus,.map-site-filters select:focus,.brand-city-filter input:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px var(--ring)}
.map-site-filters input[type="search"]::-webkit-search-cancel-button{display:none}
.filter-clear-btn{position:absolute;right:8px;display:none;place-items:center;width:30px;height:30px;border-radius:50%;color:var(--text-mute);background:var(--surface-3)}
.filter-clear-btn.is-visible{display:grid}
.filter-clear-btn:hover,.filter-clear-btn:focus-visible{color:var(--red);background:var(--red-soft)}
.filter-clear-btn svg{width:15px;height:15px}
.filter-input-wrap.has-clear input{padding-right:42px}
.btn-label{font-weight:600}
.city-autocomplete[data-loading="true"] .filter-input-icon{animation:filter-spin .7s linear infinite}
@keyframes filter-spin{to{transform:rotate(360deg)}}
.city-suggest{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-md);box-shadow:var(--shadow-3);padding:6px;max-height:320px;overflow-y:auto;list-style:none}
.city-suggest[hidden]{display:none}
.city-suggest-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-sm);cursor:pointer;font-size:14.5px;color:var(--text)}
.city-suggest-item:hover,.city-suggest-item.is-active,.city-suggest-item:focus-visible{background:var(--surface-3);color:var(--text-strong)}
.cs-icon{color:var(--text-mute);display:grid;place-items:center}
.cs-name{flex:1;font-weight:500}
.cs-region{font-size:12.5px;color:var(--text-mute)}
.city-suggest-empty{padding:16px;text-align:center;font-size:14px;color:var(--text-mute)}
.city-suggest.is-loading .city-suggest-skeleton{display:flex}
.city-suggest-skeleton{display:none;align-items:center;gap:10px;padding:10px 12px}
.city-suggest-skeleton .sk-circle{width:18px;height:18px;border-radius:50%;background:var(--surface-3)}
.city-suggest-skeleton .sk-line{height:11px;border-radius:6px;background:var(--surface-3);flex:1}
.city-suggest-skeleton .sk-line:nth-child(3){flex:.5}
@keyframes sk-shimmer{0%{opacity:.55}50%{opacity:1}100%{opacity:.55}}
@media(prefers-reduced-motion:no-preference){.city-suggest-skeleton .sk-circle,.city-suggest-skeleton .sk-line{animation:sk-shimmer 1.2s ease-in-out infinite}}
.brand-city-filter .filter-stats,.filter-stats{margin-top:14px;font-size:14px;color:var(--text-mute)}
.filter-stats strong{color:var(--text);font-weight:700}

/* ---------------- ВАКАНСИЯ: тело, описание, отклик ---------------- */
.vac-advertiser{margin-bottom:8px}
.vac-advertiser-name{font-size:14.5px;font-weight:600;color:var(--red);transition:color .15s ease}
a.vac-advertiser-name:hover{color:var(--red-strong)}
.vac-work-type{display:inline-flex;align-items:center;gap:6px;margin-bottom:14px;padding:5px 12px;font-size:13px;font-weight:600;color:var(--ink-2);background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-full);transition:border-color .15s ease,color .15s ease}
a.vac-work-type:hover{border-color:var(--ink);color:var(--text-strong)}
.vac-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-bottom:8px}
.vac-schedule,.vac-city{display:inline-flex;align-items:center;gap:7px;font-size:14.5px;color:var(--text-dim)}
.vac-schedule svg,.vac-city svg{color:var(--text-mute)}
a.vac-city{transition:color .15s ease}
a.vac-city:hover{color:var(--red)}
.vac-hero-aside{display:flex;align-items:flex-start}
.vac-apply,.vac-apply-hero{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 28px;font-family:var(--font-body);font-size:15.5px;font-weight:700;color:#fff;background:var(--ink);border:1.5px solid var(--ink);border-radius:var(--r-md);box-shadow:var(--shadow-1);transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease}

.vac-apply:hover,.vac-apply-hero:hover{background:#000;border-color:#000;box-shadow:var(--shadow-2)}

.vac-body{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2xl);padding:clamp(26px,3vw,44px);box-shadow:var(--shadow-1)}
.vac-body>.vac-apply{margin-top:26px}
.vac-seo-text{margin-top:26px;padding-top:24px;border-top:1px solid var(--line);font-size:14.5px;line-height:1.75;color:var(--text-mute)}
.vac-seo-text p{margin:0}
/* Markdown-описание вакансии */
.vac-description{font-size:16.5px;line-height:1.75;color:var(--text-dim)}
.vac-description h1,.vac-description h2,.vac-description h3,.vac-description h4{font-family:var(--font-head);color:var(--text-strong);margin:26px 0 13px;line-height:1.25;letter-spacing:-.01em}
.vac-description h1{font-size:25px}.vac-description h2{font-size:21px}.vac-description h3{font-size:18.5px}.vac-description h4{font-size:16.5px}
.vac-description p{margin-bottom:15px}
.vac-description strong{color:var(--text-strong);font-weight:600}
.vac-description a{color:var(--red);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.vac-description ul,.vac-description ol{margin:0 0 17px;padding-left:4px;display:flex;flex-direction:column;gap:10px}
.vac-description ul li{position:relative;padding-left:26px;list-style:none}
.vac-description ul li::before{content:"";position:absolute;left:2px;top:10px;width:7px;height:7px;border-radius:2px;background:var(--red)}
.vac-description ol{counter-reset:vli;padding-left:0}
.vac-description ol li{position:relative;padding-left:34px;list-style:none;counter-increment:vli}
.vac-description ol li::before{content:counter(vli);position:absolute;left:0;top:0;width:24px;height:24px;display:grid;place-items:center;font-family:var(--font-head);font-size:12px;font-weight:700;color:var(--red);background:var(--red-soft);border-radius:7px}
.vac-description blockquote{margin:17px 0;padding:13px 19px;border-left:3px solid var(--red);background:var(--red-soft);border-radius:0 var(--r-md) var(--r-md) 0;color:var(--text)}
.vac-description hr{border:0;height:1px;background:var(--line);margin:24px 0}
.vac-description code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em;background:var(--surface-3);padding:2px 6px;border-radius:6px;color:var(--text-strong)}

/* ---------------- БЫСТРАЯ НАВИГАЦИЯ ВАКАНСИИ ---------------- */
.vac-quicknav{max-width:1060px;margin:26px auto 0;padding:0 var(--container-px);display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.quicknav-card{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:20px;box-shadow:var(--shadow-1);transition:border-color .16s ease,box-shadow .16s ease}
a.quicknav-card:hover{border-color:var(--ink);box-shadow:var(--shadow-2)}
.qn-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:var(--ink);color:#fff}
.qn-title{font-family:var(--font-head);font-size:15.5px;font-weight:700;color:var(--text-strong)}
.qn-desc{font-size:13px;color:var(--text-mute)}
.back-link,.brand-back{display:inline-flex;align-items:center;gap:7px;font-size:14px;font-weight:600;color:var(--text-dim);transition:color .15s ease}
.back-link:hover,.brand-back:hover{color:var(--red)}

.map-site-hero{max-width:var(--container);margin:14px auto 22px;padding:0 var(--container-px)}
.map-site-hero-inner{position:relative;overflow:hidden;background:linear-gradient(135deg,#161616,#0d0d0d 60%,#000);border:0;border-radius:var(--r-2xl);padding:clamp(32px,5vw,56px) clamp(24px,4vw,48px);box-shadow:var(--shadow-3);text-align:center}
.map-site-hero-inner::after{content:"";position:absolute;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle,rgba(224,24,43,.28),transparent 62%);top:-220px;right:-100px;filter:blur(40px);pointer-events:none}
.map-site-hero-inner .hero-eyebrow{position:relative;color:#fff;background:transparent;border:0}
.map-site-h1{position:relative;font-family:var(--font-display);font-size:clamp(26px,4vw,46px);font-weight:800;letter-spacing:-.035em;color:#fff;margin:14px 0 12px;line-height:1.1}
.map-site-sub{position:relative;font-size:clamp(15px,1.4vw,18px);color:#cbcbcb;max-width:62ch;margin:0 auto;line-height:1.6}
.map-site-sub strong{color:#fff}

/* ---------------- КАТАЛОГ КОМПАНИЙ ---------------- */
.companies-section{max-width:var(--container);margin:0 auto;padding:8px var(--container-px) 8px}
.companies-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.company-card{position:relative;overflow:hidden;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:26px;box-shadow:var(--shadow-1);transition:border-color .16s ease,box-shadow .16s ease}
.company-card::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--red)}
.company-card:hover{border-color:var(--ink);box-shadow:var(--shadow-2)}


.company-logo{width:56px;height:56px;border-radius:14px;background:linear-gradient(135deg,rgba(212,165,116,0.22),rgba(212,165,116,0.06));border:1px solid rgba(212,165,116,0.18);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;flex-shrink:0}
.company-logo-placeholder{font-size:22px;font-weight:800;color:var(--accent-2);position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.company-logo-img{position:relative;z-index:1;max-width:100%;max-height:100%;object-fit:contain}.company-name{font-size:16px;font-weight:700;color:var(--text);line-height:1.3}

.company-name{font-family:var(--font-head);font-size:18.5px;font-weight:700;color:var(--text-strong);margin-bottom:6px;line-height:1.25}
.company-city{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;color:var(--text-mute);margin-bottom:13px}
.company-desc{font-size:14.5px;color:var(--text-dim);line-height:1.6;margin-bottom:17px;flex:1}
.company-website-chip{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:var(--text-dim);background:var(--surface-3);border:1px solid var(--line);border-radius:var(--r-full);padding:5px 12px;margin-bottom:14px;align-self:flex-start}
.company-view-vacancies{display:inline-flex;align-items:center;gap:7px;margin-top:auto;font-size:14.5px;font-weight:700;color:var(--red)}



/* ---------------- БРЕНД-СТРАНИЦА КОМПАНИИ (светлый герой) ---------------- */
.brand-page-wrap{max-width:var(--container);margin:0 auto;padding:10px var(--container-px) 56px}
.brand-hero{position:relative;margin-top:12px;overflow:hidden;background:linear-gradient(180deg,var(--bg-soft) 0,var(--surface) 70%);border:1px solid var(--line);border-radius:var(--r-2xl);padding:clamp(32px,4vw,56px);box-shadow:var(--shadow-2)}
.brand-hero-glow{position:absolute;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle,var(--red-soft),transparent 65%);top:-260px;right:-140px;pointer-events:none}
.brand-hero-inner{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:clamp(24px,4vw,48px);align-items:center}

.brand-hero-logo{width:76px;height:76px;border-radius:16px;background:rgba(255,255,255,0.96);display:flex;align-items:center;justify-content:center;box-shadow:0 12px 30px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,0.18);margin-bottom:6px;overflow:hidden;}
.brand-hero-logo img{max-width:100%;max-height:100%;object-fit:contain;display:block;}
.brand-hero-logo{width:64px;height:64px;border-radius:16px}


.brand-hero .brand-eyebrow{color:var(--text-strong);background:transparent;border:0}
.brand-hero-title{font-family:var(--font-head);font-size:clamp(26px,3.4vw,42px);font-weight:800;letter-spacing:-.025em;color:var(--text-strong);margin:16px 0 13px;line-height:1.12}
.brand-hero-lead{font-size:clamp(15px,1.4vw,17.5px);color:var(--text-dim);line-height:1.62;margin-bottom:24px;max-width:56ch}
.brand-hero-kpis{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:26px}
.brand-kpi{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 20px;min-width:120px;box-shadow:var(--shadow-1)}
.brand-kpi-num{font-family:var(--font-head);font-size:28px;font-weight:800;color:var(--text-strong);line-height:1}
.brand-kpi-label{font-size:12.5px;color:var(--text-mute);margin-top:5px}
.brand-hero-actions{display:flex;flex-wrap:wrap;gap:12px}
.brand-hero .btn-ghost{background:var(--surface);border-color:var(--line-2);color:var(--text-strong)}
.brand-hero .btn-ghost:hover{border-color:var(--ink);background:var(--surface);color:var(--text-strong)}
.brand-hero-image-frame{border-radius:var(--r-xl);overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow-2);aspect-ratio:4/3}
.brand-hero-image-frame img{width:100%;height:100%;object-fit:cover}

.brand-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:24px 0}
.brand-trust-chip{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;box-shadow:var(--shadow-1)}
.brand-trust-icon{flex-shrink:0;width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:var(--red-soft);color:var(--red)}
.brand-trust-title{font-family:var(--font-head);font-size:14.5px;font-weight:700;color:var(--text-strong)}
.brand-trust-desc{font-size:12.5px;color:var(--text-mute);margin-top:2px}

.brand-about{margin:30px 0}
.brand-about-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2xl);padding:clamp(26px,3vw,44px);box-shadow:var(--shadow-1)}
.brand-about-head{margin-bottom:18px}
.brand-about-title{font-family:var(--font-head);font-size:clamp(22px,2.6vw,30px);font-weight:700;letter-spacing:-.02em;color:var(--text-strong);margin-top:10px}
.brand-about-text{font-size:16.5px;color:var(--text-dim);line-height:1.75}
.brand-about-text p{margin-bottom:15px}
.brand-about-text strong{color:var(--text-strong)}

.brand-vacancies{margin-top:36px}
.brand-vacancies .section-head{margin-bottom:26px}
.brand-vacancies .section-head h2{font-family:var(--font-head);font-size:clamp(22px,2.6vw,32px);font-weight:700;letter-spacing:-.02em;color:var(--text-strong)}
.brand-job-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.brand-job-card{position:relative;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--shadow-1);transition:border-color .16s ease,box-shadow .16s ease}
.brand-job-card::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--red);z-index:2}
.brand-job-card:hover{border-color:var(--ink);box-shadow:var(--shadow-2)}

.brand-job-photo{height:150px;overflow:hidden;background:var(--surface-3)}
.brand-job-photo img{width:100%;height:100%;object-fit:cover}
.brand-job-body{display:flex;flex-direction:column;flex:1;padding:22px}
.brand-job-head{display:flex;align-items:center;gap:12px;margin-bottom:13px}
.brand-job-logo{width:40px;height:40px;border-radius:10px;overflow:hidden;flex-shrink:0;border:1px solid var(--line);background:var(--surface-3)}
.brand-job-logo img{width:100%;height:100%;object-fit:cover}
.brand-job-logo-fallback{display:grid;place-items:center;font-family:var(--font-head);font-size:17px;font-weight:800;color:#fff;background:var(--ink);border-color:var(--ink)}
.brand-job-title{font-family:var(--font-head);font-size:16.5px;font-weight:700;color:var(--text-strong);line-height:1.3}
.brand-job-tags{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:13px}
.brand-job-tag{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:600;border-radius:var(--r-full)}
.brand-job-tag-type{color:var(--ink-2);background:var(--surface-3);border:1px solid var(--line)}
.brand-job-tag-city{color:var(--text-dim);background:var(--surface-3)}
.brand-job-meta{display:flex;flex-direction:column;gap:8px;margin-bottom:13px}
.brand-job-meta-item{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:var(--text-dim)}
.brand-job-meta-item svg{color:var(--text-mute);flex-shrink:0}
.brand-job-salary{font-family:var(--font-head);font-weight:800;color:var(--text-strong)}
.brand-job-salary svg{color:var(--text-strong)}
.brand-job-actions{display:flex;gap:10px;margin-top:auto;padding-top:6px}
.brand-job-actions .btn{flex:1;padding:11px 14px;font-size:14px}
.brand-empty{text-align:center;padding:52px 20px;color:var(--text-mute);background:var(--surface);border:1px dashed var(--line-2);border-radius:var(--r-xl)}
.brand-load-more-wrap{text-align:center;margin-top:28px}
.brand-load-more-btn{display:inline-flex;align-items:center;gap:9px;padding:13px 28px;font-family:var(--font-body);font-size:15px;font-weight:700;color:var(--text-strong);background:var(--surface);border:1px solid var(--line-2);border-radius:var(--r-md);transition:border-color .16s ease,color .16s ease,background-color .16s ease}
.brand-load-more-btn:hover{color:var(--text-strong);border-color:var(--ink);background:var(--surface-2)}
.brand-load-more-count{font-size:13px;color:var(--text-mute);font-weight:500}

/* ---------------- СТРАНИЦА СПИСКА ВАКАНСИЙ (светлый герой) ---------------- */
.vacancies-hero{position:relative;max-width:var(--container);margin:14px auto 0;padding:0 var(--container-px)}
.vacancies-hero-inner{position:relative;overflow:hidden;background:linear-gradient(180deg,var(--bg-soft) 0,var(--surface) 70%);border:1px solid var(--line);border-radius:var(--r-2xl);padding:clamp(36px,5vw,64px) clamp(28px,4vw,52px);box-shadow:var(--shadow-2);text-align:center}
.vacancies-hero-inner .hero-eyebrow,.vacancies-hero-inner .section-eyebrow{color:var(--text-strong);background:transparent;border:0;justify-content:center}
.vacancies-hero-title{font-family:var(--font-head);font-size:clamp(30px,4vw,50px);font-weight:800;letter-spacing:-.03em;color:var(--text-strong);margin:16px 0 13px;line-height:1.08}
.vacancies-hero-sub{font-size:clamp(15.5px,1.4vw,18.5px);color:var(--text-dim);max-width:60ch;margin:0 auto 28px;line-height:1.62}
.vacancies-hero-stats{display:flex;flex-wrap:wrap;justify-content:center;gap:14px}
.vh-stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 22px;min-width:120px;box-shadow:var(--shadow-1)}
.vh-stat-num{font-family:var(--font-head);font-size:clamp(22px,2.6vw,30px);font-weight:800;color:var(--text-strong);line-height:1}
.vh-stat-label{font-size:12.5px;color:var(--text-mute);margin-top:5px}
.vacancies-grid-section{padding-top:8px}

/* ---------------- ЛОКАЛЬНЫЕ ФАКТЫ (город) ---------------- */
.local-info{max-width:900px;margin:0 auto;padding:clamp(36px,4vw,64px) var(--container-px)}
.local-info h2{font-family:var(--font-head);font-size:clamp(22px,2.8vw,32px);font-weight:700;letter-spacing:-.02em;color:var(--text-strong);margin-bottom:22px}
.local-info p{font-size:16.5px;color:var(--text-dim);line-height:1.75;margin-bottom:15px}
.local-info p a{color:var(--red);font-weight:600}
.local-info h3{font-family:var(--font-head);font-size:20px;font-weight:700;color:var(--text-strong);margin:28px 0 13px}
.local-info ul{display:flex;flex-direction:column;gap:10px;margin-bottom:17px}
.local-info ul li{position:relative;padding-left:26px;font-size:16.5px;color:var(--text-dim);line-height:1.6}
.local-info ul li::before{content:"";position:absolute;left:0;top:10px;width:7px;height:7px;border-radius:2px;background:var(--red)}
.local-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:30px}
.local-stat{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;box-shadow:var(--shadow-1)}
.local-stat-icon{flex-shrink:0;width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:var(--ink);color:#fff}
.local-stat-label{font-size:12.5px;color:var(--text-mute);text-transform:uppercase;letter-spacing:.03em}
.local-stat-value{font-family:var(--font-head);font-size:17px;font-weight:700;color:var(--text-strong)}

/* ---------------- ПЕРЕЛИНКОВКА ГОРОДОВ ---------------- */
.related-cities{max-width:var(--container);margin:0 auto;padding:clamp(32px,4vw,52px) var(--container-px)}
.related-cities h2{margin-bottom:20px}
.related-cities-list{display:flex;flex-wrap:wrap;gap:10px}
.related-city-chip{display:inline-flex;align-items:center;gap:7px;padding:10px 16px;font-size:14px;font-weight:600;color:var(--text-dim);background:var(--surface);border:1px solid var(--line);border-radius:var(--r-full);box-shadow:var(--shadow-1);transition:color .16s ease,border-color .16s ease,background-color .16s ease}
.related-city-chip:hover{color:var(--red);border-color:var(--red-border);background:var(--red-soft)}
.related-city-chip svg{color:var(--text-mute);flex-shrink:0}
.related-city-chip:hover svg{color:var(--red)}

/* ---------------- КОНТАКТЫ: соцсети + форматы ---------------- */
.formats-section,.formstexts-section{max-width:var(--container);margin:0 auto;padding:clamp(32px,4vw,52px) var(--container-px)}
.format-icon-brand,.format-icon-email,.format-icon-telegram,.format-icon-vk,.format-icon-max{display:grid;place-items:center;width:52px;height:52px;border-radius:13px;color:#fff;margin-bottom:18px}
.format-icon-brand{background:var(--ink)}
.format-icon-brand img{width:30px;height:30px;filter:brightness(0) invert(1)}
.format-icon-email{background:#0e9f6e}
.format-icon-telegram{background:#2aa3e0}
.format-icon-vk{background:#0a76c4}
.format-icon-max{background:#7b3ff2}
.format-card-accent{position:relative}

.social-subscribe-section{max-width:var(--container);margin:0 auto;padding:clamp(32px,4vw,52px) var(--container-px)}
.social-subscribe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-top:30px}
.social-subscribe-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:8px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:26px;box-shadow:var(--shadow-1);overflow:hidden;transition:border-color .16s ease,box-shadow .16s ease}
.social-subscribe-card::before{content:"";position:absolute;left:0;top:0;height:3px;width:0;background:var(--red)}
a.social-subscribe-card:hover{border-color:var(--ink);box-shadow:var(--shadow-2)}

.social-subscribe-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:13px;color:#fff;margin-bottom:6px}
.social-subscribe-icon img{width:28px;height:28px;filter:brightness(0) invert(1)}
.social-subscribe-telegram .social-subscribe-icon{background:#2aa3e0}
.social-subscribe-vk .social-subscribe-icon{background:#0a76c4}
.social-subscribe-max .social-subscribe-icon{background:#7b3ff2}
.social-subscribe-name{font-family:var(--font-head);font-size:18.5px;font-weight:700;color:var(--text-strong)}
.social-subscribe-handle{font-size:13.5px;color:var(--red);font-weight:600}
.social-subscribe-desc{font-size:14px;color:var(--text-dim);line-height:1.6}
.social-subscribe-btn{display:inline-flex;align-items:center;gap:7px;margin-top:10px;font-size:14px;font-weight:700;color:var(--red)}



/* ---------------- ПУСТОЕ СОСТОЯНИЕ / SEO-БЛОК ---------------- */
.empty-state{text-align:center;padding:clamp(44px,6vw,76px) 24px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2xl);box-shadow:var(--shadow-1)}
.empty-state .empty-icon,.empty-icon{color:var(--text-mute);margin-bottom:18px;display:flex;justify-content:center}
.empty-state h3{font-family:var(--font-head);font-size:21px;font-weight:700;color:var(--text-strong);margin-bottom:9px}
.empty-state p,.empty p{color:var(--text-mute);margin-bottom:22px}
.empty{text-align:center;padding:52px 20px;color:var(--text-mute)}
.seo-block{max-width:var(--container);margin:24px auto;padding:clamp(28px,3vw,44px)!important}
.seo-block h2{font-family:var(--font-head);font-size:clamp(22px,2.6vw,30px);font-weight:700;letter-spacing:-.02em;color:var(--text-strong);margin-bottom:17px}
.seo-block h3{font-family:var(--font-head);font-size:20px;font-weight:700;color:var(--text-strong);margin:26px 0 13px}
.seo-block p{font-size:16px;color:var(--text-dim);line-height:1.72;margin-bottom:15px}
.seo-block p a,.seo-list a{color:var(--red);font-weight:600}
.seo-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 22px;margin-top:8px}
.seo-list li{position:relative;padding-left:24px;font-size:15px;color:var(--text-dim);line-height:1.55}
.seo-list li::before{content:"";position:absolute;left:0;top:8px;width:7px;height:7px;border-radius:2px;background:var(--red)}

/* ---------------- ПРОИЗВОДСТВЕННЫЙ КАЛЕНДАРЬ ---------------- */
.cal-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:8px 0 36px}
.cal-summary-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:24px 22px;box-shadow:var(--shadow-1);text-align:center}
.cal-summary-icon{width:46px;height:46px;margin:0 auto 14px;border-radius:12px;display:grid;place-items:center;background:var(--surface-3);color:var(--ink)}
.cal-summary-num{font-family:var(--font-head);font-size:clamp(24px,3vw,32px);font-weight:800;color:var(--text-strong);line-height:1}
.cal-summary-label{font-size:13px;color:var(--text-mute);margin-top:8px;line-height:1.4}
.cal-legend{display:flex;flex-wrap:wrap;gap:14px 22px;justify-content:center;margin:0 0 28px}
.cal-legend-item{display:inline-flex;align-items:center;gap:8px;font-size:13.5px;color:var(--text-dim)}
.cal-legend-dot{width:14px;height:14px;border-radius:5px;border:1px solid var(--line-2)}
.cal-legend-dot.workday{background:var(--surface)}
.cal-legend-dot.weekend{background:var(--surface-3)}
.cal-legend-dot.holiday{background:#fbe3e1;border-color:#f3b6b1}
.cal-legend-dot.short{background:#fcefd8;border-color:#f4cd92}
.cal-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.cal-month{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:22px;box-shadow:var(--shadow-1)}
.cal-month-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:14px}
.cal-month-name{font-family:var(--font-head);font-size:17.5px;font-weight:700;color:var(--text-strong);text-transform:capitalize}
.cal-month-num{font-family:var(--font-head);font-size:13px;font-weight:700;color:var(--text-mute)}
.cal-table{width:100%;border-collapse:collapse;table-layout:fixed}
.cal-table th{font-size:11px;font-weight:600;color:var(--text-mute);text-transform:uppercase;padding:4px 0;text-align:center}
.cal-table td{padding:2px;text-align:center}
.cal-day{display:grid;place-items:center;width:32px;height:32px;margin:0 auto;border-radius:7px;font-size:13.5px;font-weight:500;color:var(--text);font-variant-numeric:tabular-nums}
.cal-day.empty{background:none}
.cal-day.work{color:var(--text)}
.cal-day.weekend{color:var(--text-mute);background:var(--surface-3)}
.cal-day.holiday{color:#b3382f;background:#fbe3e1;font-weight:700}
.cal-day.short{color:#9a5b00;background:#fcefd8;font-weight:600}
.cal-stats{display:flex;gap:8px;margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.cal-stat-cell{flex:1;text-align:center}
.cal-stat-cell-num{font-family:var(--font-head);font-size:18px;font-weight:800;line-height:1}
.cal-stat-cell.work .cal-stat-cell-num{color:var(--text-strong)}
.cal-stat-cell.holidays .cal-stat-cell-num{color:var(--text-mute)}
.cal-stat-cell.hours .cal-stat-cell-num{color:var(--text-strong)}
.cal-stat-cell-label{font-size:11px;color:var(--text-mute);margin-top:4px}
.cal-holiday-list{display:flex;flex-direction:column;gap:10px;max-width:760px;margin:0 auto}
.cal-holiday-row{display:flex;align-items:center;gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:14px 18px;box-shadow:var(--shadow-1)}
.cal-holiday-date{flex-shrink:0;width:64px;text-align:center;background:var(--red-soft);border:1px solid var(--red-border);border-radius:var(--r-md);padding:8px 4px}
.cal-holiday-day{font-family:var(--font-head);font-size:22px;font-weight:800;color:var(--red);line-height:1}
.cal-holiday-month{font-size:11px;color:var(--text-mute);text-transform:uppercase;margin-top:2px}
.cal-holiday-name{font-family:var(--font-head);font-size:16px;font-weight:700;color:var(--text-strong)}
.cal-holiday-meta{font-size:13px;color:var(--text-mute);margin-top:3px}
.cal-norms-table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--shadow-1);font-size:14.5px}
.cal-norms-table caption{text-align:left;padding:0 0 12px;color:var(--text-mute);font-size:13px}
.cal-norms-table th{background:var(--surface-3);font-family:var(--font-head);font-size:13px;font-weight:700;color:var(--text-strong);text-align:left;padding:13px 16px;border-bottom:1px solid var(--line)}
.cal-norms-table td{padding:12px 16px;color:var(--text-dim);border-bottom:1px solid var(--line)}
.cal-norms-table tr:last-child td{border-bottom:0}
.cal-norms-table tbody tr:nth-child(even){background:var(--surface-2)}
.cal-norms-table strong{color:var(--text-strong)}
.cal-quarters{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cal-quarter{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:22px;box-shadow:var(--shadow-1)}
.cal-quarter-head{font-family:var(--font-head);font-size:16px;font-weight:800;color:var(--text-strong);margin-bottom:14px;padding-bottom:12px;border-bottom:2px solid var(--red)}
.cal-quarter-row{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:var(--text-dim);padding:5px 0}
.cal-quarter-row strong{font-family:var(--font-head);color:var(--text-strong);font-weight:700}

/* ============================================================================
   АДАПТИВ
   ============================================================================ */
@media(max-width:1080px){
  .stats-grid,.formats-grid,.how-grid,.cal-summary,.cal-quarters{grid-template-columns:repeat(2,1fr)}
  .brand-trust{grid-template-columns:repeat(2,1fr)}
  .footer-container{grid-template-columns:1.4fr 1fr 1fr;gap:32px}
  .footer-social{grid-column:1/-1}
}
@media(max-width:920px){
  .employers-grid{grid-template-columns:1fr;gap:34px}
  .brand-hero-inner{grid-template-columns:1fr;gap:30px}
  .brand-hero-right{order:-1;max-width:420px}
}
@media(max-width:720px){
  .formats-grid,.how-grid,.cal-quarters{grid-template-columns:1fr}
  .stats-grid,.cal-summary{grid-template-columns:repeat(2,1fr);gap:14px}
  .brand-trust{grid-template-columns:1fr}
  .footer-container{grid-template-columns:1fr;gap:30px}
  .footer-social{grid-column:auto}
  .map-site-filters .filter-form,.brand-city-filter .filter-form{flex-direction:column}
  .map-site-filters .btn-primary,.brand-city-filter .btn{width:100%;justify-content:center}
  .vac-header{flex-direction:column}
  .vac-hero-aside{width:100%}
  .vac-apply-hero{width:100%}
  .job-buttons,.brand-job-actions{flex-direction:column}
  .cal-grid{grid-template-columns:1fr}
  .cal-norms-table{font-size:13px}
  .cal-norms-table th,.cal-norms-table td{padding:10px 12px}
  .section,.faq-section,.about-section,.local-info{padding-left:20px;padding-right:20px}
}
@media(max-width:460px){
  .stats-grid,.cal-summary{grid-template-columns:1fr}
  .cards,.companies-grid,.brand-job-grid{grid-template-columns:1fr}
  .stat-card,.adv-card,.format-card,.job-card,.how-card{padding:22px}
  .final-cta-card{padding:40px 24px}
  .cal-holiday-row{gap:12px;padding:12px 14px}
  .cal-holiday-date{width:54px}
}

/* Уважаем пользовательские настройки движения */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  }

/* Печать */
@media print{header,.footer,.final-cta,.hero-buttons,.job-buttons,.vac-apply,.vac-apply-hero,.brand-hero-actions{display:none!important}
  body{background:#fff}*{box-shadow:none!important}}

/* ============================================================================
   UNBOUNDED — фирменный дисплейный шрифт для крупных заголовков
   (мелкие подзаголовки/числа/названия карточек остаются на Montserrat).
   Размещено в конце: гарантированно переопределяет font-family у заголовков.
   ============================================================================ */
.section h2,.cardstexts h2,.faq-section h2,.related-cities h2,.local-info h2,
.about-text h2,.employers-text h2,.seo-block h2,.final-cta-card h2,
.vacancies-hero-title,.brand-hero-title,.brand-vacancies .section-head h2{
  font-family:var(--font-display);font-weight:800;letter-spacing:-.035em
}

/* ============================================================================
   ДОПОЛНИТЕЛЬНАЯ МОБИЛЬНАЯ АДАПТАЦИЯ
   ============================================================================ */
@media(max-width:560px){
  .employers-actions{flex-direction:column}
  .employers-actions .job-btn{width:100%;justify-content:center}
  .final-cta-buttons{flex-direction:column}
  .final-cta-buttons .job-btn{width:100%;justify-content:center}
  .cards-cta-wrap .job-btn,.cities-cta .job-btn{width:100%;justify-content:center}
  .section-head{margin-bottom:30px}
  .vac-quicknav{grid-template-columns:1fr}
  .companies-grid,.social-subscribe-grid,.advantages-container{grid-template-columns:1fr}
}
@media(max-width:380px){
  .stat-num{font-size:clamp(24px,8vw,30px)}
  .job-card,.format-card,.adv-card,.how-card,.stat-card,.company-card,.empl-stat{padding:20px}
  .vac-body{padding:20px}
}

/* ============================================================================
   КАТАЛОГ /vacancy/ — выравнивание секций и устойчивость (ничего не съезжает)
   ============================================================================ */
/* быстрая навигация выровнена по той же ширине, что hero и сетка вакансий */
.vac-quicknav{max-width:var(--container);align-items:stretch}
.quicknav-card{height:100%}
/* сетка карточек не переполняется на узких экранах (вместо жёстких 300px) */
.cards{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
/* длинные слова и заголовки не вылезают за границы карточек/блоков */
.job-card,.quicknav-card,.vh-stat,.job-card-head{min-width:0}
.job-title,.qn-title,.qn-desc,.vacancies-hero-title,.vacancies-hero-sub,
.section-sub,.seo-block p,.seo-block li{overflow-wrap:break-word}

/* ============================================================================
   О НАС / КОНТАКТЫ — единая типографика контента (вместо инлайн-стилей)
   ============================================================================ */
.adv-card-bottom p + p{margin-top:13px}
.adv-card-bottom .job-btn{margin-top:14px}
.local-info-note{margin-top:18px;font-size:14.5px;color:var(--text-dim);line-height:1.7}
