/* Editorial refinement. Original brand palette and local media are retained. */
:root{--light:#f6f4ef;--gutter:clamp(22px,4.5vw,72px);--max:1380px}
::selection{background:var(--orange);color:#fff}
section[id],#booking{scroll-margin-top:100px}
.h2{font-size:clamp(36px,4.3vw,66px);line-height:1.12;text-transform:none;letter-spacing:-.045em;font-weight:400;text-wrap:balance}
.h2 em,.hero__title em,.cta__title em{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.055em}
.h2 em{display:inline;color:inherit}
.eyebrow{font-size:10px;letter-spacing:.24em}
.btn{font-size:11px;letter-spacing:.12em;min-height:54px}
.section-caption{font-size:14px;letter-spacing:.025em;margin-top:22px;opacity:.7}
.header__top{font-size:10px;padding-top:9px;padding-bottom:9px}
.header__bar{gap:22px;padding-top:19px;padding-bottom:19px}
.header__logo{width:154px}
.nav{gap:clamp(12px,1.2vw,23px)}
.nav a{font-size:10px;letter-spacing:.1em}
.header__book{background:transparent;border:1px solid rgba(255,255,255,.6);min-height:44px;padding:0 19px}
.header.is-scrolled .header__book{background:var(--orange);border-color:var(--orange)}
.header.is-scrolled .header__top{margin-top:-38px}
.hero{min-height:max(800px,100svh)}
.hero__shade{background:linear-gradient(90deg,rgba(15,35,44,.5),rgba(15,35,44,.05) 78%),linear-gradient(180deg,rgba(15,35,44,.46),transparent 36%,rgba(15,35,44,.58))}
.hero__content{padding-top:190px;padding-bottom:64px}
.hero__eyebrow{margin-bottom:26px;gap:18px}
.hero__eyebrow::before{width:24px}
.hero__title{font-size:clamp(82px,9.2vw,144px);line-height:.94;text-transform:none;letter-spacing:-.065em;font-weight:300}
.hero__title .line{padding-bottom:.13em;margin-bottom:-.08em}
.hero__title em{font-style:italic}
.hero__sub{margin-top:30px;font-size:14px;line-height:1.8;letter-spacing:.025em;text-transform:none;font-weight:400;color:rgba(255,255,255,.86)}
.hero__ticker{margin-top:24px;max-width:420px}
.hero__ticker-track span{font-size:11px;letter-spacing:.08em}
.hero__ticker-dot{width:5px;height:5px;animation:none;box-shadow:none}
.hero__aside{position:absolute;right:max(var(--gutter),calc((100% - var(--max))/2));bottom:234px;text-align:right}
.hero__aside-label{font-size:9px;text-transform:uppercase;letter-spacing:.22em;opacity:.7}
.hero__aside p{font-size:24px;font-weight:300;line-height:1.45;letter-spacing:-.03em;margin:16px 0 28px}
.hero__video-toggle{display:inline-flex;align-items:center;gap:12px;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.video-symbol{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.45);border-radius:50%;font-size:16px;transition:background .3s}
.hero__video-toggle:hover .video-symbol{background:rgba(255,255,255,.16)}
.hero__scroll{display:none}
.booking{margin-bottom:58px;grid-template-columns:1.05fr 1fr 1fr 1.1fr 1fr;box-shadow:0 16px 40px #10252e26;background:#fff;min-height:100px}
.booking__title{grid-column:auto;flex-direction:column;justify-content:center;align-items:flex-start;padding:20px 24px;gap:4px;letter-spacing:0;text-transform:none;background:var(--blue-deep)}
.booking__title span{font-size:9px;text-transform:uppercase;letter-spacing:.13em;color:rgba(255,255,255,.65)}
.booking__title b{font:italic 23px Georgia,serif;font-weight:400}
.booking__field{padding:16px 22px;gap:8px}
.booking__field>span{font-size:9px;letter-spacing:.17em}
.booking__field input{font-size:14px;font-weight:400}
.booking__field input:focus-visible{outline:2px solid var(--orange);outline-offset:4px}
.stepper{gap:8px;justify-content:space-between}
.stepper output{font-size:13px;min-width:75px}
.stepper button{flex:none}
.booking__submit{margin:10px;padding:0 20px;white-space:nowrap}
.booking__hint{font-size:10px;letter-spacing:.08em;margin-top:12px}
.guest-note{background:#f0ede6;color:var(--blue);border-bottom:1px solid var(--line)}
.guest-note__inner{display:flex;align-items:baseline;gap:40px;padding-top:18px;padding-bottom:18px;font-size:11px}
.guest-note__label{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.14em;flex:none}
.guest-note details{flex:1}
.guest-note summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:20px}
.guest-note summary::-webkit-details-marker{display:none}
.guest-note summary span{font-size:21px;line-height:1;color:var(--orange);transition:transform .3s}
.guest-note details[open] summary span{transform:rotate(45deg)}
.guest-note details p{max-width:750px;margin-top:12px;color:var(--muted);line-height:1.8}
.adv{padding:90px 0 95px;background:var(--light)}
.section-head{margin-bottom:54px}
.adv__grid{border-bottom:1px solid var(--line)}
.adv__item{padding:30px 24px}
.adv__item:hover{background:#fff8}
.adv__item svg{width:32px;height:32px;stroke-width:1.2}
.adv__num{font-size:20px;text-transform:none;letter-spacing:-.03em;margin-top:22px;font-weight:400}
.adv__item p{font-size:12px;line-height:1.75}
.about{background:#fff;padding-top:110px}
.about__text .h2{font-size:clamp(35px,3.5vw,54px)}
.about__text .lead{font-size:17px}
.about__text>p:not(.eyebrow):not(.lead){font-size:13px;line-height:1.9}
.about__img{box-shadow:none}
.about__img--a{width:76%;height:78%;top:0}
.about__img--b{width:37%;height:38%;top:12%;right:-2%;border:7px solid #fff}
.about__img--c{width:51%;height:42%;bottom:0;right:0;border:9px solid #fff}
.about__badge{bottom:0;left:11%;width:112px;height:112px}
.rating{margin-top:30px;padding-top:26px}
.rating__score{width:60px;height:60px;font-size:23px;background:transparent;color:var(--blue);border:1px solid var(--line)}
.rating__score::after{animation:none;inset:-5px}
.rating__text b{font-size:10px}
.rating__text span{font-size:11px}
.strip{padding-bottom:90px;margin-top:90px}
.strip__track{gap:16px}
.strip__item{width:clamp(220px,24vw,360px);aspect-ratio:1.4}
.strip__item:nth-child(even){margin-top:36px}
.strip:focus-within .strip__track{animation-play-state:paused}
.rooms{background:var(--blue-deep);padding:100px 0 120px}
.rooms::before{display:none}
.rooms__head{display:block;margin-bottom:44px}
.rooms__head>div:first-child{display:flex;flex-direction:column;align-items:center;text-align:center;margin-bottom:46px}
.rooms__tabs{justify-content:space-between;gap:14px;flex-wrap:nowrap}
.rooms__tabs button{font-size:10px;letter-spacing:.09em;padding-bottom:18px}
.room{grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:clamp(34px,5vw,80px)}
.room__slides{aspect-ratio:1.2}
.room__info{padding:12px 0}
.room__index{font-size:11px;color:#e8a780}
.room__index::after{content:' / ВАШ ЛИЧНЫЙ КОМФОРТ';font-size:8px;letter-spacing:.15em;color:#ffffff70;margin-left:12px}
.room__title{font-family:Georgia,serif;text-transform:none;font-size:clamp(38px,3.5vw,58px);letter-spacing:-.025em;margin-top:14px}
.room__desc{font-size:13px;line-height:1.85}
.room__features li{font-size:12px}
.room__area{margin-top:22px}
.room__area span{font-size:9px}
.room__price b{font-size:36px}
.room__actions .btn{padding:0 23px}
.food{padding:120px 0 140px;background:var(--light)}
.food__visual{position:relative;padding-bottom:68px;padding-right:50px}
.food__img{aspect-ratio:.88}
.food__detail{position:absolute;right:0;bottom:0;width:49%;border:8px solid var(--light);background:var(--light)}
.food__detail img{aspect-ratio:1.2;object-fit:cover;width:100%}
.food__detail figcaption{font:italic 20px Georgia,serif;color:var(--blue);padding:14px 0 2px;text-align:center}
.photo-caption{position:absolute;bottom:30px;left:0;font-size:8px;text-transform:uppercase;letter-spacing:.15em;color:var(--blue-2);max-width:43%}
.food__text .h2{font-size:clamp(54px,6vw,88px);margin-bottom:34px}
.food__text .lead{font-size:15px;line-height:1.9}
.hours{border:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.hours div{padding:18px 0}
.hours div+div{padding-left:24px}
.hours span{font-size:9px;letter-spacing:.14em}
.hours b{font-size:18px}
.food__halls{gap:8px 20px;margin-bottom:30px}
.food__halls li{border:0;border-bottom:1px solid var(--line);border-radius:0;padding:3px 0;font-size:11px}
.food__halls li:hover{background:transparent;color:var(--orange)}
.aqua{min-height:720px}
.aqua__shade{background:linear-gradient(90deg,#102c39ed,#102c3999 48%,#102c3920)}
.aqua__card{max-width:620px}
.aqua__card .h2{font-size:clamp(48px,5.6vw,82px);margin-bottom:32px}
.aqua__card>p:not(.eyebrow){font-size:15px;max-width:450px;line-height:1.9}
.aqua__card .eyebrow{font-size:10px}
.offers{background:#fff;padding:110px 0}
.offers__head .h2{max-width:700px}
.offers__rail{gap:24px}
.offer{flex-basis:clamp(275px,28vw,405px)}
.offer:nth-child(even){padding-top:44px}
.offer__img{aspect-ratio:.9}
.offer h3{font-size:17px;text-transform:none;letter-spacing:-.025em}
.offer p{font-size:12px}
.island{background:var(--light)}
.island__text .lead{font-size:15px;line-height:1.9}
.island__text>p:not(.eyebrow):not(.lead){font-size:13px}
.island__photo--2{border:7px solid var(--light);right:-2%;top:27%;width:48%}
.island__photo--3{border:7px solid var(--light);left:13%;width:52%}
.cta{padding:130px 0}
.cta::before{background:rgba(23,47,64,.67)}
.cta__title{font-size:clamp(58px,7.5vw,112px);text-transform:none;line-height:1.05;max-width:none;letter-spacing:-.06em}
.cta__text{font-size:13px;line-height:1.8;max-width:48ch}
.footer{font-size:12px}
.footer__brand p{font-size:12px;max-width:360px}
.footer h4{font-size:10px;letter-spacing:.16em}
@media(min-width:1181px) and (max-width:1320px){.header__bar{gap:16px}.header__logo{width:130px}.nav{gap:12px}.nav a{font-size:9px}.header__book{padding:0 12px}}
@media(max-width:1180px){
 .booking{grid-template-columns:1fr 1fr 1.15fr 1fr}.booking__title{display:none}
 .hero__aside{bottom:220px}.room__actions .btn{padding:0 17px;font-size:10px}
 .adv__item:nth-child(3){border-right:0}
}
@media(max-width:900px){
 .hero{min-height:900px}.hero__content{padding-bottom:60px}.hero__title{font-size:112px}
 .hero__aside-label,.hero__aside p{display:none}.hero__aside{bottom:234px}
 .room{grid-template-columns:1fr}.room__slides{aspect-ratio:1.5}
 .room__info{display:grid;grid-template-columns:1fr 1fr;column-gap:38px}
 .room__index,.room__title,.room__foot{grid-column:1/-1}.room__features{margin-top:0}.room__area{grid-column:2;grid-row:3/5;margin-top:0;align-self:start}
 .room__desc,.room__features{grid-column:1}.room__foot{margin-top:24px}
 .food__visual{max-width:650px}.food__img{aspect-ratio:1.2}.food__grid{gap:64px}
 .rooms__tabs{overflow-x:auto;justify-content:flex-start;gap:28px}.rooms__tabs button{flex:none;white-space:nowrap}
 .about__collage{width:100%;margin:0 auto}.island__photos{order:0;max-width:650px;width:100%}
}
@media(max-width:640px){
 :root{--gutter:22px}
 .header__top{font-size:9px;gap:10px;padding-top:8px;padding-bottom:8px}.header__addr svg{flex:none;width:12px}
 .header__bar{padding-top:16px;padding-bottom:16px}.header__logo{width:126px}.header.is-scrolled .header__logo{width:112px}
 .header.is-scrolled .header__top{margin-top:-37px}
 .hero{min-height:auto}.hero__content{padding-top:188px;padding-bottom:84px}
 .hero__title{font-size:clamp(54px,15vw,96px);line-height:1.02;letter-spacing:-.055em}
 .hero__title .line{white-space:nowrap}
 .hero__eyebrow{font-size:8px;gap:12px;margin-bottom:30px}.hero__eyebrow::before{width:20px}
 .hero__sub{font-size:11px;line-height:1.85;margin-top:27px;letter-spacing:0}
 .hero__ticker{margin-top:20px}.hero__ticker-track span{font-size:9px;letter-spacing:.015em}
 .hero__aside{top:130px;bottom:auto;right:var(--gutter)}.video-symbol{width:34px;height:34px;font-size:13px}.video-label{font-size:8px}
 .booking{grid-template-columns:1fr 1fr;margin-bottom:42px;min-height:0}
 .booking__field{padding:16px;gap:6px}.booking__field input{font-size:12px}.booking__field>span{font-size:8px}
 .booking__guests{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:12px 16px}
 .stepper{gap:17px}.booking__submit{grid-column:1/-1;min-height:52px;margin:0 9px 9px}
 .booking__hint{position:absolute;top:100%;color:#fff;background:none;padding:0;margin-top:9px;grid-column:auto}
 .guest-note__inner{display:block;padding-top:20px;padding-bottom:20px}.guest-note__label{display:block;margin-bottom:7px;font-size:8px}
 .guest-note summary{font-size:10px;gap:22px;line-height:1.8}.guest-note details p{font-size:11px}
 .adv{padding:68px 0}.section-head{margin-bottom:34px}.h2{font-size:38px;letter-spacing:-.045em}
 .adv__grid{grid-template-columns:1fr 1fr}.adv__item{padding:24px 16px}.adv__item:nth-child(3){border-right:1px solid var(--line)}.adv__item:nth-child(2n){border-right:0}
 .adv__num{font-size:18px}.adv__item p{font-size:11px}.adv__item svg{width:28px;height:28px}
 .about{padding-top:72px}.about__grid{gap:48px}.about__text .h2{font-size:36px}.about__text .lead{font-size:15px}
 .about__text>p:not(.eyebrow):not(.lead){font-size:12px}.about__badge{width:90px;height:90px;left:8%}
 .strip{margin-top:60px;padding-bottom:64px}.strip__item{width:215px}.strip__item:nth-child(even){margin-top:25px}
 .rooms{padding:72px 0 82px}.rooms__head>div:first-child{align-items:flex-start;text-align:left;margin-bottom:30px}.section-caption{font-size:12px;margin-top:16px}
 .rooms__tabs{margin-left:0;margin-right:0;padding-left:0;padding-right:0;gap:24px}.rooms__head{margin-bottom:30px}.rooms__tabs button{font-size:9px}
 .room{gap:32px}.room__slides{aspect-ratio:1.15}.room__arrow{width:46px;height:46px}.room__count{font-size:11px;min-width:64px}
 .room__info{display:block}.room__title{font-size:42px}.room__desc{font-size:12px}.room__area{margin-top:22px}.room__features{margin-top:20px}
 .room__foot{display:block}.room__price{margin-bottom:22px}.room__actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.room__actions .btn{padding:0 8px;font-size:9px}
 .food{padding:76px 0 84px}.food__visual{padding-right:30px;padding-bottom:56px}.food__grid{gap:54px}.food__detail{border-width:5px;width:52%}.food__detail figcaption{font-size:16px;padding-top:10px}.photo-caption{font-size:7px;bottom:18px}
 .food__text .h2{font-size:60px}.food__text .lead{font-size:13px}.hours{grid-template-columns:1fr 1fr}.hours div+div{border-left:1px solid var(--line);border-top:0;padding-left:15px}.hours b{font-size:15px}
 .aqua{min-height:650px}.aqua__inner{padding-top:80px;padding-bottom:80px}.aqua__card .h2{font-size:48px}.aqua__card>p:not(.eyebrow){font-size:13px}.aqua__shade{background:linear-gradient(90deg,#102c39ed,#102c3966)}
 .aqua__actions .btn{font-size:10px;padding:0 20px}.offers{padding:74px 0}.offers__head{margin-bottom:34px}.offer{flex-basis:78vw}.offer:nth-child(even){padding-top:28px}.offer h3{font-size:16px}
 .island{padding:76px 0}.island__grid{gap:50px}.island__text .lead{font-size:13px}.island__cta{gap:20px;margin-top:28px}
 .cta{padding:90px 0}.cta__title{font-size:58px}.cta__text{font-size:11px}.cta__actions{margin-top:28px;width:100%}.cta__actions .btn{width:100%}
 .footer{padding-top:64px}.footer__cols{grid-template-columns:1fr 1fr;gap:28px 18px}.footer__contacts{grid-column:1/-1}.footer__bottom{font-size:9px;gap:20px}
}
@media(prefers-reduced-motion:reduce){.strip__track{animation:none}.hero__media,.video-symbol{transition:none}}
