.topbar {  background: #e7e3e3;  color: #8d3e2f;  font-size: 14px;  border-bottom: 1px solid #ddd6d6;}.topbar-inner {  display: flex;  align-items: center;  justify-content: space-between;  min-height: 40px;}.topbar-spacer {  flex: 1;}.top-links {  display: flex;  align-items: center;  gap: 14px;  margin-left: auto;}.top-links a {  font-family: "Fira Sans BGR", "Helvetica Neue", Arial, sans-serif;  font-size: 14px;  font-weight: 700;  color: #8d3e2f;  text-decoration: none;  transition: color 0.2s ease;}.top-links a:hover {  color: var(--primary);}.top-links a:not(:last-child)::after {  content: "›";  margin-left: 14px;  color: #b46a3c;}/* HEADER */.site-header {  position: sticky;  top: 0;  z-index: 1000;  overflow: visible;  background: rgba(255,255,255,.96);  transition:    background .28s ease,    box-shadow .28s ease,    backdrop-filter .28s ease;}.site-header.is-hidden {  transform: translateY(-100%);}.site-header.is-compact {  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);}.site-header.is-scrolled {  background: rgba(235,235,235,.88);  backdrop-filter: blur(10px);  box-shadow:    0 8px 24px rgba(0,0,0,.10);}@keyframes headerSlide {  from {    transform: translateY(-100%);  }  to {    transform: translateY(0);  }}.header-inner {  display: flex;  align-items: center;  justify-content: space-between;  min-height: 108px;  position: relative;}/* LOGO */.logo-wrap {  display: flex;  align-items: center;  gap: 14px;  text-decoration: none;  flex-shrink: 0;  position: relative;  z-index: 5;}.site-logo {  display: block;  width: auto;  height: 130px;  background: #fff;  padding: 5px;  border-radius: 46% / 15%;  box-shadow:    0 14px 30px rgba(0,0,0,.08),    0 2px 8px rgba(0,0,0,.05);  margin-top: -50px;  overflow: visible;  position: relative;  z-index: 30;}.site-logo img {  width: 118px;  height: auto;  display: block;  position: relative;  z-index: 20;  overflow: visible;  transform: translateY(38px);}.logo-text {  display: flex;  flex-direction: column;  justify-content: center;  gap: 4px;}.logo-title {  color: #24324a;  font-family: "Fira Sans BGR", "Helvetica Neue", Arial, sans-serif;  font-size: 22px;  font-weight: 700;  line-height: 1.04;}.logo-subtitle {  color: var(--muted);  font-size: 14px;  line-height: 1.1;}/* NAVIGATION */.main-nav {  display: flex;  align-items: center;  height: 100%;  gap: 22px;  margin-left: auto;  position: static;}.nav-item {  position: static;}.nav-trigger,.nav-link {  font-family: "Fira Sans BGR", "Helvetica Neue", Arial, sans-serif;  font-size: 16px;  font-weight: 500;  text-transform: uppercase;  color: #2f3747;  background: transparent;  border: 0;  cursor: pointer;  padding: 16px 14px;  border-radius: 10px;  transition: background 0.2s ease, color 0.2s ease;  text-decoration: none;}.nav-trigger {  position: relative;  display: inline-flex;  align-items: center;  justify-content: center;}.nav-trigger:hover,.nav-link:hover {  color: var(--primary);}.nav-item.is-open .nav-trigger {  background: var(--primary);  color: #ffffff;}.nav-trigger:focus,.nav-trigger:focus-visible,.nav-link:focus,.nav-link:focus-visible {  outline: none;  box-shadow: none;}/* MEGA MENU */.mega-menu {  position: absolute;  left: 50%;  top: 100%;  transform: translateX(-50%);  width: 100vw;  display: none;  background: #ffffff;  padding: 0 0 22px;  z-index: 120;  border-bottom: 1px solid #ddd6d6;  overflow-x: hidden;}.nav-item.is-open .mega-menu {  display: block;}.mega-menu-grid {  width: min(calc(var(--container) + 70px), calc(100% - 40px));  margin: 0 auto;  border-radius: 10px;  background: #f1eadc;  padding: 24px;  box-shadow:    0 14px 30px rgba(0, 0, 0, 0.05);}/* COMMON ARROWS */.mega-top-card-title::before,.mega-links-col a::before,.strategy-feature-card::before,.admissions-feature-card::before {  content: "›";  color: var(--primary);  margin-right: 10px;  font-size: 18px;  font-weight: 700;  flex-shrink: 0;}/* ===== ЗА МИГ ===== */.mega-layout-about {  display: grid;  grid-template-columns: 320px 1fr;  gap: 28px;  align-items: stretch;}.about-info-panel {  padding: 28px;  background: #6d8f43;  border-radius: 14px;  color: #ffffff;}.about-info-icon {  font-size: 34px;  line-height: 1;  margin-bottom: 18px;}.about-info-panel h3 {  margin: 0 0 14px;  font-size: 28px;  line-height: 1.1;  font-weight: 700;}.about-info-panel p {  margin: 0;  font-size: 16px;  line-height: 1.7;  opacity: .94;}/* STRATEGY */.mega-layout-strategy {  display: grid;  grid-template-columns: 300px minmax(0, 1fr);  gap: 24px;  align-items: start;}/* LEFT SIDE */.strategy-side {  display: flex;  flex-direction: column;  gap: 14px;}.strategy-info-panel {  padding: 28px;  background: #5f823d;  border-radius: 12px;  color: #ffffff;}.strategy-info-icon {  font-size: 34px;  line-height: 1;  margin-bottom: 18px;}.strategy-info-panel h3 {  margin: 0 0 14px;  font-size: 26px;  line-height: 1.1;  font-weight: 700;}.strategy-info-panel p {  margin: 0;  font-size: 16px;  line-height: 1.55;}.strategy-feature-grid {  display: flex;  flex-direction: column;  gap: 14px;}.strategy-feature-card {  display: flex;  align-items: center;  min-height: 62px;  padding: 14px 18px;  background: #faf7ef;  border: 1px solid #e4d7b8;  border-radius: 10px;  color: #24324a;  text-decoration: none;  font-weight: 700;  box-sizing: border-box;}.strategy-feature-card::before {  content: "›";  color: var(--primary);  margin-right: 10px;  font-size: 18px;  font-weight: 700;}/* RIGHT SIDE */.strategy-columns {  display: grid;  grid-template-columns: 1fr 1fr;  gap: 42px;  background: #faf7ef;  border: 1px solid #e4d7b8;  border-radius: 12px;  padding: 24px 24px 4px 24px;  min-width: 0;  overflow: visible;  box-sizing: border-box;}.strategy-columns .mega-links-col {  background: transparent;  padding: 0;  min-width: 0;  overflow: visible;}.strategy-column-title {  display: block;  margin: 0 0 12px;  font-weight: 700;  font-size: 16px;  color: #24324a;}.strategy-columns .mega-links-col a {  display: -webkit-box;  -webkit-line-clamp: 2;  -webkit-box-orient: vertical;  padding-left: 18px;  position: relative;  overflow: hidden;  margin-bottom: 14px;  line-height: 1.2;  max-height: 2.8em;}.strategy-columns .mega-links-col a:hover {  color: var(--primary);}.strategy-columns .mega-links-col a::before {  content: "›";  position: absolute;  left: 0;  top: 5px;  color: var(--primary);  font-weight: 700;}/* PROJECTS / ADMISSIONS */.mega-layout-admissions {  display: grid;  grid-template-columns: 32% 68%;  gap: 20px;  align-items: stretch;}.admissions-info-panel {  padding: 28px;  background: #6d8f43;  border-radius: 10px;  color: #ffffff;}.admissions-info-icon {  font-size: 34px;  line-height: 1;  margin-bottom: 18px;}.admissions-info-panel h3 {  margin: 0 0 14px;  font-size: 28px;  line-height: 1.1;  font-weight: 700;}.admissions-info-panel p {  margin: 0;  font-size: 16px;  line-height: 1.6;  opacity: .92;}.admissions-feature-grid {  display: grid;  grid-template-columns: repeat(3, minmax(0, 1fr));  gap: 14px;}.admissions-feature-card {  display: flex;  align-items: center;  min-height: 72px;  padding: 16px 18px;  background: #f8f2e7;  border: 1px solid #e7d9bd;  border-radius: 10px;  color: #24324a;  text-decoration: none;  font-weight: 600;  transition:    background .2s ease,    color .2s ease,    border-color .2s ease;}.admissions-feature-card:hover,.strategy-feature-card:hover,.mega-top-card:hover {  background: #fdfbf5;  border-color: #dbc79f;  color: var(--primary);}/* HERO */.page-hero {  background:    linear-gradient(      135deg,      #314534 0%,      #24324a 100%    );  padding: 90px 0 120px;  color: #ffffff;}.page-eyebrow {  margin: 0 0 14px;  font-size: 13px;  font-weight: 700;  letter-spacing: .08em;  text-transform: uppercase;  opacity: .7;}.page-hero h1 {  margin: 0 0 20px;  font-size: 56px;  line-height: 1.05;}.page-description {  max-width: 760px;  margin: 0;  font-size: 19px;  line-height: 1.7;  opacity: .9;}/* NEWS PANEL */.news-wrapper {  margin-top: -70px;  position: relative;  z-index: 5;}.news-panel {  background: #ffffff;  border-radius: 24px;  padding: 40px;  box-shadow:    0 20px 60px rgba(0,0,0,.08);  border: 1px solid rgba(0,0,0,.04);}/* NEWS GRID */.news-grid {  display: grid;  grid-template-columns: repeat(3, 1fr);  gap: 28px;}/* CARD */.news-card {  background: #ffffff;  border-radius: 18px;  overflow: hidden;  transition:    transform .2s ease,    box-shadow .2s ease;}.news-card:hover {  transform: translateY(-4px);  box-shadow:    0 16px 40px rgba(0,0,0,.08);}.news-card-image img {  width: 100%;  height: 220px;  object-fit: cover;  display: block;}.news-card-content {  padding: 24px;}.news-date {  display: inline-block;  margin-bottom: 12px;  color: var(--primary);  font-size: 13px;  font-weight: 700;  letter-spacing: .06em;  text-transform: uppercase;}.news-card h2 {  margin: 0 0 14px;  font-size: 24px;  line-height: 1.25;}.news-card h2 a {  color: #24324a;  text-decoration: none;}.news-card p {  margin: 0 0 18px;  color: #5d6778;  line-height: 1.7;}.read-more {  color: var(--primary);  font-weight: 700;  text-decoration: none;}html,body {  overflow-x: hidden;}/* MOBILE */.menu-toggle {  display: none;}/* TABLET */@media (max-width: 1180px) {  .logo-title {    font-size: 20px;    max-width: 260px;  }  .main-nav {    gap: 14px;  }  .nav-trigger,  .nav-link {    font-size: 15px;    padding: 14px 10px;  }  .mega-top-card {    min-height: 62px;    padding: 12px 14px;  }  .mega-top-card-title,  .mega-links-col a {    font-size: 15px;  }  .mega-layout-strategy {    grid-template-columns: 250px 220px minmax(0, 1fr);    gap: 16px;  }}/* =========================   MOBILE NAVIGATION   ========================= */@media (max-width: 980px) {  .header-inner {    min-height: 94px;  }  .site-logo {    height: 82px;    margin-top: 0;    margin-bottom: 0;  }  .logo-title {    font-size: 18px;    max-width: 210px;  } /* HAMBURGER */.menu-toggle {  display: flex;  flex-direction: column;  align-items: center;  justify-content: center;  gap: 5px;  margin-left: auto;  width: 44px;  height: 44px;  padding: 0;  border: 1px solid #e4d7d7;  border-radius: 8px;  background: #ffffff;  cursor: pointer;  flex-shrink: 0;}.menu-toggle span {  display: block;  width: 22px;  height: 3px;  margin: 0;  background: var(--primary);  border-radius: 2px;  transition:    transform .2s ease,    opacity .2s ease;}/* HAMBURGER -> X */.menu-toggle[aria-expanded="true"] span:nth-child(1) {  transform: translateY(8px) rotate(45deg);}.menu-toggle[aria-expanded="true"] span:nth-child(2) {  opacity: 0;}.menu-toggle[aria-expanded="true"] span:nth-child(3) {  transform: translateY(-8px) rotate(-45deg);}  /* MAIN MOBILE MENU */  .main-nav {    position: absolute;    top: 100%;    left: 0;    right: 0;    display: none;    flex-direction: column;    align-items: stretch;    gap: 0;    height: auto;    padding: 0 20px 18px;    margin: 0;    background: #ffffff;    border-bottom: 1px solid #ddd6d6;    box-shadow:      0 12px 24px rgba(0,0,0,.08);    z-index: 150;    overflow: visible;  }  .main-nav.is-open {    display: flex;  }  /* MAIN LINKS */  .nav-item {    position: relative;    width: 100%;    display: block;  }  .nav-link {    width: 100%;    display: block;    position: relative;  }  .nav-trigger,  .nav-link {    width: 100%;    min-height: 48px;    display: flex;    align-items: center;    justify-content: flex-start;    text-align: left;    padding: 13px 4px;    margin: 0;    border: 0;    border-bottom: 1px solid #f0ecec;    border-radius: 0;    background: #ffffff;    color: #2f3747;    box-sizing: border-box;  }  .nav-trigger:hover,  .nav-link:hover {    background: #faf8f5;    color: var(--primary);  }  /* ARROW ON MOBILE MEGA ITEMS */  .has-mega-menu > .nav-trigger::after {    content: "›";    display: block;    margin-left: auto;    padding-left: 15px;    color: var(--primary);    font-size: 22px;    font-weight: 400;    line-height: 1;    transition: transform .2s ease;  }  .has-mega-menu.is-open > .nav-trigger::after {    transform: rotate(90deg);  }  /* OPEN MAIN ITEM */  .nav-item.is-open .nav-trigger {    background: #faf7ef;    color: var(--primary);    border-bottom-color: #e4d7b8;  }  /* MOBILE MEGA MENU */  .mega-menu {    position: static;    left: auto;    top: auto;    transform: none;    width: 100%;    display: none;    padding: 0;    margin: 0;    background: #ffffff;    border: 0;    overflow: visible;    box-shadow: none;    z-index: auto;  }  .nav-item.is-open .mega-menu {    display: block;  }  /* MEGA CONTENT */  .mega-menu-grid {    width: 100%;    max-width: none;    margin: 0;    padding: 12px;    background: #f6f1e7;    border: 1px solid #eadfc9;    border-top: 0;    border-radius: 0 0 8px 8px;    box-shadow: none;    box-sizing: border-box;  }  /* ALL MOBILE LAYOUTS VERTICAL */  .mega-layout-about,  .mega-layout-strategy,  .mega-layout-admissions {    display: block;    width: 100%;  }  /* INFO PANELS */  .about-info-panel,  .strategy-info-panel,  .admissions-info-panel {    width: 100%;    padding: 15px;    margin: 0 0 10px;    border-radius: 7px;    box-sizing: border-box;  }  .about-info-panel h3,  .strategy-info-panel h3,  .admissions-info-panel h3 {    margin: 0 0 7px;    font-size: 19px;    line-height: 1.2;  }  .about-info-panel p,  .strategy-info-panel p,  .admissions-info-panel p {    margin: 0;    font-size: 14px;    line-height: 1.45;  }  /* STRATEGY LEFT */  .strategy-side {    display: flex;    flex-direction: column;    gap: 8px;  }  /* MOBILE CARDS */  .strategy-feature-grid,  .admissions-feature-grid {    display: flex;    flex-direction: column;    width: 100%;    gap: 6px;  }  .strategy-feature-card,  .admissions-feature-card {    width: 100%;    min-height: auto;    padding: 11px 12px;    background: #fffdf9;    border: 1px solid #e4d7b8;    border-radius: 6px;    color: #24324a;    font-size: 14px;    line-height: 1.35;    box-sizing: border-box;  }  .strategy-feature-card:hover,  .admissions-feature-card:hover {    background: #ffffff;    color: var(--primary);  }  /* STRATEGY MEASURES */  .strategy-columns {    display: block;    width: 100%;    padding: 12px;    margin: 8px 0 0;    background: #fffdf9;    border: 1px solid #e4d7b8;    border-radius: 7px;    box-sizing: border-box;  }  .strategy-columns .mega-links-col {    padding: 0;    margin: 0;  }  .strategy-columns .mega-links-col + .mega-links-col {    margin-top: 18px;  }  .strategy-column-title {    margin: 0 0 10px;    font-size: 14px;    line-height: 1.35;  }  .strategy-columns .mega-links-col a {    display: block;    position: relative;    padding-left: 18px;    margin-bottom: 11px;    max-height: none;    overflow: visible;    font-size: 14px;    line-height: 1.35;    -webkit-line-clamp: unset;    -webkit-box-orient: unset;  }  .strategy-columns .mega-links-col a::before {    top: 0;  }  /* OTHER MEGA LINKS */  .mega-links-col {    padding: 8px 0;  }}/* SMALL MOBILE */@media (max-width: 680px) {  .topbar-inner {    min-height: 38px;  }  .top-links {    gap: 10px;  }  .top-links a {    font-size: 13px;  }  .logo-wrap {    gap: 8px;  }  .site-logo {    height: 68px;  }  .logo-title {    font-size: 17px;    max-width: 170px;  }  .logo-subtitle {    font-size: 12px;  }  .main-nav {    padding-left: 14px;    padding-right: 14px;  }  .menu-toggle {    width: 42px;    height: 42px;  }}