@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(./GreatVibes-Cyrillic.Dy8dZvp5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Great Vibes;font-style:normal;font-weight:400;font-display:swap;src:url(./GreatVibes-Latin.Bcoi9gjv.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ink:#2b211f;--green-950:#501210;--green-900:#5f1914;--green-800:#78271b;--green-700:#8a3729;--gold:#78271b;--gold-light:#e6e2cc;--cream:#e6e2cc;--paper:#fffceb;--white:#fff;--muted:#6b615d;--line:#d1cda6;--shadow:0 24px 70px #5012101f;--radius:20px;--container:1240px;--site-header-height:137px;--booking-widget-sticky-height:72px;--section-menu-nav-height:62px}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);background:var(--paper);text-rendering:optimizelegibility;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.65}.site-shell,body{min-height:100vh}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}h1,h2,h3{text-wrap:balance;margin:0;font-family:Georgia,Times New Roman,serif;font-weight:500;line-height:1.08}h1{font-size:clamp(2.75rem,6vw,6.4rem)}h2{letter-spacing:-.035em;font-size:clamp(2rem,3.8vw,4.1rem)}h3{font-size:1.45rem}p{margin:0 0 1rem}.container{width:min(calc(100% - 40px),var(--container));margin-inline:auto}.narrow-container{width:min(100%,880px)}.section{padding:clamp(72px,9vw,136px) 0}.section.catalog-intro{padding-block:clamp(28px,3vw,40px)}.catalog-intro h2{margin-bottom:12px;font-size:clamp(2rem,4.2vw,4rem)}.catalog-intro p:not(.eyebrow){margin:0;font-size:clamp(.96rem,1.35vw,1.08rem);line-height:1.65}.catalog-intro .eyebrow{margin-bottom:8px}.section--cream{background:var(--cream)}.eyebrow{color:var(--gold);letter-spacing:.16em;text-transform:uppercase;margin:0 0 16px;font-size:.76rem;font-weight:750}.eyebrow--light{color:var(--gold-light)}.lead-text{font-size:clamp(1.1rem,1.4vw,1.35rem);line-height:1.75}.button{border:1px solid var(--gold);background:var(--gold);min-height:52px;color:var(--white);letter-spacing:.08em;text-transform:uppercase;border-radius:999px;justify-content:center;align-items:center;padding:14px 25px;font-size:.78rem;font-weight:750;line-height:1.2;transition:background .2s,border-color .2s,color .2s,transform .2s;display:inline-flex}.button:hover{background:#330b0b;border-color:#330b0b;transform:translateY(-2px)}.button--compact{white-space:nowrap;min-height:44px;padding:11px 19px}.button--small{min-height:42px;padding:10px 16px;font-size:.7rem}.button--outline{color:var(--green-900);background:0 0}.button--outline:hover{color:var(--white)}.button--ghost{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff14;border-color:#ffffff8c}.button--ghost:hover,.button--light{border-color:var(--white);background:var(--white);color:var(--green-900)}.button--light:hover{border-color:var(--gold-light);background:var(--gold-light);color:var(--green-950)}.text-link{color:var(--green-800);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;font-size:.8rem;font-weight:800;display:inline-flex}.text-link span{color:var(--gold);font-size:1.15rem;transition:transform .2s}.text-link:hover span{transform:translate(5px)}.skip-link{z-index:9999;background:var(--white);color:var(--green-900);padding:10px 14px;position:fixed;top:10px;left:10px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.section-menu-nav{z-index:900;top:var(--site-header-height);position:sticky}.section-menu-nav__frame{position:relative}.section-menu-nav__scroller{scroll-behavior:smooth;scrollbar-width:thin;justify-content:safe center;gap:8px;padding:7px 0 15px;display:flex;overflow-x:auto}.section-menu-nav__arrow{z-index:2;width:24px;color:inherit;opacity:.62;pointer-events:none;place-items:center;font-size:.95rem;font-weight:500;line-height:1;display:grid;position:absolute;bottom:0}.section-menu-nav__arrow--left{animation:2.8s ease-in-out infinite section-menu-hint-left;left:0}.section-menu-nav__arrow--right{animation:2.8s ease-in-out infinite section-menu-hint-right;right:0}@keyframes section-menu-hint-left{0%,22%,to{translate:0}17%,7%{translate:-4px}12%{translate:0}}@keyframes section-menu-hint-right{0%,22%,to{translate:0}17%,7%{translate:4px}12%{translate:0}}@media (prefers-reduced-motion:reduce){.section-menu-nav__arrow{animation:none}}.section-menu-anchor{scroll-margin-top:calc(var(--site-header-height) + var(--section-menu-nav-height) + 12px)}.site-header{z-index:1000;border-bottom:1px solid var(--line);color:var(--green-950);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#e6e2ccf5;position:sticky;top:0;box-shadow:0 8px 24px #50121012}.header-meta{color:#501210b8;letter-spacing:.04em;border-bottom:1px solid #50121024;justify-content:space-between;align-items:center;min-height:42px;font-size:.72rem;display:flex}.header-meta__contact,.header-meta__links{align-items:center;gap:16px;display:flex}.header-meta__links a{color:var(--green-950);font-weight:700}.header-meta__contact>a{letter-spacing:.025em;font-size:.86rem;font-weight:820}.header-socials{align-items:center;gap:6px;display:flex}.header-social{background:#ffffffd6;border:1px solid #5012102e;border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;display:grid;overflow:hidden}.header-social img{-o-object-fit:contain;object-fit:contain;width:19px;height:19px}.header-social--max img{width:21px;height:21px}.header-main{align-items:center;gap:clamp(14px,1.4vw,24px);min-height:84px;padding-block:5px;display:flex}.wordmark{width:196px;color:var(--white);margin-right:auto;line-height:1;display:block}.wordmark img{width:100%;height:auto}.desktop-nav{align-items:center;gap:clamp(12px,1.35vw,22px);display:flex}.desktop-nav__item{position:relative}.desktop-nav__primary{color:#501210db;letter-spacing:.02em;white-space:nowrap;align-items:center;gap:5px;padding:30px 0 28px;font-size:.86rem;font-weight:800;display:flex;position:relative}.desktop-nav__primary>span{color:#50121085;font-size:.7rem;transform:translateY(-1px)}.desktop-nav__primary:after{content:"";background:var(--green-800);height:1px;transition:transform .2s;position:absolute;bottom:21px;left:0;right:0;transform:scaleX(0)}.desktop-nav__primary.active,.desktop-nav__primary:hover{color:var(--green-950)}.desktop-nav__primary.active:after,.desktop-nav__primary:hover:after{transform:scaleX(1)}.desktop-nav__submenu{visibility:hidden;z-index:20;opacity:0;background:#fffcebfa;border:1px solid #50121029;border-radius:4px 16px;width:245px;padding:10px;transition:opacity .18s,transform .18s,visibility .18s;display:grid;position:absolute;top:calc(100% - 12px);left:50%;transform:translate(-50%,8px);box-shadow:0 20px 50px #5012102e}.desktop-nav__submenu a{color:#501210c7;border-radius:3px 10px;padding:11px 13px;font-size:.76rem;font-weight:720;line-height:1.25}.desktop-nav__submenu a.active,.desktop-nav__submenu a:hover{color:var(--green-950);background:#e6e2cc}.desktop-nav__item--submenu:focus-within .desktop-nav__submenu,.desktop-nav__item--submenu:hover .desktop-nav__submenu{visibility:visible;opacity:1;transform:translate(-50%)}.desktop-nav__item--closed .desktop-nav__submenu,.desktop-nav__item--submenu.desktop-nav__item--closed:focus-within .desktop-nav__submenu,.desktop-nav__item--submenu.desktop-nav__item--closed:hover .desktop-nav__submenu{visibility:hidden;pointer-events:none;opacity:0;transform:translate(-50%,8px)}.mobile-menu{display:none;position:relative}.mobile-menu summary{cursor:pointer;border:1px solid #50121052;border-radius:50%;place-content:center;gap:5px;width:44px;height:44px;list-style:none;display:grid}.mobile-menu summary::-webkit-details-marker{display:none}.mobile-menu summary span{background:var(--green-950);width:18px;height:1px}.mobile-menu nav{background:var(--paper);border:1px solid var(--line);width:min(330px,100vw - 40px);max-height:min(74vh,680px);box-shadow:var(--shadow);padding:18px;display:grid;position:absolute;top:54px;right:0;overflow-y:auto}.mobile-menu nav a{border-bottom:1px solid #5012101a;padding:10px 8px}.mobile-menu__group{display:grid}.mobile-menu__group--nested>a:first-child{color:var(--green-950);font-weight:850}.mobile-menu__group--nested>a:not(:first-child){color:#501210b3;padding-left:24px;font-size:.82rem}.hero{background-color:var(--green-900);min-height:calc(100svh - 118px);color:var(--white);align-items:center;display:flex;position:relative;overflow:hidden}.hero__bg,.spa-feature__bg{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.hero__overlay{background:linear-gradient(90deg,#1d1815d1,#1d181573 48%,#1d18151a),linear-gradient(#0000 60%,#120f0ead);position:absolute;inset:0}.hero__content{z-index:1;padding:90px 0 150px;position:relative}.hero h1{max-width:950px;color:var(--white)}.hero__lead{color:#ffffffd1;max-width:650px;margin:28px 0 34px;font-size:clamp(1.05rem,1.5vw,1.35rem)}.hero__actions{flex-wrap:wrap;gap:12px;display:flex}.hero__facts{z-index:1;border-top:1px solid #ffffff42;grid-template-columns:repeat(3,1fr);min-height:92px;display:grid;position:absolute;bottom:0;left:0;right:0}.hero__facts>span{color:#ffffffb3;letter-spacing:.03em;align-items:center;gap:12px;padding:22px clamp(18px,3vw,40px);font-size:.78rem;display:flex}.hero__facts>span+span{border-left:1px solid #ffffff42}.hero__facts strong{color:var(--white);font-family:Georgia,serif;font-size:1.22rem;font-weight:500}.hero__fact-time{white-space:nowrap}.hero__fact-text{line-height:1.45}.split-intro{grid-template-columns:.9fr 1.1fr;align-items:start;gap:clamp(45px,9vw,140px);display:grid}.split-intro h2{max-width:540px}.split-intro .text-link{margin-top:18px}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:48px;display:flex}.section-heading h2{max-width:800px}.room-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;display:grid}.room-grid--featured{grid-template-columns:repeat(2,minmax(0,1fr))}.room-card{background:var(--white);border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 30px #50121012}.room-card__image{aspect-ratio:16/10;background:#ddd8cc;display:block;overflow:hidden}.room-card__image img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.room-card:hover .room-card__image img{transform:scale(1.035)}.room-card__body{padding:26px}.room-card__body h2{font-size:clamp(1.55rem,2vw,2.2rem)}.room-card__body h2 a:hover{color:var(--green-700)}.room-card__actions{justify-content:space-between;align-items:center;gap:12px;margin-top:28px;display:flex}.spa-feature{background-color:var(--green-900);min-height:660px;color:var(--white);align-items:center;display:grid;position:relative;overflow:hidden}.spa-feature__overlay{background:linear-gradient(90deg,#1d1815e0,#1d181585 52%,#1d18150a);position:absolute;inset:0}.spa-feature__content{z-index:1;padding-block:100px;position:relative}.spa-feature__content h2{max-width:680px;color:var(--white)}.spa-feature__content p:not(.eyebrow){color:#fffc;max-width:580px;margin:28px 0 34px;font-size:1.15rem}.service-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.service-grid--all{grid-template-columns:repeat(2,minmax(0,1fr))}.service-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);grid-template-rows:auto 1fr;transition:transform .25s,box-shadow .25s;display:grid;overflow:hidden}.service-card:hover{box-shadow:var(--shadow);transform:translateY(-5px)}.service-card img{aspect-ratio:2;-o-object-fit:cover;object-fit:cover;width:100%}.service-card>div{padding:24px}.service-card h2,.service-card h3{margin-bottom:12px;font-size:1.65rem}.service-card p{color:var(--muted);font-size:.94rem}.service-card span{color:var(--gold);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:800}.booking-cta{background:var(--green-800);color:var(--white);padding:74px 0}.booking-cta__inner{justify-content:space-between;align-items:center;gap:40px;display:flex}.booking-cta h2{color:var(--white);font-size:clamp(2rem,3.4vw,3.5rem)}.booking-cta p:not(.eyebrow){color:#ffffffb8;margin:18px 0 0}.page-hero{background-color:var(--green-800);min-height:410px;color:var(--white);background-position:50%;background-size:cover;align-items:end;display:grid;position:relative;overflow:hidden}.page-hero__video{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.page-hero__overlay{background:linear-gradient(90deg,#1d1815e0,#1d181570 70%,#1d18152e);position:absolute;inset:0}.page-hero__content{z-index:1;padding:62px 0 66px;position:relative}.page-hero h1{max-width:1000px;color:var(--white);font-size:clamp(2.7rem,5.4vw,5.6rem)}.breadcrumbs{color:#ffffffa3;flex-wrap:wrap;gap:8px;margin-bottom:58px;font-size:.75rem;display:flex}.breadcrumbs a:hover{color:var(--white)}.content-intro{max-width:880px;color:var(--muted);margin:0 0 52px;font-size:1.2rem}.content-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:clamp(50px,8vw,110px);display:grid}.booking-help,.content-aside,.room-booking-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--cream);padding:30px}.content-aside{top:calc(var(--site-header-height) + var(--booking-widget-sticky-height) + 24px);position:sticky}.booking-help h2,.content-aside h2,.room-booking-card h2{font-size:1.8rem}.booking-help p,.content-aside p,.room-booking-card p{color:var(--muted);margin-top:16px}.booking-help>a,.content-aside>a:not(.button),.room-booking-card>a:not(.button){color:var(--green-800);margin:9px 0;font-weight:750;display:block}.content-aside .button{margin-top:20px}.rich-content{max-width:900px;font-size:1.02rem}.rich-content :is(h2,h3,h4){color:var(--green-900);margin:2.2em 0 .8em;line-height:1.25}.rich-content h2{font-size:clamp(1.7rem,3vw,2.6rem)}.rich-content h3,.rich-content h4{font-size:1.35rem}.rich-content p{margin:0 0 1.1em}.rich-content ol,.rich-content ul{margin:1.2em 0;padding-left:1.35em}.rich-content li{margin:.45em 0}.rich-content a{color:var(--green-700);text-underline-offset:3px;-webkit-text-decoration:underline #78271b6b;text-decoration:underline #78271b6b}.rich-content img{border-radius:14px;margin:30px 0}.rich-content .media-embed{border:1px solid var(--line);background:var(--green-950);width:100%;box-shadow:var(--shadow);border-radius:16px;margin:0;overflow:hidden}.rich-content .media-embed--tour,.rich-content .media-embed--video{aspect-ratio:16/9}.rich-content .media-embed--map{height:clamp(420px,48vw,540px)}.rich-content .media-embed :is(video,iframe){border:0;width:100%;height:100%;display:block}.rich-content .media-embed video{-o-object-fit:cover;object-fit:cover}.rich-content table{border-collapse:collapse;width:100%;margin:24px 0;font-size:.93rem}.rich-content :is(td,th){border:1px solid var(--line);vertical-align:top;padding:10px 12px}.rich-content blockquote{border-left:3px solid var(--gold);background:var(--cream);margin:28px 0;padding:20px 24px}.rich-content hr{background:var(--line);border:0;height:1px;margin:36px 0}.room-detail{grid-template-columns:minmax(0,1fr) 330px;align-items:start;gap:24px 50px;display:grid}.room-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.room-gallery__item{aspect-ratio:4/3;background:var(--cream);min-width:0;color:var(--white);cursor:zoom-in;border:0;border-radius:14px;padding:0;position:relative;overflow:hidden}.room-gallery__item:first-child{aspect-ratio:16/9;grid-column:1/-1}.room-gallery img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;transition:transform .35s}.room-gallery__item:hover img{transform:scale(1.025)}.room-gallery__item:focus-visible{outline:3px solid var(--gold-light);outline-offset:3px}.room-gallery__zoom{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);letter-spacing:.08em;text-transform:uppercase;opacity:0;background:#501210b8;border:1px solid #ffffff73;border-radius:999px;padding:7px 12px;font-size:.68rem;font-weight:750;transition:opacity .2s,transform .2s;position:absolute;bottom:14px;right:14px;transform:translateY(5px)}.room-gallery__item:focus-visible .room-gallery__zoom,.room-gallery__item:hover .room-gallery__zoom{opacity:1;transform:translateY(0)}.room-lightbox{z-index:1000;color:var(--white);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#330b0bf0;grid-template-rows:auto minmax(0,1fr) auto;gap:18px;padding:24px;display:grid;position:fixed;inset:0}.room-lightbox__header{justify-content:space-between;align-items:center;gap:24px;width:min(100%,1500px);margin-inline:auto;display:flex}.room-lightbox__header h2{color:var(--white);letter-spacing:.02em;font-family:inherit;font-size:1.05rem;font-weight:700}.room-lightbox__header p{color:#ffffffa3;margin:3px 0 0;font-size:.78rem}.room-lightbox__arrow,.room-lightbox__close,.room-lightbox__thumbnails button{color:var(--white);cursor:pointer;background:#ffffff14;border:1px solid #ffffff59;place-items:center;padding:0;display:grid}.room-lightbox__close{border-radius:50%;flex:none;width:46px;height:46px}.room-lightbox__close span{margin-top:-4px;font-size:2rem;font-weight:200;line-height:1}.room-lightbox__stage{place-items:center;min-height:0;display:grid;position:relative}.room-lightbox__stage>img{-o-object-fit:contain;object-fit:contain;filter:drop-shadow(0 25px 40px #0006);border-radius:8px;width:min(100%,1500px);height:100%;min-height:0}.room-lightbox__arrow{z-index:1;border-radius:50%;width:52px;height:52px;position:absolute;top:50%;transform:translateY(-50%)}.room-lightbox__arrow--previous{left:8px}.room-lightbox__arrow--next{right:8px}.room-lightbox__arrow span{margin-top:-4px;font-size:2.5rem;font-weight:200;line-height:1}.room-lightbox__arrow:hover,.room-lightbox__close:hover,.room-lightbox__thumbnails button:hover{border-color:var(--gold-light);background:#e6e2cc2e}.room-lightbox :is(button):focus-visible{outline:3px solid var(--gold-light);outline-offset:3px}.room-lightbox__thumbnails{gap:8px;max-width:100%;margin-inline:auto;padding:4px;display:flex;overflow-x:auto}.room-lightbox__thumbnails button{opacity:.58;border-radius:7px;flex:none;width:82px;height:62px;overflow:hidden}.room-lightbox__thumbnails button.is-active{border-color:var(--gold-light);opacity:1}.room-lightbox__thumbnails img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.room-booking-card{top:calc(var(--site-header-height) + var(--booking-widget-sticky-height) + 24px);position:sticky}.room-booking-card .button{width:100%;margin:16px 0}.room-copy{grid-column:1/-1;margin-top:45px}.booking-widget-anchor{z-index:20;position:relative}.booking-widget-anchor,.booking-widget-band{--booking-widget-height:127px;min-height:calc(var(--booking-widget-height) + 32px)}.booking-widget-band{border-bottom:1px solid var(--line);background:var(--cream);padding:16px 0}.booking-widget-band.is-pinned{z-index:900;min-height:0;top:var(--booking-sticky-top,119px);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#e6e2ccf0;padding:8px 0;position:fixed;left:0;right:0;box-shadow:0 14px 34px #50121021}.booking-widget-panel{border-radius:12px;position:relative;overflow:visible}.booking-widget-summary{border:1px solid var(--line);background:linear-gradient(110deg,var(--white),#fbf7ec);width:100%;min-height:56px;color:var(--green-950);cursor:pointer;text-align:left;border-radius:12px;grid-template-columns:34px minmax(0,1fr) auto 28px;align-items:center;gap:13px;padding:8px 15px;display:none;box-shadow:0 8px 24px #5012101a}.is-pinned .booking-widget-summary{display:grid}.booking-widget-summary:focus-visible{outline-offset:2px;outline:3px solid #78271b3d}.booking-widget-summary__calendar{border:2px solid var(--green-800);border-radius:7px;width:30px;height:28px;position:relative}.booking-widget-summary__calendar:before{content:"";border-top:2px solid var(--green-800);height:6px;position:absolute;top:5px;left:0;right:0}.booking-widget-summary__calendar:after{content:"";border-right:2px solid var(--green-800);border-left:2px solid var(--green-800);width:14px;height:4px;position:absolute;top:-4px;left:6px}.booking-widget-summary__copy{min-width:0;line-height:1.2;display:grid}.booking-widget-summary__copy strong{font-family:Georgia,Times New Roman,serif;font-size:1.05rem;font-weight:600}.booking-widget-summary__copy small{color:var(--muted);margin-top:2px;font-size:.7rem}.booking-widget-summary__action{background:var(--green-800);color:var(--white);letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:6px 12px;font-size:.68rem;font-weight:800}.booking-widget-summary__chevron{border-bottom:2px solid;border-right:2px solid;justify-self:center;width:9px;height:9px;transition:transform .28s;transform:translateY(-2px)rotate(45deg)}.is-expanded .booking-widget-summary__chevron{transform:translateY(2px)rotate(225deg)}.booking-widget-content{transform-origin:top;transition:max-height .42s cubic-bezier(.2,.8,.2,1),opacity .24s,transform .42s cubic-bezier(.2,.8,.2,1);overflow:visible}.is-pinned .booking-widget-content{opacity:0;pointer-events:none;max-height:0;transform:translateY(-8px)scale(.985)}.is-pinned.is-expanded .booking-widget-content{max-height:var(--booking-widget-height);opacity:1;pointer-events:auto;transform:translateY(8px)scale(1)}.bnovo-shell{height:var(--booking-widget-height);border:1px solid var(--line);background:var(--white);border-radius:12px;position:relative;overflow:visible;box-shadow:0 12px 36px #50121017}.bnovo-shell iframe{max-width:100%;display:block}.bnovo-shell noscript{text-align:center;padding:28px;display:block}.booking-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--white);box-shadow:var(--shadow);padding:clamp(24px,5vw,46px)}.booking-form__heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:30px;display:flex}.booking-form__heading h2{font-size:clamp(1.8rem,4vw,2.8rem)}.booking-form__heading>p{color:var(--muted);font-size:.8rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.booking-form__name{grid-column:1/-1}.form-grid label>span{color:var(--green-900);margin-bottom:7px;font-size:.78rem;font-weight:750;display:block}.form-grid :is(input,select,textarea){border:1px solid var(--line);background:var(--paper);width:100%;min-height:50px;color:var(--ink);font:inherit;border-radius:9px;padding:11px 13px}.form-grid textarea{resize:vertical}.form-grid :is(input,select,textarea):focus{border-color:var(--gold);outline:3px solid #b7925229}.booking-date-range{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;min-width:0;display:grid;position:relative}.booking-date-range__field{min-width:0}.booking-date-range__label{color:var(--green-900);margin-bottom:7px;font-size:.78rem;font-weight:750;display:block}.booking-date-range__trigger{border:1px solid var(--line);background:var(--paper);width:100%;min-height:50px;color:var(--ink);cursor:pointer;text-align:left;border-radius:9px;align-items:center;padding:10px 42px 10px 44px;display:flex;position:relative}.booking-date-range__trigger.is-active,.booking-date-range__trigger:hover{border-color:var(--gold)}.booking-date-range__trigger.is-active{box-shadow:0 0 0 3px #b7925229}.booking-date-range__trigger:focus-visible{border-color:var(--gold);outline:3px solid #b7925229}.booking-date-range__trigger .is-placeholder{color:var(--muted)}.booking-date-range__calendar-icon{border:2px solid var(--green-800);border-radius:4px;width:20px;height:18px;position:absolute;left:14px}.booking-date-range__calendar-icon:before{content:"";border-top:2px solid var(--green-800);height:4px;position:absolute;top:3px;left:0;right:0}.booking-date-range__calendar-icon:after{content:"";border-right:2px solid var(--green-800);border-left:2px solid var(--green-800);width:10px;height:3px;position:absolute;top:-4px;left:3px}.booking-date-range__trigger-chevron{border-right:2px solid var(--green-800);border-bottom:2px solid var(--green-800);width:8px;height:8px;position:absolute;right:16px;transform:translateY(-2px)rotate(45deg)}.booking-date-range__trigger.is-active .booking-date-range__trigger-chevron{transform:translateY(2px)rotate(225deg)}.booking-range-calendar{z-index:70;border:1px solid var(--line);background:var(--paper);border-radius:16px;width:min(700px,100vw - 56px);padding:18px;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 24px 70px #330b0b42}.booking-range-calendar__header{grid-template-columns:40px 1fr 40px;align-items:center;gap:10px;min-height:40px;display:grid}.booking-range-calendar__header p{color:var(--green-900);text-align:center;margin:0;font-size:.78rem;font-weight:750}.booking-range-calendar__header button{border:1px solid var(--line);background:var(--white);width:38px;height:38px;color:var(--green-900);cursor:pointer;border-radius:50%;padding:0}.booking-range-calendar__header button:hover:not(:disabled){border-color:var(--gold);background:var(--cream)}.booking-range-calendar__header button:disabled{cursor:not-allowed;opacity:.35}.booking-range-calendar__months{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:12px;display:grid}.booking-range-calendar__month+.booking-range-calendar__month{border-left:1px solid var(--line);padding-left:24px}.booking-range-calendar__month h3{color:var(--green-950);text-align:center;text-transform:capitalize;font-size:1rem}.booking-range-calendar__days,.booking-range-calendar__weekdays{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.booking-range-calendar__weekdays{color:var(--muted);text-align:center;margin:12px 0 5px;font-size:.66rem;font-weight:750}.booking-range-calendar__days button{aspect-ratio:1;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:50%;padding:0;font-size:.75rem;position:relative}.booking-range-calendar__days button:hover:not(:disabled,.is-range-start,.is-range-end){background:var(--cream);color:var(--green-950)}.booking-range-calendar__days button.is-outside{color:#6b615d6b}.booking-range-calendar__days button.is-in-range{color:var(--green-950);background:#78271b1f;border-radius:8px}.booking-range-calendar__days button:is(.is-range-start,.is-range-end){background:var(--green-800);color:var(--white);font-weight:800;box-shadow:0 5px 13px #5012103d}.booking-range-calendar__days button.is-today:not(.is-range-start,.is-range-end){box-shadow:inset 0 0 0 1px var(--gold);color:var(--green-900);font-weight:800}.booking-range-calendar__days button:disabled{cursor:not-allowed;opacity:.22}.booking-range-calendar__days button:focus-visible{z-index:2;outline-offset:1px;outline:3px solid #b792524d}.booking-range-calendar__footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-height:34px;margin-top:14px;padding-top:11px;display:flex}.booking-range-calendar__footer p{color:var(--muted);margin:0;font-size:.7rem}.booking-range-calendar__footer button{color:var(--green-700);cursor:pointer;background:0 0;border:0;padding:2px 0;font-size:.7rem;font-weight:750}.booking-range-calendar__footer button:hover{color:var(--green-950);text-decoration:underline}.booking-calendar-enter-active,.booking-calendar-leave-active{transform-origin:top;transition:opacity .16s,transform .16s}.booking-calendar-enter-from,.booking-calendar-leave-to{opacity:0;transform:translateY(-5px)scale(.98)}.room-picker-field{border:0;grid-column:1/-1;min-width:0;margin:0;padding:0}.room-picker-field>legend{color:var(--green-900);margin-bottom:7px;padding:0;font-size:.78rem;font-weight:750}.room-picker{position:relative}.room-picker>summary{border:1px solid var(--line);background:var(--paper);cursor:pointer;border-radius:12px;grid-template-columns:206px minmax(0,1fr);align-items:center;gap:16px;min-height:96px;padding:10px 58px 10px 10px;list-style:none;display:grid;position:relative}.booking-extras>summary::-webkit-details-marker{display:none}.room-picker>summary::-webkit-details-marker{display:none}.room-picker>summary:hover{border-color:#b79252b3}.room-picker>summary:focus-visible{border-color:var(--gold);outline:3px solid #b7925229}.room-picker__mini-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;min-width:0;display:grid}.room-picker__thumbnail{aspect-ratio:1;background:#ddd8cc;border-radius:8px;min-width:0;display:block;position:relative;overflow:hidden}.room-picker__thumbnail>img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block}.room-picker__magnifier{z-index:2;cursor:zoom-in;background:#330b0bc2;border:1px solid #ffffffb8;border-radius:50%;width:25px;height:25px;margin:0;padding:0;transition:background .2s,transform .2s;display:block;position:absolute;bottom:5px;right:5px;box-shadow:0 2px 8px #00000047}.room-picker__magnifier:before{content:"";border:2px solid var(--white);border-radius:50%;width:8px;height:8px;position:absolute;top:6px;left:6px}.room-picker__magnifier:after{content:"";background:var(--white);transform-origin:50%;border-radius:2px;width:7px;height:2px;position:absolute;bottom:5px;right:4px;transform:rotate(45deg)}.room-picker__magnifier:is(:hover,:focus-visible){background:var(--green-950);outline-offset:2px;outline:3px solid #ffffffb8;transform:scale(1.12)}.room-photo-preview{z-index:5000;border:5px solid var(--white);background:var(--white);pointer-events:none;border-radius:14px;width:min(620px,100vw - 40px);margin:0;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 30px 100px #330b0b8c}.room-photo-preview img{-o-object-fit:contain;object-fit:contain;background:#ddd8cc;width:100%;max-height:min(68vh,520px);display:block}.room-photo-preview figcaption{color:var(--green-950);padding:9px 13px;font-size:.78rem;font-weight:750}.room-photo-preview-enter-active,.room-photo-preview-leave-active{transition:opacity .14s,transform .14s}.room-photo-preview-enter-from,.room-photo-preview-leave-to{opacity:0;transform:translate(-50%,-50%)scale(.96)}.room-picker__selected-copy{gap:3px;min-width:0;display:grid}.room-picker__selected-copy small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.67rem;font-weight:750}.room-picker__selected-copy strong{color:var(--green-950);text-overflow:ellipsis;white-space:nowrap;font-family:Georgia,Times New Roman,serif;font-size:clamp(1.25rem,2vw,1.65rem);font-weight:600;line-height:1.1;overflow:hidden}.room-picker__selected-copy>span{color:var(--muted);font-size:.76rem}.room-picker__selected-copy>.room-picker__price{color:var(--green-700);font-size:.74rem;font-weight:750}.booking-extras__arrow,.room-picker__chevron{border:1px solid #50121033;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.room-picker__chevron{position:absolute;top:50%;right:14px;transform:translateY(-50%)}.booking-extras__arrow:before,.room-picker__chevron:before{content:"";border-bottom:2px solid;border-right:2px solid;width:8px;height:8px;transition:transform .2s;transform:translateY(-2px)rotate(45deg)}.booking-extras[open] .booking-extras__arrow:before,.room-picker[open] .room-picker__chevron:before{transform:translateY(2px)rotate(225deg)}.room-picker__panel{z-index:30;border:1px solid var(--line);background:var(--white);border-radius:12px;width:100%;max-height:430px;margin-top:8px;padding:18px;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 22px 60px #330b0b33}.room-picker__panel>p{color:var(--muted);margin:0 0 12px;font-size:.78rem}.room-picker__options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.room-picker__options label{cursor:pointer;min-width:0}.room-picker__options input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.room-picker__option-content{border:1px solid var(--line);background:var(--paper);border-radius:10px;gap:9px;min-height:84px;padding:10px;transition:border-color .2s,background .2s,transform .2s;display:grid;position:relative}.room-picker__option-content:hover{border-color:var(--gold);transform:translateY(-1px)}.room-picker__options input:checked+.room-picker__option-content{border-color:var(--gold);box-shadow:inset 0 0 0 1px var(--gold);background:#fbf7ec}.room-picker__options input:focus-visible+.room-picker__option-content{outline-offset:2px;outline:3px solid #b7925238}.room-picker__option-content>strong{color:var(--green-950);font-size:.8rem;line-height:1.25}.room-picker__price{color:var(--green-700);margin-top:3px;font-size:.72rem;font-weight:750;line-height:1.2}.room-picker__option-content .room-picker__mini-gallery{z-index:2;position:relative}.room-picker__check{z-index:3;background:var(--green-800);width:24px;height:24px;color:var(--white);border-radius:50%;place-items:center;font-size:.72rem;display:none;position:absolute;top:4px;right:4px;box-shadow:0 2px 8px #330b0b47}.room-picker__options input:checked+.room-picker__option-content .room-picker__check{display:grid}.booking-extras{border:1px solid var(--line);background:var(--cream);border-radius:12px;margin-top:24px}.booking-extras>summary{min-height:76px;color:var(--green-950);cursor:pointer;justify-content:space-between;align-items:center;gap:24px;padding:16px 18px;list-style:none;display:flex}.booking-extras>summary:hover{background:#ffffff5c}.booking-extras>summary:focus-visible{outline-offset:2px;outline:3px solid #b7925238}.booking-extras>summary>span:first-child{gap:3px;display:grid}.booking-extras>summary strong{font-size:.95rem}.booking-extras>summary small{color:var(--muted);font-size:.73rem}.booking-extras__arrow{flex:0 0 34px}.booking-extras__grid{padding:4px 18px 20px}.booking-extras__comment{grid-area:1/2/span 2}.booking-extras__comment textarea{min-height:126px}.form-grid .booking-option-field{grid-column:1/-1;align-items:center;gap:10px;display:flex}.form-grid label.booking-option-field{cursor:pointer}.form-grid .booking-option-field input{width:18px;min-height:18px;accent-color:var(--green-800);flex:0 0 18px;margin:0;padding:0}.form-grid .booking-option-field>span{margin:0;font-size:.82rem}.form-grid .booking-option-field label{cursor:pointer}.form-grid .booking-option-field a{color:var(--green-700);text-underline-offset:3px;text-decoration:underline}.honeypot{clip:rect(0 0 0 0)!important;width:1px!important;height:1px!important;position:absolute!important;overflow:hidden!important}.consent-field{color:var(--muted);align-items:start;gap:10px;margin-top:24px;font-size:.8rem;display:flex}.consent-field input{width:17px;height:17px;accent-color:var(--green-800);margin-top:3px}.consent-field a{color:var(--green-700);text-decoration:underline}.booking-form__footer{align-items:center;gap:20px;min-height:60px;margin-top:26px;display:flex}.booking-form__footer button:disabled{cursor:wait;opacity:.65;transform:none}.form-status{margin:0;font-size:.85rem}.form-status--success{color:#23744f}.form-status--error{color:#a03f38}.booking-help{margin-top:36px}.booking-help>a{width:fit-content;font-size:1.15rem;display:block}.booking-chat-links{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.booking-chat-link{border:1px solid var(--line);background:var(--white);min-height:38px;color:var(--green-950);border-radius:999px;align-items:center;gap:8px;padding:7px 12px 7px 8px;font-size:.76rem;font-weight:750;line-height:1;transition:border-color .2s,transform .2s;display:inline-flex}.booking-chat-link:hover{border-color:var(--gold);color:var(--green-950);transform:translateY(-2px)}.booking-chat-link__mark{background:#ffffffc2;border:1px solid #5012101f;border-radius:50%;flex:0 0 26px;place-items:center;width:26px;height:26px;display:grid}.booking-chat-link__mark img{-o-object-fit:contain;object-fit:contain;width:16px;height:16px}.booking-chat-link--max .booking-chat-link__mark img{width:17px;height:17px}.container.reviews-layout{justify-items:center;width:min(100% - 20px,760px);display:grid}.yandex-reviews{border-radius:var(--radius);background:var(--white);width:min(100%,760px);height:760px;box-shadow:var(--shadow);position:relative;overflow:hidden}.yandex-reviews__frame{border:1px solid var(--line);border-radius:inherit;box-sizing:border-box;width:100%;height:100%}.yandex-reviews__link{box-sizing:border-box;color:#8d8d8d;text-align:center;text-overflow:ellipsis;white-space:nowrap;width:100%;max-height:14px;padding:0 16px;font-family:Arial,sans-serif;font-size:10px;position:absolute;bottom:8px;left:0;overflow:hidden}.tour-card{text-align:center}.tour-card .button{margin-top:22px}.error-page{align-items:center;min-height:60vh;display:grid}.error-page h1{color:var(--green-900);margin-bottom:24px}.site-footer{background:var(--green-950);color:#ffffffb3;padding:76px 0 22px}.footer-grid{grid-template-columns:1.35fr .75fr 1fr 1fr;gap:50px;display:grid}.wordmark--footer{width:250px;margin-bottom:24px}.wordmark--footer img{filter:brightness(0)saturate()invert(91%)sepia(10%)saturate(315%)hue-rotate(8deg)brightness(99%)contrast(91%)}.footer-intro{max-width:310px}.site-footer h2{color:var(--gold-light);letter-spacing:.14em;text-transform:uppercase;margin-bottom:20px;font-family:inherit;font-size:.74rem;font-weight:800}.footer-contacts>a,.site-footer nav a{margin:8px 0;font-size:.88rem;display:block}.site-footer a:hover{color:var(--white)}.social-links{gap:8px;margin-top:24px;display:flex}.social-links a{background:var(--white);width:38px;height:38px;color:var(--white);border:1px solid #ffffff3d;border-radius:50%;place-items:center;font-size:.7rem;font-weight:800;display:grid;overflow:hidden}.social-links img{-o-object-fit:contain;object-fit:contain;width:23px;height:23px}.social-links .social-link--max img{width:26px;height:26px}.site-footer .booking-chat-links{margin-top:20px}.site-footer .booking-chat-link{color:var(--white);background:#ffffff14;border-color:#ffffff2e}.site-footer .booking-chat-link:hover{color:var(--white);border-color:#ffffff7a}.site-footer .booking-chat-link__mark{background:var(--white);border-color:#0000}.footer-trust{border-top:1px solid #ffffff1f;margin-top:54px;padding-top:30px}.footer-trust h2{margin-bottom:18px}.footer-badges{flex-wrap:wrap;align-items:stretch;gap:12px;display:flex}.footer-badge{background:var(--white);color:#292524;border:1px solid #ffffff29;border-radius:12px;justify-content:center;align-items:center;gap:11px;min-width:156px;height:82px;padding:10px 14px;line-height:1.25;transition:transform .2s,box-shadow .2s;display:flex}.footer-badge:hover{transform:translateY(-2px);box-shadow:0 12px 28px #0000002e;color:#292524!important}.footer-badge--image img{-o-object-fit:contain;object-fit:contain;width:auto;max-width:150px;max-height:62px}.footer-badge--classification{min-width:172px}.footer-badge--brand{justify-content:flex-start;min-width:184px;font-size:.72rem}.footer-badge--brand strong{font-size:.82rem}.footer-badge__body{flex-direction:column;gap:5px;display:flex}.footer-badge__rating{align-items:center;gap:5px;line-height:1;display:flex}.footer-badge__rating strong{font-size:.78rem}.footer-badge__stars{color:#f5a623;letter-spacing:.04em;font-size:.72rem}.footer-badge__logo{-o-object-fit:contain;object-fit:contain;flex:0 0 48px;width:48px;height:48px}.footer-bottom{border-top:1px solid #ffffff1f;justify-content:space-between;margin-top:34px;padding-top:22px;font-size:.75rem;display:flex}@media (width<=1240px){.desktop-nav{display:none}.mobile-menu{display:block}.header-main>.button{display:none}}@media (width<=1120px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1.2fr 1fr 1fr}.footer-grid>:nth-child(2){display:none}}@media (width<=820px){:root{--site-header-height:107px}.container{width:min(calc(100% - 28px),var(--container))}.header-meta>span:first-child{display:none}.header-meta{min-height:34px}.header-meta__links{justify-content:space-between;width:100%}.header-main{min-height:72px;padding-block:0}.wordmark{width:148px}.hero{min-height:calc(100svh - 106px)}.hero__content{padding:70px 0 190px}.hero__facts{grid-template-columns:1fr;padding-bottom:6px}.hero__facts>span{padding:9px 0}.hero__facts>span+span{border-left:0}.content-layout,.room-detail,.room-grid,.room-grid--featured,.split-intro{grid-template-columns:1fr}.section-heading{flex-direction:column;align-items:start}.content-aside,.room-booking-card{position:static}.room-copy{grid-column:auto}.booking-cta__inner{flex-direction:column;align-items:start}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>:first-child{grid-column:1/-1}}@media (width<=580px){.header-meta__hours{display:none}.booking-widget-anchor,.booking-widget-band{--booking-widget-height:319px}.booking-widget-summary{grid-template-columns:30px minmax(0,1fr) 24px;gap:10px;min-height:58px;padding-inline:12px}.booking-widget-summary__calendar{width:27px;height:25px}.booking-widget-summary__copy strong{font-size:.94rem}.booking-widget-summary__copy small,.booking-widget-summary__copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.booking-widget-summary__action{display:none}h1{font-size:clamp(2.55rem,13vw,4rem)}.section{padding:72px 0}.hero__lead{font-size:1rem}.hero__actions .button{width:100%}.service-grid,.service-grid--all{grid-template-columns:1fr}.room-card__actions{flex-direction:column;align-items:start}.room-gallery{grid-template-columns:1fr}.room-gallery__item:first-child{grid-column:auto}.room-gallery__zoom{opacity:1;transform:none}.room-lightbox{gap:12px;padding:14px}.room-lightbox__header h2{text-overflow:ellipsis;white-space:nowrap;max-width:calc(100vw - 100px);overflow:hidden}.room-lightbox__arrow{width:44px;height:44px}.room-lightbox__arrow--previous{left:0}.room-lightbox__arrow--next{right:0}.room-lightbox__stage>img{border-radius:5px}.room-lightbox__thumbnails button{width:68px;height:51px}.page-hero{min-height:340px}.breadcrumbs{margin-bottom:38px}.footer-grid{grid-template-columns:1fr}.footer-grid>:first-child{grid-column:auto}.footer-grid>:nth-child(2){display:block}.footer-bottom{flex-direction:column;align-items:start;gap:8px}.footer-badge{flex:150px}.rich-content table{display:block;overflow-x:auto}.booking-date-range,.form-grid{grid-template-columns:1fr}.booking-range-calendar{width:min(340px,100vw - 56px)}.booking-range-calendar__months{grid-template-columns:1fr}.booking-range-calendar__month:last-child{display:none}.booking-range-calendar__month+.booking-range-calendar__month{border-left:0;padding-left:0}.booking-form__name{grid-column:auto}.room-picker__options{grid-template-columns:1fr}.booking-extras__comment{grid-area:auto}.form-grid .breakfast-field{grid-column:auto}.booking-form__footer,.booking-form__heading{flex-direction:column;align-items:start}.yandex-reviews{height:640px}}@media (width<=420px){.room-picker>summary{grid-template-columns:126px minmax(0,1fr);gap:11px;min-height:88px;padding-left:8px}.room-picker__selected-copy>span{display:none}.room-picker__selected-copy>.room-picker__price{font-size:.64rem;display:block}.room-picker__option-content>strong{font-size:.72rem}.room-picker__magnifier{width:21px;height:21px;bottom:3px;right:3px}.room-picker__magnifier:before{width:7px;height:7px;top:5px;left:5px}.room-picker__magnifier:after{bottom:4px;right:3px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition:none!important}}
