.winter-design {
    --winter-navy: #091329;
    --winter-ice: #e8f2ff;
    --winter-gold: #f8cb76;
    --winter-character-rise: -18px;
    background: var(--winter-navy);
}

.winter-design header {
    height: 86px;
    margin-bottom: -86px;
    border-bottom: 1px solid #adc5ef25;
    background: #071229d9;
}

.winter-design nav.nav { height: 86px; }
.winter-design .nav__content { width: calc(100% - 72px); max-width: 1800px; column-gap: 46px; }
.winter-design ul.nav__menu { gap: 38px; font-family: 'Inter', sans-serif; font-weight: 700; }
.winter-design .nav__menu a:hover { color: var(--winter-gold); }
.winter-design .nav__auth .btn { font-family: 'Inter', sans-serif; font-weight: 700; }
.winter-design .menu-en-main-container.mob { top: 86px; background: #08182af5; }
.winter-design ::selection { color: #081329; background: #f2d69e; }
.winter-design a:focus-visible, .winter-design button:focus-visible { outline: 2px solid #ffe2a6; outline-offset: 5px; }

.winter-hero {
    position: relative;
    isolation: isolate;
    display: grid;
    place-items: center;
    min-height: min(100svh, 1120px);
    padding: 124px 20px 72px;
    overflow: hidden;
    color: var(--winter-ice);
    background: var(--winter-navy);
}

.winter-scene { position: absolute; z-index: -1; inset: 0; pointer-events: none; }
.winter-scene__plate, .winter-character, .winter-foreground, .winter-scene__shade, .winter-atmosphere { position: absolute; inset: 0; width: 100%; height: 100%; }
.winter-scene__plate, .winter-character, .winter-foreground { object-fit: cover; object-position: center; }
.winter-scene__plate { z-index: 0; filter: blur(1.8px) saturate(1.06); transform: scale(1.013); }
.winter-character { z-index: 1; max-width: none; scale: .9; translate: 0 calc(var(--winter-character-rise) - 75px); filter: saturate(1.14) contrast(1.035) brightness(1.025); }
.winter-character.winter-character--left { transform-origin: 21.8% 100%; margin-left: -2.18%; translate: 0 calc(var(--winter-character-rise) - 25px); }
.winter-character.winter-character--right { transform-origin: 75.5% 100%; margin-left: 2.45%; }
.winter-character--left { clip-path: inset(0 50% 0 0); }
.winter-character--right { clip-path: inset(0 0 0 50%); }
.winter-foreground { z-index: 2; max-width: none; transform: translateY(4%); filter: blur(5px) saturate(1.06); }
.winter-foreground--left { clip-path: inset(0 50% 0 0); }
.winter-foreground--right { clip-path: inset(0 0 0 50%); }
.winter-scene__shade { z-index: 2; background: radial-gradient(ellipse at 50% 58%, #050d245c 0, #07122810 42%, #07122800 72%), linear-gradient(0deg, #081126b0, #08112600 25%); }
.winter-atmosphere { z-index: 3; }
.winter-hero.is-winter-animated .winter-character--left { animation: winter-breathe-left 5.8s ease-in-out infinite; }
.winter-hero.is-winter-animated .winter-character--right { animation: winter-breathe-right 6.6s ease-in-out -2.3s infinite; }
.winter-hero.is-winter-paused .winter-character { animation-play-state: paused; }
.winter-hero + .sep-up { pointer-events: none; }

.winter-hero__content { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; width: 100%; max-width: 980px; text-align: center; }
.winter-hero__copy { position: relative; isolation: isolate; display: flex; flex-direction: column; align-items: center; width: 100%; }
.winter-hero__copy::before { content: ''; position: absolute; z-index: -1; inset: 1px -80px -25px; background: radial-gradient(ellipse, #040b20bd 12%, #040b209c 48%, #040b204d 70%, #040b2000 100%); filter: blur(12px); pointer-events: none; }
.winter-logo { display: block; width: clamp(300px, 26vw, 450px); height: clamp(180px, 15.6vw, 270px); }
.winter-logo img { width: 100%; height: auto; transform: translateY(-9%); pointer-events: none; }
.winter-hero h1 { max-width: 980px; margin: 20px 0 0; padding: 0; color: #f8f8ff; font-family: 'Inter', sans-serif; font-size: clamp(30px, 2.5vw, 48px); font-weight: 800; line-height: 1.22; letter-spacing: -.025em; text-shadow: 0 3px 16px #03091ee0; text-wrap: balance; }
.winter-hero h1 span { display: block; margin-top: 8px; color: #ffd05f; }
.winter-hero__description { max-width: 72ch; margin: 20px 0 0; color: #f1f3ff; font-family: 'Inter', sans-serif; font-size: clamp(16px, 1.17vw, 20px); font-weight: 600; line-height: 1.75; text-shadow: 0 2px 8px #040a20; text-wrap: pretty; }
.winter-announcement { position: relative; display: flex; align-items: center; justify-content: center; gap: 18px; width: min(100%, 630px); min-height: 84px; margin-top: 30px; padding: 20px 35px; color: #f4f4ff; font-family: 'Inter', sans-serif; font-size: clamp(23px, 1.95vw, 34px); font-weight: 750; line-height: 1.2; text-transform: uppercase; }
.winter-announcement__frame { position: absolute; inset: 0; width: 100%; height: 100%; }
.winter-announcement__snowflake { position: relative; flex: 0 0 30px; width: 30px; height: 34px; }
.winter-announcement span { position: relative; }
.winter-register { position: relative; display: grid; place-items: center; width: min(100%, 430px); min-height: 84px; margin-top: 24px; color: #fffaf1; font-family: 'Inter', sans-serif; font-size: 28px; font-weight: 800; line-height: 1.2; text-transform: uppercase; text-decoration: none; filter: drop-shadow(0 8px 20px #03091c85); transition: filter 180ms ease-out, transform 180ms ease-out; }
.winter-register svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.winter-register span { position: relative; padding: 15px 40px; }
.winter-register:hover { color: #fff; filter: brightness(1.1) drop-shadow(0 10px 22px #03091ca0); transform: translateY(-2px); }
.winter-register:active { transform: translateY(0); }

/* The remaining sections inherit the winter scene without changing their content. */
.winter-design .big-project {
    isolation: isolate;
    color: #2b3e53;
    background-image: linear-gradient(#eff6faf0, #e2edf4ed), url('/img/winter-20261025/castle.webp');
    background-position: center bottom;
}
.winter-design .big-project .container, .winter-design .opening-gallery .container, .winter-design .ytb-sec .container { z-index: 1; }
.winter-design .big-project::before, .winter-design .opening-gallery::before, .winter-design .ytb-sec::before, .winter-design .dis-sec::before {
    content: '';
    position: absolute;
    z-index: 0;
    inset: 0 0 auto;
    height: max(420px, 30vw);
    background: url('/img/winter-20261025/holiday-corners.webp') center top / max(1500px, 100%) auto no-repeat;
    opacity: .85;
    pointer-events: none;
}
.winter-design .big-project h2, .winter-design .ytb-sec h2 { color: #243a52; text-shadow: none; }
.winter-design .big-project .opening-invitation { color: #243a52; }
.winter-design .big-project .mods-note strong { color: #9a342d; }
.winter-design .big-project-slider .swiper-slide { border: 1px solid #9eb9c7; }
.winter-design .big-project-slider .txt { position: relative; isolation: isolate; z-index: 1; width: 100%; max-width: none; color: #f4f8ff; }
.winter-design .big-project-slider .txt::before { content: ''; position: absolute; z-index: -1; inset: -65px -1px -37px; background: linear-gradient(#0d243f00, #0d243f9e 34%, #09172edb); pointer-events: none; }
.winter-design .big-project-slider .swiper-pagination-bullet { background: #496d88; }
.winter-design .big-project-slider .swiper-pagination-bullet-active { background: #913a32; }

.winter-design .opening-gallery {
    --gallery-gold: #efd39a;
    --gallery-text: #e4effa;
    position: relative;
    isolation: isolate;
    background-image: linear-gradient(#0b2039ec, #10253eea), url('/img/winter-20261025/castle.webp');
    background-position: center 68%;
}
.winter-design .opening-gallery h2 { color: #f2f7ff; text-shadow: 0 3px 12px #020916; }
.winter-design .gallery-main { border-color: #a8bfce; background: #0b1b30; box-shadow: 0 12px 32px #030a16a1; }
.winter-design .gallery-thumbs { scrollbar-color: #bda46c #152d46; }
.winter-design .gallery-thumb { border-color: #7a9bb4; background: #0b1d32; }
.winter-design .gallery-thumb:hover, .winter-design .gallery-thumb[aria-pressed='true'] { border-color: #efd39a; }

.winter-design .ytb-sec {
    isolation: isolate;
    color: #30475e;
    background-image: linear-gradient(#eef5f9e6, #e3edf3ed), url('/img/bg-ytb.png');
}
.winter-design .ytb-sec::before { opacity: .65; transform: scaleX(-1); }
.winter-design .ytb-prev iframe { background: #0b1b2d; }
.winter-design button.ytb-item { background: #122b45; }
.winter-design button.ytb-item[aria-pressed='true'] { border-color: #b38b4c; }
.winter-design .ytb-caption { color: #f0f6ff; }
.winter-design .video-fallback a { color: #7e352c; }
.winter-design .big-project a:focus-visible, .winter-design .big-project button:focus-visible,
.winter-design .ytb-sec a:focus-visible, .winter-design .ytb-sec button:focus-visible { outline-color: #245c82; }

.winter-design .dis-sec {
    isolation: isolate;
    color: #e8f1ff;
    background-image: linear-gradient(#08182cdb, #07172def), url('/img/winter-20261025/castle.webp');
    background-position: center 28%;
}
.winter-design .dis-sec::before { opacity: .8; }
.winter-design .dis-sec .content-area { z-index: 1; }
.winter-design .dis-sec h2 { color: #f1f5ff; text-shadow: 0 3px 12px #030c1b; }
.winter-design .main-social__text { color: #dce9f7; }
.winter-design .main-social__item { border: 1px solid #9bb9cf82; }
.winter-design footer { color: #31445a; background-image: linear-gradient(#eaf2f7df, #e3edf3ed), url('/img/bg-footer.png'); }
.winter-design footer a:hover { color: #882e2b; }
.winter-design footer a:focus-visible { outline-color: #245c82; }

@keyframes winter-breathe-left {
    0%, 100% { transform: translateY(0) scale(1); }
    48% { transform: translateY(-2.5px) scale(1.004); }
}
@keyframes winter-breathe-right {
    0%, 100% { transform: translateY(0) scale(1); }
    50% { transform: translateY(-2px) scale(1.003); }
}

@media (min-width: 1700px) {
    .winter-hero { padding-top: 145px; padding-bottom: 100px; }
    .winter-hero h1 { margin-top: 27px; }
    .winter-announcement { margin-top: 34px; }
}

@media (max-width: 1100px) {
    .winter-design .nav__content { width: calc(100% - 36px); column-gap: 24px; }
    .winter-design ul.nav__menu { gap: 24px; font-size: 14px; }
    .winter-hero { min-height: 820px; }
    .winter-hero h1 { font-size: 34px; }
}

@media (max-width: 700px) {
    .winter-design header, .winter-design nav.nav { height: 72px; }
    .winter-design header { margin-bottom: -72px; }
    .winter-design .nav__logo img { width: 63px; height: 50px; object-fit: contain; }
    .winter-design .nav__auth .btn { font-size: 12px; }
    .winter-design .nav__content { width: calc(100% - 24px); column-gap: 12px; }
    .winter-design .menu-en-main-container.mob { top: 72px; }
    .winter-hero { --winter-character-rise: -12px; min-height: 900px; padding: 92px 20px 70px; align-items: start; }
    .winter-hero__content { max-width: 540px; }
    .winter-hero__copy::before { inset: 130px -20px -18px; filter: blur(9px); }
    .winter-logo { width: 290px; height: 164px; }
    .winter-character, .winter-foreground { top: 104px; width: 1000px; height: 562.5px; object-fit: fill; }
    .winter-character.winter-character--left, .winter-character.winter-character--right { margin-left: 0; }
    .winter-character--left, .winter-foreground--left { left: -155px; }
    .winter-character--right, .winter-foreground--right { left: calc(100% - 830px); }
    .winter-scene__shade { background: linear-gradient(0deg, #081329 12%, #081329e8 34%, #081329ad 51%, #08132908 75%); }
    .winter-hero h1 { margin-top: 145px; font-size: 29px; line-height: 1.22; }
    .winter-hero h1 span { margin-top: 9px; }
    .winter-hero__description { margin-top: 20px; font-size: 15px; line-height: 1.75; font-weight: 500; }
    .winter-hero__description br { display: none; }
    .winter-announcement { min-height: 66px; margin-top: 22px; gap: 10px; padding: 18px 19px; font-size: 20px; }
    .winter-announcement__snowflake { flex-basis: 23px; width: 23px; height: 27px; }
    .winter-register { min-height: 72px; width: min(100%, 370px); margin-top: 18px; font-size: 24px; }
    .winter-design .big-project::before, .winter-design .opening-gallery::before, .winter-design .ytb-sec::before, .winter-design .dis-sec::before { height: 170px; background-size: 570px auto; opacity: .7; }
}

@media (max-width: 360px) {
    .winter-hero { padding-inline: 15px; }
    .winter-hero h1 { font-size: 26px; }
    .winter-announcement { font-size: 17px; }
    .winter-design .dis-sec .section__title { font-size: 32px; }
}

@media (prefers-reduced-motion: reduce) {
    .winter-hero .winter-character { animation: none !important; }
    .winter-hero .winter-register { transition: none; }
    .winter-atmosphere { display: none; }
}
