        /* --- ПАЛИТРА --- */
:root {
    --bg-main: #F4F7F5;
    --bg-card: #FFFFFF;
    --accent-dark: #2B513A;
    --accent-medium: #477A5B;
    --accent-light: #76A889;
    --text-main: #1C2821;
    --text-muted: #53665A;
    --border: #DDE3DF;
    --header-shadow: rgba(28, 40, 33, 0.04);
    --modal-overlay: rgba(28, 40, 33, 0.6);
    --font-display: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* --- ТЕМНАЯ ТЕМА --- */
[data-theme="dark"] {
    --bg-main: #131815;
    --bg-card: #1A221E;
    --accent-dark: #82B393;
    --accent-medium: #5D9271;
    --accent-light: #3D6B50;
    --text-main: #E3EBE6;
    --text-muted: #83968B;
    --border: #232E28;
    --header-shadow: rgba(0, 0, 0, 0.3);
    --modal-overlay: rgba(0, 0, 0, 0.8);
}

html { scroll-behavior: smooth; }
#services, #mikrotik, #cases, #footer { scroll-margin-top: 90px; }
* { box-sizing: border-box; margin: 0; padding: 0; transition: background-color 0.4s ease, color 0.4s ease, border-color 0.4s ease; }

body { background-color: var(--bg-main); color: var(--text-main); font-family: var(--font-display); -webkit-font-smoothing: antialiased; overflow-x: hidden; }
body.menu-open, body.modal-open { overflow: hidden; }

.container { max-width: 1300px; margin: 0 auto; padding: 0 40px; width: 100%; }

/* HEADER */
header { position: fixed; top: 0; left: 0; right: 0; z-index: 100; background: rgba(244, 247, 251, 0.92); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); border-bottom: 1px solid var(--border); box-shadow: 0 4px 24px var(--header-shadow); }
[data-theme="dark"] header { background: rgba(19, 24, 21, 0.92); }
.header-inner { display: flex; align-items: center; justify-content: space-between; gap: 28px; height: 76px; }

.logo-wrap { display: flex; align-items: center; gap: 11px; text-decoration: none; color: var(--text-main); z-index: 102; flex: 0 0 auto; }
.logo-img { height: 34px; width: auto; object-fit: contain; display: block; }
.logo-text { font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Helvetica Neue", Arial, sans-serif !important; font-weight: 700 !important; font-size: 21px !important; letter-spacing: -0.04em !important; line-height: 1 !important; }

.header-controls { display: flex; align-items: center; gap: 16px; margin-left: auto; }

/* Все элементы шапки выровнены по одной высоте строки */
.nav-minimal { display: flex; align-items: center; gap: 26px; }
.nav-minimal a { display: inline-flex; align-items: center; height: 36px; color: var(--text-muted); text-decoration: none; font-size: 12.5px; font-weight: 600; text-transform: uppercase; letter-spacing: 0.6px; white-space: nowrap; transition: color 0.25s; }
.nav-minimal a:hover { color: var(--accent-medium); }

.header-divider { width: 1px; height: 24px; background: var(--border); flex: 0 0 auto; }

.header-phone { display: inline-flex; align-items: center; gap: 7px; height: 36px; color: var(--text-main); text-decoration: none; font-size: 14px; font-weight: 700; letter-spacing: 0.2px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.header-phone:hover { color: var(--accent-medium); }
.header-phone svg { color: var(--accent-medium); flex-shrink: 0; }

/* Телефон и кнопка, которые нужны только внутри мобильного меню */
.nav-minimal .nav-phone,
.nav-minimal .nav-cta { display: none; }

/* Доступность: скрытый текст для скринридеров и пропуск навигации */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.skip-link { position: absolute; left: 16px; top: -100px; z-index: 2000; background: var(--accent-dark); color: #fff; padding: 12px 20px; font-size: 13px; font-weight: 700; text-decoration: none; transition: top 0.2s ease; }
.skip-link:focus { top: 16px; color: #fff; }

:focus-visible { outline: 2px solid var(--accent-medium); outline-offset: 3px; }

.btn-outline { background: transparent; border: 1px solid var(--border); color: var(--text-main); padding: 10px 20px; font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; cursor: pointer; transition: all 0.3s; }
.btn-outline:hover { border-color: var(--accent-medium); color: var(--accent-medium); }

/* СМЕНА ТЕМЫ */
.theme-switch { background: none; border: 1px solid var(--border); color: var(--text-main); width: 40px; height: 40px; cursor: pointer; display: flex; align-items: center; justify-content: center; border-radius: 50%; position: relative; overflow: hidden; z-index: 102; }
.theme-switch:hover { border-color: var(--accent-medium); background-color: rgba(71, 122, 91, 0.05); }
.theme-switch svg { position: absolute; transition: transform 0.5s cubic-bezier(0.23, 1, 0.32, 1), opacity 0.3s; }
.theme-switch .icon-sun { opacity: 1; transform: rotate(0deg); color: #D4A373; }
.theme-switch .icon-moon { opacity: 0; transform: rotate(-90deg); color: var(--accent-dark); }
[data-theme="dark"] .theme-switch .icon-sun { opacity: 0; transform: rotate(90deg); }
[data-theme="dark"] .theme-switch .icon-moon { opacity: 1; transform: rotate(0deg); }

/* БУРГЕР */
.burger-btn { display: none; background: none; border: none; cursor: pointer; width: 30px; height: 24px; position: relative; z-index: 102; flex-direction: column; justify-content: space-between; }
.burger-line { width: 100%; height: 2px; background-color: var(--text-main); transition: transform 0.3s ease, opacity 0.3s ease, background-color 0.4s; transform-origin: left center; }
.burger-btn.active .burger-line:nth-child(1) { transform: rotate(45deg) translate(2px, -2px); }
.burger-btn.active .burger-line:nth-child(2) { opacity: 0; transform: scale(0); }
.burger-btn.active .burger-line:nth-child(3) { transform: rotate(-45deg) translate(2px, 2px); }

/* HERO SECTION */
.hero-modern { padding: 220px 0 120px 0; background-color: var(--bg-main); }
.hero-grid { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 60px; align-items: flex-start; }
.hero-left h1 { font-size: 60px; font-weight: 800; line-height: 1.05; letter-spacing: -2px; margin-bottom: 40px; text-transform: uppercase; }
.reveal-line { display: block; margin-bottom: 4px; perspective: 1000px; }
.reveal-inner { display: block; opacity: 0; filter: blur(12px); transform: translateY(35px) rotateX(-15deg); transform-origin: top center; animation: premiumReveal 1.4s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.reveal-line:nth-child(1) .reveal-inner { animation-delay: 0.1s; }
.reveal-line:nth-child(2) .reveal-inner { animation-delay: 0.3s; color: var(--accent-medium); }
.reveal-line:nth-child(3) .reveal-inner { animation-delay: 0.5s; }
@keyframes premiumReveal { 0% { opacity: 0; filter: blur(12px); transform: translateY(35px) rotateX(-15deg); } 100% { opacity: 1; filter: blur(0); transform: translateY(0) rotateX(0deg); } }
.hero-right { padding-top: 20px; opacity: 0; transform: translateY(20px); animation: fadeInRight 1s cubic-bezier(0.23, 1, 0.32, 1) 0.8s forwards; }
.hero-right p { font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; font-size: 18px; line-height: 1.6; color: var(--text-muted); margin-bottom: 40px; }
@keyframes fadeInRight { 0% { opacity: 0; transform: translateY(20px); } 100% { opacity: 1; transform: translateY(0); } }

.btn-action { display: inline-flex; align-items: center; justify-content: center; gap: 12px; background: var(--accent-dark); color: #FFFFFF; padding: 18px 36px; font-size: 13px; font-weight: 700; text-decoration: none; text-transform: uppercase; letter-spacing: 1px; border: none; border-right: 4px solid var(--accent-light); cursor: pointer; transition: transform 0.3s, opacity 0.3s; }
[data-theme="dark"] .btn-action { background: var(--accent-medium); color: var(--bg-main); border-right: 4px solid var(--text-main); }
.btn-action:hover { transform: translateY(-2px); opacity: 0.95; }

/* Компактная кнопка для шапки */
.header-cta { height: 42px; padding: 0 22px; font-size: 11.5px; letter-spacing: 0.7px; gap: 8px; border-right-width: 3px; flex: 0 0 auto; }
.header-cta:hover { transform: none; opacity: 0.92; }

.btn-group { display: flex; gap: 20px; flex-wrap: wrap; }

/* ИНТЕРАКТИВНЫЕ ЛИНИИ УСЛУГ */
.modern-services { padding: 120px 0; background-color: var(--bg-card); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }

.modern-services .section-title-mod,
.modern-services .acc-num,
.modern-services .acc-title,
.modern-services .acc-desc,
.modern-services .acc-bullets li {
    font-family: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

.section-title-mod { font-size: 12px; text-transform: uppercase; letter-spacing: 2px; color: var(--accent-medium); font-weight: 700; margin: 0 0 60px 0; }
.accordion-container { border-bottom: 1px solid var(--border); }
.acc-item { border-top: 1px solid var(--border); overflow: hidden; }
.acc-trigger { width: 100%; padding: 36px 0; background: none; border: none; display: grid; grid-template-columns: 0.1fr 1.2fr 0.1fr; align-items: center; text-align: left; cursor: pointer; color: var(--text-main); }

.acc-num { font-size: 15px; font-weight: 700; color: var(--accent-medium); }
.acc-title { font-size: 22px; font-weight: 600; letter-spacing: -0.5px; }
.acc-icon { font-size: 24px; text-align: right; color: var(--text-muted); transition: transform 0.3s, color 0.3s; font-family: var(--font-display); }

.acc-panel { max-height: 0; opacity: 0; visibility: hidden; transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1); }
.acc-item.active { background: rgba(71, 122, 91, 0.02); }
.acc-item.active .acc-panel { max-height: 500px; opacity: 1; visibility: visible; padding-bottom: 40px; }
.acc-item.active .acc-icon { transform: rotate(45deg); color: var(--accent-light); }
.acc-item.active .acc-title { color: var(--accent-medium); }

.acc-content-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; padding-left: 8%; }
.acc-desc { font-size: 16px; color: var(--text-muted); line-height: 1.6; font-weight: 400; }
.acc-bullets { list-style: none; display: grid; grid-template-columns: 1fr; gap: 10px; }
.acc-bullets li { font-size: 15px; font-weight: 500; position: relative; padding-left: 20px; color: var(--text-main); }
.acc-bullets li::before { content: "—"; position: absolute; left: 0; color: var(--accent-medium); font-weight: 900; font-family: var(--font-display); }

/* БЛОК КЕЙСОВ */
.cases-section { padding: 120px 0; background: var(--bg-main); border-bottom: 1px solid var(--border); }
.cases-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.case-card { background: var(--bg-card); padding: 40px; border: 1px solid var(--border); transition: transform 0.3s, box-shadow 0.3s; }
.case-card:hover { transform: translateY(-5px); box-shadow: 0 10px 30px rgba(0,0,0,0.05); }
[data-theme="dark"] .case-card:hover { box-shadow: 0 10px 30px rgba(0,0,0,0.2); }
.case-tag { font-size: 11px; text-transform: uppercase; font-weight: 700; color: var(--accent-medium); letter-spacing: 1px; margin-bottom: 20px; display: block; }
.case-title { font-size: 20px; font-weight: 700; line-height: 1.3; margin-bottom: 16px; }
.case-desc { font-size: 14px; color: var(--text-muted); line-height: 1.6; border-top: 1px dashed var(--border); padding-top: 16px; }

/* БЛОК СЕТЕЙ */
.mikrotik-strip { padding: 120px 0; display: flex; align-items: center; background: var(--bg-card); border-bottom: 1px solid var(--border); }
.strip-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; width: 100%; }
.strip-left h2 { font-size: 44px; font-weight: 800; line-height: 1.1; text-transform: uppercase; letter-spacing: -1px; }
.strip-left h2 span { color: var(--accent-medium); }
.strip-right { display: flex; flex-direction: column; justify-content: center; gap: 30px; }
.strip-right p { font-size: 16px; color: var(--text-muted); line-height: 1.7; }
.tag-row { display: flex; flex-wrap: wrap; gap: 10px; }
.modern-tag { border: 1px solid var(--border); padding: 6px 14px; font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.5px; color: var(--text-muted); }

/* ФУТЕР */
footer { padding: 100px 0 60px 0; background-color: var(--bg-main); }
.footer-grid { display: grid; grid-template-columns: 1.2fr 0.8fr 1fr 1.2fr; gap: 40px; margin-bottom: 60px; }
.footer-brand p { font-size: 14px; color: var(--text-muted); line-height: 1.6; margin-top: 16px; max-width: 240px; }
.footer-title { font-size: 12px; text-transform: uppercase; letter-spacing: 1.5px; color: var(--accent-medium); font-weight: 700; margin-bottom: 24px; }
.footer-links { display: flex; flex-direction: column; gap: 12px; }
.footer-links a { color: var(--text-main); text-decoration: none; font-size: 15px; font-weight: 600; width: fit-content; transition: color 0.3s, padding-left 0.3s; }
.footer-links a:hover { color: var(--accent-medium); padding-left: 4px; }
.footer-contacts { display: flex; flex-direction: column; gap: 20px; }

.contact-item { display: flex; align-items: center; gap: 14px; text-decoration: none; color: var(--text-main); font-size: 16px; font-weight: 700; transition: color 0.3s; }
.contact-item:hover { color: var(--accent-medium); }
.contact-icon { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; background-color: var(--accent-dark); color: #FFF; border-radius: 50%; flex-shrink: 0; transition: transform 0.3s, background-color 0.3s; }
.contact-item:hover .contact-icon { background-color: var(--accent-medium); transform: scale(1.08); }
[data-theme="dark"] .contact-icon { color: var(--bg-main); }

.office-info { font-size: 14px; line-height: 1.6; color: var(--text-main); }
.office-legal-block { margin-bottom: 14px; border-left: 2px solid var(--accent-light); padding-left: 10px; }
.office-company-name { font-weight: 700; font-size: 15px; color: var(--text-main); margin-bottom: 2px; }
.office-requisites { font-size: 12px; color: var(--text-muted); font-variant-numeric: tabular-nums; }
.office-address { font-weight: 600; margin-bottom: 20px; }
.schedule-list { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.schedule-list li { display: flex; justify-content: space-between; font-size: 13px; border-bottom: 1px dashed var(--border); padding-bottom: 4px; }
.schedule-list .day { color: var(--text-muted); font-weight: 500; }
.schedule-list .time { font-weight: 700; color: var(--text-main); }
.schedule-list .time.weekend { color: var(--text-muted); }

.footer-bottom { border-top: 1px solid var(--border); padding-top: 30px; display: flex; justify-content: space-between; align-items: center; font-size: 13px; color: var(--text-muted); }
.footer-bottom-links { display: flex; gap: 20px; align-items: center; }
.footer-bottom-links a { color: var(--text-muted); text-decoration: none; transition: color 0.3s; cursor: pointer; }
.footer-bottom-links a:hover { color: var(--accent-medium); }

/* МОДАЛЬНЫЕ ОКНА */
.modal-overlay { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: var(--modal-overlay); backdrop-filter: blur(5px); opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s; display: flex; justify-content: center; align-items: center; padding: 20px; z-index: 1000; }

#contactModal { z-index: 1000; }
#privacyModal { z-index: 1010; }

.modal-overlay.active { opacity: 1; visibility: visible; }

.modal-box { background: var(--bg-card); width: 100%; max-width: 500px; padding: 40px; position: relative; transform: translateY(20px); transition: transform 0.3s ease; border: 1px solid var(--border); box-shadow: 0 20px 40px rgba(0,0,0,0.1); }
.modal-overlay.active .modal-box { transform: translateY(0); }
[data-theme="dark"] .modal-box { box-shadow: 0 20px 40px rgba(0,0,0,0.4); }

.modal-box-large { max-width: 800px; }

.btn-close-modal { position: absolute; top: 20px; right: 20px; background: none; border: none; font-size: 28px; line-height: 1; color: var(--text-muted); cursor: pointer; transition: color 0.3s; }
.btn-close-modal:hover { color: var(--accent-medium); }

.modal-title { font-size: 24px; font-weight: 700; margin-bottom: 24px; color: var(--text-main); }

.privacy-text-area { max-height: 60vh; overflow-y: auto; padding-right: 15px; font-size: 14px; line-height: 1.6; color: var(--text-muted); text-align: left; }
.privacy-text-area h1, .privacy-text-area h2, .privacy-text-area h3 { color: var(--text-main); margin: 20px 0 10px 0; font-size: 18px; }
.privacy-text-area p { margin-bottom: 15px; }

.privacy-text-area::-webkit-scrollbar { width: 6px; }
.privacy-text-area::-webkit-scrollbar-track { background: var(--bg-main); border-radius: 4px; }
.privacy-text-area::-webkit-scrollbar-thumb { background: var(--accent-light); border-radius: 4px; }

.lead-form { display: flex; flex-direction: column; gap: 20px; position: relative; }
.form-group { display: flex; flex-direction: column; gap: 8px; }
.form-input { padding: 14px 16px; background: var(--bg-main); border: 1px solid var(--border); color: var(--text-main); font-family: inherit; font-size: 15px; outline: none; transition: border-color 0.3s; }
.form-input:focus { border-color: var(--accent-medium); }

.form-checkbox { display: flex; align-items: flex-start; gap: 10px; font-size: 12px; color: var(--text-muted); line-height: 1.4; cursor: pointer; }
.form-checkbox input { margin-top: 2px; accent-color: var(--accent-dark); cursor: pointer; }
.form-checkbox a { color: var(--accent-medium); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }

.form-overlay-msg { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: var(--bg-card); display: flex; flex-direction: column; justify-content: center; align-items: center; text-align: center; opacity: 0; visibility: hidden; z-index: 10; transition: all 0.3s; padding: 20px; }
.form-overlay-msg.active { opacity: 1; visibility: visible; }
.msg-icon { font-size: 40px; color: var(--accent-medium); margin-bottom: 16px; }
.msg-title { font-size: 20px; font-weight: 700; margin-bottom: 10px; }
.msg-text { font-size: 14px; color: var(--text-muted); max-width: 340px; line-height: 1.5; }
.msg-actions { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 18px; }
.msg-actions:empty { display: none; }
.msg-actions .btn-action,
.msg-actions .btn-outline { margin-top: 0; padding: 13px 20px; font-size: 11px; letter-spacing: 0.6px; }
.msg-actions .btn-action { border-right-width: 3px; }

.honey-trap { display: none !important; }

/* --- КУКИ-БАННЕР (Соответствие законам 2025-2026) --- */
.cookie-banner {
    position: fixed;
    bottom: 24px;
    right: 24px;
    max-width: 360px;
    background: var(--bg-card);
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 24px;
    box-shadow: 0 16px 40px var(--header-shadow);
    z-index: 99;
    display: flex;
    flex-direction: column;
    gap: 18px;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.4s ease, transform 0.4s ease;
    pointer-events: none;
}
.cookie-banner.active {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.cookie-text {
    font-size: 13px;
    line-height: 1.5;
    color: var(--text-muted);
    font-family: 'Inter', var(--font-display);
}
.cookie-text a {
    color: var(--accent-medium);
    text-decoration: none;
    border-bottom: 1px solid var(--accent-medium);
    transition: color 0.3s, border-color 0.3s;
}
.cookie-text a:hover {
    color: var(--accent-dark);
    border-color: var(--accent-dark);
}
.cookie-btn-wrap {
    display: flex;
    gap: 10px;
}
.cookie-btn {
    flex: 1;
    padding: 11px 0;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    cursor: pointer;
    border-radius: 4px;
    transition: all 0.3s;
    text-align: center;
}
.cookie-btn.btn-accept {
    background: var(--accent-dark);
    color: #FFFFFF;
    border: 1px solid var(--accent-dark);
}
[data-theme="dark"] .cookie-btn.btn-accept {
    background: var(--accent-medium);
    color: var(--bg-main);
    border-color: var(--accent-medium);
}
.cookie-btn.btn-accept:hover {
    opacity: 0.9;
}
.cookie-btn.btn-decline {
    background: transparent;
    border: 1px solid var(--border);
    color: var(--text-muted);
}
.cookie-btn.btn-decline:hover {
    border-color: var(--accent-medium);
    color: var(--accent-medium);
    background: rgba(71, 122, 91, 0.03);
}

/* --- ПОЛОСА С ЦИФРАМИ --- */
.stats-strip { background: var(--accent-dark); color: #FFFFFF; padding: 56px 0; }
.stats-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.stat-item { padding: 4px 32px; border-left: 1px solid rgba(255, 255, 255, 0.18); }
.stat-item:first-child { border-left: none; padding-left: 0; }
.stat-value { font-size: 42px; font-weight: 800; line-height: 1; letter-spacing: -1.5px; margin-bottom: 12px; font-variant-numeric: tabular-nums; }
.stat-label { font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: 1.2px; margin-bottom: 8px; }
.stat-desc { font-size: 13px; line-height: 1.5; opacity: 0.72; }
[data-theme="dark"] .stats-strip { background: var(--bg-card); color: var(--text-main); border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); }
[data-theme="dark"] .stat-item { border-left-color: var(--border); }
[data-theme="dark"] .stat-value { color: var(--accent-dark); }
[data-theme="dark"] .stat-label { color: var(--text-muted); }

/* --- ОБЩАЯ ШАПКА СЕКЦИИ --- */
.section-head { margin-bottom: 56px; }
.section-head .section-title-mod { margin-bottom: 16px; }
.section-lead { max-width: 680px; font-size: 16px; line-height: 1.65; color: var(--text-muted); }

/* --- ПАКЕТЫ ОБСЛУЖИВАНИЯ --- */
.packages-section { padding: 120px 0; background: var(--bg-card); border-bottom: 1px solid var(--border); }
.packages-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; align-items: stretch; }
.package-card { display: flex; flex-direction: column; background: var(--bg-main); border: 1px solid var(--border); padding: 34px 30px 28px 30px; transition: border-color 0.3s, box-shadow 0.3s, transform 0.3s; }
.package-card:hover { border-color: var(--accent-light); transform: translateY(-3px); box-shadow: 0 12px 32px rgba(28, 40, 33, 0.06); }
[data-theme="dark"] .package-card:hover { box-shadow: 0 12px 32px rgba(0, 0, 0, 0.25); }
.package-card.featured { background: var(--bg-card); border-color: var(--accent-medium); border-top-width: 3px; }
.package-eyebrow { font-size: 10.5px; text-transform: uppercase; letter-spacing: 1.4px; font-weight: 700; color: var(--text-muted); margin-bottom: 10px; }
.package-card.featured .package-eyebrow { color: var(--accent-medium); }
.package-name { font-size: 26px; font-weight: 800; letter-spacing: -0.5px; line-height: 1.1; margin-bottom: 10px; }
.package-desc { font-size: 14px; color: var(--text-muted); line-height: 1.55; margin-bottom: 22px; }
.package-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px; font-size: 15px; font-weight: 700; color: var(--text-main); padding: 14px 0; border-top: 1px solid var(--border); border-bottom: 1px solid var(--border); margin-bottom: 22px; }
.package-price span { font-size: 12px; font-weight: 500; color: var(--text-muted); }
.package-list { list-style: none; display: flex; flex-direction: column; gap: 11px; margin-bottom: 28px; }
.package-list li { position: relative; padding-left: 20px; font-size: 14px; line-height: 1.5; color: var(--text-main); }
.package-list li::before { content: "—"; position: absolute; left: 0; color: var(--accent-medium); font-weight: 900; font-family: var(--font-display); }
.package-card .btn-outline { margin-top: auto; width: 100%; padding: 14px 20px; min-height: 46px; }
.packages-note { margin-top: 28px; max-width: 760px; font-size: 13px; line-height: 1.65; color: var(--text-muted); }
.packages-note a { color: var(--accent-medium); font-weight: 600; text-decoration: none; border-bottom: 1px solid currentColor; }

/* --- ЭТАПЫ РАБОТЫ --- */
.process-section { padding: 120px 0; background: var(--bg-main); border-bottom: 1px solid var(--border); }
.process-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; }
.process-step { border-top: 2px solid var(--border); padding-top: 22px; transition: border-color 0.3s; }
.process-step:hover { border-top-color: var(--accent-medium); }
.process-num { font-size: 12px; font-weight: 700; letter-spacing: 1.5px; color: var(--accent-medium); margin-bottom: 12px; }
.process-title { font-size: 17px; font-weight: 700; line-height: 1.3; margin-bottom: 10px; }
.process-desc { font-size: 13.5px; line-height: 1.55; color: var(--text-muted); }
.process-foot { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; margin-top: 40px; font-size: 14px; color: var(--text-muted); }
.process-foot a { color: var(--accent-medium); font-weight: 700; text-decoration: none; border-bottom: 1px solid currentColor; }
.process-foot a:hover { color: var(--accent-dark); }

/* --- ГАРАНТИИ --- */
.guarantees-section { padding: 120px 0; background: var(--bg-card); border-bottom: 1px solid var(--border); }
.guarantees-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1px; background: var(--border); border: 1px solid var(--border); }
.guarantee-card { background: var(--bg-card); padding: 34px 32px; }
.guarantee-card h3 { font-size: 18px; font-weight: 700; line-height: 1.35; margin-bottom: 10px; }
.guarantee-card p { font-size: 14px; line-height: 1.6; color: var(--text-muted); }

/* --- FAQ --- */
.faq-section { padding: 120px 0; background: var(--bg-main); border-bottom: 1px solid var(--border); }
.faq-list { max-width: 920px; border-top: 1px solid var(--border); }
.faq-item { border-bottom: 1px solid var(--border); }
.faq-item summary { list-style: none; cursor: pointer; position: relative; padding: 24px 52px 24px 0; font-size: 17px; font-weight: 600; line-height: 1.45; color: var(--text-main); transition: color 0.25s; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-50%); font-size: 22px; font-weight: 400; color: var(--text-muted); transition: transform 0.3s, color 0.3s; }
.faq-item[open] summary::after { transform: translateY(-50%) rotate(45deg); color: var(--accent-medium); }
.faq-item summary:hover { color: var(--accent-medium); }
.faq-answer { padding: 0 52px 26px 0; max-width: 860px; font-size: 15px; line-height: 1.65; color: var(--text-muted); }
.faq-answer a { color: var(--accent-medium); }

/* --- ФИНАЛЬНЫЙ ПРИЗЫВ --- */
.cta-band { padding: 72px 0; background: var(--accent-dark); color: #FFFFFF; }
.cta-band-inner { display: flex; align-items: center; justify-content: space-between; gap: 40px; flex-wrap: wrap; }
.cta-band h2 { max-width: 660px; font-size: 34px; font-weight: 800; line-height: 1.15; letter-spacing: -0.8px; }
.cta-band p { max-width: 580px; margin-top: 12px; font-size: 15px; line-height: 1.6; opacity: 0.78; }
.cta-band-actions { flex-shrink: 0; }
.cta-band .btn-action { background: #FFFFFF; color: var(--accent-dark); border-right-color: rgba(43, 81, 58, 0.25); }
.cta-band .cta-phone { display: block; margin-top: 14px; font-size: 15px; font-weight: 700; color: #FFFFFF; text-decoration: none; opacity: 0.85; transition: opacity 0.25s; }
.cta-band .cta-phone:hover { opacity: 1; }
[data-theme="dark"] .cta-band { background: var(--bg-card); color: var(--text-main); border-top: 1px solid var(--border); }
[data-theme="dark"] .cta-band .btn-action { background: var(--accent-medium); color: var(--bg-main); }
[data-theme="dark"] .cta-band .cta-phone { color: var(--text-main); }

/* --- АДАПТИВНОСТЬ --- */
/* Меню сворачивается в бургер раньше 992px, иначе шапка сжимается и «плывёт» */
@media (max-width: 1199px) {
    .nav-minimal { display: none; }
    .burger-btn { display: flex; }
    .nav-minimal.mobile-active { display: flex; position: fixed; top: 0; left: 0; right: 0; height: 100vh; background-color: var(--bg-card); flex-direction: column; justify-content: center; align-items: center; gap: 28px; z-index: 101; }
    .nav-minimal.mobile-active a { display: block; height: auto; font-size: 20px; letter-spacing: 2px; }
    .nav-minimal.mobile-active .nav-phone { display: inline-flex; height: auto; color: var(--text-main); font-size: 20px; letter-spacing: 1px; }
    .nav-minimal.mobile-active .nav-cta { display: inline-flex; width: auto; height: auto; padding: 14px 28px; font-size: 12px; }
}

/* 992–1199px: в шапке остаются телефон и кнопка, ссылки уходят в бургер */
@media (min-width: 992px) and (max-width: 1199px) {
    .header-divider { display: none; }
    .nav-minimal.mobile-active .nav-phone,
    .nav-minimal.mobile-active .nav-cta { display: none; }
}

@media (max-width: 992px) {
    .container { padding: 0 20px; }
    .header-inner { height: 68px; }
    .header-controls { gap: 14px; }
    .header-phone, .header-cta, .header-divider { display: none; }

    .hero-modern { padding: 160px 0 80px 0; }
    .hero-grid { grid-template-columns: 1fr; gap: 40px; }
    .hero-left h1 { font-size: clamp(28px, 9vw, 40px); margin-bottom: 24px; word-break: break-word; hyphens: auto; }
    
    .btn-group { flex-direction: column; gap: 12px; }
    .btn-action, .btn-outline { width: 100%; text-align: center; justify-content: center; padding: 16px 20px; }
    
    .modern-services .acc-title { font-size: 18px; }
    .acc-trigger { grid-template-columns: 0.15fr 1fr 0.15fr; padding: 24px 0; }
    .acc-content-grid { grid-template-columns: 1fr; gap: 20px; padding-left: 0; }
    
    .cases-grid { grid-template-columns: 1fr; }

    .stats-grid { grid-template-columns: repeat(2, 1fr); gap: 30px 0; }
    .stat-item { padding: 0 22px; }
    .stat-item:nth-child(2n + 1) { border-left: none; padding-left: 0; }
    .stat-value { font-size: 34px; }

    .packages-grid { grid-template-columns: 1fr; gap: 18px; }
    .process-grid { grid-template-columns: repeat(2, 1fr); gap: 28px 24px; }
    .guarantees-grid { grid-template-columns: 1fr; }
    .stats-strip { padding: 44px 0; }
    .packages-section, .process-section, .guarantees-section, .faq-section { padding: 80px 0; }
    .section-head { margin-bottom: 40px; }
    .cta-band { padding: 56px 0; }
    .cta-band h2 { font-size: 27px; }
    .cta-band-inner { gap: 28px; }
    .cta-band-actions { width: 100%; }
    
    .strip-grid { grid-template-columns: 1fr; gap: 30px; }
    .strip-left h2 { font-size: 30px; }
    
    .footer-grid { grid-template-columns: 1fr; gap: 35px; }
    .footer-bottom { flex-direction: column; gap: 15px; text-align: center; }
    .footer-bottom-links { flex-direction: column; gap: 10px; }
    
    .modal-box { padding: 30px 20px; }
}

@media (max-width: 576px) {
    .process-grid { grid-template-columns: 1fr; gap: 24px; }
    .stat-value { font-size: 30px; }
    .stat-item { padding: 0 16px; }
    .stat-desc { font-size: 12.5px; }
    .faq-item summary { font-size: 15.5px; padding-right: 40px; }
    .faq-answer { padding-right: 0; font-size: 14px; }
    .guarantee-card { padding: 26px 22px; }
    .package-card { padding: 28px 22px 24px 22px; }
    .cookie-banner {
        left: 12px;
        right: 12px;
        bottom: 12px;
        max-width: none;
        padding: 16px;
    }
    .cookie-btn-wrap {
        flex-direction: column;
    }
}
    

/* ==========================================================================
   СТРАНИЦЫ УСЛУГ
   ========================================================================== */

/* --- ВЕРХНИЙ БЛОК --- */
.page-hero { padding: 158px 0 72px 0; background-color: var(--bg-main); border-bottom: 1px solid var(--border); }

.breadcrumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-bottom: 30px; font-size: 12px; line-height: 1.4; letter-spacing: 0.3px; color: var(--text-muted); }
.breadcrumbs a { color: var(--text-muted); text-decoration: none; transition: color 0.25s; }
.breadcrumbs a:hover { color: var(--accent-medium); }
.breadcrumbs .sep { color: var(--border); font-size: 13px; }
.breadcrumbs [aria-current="page"] { color: var(--text-main); font-weight: 600; }

.page-hero h1 { max-width: 900px; font-size: clamp(30px, 4.6vw, 52px); font-weight: 800; line-height: 1.08; letter-spacing: -1.4px; margin-bottom: 24px; }
.page-hero-lead { max-width: 720px; font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; font-size: 17.5px; line-height: 1.65; color: var(--text-muted); }
.page-hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 16px; margin-top: 34px; }

.page-facts { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-top: 48px; background-color: var(--border); border: 1px solid var(--border); }
.page-fact { background-color: var(--bg-card); padding: 22px 24px; }
.page-fact dt { margin-bottom: 8px; font-size: 10.5px; font-weight: 700; line-height: 1.3; letter-spacing: 1.2px; text-transform: uppercase; color: var(--text-muted); }
.page-fact dd { font-size: 15px; font-weight: 600; line-height: 1.35; color: var(--text-main); }

/* --- СТАТЬЯ + БОКОВАЯ КАРТОЧКА --- */
.article-section { padding: 96px 0 104px 0; background-color: var(--bg-card); border-bottom: 1px solid var(--border); }
.article-grid { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 72px; align-items: start; }

.prose { max-width: 780px; }
.prose > *:first-child { margin-top: 0; }
.prose h2 { margin: 56px 0 18px 0; font-size: 28px; font-weight: 800; line-height: 1.2; letter-spacing: -0.6px; color: var(--text-main); }
.prose h3 { margin: 32px 0 10px 0; font-size: 18.5px; font-weight: 700; line-height: 1.3; color: var(--text-main); }
.prose p { margin-bottom: 16px; font-size: 16px; line-height: 1.72; color: var(--text-muted); }
.prose strong { color: var(--text-main); font-weight: 700; }
.prose a { color: var(--accent-medium); font-weight: 600; text-decoration: none; border-bottom: 1px solid currentColor; }
.prose a:hover { color: var(--accent-dark); }

.prose ul,
.prose ol { margin: 10px 0 26px 0; list-style: none; display: grid; gap: 12px; }
.prose ul li,
.prose ol li { position: relative; padding-left: 26px; font-size: 15.5px; line-height: 1.65; color: var(--text-main); }
.prose ul li::before { content: "—"; position: absolute; left: 0; top: 0; color: var(--accent-medium); font-weight: 900; }
.prose ol { counter-reset: prose-step; }
.prose ol li { counter-increment: prose-step; padding-left: 46px; }
.prose ol li::before { content: counter(prose-step, decimal-leading-zero); position: absolute; left: 0; top: 2px; font-size: 12px; font-weight: 700; letter-spacing: 1px; color: var(--accent-medium); }

.note-box { margin: 30px 0; padding: 24px 28px; background-color: var(--bg-main); border-left: 3px solid var(--accent-medium); }
.note-box .note-title { margin-bottom: 8px; font-size: 11px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; color: var(--accent-medium); }
.note-box p { margin-bottom: 10px; font-size: 15px; line-height: 1.65; }
.note-box p:last-child { margin-bottom: 0; }

/* --- БОКОВАЯ КАРТОЧКА --- */
.aside-card { position: sticky; top: 104px; padding: 30px 28px; background-color: var(--bg-main); border: 1px solid var(--border); }
.aside-card h2 { margin-bottom: 12px; font-size: 21px; font-weight: 800; line-height: 1.25; letter-spacing: -0.4px; }
.aside-card > p { font-size: 14px; line-height: 1.65; color: var(--text-muted); }
.aside-card .btn-action { width: 100%; margin-top: 22px; padding: 16px 20px; font-size: 12px; letter-spacing: 0.8px; }
.aside-phone { display: block; margin-top: 14px; text-align: center; font-size: 15px; font-weight: 700; color: var(--text-main); text-decoration: none; transition: color 0.25s; }
.aside-phone:hover { color: var(--accent-medium); }
.aside-list { display: grid; gap: 10px; margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--border); list-style: none; }
.aside-list li { position: relative; padding-left: 18px; font-size: 13px; line-height: 1.5; color: var(--text-muted); }
.aside-list li::before { content: "—"; position: absolute; left: 0; color: var(--accent-medium); font-weight: 900; }

/* --- СМЕЖНЫЕ НАПРАВЛЕНИЯ --- */
.related-section { padding: 80px 0; background-color: var(--bg-main); border-bottom: 1px solid var(--border); }
.related-section .section-head { margin-bottom: 36px; }
.related-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.related-card { display: block; padding: 28px 26px; background-color: var(--bg-card); border: 1px solid var(--border); color: var(--text-main); text-decoration: none; transition: border-color 0.3s, transform 0.3s; }
.related-card:hover { border-color: var(--accent-medium); transform: translateY(-3px); }
.related-kicker { display: block; margin-bottom: 10px; font-size: 10.5px; font-weight: 700; letter-spacing: 1.3px; text-transform: uppercase; color: var(--accent-medium); }
.related-card h3 { margin-bottom: 8px; font-size: 17px; font-weight: 700; line-height: 1.35; }
.related-card p { font-size: 13.5px; line-height: 1.6; color: var(--text-muted); }

/* --- ССЫЛКА «ПОДРОБНЕЕ» В АККОРДЕОНЕ НА ГЛАВНОЙ --- */
.acc-more { display: inline-flex; align-items: center; gap: 8px; margin: 4px 0 0 8%; font-size: 13px; font-weight: 700; letter-spacing: 0.3px; color: var(--accent-medium); text-decoration: none; border-bottom: 1px solid currentColor; transition: color 0.25s; }
.acc-more:hover { color: var(--accent-dark); }

@media (max-width: 992px) {
    .page-hero { padding: 126px 0 56px 0; }
    .page-hero h1 { margin-bottom: 18px; }
    .page-hero-lead { font-size: 16px; }
    .page-facts { grid-template-columns: repeat(2, 1fr); margin-top: 36px; }
    .page-fact { padding: 18px 20px; }

    .article-section { padding: 64px 0 72px 0; }
    .article-grid { grid-template-columns: 1fr; gap: 44px; }
    .prose h2 { margin-top: 44px; font-size: 24px; }
    .aside-card { position: static; }
    .acc-more { margin-left: 0; }

    .related-section { padding: 64px 0; }
    .related-grid { grid-template-columns: 1fr; gap: 16px; }
}

@media (max-width: 576px) {
    .page-facts { grid-template-columns: 1fr; }
    .page-hero-actions .btn-action,
    .page-hero-actions .btn-outline { width: 100%; }
    .prose h2 { font-size: 22px; }
    .prose h3 { font-size: 17px; }
    .prose p { font-size: 15.5px; }
    .note-box { padding: 20px 22px; }
    .aside-card { padding: 24px 22px; }
}
