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

:root {
  --bg: #000;
  --bg-soft: #0a0a0a;
  --bg-card: #0d0d0d;
  --bg-elevated: #121212;
  --gold: #c5a059;
  --gold-light: #d4b06a;
  --gold-dim: rgba(197, 160, 89, .15);
  --text: #fff;
  --text-muted: #929292;
  --border: #2a2a2a;
  --danger: #e87878;
  --success: #77c28b;
  --radius: 4px;
  --radius-lg: 8px;
  --header-h: 80px;
  --container-padding: clamp(24px, 4vw, 80px);
  --transition: .3s ease;
  --font: 'Montserrat', -apple-system, BlinkMacSystemFont, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { min-width: 320px; overflow-x: hidden; background: var(--bg); color: var(--text); font: 17px/1.65 var(--font); }
body.menu-open, body.lead-success-open { overflow: hidden; }
main { width: 100%; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; transition: color var(--transition); }
a:hover { color: var(--gold); }
.container { width: 100%; padding-inline: var(--container-padding); margin-inline: auto; }
.section { width: 100%; padding: 80px 0; }
.section--dark { background: var(--bg-soft); }
.section__label { display: block; margin-bottom: 12px; color: var(--gold); font-size: 14px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.section__title { margin-bottom: 48px; font-size: clamp(28px, 3.5vw, 42px); line-height: 1.2; letter-spacing: .08em; text-align: center; text-transform: uppercase; }
.section__title--left { text-align: left; }
.section__subtitle { max-width: 560px; margin: -32px auto 48px; color: var(--text-muted); text-align: center; }
.section-heading { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin-bottom: 40px; }
.section-heading .section__title { margin: 0; }
.gold { color: var(--gold); }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 15px 28px; border: 1px solid transparent; border-radius: var(--radius); font: 600 14px/1.3 var(--font); letter-spacing: .1em; text-transform: uppercase; cursor: pointer; transition: all var(--transition); }
.btn--gold { border-color: var(--gold); background: var(--gold); color: #000; }
.btn--gold:hover { border-color: var(--gold-light); background: var(--gold-light); color: #000; }
.btn--outline { border-color: var(--gold); background: transparent; color: var(--gold); }
.btn--outline:hover { background: var(--gold-dim); }
.btn--outline-white { border-color: rgba(255, 255, 255, .4); background: transparent; color: #fff; }
.btn:disabled { opacity: .65; cursor: wait; }

.header { position: fixed; inset: 0 0 auto; z-index: 1000; height: var(--header-h); border-bottom: 1px solid var(--border); background: rgba(0, 0, 0, .85); backdrop-filter: blur(12px); }
.header__inner { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; height: 100%; gap: 24px; }
.logo { display: inline-flex; gap: .25em; font-size: 22px; font-weight: 700; line-height: 1; letter-spacing: .15em; text-transform: uppercase; white-space: nowrap; }
.logo span { font-weight: 300; }
.nav { justify-self: center; }
.nav__list { display: flex; align-items: center; gap: 24px; list-style: none; }
.nav__link { position: relative; font-size: 13px; font-weight: 500; letter-spacing: .09em; text-transform: uppercase; }
.nav__link:hover, .nav__link.active { color: var(--gold); }
.nav__link--dropdown::after { content: '▾'; margin-left: 4px; font-size: 11px; }
.nav__item--dropdown.is-open .nav__link--dropdown::after { content: '▴'; }
.nav__item--dropdown { position: static; }
.header__actions { display: flex; align-items: center; gap: 16px; }
.header__phone { font-size: 14px; white-space: nowrap; }
.burger { display: none; flex-direction: column; gap: 5px; padding: 5px; border: 0; background: none; cursor: pointer; }
.burger span { width: 24px; height: 2px; background: #fff; transition: transform var(--transition); }
.burger.is-open span:first-child { transform: translateY(7px) rotate(45deg); }
.burger.is-open span:nth-child(2) { opacity: 0; }
.burger.is-open span:last-child { transform: translateY(-7px) rotate(-45deg); }

.mega-menu { position: absolute; top: calc(100% + 1px); left: 50%; width: min(calc(100vw - var(--container-padding) * 2), 1600px); padding: 32px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--bg-elevated); box-shadow: 0 24px 48px rgba(0, 0, 0, .6); opacity: 0; visibility: hidden; pointer-events: none; transform: translateX(-50%); transition: opacity .25s ease, visibility .25s ease; }
.mega-menu::before { content: ''; position: absolute; top: -32px; left: 50%; width: 100vw; height: 32px; transform: translateX(-50%); }
.nav__item--dropdown.is-open .mega-menu { opacity: 1; visibility: visible; pointer-events: auto; }
.mega-menu__grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; }
.mega-menu__col-title { display: flex; align-items: center; gap: 8px; margin-bottom: 16px; color: var(--gold); font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.mega-menu__col-title svg { width: 18px; height: 18px; flex-shrink: 0; }
.mega-menu__links { list-style: none; }
.mega-menu__links li { margin-bottom: 10px; }
.mega-menu__links a { display: block; font-size: 14px; color: var(--text); }
.mega-menu__links a:hover { color: var(--gold); }
.mega-menu__links small { display: block; margin-top: 2px; color: var(--text-muted); font-size: 11px; }
.mega-menu__col-img { margin-top: 16px; aspect-ratio: 16 / 10; border-radius: var(--radius); background-position: center; background-size: cover; }
.mega-menu__footer { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--border); }
.mega-menu__features { display: flex; flex-wrap: wrap; gap: 24px; }
.mega-menu__feature { display: flex; align-items: center; gap: 8px; color: var(--gold); font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.mega-menu__feature svg { width: 16px; height: 16px; flex-shrink: 0; }

.mobile-nav { position: fixed; inset: 0; z-index: 999; overflow-y: auto; padding: calc(var(--header-h) + 24px) 24px 24px; background: rgba(0, 0, 0, .97); transform: translateX(100%); transition: transform var(--transition); }
.mobile-nav.is-open { transform: translateX(0); }
.mobile-nav__list { list-style: none; }
.mobile-nav__list > li { border-bottom: 1px solid var(--border); }
.mobile-nav__list a { display: block; padding: 15px 0; font-size: 15px; letter-spacing: .1em; text-transform: uppercase; }
.mobile-nav__services { padding: 0 0 10px 16px; }
.mobile-nav__services a { padding: 7px 0; color: var(--text-muted); font-size: 14px; letter-spacing: 0; text-transform: none; }

.hero { position: relative; min-height: 100vh; overflow: hidden; padding-top: var(--header-h); }
.hero__bg { position: absolute; inset: 0; background: radial-gradient(ellipse 55% 70% at 82% 45%, rgba(197, 160, 89, .12), transparent 55%), linear-gradient(105deg, #000, #0a0a0a 45%, #050505); }
.hero__bg--main {
  background-image: url('/assets/hero-main.jpg');
  background-position: right center;
  background-size: cover;
}
.hero__bg--main::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, rgba(0, 0, 0, .95), rgba(0, 0, 0, .65) 50%, rgba(0, 0, 0, .25));
}
.hero__bg--product {
  background-image: url('/assets/hero-product.jpg');
  background-position: center;
  background-size: cover;
}
.hero__bg--product::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(105deg, rgba(0, 0, 0, .95), rgba(0, 0, 0, .65) 50%, rgba(0, 0, 0, .25));
}
.hero__bg--photo { background-image: var(--hero-photo); background-position: center; background-size: cover; }
.hero__bg--photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(105deg, rgba(0, 0, 0, .95), rgba(0, 0, 0, .65) 50%, rgba(0, 0, 0, .25)); }
.hero__inner { position: relative; z-index: 1; display: flex; align-items: center; min-height: calc(100vh - var(--header-h)); padding-block: 60px; }
.hero__content { max-width: 720px; }
.hero__label { margin-bottom: 16px; color: var(--gold); font-size: 15px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.hero__title { margin-bottom: 18px; font-size: clamp(36px, 5vw, 62px); line-height: 1.14; letter-spacing: .055em; text-transform: uppercase; }
.hero__subtitle { margin-bottom: 20px; color: var(--gold); font-size: clamp(23px, 3vw, 35px); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.hero__text { max-width: 600px; margin-bottom: 32px; color: var(--text-muted); line-height: 1.75; }
.hero__actions { display: flex; flex-wrap: wrap; gap: 16px; }
.hero--service { min-height: 82vh; }
.hero--service .hero__inner { min-height: calc(82vh - var(--header-h)); }
.breadcrumbs { margin-bottom: 22px; color: var(--text-muted); font-size: 14px; }
.breadcrumbs a:hover { color: var(--gold); }

.page-hero { padding: calc(var(--header-h) + 70px) 0 70px; }
.page-hero--split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 48px; }
.page-hero__visual { aspect-ratio: 16/10; border-radius: var(--radius-lg); background: radial-gradient(ellipse at 65% 35%, rgba(197, 160, 89, .14), transparent 60%), linear-gradient(145deg, #16130d, #050505); background-position: center; background-size: cover; }
.page-hero__visual--about { background-image: url('/assets/hero-about.jpg'); }
.page-hero__visual--contact { background-image: url('/assets/hero-contact.jpg'); }
.page-hero__visual--data { background-image: url('/assets/hero-data.jpg'); }
.page-hero__visual--contact-sidebar { background-image: url('/assets/contact-visual.jpg'); }
.page-hero__content .hero__title { font-size: clamp(34px, 4vw, 54px); }

.trust-bar, .stats-bar { padding: 28px 0; border-block: 1px solid var(--border); background: var(--bg-soft); }
.trust-bar__grid, .stats-bar__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.trust-bar__item, .stat-item { display: flex; align-items: center; gap: 14px; }
.trust-bar__icon, .stat-item__icon, .feature-item__icon { width: 40px; height: 40px; flex-shrink: 0; object-fit: contain; }
.doc-item__download-icon { width: 28px; height: 28px; object-fit: contain; transition: transform var(--transition); }
.doc-item__download:hover .doc-item__download-icon { transform: translateY(-2px); }
.contact-list__icon, .footer__contact-icon { width: 20px; height: 20px; flex-shrink: 0; object-fit: contain; opacity: .9; }
.contact-list li, .footer__contact-item { display: flex; align-items: flex-start; gap: 10px; }
.partner-card__logo-img { max-width: 120px; max-height: 42px; margin: 0 auto 10px; object-fit: contain; }
.trust-bar__title { margin-bottom: 3px; color: var(--gold); font-size: 13px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.trust-bar__text, .stat-item__label { color: var(--text-muted); font-size: 14px; }
.stat-item__value { font-size: 27px; font-weight: 700; letter-spacing: .05em; }

.cards-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.card, .news-card { overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--bg-card); transition: border-color var(--transition), transform var(--transition); }
.card:hover, .news-card:hover { border-color: var(--gold); transform: translateY(-2px); }
.card__img { display: block; aspect-ratio: 16/10; background-position: center; background-size: cover; }
.card__img--1 { background-image: url('/assets/card-1.jpg'); }
.card__img--2 { background-image: url('/assets/card-2.jpg'); }
.card__img--3 { background-image: url('/assets/card-3.jpg'); }
.card__img--4 { background-image: url('/assets/card-4.jpg'); }
.card__img--5 { background-image: url('/assets/card-5.jpg'); }
.card__img--6 { background-image: url('/assets/card-6.jpg'); }
.card__img--7 { background-image: url('/assets/card-7.jpg'); }
.card__img--8 { background-image: url('/assets/card-8.jpg'); }
.card__img--ppf-1 { background-image: url('/assets/ppf-1.jpg'); }
.card__img--ppf-2 { background-image: url('/assets/ppf-2.jpg'); }
.card__img--ppf-3 { background-image: url('/assets/ppf-3.jpg'); }
.card__img--ppf-4 { background-image: url('/assets/ppf-4.jpg'); }
.card__body { padding: 22px; }
.card__title { margin-bottom: 12px; font-size: 16px; line-height: 1.45; letter-spacing: .07em; text-transform: uppercase; }
.card__text { margin-bottom: 16px; color: var(--text-muted); font-size: 15px; line-height: 1.65; }
.card__price { margin: 10px 0; color: var(--gold); font-size: 22px; font-weight: 700; }
.card__link { display: inline-flex; align-items: center; gap: 7px; color: var(--gold); font-size: 13px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.card__link::after { content: '→'; }
.empty-state { grid-column: 1 / -1; padding: 40px; border: 1px solid var(--border); color: var(--text-muted); text-align: center; }

.features-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; text-align: center; }
.feature-item { padding: 20px; }
.feature-item__icon { margin: 0 auto 14px; }
.feature-item__title { margin-bottom: 10px; color: var(--gold); font-size: 14px; letter-spacing: .1em; text-transform: uppercase; }
.feature-item__text { color: var(--text-muted); font-size: 15px; }
.gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.gallery-item { position: relative; aspect-ratio: 4/3; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-lg); background: linear-gradient(145deg, #18150f, #080808); background-size: cover; background-position: center; }
.gallery-item--studio-1 { background-image: url('/assets/gallery-1.jpg'); }
.gallery-item--studio-2 { background-image: url('/assets/gallery-2.jpg'); }
.gallery-item--studio-3 { background-image: url('/assets/gallery-3.jpg'); }
.gallery-item--studio-4 { background-image: url('/assets/gallery-4.jpg'); }
.gallery-item__image { width: 100%; height: 100%; object-fit: cover; }
.gallery-item__content { position: absolute; inset: auto 0 0; padding: 40px 18px 18px; background: linear-gradient(transparent, rgb(0 0 0 / 88%)); }
.gallery-item__category { color: var(--gold); font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.gallery-item__title { margin-top: 5px; font-size: 14px; letter-spacing: .05em; text-transform: uppercase; }
.gallery-item__description { margin-top: 6px; color: var(--text-muted); font-size: 12px; line-height: 1.45; }
.steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; }
.step__num { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: 16px; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold); font-weight: 700; }
.step__title { margin-bottom: 8px; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; }
.step__text { color: var(--text-muted); font-size: 14px; }

.team-grid, .partners-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.team-card__photo { aspect-ratio: 3/4; margin-bottom: 12px; border-radius: var(--radius-lg); background: linear-gradient(155deg, #1a1711, #080808); }
.team-card__name { font-size: 15px; letter-spacing: .08em; text-transform: uppercase; }
.team-card__role { margin-top: 3px; color: var(--text-muted); font-size: 13px; }
.partner-card { padding: 30px 18px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--bg-card); text-align: center; }
.partner-card__logo { margin-bottom: 10px; font-size: 18px; font-weight: 700; }
.partner-card__text { color: var(--text-muted); font-size: 13px; }

.contact-section { display: grid; grid-template-columns: 1fr 1fr; min-height: 560px; }
.contact-form-wrap { display: flex; flex-direction: column; justify-content: center; padding: clamp(36px, 5vw, 70px); background: var(--bg-card); }
.contact-visual { min-height: 520px; background-image: url('/assets/form-visual.jpg'); background-position: center right; background-size: cover; }
.form-group { margin-bottom: 17px; }
.form-group label { display: block; margin-bottom: 7px; color: var(--text-muted); font-size: 13px; font-weight: 500; letter-spacing: .07em; text-transform: uppercase; }
.form-control { width: 100%; padding: 14px 16px; border: 1px solid var(--border); border-radius: var(--radius); outline: 0; background: #000; color: #fff; font: 16px var(--font); transition: border-color var(--transition), box-shadow var(--transition); }
.form-control:focus { border-color: var(--gold); box-shadow: 0 0 0 3px var(--gold-dim); }
.form-control.is-invalid { border-color: var(--danger); box-shadow: 0 0 0 2px rgba(232, 120, 120, .12); }
.form-control[readonly] { color: var(--text-muted); cursor: default; }
textarea.form-control { min-height: 120px; resize: vertical; }
select.form-control { appearance: none; padding-right: 40px; background-image: linear-gradient(45deg, transparent 50%, var(--gold) 50%), linear-gradient(135deg, var(--gold) 50%, transparent 50%); background-position: calc(100% - 19px) 50%, calc(100% - 14px) 50%; background-repeat: no-repeat; background-size: 5px 5px; }
.form-error { margin-top: 6px; color: var(--danger); font-size: 13px; }
.form-submit { width: 100%; }
.consent label { display: flex; align-items: flex-start; gap: 10px; color: var(--text-muted); font-size: 12px; line-height: 1.5; letter-spacing: 0; text-transform: none; cursor: pointer; }
.consent input { flex: 0 0 auto; margin-top: 3px; accent-color: var(--gold); }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; opacity: 0 !important; pointer-events: none !important; }

.two-col, .article-layout, .requisites-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 380px); align-items: start; gap: 54px; }
.contact-list { list-style: none; }
.contact-list li { margin-bottom: 20px; }
.contact-list__label { margin-bottom: 3px; color: var(--text-muted); font-size: 12px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; }
.sidebar-card { padding: 32px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--bg-card); text-align: center; }
.sidebar-card__logo { margin-bottom: 16px; color: var(--gold); font-size: 27px; font-weight: 700; letter-spacing: .13em; }
.sidebar-card__divider { width: 60px; height: 1px; margin: 0 auto 18px; background: var(--gold); }
.sidebar-card__text { margin-bottom: 22px; color: var(--text-muted); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.sidebar-card .contact-list__label { margin-top: 18px; }
.sidebar-card .btn { width: 100%; margin-top: 24px; }

.map-section { position: relative; height: 420px; overflow: hidden; background: #111; }
.map-section__overlay { position: absolute; top: 40px; left: var(--container-padding); z-index: 2; width: min(340px, calc(100% - 48px)); padding: 28px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--bg-card); }
.map-section__overlay .btn { width: 100%; }
.map-embed, .map-embed iframe { width: 100%; height: 100%; border: 0; }
.map-embed iframe { filter: brightness(.85) saturate(.75); }

.data-table { width: 100%; margin-bottom: 36px; border-collapse: collapse; }
.data-table caption { margin-bottom: 14px; color: var(--gold); font-size: 14px; font-weight: 600; letter-spacing: .1em; text-align: left; text-transform: uppercase; }
.data-table tr { border-bottom: 1px solid var(--border); }
.data-table td { padding: 13px 0; vertical-align: top; font-size: 14px; }
.data-table td:first-child { width: 40%; padding-right: 20px; color: var(--text-muted); }
.doc-list { list-style: none; }
.doc-item { display: flex; align-items: center; gap: 14px; padding: 15px 0; border-bottom: 1px solid var(--border); }
.doc-item__info { flex: 1; }
.doc-item__download { display: inline-flex; flex-shrink: 0; }
.doc-item__name { font-size: 14px; }
.doc-item__meta { color: var(--text-muted); font-size: 12px; }

.news-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.news-card { position: relative; padding: 26px; }
.news-card__image { display: block; aspect-ratio: 16/9; margin: -26px -26px 24px; background-position: center; background-size: cover; }
.news-card__meta { margin-bottom: 12px; color: var(--text-muted); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.promotion-badge { display: inline-flex; margin-bottom: 16px; padding: 7px 11px; border: 1px solid var(--gold); border-radius: 100px; color: var(--gold); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.article-header { max-width: 980px; }
.article-cover { aspect-ratio: 21/9; border-radius: var(--radius-lg); background-position: center; background-size: cover; }
.article-content { min-width: 0; }
.prose { color: #d0d0d0; line-height: 1.9; white-space: normal; }
.prose p, .prose ul, .prose ol, .prose h2, .prose h3 { margin-bottom: 1.3em; }
.prose h2, .prose h3 { color: #fff; line-height: 1.35; }
.news-detail__hero { padding: calc(var(--header-h) + 58px) 0 34px; }
.news-detail__header { max-width: 900px; }
.news-detail__header .breadcrumbs { margin-bottom: 26px; }
.news-detail__header .hero__title { max-width: 850px; margin-bottom: 20px; font-size: clamp(38px, 5vw, 66px); line-height: 1.08; }
.news-detail__header .hero__text { max-width: 720px; margin-bottom: 0; color: #b4b4b4; font-size: clamp(16px, 1.5vw, 19px); line-height: 1.7; }
.news-detail__meta { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; color: var(--gold); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.news-detail__meta::before { width: 36px; height: 1px; background: var(--gold); content: ''; }
.news-detail__cover-wrap { margin-top: 10px; }
.news-detail__cover { aspect-ratio: 21/9; overflow: hidden; border: 1px solid var(--border); border-radius: var(--radius-lg); background-position: center; background-size: cover; box-shadow: 0 24px 60px rgb(0 0 0 / 35%); }
.news-detail__body { padding: 26px 0 92px; }
.news-detail__body--with-cover { padding-top: 56px; }
.news-detail__layout { display: grid; grid-template-columns: minmax(0, 760px) minmax(270px, 330px); align-items: start; justify-content: center; gap: clamp(48px, 7vw, 100px); }
.article-prose { min-width: 0; color: #d4d4d4; font-size: clamp(17px, 1.25vw, 19px); line-height: 1.85; }
.article-prose > * + * { margin-top: 1.45em; }
.article-prose p:empty { display: none; }
.article-prose h2, .article-prose h3, .article-prose h4 { margin-top: 2em; color: #fff; font-weight: 600; line-height: 1.3; letter-spacing: .03em; }
.article-prose h2 { font-size: clamp(25px, 2.4vw, 34px); }
.article-prose h3 { font-size: clamp(21px, 1.9vw, 27px); }
.article-prose h4 { font-size: 19px; }
.article-prose ul, .article-prose ol { padding-left: 1.35em; }
.article-prose li { padding-left: .35em; }
.article-prose li + li { margin-top: .55em; }
.article-prose li::marker { color: var(--gold); }
.article-prose blockquote { padding: 4px 0 4px 26px; border-left: 2px solid var(--gold); color: #fff; font-size: 1.08em; line-height: 1.7; }
.article-prose a { color: var(--gold-light); text-decoration: underline; text-decoration-color: rgb(197 160 89 / 45%); text-underline-offset: 4px; }
.article-prose a:hover { text-decoration-color: currentcolor; }
.article-prose strong { color: #fff; font-weight: 600; }
.article-prose img { height: auto; border: 1px solid var(--border); border-radius: var(--radius-lg); }
.article-prose hr { height: 1px; border: 0; background: var(--border); }
.news-detail__sidebar { position: sticky; top: calc(var(--header-h) + 28px); padding: 34px 30px 30px; border-color: rgb(197 160 89 / 35%); background: linear-gradient(145deg, rgb(197 160 89 / 8%), transparent 55%), var(--bg-card); box-shadow: 0 20px 50px rgb(0 0 0 / 30%); }
.news-detail__sidebar-label { margin-bottom: 18px; color: var(--gold); font-size: 10px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; }
.news-detail__sidebar .sidebar-card__logo { font-size: 24px; }
.news-detail__back-link { display: inline-block; margin-top: 20px; color: var(--text-muted); font-size: 11px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.news-detail__back-link::before { margin-right: 7px; content: '←'; }
.pagination { margin-top: 40px; }

.footer { padding: 60px 0 24px; border-top: 1px solid var(--border); background: var(--bg-soft); }
.footer__grid { display: grid; grid-template-columns: 1.4fr repeat(4, 1fr); gap: 36px; margin-bottom: 48px; }
.footer__brand p { margin: 16px 0 20px; color: var(--text-muted); font-size: 14px; }
.footer__col-title { margin-bottom: 18px; color: var(--gold); font-size: 12px; letter-spacing: .14em; text-transform: uppercase; }
.footer__links { list-style: none; }
.footer__links li { margin-bottom: 9px; }
.footer__links a, .footer__contact-item { color: var(--text-muted); font-size: 13px; }
.footer__contact-item { margin-bottom: 12px; }
.footer__social { display: flex; gap: 10px; margin-top: 18px; }
.footer__social-link { display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border: 1px solid rgb(255 255 255 / 30%); border-radius: 50%; transition: all var(--transition); }
.footer__social-link:hover { border-color: var(--gold); box-shadow: 0 0 12px rgb(197 160 89 / 40%); }
.footer__social-link svg { width: 16px; height: 16px; }
.footer__bottom { padding-top: 24px; border-top: 1px solid var(--border); color: var(--text-muted); font-size: 12px; text-align: center; }

.cookie-banner { position: fixed; bottom: 24px; left: 50%; z-index: 2000; display: flex; align-items: center; gap: 20px; width: min(calc(100% - 32px), 900px); padding: 20px 24px; border: 1px solid var(--border); border-radius: var(--radius-lg); background: var(--bg-elevated); box-shadow: 0 16px 48px rgba(0, 0, 0, .5); opacity: 0; visibility: hidden; transform: translate(-50%, 130%); transition: all .45s ease; }
.cookie-banner.is-visible { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
.cookie-banner__icon { font-size: 28px; }
.cookie-banner__text { flex: 1; color: var(--text-muted); font-size: 13px; }
.cookie-banner__text a { color: var(--gold); text-decoration: underline; }
.cookie-banner__actions { display: flex; align-items: center; gap: 10px; }
.cookie-banner__close { padding: 4px; border: 0; background: none; color: var(--text-muted); font-size: 27px; cursor: pointer; }

.lead-success-modal { position: fixed; inset: 0; z-index: 3000; display: grid; place-items: center; padding: 24px; background: rgba(0, 0, 0, .78); backdrop-filter: blur(6px); }
.lead-success-modal__dialog { width: min(100%, 520px); padding: clamp(28px, 5vw, 44px); border: 1px solid var(--gold); border-radius: var(--radius-lg); background: var(--bg-elevated); box-shadow: 0 24px 72px rgba(0, 0, 0, .7); text-align: center; }
.lead-success-modal__title { margin-bottom: 16px; color: var(--gold); font-size: clamp(24px, 4vw, 32px); line-height: 1.25; letter-spacing: .08em; text-transform: uppercase; }
.lead-success-modal__text { margin-bottom: 28px; color: var(--text-muted); font-size: 16px; line-height: 1.7; }
.lead-success-modal__close { min-width: 180px; }

@media (max-width: 1200px) {
  .nav__list { gap: 16px; }
  .header__phone { display: none; }
  .mega-menu__grid { gap: 16px; }
  .mega-menu__col-img { margin-top: 12px; }
  .cards-grid { grid-template-columns: repeat(3, 1fr); }
  .footer__grid { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 1024px) {
  .nav, .header__actions .btn { display: none; }
  .header__actions { display: flex; }
  .burger { display: flex; }
  .header__inner { grid-template-columns: 1fr auto; }
  .mega-menu { display: none; }
  .cards-grid, .news-grid { grid-template-columns: repeat(2, 1fr); }
  .features-row, .trust-bar__grid, .stats-bar__grid { grid-template-columns: repeat(2, 1fr); }
  .steps { grid-template-columns: repeat(3, 1fr); }
  .team-grid, .partners-grid { grid-template-columns: repeat(3, 1fr); }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); }
  .page-hero--split, .contact-section, .two-col, .article-layout, .requisites-grid { grid-template-columns: 1fr; }
  .news-detail__layout { grid-template-columns: minmax(0, 760px); }
  .news-detail__sidebar { position: static; width: min(100%, 520px); }
  .footer__grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  :root { --header-h: 70px; }
  body { font-size: 15px; }
  .section { padding: 58px 0; }
  .section__title { margin-bottom: 34px; }
  .hero__actions { flex-direction: column; }
  .hero__actions .btn { width: 100%; }
  .cards-grid, .news-grid, .features-row, .trust-bar__grid, .stats-bar__grid, .steps, .team-grid, .partners-grid, .gallery-grid, .footer__grid { grid-template-columns: 1fr; }
  .page-hero { padding-block: calc(var(--header-h) + 45px) 45px; }
  .page-hero.news-detail__hero { padding: calc(var(--header-h) + 36px) 0 26px; }
  .news-detail__header .breadcrumbs { margin-bottom: 22px; font-size: 12px; }
  .news-detail__header .hero__title { margin-bottom: 16px; font-size: clamp(32px, 11vw, 46px); }
  .news-detail__cover-wrap { margin-top: 2px; }
  .news-detail__cover { aspect-ratio: 16/10; }
  .news-detail__body, .news-detail__body--with-cover { padding: 22px 0 62px; }
  .news-detail__body--with-cover { padding-top: 38px; }
  .news-detail__layout { gap: 46px; }
  .article-prose { font-size: 16px; line-height: 1.8; }
  .article-prose blockquote { padding-left: 18px; }
  .news-detail__sidebar { padding: 30px 24px 26px; }
  .contact-form-wrap { padding: 40px 24px; }
  .contact-visual { min-height: 300px; }
  .section-heading { align-items: flex-start; flex-direction: column; }
  .data-table td { display: block; width: 100% !important; padding: 8px 0; }
  .data-table td:first-child { padding-bottom: 0; }
  .map-section__overlay { top: 20px; left: 20px; }
  .cookie-banner { align-items: stretch; flex-direction: column; text-align: center; }
  .cookie-banner__actions { justify-content: center; }
}
