/* Browser-specific reset and input states retained from the original base. */
button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner { border-style:none; padding:0; }
button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring { outline:1px dotted ButtonText; }
input:focus::-moz-placeholder { color:rgba(255,255,255,0); }
/* Page-local stylesheet. Base, shared interactive components, then page sections. */
::-webkit-file-upload-button { appearance: button; font: inherit; }
[hidden] { display: none; }
input:focus::-webkit-input-placeholder { color: rgba(255, 255, 255, 0); }
input:focus::placeholder { color: rgba(255, 255, 255, 0); }
.header__shell { -webkit-box-align: center; -webkit-box-pack: justify; }
.header__nav__link:hover { color: rgb(251, 255, 0); }
.header__phone:hover .header__phone__text { color: rgb(251, 255, 0); }
.header__callback { -webkit-box-align: center; -webkit-box-pack: center; }
.header__callback:hover { width: 180px; }
.header__callback:hover .header__callback__icon { opacity: 0; }
.header__callback:hover .header__callback__text { opacity: 1; }
@media (max-width: 1109px) {
.header__shell { position: relative; }
.header__burger_active::after { transform: translateY(-12px) rotate(45deg); }
.header__burger_active::before { transform: translateY(12px) rotate(-45deg); }
.header__burger_active .header__burger__middle { transform: translateX(-1000%); }
.header__burger::after, .header__burger::before, .header__burger__middle { width: 100%; content: ""; height: 5px; background-color: rgb(184, 100, 254); display: block; margin: 7px 0px; transition: 0.3s; }
.header__phone { -webkit-box-align: center; -webkit-box-pack: center; }
}
.heavy-choose__headline { font-family: Cunia; }
.heavy-choose__form__input, .heavy-choose__form__submit { width: 100%; height: 65px; }
.heavy-choose__form__submit { font-weight: 500; }
.heavy-choose__form__personal-data a { color: rgb(255, 255, 255); transition: 0.2s; }
.heavy-choose__form__personal-data a:hover { color: rgb(255, 196, 56); }
@media (max-width: 1109px) {
.heavy-choose__headline { text-align: center; }
.heavy-choose__description { text-align: center; }
}
.you-dont-know__form__phone { position: relative; }
.you-dont-know__form__phone > input { padding: 0px 0px 0px 60px; width: 100%; }
.you-dont-know__form__phone::before { content: ""; display: block; position: absolute; left: 20px; top: 16px; height: 32px; width: 32px; z-index: 10; background-size: cover; background-position: 50% 50%; background-image: url("/novogodnyaya-elka/images/decor/free-icon-telephone.webp"); }
.window-form { position: fixed; left: 50%; top: 50%; height: calc(100px + 100vh); width: 100vw; transform: translate(-50%, -50%); padding: 70px 20px; background-color: rgba(0, 0, 0, 0.3); -webkit-box-align: center; align-items: center; place-content: center; -webkit-box-pack: center; z-index: 2147483647; display: none; }
.window-form__back { position: absolute; inset: 0px; height: 100%; width: 100%; z-index: 1; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; background-color: transparent; }
.window-form__shell { z-index: 2; position: relative; background-color: rgb(232, 233, 234); background-image: url("/novogodnyaya-elka/images/decor/window-form.webp"); background-position: left 65px bottom; background-repeat: no-repeat; border-radius: 4px; width: 1150px; padding: 80px 70px 90px 570px; }
.window-form__shell__close { display: block; position: absolute; right: 15px; top: 15px; z-index: 100; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; background-color: transparent; }
.window-form__shell__top { margin: 0px 0px 43px; }
.window-form__shell__headline { font-size: 35px; text-align: center; font-weight: 500; color: rgb(73, 4, 88); margin: 0px 0px 32px; font-family: FuturaPTHeavy; line-height: 40px; }
.window-form__shell__description { font-size: 25px; line-height: 25px; font-weight: 500; color: rgb(78, 0, 111); text-align: center; }
.window-form__shell__inputs { width: 60%; margin: 0px auto; }
.window-form__shell__input, .window-form__shell__submit { height: 65px; width: 100%; }
.window-form__shell__input { border: 5px solid rgb(184, 100, 254); border-radius: 500px; box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 15px 5px inset; padding: 0px 0px 0px 25px; font-size: 20px; margin: 0px 0px 10px; }
.window-form__shell__submit { border-radius: 500px; background-color: rgb(184, 100, 254); border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(255, 255, 255); font-weight: 500; font-size: 25px; margin: 0px 0px 10px; transition: 0.3s; }
.window-form__shell__submit:hover { background-color: rgb(255, 196, 56); color: rgb(0, 0, 0); }
.window-form__shell__personal-data { text-align: center; font-size: 12px; }
.window-form__shell__personal-data a { transition: 0.2s; color: rgb(51, 51, 51); }
@media (max-width: 842px) {
.window-form__shell { padding: 40px 20px 20px; max-width: 320px; background-image: none; }
.window-form__shell__top { margin: 0px 0px 25px; }
.window-form__shell__headline { margin: 0px 0px 5px; font-size: 16px; line-height: 1.2; }
.window-form__shell__description { font-size: 14px; line-height: 1.2; }
.window-form__shell__inputs { width: 100%; }
.window-form__shell__input { padding: 15px; font-size: 16px; margin: 0px 0px 21px; }
.window-form__shell__submit { font-size: 16px; padding: 20px 0px; }
}
.window-success { position: fixed; left: 50%; top: 50%; height: calc(100px + 100vh); width: 100vw; transform: translate(-50%, -50%); padding: 70px 20px; background-color: rgba(0, 0, 0, 0.3); -webkit-box-align: center; align-items: center; place-content: center; -webkit-box-pack: center; z-index: 99999999; display: none; }
.window-success_active { display: flex; }
.window-success__back { position: absolute; inset: 0px; height: 100%; width: 100%; z-index: 1; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; background-color: transparent; }
.window-success__shell { z-index: 2; position: relative; background-color: rgb(232, 233, 234); background-image: url("/novogodnyaya-elka/images/decor/window-success.webp"); background-position: center bottom; background-repeat: no-repeat; background-size: cover; height: 597px; border-radius: 4px; width: 1150px; padding: 80px 70px 90px 570px; margin-top: 62px; }
.window-success__shell__close { display: block; position: absolute; right: 15px; top: 15px; z-index: 100; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; background-color: transparent; }
@media (max-width: 742px) {
.window-success__shell { padding: 40px 20px 20px; max-width: 320px; height: 265px; }
}
.initial-screen-show__background { object-fit: cover; }
.error { text-align: center; margin: 0px auto 2px; color: rgb(255, 255, 255); width: 100%; }
.error_black { color: rgb(51, 51, 51); }
h1 { text-shadow: rgb(0, 0, 0) 9px 1px 20px; }
@media (max-width: 700px) {
.header__nav__link { margin-left: -8px; }
}
.window-form_active { display: flex; z-index: 1000000000; }
@media (max-width: 743px) {
.header__menu { display: none; transition: 0.3s; top: 0px; width: 95%; height: 100vh; transform: translateX(100%); }
.header__menu::before { content: ""; inset: 0px; position: absolute; z-index: -1; opacity: 0.8; background: rgb(0, 0, 0); }
.mob-header .header__burger_active + .header__menu { display: block; z-index: 1000; transform: translateX(0%); }
.mob-header .header__burger_active { width: 40px; padding: 0px; }
.header__menu__top { display: flex; gap: 20px; align-items: center; padding: 20px; }
.header__menu__top img { width: 240px; }
.header__nav { margin: 0px 10px 10px; border-bottom: 1px solid rgb(251, 255, 0); }
.header__menu__bottom { display: flex; margin: 10px 40px; flex-direction: column; gap: 10px; }
.header__menu__bottom .header__phone { width: 100%; justify-content: flex-start; gap: 10px; color: rgb(255, 255, 255); font-size: 24px; text-decoration: none; font-weight: 500; }
.mob-header .header__info a { display: block; }
.header__nav__link { display: block; position: relative; background: transparent; border: 0px; font-size: 20px; font-family: Cunia; margin: 0px 0px 10px; text-align: left; padding: 0px 0px 0px 20px; }
.header__nav__link::before { content: ""; display: block; position: absolute; z-index: 1; left: 0px; top: 12px; background: rgb(251, 255, 0); width: 7px; height: 7px; border-radius: 100%; }
.header__nav__link__text { display: inline-block; }
}
div.scrollup { position: fixed; color: rgb(0, 0, 0); background: rgb(251, 255, 0); right: 20px; bottom: 38px; padding: 10px; font-size: 20px; cursor: pointer; display: none; text-align: center; border-radius: 28px; z-index: 999999; box-shadow: rgb(149, 149, 149) 1px 1px 4px 2px; }
div.scrollup:hover { background-color: rgb(255, 196, 56); color: rgb(0, 0, 0); }
div.scrollup .fa-chevron-up { display: block; border-width: 0px 4px 4px 0px; border-style: none solid solid none; border-color: currentcolor rgb(0, 0, 0) rgb(0, 0, 0) currentcolor; border-image: none; width: 15px; height: 15px; transform: translateY(3px) rotate(225deg); }
.faq__content { position: relative; z-index: 2; }
.faq-question .button { display: block; cursor: pointer; }
.faq-answer { display: none; }
.faq-question-answer.active .button::before { opacity: 0; }
.faq-question-answer.active .faq-answer { display: block; }
.show-info-2 { padding: 40px 0px; }
@media (max-width: 743px) {
.show-info-2 { padding: 60px 0px 0px; }
}
.window-cookie { position: fixed; display: flex; flex-wrap: wrap; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; }
.window-cookie p { display: block; text-align: left; }
.window-cookie p:first-child { font-family: Cunia; text-transform: uppercase; }
.window-cookie button { display: inline-block; font-family: Cunia; text-align: center; font-weight: 700; text-transform: uppercase; cursor: pointer; }
@media (max-width: 743px) {
.window-cookie { left: 0px; transform: translate(0px, 0px); }
.window-cookie p { width: 100%; }
.window-cookie button { margin: auto; line-height: 50px; height: 50px; }
}
.window-cookie { inset: auto 16px 16px auto; transform: none; max-width: 420px; width: min(92vw, 420px); padding: 14px 16px; border-radius: 12px; gap: 10px; text-align: left; background: rgb(107, 89, 255); color: rgb(255, 255, 255); box-shadow: rgba(0, 0, 0, 0.25) 0px 10px 30px; z-index: 110; }
.window-cookie p { font-size: 14px; width: 100%; margin: 0px; line-height: 1.35; }
.window-cookie p:first-child { font-size: 16px; font-weight: 700; width: 100%; margin-bottom: 4px; }
.window-cookie a { color: rgb(153, 30, 141); text-decoration: underline; }
.window-cookie button { background: rgb(255, 255, 255); color: rgb(0, 0, 0); height: auto; min-width: 0px; width: auto; padding: 8px 12px; line-height: 1; font-size: 14px; border-radius: 10px; border: 0px; }
@media (max-width: 743px) {
.window-cookie { right: 14px; bottom: 12px; max-width: 360px; width: min(94vw, 360px); padding: 8px 11px; border-radius: 10px; }
.window-cookie p { font-size: 12px; }
.window-cookie p:first-child { font-size: 12px; }
.window-cookie button { font-size: 10px; padding: 8px 12px; border-radius: 8px; }
}
html { line-height: 1.15; -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body { margin: 0px; }
h1 { font-size: 2em; margin: 0.67em 0px; }
a { background-color: transparent; }
img { border-style: none; }
button, input { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0px; }
button, input { overflow: visible; }
button { text-transform: none; }
button, [type="button"], [type="submit"] { appearance: button; }
* { margin: 0px; padding: 0px; outline: none; }
*, ::before, ::after { box-sizing: border-box; }
body, html { overflow-x: hidden; }
html { max-width: 100vw; scroll-behavior: smooth; }
body { font-family: FuturaPT, sans-serif; font-size: 14px; font-weight: normal; line-height: 1.4; color: rgb(17, 22, 23); -webkit-font-smoothing: antialiased; min-height: 100vh; font-variant-numeric: lining-nums; -webkit-tap-highlight-color: rgba(255, 255, 255, 0); }
button, a { cursor: pointer; }
@font-face { font-family: FuturaPT; src: local("FuturaPT"), url("/novogodnyaya-elka/fonts/FuturaPT/woff/FuturaPT-Book.woff2") format("woff2"), url("/novogodnyaya-elka/fonts/FuturaPT/woff/FuturaPT-Book.woff") format("woff"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: FuturaPT; src: local("FuturaPT"), url("/novogodnyaya-elka/fonts/FuturaPT/woff/FuturaPT-Medium.woff2") format("woff2"), url("/novogodnyaya-elka/fonts/FuturaPT/woff/FuturaPT-Medium.woff") format("woff"); font-weight: 500; font-style: normal; font-display: swap; }
@font-face { font-family: FuturaPT; src: local("FuturaPT"), url("/novogodnyaya-elka/fonts/FuturaPT/woff/FuturaPT-Bold.woff2") format("woff2"), url("/novogodnyaya-elka/fonts/FuturaPT/woff/FuturaPT-Bold.woff") format("woff"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: FuturaPT; src: local("FuturaPT"), url("/novogodnyaya-elka/fonts/FuturaPT/woff/FuturaPTCond-ExtraBold.woff") format("woff"); font-weight: 900; font-style: normal; font-display: swap; }
@font-face { font-family: FuturaPTHeavy; src: local("Cunia"), url("/novogodnyaya-elka/fonts/FuturaPT/woff/FuturaPT-Heavy.woff") format("woff"); font-weight: 400; font-style: normal; font-display: swap; }
@font-face { font-family: Cunia; src: local("Cunia"), url("/novogodnyaya-elka/fonts/Cunia/Cunia.woff2") format("woff2"), url("/novogodnyaya-elka/fonts/Cunia/Cunia.woff") format("woff"); font-weight: 500; font-style: normal; font-display: swap; }
.container { max-width: 100%; padding-right: 15px; padding-left: 15px; margin-right: auto; margin-left: auto; }
@media (min-width: 1110px) {
.container { max-width: 1100px; }
}
.row { display: flex; flex-wrap: wrap; margin-right: -15px; margin-left: -15px; }
.col-lg-12 { width: 100%; padding-right: 15px; padding-left: 15px; }
@media (min-width: 1110px) {
.col-lg-12 { -webkit-box-flex: 0; flex: 0 0 100%; max-width: 100%; }
}
.header { background: linear-gradient(to top, rgba(0, 0, 0, 0), black); padding: 10px 0px; position: fixed; top: 0px; left: 0px; right: 0px; z-index: 999999999; }
.header__side { display: flex; align-items: center; gap: 10px; }
.header__shell { display: flex; align-items: center; place-content: center space-between; }
.header__logo__picture { width: 160px; }
.header__burger { display: none; }
.header__nav__link { color: rgb(255, 255, 255); margin: 0px 8px; font-size: 18px; text-decoration: none; }
.header__phone { text-decoration: none; white-space: nowrap; }
.header__phone__icon { display: none; }
.header__phone__text { color: rgb(255, 255, 255); font-size: 20px; font-weight: 500; }
.header__callback { margin: 0px; position: relative; border-radius: 50px; background: linear-gradient(-58deg, rgb(107, 89, 255) 0px, rgb(123, 55, 244) 100%); width: 40px; height: 40px; line-height: 40px; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; overflow: hidden; transition: 0.2s; display: inline-flex; align-items: center; place-content: center; vertical-align: middle; }
.header__callback__icon { opacity: 1; line-height: 12px; transition: 0.2s; }
.header__callback__icon img { height: 20px; }
.header__callback__text { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); white-space: nowrap; color: rgb(255, 255, 255); font-size: 20px; font-weight: 500; opacity: 0; transition: 0.2s; }
@media (max-width: 1109px) {
.header__phone { position: relative; z-index: 2; display: inline-flex; align-items: center; place-content: center; border-radius: 50px; background: linear-gradient(-58deg, rgb(107, 89, 255) 0px, rgb(123, 55, 244) 100%); width: 40px; height: 40px; }
.header__phone__icon { display: block; }
.header__phone__text { display: none; }
.header__callback { display: none; }
}
.initial-screen-show { background-size: cover; background-position: center center; position: relative; }
.initial-screen-show__background { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 100%; height: 100%; }
.initial-screen-show__background_mobile { display: none; }
.initial-screen-show .row { position: relative; z-index: 2; }
.initial-screen-show__shell { min-height: 670px; display: flex; -webkit-box-align: center; align-items: center; align-content: center; padding: 100px 0px 0px; }
.initial-screen-show__shell_shou-s-robotami { padding: 100px 0px 60px; align-items: flex-end; }
.initial-screen-show__center { width: 100%; }
.initial-screen-show__headline { font-family: Cunia; }
.initial-screen-show__btn { display: none; }
.initial-screen-show__description_novogodnyaya-elka { font-weight: 500; text-align: center; font-family: Cunia; }
.initial-screen-show__description_novogodnyaya-elka { color: rgb(251, 255, 0); display: block; font-size: 30px; max-width: 600px; margin: auto; }
.mob-header { display: none; }
@media (max-width: 743px) {
.initial-screen-show { background-size: auto 100%; }
.initial-screen-show__background_mobile { display: block; }
.initial-screen-show__description_novogodnyaya-elka { font-size: 20px; }
.header { display: none; }
.mob-header { display: block; border-bottom-style: solid; border-color: rgb(251, 255, 0); position: relative; z-index: 100; }
.mob-header.fixed { position: fixed; z-index: 100; left: 0px; right: 0px; top: 0px; }
.mob-header .header__burger { display: block; width: 60px; padding: 2px 10px; border-width: medium; border-style: none; border-color: currentcolor; border-image: none; background: transparent; overflow: hidden; position: relative; z-index: 2; }
.mob-header .header__burger::after, .mob-header .header__burger::before, .mob-header .header__burger__middle { content: ""; width: 100%; height: 5px; background-color: rgb(251, 255, 0); border-radius: 2px; display: block; margin: 7px 0px; transition: 0.3s; }
.mob-header .header__shell { flex-direction: row-reverse; }
.mob-header .header__info { color: rgb(251, 255, 0); font-size: 20px; text-align: center; text-transform: uppercase; font-weight: 500; font-family: Cunia; }
.mob-header .header__info img { display: block; }
.mob-header .header__phone { background: transparent; overflow: unset; }
.mob-header .header__phone__icon { width: 30px; height: 30px; }
.mob-header .header__side { background: transparent; overflow: unset; }
.mob-header .header__side:last-child { width: 90px; }
.mob-header .header__side:first-child { width: 60px; }
.initial-screen-show__shell { min-height: 600px; padding: 30px 0px 60px; }
.initial-screen-show__btn { justify-content: center; display: flex; gap: 10px; }
.initial-screen-show__button { border-radius: 4px; background: rgb(255, 255, 255); border-width: medium; border-style: none; border-color: currentcolor; border-image: none; color: rgb(0, 0, 0); font-weight: 500; font-size: 12px; font-family: Cunia; margin: 0px; transition: 0.3s; display: inline-block; padding: 15px 10px 12px; text-transform: uppercase; position: relative; overflow: hidden; }
.initial-screen-show__button:hover { background-color: rgb(204, 102, 255); color: rgb(255, 255, 255); }
.initial-screen-show__button.green { background: rgb(0, 204, 0); color: rgb(255, 255, 255); }
.initial-screen-show__button.green::after { content: ""; position: absolute; z-index: 0; transition: 0.5s; height: 100%; width: 15%; left: -20%; top: 0px; background: rgb(255, 255, 255); opacity: 0.3; transform: skew(-20deg); }
.initial-screen-show__button.green:hover::after { left: 115%; }
}
@media (min-width: 744px) {
.initial-screen-show.nye-hero { background-image: url("../images/initial-screen-show-2026.webp"); background-position: center center; background-repeat: no-repeat; }
.nye-hero .nye-hero__content { position: relative; isolation: isolate; max-width: 960px; margin: 0px auto; text-align: center; }
.nye-hero .nye-hero__content::before { content: ""; position: absolute; z-index: -1; pointer-events: none; }
.nye-hero .nye-hero__title { max-width: 960px; margin: 0px auto 14px; color: rgb(255, 255, 255); font-weight: 700; line-height: 1.12; text-wrap: balance; text-shadow: rgba(8, 12, 38, 0.2) 0px 2px 8px; }
.nye-hero .nye-hero__subtitle { max-width: 820px; margin: 0px auto 18px; color: rgb(245, 246, 255); font-size: clamp(15px, 1.6vw, 20px); font-weight: 500; line-height: 1.45; text-wrap: balance; }
.nye-hero .nye-hero__date { max-width: none; margin: 0px 0px 8px; color: rgb(255, 218, 117); font-size: clamp(20px, 2.1vw, 26px); font-weight: 700; line-height: 1.3; }
.nye-hero .nye-hero__venue { max-width: none; margin: 0px; color: rgb(255, 255, 255); font-size: clamp(16px, 1.7vw, 20px); line-height: 1.4; }
.nye-hero .nye-hero__actions { display: flex; justify-content: center; align-items: center; gap: 14px; margin-top: 22px; }
.nye-hero .nye-hero__button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; min-width: 160px; margin: 0px; padding: 15px 25px; border: 1px solid transparent; border-radius: 8px; font-family: Cunia, sans-serif; font-size: 14px; font-weight: 500; line-height: 1.3; text-decoration: none; transition: background-color 0.2s, border-color 0.2s; }
.nye-hero .nye-hero__button--primary { background: rgb(255, 218, 117); color: rgb(21, 27, 60); }
.nye-hero .nye-hero__button--primary:hover { background: rgb(255, 229, 154); }
.nye-hero .nye-hero__button--secondary { border-color: rgba(255, 255, 255, 0.75); background: rgba(16, 22, 59, 0.4); color: rgb(255, 255, 255); }
.nye-hero .nye-hero__button--secondary:hover { background: rgba(47, 53, 99, 0.75); border-color: rgb(255, 255, 255); }
.nye-hero .nye-hero__button:focus-visible { outline: rgb(255, 255, 255) solid 3px; outline-offset: 4px; }
.nye-hero .nye-hero__content { transform: translateY(3px); }
.nye-hero .nye-hero__content::before { inset: -85px -170px -100px; background: linear-gradient(rgba(12, 16, 52, 0) 0%, rgba(12, 16, 52, 0.18) 16%, rgba(14, 17, 57, 0.42) 32%, rgba(16, 18, 62, 0.45) 48%, rgba(16, 18, 62, 0.45) 68%, rgba(18, 19, 64, 0.22) 86%, rgba(18, 19, 64, 0) 100%); -webkit-mask-image: linear-gradient(to right, transparent 0%, rgb(0, 0, 0) 24%, rgb(0, 0, 0) 76%, transparent 100%); mask-image: linear-gradient(to right, transparent 0%, rgb(0, 0, 0) 24%, rgb(0, 0, 0) 76%, transparent 100%); filter: blur(32px); }
}
@media (max-width: 743px) {
.initial-screen-show.nye-hero { background: rgb(89, 103, 208); margin-bottom: calc(-1 * clamp(44px, -38.5px + 22vw, 56px)); }
.nye-hero .initial-screen-show__background_mobile { object-fit: cover; object-position: center top; }
.nye-hero .initial-screen-show__shell { min-height: max(600px, 177.7vw); padding: 100vw 0px 8px; align-items: flex-start; }
.nye-hero .nye-hero__content { position: relative; text-align: center; }
.nye-hero .nye-hero__title { max-width: 340px; margin: 0px auto 6px; color: rgb(255, 255, 255); font-size: clamp(25px, 6.9vw, 32px); font-weight: 700; line-height: 1.1; text-wrap: balance; text-shadow: rgba(23, 24, 89, 0.28) 0px 2px 9px; }
.nye-hero .nye-hero__subtitle { max-width: 350px; margin: 0px auto 8px; color: rgb(245, 247, 255); font-size: clamp(12px, 3.2vw, 14px); line-height: 1.4; text-wrap: balance; text-shadow: rgba(23, 24, 89, 0.3) 0px 1px 5px; }
.nye-hero .nye-hero__date { margin: 0px 0px 4px; color: rgb(255, 219, 121); font-size: clamp(15px, 4.1vw, 18px); line-height: 1.3; text-shadow: rgba(23, 24, 89, 0.25) 0px 1px 5px; }
.nye-hero .nye-hero__venue { margin: 0px auto; color: rgb(238, 245, 255); font-size: clamp(12px, 3.25vw, 14px); line-height: 1.4; text-shadow: rgba(23, 24, 89, 0.3) 0px 1px 5px; }
.nye-hero .nye-hero__actions { display: flex; justify-content: center; gap: 10px; margin-top: 10px; }
.nye-hero .nye-hero__button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 14px 18px; border: 1px solid transparent; border-radius: 9px; font-size: 12px; line-height: 1.25; }
.nye-hero .nye-hero__button--primary { color: rgb(23, 32, 57); background: linear-gradient(135deg, rgb(255, 231, 160), rgb(244, 186, 53) 55%, rgb(221, 160, 44)); box-shadow: rgba(136, 88, 27, 0.25) 0px 6px 20px, rgba(255, 255, 255, 0.7) 0px 1px 0px inset; }
.nye-hero .nye-hero__button--secondary { color: rgb(255, 255, 255); background: rgba(29, 36, 92, 0.3); border-color: rgba(237, 245, 255, 0.7); }
.nye-hero .nye-hero__button:focus-visible { outline: rgb(255, 255, 255) solid 3px; outline-offset: 3px; }
}
/* Shared desktop/mobile hero contrast; keep all geometry and artwork intact. */
.nye-hero .nye-hero__date { color: #fbff00; }
.nye-hero .nye-hero__title,
.nye-hero .nye-hero__subtitle,
.nye-hero .nye-hero__date,
.nye-hero .nye-hero__venue { text-shadow: 0 2px 4px rgba(5, 8, 30, .9), 0 4px 16px rgba(5, 8, 30, .7); }
.nye-hero .nye-hero__title,
.nye-hero .nye-hero__subtitle { color: #fff; }
.nye-hero .nye-hero__button--primary { background: #fbff00; color: #151b3c; -webkit-text-stroke: 0; text-shadow: none; box-shadow: 0 4px 12px rgba(5, 8, 30, .18); transition: background-color .2s, border-color .2s, box-shadow .2s; }
.nye-hero .nye-hero__button--primary:hover { background: #edf200; color: #151b3c; box-shadow: 0 5px 14px rgba(5, 8, 30, .22); }
.nye-intro { position: relative; margin: 0px; border: 0px; box-shadow: none; padding: 48px 24px 36px; background: linear-gradient(rgb(245, 249, 255) 0px, rgba(245, 249, 255, 0) 90px), radial-gradient(circle at 5% 22%, rgba(255, 255, 255, 0.95) 0px, rgba(255, 255, 255, 0.95) 1.5px, rgba(133, 166, 255, 0.35) 2px, transparent 7px), radial-gradient(circle at 94% 17%, rgba(255, 255, 255, 0.95) 0px, rgba(255, 255, 255, 0.95) 1px, rgba(147, 153, 245, 0.3) 2px, transparent 6px), radial-gradient(circle at 3% 51%, rgba(255, 255, 255, 0.9) 0px, rgba(255, 255, 255, 0.9) 1px, rgba(137, 171, 244, 0.32) 2px, transparent 7px), radial-gradient(circle at 97% 69%, rgba(255, 255, 255, 0.95) 0px, rgba(255, 255, 255, 0.95) 1.5px, rgba(163, 144, 242, 0.3) 2.5px, transparent 8px), radial-gradient(circle at 9% 87%, rgba(255, 255, 255, 0.9) 0px, rgba(255, 255, 255, 0.9) 1px, rgba(132, 169, 246, 0.3) 2px, transparent 6px), radial-gradient(at 2% 32%, rgba(91, 126, 245, 0.48), transparent 58%), radial-gradient(at 98% 65%, rgba(151, 109, 231, 0.42), transparent 57%), radial-gradient(at 48% 52%, rgba(107, 199, 255, 0.56), transparent 64%), radial-gradient(at 22% 78%, rgba(182, 153, 248, 0.34), transparent 48%), linear-gradient(rgb(245, 249, 255) 0%, rgb(237, 244, 252) 100%); color: rgb(24, 34, 62); }
.nye-intro::before { content: ""; position: absolute; top: -32px; left: 0px; right: 0px; height: 33px; pointer-events: none; background: linear-gradient(rgba(245, 249, 255, 0) 0%, rgba(245, 249, 255, 0.14) 25%, rgba(245, 249, 255, 0.52) 60%, rgb(245, 249, 255) 100%); }
.nye-intro::after { content: ""; position: absolute; inset: 0px; pointer-events: none; background: url("../images/intro-space-atmosphere.svg") center center / 100% 100% no-repeat; -webkit-mask-image: linear-gradient(transparent 0px, rgb(0, 0, 0) 100px, rgb(0, 0, 0) calc(100% - 25px), transparent); mask-image: linear-gradient(transparent 0px, rgb(0, 0, 0) 100px, rgb(0, 0, 0) calc(100% - 25px), transparent); }
.nye-intro__inner { position: relative; z-index: 1; max-width: 1180px; margin: 0px auto; }
.nye-intro__heading { max-width: 960px; margin: 0px auto 36px; text-align: center; }
.nye-intro__title { margin: 0px 0px 20px; font-family: Cunia, sans-serif; font-size: clamp(27px, 3.2vw, 42px); font-weight: 500; line-height: 1.2; text-wrap: balance; }
.nye-intro__subtitle { max-width: 810px; margin: 0px auto 22px; font-size: 23px; line-height: 1.45; color: rgb(76, 88, 114); }
.nye-intro__facts { margin: 0px; font-size: 15px; font-weight: 700; line-height: 1.7; letter-spacing: 0.055em; color: rgb(69, 88, 121); }
.nye-intro__grid { display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 1.1fr); grid-template-rows: repeat(2, clamp(200px, 22vw, 265px)) auto; gap: 16px; }
.nye-intro__card { position: relative; min-width: 0px; min-height: 0px; margin: 0px; overflow: hidden; border-radius: 18px; background: rgb(7, 17, 38); isolation: isolate; }
.nye-intro__card--robots { grid-area: 1 / 1 / 4; }
.nye-intro__card--experiments { grid-area: 1 / 2; }
.nye-intro__card--stage { grid-area: 2 / 2; }
.nye-intro__card--new-year { grid-area: 3 / 2; }
.nye-intro__image { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 0.45s; }
.nye-intro__card--experiments .nye-intro__image { object-position: 50% 60%; }
.nye-intro__card--stage .nye-intro__image { object-position: 50% 65%; }
.nye-intro__card--new-year { aspect-ratio: 3 / 2; }
.nye-intro__card--new-year .nye-intro__image { object-fit: cover; object-position: 50% 50%; }
.nye-intro__card::after { content: ""; position: absolute; inset: 35% 0px 0px; z-index: 1; pointer-events: none; background: linear-gradient(transparent 0%, rgba(5, 10, 29, 0.25) 45%, rgba(5, 10, 29, 0.88) 100%); }
.nye-intro__caption { position: absolute; z-index: 2; bottom: 0px; left: 0px; right: 0px; padding: 24px; color: rgb(255, 255, 255); font-family: Cunia, sans-serif; font-size: clamp(17px, 1.7vw, 22px); line-height: 1.3; text-wrap: balance; }
.nye-intro__card--robots .nye-intro__caption { font-size: clamp(23px, 2.4vw, 31px); }
.nye-intro__cta { position: relative; display: grid; grid-template-columns: minmax(0px, 1fr) auto; align-items: center; gap: 7px 16px; width: fit-content; max-width: min(100%, 810px); margin: 28px auto 0px; padding: 18px 20px; border: 1px solid rgba(255, 255, 255, 0.65); border-radius: 18px; background: linear-gradient(115deg, rgba(255, 255, 255, 0.8), rgba(231, 239, 255, 0.66)); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); box-shadow: rgba(58, 76, 137, 0.11) 0px 9px 28px, rgba(134, 165, 249, 0.2) 0px 0px 44px, rgba(255, 255, 255, 0.8) 0px 1px 0px inset; text-align: left; }
.nye-intro__cta .nye-intro__date { grid-area: 1 / 1; }
.nye-intro__cta .nye-intro__venue { grid-area: 2 / 1; }
.nye-intro__cta .nye-intro__button { position: relative; grid-area: 1 / 2 / 3; display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-width: 270px; min-height: 62px; max-width: 100%; border: 0px; border-radius: 10px; padding: 18px 26px; background: linear-gradient(135deg, rgb(255, 232, 163) 0%, rgb(246, 190, 54) 48%, rgb(219, 152, 35) 100%); box-shadow: rgba(161, 106, 22, 0.26) 0px 8px 22px, rgba(248, 200, 88, 0.3) 0px 0px 30px, rgba(255, 255, 255, 0.8) 0px 1px 0px inset; color: rgb(16, 26, 45); font-family: Cunia, sans-serif; font-size: 16px; line-height: 1.3; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s, filter 0.2s; }
.nye-intro__cta::after { content: ""; position: absolute; width: 165px; height: 30px; right: 30px; top: -15px; pointer-events: none; background: radial-gradient(circle at 82% 50%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1px, rgba(172, 225, 255, 0.85) 2px, transparent 9px), radial-gradient(circle at 64% 60%, rgba(255, 255, 255, 0.9) 0px, rgba(255, 255, 255, 0.9) 1px, transparent 2px), radial-gradient(circle at 48% 66%, rgba(190, 220, 255, 0.8) 0px, rgba(190, 220, 255, 0.8) 1px, transparent 2px), linear-gradient(174deg, transparent 42%, rgba(160, 190, 255, 0.5) 49%, rgba(255, 255, 255, 0.85) 50%, transparent 54%); -webkit-mask-image: linear-gradient(to right, transparent, rgb(0, 0, 0) 65%, transparent); mask-image: linear-gradient(to right, transparent, rgb(0, 0, 0) 65%, transparent); }
.nye-intro__button::after { content: "→"; font-family: Arial, sans-serif; font-size: 23px; line-height: 1; }
.nye-intro__date { margin: 0px; font-family: Cunia, sans-serif; font-size: clamp(18px, 2vw, 24px); line-height: 1.4; }
.nye-intro__venue { margin: 0px; color: rgb(76, 88, 114); font-size: 19px; font-weight: 500; line-height: 1.45; }
.nye-intro__button { min-height: 54px; border: 0px; border-radius: 9px; padding: 17px 30px; background: linear-gradient(135deg, rgb(255, 231, 162) 0%, rgb(245, 205, 107) 60%, rgb(237, 189, 87) 100%); box-shadow: rgba(162, 114, 32, 0.18) 0px 6px 18px, rgba(255, 255, 255, 0.75) 0px 1px 0px inset; color: rgb(23, 32, 60); font-family: Cunia, sans-serif; font-size: 16px; line-height: 1.3; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s; }
.nye-intro__cta .nye-intro__button:hover { filter: brightness(1.04); box-shadow: rgba(166, 116, 27, 0.25) 0px 10px 25px, rgba(248, 200, 88, 0.2) 0px 0px 26px, rgba(255, 255, 255, 0.85) 0px 1px 0px inset; }
.nye-intro__button:focus-visible { outline: rgb(53, 78, 154) solid 3px; outline-offset: 4px; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
.nye-intro__card:not(.nye-intro__card--new-year):hover .nye-intro__image { transform: scale(1.025); }
.nye-intro__button:hover { transform: translateY(-2px); }
}
@media (max-width: 743px) {
.nye-intro { padding: 20px 16px 28px; }
.nye-intro::before { top: -16px; height: 17px; }
.nye-intro__heading { margin-bottom: 26px; }
.nye-intro__title { margin-bottom: 15px; }
.nye-intro__subtitle { font-size: 19px; line-height: 1.45; margin-bottom: 14px; }
.nye-intro__facts { display: grid; grid-template-columns: repeat(2, minmax(0px, 1fr)); gap: 8px; max-width: 440px; margin: 0px auto; font-size: 12px; letter-spacing: 0.025em; line-height: 1.4; }
.nye-intro__fact { display: flex; align-items: center; justify-content: center; min-width: 0px; min-height: 40px; padding: 9px 8px; border: 1px solid rgba(112, 134, 213, 0.32); border-radius: 14px; background: linear-gradient(120deg, rgba(255, 255, 255, 0.72), rgba(242, 243, 255, 0.5)); box-shadow: rgba(108, 132, 226, 0.1) 0px 3px 14px, rgba(255, 255, 255, 0.65) 0px 1px 0px inset; }
.nye-intro__fact-separator { display: none; }
.nye-intro__grid { display: grid; grid-template-columns: minmax(0px, 1fr); grid-template-rows: none; gap: 14px; }
.nye-intro__card { grid-area: auto; aspect-ratio: 3 / 2; }
.nye-intro__card--robots { aspect-ratio: 2 / 3; max-height: 660px; }
.nye-intro__caption { padding: 18px; font-size: 18px; }
.nye-intro__cta { display: flex; flex-direction: column; gap: 12px; margin-top: 22px; padding: 18px 16px; text-align: center; }
}
.nye-trailer { position: relative; isolation: isolate; margin: 0px; padding: 100px 24px 94px; color: rgb(255, 255, 255); background: radial-gradient(at 80% 16%, rgba(97, 48, 199, 0.62), transparent 48%), radial-gradient(at 14% 72%, rgba(24, 119, 216, 0.58), transparent 48%), radial-gradient(at 50% 45%, rgba(20, 173, 221, 0.22), transparent 55%), rgb(7, 12, 37); }
.nye-trailer::before { content: ""; position: absolute; inset: 0px; z-index: -1; pointer-events: none; opacity: 0.65; transform: scale(-1, -1); background: url("../images/intro-space-atmosphere.svg") center center / 100% 120% no-repeat; -webkit-mask-image: linear-gradient(transparent, rgb(0, 0, 0) 15%, rgb(0, 0, 0) 83%, transparent); mask-image: linear-gradient(transparent, rgb(0, 0, 0) 15%, rgb(0, 0, 0) 83%, transparent); }
.nye-trailer::after { content: ""; position: absolute; inset: 0px; z-index: -1; pointer-events: none; background: linear-gradient(rgb(237, 244, 252), rgba(237, 244, 252, 0.46) 16px, rgba(7, 12, 37, 0) 62px) center top / 100% 62px no-repeat, linear-gradient(to top, rgb(255, 255, 255), rgba(255, 255, 255, 0.42) 16px, rgba(7, 12, 37, 0) 62px) center bottom / 100% 62px no-repeat; }
.nye-trailer__inner { max-width: 1450px; margin: 0px auto; }
.nye-trailer__heading { max-width: 920px; margin: 0px auto 34px; text-align: center; }
.nye-trailer__title { margin: 0px 0px 18px; color: rgb(255, 255, 255); font-family: Cunia, sans-serif; font-size: clamp(28px, 3.5vw, 44px); font-weight: 500; line-height: 1.18; text-wrap: balance; text-shadow: rgba(7, 12, 37, 0.55) 0px 2px 18px; }
.nye-trailer__subtitle { margin: 0px auto 20px; max-width: 850px; font-size: 23px; line-height: 1.45; color: rgb(226, 234, 255); text-wrap: balance; }
.nye-trailer__frame { position: relative; padding: 10px; border-width: 1px; border-style: solid; border-image: none; border-radius: 20px; background: linear-gradient(135deg, rgba(96, 205, 255, 0.15), rgba(70, 45, 133, 0.55)); }
.nye-trailer__frame::before { content: ""; position: absolute; border-radius: 20px; pointer-events: none; background-image: linear-gradient(rgb(161, 237, 255), rgb(161, 237, 255)), linear-gradient(rgb(161, 237, 255), rgb(161, 237, 255)), linear-gradient(rgb(182, 161, 255), rgb(182, 161, 255)), linear-gradient(rgb(182, 161, 255), rgb(182, 161, 255)), linear-gradient(rgb(182, 161, 255), rgb(182, 161, 255)), linear-gradient(rgb(182, 161, 255), rgb(182, 161, 255)), linear-gradient(rgb(161, 237, 255), rgb(161, 237, 255)), linear-gradient(rgb(161, 237, 255), rgb(161, 237, 255)); background-position: left top, left top, right top, right top, left bottom, left bottom, right bottom, right bottom; background-repeat: no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat; background-attachment: initial, initial, initial, initial, initial, initial, initial, initial; background-origin: initial, initial, initial, initial, initial, initial, initial, initial; background-clip: initial, initial, initial, initial, initial, initial, initial, initial; background-color: initial; }
.nye-trailer__frame::after { content: ""; position: absolute; top: -2px; border-radius: 3px; box-shadow: rgb(102, 185, 255) 0px 0px 14px; pointer-events: none; }
.nye-trailer__video { display: block; width: 100%; aspect-ratio: 16 / 9; height: auto; object-fit: contain; border-radius: 12px; background: rgb(2, 6, 23); }
.nye-trailer__video:focus-visible { outline: rgb(177, 237, 255) solid 3px; outline-offset: 4px; }
.nye-trailer__ticket { display: inline-flex; align-items: center; justify-content: center; gap: 12px; flex-shrink: 0; min-height: 60px; padding: 18px 26px; border: 0px; border-radius: 10px; background: linear-gradient(135deg, rgb(255, 232, 163), rgb(245, 189, 60) 52%, rgb(223, 161, 44)); color: rgb(17, 28, 50); box-shadow: rgba(235, 169, 43, 0.24) 0px 7px 24px, rgba(255, 255, 255, 0.7) 0px 1px 0px inset; font-family: Cunia, sans-serif; font-size: 16px; line-height: 1.3; cursor: pointer; transition: transform 0.2s, filter 0.2s; }
.nye-trailer__ticket span { font-family: Arial, sans-serif; font-size: 23px; }
.nye-trailer__ticket:focus-visible { outline: rgb(255, 255, 255) solid 3px; outline-offset: 4px; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
.nye-trailer__ticket:hover { transform: translateY(-2px); filter: brightness(1.05); }
}
@media (max-width: 743px) {
.nye-trailer { padding: 82px 16px 80px; }
.nye-trailer__heading { margin-bottom: 26px; }
.nye-trailer__subtitle { font-size: 19px; }
.nye-trailer__frame { padding: 5px; border-radius: 13px; }
.nye-trailer__frame::before { border-radius: 13px; }
.nye-trailer__video { border-radius: 8px; }
.nye-trailer__ticket { width: 100%; max-width: 330px; }
}
.nye-trailer__layout { display: grid; grid-template-columns: minmax(0px, 1.65fr) minmax(0px, 1fr); align-items: center; gap: clamp(24px, 3vw, 44px); }
.nye-trailer__media { min-width: 0px; width: 100%; max-width: 900px; }
.nye-trailer__frame { border-color: rgba(138, 218, 255, 0.9); box-shadow: rgba(91, 159, 241, 0.1) 0px 0px 0px 5px, rgba(55, 158, 255, 0.42) 0px 0px 40px, rgba(0, 0, 15, 0.45) 0px 24px 60px, rgba(140, 110, 255, 0.18) 0px 0px 20px inset; }
.nye-trailer__frame::before { inset: -4px; background-size: 62px 3px, 3px 62px, 62px 3px, 3px 62px, 62px 3px, 3px 62px, 62px 3px, 3px 62px; filter: drop-shadow(rgba(127, 202, 255, 0.95) 0px 0px 7px); }
.nye-trailer__frame::after { left: 40%; width: 20%; height: 4px; background: repeating-linear-gradient(90deg, rgb(161, 234, 255) 0px, rgb(161, 234, 255) 18px, transparent 18px, transparent 23px); }
.nye-trailer__play { position: absolute; inset: 10px; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 16px; width: calc(100% - 20px); border: 0px; border-radius: 12px; color: rgb(255, 255, 255); background: radial-gradient(rgba(5, 12, 40, 0.14), transparent 65%); cursor: pointer; }
.nye-trailer__play[hidden] { display: none; pointer-events: none; }
.nye-trailer__status[hidden] { display: none; }
.nye-trailer__play-ring { display: flex; align-items: center; justify-content: center; width: 94px; height: 94px; padding-left: 5px; border: 2px solid rgb(181, 243, 255); border-radius: 50%; background: linear-gradient(135deg, rgba(19, 79, 116, 0.88), rgba(59, 29, 105, 0.9)); box-shadow: rgba(111, 220, 255, 0.12) 0px 0px 0px 8px, rgba(66, 207, 255, 0.65) 0px 0px 36px, rgba(166, 118, 255, 0.45) 0px 0px 16px inset; font: 32px Arial, sans-serif; transition: transform 0.2s, box-shadow 0.2s; }
.nye-trailer__play-label { padding: 10px 15px; border: 1px solid rgba(169, 231, 255, 0.45); border-radius: 6px; background: rgba(6, 14, 41, 0.9); font-family: Cunia, sans-serif; font-size: 14px; line-height: 1.3; }
.nye-trailer__play:focus-visible { outline: rgb(184, 238, 255) solid 3px; outline-offset: 4px; }
.nye-trailer__status { margin: 12px 0px 0px; font-size: 16px; color: rgb(212, 237, 255); }
.nye-trailer__info { position: relative; min-width: 0px; padding: 24px; border: 1px solid rgba(171, 201, 245, 0.2); border-radius: 18px; background: linear-gradient(135deg, rgba(14, 29, 68, 0.85), rgba(32, 22, 65, 0.85)); box-shadow: rgba(0, 0, 18, 0.2) 0px 12px 34px; }
.nye-trailer__info::before { content: ""; position: absolute; top: 12px; right: 12px; width: 56px; height: 56px; opacity: 0.25; background: url("../images/trailer-snowflake.svg") center center / contain no-repeat; pointer-events: none; }
.nye-trailer__name { position: relative; margin: 0px 0px 14px; padding-right: 20px; font-family: Cunia, sans-serif; font-size: clamp(22px, 2vw, 28px); line-height: 1.2; font-weight: 500; text-wrap: balance; }
.nye-trailer__description { margin: 0px 0px 18px; font-size: 18px; line-height: 1.45; color: rgb(219, 229, 250); }
.nye-trailer__details { position: relative; display: flex; flex-wrap: wrap; gap: 8px; margin: 0px 0px 16px; padding: 16px 0px; list-style: none; border-top: 1px solid rgba(156, 227, 255, 0.25); border-bottom: 1px solid rgba(156, 227, 255, 0.18); }
.nye-trailer__details::after { content: ""; position: absolute; right: 3px; top: -12px; width: 55px; height: 75px; background: url("../images/trailer-snowflake.svg") right top / 22px 22px no-repeat, url("../images/trailer-snowflake.svg") left bottom / 14px 14px no-repeat; opacity: 0.22; pointer-events: none; }
.nye-trailer__details li { padding: 6px 9px; border-radius: 5px; background: rgba(125, 170, 255, 0.1); color: rgb(184, 234, 255); font-size: 14px; font-weight: 700; line-height: 1.35; }
.nye-trailer__details .nye-trailer__location { flex-basis: 100%; padding: 6px 0px 0px; background: none; color: rgb(238, 243, 255); font-size: 16px; }
.nye-trailer__highlights { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 0px 0px 20px; padding: 0px; list-style: none; font-size: 13px; line-height: 1.5; font-weight: 700; color: rgb(210, 199, 255); }
.nye-trailer__highlights li::before { content: "+"; margin-right: 6px; color: rgb(146, 228, 255); }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
.nye-trailer__play:hover .nye-trailer__play-ring { transform: scale(1.05); box-shadow: rgba(111, 220, 255, 0.15) 0px 0px 0px 10px, rgba(66, 207, 255, 0.8) 0px 0px 45px; }
}
@media (max-width: 743px) {
.nye-trailer__layout { grid-template-columns: minmax(0px, 1fr); gap: 28px; }
.nye-trailer__media { margin: 0px auto; }
.nye-trailer__info { width: 100%; max-width: 900px; margin: 0px auto; }
.nye-trailer__play { inset: 5px; width: calc(100% - 10px); gap: 10px; }
.nye-trailer__play-ring { width: 64px; height: 64px; font-size: 24px; }
.nye-trailer__play-label { font-size: 12px; padding: 8px 10px; }
.nye-trailer__info { padding: 22px 18px; }
}
.story-block { position: relative; isolation: isolate; padding: 62px 24px 48px; color: rgb(32, 36, 65); background: linear-gradient(rgb(255, 255, 255), rgba(255, 255, 255, 0) 100px), radial-gradient(at 7% 52%, rgba(190, 16, 63, 0.76), transparent 52%), radial-gradient(at 94% 52%, rgba(23, 95, 241, 0.78), transparent 52%), radial-gradient(at 50% 70%, rgba(98, 68, 210, 0.62), transparent 60%), radial-gradient(at 43% 68%, rgba(226, 86, 145, 0.36), transparent 35%), radial-gradient(at 57% 68%, rgba(86, 208, 255, 0.55), transparent 35%), linear-gradient(135deg, rgb(250, 244, 251), rgb(234, 243, 255) 65%, rgb(244, 247, 255)); }
.story-block::before { content: ""; position: absolute; inset: 0px; z-index: -1; pointer-events: none; background: radial-gradient(circle at 19.9% 14.9%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.3px, rgba(198, 58, 116, 0.6) 2.3px, transparent 5.3px), radial-gradient(circle at 76.9% 23.7%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1px, rgba(50, 119, 220, 0.65) 2px, transparent 5px), radial-gradient(circle at 20.9% 81.7%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1px, rgba(198, 58, 116, 0.6) 2px, transparent 5px), radial-gradient(circle at 86.5% 15.4%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1px, rgba(50, 119, 220, 0.65) 2px, transparent 5px), radial-gradient(circle at 8.1% 51.9%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1px, rgba(198, 58, 116, 0.6) 2px, transparent 5px), radial-gradient(circle at 85.7% 68.1%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.8px, rgba(50, 119, 220, 0.65) 2.8px, transparent 5.8px), radial-gradient(circle at 17.3% 30%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.8px, rgba(198, 58, 116, 0.6) 2.8px, transparent 5.8px), radial-gradient(circle at 77.8% 79.9%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1px, rgba(50, 119, 220, 0.65) 2px, transparent 5px), radial-gradient(circle at 21.5% 39.2%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1px, rgba(198, 58, 116, 0.6) 2px, transparent 5px), radial-gradient(circle at 76% 71.8%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1px, rgba(50, 119, 220, 0.65) 2px, transparent 5px), radial-gradient(circle at 4.6% 20.4%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.3px, rgba(198, 58, 116, 0.6) 2.3px, transparent 5.3px), radial-gradient(circle at 86.9% 75.1%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.8px, rgba(50, 119, 220, 0.65) 2.8px, transparent 5.8px), radial-gradient(circle at 14.9% 22.6%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.3px, rgba(198, 58, 116, 0.6) 2.3px, transparent 5.3px), radial-gradient(circle at 72.2% 35.6%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.8px, rgba(50, 119, 220, 0.65) 2.8px, transparent 5.8px), radial-gradient(circle at 19.3% 79.4%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.8px, rgba(198, 58, 116, 0.6) 2.8px, transparent 5.8px), radial-gradient(circle at 75.4% 18.4%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.8px, rgba(50, 119, 220, 0.65) 2.8px, transparent 5.8px), radial-gradient(circle at 8.4% 35.3%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1px, rgba(198, 58, 116, 0.6) 2px, transparent 5px), radial-gradient(circle at 93.9% 79.7%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.3px, rgba(50, 119, 220, 0.65) 2.3px, transparent 5.3px), radial-gradient(circle at 9.8% 61.9%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.3px, rgba(198, 58, 116, 0.6) 2.3px, transparent 5.3px), radial-gradient(circle at 74.6% 40.4%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.8px, rgba(50, 119, 220, 0.65) 2.8px, transparent 5.8px), radial-gradient(circle at 9.5% 85.1%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.8px, rgba(198, 58, 116, 0.6) 2.8px, transparent 5.8px), radial-gradient(circle at 72% 61.9%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.8px, rgba(50, 119, 220, 0.65) 2.8px, transparent 5.8px), radial-gradient(circle at 22.4% 25.6%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.3px, rgba(198, 58, 116, 0.6) 2.3px, transparent 5.3px), radial-gradient(circle at 77.6% 84.3%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.8px, rgba(50, 119, 220, 0.65) 2.8px, transparent 5.8px), radial-gradient(circle at 17.6% 65.7%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1px, rgba(198, 58, 116, 0.6) 2px, transparent 5px), radial-gradient(circle at 76.4% 15.5%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.3px, rgba(50, 119, 220, 0.65) 2.3px, transparent 5.3px), radial-gradient(circle at 13.2% 18.1%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.8px, rgba(198, 58, 116, 0.6) 2.8px, transparent 5.8px), radial-gradient(circle at 94.5% 37.2%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.8px, rgba(50, 119, 220, 0.65) 2.8px, transparent 5.8px), radial-gradient(circle at 16% 81.1%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.8px, rgba(198, 58, 116, 0.6) 2.8px, transparent 5.8px), radial-gradient(circle at 82.8% 33.4%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1px, rgba(50, 119, 220, 0.65) 2px, transparent 5px), radial-gradient(circle at 22.9% 54.5%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.8px, rgba(198, 58, 116, 0.6) 2.8px, transparent 5.8px), radial-gradient(circle at 86.4% 82.1%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.3px, rgba(50, 119, 220, 0.65) 2.3px, transparent 5.3px), radial-gradient(circle at 12.1% 89.8%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1px, rgba(198, 58, 116, 0.6) 2px, transparent 5px), radial-gradient(circle at 84.3% 20%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1px, rgba(50, 119, 220, 0.65) 2px, transparent 5px), radial-gradient(circle at 26.1% 24.8%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1px, rgba(198, 58, 116, 0.6) 2px, transparent 5px), radial-gradient(circle at 92.2% 45.5%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1px, rgba(50, 119, 220, 0.65) 2px, transparent 5px), radial-gradient(circle at 12.8% 58.9%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.3px, rgba(198, 58, 116, 0.6) 2.3px, transparent 5.3px), radial-gradient(circle at 84.8% 87.8%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1px, rgba(50, 119, 220, 0.65) 2px, transparent 5px), radial-gradient(circle at 21% 21.8%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.8px, rgba(198, 58, 116, 0.6) 2.8px, transparent 5.8px), radial-gradient(circle at 91% 72.2%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.3px, rgba(50, 119, 220, 0.65) 2.3px, transparent 5.3px), radial-gradient(circle at 5.1% 46.5%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.3px, rgba(198, 58, 116, 0.6) 2.3px, transparent 5.3px), radial-gradient(circle at 70.1% 68.6%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.8px, rgba(50, 119, 220, 0.65) 2.8px, transparent 5.8px), radial-gradient(circle at 9.4% 51.5%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1px, rgba(198, 58, 116, 0.6) 2px, transparent 5px), radial-gradient(circle at 84.2% 21.2%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.8px, rgba(50, 119, 220, 0.65) 2.8px, transparent 5.8px), radial-gradient(24% 42% at 14% 50%, rgba(213, 28, 85, 0.32), transparent 90%), radial-gradient(25% 42% at 86% 50%, rgba(24, 130, 245, 0.38), transparent 90%), radial-gradient(32% 17% at 48% 78%, rgba(214, 199, 255, 0.8), transparent 85%), linear-gradient(127deg, transparent 18%, rgba(177, 50, 119, 0.19) 26%, rgba(255, 219, 239, 0.62) 30%, transparent 38%), linear-gradient(53deg, transparent 18%, rgba(38, 107, 224, 0.26) 26%, rgba(206, 248, 255, 0.82) 30%, transparent 38%), radial-gradient(70% 38% at 50% 58%, transparent 76%, rgba(104, 86, 185, 0.4) 76.12%, rgba(255, 255, 255, 0.95) 76.35%, transparent 76.65%), radial-gradient(68% 44% at 50% 52%, transparent 78%, rgba(83, 113, 201, 0.35) 78.12%, rgba(255, 255, 255, 0.8) 78.4%, transparent 78.7%); }
.story-block-inner { max-width: 1440px; margin: 0px auto; }
.story-block::after { content: ""; position: absolute; inset: 0px; z-index: -1; pointer-events: none; background: radial-gradient(at 48% 73%, rgba(250, 229, 255, 0.72), transparent 30%), radial-gradient(at 60% 64%, rgba(101, 203, 255, 0.42), transparent 32%), radial-gradient(at 37% 62%, rgba(243, 100, 162, 0.32), transparent 30%), radial-gradient(circle, rgba(255, 255, 255, 0.85) 0px, rgba(255, 255, 255, 0.85) 0.8px, transparent 1.6px) 13px 9px / 73px 91px, radial-gradient(circle, rgba(221, 233, 255, 0.75) 0px, rgba(221, 233, 255, 0.75) 0.6px, transparent 1.4px) 31px 43px / 113px 137px; -webkit-mask-image: radial-gradient(at 50% 62%, rgb(0, 0, 0) 24%, transparent 75%); mask-image: radial-gradient(at 50% 62%, rgb(0, 0, 0) 24%, transparent 75%); }
.story-block-scene { display: grid; grid-template-columns: minmax(0px, 1.18fr) minmax(0px, 1.4fr) minmax(0px, 1.18fr); grid-template-areas: "koschey copy moroz" "koschey tree moroz"; gap: 12px; align-items: center; }
.story-block-copy { grid-area: copy; text-align: center; position: relative; z-index: 1; }
.story-block-eyebrow { display: inline-block; max-width: 100%; margin: 0px 0px 18px; padding: 10px 16px; border: 1px solid rgba(94, 74, 174, 0.58); border-radius: 24px; background: linear-gradient(120deg, rgb(254, 251, 255), rgb(220, 233, 255)); box-shadow: rgba(99, 74, 187, 0.25) 0px 5px 24px, rgb(255, 255, 255) 0px 1px 0px inset; color: rgb(36, 33, 79); font-size: 19px; font-weight: 700; line-height: 1.4; text-wrap: balance; }
.story-block-title { margin: 0px 0px 22px; font-family: Cunia, sans-serif; font-size: clamp(28px, 2.9vw, 40px); font-weight: 500; line-height: 1.08; color: rgb(23, 29, 61); text-shadow: rgba(255, 255, 255, 0.8) 0px 2px 12px; text-wrap: balance; }
.story-block-description { max-width: 490px; margin: 0px auto 20px; font-size: 20px; line-height: 1.52; color: rgb(48, 60, 88); }
.story-block-intrigue { margin: 0px; font-size: 21px; font-weight: 700; line-height: 1.4; color: rgb(55, 50, 107); text-wrap: balance; }
.story-block-character { position: relative; min-width: 0px; margin: 0px; align-self: center; }
.story-block-character::before { content: ""; position: absolute; inset: 10% -10%; z-index: -1; border-radius: 50%; filter: blur(24px); pointer-events: none; }
.story-block-character--koschey { grid-area: koschey; }
.story-block-character--koschey::before { background: radial-gradient(rgba(200, 28, 75, 0.6), transparent 70%); }
.story-block-character--moroz { grid-area: moroz; }
.story-block-character--moroz::before { background: radial-gradient(rgba(32, 151, 255, 0.65), transparent 70%); }
.story-block-character img { display: block; width: 100%; height: auto; max-height: 660px; object-fit: contain; }
.story-block-tree { grid-area: tree; justify-self: center; position: relative; width: 220px; }
.story-block-tree::before { content: ""; position: absolute; inset: -32px; z-index: -1; border-radius: 50%; filter: blur(12px); background: radial-gradient(at 28% 50%, rgba(232, 61, 117, 0.58), transparent 62%), radial-gradient(at 72% 50%, rgba(54, 178, 255, 0.67), transparent 62%), radial-gradient(rgba(255, 255, 255, 0.95), rgba(202, 178, 255, 0.45) 45%, transparent 72%); }
.story-block-tree img { display: block; width: 100%; height: auto; }
.story-block .story-block-tree { transform: scale(1.12); transform-origin: center center; }
.story-block-cta { display: flex; justify-content: center; align-items: center; gap: 16px; width: fit-content; max-width: 100%; margin: 14px auto 0px; padding: 16px 20px; border: 1px solid rgba(255, 255, 255, 0.85); border-radius: 16px; background: linear-gradient(120deg, rgba(255, 255, 255, 0.86), rgba(232, 240, 255, 0.82)); box-shadow: rgba(64, 75, 133, 0.12) 0px 10px 32px; }
.story-block-date { margin: 0px 0px 5px; font-family: Cunia, sans-serif; font-size: clamp(18px, 1.8vw, 23px); line-height: 1.35; }
.story-block-venue { margin: 0px; color: rgb(77, 89, 115); font-size: 19px; line-height: 1.4; }
.story-block-ticket { display: inline-flex; justify-content: center; align-items: center; min-height: 60px; padding: 18px 28px; border: 0px; border-radius: 10px; background: linear-gradient(135deg, rgb(255, 231, 160), rgb(244, 186, 53) 55%, rgb(221, 160, 44)); box-shadow: rgba(182, 126, 25, 0.22) 0px 7px 22px, rgba(255, 255, 255, 0.8) 0px 1px 0px inset; color: rgb(23, 32, 57); font-family: Cunia, sans-serif; font-size: 16px; line-height: 1.3; cursor: pointer; transition: transform 0.2s, filter 0.2s; }
.story-block-ticket:focus-visible { outline: rgb(83, 90, 173) solid 3px; outline-offset: 4px; }
@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
.story-block-ticket:hover { transform: translateY(-2px); filter: brightness(1.05); }
}
@media (max-width: 743px) {
.story-block { padding: 42px 16px 36px; }
.story-block-scene { grid-template-columns: minmax(0px, 1fr) minmax(0px, 0.6fr) minmax(0px, 1fr); grid-template-areas: "copy copy copy" "koschey tree moroz"; gap: 24px 4px; }
.story-block-eyebrow { font-size: 16px; padding: 9px 12px; }
.story-block-description { font-size: 18px; line-height: 1.5; }
.story-block-intrigue { font-size: 19px; }
.story-block-character img { max-height: 300px; }
.story-block-tree { width: 100%; max-width: 130px; }
.story-block-cta { flex-direction: column; gap: 16px; width: 100%; margin-top: 18px; padding: 18px 16px; text-align: center; }
.story-block-venue { font-size: 17px; }
.story-block-ticket { width: 100%; max-width: 330px; }
}
.story-block-copy::before { content: ""; position: absolute; inset: -28px -18px; z-index: -1; pointer-events: none; background: radial-gradient(rgba(249, 248, 255, 0.85) 0%, rgba(246, 247, 255, 0.66) 46%, transparent 74%); filter: blur(14px); }
.story-block-character::after { content: ""; position: absolute; inset: -5% -4%; z-index: -1; pointer-events: none; border-radius: 50%; }
.story-block-character--koschey::after { background: radial-gradient(at 54% 51%, transparent 60%, rgba(217, 31, 87, 0.5) 60.4%, rgba(255, 219, 230, 0.92) 60.8%, transparent 61.5%), radial-gradient(circle at 22% 27%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 2px, rgba(248, 54, 104, 0.6) 3px, transparent 11px), radial-gradient(circle at 81% 65%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1px, rgba(232, 53, 99, 0.65) 2px, transparent 9px); }
.story-block-character--moroz::after { background: radial-gradient(at 46% 51%, transparent 60%, rgba(47, 123, 239, 0.55) 60.4%, rgba(221, 251, 255, 0.95) 60.8%, transparent 61.5%), radial-gradient(circle at 79% 25%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 2px, rgba(61, 170, 254, 0.6) 3px, transparent 12px), radial-gradient(circle at 19% 69%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1.5px, rgba(91, 183, 255, 0.6) 3px, transparent 10px); }
.story-block-tree::after { content: ""; position: absolute; inset: 18% -35% -6%; z-index: -1; border-radius: 50%; pointer-events: none; background: radial-gradient(rgba(255, 255, 255, 0.95), rgba(189, 192, 255, 0.5) 32%, transparent 70%), linear-gradient(100deg, transparent, rgba(235, 81, 132, 0.3) 27%, rgba(238, 246, 255, 0.8) 50%, rgba(52, 174, 255, 0.38) 73%, transparent); filter: blur(15px); }
@media (min-width: 744px) {
.story-block-character--koschey { transform: translateX(6px); }
.story-block-character--moroz { transform: translateX(-6px); }
.story-block-character--koschey img { transform: scale(1.03); transform-origin: right center; }
.story-block-character--moroz img { transform: scale(1.03); transform-origin: left center; }
}
.story-block .story-block-eyebrow { border-color: rgba(102, 75, 177, 0.78); background: linear-gradient(120deg, rgb(255, 240, 251), rgb(224, 230, 255) 55%, rgb(213, 237, 255)); box-shadow: rgba(91, 62, 159, 0.3) 0px 6px 24px, rgb(255, 255, 255) 0px 1px 0px inset; color: rgb(48, 32, 82); font-weight: 700; }
.story-block .story-block-description { max-width: 520px; line-height: 1.58; color: rgb(37, 50, 77); }
.story-block .story-block-copy::before { background: radial-gradient(rgba(249, 248, 255, 0.96) 0%, rgba(246, 247, 255, 0.85) 48%, transparent 76%); }
.story-block .story-block-cta { margin-top: 4px; }
.story-block .story-block-ticket { transition: transform 0.2s, filter 0.2s, box-shadow 0.2s; }
@media (hover: hover) and (pointer: fine) {
.story-block .story-block-ticket:hover { filter: brightness(1.06); box-shadow: rgba(163, 103, 12, 0.34) 0px 10px 26px, rgba(255, 255, 255, 0.9) 0px 1px 0px inset; }
}
.story-block .story-block-ticket:active { transform: translateY(0px); filter: brightness(0.98); }
@media (prefers-reduced-motion: reduce) {
.story-block .story-block-ticket { transition: none; }
}
@media (min-width: 744px) {
.story-block .story-block-copy { justify-self: center; }
.story-block .story-block-scene { row-gap: 4px; }
}
@media (max-width: 743px) {
.story-block .story-block-scene { grid-template-columns: repeat(2, minmax(0px, 1fr)); grid-template-areas: "eyebrow eyebrow" "title title" "description description" "koschey moroz" "intrigue intrigue"; gap: 0px; overflow: clip; text-align: center; }
.story-block .story-block-copy { display: contents; }
.story-block .story-block-copy::before { display: none; }
.story-block .story-block-eyebrow { grid-area: eyebrow; justify-self: center; margin-bottom: 12px; }
.story-block .story-block-title { grid-area: title; margin-bottom: 12px; }
.story-block .story-block-description { grid-area: description; max-width: 480px; margin-bottom: 12px; line-height: 1.35; }
.story-block .story-block-description, .story-block .story-block-intrigue { padding: 12px; border: 1px solid rgba(255, 255, 255, 0.8); border-radius: 14px; background: linear-gradient(120deg, rgba(255, 248, 255, 0.93), rgba(237, 245, 255, 0.93)); box-shadow: rgba(47, 49, 105, 0.08) 0px 4px 16px; }
.story-block .story-block-tree { display: none; }
.story-block .story-block-character { width: 130%; height: clamp(270px, 74vw, 400px); place-self: start center; overflow: clip; }
.story-block .story-block-character img { max-height: none; }
.story-block .story-block-intrigue { grid-area: intrigue; position: relative; z-index: 1; max-width: 480px; margin: 12px auto 0px; font-weight: 700; line-height: 1.3; }
.story-block .story-block-cta { margin-top: 10px; }
}
.faq.nye-faq { display: block; position: relative; isolation: isolate; padding: 68px 0px 128px; color: rgb(246, 245, 255); background: radial-gradient(at 12% 32%, rgba(72, 74, 216, 0.38), transparent 48%), radial-gradient(at 88% 58%, rgba(130, 57, 200, 0.3), transparent 48%), radial-gradient(at 54% 12%, rgba(37, 111, 182, 0.2), transparent 44%), linear-gradient(135deg, rgb(16, 24, 50), rgb(27, 20, 59) 58%, rgb(16, 27, 55)); }
.faq.nye-faq::before { content: ""; position: absolute; inset: 0px; z-index: -1; pointer-events: none; transform: none; opacity: 0.8; background: radial-gradient(circle at 12% 24%, rgb(233, 245, 255) 0px, rgb(233, 245, 255) 1px, rgba(144, 178, 255, 0.3) 2px, transparent 5px), radial-gradient(circle at 87% 19%, rgb(255, 255, 255) 0px, rgb(255, 255, 255) 1px, rgba(170, 159, 255, 0.3) 2px, transparent 6px), radial-gradient(circle at 78% 72%, rgb(231, 237, 255) 0px, rgb(231, 237, 255) 1px, transparent 3px), radial-gradient(circle, rgba(219, 231, 255, 0.65) 0px, rgba(219, 231, 255, 0.65) 0.7px, transparent 1.3px) 21px 13px / 103px 117px, radial-gradient(circle, rgba(180, 184, 255, 0.5) 0px, rgba(180, 184, 255, 0.5) 0.6px, transparent 1.3px) 57px 39px / 163px 149px, radial-gradient(at 33% 55%, rgba(113, 88, 204, 0.2), transparent 45%); }
.faq.nye-faq::after { content: ""; position: absolute; inset: auto 0px 0px; height: 100px; z-index: -1; pointer-events: none; background: linear-gradient(rgba(238, 236, 245, 0), rgb(181, 181, 206) 60%, rgb(255, 255, 255)); }
.nye-faq .faq__content { max-width: 920px; margin: 0px auto; }
.nye-faq__header { margin: 0px 0px 30px; text-align: center; }
.nye-faq__header h2 { margin: 0px 0px 12px; font-family: Cunia, sans-serif; font-size: clamp(25px, 3.2vw, 40px); font-weight: 500; line-height: 1.2; color: rgb(255, 255, 255); text-shadow: rgba(138, 151, 255, 0.3) 0px 0px 30px; text-wrap: balance; }
.nye-faq__header p { margin: 0px; color: rgb(197, 201, 226); font-size: 20px; line-height: 1.45; text-wrap: balance; }
.nye-faq .faq-question-answer { margin: 0px 0px 10px; padding: 0px; border: 1px solid rgba(175, 188, 247, 0.17); border-radius: 14px; background: rgba(161, 169, 238, 0.043); transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s; }
.nye-faq .faq-question-answer:last-child { margin-bottom: 0px; }
.nye-faq .faq-question { display: flex; align-items: center; justify-content: space-between; gap: 18px; width: 100%; min-height: 66px; padding: 14px 20px; border: 0px; border-radius: 13px; background: transparent; color: rgb(243, 244, 255); text-align: left; font-family: inherit; font-size: 21px; font-weight: 500; line-height: 1.35; cursor: pointer; }
.nye-faq .faq-question > span:first-child { width: auto; min-width: 0px; flex: 1 1 0%; }
.nye-faq .faq-question .button { position: relative; flex: 0 0 32px; width: 32px; height: 32px; border: 1px solid rgba(172, 192, 255, 0.4); border-radius: 50%; background: rgba(115, 129, 224, 0.13); box-shadow: rgba(108, 129, 252, 0.16) 0px 0px 14px, rgba(168, 188, 255, 0.07) 0px 0px 8px inset; }
.nye-faq .faq-question .button::before, .nye-faq .faq-question .button::after { content: ""; position: absolute; left: 50%; top: 50%; border-radius: 2px; background: rgb(226, 234, 255); transform: translate(-50%, -50%); box-shadow: rgba(174, 198, 255, 0.55) 0px 0px 6px; }
.nye-faq .faq-question .button::after { width: 12px; height: 2px; }
.nye-faq .faq-question .button::before { width: 2px; height: 12px; transition: opacity 0.16s; }
.nye-faq .faq-question-answer.active { border-color: rgba(174, 190, 255, 0.32); background: rgba(156, 171, 229, 0.11); box-shadow: rgba(3, 8, 30, 0.14) 0px 10px 26px, rgba(226, 233, 255, 0.04) 0px 1px 0px inset; -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); }
.nye-faq .faq-answer { padding: 0px 70px 18px 20px; color: rgb(215, 220, 239); font-size: 19px; line-height: 1.5; overflow-wrap: break-word; }
.nye-faq .faq-answer[hidden] { display: none; }
.nye-faq .faq-question:focus-visible { outline: rgb(184, 213, 255) solid 2px; outline-offset: 3px; }
@media (hover: hover) and (pointer: fine) {
.nye-faq .faq-question-answer:hover { border-color: rgba(172, 193, 255, 0.48); background-color: rgba(154, 173, 242, 0.12); box-shadow: rgba(102, 120, 230, 0.1) 0px 0px 24px; }
}
@media (max-width: 743px) {
.faq.nye-faq { padding: 46px 0px 92px; }
.faq.nye-faq::after { height: 70px; }
.nye-faq__header { margin-bottom: 24px; }
.nye-faq__header p { font-size: 18px; }
.nye-faq .faq-question { padding: 13px 14px; min-height: 60px; gap: 12px; font-size: 18px; }
.nye-faq .faq-question .button { flex-basis: 30px; width: 30px; height: 30px; }
.nye-faq .faq-answer { padding: 0px 14px 16px; font-size: 17px; line-height: 1.5; }
}
@media (prefers-reduced-motion: reduce) {
.nye-faq .faq-question-answer, .nye-faq .faq-question .button::before { transition: none; }
}
.show-info-2.nye-seo { position: relative; isolation: isolate; padding: 48px 0px 60px; color: rgb(48, 58, 84); background: radial-gradient(at 3% 50%, rgba(143, 172, 245, 0.09), transparent 42%), radial-gradient(at 97% 65%, rgba(180, 145, 239, 0.1), transparent 40%), rgb(255, 255, 255); }
.nye-seo::before { content: ""; position: absolute; inset: 0px; z-index: -1; pointer-events: none; background: radial-gradient(circle at 8% 24%, rgba(115, 132, 208, 0.4) 0px, rgba(115, 132, 208, 0.4) 1px, transparent 2px), radial-gradient(circle at 93% 31%, rgba(143, 118, 205, 0.35) 0px, rgba(143, 118, 205, 0.35) 1.5px, transparent 3px), radial-gradient(circle at 89% 82%, rgba(115, 132, 208, 0.3) 0px, rgba(115, 132, 208, 0.3) 1px, transparent 2px); }
.nye-seo .nye-seo__header { max-width: 980px; margin: 0px auto 30px; text-align: center; }
.nye-seo .nye-seo__header h2 { margin: 0px auto 20px; max-width: 960px; color: rgb(39, 39, 69); font-family: Cunia, sans-serif; font-size: clamp(25px, 2.7vw, 36px); font-weight: 500; line-height: 1.23; text-wrap: balance; }
.nye-seo .nye-seo__intro { max-width: 920px; margin: 0px auto; font-size: 20px; line-height: 1.55; color: rgb(75, 85, 109); }
.nye-seo .nye-seo__cards { display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 18px; }
.nye-seo .nye-seo__card { min-width: 0px; padding: 24px; border: 1px solid rgb(229, 231, 242); border-radius: 18px; background: rgba(255, 255, 255, 0.9); box-shadow: rgba(44, 56, 101, 0.04) 0px 8px 24px; }
.nye-seo .nye-seo__card h3 { margin: 0px 0px 14px; color: rgb(69, 66, 110); font-family: Cunia, sans-serif; font-size: 18px; font-weight: 500; line-height: 1.4; text-wrap: balance; }
.nye-seo .nye-seo__card p { margin: 0px; font-size: 19px; line-height: 1.5; }
.nye-seo .nye-seo__card--event { border-color: rgb(220, 224, 244); background: linear-gradient(135deg, rgb(244, 246, 255), rgb(249, 245, 255)); }
.nye-seo .nye-seo__card .nye-seo__sessions { margin: 0px 0px 12px; color: rgb(57, 52, 103); font-size: 25px; font-weight: 700; }
.nye-seo .nye-seo__cta { display: flex; flex-direction: column; align-items: center; gap: 14px; margin-top: 28px; text-align: center; }
.nye-seo .nye-seo__cta p { margin: 0px; color: rgb(88, 98, 122); font-size: 19px; line-height: 1.4; }
.nye-seo .show-info-2__ticket { min-width: 250px; max-width: 100%; }
@media (max-width: 743px) {
.show-info-2.nye-seo { padding: 32px 0px 40px; }
.nye-seo .nye-seo__header { margin-bottom: 22px; text-align: left; }
.nye-seo .nye-seo__header h2 { margin-bottom: 16px; font-size: 24px; }
.nye-seo .nye-seo__intro { font-size: 18px; line-height: 1.5; }
.nye-seo .nye-seo__cards { grid-template-columns: minmax(0px, 1fr); gap: 12px; }
.nye-seo .nye-seo__card { padding: 19px; border-radius: 15px; }
.nye-seo .nye-seo__card h3 { margin-bottom: 10px; font-size: 17px; }
.nye-seo .nye-seo__card p { font-size: 18px; }
.nye-seo .nye-seo__cta { margin-top: 22px; }
.nye-seo .nye-seo__cta p { font-size: 18px; }
.nye-seo .show-info-2__ticket { min-width: 0px; width: 100%; max-width: 330px; }
}
.heavy-choose.nye-contact { position: relative; isolation: isolate; padding: 56px 0px 38px; color: rgb(246, 245, 255); background: radial-gradient(at 80% 45%, rgba(68, 112, 223, 0.28), transparent 42%), radial-gradient(at 23% 30%, rgba(116, 66, 187, 0.23), transparent 48%), linear-gradient(130deg, rgb(18, 22, 46), rgb(27, 23, 57) 60%, rgb(13, 25, 48)); }
.nye-contact::before { content: ""; position: absolute; inset: 0px; z-index: -1; pointer-events: none; background: radial-gradient(circle at 8% 26%, rgb(220, 231, 255) 0px, rgb(220, 231, 255) 1px, transparent 3px), radial-gradient(circle at 92% 17%, rgb(232, 234, 255) 0px, rgb(232, 234, 255) 1px, rgba(139, 172, 255, 0.4) 2px, transparent 6px), radial-gradient(circle, rgba(216, 227, 255, 0.5) 0px, rgba(216, 227, 255, 0.5) 0.65px, transparent 1.4px) 13px 31px / 127px 151px, radial-gradient(at 67% 70%, rgba(108, 95, 205, 0.16), transparent 46%); }
.nye-contact > .container, .nye-footer > .container { max-width: 960px; margin-left: auto; margin-right: auto; }
.nye-contact .nye-contact__layout { display: grid; grid-template-columns: minmax(0px, 1fr) minmax(0px, 350px); gap: 24px; align-items: center; }
.nye-contact .nye-contact__copy { min-width: 0px; max-width: 540px; }
.nye-contact .heavy-choose__headline { margin: 0px 0px 18px; color: rgb(255, 255, 255); font-size: clamp(28px, 3vw, 40px); line-height: 1.2; font-weight: 500; }
.nye-contact .heavy-choose__description { max-width: 520px; margin: 0px 0px 26px; color: rgb(211, 216, 237); font-size: 23px; line-height: 1.45; font-weight: 400; }
.nye-contact .heavy-choose__form { width: 100%; max-width: 480px; margin: 0px; }
.nye-contact .heavy-choose__form__input { width: 100%; height: 60px; padding: 0px 20px; margin: 0px 0px 12px; border: 1px solid rgba(183, 201, 255, 0.4); border-radius: 12px; background: rgba(245, 247, 255, 0.07); box-shadow: rgba(255, 255, 255, 0.05) 0px 1px 0px inset; color: rgb(255, 255, 255); font-family: inherit; font-size: 22px; }
.nye-contact .heavy-choose__form__input::placeholder { color: rgb(181, 190, 217); opacity: 1; }
.nye-contact .heavy-choose__form__input:focus { outline: rgb(166, 197, 255) solid 2px; outline-offset: 3px; }
.nye-contact .heavy-choose__form__submit { height: 60px; margin: 0px 0px 14px; padding: 14px 20px; border: 0px; border-radius: 12px; background: linear-gradient(120deg, rgb(255, 227, 154), rgb(239, 183, 55)); box-shadow: rgba(242, 186, 60, 0.14) 0px 6px 24px; color: rgb(28, 36, 64); font-family: Cunia, sans-serif; font-size: 17px; line-height: 1.3; transition: filter 0.2s, transform 0.2s; }
.nye-contact .heavy-choose__form__submit:focus-visible { outline: rgb(189, 213, 255) solid 2px; outline-offset: 4px; }
.nye-contact .heavy-choose__form__personal-data { display: block; margin: 0px; color: rgb(174, 184, 209); font-size: 14px; line-height: 1.45; text-align: left; }
.nye-contact .heavy-choose__form__personal-data a { color: rgb(210, 221, 255); text-decoration: underline; text-underline-offset: 3px; }
.nye-contact .error_phone { color: rgb(255, 208, 217); font-size: 16px; }
.nye-contact .error_phone:empty { display: none; }
.nye-contact .nye-contact__art { width: 100%; margin: 0px; transform: translateX(-30px) scale(1.05); transform-origin: left center; }
.nye-contact .nye-contact__art img { display: block; width: 100%; height: auto; -webkit-mask-image: radial-gradient(65% 59% at 50% 48%, rgb(0, 0, 0) 48%, rgba(0, 0, 0, 0.9) 68%, transparent 95%); mask-image: radial-gradient(65% 59% at 50% 48%, rgb(0, 0, 0) 48%, rgba(0, 0, 0, 0.9) 68%, transparent 95%); }
.nye-footer { padding: 26px 0px 22px; background: rgb(13, 17, 37); color: rgb(171, 181, 206); border-top: 1px solid rgba(163, 179, 231, 0.12); }
.nye-footer > .container { max-width: 900px; }
.nye-footer .nye-footer__main { display: flex; align-items: center; justify-content: center; gap: 32px; }
.nye-footer .nye-footer__logo { display: inline-flex; flex: 0 0 auto; }
.nye-footer .nye-footer__logo img { display: block; width: 200px; max-width: 100%; height: auto; }
.nye-footer .nye-footer__contacts { display: flex; flex-wrap: wrap; gap: 12px 20px; }
.nye-footer .nye-footer__contacts a { color: rgb(231, 235, 250); font-size: 20px; text-decoration: none; }
.nye-footer .nye-footer__bottom { display: flex; align-items: center; justify-content: center; gap: 12px 28px; flex-wrap: wrap; margin-top: 20px; padding-top: 16px; border-top: 1px solid rgba(163, 179, 231, 0.1); font-size: 15px; line-height: 1.5; }
.nye-footer .nye-footer__bottom p { margin: 0px; }
.nye-footer .nye-footer__links { display: flex; flex-wrap: wrap; gap: 10px 24px; }
.nye-footer .nye-footer__links a { color: rgb(186, 197, 223); text-decoration: none; }
.nye-footer a:focus-visible { outline: rgb(189, 213, 255) solid 2px; outline-offset: 5px; border-radius: 3px; }
@media (hover: hover) and (pointer: fine) {
.nye-contact .heavy-choose__form__submit:hover { filter: brightness(1.06); transform: translateY(-1px); }
.nye-footer a:hover { color: rgb(255, 255, 255); text-decoration: underline; text-underline-offset: 4px; }
}
@media (max-width: 743px) {
.nye-contact > .container, .nye-footer > .container { max-width: 480px; }
.heavy-choose.nye-contact { padding: 32px 0px 20px; }
.nye-contact .nye-contact__layout { grid-template-columns: minmax(0px, 1fr); gap: 0px; }
.nye-contact .nye-contact__copy { display: contents; }
.nye-contact .heavy-choose__headline { grid-area: 1 / 1; margin-bottom: 12px; }
.nye-contact .heavy-choose__description { grid-area: 2 / 1; align-self: start; position: relative; z-index: 1; width: 34%; margin: 16px 0px 0px; font-size: 18px; line-height: 1.4; text-align: left; }
.nye-contact .heavy-choose__form { grid-area: 3 / 1; position: relative; z-index: 1; max-width: none; margin-top: -14px; }
.nye-contact .heavy-choose__form__submit { font-size: 16px; }
.nye-contact .nye-contact__art { grid-area: 2 / 1; position: relative; width: 263px; max-width: none; height: 250px; justify-self: end; margin-right: -12px; transform: none; overflow: hidden; pointer-events: none; -webkit-mask-image: linear-gradient(rgb(0, 0, 0) 80%, transparent); mask-image: linear-gradient(rgb(0, 0, 0) 80%, transparent); }
.nye-contact .nye-contact__art::before { content: ""; position: absolute; inset: 10% 4% 0px; z-index: -1; background: radial-gradient(rgba(81, 151, 245, 0.34), rgba(125, 79, 213, 0.18) 45%, transparent 72%); }
.nye-footer .nye-footer__main { flex-direction: column; gap: 18px; align-items: flex-start; }
.nye-footer .nye-footer__contacts { flex-direction: column; gap: 8px; }
.nye-footer .nye-footer__bottom { align-items: flex-start; justify-content: flex-start; gap: 12px; }
.nye-footer .nye-footer__links { gap: 8px 18px; }
}
@media (prefers-reduced-motion: reduce) {
.nye-contact .heavy-choose__form__submit { transition: none; }
.nye-contact .heavy-choose__form__submit:hover { transform: none; }
}
.nye-footer .nye-footer__logo { color: rgb(255, 255, 255); font-family: Cunia, sans-serif; font-size: 19px; text-decoration: none; }
@media (max-width: 743px) {
.mob-header { background: radial-gradient(at 70% 0px, rgba(101, 74, 179, 0.3), transparent 65%), linear-gradient(115deg, rgb(16, 27, 56), rgb(36, 27, 67) 65%, rgb(17, 30, 57)); border-bottom-width: 2px; }
.mob-header .header__shell { display: grid; grid-template-columns: 44px minmax(0px, 1fr) 44px; align-items: center; padding: 8px 0px; }
.mob-header .header__shell > .header__side { width: 44px; height: 44px; grid-row: 1; }
.mob-header .header__shell > .header__side:first-child { grid-column: 3; }
.mob-header .header__shell > .header__side:last-child { grid-column: 1; }
.mob-header .header__info { grid-area: 1 / 2; justify-self: center; }
.mob-header .header__info img { width: 160px; max-width: 100%; height: auto; }
.mob-header .header__shell > .header__side > .header__phone, .mob-header .header__burger { width: 44px; height: 44px; padding: 0px; border: 1px solid rgba(185, 199, 255, 0.19); border-radius: 12px; background: rgba(218, 224, 255, 0.05); }
.mob-header .header__shell > .header__side > .header__phone .header__phone__icon { width: 26px; height: 26px; object-fit: contain; }
.mob-header .header__burger::before, .mob-header .header__burger::after, .mob-header .header__burger__middle { position: absolute; left: 9px; width: 24px; height: 3px; margin: 0px; border-radius: 3px; background: rgb(255, 228, 141); }
.mob-header .header__burger::before { top: 12px; }
.mob-header .header__burger__middle { top: 20px; }
.mob-header .header__burger::after { top: 28px; }
.mob-header .header__burger_active { position: relative; top: auto; right: auto; z-index: 1001; }
.mob-header .header__burger_active::before { top: 20px; transform: rotate(45deg); background: rgb(245, 246, 255); }
.mob-header .header__burger_active::after { top: 20px; transform: rotate(-45deg); background: rgb(245, 246, 255); }
.mob-header .header__burger_active .header__burger__middle { opacity: 0; }
.mob-header .header__burger_active + .header__menu { position: fixed; inset: 0px 0px auto; width: 100%; height: auto; max-height: 100dvh; padding: 0px 24px 24px; overflow-y: auto; overscroll-behavior: contain; background: radial-gradient(at 90% 12%, rgba(84, 61, 156, 0.08), transparent 48%), radial-gradient(at 5% 75%, rgba(40, 102, 166, 0.06), transparent 55%), linear-gradient(135deg, rgba(13, 23, 47, 0.78), rgba(28, 21, 53, 0.78)); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.mob-header:has(.header__burger_active)::before { content: ""; position: fixed; inset: 0px; z-index: 999; background: rgba(8, 14, 32, 0.08); }
.mob-header .header__burger_active + .header__menu::before { opacity: 0.35; pointer-events: none; background: radial-gradient(circle at 12% 22%, rgb(214, 230, 255) 0px, rgb(214, 230, 255) 1px, transparent 2px), radial-gradient(circle at 88% 58%, rgb(214, 230, 255) 0px, rgb(214, 230, 255) 1px, transparent 2px), radial-gradient(circle at 28% 82%, rgb(214, 230, 255) 0px, rgb(214, 230, 255) 1px, transparent 2px); }
.mob-header .header__burger_active + .header__menu .header__menu__top { height: 60px; padding: 0px; justify-content: center; }
.mob-header .header__burger_active + .header__menu .header__menu__top img { display: block; width: 160px; height: auto; }
.mob-header .header__burger_active + .header__menu .header__nav { max-width: 400px; margin: 24px auto 0px; border: 0px; }
.mob-header .header__burger_active + .header__menu .header__nav__link { margin: 0px; padding: 16px 0px; border-bottom: 1px solid rgba(178, 194, 241, 0.15); font-size: 18px; line-height: 1.35; color: rgb(241, 243, 255); }
.mob-header .header__burger_active + .header__menu .header__nav__link::before { display: none; }
.mob-header .header__burger_active + .header__menu .header__nav__link:last-child { margin-top: 20px; padding: 17px 12px; border: 0px; border-radius: 12px; text-align: center; color: rgb(32, 36, 64); background: linear-gradient(120deg, rgb(255, 230, 160), rgb(239, 183, 55)); box-shadow: rgba(225, 171, 49, 0.15) 0px 5px 24px; }
.mob-header .header__burger_active + .header__menu .header__menu__bottom { max-width: 400px; margin: 20px auto 0px; }
.mob-header .header__burger_active + .header__menu .header__menu__bottom .header__phone { height: 40px; font-size: 20px; gap: 10px; justify-content: center; }
.mob-header .header__burger_active + .header__menu .header__menu__bottom .header__phone__icon { width: 22px; height: 22px; object-fit: contain; }
.mob-header a:focus-visible, .mob-header button:focus-visible { outline: rgb(232, 210, 144) solid 2px; outline-offset: 3px; }
}
#about-show, #show-video, #story, #faq, #contacts { scroll-margin-top: 90px; }
@media (max-width: 743px) {
#about-show, #show-video, #story, #faq, #contacts { scroll-margin-top: 78px; }
}
@media (min-width: 744px) {
.container { max-width: 1100px; }
.header .header__logo__picture { width: clamp(110px, 14.43vw, 160px); }
.header .header__nav__link { font-size: clamp(13px, 1.623vw, 18px); margin: 0px clamp(3px, 0.721vw, 8px); }
.header .header__phone { display: inline; position: static; width: auto; height: auto; background: none; border-radius: 0px; }
.header .header__phone__icon { display: none; }
.header .header__phone__text { display: inline; font-size: clamp(14px, 1.803vw, 20px); }
.header .header__callback { display: inline-flex; flex-shrink: 0; }
.initial-screen-show.nye-hero { background-size: cover; }
.nye-hero .initial-screen-show__background_mobile { display: none; }
.nye-hero .initial-screen-show__shell { min-height: 670px; padding: 100px 0px 60px; align-items: flex-end; }
.nye-hero .nye-hero__title { font-size: clamp(30px, 4.36vw, 54.5px); }
.story-block .story-block-title { font-size: clamp(20px, 2.9vw, 40px); }
.story-block .story-block-description { font-size: clamp(16px, 1.82vw, 20px); }
.story-block .story-block-intrigue { font-size: clamp(17px, 1.91vw, 21px); }
.story-block .story-block-copy { width: calc(100% + clamp(0px, -67px + 9vw, 32px)); }
.story-block .story-block-tree { max-width: 100%; }
.nye-trailer .nye-trailer__info { padding: clamp(14px, 2.4vw, 24px); }
.nye-trailer .nye-trailer__name { font-size: clamp(18px, 2vw, 28px); }
.nye-trailer .nye-trailer__ticket { max-width: 100%; padding-inline: clamp(12px, 2.5vw, 26px); }
.nye-seo .nye-seo__card { padding: clamp(14px, 2.4vw, 24px); }
.nye-contact .nye-contact__layout { grid-template-columns: minmax(0px, 1fr) minmax(0px, min(350px, 36.46vw)); }
.nye-contact .nye-contact__art { transform: translateX(clamp(-30px, 960px - 100vw, 0px)) scale(1.05); }
}

/* Reserve the original header logo proportions before its bytes arrive. */
.header__logo__picture, .mob-header .header__info img, .mob-header .header__menu__top img { aspect-ratio: 2332 / 384; }
