

/* Start:/local/templates/basovskoe/assets/css/style.css?1789548737321199*/
@font-face {
    font-family: swiper-icons;
    src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
    font-weight: 400;
    font-style: normal
}

:root {
    --swiper-theme-color: #007aff
}

.swiper {
    margin-left: auto;
    margin-right: auto;
    position: relative;
    overflow: hidden;
    list-style: none;
    padding: 0;
    z-index: 1
}

.swiper-vertical>.swiper-wrapper {
    flex-direction: column
}

.swiper-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    transition-property: transform;
    box-sizing: content-box
}

.swiper-android .swiper-slide,
.swiper-wrapper {
    transform: translate3d(0, 0, 0)
}

.swiper-pointer-events {
    touch-action: pan-y
}

.swiper-pointer-events.swiper-vertical {
    touch-action: pan-x
}

.swiper-slide {
    flex-shrink: 0;
    width: 100%;
    height: 100%;
    position: relative;
    transition-property: transform
}

.swiper-slide-invisible-blank {
    visibility: hidden
}

.swiper-autoheight,
.swiper-autoheight .swiper-slide {
    height: auto
}

.swiper-autoheight .swiper-wrapper {
    align-items: flex-start;
    transition-property: transform, height
}

.swiper-backface-hidden .swiper-slide {
    transform: translateZ(0);
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
    perspective: 1200px
}

.swiper-3d .swiper-cube-shadow,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-wrapper {
    transform-style: preserve-3d
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
    z-index: 10
}

.swiper-3d .swiper-slide-shadow {
    background: rgba(0, 0, 0, .15)
}

.swiper-3d .swiper-slide-shadow-left {
    background-image: linear-gradient(to left, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-right {
    background-image: linear-gradient(to right, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-top {
    background-image: linear-gradient(to top, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-3d .swiper-slide-shadow-bottom {
    background-image: linear-gradient(to bottom, rgba(0, 0, 0, .5), rgba(0, 0, 0, 0))
}

.swiper-css-mode>.swiper-wrapper {
    overflow: auto;
    scrollbar-width: none;
    -ms-overflow-style: none
}

.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar {
    display: none
}

.swiper-css-mode>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: start start
}

.swiper-horizontal.swiper-css-mode>.swiper-wrapper {
    scroll-snap-type: x mandatory
}

.swiper-vertical.swiper-css-mode>.swiper-wrapper {
    scroll-snap-type: y mandatory
}

.swiper-centered>.swiper-wrapper::before {
    content: "";
    flex-shrink: 0;
    order: 9999
}

.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child {
    margin-inline-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-horizontal>.swiper-wrapper::before {
    height: 100%;
    min-height: 1px;
    width: var(--swiper-centered-offset-after)
}

.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child {
    margin-block-start: var(--swiper-centered-offset-before)
}

.swiper-centered.swiper-vertical>.swiper-wrapper::before {
    width: 100%;
    min-width: 1px;
    height: var(--swiper-centered-offset-after)
}

.swiper-centered>.swiper-wrapper>.swiper-slide {
    scroll-snap-align: center center
}

.swiper-virtual .swiper-slide {
    -webkit-backface-visibility: hidden;
    transform: translateZ(0)
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
    height: 1px;
    width: var(--swiper-virtual-size)
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
    width: 1px;
    height: var(--swiper-virtual-size)
}

:root {
    --swiper-navigation-size: 44px
}

.swiper-button-next,
.swiper-button-prev {
    position: absolute;
    top: 50%;
    width: calc(var(--swiper-navigation-size)/ 44 * 27);
    height: var(--swiper-navigation-size);
    margin-top: calc(0px - var(--swiper-navigation-size)/ 2);
    z-index: 10;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--swiper-navigation-color, var(--swiper-theme-color))
}

.swiper-button-next.swiper-button-disabled,
.swiper-button-prev.swiper-button-disabled {
    opacity: .35;
    cursor: auto;
    pointer-events: none
}

.swiper-button-next.swiper-button-hidden,
.swiper-button-prev.swiper-button-hidden {
    opacity: 0;
    cursor: auto;
    pointer-events: none
}

.swiper-navigation-disabled .swiper-button-next,
.swiper-navigation-disabled .swiper-button-prev {
    display: none !important
}

.swiper-button-next:after,
.swiper-button-prev:after {
    font-family: swiper-icons;
    font-size: var(--swiper-navigation-size);
    text-transform: none !important;
    letter-spacing: 0;
    font-variant: initial;
    line-height: 1
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
    left: 10px;
    right: auto
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
    content: "prev"
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
    right: 10px;
    left: auto
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
    content: "next"
}

.swiper-button-lock {
    display: none
}

.swiper-pagination {
    position: absolute;
    text-align: center;
    transition: .3s opacity;
    transform: translate3d(0, 0, 0);
    z-index: 10
}

.swiper-pagination.swiper-pagination-hidden {
    opacity: 0
}

.swiper-pagination-disabled>.swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
    display: none !important
}

.swiper-horizontal>.swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal,
.swiper-pagination-custom,
.swiper-pagination-fraction {
    bottom: 10px;
    left: 0;
    width: 100%
}

.swiper-pagination-bullets-dynamic {
    overflow: hidden;
    font-size: 0
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transform: scale(.33);
    position: relative
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
    transform: scale(1)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
    transform: scale(.33)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
    transform: scale(.66)
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
    transform: scale(.33)
}

.swiper-pagination-bullet {
    width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
    height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
    display: inline-block;
    border-radius: 50%;
    background: var(--swiper-pagination-bullet-inactive-color, #000);
    opacity: var(--swiper-pagination-bullet-inactive-opacity, .2)
}

button.swiper-pagination-bullet {
    border: none;
    margin: 0;
    padding: 0;
    box-shadow: none;
    -webkit-appearance: none;
    appearance: none
}

.swiper-pagination-clickable .swiper-pagination-bullet {
    cursor: pointer
}

.swiper-pagination-bullet:only-child {
    display: none !important
}

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

.swiper-pagination-vertical.swiper-pagination-bullets,
.swiper-vertical>.swiper-pagination-bullets {
    right: 10px;
    top: 50%;
    transform: translate3d(0, -50%, 0)
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
    display: block
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    top: 50%;
    transform: translateY(-50%);
    width: 8px
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-vertical>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    display: inline-block;
    transition: .2s transform, .2s top
}

.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px)
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
    left: 50%;
    transform: translateX(-50%);
    white-space: nowrap
}

.swiper-horizontal>.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform, .2s left
}

.swiper-horizontal.swiper-rtl>.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
    transition: .2s transform, .2s right
}

.swiper-pagination-progressbar {
    background: rgba(0, 0, 0, .25);
    position: absolute
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: var(--swiper-pagination-color, var(--swiper-theme-color));
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    transform: scale(0);
    transform-origin: left top
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    transform-origin: right top
}

.swiper-horizontal>.swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
.swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    width: 100%;
    height: 4px;
    left: 0;
    top: 0
}

.swiper-horizontal>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-vertical>.swiper-pagination-progressbar {
    width: 4px;
    height: 100%;
    left: 0;
    top: 0
}

.swiper-pagination-lock {
    display: none
}

.swiper-scrollbar {
    border-radius: 10px;
    position: relative;
    -ms-touch-action: none;
    background: rgba(0, 0, 0, .1)
}

.swiper-scrollbar-disabled>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
    display: none !important
}

.swiper-horizontal>.swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
    position: absolute;
    left: 1%;
    bottom: 3px;
    z-index: 50;
    height: 5px;
    width: 98%
}

.swiper-scrollbar.swiper-scrollbar-vertical,
.swiper-vertical>.swiper-scrollbar {
    position: absolute;
    right: 3px;
    top: 1%;
    z-index: 50;
    width: 5px;
    height: 98%
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: rgba(0, 0, 0, .5);
    border-radius: 10px;
    left: 0;
    top: 0
}

.swiper-scrollbar-cursor-drag {
    cursor: move
}

.swiper-scrollbar-lock {
    display: none
}

.swiper-zoom-container {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center
}

.swiper-zoom-container>canvas,
.swiper-zoom-container>img,
.swiper-zoom-container>svg {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain
}

.swiper-slide-zoomed {
    cursor: move
}

.swiper-lazy-preloader {
    width: 42px;
    height: 42px;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -21px;
    margin-top: -21px;
    z-index: 10;
    transform-origin: 50%;
    box-sizing: border-box;
    border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
    border-radius: 50%;
    border-top-color: transparent
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader,
.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
    animation: swiper-preloader-spin 1s infinite linear
}

.swiper-lazy-preloader-white {
    --swiper-preloader-color: #fff
}

.swiper-lazy-preloader-black {
    --swiper-preloader-color: #000
}

@keyframes swiper-preloader-spin {
    0% {
        transform: rotate(0)
    }

    100% {
        transform: rotate(360deg)
    }
}

.swiper .swiper-notification {
    position: absolute;
    left: 0;
    top: 0;
    pointer-events: none;
    opacity: 0;
    z-index: -1000
}

.swiper-free-mode>.swiper-wrapper {
    transition-timing-function: ease-out;
    margin: 0 auto
}

.swiper-grid>.swiper-wrapper {
    flex-wrap: wrap
}

.swiper-grid-column>.swiper-wrapper {
    flex-wrap: wrap;
    flex-direction: column
}

.swiper-fade.swiper-free-mode .swiper-slide {
    transition-timing-function: ease-out
}

.swiper-fade .swiper-slide {
    pointer-events: none;
    transition-property: opacity
}

.swiper-fade .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube {
    overflow: visible
}

.swiper-cube .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1;
    visibility: hidden;
    transform-origin: 0 0;
    width: 100%;
    height: 100%
}

.swiper-cube .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-cube.swiper-rtl .swiper-slide {
    transform-origin: 100% 0
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-next+.swiper-slide,
.swiper-cube .swiper-slide-prev {
    pointer-events: auto;
    visibility: visible
}

.swiper-cube .swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-right,
.swiper-cube .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-cube .swiper-cube-shadow {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    opacity: .6;
    z-index: 0
}

.swiper-cube .swiper-cube-shadow:before {
    content: "";
    background: #000;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    filter: blur(50px)
}

.swiper-flip {
    overflow: visible
}

.swiper-flip .swiper-slide {
    pointer-events: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 1
}

.swiper-flip .swiper-slide .swiper-slide {
    pointer-events: none
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
    pointer-events: auto
}

.swiper-flip .swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-right,
.swiper-flip .swiper-slide-shadow-top {
    z-index: 0;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden
}

.swiper-creative .swiper-slide {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden;
    transition-property: transform, opacity, height
}

.swiper-cards {
    overflow: visible
}

.swiper-cards .swiper-slide {
    transform-origin: center bottom;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    overflow: hidden
}

*,
::after,
::before {
    box-sizing: border-box
}

html {
    -webkit-text-size-adjust: 100%;
    overflow-x: clip
}

body {
    margin: 0;
    position: relative;
    min-width: 320px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333;
    background: #fffdf7;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

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

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

button {
    margin: 0;
    padding: 0;
    border: none;
    background: 0 0;
    font: inherit;
    color: inherit;
    cursor: pointer
}

ol,
ul {
    margin: 0;
    padding: 0;
    list-style: none
}

h1,
h2,
h3,
h4 {
    margin: 0;
    font-family: Lora, Georgia, serif;
    font-weight: 500
}

p {
    margin: 0
}

html {
    scroll-behavior: smooth
}

[hidden] {
    display: none !important
}

input,
textarea {
    outline: 0
}

body.is-menu-open {
    overflow: hidden
}

.anchor {
    scroll-margin-top: 96px
}

@media (max-width:755px) {
    .anchor {
        scroll-margin-top: 80px
    }
}

.wrapper {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 32px
}

@media (max-width:755px) {
    .wrapper {
        padding: 0 12px
    }
}

.wrapper--clip {
    overflow-x: clip
}

.main {
    display: block;
    position: relative
}

.main--flat {
    padding-top: 72px
}

@media (max-width:755px) {
    .main--flat {
        padding-top: 64px
    }
}

.main--stack {
    display: flex;
    flex-direction: column
}

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

.swiper {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow: hidden
}

.swiper .swiper-wrapper .swiper-slide {
    flex: 0 0 auto
}

@media (max-width:755px) {
    .swiper.swiper--peek {
        width: auto;
        max-width: none;
        margin-inline: -12px;
        padding: 0 12px
    }

    .swiper.swiper--peek .swiper-slide {
        width: calc(100% - 20px) !important
    }
}

.swiper-pagination-bullets.swiper-pagination-horizontal {
    display: flex;
    justify-content: center;
    transform: none;
    pointer-events: none
}

.swiper-pagination-bullets.swiper-pagination-horizontal>* {
    pointer-events: auto
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 50;
    color: #fff;
    background: rgba(77, 77, 77, .35);
    backdrop-filter: blur(50px);
    -webkit-backdrop-filter: blur(50px);
    transition: background-color .3s ease, box-shadow .3s ease
}

.header.is-scrolled {
    background: rgba(28, 26, 26, .82);
    box-shadow: 0 8px 28px rgba(0, 0, 0, .18)
}

.header--light {
    color: #333;
    background: 0 0;
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    border-bottom: 1px solid rgba(51, 51, 51, .12)
}

.header--light .header__logo {
    color: #cdaf89
}

.header--light .header__icon,
.header--light .header__mcall,
.header--light .header__nav-arrow {
    color: #333
}

.header--light .header__burger span {
    background: #333
}

.header--light.is-scrolled {
    background: rgba(252, 251, 247, .88);
    backdrop-filter: blur(50px);
    -webkit-backdrop-filter: blur(50px);
    box-shadow: 0 8px 28px rgba(51, 51, 51, .08)
}

.header__inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 72px
}

.header__brand {
    display: flex;
    align-items: center;
    gap: 24px
}

.header__logo {
    flex-shrink: 0;
    width: 121.6px;
    height: 52px;
    color: #fff
}

.header__logo img,
.header__logo svg {
    width: 100%;
    height: 100%
}

.header__location {
    display: flex;
    flex-direction: column;
    gap: 2px;
    font-size: 13px;
    line-height: 1.2;
    letter-spacing: -.26px;
    opacity: .5
}

.header__nav {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 24px
}

.header__nav-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 15px;
    font-weight: 600;
    line-height: 1.2;
    letter-spacing: -.3px;
    white-space: nowrap;
    transition: opacity .2s ease
}

.header__nav-link:hover {
    opacity: .7
}

.header__nav-arrow {
    width: 10px;
    height: 16px;
    color: #fff;
    transition: transform .2s ease
}

.header__nav-arrow img,
.header__nav-arrow svg {
    width: 100%;
    height: 100%
}

.header__nav-item {
    position: relative;
    display: flex;
    align-items: center
}

.header__nav-item:hover .header__nav-arrow {
    transform: rotate(180deg)
}

.header__drop {
    position: absolute;
    top: 100%;
    left: -16px;
    padding-top: 27px;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(4px);
    transition: opacity .2s ease, transform .2s ease, visibility .2s;
    z-index: 30
}

.header__nav-item:focus-within .header__drop,
.header__nav-item:hover .header__drop {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0)
}

.header__drop-panel {
    padding: 24px 32px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 16px 16px -8px rgba(12, 12, 13, .1), 0 4px 4px -4px rgba(12, 12, 13, .05);
    color: #333
}

.header__drop-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    min-width: 220px
}

.header__drop-list a {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333;
    white-space: nowrap;
    transition: color .2s ease
}

.header__drop-list a:hover {
    color: #8f5f3f
}

.header__mega {
    display: flex;
    gap: 80px;
    width: 706px;
    min-height: 300px;
    padding: 32px
}

.header__mega-cats {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
    width: 281px;
    flex-shrink: 0
}

.header__mega-cat-link {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.66px;
    color: #333;
    transition: color .2s ease
}

.header__mega-cat-link.is-active,
.header__mega-cat-link:hover {
    color: #8f5f3f
}

.header__mega-subs {
    width: 281px;
    flex-shrink: 0
}

.header__mega-sub {
    display: none;
    flex-direction: column;
    gap: 16px
}

.header__mega-sub.is-active {
    display: flex
}

.header__mega-sub a {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333;
    transition: color .2s ease
}

.header__mega-sub a:hover {
    color: #8f5f3f
}

.header__contacts {
    display: flex;
    align-items: center;
    gap: 32px
}

.header__phone {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 2px;
    text-align: right;
    line-height: 1.2
}

.header__phone-num {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: -.13px
}

.header__phone-note {
    font-size: 13px;
    font-weight: 500;
    letter-spacing: -.26px;
    opacity: .5
}

.header__icons {
    display: flex;
    align-items: center;
    gap: 22px
}

.header__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    padding: 0;
    border: none;
    background: 0 0;
    cursor: pointer;
    color: #fff;
    transition: opacity .2s ease
}

.header__icon:hover {
    opacity: .7
}

.header__icon img,
.header__icon svg {
    width: 24px;
    height: 24px
}

.header__burger,
.header__mcall {
    display: none
}

.header__burger {
    position: relative;
    width: 32px;
    height: 18px;
    padding: 0;
    border: 0;
    background: 0 0;
    cursor: pointer
}

.header__burger span {
    position: absolute;
    left: 0;
    right: 0;
    height: 2px;
    border-radius: 999px;
    background: #fff;
    transition: transform .25s ease, opacity .25s ease, top .25s ease
}

.header__burger span:nth-child(1) {
    top: 0
}

.header__burger span:nth-child(2) {
    top: 8px
}

.header__burger span:nth-child(3) {
    top: 16px
}

.header__mcall {
    width: 24px;
    height: 24px;
    color: #fff
}

.header__mcall img {
    width: 24px;
    height: 24px
}

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

.is-menu-open .header__burger span:nth-child(2) {
    opacity: 0
}

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

.is-menu-open .header {
    background: #1e1e1e;
    backdrop-filter: none;
    -webkit-backdrop-filter: none
}

.is-menu-open .header--light {
    color: #fff;
    border-bottom-color: transparent
}

.is-menu-open .header--light .header__logo,
.is-menu-open .header--light .header__mcall {
    color: #fff
}

.is-menu-open .header--light .header__burger span {
    background: #fff
}

@media (min-width:756px) and (max-width:1279px) {
    .header__nav {
        display: none
    }

    .header__contacts {
        margin-left: auto;
        gap: 48px
    }

    .header__burger {
        display: block;
        flex-shrink: 0;
        width: 24px;
        margin-left: 48px
    }
}

@media (max-width:755px) {
    .header {
        border-radius: 0 0 20px 20px
    }

    .header--light {
        border-bottom: none;
        border-radius: 0
    }

    .header__inner {
        height: 64px
    }

    .header__contacts,
    .header__nav {
        display: none
    }

    .header__burger,
    .header__mcall {
        display: block
    }

    .header__location {
        display: none
    }

    .header__brand {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        gap: 0
    }

    .header__logo {
        width: 103px;
        height: 44px
    }
}

.mmenu {
    position: fixed;
    inset: 0;
    z-index: 1;
    padding-top: 72px;
    background: #1e1e1e;
    overflow-y: auto;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity .3s ease, transform .3s ease, visibility .3s
}

.mmenu__inner {
    display: flex;
    flex-direction: column
}

.mmenu__contacts {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid rgba(255, 255, 255, .12)
}

.mmenu__cicon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    padding: 0;
    border: 0;
    background: 0 0;
    color: #fff;
    cursor: pointer
}

.mmenu__cicon img {
    width: 24px;
    height: 24px
}

.mmenu__phone {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    margin: 0 auto;
    text-align: center;
    color: #fff;
    line-height: 1.2
}

.mmenu__phone-num {
    font-size: 16px;
    font-weight: 600
}

.mmenu__phone-note {
    font-size: 14px;
    font-weight: 500;
    opacity: .5
}

.mmenu__nav {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 24px 0 48px
}

.mmenu__head,
.mmenu__link {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    width: 100%;
    padding: 8px 0;
    border: 0;
    background: 0 0;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 28px;
    line-height: 1.2;
    letter-spacing: -.28px;
    color: #fff;
    text-align: left;
    cursor: pointer
}

.mmenu__chev {
    width: 14px;
    height: 9px;
    transition: transform .25s ease
}

.mmenu__sub {
    display: none;
    flex-direction: column;
    gap: 12px;
    padding: 12px 0 8px
}

.mmenu__sub a {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.4;
    color: rgba(255, 255, 255, .7);
    transition: color .2s ease
}

.mmenu__sub a:hover {
    color: #fff
}

.mmenu__item.is-open .mmenu__sub {
    display: flex
}

.mmenu__item.is-open .mmenu__chev {
    transform: rotate(180deg)
}

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

@media (min-width:756px) and (max-width:1279px) {
    .mmenu {
        padding-top: 72px
    }

    .mmenu__nav {
        max-width: 560px
    }

    .mmenu__contacts {
        display: none
    }
}

@media (max-width:755px) {
    .mmenu {
        padding-top: 64px
    }
}

@media (min-width:1280px) {
    .mmenu {
        display: none
    }
}

.button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 20px 32px 22px;
    border-radius: 8px;
    font-weight: 600;
    font-size: 16px;
    line-height: .9;
    white-space: nowrap;
    transition: background-color .2s ease, opacity .2s ease
}

.button--brown {
    background: #8f5f3f;
    color: #fff
}

.button--brown:hover {
    background: #7c5135
}

.button--white {
    background: #fcfbf7;
    color: #333
}

.button--white:hover {
    opacity: .85
}

.button--neutral {
    background: #1a1818;
    color: #fff
}

.button--neutral:hover {
    opacity: .88
}

.button--minor {
    background: rgba(153, 153, 153, .13);
    color: #333
}

.button--minor:hover {
    background: rgba(153, 153, 153, .22)
}

.button--outline {
    border: .5px solid rgba(51, 51, 51, .4);
    color: #333
}

.button--outline:hover {
    border-color: #333
}

.button--outline-dark {
    border: .5px solid rgba(0, 0, 0, .2);
    color: #333
}

.button--outline-dark:hover {
    background: rgba(0, 0, 0, .04)
}

.more-btn {
    display: inline-flex;
    align-items: center;
    gap: 24px;
    padding: 8px 8px 8px 10px;
    border-radius: 8px;
    background: #8f5f3f;
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    line-height: .9;
    white-space: nowrap;
    transition: background-color .2s ease
}

.more-btn:hover {
    background: #7c5135
}

.more-btn--white {
    background: #fff;
    color: #333
}

.more-btn--white:hover {
    background: #fff;
    opacity: .9
}

.more-btn__arrow {
    flex-shrink: 0;
    width: 8px;
    color: inherit
}

.more-btn__arrow img,
.more-btn__arrow svg {
    width: 100%;
    height: auto
}

.arrow-btn {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: #8f5f3f;
    color: #fff;
    transition: background-color .2s ease
}

.arrow-btn:hover {
    background: #7c5135
}

.arrow-btn img,
.arrow-btn svg {
    width: 16px;
    height: auto
}

.tabs-scroll {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-width: 100%;
    overflow-x: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch
}

.tabs-scroll::-webkit-scrollbar {
    display: none
}

.tabs-scroll>* {
    flex-shrink: 0
}

.tabs-scroll__tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: .5px solid rgba(51, 51, 51, .4);
    border-radius: 8px;
    background: 0 0;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.5;
    color: #666;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease
}

.tabs-scroll__tab--active {
    background: #8f5f3f;
    border-color: transparent;
    color: #f5f5f5
}

.tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: .5px solid rgba(51, 51, 51, .4);
    border-radius: 8px;
    background: 0 0;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.5;
    color: #666;
    white-space: nowrap;
    transition: background-color .2s ease, color .2s ease, border-color .2s ease
}

.tag:hover {
    border-color: rgba(51, 51, 51, .7);
    color: #333
}

@media (max-width:755px) {
    .tag {
        padding: 4px 8px;
        font-weight: 500;
        font-size: 14px;
        line-height: 1.7
    }
}

.tag--active {
    background: #8f5f3f;
    border-color: transparent;
    color: #f5f5f5
}

.tag--active:hover {
    color: #fff
}

.field {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 240px
}

.field__label {
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #1e1e1e
}

.field__error {
    font-weight: 500;
    font-size: 14px;
    line-height: 1.4;
    color: #cc2b2b
}

.field--error .select__control {
    border-color: #cc2b2b
}

.select {
    position: relative;
    width: 100%
}

.select__control {
    width: 100%;
    padding: 12px 40px 12px 16px;
    border: 1px solid #d9d9d9;
    border-radius: 8px;
    background: #fff;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #1e1e1e;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
    transition: border-color .2s ease
}

.select__control:focus {
    outline: 0;
    border-color: rgba(51, 51, 51, .5)
}

.select__control.is-placeholder {
    color: #999
}

.select__control:disabled {
    background: rgba(153, 153, 153, .08);
    color: #999;
    cursor: not-allowed
}

.select__chevron {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    width: 16px;
    height: 16px;
    color: #1e1e1e;
    pointer-events: none
}

.select__chevron img,
.select__chevron svg {
    width: 100%;
    height: 100%
}

.checkbox {
    display: flex;
    flex-direction: column;
    gap: 4px;
    cursor: pointer
}

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

.checkbox__input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0
}

.checkbox__box {
    flex-shrink: 0;
    position: relative;
    width: 16px;
    height: 16px;
    border: 1px solid #d9d9d9;
    border-radius: 4px;
    background: #fff;
    transition: background-color .2s ease, border-color .2s ease
}

.checkbox__box::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 1.5px;
    width: 4px;
    height: 8px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg) scale(0);
    transition: transform .15s ease
}

.checkbox__input:checked+.checkbox__box {
    background: #8f5f3f;
    border-color: #8f5f3f
}

.checkbox__input:checked+.checkbox__box::after {
    transform: rotate(45deg) scale(1)
}

.checkbox__input:indeterminate+.checkbox__box {
    background: #8f5f3f;
    border-color: #8f5f3f
}

.checkbox__input:indeterminate+.checkbox__box::after {
    left: 3px;
    top: 6.5px;
    width: 8px;
    height: 0;
    border-width: 0 0 2px 0;
    transform: none
}

.checkbox__label {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

.checkbox__desc {
    padding-left: 28px;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #666
}

.checkbox--disabled {
    cursor: not-allowed;
    opacity: .5
}

.modal {
    position: fixed;
    inset: 0;
    z-index: 120;
    display: flex;
    justify-content: center;
    overflow-y: auto;
    padding: 48px 32px
}

.modal__overlay {
    position: fixed;
    inset: 0;
    background: rgba(30, 30, 30, .4)
}

.modal__box {
    position: relative;
    width: 453px;
    max-width: 100%;
    margin: auto;
    padding: 40px;
    border-radius: 20px;
    background: #fcf5de
}

.modal__close {
    position: absolute;
    top: 24px;
    right: 24px;
    width: 24px;
    height: 24px;
    padding: 0;
    border: none;
    background: 0 0;
    color: #1e1e1e;
    cursor: pointer
}

.modal__close svg {
    display: block;
    width: 100%;
    height: 100%
}

.modal__title {
    margin-bottom: 16px;
    font-family: Lora, Georgia, serif;
    font-weight: 400;
    font-size: 40px;
    line-height: 1;
    letter-spacing: -1.2px;
    color: #1e1e1e
}

.modal__subtitle {
    margin-bottom: 40px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5;
    color: #333
}

.modal__form {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.modal__field {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.modal__label {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.2;
    color: #1e1e1e
}

.modal__input,
.modal__textarea {
    width: 100%;
    padding: 12px 16px;
    border: none;
    border-radius: 8px;
    background: #fff;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5;
    color: #333
}

.modal__textarea {
    min-height: 88px;
    resize: vertical
}

.modal__check {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    cursor: pointer
}

.modal__checkbox {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin-top: 2px;
    accent-color: #8f5f3f
}

.modal__check-label {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 13px;
    line-height: 1.5;
    color: #333
}

.modal__check-label a {
    color: #8f5f3f;
    text-decoration: underline
}

.modal__submit {
    align-self: flex-start
}

.modal__note {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5;
    color: #8f5f3f
}

.modal--search {
    padding: 0
}

.modal--search .modal__overlay {
    background: #fcfbf7
}

.modal--search .modal__close {
    color: #8f5f3f
}

@media (max-width:755px) {
    .modal {
        padding: 0
    }

    .modal__box {
        width: 100%;
        min-height: 100%;
        border-radius: 0;
        padding: 32px 12px
    }

    .modal__title {
        font-size: 32px
    }

    .modal--search .modal__close {
        top: 20px;
        right: 12px
    }
}

.search-modal {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 100%;
    padding: 24px max(32px, (100% - 1376px) / 2)
}

.search-modal__cards {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 260px;
    flex-shrink: 0
}

.search-modal__card {
    position: relative;
    display: block;
    height: 260px;
    border-radius: 8px;
    overflow: hidden
}

.search-modal__card img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.search-modal__card-label {
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 14px;
    display: flex;
    align-items: flex-end;
    gap: 6px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 1.25;
    color: #fff
}

.search-modal__card-label svg {
    flex-shrink: 0;
    width: 8px;
    height: 14px;
    margin-bottom: 3px
}

.search-modal__center {
    flex: 1;
    display: flex;
    justify-content: center
}

.search-modal__panel {
    width: calc(100% - 48px);
    max-width: 640px;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(51, 51, 51, .06);
    margin-top: 40px;
}

.search-modal__bar {
    display: flex;
    align-items: stretch;
    border-bottom: 1px solid rgba(51, 51, 51, .12)
}

.search-modal__input {
    flex: 1;
    min-width: 0;
    padding: 20px 16px;
    border: none;
    background: 0 0;
    font-family: Lora, Georgia, serif;
    font-weight: 400;
    font-size: 20px;
    color: #1e1e1e
}

.search-modal__input::placeholder {
    color: #999
}

.search-modal__submit {
    flex-shrink: 0;
    margin: 0;
    padding: 0 24px;
    border: none;
    border-radius: 0 8px 0 0;
    background: #8f5f3f;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #fff;
    cursor: pointer
}

.search-modal__popular {
    padding: 16px
}

.search-modal__popular-title {
    margin-bottom: 12px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 12px;
    color: #999
}

.search-modal__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.search-modal__title {
    display: none
}

@media (max-width:755px) {
    .search-modal {
        align-items: flex-start;
        padding: 0
    }

    .search-modal__cards {
        display: none
    }

    .search-modal__center {
        justify-content: stretch
    }

    .search-modal__panel {
        width: 100%;
        max-width: none;
        border-radius: 0;
        box-shadow: none;
        background: 0 0;
    }

    .search-modal__bar {
        background: #fff;
        border-top: 1px solid rgba(51, 51, 51, .12)
    }

    .search-modal__title {
        display: block;
        position: absolute;
        top: 16px;
        left: 12px;
        font-family: Lora, Georgia, serif;
        font-weight: 400;
        font-size: 28px;
        color: #1e1e1e
    }

    .search-modal__submit {
        margin: 12px;
        padding: 10px 20px;
        border-radius: 8px
    }
}

.search-page {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding-bottom: 96px
}

.search-page__panel {
    display: block
}

.search-page__empty {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    color: #333
}

.search-page__list {
    display: flex;
    flex-direction: column;
    gap: 32px;
    max-width: 808px
}

.search-page__link {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    color: #1e1e1e
}

.search-page__link b {
    color: #8f5f3f
}

.search-page__text {
    margin-top: 8px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.6;
    color: #333
}

.search-page__text b {
    color: #8f5f3f;
    font-weight: 600
}

.pay {
    padding: 48px 0 96px
}

.pay__title {
    max-width: 500px;
    margin: 0 0 64px 136px;
    font-family: Lora, Georgia, serif;
    font-weight: 400;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #1e1e1e
}

.pay__rows {
    display: flex;
    flex-direction: column
}

@media (max-width:755px) {
    .pay {
        padding: 24px 0 64px
    }

    .pay__title {
        margin: 0 0 40px;
        font-size: 40px;
        letter-spacing: -1.2px
    }
}

.pay--head {
    padding: 48px 0 64px
}

.pay--head .pay__title {
    margin-bottom: 0
}

.pay--row {
    padding: 0
}

.pay--head+.pay--row .pay__row {
    border-top: none
}

.pay--row:last-of-type .pay__row {
    padding-bottom: 96px
}

.pay-row {
    display: flex;
    gap: 64px;
    padding: 40px 0 40px 136px;
    border-top: 1px solid rgba(51, 51, 51, .12)
}

.pay-row:first-child {
    border-top: none;
    padding-top: 0
}

.pay-row__label {
    flex: 0 0 200px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.66px;
    color: #1e1e1e
}

.pay-row__body {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 520px;
    max-width: 100%
}

.pay-row__head {
    display: flex;
    align-items: flex-start;
    gap: 32px
}

.pay-row__head .button {
    flex-shrink: 0;
    margin-left: auto;
    white-space: nowrap
}

.pay-row__text {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #333
}

.pay-row__pays {
    display: flex;
    gap: 8px
}

.pay-row__pays img,
.pay-row__pays svg {
    width: auto;
    height: 24px
}

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

.pay-row__cards--half {
    flex-direction: row
}

.pay-row__cards--half .pay-card {
    flex: 1
}

@media (max-width:755px) {
    .pay-row {
        flex-direction: column;
        gap: 16px;
        padding: 32px 0
    }

    .pay-row__label {
        flex: none
    }

    .pay-row__body {
        width: 100%
    }

    .pay-row__head {
        flex-direction: column;
        gap: 24px
    }

    .pay-row__head .button {
        margin-left: 0;
        width: 100%
    }

    .pay-row__cards--half {
        flex-direction: column
    }
}

.pay-row__pays img {
    width: auto;
    height: 24px
}

.pay-card {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 20px 24px 24px;
    border-radius: 8px;
    background: #fcf5de
}

.pay-card__label {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 13px;
    line-height: 1.2;
    color: #333
}

.pay-card__value {
    font-family: Lora, Georgia, serif;
    font-weight: 400;
    font-size: 28px;
    line-height: 1;
    letter-spacing: -.84px;
    color: #1e1e1e
}

.pay-info {
    padding: 96px 0 120px;
    background: #fffdf7
}

.pay-info__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 64px
}

.pay-info__title {
    margin-bottom: 32px;
    font-family: Lora, Georgia, serif;
    font-weight: 400;
    font-size: 34px;
    line-height: 1.1;
    letter-spacing: -1.02px;
    color: #1e1e1e
}

.pay-info__qr {
    display: flex;
    gap: 20px
}

.pay-info__qr-img {
    flex-shrink: 0;
    width: 80px;
    height: 80px
}

.pay-info__qr-text,
.pay-info__text {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #333
}

.pay-info__text {
    margin-bottom: 24px
}

@media (max-width:755px) {
    .pay-info {
        padding: 64px 0 80px
    }

    .pay-info__grid {
        grid-template-columns: 1fr;
        gap: 48px
    }
}

.pay-docs {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none
}

.pay-doc {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5;
    color: #1e1e1e
}

.pay-doc:hover {
    color: #8f5f3f
}

.pay-doc__icon {
    flex-shrink: 0;
    width: 16px;
    height: 20px;
    margin-top: 1px;
    color: #1e1e1e
}

.pay-doc__icon svg {
    display: block;
    width: 100%;
    height: 100%
}

.legal-head {
    padding: 48px 0 0
}

.legal-head__title {
    margin-bottom: 24px;
    font-family: Lora, Georgia, serif;
    font-weight: 400;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #1e1e1e
}

.legal-head__tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

@media (max-width:755px) {
    .legal-head {
        padding: 24px 0 0
    }

    .legal-head__title {
        font-size: 40px;
        letter-spacing: -1.2px
    }
}

.legal-text {
    padding: 64px 0
}

.legal-text+.legal-text {
    border-top: 1px solid rgba(51, 51, 51, .12)
}

.legal-text__title {
    margin-bottom: 32px;
    font-family: Lora, Georgia, serif;
    font-weight: 400;
    font-size: 34px;
    line-height: 1.1;
    letter-spacing: -1.02px;
    color: #1e1e1e
}

.legal-text__body {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #333
}

.legal-text__body p+p {
    margin-top: 16px
}

.legal-text__body a {
    color: #8f5f3f;
    text-decoration: underline
}

.legal-text__pays {
    display: flex;
    gap: 8px;
    margin-top: 32px
}

.legal-text__pays img,
.legal-text__pays svg {
    width: auto;
    height: 24px
}

.legal-text--split .legal-text__inner {
    display: flex;
    gap: 64px
}

.legal-text--split .legal-text__title {
    flex: 0 0 420px;
    margin-bottom: 0
}

.legal-text--split .legal-text__content {
    flex: 1;
    max-width: 700px
}

@media (max-width:755px) {
    .legal-text {
        padding: 40px 0
    }

    .legal-text--split .legal-text__inner {
        flex-direction: column;
        gap: 24px
    }

    .legal-text--split .legal-text__title {
        flex: none
    }
}

.hero {
    position: relative;
    min-height: 800px;
    border-radius: 0 0 20px 20px;
    overflow: hidden;
    color: #fff
}

.hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0
}

.hero__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.hero__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(241.5deg, rgba(0, 0, 0, 0) 51.9%, rgba(0, 0, 0, .4) 100%), rgba(0, 0, 0, .2)
}

.hero__inner {
    position: relative;
    z-index: 2;
    min-height: 800px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    padding-top: 72px;
    padding-bottom: 16px
}

.hero__title {
    max-width: 515px;
    margin: 0 0 56px;
    font-family: Lora, Georgia, serif;
    font-weight: 400;
    font-size: 80px;
    line-height: .9;
    letter-spacing: -2.4px
}

.hero__title .hero__title-br {
    display: none
}

@media (min-width:756px) and (max-width:1279px) {
    .hero {
        min-height: 0;
        overflow: visible;
        border-radius: 0
    }

    .hero__bg {
        inset: 0 0 auto 0;
        height: 480px;
        border-radius: 0 0 20px 20px;
        overflow: hidden
    }

    .hero__inner {
        min-height: 0;
        display: block;
        padding-top: 310px;
        padding-bottom: 0
    }

    .hero__title {
        max-width: 470px;
        margin: 0;
        font-size: 68px;
        letter-spacing: -2.04px
    }
}

@media (max-width:755px) {
    .hero {
        min-height: 0;
        overflow: visible;
        border-radius: 0;
        background: #fcfbf7
    }

    .hero__bg {
        inset: 0 0 auto 0;
        height: 480px;
        border-radius: 0 0 20px 20px;
        overflow: hidden
    }

    .hero__inner {
        min-height: 0;
        display: block;
        padding-top: 362px;
        padding-bottom: 0
    }

    .hero__title {
        margin: 0;
        font-weight: 500;
        font-size: 36px;
        line-height: 1.2;
        letter-spacing: -.36px
    }

    .hero__title .hero__title-br {
        display: inline
    }
}

.booking {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding-left: 20px;
    background: #fff;
    color: #333;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 8px 48px -8px rgba(12, 12, 13, .1), 0 4px 4px -4px rgba(12, 12, 13, .05)
}

.booking__title {
    flex-shrink: 0;
    width: 180px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.1;
    letter-spacing: -.6px
}

.booking__module {
    flex: 1 1 auto;
    min-width: 0;
    margin-right: 10px;
}

.booking__fields {
    display: flex;
    align-items: stretch
}

.booking__field {
    position: relative;
    display: flex;
    align-items: center;
    gap: 6px;
    width: 268px;
    padding: 8px 40px 8px 8px;
    border-left: 1px solid rgba(51, 51, 51, .12);
    text-align: left;
    transition: background-color .2s ease
}

.booking__field:hover {
    background: rgba(143, 95, 63, .05)
}

.booking__field-icon {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    color: #333
}

.booking__field-icon img,
.booking__field-icon svg {
    width: 25px;
    height: 25px
}

.booking__field-text {
    display: flex;
    flex-direction: column;
    gap: 2px
}

.booking__field-label {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -.3px;
    opacity: .5
}

.booking__field-value {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -.3px
}

.booking__field-arrow {
    position: absolute;
    right: 16px;
    top: 50%;
    transform: translateY(-50%);
    width: 10px;
    height: 16px;
    color: #333;
    opacity: .6
}

.booking__field-arrow img,
.booking__field-arrow svg {
    width: 100%;
    height: 100%
}

.booking__submit {
    flex-shrink: 0;
    width: 260px;
    padding: 4px
}

.booking__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 66px;
    background: #8f5f3f;
    color: #fff;
    border-radius: 8px;
    font-size: 16px;
    font-weight: 600;
    line-height: .9;
    transition: background-color .2s ease
}

.booking__btn:hover {
    background: #7c5135
}

@media (min-width:756px) and (max-width:1279px) {
    .booking {
        flex-direction: column;
        align-items: stretch;
        margin-top: 72px;
        padding-left: 0;
        background: 0 0;
        border-radius: 0;
        box-shadow: none
    }

    .booking__title {
        width: auto;
        margin-bottom: 12px
    }

    .booking__module {
        width: 100%
    }

    .booking__field {
        flex: 1 1 0;
        width: auto;
        min-width: 0;
        padding-right: 32px
    }

    .booking__field:first-child {
        padding-left: 0;
        border-left: none
    }

    .booking__field-value {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap
    }
}

@media (max-width:755px) {
    .booking {
        flex-direction: column;
        align-items: stretch;
        padding: 0;
        margin-top: 56px;
        background: 0 0;
        border-radius: 0;
        box-shadow: none;
        color: #333
    }

    .booking__title {
        display: none
    }

    .booking__module {
        width: 100%
    }

    .booking__fields {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 4px 5px
    }

    .booking__field {
        width: calc(50% - 2.5px);
        padding: 8px 16px 8px 8px;
        border-left: none;
        background: #fff;
        border-radius: 8px
    }

    .booking__field:nth-child(3) {
        width: 100%
    }

    .booking__field-label,
    .booking__field-value {
        font-size: 14px;
        line-height: 1.7;
        letter-spacing: 0
    }

    .booking__field-text {
        gap: 0
    }

    .booking__field-arrow {
        right: 12px;
        width: 12px;
        height: 19px
    }

    .booking__submit {
        width: 100%;
        margin-top: 12px;
        padding: 0
    }

    .booking__btn {
        height: 56px
    }
}

.rooms {
    padding: 64px 0;
    background: #fffdf7
}

.rooms__head {
    max-width: 534px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 24px;
    text-align: center
}

.rooms__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.rooms__subtitle {
    font-weight: 500;
    font-size: 17px;
    line-height: 1.6;
    color: #101010
}

.rooms__cutlery {
    display: inline-flex;
    align-items: center;
    width: 11px;
    height: 18px;
    margin-right: 4px;
    vertical-align: -3px;
    color: #8f5f3f
}

.rooms__cutlery img,
.rooms__cutlery svg {
    width: 100%;
    height: 100%
}

.rooms__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 4px;
    margin-top: 64px
}

.rooms__col {
    min-width: 0
}

.rooms__media {
    position: relative;
    width: 100%;
    height: 458px;
    border-radius: 8px;
    overflow: hidden
}

.rooms__media img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.rooms__media .rooms__dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 32px;
    z-index: 2;
    display: flex;
    justify-content: center;
    gap: 4px;
    transform: none;
    opacity: 0;
    transition: opacity .25s ease
}

.rooms__media:hover .rooms__dots {
    opacity: 1
}

.rooms__dot {
    width: 32px;
    height: 8px;
    border-radius: 999px;
    background: #fff;
    opacity: .4
}

.rooms__dot--active {
    opacity: 1
}

.rooms__nav {
    position: absolute;
    bottom: 24px;
    z-index: 3;
    width: 40px;
    height: 40px;
    opacity: 0;
    visibility: hidden;
    transition: transform .2s ease, opacity .25s ease, visibility .25s ease
}

.rooms__nav:hover {
    transform: scale(1.08)
}

.rooms__nav img,
.rooms__nav svg {
    width: 100%;
    height: 100%
}

.rooms__media:hover .rooms__nav {
    opacity: 1;
    visibility: visible
}

.rooms__nav--prev {
    left: 24px
}

.rooms__nav--next {
    right: 24px
}

.rooms__body {
    max-width: 340px;
    margin-top: 32px;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.rooms__col:focus-within .rooms__card-actions,
.rooms__col:hover .rooms__card-actions {
    opacity: 1;
    visibility: visible
}

@media (min-width:756px) and (max-width:1279px) {
    .rooms__media {
        height: auto;
        aspect-ratio: 1/1
    }

    .rooms__col {
        display: flex;
        flex-direction: column
    }

    .rooms__body {
        flex: 1 1 auto;
        max-width: 82%
    }
}

@media (max-width:755px) {
    .rooms {
        padding: 48px 0;
        background: #fcfbf7
    }

    .rooms__head {
        max-width: none;
        margin: 0;
        text-align: left
    }

    .rooms__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .rooms__subtitle {
        font-size: 16px;
        line-height: 1.5
    }

    .rooms__grid {
        grid-template-columns: 1fr;
        gap: 48px;
        margin-top: 24px
    }

    .rooms__media {
        height: 240px
    }

    .rooms__media .rooms__dots,
    .rooms__nav {
        display: none
    }

    .rooms__body {
        max-width: none;
        margin-top: 24px
    }
}

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

.rooms__card-title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: .9;
    letter-spacing: -1.02px;
    color: #333
}

.rooms__card-meta {
    display: flex;
    gap: 16px
}

.rooms__card-meta-item {
    display: flex;
    align-items: center;
    gap: 6px;
    color: #666
}

.rooms__card-icon {
    width: 28px;
    height: 28px
}

.rooms__card-icon img,
.rooms__card-icon svg {
    width: 100%;
    height: 100%
}

.rooms__card-meta-val {
    font-weight: 600;
    font-size: 18px;
    line-height: .9;
    color: #666
}

.rooms__card-desc {
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.rooms__card-actions {
    display: flex;
    gap: 8px;
    opacity: 0;
    visibility: hidden;
    transition: opacity .25s ease, visibility .25s ease
}

.rooms__card-actions .button {
    flex: 1 0 0;
    min-width: 0
}

@media (min-width:756px) and (max-width:1279px) {
    .rooms__card-actions {
        flex-direction: column;
        max-width: 210px;
        margin-top: auto;
        opacity: 1;
        visibility: visible
    }
}

@media (max-width:755px) {
    .rooms__card-head {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 8px
    }

    .rooms__card-title {
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: -.2px
    }

    .rooms__card-meta-val {
        font-weight: 500;
        font-size: 16px;
        line-height: 1.5
    }

    .rooms__card-actions {
        opacity: 1;
        visibility: visible
    }
}

.rests {
    padding: 100px 0;
    background: #fffdf7;
    border-top: 1px solid rgba(51, 51, 51, .12)
}

.rests__inner {
    max-width: 1440px;
    margin: 0 auto
}

.rests__head {
    padding: 0 32px
}

.rests__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.rests__desc {
    max-width: 1023px;
    margin-top: 24px;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

.rests__body {
    display: flex;
    align-items: flex-start;
    gap: 32px;
    margin-top: 48px;
    padding-right: 32px
}

.rests__list {
    flex-shrink: 0;
    width: 688px
}

.rests__item {
    display: flex;
    align-items: center;
    gap: 0;
    padding: 24px 0 24px 40px;
    border-bottom: 1px solid rgba(51, 51, 51, .12);
    cursor: pointer
}

.rests__item:last-child {
    border-bottom: none
}

.rests__item-name {
    min-width: 230px;
    padding-right: 16px;
    font-weight: 600;
    font-size: 22px;
    line-height: 24px;
    letter-spacing: -.66px;
    color: #333;
    transition: color .2s ease
}

.rests__item.is-active .rests__item-name,
.rests__item:hover .rests__item-name {
    color: #666
}

.rests__cuisine {
    display: none;
    flex-shrink: 0;
    align-items: center;
    gap: 6px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.rests__item.is-active .rests__cuisine {
    display: flex
}

.rests__cuisine-icon {
    width: 24px;
    height: 24px
}

.rests__cuisine-icon img,
.rests__cuisine-icon svg {
    width: 100%;
    height: 100%
}

.rests__media {
    flex: 1 0 0;
    min-width: 0;
    height: 509px;
    border-radius: 8px;
    overflow: hidden
}

.rests__media img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.rests__cards {
    display: none
}

@media (max-width:1279px) {
    .rests__body {
        display: none
    }

    .rests__cards {
        display: block
    }

    .rests__card-img {
        width: 100%;
        aspect-ratio: 4/3;
        object-fit: cover;
        border-radius: 8px
    }

    .rests__card-name {
        margin-top: 16px;
        font-family: Lora, Georgia, serif;
        font-weight: 500;
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: -.2px;
        color: #333
    }

    .rests__card-cuisine {
        margin-top: 8px;
        font-weight: 500;
        font-size: 14px;
        line-height: 1.7;
        color: #666
    }

    .rests__card-menu {
        display: inline-flex;
        align-items: center;
        gap: 24px;
        margin-top: 32px;
        padding: 8px 8px 8px 10px;
        border-radius: 8px;
        background: #8f5f3f;
        color: #fff;
        font-weight: 600;
        font-size: 16px;
        line-height: .9
    }

    .rests__card-menu-arrow {
        display: flex;
        width: 7px;
        height: 12px
    }

    .rests__card-menu-arrow img,
    .rests__card-menu-arrow svg {
        width: 100%;
        height: 100%
    }
}

@media (min-width:756px) and (max-width:1279px) {
    .rests {
        padding: 64px 0
    }

    .rests__desc {
        max-width: 716px
    }

    .rests__cards {
        width: calc(100% - 32px);
        margin-top: 72px;
        margin-left: 32px
    }
}

@media (max-width:755px) {
    .rests {
        padding: 48px 0;
        background: #fcfbf7
    }

    .rests__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .rests__head {
        padding: 0 12px
    }

    .rests__desc {
        margin-top: 22px;
        font-size: 14px;
        line-height: 1.7;
        color: #666
    }

    .rests__cards {
        margin-top: 22px
    }

    .rests .swiper--peek {
        margin-left: 0;
        margin-right: 0
    }
}

.fun {
    padding: 100px 0 80px;
    background: #fffdf7
}

.fun__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 max(32px, 50% - 688px);
    margin-bottom: 35px
}

.fun__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.fun__more {
    display: inline-flex;
    align-items: center;
    gap: 24px;
    padding: 8px 8px 8px 10px;
    border-radius: 8px;
    background: #8f5f3f;
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    line-height: .9;
    transition: background-color .2s ease
}

.fun__more:hover {
    background: #7c5135
}

.fun__more-arrow {
    width: 8px;
    color: #fff
}

.fun__more-arrow img,
.fun__more-arrow svg {
    width: 100%;
    height: auto
}

.fun__grid {
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    gap: 2px
}

.fun__col {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 2px
}

.fun__card {
    position: relative;
    display: block;
    border-radius: 8px;
    overflow: hidden
}

.fun__card:not(.fun__card--brown)::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .28)
}

.fun__card--h320 {
    height: 320px
}

.fun__card--h400 {
    height: 400px
}

.fun__card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease
}

.fun__card:hover .fun__card-img {
    transform: scale(1.04)
}

.fun__card-label {
    position: absolute;
    left: 32px;
    bottom: 32px;
    z-index: 2;
    display: block;
    max-width: calc(100% - 64px);
    color: #fff;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: -.6px
}

.fun__card-label--wide {
    max-width: calc(100% - 64px)
}

.fun__chev {
    display: inline-block;
    vertical-align: middle;
    width: 11px;
    height: 14px;
    margin-left: 8px;
    color: #fff;
    transform: rotate(-90deg)
}

.fun__chev img,
.fun__chev svg {
    width: 100%;
    height: 100%
}

.fun__arrow,
.fun__card-img--mob {
    display: none
}

.fun__card--brown {
    background: #bd9463
}

.fun__circle {
    position: absolute;
    left: 24px;
    top: 24px;
    width: 220px;
    height: 220px;
    border-radius: 999px;
    overflow: hidden
}

.fun__circle img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.fun__horse {
    position: absolute;
    right: -16px;
    bottom: -13px;
    z-index: 1;
    height: 185px;
    color: #fff
}

.fun__horse img,
.fun__horse svg {
    height: 100%;
    width: auto
}

@media (max-width:1279px) {
    .fun__grid {
        display: grid;
        grid-template-columns: 1fr 1fr
    }

    .fun__col {
        display: contents
    }

    .fun__col:nth-child(1) .fun__card:nth-child(1) {
        order: 1
    }

    .fun__col:nth-child(1) .fun__card:nth-child(2) {
        order: 4
    }

    .fun__col:nth-child(2) .fun__card:nth-child(1) {
        order: 2
    }

    .fun__col:nth-child(2) .fun__card:nth-child(2) {
        order: 5
    }

    .fun__col:nth-child(3) .fun__card:nth-child(1) {
        order: 3
    }

    .fun__col:nth-child(3) .fun__card:nth-child(2) {
        order: 6
    }

    .fun__card,
    .fun__card--h320,
    .fun__card--h400 {
        height: auto
    }
}

@media (min-width:756px) and (max-width:1279px) {
    .fun {
        padding: 120px 0 80px
    }

    .fun__head {
        margin-bottom: 48px
    }

    .fun__grid {
        gap: 4px;
        padding: 0 32px
    }

    .fun__card {
        aspect-ratio: 3/2
    }

    .fun__circle {
        width: 180px;
        height: 180px
    }

    .fun__horse {
        right: -48px;
        bottom: -9px;
        height: 160px
    }
}

@media (max-width:755px) {
    .fun {
        padding: 48px 0;
        background: #fcfbf7
    }

    .fun__head {
        padding: 0 12px;
        margin-bottom: 24px
    }

    .fun__title {
        min-width: 0;
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .fun__more {
        display: none
    }

    .fun__grid {
        gap: 16px 12px;
        padding: 0 12px
    }

    .fun__card,
    .fun__card--h320,
    .fun__card--h400 {
        height: auto;
        border-radius: 0;
        overflow: visible;
        background: 0 0
    }

    .fun__card:not(.fun__card--brown)::after {
        inset: 0 0 auto;
        height: 200px;
        border-radius: 8px;
        background: rgba(0, 0, 0, .1)
    }

    .fun__card-img {
        display: block;
        width: 100%;
        height: 200px;
        border-radius: 8px;
        object-fit: cover
    }

    .fun__card:hover .fun__card-img {
        transform: none
    }

    .fun__card-img--mob {
        display: block
    }

    .fun__circle,
    .fun__horse {
        display: none
    }

    .fun__card-label {
        position: static;
        margin-top: 8px;
        max-width: none;
        color: #333;
        font-size: 14px;
        line-height: 1.7;
        letter-spacing: 0
    }

    .fun__chev {
        display: none
    }

    .fun__arrow {
        display: flex;
        position: absolute;
        left: 8px;
        top: 152px;
        width: 40px;
        height: 40px
    }

    .fun__arrow img,
    .fun__arrow svg {
        width: 100%;
        height: 100%
    }
}

.pool {
    padding: 64px 0;
    background: #fffdf7
}

.pool__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 59px
}

.pool__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    width: 534px;
    max-width: 100%;
    text-align: center
}

.pool__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.pool__subtitle {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

.pool__media {
    position: relative;
    width: 100%;
    height: 560px;
    border-radius: 8px;
    overflow: hidden
}

.pool__media img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.pool__nav {
    position: absolute;
    bottom: 8px;
    z-index: 3;
    width: 64px;
    height: 64px;
    transition: transform .2s ease
}

.pool__nav:hover {
    transform: scale(1.06)
}

.pool__nav img,
.pool__nav svg {
    width: 100%;
    height: 100%
}

.pool__nav--prev {
    left: 8px
}

.pool__nav--next {
    right: 8px
}

.pool__dots {
    position: absolute;
    left: 50%;
    bottom: 37px;
    z-index: 2;
    transform: translateX(-50%);
    display: flex;
    gap: 4px
}

.pool__dot {
    width: 32px;
    height: 8px;
    border-radius: 999px;
    background: #fff;
    opacity: .4
}

.pool__dot--active {
    opacity: 1
}

@media (max-width:755px) {
    .pool {
        padding: 48px 0;
        background: #fcfbf7
    }

    .pool__inner {
        align-items: stretch;
        gap: 24px
    }

    .pool__head {
        width: auto;
        align-items: flex-start;
        gap: 24px;
        text-align: left
    }

    .pool__more {
        display: none
    }

    .pool__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .pool__subtitle {
        font-size: 14px;
        line-height: 1.7
    }

    .pool__media {
        height: 240px;
        border-radius: 0
    }

    .pool__media img {
        border-radius: 8px
    }

    .pool__media .pool__dots,
    .pool__nav {
        display: none
    }
}

.about-hotel {
    background: #fffdf7;
    overflow: hidden
}

.about-hotel__canvas {
    position: relative;
    width: 1440px;
    height: 1122px;
    margin: 0 auto
}

.about-hotel__collage {
    display: contents
}

.about-hotel__title {
    position: absolute;
    left: 50%;
    top: 64px;
    transform: translateX(-50%);
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333;
    white-space: nowrap
}

.about-hotel__intro {
    position: absolute;
    left: 386px;
    top: 175px;
    width: 667px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px
}

.about-hotel__lead {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333;
    text-align: center
}

.about-hotel__note {
    position: absolute;
    left: 1051px;
    top: 638px;
    width: 309px;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

.about-hotel__img {
    position: absolute;
    border-radius: 8px;
    overflow: hidden
}

.about-hotel__img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.about-hotel__img::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .15)
}

.about-hotel__img--center {
    left: 437px;
    top: 515px;
    width: 566px;
    height: 364px
}

.about-hotel__img--tr {
    left: 1168px;
    top: 64px;
    width: 240px;
    height: 336px
}

.about-hotel__img--bl {
    left: 32px;
    top: 648px;
    width: 240px;
    height: 320px
}

.about-hotel__img--bl::after {
    display: none
}

.about-hotel__card {
    position: absolute;
    width: 240px;
    height: 240px;
    border-radius: 20px;
    box-shadow: 0 4px 92px 0 rgba(153, 153, 153, .11);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center
}

.about-hotel__card--rooms {
    left: 857px;
    top: 809px;
    background: #bd9463;
    color: #fff;
    transform: rotate(-4.27deg)
}

.about-hotel__card--rests {
    left: 133px;
    top: 448px;
    background: #fff;
    color: #333;
    transform: rotate(3.41deg)
}

.about-hotel__card-icon {
    position: absolute;
    left: 16px;
    top: 16px;
    width: 20px;
    height: 20px
}

.about-hotel__card-icon img,
.about-hotel__card-icon svg {
    width: 100%;
    height: 100%
}

.about-hotel__card--rests .about-hotel__card-icon {
    color: #8f5f3f
}

.about-hotel__card-val {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 100px;
    line-height: .9;
    letter-spacing: -3px
}

.about-hotel__card-label {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    opacity: .6
}

@media (min-width:756px) and (max-width:1279px) {
    .about-hotel__canvas {
        width: 100%;
        height: auto;
        padding: 64px 32px
    }

    .about-hotel__title {
        position: static;
        transform: none;
        display: block;
        text-align: center
    }

    .about-hotel__intro {
        position: static;
        width: 100%;
        max-width: 667px;
        margin: 64px auto 0
    }

    .about-hotel__collage {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        align-items: center;
        margin-top: 64px
    }

    .about-hotel__card,
    .about-hotel__img {
        position: static;
        transform: none !important
    }

    .about-hotel__img--center {
        display: none
    }

    .about-hotel__img--bl,
    .about-hotel__img--tr {
        width: 100%;
        height: auto;
        aspect-ratio: 233/288
    }

    .about-hotel__img--bl::after,
    .about-hotel__img--tr::after {
        display: none
    }

    .about-hotel__img--bl {
        grid-area: 1/1
    }

    .about-hotel__card--rests {
        grid-area: 1/2
    }

    .about-hotel__img--tr {
        grid-area: 1/3
    }

    .about-hotel__card--rooms {
        grid-area: 1/4
    }

    .about-hotel__card {
        width: auto;
        height: auto;
        padding: 0;
        gap: 24px;
        background: 0 0 !important;
        box-shadow: none;
        border-radius: 0;
        color: #333 !important
    }

    .about-hotel__card-icon {
        position: static;
        width: 24px;
        height: 24px;
        color: #8f5f3f
    }

    .about-hotel__note {
        position: static;
        width: auto;
        max-width: 476px;
        margin-top: 48px
    }
}

@media (max-width:755px) {
    .about-hotel {
        overflow: hidden;
        background: #fcfbf7
    }

    .about-hotel__canvas {
        width: 100%;
        height: auto;
        transform: none;
        padding: 48px 12px;
        display: flex;
        flex-direction: column;
        gap: 24px
    }

    .about-hotel__title {
        position: static;
        transform: none;
        font-size: 28px;
        letter-spacing: -.28px;
        line-height: 1.2;
        white-space: normal;
        text-align: left
    }

    .about-hotel__intro {
        position: static;
        width: 100%;
        align-items: flex-start;
        gap: 24px
    }

    .about-hotel__lead {
        font-family: Raleway, system-ui, -apple-system, sans-serif;
        font-size: 14px;
        letter-spacing: 0;
        line-height: 1.7;
        text-align: left
    }

    .about-hotel__collage {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 16px 12px;
        align-items: stretch
    }

    .about-hotel__img::after {
        display: none
    }

    .about-hotel__img--center {
        display: none
    }

    .about-hotel__card,
    .about-hotel__img {
        position: static;
        transform: none !important
    }

    .about-hotel__card--rests {
        grid-column: 1;
        grid-row: 1
    }

    .about-hotel__img--tr {
        grid-column: 2;
        grid-row: 1;
        width: 100%;
        height: 200px
    }

    .about-hotel__img--bl {
        grid-column: 1;
        grid-row: 2;
        width: 100%;
        height: 200px
    }

    .about-hotel__card--rooms {
        grid-column: 2;
        grid-row: 2
    }

    .about-hotel__card {
        width: auto;
        height: auto;
        min-height: 0;
        padding: 0;
        background: 0 0 !important;
        box-shadow: none;
        border-radius: 0;
        align-items: center;
        justify-content: center;
        text-align: center;
        color: #333 !important;
        gap: 0
    }

    .about-hotel__card-icon {
        position: static;
        width: 24px;
        height: 24px;
        margin-bottom: 24px;
        color: #8f5f3f
    }

    .about-hotel__card-val {
        font-size: 36px;
        line-height: 1.2;
        letter-spacing: -.36px
    }

    .about-hotel__card-label {
        font-size: 14px;
        line-height: 1.7;
        opacity: .6
    }

    .about-hotel__note {
        position: static;
        width: 100%;
        font-size: 14px;
        line-height: 1.7
    }
}

.offers {
    padding: 64px 0 100px;
    background: #fcfbf7
}

.offers__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 48px
}

.offers__head-left {
    display: flex;
    align-items: flex-end;
    gap: 32px
}

.offers__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.offers__nav {
    display: flex;
    align-items: center;
    gap: 4px
}

.offers__nav-btn {
    width: 40px;
    height: 40px;
    transition: transform .2s ease
}

.offers__nav-btn:hover {
    transform: scale(1.08)
}

.offers__nav-btn img,
.offers__nav-btn svg {
    width: 100%;
    height: 100%
}

.offers__mnext {
    display: none
}

.offers__grid {
    display: flex;
    gap: 8px
}

@media (max-width:755px) {
    .offers {
        padding: 48px 0
    }

    .offers__head {
        margin-bottom: 24px
    }

    .offers__more,
    .offers__nav {
        display: none
    }

    .offers__mnext {
        display: inline-flex
    }

    .offers__head-left {
        min-width: 0
    }

    .offers__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }
}

.offers--tight {
    padding-bottom: 0
}

.offers--others .offers__more {
    display: none
}

@media (max-width:755px) {
    .offers--others .offers__mnext {
        display: none
    }

    .offers--others {
        padding-bottom: 92px
    }
}

.offer {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.offer__media {
    position: relative;
    height: 540px;
    border-radius: 8px;
    overflow: hidden
}

.offer__media img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.offer__media::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 51%, rgba(0, 0, 0, .8) 100%)
}

.offer__badge {
    position: absolute;
    left: 16px;
    bottom: 16px;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 124px;
    height: 80px;
    border-radius: 999px;
    background: #fff;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: .9;
    letter-spacing: -1.02px;
    color: #333
}

.offer__body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-right: 48px
}

.offer__date {
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.offer__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333
}

.offer__desc {
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

@media (min-width:756px) and (max-width:1279px) {
    .offer__media {
        height: auto;
        aspect-ratio: 314/373
    }
}

@media (max-width:755px) {
    .offer__media {
        height: auto;
        aspect-ratio: 316/360
    }

    .offer__badge {
        left: 12px;
        bottom: 12px;
        font-size: 36px;
        letter-spacing: -.36px;
        line-height: 1.2
    }

    .offer {
        gap: 18px
    }

    .offer__title {
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: -.2px
    }
}

.map {
    position: relative;
    background: #fffdf7
}

.map__intro {
    position: absolute;
    top: 48px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    width: 100%;
    pointer-events: none
}

.map__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #fff
}

.map__text {
    position: absolute;
    left: 50%;
    top: 5px;
    transform: translateX(-50%);
    max-width: 520px;
    text-align: center;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #fff
}

.map__img {
    display: block;
    width: 100%;
    height: auto
}

.map__hint {
    display: none
}

@media (min-width:756px) and (max-width:1279px) {
    .map__intro {
        top: 64px;
        text-align: center
    }

    .map__text {
        position: static;
        transform: none;
        max-width: 640px;
        margin: 24px auto 0
    }
}

@media (max-width:755px) {
    .map__intro {
        position: static;
        transform: none;
        width: auto;
        padding: 48px 12px 16px
    }

    .map__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px;
        color: #1e1e1e
    }

    .map__hint {
        display: flex;
        align-items: center;
        gap: 12px;
        margin-bottom: 12px;
        padding: 0 12px;
        font-family: Raleway, system-ui, -apple-system, sans-serif;
        font-weight: 500;
        font-size: 14px;
        line-height: 1.7;
        color: #666
    }

    .map__hint-icon {
        flex-shrink: 0;
        width: 24px;
        height: 24px;
        color: #333;
        transform: rotate(-13deg)
    }

    .map__hint-icon img,
    .map__hint-icon svg {
        width: 100%;
        height: 100%
    }

    .map__text {
        position: static;
        transform: none;
        max-width: none;
        margin: 16px 0 0;
        text-align: left;
        color: #333;
        font-size: 14px;
        line-height: 1.7
    }
}

.mapi {
    position: relative;
    width: 100%
}

.mapi__viewport {
    position: relative;
    width: 100%;
    overflow: hidden;
    -webkit-overflow-scrolling: touch
}

.mapi__canvas {
    position: relative;
    width: 100%;
    aspect-ratio: 1440/1010
}

.mapi__base {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    user-select: none;
    pointer-events: none
}

.mapi__point[hidden] {
    display: none
}

.mapi__point {
    position: absolute;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #8f5f3f;
    color: #fff;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1;
    letter-spacing: -.2px;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .25);
    transition: transform .18s ease, box-shadow .18s ease;
    z-index: 2
}

.mapi__point.is-active,
.mapi__point:focus-visible,
.mapi__point:hover {
    transform: translate(-50%, -50%) scale(1.18);
    box-shadow: 0 0 0 4px rgba(255, 255, 255, .7), 0 4px 12px rgba(0, 0, 0, .3);
    z-index: 5;
    outline: 0
}

.mapi__point--red {
    background: #eb4a27
}

.mapi__point--orange {
    background: #f5a623
}

.mapi__point--pink {
    background: #e957c0
}

.mapi__point--green {
    background: #46a35a
}

.mapi__point--blue {
    background: #3f7fd0
}

.mapi__point--parking {
    background: #4a78c0
}

.mapi__point--grey {
    background: #6e6a66
}

.mapi__popup {
    position: absolute;
    z-index: 20;
    width: 240px;
    padding: 12px;
    border-radius: 8px;
    background: #fcf5de;
    box-shadow: 0 16px 32px -8px rgba(12, 12, 13, .18), 0 4px 8px -4px rgba(12, 12, 13, .08);
    transform: translate(-50%, calc(-100% - 18px))
}

.mapi__popup[hidden] {
    display: none
}

.mapi__popup-media {
    margin-bottom: 16px;
    border-radius: 8px;
    overflow: hidden
}

.mapi__popup-img {
    display: block;
    width: 121px;
    height: 80px;
    object-fit: cover;
    border-radius: 8px
}

.mapi__popup-title {
    margin-bottom: 16px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.3;
    color: #333
}

.mapi__popup-desc {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 12px;
    line-height: 1.7;
    letter-spacing: .12px;
    color: #333
}

.mapi__popup-close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 24px;
    height: 24px;
    padding: 0;
    border: 0;
    background: 0 0;
    cursor: pointer
}

.mapi__popup-close::after,
.mapi__popup-close::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 2px;
    background: #333;
    border-radius: 2px
}

.mapi__popup-close::before {
    transform: translate(-50%, -50%) rotate(45deg)
}

.mapi__popup-close::after {
    transform: translate(-50%, -50%) rotate(-45deg)
}

@media (min-width:756px) and (max-width:1279px) {
    .mapi__canvas {
        width: 1440px;
        margin-left: calc(50% - 720px)
    }
}

@media (max-width:755px) {
    .mapi__viewport {
        overflow-x: auto;
        overflow-y: hidden
    }

    .mapi__canvas {
        width: 760px
    }

    .mapi__point {
        width: 26px;
        height: 26px;
        font-size: 12px
    }

    .mapi__popup {
        width: 200px
    }
}

.news {
    background: #fffdf7;
    overflow: hidden
}

.news__canvas {
    position: relative;
    width: 100%;
    max-width: 1440px;
    height: 720px;
    margin: 0 auto
}

.news__cards,
.news__head {
    display: contents
}

.news__mnext {
    display: none
}

.news__line {
    position: absolute;
    left: 32px;
    top: 0;
    width: calc(50% - 64px);
    height: 1px;
    background: rgba(51, 51, 51, .12)
}

.news__title {
    position: absolute;
    left: 18.4%;
    top: 64px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.news__card {
    position: absolute;
    top: 175px;
    width: 16%;
    display: flex;
    flex-direction: column;
    gap: 20px
}

.news__card--1 {
    left: 8.5%
}

.news__card--2 {
    left: 25.6%
}

.news__card-img {
    width: 100%;
    height: 207px;
    border-radius: 8px;
    overflow: hidden
}

.news__card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.news__card-body {
    display: flex;
    flex-direction: column;
    gap: 13px
}

.news__card-date {
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

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

.news__card-title {
    max-width: none;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

.news__card-desc {
    max-width: none;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.news__all {
    position: absolute;
    left: 110px;
    bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(38% - 64px);
    padding: 20px 32px 22px;
    border-radius: 8px;
    background: #8f5f3f;
    color: #fff;
    font-weight: 600;
    font-size: 16px;
    line-height: .9;
    transition: background-color .2s ease
}

.news__all:hover {
    background: #7c5135
}

.news__featured {
    position: absolute;
    right: 0;
    top: 0;
    width: 50%;
    height: 720px;
    overflow: hidden;
    color: #fff
}

.news__featured-img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.news__featured-img+.news__featured-overlay {
    display: none
}

.news__featured::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .4)
}

.news__featured-content {
    position: absolute;
    left: 32px;
    right: 32px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px
}

.news__featured-head {
    display: flex;
    flex-direction: column;
    gap: 13px
}

.news__featured-date {
    font-weight: 500;
    font-size: 16px;
    line-height: 1;
    letter-spacing: -.48px;
    color: rgba(255, 255, 255, .5)
}

.news__featured-title {
    width: auto;
    max-width: 416px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px
}

.news__featured-desc {
    width: 203px;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7
}

@media (min-width:756px) and (max-width:1279px) {
    .news__canvas {
        width: 100%;
        height: auto;
        padding: 64px 32px;
        display: grid;
        grid-template-columns: 1fr 1fr 2.3fr;
        column-gap: 32px;
        row-gap: 48px;
        align-items: start
    }

    .news__line {
        display: none
    }

    .news__head {
        grid-area: 1/1/2/3;
        display: flex;
        align-items: center
    }

    .news__title {
        position: static
    }

    .news__cards {
        display: contents
    }

    .news__all {
        grid-area: 1/3;
        position: static;
        justify-self: end;
        align-self: center;
        width: auto;
        padding: 8px 16px 10px
    }

    .news__card {
        position: static;
        width: auto;
        gap: 24px
    }

    .news__card--1 {
        grid-area: 2/1
    }

    .news__card--2 {
        grid-area: 2/2
    }

    .news__card-img {
        height: auto;
        aspect-ratio: 1/1
    }

    .news__featured {
        grid-area: 2/3;
        position: relative;
        right: auto;
        top: auto;
        width: auto;
        height: auto;
        min-height: 528px;
        border-radius: 8px
    }
}

@media (max-width:755px) {
    .news {
        overflow: hidden
    }

    .news__canvas {
        width: 100%;
        height: auto;
        transform: none;
        padding: 48px 12px;
        display: flex;
        flex-direction: column;
        gap: 24px
    }

    .news__line {
        display: none
    }

    .news__head {
        display: flex;
        align-items: center;
        justify-content: space-between
    }

    .news__mnext {
        display: inline-flex
    }

    .news__title {
        position: static;
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .news__cards {
        display: flex;
        gap: 8px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-padding-left: 12px;
        margin: 0 -12px;
        padding: 0 12px;
        scrollbar-width: none;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch
    }

    .news__cards::-webkit-scrollbar {
        display: none
    }

    .news__cards>* {
        flex: 0 0 calc(100% - 20px);
        scroll-snap-align: start
    }

    .news__featured {
        position: static;
        width: auto;
        height: auto;
        display: flex;
        flex-direction: column;
        gap: 24px;
        color: #333
    }

    .news__more {
        display: none
    }

    .news__featured::after {
        display: none
    }

    .news__featured-img {
        position: static;
        width: 100%;
        height: 240px;
        border-radius: 8px
    }

    .news__featured-content {
        position: static;
        transform: none
    }

    .news__featured-head {
        gap: 16px;
        padding-right: 48px
    }

    .news__featured-date {
        margin-bottom: 8px;
        color: #666;
        font-size: 14px;
        line-height: 1.7;
        letter-spacing: 0
    }

    .news__featured-title {
        width: 100%;
        font-size: 20px;
        letter-spacing: -.2px;
        line-height: 1.3
    }

    .news__featured-desc {
        width: 100%
    }

    .news__card {
        position: static;
        width: auto;
        gap: 24px
    }

    .news__card-img {
        width: 100%;
        height: 240px
    }

    .news__card-body {
        gap: 24px
    }

    .news__card-text {
        gap: 16px;
        padding-right: 48px
    }

    .news__card-title {
        max-width: 100%;
        font-family: Lora, Georgia, serif;
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: -.2px;
        color: #1e1e1e
    }

    .news__card-desc {
        max-width: 100%
    }

    .news__all {
        display: none
    }
}

.seo {
    padding: 80px 0 64px;
    background: #fcfbf7
}

.seo__inner {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.seo__title {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

.seo__cols {
    display: flex;
    gap: 32px
}

.seo__col,
.seo__cols p {
    flex: 1 0 0;
    min-width: 0;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #999
}

@media (max-width:755px) {
    .seo {
        padding: 48px 0
    }

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

.page--activities {
    background: #fcfbf7
}

.page--winter {
    background: #fcfbf7
}

.page--horse-club {
    background: #fcfbf7
}

.page--service {
    background: #fcfbf7
}

.page--pindex {
    background: #fcfbf7
}

@media (min-width:756px) and (max-width:1023px) {
    .page {
        zoom: calc(var(--vw, 1024)/ 1024)
    }
}

@media (min-width:756px) and (max-width:1023px) {
    .page .tl-container {
        zoom: calc(1024 / var(--vw, 1024));
        width: calc(100% * var(--vw, 1024)/ 1024)
    }
}

.page-hero {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 640px;
    padding-top: 72px;
    border-radius: 0 0 20px 20px;
    overflow: hidden;
    color: #fff
}

.page-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0
}

.page-hero__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.page-hero__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .5) 100%), rgba(0, 0, 0, .35)
}

.page-hero__breadcrumbs {
    position: relative;
    z-index: 2;
    padding: 24px max(32px, 50% - 688px)
}

.page-hero__title {
    position: relative;
    z-index: 2;
    margin-top: auto;
    padding-bottom: 80px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    text-align: center
}

.page-hero__eyebrow {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: .9;
    letter-spacing: -1.02px
}

.page-hero__heading {
    font-family: Lora, Georgia, serif;
    font-weight: 400;
    font-size: 80px;
    line-height: .9;
    letter-spacing: -2.4px
}

@media (max-width:755px) {
    .page-hero {
        min-height: 420px
    }

    .page-hero__title {
        padding-bottom: 40px;
        gap: 10px
    }

    .page-hero__eyebrow {
        font-size: 22px
    }

    .page-hero__heading {
        font-size: 44px;
        letter-spacing: -1.2px
    }
}

@media (max-width:755px) {
    .page-hero--tall {
        min-height: 560px
    }

    .page-hero--tall .page-hero__title {
        padding-bottom: 32px;
        gap: 0
    }

    .page-hero--tall .page-hero__eyebrow {
        font-size: 20px
    }

    .page-hero--tall .page-hero__heading {
        font-size: 36px;
        letter-spacing: -.36px
    }
}

.page-crumbs {
    padding: 24px max(32px, 50% - 688px)
}

.page-crumbs:empty {
    display: none
}

.page-crumbs--over {
    position: absolute;
    z-index: 3;
    top: 72px;
    left: 0;
    right: 0
}

@media (max-width:755px) {
    .page-crumbs {
        padding: 20px 12px 0
    }

    .page-crumbs--over {
        top: 64px
    }
}

.breadcrumbs {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 13px
}

.breadcrumbs__item {
    font-weight: 600;
    font-size: 14px;
    line-height: 1.6;
    color: #fff;
    transition: opacity .2s ease
}

a.breadcrumbs__item:hover {
    opacity: .6
}

.breadcrumbs__item--current {
    opacity: .5
}

@media (max-width:755px) {
    .breadcrumbs {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch
    }

    .breadcrumbs::-webkit-scrollbar {
        display: none
    }

    .breadcrumbs__item {
        flex-shrink: 0
    }
}

.breadcrumbs--dark .breadcrumbs__item {
    color: #333;
    opacity: .5
}

.breadcrumbs--dark a.breadcrumbs__item:hover {
    opacity: .8
}

.booking-page {
    padding-block: 0 96px
}

@media (max-width:755px) {
    .booking-page {
        padding-block: 0 48px
    }
}

.gallery__inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 64px 0 32px
}

.gallery__title {
    margin-bottom: 24px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #1e1e1e;
    text-align: center
}

.gallery__subtitle {
    max-width: 640px;
    margin-bottom: 24px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #1e1e1e;
    text-align: center
}

.gallery--plain .gallery__title {
    width: 100%;
    margin-bottom: 48px;
    text-align: left
}

.gallery__tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px;
    margin-bottom: 24px
}

.gallery__slider {
    position: relative;
    width: 100%
}

.gallery__track {
    display: flex;
    gap: 8px
}

.gallery__slide {
    flex: 1 0 0;
    min-width: 0;
    height: 480px;
    border-radius: 8px;
    overflow: hidden
}

.gallery__slide img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.gallery__navs {
    position: absolute;
    z-index: 2;
    left: 50%;
    bottom: 8px;
    transform: translateX(-50%);
    display: flex;
    gap: 24px
}

.gallery__nav {
    width: 64px;
    height: 64px;
    transition: transform .2s ease
}

.gallery__nav:hover {
    transform: scale(1.06)
}

.gallery__nav img,
.gallery__nav svg {
    width: 100%;
    height: 100%
}

.gallery__dots {
    display: flex;
    gap: 4px;
    margin-top: 32px
}

.gallery__dot {
    width: 32px;
    height: 8px;
    border-radius: 999px;
    background: #999;
    opacity: .4
}

.gallery__dot--active {
    opacity: 1
}

@media (min-width:756px) and (max-width:1279px) {
    .gallery__inner {
        padding: 64px 32px 32px
    }

    .gallery__slide {
        height: 560px
    }

    .gallery__navs {
        left: 8px;
        right: 8px;
        bottom: 8px;
        transform: none;
        justify-content: space-between;
        pointer-events: none
    }

    .gallery__nav {
        pointer-events: auto
    }
}

@media (max-width:755px) {
    .gallery__inner {
        padding: 48px 12px 24px
    }

    .gallery__title {
        font-size: 32px;
        letter-spacing: -.96px
    }

    .gallery__tags {
        flex-wrap: nowrap;
        overflow-x: auto;
        justify-content: flex-start;
        width: 100%;
        scrollbar-width: none;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch
    }

    .gallery__tags::-webkit-scrollbar {
        display: none
    }

    .gallery__slide {
        height: 240px
    }

    .gallery__navs {
        position: static;
        transform: none;
        justify-content: center;
        margin-top: 16px
    }
}

.gallery--inset .gallery__inner {
    padding-left: 32px;
    padding-right: 32px
}

@media (max-width:755px) {
    .gallery--inset .gallery__inner {
        padding: 48px 12px
    }

    .gallery--inset .gallery__dots,
    .gallery--inset .gallery__navs {
        display: none
    }
}

.gallery--compact .gallery__inner {
    padding-bottom: 64px
}

@media (max-width:755px) {
    .gallery--compact .gallery__inner {
        align-items: stretch;
        padding: 48px 12px
    }

    .gallery--compact .gallery__subtitle,
    .gallery--compact .gallery__title {
        text-align: left;
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .gallery--compact .gallery__subtitle {
        font-size: 14px;
        line-height: 1.7;
        letter-spacing: 0
    }

    .gallery--compact .gallery__tags {
        justify-content: flex-start
    }

    .gallery--compact .gallery__dots,
    .gallery--compact .gallery__navs {
        display: none
    }
}

.ent {
    padding: 64px 0 2px;
    background: #fffdf7
}

.ent__title {
    margin: 0 0 43px;
    padding: 0 max(32px, 50% - 688px);
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.ent__grid {
    max-width: 1440px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 2px
}

.ent__card {
    position: relative;
    display: block;
    height: 320px;
    border-radius: 8px;
    overflow: hidden
}

.ent__card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .25)
}

.ent__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease
}

.ent__card:hover .ent__img {
    transform: scale(1.04)
}

.ent__label {
    position: absolute;
    left: 32px;
    bottom: 32px;
    z-index: 1;
    display: block;
    max-width: 170px;
    color: #fff;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.2;
    letter-spacing: -.6px
}

.ent__chev {
    display: inline-block;
    width: 11px;
    height: 14px;
    margin-left: 8px;
    color: #fff;
    transform: rotate(-90deg)
}

.ent__chev img,
.ent__chev svg {
    width: 100%;
    height: 100%
}

.ent__arrow {
    display: none
}

@media (min-width:756px) and (max-width:1279px) {
    .ent {
        padding: 120px 0 80px
    }

    .ent__title {
        margin-bottom: 48px
    }

    .ent__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 4px;
        padding: 0 32px
    }

    .ent__card {
        height: auto;
        aspect-ratio: 3/2
    }
}

@media (max-width:755px) {
    .ent {
        padding: 48px 0
    }

    .ent__title {
        margin-bottom: 24px;
        padding: 0 12px;
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .ent__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px 12px;
        padding: 0 12px
    }

    .ent__card {
        height: auto;
        border-radius: 0;
        overflow: visible
    }

    .ent__card::after {
        inset: auto;
        left: 0;
        top: 0;
        width: 100%;
        height: 200px;
        border-radius: 8px;
        background: rgba(0, 0, 0, .1)
    }

    .ent__img {
        height: 200px;
        border-radius: 8px
    }

    .ent__label {
        position: static;
        max-width: none;
        margin-top: 8px;
        color: #333;
        font-size: 14px;
        line-height: 1.7;
        letter-spacing: 0
    }

    .ent__chev {
        display: none
    }

    .ent__arrow {
        position: absolute;
        z-index: 2;
        left: 8px;
        top: 152px;
        display: flex;
        background: #fff;
        color: #333
    }
}

.promo {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    min-height: 560px;
    padding: 48px max(32px, 50% - 688px);
    border-radius: 8px 8px 20px 20px;
    overflow: hidden;
    color: #fff
}

.promo__bg {
    position: absolute;
    inset: 0;
    z-index: 0
}

.promo__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.promo__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .5) 100%), rgba(0, 0, 0, .2)
}

.promo__title {
    position: relative;
    z-index: 1;
    max-width: 479px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px
}

.promo__card {
    position: absolute;
    z-index: 2;
    right: max(32px, 50% - 688px);
    bottom: 32px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 240px;
    height: 116px;
    padding: 16px 16px 24px;
    border-radius: 8px;
    background: #fcfbf7;
    color: #333;
    transition: background-color .2s ease
}

.promo__card:hover {
    background: #fff
}

.promo__card-text {
    font-weight: 600;
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: -.54px
}

.promo__card-arrow {
    width: 16px;
    color: #333
}

.promo__card-arrow img,
.promo__card-arrow svg {
    width: 16px;
    height: auto
}

@media (max-width:755px) {
    .promo {
        min-height: 312px;
        margin: 0 12px;
        padding: 24px 16px;
        border-radius: 20px
    }

    .promo__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .promo__card {
        right: 16px;
        bottom: 16px;
        justify-content: center;
        align-items: center;
        width: 40px;
        height: 40px;
        padding: 0;
        background: #fff
    }

    .promo__card-text {
        display: none
    }
}

.cards {
    padding: 64px 0
}

.cards__title {
    margin-bottom: 48px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #1e1e1e
}

.cards__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 48px 8px
}

@media (min-width:756px) and (max-width:1279px) {
    .cards__grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 32px 8px
    }
}

@media (max-width:755px) {
    .cards {
        padding: 48px 0
    }

    .cards__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px 12px
    }
}

@media (min-width:756px) and (max-width:1279px) {
    .cards--four .cards__grid {
        grid-template-columns: repeat(4, 1fr)
    }
}

.icard {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    height: 100%
}

.icard__arrow {
    margin-top: auto
}

.icard__img {
    display: block;
    width: 100%;
    height: 400px;
    border-radius: 8px;
    overflow: hidden;
    background: rgba(143, 95, 63, .08)
}

.icard__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease
}

.icard:hover .icard__img img {
    transform: scale(1.04)
}

.icard__title {
    max-width: 304px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.66px;
    color: #1e1e1e
}

@media (min-width:756px) and (max-width:1279px) {
    .icard__img {
        height: auto;
        aspect-ratio: 316/390
    }
}

.icard--slide {
    flex: 1 0 0;
    min-width: 0
}

@media (max-width:755px) {
    .icard--tile {
        position: relative;
        gap: 8px
    }

    .icard--tile .icard__img {
        position: relative;
        height: 200px
    }

    .icard--tile .icard__img::after {
        content: "";
        position: absolute;
        inset: 0;
        background: rgba(0, 0, 0, .1)
    }

    .icard--tile .icard__title {
        font-family: Raleway, system-ui, -apple-system, sans-serif;
        font-weight: 500;
        font-size: 14px;
        line-height: 1.7;
        letter-spacing: 0;
        color: #333
    }

    .icard--tile .icard__title br {
        display: none
    }

    .icard--tile .icard__arrow {
        position: absolute;
        z-index: 2;
        left: 8px;
        top: 152px;
        background: #fff;
        color: #333
    }

    .icard--tile .icard__arrow:hover {
        background: #fff
    }
}

.about-intro {
    padding: 96px 0 64px;
    background: #fff;
    border-radius: 0 0 20px 20px
}

.about-intro__inner {
    display: flex;
    align-items: flex-start;
    gap: 48px
}

.about-intro__text {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.about-intro__heading {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #1e1e1e
}

.about-intro__body {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px
}

.about-intro__body p,
.about-intro__text-p {
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #1e1e1e
}

.about-intro__media {
    position: relative;
    flex: 1 0 0;
    min-width: 0;
    height: 448px;
    border-radius: 8px;
    overflow: hidden
}

.about-intro__media img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.about-intro__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .15)
}

@media (max-width:755px) {
    .about-intro {
        padding: 48px 0
    }

    .about-intro__inner {
        flex-direction: column;
        gap: 24px
    }

    .about-intro__text {
        flex: none;
        width: 100%
    }

    .about-intro__heading {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .about-intro__body {
        gap: 24px
    }

    .about-intro__btn {
        width: 100%
    }

    .about-intro__media {
        display: none
    }
}

.advantages {
    background: #fcfbf7
}

.advantages__inner {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 64px 0;
    border-bottom: 1px solid rgba(51, 51, 51, .12)
}

.advantages__heading {
    flex: 1 0 0;
    min-width: 0;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #1e1e1e
}

.advantages__cards {
    flex: 1 0 0;
    min-width: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px
}

.advantages__card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 240px
}

.advantages__icon {
    width: 80px;
    height: 80px
}

.advantages__icon img,
.advantages__icon svg {
    width: 100%;
    height: 100%
}

.advantages__text {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.66px;
    color: #1e1e1e
}

@media (min-width:756px) and (max-width:1279px) {
    .advantages__card {
        min-width: 0
    }

    .advantages__cards {
        gap: 32px 16px
    }
}

@media (max-width:755px) {
    .advantages__inner {
        flex-direction: column;
        gap: 24px;
        padding: 48px 0;
        border-bottom: none
    }

    .advantages__heading {
        flex: none;
        width: 100%;
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .advantages__heading br {
        display: none
    }

    .advantages__cards {
        grid-template-columns: 1fr;
        gap: 0
    }

    .advantages__card {
        flex-direction: row;
        align-items: center;
        gap: 16px;
        min-width: 0
    }

    .advantages__text {
        font-size: 16px;
        line-height: 1.3;
        letter-spacing: 0
    }
}

.advantages--loose .advantages__inner {
    padding: 96px 0 64px
}

.events {
    display: flex;
    background: #fff;
    border-radius: 20px 20px 0 0
}

.events__left {
    position: relative;
    flex: 463 1 0;
    min-width: 0;
    padding: 96px 32px 96px max(32px, 50% - 688px)
}

.events__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333;
    text-align: center
}

.events__deco {
    border-radius: 20px;
    overflow: hidden;
    background: #bd9463;
    box-shadow: 0 4px 92px 0 rgba(153, 153, 153, .11);
    margin-top: 20px;
}

.events__deco img {
    width: 100%;
}

.events__right {
    flex: 977 1 0;
    min-width: 0;
    display: flex;
    gap: 40px;
    padding: 96px max(32px, 50% - 688px) 96px 32px
}

.events__divider {
    flex-shrink: 0;
    width: 1px;
    align-self: stretch;
    background: rgba(51, 51, 51, .12)
}

.events__col {
    display: flex;
    flex-direction: column;
    gap: 64px
}

.events__col--1 {
    flex: 385 1 0;
    min-width: 0
}

.events__col--2 {
    flex: 447 1 0;
    min-width: 0
}

.events__item {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px
}

.events__item-title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333
}

@media (min-width:756px) and (max-width:1279px) {
    .events__left {
        padding: 64px 32px
    }

    .events__title {
        text-align: left
    }

    .events__deco {
        left: 32px;
        top: 200px
    }

    .events__right {
        flex-direction: column;
        gap: 48px;
        padding: 64px 32px
    }

    .events__divider {
        display: none
    }

    .events__col {
        flex: none;
        width: 100%;
        gap: 48px
    }

    .events__item {
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
        gap: 24px
    }

    .events__arrow {
        flex-shrink: 0
    }
}

@media (max-width:755px) {
    .events {
        flex-direction: column
    }

    .events__left {
        flex: none;
        padding: 48px 12px 0
    }

    .events__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px;
        text-align: left
    }

    .events__deco {
        position: static;
        width: 100%;
        height: 240px;
        margin-top: 24px;
        border-radius: 8px;
        box-shadow: none
    }

    .events__right {
        flex: none;
        width: 100%;
        flex-direction: column;
        gap: 32px;
        padding: 24px 12px 48px
    }

    .events__divider {
        display: none
    }

    .events__col {
        gap: 32px
    }

    .events__col--1,
    .events__col--2 {
        flex: none;
        width: 100%
    }

    .events__item {
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
        gap: 24px
    }

    .events__arrow {
        flex-shrink: 0
    }

    .events__item-title {
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: 0
    }
}

.faq__inner {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    padding: 64px 32px
}

.faq__title {
    flex: 1 0 0;
    min-width: 0;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: .9;
    letter-spacing: -1.56px;
    color: #333
}

.faq__list {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 24px
}

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

.faq__item {
    border: .5px solid rgba(0, 0, 0, .1);
    border-radius: 8px;
    overflow: hidden;
    transition: background-color .2s ease
}

.faq__item.is-open {
    border-color: transparent;
    background: #fff
}

.faq__head {
    display: flex;
    align-items: flex-start;
    gap: 32px;
    width: 100%;
    padding: 16px 24px;
    text-align: left;
    cursor: pointer
}

.faq__q {
    flex: 1 0 0;
    min-width: 0;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 28px;
    line-height: 1.3;
    letter-spacing: -.28px;
    color: #333
}

.faq__icon {
    position: relative;
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    margin-top: 4px
}

.faq__icon::after,
.faq__icon::before {
    content: "";
    position: absolute;
    background: #333
}

.faq__icon::before {
    left: 0;
    top: 11px;
    width: 24px;
    height: 2px
}

.faq__icon::after {
    left: 11px;
    top: 0;
    width: 2px;
    height: 24px;
    transition: opacity .2s ease
}

.faq__item.is-open .faq__icon::after {
    opacity: 0
}

.faq__body {
    display: none;
    padding: 0 24px 24px
}

.faq__item.is-open .faq__head {
    gap: 56px
}

.faq__item.is-open .faq__body {
    display: block
}

.faq__a {
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.faq__a a {
    text-decoration: underline
}

@media (min-width:756px) and (max-width:1279px) {
    .faq__inner {
        flex-direction: column;
        gap: 32px
    }

    .faq__list,
    .faq__title {
        flex: none;
        width: 100%
    }
}

@media (max-width:755px) {
    .faq__inner {
        flex-direction: column;
        gap: 24px;
        padding: 48px 12px
    }

    .faq__title {
        flex: none;
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .faq__list {
        flex: none;
        width: 100%;
        gap: 24px
    }

    .faq__item {
        border: none;
        border-radius: 0;
        border-bottom: 1px solid rgba(51, 51, 51, .12)
    }

    .faq__item:last-child {
        border-bottom: none
    }

    .faq__item.is-open {
        background: 0 0
    }

    .faq__head {
        padding: 16px 0;
        gap: 24px
    }

    .faq__item.is-open .faq__head {
        gap: 24px
    }

    .faq__body {
        padding: 0 0 16px
    }

    .faq__q {
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: 0
    }

    .faq--directions {
        padding-top: 48px
    }
}

@media (max-width:755px) {
    .faq--compact .faq__q {
        font-size: 16px
    }
}

.faq-contact {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    padding: 48px 24px;
    border-radius: 8px;
    background: #fcf5de;
    text-align: center
}

.faq-contact__text {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 28px;
    line-height: 1.3;
    letter-spacing: -.28px;
    color: #666
}

.faq-contact__phone {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: .9;
    letter-spacing: -1.02px;
    color: #333
}

@media (max-width:755px) {
    .faq-contact {
        padding: 48px 24px
    }

    .faq-contact__text {
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: 0
    }

    .faq-contact__phone {
        font-size: 26px
    }
}

@media (max-width:755px) {
    .faq-contact--compact {
        gap: 16px
    }

    .faq-contact--compact .faq-contact__text {
        font-size: 16px
    }

    .faq-contact--compact .faq-contact__phone {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }
}

.reviews__inner {
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding: 64px 32px
}

.reviews__head {
    display: flex;
    align-items: center;
    justify-content: space-between
}

.reviews__head-left {
    display: flex;
    align-items: flex-end;
    gap: 32px
}

.reviews__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.reviews__nav {
    display: flex;
    align-items: center;
    gap: 4px
}

.reviews__nav-btn {
    width: 40px;
    height: 40px;
    transition: transform .2s ease
}

.reviews__nav-btn:hover {
    transform: scale(1.08)
}

.reviews__nav-btn img,
.reviews__nav-btn svg {
    width: 100%;
    height: 100%
}

.reviews__mnext {
    display: none
}

.reviews__grid {
    display: flex;
    gap: 8px
}

@media (max-width:755px) {
    .reviews__inner {
        gap: 24px;
        padding: 48px 12px
    }

    .reviews__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .reviews__more,
    .reviews__nav {
        display: none
    }

    .reviews__mnext {
        display: inline-flex
    }
}

.review {
    flex: 1 0 0;
    min-width: 0;
    height: 360px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 24px;
    border-radius: 8px;
    background: #fff
}

.review__top {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%
}

.review__meta {
    display: flex;
    align-items: flex-start;
    justify-content: space-between
}

.review__date {
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.review__stars {
    width: 116px;
    height: 20px
}

.review__stars img,
.review__stars svg {
    width: 100%;
    height: 100%
}

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

.review__name {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

.review__text {
    display: -webkit-box;
    -webkit-line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.review__more-link {
    align-self: flex-start;
    padding: 0;
    border: 0;
    background: 0 0;
    font-family: inherit;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666;
    text-decoration: underline;
    cursor: pointer
}

.review__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    width: 100%;
    padding: 8px;
    border: .5px solid rgba(0, 0, 0, .1);
    border-radius: 8px;
    transition: border-color .2s ease
}

.review__btn:hover {
    border-color: rgba(0, 0, 0, .3)
}

.review__btn-icon {
    flex-shrink: 0;
    width: 40px;
    height: 40px
}

.review__btn-icon img,
.review__btn-icon svg {
    width: 100%;
    height: 100%;
    border-radius: 8px
}

.review__btn-label {
    font-weight: 600;
    font-size: 16px;
    line-height: .9;
    color: #333
}

@media (max-width:755px) {
    .review {
        height: 360px
    }
}

.review-modal__meta {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 16px
}

.review-modal__name {
    margin-bottom: 12px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.66px;
    color: #333
}

.review-modal__text {
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #666
}

.review-modal__text p+p {
    margin-top: 12px
}

.contacts-crumbs {
    padding: 24px max(32px, 50% - 688px)
}

@media (max-width:755px) {
    .contacts-crumbs {
        padding: 20px 12px 0
    }
}

.contacts-hero__top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 32px;
    padding: 32px max(32px, 50% - 688px)
}

.contacts-hero__main {
    display: flex;
    flex-direction: column
}

.contacts-hero__title {
    font-family: Lora, Georgia, serif;
    font-weight: 400;
    font-size: 80px;
    line-height: .9;
    letter-spacing: -2.4px;
    color: #333
}

.contacts-hero__address {
    margin-top: 48px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 28px;
    line-height: 1.3;
    letter-spacing: -.28px;
    color: #333
}

.contacts-hero__actions {
    margin-top: 47px;
    display: flex;
    align-items: center;
    gap: 48px
}

.contacts-hero__map {
    position: relative;
    background: #fff8e9
}

.contacts-hero__map-img {
    display: block;
    width: 100%;
    height: auto
}

.contacts-hero__map-canvas {
    width: 100%;
    height: 640px
}

.contacts-hero__qr {
    position: absolute;
    left: max(32px, 50% - 688px);
    bottom: 32px;
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 16px;
    border-radius: 8px;
    background: #fff
}

.contacts-hero__qr-img {
    flex-shrink: 0
}

.contacts-hero__qr-img img {
    display: block;
    width: 96px;
    height: 96px
}

.contacts-hero__qr-text {
    width: 296px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #333
}

@media (min-width:756px) and (max-width:1279px) {
    .contacts-hero__top {
        align-items: flex-end;
        gap: 24px
    }

    .contacts-hero__main {
        flex: 1 1 auto;
        min-width: 0
    }

    .contacts-hero__actions {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px
    }
}

@media (max-width:755px) {
    .contacts-hero {
        display: flex;
        flex-direction: column
    }

    .contacts-hero__top {
        display: contents
    }

    .contacts-hero__main {
        padding: 24px 12px 32px
    }

    .contacts-hero__map {
        order: 2
    }

    .contacts-hero__title {
        font-size: 40px;
        letter-spacing: -1.2px
    }

    .contacts-hero__address {
        margin-top: 24px;
        font-size: 18px;
        line-height: 28px;
        letter-spacing: 0
    }

    .contacts-hero__actions {
        margin-top: 24px;
        flex-direction: column;
        align-items: stretch;
        gap: 24px
    }

    .contacts-hero__map-img {
        height: 480px;
        object-fit: cover
    }

    .contacts-hero__map-canvas {
        height: 480px
    }

    .contacts-hero__qr {
        display: none
    }
}

.contacts-action {
    display: inline-flex;
    align-items: center;
    gap: 16px
}

.contacts-action__text {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.66px;
    color: #1e1e1e
}

@media (min-width:756px) and (max-width:1279px) {
    .contacts-action {
        justify-content: space-between;
        width: 100%;
        max-width: 320px
    }
}

@media (max-width:755px) {
    .contacts-action {
        justify-content: space-between;
        width: 100%
    }
}

.contacts-info {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 448px;
    flex-shrink: 0;
    margin-top: 3px
}

.contacts-info__row {
    display: flex;
    align-items: center;
    gap: 88px
}

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

.contacts-info__block {
    display: flex;
    flex-direction: column;
    gap: 24px
}

.contacts-info__label {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.contacts-info__value--lg {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.66px;
    color: #1e1e1e;
    transition: color .2s ease
}

.contacts-info__value--lg:hover {
    color: #8f5f3f
}

.contacts-info__text {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #333
}

.contacts-info__divider {
    display: block;
    height: 1px;
    background: rgba(51, 51, 51, .12)
}

@media (min-width:756px) and (max-width:1279px) {
    .contacts-info {
        flex: 0 1 448px;
        width: auto;
        min-width: 0
    }

    .contacts-info__row {
        gap: 32px
    }

    .contacts-info__value--lg {
        white-space: nowrap
    }
}

@media (max-width:755px) {
    .contacts-info {
        order: 3
    }

    .contacts-info {
        width: 100%;
        gap: 24px;
        padding: 48px 12px 0;
        margin-top: 0
    }

    .contacts-info__row {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px
    }

    .contacts-info__divider {
        display: none
    }
}

.requisites {
    background: #fff
}

.requisites__inner {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 32px;
    padding: 64px 32px 80px
}

.requisites__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: .9;
    letter-spacing: -1.56px;
    color: #333
}

.requisites__text {
    width: 688px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.requisites__text a {
    text-decoration: underline
}

@media (max-width:755px) {
    .requisites {
        background: 0 0
    }

    .requisites__inner {
        flex-direction: column;
        gap: 32px;
        padding: 48px 12px 64px
    }

    .requisites__title {
        font-size: 28px;
        letter-spacing: -.28px;
        line-height: 1.2
    }

    .requisites__text {
        width: 100%
    }
}

.rooms-list {
    padding: 64px 32px 96px;
    background: #fcfbf7
}

.rooms-list__inner {
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 48px
}

@media (min-width:756px) and (max-width:1279px) {
    .rooms-list {
        padding: 0 32px 80px
    }
}

@media (max-width:755px) {
    .rooms-list {
        padding: 40px 12px 64px
    }

    .rooms-list__inner {
        gap: 24px
    }
}

.rooms-hero {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 48px
}

.rooms-hero__title {
    font-family: Lora, Georgia, serif;
    font-weight: 400;
    font-size: 80px;
    line-height: .9;
    letter-spacing: -2.4px;
    text-align: center;
    color: #333
}

@media (min-width:756px) and (max-width:1279px) {
    .rooms-hero__title {
        font-size: 68px;
        letter-spacing: -2.04px
    }
}

@media (max-width:755px) {
    .rooms-hero {
        align-items: flex-start
    }

    .rooms-hero__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px;
        text-align: left
    }
}

.rooms-nav {
    position: sticky;
    top: 72px;
    z-index: 20;
    display: flex;
    justify-content: center;
    margin: 0 -32px;
    padding: 12px 32px;
    background: #fcfbf7
}

.rooms-nav__list {
    display: flex;
    align-items: center;
    gap: 48px
}

.rooms-nav__item {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding-bottom: 12px;
    margin-bottom: -12px;
    color: #333
}

.rooms-nav__item::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 3px;
    background: #8f5f3f;
    opacity: 0;
    transition: opacity .2s ease
}

.rooms-nav__item.is-active::after {
    opacity: 1
}

.rooms-nav__icon {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    color: #333
}

.rooms-nav__icon img,
.rooms-nav__icon svg {
    display: block;
    width: 100%;
    height: 100%
}

.rooms-nav__label {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

@media (min-width:756px) and (max-width:1279px) {
    .rooms-nav__list {
        gap: 48px;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 12px;
        margin-bottom: -12px;
        scrollbar-width: none;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch
    }

    .rooms-nav__list::-webkit-scrollbar {
        display: none
    }

    .rooms-nav__item {
        margin-bottom: 0
    }
}

@media (max-width:755px) {
    .rooms-nav {
        top: 64px;
        justify-content: flex-start;
        margin: 0 -12px;
        padding: 12px
    }

    .rooms-nav__list {
        gap: 24px;
        overflow-x: auto;
        scrollbar-width: none;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch
    }

    .rooms-nav__list::-webkit-scrollbar {
        display: none
    }

    .rooms-nav__item {
        flex-shrink: 0;
        margin-bottom: 0
    }
}

.rooms-cards {
    display: flex;
    flex-direction: column;
    gap: 48px
}

@media (min-width:756px) and (max-width:1279px) {
    .rooms-cards {
        gap: 96px
    }
}

@media (max-width:755px) {
    .rooms-cards {
        gap: 48px;
        margin-top: 12px
    }
}

.room-card {
    position: relative;
    background: #fff;
    border-radius: 8px;
    padding: 32px;
    scroll-margin-top: 140px
}

.room-card__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.room-card__tabs {
    margin-top: 32px
}

.room-card__cols {
    margin-top: 40px;
    display: flex;
    justify-content: space-between;
    gap: 24px
}

.room-card__left {
    display: flex;
    flex-direction: column;
    width: 353px;
    min-height: 480px
}

.room-card__info {
    display: flex;
    align-items: center;
    gap: 24px;
    padding-bottom: 4px
}

.room-card__stat {
    display: inline-flex;
    align-items: center;
    gap: 6px
}

.room-card__stat-icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    color: #666
}

.room-card__stat-icon img,
.room-card__stat-icon svg {
    display: block;
    width: 100%;
    height: 100%
}

.room-card__stat-val {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: .9;
    color: #666
}

.room-card__desc {
    margin-top: 24px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #1e1e1e
}

.room-card__desc--lg {
    font-size: 16px;
    line-height: 1.5
}

.room-card__footer {
    margin-top: auto;
    padding-top: 24px;
    display: flex;
    flex-direction: column;
    gap: 32px;
    width: 340px
}

.room-card__price {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: .9;
    letter-spacing: -1.02px;
    color: #333
}

.room-card__buttons {
    display: flex;
    gap: 8px
}

.room-card__btn {
    flex: 1 0 0;
    min-width: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 20px 32px 22px;
    border-radius: 8px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: .9;
    transition: background-color .2s ease
}

.room-card__btn--book {
    background: #8f5f3f;
    color: #fff
}

.room-card__btn--book:hover {
    background: #7c5135
}

.room-card__btn--more {
    border: .5px solid rgba(0, 0, 0, .2);
    color: #333
}

.room-card__btn--more:hover {
    background: rgba(0, 0, 0, .03)
}

.room-card__media {
    position: relative;
    flex-shrink: 0;
    width: 740px;
    height: 480px;
    margin: 0 0 0 auto
}

.room-card__media-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px
}

.room-card__arrow {
    position: absolute;
    bottom: 8px;
    z-index: 3;
    width: 64px;
    height: 64px;
    border-radius: 8px;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.room-card__arrow img,
.room-card__arrow svg {
    width: 64px;
    height: 64px
}

.room-card__arrow--prev {
    left: 8px
}

.room-card__arrow--next {
    right: 8px
}

.room-card__dots {
    position: absolute;
    left: 50%;
    bottom: 32px;
    z-index: 2;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 4px
}

.room-card__dot {
    width: 32px;
    height: 8px;
    border-radius: 999px;
    background: #fff;
    opacity: .4
}

.room-card__dot--active {
    opacity: 1
}

@media (min-width:756px) and (max-width:1279px) {
    .room-card {
        display: flex;
        flex-direction: column;
        padding: 0;
        background: 0 0;
        border-radius: 0
    }

    .room-card__cols {
        display: contents
    }

    .room-card__media {
        order: -1;
        width: 100%;
        height: auto;
        aspect-ratio: 2/1;
        margin: 0
    }

    .room-card__title {
        margin-top: 32px
    }

    .room-card__left {
        display: grid;
        grid-template-columns: 476fr 340fr;
        column-gap: 15%;
        width: 100%;
        min-height: 0;
        margin-top: 32px
    }

    .room-card__info {
        grid-area: 1/1
    }

    .room-card__desc {
        grid-area: 2/1
    }

    .room-card__footer {
        grid-area: 1/2/span 2/auto;
        align-self: start;
        width: auto;
        margin-top: 0;
        padding-top: 0
    }
}

@media (max-width:755px) {
    .room-card {
        display: flex;
        flex-direction: column;
        padding: 0;
        background: 0 0;
        border-radius: 0;
        scroll-margin-top: 128px
    }

    .room-card__cols {
        display: contents
    }

    .room-card__media {
        order: -1;
        width: 100%;
        height: 240px
    }

    .room-card__arrow,
    .room-card__media .room-card__dots {
        display: none
    }

    .room-card__title {
        margin-top: 24px;
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .room-card__tabs {
        margin: 16px -12px 0;
        padding: 0 12px;
        max-width: none
    }

    .room-card__left {
        width: 100%;
        height: auto;
        margin-top: 24px
    }

    .room-card__desc--lg {
        font-size: 14px;
        line-height: 1.7
    }

    .room-card__footer {
        width: 100%;
        margin-top: 24px
    }

    .room-card__price {
        font-size: 28px
    }
}

.pets {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 377px;
    border-radius: 20px;
    background: #fcf5de;
    overflow: hidden
}

.pets__img {
    position: absolute;
    left: calc(max(32px, 50% - 688px) + 11px);
    bottom: -50px;
    width: 45%;
    max-width: 620px;
    height: auto;
    object-fit: contain;
    object-position: left center
}

.pets__content {
    margin-left: calc(50% + 32px);
    width: calc(50% - 32px - max(32px, 50% - 688px));
    padding: 48px 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px
}

.pets__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: .9;
    letter-spacing: -1.02px;
    color: #333
}

.pets__text {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #333
}

.pets__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 20px 32px 22px;
    border-radius: 8px;
    background: #8f5f3f;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: .9;
    color: #fff;
    transition: background-color .2s ease
}

.pets__btn:hover {
    background: #7c5135
}

@media (max-width:755px) {
    .pets {
        display: flex;
        flex-direction: column;
        height: auto
    }

    .pets__img {
        position: static;
        order: 2;
        width: 100%;
        height: 240px;
        object-position: center bottom
    }

    .pets__content {
        position: static;
        margin-left: 0;
        width: 100%;
        padding: 24px 16px 0
    }
}

.linkcards {
    display: flex;
    gap: 8px;
    padding: 46px max(32px, (100% - 1376px) / 2) 48px;
    background: #fcfbf7
}

.linkcards__main-title {
    font-family: Lora,Georgia,serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333;
}

@media (max-width:755px) {
    .linkcards {
        flex-direction: column;
        padding: 48px 12px
    }
}

.linkcards__item {
    position: relative;
    flex: 1 0 0;
    height: 467px;
    border-radius: 8px;
    overflow: hidden
}

.linkcards__img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.linkcards__item::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 51%, rgba(0, 0, 0, .8) 100%)
}

.linkcards__caption {
    position: absolute;
    left: 32px;
    right: 32px;
    bottom: 27px;
    z-index: 2
}

.linkcards__title {
    display: inline;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #fff
}

.linkcards__arrow {
    display: inline-block;
    vertical-align: bottom;
    margin-left: 32px;
    width: 40px;
    height: 40px
}

.linkcards__arrow img,
.linkcards__arrow svg {
    display: block;
    width: 100%;
    height: 100%
}

@media (min-width:756px) and (max-width:1279px) {
    .linkcards__title {
        font-size: 34px;
        letter-spacing: -1.02px
    }
}

@media (max-width:755px) {
    .linkcards__item {
        flex: none;
        height: 220px
    }

    .linkcards__caption {
        left: 16px;
        right: 16px;
        bottom: 16px
    }

    .linkcards__arrow {
        margin-left: 16px
    }

    .linkcards__title {
        font-size: 28px;
        letter-spacing: -.28px
    }
}

@media (max-width:755px) {
    .linkcards--spread .linkcards__caption {
        right: 16px;
        justify-content: space-between
    }
}

.big-hero {
    position: relative;
    height: 640px;
    border-radius: 0 0 20px 20px;
    overflow: hidden;
    color: #fff
}

.big-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0
}

.big-hero__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.big-hero__breadcrumbs {
    position: absolute;
    z-index: 2;
    top: 72px;
    left: 0;
    right: 0;
    padding: 24px max(32px, 50% - 688px)
}

.big-hero__title {
    position: absolute;
    z-index: 2;
    left: max(32px, 50% - 688px);
    bottom: 40px;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.big-hero__heading {
    font-family: Lora, Georgia, serif;
    font-weight: 400;
    font-size: 80px;
    line-height: .9;
    letter-spacing: -2.4px;
    color: #fff
}

.big-hero__lead {
    max-width: 593px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #fff
}

.big-hero__price {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: .9;
    letter-spacing: -1.02px;
    color: #fff
}

.big-hero__widget {
    position: absolute;
    z-index: 2;
    right: max(32px, 50% - 688px);
    bottom: 32px;
    width: 240px;
    height: 115.5px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 16px 16px 24px;
    border-radius: 8px;
    background: #fcfbf7;
    color: #333
}

.big-hero__widget-text {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: -.54px;
    color: #333
}

.big-hero__widget-arrow {
    width: 18px;
    height: 15px;
    color: #333
}

.big-hero__widget-arrow img,
.big-hero__widget-arrow svg {
    display: block;
    width: 100%;
    height: 100%
}

@media (max-width:755px) {
    .big-hero {
        height: 590px
    }

    .big-hero__breadcrumbs {
        top: 64px;
        padding: 20px 12px 0
    }

    .big-hero__title {
        left: 12px;
        right: 12px;
        bottom: 96px;
        gap: 8px
    }

    .big-hero__heading {
        font-weight: 500;
        font-size: 36px;
        line-height: 1.2;
        letter-spacing: -.36px
    }

    .big-hero__lead {
        max-width: 593px;
        font-family: Raleway, system-ui, -apple-system, sans-serif;
        font-weight: 500;
        font-size: 16px;
        line-height: 1.5;
        color: #fff
    }

    .big-hero__price {
        font-size: 22px;
        letter-spacing: -.66px
    }

    .big-hero__lead {
        font-size: 14px;
        line-height: 1.7
    }

    .big-hero__widget {
        left: 12px;
        right: 12px;
        bottom: 16px;
        width: auto;
        height: 56px;
        flex-direction: row;
        align-items: center;
        justify-content: center;
        padding: 0;
        background: #fff
    }

    .big-hero__widget-text {
        font-size: 16px;
        letter-spacing: 0
    }

    .big-hero__widget-arrow {
        display: none
    }
}

.big-hero--narrow .big-hero__heading {
    max-width: 709px
}

.big-hero--events .big-hero__heading {
    max-width: 516px
}

.big-hero--events .big-hero__title {
    bottom: 147px
}

@media (max-width:755px) {
    .big-hero--events {
        height: 560px
    }

    .big-hero--events .big-hero__title {
        bottom: 32px
    }
}

.big-hero--event-service .big-hero__heading {
    max-width: 943px
}

.big-hero__links {
    position: absolute;
    z-index: 2;
    left: max(32px, 50% - 688px);
    right: max(32px, 50% - 688px);
    bottom: 16px;
    display: flex;
    gap: 16px
}

.big-hero__link {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 39px;
    color: #fff
}

.big-hero__link-top {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5
}

.big-hero__link-arrow {
    flex-shrink: 0;
    width: 18px;
    height: 15px
}

.big-hero__link-arrow img,
.big-hero__link-arrow svg {
    display: block;
    width: 100%;
    height: 100%
}

.big-hero__bar {
    display: block;
    width: 100%;
    height: 8px;
    border-radius: 999px;
    background: rgba(255, 255, 255, .3);
    overflow: hidden
}

.big-hero__bar-fill {
    display: block;
    width: 65%;
    height: 100%;
    border-radius: 999px;
    background: #fff
}

[data-hero-slider] .big-hero__bg {
    opacity: 0;
    transition: opacity .6s ease
}

[data-hero-slider] .big-hero__bg.is-active {
    opacity: 1
}

[data-hero-slider] .big-hero__link {
    opacity: .7;
    transition: opacity .3s ease
}

[data-hero-slider] .big-hero__link.is-active,
[data-hero-slider] .big-hero__link:hover {
    opacity: 1
}

[data-hero-slider] .big-hero__bar-fill {
    width: 0
}

[data-hero-slider] .big-hero__link.is-seen .big-hero__bar-fill {
    width: 100%
}

[data-hero-slider] .big-hero__link.is-active .big-hero__bar-fill {
    width: 100%;
    transition: width var(--hero-step, 6s) linear
}

@media (prefers-reduced-motion:reduce) {
    [data-hero-slider] .big-hero__link.is-active .big-hero__bar-fill {
        transition: none
    }
}

@media (max-width:755px) {
    .big-hero__links {
        display: none
    }
}

.cottage {
    max-width: 1440px;
    margin: 0 auto;
    padding: 32px 32px 48px;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.cottage__panel {
    display: grid;
    grid-template-columns: minmax(300px, 416px) minmax(180px, 1fr) minmax(480px, 664px);
    grid-template-areas: "name  name  media""desc  stats media""price stats media";
    align-content: start;
    column-gap: 32px;
    row-gap: 32px
}

.cottage__name {
    grid-area: name;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #1e1e1e
}

.cottage__desc {
    grid-area: desc;
    max-width: 316px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #1e1e1e
}

.cottage__pricebox {
    grid-area: price;
    align-self: end;
    display: flex;
    flex-direction: column;
    gap: 32px;
    width: 340px
}

.cottage__price {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: .9;
    letter-spacing: -1.02px;
    color: #333
}

.cottage__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 166px;
    padding: 20px 32px 22px;
    border-radius: 8px;
    background: #8f5f3f;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: .9;
    color: #fff;
    transition: background-color .2s ease
}

.cottage__btn:hover {
    background: #7c5135
}

.cottage__stats {
    grid-area: stats;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.cottage__stat {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.cottage__stat-row {
    display: flex;
    align-items: center;
    gap: 6px
}

.cottage__stat-icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    color: #666
}

.cottage__stat-icon img,
.cottage__stat-icon svg {
    display: block;
    width: 100%;
    height: 100%
}

.cottage__stat-val {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.66px;
    color: #1e1e1e
}

.cottage__stat-label {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.cottage__media {
    grid-area: media;
    position: relative;
    justify-self: end;
    width: 100%;
    max-width: 664px;
    height: auto;
    aspect-ratio: 664/480
}

.cottage__media-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px
}

.cottage__arrow {
    position: absolute;
    bottom: 8px;
    z-index: 3;
    width: 64px;
    height: 64px;
    border-radius: 8px;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center
}

.cottage__arrow img,
.cottage__arrow svg {
    width: 64px;
    height: 64px
}

.cottage__arrow--prev {
    left: 8px
}

.cottage__arrow--next {
    right: 8px
}

.cottage__dots {
    position: absolute;
    left: 50%;
    bottom: 32px;
    z-index: 2;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 4px
}

.cottage__dot {
    width: 32px;
    height: 8px;
    border-radius: 999px;
    background: #fff;
    opacity: .4
}

.cottage__dot--active {
    opacity: 1
}

@media (min-width:756px) and (max-width:1279px) {
    .cottage {
        padding: 32px 32px 48px
    }

    .cottage__panel {
        grid-template-columns: 476fr 340fr;
        grid-template-areas: "name  price""stats price""desc  price""media media";
        column-gap: 15%;
        row-gap: 24px
    }

    .cottage__pricebox {
        align-self: start
    }

    .cottage__stats {
        flex-direction: row;
        gap: 24px
    }

    .cottage__stat-label {
        display: none
    }

    .cottage__stat-val {
        font-family: Raleway, system-ui, -apple-system, sans-serif;
        font-weight: 600;
        font-size: 18px;
        line-height: .9;
        letter-spacing: 0;
        color: #666
    }

    .cottage__media {
        justify-self: stretch;
        max-width: none;
        margin-top: 8px;
        aspect-ratio: 2/1
    }
}

@media (max-width:755px) {
    .cottage {
        gap: 24px;
        padding: 24px 12px 48px
    }

    .cottage__panel {
        display: flex;
        flex-direction: column;
        gap: 24px
    }

    .cottage__tabs {
        margin: 0 -12px;
        padding: 0 12px;
        max-width: none
    }

    .cottage__name {
        display: none
    }

    .cottage__stats {
        order: 2;
        flex-direction: row;
        flex-wrap: wrap;
        gap: 16px 24px
    }

    .cottage__stat-label {
        display: none
    }

    .cottage__stat-val {
        font-family: Raleway, system-ui, -apple-system, sans-serif;
        font-weight: 500;
        font-size: 16px;
        line-height: 1.5;
        letter-spacing: 0;
        color: #666
    }

    .cottage__media {
        order: 3;
        max-width: none;
        aspect-ratio: auto;
        height: 240px;
        border-radius: 0
    }

    .cottage__media-img {
        border-radius: 8px
    }

    .cottage__arrow,
    .cottage__media .cottage__dots {
        display: none
    }

    .cottage__desc {
        order: 4;
        width: 100%
    }

    .cottage__pricebox {
        order: 5;
        width: 100%;
        gap: 24px
    }

    .cottage__price {
        font-size: 28px;
        letter-spacing: -.84px
    }

    .cottage__btn {
        width: 100%
    }
}

.amenities {
    display: flex;
    gap: 48px;
    padding: 64px max(32px, (100% - 1376px) / 2);
    background: #fcfbf7
}

.amenities__head {
    flex-shrink: 0;
    width: 448px;
    display: flex;
    flex-direction: column
}

.amenities__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.amenities__aside {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.amenities__note {
    width: 361px;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.amenities__note-title {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #1e1e1e
}

.amenities__note-text {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.amenities__links {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-start
}

.amenities__link {
    display: inline-flex;
    align-items: flex-start;
    gap: 16px;
    padding: 16px;
    border-radius: 8px;
    background: #f5f5f5;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.6;
    color: #1e1e1e
}

.amenities__link-icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    color: #1e1e1e
}

.amenities__link-icon img,
.amenities__link-icon svg {
    display: block;
    width: 100%;
    height: 100%
}

.amenities__grid {
    flex: 1;
    display: grid;
    grid-template-columns: 1fr 1fr;
    column-gap: 60px;
    row-gap: 32px;
    align-content: start;
    padding-top: 106px
}

@media (min-width:756px) and (max-width:1279px) {
    .amenities {
        flex-direction: column;
        gap: 64px;
        padding: 64px 32px
    }

    .amenities__head {
        display: contents
    }

    .amenities__title {
        order: 1;
        max-width: 448px
    }

    .amenities__grid {
        order: 2;
        column-gap: 8px;
        padding-top: 0
    }

    .amenities__aside {
        order: 3;
        flex-direction: row;
        gap: 123px;
        margin-top: 0
    }
}

@media (max-width:755px) {
    .amenities {
        flex-direction: column;
        gap: 32px;
        padding: 48px 12px
    }

    .amenities__head {
        display: contents
    }

    .amenities__aside {
        order: 3;
        margin-top: 0
    }

    .amenities__note {
        width: 100%
    }

    .amenities__title {
        order: 1;
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .amenities__grid {
        order: 2;
        grid-template-columns: 1fr;
        column-gap: 0;
        row-gap: 24px;
        padding-top: 0
    }
}

.amenities__item {
    display: flex;
    align-items: center;
    gap: 24px
}

.amenities__item-icon {
    flex-shrink: 0;
    width: 80px;
    height: 80px;
    color: #8f5f3f
}

.amenities__item-icon img,
.amenities__item-icon svg {
    display: block;
    width: 100%;
    height: 100%
}

.amenities__item-label {
    flex: 1;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.66px;
    color: #1e1e1e
}

@media (max-width:755px) {
    .amenities__item {
        gap: 24px
    }

    .amenities__item-icon {
        width: 48px;
        height: 48px
    }

    .amenities__item-label {
        font-size: 18px;
        line-height: 1.3;
        letter-spacing: -.18px
    }
}

.tour3d {
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 48px;
    padding: 80px 32px
}

.tour3d__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.tour3d__media {
    position: relative;
    width: 100%;
    height: auto;
    aspect-ratio: 1376/560
}

.tour3d__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px
}

.tour3d__play {
    position: absolute;
    left: 24px;
    bottom: 24px;
    width: 56px;
    height: 56px
}

.tour3d__play img,
.tour3d__play svg {
    display: block;
    width: 100%;
    height: 100%
}

@media (min-width:756px) and (max-width:1279px) {
    .tour3d__media {
        height: 560px;
        aspect-ratio: auto
    }
}

@media (max-width:755px) {
    .tour3d {
        gap: 24px;
        padding: 48px 12px
    }

    .tour3d__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .tour3d__media {
        width: 100%;
        height: 280px
    }
}

.fullboard {
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 48px;
    padding: 80px 32px;
    border-radius: 20px
}

.fullboard__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.fullboard__cols {
    display: flex;
    gap: 64px
}

.fullboard__col {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 32px
}

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

.fullboard__col>p,
.fullboard__lead {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

.fullboard__note {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.fullboard__list {
    margin: 0;
    padding-left: 21px;
    list-style: disc;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.fullboard__col>ol,
.fullboard__col>ul {
    margin: 0;
    padding-left: 24px;
    list-style: disc;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

.fullboard__col>ol li+li,
.fullboard__col>ul li+li {
    margin-top: 8px
}

.fullboard__col>ol li::marker,
.fullboard__col>ul li::marker {
    color: #8f5f3f
}

.fullboard__col>ol {
    list-style: decimal
}

@media (max-width:755px) {
    .fullboard {
        gap: 24px;
        padding: 48px 12px
    }

    .fullboard__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .fullboard__cols {
        flex-direction: column;
        gap: 32px
    }
}

.cottages-map {
    position: relative;
    background: #fcfbf7
}

.cottages-map__loc {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    z-index: 5;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    padding-top: 56px;
    pointer-events: none
}

.cottages-map__loc-title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #fff
}

.cottages-map__loc-tags {
    pointer-events: auto
}

.cottages-map__loc-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 8px 12px;
    border: 0;
    border-radius: 8px;
    background: #fff;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.5;
    color: #666;
    cursor: pointer;
    transition: background-color .2s ease, color .2s ease
}

.cottages-map__loc-tag.is-active {
    background: #8f5f3f;
    color: #f5f5f5
}

@media (min-width:756px) and (max-width:1279px) {
    .cottages-map__loc {
        align-items: flex-start;
        gap: 32px;
        padding-top: 62px
    }

    .cottages-map__loc-title {
        padding-left: 32px
    }

    .cottages-map__loc-tags {
        align-self: stretch;
        padding-left: 32px
    }
}

@media (max-width:755px) {
    .cottages-map__loc {
        position: static;
        align-items: flex-start;
        gap: 16px;
        padding: 48px 12px 24px;
        pointer-events: auto
    }

    .cottages-map__loc-title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px;
        color: #333
    }

    .cottages-map__loc-tags {
        align-self: stretch;
        margin: 0 -12px;
        padding: 0 12px;
        max-width: none
    }

    .cottages-map__loc-tag {
        flex-shrink: 0;
        border: .5px solid rgba(51, 51, 51, .4)
    }
}

.other-stay {
    display: flex;
    flex-direction: column;
    gap: 32px;
    padding: 32px max(32px, (100% - 1376px) / 2) 48px;
    background: #fcfbf7
}

.other-stay__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.other-stay__grid {
    display: flex;
    gap: 8px
}

@media (max-width:755px) {
    .other-stay {
        gap: 24px;
        padding: 48px 12px
    }

    .other-stay__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .other-stay__grid {
        flex-direction: column;
        gap: 48px
    }
}

.other-card {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.other-card__media {
    position: relative;
    width: 100%;
    height: 458px;
    border-radius: 8px;
    overflow: hidden
}

.other-card__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 8px
}

.other-card__nav {
    position: absolute;
    bottom: 24px;
    z-index: 3;
    width: 40px;
    height: 40px;
    opacity: 0;
    visibility: hidden;
    transition: transform .2s ease, opacity .25s ease, visibility .25s ease
}

.other-card__nav:hover {
    transform: scale(1.08)
}

.other-card__nav img,
.other-card__nav svg {
    width: 100%;
    height: 100%
}

.other-card__nav--prev {
    left: 24px
}

.other-card__nav--next {
    right: 24px
}

.other-card__media:hover .other-card__nav {
    opacity: 1;
    visibility: visible
}

.other-card__media .other-card__dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 32px;
    z-index: 2;
    display: flex;
    justify-content: center;
    gap: 4px;
    transform: none;
    opacity: 0;
    transition: opacity .25s ease
}

.other-card__media:hover .other-card__dots {
    opacity: 1
}

.other-card__dot {
    width: 32px;
    height: 8px;
    border-radius: 999px;
    background: #fff;
    opacity: .4
}

.other-card__dot--active {
    opacity: 1
}

.other-card__body {
    display: flex;
    gap: 24px;
    align-items: flex-start
}

.other-card__head {
    flex-shrink: 0;
    width: 320px;
    display: flex;
    flex-direction: column;
    gap: 16px;
    align-items: flex-start
}

.other-card__name {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: .9;
    letter-spacing: -1.02px;
    color: #333
}

.other-card__more {
    display: none
}

.other-card__stats {
    display: flex;
    align-items: center;
    gap: 16px
}

.other-card__stat {
    display: inline-flex;
    align-items: center;
    gap: 6px
}

.other-card__stat-icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    color: #666
}

.other-card__stat-icon img,
.other-card__stat-icon svg {
    display: block;
    width: 100%;
    height: 100%
}

.other-card__stat-val {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: .9;
    color: #666
}

.other-card__desc {
    flex: 1;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

@media (min-width:756px) and (max-width:1279px) {
    .other-card__body {
        flex-direction: column;
        gap: 24px
    }

    .other-card__head {
        width: 100%
    }
}

@media (max-width:755px) {
    .other-card__media {
        height: 240px;
        border-radius: 0
    }

    .other-card__media .other-card__dots,
    .other-card__nav {
        display: none
    }

    .other-card__body {
        flex-direction: column;
        gap: 24px
    }

    .other-card__head {
        width: 100%;
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        gap: 8px
    }

    .other-card__name {
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: -.2px
    }

    .other-card__stat-val {
        font-weight: 500;
        font-size: 16px;
        line-height: 1.5
    }

    .other-card__more {
        display: inline-flex;
        width: 100%
    }
}

.act-crumbs {
    padding: 24px max(32px, 50% - 688px)
}

@media (max-width:755px) {
    .act-crumbs {
        padding: 12px
    }
}

.act-promo {
    position: relative;
    border-radius: 8px 8px 20px 20px;
    overflow: hidden
}

.act-promo__slide {
    position: relative;
    height: 560px
}

.act-promo__pic {
    display: block;
    position: absolute;
    inset: 0
}

.act-promo__pic img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.act-promo__pic::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .5) 100%), rgba(0, 0, 0, .3)
}

.act-promo__caption {
    position: absolute;
    z-index: 2;
    left: max(32px, 50% - 688px);
    bottom: 144px;
    pointer-events: none
}

.act-promo__title {
    font-family: Lora, Georgia, serif;
    font-weight: 400;
    font-size: 80px;
    line-height: .9;
    letter-spacing: -2.4px;
    color: #fff;
    max-width: 591px
}

.act-promo__more {
    display: none
}

.act-promo__nav {
    position: absolute;
    z-index: 3;
    left: max(32px, 50% - 688px);
    bottom: 48px;
    display: flex;
    gap: 4px
}

.act-promo__nav-btn {
    width: 64px;
    height: 64px;
    padding: 0;
    border: 0;
    background: 0 0;
    cursor: pointer
}

.act-promo__nav-btn img,
.act-promo__nav-btn svg {
    display: block;
    width: 64px;
    height: 64px
}

.act-promo__card {
    position: absolute;
    z-index: 3;
    right: max(32px, 50% - 688px);
    bottom: 32px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 240px;
    height: 116px;
    padding: 16px 16px 24px;
    border-radius: 8px;
    background: #fcfbf7
}

.act-promo__card-text {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 1.2;
    letter-spacing: -.54px;
    color: #333
}

.act-promo__card-arrow {
    width: 16px;
    height: 13px;
    color: #333
}

.act-promo__card-arrow img,
.act-promo__card-arrow svg {
    display: block;
    width: 100%;
    height: 100%
}

.act-promo__card-arrow svg path {
    fill-opacity: 1
}

.act-promo__dots {
    position: absolute;
    z-index: 2;
    left: 50%;
    bottom: 32px;
    transform: translateX(-50%);
    display: flex;
    gap: 4px
}

.act-promo__dots .act-promo__dot {
    width: 32px;
    height: 8px;
    border-radius: 999px;
    background: #fff;
    opacity: .4;
    cursor: pointer
}

.act-promo__dots .act-promo__dot--active {
    opacity: 1
}

@media (min-width:756px) and (max-width:1279px) {
    .act-promo {
        border-radius: 0;
        overflow: visible
    }

    .act-promo__slider {
        width: calc(100% - 32px);
        margin-left: 32px
    }

    .act-promo__slide {
        height: auto
    }

    .act-promo__pic {
        position: relative;
        inset: auto;
        height: 480px;
        border-radius: 8px;
        overflow: hidden
    }

    .act-promo__pic::after {
        display: none
    }

    .act-promo__caption {
        position: static;
        margin-top: 24px;
        pointer-events: auto
    }

    .act-promo__title {
        max-width: none;
        font-weight: 500;
        font-size: 68px;
        line-height: .9;
        letter-spacing: -2.04px;
        color: #333
    }

    .act-promo__more {
        display: inline-flex;
        align-items: center;
        gap: 24px;
        margin-top: 24px;
        padding: 8px 8px 8px 10px;
        border-radius: 8px;
        background: #8f5f3f;
        font-family: Raleway, system-ui, -apple-system, sans-serif;
        font-weight: 600;
        font-size: 16px;
        line-height: .9;
        color: #fff
    }

    .act-promo__more-arrow {
        flex-shrink: 0;
        width: 7px;
        height: 12px;
        color: inherit
    }

    .act-promo__more-arrow img,
    .act-promo__more-arrow svg {
        display: block;
        width: 100%;
        height: 100%
    }

    .act-promo .act-promo__dots,
    .act-promo__card,
    .act-promo__nav {
        display: none
    }
}

@media (max-width:755px) {
    .act-promo {
        border-radius: 0;
        overflow: visible;
        padding: 24px 12px 48px
    }

    .act-promo__slide {
        height: auto
    }

    .act-promo__pic {
        position: relative;
        inset: auto;
        height: 240px;
        border-radius: 8px;
        overflow: hidden
    }

    .act-promo__pic::after {
        display: none
    }

    .act-promo__caption {
        position: static;
        margin-top: 24px;
        pointer-events: auto
    }

    .act-promo__title {
        max-width: none;
        font-weight: 500;
        font-size: 36px;
        line-height: 1.2;
        letter-spacing: -.36px;
        color: #333
    }

    .act-promo__more {
        display: inline-flex;
        align-items: center;
        gap: 24px;
        margin-top: 24px;
        padding: 8px 8px 8px 10px;
        border-radius: 8px;
        background: #8f5f3f;
        font-family: Raleway, system-ui, -apple-system, sans-serif;
        font-weight: 600;
        font-size: 16px;
        line-height: .9;
        color: #fff
    }

    .act-promo__more-arrow {
        flex-shrink: 0;
        width: 7px;
        height: 12px;
        color: inherit
    }

    .act-promo__more-arrow img,
    .act-promo__more-arrow svg {
        display: block;
        width: 100%;
        height: 100%
    }

    .act-promo .act-promo__dots,
    .act-promo__card,
    .act-promo__nav {
        display: none
    }
}

.act-intro {
    padding: 64px max(32px, (100% - 1376px) / 2) 48px
}

.act-intro__top {
    display: flex;
    gap: 24px;
    padding-bottom: 56px
}

.act-intro__title {
    flex: 1;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.act-intro__text {
    flex: 1;
    padding-top: 104px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #333
}

.act-intro__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

@media (min-width:756px) and (max-width:1279px) {
    .act-intro__top {
        flex-direction: column;
        gap: 32px;
        padding-bottom: 24px
    }

    .act-intro__title {
        flex: none;
        max-width: 606px
    }

    .act-intro__text {
        flex: none;
        max-width: 718px;
        padding-top: 0
    }
}

@media (max-width:755px) {
    .act-intro {
        padding: 0 12px 48px
    }

    .act-intro__top {
        flex-direction: column;
        gap: 24px;
        padding-bottom: 48px
    }

    .act-intro__title {
        max-width: none;
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .act-intro__text {
        padding-top: 0
    }

    .act-intro__tag {
        padding: 4px 8px;
        font-weight: 500;
        font-size: 14px;
        line-height: 1.7
    }
}

.actcards {
    display: flex;
    flex-direction: column;
    gap: 48px;
    padding: 48px max(32px, (100% - 1376px) / 2) 0
}

@media (min-width:756px) and (max-width:1279px) {
    .actcards {
        gap: 8px;
        padding: 48px 32px 0
    }
}

@media (max-width:755px) {
    .actcards {
        gap: 16px;
        padding: 0
    }
}

.actcard--standalone {
    margin-top: 48px;
    padding-inline: max(32px, (100% - 1376px) / 2)
}

.actcard {
    display: flex;
    gap: 48px;
    background: #fff;
    border-radius: 8px;
    overflow: hidden
}

.actcard__media {
    display: block;
    position: relative;
    flex-shrink: 0;
    align-self: stretch;
    width: 688px;
    min-height: 512px;
    border-radius: 8px;
    overflow: hidden
}

.actcard__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .3)
}

.actcard__img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.actcard__title {
    position: absolute;
    z-index: 2;
    left: 32px;
    top: 32px;
    width: 479px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #fff
}

.actcard__arrow {
    position: absolute;
    z-index: 2;
    left: 32px;
    bottom: 32px;
    width: 40px;
    height: 40px
}

.actcard__arrow img,
.actcard__arrow svg {
    display: block;
    width: 40px;
    height: 40px
}

.actcard__links {
    width: 479px;
    padding-block: 48px;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.actcard--hero {
    width: min(1376px, 100% - 64px);
    margin-inline: auto;
    position: relative;
    display: flex;
    justify-content: flex-end;
    gap: 0;
    min-height: 560px;
    background: 0 0;
    border-radius: 8px 8px 20px 20px
}

.actcard--hero .actcard__media {
    position: absolute;
    inset: 0;
    width: auto;
    height: auto;
    border-radius: 0
}

.actcard--hero .actcard__media::after {
    background: linear-gradient(90deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .5) 84.7%), linear-gradient(180deg, rgba(0, 0, 0, 0) 40%, rgba(0, 0, 0, .5) 100%), rgba(0, 0, 0, .2)
}

.actcard--hero .actcard__title {
    top: 48px
}

.actcard--hero .actcard__arrow {
    bottom: 48px
}

.actcard--hero .actcard__links {
    position: relative;
    z-index: 2;
    width: 469px;
    margin-right: 32px;
    padding-block: 48px
}

.actcard--hero .actcard__link-arrow,
.actcard--hero .actcard__link-text {
    color: #fff
}

@media (min-width:756px) and (max-width:1279px) {
    .actcard {
        display: flex;
        width: auto;
        height: auto;
        margin-inline: 0;
        padding: 0;
        gap: 8px;
        background: #fff;
        border-radius: 8px
    }

    .actcard--standalone {
        margin-top: 8px;
        padding-inline: 32px
    }

    .actcard--hero {
        display: flex;
        width: auto;
        height: auto;
        margin-inline: 32px;
        padding: 0;
        gap: 8px;
        background: #fff;
        border-radius: 8px
    }

    .actcard--hero .actcard__media,
    .actcard__media {
        position: relative;
        inset: auto;
        flex: 0 0 49.6%;
        width: auto;
        height: auto;
        aspect-ratio: 476/462;
        border-radius: 8px
    }

    .actcard--hero .actcard__media::after,
    .actcard__media::after {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 45%, rgba(0, 0, 0, .6) 100%)
    }

    .actcard--hero .actcard__title,
    .actcard__title {
        left: 32px;
        right: 88px;
        top: auto;
        bottom: 32px;
        width: auto;
        font-size: 34px;
        line-height: 1.2;
        letter-spacing: -1.02px
    }

    .actcard--hero .actcard__arrow,
    .actcard__arrow {
        left: auto;
        right: 32px;
        bottom: 32px
    }

    .actcard--hero .actcard__links,
    .actcard__links {
        position: static;
        flex: 1 1 auto;
        width: auto;
        padding: 32px 32px 32px 24px;
        gap: 24px
    }

    .actcard--hero .actcard__link-text {
        color: #333
    }

    .actcard--hero .actcard__link-arrow {
        color: #8f5f3f
    }
}

@media (max-width:755px) {
    .actcard--standalone {
        margin-top: 16px;
        padding-inline: 0
    }

    .actcard {
        flex-direction: column;
        gap: 24px;
        padding: 12px 12px 48px;
        border-radius: 20px
    }

    .actcard__media {
        width: 100%;
        height: 240px;
        border-radius: 8px
    }

    .actcard__media::after {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0) 51%, rgba(0, 0, 0, .8) 100%)
    }

    .actcard__title {
        top: auto;
        left: 16px;
        right: 72px;
        bottom: 16px;
        width: auto;
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .actcard__arrow {
        left: auto;
        right: 16px;
        bottom: 16px
    }

    .actcard__links {
        width: 100%;
        padding-top: 0
    }

    .actcard--hero {
        height: auto;
        background: 0 0;
        border-radius: 0;
        padding: 0 12px 48px;
        display: flex;
        flex-direction: column;
        gap: 24px
    }

    .actcard--hero .actcard__media {
        position: relative;
        inset: auto;
        height: 240px;
        border-radius: 8px
    }

    .actcard--hero .actcard__title {
        top: auto
    }

    .actcard--hero .actcard__arrow {
        bottom: 16px
    }

    .actcard--hero .actcard__links {
        position: static;
        width: 100%
    }

    .actcard--hero .actcard__link-text {
        color: #1e1e1e
    }

    .actcard--hero .actcard__link-arrow {
        color: #8f5f3f
    }
}

.actcard__link {
    display: flex;
    align-items: center;
    gap: 16px
}

.actcard__link-arrow {
    flex-shrink: 0;
    width: 16px;
    height: 13px
}

.actcard__link-arrow img,
.actcard__link-arrow svg {
    display: block;
    width: 100%;
    height: 100%
}

.actcard__link-text {
    flex: 1;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.66px;
    color: #333
}

.actcard__link-arrow {
    color: #8f5f3f
}

@media (max-width:755px) {
    .actcard__link-text {
        font-family: Raleway, system-ui, -apple-system, sans-serif;
        font-size: 16px;
        line-height: 1.5;
        letter-spacing: 0;
        color: #1e1e1e
    }
}

.act-events {
    display: flex;
    padding: 112px max(32px, (100% - 1376px) / 2) 80px
}

.act-events__head {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px
}

.act-events__title {
    max-width: 606px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.act-events__all {
    display: inline-flex;
    align-items: center;
    gap: 24px;
    padding: 8px 8px 8px 10px;
    border-radius: 8px;
    background: #8f5f3f;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: .9;
    color: #fff
}

.act-events__all-arrow {
    flex-shrink: 0;
    width: 7px;
    height: 12px;
    color: inherit
}

.act-events__all-arrow img,
.act-events__all-arrow svg {
    display: block;
    width: 100%;
    height: 100%
}

.act-events__mnext {
    display: none
}

.act-events__list {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 24px
}

@media (min-width:756px) and (max-width:1279px) {
    .act-events {
        flex-direction: column;
        gap: 80px;
        padding: 112px 32px 64px
    }

    .act-events__head {
        flex: none;
        width: 100%
    }

    .act-events__list {
        flex: none;
        align-self: flex-end;
        width: 100%;
        max-width: 718px
    }
}

@media (max-width:755px) {
    .act-events {
        flex-direction: column;
        gap: 24px;
        padding: 24px 12px 48px
    }

    .act-events__head {
        flex-direction: row;
        align-items: flex-start;
        justify-content: space-between;
        width: 100%
    }

    .act-events__title {
        max-width: none;
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px;
        color: #1e1e1e
    }

    .act-events__all {
        display: none
    }

    .act-events__mnext {
        display: inline-flex
    }

    .act-events__list {
        flex-direction: row;
        gap: 8px;
        margin: 0 -12px;
        padding: 0 12px;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        scroll-padding-left: 12px;
        scrollbar-width: none;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch
    }

    .act-events__list::-webkit-scrollbar {
        display: none
    }
}

.act-events__item {
    display: flex;
    gap: 32px;
    max-width: 676px
}

.act-events__item-pic {
    display: block;
    flex-shrink: 0
}

.act-events__item-img {
    display: block;
    width: 200px;
    height: 200px;
    border-radius: 8px;
    object-fit: cover
}

.act-events__item-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-right: 48px
}

.act-events__item-meta {
    display: flex;
    gap: 16px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.66px;
    color: #8f5f3f
}

.act-events__item-title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333
}

.act-events__item-desc {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

@media (max-width:755px) {
    .act-events__item {
        flex-direction: column;
        flex-shrink: 0;
        gap: 18px;
        width: 316px;
        max-width: none;
        scroll-snap-align: start
    }

    .act-events__item-img {
        width: 316px;
        height: 360px
    }

    .act-events__item-body {
        gap: 12px;
        padding-right: 48px
    }

    .act-events__item-meta {
        font-size: 16px;
        line-height: 1.3;
        letter-spacing: 0
    }

    .act-events__item-title {
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: -.2px
    }
}

.dayvisit {
    display: flex;
    gap: 48px;
    padding: 64px max(32px, (100% - 1376px) / 2);
    border-top: .5px solid rgba(51, 51, 51, .12)
}

.dayvisit__main {
    flex: 1;
    display: flex;
    flex-direction: column
}

.dayvisit__head {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    margin-bottom: 64px
}

.dayvisit__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #1e1e1e
}

.dayvisit__more {
    display: inline-flex;
    align-items: center;
    gap: 24px;
    padding: 8px 8px 8px 10px;
    border-radius: 8px;
    background: #8f5f3f;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: .9;
    color: #fff
}

.dayvisit__more::after {
    content: "";
    width: 7px;
    height: 12px;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 14" fill="none"><path d="M1 1L7 7L1 13" stroke="%23fff" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/></svg>') no-repeat center/contain
}

.dayvisit__table {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 32px
}

.dayvisit__row {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    padding: 16px;
    border-radius: 8px;
    background: #fff
}

.dayvisit__row-info {
    display: flex;
    flex-direction: column;
    gap: 6px;
    width: 651px
}

.dayvisit__row-title {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

.dayvisit__row-note {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.6;
    color: #999
}

.dayvisit__row-sum {
    display: flex;
    align-items: flex-start;
    gap: 24px
}

.dayvisit__row-mult {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.66px;
    color: #666
}

.dayvisit__row-price {
    width: 200px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.66px;
    color: #333
}

.dayvisit__pricelist {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 240px;
    padding: 20px 32px 22px;
    border: .5px solid rgba(0, 0, 0, .2);
    border-radius: 8px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: .9;
    color: #333
}

.dayvisit__aside {
    flex-shrink: 0;
    width: 377px;
    padding-top: 222px;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.dayvisit__aside-title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.66px;
    color: #333
}

.dayvisit__aside-text {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

@media (min-width:756px) and (max-width:1279px) {
    .dayvisit {
        flex-direction: column;
        gap: 0
    }

    .dayvisit__aside,
    .dayvisit__main {
        display: contents
    }

    .dayvisit__head {
        order: 1
    }

    .dayvisit__aside-title {
        order: 2;
        max-width: 718px
    }

    .dayvisit__aside-text {
        order: 3;
        max-width: 718px;
        margin: 16px 0 64px
    }

    .dayvisit__table {
        order: 4
    }

    .dayvisit__pricelist {
        order: 5
    }

    .dayvisit__row-info {
        width: auto;
        flex: 1 1 auto;
        min-width: 0
    }
}

@media (max-width:755px) {
    .dayvisit {
        flex-direction: column;
        gap: 24px;
        padding: 48px 0
    }

    .dayvisit__aside,
    .dayvisit__main {
        display: contents
    }

    .dayvisit__head {
        order: 1;
        margin-bottom: 0;
        padding: 0 12px;
        align-items: stretch
    }

    .dayvisit__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .dayvisit__more {
        justify-content: center;
        padding: 20px 32px 22px
    }

    .dayvisit__more::after {
        display: none
    }

    .dayvisit__aside-title {
        order: 2;
        padding: 0 12px;
        font-size: 16px;
        line-height: 1.3;
        letter-spacing: 0
    }

    .dayvisit__aside-text {
        order: 3;
        padding: 0 12px
    }

    .dayvisit__table {
        order: 4;
        gap: 4px;
        margin-bottom: 0
    }

    .dayvisit__row {
        flex-direction: column;
        gap: 24px
    }

    .dayvisit__row-info {
        width: 100%
    }

    .dayvisit__row-title {
        font-size: 14px;
        line-height: 1.7
    }

    .dayvisit__row-note {
        line-height: 1.7
    }

    .dayvisit__row-mult,
    .dayvisit__row-price {
        font-size: 16px;
        line-height: 1.3;
        letter-spacing: 0
    }

    .dayvisit__row-mult {
        width: 32px
    }

    .dayvisit__row-price {
        width: auto
    }

    .dayvisit__pricelist {
        order: 5;
        width: auto;
        margin: 0 12px
    }
}

.act-map {
    position: relative;
    height: 641px
}

.act-map__canvas {
    position: absolute;
    inset: 0;
    background: #fff8e9
}

.act-map__qr {
    position: absolute;
    z-index: 2;
    left: max(32px, 50% - 688px);
    bottom: 32px;
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 16px;
    border-radius: 8px;
    background: #fff
}

.act-map__qr-img {
    display: block;
    width: 96px;
    height: 96px
}

.act-map__qr-text {
    width: 296px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #333
}

@media (max-width:755px) {
    .act-map {
        height: 480px;
        border-radius: 20px;
        overflow: hidden
    }

    .act-map__qr {
        display: none
    }
}

.lead {
    padding: 64px max(32px, 50% - 688px)
}

.lead__title {
    margin-bottom: 48px;
    font-family: Lora, Georgia, serif;
    font-weight: 400;
    font-size: 80px;
    line-height: .9;
    letter-spacing: -2.4px;
    color: #333
}

@media (max-width:755px) {
    .lead {
        padding: 24px 12px 48px
    }

    .lead__title {
        margin-bottom: 24px;
        font-weight: 500;
        font-size: 36px;
        line-height: 1.2;
        letter-spacing: -.36px
    }
}

.lead--cards {
    padding-bottom: 0
}

.lead--cards .lead__title {
    margin-bottom: 24px
}

@media (max-width:755px) {
    .lead--cards .lead__title {
        margin-bottom: 0;
        font-size: 34px;
        letter-spacing: -.34px
    }
}

.lead--tight {
    padding-bottom: 0
}

.lead--tight .lead__title {
    margin-bottom: 32px
}

@media (max-width:755px) {
    .lead--tight .lead__title {
        margin-bottom: 24px
    }
}

.lead__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 48px 8px
}

@media (min-width:756px) and (max-width:1279px) {
    .lead__grid {
        grid-template-columns: repeat(3, 1fr);
        gap: 32px 8px
    }
}

@media (max-width:755px) {
    .lead__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 16px 12px
    }
}

.hc-hero-group {
    display: flex;
    flex-direction: column
}

.info-bar {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 90px;
    padding: 0 32px;
    border-radius: 0 0 20px 20px;
    background: #fcf5de
}

.info-bar__hours {
    display: flex;
    align-items: center;
    gap: 16px
}

.info-bar__icon {
    width: 24px;
    height: 24px;
    color: #1e1e1e
}

.info-bar__icon img,
.info-bar__icon svg {
    width: 24px;
    height: 24px
}

.info-bar__price,
.info-bar__time {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #1e1e1e
}

@media (min-width:756px) and (max-width:1279px) {
    .info-bar {
        height: auto;
        min-height: 90px;
        padding: 16px 32px;
        gap: 24px
    }

    .info-bar__price,
    .info-bar__time {
        font-size: 22px;
        line-height: 1.3;
        letter-spacing: -.66px
    }
}

@media (max-width:755px) {
    .info-bar {
        height: auto;
        padding: 24px 12px 0;
        background: 0 0
    }

    .info-bar__price,
    .info-bar__time {
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: -.2px
    }
}

.info-bar__cuisine {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #1e1e1e
}

.info-bar__cuisine img,
.info-bar__cuisine svg {
    width: 28px;
    height: 28px
}

@media (max-width:755px) {
    .info-bar__cuisine {
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: 0
    }

    .info-bar__cuisine img,
    .info-bar__cuisine svg {
        width: 20px;
        height: 20px
    }
}

.info-bar__prices {
    display: flex;
    gap: 40px
}

.info-bar__price-item {
    display: flex;
    align-items: center;
    gap: 12px
}

.info-bar__price-label {
    flex-shrink: 0;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.2;
    color: #666
}

@media (max-width:755px) {
    .info-bar__prices {
        flex-direction: column;
        gap: 16px;
        align-items: flex-start
    }

    .info-bar__price-item {
        align-items: flex-end;
        gap: 8px
    }

    .info-bar__price-label {
        font-size: 16px;
        line-height: 1.5
    }
}

.info-bar--start {
    justify-content: flex-start;
    gap: 64px
}

@media (min-width:756px) and (max-width:1279px) {
    .info-bar--start {
        gap: 32px
    }

    .info-bar--start .info-bar__time {
        font-size: 34px;
        line-height: 1.2;
        letter-spacing: -1.02px
    }
}

@media (max-width:755px) {
    .info-bar--start {
        flex-direction: column;
        align-items: flex-start;
        gap: 16px
    }

    .info-bar--stack {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px
    }
}

.intro-panel {
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    min-height: 315px;
    padding: 32px;
    border-radius: 0 0 20px 20px
}

.intro-panel__left {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 44px;
    min-height: 218px;
    width: 686px
}

.intro-panel__text {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #1e1e1e
}

.intro-panel__text ol,
.intro-panel__text ul {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-left: 24px;
    list-style: revert
}

.intro-panel__text li {
    font: inherit;
    color: inherit
}

.intro-panel__text li::marker {
    color: #8f5f3f
}

.intro-panel__text h2,
.intro-panel__text h3,
.intro-panel__text h4 {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #1e1e1e
}

.intro-panel__text h2 {
    font-size: 34px
}

.intro-panel__text h3 {
    font-size: 24px
}

.intro-panel__text h4 {
    font-size: 20px
}

.intro-panel__text b,
.intro-panel__text strong {
    font-weight: 600
}

.intro-panel__text em,
.intro-panel__text i {
    font-style: italic
}

.intro-panel__text a:not([class]) {
    text-decoration: underline;
    text-underline-offset: 3px
}

@media (max-width:755px) {
    .intro-panel__text h2 {
        font-size: 20px
    }

    .intro-panel__text h3 {
        font-size: 18px
    }

    .intro-panel__text h4 {
        font-size: 16px
    }
}

.intro-panel__rules {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 16px;
    padding: 16px;
    border-radius: 8px;
    background: #f5f5f5
}

.intro-panel__rules-icon {
    width: 20px;
    height: 20px;
    color: #1e1e1e
}

.intro-panel__rules-icon img,
.intro-panel__rules-icon svg {
    width: 20px;
    height: 20px
}

.intro-panel__rules-text {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.6;
    color: #1e1e1e
}

.intro-panel__contacts {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 16px
}

.intro-panel__label {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.2;
    color: #666
}

.intro-panel__phone {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #1e1e1e
}

@media (min-width:756px) and (max-width:1279px) {
    .intro-panel {
        padding: 32px 32px;
        gap: 32px
    }

    .intro-panel__left {
        width: auto;
        flex: 1 1 auto;
        min-width: 0
    }

    .intro-panel__contacts {
        flex-shrink: 0
    }

    .intro-panel__phone {
        font-size: 28px;
        letter-spacing: -.28px;
        white-space: nowrap
    }
}

@media (max-width:755px) {
    .intro-panel {
        flex-direction: column;
        gap: 96px;
        min-height: 0;
        padding: 48px 12px
    }

    .intro-panel__left {
        width: 100%;
        min-height: 0;
        gap: 24px
    }

    .intro-panel__text {
        font-size: 14px;
        line-height: 1.7
    }

    .intro-panel__contacts {
        align-items: center;
        width: 100%;
        gap: 8px
    }

    .intro-panel__label {
        line-height: 1.7
    }

    .intro-panel__phone {
        margin-bottom: 40px;
        font-size: 28px;
        letter-spacing: -.28px
    }

    .intro-panel__btn {
        width: 100%
    }
}

.intro-panel__left h2 {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #1e1e1e
}

.intro-panel__left p {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

.intro-panel__left h2 {
    margin-bottom: 32px
}

.intro-panel__left p+h2 {
    margin-top: 40px
}

@media (max-width:755px) {
    .intro-panel__left h2 {
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: -.2px
    }
}

.intro-panel__note {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.6;
    color: #666
}

@media (min-width:756px) and (max-width:1279px) {

    .intro-panel--event-service .intro-panel__left,
    .intro-panel--service .intro-panel__left {
        width: auto;
        flex: 1 1 auto;
        min-width: 0
    }
}

.intro-panel--service {
    padding: 64px 32px 80px
}

.intro-panel--service .intro-panel__left {
    width: 784px;
    gap: 40px
}

.intro-panel--service .intro-panel__contacts {
    margin-top: -8px
}

.intro-panel--service .intro-panel__label {
    font-size: 16px;
    line-height: 1.5
}

.intro-panel--service .intro-panel__phone {
    line-height: .9;
    margin-bottom: 16px
}

@media (max-width:755px) {
    .intro-panel--service {
        flex-direction: column;
        gap: 48px;
        min-height: 0;
        padding: 48px 12px
    }

    .intro-panel--service .intro-panel__left {
        width: 100%;
        gap: 48px
    }

    .intro-panel--service .intro-panel__contacts {
        margin-top: 0;
        align-items: center;
        width: 100%;
        gap: 8px
    }

    .intro-panel--service .intro-panel__label {
        font-size: 14px;
        line-height: 1.7
    }

    .intro-panel--service .intro-panel__phone {
        margin-bottom: 40px;
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .intro-panel--service .intro-panel__btn {
        width: 100%
    }
}

.intro-panel--event-service .intro-panel__phone,
.intro-panel--restaurant .intro-panel__phone {
    font-size: 48px;
    letter-spacing: -1.44px
}

@media (min-width:756px) and (max-width:1279px) {
    .intro-panel--restaurant .intro-panel__phone {
        font-size: 34px;
        line-height: 1.2;
        letter-spacing: -1.02px
    }
}

.intro-panel--event-service .intro-panel__left {
    width: 808px
}

@media (max-width:755px) {
    .intro-panel--event-service .intro-panel__left {
        width: 100%
    }

    .intro-panel--event-service .intro-panel__contacts {
        display: none
    }
}

.intro-panel__sub {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.intro-panel__sub-title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #1e1e1e
}

.intro-panel__sub-text {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

@media (max-width:755px) {
    .intro-panel__sub {
        gap: 24px
    }

    .intro-panel__sub-title {
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: -.2px
    }

    .intro-panel__sub-text {
        font-size: 14px;
        line-height: 1.7
    }
}

.pill {
    display: inline-flex;
    align-items: center;
    gap: 24px;
    padding: 8px 8px 8px 10px;
    border-radius: 8px;
    background: #8f5f3f;
    color: #fff;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: .9;
    white-space: nowrap;
    transition: background-color .2s ease
}

.pill:hover {
    background: #7c5135
}

.pill__arrow {
    width: 7px;
    height: 7px;
    border-top: 1.5px solid #fff;
    border-right: 1.5px solid #fff;
    transform: rotate(45deg)
}

.hc-events {
    padding: 64px 0 80px
}

.hc-events__inner {
    display: flex;
    align-items: flex-start;
    gap: 24px
}

.hc-events__head {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px
}

.hc-events__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.hc-events__arrow {
    display: none
}

.hc-events__list {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 24px
}

@media (min-width:756px) and (max-width:1279px) {
    .hc-events {
        padding: 112px 0 64px
    }

    .hc-events__inner {
        flex-direction: column;
        gap: 80px
    }

    .hc-events__head,
    .hc-events__list {
        flex: none;
        width: 100%
    }

    .hc-events__list {
        align-self: flex-end;
        max-width: 718px
    }
}

@media (max-width:755px) {
    .hc-events {
        padding: 24px 0 48px
    }

    .hc-events__inner {
        flex-direction: column;
        gap: 24px
    }

    .hc-events__head {
        flex-direction: row;
        align-items: center;
        justify-content: space-between;
        width: 100%
    }

    .hc-events__pill {
        display: none
    }

    .hc-events__arrow {
        display: inline-flex
    }

    .hc-events__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .hc-events__list {
        width: 100%
    }
}

.hc-events__item {
    display: flex;
    align-items: flex-start;
    gap: 32px
}

.hc-events__item-img {
    flex-shrink: 0;
    width: 200px;
    height: 200px;
    border-radius: 8px;
    overflow: hidden
}

.hc-events__item-img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.hc-events__item-body {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-right: 48px
}

.hc-events__item-meta {
    display: flex;
    gap: 16px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.66px;
    color: #8f5f3f
}

.hc-events__item-title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333
}

.hc-events__item-desc {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

@media (max-width:755px) {
    .hc-events__item {
        flex-direction: column;
        gap: 18px
    }

    .hc-events__item-img {
        width: 100%;
        height: 360px
    }

    .hc-events__item-body {
        padding-right: 48px;
        gap: 12px
    }

    .hc-events__item-meta {
        font-size: 16px;
        line-height: 1.3;
        letter-spacing: 0
    }

    .hc-events__item-title {
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: -.2px
    }
}

.hc-form__submit {
    align-self: flex-start;
    width: auto;
    padding-left: 32px;
    padding-right: 32px
}

.hc-form {
    padding: 0 32px
}

.hc-form__card {
    width: 100%;
    max-width: 1376px;
    margin-inline: auto;
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 4px;
    padding: 48px;
    border-radius: 20px;
    background: #fcf5de;
    overflow: hidden
}

.hc-form__legend {
    position: relative;
    z-index: 1;
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.hc-form__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.hc-form__note {
    margin-bottom: 8px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #8f5f3f
}

.hc-form__subtitle {
    max-width: 353px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

.hc-form__horse {
    position: absolute;
    z-index: 0;
    left: 5.76%;
    bottom: -19px;
    width: 31.6%;
    height: 308px;
    color: rgba(255, 255, 255, .6);
    transform: scaleX(-1)
}

.hc-form__horse img,
.hc-form__horse svg {
    width: 100%;
    height: 100%
}

.hc-form__fields {
    position: relative;
    z-index: 1;
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 24px
}

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

.hc-form__label {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.4;
    color: #1e1e1e
}

.hc-form__input,
.hc-form__textarea {
    width: 100%;
    padding: 12px 16px;
    border: none;
    border-radius: 8px;
    background: #fff;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.4;
    color: #333
}

.hc-form__input::placeholder,
.hc-form__textarea::placeholder {
    color: #b3b3b3
}

.hc-form__textarea {
    min-height: 80px;
    resize: vertical
}

.hc-form__check {
    display: flex;
    align-items: flex-start;
    gap: 12px
}

.hc-form__checkbox {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin-top: 2px;
    border-radius: 4px;
    accent-color: #2c2c2c
}

.hc-form__check-label {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.4;
    color: #666
}

.hc-form__check-label a {
    color: #8f5f3f;
    text-decoration: underline
}

.hc-form__check-label a:hover {
    text-decoration: none
}

@media (max-width:755px) {
    .hc-form {
        padding: 0 12px
    }

    .hc-form__card {
        flex-direction: column;
        gap: 32px;
        padding: 48px 12px;
        border-radius: 24px
    }

    .hc-form__legend {
        gap: 16px
    }

    .hc-form__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .hc-form__subtitle {
        font-size: 14px;
        line-height: 1.7
    }

    .hc-form__horse {
        display: none
    }
}

.price-horse {
    padding: 64px 0
}

.price-horse__title {
    margin-bottom: 45px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #1e1e1e
}

.price-horse__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 71px
}

.price-horse__body {
    display: flex;
    align-items: flex-start;
    gap: 40px
}

.price-horse__photo {
    position: relative;
    flex: 651 1 0;
    min-width: 0;
    height: 500px;
    border-radius: 8px;
    overflow: hidden
}

.price-horse__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.price-horse__photo::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .3)
}

.price-horse__photo-title {
    position: absolute;
    z-index: 1;
    left: 32px;
    top: 32px;
    width: 303px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: .9;
    letter-spacing: -1.02px;
    color: #fff
}

.price-horse__list {
    flex: 685 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 32px;
    max-height: 500px;
    overflow-y: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    -webkit-overflow-scrolling: touch
}

.price-horse__list::-webkit-scrollbar {
    display: none
}

.price-horse__list::after {
    content: "";
    position: sticky;
    bottom: 0;
    flex-shrink: 0;
    height: 140px;
    margin-top: -172px;
    background: linear-gradient(180deg, rgba(252, 251, 247, 0), #fcfbf7);
    pointer-events: none;
    transition: opacity .25s ease
}

.price-horse__list.is-at-end::after {
    opacity: 0
}

.price-horse__cat {
    display: none;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 20px;
    line-height: 1.3;
    letter-spacing: -.2px;
    color: #1e1e1e
}

@media (max-width:755px) {
    .price-horse {
        padding: 48px 0
    }

    .price-horse__title {
        margin-bottom: 24px;
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .price-horse__tags {
        margin-bottom: 24px
    }

    .price-horse__cat {
        display: block;
        margin-bottom: 24px
    }

    .price-horse__photo {
        display: none
    }

    .price-horse__list {
        max-height: none;
        overflow: visible;
        gap: 24px
    }

    .price-horse__list::after {
        display: none
    }
}

.price-row {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.price-row__name {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

.price-row__note {
    margin-top: 4px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.5;
    color: #666
}

.price-row__foot {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px
}

.price-row__vals {
    display: flex;
    gap: 6px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.66px
}

.price-row__price {
    width: 120px;
    color: #333
}

.price-row__dur {
    width: 120px;
    color: #666
}

.price-row__cta {
    opacity: 0;
    transition: opacity .2s ease
}

.price-row:hover .price-row__cta {
    opacity: 1
}

@media (min-width:756px) and (max-width:1279px) {
    .price-row__cta {
        opacity: 1
    }
}

@media (max-width:755px) {
    .price-row__foot {
        align-items: flex-start
    }

    .price-row__vals {
        flex-direction: column;
        gap: 0;
        font-size: 16px;
        line-height: 1.3;
        letter-spacing: 0
    }

    .price-row__cta {
        opacity: 1
    }
}

.price-divider {
    height: 1px;
    background: rgba(51, 51, 51, .12)
}

.svc-rich {
    display: flex;
    flex-direction: column;
    gap: 80px;
    padding: 0 0 80px
}

.svc-rich__split {
    display: flex;
    align-items: flex-start;
    gap: 80px
}

.svc-rich__text {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.svc-rich__text ol,
.svc-rich__text ul {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-left: 24px;
    list-style: revert
}

.svc-rich__text li {
    font: inherit;
    color: inherit
}

.svc-rich__text li::marker {
    color: #8f5f3f
}

.svc-rich__text h2,
.svc-rich__text h3,
.svc-rich__text h4 {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #1e1e1e
}

.svc-rich__text h2 {
    font-size: 34px
}

.svc-rich__text h3 {
    font-size: 24px
}

.svc-rich__text h4 {
    font-size: 20px
}

.svc-rich__text b,
.svc-rich__text strong {
    font-weight: 600
}

.svc-rich__text em,
.svc-rich__text i {
    font-style: italic
}

.svc-rich__text a:not([class]) {
    text-decoration: underline;
    text-underline-offset: 3px
}

@media (max-width:755px) {
    .svc-rich__text h2 {
        font-size: 20px
    }

    .svc-rich__text h3 {
        font-size: 18px
    }

    .svc-rich__text h4 {
        font-size: 16px
    }
}

.svc-rich__h,
.svc-rich__text h2 {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #1e1e1e
}

.svc-rich__cols p,
.svc-rich__p,
.svc-rich__text p {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

.svc-rich__files {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.svc-rich__file {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    border-radius: 8px;
    background: #f5f5f5;
    transition: background-color .2s ease
}

.svc-rich__file:hover {
    background: #ececec
}

.svc-rich__file-icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    color: #1e1e1e
}

.svc-rich__file-icon img,
.svc-rich__file-icon svg {
    width: 20px;
    height: 20px
}

.svc-rich__file-name {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.6;
    color: #1e1e1e
}

.svc-rich__img {
    flex: 0 0 688px;
    min-width: 0;
    height: 480px;
    border-radius: 8px;
    overflow: hidden
}

.svc-rich__img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.svc-rich__cols {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px
}

.svc-rich__pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.svc-rich__pill {
    display: inline-flex;
    align-items: center;
    gap: 16px;
    padding: 16px;
    border-radius: 8px;
    background: #f5f5f5;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.6;
    color: #1e1e1e
}

.svc-rich__pill img,
.svc-rich__pill svg {
    width: 20px;
    height: 20px
}

@media (min-width:756px) and (max-width:1279px) {
    .svc-rich__split {
        gap: 56px
    }

    .svc-rich__img {
        flex: 0 0 49.6%;
        height: auto;
        aspect-ratio: 476/400
    }
}

@media (max-width:755px) {
    .svc-rich {
        gap: 48px;
        padding: 0 0 48px
    }

    .svc-rich__split {
        flex-direction: column;
        gap: 48px
    }

    .svc-rich__split .svc-rich__img {
        order: -1
    }

    .svc-rich__text {
        gap: 24px
    }

    .svc-rich__h,
    .svc-rich__text h2 {
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: -.2px
    }

    .svc-rich__cols p,
    .svc-rich__p,
    .svc-rich__text p {
        font-size: 14px;
        line-height: 1.7
    }

    .svc-rich__img {
        flex: none;
        width: 100%;
        height: 240px
    }

    .svc-rich__cols {
        grid-template-columns: 1fr;
        gap: 16px
    }
}

.photo-gallery {
    padding: 64px 0 32px
}

.photo-gallery__title {
    margin-bottom: 48px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #1e1e1e
}

.photo-gallery__frame {
    position: relative;
    height: 560px;
    border-radius: 8px;
    overflow: hidden
}

.photo-gallery__img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.photo-gallery__nav {
    position: absolute;
    z-index: 3;
    bottom: 8px;
    width: 64px;
    height: 64px;
    transition: transform .2s ease
}

.photo-gallery__nav:hover {
    transform: scale(1.06)
}

.photo-gallery__nav img,
.photo-gallery__nav svg {
    width: 100%;
    height: 100%
}

.photo-gallery__nav--prev {
    left: 8px
}

.photo-gallery__nav--next {
    right: 8px
}

.photo-gallery__dots {
    position: absolute;
    z-index: 2;
    bottom: 37px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 4px
}

.photo-gallery__frame .photo-gallery__dot {
    width: 32px;
    height: 8px;
    border-radius: 999px;
    background: #fff;
    opacity: .4;
    cursor: pointer
}

.photo-gallery__frame .photo-gallery__dot--active {
    opacity: 1
}

@media (max-width:755px) {
    .photo-gallery {
        padding: 48px 0
    }

    .photo-gallery__title {
        margin-bottom: 24px;
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .photo-gallery__frame {
        height: 240px;
        border-radius: 0
    }

    .photo-gallery__img {
        border-radius: 8px
    }

    .photo-gallery__frame .photo-gallery__dots,
    .photo-gallery__frame .photo-gallery__nav {
        display: none
    }
}

.photo-gallery--compact {
    padding: 48px 0
}

@media (max-width:755px) {
    .photo-gallery--compact .photo-gallery__dots {
        display: none
    }
}

@media (min-width:756px) and (max-width:1279px) {
    .photo-gallery--bare {
        padding: 32px 0
    }
}

.svc-price {
    padding: 64px 0 80px
}

.svc-price__inner {
    display: flex;
    align-items: flex-start;
    gap: 32px
}

.svc-price__title {
    flex: 0 0 433px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #1e1e1e
}

.svc-price__list {
    flex: 1 0 0;
    min-width: 0;
    margin-top: 100px;
    display: flex;
    flex-direction: column;
    gap: 56px
}

.svc-price__rows {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.svc-price__row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    font-family: Lora, Georgia, serif;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.66px;
    color: #333
}

.svc-price__name {
    font-weight: 500
}

.svc-price__val {
    flex-shrink: 0;
    width: 200px;
    font-weight: 600
}

.svc-price__divider {
    height: 1px;
    background: rgba(51, 51, 51, .12)
}

@media (min-width:756px) and (max-width:1279px) {
    .svc-price__inner {
        flex-direction: column;
        gap: 48px
    }

    .svc-price__title {
        flex: none
    }

    .svc-price__list {
        width: 100%;
        margin-top: 0
    }

    .svc-price__val {
        width: 234px
    }
}

@media (max-width:755px) {
    .svc-price {
        padding: 48px 0
    }

    .svc-price .wrapper {
        padding: 0 8px
    }

    .svc-price__inner {
        flex-direction: column;
        gap: 24px
    }

    .svc-price__title {
        flex: none;
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .svc-price__list {
        margin-top: 0;
        width: 100%;
        gap: 24px
    }

    .svc-price__rows {
        gap: 16px
    }

    .svc-price__row {
        flex-direction: column;
        gap: 16px;
        font-size: 16px;
        line-height: 1.3;
        letter-spacing: 0
    }

    .svc-price__val {
        width: auto;
        font-weight: 500
    }
}

.svc-others {
    padding: 48px 0
}

.svc-others__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 48px
}

.svc-others__head-left {
    display: flex;
    align-items: flex-end;
    gap: 32px
}

.svc-others__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.svc-others__nav {
    display: flex;
    gap: 4px
}

.svc-others__nav-btn {
    width: 40px;
    height: 40px
}

.svc-others__nav-btn img,
.svc-others__nav-btn svg {
    width: 100%;
    height: 100%
}

.svc-others__grid {
    display: flex;
    gap: 8px
}

@media (max-width:755px) {
    .svc-others__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .svc-others__head {
        margin-bottom: 24px
    }

    .svc-others__nav {
        display: none
    }
}

@media (max-width:755px) {
    .svc-others--desktop {
        display: none
    }
}

.dv-hero__title {
    position: absolute;
    z-index: 2;
    left: max(32px, 50% - 688px);
    top: 376px;
    width: 689px;
    font-family: Lora, Georgia, serif;
    font-weight: 400;
    font-size: 80px;
    line-height: .9;
    letter-spacing: -2.4px;
    color: #fff
}

.dv-hero__subtitle {
    position: absolute;
    z-index: 2;
    left: max(32px, 50% - 688px);
    top: 544px;
    width: 447px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #fff
}

@media (max-width:755px) {
    .dv-hero {
        height: 680px;
        min-height: 680px
    }

    .dv-hero__title {
        top: auto;
        bottom: 150px;
        left: 12px;
        right: 12px;
        width: auto;
        font-size: 36px;
        line-height: 1.2;
        letter-spacing: -.36px
    }

    .dv-hero__subtitle {
        top: auto;
        bottom: 24px;
        left: 12px;
        right: 12px;
        width: auto
    }
}

.dv-badge {
    position: absolute;
    z-index: 3;
    left: calc(max(32px, 50% - 688px) + 291px);
    top: 313px;
    display: flex;
    align-items: stretch;
    transform: rotate(-6deg);
    filter: drop-shadow(0 6px 16px rgba(0, 0, 0, .18))
}

.dv-badge__tail {
    width: 21px;
    height: 79px
}

.dv-badge__tail:last-child {
    transform: rotate(180deg)
}

.dv-badge__tail img,
.dv-badge__tail svg {
    width: 100%;
    height: 100%
}

.dv-badge__box {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px 32px;
    background: #fff;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: .9;
    letter-spacing: -1.02px;
    color: #333;
    white-space: nowrap
}

@media (max-width:755px) {
    .dv-badge {
        left: 160px;
        top: auto;
        bottom: 240px
    }

    .dv-badge__box {
        font-size: 20px;
        padding: 12px 16px
    }

    .dv-badge__tail {
        width: 14px;
        height: 51px
    }
}

.dv-strip {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    padding: 0 max(32px, 50% - 688px)
}

.dv-strip__item {
    flex: 1 0 0;
    min-width: 0;
    border-radius: 8px;
    overflow: hidden
}

.dv-strip__item img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.dv-strip__item:nth-child(1) {
    height: 200px
}

.dv-strip__item:nth-child(2) {
    height: 336px
}

.dv-strip__item:nth-child(3) {
    height: 247px
}

.dv-strip__item:nth-child(4) {
    height: 336px
}

.dv-strip__item:nth-child(5) {
    height: 241px
}

@media (max-width:755px) {
    .dv-strip {
        display: none
    }
}

.dv-intro {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 80px;
    width: 866px;
    max-width: 100%;
    margin: 0 auto;
    padding: 72px 32px 64px;
    text-align: center
}

.dv-intro__text {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333
}

.dv-intro__cta {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 16px
}

.dv-intro__label {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.dv-intro__phone {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.dv-intro__buttons {
    display: flex;
    gap: 8px;
    width: 522px;
    max-width: 100%
}

.dv-intro__buttons .button {
    flex: 1 0 0
}

@media (max-width:755px) {
    .dv-intro {
        width: 100%;
        padding: 48px 12px;
        gap: 32px
    }

    .dv-intro__text {
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: -.2px
    }

    .dv-intro__phone {
        font-size: 28px;
        letter-spacing: -.28px
    }

    .dv-intro__buttons {
        flex-direction: column;
        width: 100%;
        margin-top: 16px
    }
}

.dv-price {
    display: flex;
    align-items: flex-start;
    gap: 94px;
    width: 100%;
    max-width: 1440px;
    margin: 0 auto;
    padding: 32px 32px 48px
}

.dv-price__body {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.dv-price__main {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 64px
}

.dv-price__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #1e1e1e
}

.dv-price__rows {
    display: flex;
    flex-direction: column;
    gap: 2px
}

.dv-price__row {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    padding: 16px;
    border-radius: 8px;
    background: #fff
}

.dv-price__row-info {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px
}

.dv-price__row-title {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

.dv-price__row-note {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.6;
    color: #999
}

.dv-price__row-mult {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.66px;
    color: #666
}

.dv-price__row-price {
    width: 200px;
    flex-shrink: 0;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.66px;
    color: #333
}

.dv-price__more {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 20px 32px 22px;
    border: .5px solid rgba(0, 0, 0, .2);
    border-radius: 8px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: .9;
    color: #333
}

.dv-price__aside {
    flex-shrink: 0;
    width: 332px;
    margin-top: 113px;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 48px;
    text-align: right
}

.dv-price__cta {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 16px;
    width: 100%
}

.dv-price__cta-label {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #666
}

.dv-price__cta-phone {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: .9;
    letter-spacing: -1.02px;
    color: #333
}

.dv-price__aside-btn {
    width: 100%
}

.dv-price__cta-btn {
    margin-top: 32px
}

.dv-price__aside-note {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #666
}

@media (max-width:755px) {
    .dv-price {
        flex-direction: column;
        gap: 48px;
        padding: 32px 12px 48px
    }

    .dv-price__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .dv-price__rows {
        margin: 0 -12px
    }

    .dv-price__row {
        flex-wrap: wrap;
        gap: 16px 40px
    }

    .dv-price__row-info {
        flex: 1 1 100%
    }

    .dv-price__row-title {
        font-size: 14px
    }

    .dv-price__row-mult {
        font-size: 16px;
        letter-spacing: 0
    }

    .dv-price__row-price {
        width: auto;
        font-size: 16px;
        letter-spacing: 0
    }

    .dv-price__aside {
        width: 100%;
        margin-top: 0;
        align-items: center;
        text-align: center
    }

    .dv-price__cta {
        align-items: center
    }

    .dv-price__cta-btn {
        margin-top: 16px
    }

    .dv-price__cta-label {
        font-size: 14px
    }

    .dv-price__cta-phone {
        font-size: 28px;
        letter-spacing: -.28px
    }

    .dv-price__aside-note {
        align-self: flex-start;
        text-align: left
    }
}

.rst-card {
    padding: 24px 0
}

.rst-card--delivery {
    padding: 72px 0 16px
}

.rst-card__inner {
    display: flex;
    align-items: stretch;
    gap: 32px
}

.rst-card:hover .rst-card__media-nav {
    opacity: 1
}

@media (max-width:755px) {
    .rst-card {
        padding: 32px 0
    }

    .rst-card__inner {
        position: relative;
        flex-direction: column;
        gap: 24px
    }
}

.rst-media {
    position: relative;
    flex-shrink: 0;
    width: 688px;
    height: 440px;
    border-radius: 8px;
    overflow: hidden
}

.rst-media img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.rst-media__nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 3;
    width: 40px;
    height: 40px;
    opacity: 0;
    transition: opacity .2s ease
}

.rst-media__nav img,
.rst-media__nav svg {
    width: 100%;
    height: 100%
}

.rst-media__nav--prev {
    left: 16px
}

.rst-media__nav--next {
    right: 16px
}

.rst-media__dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 16px;
    z-index: 2;
    display: flex;
    justify-content: center;
    gap: 4px;
    transform: none
}

.rst-media__dot {
    width: 32px;
    height: 8px;
    border-radius: 999px;
    background: #fff;
    opacity: .4
}

.rst-media__dot--active {
    opacity: 1
}

@media (min-width:756px) and (max-width:1279px) {
    .rst-media {
        width: 49.8%;
        height: auto;
        aspect-ratio: 478/406
    }
}

@media (max-width:755px) {
    .rst-media {
        width: 100%;
        height: 240px
    }

    .rst-media__nav {
        opacity: 1
    }
}

.rst-arenda-card {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.rst-arenda-card__img {
    position: relative;
    height: 440px;
    border-radius: 8px;
    overflow: hidden
}

.rst-arenda-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.rst-arenda-card__name {
    margin-top: 8px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.rst-arenda-card__btn {
    align-self: flex-start;
    margin-top: auto
}

.rst-arenda-card__arrow {
    display: none
}

.rst-arenda-card__desc {
    width: 440px;
    max-width: 100%;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #333
}

@media (max-width:755px) {
    .rst-arenda-card {
        position: relative;
        gap: 16px
    }

    .rst-arenda-card__img {
        height: 240px
    }

    .rst-arenda-card__name {
        margin-top: 0;
        padding-right: 56px;
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .rst-arenda-card__desc {
        width: auto
    }

    .rst-arenda-card__btn {
        display: none
    }

    .rst-arenda-card__arrow {
        display: flex;
        position: absolute;
        top: 253px;
        right: 0
    }
}

.rst-arenda-card__dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 16px;
    z-index: 2;
    display: flex;
    justify-content: center;
    gap: 4px;
    transform: none
}

.rst-arenda-card__dot {
    width: 32px;
    height: 8px;
    border-radius: 999px;
    background: #fff;
    opacity: .4
}

.rst-arenda-card__dot--active {
    opacity: 1
}

.rst-body {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column
}

.rst-body__name {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.rst-body__schedule {
    margin-top: 16px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.rst-body__desc {
    margin-top: 24px;
    width: 360px;
    max-width: 100%;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #333
}

.rst-body__buttons {
    margin-top: 24px;
    display: flex;
    flex-wrap: wrap;
    gap: 8px
}

.rst-body__foot {
    margin-top: auto;
    padding-top: 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px
}

@media (max-width:755px) {
    .rst-body__name {
        padding-right: 56px;
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .rst-body__arrow {
        position: absolute;
        top: 261px;
        right: 12px
    }

    .rst-body__desc {
        width: auto
    }

    .rst-body__foot {
        padding-top: 24px
    }
}

.rst-cuisine {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.rst-cuisine img,
.rst-cuisine svg {
    width: 20px;
    height: 20px;
    flex-shrink: 0
}

.rst-delivery {
    display: flex;
    align-items: center;
    gap: 32px;
    padding: 32px;
    border-radius: 8px;
    background: #fcf5de
}

.rst-delivery__photo {
    flex-shrink: 0;
    width: 215px;
    height: 215px;
    border-radius: 999px;
    overflow: hidden
}

.rst-delivery__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.rst-delivery__text {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.rst-delivery__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.rst-delivery__desc {
    max-width: 386px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #333
}

.rst-delivery__cta {
    flex-shrink: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 398px
}

.rst-delivery__card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
    padding: 24px;
    border-radius: 8px;
    background: #fff
}

.rst-delivery__btn {
    width: 100%
}

.rst-delivery__label {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #666
}

.rst-delivery__phone {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: .9;
    letter-spacing: -1.02px;
    color: #333
}

@media (min-width:756px) and (max-width:1279px) {
    .rst-delivery {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 243px;
        grid-template-areas: "text  photo""cta   photo";
        align-items: center;
        column-gap: 32px;
        row-gap: 24px;
        padding: 48px 32px
    }

    .rst-delivery__text {
        grid-area: text
    }

    .rst-delivery__desc {
        max-width: 509px
    }

    .rst-delivery__cta {
        grid-area: cta;
        flex-direction: row;
        align-items: center;
        gap: 48px;
        width: auto
    }

    .rst-delivery__btn {
        width: auto
    }

    .rst-delivery__card {
        width: auto;
        padding: 0;
        background: 0 0
    }

    .rst-delivery__photo {
        grid-area: photo;
        width: 243px;
        height: 243px
    }
}

@media (max-width:755px) {
    .rst-delivery {
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
        margin: 0 -12px;
        padding: 48px 24px 0;
        border-radius: 0;
        overflow: hidden
    }

    .rst-delivery__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .rst-delivery__cta {
        width: 100%
    }

    .rst-delivery__card {
        padding: 0;
        border-radius: 0;
        background: 0 0
    }

    .rst-delivery__phone {
        font-size: 30px
    }

    .rst-delivery__photo {
        order: 3;
        align-self: center;
        width: 320px;
        height: 320px;
        margin-bottom: -110px
    }
}

.rst-arenda {
    padding: 48px 0 96px
}

.rst-arenda__title {
    margin-bottom: 48px;
    font-family: Lora, Georgia, serif;
    font-weight: 400;
    font-size: 80px;
    line-height: .9;
    letter-spacing: -2.4px;
    color: #333
}

.rst-arenda__grid {
    display: flex;
    gap: 16px
}

@media (min-width:756px) and (max-width:1279px) {
    .rst-arenda__grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 32px 8px
    }
}

@media (max-width:755px) {
    .rst-arenda {
        padding: 48px 0
    }

    .rst-arenda__title {
        margin-bottom: 24px;
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .rst-arenda__grid {
        flex-direction: column;
        gap: 48px
    }
}

.rst-menu {
    padding: 64px 0
}

.rst-menu__head {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    margin-bottom: 120px;
    text-align: center
}

.rst-menu__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.rst-menu__lead {
    max-width: 614px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.4;
    color: #333
}

.rst-menu__body {
    display: flex;
    align-items: flex-start;
    gap: 48px
}

.rst-menu__cats {
    flex-shrink: 0;
    width: 416px;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.rst-menu__cuisine {
    display: flex;
    align-items: center;
    gap: 12px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: .9;
    letter-spacing: -1.02px;
    color: #1e1e1e
}

.rst-menu__cuisine img,
.rst-menu__cuisine svg {
    width: 28px;
    height: 28px
}

.rst-menu__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    max-width: 392px
}

.rst-menu__tag {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 8px 16px;
    border: .5px solid rgba(0, 0, 0, .2);
    border-radius: 999px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #1e1e1e;
    transition: border-color .2s ease
}

.rst-menu__tag:hover {
    border-color: rgba(0, 0, 0, .5)
}

.rst-menu__tag-arrow {
    flex-shrink: 0;
    width: 18px;
    height: 15px
}

.rst-menu__tag-arrow img,
.rst-menu__tag-arrow svg {
    display: block;
    width: 100%;
    height: 100%
}

.rst-menu__buttons {
    display: flex;
    gap: 8px;
    margin-top: 8px
}

.rst-menu__dishes-head {
    display: flex;
    align-items: center;
    gap: 32px;
    margin-bottom: 24px
}

.rst-menu__dishes-title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: .9;
    letter-spacing: -1.02px;
    color: #1e1e1e
}

.rst-menu__nav {
    display: flex;
    gap: 4px
}

.rst-menu__nav-btn {
    width: 40px;
    height: 40px
}

.rst-menu__nav-btn img,
.rst-menu__nav-btn svg {
    width: 100%;
    height: 100%
}

.rst-menu__right {
    flex: 1 0 0;
    min-width: 0
}

.rst-menu__dishes {
    display: flex;
    align-items: flex-start;
    gap: 8px
}

@media (min-width:756px) and (max-width:1279px) {
    .rst-menu .wrapper {
        display: grid;
        grid-template-columns: minmax(0, 442fr) minmax(0, 476fr);
        column-gap: 42px;
        row-gap: 120px
    }

    .rst-menu__head {
        align-items: flex-start;
        margin-bottom: 0;
        text-align: left
    }

    .rst-menu__body {
        display: contents
    }

    .rst-menu__cats {
        grid-column: 2;
        grid-row: 1;
        width: auto
    }

    .rst-menu__right {
        grid-column: 1/-1
    }

    .rst-menu__tags {
        max-width: 640px
    }
}

@media (max-width:755px) {
    .rst-menu {
        padding: 48px 0
    }

    .rst-menu__head {
        align-items: flex-start;
        margin-bottom: 48px;
        text-align: left
    }

    .rst-menu__body {
        flex-direction: column;
        align-items: stretch;
        gap: 48px
    }

    .rst-menu__cats {
        width: 100%
    }

    .rst-menu__cuisine {
        justify-content: space-between;
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: 0
    }

    .rst-menu__cuisine img,
    .rst-menu__cuisine svg {
        order: 1
    }

    .rst-menu__tags {
        max-width: none
    }

    .rst-menu__tag {
        gap: 0;
        padding: 4px 12px;
        font-size: 14px
    }

    .rst-menu__tag-arrow {
        display: none
    }

    .rst-menu__right {
        min-width: 0
    }

    .rst-menu__dishes-head {
        display: none
    }

    .rst-menu__buttons {
        flex-direction: column
    }

    .rst-menu__btn {
        width: 100%
    }

    .rst-menu__dishes {
        overflow-x: auto;
        min-width: 0;
        scrollbar-width: none;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch
    }

    .rst-menu__dishes::-webkit-scrollbar {
        display: none
    }

    .rst-menu__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }
}

.rst-dish {
    flex-shrink: 0;
    width: 300px;
    display: flex;
    flex-direction: column;
    gap: 16px
}

.rst-dish__img {
    border-radius: 8px;
    overflow: hidden
}

.rst-dish__img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.rst-dish:nth-child(1) .rst-dish__img {
    height: 247px
}

.rst-dish:nth-child(2) .rst-dish__img {
    height: 336px
}

.rst-dish:nth-child(3) .rst-dish__img {
    height: 247px
}

.rst-dish:nth-child(4) .rst-dish__img {
    height: 336px
}

.rst-dish__name {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

.rst-events {
    padding: 48px 0 120px
}

.rst-events__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 48px
}

.rst-events__title {
    flex: 1 0 0;
    max-width: 480px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.rst-events__intro {
    flex-shrink: 0;
    width: 688px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px
}

.rst-events__intro-text {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

.rst-events__grid {
    display: flex;
    gap: 8px
}

@media (min-width:756px) and (max-width:1279px) {
    .rst-events__head {
        flex-direction: column;
        gap: 24px;
        margin-bottom: 32px
    }

    .rst-events__title {
        max-width: none
    }

    .rst-events__intro {
        width: 100%
    }
}

@media (max-width:755px) {
    .rst-events__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .rst-events {
        padding: 48px 0
    }

    .rst-events__head {
        flex-direction: column;
        gap: 24px
    }

    .rst-events__title {
        max-width: none
    }

    .rst-events__intro {
        width: 100%
    }

    .rst-events__intro-text {
        font-size: 14px;
        line-height: 1.7
    }

    .rst-events__grid {
        flex-direction: column;
        gap: 48px
    }
}

.rst-event-card {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    align-items: stretch;
    min-height: 380px
}

.rst-event-card__text {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 32px;
    border-radius: 8px 0 0 8px;
    background: #fcf5de
}

.rst-event-card__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333
}

.rst-event-card__desc {
    flex: 1 0 0;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.rst-event-card__img {
    flex-shrink: 0;
    width: 252px;
    border-radius: 0 8px 8px 0;
    overflow: hidden
}

.rst-event-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

@media (max-width:755px) {
    .rst-event-card {
        flex: none;
        flex-direction: column-reverse;
        gap: 24px;
        min-height: 0
    }

    .rst-event-card__text {
        padding: 0;
        border-radius: 0;
        background: 0 0
    }

    .rst-event-card__title {
        font-size: 24px;
        letter-spacing: -.72px
    }

    .rst-event-card__img {
        width: 100%;
        height: 260px;
        border-radius: 8px
    }
}

.rst-others {
    padding: 48px 0
}

.rst-others__head {
    display: flex;
    align-items: flex-end;
    gap: 32px;
    margin-bottom: 24px
}

.rst-others__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.rst-others__nav {
    display: flex;
    gap: 4px
}

.rst-others__nav-btn {
    width: 40px;
    height: 40px
}

.rst-others__nav-btn img,
.rst-others__nav-btn svg {
    width: 100%;
    height: 100%
}

.rst-others__desc {
    display: none;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #333
}

.rst-others__grid {
    display: flex;
    gap: 8px
}

@media (max-width:755px) {
    .rst-others__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .rst-others__head {
        margin-bottom: 16px
    }

    .rst-others__nav {
        display: none
    }

    .rst-others__desc {
        display: block;
        margin-bottom: 32px
    }
}

.rst-other__more {
    display: none
}

.rst-other {
    position: relative;
    flex: 1 0 0;
    min-width: 0;
    height: 467px;
    border-radius: 8px;
    overflow: hidden
}

.rst-other img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover
}

.rst-other::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 50%, rgba(0, 0, 0, .45) 100%)
}

.rst-other__name {
    position: absolute;
    z-index: 1;
    left: 32px;
    right: 32px;
    bottom: 32px;
    display: block;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #fff
}

.rst-other__tail {
    white-space: nowrap
}

.rst-other__arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    vertical-align: middle;
    margin-left: 16px;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: #fff;
    color: #333
}

.rst-other__arrow img,
.rst-other__arrow svg {
    width: 16px;
    height: 16px
}

@media (max-width:755px) {
    .rst-other {
        flex: none;
        height: auto;
        border-radius: 0;
        overflow: visible
    }

    .rst-other img {
        position: static;
        height: 240px;
        border-radius: 8px
    }

    .rst-other::after {
        content: none
    }

    .rst-other__name {
        position: static;
        display: block;
        margin-top: 16px;
        color: #333;
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .rst-other__arrow {
        display: none
    }

    .rst-other__more {
        display: inline-flex;
        margin-top: 16px
    }
}

.ev-top {
    padding: 48px 0 68px
}

.ev-top__intro {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    max-width: 691px;
    margin-bottom: 64px
}

.ev-top__intro-text {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

.ev-top__intro-text ol,
.ev-top__intro-text ul {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding-left: 24px;
    list-style: revert
}

.ev-top__intro-text li {
    font: inherit;
    color: inherit
}

.ev-top__intro-text li::marker {
    color: #8f5f3f
}

.ev-top__intro-text h2,
.ev-top__intro-text h3,
.ev-top__intro-text h4 {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: -.02em;
    color: #1e1e1e
}

.ev-top__intro-text h2 {
    font-size: 34px
}

.ev-top__intro-text h3 {
    font-size: 24px
}

.ev-top__intro-text h4 {
    font-size: 20px
}

.ev-top__intro-text b,
.ev-top__intro-text strong {
    font-weight: 600
}

.ev-top__intro-text em,
.ev-top__intro-text i {
    font-style: italic
}

.ev-top__intro-text a:not([class]) {
    text-decoration: underline;
    text-underline-offset: 3px
}

@media (max-width:755px) {
    .ev-top__intro-text h2 {
        font-size: 20px
    }

    .ev-top__intro-text h3 {
        font-size: 18px
    }

    .ev-top__intro-text h4 {
        font-size: 16px
    }
}

@media (max-width:755px) {
    .ev-top {
        padding: 48px 0
    }

    .ev-top__intro {
        margin-bottom: 48px
    }

    .ev-top__intro-text {
        font-size: 14px;
        line-height: 1.7
    }
}

.ev-cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px
}

.ev-cards--two {
    grid-template-columns: repeat(2, 1fr)
}

.ev-cards--two .ev-card__img {
    height: 370px
}

@media (max-width:755px) {
    .ev-cards {
        grid-template-columns: 1fr;
        gap: 48px
    }
}

.ev-card {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px
}

.ev-card__img {
    width: 100%;
    height: 543px;
    border-radius: 8px;
    overflow: hidden
}

.ev-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.ev-card__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333
}

.ev-card__desc {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.ev-card__btn {
    margin-top: auto
}

@media (max-width:755px) {
    .ev-card__img {
        height: 240px
    }

    .ev-card__title {
        font-size: 24px;
        letter-spacing: -.72px
    }

    .ev-card__btn {
        gap: 24px;
        padding: 8px 8px 8px 10px
    }

    .ev-card__btn::after {
        content: "";
        width: 7px;
        height: 7px;
        border-top: 1.5px solid currentColor;
        border-right: 1.5px solid currentColor;
        transform: rotate(45deg)
    }
}

.ev-manager {
    padding: 0 max(32px, 50% - 688px)
}

.ev-manager__box {
    display: flex;
    align-items: center;
    gap: 48px;
    min-height: 338px;
    padding: 48px;
    border-radius: 8px;
    background: #fcf5de
}

.ev-manager__title {
    flex: 300 1 0;
    min-width: 0;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333
}

.ev-manager__person {
    flex: 554 1 0;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 24px
}

.ev-manager__photo {
    flex-shrink: 0;
    width: 160px;
    height: 160px;
    border-radius: 8px;
    overflow: hidden
}

.ev-manager__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

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

.ev-manager__name {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333
}

.ev-manager__contact {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #666
}

.ev-manager__aside {
    flex: 330 1 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px
}

.ev-manager__dots {
    display: flex;
    gap: 8px
}

.ev-manager__dot {
    width: 24px;
    height: 24px;
    border-radius: 999px;
    background: #fff;
    opacity: .5
}

.ev-manager__dot--active {
    opacity: 1
}

.ev-manager__desc {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

@media (max-width:755px) {
    .ev-manager {
        padding: 0
    }

    .ev-manager__box {
        flex-direction: column;
        align-items: flex-start;
        gap: 24px;
        padding: 48px 12px;
        border-radius: 0
    }

    .ev-manager__title {
        flex: none;
        width: auto;
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: -.2px
    }

    .ev-manager__photo {
        width: 120px;
        height: 120px
    }

    .ev-manager__person {
        flex: none;
        align-items: center;
        gap: 24px;
        width: 100%
    }

    .ev-manager__name {
        font-size: 20px;
        letter-spacing: -.2px
    }

    .ev-manager__contact {
        font-family: Lora, Georgia, serif;
        font-size: 16px;
        line-height: 1.3;
        color: #333;
        text-decoration: underline;
        text-underline-offset: 4px
    }

    .ev-manager__aside {
        flex: none;
        gap: 24px
    }

    .ev-manager__dot {
        width: 32px;
        height: 32px;
        background: #fffdf7
    }

    .ev-manager__desc {
        font-size: 16px;
        line-height: 1.5;
        color: #333
    }
}

.ev-can {
    padding: 80px 0 96px
}

.ev-can__title {
    margin-bottom: 56px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #1e1e1e;
    text-align: center
}

.ev-can__grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 48px 186px
}

@media (min-width:756px) and (max-width:1279px) {
    .ev-can__grid {
        justify-content: flex-start;
        gap: 32px
    }
}

@media (max-width:755px) {
    .ev-can {
        padding: 48px 0
    }

    .ev-can__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .ev-can__title {
        text-align: left;
        margin-bottom: 24px
    }

    .ev-can__grid {
        flex-wrap: nowrap;
        justify-content: flex-start;
        gap: 32px;
        overflow-x: auto;
        scrollbar-width: none;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch
    }

    .ev-can__grid::-webkit-scrollbar {
        display: none
    }
}

.ev-can-card:nth-child(4),
.ev-can-card:nth-child(5) {
    transform: translateX(-49px)
}

.ev-can-card {
    width: 271px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    text-align: left
}

.ev-can-card__img {
    width: 271px;
    height: 271px;
    border-radius: 24px;
    overflow: hidden
}

.ev-can-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.ev-can-card--round .ev-can-card__img {
    border-radius: 999px
}

.ev-can-card__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333
}

.ev-can-card__desc {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #333
}

@media (min-width:756px) and (max-width:1279px) {
    .ev-can-card {
        width: calc((100% - 96px)/ 4)
    }

    .ev-can-card__img {
        width: 100%;
        height: auto;
        aspect-ratio: 1/1
    }

    .ev-can-card:nth-child(4),
    .ev-can-card:nth-child(5) {
        transform: none
    }
}

@media (max-width:755px) {
    .ev-can-card {
        flex-shrink: 0;
        width: 200px
    }

    .ev-can-card:nth-child(4),
    .ev-can-card:nth-child(5) {
        transform: none
    }

    .ev-can-card__img {
        width: 160px;
        height: 160px;
        border-radius: 16px
    }

    .ev-can-card__title {
        font-size: 20px;
        letter-spacing: -.2px;
        line-height: 1.3
    }
}

.ev-venues {
    padding: 64px 0
}

.ev-venues__title {
    margin-bottom: 48px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.ev-venues__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 48px 8px
}

@media (max-width:755px) {
    .ev-venues__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

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

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

.ev-venue__img {
    width: 100%;
    height: 520px;
    border-radius: 8px;
    overflow: hidden
}

.ev-venue__img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.ev-venue__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333
}

.ev-venue__label {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.ev-venue__tags {
    display: flex;
    flex-direction: column;
    gap: 4px
}

.ev-venue__tag {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #333
}

@media (max-width:755px) {
    .ev-venue__title {
        font-size: 24px;
        letter-spacing: -.72px
    }

    .ev-venue__img {
        height: 240px
    }
}

.ev-process {
    padding: 64px 0
}

.ev-process__head {
    display: flex;
    align-items: center;
    gap: 32px;
    margin-bottom: 48px
}

.ev-process__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.ev-process__nav {
    display: flex;
    gap: 4px
}

.ev-process__nav-btn {
    width: 40px;
    height: 40px
}

.ev-process__nav-btn img,
.ev-process__nav-btn svg {
    width: 100%;
    height: 100%
}

.ev-process__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0
}

@media (max-width:755px) {
    .ev-process__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .ev-process__nav {
        display: none
    }

    .ev-process__grid {
        grid-template-columns: 1fr;
        gap: 24px
    }
}

.ev-step {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 0 24px;
    min-height: 400px
}

.ev-step+.ev-step {
    border-left: 1px solid rgba(51, 51, 51, .12)
}

.ev-step:first-child {
    padding-left: 0
}

.ev-step__num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 124px;
    height: 80px;
    margin-bottom: 32px;
    border-radius: 999px;
    background: #fff;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    color: #333
}

.ev-step__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333
}

.ev-step__desc {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

@media (max-width:755px) {
    .ev-step {
        display: grid;
        grid-template-columns: 120px 1fr;
        column-gap: 24px;
        row-gap: 16px;
        padding: 0;
        min-height: 0
    }

    .ev-step+.ev-step {
        border-left: none
    }

    .ev-step__num {
        grid-row: 1/3;
        width: 120px;
        height: 80px;
        margin-bottom: 0
    }

    .ev-step__title {
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: -.2px;
        align-self: start
    }
}

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

.es-check__item {
    position: relative;
    max-width: 808px;
    padding-left: 32px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.6;
    color: #1e1e1e
}

.es-check__item::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 7px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #8f5f3f
}

.es-sportcard {
    padding: 24px 0 0
}

.es-sportcard__title {
    margin-bottom: 32px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333
}

.es-sportcard .wrapper>p,
.es-sportcard__text {
    max-width: 808px;
    margin-bottom: 16px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

.es-sportcard .wrapper>p:last-child,
.es-sportcard__text:last-child {
    margin-bottom: 0
}

.es-sportcard .wrapper a,
.es-sportcard__link {
    color: #1e1e1e;
    text-decoration: underline
}

@media (max-width:755px) {
    .es-sportcard__title {
        margin-bottom: 24px;
        font-size: 20px;
        letter-spacing: -.2px
    }

    .es-sportcard .wrapper>p,
    .es-sportcard__text {
        font-size: 14px;
        line-height: 1.7
    }
}

.es-contacts {
    display: none
}

@media (max-width:755px) {
    .es-contacts {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 48px;
        padding: 48px 12px
    }

    .es-contacts__phone-block {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 8px
    }

    .es-contacts__label {
        font-family: Raleway, system-ui, -apple-system, sans-serif;
        font-weight: 500;
        font-size: 14px;
        line-height: 1.7;
        color: #666
    }

    .es-contacts__phone {
        font-family: Lora, Georgia, serif;
        font-weight: 500;
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px;
        color: #333
    }

    .es-contacts__button {
        width: 100%
    }
}

.es-venues {
    padding: 64px 0
}

.es-venues__title {
    margin-bottom: 48px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #1e1e1e
}

.es-venues__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 48px 8px
}

@media (max-width:755px) {
    .es-venues__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

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

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

.es-venue__img {
    height: 540px;
    border-radius: 8px;
    overflow: hidden
}

.es-venue__img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.es-venue__name {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333
}

.es-venue__desc {
    margin-top: -8px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #666
}

@media (max-width:755px) {
    .es-venue__img {
        height: 240px
    }

    .es-venue__desc {
        font-size: 14px;
        line-height: 1.7
    }

    .es-venue__name {
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: -.2px
    }
}

.es-can {
    padding: 64px 0
}

.es-can__title {
    margin-bottom: 56px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.es-can__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px 40px
}

.es-can__item {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333
}

@media (min-width:756px) and (max-width:1279px) {
    .es-can__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px 32px
    }

    .es-can__item {
        font-size: 26px;
        letter-spacing: -.78px
    }
}

@media (max-width:755px) {
    .es-can__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .es-can__grid {
        grid-template-columns: 1fr;
        gap: 24px
    }

    .es-can__item {
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: -.2px
    }
}

.es-cta {
    padding: 0
}

.es-cta__box {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 24px;
    padding: 96px 32px;
    background: #fcf5de;
    text-align: center
}

.es-cta__title {
    max-width: 800px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.es-cta__desc {
    max-width: 760px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #666
}

.es-cta__phone-block {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    margin-top: 24px
}

.es-cta__phone-label {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #666
}

.es-cta__phone {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

@media (max-width:755px) {
    .es-cta__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .es-cta {
        padding: 0
    }

    .es-cta__box {
        align-items: flex-start;
        gap: 24px;
        padding: 48px 12px;
        text-align: left
    }

    .es-cta__desc {
        color: #1e1e1e
    }

    .es-cta__phone-block {
        align-items: flex-start;
        margin-top: 40px
    }

    .es-cta__phone-label {
        font-size: 14px;
        line-height: 1.7
    }

    .es-cta__phone {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }
}

.ec-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 max(32px, 50% - 688px) 30px
}

@media (max-width:755px) {
    .ec-tags {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 0 16px 32px;
        scrollbar-width: none;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch
    }

    .ec-tags::-webkit-scrollbar {
        display: none
    }
}

.ec-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 96px 8px;
    padding-bottom: 120px
}

@media (max-width:755px) {
    .ec-grid {
        grid-template-columns: 1fr;
        gap: 40px
    }

    .ec-grid.swiper {
        display: block
    }
}

.ec-grid--tight {
    padding-bottom: 0
}

.ec-card {
    display: flex;
    flex-direction: column;
    gap: 32px
}

.ec-card__img {
    height: 540px;
    border-radius: 8px;
    overflow: hidden
}

.ec-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.ec-card__body {
    display: flex;
    flex-direction: column;
    gap: 12px
}

.ec-card__meta {
    display: flex;
    gap: 16px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.66px;
    color: #8f5f3f
}

.ec-card__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333
}

.ec-card__desc {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.ec-card--past .ec-card__img {
    position: relative
}

.ec-card--past .ec-card__img::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(255, 255, 255, .4)
}

@media (max-width:755px) {
    .ec-card__img {
        height: 382px
    }

    .ec-card__meta {
        font-size: 18px;
        letter-spacing: -.54px
    }

    .ec-card__title {
        font-size: 20px;
        letter-spacing: -.6px
    }
}

.ec-card--past .ec-card__meta {
    color: #666
}

.ec-card--past .ec-card__meta span:first-child {
    color: red
}

.ec-pagination {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 88px 0 86px
}

.ec-pagination__next {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    margin-left: 16px;
    color: #333;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1
}

.ec-pagination__next:hover {
    color: #8f5f3f
}

.ec-pagination__next-arrow {
    width: 18px;
    height: 15px;
    color: currentColor
}

.ec-pagination__next-arrow img,
.ec-pagination__next-arrow svg {
    display: block;
    width: 100%;
    height: 100%
}

@media (max-width:755px) {
    .ec-pagination {
        flex-wrap: wrap
    }
}

@media (max-width:755px) {
    .ec-pagination--compact {
        padding: 48px 0 98px
    }

    .ec-pagination--compact .ec-pagination__next {
        gap: 0;
        font-size: 0
    }
}

.ec-pagination__page {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    padding: 0 8px;
    border-radius: 8px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1;
    color: #1e1e1e;
    transition: background-color .2s ease
}

.ec-pagination__page:hover {
    background: rgba(153, 153, 153, .13)
}

.ec-pagination__page--active {
    background: #8f5f3f;
    color: #fff;
    font-weight: 600
}

.ec-pagination__page--dots {
    color: #333
}

.ec-pagination__page--dots:hover {
    background: 0 0
}

.ec-pagination__page--dark.ec-pagination__page--active {
    background: #2b2b2b
}

.ec-empty {
    padding: 24px 0 64px;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #666
}

.ec-empty a {
    color: #8f5f3f;
    text-decoration: underline
}

.et-hero {
    position: relative;
    max-width: 1440px;
    margin: 0 auto;
    padding: 32px 32px 0
}

.et-hero__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.et-hero__meta {
    display: flex;
    gap: 16px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5
}

.et-hero__date {
    color: #757575
}

.et-hero__time {
    color: #8f5f3f
}

@media (max-width:755px) {
    .et-hero {
        padding: 40px 12px 0
    }

    .et-hero__title {
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .et-hero__meta {
        font-size: 14px;
        line-height: 1.7
    }
}

.et-hero__cover {
    height: 480px;
    border-radius: 8px;
    overflow: hidden
}

.et-hero__cover img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

@media (max-width:755px) {
    .et-hero__cover {
        height: 256px
    }
}

.et-hero__desc {
    margin-top: 48px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

@media (max-width:755px) {
    .et-hero__desc {
        margin-top: 24px;
        font-size: 14px;
        line-height: 1.7
    }
}

.et-hero__cover-frame {
    position: relative;
    height: 480px;
    border-radius: 8px;
    overflow: hidden
}

.et-hero__cover-frame img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.et-hero__cover-tags {
    position: absolute;
    z-index: 1;
    top: 8px;
    right: 8px;
    display: flex;
    flex-direction: column;
    gap: 8px
}

@media (max-width:755px) {
    .et-hero__cover-frame {
        height: auto;
        overflow: visible
    }

    .et-hero__cover-frame>img {
        height: 256px;
        border-radius: 8px
    }

    .et-hero__cover-tags {
        position: static;
        margin-top: 8px;
        gap: 0
    }
}

.et-hero__col {
    width: 72.7%;
    margin-left: 13.7%;
    display: flex;
    flex-direction: column
}

@media (max-width:755px) {
    .et-hero__col {
        width: 100%;
        margin-left: 0
    }
}

@media (min-width:756px) and (max-width:1279px) {
    .et-hero__col--wide {
        width: 100%;
        margin-left: 0
    }
}

.et-hero__head {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 48px
}

@media (max-width:755px) {
    .et-hero__head {
        gap: 12px;
        margin-bottom: 24px
    }
}

@media (max-width:755px) {
    .et-hero__head--event {
        gap: 20px
    }
}

.et-hero__back {
    position: absolute;
    left: 32px;
    top: 32px;
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #333
}

.et-hero__back-arrow {
    width: 16px;
    height: 14px;
    color: #333;
    transform: scaleX(-1)
}

.et-hero__back-arrow img,
.et-hero__back-arrow svg {
    display: block;
    width: 100%;
    height: 100%
}

@media (max-width:755px) {
    .et-hero__back {
        position: static;
        margin-bottom: 24px
    }
}

.et-hero__schedule {
    padding: 48px 0 96px
}

.et-hero__schedule-title {
    margin-bottom: 32px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333
}

.et-hero__schedule-rows {
    display: flex;
    flex-direction: column;
    gap: 8px
}

.et-hero__schedule-row {
    display: flex;
    align-items: flex-start;
    padding: 16px;
    border-radius: 8px;
    background: #fff
}

.et-hero__schedule-time {
    flex-shrink: 0;
    width: 200px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.66px;
    color: #333
}

.et-hero__schedule-act {
    flex: 1 0 0;
    min-width: 0;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

@media (max-width:755px) {
    .et-hero__schedule {
        padding: 48px 0
    }

    .et-hero__schedule-title {
        font-size: 28px;
        letter-spacing: -.28px;
        margin-bottom: 24px
    }

    .et-hero__schedule-row {
        flex-direction: column;
        gap: 8px
    }

    .et-hero__schedule-time {
        width: auto;
        font-size: 18px
    }
}

.et-hero--news {
    padding-bottom: 96px
}

.et-hero--news .et-hero__head {
    order: -2;
    margin-bottom: 16px
}

@media (max-width:755px) {
    .et-hero--news {
        padding-bottom: 0
    }

    .et-hero--news .et-hero__head {
        order: 0;
        margin-bottom: 24px
    }

    .et-hero--news .et-hero__cover {
        height: 255px
    }
}

.others__head {
    display: flex;
    align-items: flex-end;
    gap: 32px;
    margin-bottom: 48px
}

.others__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.others__nav {
    display: flex;
    gap: 4px
}

.others__nav-btn {
    width: 40px;
    height: 40px
}

.others__nav-btn img,
.others__nav-btn svg {
    width: 100%;
    height: 100%
}

@media (max-width:755px) {
    .others {
        padding-bottom: 96px
    }

    .others__title {
        font-size: 28px;
        letter-spacing: -.28px
    }

    .others__head {
        margin-bottom: 24px
    }

    .others__nav {
        display: none
    }
}

.others--news {
    padding: 120px 0
}

@media (max-width:755px) {
    .others--news {
        padding: 88px 0
    }

    .others--news .others__nav {
        display: none
    }
}

.offers-list__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 max(32px, 50% - 688px) 30px
}

.offers-list__body {
    padding-bottom: 120px
}

.offers-list__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 96px 8px
}

.offers-list__grid--two {
    grid-template-columns: repeat(2, 1fr)
}

.offers-list__grid+.offers-list__grid {
    margin-top: 64px
}

@media (max-width:755px) {
    .offers-list__tags {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 0 16px 32px;
        scrollbar-width: none;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch
    }

    .offers-list__tags::-webkit-scrollbar {
        display: none
    }

    .offers-list__body {
        padding-bottom: 144px
    }

    .offers-list__grid {
        grid-template-columns: 1fr;
        gap: 60px
    }

    .offers-list__grid+.offers-list__grid {
        margin-top: 60px
    }
}

.ofr-tag {
    display: flex;
    flex-direction: column;
    width: 179px;
    min-height: 228px;
    padding: 16px;
    border-radius: 8px;
    background: rgba(30, 30, 30, .35);
    backdrop-filter: blur(12px)
}

.ofr-tag__price {
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, .3);
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 28px;
    line-height: 1.1;
    letter-spacing: -.84px;
    color: #fff
}

.ofr-tag__meta {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-top: 20px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: rgba(255, 255, 255, .85)
}

@media (max-width:755px) {
    .ofr-tag {
        flex-direction: row;
        align-items: center;
        gap: 24px;
        width: 100%;
        min-height: 0;
        padding: 16px 0;
        border-radius: 0;
        background: 0 0;
        backdrop-filter: none
    }

    .ofr-tag:not(:last-child) {
        border-bottom: 1px solid rgba(51, 51, 51, .12)
    }

    .ofr-tag__price {
        flex-shrink: 0;
        min-width: 110px;
        padding-bottom: 0;
        border-bottom: none;
        font-size: 24px;
        letter-spacing: -.72px;
        color: #333
    }

    .ofr-tag__meta {
        padding-top: 0;
        font-size: 14px;
        line-height: 1.5;
        color: #666
    }
}

.ofr-block {
    padding-top: 58px
}

.ofr-block+.ofr-block {
    padding-top: 56px
}

.ofr-block__title {
    margin-bottom: 24px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333
}

.ofr-block__intro {
    max-width: 990px;
    margin-bottom: 36px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

@media (max-width:755px) {
    .ofr-block {
        padding-top: 12px
    }

    .ofr-block+.ofr-block {
        padding-top: 48px
    }

    .ofr-block__title {
        font-size: 26px
    }

    .ofr-block__intro {
        margin-bottom: 24px
    }
}

.ofr-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-bottom: 32px
}

.ofr-list__item {
    position: relative;
    padding-left: 32px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

.ofr-list__item::before {
    content: "";
    position: absolute;
    left: 4px;
    top: 8px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: #8f5f3f
}

@media (max-width:755px) {
    .ofr-list__item::before {
        width: 10px;
        height: 10px;
        left: 3px;
        top: 7px
    }
}

.ofr-price {
    display: inline-flex;
    align-items: center;
    gap: 24px;
    padding: 24px 48px 24px 24px;
    border-radius: 8px;
    background: #fcf5de
}

.ofr-price__value {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: .9;
    letter-spacing: -1.02px;
    color: #333
}

.ofr-price__label {
    padding-left: 24px;
    border-left: 1px solid rgba(51, 51, 51, .12);
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.3;
    color: #666
}

@media (max-width:755px) {
    .ofr-price {
        display: flex;
        width: 100%;
        min-height: 96px;
        padding: 24px
    }

    .ofr-price__value {
        font-size: 22px;
        letter-spacing: -.22px
    }
}

.ofr-contact {
    padding: 48px 0 60px
}

.ofr-contact__title {
    margin-bottom: 32px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #1e1e1e
}

.ofr-contact__row {
    display: flex;
    gap: 8px;
    margin-bottom: 24px
}

.ofr-contact__item {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 24px;
    border-radius: 8px;
    background: #fcf5de
}

.ofr-contact__label {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #666
}

.ofr-contact__phone {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 28px;
    line-height: 1.1;
    letter-spacing: -.28px;
    color: #333
}

.ofr-contact__note {
    max-width: 920px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.6;
    color: #333
}

@media (max-width:755px) {
    .ofr-contact__phone {
        font-size: 22px;
        letter-spacing: -.22px
    }

    .ofr-contact {
        padding: 48px 0
    }

    .ofr-contact__title {
        font-size: 26px;
        letter-spacing: -.78px
    }

    .ofr-contact__row {
        flex-direction: column
    }
}

.cert {
    padding: 64px 0 120px
}

.cert__title {
    margin-bottom: 32px;
    font-family: Lora, Georgia, serif;
    font-weight: 400;
    font-size: 80px;
    line-height: .9;
    letter-spacing: -2.4px;
    color: #333
}

@media (max-width:755px) {
    .cert {
        padding: 40px 0 90px
    }

    .cert__title {
        font-size: 36px;
        line-height: 44px;
        letter-spacing: -1.08px;
        white-space: normal
    }
}

.cert-grid {
    display: flex;
    align-items: flex-start;
    gap: 26px
}

@media (max-width:755px) {
    .cert-grid {
        flex-direction: column
    }
}

.cert-card {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 32px
}

.cert-card__media {
    position: relative;
    height: 540px;
    border-radius: 8px;
    overflow: hidden
}

.cert-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.cert-card__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, 0) 51%, rgba(0, 0, 0, .8) 100%)
}

.cert-card__body {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding-right: 28px
}

.cert-card__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333
}

.cert-card__text {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.cert-card__text p {
    margin: 0
}

.cert-card--gift {
    flex: 0 0 453px;
    gap: 12px
}

.cert-card--gift .cert-card__media {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #8f5f3f
}

.cert-card--gift .cert-card__media::after {
    display: none
}

.cert-card__logo {
    width: 219px;
    height: auto;
    color: #cdaf89
}

.cert-card__logo img,
.cert-card__logo svg {
    width: 100%;
    height: 100%
}

@media (min-width:756px) and (max-width:1279px) {
    .cert-card--gift {
        flex: 1 0 0
    }

    .cert-card__media {
        height: auto;
        aspect-ratio: 315/375
    }
}

@media (max-width:755px) {

    .cert-card,
    .cert-card--gift {
        width: 100%;
        flex: none;
        padding-bottom: 20px;
    }

    .cert-card__media {
        height: 361px
    }

    .cert-card__body {
        padding-right: 0
    }

    .cert-card__title {
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: -.2px
    }

    .cert-card__logo {
        width: 160px
    }
}

.crt-bar {
    display: flex;
    gap: 8px;
    margin-top: 48px
}

.crt-bar__col {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 24px;
    border-radius: 8px;
    background: #fcf5de
}

.crt-bar__label {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.crt-bar__value {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 28px;
    line-height: 1.3;
    letter-spacing: -.28px;
    color: #333
}

@media (max-width:755px) {
    .crt-bar {
        flex-direction: column;
        margin-top: 24px
    }

    .crt-bar__value {
        font-size: 24px;
        letter-spacing: -.24px
    }
}

.crt-desc {
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 28px 0 118px
}

.crt-desc>p,
.crt-desc__text {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

@media (max-width:755px) {
    .crt-desc {
        gap: 16px;
        padding: 50px 0 84px
    }

    .crt-desc>p,
    .crt-desc__text {
        font-size: 14px;
        line-height: 1.7
    }
}

.crt-others {
    padding-bottom: 120px
}

.crt-others__head {
    display: flex;
    align-items: flex-end;
    gap: 32px;
    margin-bottom: 48px
}

.crt-others__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.crt-others__nav {
    display: flex;
    gap: 4px
}

.crt-others__nav-btn {
    width: 40px;
    height: 40px
}

.crt-others__nav-btn img,
.crt-others__nav-btn svg {
    width: 100%;
    height: 100%
}

@media (max-width:755px) {
    .crt-others {
        padding-bottom: 100px
    }

    .crt-others__title {
        font-size: 28px;
        letter-spacing: -.28px
    }

    .crt-others__nav {
        display: none
    }

    .crt-others__head {
        margin-bottom: 24px
    }
}

.glp-tags {
    position: sticky;
    top: 72px;
    z-index: 10;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: -16px;
    padding: 16px max(32px, 50% - 688px) 48px;
    background: #fffdf7
}

@media (min-width:756px) and (max-width:1279px) {
    .glp-tags {
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: none;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch
    }

    .glp-tags::-webkit-scrollbar {
        display: none
    }
}

@media (max-width:755px) {
    .glp-tags {
        position: sticky;
        top: 64px;
        z-index: 10;
        flex-wrap: nowrap;
        overflow-x: auto;
        margin-top: 0;
        padding: 16px 12px;
        background: #fffdf7;
        scrollbar-width: none;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch
    }

    .glp-tags::-webkit-scrollbar {
        display: none
    }
}

.glp-grid {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding-bottom: 96px
}

.glp-grid__main {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 8px
}

.glp-grid__pair {
    display: flex;
    gap: 8px
}

.glp-grid__aside {
    /* position: sticky; */
    top: 180px;
    flex-shrink: 0;
    width: 437px;
    align-self: flex-start
}

@media (min-width:756px) and (max-width:1279px) {
    .glp-grid__aside {
        display: none
    }
}

@media (max-width:755px) {
    .glp-grid {
        flex-direction: column;
        gap: 8px
    }

    .glp-grid__pair {
        flex-direction: column;
        gap: 8px
    }

    .glp-grid__aside {
        display: none
    }
}

.glp-photo {
    height: 580px;
    border-radius: 8px;
    overflow: hidden
}

.glp-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

@media (max-width:755px) {
    .glp-photo {
        height: 280px
    }
}

.glp-photo--pair {
    flex: 1 0 0;
    min-width: 0
}

@media (max-width:755px) {
    .glp-photo--pair {
        flex: none;
        height: 400px
    }
}

.glp-promo {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 16px;
    padding: 64px 128px 220px 32px;
    border-top: 1px solid rgba(51, 51, 51, .12);
    text-align: right
}

.glp-promo__icon {
    width: 80px;
    height: 80px;
    color: #8f5f3f
}

.glp-promo__icon img,
.glp-promo__icon svg {
    width: 100%;
    height: 100%
}

.glp-promo__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333;
    text-align: right
}

.glp-stage {
    position: relative
}

.glp-stage--anim {
    transition: transform .7s cubic-bezier(.4, 0, .2, 1)
}

.glp-stage__incoming {
    position: absolute;
    top: 0;
    left: calc(100% + 8px);
    width: 100%
}

@media (prefers-reduced-motion:reduce) {
    .glp-stage--anim {
        transition: none
    }
}

.glp-next {
    position: absolute;
    top: 0;
    left: calc(100% - 53px);
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 600px;
    opacity: .45;
    transition: opacity .2s ease
}

.glp-next:hover {
    opacity: .7
}

.glp-next__photo {
    display: block;
    border-radius: 8px;
    overflow: hidden
}

.glp-next__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.glp-next__photo--tall {
    height: 580px
}

.glp-next__photo--short {
    height: 290px
}

.np-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 0 max(32px, 50% - 688px) 33px
}

@media (max-width:755px) {
    .np-tags {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding: 0 16px 24px;
        scrollbar-width: none;
        -ms-overflow-style: none;
        -webkit-overflow-scrolling: touch
    }

    .np-tags::-webkit-scrollbar {
        display: none
    }
}

.np-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #757575
}

.np-meta__item {
    display: inline-flex;
    align-items: center;
    gap: 8px
}

.np-meta__icon {
    width: 22px;
    height: 22px;
    color: #757575
}

.np-meta__icon img,
.np-meta__icon svg {
    width: 100%;
    height: 100%
}

.np-meta--sep .np-meta__item:not(:first-child) {
    position: relative;
    padding-left: 17px
}

.np-meta--sep .np-meta__item:not(:first-child)::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 22px;
    background: rgba(51, 51, 51, .2)
}

@media (max-width:755px) {
    .np-meta--sep .np-meta__item:not(:first-child) {
        padding-left: 0
    }

    .np-meta--sep .np-meta__item:not(:first-child)::before {
        display: none
    }

    .np-meta {
        flex-wrap: wrap;
        gap: 4px 16px
    }

    .np-meta__item:nth-child(2) {
        order: -1
    }

    .np-meta__item:first-child {
        margin-left: auto
    }

    .np-meta__item:last-child {
        flex: 1 0 100%
    }

    .np-meta__icon {
        width: 18px;
        height: 18px
    }
}

.np-featured {
    display: flex;
    align-items: stretch;
    min-height: 504px;
    margin-bottom: 96px;
    border-radius: 8px;
    background: #fff;
    overflow: hidden
}

.np-featured__text {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    padding: 48px
}

.np-featured__title {
    max-width: 460px;
    margin-top: 24px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #333
}

.np-featured__desc {
    margin-top: -8px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #666
}

.np-featured__img {
    flex: 0 0 675px;
    height: auto;
    border-radius: 0;
    overflow: hidden
}

.np-featured__img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

@media (min-width:756px) and (max-width:1279px) {
    .np-featured {
        min-height: 0;
        margin-bottom: 64px
    }

    .np-featured__text {
        padding: 32px
    }

    .np-featured__title {
        max-width: none;
        font-size: 34px;
        line-height: 1.2;
        letter-spacing: -1.02px
    }

    .np-featured__img {
        flex: 0 0 49.6%
    }
}

@media (max-width:755px) {
    .np-featured {
        flex-direction: column-reverse;
        min-height: 0;
        margin-bottom: 64px;
        border-radius: 0;
        background: 0 0;
        overflow: visible
    }

    .np-featured__text {
        justify-content: flex-start;
        gap: 16px;
        padding: 16px 0 0
    }

    .np-featured__title {
        max-width: none;
        margin-top: 0;
        font-size: 22px;
        letter-spacing: -.66px;
        line-height: 1.2
    }

    .np-featured__desc {
        margin-top: 0
    }

    .np-featured__img {
        flex: none;
        width: 100%;
        height: 255px;
        border-radius: 8px
    }

    .np-featured__btn {
        align-self: stretch;
        margin-top: 32px
    }
}

.np-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 120px 8px;
    padding-bottom: 120px
}

.np-grid--tight {
    padding-bottom: 0
}

@media (min-width:756px) and (max-width:1279px) {
    .np-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 64px 8px
    }
}

@media (max-width:755px) {
    .np-grid {
        grid-template-columns: 1fr;
        gap: 64px
    }

    .np-grid.swiper {
        display: block
    }
}

.np-card {
    display: flex;
    flex-direction: column;
    gap: 24px;
    height: 100%
}

.np-card__img {
    aspect-ratio: 453/400;
    border-radius: 8px;
    overflow: hidden
}

.np-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.np-card__title {
    padding-right: 48px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 1.2;
    letter-spacing: -.66px;
    color: #1e1e1e
}

.np-card__desc {
    margin-top: -8px;
    padding-right: 48px;
    padding-bottom: 24px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #757575
}

.np-card__more {
    align-self: flex-start;
    margin-top: auto
}

@media (max-width:755px) {
    .np-card {
        gap: 16px
    }

    .np-card__title {
        padding-right: 0
    }

    .np-card__desc {
        margin-top: 0;
        padding-right: 0
    }

    .np-card__img {
        aspect-ratio: auto;
        height: 255px
    }

    .np-card__more {
        align-self: stretch;
        margin-top: 8px
    }
}

@media (max-width:755px) {
    .np-card--slide .np-card__img {
        height: 232px
    }
}

.nd-meta {
    order: -1;
    margin-bottom: 48px
}

@media (max-width:755px) {
    .nd-meta {
        order: 0;
        margin: 24px 0 0
    }
}

.nd-body {
    display: flex;
    flex-direction: column;
    gap: 64px;
    margin-top: 48px
}

.nd-body>p,
.nd-body__text {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

@media (max-width:755px) {
    .nd-body {
        gap: 88px;
        margin-top: 32px
    }
}

.nd-block {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 47px
}

.nd-block--rev {
    flex-direction: row-reverse
}

.nd-block__img {
    flex: 0 0 453px;
    height: 400px;
    border-radius: 8px;
    overflow: hidden
}

.nd-block__img img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.nd-block__text {
    flex: 0 1 500px;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 24px
}

.nd-block__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333
}

.nd-block__desc {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

@media (min-width:756px) and (max-width:1279px) {
    .nd-block {
        gap: 48px
    }

    .nd-block__img {
        flex: 0 0 49.6%;
        height: auto;
        aspect-ratio: 476/400
    }

    .nd-block__text {
        flex: 1 1 auto
    }
}

@media (max-width:755px) {
    .nd-block {
        flex-direction: column;
        gap: 16px
    }

    .nd-block--rev {
        flex-direction: column-reverse
    }

    .nd-block__img {
        flex: none;
        width: 100%;
        height: 255px
    }

    .nd-block__text {
        flex: none
    }

    .nd-block__title {
        font-size: 22px;
        letter-spacing: -.66px
    }
}

.rvp-hero {
    display: flex;
    align-items: center;
    gap: 24px;
    padding: 40px max(32px, 50% - 688px) 48px
}

.rvp-hero__title {
    font-family: Lora, Georgia, serif;
    font-weight: 400;
    font-size: 80px;
    line-height: .9;
    letter-spacing: -2.4px;
    color: #333
}

.rvp-hero__sort {
    width: 380px
}

.rvp-hero__action {
    margin-left: auto
}

@media (min-width:756px) and (max-width:1279px) {
    .rvp-hero {
        gap: 48px;
        padding: 40px 32px 48px
    }

    .rvp-hero__title {
        font-size: 52px;
        line-height: 1;
        letter-spacing: -1.56px
    }

    .rvp-hero__sort {
        width: 280px
    }

    .rvp-hero__sort-control {
        height: 56px
    }
}

@media (max-width:755px) {
    .rvp-hero {
        flex-wrap: wrap;
        gap: 24px 8px;
        padding: 16px 12px 24px
    }

    .rvp-hero__title {
        flex: 1 0 100%;
        font-size: 36px;
        letter-spacing: -.36px
    }

    .rvp-hero__sort {
        flex: 0 0 calc(50% - 4px);
        min-width: 0
    }

    .rvp-hero__action {
        flex: 0 0 calc(50% - 4px);
        min-width: 0;
        margin-left: 0;
        padding-left: 12px;
        padding-right: 12px
    }

    .rvp-hero__sort-control {
        padding: 12px 28px 12px 12px;
        font-size: 14px
    }
}

.rvp-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px
}

@media (min-width:756px) and (max-width:1279px) {
    .rvp-grid {
        grid-template-columns: repeat(3, 1fr)
    }
}

@media (max-width:755px) {
    .rvp-grid {
        grid-template-columns: 1fr;
        margin: 0 -12px
    }

    .rvp-grid__item {
        height: auto;
        justify-content: flex-start;
        gap: 24px;
        padding: 24px 12px
    }
}

.rvp-stars {
    display: inline-flex;
    gap: 4px;
    font-size: 20px;
    line-height: 1;
    color: #8f5f3f
}

.rvp-stars i {
    font-style: normal
}

.rvp-stars i.is-off {
    color: #d9d9d9
}

.rvp-form {
    display: flex;
    align-items: flex-start;
    gap: 32px;
    margin-top: 48px;
    padding: 64px 0;
    border-top: 1px solid rgba(51, 51, 51, .12)
}

.rvp-form__note {
    margin-bottom: 8px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.5;
    color: #8f5f3f
}

.rvp-form__title {
    flex: 0 0 433px;
    font-family: Lora, Georgia, serif;
    font-weight: 400;
    font-size: 80px;
    line-height: .9;
    letter-spacing: -2.4px;
    color: #333
}

.rvp-form__fields {
    flex: 1 0 0;
    min-width: 0;
    display: flex;
    flex-direction: column
}

.rvp-form__row {
    display: flex;
    align-items: flex-start;
    gap: 32px;
    padding: 24px 0;
    border-bottom: 1px solid rgba(51, 51, 51, .12)
}

.rvp-form__label {
    flex: 0 0 200px;
    padding-top: 8px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.rvp-form__control {
    flex: 1 0 0;
    min-width: 0
}

.rvp-form__input,
.rvp-form__textarea {
    width: 100%;
    border: none;
    background: 0 0;
    padding: 0;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333
}

.rvp-form__input::placeholder,
.rvp-form__textarea::placeholder {
    color: #999
}

.rvp-form__textarea {
    resize: vertical;
    min-height: 170px
}

.rvp-form__stars {
    display: inline-flex;
    gap: 8px;
    font-size: 34px;
    line-height: 1;
    color: #8f5f3f
}

.rvp-form__stars i {
    font-style: normal;
    cursor: pointer
}

.rvp-form__stars i.is-off {
    color: #d9d9d9
}

.rvp-form__submit {
    align-self: flex-start;
    margin-left: 232px
}

.rvp-form__agree {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 24px 0;
    margin-left: 232px
}

.rvp-form__checkbox {
    flex-shrink: 0;
    width: 16px;
    height: 16px;
    margin-top: 2px;
    border-radius: 4px;
    accent-color: #2c2c2c
}

.rvp-form__agree-text {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 16px;
    line-height: 1.4;
    color: #666
}

.rvp-form__agree-text a {
    color: #8f5f3f;
    text-decoration: underline
}

@media (min-width:756px) and (max-width:1279px) {
    .rvp-form {
        display: block;
        padding: 48px 0 64px
    }

    .rvp-form__title {
        margin-bottom: 32px;
        font-size: 52px;
        line-height: 1;
        letter-spacing: -1.56px
    }

    .rvp-form__row {
        display: grid;
        grid-template-columns: 326px minmax(0, 1fr);
        gap: 0
    }

    .rvp-form__agree,
    .rvp-form__submit {
        margin-left: 326px
    }
}

@media (max-width:755px) {
    .rvp-form {
        flex-direction: column;
        align-items: stretch;
        gap: 32px;
        margin-top: 0;
        padding: 12px 0 96px;
        border-top: none
    }

    .rvp-form__title {
        flex: none;
        font-size: 28px;
        line-height: 1.2;
        letter-spacing: -.28px
    }

    .rvp-form__fields {
        gap: 24px
    }

    .rvp-form__row {
        flex-direction: column;
        align-items: stretch;
        gap: 4px;
        padding: 0;
        border-bottom: none
    }

    .rvp-form__label {
        flex: none;
        padding-top: 0
    }

    .rvp-form__input,
    .rvp-form__textarea {
        padding: 9px 16px;
        border: 1px solid #d9d9d9;
        border-radius: 8px;
        background: #fff;
        font-family: Raleway, system-ui, -apple-system, sans-serif;
        font-size: 14px;
        line-height: 1.5;
        letter-spacing: 0
    }

    .rvp-form__textarea {
        min-height: 113px;
        padding: 12px 16px
    }

    .rvp-form__stars {
        font-size: 38px;
        gap: 2px
    }

    .rvp-form__agree {
        margin-left: 0;
        padding: 4px 0 0
    }

    .rvp-form__checkbox {
        width: 18px;
        height: 18px
    }

    .rvp-form__agree-text {
        font-size: 14px;
        line-height: 1.7
    }

    .rvp-form__submit {
        margin-left: 0;
        margin-top: 12px
    }
}

.not-found {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 48px;
    min-height: 60vh;
    padding: 160px 0 120px
}

.not-found__num {
    display: block;
    width: 290px;
    height: auto
}

.not-found__col {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 32px;
    max-width: 305px
}

.not-found__title {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 34px;
    line-height: 1.2;
    letter-spacing: -1.02px;
    color: #333
}

.not-found__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 20px 32px 22px;
    border-radius: 8px;
    background: #1a1818;
    color: #fff;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: .9;
    transition: opacity .2s ease
}

.not-found__btn:hover {
    opacity: .85
}

@media (max-width:755px) {
    .not-found {
        flex-direction: column;
        gap: 40px;
        padding: 120px 0 80px;
        text-align: center
    }

    .not-found__num {
        width: 220px
    }

    .not-found__col {
        align-items: center
    }
}

.pindex {
    max-width: 1440px;
    margin: 0 auto;
    padding: 48px 32px 96px
}

.pindex__title {
    margin-bottom: 16px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 52px;
    line-height: 1;
    letter-spacing: -1.56px;
    color: #1e1e1e
}

.pindex__note {
    margin-bottom: 32px;
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.7;
    color: #666
}

.pindex__list {
    margin: 0 0 48px;
    padding: 0;
    list-style: none;
    border-top: 1px solid rgba(51, 51, 51, .12)
}

.pindex__item {
    display: grid;
    grid-template-columns: 28px minmax(200px, 1fr) 170px 250px minmax(280px, 1.4fr);
    align-items: baseline;
    gap: 8px 16px;
    padding: 12px 0;
    border-bottom: 1px solid rgba(51, 51, 51, .12)
}

.pindex__status {
    flex-shrink: 0;
    width: 24px;
    text-align: center;
    font-size: 14px
}

.pindex__link {
    font-family: Raleway, system-ui, -apple-system, sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 1.5;
    color: #333
}

.pindex__link:hover {
    color: #8f5f3f
}

.pindex__file {
    margin-left: auto;
    font-family: monospace;
    font-size: 13px;
    color: #999
}

@media (max-width:755px) {
    .pindex {
        padding: 32px 12px 64px
    }

    .pindex__title {
        font-size: 32px;
        letter-spacing: -.96px
    }
}

.pindex__dev a {
    color: #8f5f3f;
    text-decoration: underline
}

.pindex__dev--none {
    color: #bbb;
    font-size: 13px
}

.pindex__todo {
    max-width: 380px;
    font-size: 13px;
    line-height: 1.4;
    color: #a06a2c
}

.pindex__todo--ok {
    color: #4a8c4a
}

.pindex__item--head {
    font-weight: 600;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .4px;
    color: #999
}

.pindex__name {
    font-weight: 500
}

.pindex__file a {
    color: inherit;
    text-decoration: underline
}

.footer {
    background: #1a1818;
    color: #fff
}

.footer__top-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 40px;
    padding-bottom: 40px
}

.footer__booking {
    display: flex;
    align-items: center
}

.footer__badge {
    flex-shrink: 0;
    width: 46px;
    height: 68px;
    margin-right: 28px;
    border-radius: 999px 999px 48px 48px;
    overflow: hidden
}

.footer__badge img {
    width: 100%;
    height: 100%;
    object-fit: cover
}

.footer__phone-block {
    display: flex;
    flex-direction: column;
    gap: 2px
}

.footer__phone-label {
    font-size: 16px;
    letter-spacing: -.48px;
    color: #666
}

.footer__phone {
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 28px;
    line-height: 1.3;
    letter-spacing: -.28px
}

.footer__book {
    margin-left: 56px;
    padding: 20px 32px 22px;
    background: #fff;
    color: #333;
    border-radius: 8px;
    font-weight: 600;
    font-size: 16px;
    line-height: .9;
    transition: opacity .2s ease
}

.footer__book:hover {
    opacity: .85
}

.footer__contacts {
    display: flex;
    align-items: center;
    gap: 16px
}

.footer__socials {
    display: flex;
    align-items: center;
    gap: 4px;
    opacity: .5;
    transition: opacity .2s ease
}

.footer__socials:hover {
    opacity: .8
}

.footer__social {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    color: #fff
}

.footer__social img,
.footer__social svg {
    width: 100%;
    height: 100%
}

.footer__email {
    font-weight: 500;
    font-size: 16px;
    color: rgba(255, 255, 255, .5);
    transition: color .2s ease
}

.footer__email:hover {
    color: #fff
}

.footer__main {
    border-top: 1px solid rgba(255, 255, 255, .1)
}

.footer__main-inner {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px;
    padding-top: 36px;
    padding-bottom: 80px
}

.footer__address-col {
    flex: 0 1 424px;
    min-width: 0
}

.footer__address {
    max-width: 386px;
    margin-bottom: 16px;
    font-family: Lora, Georgia, serif;
    font-weight: 500;
    font-size: 28px;
    line-height: 1.3;
    letter-spacing: -.28px
}

.footer__route {
    font-size: 14px;
    line-height: 1.4;
    text-decoration: underline
}

.footer__cols {
    flex-shrink: 0;
    display: flex;
    gap: 40px
}

.footer__colgroup {
    display: contents
}

.footer__col {
    width: 164px
}

.footer__col--rooms {
    order: 1;
    width: 154px
}

.footer__col--fun {
    order: 2;
    width: 201px
}

.footer__col--events {
    order: 3;
    width: 212px
}

.footer__col--about {
    order: 4;
    width: 128px
}

.footer__col-title {
    margin-bottom: 24px;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: -.48px;
    color: rgba(255, 255, 255, .5)
}

.footer__col-chev {
    display: none
}

.footer__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
    font-size: 14px;
    line-height: 1.4
}

.footer__link {
    font-size: 14px;
    line-height: 1.4;
    transition: opacity .2s ease
}

.footer__link:hover {
    opacity: .6
}

.footer__bottom {
    border-top: 1px solid rgba(255, 255, 255, .1)
}

.footer__bottom-inner {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding-top: 32px;
    padding-bottom: 32px
}

.footer__bottom-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 40px
}

.footer__brand {
    display: flex;
    align-items: flex-start;
    gap: 32px
}

.footer__logo {
    flex-shrink: 0;
    width: 116px;
    color: #fff
}

.footer__logo img,
.footer__logo svg {
    width: 100%;
    height: auto
}

.footer__reg {
    max-width: 330px;
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: -.48px;
    color: rgba(255, 255, 255, .3)
}

.footer__legal {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 16px;
    max-width: 790px
}

.footer__legal-link {
    font-size: 16px;
    line-height: 1.2;
    letter-spacing: -.48px;
    color: rgba(255, 255, 255, .3);
    transition: color .2s ease
}

.footer__legal-link:hover {
    color: rgba(255, 255, 255, .6)
}

.footer__bottom-row {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center
}

.footer__copyright {
    justify-self: start;
    font-size: 16px;
    letter-spacing: -.48px;
    color: rgba(255, 255, 255, .3)
}

.footer__pay {
    justify-self: center;
    display: flex;
    align-items: center;
    gap: 8px
}

.footer__pay img,
.footer__pay svg {
    width: auto;
    height: 32px
}

.footer__made {
    justify-self: end;
    font-size: 16px;
    letter-spacing: -.48px;
    color: rgba(255, 255, 255, .3)
}

@media (min-width:756px) and (max-width:1279px) {
    .footer__top-inner {
        flex-wrap: wrap;
        gap: 24px
    }

    .footer__booking {
        flex-wrap: wrap;
        gap: 16px 0
    }

    .footer__phone,
    .footer__phone-label {
        white-space: nowrap
    }

    .footer__book {
        margin-left: 40px
    }

    .footer__main-inner {
        gap: 32px;
        padding-bottom: 56px
    }

    .footer__address-col {
        flex: 0 1 44%
    }

    .footer__cols {
        flex: 1 1 50%;
        gap: 6%
    }

    .footer__colgroup {
        display: flex;
        flex-direction: column;
        gap: 32px;
        flex: 1 1 0;
        min-width: 0
    }

    .footer__col,
    .footer__col--about,
    .footer__col--events,
    .footer__col--fun,
    .footer__col--rooms {
        width: 100%
    }

    .footer__bottom {
        border-top: none
    }

    .footer__bottom-inner {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-areas: "legal legal""pay   pay""brand brand""copy  made";
        gap: 32px;
        padding-top: 0;
        padding-bottom: 32px
    }

    .footer__bottom-row,
    .footer__bottom-top {
        display: contents
    }

    .footer__legal {
        grid-area: legal;
        max-width: none
    }

    .footer__pay {
        grid-area: pay;
        justify-self: start
    }

    .footer__brand {
        grid-area: brand;
        padding-top: 32px;
        border-top: 1px solid rgba(255, 255, 255, .1)
    }

    .footer__reg {
        max-width: 500px
    }

    .footer__copyright {
        grid-area: copy
    }

    .footer__made {
        grid-area: made;
        justify-self: end
    }
}

@media (max-width:755px) {
    .footer__top-inner {
        flex-direction: column;
        align-items: stretch;
        gap: 24px;
        padding-top: 48px;
        padding-bottom: 24px
    }

    .footer__booking {
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 24px
    }

    .footer__phone-block {
        order: 1
    }

    .footer__badge {
        order: 2;
        margin-right: 0
    }

    .footer__phone-label {
        font-size: 14px;
        line-height: 1.7;
        letter-spacing: 0
    }

    .footer__book {
        order: 3;
        width: 100%;
        margin-left: 0;
        text-align: center
    }

    .footer__socials {
        gap: 16px
    }

    .footer__main-inner {
        flex-direction: column;
        gap: 24px;
        padding-top: 24px;
        padding-bottom: 0
    }

    .footer__address-col {
        flex: none;
        width: 100%
    }

    .footer__address {
        max-width: none;
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: -.2px
    }

    .footer__cols {
        flex-direction: column;
        gap: 0
    }

    .footer__col,
    .footer__col:nth-child(n) {
        width: 100%;
        padding: 16px 0;
        border-bottom: 1px solid rgba(255, 255, 255, .1)
    }

    .footer__col--rooms {
        padding-top: 0
    }

    .footer__col-title {
        display: flex;
        align-items: center;
        gap: 16px;
        margin-bottom: 0;
        font-family: Lora, Georgia, serif;
        font-weight: 500;
        font-size: 20px;
        line-height: 1.3;
        letter-spacing: -.2px;
        color: #fff;
        cursor: pointer
    }

    .footer__col-chev {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 12px;
        height: 19px;
        transition: transform .25s ease
    }

    .footer__col-chev img,
    .footer__col-chev svg {
        width: 12px;
        height: auto
    }

    .footer__list {
        display: none;
        padding-top: 16px
    }

    .footer__col.is-open .footer__list {
        display: flex
    }

    .footer__col.is-open .footer__col-chev {
        transform: rotate(180deg)
    }

    .footer__bottom {
        border-top: none
    }

    .footer__bottom-inner {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-areas: "reg reg""legal legal""logo pay""copy copy""made made";
        gap: 24px 8px;
        padding-top: 24px;
        padding-bottom: 48px
    }

    .footer__bottom-row,
    .footer__bottom-top,
    .footer__brand {
        display: contents
    }

    .footer__reg {
        grid-area: reg;
        max-width: none;
        font-size: 14px;
        line-height: 1.7;
        letter-spacing: 0
    }

    .footer__legal {
        grid-area: legal;
        max-width: none;
        gap: 16px
    }

    .footer__legal-link {
        font-size: 14px;
        line-height: 1.7;
        letter-spacing: 0
    }

    .footer__logo {
        grid-area: logo;
        width: 112px;
        align-self: center
    }

    .footer__pay {
        grid-area: pay;
        justify-self: end;
        align-self: center
    }

    .footer__copyright,
    .footer__made {
        justify-self: center;
        text-align: center;
        font-size: 14px;
        line-height: 1.7;
        letter-spacing: 0
    }

    .footer__copyright {
        grid-area: copy
    }

    .footer__made {
        grid-area: made
    }
}

/* End */


/* Start:/local/components/sm/text/templates/cookies_agree/style.css?17894745411778*/
.cookies-agree-flex {
    display: -ms-flexbox;
    display: flex;
    padding: 0 20px;
}

.cookies-agree-block {
    position: relative;
    margin: 0 auto;
    max-width: 1440px;
    min-width: 320px;
}

.cookies-agree {
    font-family: Roboto;
    display: none;
    width: 100%;
    max-height: 0;
    position: fixed;
    bottom: 0;
    z-index: 1000;
    background-color: #9d7b53;
    color: #fff;
    text-align: left;
    font-size: 14px;
    padding: 0;
    overflow: hidden;
    -webkit-transition: all 0.3s ease-in-out;
    -moz-transition: all 0.3s ease-in-out;
    -ms-transition: all 0.3s ease-in-out;
    -o-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
}

.cookies-agree.show {
    max-height: 250px;
    padding: 12px 0;
}

.cookies-agree-text {
    padding-right: 20px;
}

.cookies-agree-flex .cookies-agree-text a {
    color: #fff;
    text-decoration: underline !important;
}

.cookies-agree-link {
    width: 125px;
    line-height: 30px;
    display: inline-block;
    font-size: 12px;
    color: #fff;
    text-align: center;
    cursor: pointer;
    white-space: nowrap;
    font-weight: bold;
    background-color: #9d7b53;
    -webkit-transition: .5s;
    -o-transition: .5s;
    transition: .5s;
}

.cookies-agree-link:not(.btn-disable):hover {
    background-color: #91785b;
}

.cookies-agree-btn .cookies-agree-link {
    border: 1px solid;
    -webkit-border-radius: 4px;
    border-radius: 4px;
    line-height: 33px;
    text-decoration: none;
}

@media only screen and (max-width: 768px) {
    .cookies-agree {
        bottom: 0;
        border-bottom: 1px solid #9d7b53;
    }
    .cookies-agree-flex {
        display: block;
        padding: 10px;
    }
    .cookies-agree-btn {
        padding-top: 20px;
    }
}
/* End */
/* /local/templates/basovskoe/assets/css/style.css?1789548737321199 */
/* /local/components/sm/text/templates/cookies_agree/style.css?17894745411778 */
