  /* ============ 2. БАЗА ============ */
  *,*::before,*::after{ box-sizing:border-box; }
  html{ scroll-behavior:smooth; }
  body{
    margin:0;
    font-family:var(--sans);
    font-size:16px;
    line-height:1.6;
    color:var(--ink);
    background:var(--white);
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{ font-family:var(--serif); font-weight:700; line-height:1.15; margin:0; letter-spacing:-.01em; }
  p{ margin:0; }
  a{ color:inherit; text-decoration:none; }
  img,svg{ display:block; max-width:100%; height: auto;}
  ul{ margin:0; padding:0; list-style:none; }
  button{ font:inherit; cursor:pointer; border:0; background:none; color:inherit; }

  .container{ width:min(100% - 40px, var(--maxw)); margin-inline:auto; }
  .section{ padding:88px 0; }
  .section--tight{ padding:64px 0; }
  .section--paper{ background:var(--paper); }

  .skip-link{
    position:absolute; left:-9999px; top:0; z-index:999;
    background:var(--gold); color:var(--navy); padding:12px 20px; font-weight:600;
  }
  .skip-link:focus{ left:12px; top:12px; }

  /* Хлебные заголовки секций */
  .eyebrow{
    display:inline-flex; align-items:center; gap:10px;
    font-size:12.5px; font-weight:600; letter-spacing:.14em;
    text-transform:uppercase; color:var(--gold-dark); margin-bottom:16px;
  }
  .eyebrow::before{ content:""; width:26px; height:2px; background:var(--gold); }
  .section-head{ max-width:720px; margin-bottom:44px; }
  .section-head h2{ font-size:clamp(28px,3.4vw,42px); }
  .section-head p{ margin-top:14px; color:var(--muted); font-size:17px; }

  /* Кнопки */
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:10px;
    padding:15px 28px; border-radius:10px;
    font-weight:600; font-size:15px; line-height:1;
    transition:transform .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
    white-space:nowrap;
  }
  .btn svg{ width:17px; height:17px; }
  .btn--primary{ background:var(--gold); color:var(--navy); box-shadow:0 8px 22px rgba(200,162,74,.32); }
  .btn--primary:hover{ background:#d8b45c; transform:translateY(-2px); }
  .btn--ghost{ border:1.5px solid rgba(255,255,255,.38); color:#fff; }
  .btn--ghost:hover{ border-color:var(--gold); color:var(--gold); }
  .btn--dark{ background:var(--navy); color:#fff; }
  .btn--dark:hover{ background:var(--navy-2); transform:translateY(-2px); }
  .btn--sm{ padding:11px 20px; font-size:14px; }

  .link-arrow{
    display:inline-flex; align-items:center; gap:8px;
    font-weight:600; font-size:14.5px; color:var(--navy-2);
    border-bottom:1.5px solid transparent; transition:.18s;
  }
  .link-arrow svg{ width:15px; height:15px; transition:transform .18s; }
  .link-arrow:hover{ color:var(--gold-dark); border-color:var(--gold); }
  .link-arrow:hover svg{ transform:translateX(4px); }

  /* ============ 3. ШАПКА ============ */
  .topbar{
    background:var(--navy); color:rgba(255,255,255,.72);
    font-size:13px; letter-spacing:.02em;
  }
  .topbar .container{
    display:flex; justify-content:space-between; align-items:center; gap:20px;
    min-height:38px; flex-wrap:wrap;
  }
  .topbar a:hover{ color:var(--gold); }
  .topbar__links{ display:flex; gap:20px; }

  .header{
    position:sticky; top:0; z-index:100;
    background:rgba(255,255,255,.94);
    backdrop-filter:blur(12px);
    border-bottom:1px solid var(--line);
  }
  .header .container{
    display:flex; align-items:center; justify-content:space-between; gap:24px;
    min-height:82px;
  }
  .brand{ display:flex; align-items:center; gap:14px; }
  .brand__mark{
    width:46px; height:46px; flex:none;
    display:grid; place-items:center;
    background:var(--navy); color:var(--gold);
    border-radius:10px;
    font-family:var(--serif); font-size:22px; font-weight:700;
  }
  .custom-logo{
    width:46px; height:46px; flex:none;
    display:grid; place-items:center;
  }
  .brand__text{ line-height:1.25; }
  .brand__title{ font-family:var(--serif); font-size:17px; font-weight:700; color:var(--navy); }
  .brand__sub{ font-size:11.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--muted); }

.nav{ display:flex; align-items:center; gap:12px; }

.nav__list{
  display:flex;
  align-items:center;
  gap:4px;
  margin:0;
  padding:0;
  list-style:none;
}
.nav__list li{ margin:0; padding:0; }
.nav__list a{
  display:inline-flex;
  align-items:center;
  padding:10px 14px;
  border-radius:8px;
  font-size:14.5px;
  font-weight:500;
  color:var(--navy);
  text-decoration:none;
  white-space:nowrap;
  transition:background .18s, color .18s;
}
.nav__list a:hover{
  background:var(--paper);
  color:var(--gold-dark);
}
  .header__cta{ margin-left:8px; }
/* ============================================================
   Подменю (dropdown)
   ============================================================ */

/* Пункт с подменю — относительное позиционирование */
.nav__list .menu-item-has-children{
  position:relative;
}

/* Индикатор-стрелка у ссылки-родителя (десктоп) */
.nav__list .menu-item-has-children > a::after{
  content:"";
  display:inline-block;
  width:7px;
  height:7px;
  margin-left:8px;
  border-right:1.6px solid currentColor;
  border-bottom:1.6px solid currentColor;
  transform:rotate(45deg) translateY(-2px);
  transition:transform .2s ease;
  opacity:.65;
}
.nav__list .menu-item-has-children.is-open > a::after{
  transform:rotate(-135deg) translateY(-2px);
}

/* Само подменю (десктоп) */
.nav__list .sub-menu{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  min-width:240px;
  margin:0;
  padding:8px;
  list-style:none;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  box-shadow:var(--shadow-lg);
  opacity:0;
  visibility:hidden;
  transform:translateY(-6px);
  transition:opacity .18s ease, transform .18s ease, visibility .18s;
  z-index:50;
}
.nav__list .menu-item-has-children:hover > .sub-menu,
.nav__list .menu-item-has-children:focus-within > .sub-menu,
.nav__list .menu-item-has-children.is-open > .sub-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

/* Пункты подменю */
.nav__list .sub-menu li{ margin:0; }
.nav__list .sub-menu a{
  display:block;
  padding:10px 12px;
  border-radius:8px;
  font-size:14px;
  white-space:normal;
  color:var(--navy);
}
.nav__list .sub-menu a:hover,
.nav__list .sub-menu a:focus{
  background:var(--paper);
  color:var(--gold-dark);
}

/* Вложенные подменю (третий уровень) — вправо */
.nav__list .sub-menu .menu-item-has-children > .sub-menu{
  top:-8px;
  left:calc(100% + 6px);
}

/* Кнопка-тоггл — по умолчанию скрыта (десктоп) */
.submenu-toggle{
  display:none;
}

  .burger{ display:none; width:46px; height:46px; border-radius:10px; align-items:center; justify-content:center; }
  .burger span{ display:block; width:22px; height:2px; background:var(--navy); position:relative; }
  .burger span::before,.burger span::after{
    content:""; position:absolute; left:0; width:22px; height:2px; background:var(--navy);
    transition:transform .2s;
  }
  .burger span::before{ top:-7px; } .burger span::after{ top:7px; }

  /* ============ 4. HERO ============ */
  .hero{
  position:relative;
  overflow:hidden;
  color:#fff;
  padding:96px 0 92px;
  isolation:isolate; /* создаём контекст наложения */

  /* Базовый (бесфотографический) фон */
  background:
    radial-gradient(900px 500px at 82% 12%, rgba(200,162,74,.20), transparent 62%),
    linear-gradient(140deg, var(--navy) 0%, var(--navy-2) 58%, var(--navy-3) 100%);
  background-size:auto, auto;
  background-position:center, center;
  background-repeat:no-repeat, no-repeat;
}

/* Фотография, если задана через CSS-переменную */
.hero--has-image{
  background-image:
    radial-gradient(900px 500px at 82% 12%, rgba(200,162,74,.16), transparent 62%),
    var(--hero-bg);
  background-size:auto, cover;
  background-position:center, center;
  background-repeat:no-repeat, no-repeat;
}

/* Полупрозрачный оверлей поверх фото, но под контентом */
.hero::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(
    140deg,
    rgba(16,35,59,.88) 0%,
    rgba(26,52,84,.82) 55%,
    rgba(36,68,107,.78) 100%
  );
  pointer-events:none;
}

/* Дополнительная «вуаль» для гарантии контраста текста */
.hero--has-image::before{
  background:
    linear-gradient(140deg, rgba(16,35,59,.9) 0%, rgba(26,52,84,.86) 60%, rgba(36,68,107,.78) 100%),
    radial-gradient(900px 500px at 82% 12%, rgba(200,162,74,.18), transparent 62%);
}

/* Декоративная вставка — над оверлеем, но под контентом */
.hero::after{
  content:"LAW";
  position:absolute;
  right:-2vw;
  bottom:-9vw;
  z-index:1;
  font-family:var(--serif);
  font-size:38vw;
  line-height:1;
  color:rgba(255,255,255,.045);
  pointer-events:none;
  user-select:none;
}

/* Контент hero — верхний слой */
.hero__grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.25fr .75fr;
  gap:60px;
  align-items:center;
}
  .hero h1{ font-size:clamp(32px,4.4vw,58px); max-width:16ch; }
  .hero h1 em{ font-style:normal; color:var(--gold); }
  .hero__lead{
    margin-top:24px; max-width:56ch;
    font-size:17.5px; color:rgba(255,255,255,.82);
  }
  .hero__actions{ display:flex; flex-wrap:wrap; gap:14px; margin-top:36px; }
  .hero__meta{
    display:flex; flex-wrap:wrap; gap:26px; margin-top:44px;
    padding-top:26px; border-top:1px solid rgba(255,255,255,.16);
    font-size:13.5px; color:rgba(255,255,255,.66);
  }
  .hero__meta b{ display:block; color:#fff; font-size:15px; font-weight:600; }

/* Мобильная коррекция: на телефоне фон фиксируем scroll-ом
   (background-attachment:fixed ломается в iOS Safari) */
@media (max-width:820px){
  .hero--has-image{
    background-attachment:scroll;
  }
  .hero::before,
  .hero--has-image::before{
    background:linear-gradient(
      180deg,
      rgba(16,35,59,.92) 0%,
      rgba(26,52,84,.86) 60%,
      rgba(36,68,107,.82) 100%
    );
  }
}

  /* Карточка приёмной кампании */
  .admission{
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.16);
    border-radius:18px; padding:30px;
    backdrop-filter:blur(6px);
  }
  .admission__label{
    font-size:11.5px; letter-spacing:.16em; text-transform:uppercase;
    color:var(--gold); font-weight:600;
  }
  .admission h3{ font-size:24px; margin-top:12px; }
  .admission__list{ margin-top:20px; display:grid; gap:14px; }
  .admission__list li{
    display:flex; justify-content:space-between; gap:16px;
    padding-bottom:14px; border-bottom:1px dashed rgba(255,255,255,.16);
    font-size:14.5px; color:rgba(255,255,255,.78);
  }
  .admission__list li b{ color:#fff; white-space:nowrap; }
  .admission .btn{ width:100%; margin-top:24px; }

  /* ============ 5. СЦЕНАРИИ «Я ХОЧУ…» ============ */
  .scenarios{ margin-top:-56px; position:relative; z-index:5; }
  .scenario-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
  .scenario{
    background:#fff; border:1px solid var(--line); border-radius:var(--radius);
    padding:28px 24px 24px;
    display:flex; flex-direction:column; gap:12px;
    box-shadow:var(--shadow);
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
  }
  .scenario:hover{ transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:var(--gold); }
  .scenario__icon{
    width:44px; height:44px; border-radius:11px; flex:none;
    display:grid; place-items:center;
    background:rgba(200,162,74,.14); color:var(--gold-dark);
  }
  .scenario__icon svg{ width:22px; height:22px; }
  .scenario h3{ font-size:19px; margin-top:4px; }
  .scenario p{ font-size:14px; color:var(--muted); flex:1; }
  .scenario .link-arrow{ margin-top:6px; font-size:13.5px; }

  /* ============ 6. ЦИФРЫ ============ */
  .stats{ background:var(--navy); color:#fff; }
  .stats__grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:36px; }
  .stat{ position:relative; padding-left:22px; }
  .stat::before{ content:""; position:absolute; left:0; top:6px; bottom:6px; width:2px; background:var(--gold); opacity:.65; }
  .stat__num{
    font-family:var(--serif); font-size:clamp(38px,4.6vw,56px); line-height:1;
    color:var(--gold); font-weight:700;
  }
  .stat__label{ margin-top:10px; font-size:14.5px; color:rgba(255,255,255,.72); }

  /* ============ 7. СТРУКТУРА ============ */
  .structure{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }
  .departments{ display:flex; flex-wrap:wrap; gap:10px; }
  .chip{
    display:inline-flex; align-items:center; gap:9px;
    padding:11px 16px; border-radius:999px;
    background:#fff; border:1px solid var(--line);
    font-size:14px; font-weight:500; color:var(--navy);
    transition:.18s;
  }
  .chip:hover{ border-color:var(--gold); background:#fffdf7; }
  .chip span{ width:6px; height:6px; border-radius:50%; background:var(--gold); flex:none; }

  .units{ display:grid; gap:14px; }
  .unit{
    display:flex; gap:16px; align-items:flex-start;
    background:#fff; border:1px solid var(--line);
    border-left:3px solid var(--gold);
    border-radius:12px; padding:20px 22px;
    transition:.18s;
  }
  .unit:hover{ box-shadow:var(--shadow); transform:translateX(3px); }
  .unit h4{ font-size:16.5px; }
  .unit p{ font-size:14px; color:var(--muted); margin-top:6px; }

  /* ============ 8. НОВОСТИ И СОБЫТИЯ ============ */
  .news-layout{ display:grid; grid-template-columns:1.9fr 1fr; gap:48px; align-items:start; }

  .news-main{
    display:block; border-radius:var(--radius); overflow:hidden;
    background:var(--paper); border:1px solid var(--line);
    transition:.2s;
  }
  .news-main:hover{ box-shadow:var(--shadow-lg); transform:translateY(-3px); }
  .news-main__media{
    aspect-ratio:16/8.4;
    background:
      radial-gradient(400px 220px at 20% 20%, rgba(200,162,74,.45), transparent 70%),
      linear-gradient(135deg, var(--navy) 0%, var(--navy-3) 100%);
    position:relative;
  }
  .news-main__media span{
    position:absolute; left:24px; bottom:20px;
    font-family:var(--serif); font-size:26px; color:rgba(255,255,255,.9);
  }
  .news-main__body{ padding:26px 28px 30px; }
  .news-main h3{ font-size:24px; margin-top:12px; }
  .news-main p{ margin-top:12px; color:var(--muted); font-size:15px; }

  .tag{
    display:inline-block; padding:5px 12px; border-radius:999px;
    background:rgba(200,162,74,.16); color:var(--gold-dark);
    font-size:11.5px; font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  }
  .date{ font-size:13px; color:var(--muted); }

  .news-list{ margin-top:26px; display:grid; gap:2px; }
  .news-list a{
    display:grid; grid-template-columns:88px 1fr; gap:18px; align-items:baseline;
    padding:18px 0; border-bottom:1px solid var(--line);
    transition:.18s;
  }
  .news-list a:hover{ padding-left:8px; color:var(--navy-2); }
  .news-list a:hover .news-list__title{ color:var(--gold-dark); }
  .news-list__title{ font-size:15.5px; font-weight:600; transition:color .18s; }

  .events{
    background:var(--paper); border:1px solid var(--line);
    border-radius:var(--radius); padding:28px;
  }
  .events h3{ font-size:21px; }
  .events__item{
    display:grid; grid-template-columns:56px 1fr; gap:16px;
    padding:18px 0; border-bottom:1px solid var(--line);
  }
  .events__item:last-of-type{ border-bottom:0; }
  .events__date{
    text-align:center; background:#fff; border:1px solid var(--line);
    border-radius:10px; padding:8px 4px; line-height:1.1;
  }
  .events__date b{ display:block; font-family:var(--serif); font-size:20px; color:var(--navy); }
  .events__date span{ font-size:10.5px; text-transform:uppercase; letter-spacing:.08em; color:var(--muted); }
  .events__item h4{ font-size:15px; font-family:var(--sans); font-weight:600; }
  .events__item p{ font-size:13px; color:var(--muted); margin-top:4px; }
  .events .btn{ width:100%; margin-top:22px; }

  /* ============ 9. ПРОГРАММЫ (ТАБЫ) ============ */
  .tabs{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:32px; border-bottom:1px solid var(--line); }
  .tab{
    padding:14px 22px; font-weight:600; font-size:15px; color:var(--muted);
    border-bottom:3px solid transparent; margin-bottom:-1px; transition:.18s;
  }
  .tab:hover{ color:var(--navy); }
  .tab.is-active{ color:var(--navy); border-color:var(--gold); }

  .panel{ display:none; }
  .panel.is-active{ display:block; animation:fade .28s ease both; }
  @keyframes fade{ from{ opacity:0; transform:translateY(8px);} to{ opacity:1; transform:none;} }

  .programs{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
  .program{
    background:#fff; border:1px solid var(--line); border-radius:var(--radius);
    padding:26px; display:flex; flex-direction:column; gap:14px;
    transition:.2s;
  }
  .program:hover{ border-color:var(--gold); box-shadow:var(--shadow); transform:translateY(-4px); }
  .program__code{ font-size:12.5px; font-weight:700; letter-spacing:.1em; color:var(--gold-dark); }
  .program h4{ font-size:18.5px; }
  .program ul{ display:grid; gap:8px; font-size:14px; color:var(--muted); flex:1; }
  .program ul li{ display:flex; gap:9px; }
  .program ul li::before{ content:"—"; color:var(--gold); flex:none; }
  .program__foot{
    display:flex; justify-content:space-between; align-items:center; gap:12px;
    padding-top:16px; border-top:1px solid var(--line);
  }
  .program__foot b{ font-family:var(--serif); font-size:17px; color:var(--navy); }
  .program__foot small{ display:block; font-size:11.5px; color:var(--muted); letter-spacing:.04em; }

  /* ============ 10. НАУКА И ПРАКТИКА ============ */
  .science{ display:grid; grid-template-columns:1fr 1fr; gap:32px; align-items:start; }

  .event-card{
    background:linear-gradient(140deg, var(--navy) 0%, var(--navy-3) 100%);
    color:#fff; border-radius:18px; padding:38px; position:relative; overflow:hidden;
  }
  .event-card::after{
    content:""; position:absolute; right:-70px; top:-70px;
    width:220px; height:220px; border-radius:50%;
    background:radial-gradient(circle, rgba(200,162,74,.4), transparent 70%);
  }
  .event-card h3{ font-size:clamp(22px,2.6vw,30px); margin-top:16px; position:relative; }
  .event-card p{ margin-top:14px; color:rgba(255,255,255,.78); font-size:15px; position:relative; }
  .event-card__facts{ display:flex; gap:30px; flex-wrap:wrap; margin:26px 0; position:relative; }
  .event-card__facts b{ display:block; color:var(--gold); font-family:var(--serif); font-size:20px; }
  .event-card__facts span{ font-size:12.5px; color:rgba(255,255,255,.62); }

  .partners{ display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
  .partner{
    padding:12px 18px; border:1px dashed var(--line); border-radius:10px;
    font-size:13.5px; color:var(--muted); background:#fff;
  }
  .quote{
    margin-top:28px; background:#fff; border:1px solid var(--line);
    border-radius:var(--radius); padding:26px;
  }
  .quote p{ font-family:var(--serif); font-size:17px; font-style:italic; color:var(--navy); line-height:1.5; }
  .quote footer{ margin-top:16px; display:flex; align-items:center; gap:12px; font-size:13.5px; color:var(--muted); }
  .quote__avatar{
    width:40px; height:40px; border-radius:50%; flex:none;
    background:rgba(200,162,74,.2); color:var(--gold-dark);
    display:grid; place-items:center; font-weight:700; font-size:15px;
  }
  .quote b{ display:block; color:var(--navy); font-size:14px; }

  /* ============ 11. ПОДВАЛ ============ */
  .footer{ background:var(--navy); color:rgba(255,255,255,.72); padding:72px 0 0; font-size:14.5px; }
  .footer__grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1.3fr; gap:44px; }
  .footer h4{
    font-family:var(--sans); font-size:12px; font-weight:700;
    letter-spacing:.14em; text-transform:uppercase; color:#fff; margin-bottom:18px;
  }
  .footer .brand__title{ color:#fff; }
  .footer .brand__sub{ color:rgba(255,255,255,.5); }
  .footer .brand__mark{ background:rgba(255,255,255,.1); }
  .footer p{ line-height:1.75; }
  .footer a:hover{ color:var(--gold); }
  .footer ul{ display:grid; gap:10px; }
  .footer__phone{ color:#fff; font-size:16px; font-weight:600; font-family:var(--serif); }
  .footer__form{ display:flex; gap:8px; margin-top:16px; }
  .footer__form input{
    flex:1; min-width:0; padding:13px 15px; border-radius:10px;
    border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.06);
    color:#fff; font-size:14px;
  }
  .footer__form input::placeholder{ color:rgba(255,255,255,.4); }
  .footer__form input:focus{ outline:2px solid var(--gold); outline-offset:1px; }
  .footer__bottom{
    margin-top:56px; padding:22px 0; border-top:1px solid rgba(255,255,255,.12);
    display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap;
    font-size:13px; color:rgba(255,255,255,.5);
  }

/* ============================================================
   Внутренние страницы: page.php и single.php
   ============================================================ */

.container--narrow{
  width:min(100% - 40px, 1200px);
  margin-inline:auto;
}

/* Hero внутренней страницы */
.page-hero{
  position:relative;
  overflow:hidden;
  color:#fff;
  padding:56px 0 56px;
  background:
    radial-gradient(700px 380px at 82% 10%, rgba(200,162,74,.18), transparent 62%),
    linear-gradient(140deg, var(--navy) 0%, var(--navy-2) 58%, var(--navy-3) 100%);
}
.page-hero::after{
  content:"LAW";
  position:absolute;
  right:-2vw;
  bottom:-9vw;
  font-family:var(--serif);
  font-size:30vw;
  line-height:1;
  color:rgba(255,255,255,.045);
  pointer-events:none;
  user-select:none;
}
.page-hero__title{
  position:relative;
  z-index:1;
  margin-top:16px;
  font-size:clamp(28px,3.6vw,44px);
  max-width:24ch;
}
.page-hero__lead{
  position:relative;
  z-index:1;
  margin-top:16px;
  max-width:62ch;
  font-size:17px;
  color:rgba(255,255,255,.8);
}

/* Хлебные крошки */
.breadcrumbs{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  font-size:13px;
  color:rgba(255,255,255,.55);
}
.breadcrumbs a{ color:rgba(255,255,255,.82); }
.breadcrumbs a:hover{ color:var(--gold); }

/* Обложка страницы / записи */
.page-cover{
  margin:-48px 0 0;
  border-radius:var(--radius);
  overflow:hidden;
  box-shadow:var(--shadow-lg);
  position:relative;
  z-index:2;
}
.page-cover img{ width:100%; height:auto; display:block; }

/* Типографика контента из редактора */
.entry-content{
  font-size: 16.5px;
  line-height: 1.75;
  color: var(--ink);
  margin-inline: auto;
}

/* Отступы между блоками */
:where(.entry-content) > :where(* + *){ margin-block-start: 1.1em; }

/* Заголовки */
:where(.entry-content) :where(h2){ font-size: clamp(22px, 2.4vw, 28px); margin-block-start: 1.8em; }
:where(.entry-content) :where(h3){ font-size: clamp(19px, 2vw, 22px);   margin-block-start: 1.6em; }
:where(.entry-content) :where(h4){ font-size: 18px;                    margin-block-start: 1.4em; }

/* Ссылки */
:where(.entry-content) :where(a){
  color: var(--navy-2);
  border-bottom: 1px solid var(--gold);
  transition: color .18s, border-color .18s;
}
:where(.entry-content) :where(a):hover{
  color: var(--gold-dark);
  border-color: var(--navy-2);
}

/* Списки */
:where(.entry-content) :where(ul),
:where(.entry-content) :where(ol){ padding-left: 1.35em; }
:where(.entry-content) :where(ul){ list-style: disc; }
:where(.entry-content) :where(ol){ list-style: decimal; }
:where(.entry-content) :where(li + li){ margin-top: .4em; }

/* Цитаты */
:where(.entry-content) :where(blockquote){
  margin: 1.6em 0;
  padding: 22px 26px;
  background: var(--paper);
  border-left: 3px solid var(--gold);
  border-radius: 0 12px 12px 0;
  font-family: var(--serif);
  font-size: 17.5px;
  font-style: italic;
  color: var(--navy);
}

/* Изображения */
:where(.entry-content) :where(img){
  height: auto;
  max-width: 100%;
}
:where(.entry-content) :where(.wp-block-image){
  margin: 1.4em 0;
}
:where(.entry-content) :where(.wp-block-image img){
  border-radius: 12px;
}
:where(.entry-content) :where(figcaption){
  margin-top: 10px;
  font-size: 13.5px;
  color: var(--muted);
  text-align: center;
}

/* Таблицы */
:where(.entry-content) :where(table){
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
}
:where(.entry-content) :where(th),
:where(.entry-content) :where(td){
  padding: 12px 14px;
  border-bottom: 1px solid var(--line);
  text-align: left;
  vertical-align: top;
}
:where(.entry-content) :where(th){
  background: var(--paper);
  font-weight: 600;
}

/* Wide и Full */
.entry-content > .alignwide{
  max-width: min(calc(100vw - 40px), var(--wp--style--global--wide-size, 1200px));
  width: 100%;
  margin-left: calc(50% - min(calc(100vw - 40px), var(--wp--style--global--wide-size, 1200px)) / 2);
  margin-right: calc(50% - min(calc(100vw - 40px), var(--wp--style--global--wide-size, 1200px)) / 2);
}
.entry-content > .alignfull{
  width: 100vw;
  max-width: 1200px;
  margin: auto;
}

/* Мета записи */
.post-meta{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
  font-size:13.5px;
  color:rgba(255,255,255,.75);
}
.post-meta .tag{ color:var(--gold); background:rgba(200,162,74,.16); }
.post-meta__author::before{ content:"·"; margin-right:10px; opacity:.6; }

/* Теги записи */
.post-tags{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin-top:32px;
  font-size:13.5px;
  color:var(--muted);
}
.post-tags a{
  padding:6px 12px;
  border-radius:999px;
  background:var(--paper);
  border:1px solid var(--line);
  color:var(--navy);
  font-size:13px;
  transition:.18s;
}
.post-tags a:hover{ border-color:var(--gold); color:var(--gold-dark); }

/* Навигация между записями */
.post-nav{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin:8px 0 28px;
}
.post-nav a{
  display:block;
  padding:18px 20px;
  border:1px solid var(--line);
  border-radius:12px;
  font-size:14.5px;
  font-weight:500;
  color:var(--navy);
  transition:.18s;
}
.post-nav a:hover{
  border-color:var(--gold);
  box-shadow:var(--shadow);
  transform:translateY(-2px);
}
.post-nav__next{ text-align:right; }

.post-back{ margin-bottom:64px; }

/* Пагинация внутри страницы (wp_link_pages) */
.page-links{
  margin-top:28px;
  font-size:14px;
  color:var(--muted);
}
.page-links a,
.page-links > span:not(.post-page-numbers){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  height:34px;
  padding:0 10px;
  margin-left:6px;
  border-radius:8px;
  border:1px solid var(--line);
}
.page-links a:hover{ border-color:var(--gold); color:var(--gold-dark); }

@media (max-width:560px){
  .post-nav{ grid-template-columns:1fr; }
  .post-nav__next{ text-align:left; }
  .page-cover{ margin-top:-32px; border-radius:12px; }
}




.wp-block-group.has-background {
    position: relative;
    padding-left: 0;
    padding-right: 0;
}

.wp-block-group.has-background::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    width: 100vw;
    height: 100%;
    background: inherit; /* Наследует цвет или изображение от родителя */
    z-index: -1;
}

/* А внутренний контейнер блока (если он есть) оставляем центрированным */
.wp-block-group.has-background > .wp-block-group__inner-container {
    max-width: 1200px; /* Ваша стандартная ширина контента */
    margin-left: auto;
    margin-right: auto;
    padding-left: 20px;
    padding-right: 20px;
}














  /* ============ 12. АДАПТИВ ============ */
  @media (max-width:1080px){
    .hero__grid{ grid-template-columns:1fr; gap:44px; }
    .hero h1{ max-width:20ch; }
    .scenario-grid{ grid-template-columns:repeat(2,1fr); }
    .stats__grid{ grid-template-columns:repeat(2,1fr); gap:30px; }
    .structure,.science{ grid-template-columns:1fr; gap:36px; }
    .news-layout{ grid-template-columns:1fr; gap:40px; }
    .programs{ grid-template-columns:repeat(2,1fr); }
    .footer__grid{ grid-template-columns:1fr 1fr; }
  }
  @media (max-width:820px){
    .section{ padding:64px 0; }
    .topbar__links{ display:none; }
    .nav{
      position:absolute; left:0; right:0; top:100%;
      background:#fff; border-bottom:1px solid var(--line);
      flex-direction:column; align-items:stretch; gap:2px; padding:12px 20px 20px;
      display:none; box-shadow:var(--shadow);
    }
.nav.is-open{
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:4px;
}
.nav__list{
  flex-direction:column;
  align-items:stretch;
  gap:2px;
}
.nav__list li{ width:100%; }
.nav__list a{
  display:flex;
  width:100%;
  padding:14px 12px;
  font-size:16px;
}
	    /* Подменю в мобильном — статичное, аккордеон */
  .nav__list .menu-item-has-children{
    position:static;
  }
  .nav__list .menu-item-has-children > a{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
  }
  .nav__list .menu-item-has-children > a::after{
    content:none; /* убираем десктопную стрелку */
  }

  /* Кнопка-стрелка */
  .submenu-toggle{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:44px;
    height:44px;
    margin-left:auto;
    border-radius:8px;
    color:var(--navy);
    background:transparent;
    flex:none;
    transition:background .18s, transform .18s;
  }
  .submenu-toggle:hover{ background:var(--paper); }
  .submenu-toggle svg{ width:18px; height:18px; transition:transform .2s; }
  .menu-item-has-children.is-open > .submenu-toggle svg{
    transform:rotate(180deg);
  }

  /* Сдвигаем ссылку и кнопку в один ряд */
  .nav__list .menu-item-has-children{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
  }
  .nav__list .menu-item-has-children > a{
    flex:1 1 auto;
    width:auto;
  }
  .nav__list .menu-item-has-children > .sub-menu{
    flex:0 0 100%;
    width:100%;
  }

  /* Само подменю */
  .nav__list .sub-menu{
    position:static;
    min-width:0;
    margin:4px 0 6px;
    padding:4px 0 4px 12px;
    border:0;
    border-left:2px solid var(--line);
    border-radius:0;
    box-shadow:none;
    opacity:1;
    visibility:visible;
    transform:none;
    display:none;
  }
  .nav__list .menu-item-has-children.is-open > .sub-menu{
    display:block;
  }
  .nav__list .sub-menu a{
    padding:12px 14px;
    font-size:15px;
  }

  /* Третий уровень — без доп. отступов */
  .nav__list .sub-menu .menu-item-has-children > .sub-menu{
    position:static;
    left:auto;
    top:auto;
  }
    .header__cta{ display:none; }
    .burger{ display:flex; }
    .hero{ padding:64px 0 76px; }
    .hero::after{ font-size:60vw; bottom:-14vw; }
    .programs{ grid-template-columns:1fr; }
    .scenarios{ margin-top:-40px; }
  }
  @media (max-width:560px){
    .scenario-grid{ grid-template-columns:1fr; }
    .stats__grid{ grid-template-columns:1fr 1fr; gap:24px; }
    .hero__actions .btn{ width:100%; }
    .news-list a{ grid-template-columns:1fr; gap:6px; }
    .footer__grid{ grid-template-columns:1fr; gap:36px; }
    .event-card,.admission{ padding:26px; }
  }
  @media (prefers-reduced-motion:reduce){
    *{ animation:none !important; transition:none !important; scroll-behavior:auto !important; }
  }