:root {
--font-main: "Inter 18pt", sans-serif;
--color-blue: #1a3177;
--color-blue-2: #0766db;
--color-text: #5f7187;
--color-text-dark: #45556c;
--color-soft: #f7f9ff;
--color-soft-2: #eff3ff;
--color-soft-3: #dbecff;
--color-line: #c7cfe5;
--color-white: #ffffff;
--color-gold: #bb892b;
--color-gold-2: #f6b23f;
--gold-gradient: linear-gradient(90deg, #bb892b 0%, #f6b23f 50%, #bb892b 100%);
--gold-gradient-soft: linear-gradient(90deg, #c59c5a 0%, #e7ab4a 100%);
--blue-gradient: linear-gradient(90deg, #5f7187 0%, #0766db 50%, #5f7187 100%);
--shadow-card: 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1);
--shadow-soft: 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1);
--header-height: 70px;
--container: 1280px;
--container-narrow: 1152px;
--side-padding: 32px;
--radius: 24px;
--radius-sm: 16px;
--transition: .35s cubic-bezier(.22, 1, .36, 1);
}

::-webkit-scrollbar {
width: 4px;
background: transparent;
border-radius: 7px;
border: none;
}
::-webkit-scrollbar-thumb {
background: #1a3177;
border-radius: 7px;
cursor: pointer;
max-width: 4px;
max-height: 4px;
}
::-webkit-scrollbar-track {
cursor: pointer;
}

body.compensate-for-scrollbar {
overflow: initial !important;
}
.compensate-for-scrollbar {
margin-right: 0 !important;
}
body,
html {
overflow-x: hidden;
}

* { box-sizing: border-box; }

html {
scroll-behavior: auto;
}

body {
margin: 0;
font-family: var(--font-main);
font-size: 16px;
line-height: 1.45;
color: var(--color-text);
background: var(--color-soft);
-webkit-font-smoothing: antialiased;
text-rendering: optimizeLegibility;
}

body.is-lock {
overflow: hidden;
}

img, svg, video, canvas {
display: block;
max-width: 100%;
}

a {
color: inherit;
text-decoration: none;
}

button,
input,
textarea {
font-family: inherit;
}

button {
padding: 0;
border: 0;
background: transparent;
cursor: pointer;
}

.page {
position: relative;
overflow-x: hidden;
}

.page__grain {
position: fixed;
inset: 0;
z-index: 2;
pointer-events: none;
opacity: .25;
background-image: radial-gradient(circle at 1px 1px, rgba(26,49,119,.14) 1px, transparent 0);
background-size: 28px 28px;
mix-blend-mode: multiply;
}

.main {
position: relative;
z-index: 1;
}

.container {
width: min(100% - var(--side-padding) * 2, var(--container));
margin: 0 auto;
}

.container--narrow {
width: min(100% - var(--side-padding) * 2, var(--container-narrow));
}

.section {
position: relative;
}

.section--soft {
background: linear-gradient(180deg, #f7f9ff 32.4%, #f7f9ff 77.8%, #eff3ff 100%);
}

.section--projects {
background: linear-gradient(188deg, #f7f9ff 26.7%, #eff3ff 44.6%, #eff3ff 58%, #f7f9ff 79.9%);
}

.section--team {
background: #f7f9ff;
}

.header {
position: fixed;
top: 21px;
left: 0;
z-index: 50;
width: 100%;
color: var(--color-blue);
pointer-events: none;
transition: top var(--transition), transform var(--transition);
background: linear-gradient(90deg, rgba(219, 236, 255, .96) 1.38%, rgba(247, 249, 255, .96) 40.74%, rgba(247, 249, 255, .96) 66.58%, rgba(219, 236, 255, .96) 100%);
backdrop-filter: blur(18px);
}

.header__inner {
position: relative;
display: flex;
align-items: center;
justify-content: space-between;
min-height: var(--header-height);
padding: 16px 0px;
border-left: 0;
border-right: 0;
pointer-events: auto;
}

.header__inner.container {
width: 100%;
max-width: 1290px;
}

.header.is-scrolled {
top: 0;
}

.header.is-scrolled .header__inner {
min-height: 70px;
}

.header__brand {
display: flex;
flex-direction: column;
align-items: flex-start;
min-width: 390px;
transition: transform var(--transition), opacity var(--transition);
}

.header__brand:hover {
transform: translateY(-1px);
}

.header__brand-title {
font-size: clamp(18px, 1.56vw, 24px);
font-weight: 500;
line-height: 1.25;
letter-spacing: -.02em;
white-space: nowrap;
}

.header__brand-subtitle {
margin-top: 2px;
font-size: 14px;
line-height: 1.4;
color: var(--color-text);
}

.header__logo {
position: absolute;
z-index: 99;
top: 28px;
left: 50%;
width: 100%;
max-width: 95px;
height: auto;
filter: drop-shadow(0 20px 35px rgba(26, 49, 119, .13));
transition: all 0.3s ease;
}

@media screen and (min-width: 769px) {
.header__logo {
  transform: translateX(-50%) !important;
}
}

.header__logo img {
width: 100%;
height: auto;
}

.header__logo:hover {
filter: drop-shadow(0 24px 42px rgba(26,49,119,.2));
}

.header.is-scrolled .header__logo {
width: 100%;
max-width: 50px;
top: 4px;
transition: all 0.3s ease;
}

.header__nav {
display: flex;
justify-content: flex-end;
}

.header__menu {
display: flex;
align-items: center;
gap: clamp(22px, 2.08vw, 32px);
margin: 0;
padding: 0;
list-style: none;
}

.header__link {
position: relative;
display: inline-flex;
align-items: center;
min-height: 24px;
font-size: 19px;
font-weight: 500;
line-height: 1.25;
transition: color var(--transition), transform var(--transition);
}

.header__link::after {
content: "";
position: absolute;
left: 0;
bottom: -1px;
width: 100%;
height: 2px;
border-radius: 10px;
background: #0084d1;
transform: scaleX(0);
transform-origin: left center;
transition: transform var(--transition);
}

.header__link:hover,
.header__link.is-active {
color: var(--color-blue-2);
transform: translateY(-1px);
}

.header__link:hover::after,
.header__link.is-active::after {
transform: scaleX(1);
}

.header__burger {
position: relative;
display: none;
width: 44px;
height: 44px;
border-radius: 14px;
}

.header__burger span {
position: absolute;
left: 12px;
width: 20px;
height: 2px;
border-radius: 10px;
background: var(--color-blue);
transition: transform var(--transition), opacity var(--transition), top var(--transition);
}

.header__burger span:nth-child(1) { top: 14px; }
.header__burger span:nth-child(2) { top: 21px; }
.header__burger span:nth-child(3) { top: 28px; }

.header__burger.is-active span:nth-child(1) {
top: 21px;
transform: rotate(45deg);
}

.header__burger.is-active span:nth-child(2) {
opacity: 0;
}

.header__burger.is-active span:nth-child(3) {
top: 21px;
transform: rotate(-45deg);
}

.hero {
background: linear-gradient(154deg, #eff3ff 0%, #fff 50%, #eff3ff 100%);
}

.hero__scene,
.hero__base,
.hero__pattern,
.hero__blobs {
position: absolute;
pointer-events: none;
}

.hero__scene {
inset: 0;
z-index: 3;
opacity: .38;
width: 100%;
}

.hero__base {
inset: 0;
z-index: 1;
opacity: .8;
background: linear-gradient(154deg, rgba(239,243,255,.85), rgba(255,255,255,.6) 50%, rgba(239,243,255,.85));
}

.hero__blobs {
inset: 0;
z-index: 1;
opacity: .36;
}

.hero__blob {
position: absolute;
display: block;
width: 384px;
height: 384px;
border-radius: 50%;
background: #dbecff;
filter: blur(64px);
}

.hero__blob--one { left: 40px; top: 80px; opacity: .64; }
.hero__blob--two { right: 40px; top: 160px; opacity: 1; }
.hero__blob--three { left: 50%; top: 289px; opacity: .56; background: #c6cfdc; }

.hero__pattern {
inset: 0;
z-index: 2;
width: 100%;
height: 100%;
object-fit: cover;
opacity: .1;
}


.hero__container {
position: relative;
z-index: 5;
min-height: 753px;
display: flex;
align-items: flex-start;
justify-content: center;
padding-top: 185px;
}

.hero__content {
width: 100%;
max-width: 1216px;
text-align: center;
}

.hero__title {
margin: 0;
color: var(--color-blue);
font-size: clamp(42px, 4.69vw, 72px);
font-weight: 700;
line-height: 1.25;
letter-spacing: -.045em;
}

.hero__title span {
display: block;
}

.hero__title-gradient {
color: transparent;
background: linear-gradient(90deg, #5f7187 0%, #0766db 32%, #5f7187 68%, #0766db 100%);
background-size: 260% 100%;
background-position: 0 50%;
-webkit-background-clip: text;
background-clip: text;
animation: titleGradient 6s ease-in-out infinite alternate;
}

@keyframes titleGradient {
0% { background-position: 0% 50%; filter: drop-shadow(0 0 0 rgba(7,102,219,0)); }
100% { background-position: 100% 50%; filter: drop-shadow(0 14px 28px rgba(7,102,219,.16)); }
}

.hero__text {
max-width: 896px;
margin: 26px auto 0;
font-size: clamp(18px, 1.56vw, 24px);
line-height: 1.625;
color: var(--color-text);
}

.hero__actions {
display: flex;
justify-content: center;
gap: 24px;
margin-top: 42px;
}

.btn {
position: relative;
z-index: 1;
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 52px;
padding: 14px 32px;
border-radius: 999px;
font-size: 16px;
font-weight: 500;
line-height: 1.45;
overflow: hidden;
transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, color .22s ease, background .22s ease;
}

.btn::before {
content: "";
position: absolute;
inset: 0;
z-index: -1;
opacity: 0;
background: linear-gradient(120deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.45) 48%, rgba(255,255,255,0) 100%);
transform: translateX(-120%);
transition: transform .42s ease, opacity .42s ease;
}

.btn:hover {
transform: translateY(-2px);
}

.btn:hover::before {
opacity: 1;
transform: translateX(120%);
}

.btn--primary {
min-width: 234px;
min-height: 60px;
color: #fff;
background: var(--gold-gradient-soft);
box-shadow: 0 12px 24px rgba(187,137,43,.18);
}

.btn--light {
min-width: 230px;
min-height: 64px;
color: var(--color-blue);
border: 2px solid var(--color-soft-2);
background: #fff;
box-shadow: 0 10px 24px rgba(26,49,119,.06);
}

.btn--outline {
min-height: 52px;
gap: 8px;
color: var(--color-blue);
border: 2px solid var(--color-line);
background: var(--color-soft-3);
}

.btn--outline img {
width: 20px;
height: 20px;
}

.btn--submit {
width: 100%;
min-height: 48px;
border: 0;
border-radius: 12px;
color: #fff;
font-size: 16px;
font-weight: 700;
background: linear-gradient(90deg, #bb892b 0%, #f6b23f 100%);
cursor: pointer;
appearance: none;
}

.section-head {
position: relative;
z-index: 2;
display: flex;
flex-direction: column;
align-items: center;
text-align: center;
}

.section-head__title {
margin: 0;
color: var(--color-blue);
font-size: clamp(36px, 3.125vw, 48px);
font-weight: 700;
line-height: 1;
letter-spacing: -.035em;
}

.section-head--small .section-head__title {
font-size: clamp(30px, 2.35vw, 36px);
line-height: 1.1;
}

.section-head__line {
position: relative;
display: block;
width: 96px;
height: 6px;
margin-top: 24px;
border-radius: 999px;
background: var(--gold-gradient);
box-shadow: 0 10px 15px rgba(0,0,0,.1), 0 4px 6px rgba(0,0,0,.1);
overflow: hidden;
}

.section-head__line::after {
content: "";
position: absolute;
top: 0;
bottom: 0;
left: -35%;
width: 30%;
background: rgba(255,255,255,.6);
filter: blur(4px);
animation: lineShine 3.8s ease-in-out infinite;
}

@keyframes lineShine {
0%, 30% { transform: translateX(0); opacity: 0; }
45% { opacity: 1; }
80%, 100% { transform: translateX(470%); opacity: 0; }
}

.section-head__text {
max-width: 768px;
margin: 24px auto 0;
color: var(--color-text);
font-size: clamp(17px, 1.3vw, 20px);
line-height: 1.625;
}

.section-head__text--bold {
font-weight: 600;
font-size: 18px;
line-height: 1.56;
}

.decor {
position: absolute;
z-index: 0;
display: block;
border-radius: 50%;
filter: blur(64px);
pointer-events: none;
}

.decor--about-left {
left: 51px;
top: 37px;
width: 268px;
height: 268px;
opacity: .47;
background: #f7f9ff;
}

.decor--about-right {
right: 47px;
bottom: 108px;
width: 354px;
height: 354px;
opacity: .5;
background: #dbecff;
}

.decor--projects-left {
left: 0;
bottom: 0;
width: 384px;
height: 384px;
opacity: .36;
background: #eff3ff;
}

.decor--projects-right {
right: 0;
top: 0;
width: 384px;
height: 384px;
opacity: .44;
background: #eff3ff;
}

.decor--team-left {
left: 0;
top: 0;
width: 384px;
height: 384px;
opacity: .42;
background: #dbecff;
}

.decor--team-right {
right: 17px;
bottom: 36px;
width: 384px;
height: 384px;
opacity: .28;
background: #c7cfe5;
}

.about {
padding: 96px 0 112px;
}

.about__content {
position: relative;
z-index: 2;
width: min(100%, 896px);
margin: 64px auto 0;
text-align: center;
}

.about__lead {
margin: 0;
color: var(--color-text);
font-size: clamp(20px, 1.56vw, 24px);
font-weight: 500;
line-height: 1.333;
}

.about__projects {
margin-top: 96px;
}

.about__subtitle {
margin: 0;
color: var(--color-blue);
font-size: clamp(24px, 1.95vw, 30px);
font-weight: 700;
line-height: 1.2;
}

.about__grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 20px;
margin-top: 32px;
text-align: left;
}

.mini-card {
position: relative;
display: flex;
align-items: center;
gap: 16px;
min-height: 106px;
padding: 24px;
border: 1px solid var(--color-line);
border-radius: 16px;
background: linear-gradient(90deg, #f7f9ff 0%, #fff 100%);
overflow: hidden;
transition: transform var(--transition), box-shadow var(--transition), border-color var(--transition);
}

.mini-card::before {
content: "";
position: absolute;
inset: 1px;
border-radius: 15px;
background: radial-gradient(circle at 0 0, rgba(246,178,63,.14), transparent 38%);
opacity: 0;
transition: opacity var(--transition);
}

.mini-card:hover {
transform: translateY(-5px);
border-color: rgba(187,137,43,.45);
box-shadow: 0 18px 35px rgba(26,49,119,.08);
}

.mini-card:hover::before {
opacity: 1;
}

.mini-card__icon {
position: relative;
z-index: 1;
display: inline-flex;
align-items: center;
justify-content: center;
flex: 0 0 56px;
width: 56px;
height: 56px;
border-radius: 16px;
background: linear-gradient(135deg, #bb892b 0%, #f6b23f 100%);
box-shadow: 0 10px 15px rgba(0,0,0,.1), 0 4px 6px rgba(0,0,0,.1);
}

.mini-card__icon::before {
content: "";
position: absolute;
inset: 0;
border-radius: inherit;
background: inherit;
filter: blur(12px);
opacity: .5;
z-index: -1;
}

.mini-card__icon img {
width: 28px;
height: 28px;
}

.mini-card__text {
position: relative;
z-index: 1;
color: var(--color-text);
font-size: 18px;
font-weight: 500;
line-height: 1.55;
}

.about__text {
margin: 80px 0 0;
font-size: 18px;
line-height: 1.8;
text-align: left;
}

.about__welcome {
margin: 24px 0 0;
color: transparent;
background: linear-gradient(90deg, #5f7187 22.596%, #0766db 75.962%);
-webkit-background-clip: text;
background-clip: text;
font-size: 24px;
font-weight: 700;
line-height: 1.33;
}

.projects {
padding: 96px 0;
}

.projects__grid {
position: relative;
z-index: 2;
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 32px;
margin-top: 80px;
}

.project-card {
position: relative;
min-height: 437px;
border-radius: 24px;
background: #fbfcff;
box-shadow: var(--shadow-card);
overflow: hidden;
transition: transform .26s ease, box-shadow .26s ease;
}

.project-card:nth-child(5) {
grid-column: 2 / span 1;
}

.project-card::before {
content: "";
position: absolute;
left: 0;
right: 0;
bottom: 0;
height: 8px;
background: var(--project-gradient);
}

.project-card::after {
content: "";
position: absolute;
inset: 0;
border-radius: inherit;
background: radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 20%), rgba(255,255,255,.55), transparent 32%);
opacity: 0;
transition: opacity var(--transition);
pointer-events: none;
}

.project-card:hover {
transform: translateY(-5px);
box-shadow: 0 20px 42px rgba(26,49,119,.14);
}

.project-card:hover::after {
opacity: .36;
}

.project-card__body {
position: relative;
z-index: 1;
display: flex;
flex-direction: column;
height: 100%;
min-height: 437px;
padding: 40px;
}

.project-card__icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 80px;
height: 80px;
margin-bottom: 24px;
border-radius: 16px;
background: var(--project-gradient);
box-shadow: 0 10px 15px rgba(0,0,0,.1), 0 4px 6px rgba(0,0,0,.1);
}

.project-card__icon img {
width: 40px;
height: 40px;
}

.project-card__title {
min-height: 60px;
margin: 0 0 16px;
color: var(--color-blue);
font-size: 24px;
font-weight: 700;
line-height: 1.25;
}

.project-card__text {
margin: 0;
color: var(--color-text);
font-size: 18px;
line-height: 1.625;
}

.project-card__link {
position: relative;
display: inline-flex;
align-items: center;
gap: 8px;
width: max-content;
margin-top: auto;
color: var(--color-text);
font-size: 18px;
font-weight: 600;
line-height: 1.56;
transition: color var(--transition), transform var(--transition);
}

.project-card__link .link-arrow,
.news-card__link .link-arrow {
display: inline-flex;
flex: 0 0 auto;
width: 20px;
height: 20px;
object-fit: contain;
transition: transform var(--transition), filter var(--transition);
}

.project-card__link:hover,
.news-card__link:hover {
color: var(--color-blue-2);
transform: translateX(4px);
}

.project-card__link:hover .link-arrow,
.news-card__link:hover .link-arrow {
transform: translateX(4px);
}

a, button {
outline: none !important;
}

.team {
padding: 96px 0;
}

.team__tabs {
position: relative;
z-index: 2;
margin-top: 74px;
}

.tabs__nav {
position: relative;
display: flex;
align-items: center;
justify-content: center;
gap: 16px;
margin-bottom: 74px;
}

.tabs__button {
position: relative;
isolation: isolate;
overflow: hidden;
min-height: 52px;
padding: 12px 28px;
border-radius: 999px;
color: var(--color-text);
background: var(--color-soft);
box-shadow: 0 4px 6px rgba(0,0,0,.1), 0 2px 4px rgba(0,0,0,.1);
font-size: 16px;
font-weight: 500;
line-height: 1.5;
transition: transform var(--transition), color var(--transition), border-color var(--transition), box-shadow var(--transition);
}

.tabs__button::before {
content: "";
position: absolute;
inset: -2px;
z-index: -1;
border-radius: inherit;
background: linear-gradient(90deg, #bb892b 0%, #f6b23f 100%);
opacity: 0;
transform: scale(.92);
transition: opacity .42s ease, transform .42s cubic-bezier(.22, 1, .36, 1);
}

.tabs__button:hover {
transform: translateY(-2px);
color: var(--color-blue);
}

.tabs__button.is-active {
color: var(--color-soft);
border-color: transparent;
box-shadow: 0 10px 15px rgba(0,0,0,.1), 0 4px 6px rgba(0,0,0,.1);
}

.tabs__button.is-active::before {
opacity: 1;
transform: scale(1);
}

.tabs__panel {
display: none;
opacity: 0;
transform: translateY(14px);
}

.tabs__panel.is-active {
display: block;
opacity: 1;
transform: translateY(0);
}

.team-slider {
width: min(100%, 1120px);
margin: 0 auto;
padding: 0 12px 42px;
overflow: visible;
}

.team-card {
position: relative;
display: flex;
flex-direction: column;
align-items: center;
min-height: 288px;
    padding: 24px 14px 30px;
border-radius: 16px;
background: #f7f9ff;
box-shadow: var(--shadow-soft);
overflow: hidden;
transition: transform var(--transition), box-shadow var(--transition);
}

.team-card::after {
content: "";
position: absolute;
left: 0;
right: 0;
bottom: 0;
height: 6px;
background: var(--gold-gradient);
}

.team-card:hover {
transform: translateY(-7px);
box-shadow: 0 22px 45px rgba(26,49,119,.14);
}

.team-card__photo {
width: 105px;
height: 105px;
border-radius: 50%;
object-fit: cover;
object-position: center;
box-shadow: 0 16px 28px rgba(26,49,119,.12);
}

.team-card__name {
margin: 22px 0 0;
color: var(--color-blue);
font-size: 18px;
font-weight: 700;
line-height: 1.55;
text-align: center;
}

.team-card__role {
margin: 8px 0 0;
color: var(--color-text);
font-size: 14px;
line-height: 1.625;
text-align: center;
}

.swiper-pagination-bullet {
background: var(--color-line);
opacity: 1;
}

.swiper-pagination-bullet-active {
background: var(--color-gold-2);
}

.news {
padding: 80px 0;
background: #fff;
}

.news__bg {
position: absolute;
inset: 0;
z-index: 0;
width: 100%;
height: 100%;
object-fit: cover;
pointer-events: none;
}

.news .container {
position: relative;
z-index: 1;
}

.news__grid {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 24px;
margin-top: 64px;
}

.news-card {
position: relative;
min-height: 252px;
padding: 24px;
border-radius: 16px;
background: #fcfdff;
box-shadow: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -2px rgba(0,0,0,.1);
overflow: hidden;
transition: transform var(--transition), box-shadow var(--transition);
}

.news-card::after {
content: "";
position: absolute;
left: 0;
right: 0;
bottom: 0;
height: 4px;
background: linear-gradient(90deg, #bb892b 0%, #f6b23f 100%);
}

.news-card:hover {
transform: translateY(-6px);
box-shadow: 0 20px 40px rgba(26,49,119,.12);
}

.news-card__meta {
display: flex;
align-items: center;
justify-content: space-between;
gap: 16px;
}

.news-card__date {
display: inline-flex;
align-items: center;
gap: 8px;
color: var(--color-text);
font-size: 14px;
line-height: 1.43;
}

.news-card__date img {
width: 16px;
height: 16px;
}

.tag {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 24px;
padding: 4px 12px;
border-radius: 999px;
font-size: 12px;
font-weight: 500;
line-height: 1.33;
white-space: nowrap;
}

.tag--blue { color: #0766db; background: #dff2fe; }
.tag--green { color: #007a55; background: #d4f4eb; }
.tag--violet { color: #85508a; background: #f3e8ff; }

.news-card__title {
min-height: 56px;
margin: 16px 0 0;
color: var(--color-blue);
font-size: 20px;
font-weight: 700;
line-height: 1.4;
}

.news-card__text {
margin: 12px 0 0;
color: var(--color-text);
font-size: 16px;
line-height: 1.625;
}

.news-card__link {
display: inline-flex;
align-items: center;
gap: 8px;
margin-top: 16px;
color: var(--color-text);
font-size: 16px;
font-weight: 500;
line-height: 1.5;
transition: color var(--transition), transform var(--transition);
}

.news-card__link .link-arrow {
width: 16px;
height: 16px;
}

.news__more {
display: flex;
justify-content: center;
margin-top: 48px;
}

.contacts {
padding: 80px 0 80px;
background-color: #fff;
background-position: center bottom;
background-size: 100% auto;
background-repeat: no-repeat;
}

.contacts .container {
position: relative;
z-index: 1;
}

.contacts__grid {
display: grid;
grid-template-columns: minmax(0, 520px) minmax(0, 520px);
gap: 48px;
margin-top: 64px;
}

.contacts__title {
margin: 0 0 24px;
color: var(--color-blue);
font-size: 24px;
font-weight: 700;
line-height: 1.33;
}

.contacts__cards {
display: flex;
flex-direction: column;
gap: 16px;
}

.contact-card {
display: flex;
align-items: center;
gap: 16px;
min-height: 80px;
padding: 16px;
border-radius: 16px;
background: linear-gradient(90deg, rgba(247,249,255,.96) 0%, rgba(239,243,255,.96) 100%);
box-shadow: 0 12px 32px rgba(26,49,119,.08);
transition: transform var(--transition), box-shadow var(--transition);
}

a.contact-card:hover {
transform: translateY(-4px);
box-shadow: 0 18px 38px rgba(26,49,119,.12);
}

.contact-card__icon {
display: inline-flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
flex: 0 0 48px;
border-radius: 12px;
background: linear-gradient(135deg, #bb892b 0%, #f6b23f 100%);
}

.contact-card__icon img {
width: 24px;
height: 24px;
}

.contact-card__content {
display: flex;
flex-direction: column;
gap: 4px;
min-width: 0;
}

.contact-card__content span {
color: var(--color-text);
font-size: 14px;
font-weight: 700;
line-height: 1.43;
}

.contact-card__content b {
color: var(--color-blue);
font-size: 16px;
font-weight: 700;
line-height: 1.5;
}

.socials {
margin-top: 32px;
}

.socials__title {
margin: 0 0 16px;
color: #fff;
font-size: 18px;
font-weight: 600;
line-height: 1.55;
text-shadow: 0 8px 25px rgba(0,0,0,.25);
}

.socials__list {
display: flex;
gap: 16px;
}

.socials__link {
display: inline-flex;
align-items: center;
justify-content: center;
width: 48px;
height: 48px;
border-radius: 12px;
background: linear-gradient(135deg, #bb892b 0%, #f6b23f 100%);
box-shadow: 0 12px 28px rgba(0,0,0,.16);
transition: transform var(--transition), box-shadow var(--transition);
}

.socials__link:hover {
transform: translateY(-5px) rotate(-3deg);
box-shadow: 0 18px 35px rgba(0,0,0,.2);
}

.socials__link img {
width: 31px;
height: 31px;
object-fit: contain;
}

.socials__link:nth-child(2) img {
width: 34px;
height: 34px;
}

.socials__link--plain {
background: none;
box-shadow: none;
}

.socials__link--plain img {
width: 48px;
height: 48px;
}

.form {
display: flex;
flex-direction: column;
gap: 16px;
}

.form__field {
display: flex;
flex-direction: column;
gap: 8px;
}

.form__label {
color: var(--color-blue);
font-size: 14px;
font-weight: 700;
line-height: 1.43;
}

.form__control {
width: 100%;
min-height: 50px;
padding: 12px 16px;
border: 1px solid var(--color-soft-2);
border-radius: 12px;
outline: none;
color: var(--color-blue);
background: var(--color-soft);
font-size: 16px;
font-weight: 600;
transition: border-color var(--transition), box-shadow var(--transition), background var(--transition);
}

.form__control::placeholder {
color: #91a6de;
opacity: 1;
}

.form__control:focus {
border-color: rgba(7,102,219,.45);
background: #fff;
box-shadow: 0 0 0 4px rgba(7,102,219,.08);
}

textarea.form__control {
min-height: 146px;
resize: vertical;
line-height: 1.5;
}

.footer {
position: relative;
z-index: 2;
min-height: 349px;
color: #f7f9ff;
background: linear-gradient(167deg, #1a3177 0%, #02193a 100%);
}

.footer__inner {
padding: 48px 0 36px;
}

.footer__top {
display: grid;
grid-template-columns: 360px 173px 220px 205px;
justify-content: space-between;
gap: 48px;
}

.footer__brand {
display: grid;
grid-template-columns: 126px minmax(0, 1fr);
align-items: center;
gap: 20px;
}

.footer__logo img {
    width: 126px;
    height: auto;
    transform: translateY(-2px);
}

.footer__text {
    max-width: 162px;
    margin: 0;
    color: #f7f9ff;
    font-size: 14px;
    position: relative;
    top: 14px;
    line-height: 1.625;
}

.footer__title {
margin: 0 0 16px;
color: #f7f9ff;
font-size: 16px;
font-weight: 600;
line-height: 1.5;
}

.footer__list {
display: flex;
flex-direction: column;
gap: 8px;
margin: 0;
padding: 0;
list-style: none;
}

.footer__list a {
position: relative;
display: inline-flex;
color: #f7f9ff;
font-size: 14px;
line-height: 1.43;
opacity: .92;
transition: opacity var(--transition), transform var(--transition), color var(--transition);
}

.footer__list a::after {
content: "";
position: absolute;
left: 0;
bottom: -2px;
width: 100%;
height: 1px;
background: #f6b23f;
transform: scaleX(0);
transform-origin: left center;
transition: transform var(--transition);
}

.footer__list a:hover {
color: #f6b23f;
opacity: 1;
transform: translateX(4px);
}

.footer__list a:hover::after {
transform: scaleX(1);
}

.footer__bottom {
display: flex;
align-items: center;
justify-content: space-between;
gap: 24px;
margin-top: 42px;
padding-top: 33px;
border-top: 1px solid #314158;
}

.footer__bottom p,
.footer__external {
margin: 0;
color: #eff3ff;
font-size: 14px;
line-height: 1.43;
}

.footer__external {
display: inline-flex;
align-items: center;
gap: 8px;
transition: color var(--transition);
}

.footer__external:hover {
color: #f6b23f;
}

.footer__external img {
width: 16px;
height: 16px;
}

.modal {
width: min(100%, 520px);
padding: 34px;
border-radius: 24px;
color: var(--color-text);
background: #fff;
box-shadow: 0 30px 80px rgba(26,49,119,.22);
}

.modal__title {
margin: 0;
color: var(--color-blue);
font-size: 28px;
font-weight: 700;
line-height: 1.2;
}

.modal__text {
margin: 12px 0 24px;
font-size: 16px;
line-height: 1.6;
}

.modal--thanks {
text-align: center;
}

.modal__check {
position: relative;
width: 70px;
height: 70px;
margin: 0 auto 20px;
border-radius: 50%;
background: linear-gradient(135deg, #bb892b 0%, #f6b23f 100%);
box-shadow: 0 18px 35px rgba(187,137,43,.25);
}

.modal__check::before {
content: "";
position: absolute;
left: 22px;
top: 19px;
width: 22px;
height: 34px;
border: solid #fff;
border-width: 0 5px 5px 0;
transform: rotate(45deg);
}

.fancybox__content > .f-button.is-close-btn {
top: 10px;
right: 10px;
color: var(--color-blue);
}

.js-reveal {
will-change: transform, opacity;
}

@media (max-width: 1360px) {
:root {
--container: 1180px;
--container-narrow: 1088px;
}

.header__brand {
min-width: 330px;
}

.projects__grid {
gap: 24px;
}

.project-card__body {
padding: 34px;
}

.footer__top {
grid-template-columns: 340px 150px 210px 190px;
}
}

@media (max-width: 1200px) {
.projects__grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}

.project-card:nth-child(5) {
grid-column: auto;
}

.contacts__grid {
grid-template-columns: 1fr 1fr;
gap: 32px;
}

.footer__top {
grid-template-columns: 1.1fr .8fr .9fr .8fr;
gap: 32px;
}

.footer__brand {
grid-template-columns: 96px 1fr;
}

.footer__logo,
.footer__logo img {
width: 96px;
}
}

@media (max-width: 1024px) {
    .hero__content-textmain {
        font-size: 16px !important;
        margin: 0px auto 24px !important;
    }
:root {
--side-padding: 24px;
--header-height: 72px;
}

.page__grain {
opacity: .16;
}

.header {
top: 12px;
z-index: 100;
}

.header__inner {
min-height: 72px;
padding: 12px 24px;
border-radius: 0;
}

.header__logo,
.header.is-scrolled .header__logo {
top: 8px;
width: 64px;
}

.header__brand {
min-width: 0;
max-width: calc(100% - 70px);
}

.header__brand-title {
font-size: 20px;
}

.header__nav {
position: fixed;
top: 86px;
right: 24px;
left: 24px;
display: block;
padding: 22px;
border: 1px solid rgba(255,255,255,.65);
border-radius: 24px;
background: rgba(247,249,255,.96);
box-shadow: 0 25px 70px rgba(26,49,119,.18);
backdrop-filter: blur(18px);
opacity: 0;
visibility: hidden;
transform: translateY(-12px);
transition: opacity var(--transition), visibility var(--transition), transform var(--transition);
}

.header__nav.is-open {
opacity: 1;
visibility: visible;
transform: translateY(0);
}

.header__menu {
flex-direction: column;
align-items: stretch;
gap: 0;
}

.header__menu-item + .header__menu-item {
border-top: 1px solid rgba(199,207,229,.75);
}

.header__link {
width: 100%;
padding: 13px 4px;
font-size: 18px;
}

.header__link::after {
bottom: 8px;
width: 64px;
}

.header__burger {
display: block;
}

.hero__container {
min-height: 720px;
padding-top: 238px;
}

.hero__text br {
display: none;
}

.about,
.projects, 
.team,
.news,
.contacts {
min-height: 0;
padding: 72px 0;
}

.about__content {
margin-top: 48px;
}

.about__projects {
margin-top: 64px;
}

.about__text {
margin-top: 54px;
}

.projects__grid {
margin-top: 56px;
}

.team__tabs {
margin-top: 52px;
}

.tabs__nav {
margin-bottom: 35px;
justify-content: center;
flex-wrap: wrap;
}

.tabs__nav::-webkit-scrollbar {
display: none;
}

.tabs__button {
flex: 0 0 auto;
}

.contacts::before,
.contacts::after {
height: 66%;
}

.contacts__grid {
grid-template-columns: 1fr;
max-width: 640px;
margin: 48px auto 0;
}

.footer__top {
grid-template-columns: 1fr 1fr;
}

.footer__brand {
align-items: start;
}
}

@media (max-width: 768px) {
.hero__title {
    margin: 0px 0px 0px 0px;
}
:root {
--side-padding: 18px;
}

.hero__blob {
width: 260px;
height: 260px;
}

.hero__container {
min-height: 670px;
padding-top: 240px;
}

.hero__title {
letter-spacing: -.035em;
}

.hero__text {
line-height: 1.55;
}

.hero__actions {
flex-direction: column;
align-items: stretch;
gap: 14px;
max-width: 340px;
margin: 34px auto 0;
}

.btn--primary,
.btn--light {
width: 100%;
min-width: 0;
}

.section-head__line {
margin-top: 18px;
}

.section-head__text {
margin-top: 20px;
}

.about__grid,
.projects__grid,
.news__grid {
grid-template-columns: 1fr;
}

.mini-card {
min-height: 92px;
padding: 18px;
}

.project-card {
min-height: 0;
}

.project-card__body {
min-height: 390px;
padding: 28px;
}

.project-card__title {
min-height: auto;
}

.news-card {
min-height: auto;
}

.news-card__title {
min-height: 0;
}

.contact-card__content b {
font-size: 15px;
}

.footer__top {
grid-template-columns: 1fr;
}

.footer__brand {
grid-template-columns: 86px minmax(0, 220px);
}

.footer__logo,
.footer__logo img {
width: 86px;
}

.footer__bottom {
flex-direction: column;
align-items: flex-start;
}

.modal {
padding: 28px 20px;
}
}

@media (max-width: 560px) {

.header__brand-title {
max-width: 250px;
white-space: normal;
line-height: 1.15;
}

.header__brand-subtitle {
font-size: 13px;
}


.hero__container {
padding-top: 235px;
}

.hero__title {
font-size: clamp(36px, 10vw, 48px);
}

.about__lead,
.about__welcome {
font-size: 20px;
}

.about__text {
text-align: center;
}

.mini-card__text {
font-size: 16px;
}

.project-card__body {
min-height: 360px;
padding: 24px;
}

.project-card__icon {
width: 68px;
height: 68px;
}

.project-card__icon img {
width: 34px;
height: 34px;
}

.project-card__title {
font-size: 22px;
}

.project-card__text,
.project-card__link {
font-size: 16px;
}

.tabs__button {
min-height: 46px;
padding: 10px 18px;
font-size: 14px;
}

.team-card__name {
white-space: normal;
}

.news-card__meta {
align-items: flex-start;
flex-direction: column;
gap: 10px;
}

.contacts__grid {
gap: 36px;
}

.contact-card {
align-items: flex-start;
}

.contact-card__content b {
word-break: break-word;
}
}

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

/* v4 refinements: desktop hero waves, side burger menu, news list page */
.mobile-menu-overlay {
position: fixed;
inset: 0;
z-index: 45;
display: block;
background: rgba(2, 25, 58, .38);
backdrop-filter: blur(8px);
opacity: 0;
visibility: hidden;
pointer-events: none;
transition: opacity var(--transition), visibility var(--transition);
}

body.is-lock .mobile-menu-overlay {
opacity: 1;
visibility: visible;
pointer-events: auto;
}

.hero__scene {
opacity: .48;
}

.news-list {
padding: 128px 0 96px;
background: linear-gradient(180deg, #f7f9ff 0%, #eff3ff 100%);
}

.news-list .container {
position: relative;
z-index: 2;
}

.news-list__decor--one {
left: -80px;
top: 160px;
width: 360px;
height: 360px;
background: #dbecff;
opacity: .42;
}

.news-list__decor--two {
right: -80px;
bottom: 260px;
width: 420px;
height: 420px;
background: #c7cfe5;
opacity: .22;
}

.news-list__head {
display: flex;
flex-direction: column;
align-items: center;
width: min(100%, 720px);
margin: 0 auto;
text-align: center;
}

.breadcrumbs {
display: flex;
align-items: center;
justify-content: center;
gap: 10px;
margin-bottom: 16px;
color: #90a1b9;
font-size: 16px;
line-height: 1.5;
}

.breadcrumbs a {
color: #0084d1;
transition: color var(--transition), transform var(--transition);
}

.breadcrumbs a:hover {
color: var(--color-blue);
transform: translateY(-1px);
}

.news-list__title {
margin: 0;
color: var(--color-blue);
font-size: clamp(36px, 3.125vw, 48px);
font-weight: 700;
line-height: 1;
letter-spacing: -.035em;
}

.news-list__intro {
max-width: 672px;
margin: 24px auto 0;
color: var(--color-text-dark);
font-size: clamp(17px, 1.3vw, 20px);
line-height: 1.4;
}

.news-filter {
position: relative;
display: flex;
align-items: center;
justify-content: center;
gap: 12px;
width: max-content;
max-width: 100%;
min-height: 60px;
margin: 48px auto 0;
padding: 8px 8px 8px 48px;
border-radius: 16px;
background: #fff;
box-shadow: 0 10px 18px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.09);
overflow: hidden;
}

.news-filter__icon {
position: absolute;
left: 16px;
top: 50%;
width: 20px;
height: 20px;
transform: translateY(-50%);
}

.news-filter__icon img {
width: 20px;
height: 20px;
}

.news-filter__button {
position: relative;
z-index: 1;
min-height: 44px;
padding: 10px 24px;
border-radius: 16px;
color: var(--color-text-dark);
font-size: 16px;
font-weight: 500;
line-height: 1.5;
white-space: nowrap;
overflow: hidden;
transition: color .32s ease, transform .32s ease, box-shadow .32s ease;
}

.news-filter__button::before {
content: "";
position: absolute;
inset: 0;
z-index: -1;
border-radius: inherit;
background: linear-gradient(90deg, #f6b23f 0%, #bb892b 100%);
opacity: 0;
transform: scale(.92);
transition: opacity .42s ease, transform .42s cubic-bezier(.22, 1, .36, 1);
}

.news-filter__button:hover {
color: var(--color-blue);
transform: translateY(-1px);
}

.news-filter__button.is-active {
color: #fff;
box-shadow: 0 8px 12px rgba(0,0,0,.14), 0 2px 5px rgba(0,0,0,.1);
}

.news-filter__button.is-active::before {
opacity: 1;
transform: scale(1);
}

.news-list__grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 24px;
margin-top: 48px;
}

.news-list-card {
position: relative;
display: flex;
flex-direction: column;
min-height: 282px;
padding: 24px;
border-radius: 16px;
background: #fbfcff;
box-shadow: var(--shadow-soft);
overflow: hidden;
transition: transform .28s ease, box-shadow .28s ease, opacity .28s ease;
}

.news-list-card:nth-child(n+7) {
min-height: 254px;
}

.news-list-card::after {
content: "";
position: absolute;
left: 0;
right: 0;
bottom: 0;
height: 6px;
background: linear-gradient(90deg, #f6b23f 0%, #bb892b 50%, #f6b23f 100%);
}

.news-list-card:hover {
transform: translateY(-5px);
box-shadow: 0 22px 42px rgba(26,49,119,.13);
}

.news-list-card__meta {
display: flex;
align-items: center;
justify-content: space-between;
gap: 14px;
margin-bottom: 16px;
}

.news-list-card .tag {
min-height: 26px;
padding: 5px 13px;
border: 1px solid transparent;
}

.news-list-card .tag--blue { color: #0069a8; background: #dff2fe; border-color: #b8e6fe; }
.news-list-card .tag--green { color: #007a55; background: #d4f4eb; border-color: #a4f4cf; }
.news-list-card .tag--violet { color: #ae5283; background: #f3e8ff; border-color: #e9d4ff; }

.news-list-card__title {
min-height: 56px;
margin: 0;
color: var(--color-blue);
font-size: 20px;
font-weight: 700;
line-height: 1.4;
}

.news-list-card__text {
margin: 12px 0 0;
color: var(--color-text-dark);
font-size: 16px;
line-height: 1.625;
}

.news-list-card__link {
display: inline-flex;
align-items: center;
gap: 6px;
width: max-content;
margin-top: auto;
padding-top: 16px;
color: #0084d1;
font-size: 16px;
font-weight: 500;
line-height: 1.5;
transition: color var(--transition), transform var(--transition);
}

.news-list-card__link .link-arrow {
width: 16px;
height: 16px;
object-fit: contain;
transition: transform var(--transition);
}

.news-list-card__link:hover {
color: var(--color-blue);
transform: translateX(3px);
}

.news-list-card__link:hover .link-arrow {
transform: translateX(4px);
}

.pagination {
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
margin-top: 48px;
}

.pagination__item {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 40px;
height: 40px;
padding: 0 14px;
border-radius: 12px;
color: #314158;
background: #fff;
font-size: 16px;
font-weight: 500;
line-height: 1.5;
transition: color var(--transition), transform var(--transition), box-shadow var(--transition), opacity var(--transition);
}

.pagination__item--text {
min-width: 120px;
}

.pagination__item:hover {
color: var(--color-blue);
transform: translateY(-2px);
box-shadow: 0 12px 24px rgba(26,49,119,.09);
}

.pagination__item.is-active {
color: #fff;
background: linear-gradient(90deg, #f6b23f 0%, #bb892b 100%);
box-shadow: 0 4px 7px rgba(0,0,0,.15);
}

.pagination__item.is-disabled {
color: #90a1b9;
pointer-events: none;
opacity: .9;
}

@media (max-width: 1024px) {
.header__nav {
position: fixed;
top: 0;
right: 0;
bottom: 0;
left: auto;
z-index: 80;
display: flex;
width: min(420px, calc(100vw - 36px));
height: 100dvh;
padding: 112px 28px 32px;
border: 0;
border-left: 1px solid rgba(199,207,229,.7);
border-radius: 28px 0 0 28px;
background: linear-gradient(180deg, rgba(247,249,255,.98) 0%, rgba(239,243,255,.98) 100%);
box-shadow: -24px 0 80px rgba(2,25,58,.22);
backdrop-filter: blur(22px);
opacity: 1;
visibility: visible;
transform: translateX(112%);
transition: transform .48s cubic-bezier(.22,1,.36,1);
pointer-events: auto;
}

.header__nav::before {
content: "Меню";
position: absolute;
top: 34px;
left: 28px;
color: var(--color-blue);
font-size: 28px;
font-weight: 700;
line-height: 1.2;
}

.header__nav.is-open {
transform: translateX(0);
}

.header__burger {
z-index: 120;
}

.header__menu {
width: 100%;
gap: 8px;
}

.header__menu-item + .header__menu-item {
border-top: 0;
}

.header__link {
align-items: center;
min-height: 56px;
padding: 14px 18px;
border: 1px solid rgba(199,207,229,.7);
border-radius: 16px;
background: rgba(255,255,255,.62);
font-size: 19px;
box-shadow: 0 10px 24px rgba(26,49,119,.06);
}

.header__link::after {
display: none;
}

.header__link:hover,
.header__link.is-active {
color: #fff;
background: linear-gradient(90deg, #bb892b 0%, #f6b23f 100%);
border-color: transparent;
transform: translateX(-3px);
}

.news-list {
padding: 124px 0 72px;
}

.news-filter {
justify-content: flex-start;
width: 100%;
overflow-x: auto;
scrollbar-width: none;
}

.news-filter::-webkit-scrollbar {
display: none;
}

.news-filter__button {
flex: 0 0 auto;
}

.news-list__grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}
}

@media (max-width: 768px) {
.news-list {
padding-top: 112px;
}

.breadcrumbs {
margin-bottom: 14px;
font-size: 14px;
}

.news-list__grid {
grid-template-columns: 1fr;
gap: 18px;
margin-top: 36px;
}

.news-list-card,
.news-list-card:nth-child(n+7) {
min-height: 0;
}

.news-list-card__meta {
align-items: flex-start;
flex-direction: column;
gap: 10px;
}

.news-list-card__title {
min-height: 0;
font-size: 19px;
}

.pagination {
flex-wrap: wrap;
margin-top: 36px;
}
}

@media (max-width: 560px) {
.header__nav {
width: min(360px, calc(100vw - 24px));
padding: 104px 18px 24px;
border-radius: 24px 0 0 24px;
}

.header__nav::before {
left: 18px;
top: 30px;
font-size: 25px;
}

.news-filter {
min-height: 56px;
padding-left: 42px;
}

.news-filter__icon {
left: 14px;
}

.news-filter__button {
min-height: 40px;
padding: 8px 16px;
font-size: 14px;
}

.pagination__item--text {
min-width: 118px;
}
}

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


/* v5: news detail page */
.news-detail {
padding: 128px 0 96px;
background: linear-gradient(180deg, #f7f9ff 0%, #eff3ff 100%);
}

.news-detail__container {
position: relative;
z-index: 2;
width: min(100% - var(--side-padding) * 2, 896px);
}

.news-detail__decor--one {
left: -110px;
top: 180px;
width: 360px;
height: 360px;
background: #dbecff;
opacity: .36;
}

.news-detail__decor--two {
right: -120px;
top: 820px;
width: 430px;
height: 430px;
background: #c7cfe5;
opacity: .2;
}

.news-detail__top {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 20px;
margin-bottom: 32px;
}

.breadcrumbs--detail {
justify-content: flex-start;
margin: 0;
color: var(--color-text);
font-size: 14px;
line-height: 1.43;
text-align: left;
}

.breadcrumbs--detail a {
color: var(--color-text);
}

.breadcrumbs--detail span:last-child {
color: #183b6b;
}

.news-detail__back {
display: inline-flex;
align-items: center;
gap: 8px;
color: var(--color-text);
font-size: 16px;
font-weight: 500;
line-height: 1.5;
transition: color var(--transition), transform var(--transition);
}

.news-detail__back img {
width: 16px;
height: 16px;
object-fit: contain;
transition: transform var(--transition);
}

.news-detail__back:hover {
color: var(--color-blue);
transform: translateX(-3px);
}

.news-detail__back:hover img {
transform: translateX(-3px);
}

.article-card {
overflow: hidden;
border-radius: 24px;
background: #fbfcff;
box-shadow: 0 25px 50px -12px rgba(0,0,0,.1);
}

.article-card__media {
position: relative;
overflow: hidden;
background: linear-gradient(155deg, #c59c5a 0%, #e7ab4a 100%);
}

.article-card__media::after {
content: "";
position: absolute;
inset: 0;
background: linear-gradient(0deg, rgba(15,23,43,.3) 0%, rgba(0,0,0,0) 75%);
pointer-events: none;
}

.article-card__media img {
width: 100%;
height: 100%;
object-fit: cover;
object-position: center;
}

.article-card__body {
padding: 48px;
}

.article-card__meta {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 16px;
margin-bottom: 24px;
}

.article-card__meta .tag {
min-height: 34px;
padding: 7px 17px;
border: 1px solid #fff;
font-size: 14px;
}

.article-card__meta-item {
display: inline-flex;
align-items: center;
gap: 8px;
color: var(--color-text);
font-size: 14px;
line-height: 1.43;
}

.article-card__meta-item img {
width: 16px;
height: 16px;
object-fit: contain;
}

.article-card__title {
max-width: 736px;
margin: 0 0 24px;
color: var(--color-blue);
font-size: clamp(28px, 2.34vw, 36px);
font-weight: 700;
line-height: 1.25;
letter-spacing: -.025em;
}

.article-card__content {
color: var(--color-text);
font-size: 18px;
line-height: 1.8;
}

.article-card__content p {
margin: 0 0 20px;
}

.article-card__content h2 {
margin: 32px 0 16px;
color: var(--color-blue);
font-size: 24px;
font-weight: 700;
line-height: 1.5;
}

.article-card__content ul {
display: flex;
flex-direction: column;
gap: 8px;
margin: 18px 0 24px;
padding: 0 0 0 24px;
list-style: none;
}

.article-card__content li {
position: relative;
}

.article-card__info-list b {
color: var(--color-blue);
font-weight: 600;
}

.article-card__content a {
color: #0084d1;
font-weight: 500;
transition: color var(--transition);
}

.article-card__content a:hover {
color: var(--color-blue);
}

.related-news {
margin-top: 64px;
}

.related-news__title {
margin: 0 0 32px;
color: #183b6b;
font-size: 24px;
font-weight: 700;
line-height: 1.33;
}

.related-news__grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 24px;
}

.related-card {
position: relative;
min-height: 172px;
padding: 24px;
overflow: hidden;
border-radius: 16px;
background: #f7f9ff;
box-shadow: 0 4px 6px -1px rgba(0,0,0,.1), 0 2px 4px -2px rgba(0,0,0,.1);
transition: transform var(--transition), box-shadow var(--transition);
}

.related-card::after {
content: "";
position: absolute;
left: 0;
right: 0;
bottom: 0;
height: 4px;
background: linear-gradient(90deg, #bb892b 0%, #f6b23f 50%, #bb892b 100%);
}

.related-card:hover {
transform: translateY(-5px);
box-shadow: 0 18px 36px rgba(26,49,119,.12);
}

.related-card .tag {
margin-bottom: 12px;
}

.related-card__title {
min-height: 54px;
margin: 0 0 8px;
color: var(--color-blue);
font-size: 18px;
font-weight: 700;
line-height: 1.5;
}

.related-card__date {
display: inline-flex;
align-items: center;
gap: 8px;
color: var(--color-text);
font-size: 14px;
line-height: 1.43;
}

.related-card__date img {
width: 12px;
height: 12px;
object-fit: contain;
}

@media (max-width: 1024px) {
.news-detail {
padding: 124px 0 76px;
}

.article-card__body {
padding: 40px;
}

.related-news__grid {
gap: 18px;
}
}

@media (max-width: 768px) {
.news-detail {
padding-top: 112px;
}

.news-detail__top {
gap: 16px;
margin-bottom: 24px;
}

.breadcrumbs--detail {
align-items: flex-start;
flex-wrap: wrap;
gap: 6px 8px;
}

.article-card {
border-radius: 20px;
}

.article-card__body {
padding: 32px 24px;
}

.article-card__meta {
gap: 12px;
margin-bottom: 20px;
}

.article-card__title {
margin-bottom: 22px;
}

.article-card__content {
font-size: 16px;
line-height: 1.7;
}

.article-card__content h2 {
margin-top: 28px;
font-size: 21px;
}

.article-card__content ul {
padding-left: 4px;
}

.related-news {
margin-top: 48px;
}

.related-news__grid {
grid-template-columns: 1fr;
}

.related-card,
.related-card__title {
min-height: 0;
}
}

@media (max-width: 560px) {
.news-detail__container {
width: min(100% - 32px, 896px);
}

.article-card__body {
padding: 28px 20px;
}

.article-card__meta .tag {
min-height: 30px;
padding: 5px 14px;
font-size: 13px;
}

.related-card {
padding: 20px;
}
}

/* v6: member detail page */
.gradient-blue-text {
display: inline-block;
color: transparent;
background: linear-gradient(90deg, #5f7187 0%, #0766db 31%, #0766db 72%, #5f7187 100%);
background-size: 260% 100%;
background-position: 0 50%;
-webkit-background-clip: text;
background-clip: text;
animation: titleGradient 6s ease-in-out infinite alternate;
}

.member-detail {
padding: 128px 0 96px;
background: #f6f8ff;
}

.member-detail__container {
position: relative;
z-index: 2;
width: min(100% - var(--side-padding) * 2, 968px);
}

.member-detail__decor--one {
left: -95px;
top: 150px;
width: 384px;
height: 384px;
background: #eff3ff;
opacity: .42;
}

.member-detail__decor--two {
left: 35%;
top: 150px;
width: 384px;
height: 384px;
background: #d1e7ff;
opacity: .42;
}

.member-detail__decor--three {
right: -120px;
bottom: 260px;
width: 384px;
height: 384px;
background: #dde5fb;
opacity: .42;
}

.member-detail__breadcrumbs {
margin-bottom: 24px;
}

.member-hero {
position: relative;
display: grid;
grid-template-columns: 252px minmax(0, 1fr);
gap: 58px;
align-items: center;
min-height: 318px;
padding: 44px 64px 42px 46px;
border-radius: 16px;
background: #fbfcff;
box-shadow: 0 8px 20px -6px rgba(0,0,0,.1);
overflow: hidden;
}

.member-hero::before {
content: "";
position: absolute;
inset: 0 0 auto;
height: 7px;
background: linear-gradient(90deg, #bb892b 29%, #f6b23f 76%, #bb892b 100%);
}

.member-hero__photo-wrap {
position: relative;
width: 223px;
height: 223px;
justify-self: center;
}

.member-hero__photo {
width: 223px;
height: 223px;
border-radius: 50%;
object-fit: cover;
object-position: center;
box-shadow: 0 20px 38px rgba(26,49,119,.14);
}

.member-hero__badge {
position: absolute;
left: 50%;
bottom: -4px;
text-align: center;
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 34px;
min-width: 148px;
padding: 6px 18px;
border-radius: 999px;
color: var(--color-text);
background: #dbecff;
font-size: 14px;
font-weight: 500;
line-height: 1.35;
box-shadow: 0 10px 15px rgba(0,0,0,.1);
transform: translateX(-50%);
}

.member-hero__name {
margin: 0 0 8px;
color: var(--color-blue);
font-size: clamp(32px, 2.35vw, 36px);
font-weight: 700;
line-height: 1.25;
letter-spacing: -.025em;
}

.member-hero__role {
margin: 0;
font-size: 18px;
font-weight: 600;
line-height: 2.5;
}

.member-hero__status {
margin: 0;
color: var(--color-blue);
font-size: 18px;
font-weight: 500;
line-height: 2.5;
}

.member-hero__meta {
display: flex;
flex-wrap: wrap;
align-items: center;
gap: 32px;
margin-top: 2px;
}

.member-hero__meta-item {
display: inline-flex;
align-items: center;
gap: 8px;
color: #0084d1;
font-size: 16px;
font-weight: 500;
line-height: 1.45;
transition: color var(--transition), transform var(--transition);
}

.member-hero__meta-item:not(a) {
color: var(--color-text);
}

.member-hero__meta-item img {
width: 18px;
height: 18px;
object-fit: contain;
}

.member-hero__meta-item:hover {
color: var(--color-blue);
transform: translateY(-1px);
}

.member-detail__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 16px;
  margin-top: 24px;
  align-items: start;
}

.member-detail__column {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

@media (max-width: 767px) {
  .member-detail__grid {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .member-detail__column {
    display: contents;
  }

  .member-info-card {
    min-height: auto;
  }

  .member-info-card--about {
    order: 1;
  }

  .member-info-card--special {
    order: 2;
  }

  .member-info-card--education {
    order: 3;
  }

  .member-info-card--projects {
    order: 4;
  }
}

.member-info-card {
padding: 16px 36px 30px;
border-radius: 16px;
background: #fbfcff;
min-height: 158px;
box-shadow: 0 20px 30px -6px rgba(0,0,0,.1);
transition: transform var(--transition), box-shadow var(--transition);
}

.member-info-card:hover {
transform: translateY(-4px);
box-shadow: 0 28px 48px rgba(26,49,119,.12);
}

.member-info-card--education {
min-height: 391px;
}

.member-info-card--special {
min-height: 158px;
}

.member-info-card--projects {
min-height: 179px;
}

.member-info-card__head {
display: flex;
align-items: center;
gap: 22px;
margin-bottom: 14px;
}

.member-info-card__icon {
display: inline-flex;
align-items: center;
justify-content: center;
flex: 0 0 auto;
width: 44px;
height: 44px;
border-radius: 18px;
background: linear-gradient(150deg, #bb892b 2%, #f6b23f 100%);
box-shadow: 0 8px 14px rgba(0,0,0,.1);
}

.member-info-card__icon img {
width: 24px;
height: 24px;
object-fit: contain;
}

.member-info-card__title {
margin: 0;
color: var(--color-blue);
font-size: 20px;
font-weight: 700;
line-height: 2.25;
}

.member-info-card p,
.member-info-card__list {
margin: 0;
color: var(--color-text);
font-size: 16px;
line-height: 1.32;
font-weight: 400;
}

.member-info-card__list {
display: flex;
flex-direction: column;
gap: 14px;
padding: 0;
list-style: none;
}

.member-info-card__list li {
position: relative;
padding-left: 14px;
}

.member-info-card__list li::before {
content: "";
position: absolute;
left: 0;
top: .55em;
width: 7px;
height: 7px;
border-radius: 50%;
background: #0084d1;
}

.member-related {
margin-top: 40px;
}

.member-related__title {
margin: 0 0 20px;
color: var(--color-blue);
font-size: 20px;
font-weight: 700;
line-height: 2.25;
}

.member-related__grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 16px;
}

.member-mini-card {
position: relative;
display: grid;
grid-template-columns: 76px minmax(0, 1fr);
gap: 17px;
align-items: center;
min-height: 105px;
padding: 17px 18px 16px 24px;
border-radius: 16px;
background: #feffff;
box-shadow: 0 8px 20px -6px rgba(0,0,0,.1);
overflow: hidden;
transition: transform var(--transition), box-shadow var(--transition);
}

.member-mini-card::before {
content: "";
position: absolute;
inset: 0 0 auto;
height: 6px;
background: linear-gradient(90deg, #bb892b 29%, #f6b23f 76%, #bb892b 100%);
}

.member-mini-card:hover {
transform: translateY(-5px);
box-shadow: 0 18px 36px rgba(26,49,119,.12);
}

.member-mini-card__photo {
width: 76px;
height: 76px;
border-radius: 50%;
object-fit: cover;
object-position: center;
}

.member-mini-card__content {
display: flex;
flex-direction: column;
gap: 6px;
min-width: 0;
}

.member-mini-card__content b {
color: var(--color-blue);
font-size: 14px;
font-weight: 700;
line-height: 1.65;
}

.member-mini-card__content span {
color: var(--color-text);
font-size: 13px;
line-height: 1.35;
}

.member-detail__back {
display: inline-flex;
align-items: center;
gap: 8px;
margin-top: 42px;
color: var(--color-blue-2);
font-size: 14px;
font-weight: 500;
line-height: 1.5;
transition: color var(--transition), transform var(--transition);
}

.member-detail__back:hover {
color: var(--color-blue);
transform: translateX(-3px);
}

@media (max-width: 1024px) {
.member-detail {
padding: 124px 0 76px;
}

.member-hero {
grid-template-columns: 220px minmax(0, 1fr);
gap: 36px;
padding: 40px 36px;
}

.member-hero__photo-wrap,
.member-hero__photo {
width: 190px;
height: 190px;
}

.member-detail__grid {
gap: 18px;
}

.member-info-card {
padding: 18px 24px 28px;
}

.member-related__grid {
grid-template-columns: 1fr;
}

.member-mini-card {
grid-template-columns: 76px minmax(0, 1fr);
}
}

@media (max-width: 768px) {
    .article-card__title {
        font-size: 20px;
    }
.member-detail {
padding-top: 112px;
}

.member-detail__container {
width: min(100% - 32px, 968px);
}

.member-hero {
grid-template-columns: 1fr;
justify-items: center;
gap: 26px;
padding: 36px 24px 32px;
text-align: center;
}

.member-hero__content {
width: 100%;
}

.member-hero__name {
font-size: 30px;
}

.member-hero__role,
.member-hero__status {
line-height: 1.55;
}

.member-hero__status {
margin-top: 10px;
}

.member-hero__meta {
justify-content: center;
gap: 16px 24px;
margin-top: 18px;
}

.member-detail__grid {
grid-template-columns: 1fr;
}

.member-info-card,
.member-info-card--education,
.member-info-card--special,
.member-info-card--projects {
min-height: 0;
}

.member-info-card__head {
gap: 16px;
}

.member-info-card__title,
.member-related__title {
line-height: 1.4;
}
}

@media (max-width: 480px) {
.member-detail__breadcrumbs {
flex-wrap: wrap;
justify-content: flex-start;
}

.member-hero {
padding: 34px 18px 28px;
}

.member-hero__photo-wrap,
.member-hero__photo {
width: 168px;
height: 168px;
}

.member-hero__badge {
min-width: 132px;
min-height: 32px;
font-size: 13px;
}

.member-hero__name {
font-size: 27px;
}

.member-hero__role {
font-size: 16px;
}

.member-info-card {
padding: 18px 18px 24px;
}

.member-info-card__head {
align-items: flex-start;
}

.member-info-card__title {
padding-top: 7px;
font-size: 19px;
}

.member-mini-card {
grid-template-columns: 64px minmax(0, 1fr);
gap: 14px;
padding: 16px;
}

.member-mini-card__photo {
width: 64px;
height: 64px;
}
}
/* header-2: inner pages */
.header--inner-page {
top: 20px;
min-height: 82px;
  border: 1px solid #EFF3FF;
background: linear-gradient(90deg, #DBECFF 0%, #F7F9FF 17.93%, #F7F9FF 82.87%, #DBECFF 100%);
box-shadow: 0 4px 7px 0 rgba(0, 0, 0, 0.15);
}

.header--inner-page.is-scrolled {
top: 0;
}

.header--inner-page .header__inner.container {
width: min(100% - var(--side-padding) * 2, 1214px);
max-width: 1214px;
min-height: 82px;
padding: 16px 0;
}

.header--inner-page.is-scrolled .header__inner {
min-height: 70px;
}

.header--inner-page .header__brand {
flex-direction: row;
align-items: center;
gap: 12px;
min-width: 0;
max-width: 520px;
}

.header--inner-page .header__brand:hover {
transform: translateY(-1px);
}

.header--inner-page .header__brand-logo img {
width: 100%;
height: auto;
max-width: 55px;
object-fit: contain;
}

.header--inner-page .header__brand-text {
display: flex;
flex-direction: column;
min-width: 0;
}

.header--inner-page .header__brand-title {
display: block;
max-width: 460px;
color: var(--color-blue);
font-size: clamp(18px, 1.35vw, 20px);
font-weight: 500;
line-height: 1.4;
letter-spacing: -.02em;
white-space: nowrap;
}

.header--inner-page .header__logo {
display: none;
}

.header--inner-page .header__nav {
margin-left: auto;
}

.header--inner-page .header__menu {
gap: clamp(24px, 2.08vw, 32px);
}

.header--inner-page .header__link {
font-size: 19px;
font-weight: 500;
}

/* адаптив header-2 */
@media (max-width: 1200px) {
.header--inner-page .header__inner.container {
width: min(100% - 48px, 1120px);
}

.header--inner-page .header__brand-title {
max-width: 360px;
font-size: 18px;
}

.header--inner-page .header__menu {
gap: 22px;
}

.header--inner-page .header__link {
font-size: 18px;
}
}

@media (max-width: 1024px) {
.header--inner-page {
top: 12px;
min-height: 72px;
}

.header--inner-page .header__inner.container {
width: 100%;
max-width: none;
min-height: 72px;
padding: 12px 24px;
}

.header--inner-page .header__brand {
max-width: calc(100% - 70px);
}

.header--inner-page .header__brand-logo {
flex-basis: 44px;
width: 44px;
height: 44px;
}

.header--inner-page .header__brand-logo img {
width: 44px;
height: 44px;
}

.header--inner-page .header__brand-title {
max-width: 420px;
font-size: 19px;
line-height: 1.2;
white-space: normal;
}

.header--inner-page .header__nav {
margin-left: 0;
}

.header--inner-page .header__link {
font-size: 19px;
}
}

@media (max-width: 560px) {
.header--inner-page .header__inner.container {
padding: 12px 18px;
}

.header--inner-page .header__brand {
gap: 10px;
}

.header--inner-page .header__brand-logo {
flex-basis: 38px;
width: 38px;
height: 38px;
}

.header--inner-page .header__brand-logo img {
width: 38px;
height: 38px;
}

.header--inner-page .header__brand-title {
max-width: 245px;
font-size: 16px;
line-height: 1.18;
}
}

@media (max-width: 390px) {
.header--inner-page .header__brand-title {
max-width: 210px;
font-size: 15px;
}
}

/* v8: main page header responsive fix */
.header:not(.header--inner-page) .header__brand {
flex: 0 1 390px;
min-width: 0;
padding-right: 28px;
}

.header:not(.header--inner-page) .header__nav {
flex: 0 1 auto;
padding-left: 28px;
}

.header:not(.header--inner-page) .header__logo {
left: 50%;
top: 3px;
width: clamp(78px, 6.2vw, 95px);
max-width: 95px;
translate: none !important;
rotate: none !important;
scale: none !important;
transform: translateX(-50%);
}

.header:not(.header--inner-page).is-scrolled .header__logo {
top: 4px;
width: clamp(48px, 3.8vw, 50px);
max-width: 50px;
translate: none !important;
rotate: none !important;
scale: none !important;
transform: translateX(-50%) !important;
}

@media (max-width: 1365px) {
.header:not(.header--inner-page) .header__inner.container {
width: calc(100% - 48px);
max-width: 1290px;
}

.header:not(.header--inner-page) .header__brand {
flex-basis: 320px;
padding-right: 22px;
}

.header:not(.header--inner-page) .header__brand-title {
font-size: clamp(18px, 1.55vw, 22px);
}

.header:not(.header--inner-page) .header__logo {
width: clamp(76px, 6vw, 86px);
max-width: 86px;
}

.header:not(.header--inner-page) .header__menu {
gap: clamp(16px, 1.7vw, 24px);
}

.header:not(.header--inner-page) .header__link {
font-size: 18px;
}
}

@media (max-width: 1260px) {
.header:not(.header--inner-page) .header__inner.container {
width: calc(100% - 44px);
}

.header:not(.header--inner-page) .header__brand {
flex-basis: 290px;
padding-right: 18px;
}

.header:not(.header--inner-page) .header__brand-title {
font-size: 19px;
}

.header:not(.header--inner-page) .header__brand-subtitle {
font-size: 13px;
}

.header:not(.header--inner-page) .header__nav {
padding-left: 18px;
}

.header:not(.header--inner-page) .header__logo {
width: 78px;
max-width: 78px;
}

.header:not(.header--inner-page) .header__menu {
gap: 18px;
}

.header:not(.header--inner-page) .header__link {
font-size: 17px;
}
}

@media (max-width: 1160px) {
.header:not(.header--inner-page) .header__inner.container {
width: calc(100% - 40px);
}

.header:not(.header--inner-page) .header__brand {
flex-basis: 250px;
padding-right: 14px;
}

.header:not(.header--inner-page) .header__brand-title {
max-width: 250px;
font-size: 18px;
}

.header:not(.header--inner-page) .header__logo {
width: 70px;
max-width: 70px;
}

.header:not(.header--inner-page) .header__nav {
padding-left: 14px;
}

.header:not(.header--inner-page) .header__menu {
padding: 0px 15px 20px;
overflow-y: auto;
gap: 14px;
}

.header:not(.header--inner-page) .header__link {
font-size: 16px;
}
}

@media (max-width: 1080px) {
.header:not(.header--inner-page) .header__brand {
flex-basis: 230px;
}

.header:not(.header--inner-page) .header__brand-title {
max-width: 230px;
font-size: 17px;
}

.header:not(.header--inner-page) .header__brand-subtitle {
font-size: 12px;
}

.header:not(.header--inner-page) .header__logo {
width: 64px;
max-width: 64px;
}

.header:not(.header--inner-page) .header__menu {
gap: 12px;
}

.header:not(.header--inner-page) .header__link {
font-size: 15.5px;
}
}

@media (max-width: 1024px) {
.header:not(.header--inner-page) .header__inner.container {
display: flex;
align-items: center;
justify-content: flex-start;
gap: 12px;
width: 100%;
max-width: none;
min-height: 72px;
padding: 12px 24px;
}

.header:not(.header--inner-page) .header__logo {
    position: absolute;
}
.header:not(.header--inner-page).is-scrolled .header__logo {
position: relative;
top: auto;
left: auto;
order: 1;
display: inline-flex;
align-items: center;
justify-content: center;
flex: 0 0 54px;
width: 54px;
max-width: 54px;
margin: 0;
opacity: 1 !important;
translate: none !important;
rotate: none !important;
scale: none !important;
transform: none !important;
}

.header:not(.header--inner-page) .header__logo img {
width: 100%;
height: 100%;
object-fit: contain;
}

.header:not(.header--inner-page) .header__brand {
order: 2;
flex: 1 1 auto;
min-width: 0;
max-width: calc(100% - 122px);
padding-right: 0;
}

.header:not(.header--inner-page) .header__brand-title {
max-width: 100%;
font-size: clamp(18px, 2.4vw, 20px);
white-space: normal;
line-height: 1.15;
}

.header:not(.header--inner-page) .header__brand-subtitle {
font-size: 13px;
}

.header:not(.header--inner-page) .header__nav {
order: 4;
padding-left: 0;
}

.header:not(.header--inner-page) .header__burger {
order: 3;
flex: 0 0 44px;
margin-left: auto;
}
}

@media (max-width: 768px) {
.header:not(.header--inner-page) .header__inner.container {
padding: 12px 18px;
}

.header:not(.header--inner-page) .header__logo {
top: 48px;
left: 0;
right: 0;
margin: 0px auto;
flex-basis: 100%;
width: 100%;
max-width: 81px;
transform: none !important;
}
.header:not(.header--inner-page).is-scrolled .header__logo {
left: 0;
top: 0;
right: 0;
margin: 0px auto;
flex-basis: 100%;
width: 100%;
max-width: 81px;
}

.header:not(.header--inner-page) .header__brand {
max-width: 100%;
}

.header:not(.header--inner-page) .header__brand-title {
font-size: 18px;
}
}

@media (max-width: 560px) {
.header:not(.header--inner-page).is-scrolled .header__logo {
display: inline-flex !important;
flex-basis: 44px;
width: 44px;
max-width: 44px;
}

.header:not(.header--inner-page) .header__brand {
max-width: 100%;
}

.header:not(.header--inner-page) .header__brand-title {
max-width: 100%;
font-size: 16px;
line-height: 1.15;
}

.header:not(.header--inner-page) .header__brand-subtitle {
font-size: 12px;
}
}

@media (max-width: 390px) {
.header:not(.header--inner-page) .header__inner.container {
gap: 10px;
padding: 10px 14px;
}

.header:not(.header--inner-page).is-scrolled .header__logo {
flex-basis: 40px;
width: 40px;
max-width: 40px;
}

.header:not(.header--inner-page) .header__brand {
max-width: 100%;
}

.header:not(.header--inner-page) .header__brand-title {
font-size: 15px;
}

.header:not(.header--inner-page) .header__brand-subtitle {
font-size: 11px;
}
}

.asguard-hp {
position: absolute !important;
left: -99999px !important;
top: auto !important;
width: 1px !important;
height: 1px !important;
overflow: hidden !important;
opacity: 0 !important;
pointer-events: none !important;
}

/* hide AjaxForm default messages */
.ajax_form .af-message,
.ajax_form .alert,
.ajax_form .alert-success,
.ajax_form .alert-danger,
.ajax_form .error,
.ajax_form .error-message {
display: none !important;
}
/* hide MODX / AjaxForm jGrowl notifications */
#jGrowl,
.jGrowl,
div.jGrowl,
.jGrowl-notification,
.jGrowl-closer {
display: none !important;
opacity: 0 !important;
visibility: hidden !important;
pointer-events: none !important;
}
#jGrowl,
.jGrowl,
.jGrowl-notification,
.jGrowl-closer {
display: none !important;
}
/* 404 page */
.error-page {
min-height: 720px;
padding: 148px 0 104px;
background: linear-gradient(180deg, #f7f9ff 0%, #eff3ff 100%);
}

.error-page__container {
position: relative;
z-index: 2;
width: min(100% - var(--side-padding) * 2, 968px);
}

.error-page__breadcrumbs {
margin-bottom: 24px;
}

.error-page__decor--one {
left: -110px;
top: 160px;
width: 384px;
height: 384px;
background: #dbecff;
opacity: .42;
}

.error-page__decor--two {
right: -120px;
top: 220px;
width: 430px;
height: 430px;
background: #c7cfe5;
opacity: .24;
}

.error-page__decor--three {
left: 44%;
bottom: 80px;
width: 320px;
height: 320px;
background: #eff3ff;
opacity: .72;
}

.error-page__card {
position: relative;
overflow: hidden;
min-height: 460px;
padding: 64px 56px 58px;
border-radius: 24px;
background: linear-gradient(135deg, #fbfcff 0%, #ffffff 48%, #f7f9ff 100%);
box-shadow: 0 25px 50px -12px rgba(0,0,0,.1);
text-align: center;
}

.error-page__card::before {
content: "";
position: absolute;
inset: 0 0 auto;
height: 7px;
background: linear-gradient(90deg, #bb892b 0%, #f6b23f 50%, #bb892b 100%);
}

.error-page__card::after {
content: "";
position: absolute;
right: -90px;
bottom: -120px;
width: 300px;
height: 300px;
border-radius: 50%;
background: radial-gradient(circle, rgba(219,236,255,.95) 0%, rgba(219,236,255,0) 68%);
pointer-events: none;
}

.error-page__code {
position: relative;
z-index: 1;
margin: 0 auto 12px;
color: transparent;
background: linear-gradient(90deg, #5f7187 0%, #0766db 42%, #5f7187 100%);
background-size: 260% 100%;
background-position: 0 50%;
-webkit-background-clip: text;
background-clip: text;
font-size: clamp(86px, 11vw, 154px);
font-weight: 800;
line-height: .9;
letter-spacing: -.06em;
animation: titleGradient 6s ease-in-out infinite alternate;
}

.error-page__title {
position: relative;
z-index: 1;
max-width: 720px;
margin: 0 auto;
color: var(--color-blue);
font-size: clamp(32px, 3.125vw, 48px);
font-weight: 700;
line-height: 1.12;
letter-spacing: -.035em;
}

.error-page__text {
position: relative;
z-index: 1;
max-width: 650px;
margin: 24px auto 0;
color: var(--color-text-dark);
font-size: clamp(17px, 1.3vw, 20px);
line-height: 1.65;
}

.error-page__text p {
margin: 0;
}

.error-page__text p + p {
margin-top: 12px;
}

.error-page__actions {
position: relative;
z-index: 1;
display: flex;
justify-content: center;
flex-wrap: wrap;
gap: 16px;
margin-top: 38px;
}

.error-page__actions .btn {
min-width: 170px;
}

@media (max-width: 1024px) {
.error-page {
min-height: 640px;
padding: 132px 0 76px;
}

.error-page__card {
padding: 54px 40px 50px;
}
}

@media (max-width: 768px) {
.error-page {
padding-top: 116px;
}

.error-page__container {
width: min(100% - 32px, 968px);
}

.error-page__breadcrumbs {
flex-wrap: wrap;
justify-content: flex-start;
}

.error-page__card {
min-height: 0;
padding: 46px 24px 42px;
border-radius: 20px;
}

.error-page__actions {
flex-direction: column;
align-items: stretch;
max-width: 340px;
margin-left: auto;
margin-right: auto;
}

.error-page__actions .btn {
width: 100%;
}
}

@media (max-width: 480px) {
.error-page__card {
padding: 40px 18px 36px;
}

.error-page__code {
font-size: 82px;
}

.error-page__text {
font-size: 16px;
}
}

@media (min-width: 861px) {
.header:not(.header--inner-page) .header__brand .header__brand-logo {
    display: none;
}    
}
@media (max-width: 1024px) {
.header:not(.header--inner-page) .header__brand > div {
    display: flex;flex-direction: column;
}
.header:not(.header--inner-page) .header__brand .header__brand-logo {
    display: block;
}  
.header:not(.header--inner-page) .header__brand {
    display: flex;
    align-items: center;
    flex-direction: initial;
    gap: 12px;
}
.header__logo, .header.is-scrolled .header__logo {
    top: 95px;
    width: 85px;
    left: 0;
    right: 0;
    margin: 0px auto;
    transform: none !important;
}
}
.project-modal {
width: min(520px, calc(100vw - 32px));
padding: 0;
overflow: hidden;
border-radius: 24px;
background: #fbfcff;
color: #1a3177;
}

.project-modal__accent {
width: 100%;
height: 7px;
background: linear-gradient(90deg, #bb892b 0%, #f6b23f 50%, #bb892b 100%);
}

.project-modal__head {
display: flex;
gap: 18px;
padding: 32px;
}

.project-modal__icon {
display: flex;
align-items: center;
justify-content: center;
width: 58px;
height: 58px;
flex: 0 0 58px;
border-radius: 18px;
background: linear-gradient(135deg, #bb892b 0%, #f6b23f 100%);
box-shadow: 0 10px 18px rgba(0, 0, 0, 0.12);
}

.project-modal__icon[hidden] {
display: none;
}

.project-modal__icon img {
display: block;
max-width: 30px;
max-height: 30px;
}

.project-modal__content {
flex: 1;
min-width: 0;
}

.project-modal__title {
margin: 0;
color: #1a3177;
font-size: 28px;
font-weight: 700;
line-height: 1.25;
}

.project-modal__text {
margin: 12px 0 0;
color: #5f7187;
font-size: 16px;
line-height: 1.55;
}

.project-modal__links {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 12px;
padding: 0 32px 32px;
}

.project-modal__link {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 48px;
padding: 12px 18px;
border: 1px solid #c7cfe5;
border-radius: 14px;
background: #f7f9ff;
color: #1a3177;
font-size: 15px;
font-weight: 600;
line-height: 1.2;
text-decoration: none;
transition:
transform 0.25s ease,
border-color 0.25s ease,
background 0.25s ease,
color 0.25s ease,
box-shadow 0.25s ease;
}

.project-modal__link:hover {
transform: translateY(-2px);
border-color: #bb892b;
background: linear-gradient(135deg, #bb892b 0%, #f6b23f 100%);
color: #fff;
box-shadow: 0 12px 24px rgba(187, 137, 43, 0.2);
}

@media (max-width: 575px) {
.project-modal__head {
padding: 24px;
flex-direction: column;
}

.project-modal__title {
font-size: 23px;
}

.project-modal__links {
grid-template-columns: 1fr;
padding: 0 24px 24px;
}
}
.is-compact .fancybox__content>.f-button.is-close-btn {
background: #fff;
border: 1px solid;
top: 12px;
}
h1,
h2,
h3,
[class*="__title"],
[class*="__name"] {
letter-spacing: .02em;
}
.header.js-header.is-scrolled {
border: 1px solid #EFF3FF;
background: linear-gradient(90deg, #DBECFF 0%, #F7F9FF 17.93%, #F7F9FF 82.87%, #DBECFF 100%);
box-shadow: 0 4px 7px 0 rgba(0, 0, 0, 0.15);
}
.header.is-scrolled .header__brand > div {
    display: flex;flex-direction: column;
}
.header.is-scrolled .header__brand .header__brand-logo {
    display: block;
    position: relative;
    top: 3px;
}  
.header.is-scrolled .header__brand {
    display: flex;
    flex: none;
    align-items: center;
    flex-direction: initial;
    gap: 12px;
}
.callback-form__agree {
    color: #fff;
    font-weight: bold;
}
.callback-form__agree a {
    text-decoration: underline;
}
.hero__content-textmain {
    font-size: 20px;
    line-height: 100%;
    color: #1A3177;
    text-align: center;
    max-width: 400px;
    letter-spacing: .02em;
    margin: 0px auto 32px;
}
@media screen and (max-width: 400px) {
    .header.is-scrolled .header__brand {
        max-width: 80%;
        width: 100%;
    }
}