:root {
  --bg: #f7f8fa;
  --surface: #ffffff;
  --surface-strong: #eef1f5;
  --text: #0f172a;
  --muted: #66758b;
  --border: #dfe4eb;
  --yellow: #fad200;
  --yellow-strong: #b77900;
  --on-yellow: #111827;
  --max: 1280px;
}
html[data-theme="dark"] {
  --bg: #080b11;
  --surface: #0f141d;
  --surface-strong: #151c27;
  --text: #f6f7f9;
  --muted: #9aa7b8;
  --border: #242c38;
  --yellow-strong: #fad200;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--bg); color: var(--text); font: 400 16px/1.55 Manrope,Arial,sans-serif; -webkit-font-smoothing: antialiased; }
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
img { display: block; max-width: 100%; }
.container { width: min(calc(100% - 64px),var(--max)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 100; top: 10px; left: 10px; padding: 10px 14px; transform: translateY(-160%); background: var(--yellow); color: var(--on-yellow); font-weight: 800; }
.skip-link:focus { transform: none; }
.site-header { position: sticky; z-index: 50; top: 0; height: 93px; border-bottom: 1px solid var(--border); background: rgba(255,255,255,.95); transition: transform .24s ease,opacity .24s ease,background-color .2s ease; }
html[data-theme="dark"] .site-header { background: rgba(8,11,17,.94); }
.site-header.is-hidden { transform: translateY(-100%); opacity: 0; pointer-events: none; }
.header-inner { position: relative; height: 93px; display: flex; align-items: center; gap: 26px; }
.brand { width: 142px; height: 41px; display: flex; align-items: center; flex: 0 0 142px; }
.brand img { width: 142px; height: auto; }
.logo-dark { display: none; }
html[data-theme="dark"] .logo-light { display: none; }
html[data-theme="dark"] .logo-dark { display: block; }
.main-nav { margin-left: auto; display: flex; align-items: center; gap: 22px; }
.main-nav a { color: var(--muted); font-size: 13px; font-weight: 700; white-space: nowrap; }
.main-nav a:hover,.main-nav a[aria-current="page"] { color: var(--text); }
.main-nav a[aria-current="page"] { box-shadow: inset 0 -2px var(--yellow); }
.header-tools { display: flex; align-items: center; gap: 10px; }
.error-header-tools { margin-left: auto; }
.catalog-lang,.theme-toggle,.mobile-lang,.menu-toggle { border: 1px solid var(--border); background: transparent; color: var(--muted); }
.catalog-lang { min-width: 89px; height: 54px; display: flex; align-items: center; justify-content: center; gap: 9px; cursor: pointer; }
.catalog-lang button { padding: 0; border: 0; background: transparent; color: inherit; font-size: 11px; font-weight: 800; cursor: pointer; }
.catalog-lang button[aria-pressed="true"] { color: var(--yellow-strong); }
.theme-toggle { min-width: 118px; height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 10px; padding: 0 15px; font-size: 11px; font-weight: 800; text-transform: uppercase; cursor: pointer; }
.theme-toggle svg { color: #d89400; }
.header-catalog,.header-cta { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; padding: 0 20px; font-size: 13px; font-weight: 800; white-space: nowrap; }
.header-cta { background: linear-gradient(90deg,#ffd600,#f59e0b); color: #0f172a; }
.header-catalog { border: 1px solid #1e293b; background: #111827; color: #fff; box-shadow: 0 14px 28px rgba(15,23,42,.18); }
html[data-theme="dark"] .header-catalog { border-color: rgba(250,210,0,.34); background: rgba(255,255,255,.06); }
.mobile-lang,.menu-toggle { display: none; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; font-size: 10px; font-weight: 800; cursor: pointer; }
.menu-toggle svg { width: 20px; height: 20px; }
.header-menu { position: absolute; top: calc(100% + 12px); right: 0; width: min(360px,calc(100vw - 32px)); padding: 10px; border: 1px solid var(--border); background: var(--surface); box-shadow: 0 22px 48px rgba(15,23,42,.16); }
.header-menu[hidden] { display: none; }
.header-menu nav { display: flex; flex-direction: column; }
.header-menu a { min-height: 48px; display: flex; align-items: center; padding: 0 14px; color: var(--text); font-size: 14px; font-weight: 700; }
.header-menu a:hover { background: var(--surface-strong); }
.header-menu .menu-consultation { margin-top: 8px; background: var(--yellow); color: var(--on-yellow); }
.eyebrow { margin: 0 0 20px; color: var(--yellow-strong); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.news-hero { padding: 132px 0 92px; border-bottom: 1px solid var(--border); }
.news-hero-grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); align-items: end; gap: 72px; }
.news-hero-grid > *,.article-hero-grid > * { min-width: 0; }
.news-hero h1 { max-width: 900px; margin: 0; font-size: clamp(58px,7.2vw,104px); line-height: .92; letter-spacing: -.065em; text-wrap: balance; }
.news-hero .lead { max-width: 510px; margin: 0; color: var(--muted); font-size: 19px; }
.news-index { padding: 92px 0 130px; }
.news-index-head { display: flex; align-items: end; justify-content: space-between; gap: 32px; margin-bottom: 42px; }
.news-index-head h2 { max-width: 700px; margin: 0; font-size: clamp(38px,4.6vw,66px); line-height: .98; letter-spacing: -.05em; }
.news-index-head p { max-width: 420px; margin: 0; color: var(--muted); }
.news-grid { display: grid; grid-template-columns: repeat(12,1fr); gap: 14px; }
.news-card { position: relative; min-height: 420px; overflow: hidden; border: 1px solid var(--border); background: var(--surface); transition: transform .25s ease,border-color .25s ease; }
.news-card:hover { transform: translateY(-4px); border-color: var(--yellow-strong); }
.news-card:focus-visible { outline: 2px solid var(--yellow); outline-offset: 4px; }
.news-card--feature { grid-column: span 7; min-height: 590px; background: #0a1018; color: #fff; }
.news-card--side { grid-column: span 5; }
.news-card--wide { grid-column: span 12; min-height: 300px; display: grid; grid-template-columns: 1fr 1fr; }
.news-card-image { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: .76; }
.news-card--feature::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg,rgba(4,8,13,.05),rgba(4,8,13,.92)); }
.news-card-body { position: relative; z-index: 2; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; padding: 34px; }
.news-card--side .news-card-body { justify-content: space-between; }
.news-card--wide .news-card-body { grid-column: 2; justify-content: center; }
.news-meta { display: flex; flex-wrap: wrap; gap: 8px 18px; color: var(--muted); font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.news-card--feature .news-meta { color: var(--yellow); }
.news-card h2,.news-card h3 { max-width: 760px; margin: 16px 0 0; font-size: clamp(27px,3.1vw,46px); line-height: 1.02; letter-spacing: -.04em; text-wrap: balance; }
.news-card--side h2,.news-card--side h3 { font-size: clamp(25px,2.7vw,38px); }
.news-card p { max-width: 660px; margin: 18px 0 0; color: var(--muted); }
.news-card--feature p { color: rgba(255,255,255,.72); }
.news-arrow { align-self: flex-end; width: 46px; height: 46px; display: grid; place-items: center; margin-top: 28px; border: 1px solid currentColor; border-radius: 50%; font-size: 20px; }
.editorial-tile { position: relative; min-height: 190px; overflow: hidden; background: #111827; color: #fff; }
.editorial-tile::before { content: attr(data-mark); position: absolute; right: -12px; bottom: -38px; color: rgba(250,210,0,.13); font-size: 150px; font-weight: 800; letter-spacing: -.09em; }
.editorial-tile span { position: absolute; top: 28px; left: 30px; color: var(--yellow); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.article-hero { padding: 108px 0 74px; border-bottom: 1px solid var(--border); }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 42px; color: var(--muted); font-size: 12px; }
.breadcrumbs a:hover { color: var(--text); }
.article-hero-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(340px,.75fr); align-items: end; gap: 80px; }
.article-hero h1 { max-width: 900px; margin: 18px 0 0; font-size: clamp(48px,6.2vw,86px); line-height: .96; letter-spacing: -.06em; text-wrap: balance; }
.article-hero .lead { max-width: 740px; margin: 28px 0 0; color: var(--muted); font-size: 20px; }
.article-visual { min-height: 410px; display: flex; flex-direction: column; justify-content: space-between; padding: 32px; overflow: hidden; background: #111827; color: #fff; }
.article-visual strong { max-width: 320px; color: var(--yellow); font-size: 13px; letter-spacing: .08em; text-transform: uppercase; }
.article-visual b { align-self: flex-end; color: rgba(250,210,0,.16); font-size: clamp(100px,13vw,190px); line-height: .75; letter-spacing: -.1em; }
.article-content { padding: 84px 0 124px; }
.article-layout { display: grid; grid-template-columns: minmax(0,760px) minmax(260px,360px); justify-content: space-between; gap: 80px; }
.article-copy { font-size: 18px; line-height: 1.75; }
.article-copy p { margin: 0 0 28px; }
.article-copy h2 { margin: 56px 0 22px; font-size: clamp(31px,3.7vw,48px); line-height: 1.06; letter-spacing: -.04em; }
.article-copy ul { margin: 24px 0 30px; padding-left: 24px; }
.article-copy li { margin-bottom: 12px; }
.article-aside { align-self: start; position: sticky; top: 122px; padding: 28px; border-top: 3px solid var(--yellow); background: var(--surface-strong); }
.article-aside strong { display: block; margin-bottom: 10px; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.article-aside p { margin: 0 0 22px; color: var(--muted); font-size: 14px; }
.source-link { display: inline-flex; align-items: center; gap: 12px; font-weight: 800; }
.source-link::after { content: "↗"; color: var(--yellow-strong); }
.back-link { display: inline-flex; align-items: center; gap: 12px; margin-top: 52px; font-weight: 800; }
.back-link::before { content: "←"; color: var(--yellow-strong); }
.error-page { min-height: calc(100dvh - 93px); display: grid; align-items: center; padding: 92px 0 110px; }
.error-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(360px,.95fr); align-items: center; gap: 90px; }
.error-copy h1 { max-width: 780px; margin: 0; font-size: clamp(58px,7vw,102px); line-height: .92; letter-spacing: -.065em; text-wrap: balance; }
.error-copy p { max-width: 600px; margin: 28px 0 0; color: var(--muted); font-size: 19px; }
.error-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 38px; }
.error-button { min-height: 54px; display: inline-flex; align-items: center; justify-content: center; gap: 14px; padding: 0 22px; border: 1px solid var(--border); font-size: 13px; font-weight: 800; transition: transform .2s ease,border-color .2s ease,background-color .2s ease; }
.error-button--primary { border-color: var(--yellow); background: var(--yellow); color: var(--on-yellow); }
.error-button:hover { transform: translateY(-2px); border-color: var(--yellow-strong); }
.error-button:active { transform: translateY(1px); }
.error-button:focus-visible { outline: 2px solid var(--yellow); outline-offset: 3px; }
.error-visual { position: relative; min-height: 480px; display: flex; flex-direction: column; justify-content: space-between; overflow: hidden; padding: 34px; border: 1px solid var(--border); background: #111827; color: #fff; }
.error-visual span { position: relative; z-index: 2; max-width: 260px; color: var(--yellow); font-size: 11px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.error-visual strong { position: absolute; right: -18px; bottom: -58px; color: rgba(250,210,0,.16); font-size: clamp(180px,23vw,340px); line-height: .8; letter-spacing: -.11em; font-variant-numeric: tabular-nums; }
.footer { padding: 54px 0 34px; background: #070a0f; color: #fff; }
.footer-main { display: grid; grid-template-columns: 1fr auto; gap: 60px; align-items: start; }
.footer-brand { max-width: 220px; }
.footer-nav { display: grid; grid-template-columns: repeat(3,minmax(130px,1fr)); gap: 54px; }
.footer-nav div { display: flex; flex-direction: column; gap: 10px; }
.footer-nav strong { margin-bottom: 5px; color: rgba(255,255,255,.45); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.footer-nav a { color: rgba(255,255,255,.76); font-size: 13px; }
.footer-bottom { display: flex; justify-content: space-between; gap: 30px; margin-top: 56px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.42); font-size: 11px; }
@media(max-width:1400px) { .main-nav{display:none}.menu-toggle{display:flex}.header-tools{margin-left:auto} }
@media(max-width:980px) { .news-hero-grid,.article-hero-grid,.article-layout,.error-grid{grid-template-columns:1fr;gap:44px}.news-card--feature,.news-card--side{grid-column:span 12}.news-card--side{min-height:360px}.article-visual{min-height:300px}.article-aside{position:static}.header-cta{display:none}.error-visual{min-height:320px} }
@media(max-width:720px) {
  .container{width:min(calc(100% - 32px),var(--max))}.site-header,.header-inner{height:80px}.header-inner{gap:6px}.brand{width:96px;height:28px;flex-basis:96px}.brand img{width:96px}.header-tools{gap:4px}.catalog-lang{display:none}.error-header-tools .catalog-lang{display:flex;height:38px;min-width:78px}.mobile-lang,.menu-toggle{display:flex;width:38px;height:38px}.theme-toggle{min-width:38px;width:38px;height:38px;padding:0}.theme-toggle span{display:none}.header-catalog{min-height:38px;padding-inline:9px;font-size:0}.header-catalog::before{font-size:11px}.header-menu{left:16px;right:16px;width:auto}
  html[lang="ru"] .header-catalog::before{content:"Каталог"}html[lang="en"] .header-catalog::before{content:"Catalog"}
  .news-hero{padding:82px 0 62px}.news-hero h1{font-size:clamp(46px,13.3vw,54px);overflow-wrap:anywhere}.news-index{padding:64px 0 92px}.news-index-head{display:block}.news-index-head p{margin-top:22px}.news-card,.news-card--feature{min-height:460px}.news-card--wide{display:block;min-height:420px}.news-card-body{padding:26px}
  .article-hero{padding:72px 0 58px}.breadcrumbs{margin-bottom:28px}.article-hero h1{font-size:clamp(43px,13vw,61px)}.article-content{padding:62px 0 90px}.article-copy{font-size:17px}.footer-main{grid-template-columns:1fr}.footer-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:34px 24px}.footer-bottom{flex-direction:column}
  .error-page{padding:66px 0 86px}.error-copy h1{font-size:clamp(48px,14vw,62px)}.error-copy p{font-size:17px}.error-actions{flex-direction:column}.error-button{width:100%}.error-visual{min-height:260px}.error-visual strong{font-size:170px}
}
@media(max-width:390px) { .header-catalog{padding-inline:8px;font-size:11px} }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important} }
