/* === Основные стили макета v2 (вынесены из <style> страниц) === */

    /* ============ ПЕРЕМЕННЫЕ ============ */
    :root {
      --c-primary: #207ed6;
      --c-primary-dark: #1a6cb8;
      --c-secondary: #263876;
      --c-secondary-dark: #1a275a;
      --c-secondary-darker: #131c44;
      --c-gold: #b8924c;
      --c-gold-dark: #957435;
      --c-gold-light: #d4b478;
      --c-bg: #f5f4ef;            /* тёплый, "бумажный" фон */
      --c-bg-alt: #ecebe4;
      --c-surface: #ffffff;
      --c-ink: #181f33;
      --c-ink-soft: #4a566e;
      --c-muted: #8993a8;
      --c-line: #ddd8c8;          /* линии с тёплым оттенком */
      --c-line-soft: #ebe7d8;
      --c-line-cool: #e3e8f1;

      --grad-hero: linear-gradient(135deg, #263876 0%, #1a6cb8 100%);
      --grad-formal: linear-gradient(180deg, #263876 0%, #1a275a 100%);

      --shadow-sm: 0 1px 3px rgba(24, 31, 51, 0.06), 0 1px 2px rgba(24, 31, 51, 0.04);
      --shadow-md: 0 4px 16px rgba(24, 31, 51, 0.08);
      --shadow-lg: 0 14px 38px rgba(24, 31, 51, 0.12);

      --r-xs: 2px;
      --r-sm: 3px;
      --r-md: 4px;
      --r-lg: 6px;

      --ff-display: "PT Serif", Georgia, "Times New Roman", serif;
      --ff-body: "Manrope", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

      --container: 1320px;
      --gutter: 28px;

      --h-topbar: 100px;
      --h-nav: 60px;

      --t-fast: 180ms cubic-bezier(.2,.7,.3,1);
      --t-base: 320ms cubic-bezier(.2,.7,.3,1);
      --t-slow: 600ms cubic-bezier(.2,.7,.3,1);
    }

    /* ============ СБРОС ============ */
    *, *::before, *::after { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      font-family: var(--ff-body);
      font-size: 16px;
      line-height: 1.55;
      color: var(--c-ink);
      background: var(--c-bg);
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      overflow-x: hidden;
    }
    a { color: inherit; text-decoration: none; }
    button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
    img, svg { display: block; max-width: 100%; }
    ul, ol { list-style: none; margin: 0; padding: 0; }
    h1, h2, h3, h4 {
      font-family: var(--ff-display);
      font-weight: 700;
      margin: 0;
      line-height: 1.22;
      letter-spacing: -0.005em;
    }

    .container {
      width: 100%;
      max-width: var(--container);
      margin: 0 auto;
      padding: 0 var(--gutter);
    }

    /* Сдержанная фоновая декорация — едва заметная сетка + мягкие пятна */
    .bg-decor {
      position: fixed; inset: 0; pointer-events: none; z-index: 0;
      background:
        radial-gradient(900px 500px at 90% -10%, rgba(38,56,118,0.06), transparent 65%),
        radial-gradient(700px 400px at -10% 40%, rgba(184,146,76,0.05), transparent 65%);
    }
    .bg-grid {
      position: fixed; inset: 0; pointer-events: none; z-index: 0;
      background-image:
        linear-gradient(rgba(38,56,118,0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(38,56,118,0.025) 1px, transparent 1px);
      background-size: 72px 72px;
      mask-image: radial-gradient(ellipse 90% 70% at 50% 0%, black 25%, transparent 75%);
    }

    /* ============ ОРНАМЕНТЫ ============ */
    .ornament {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: var(--c-gold);
    }
    .ornament::before, .ornament::after {
      content: "";
      width: 36px; height: 1px;
      background: currentColor;
    }
    .ornament__diamond {
      width: 5px; height: 5px;
      background: currentColor;
      transform: rotate(45deg);
    }
    /* Декоративная линия под заголовками секций */
    .gold-rule {
      position: relative;
      height: 1px;
      background: var(--c-gold);
      width: 64px;
      margin-top: 16px;
    }
    .gold-rule::after {
      content: "";
      position: absolute;
      left: 28px; top: 50%;
      width: 8px; height: 8px;
      background: var(--c-gold);
      transform: translateY(-50%) rotate(45deg);
    }

    /* ============ ШАПКА ============ */
    .header {
      position: sticky;
      top: var(--access-toolbar-offset, 0px);
      z-index: 1000;
      background: #fff;
      border-bottom: 1px solid var(--c-line);
    }
    /* Тонкая золотая полоса сверху — формальный акцент */
    .header.is-compact .topbar { display: none; }
    .header::before {
      content: "";
      display: block;
      height: 3px;
      background: linear-gradient(90deg,
        var(--c-secondary) 0%,
        var(--c-secondary) 30%,
        var(--c-gold) 30%,
        var(--c-gold) 70%,
        var(--c-primary) 70%,
        var(--c-primary) 100%);
    }
    .topbar {
      display: grid;
      grid-template-columns: auto 1fr auto;
      align-items: center;
      gap: 28px;
      min-height: var(--h-topbar);
      padding: 16px 0;
    }
    .brand { display: flex; align-items: center; gap: 20px; }
    .brand__logo {
      width: 78px; height: 99px;
      flex: 0 0 85px;
          padding: 7px 10px 7px 9px;
      background: var(--grad-formal);
      position: relative;
      box-shadow: 0 2px 12px rgba(38,56,118,0.18);
      /* border-radius: 2px 2px 38px 38px / 2px 2px 50px 50px; */
      overflow: hidden;
      /* Золотая внутренняя рамка — печать */
    }
    .brand__logo::before {
      content: "";
      position: absolute; inset: 4px;
      border: 1px solid var(--c-gold);
      border-radius: inherit;
      opacity: 0.6;
      pointer-events: none;
    }
    .brand__logo::after {
      content: "";
      position: absolute; inset: 7px;
      border: 1px solid rgba(255,255,255,0.25);
      border-radius: inherit;
      pointer-events: none;
    }
    .brand__logo svg { position: absolute; inset: 0; margin: auto; }

    .brand__text { display: flex; flex-direction: column; gap: 6px; }
    .brand__overline {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      color: var(--c-gold);
      display: inline-flex;
      align-items: center;
      gap: 10px;
    }
    .brand__overline::after {
      content: "";
      flex: 1;
      max-width: 36px;
      height: 1px;
      background: var(--c-gold);
      opacity: 0.5;
    }
    .brand__title {
      font-family: var(--ff-display);
      font-size: 22px;
      font-weight: 700;
      color: var(--c-secondary);
      line-height: 1.18;
      max-width: 480px;
      letter-spacing: -0.005em;
    }

    .top-actions {
      display: flex;
      align-items: center;
      gap: 24px;
      flex-wrap: wrap;
      justify-content: flex-end;
    }
    .top-links { display: flex; gap: 22px; align-items: center; }
    .top-link {
      font-size: 13px;
      font-weight: 500;
      color: var(--c-ink-soft);
      position: relative;
      padding: 6px 0;
      transition: color var(--t-fast);
    }
    .top-link::after {
      content: ""; position: absolute; left: 0; bottom: 2px;
      width: 100%; height: 1px; background: var(--c-gold);
      transform: scaleX(0); transform-origin: right;
      transition: transform var(--t-base);
    }
    .top-link:hover { color: var(--c-secondary); }
    .top-link:hover::after { transform: scaleX(1); transform-origin: left; }
    .top-link--accessibility {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      padding: 7px 14px;
      border: 1px solid var(--c-line);
      border-radius: 2px;
      font-size: 12px;
    }
    .top-link--accessibility:hover { border-color: var(--c-gold); color: var(--c-gold-dark); }
    .top-link--accessibility::after { display: none; }

    .top-divider {
      width: 1px; height: 20px;
      background: var(--c-line);
    }

    .socials { display: flex; gap: 6px; }
    .social {
      width: 36px; height: 36px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 2px;
      background: var(--c-bg-alt);
      color: var(--c-secondary);
      border: 1px solid transparent;
      transition: background var(--t-fast), color var(--t-fast), border-color var(--t-fast);
    }
    .social:hover {
      background: var(--c-secondary);
      color: #fff;
      border-color: var(--c-gold);
    }
    .social svg { width: 17px; height: 17px; }
    .social--max {
      font-weight: 800;
      font-size: 11px;
      letter-spacing: -0.3px;
    }

    /* ============ НАВИГАЦИЯ ============ */
    .nav-wrap {
      position: sticky; top: 0; z-index: 100;
      background: var(--c-secondary);
      transition: background var(--t-base), backdrop-filter var(--t-base), box-shadow var(--t-base);
      border-bottom: 2px solid var(--c-gold);
    }
    .nav-wrap.is-stuck {
      background: rgba(38, 56, 118, 0.88);
      backdrop-filter: saturate(180%) blur(14px);
      -webkit-backdrop-filter: saturate(180%) blur(14px);
      box-shadow: 0 6px 22px rgba(38,56,118,0.20);
    }
    .nav {
      display: flex;
      align-items: stretch;
      min-height: var(--h-nav);
    }
    .nav__list { display: flex; align-items: stretch; flex: 1; }
    .nav__item { position: relative; }
    .nav__link {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      height: 100%;
      padding: 0 22px;
      color: rgba(255,255,255,0.88);
      font-size: 13px;
      font-weight: 600;
      letter-spacing: 0.03em;
      text-transform: uppercase;
      transition: color var(--t-fast), background var(--t-fast);
      position: relative;
    }
    .nav__link::after {
      content: "";
      position: absolute;
      left: 22px; right: 22px; bottom: -2px;
      height: 2px;
      background: var(--c-gold);
      transform: scaleX(0);
      transform-origin: left;
      transition: transform var(--t-base);
    }
    .nav__item:hover .nav__link {
      color: #fff;
      background: rgba(255,255,255,0.06);
    }
    .nav__item:hover .nav__link::after { transform: scaleX(1); }
    .nav__caret {
      width: 7px; height: 7px;
      border-right: 1.5px solid currentColor;
      border-bottom: 1.5px solid currentColor;
      transform: rotate(45deg) translateY(-2px);
      transition: transform var(--t-base);
      margin-left: 2px;
    }
    .nav__item:hover .nav__caret { transform: rotate(225deg) translateY(-2px); }

    .nav__submenu {
      position: absolute; top: 100%; left: 0;
      min-width: 280px;
      background: #fff;
      box-shadow: var(--shadow-lg);
      border-radius: 0 0 2px 2px;
      padding: 6px;
      opacity: 0; visibility: hidden;
      transform: translateY(8px);
      transition: opacity var(--t-base), transform var(--t-base), visibility var(--t-base);
      border-top: 2px solid var(--c-gold);
    }
    .nav__item:hover .nav__submenu { opacity: 1; visibility: visible; transform: translateY(0); }
    .nav__sublink {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 11px 16px;
      font-size: 13px;
      font-weight: 500;
      color: var(--c-ink);
      border-radius: 2px;
      transition: background var(--t-fast), color var(--t-fast), padding-left var(--t-base);
    }
    .nav__sublink::before {
      content: "";
      width: 4px; height: 4px;
      background: var(--c-gold);
      transform: rotate(45deg);
      opacity: 0;
      transition: opacity var(--t-fast);
    }
    .nav__sublink:hover {
      background: var(--c-bg);
      color: var(--c-secondary);
      padding-left: 22px;
    }
    .nav__sublink:hover::before { opacity: 1; }

    .burger {
      display: none;
      align-items: center;
      gap: 12px;
      padding: 0 4px;
      color: #fff;
      font-weight: 600;
      font-size: 13px;
      letter-spacing: 0.08em;
      text-transform: uppercase;
    }
    .burger__icon { width: 22px; height: 16px; position: relative; }
    .burger__icon span {
      position: absolute; left: 0; right: 0; height: 2px;
      background: currentColor;
      border-radius: 2px;
      transition: transform var(--t-base), opacity var(--t-base), top var(--t-base);
    }
    .burger__icon span:nth-child(1) { top: 0; }
    .burger__icon span:nth-child(2) { top: 7px; }
    .burger__icon span:nth-child(3) { top: 14px; }
    .burger.is-open .burger__icon span:nth-child(1) { top: 7px; transform: rotate(45deg); }
    .burger.is-open .burger__icon span:nth-child(2) { opacity: 0; }
    .burger.is-open .burger__icon span:nth-child(3) { top: 7px; transform: rotate(-45deg); }

    /* ============ HERO ============ */
    .hero {
      position: relative;
      padding: 56px 0 40px;
      overflow: hidden;
    }
    .hero__inner {
      position: relative;
      z-index: 1;
      display: grid;
      grid-template-columns: 1.15fr 1fr;
      gap: 56px;
      align-items: center;
    }
    .hero__overline {
      display: inline-flex;
      align-items: center;
      gap: 12px;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      color: var(--c-gold-dark);
      margin-bottom: 22px;
    }
    .hero__overline::before {
      content: "";
      width: 36px; height: 1px;
      background: var(--c-gold);
    }
    .hero__title {
      font-size: clamp(34px, 4vw, 54px);
      color: var(--c-secondary);
      margin-bottom: 20px;
      letter-spacing: -0.015em;
    }
    .hero__title em {
      font-style: italic;
      color: var(--c-gold-dark);
      font-weight: 700;
    }
    .hero__lead {
      font-size: 17px;
      line-height: 1.65;
      color: var(--c-ink-soft);
      max-width: 540px;
    }
    .hero__lead::first-letter {
      font-family: var(--ff-display);
      font-size: 1.05em;
      font-weight: 700;
      color: var(--c-secondary);
    }
    .hero__visual {
      position: relative;
      aspect-ratio: 4 / 3;
      background: var(--grad-formal);
      overflow: hidden;
      box-shadow: var(--shadow-lg);
      /* Двойная золотая рамка — мотив "паспарту" */
      border: 1px solid var(--c-gold);
      padding: 8px;
    }
    .hero__visual-inner {
      position: relative;
      width: 100%;
      height: 100%;
      border: 1px solid rgba(184,146,76,0.45);
      overflow: hidden;
    }
    .hero__visual-inner::after {
        content: '';
        position: absolute;
        inset: 0;
        background: linear-gradient(to top, rgba(30, 60, 82, 0.95) 30%, rgba(30, 60, 82, 0.5) 42%, rgba(30, 60, 82, 0.1) 50%);
    }
    .hero__visual-decor {
      position: absolute;
      bottom: 26px; left: 26px;
      width: 64px; height: 64px;
      opacity: 0.85;
    }
    .hero__visual-card {
      position: absolute;
      left: 26px; bottom: 26px; right: 26px;
      color: #fff;
      z-index: 2;
      padding-left: 84px;
    }
    .hero__visual-label {
      font-size: 10px;
      letter-spacing: 0.24em;
      text-transform: uppercase;
      color: var(--c-gold-light);
      margin-bottom: 8px;
      font-weight: 700;
    }
    .hero__visual-title {
      font-family: var(--ff-display);
      font-size: 21px;
      font-weight: 700;
      line-height: 1.3;
    }

    /* ============ ОБЩЕЕ ДЛЯ СЕКЦИЙ ============ */
    .section { position: relative; z-index: 1; padding: 32px 0; }
    .section-header {
      display: flex;
      align-items: flex-end;
      justify-content: space-between;
      margin-bottom: 28px;
      gap: 24px;
      flex-wrap: wrap;
      padding-bottom: 16px;
      border-bottom: 1px solid var(--c-line);
      position: relative;
    }
    .section-header::after {
      content: "";
      position: absolute;
      left: 0; bottom: -1px;
      width: 96px;
      height: 1px;
      background: var(--c-gold);
    }
    .section-title {
      font-size: 30px;
      color: var(--c-secondary);
      position: relative;
      letter-spacing: -0.015em;
    }
    .section-title__small {
      display: block;
      font-family: var(--ff-body);
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--c-gold-dark);
      margin-bottom: 6px;
    }
    .section-more {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      color: var(--c-secondary);
      font-weight: 600;
      font-size: 13px;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      transition: color var(--t-base), gap var(--t-base);
      padding-bottom: 4px;
    }
    .section-more::after {
      content: "→";
      font-size: 16px;
      color: var(--c-gold);
      transition: transform var(--t-base);
    }
    .section-more:hover { color: var(--c-gold-dark); gap: 16px; }
    .section-more:hover::after { transform: translateX(4px); }

    /* ============ LAYOUT: ОСНОВНАЯ СЕТКА ============ */
    .layout {
      display: grid;
      grid-template-columns: minmax(0, 1fr) 360px;
      gap: 44px;
      align-items: start;
    }
    .layout__main { 
       min-width: 0; 
       position: sticky;
        bottom: 0;
        align-self: end;

    }
    .layout__aside {
      min-width: 0;
      position: sticky;
      bottom: 0;
      top: calc(var(--h-nav) + 16px);
      align-self: start;
      /* max-height: calc(100vh - var(--h-nav) - 32px); */
      overflow-y: auto;
      padding-right: 4px;
      scrollbar-width: thin;
        align-self: end;
    }
    .layout__aside::-webkit-scrollbar { width: 4px; }
    .layout__aside::-webkit-scrollbar-thumb { background: var(--c-line); border-radius: 4px; }

    /* ============ КАРТОЧКИ НОВОСТЕЙ ============ */
    .news-grid {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 24px;
    }
    .news-card {
      background: #fff;
      border-radius: var(--r-sm);
      overflow: hidden;
      box-shadow: var(--shadow-sm);
      border: 1px solid var(--c-line);
      transition: transform var(--t-base), box-shadow var(--t-base), border-color var(--t-base);
      display: flex;
      flex-direction: column;
      cursor: pointer;
      position: relative;
    }
    /* Тонкая золотая полоса слева — появляется при наведении */
    .news-card::before {
      content: "";
      position: absolute;
      left: 0; top: 0; bottom: 0;
      width: 3px;
      background: var(--c-gold);
      transform: scaleY(0);
      transform-origin: top;
      transition: transform var(--t-base);
      z-index: 3;
    }
    .news-card:hover {
      transform: translateY(-3px);
      box-shadow: var(--shadow-md);
      border-color: var(--c-gold);
    }
    .news-card:hover::before { transform: scaleY(1); }
    .news-card__media {
      position: relative;
      aspect-ratio: 16 / 10;
      overflow: hidden;
      background: var(--grad-hero);
    }

    img.news-card__image {
        object-fit: cover;
        width: 100%;
        height: 100%;
    }
    .news-card__media::after {
      content: ""; position: absolute; inset: 0;
      background: linear-gradient(180deg, rgba(38,56,118,0) 30%, rgba(19,28,68,0.7) 100%);
      transition: opacity var(--t-base);
    }
    .news-card__pattern { position: absolute; inset: 0; opacity: 0.7; }
    .news-card__category {
      position: absolute;
      top: 14px; left: 14px;
      background: rgba(255,255,255,0.96);
      color: var(--c-secondary);
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      padding: 5px 11px;
      border-radius: 2px;
      z-index: 2;
      border-left: 2px solid var(--c-gold);
    }
    .news-card__body {
      padding: 22px;
      display: flex;
      flex-direction: column;
      gap: 10px;
      flex: 1;
    }
    .news-card__date {
      font-size: 12px;
      color: var(--c-muted);
      font-weight: 500;
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-variant-numeric: tabular-nums;
    }
    .news-card__date::before {
      content: "";
      width: 6px; height: 6px;
      background: var(--c-gold);
      transform: rotate(45deg);
    }
    .news-card__title {
      font-family: var(--ff-display);
      font-size: 19px;
      font-weight: 700;
      line-height: 1.3;
      color: var(--c-secondary);
      transition: color var(--t-fast);
      letter-spacing: -0.005em;
    }
    .news-card:hover .news-card__title { color: var(--c-secondary-dark); }
    .news-card__excerpt {
      font-size: 14px;
      color: var(--c-ink-soft);
      line-height: 1.6;
      flex: 1;
    }
    .news-card--featured {
      grid-column: 1 / -1;
      display: grid;
      grid-template-columns: 1.15fr 1fr;
      gap: 0;
    }
    .news-card--featured .news-card__media { aspect-ratio: auto; height: 100%; min-height: 320px; }
    .news-card--featured .news-card__title { font-size: 28px; }
    .news-card--featured .news-card__body {
      padding: 36px;
      justify-content: center;
      gap: 14px;
      position: relative;
    }
    /* Тонкая вертикальная золотая разделительная линия в featured */
    .news-card--featured .news-card__body::before {
      content: "";
      position: absolute;
      top: 36px; bottom: 36px; left: 0;
      width: 1px;
      background: var(--c-gold);
      opacity: 0.4;
    }

    /* ============ ПОИСК ============ */
    .search {
      background: #fff;
      border-radius: var(--r-sm);
      padding: 6px;
      box-shadow: var(--shadow-sm);
      display: flex;
      gap: 6px;
      margin-bottom: 28px;
      border: 1px solid var(--c-line);
      transition: border-color var(--t-base), box-shadow var(--t-base);
    }
    .search:focus-within {
      border-color: var(--c-gold);
      box-shadow: 0 0 0 3px rgba(184,146,76,0.15);
    }
    .search input {
      flex: 1;
      min-width: 0;
      border: none;
      outline: none;
      background: transparent;
      padding: 10px 12px;
      font: inherit;
      font-size: 14px;
      color: var(--c-ink);
    }
    .search input::placeholder { color: var(--c-muted); }
    .search button {
      background: var(--c-secondary);
      color: #fff;
      width: 42px; height: 40px;
      border-radius: 2px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      transition: background var(--t-fast);
    }
    .search button:hover { background: var(--c-gold-dark); }

    /* ============ ПРЯМАЯ РЕЧЬ ============ */
    .speech-cards {
      display: flex;
      flex-direction: column;
      gap: 10px;
      margin-bottom: 28px;
    }
    .speech-card {
      background: var(--c-surface);
      border: 1px solid var(--c-line);
      padding: 20px 22px 16px;
      border-radius: var(--r-sm);
      position: relative;
      overflow: hidden;
      box-shadow: var(--shadow-sm);
      border-top: 3px solid var(--c-gold);
      display: block;
      transition: box-shadow var(--t-base), transform var(--t-base), border-color var(--t-base);
    }
    .speech-card:hover {
      box-shadow: var(--shadow-md);
      transform: translateY(-2px);
      border-color: var(--c-gold);
    }
    .speech-card__quote {
      font-family: var(--ff-display);
      font-size: 44px;
      line-height: 1;
      color: var(--c-gold);
      position: absolute;
      top: 2px;
      right: 14px;
      opacity: 0.4;
    }
    .speech-card__overline {
      font-size: 10px;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--c-gold-dark);
      font-weight: 700;
      margin-bottom: 10px;
      display: inline-flex;
      align-items: center;
      gap: 10px;
    }
    .speech-card__overline::before {
      content: "";
      width: 18px; height: 1px;
      background: var(--c-gold);
    }
    .speech-card__title {
      font-family: var(--ff-display);
      font-size: 15px;
      line-height: 1.45;
      font-weight: 700;
      font-style: italic;
      color: var(--c-secondary);
      margin-bottom: 14px;
      position: relative;
      z-index: 1;
    }
    .speech-card__date {
      font-size: 11px;
      color: var(--c-muted);
      padding-top: 10px;
      border-top: 1px solid var(--c-line);
      font-weight: 600;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }
    .speech-card__date span:last-child { color: var(--c-gold-dark); }

    /* ============ ИНФО-БАННЕРЫ В САЙДБАРЕ (360×110, 360×360, 360×600) ============ */
    .promo-banners {
      display: flex;
      flex-direction: column;
      gap: 14px;
      margin-bottom: 28px;
    }
    .promo-banner {
      position: relative;
      width: 100%;
      display: block;
      overflow: hidden;
      border-radius: var(--r-sm);
      color: #fff;
      background: var(--c-secondary);
      box-shadow: var(--shadow-sm);
      border: 1px solid var(--c-secondary-dark);
      isolation: isolate;
      transition: transform var(--t-base), border-color var(--t-base), box-shadow var(--t-base);
    }
    .promo-banner:hover {
      transform: translateY(-3px);
      border-color: var(--c-gold);
      box-shadow: var(--shadow-md);
    }
    .promo-banner__bg {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
      z-index: 0;
    }
    .promo-banner__content {
      position: relative;
      z-index: 1;
      width: 100%;
      height: 100%;
      display: flex;
      flex-direction: column;
    }
    .promo-banner__overline {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.22em;
      text-transform: uppercase;
      color: var(--c-gold-light);
      display: inline-flex;
      align-items: center;
      gap: 10px;
    }
    .promo-banner__overline::before {
      content: "";
      width: 20px; height: 1px;
      background: var(--c-gold);
    }
    .promo-banner__title {
      font-family: var(--ff-display);
      font-weight: 700;
      line-height: 1.22;
      color: #fff;
      letter-spacing: -0.005em;
    }
    .promo-banner__lead {
      font-size: 12px;
      line-height: 1.55;
      color: rgba(255,255,255,0.72);
      margin: 0;
    }
    .promo-banner__cta {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--c-gold-light);
      align-self: flex-start;
      padding-top: 10px;
      border-top: 1px solid rgba(184,146,76,0.30);
      transition: gap var(--t-base), color var(--t-fast);
    }
    .promo-banner__cta::after { content: "→"; font-size: 13px; }
    .promo-banner:hover .promo-banner__cta { gap: 14px; color: #fff; }

    /* 360 × 110 — узкий горизонтальный */
    .promo-banner--wide { aspect-ratio: 36 / 11; }
    .promo-banner--wide .promo-banner__content {
      flex-direction: row;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 16px 22px;
    }
    .promo-banner--wide .promo-banner__title { font-size: 15px; flex: 1; }
    .promo-banner--wide .promo-banner__cta {
      align-self: center;
      padding-top: 0;
      border-top: 0;
      flex-shrink: 0;
    }
    .promo-banner--wide .promo-banner__lead,
    .promo-banner--wide .promo-banner__overline { display: none; }

    /* 360 × 360 — квадрат */
    .promo-banner--square { aspect-ratio: 1 / 1; }
    .promo-banner--square .promo-banner__content {
      justify-content: space-between;
      padding: 22px 24px;
      gap: 12px;
    }
    .promo-banner--square .promo-banner__title { font-size: 22px; }
    .promo-banner--square .promo-banner__lead { font-size: 12px; }

    /* 360 × 600 — высокий вертикальный */
    .promo-banner--tall { aspect-ratio: 3 / 5; }
    .promo-banner--tall .promo-banner__content {
      justify-content: space-between;
      padding: 28px 26px;
      gap: 18px;
    }
    .promo-banner--tall .promo-banner__title { font-size: 26px; }

    /* ============ БАННЕРЫ ============ */
    .aside-title {
      font-family: var(--ff-display);
      font-size: 12px;
      font-weight: 700;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--c-secondary);
      margin-bottom: 16px;
      display: flex;
      align-items: center;
      gap: 12px;
    }
    .aside-title::before {
      content: "";
      width: 6px; height: 6px;
      background: var(--c-gold);
      transform: rotate(45deg);
    }
    .aside-title::after {
      content: "";
      flex: 1;
      height: 1px;
      background: var(--c-line);
    }

    .banners {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 10px;
      margin-bottom: 28px;
    }
    /* Унифицированный официальный стиль — всё в одной палитре */
    .banner {
      aspect-ratio: 1 / 1;
      border-radius: var(--r-sm);
      overflow: hidden;
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      padding: 14px;
      color: #fff;
      cursor: pointer;
      isolation: isolate;
      transition: transform var(--t-base), border-color var(--t-base);
      background: var(--grad-formal);
      border: 1px solid var(--c-secondary-dark);
    }
    .banner::after {
      content: "";
      position: absolute; inset: 0; z-index: -1;
      background: radial-gradient(circle at 85% 85%, rgba(184,146,76,0.18), transparent 55%);
    }
    .banner:hover {
      transform: translateY(-3px);
      border-color: var(--c-gold);
    }
    .banner:hover .banner__icon {
      background: var(--c-gold);
      color: var(--c-secondary);
    }
    .banner__icon {
      width: 30px; height: 30px;
      background: rgba(255,255,255,0.10);
      border: 1px solid rgba(184,146,76,0.4);
      border-radius: 2px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: var(--c-gold-light);
      transition: background var(--t-base), color var(--t-base);
    }
    .banner__icon svg { width: 15px; height: 15px; }
    .banner__title {
      font-size: 12px;
      font-weight: 600;
      line-height: 1.35;
      color: rgba(255,255,255,0.95);
    }
    .banner--big {
      grid-column: 1 / -1;
      aspect-ratio: 16 / 6.5;
      flex-direction: row;
      align-items: center;
      padding: 16px 18px;
      gap: 14px;
      background: linear-gradient(135deg, var(--c-secondary) 0%, var(--c-primary-dark) 100%);
    }
    .banner--big .banner__title { font-size: 13px; flex: 1; }
    .banner--big .banner__icon { width: 38px; height: 38px; }
    .banner--big .banner__icon svg { width: 18px; height: 18px; }

    /* ============ ПОЛЕЗНЫЕ ССЫЛКИ (sidebar) ============ */
    .useful-list {
      display: flex;
      flex-direction: column;
      gap: 0;
      margin-bottom: 24px;
      border-top: 1px solid var(--c-line);
    }
    .useful-list a {
      display: flex;
      align-items: center;
      gap: 12px;
      padding: 13px 4px;
      font-size: 13px;
      color: var(--c-ink);
      border-bottom: 1px solid var(--c-line);
      font-weight: 500;
      transition: color var(--t-fast), padding-left var(--t-base);
    }
    .useful-list a::before {
      content: "";
      width: 4px; height: 4px;
      background: var(--c-gold);
      transform: rotate(45deg);
      flex-shrink: 0;
    }
    .useful-list a::after {
      content: "→";
      margin-left: auto;
      color: var(--c-muted);
      transition: color var(--t-fast), transform var(--t-base);
    }
    .useful-list a:hover {
      color: var(--c-secondary);
      padding-left: 10px;
    }
    .useful-list a:hover::after {
      color: var(--c-gold-dark);
      transform: translateX(4px);
    }

    /* ============ НИЖНИЙ БЛОК ПОЛЕЗНЫХ ССЫЛОК ============ */
    .partners {
      padding: 60px 0 48px;
      position: relative;
      z-index: 1;
    }
    .partners__grid {
      display: grid;
      grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
      gap: 14px;
    }
    .partner {
      background: #fff;
      border-radius: var(--r-sm);
      padding: 24px 18px;
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 14px;
      text-align: center;
      border: 1px solid var(--c-line);
      transition: border-color var(--t-base), box-shadow var(--t-base), transform var(--t-base);
      min-height: 144px;
      position: relative;
    }
    .partner:hover {
      transform: translateY(-3px);
      border-color: var(--c-gold);
      box-shadow: var(--shadow-md);
    }
    .partner__logo {
      width: 54px; height: 54px;
      border-radius: 50%;
      background: var(--c-secondary);
      display: inline-flex;
      align-items: center;
      justify-content: center;
      color: #fff;
      font-family: var(--ff-display);
      font-weight: 700;
      font-size: 17px;
      flex-shrink: 0;
      letter-spacing: 0.02em;
      position: relative;
      border: 1px solid var(--c-gold);
      box-shadow: 0 0 0 4px #fff, 0 0 0 5px rgba(184,146,76,0.25);
    }
    .partner__name {
      font-size: 13px;
      font-weight: 500;
      color: var(--c-ink);
      line-height: 1.4;
    }

    /* ============ ФУТЕР ============ */
    .footer {
      background: var(--c-secondary);
      color: rgba(255,255,255,0.85);
      padding: 56px 0 28px;
      position: relative;
      z-index: 1;
      overflow: hidden;
      border-top: 3px solid var(--c-gold);
    }
    .footer::before {
      content: ""; position: absolute; inset: 0;
      background:
        radial-gradient(900px 400px at 100% 0%, rgba(32,126,214,0.20), transparent 60%),
        radial-gradient(700px 400px at 0% 100%, rgba(184,146,76,0.08), transparent 60%);
      pointer-events: none;
    }
    .footer__inner { position: relative; z-index: 1; }
    .footer__top {
      display: grid;
      grid-template-columns: 1.2fr 2fr;
      gap: 56px;
      padding-bottom: 40px;
      border-bottom: 1px solid rgba(184,146,76,0.30);
      margin-bottom: 28px;
      position: relative;
    }
    .footer__top::after {
      content: "";
      position: absolute;
      left: 0; bottom: -3px;
      width: 80px;
      height: 5px;
      background: var(--c-gold);
    }
    .footer__brand .brand__title { color: #fff; font-size: 18px; }
    .footer__brand .brand__overline { color: var(--c-gold-light); }
    .footer__brand .brand__overline::after { background: var(--c-gold-light); }
    .footer__about {
      font-size: 13px;
      line-height: 1.7;
      color: rgba(255,255,255,0.65);
      margin-top: 20px;
      max-width: 380px;
    }

    .footer__nav {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 28px;
    }
    .footer__col-title {
      font-family: var(--ff-display);
      font-size: 11px;
      letter-spacing: 0.20em;
      text-transform: uppercase;
      color: var(--c-gold-light);
      margin-bottom: 16px;
      font-weight: 700;
      padding-bottom: 10px;
      border-bottom: 1px solid rgba(184,146,76,0.25);
    }
    .footer__list { display: flex; flex-direction: column; gap: 10px; }
    .footer__list a {
      font-size: 13px;
      color: rgba(255,255,255,0.85);
      transition: color var(--t-fast), padding-left var(--t-base);
      display: inline-flex;
      align-items: center;
      gap: 8px;
    }
    .footer__list a::before {
      content: "";
      width: 0; height: 1px;
      background: var(--c-gold);
      transition: width var(--t-base);
    }
    .footer__list a:hover { color: #fff; }
    .footer__list a:hover::before { width: 12px; }

    .footer__bottom {
      font-size: 12px;
      line-height: 1.7;
      color: rgba(255,255,255,0.55);
      display: flex;
      flex-direction: column;
      gap: 12px;
    }
    .footer__bottom p { margin: 0; }
    .footer__bottom strong { color: rgba(255,255,255,0.90); font-weight: 600; }

    /* ============ COOKIE БАННЕР ============ */
    .cookie {
      position: fixed;
      left: 20px; right: 20px; bottom: 20px;
      max-width: 720px;
      margin: 0 auto;
      background: #fff;
      border-radius: var(--r-sm);
      box-shadow: var(--shadow-lg);
      padding: 20px 24px;
      display: flex;
      align-items: center;
      gap: 18px;
      z-index: 200;
      border: 1px solid var(--c-line);
      border-top: 3px solid var(--c-gold);
      transform: translateY(180%);
      opacity: 0;
      transition: transform 480ms cubic-bezier(.2,.7,.3,1), opacity 320ms;
    }
    .cookie.is-visible { transform: translateY(0); opacity: 1; }
    .cookie__icon {
      width: 44px; height: 44px;
      background: var(--c-secondary);
      color: var(--c-gold-light);
      border: 1px solid var(--c-gold);
      border-radius: 50%;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      flex-shrink: 0;
    }
    .cookie__icon svg { width: 22px; height: 22px; }
    .cookie__text {
      font-size: 13px;
      line-height: 1.6;
      color: var(--c-ink-soft);
      flex: 1;
    }
    .cookie__text strong { color: var(--c-secondary); }
    .cookie__text a {
      color: var(--c-gold-dark);
      font-weight: 600;
      text-decoration: underline;
      text-decoration-color: rgba(184,146,76,0.4);
      text-underline-offset: 3px;
    }
    .cookie__actions {
      display: flex;
      gap: 8px;
      flex-shrink: 0;
    }
    .btn {
      padding: 10px 20px;
      border-radius: 2px;
      font-weight: 600;
      font-size: 12px;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      transition: transform var(--t-fast), background var(--t-fast), color var(--t-fast), border-color var(--t-fast);
      border: 1px solid transparent;
    }
    .btn--primary {
      background: var(--c-secondary);
      color: #fff;
      border-color: var(--c-secondary);
    }
    .btn--primary:hover {
      background: var(--c-gold-dark);
      border-color: var(--c-gold-dark);
    }
    .btn--ghost {
      background: transparent;
      color: var(--c-ink-soft);
      border-color: var(--c-line);
    }
    .btn--ghost:hover {
      color: var(--c-secondary);
      border-color: var(--c-secondary);
    }

    /* ============ АНИМАЦИИ ПОЯВЛЕНИЯ ============ */
    .reveal {
      opacity: 0;
      transform: translateY(20px);
      transition: opacity 700ms ease, transform 700ms ease;
    }
    .reveal.is-visible {
      opacity: 1;
      transform: translateY(0);
    }
    .reveal-delay-1 { transition-delay: 80ms; }
    .reveal-delay-2 { transition-delay: 160ms; }
    .reveal-delay-3 { transition-delay: 240ms; }
    .reveal-delay-4 { transition-delay: 320ms; }

    /* ============ МОБИЛЬНОЕ МЕНЮ ============ */
    .mobile-menu {
      position: fixed;
      inset: 0;
      background: rgba(38, 56, 118, 0.98);
      backdrop-filter: blur(8px);
      z-index: 90;
      padding: calc(var(--h-nav) + 24px) 24px 32px;
      overflow-y: auto;
      transform: translateX(100%);
      transition: transform var(--t-base);
      display: none;
    }
    .mobile-menu.is-open { transform: translateX(0); }
    .mobile-menu__list { display: flex; flex-direction: column; }
    .mobile-menu__item { border-bottom: 1px solid rgba(184,146,76,0.20); }
    .mobile-menu__link {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 18px 4px;
      color: #fff;
      font-size: 14px;
      font-weight: 600;
      letter-spacing: 0.08em;
      text-transform: uppercase;
      font-family: var(--ff-body);
      width: 100%;
      text-align: left;
    }
    .mobile-menu__caret {
      width: 10px; height: 10px;
      border-right: 1.5px solid var(--c-gold);
      border-bottom: 1.5px solid var(--c-gold);
      transform: rotate(45deg);
      transition: transform var(--t-base);
    }
    .mobile-menu__item.is-open .mobile-menu__caret { transform: rotate(-135deg); }
    .mobile-menu__sub {
      max-height: 0;
      overflow: hidden;
      transition: max-height var(--t-base);
      padding: 0 4px;
    }
    .mobile-menu__item.is-open .mobile-menu__sub {
      max-height: 400px;
      padding-bottom: 12px;
    }
    .mobile-menu__sublink {
      display: block;
      padding: 11px 18px;
      font-size: 14px;
      color: rgba(255,255,255,0.78);
      border-left: 2px solid var(--c-gold);
      margin-bottom: 2px;
    }
    .mobile-menu__sublink:hover { color: #fff; }

    /* ============ АДАПТИВ ============ */
    @media (max-width: 1180px) {
      .layout { grid-template-columns: minmax(0, 1fr) 320px; gap: 32px; }
      .brand__title { font-size: 19px; }
      .top-link { font-size: 12px; }
      .nav__link { padding: 0 16px; font-size: 12px; }
    }

    @media (max-width: 1024px) {
      :root { --gutter: 22px; }
      .top-actions { gap: 16px; }
      .top-links { gap: 16px; }
      .hero__inner { grid-template-columns: 1fr; gap: 36px; }
      .news-card--featured { grid-template-columns: 1fr; }
      .news-card--featured .news-card__media { aspect-ratio: 16/9; min-height: 240px; }
      .news-card--featured .news-card__body { padding: 24px; }
      .news-card--featured .news-card__body::before { display: none; }
      .layout { grid-template-columns: 1fr; }
      .layout__aside { position: static; max-height: none; overflow: visible; }
      .partners__grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
      .footer__top { grid-template-columns: 1fr; gap: 32px; }
    }

    @media (max-width: 880px) {
      .topbar {
        grid-template-columns: 1fr auto;
        gap: 18px;
        padding: 14px 0;
        min-height: auto;
      }
      .top-actions {
        grid-column: 1 / -1;
        justify-content: space-between;
        flex-wrap: nowrap;
      }
      .top-links { gap: 10px; }
      .top-link:not(.top-link--accessibility) { display: none; }
      .nav__list { display: none; }
      .burger { display: inline-flex; }
      .mobile-menu { display: block; }
      .nav { justify-content: flex-end; }
      .brand__title { font-size: 17px; max-width: 320px; }
      .brand__overline { font-size: 9px; }
      .news-grid { grid-template-columns: 1fr; }
      .hero { padding: 40px 0 28px; }
      .hero__title { font-size: clamp(28px, 7vw, 36px); }
      .section { padding: 24px 0; }
      .section-title { font-size: 24px; }
      .hero__visual-card { padding-left: 0; }
      .hero__visual-decor { display: none; }
    }

    @media (max-width: 640px) {
      :root { --gutter: 16px; }
      .brand__logo { width: 58px; height: 70px; flex-basis: 58px; }
      .brand__title { font-size: 14px; max-width: 220px; line-height: 1.25; }
      .brand__overline { font-size: 9px; letter-spacing: 0.18em; }
      .brand__overline::after { max-width: 18px; }
      .socials { gap: 4px; }
      .social { width: 34px; height: 34px; }
      .banners { grid-template-columns: 1fr 1fr; }
      .cookie {
        flex-direction: column;
        align-items: flex-start;
        padding: 20px;
      }
      .cookie__actions { width: 100%; justify-content: stretch; }
      .cookie__actions .btn { flex: 1; }
      .footer__nav { grid-template-columns: 1fr 1fr; }
      .hero__visual { aspect-ratio: 16/12; padding: 6px; }
    }

    @media (max-width: 420px) {
      .top-links .top-link--accessibility span { display: none; }
      .footer__nav { grid-template-columns: 1fr; }
      .brand { gap: 12px; }
    }

    @media (prefers-reduced-motion: reduce) {
      *, *::before, *::after {
        animation-duration: 0.01ms !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
      }
    }
  

    /* ============ ВНУТРЕННИЕ СТРАНИЦЫ: ДОКУМЕНТЫ И ПРЕСС-ЦЕНТР ============ */
    .page-hero {
      position: relative;
      z-index: 1;
      padding: 54px 0 42px;
      background: linear-gradient(135deg, rgba(38,56,118,0.96), rgba(26,108,184,0.92));
      color: #fff;
      overflow: hidden;
    }
    .page-hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background:
        radial-gradient(520px 260px at 82% 18%, rgba(184,146,76,0.28), transparent 70%),
        linear-gradient(90deg, rgba(19,28,68,0.28), transparent 50%);
      pointer-events: none;
    }
    .page-hero .container { position: relative; z-index: 1; }
    .breadcrumbs {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
      font-size: 13px;
      margin-bottom: 22px;
      color: rgba(255,255,255,0.76);
    }
    .breadcrumbs a { color: #fff; border-bottom: 1px solid rgba(255,255,255,0.35); }
    .breadcrumbs span:not(:last-child)::after { content: "/"; margin-left: 8px; color: rgba(255,255,255,0.45); }
    .page-hero__overline {
      display: inline-flex;
      align-items: center;
      gap: 10px;
      font-size: 11px;
      font-weight: 800;
      letter-spacing: 0.18em;
      text-transform: uppercase;
      color: var(--c-gold-light);
      margin-bottom: 10px;
    }
    .page-hero__title {
      max-width: 960px;
      font-size: clamp(34px, 5vw, 58px);
      line-height: 1.12;
    }
    .page-hero__lead {
      max-width: 920px;
      margin: 18px 0 0;
      font-size: 17px;
      color: rgba(255,255,255,0.84);
    }
    .page-hero__stats {
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      margin-top: 28px;
    }
    .page-stat {
      min-width: 170px;
      padding: 16px 18px;
      border: 1px solid rgba(255,255,255,0.18);
      background: rgba(255,255,255,0.08);
      backdrop-filter: blur(8px);
    }
    .page-stat strong { display: block; font-size: 30px; line-height: 1; color: #fff; }
    .page-stat span { display: block; margin-top: 6px; font-size: 12px; color: rgba(255,255,255,0.72); text-transform: uppercase; letter-spacing: 0.08em; }
    .inner-section { position: relative; z-index: 1; padding: 40px 0 58px; }
    .page-panel {
      background: #fff;
      border: 1px solid var(--c-line);
      box-shadow: var(--shadow-sm);
      border-radius: var(--r-sm);
      padding: 26px;
    }
    .page-panel + .page-panel { margin-top: 22px; }
    .page-panel__title {
      font-size: 24px;
      color: var(--c-secondary);
      margin-bottom: 12px;
    }
    .info-text {
      color: var(--c-ink-soft);
      font-size: 15px;
      line-height: 1.7;
    }
    .info-text p { margin: 0 0 12px; }
    .info-text p:last-child { margin-bottom: 0; }
    .filterbar {
      display: grid;
      grid-template-columns: minmax(0,1fr) auto;
      gap: 12px;
      margin: 24px 0;
    }
    .filterbar input, .filterbar select {
      width: 100%;
      padding: 13px 15px;
      border: 1px solid var(--c-line);
      background: #fff;
      color: var(--c-ink);
      border-radius: var(--r-sm);
      outline: none;
      font-family: var(--ff-body);
      box-shadow: var(--shadow-sm);
    }
    .filterbar input:focus, .filterbar select:focus { border-color: var(--c-gold); box-shadow: 0 0 0 3px rgba(184,146,76,0.14); }
    .doc-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
    }
    .doc-category {
      display: flex;
      flex-direction: column;
      min-height: 156px;
      padding: 22px;
      background: #fff;
      border: 1px solid var(--c-line);
      border-left: 3px solid var(--c-gold);
      box-shadow: var(--shadow-sm);
      transition: transform var(--t-base), box-shadow var(--t-base), border-color var(--t-base);
    }
    .doc-category:hover { transform: translateY(-3px); box-shadow: var(--shadow-md); border-color: var(--c-gold); }
    .doc-category__top { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; margin-bottom: 18px; }
    .doc-category__count {
      flex: 0 0 auto;
      min-width: 46px;
      text-align: center;
      padding: 6px 9px;
      font-weight: 800;
      color: #fff;
      background: var(--c-secondary);
      border-radius: 999px;
      font-variant-numeric: tabular-nums;
    }
    .doc-category__title {
      font-family: var(--ff-display);
      font-size: 17px;
      line-height: 1.35;
      color: var(--c-secondary);
    }
    .doc-category__meta { margin-top: auto; font-size: 12px; color: var(--c-muted); text-transform: uppercase; letter-spacing: 0.08em; }
    .doc-list, .material-list { display: grid; gap: 12px; }
    .doc-item, .material-item, .speech-item {
      display: grid;
      grid-template-columns: auto minmax(0,1fr) auto;
      gap: 16px;
      align-items: center;
      padding: 18px;
      background: #fff;
      border: 1px solid var(--c-line);
      box-shadow: var(--shadow-sm);
      transition: border-color var(--t-base), transform var(--t-base), box-shadow var(--t-base);
    }
    .doc-item:hover, .material-item:hover, .speech-item:hover { border-color: var(--c-gold); transform: translateY(-2px); box-shadow: var(--shadow-md); }
    .file-badge {
      width: 52px;
      height: 52px;
      display: grid;
      place-items: center;
      background: var(--c-bg-alt);
      color: var(--c-secondary);
      border: 1px solid var(--c-line);
      font-weight: 800;
      font-size: 12px;
      text-transform: uppercase;
    }
    .file-badge--pdf { background: #fff2f2; color: #b32121; border-color: #f1cdcd; }
    .file-badge--doc { background: #eef5ff; color: #1d64b2; border-color: #ccdef4; }
    .file-badge--zip { background: #fff7e8; color: #996817; border-color: #f1ddb8; }
    .doc-item__title, .material-item__title {
      display: block;
      font-family: var(--ff-display);
      font-size: 18px;
      line-height: 1.35;
      color: var(--c-secondary);
    }
    .doc-item__meta, .material-item__meta {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 6px;
      font-size: 13px;
      color: var(--c-muted);
    }
    .doc-action, .read-more {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-width: 124px;
      padding: 10px 14px;
      background: var(--c-secondary);
      color: #fff;
      font-size: 13px;
      font-weight: 700;
      text-transform: uppercase;
      letter-spacing: 0.05em;
      border-radius: var(--r-sm);
      transition: background var(--t-base);
    }
    .doc-action:hover, .read-more:hover { background: var(--c-gold-dark); color: #fff; }
    .press-hub {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 20px;
    }
    .press-card {
      padding: 26px;
      min-height: 230px;
      background: #fff;
      border: 1px solid var(--c-line);
      border-top: 3px solid var(--c-gold);
      box-shadow: var(--shadow-sm);
      display: flex;
      flex-direction: column;
      transition: transform var(--t-base), box-shadow var(--t-base), border-color var(--t-base);
    }
    .press-card:hover { transform: translateY(-4px); box-shadow: var(--shadow-md); border-color: var(--c-gold); }
    .press-card__kicker { font-size: 11px; text-transform: uppercase; letter-spacing: 0.16em; color: var(--c-gold-dark); font-weight: 800; }
    .press-card__title { margin-top: 12px; font-size: 24px; color: var(--c-secondary); }
    .press-card__text { margin: 12px 0 20px; color: var(--c-ink-soft); font-size: 14px; line-height: 1.65; }
    .press-card .read-more { margin-top: auto; align-self: flex-start; }
    .news-list {
      display: grid;
      grid-template-columns: repeat(3, minmax(0,1fr));
      gap: 22px;
    }
    .news-list .news-card__title { font-size: 20px; }
    .speech-list { display: grid; gap: 14px; }
    .speech-item { grid-template-columns: minmax(0,1fr) auto; align-items: start; }
    .speech-item__date { font-size: 13px; color: var(--c-muted); }
    .speech-item__title { margin-top: 6px; font-size: 22px; color: var(--c-secondary); }
    .speech-item__excerpt { margin: 8px 0 0; color: var(--c-ink-soft); }
    .speech-item__quote {
      padding-left: 18px;
      border-left: 3px solid var(--c-gold);
    }
    .detail-article {
      max-width: 980px;
      margin: 0 auto;
      background: #fff;
      border: 1px solid var(--c-line);
      box-shadow: var(--shadow-sm);
    }
    .detail-article__image { width: 100%; max-height: 460px; object-fit: cover; }
    .detail-article__body { padding: 34px; }
    .detail-article__meta { display: flex; flex-wrap: wrap; gap: 12px; color: var(--c-muted); font-size: 13px; margin-bottom: 14px; }
    .detail-article__title { font-size: clamp(28px, 4vw, 42px); color: var(--c-secondary); }
    .detail-article__text { margin-top: 18px; color: var(--c-ink-soft); font-size: 17px; line-height: 1.78; }
    .empty-state {
      padding: 34px;
      text-align: center;
      background: #fff;
      border: 1px dashed var(--c-line);
      color: var(--c-muted);
    }
    .pdf-modal {
      position: fixed;
      inset: 0;
      z-index: 1000;
      display: none;
      background: rgba(19,28,68,0.74);
      padding: 28px;
    }
    .pdf-modal.is-open { display: grid; place-items: center; }
    .pdf-modal__dialog {
      width: min(1180px, 100%);
      height: min(820px, 92vh);
      background: #fff;
      border: 1px solid var(--c-line);
      box-shadow: var(--shadow-lg);
      display: grid;
      grid-template-rows: auto 1fr;
    }
    .pdf-modal__head {
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 16px;
      padding: 14px 18px;
      background: var(--c-secondary);
      color: #fff;
    }
    .pdf-modal__title { font-weight: 700; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
    .pdf-modal__close {
      width: 38px;
      height: 38px;
      display: grid;
      place-items: center;
      color: #fff;
      border: 1px solid rgba(255,255,255,0.35);
      font-size: 22px;
    }
    .pdf-modal iframe { width: 100%; height: 100%; border: 0; background: #f3f3f3; }
    @media (max-width: 1020px) {
      .doc-grid, .press-hub, .news-list { grid-template-columns: repeat(2, minmax(0,1fr)); }
      .doc-item, .material-item { grid-template-columns: auto minmax(0,1fr); }
      .doc-action { grid-column: 2; justify-self: start; }
    }
    @media (max-width: 680px) {
      .page-hero { padding: 36px 0 30px; }
      .page-panel { padding: 20px; }
      .doc-grid, .press-hub, .news-list { grid-template-columns: 1fr; }
      .filterbar { grid-template-columns: 1fr; }
      .speech-item { grid-template-columns: 1fr; }
      .doc-item, .material-item { grid-template-columns: 1fr; }
      .file-badge { width: 46px; height: 46px; }
      .doc-action { grid-column: auto; justify-self: stretch; }
      .pdf-modal { padding: 10px; }
      .detail-article__body { padding: 24px; }
    }

  

    /* ============ ДОПОЛНИТЕЛЬНЫЕ СТРАНИЦЫ И ФОРМЫ ============ */
    .doc-actions {
      display: flex;
      flex-wrap: wrap;
      gap: 8px;
      justify-content: flex-end;
      align-items: center;
    }
    .doc-action--light {
      background: #fff;
      color: var(--c-secondary);
      border: 1px solid var(--c-line);
    }
    .doc-action--light:hover {
      background: var(--c-bg-alt);
      color: var(--c-secondary);
      border-color: var(--c-gold);
    }
    .pdf-modal__tools {
      display: flex;
      align-items: center;
      gap: 10px;
      flex: 0 0 auto;
    }
    .pdf-modal__download {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-height: 38px;
      padding: 0 14px;
      border: 1px solid rgba(255,255,255,0.38);
      color: #fff;
      font-size: 13px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .05em;
    }
    .pdf-modal__download:hover { background: rgba(255,255,255,.12); color: #fff; }

    .content-grid {
      display: grid;
      grid-template-columns: 1.25fr .75fr;
      gap: 24px;
      align-items: start;
    }
    .content-card, .info-card, .form-card, .team-card, .symbol-card {
      background: #fff;
      border: 1px solid var(--c-line);
      border-radius: var(--r-sm);
      box-shadow: var(--shadow-sm);
    }
    .content-card { padding: 30px; }
    .content-card h2, .form-card h2, .info-card h2 {
      color: var(--c-secondary);
      font-size: 28px;
      margin: 0 0 16px;
    }
    .content-card h3 {
      color: var(--c-secondary);
      font-size: 22px;
      margin: 26px 0 10px;
    }
    .content-card p, .content-card li, .info-card p, .form-note p {
      color: var(--c-ink-soft);
      line-height: 1.78;
      font-size: 16px;
    }
    .content-card ul { margin: 12px 0 0 20px; display: grid; gap: 8px; }
    .aside-stack { display: grid; gap: 16px; }
    .info-card { padding: 22px; }
    .info-card__label {
      display: inline-flex;
      color: var(--c-gold-dark);
      font-size: 11px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .14em;
      margin-bottom: 8px;
    }
    .timeline { display: grid; gap: 12px; margin-top: 18px; }
    .timeline-item {
      display: grid;
      grid-template-columns: 96px minmax(0, 1fr);
      gap: 16px;
      padding: 16px;
      background: var(--c-bg-alt);
      border-left: 3px solid var(--c-gold);
    }
    .timeline-item strong { color: var(--c-secondary); font-size: 18px; }
    .timeline-item span { color: var(--c-ink-soft); line-height: 1.6; }
    .symbol-grid, .team-grid, .contact-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 18px;
    }
    .symbol-card, .team-card { padding: 24px; min-height: 220px; }
    .symbol-icon {
      width: 72px;
      height: 72px;
      display: grid;
      place-items: center;
      color: #fff;
      background: linear-gradient(135deg, var(--c-secondary), var(--c-primary));
      border-radius: 50%;
      box-shadow: 0 16px 32px rgba(38,56,118,.18);
      margin-bottom: 18px;
      font-weight: 900;
      font-size: 24px;
      font-family: var(--ff-display);
    }
    .symbol-card h3, .team-card h3 { color: var(--c-secondary); font-size: 22px; margin-bottom: 10px; }
    .symbol-card p, .team-card p { color: var(--c-ink-soft); line-height: 1.65; }
    .team-card__role {
      display: inline-flex;
      margin-bottom: 10px;
      color: var(--c-gold-dark);
      font-size: 11px;
      font-weight: 800;
      text-transform: uppercase;
      letter-spacing: .12em;
    }
    .team-card__avatar {
      width: 72px;
      height: 72px;
      border-radius: 50%;
      background: linear-gradient(135deg, rgba(38,56,118,.14), rgba(184,146,76,.22));
      border: 1px solid var(--c-line);
      display: grid;
      place-items: center;
      color: var(--c-secondary);
      font-weight: 900;
      font-size: 22px;
      margin-bottom: 16px;
    }
    .contact-card {
      background: #fff;
      border: 1px solid var(--c-line);
      box-shadow: var(--shadow-sm);
      padding: 24px;
      min-height: 172px;
    }
    .contact-card h3 { color: var(--c-secondary); font-size: 20px; margin-bottom: 10px; }
    .contact-card p, .contact-card a { color: var(--c-ink-soft); line-height: 1.7; }
    .map-placeholder {
      min-height: 340px;
      display: grid;
      place-items: center;
      text-align: center;
      padding: 28px;
      background:
        linear-gradient(45deg, rgba(38,56,118,.08) 25%, transparent 25%),
        linear-gradient(-45deg, rgba(38,56,118,.08) 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, rgba(184,146,76,.12) 75%),
        linear-gradient(-45deg, transparent 75%, rgba(184,146,76,.12) 75%);
      background-size: 28px 28px;
      background-position: 0 0, 0 14px, 14px -14px, -14px 0;
      border: 1px solid var(--c-line);
      color: var(--c-secondary);
      font-weight: 800;
    }
    .form-card { padding: 28px; }
    .form-note {
      background: var(--c-bg-alt);
      border: 1px solid var(--c-line);
      border-left: 4px solid var(--c-gold);
      padding: 22px;
      margin-bottom: 22px;
    }
    .form-grid {
      display: grid;
      grid-template-columns: repeat(2, minmax(0,1fr));
      gap: 16px;
    }
    .field { display: grid; gap: 7px; }
    .field--wide { grid-column: 1 / -1; }
    .field label {
      color: var(--c-secondary);
      font-weight: 800;
      font-size: 13px;
    }
    .field input, .field textarea, .field select {
      width: 100%;
      border: 1px solid var(--c-line);
      border-radius: var(--r-sm);
      background: #fff;
      color: var(--c-ink);
      padding: 13px 14px;
      outline: none;
      font-family: var(--ff-body);
      font-size: 15px;
    }
    .field textarea { min-height: 140px; resize: vertical; }
    .field input:focus, .field textarea:focus, .field select:focus {
      border-color: var(--c-gold);
      box-shadow: 0 0 0 3px rgba(184,146,76,.14);
    }
    .consent-box {
      display: flex;
      align-items: flex-start;
      gap: 10px;
      margin: 18px 0;
      color: var(--c-ink-soft);
      line-height: 1.55;
      font-size: 14px;
    }
    .consent-box input { margin-top: 4px; }
    .captcha-row {
      display: grid;
      grid-template-columns: 160px minmax(0,1fr);
      gap: 12px;
      align-items: end;
    }
    .captcha-code {
      display: grid;
      place-items: center;
      min-height: 48px;
      background: repeating-linear-gradient(135deg, #eef2fb 0 8px, #fff 8px 16px);
      border: 1px solid var(--c-line);
      color: var(--c-secondary);
      font-weight: 900;
      letter-spacing: .18em;
      user-select: none;
    }
    .form-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
    .form-message {
      display: none;
      margin-top: 16px;
      padding: 14px 16px;
      background: #eef7ef;
      border: 1px solid #cfe8d1;
      color: #27612c;
      line-height: 1.55;
    }
    .form-message.is-visible { display: block; }
    .gosuslugi-link {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      margin-top: 14px;
      padding: 12px 16px;
      background: var(--c-primary);
      color: #fff;
      border-radius: var(--r-sm);
      font-weight: 800;
    }
    .gosuslugi-link:hover { background: var(--c-secondary); color: #fff; }

    /* ============ ВЕРСИЯ ДЛЯ СЛАБОВИДЯЩИХ ============ */
    .access-toolbar {
      position: sticky;
      top: 0;
      z-index: 3000;
      display: none;
      flex-wrap: wrap;
      gap: 8px;
      align-items: center;
      padding: 12px var(--gutter);
      background: #fff;
      color: #000;
      border-bottom: 3px solid #000;
      box-shadow: 0 8px 24px rgba(0,0,0,.18);
      font-family: Arial, Helvetica, sans-serif;
    }
    body.access-mode .access-toolbar { display: flex; }
    .access-toolbar strong { margin-right: 6px; font-size: 18px; }
    .access-toolbar__group {
      display: inline-flex;
      flex-wrap: wrap;
      gap: 6px;
      align-items: center;
      padding: 4px 6px;
      border-left: 2px solid currentColor;
    }
    .access-toolbar__label { font-weight: 800; font-size: 15px; }
    .access-toolbar button, .access-toolbar a {
      min-height: 38px;
      padding: 8px 11px;
      border: 2px solid currentColor;
      background: transparent;
      color: inherit;
      font-weight: 800;
      font-size: 16px;
      border-radius: 0;
      text-decoration: none;
    }
    .access-toolbar button.is-active,
    .access-toolbar button[aria-pressed="true"] {
      outline: 3px solid currentColor;
      outline-offset: 2px;
    }
    body.access-mode {
      font-family: Arial, Helvetica, sans-serif !important;
      background: #fff !important;
      color: #000 !important;
    }
    body.access-font-serif,
    body.access-font-serif * { font-family: Georgia, "Times New Roman", Times, serif !important; }
    body.access-font-sans,
    body.access-font-sans * { font-family: Arial, Helvetica, sans-serif !important; }
    body.access-mode * {
      letter-spacing: normal !important;
      text-shadow: none !important;
      box-shadow: none !important;
      transition: none !important;
    }
    body.access-mode a { text-decoration: underline !important; }
    body.access-mode .bg-decor,
    body.access-mode .bg-grid { display: none !important; }
    body.access-mode.access-hide-images img,
    body.access-mode.access-hide-images picture,
    body.access-mode.access-hide-images .hero__photo,
    body.access-mode.access-hide-images .news-card__image,
    body.access-mode.access-hide-images .detail-article__image,
    body.access-mode.access-hide-images .bio-photo,
    body.access-mode.access-hide-images .promo-banner,
    body.access-mode.access-hide-images .slide,
    body.access-mode.access-hide-images .gallery,
    body.access-mode.access-hide-images [class*="image"],
    body.access-mode.access-hide-images [class*="photo"] {
      display: none !important;
      background-image: none !important;
    }
    body.access-mode.access-hide-images .brand__logo {
      display: flex !important;
      align-items: center !important;
      justify-content: center !important;
      background: transparent !important;
      border: 2px solid currentColor !important;
      color: inherit !important;
    }
    body.access-mode.access-hide-images .brand__logo::before { content: "Герб"; position: static; border: 0; opacity: 1; font-weight: 800; }
    body.access-mode .header,
    body.access-mode .nav-wrap,
    body.access-mode .footer,
    body.access-mode .page-hero,
    body.access-mode .hero,
    body.access-mode .content-card,
    body.access-mode .info-card,
    body.access-mode .form-card,
    body.access-mode .page-panel,
    body.access-mode .doc-category,
    body.access-mode .doc-item,
    body.access-mode .material-item,
    body.access-mode .team-card,
    body.access-mode .symbol-card,
    body.access-mode .contact-card,
    body.access-mode .press-card,
    body.access-mode .news-card,
    body.access-mode .speech-item {
      background: #fff !important;
      color: #000 !important;
      border-color: #000 !important;
    }
    body.access-mode h1, body.access-mode h2, body.access-mode h3,
    body.access-mode h4, body.access-mode p, body.access-mode li,
    body.access-mode span, body.access-mode a, body.access-mode label,
    body.access-mode .brand__title, body.access-mode .brand__overline,
    body.access-mode .nav__link, body.access-mode .nav__sublink,
    body.access-mode .mobile-menu__link, body.access-mode .mobile-menu__sublink,
    body.access-mode .page-hero__lead, body.access-mode .page-hero__overline,
    body.access-mode .footer__about, body.access-mode .footer__list a {
      color: inherit !important;
    }
    body.access-mode .btn, body.access-mode .doc-action, body.access-mode .read-more,
    body.access-mode .gosuslugi-link, body.access-mode .social, body.access-mode .file-badge,
    body.access-mode .doc-category__count {
      background: #000 !important;
      color: #fff !important;
      border: 2px solid #000 !important;
    }
    body.access-size-1 { font-size: 18px !important; }
    body.access-size-2 { font-size: 20px !important; }
    body.access-size-3 { font-size: 22px !important; }
    body.access-size-4 { font-size: 24px !important; }
    body.access-size-5 { font-size: 28px !important; }
    body.access-size-1 p, body.access-size-1 li, body.access-size-1 a, body.access-size-1 input, body.access-size-1 textarea, body.access-size-1 label, body.access-size-1 button { font-size: 18px !important; }
    body.access-size-2 p, body.access-size-2 li, body.access-size-2 a, body.access-size-2 input, body.access-size-2 textarea, body.access-size-2 label, body.access-size-2 button { font-size: 20px !important; }
    body.access-size-3 p, body.access-size-3 li, body.access-size-3 a, body.access-size-3 input, body.access-size-3 textarea, body.access-size-3 label, body.access-size-3 button { font-size: 22px !important; }
    body.access-size-4 p, body.access-size-4 li, body.access-size-4 a, body.access-size-4 input, body.access-size-4 textarea, body.access-size-4 label, body.access-size-4 button { font-size: 24px !important; }
    body.access-size-5 p, body.access-size-5 li, body.access-size-5 a, body.access-size-5 input, body.access-size-5 textarea, body.access-size-5 label, body.access-size-5 button { font-size: 28px !important; }
    body.access-black, body.access-black .access-toolbar { background: #000 !important; color: #fff !important; }
    body.access-black .header, body.access-black .nav-wrap, body.access-black .footer,
    body.access-black .page-hero, body.access-black .hero, body.access-black .content-card,
    body.access-black .info-card, body.access-black .form-card, body.access-black .page-panel,
    body.access-black .doc-category, body.access-black .doc-item, body.access-black .material-item,
    body.access-black .team-card, body.access-black .symbol-card, body.access-black .contact-card,
    body.access-black .press-card, body.access-black .news-card, body.access-black .speech-item {
      background: #000 !important; color: #fff !important; border-color: #fff !important;
    }
    body.access-black .btn, body.access-black .doc-action, body.access-black .read-more,
    body.access-black .gosuslugi-link, body.access-black .social, body.access-black .file-badge,
    body.access-black .doc-category__count { background: #fff !important; color: #000 !important; border-color: #fff !important; }
    body.access-blue, body.access-blue .access-toolbar { background: #9dd1ff !important; color: #06315a !important; }
    body.access-blue .header, body.access-blue .nav-wrap, body.access-blue .footer,
    body.access-blue .page-hero, body.access-blue .hero, body.access-blue .content-card,
    body.access-blue .info-card, body.access-blue .form-card, body.access-blue .page-panel,
    body.access-blue .doc-category, body.access-blue .doc-item, body.access-blue .material-item,
    body.access-blue .team-card, body.access-blue .symbol-card, body.access-blue .contact-card,
    body.access-blue .press-card, body.access-blue .news-card, body.access-blue .speech-item {
      background: #9dd1ff !important; color: #06315a !important; border-color: #06315a !important;
    }
    body.access-blue .btn, body.access-blue .doc-action, body.access-blue .read-more,
    body.access-blue .gosuslugi-link, body.access-blue .social, body.access-blue .file-badge,
    body.access-blue .doc-category__count { background: #06315a !important; color: #9dd1ff !important; border-color: #06315a !important; }

    /* Страница биографии */
    .bio-layout {
      display: grid;
      grid-template-columns: minmax(0, 360px) minmax(0, 1fr);
      gap: 30px;
      align-items: start;
    }
    .bio-photo {
      border: 1px solid var(--c-line);
      background: #fff;
      padding: 12px;
      box-shadow: var(--shadow-md);
    }
    .bio-photo img {
      width: 100%;
      height: auto;
      object-fit: cover;
    }
    .bio-caption {
      margin-top: 12px;
      color: var(--c-muted);
      font-size: 14px;
    }
    .bio-text h2 { margin-bottom: 18px; }
    .bio-text p {
      margin: 0 0 14px;
      color: var(--c-ink-soft);
      font-size: 17px;
      line-height: 1.78;
    }
    .bio-text p:first-of-type {
      font-size: 19px;
      color: var(--c-ink);
    }
    @media (max-width: 900px) {
      .bio-layout { grid-template-columns: 1fr; }
      .bio-photo { max-width: 420px; }
    }

    @media (max-width: 1020px) {
      .content-grid { grid-template-columns: 1fr; }
      .symbol-grid, .team-grid, .contact-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    }
    @media (max-width: 680px) {
      .doc-actions { justify-content: stretch; }
      .doc-actions .doc-action { flex: 1; min-width: 0; }
      .content-card, .form-card { padding: 22px; }
      .symbol-grid, .team-grid, .contact-grid, .form-grid, .captcha-row { grid-template-columns: 1fr; }
      .timeline-item { grid-template-columns: 1fr; }
      .access-toolbar { position: static; }
    }

  
/* === Биография / Статус и полномочия === */

    .content-grid--full { grid-template-columns: 1fr !important; }
    .content-card--wide { width: 100%; }
    .legal-text h2 { color: var(--c-secondary); font-size: clamp(28px, 4vw, 38px); margin-bottom: 24px; }
    .legal-text h3 { color: var(--c-secondary); font-size: 23px; margin: 30px 0 14px; }
    .legal-text p { color: var(--c-ink-soft); font-size: 17px; line-height: 1.82; margin: 0 0 14px; }
    .legal-text .legal-item { padding-left: 18px; border-left: 3px solid rgba(181,138,62,.35); }
    .legal-text .legal-ref { color: var(--c-gold-dark); font-weight: 800; margin: 18px 0 24px; }


    .biography-full .content-card { padding: clamp(22px, 4vw, 42px); }
    .biography-full .bio-layout { grid-template-columns: minmax(280px, 390px) minmax(0, 1fr); gap: clamp(24px, 4vw, 46px); }
    .biography-full .bio-photo { position: sticky; top: 118px; }
    .biography-full .bio-text p { font-size: 18px; }
    @media (max-width: 900px) { .biography-full .bio-photo { position: static; } }

