/* NOREKATS — сайт-история. Два шрифта: заголовки — гротеск в духе Neue Haas Grotesk (сейчас Inter Tight),
   текст — в духе PP Neue Montreal (сейчас Inter). Купленные шрифты меняются только здесь, в --display и --text. */
:root{
  --ground:#F2F3F5; --paper:#FFFFFF; --ink:#1E2127; --ink-2:#4A4F59; --line:rgba(30,33,39,.14);
  --cobalt:#2B3BE0; --cobalt-deep:#1F2BB3; --apricot:#FF9A3C; --stage:#14161E;
  --on-dark-2:rgba(255,255,255,.84);
  --display:'Inter Tight','Noto Sans Armenian',system-ui,sans-serif;
  --text:'Inter','Noto Sans Armenian',system-ui,sans-serif;
  --gutter:clamp(16px,3vw,48px);
  --ease:cubic-bezier(.16,1,.3,1);
  /* Единая шкала текста: все размеры на сайте берутся только отсюда */
  --t1:clamp(2.5rem,1.7rem + 3.4vw,5.25rem);   /* заголовки глав и разделов */
  --t1-hy:clamp(2rem,1.45rem + 2.6vw,4.25rem); /* то же для армянского — слова длиннее */
  --t2:clamp(1.75rem,1.35rem + 1.5vw,2.625rem);/* заголовки карточек, слово Norekats */
  --t3:clamp(1.25rem,1.12rem + .55vw,1.625rem);/* подзаголовки, вводный текст, адрес, телефоны */
  --tb:clamp(1rem,.96rem + .2vw,1.125rem);     /* основной текст */
  --ts:.9375rem;                               /* мелкий текст, малые кнопки */
  --tl:.8125rem;                               /* подписи полей, переключатель языка */
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:auto}
body{margin:0;background:var(--stage);color:var(--ink);font-family:var(--text);font-size:var(--tb);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:clip}
h1,h2,h3,p,ul,dl,dd{margin:0;padding:0}
ul{list-style:none}
img,picture,svg{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
:focus-visible{outline:3px solid var(--apricot);outline-offset:3px;border-radius:6px}
/* разделы получают фокус при переходе по меню — рамку вокруг всего раздела не рисуем */
[tabindex="-1"]:focus{outline:none}
::selection{background:var(--apricot);color:var(--ink)}
.wrap{max-width:1600px;margin:0 auto;padding-inline:max(var(--gutter),env(safe-area-inset-left,0px)) max(var(--gutter),env(safe-area-inset-right,0px))}
.skip{position:fixed;z-index:100;left:12px;top:12px;padding:12px 18px;border-radius:999px;background:var(--paper);color:var(--ink);font-weight:600;transform:translateY(-200%)}
.skip:focus{transform:none}
html.i18n-pending [data-t]{visibility:hidden}

/* Кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:52px;padding:0 26px;border-radius:999px;font-family:var(--text);font-weight:600;font-size:1rem;line-height:1.2;white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .2s var(--ease),color .2s var(--ease),box-shadow .2s var(--ease),transform .15s ease-out}
.btn:active{transform:scale(.96)}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.5;pointer-events:none}
.btn--book{background:var(--cobalt);color:#fff}
.btn--light{background:#fff;color:var(--ink)}
.btn--ghost{color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.8)}
.btn--sm{min-height:44px;padding:0 20px;font-size:var(--ts)}
.btn--line{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}
/* стрелка у второстепенных кнопок: подсказывает переход, на наведении сдвигается */
.btn--ghost::after,.btn--line::after{content:"\2192";display:inline-block;transition:transform .25s var(--ease)}
@media (hover:hover){
  .btn--book:hover{background:var(--cobalt-deep)}
  .btn--light:hover{background:var(--apricot)}
  .btn--ghost:hover{background:#fff;color:var(--ink)}
  .btn--line:hover{background:var(--ink);color:#fff}
  .btn--ghost:hover::after,.btn--line:hover::after{transform:translateX(4px)}
}
.sticker{display:inline-block;padding:9px 16px 10px;border-radius:999px;background:var(--apricot);color:var(--ink);font-weight:600;font-size:var(--ts);line-height:1.1;white-space:nowrap}

/* Шапка — плавающая капсула */
.hd{position:fixed;z-index:50;top:max(12px,env(safe-area-inset-top,0px));left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));height:60px;display:flex;align-items:center;gap:clamp(12px,2vw,32px);padding:0 8px 0 22px;border-radius:999px;background:rgba(255,255,255,.97);-webkit-backdrop-filter:blur(14px) saturate(1.4);backdrop-filter:blur(14px) saturate(1.4);color:var(--ink);box-shadow:0 10px 30px -18px rgba(0,0,0,.5);max-width:1600px;margin:0 auto}
/* при прокрутке вниз шапка уезжает и не перекрывает текст, при прокрутке вверх возвращается */
.hd{transition:transform .45s var(--ease)}
html.hd-away .hd{transform:translateY(calc(-100% - 28px))}
html.hd-away .hd:focus-within,html.menu-open .hd{transform:none}
.hd__logo{display:inline-flex;align-items:center;min-height:44px;font-family:var(--display);font-weight:700;font-size:20px;letter-spacing:-.04em;line-height:1}
.hd__nav{display:flex;gap:clamp(14px,2vw,30px);margin-left:auto}
.hd__nav a{font-weight:500;font-size:var(--ts);padding:12px 0}
.hd__nav a{text-underline-offset:.3em;text-decoration-thickness:1.5px;transition:color .2s var(--ease)}
@media (hover:hover){.hd__nav a:hover{text-decoration-line:underline}}
.hd__nav a[aria-current="true"]{text-decoration-line:underline;text-decoration-color:var(--apricot)}
.langs{display:flex;gap:2px;padding:3px;border-radius:999px;box-shadow:inset 0 0 0 1.5px var(--line)}
.hd .langs{box-shadow:none;padding:0}
.hd .langs a{min-width:36px;border-radius:0;color:var(--ink-2)}
.hd .langs a[aria-current="true"]{background:none;color:var(--ink);box-shadow:inset 0 -2px 0 var(--apricot)}
.hd .btn--book{transition:opacity .3s var(--ease),background-color .2s var(--ease)}
html.at-hero .hd .btn--book{opacity:0;pointer-events:none;visibility:hidden}
.hd__menu{display:none;width:44px;height:44px;border-radius:999px;place-items:center;border:0;background:var(--ink);color:#fff;cursor:pointer;flex:none}
.sheet{position:fixed;z-index:45;inset:0;background:var(--ink);color:#fff;display:flex;flex-direction:column;justify-content:flex-end;gap:32px;padding:calc(110px + env(safe-area-inset-top,0px)) max(24px,env(safe-area-inset-right,0px)) calc(32px + env(safe-area-inset-bottom,0px)) max(24px,env(safe-area-inset-left,0px))}
.sheet[hidden]{display:none}
@media (min-width:1024px){.sheet{display:none}}
.sheet nav{display:flex;flex-direction:column}
.sheet nav a{font-family:var(--display);font-weight:700;font-size:var(--t1);letter-spacing:-.035em;line-height:1.15;padding:6px 0}
.sheet .btn{width:100%;min-height:56px}
html.menu-open{overflow:hidden}
/* плавная прокрутка (Lenis, только мышь/тачпад) */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-stopped{overflow:hidden}
.langs a{display:grid;place-items:center;min-width:42px;height:38px;padding:0 8px;border-radius:999px;font-weight:600;font-size:var(--tl);letter-spacing:.02em;color:var(--ink-2)}
.langs a[aria-current="true"]{background:var(--ink);color:#fff}
.langs--dark{box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.3)}
.langs--dark a{color:rgba(255,255,255,.8);height:44px;min-width:48px}
.langs--dark a[aria-current="true"]{background:#fff;color:var(--ink)}
@media (max-width:1023px){.hd__nav{display:none}.hd .langs{margin-left:auto}.hd__menu{display:grid}}
@media (max-width:599px){
  .hd{height:56px;padding-left:18px;gap:10px}
  .hd .btn--book{display:none}
  .hd__logo{font-size:17px}
  .hd .langs a{min-width:44px;height:44px}
}

/* ===== Мир картин: неподвижный фон, текст плывёт поверх обычной прокруткой ===== */
.world{position:fixed;inset:0;z-index:0;overflow:hidden;background:var(--stage);pointer-events:none}
.world__scene{position:absolute;inset:0;visibility:hidden}
.world__scene.is-on{visibility:visible}
html.past-story .world{visibility:hidden}
.art{position:absolute;left:0;top:0;width:100%;height:100%;transform-origin:50% 50%;will-change:transform}
.layer{position:absolute;inset:0}
.layer img{width:100%;height:100%;object-fit:cover;max-width:none}
.layer[data-box] img{object-fit:fill}
.layer--push img{animation:drift 32s ease-in-out infinite alternate;transform-origin:40% 60%}
.layer--drift img{animation:cloud 17s ease-in-out infinite alternate}
.layer--float img{animation:float var(--dur,7s) ease-in-out var(--delay,0s) infinite}
@keyframes drift{from{transform:scale(1)}to{transform:scale(1.05)}}
@keyframes cloud{from{transform:translate3d(calc(var(--amp,12px) * -1),0,0)}to{transform:translate3d(var(--amp,12px),calc(var(--amp,12px) * -.35),0)}}
@keyframes float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(0,calc(var(--amp,6px) * -1),0)}}
.world__scene:not(.is-on) img{animation-play-state:paused}

/* Первый экран: рамка картины, фигуры выходят за неё и сходятся при прокрутке */
.art--hero .layer--base{z-index:0}.art--hero .layer--drift{z-index:1}.art--hero .layer--front{z-index:2}
.art--hero .frame{z-index:3}.art--hero .layer--float{z-index:4}
/* рамка двигается только transform и opacity — без перерисовки картины на каждом кадре */
.frame{position:absolute;inset:16% 19%;border:1.5px solid rgba(255,255,255,.9);box-shadow:0 0 0 200vmax rgba(14,16,22,.5);opacity:var(--ins,0);transform:scale(calc(1 + (1 - var(--ins,0)) * .613),calc(1 + (1 - var(--ins,0)) * .47));will-change:transform,opacity;pointer-events:none}
.art--hero .layer--float{transform:translate3d(calc(var(--s,0) * var(--dx,0) * var(--aw,1px)),calc(var(--s,0) * var(--dy,0) * var(--aw,1px)),0) scale(calc(1 + var(--s,0) * var(--ds,0)));will-change:transform}

.hero{position:relative;z-index:1;height:140vh}
.hero__pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden}
.hero__copy{position:absolute;left:max(var(--gutter),env(safe-area-inset-left,0px));right:max(var(--gutter),env(safe-area-inset-right,0px));bottom:clamp(20px,3vh,40px);display:flex;flex-direction:column;align-items:flex-start;gap:clamp(10px,1.8vh,20px);color:#fff}

/* Главы истории: обычная прокрутка */
.chapter{position:relative;z-index:1;min-height:150vh;display:flex;align-items:flex-start;padding:42vh max(var(--gutter),env(safe-area-inset-right,0px)) 48vh max(var(--gutter),env(safe-area-inset-left,0px));color:#fff}
.chapter--right{justify-content:flex-end}
.chapter--bottom{min-height:130vh;padding-top:55vh}
.chapter__copy{width:min(560px,42vw);display:flex;flex-direction:column;gap:24px;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.chapter--bottom .chapter__copy{width:auto}
@media (min-width:768px) and (max-width:1023px){.chapter__copy{width:min(520px,58vw)}}
.chapter p{max-width:42ch;color:var(--on-dark-2);font-size:var(--tb);line-height:1.55;text-wrap:pretty}

/* Вспышка света между картинами */
.flash{position:absolute;inset:0;z-index:20;pointer-events:none;opacity:var(--f,0);background:radial-gradient(120% 90% at 50% 45%,#FFFDF8 0%,#FFF1DC 45%,#FFD9AE 100%)}

/* Затемнение под текстом (контраст) */
.shade{position:absolute;inset:0;pointer-events:none;z-index:1}
.shade--bottom{background:linear-gradient(to top,rgba(14,16,22,.82) 0%,rgba(14,16,22,.5) 28%,rgba(14,16,22,0) 55%)}
.shade--right{background:linear-gradient(to left,rgba(14,16,22,.78) 0%,rgba(14,16,22,.62) 34%,rgba(14,16,22,0) 62%)}
.shade--left{background:linear-gradient(to right,rgba(14,16,22,.78) 0%,rgba(14,16,22,.62) 34%,rgba(14,16,22,0) 62%)}

/* Текст сцены */
.copy__acts{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px;margin-top:6px}
.h2{font-family:var(--display);font-weight:700;font-size:var(--t1);line-height:.98;letter-spacing:-.035em;text-wrap:balance;color:#fff}
.h2--xl{max-width:11ch}
:lang(hy) .h2{font-size:var(--t1-hy);letter-spacing:-.01em;line-height:1.05}
.h3{font-family:var(--display);font-weight:700;font-size:var(--t2);line-height:1.08;letter-spacing:-.04em;text-wrap:balance}
.chapter .lead{font-size:var(--t3);line-height:1.35;color:#fff;max-width:34ch}

.gloss{display:flex;flex-direction:column;gap:8px}
.chapter .gloss__word{font-family:var(--display);font-weight:700;font-size:var(--t2);letter-spacing:-.035em;line-height:1;color:var(--apricot)}
.chapter .gloss__word span{color:#fff}
.gloss__tr i{font-style:normal;font-weight:600;color:var(--apricot)}
.chapter .gloss__tr{font-weight:500;color:#fff}

/* Первый экран */
.hero__sub{font-family:var(--display);font-weight:500;letter-spacing:-.01em;font-size:var(--tb);line-height:1.4;max-width:30ch;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.25)}
.wordmark{font-family:var(--display);font-weight:700;font-size:clamp(3.25rem,2rem + 6vw,8.5rem);line-height:.8;letter-spacing:-.045em;white-space:nowrap;margin:0 0 0 -.04em;padding-top:.06em;color:#fff}


.anchor{display:none}

/* Телефон: картина сверху, текст ниже на затемнении */
@media (max-width:767px){
  .shade--right,.shade--left,.shade--bottom{background:linear-gradient(to top,var(--stage) 33%,rgba(20,22,30,.6) 42%,rgba(20,22,30,0) 55%)}
  .hero{height:120vh}
  /* на телефоне фигуры не «дышат» постоянно — прокрутка легче */
  .layer--push img,.layer--drift img,.layer--float img{animation:none}
  .chapter,.chapter--bottom{min-height:130vh;padding-top:58vh;padding-bottom:40vh}
  .chapter__copy{width:100%;gap:14px}
}
@media (max-width:480px){.btn{white-space:normal;text-align:center;padding-top:10px;padding-bottom:10px}}

/* ===== После истории: поиск, контакты, подвал ===== */
/* Карточки: апартаменты, услуги, история */
.info,.search,.contacts,.ft{position:relative;z-index:1}
.info{background:var(--ground);padding:clamp(72px,9vw,140px) 0 0}
/* Фото апартаментов: на телефоне листаются пальцем, на компьютере — сетка 4×2 */
.gallery{margin-bottom:clamp(28px,4vw,56px);display:flex;flex-direction:column;gap:clamp(16px,2vw,28px)}
.gallery .h3{color:var(--ink)}
.gallery__list{display:grid;grid-auto-flow:column;grid-auto-columns:82%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scroll-padding-inline:var(--gutter)}
.gallery__list::-webkit-scrollbar{display:none}
.gallery__item{scroll-snap-align:start;border-radius:clamp(12px,1.2vw,18px);overflow:hidden;background:var(--line)}
.gallery__item img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;max-width:none}
@media (min-width:900px){.gallery__list{grid-auto-flow:row;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;margin-inline:0;padding-inline:0}}
.info__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2vw,28px);align-items:start}
.card{background:var(--paper);border-radius:clamp(14px,1.4vw,22px);padding:clamp(24px,2.6vw,40px);display:flex;flex-direction:column;gap:20px;min-width:0;scroll-margin-top:100px}
.card .h3{color:var(--ink)}
.list{border-top:1.5px solid var(--ink)}
.list li{display:flex;flex-direction:column;gap:2px;padding:14px 0;border-bottom:1px solid var(--line)}
.list b{font-family:var(--display);font-weight:600;font-size:var(--tb);letter-spacing:-.02em;line-height:1.25;color:var(--ink)}
.list span{color:var(--ink-2);font-weight:500}
.list__link{display:flex;flex-direction:column;gap:2px;text-decoration:none}
.list__link b::after{content:" \2192";color:var(--apricot);display:inline-block;transition:transform .25s var(--ease)}
@media (hover:hover){.list__link:hover b::after{transform:translateX(4px)}}
.card__note{color:var(--ink-2);font-size:var(--ts)}
.card .btn{align-self:flex-start;max-width:100%;white-space:normal;text-align:center;line-height:1.25;padding-top:10px;padding-bottom:10px}
.card--story p{color:var(--ink-2);max-width:56ch;text-wrap:pretty}
@media (max-width:1023px){.info__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.card--story{grid-column:1/-1}}
@media (max-width:639px){.info__grid{grid-template-columns:1fr}.card .btn{align-self:stretch}}
/* Всплывающие виджеты Exely не показываем: скидка 15% написана в блоке поиска (.search__offer), бронь — наши кнопки */
.tl-widgets-container,.x-tl-booking-widget-container{display:none!important}
/* Отзывы гостей (Яндекс Карты) */
.reviews{position:relative;z-index:1;background:var(--ground);padding:clamp(56px,7vw,112px) 0 0}
.reviews .wrap{display:flex;flex-direction:column;align-items:flex-start;gap:clamp(20px,2.4vw,32px)}
.reviews__head{width:100%;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px 24px}
.reviews .h3{color:var(--ink)}
.rating{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;color:var(--ink);text-decoration:none}
.rating__score{font-family:var(--display);font-weight:700;font-size:var(--t2);letter-spacing:-.03em;line-height:1}
.rating__stars{color:var(--apricot);font-size:var(--t3);letter-spacing:.06em}
.rating__src{color:var(--ink-2);font-size:var(--ts);text-decoration:underline;text-underline-offset:.2em;text-decoration-thickness:1px}
.reviews__list{display:grid;grid-auto-flow:column;grid-auto-columns:84%;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:none;margin-inline:calc(var(--gutter) * -1);padding-inline:var(--gutter);scroll-padding-inline:var(--gutter);width:auto;align-self:stretch}
.reviews__list::-webkit-scrollbar{display:none}
.review{scroll-snap-align:start;background:var(--paper);border-radius:clamp(14px,1.4vw,22px);padding:clamp(22px,2.4vw,32px);display:flex;flex-direction:column;justify-content:space-between;gap:20px;min-width:0}
.review__text{color:var(--ink);font-size:var(--tb);line-height:1.55;text-wrap:pretty}
.review__text::before{content:"\201C";display:block;font-family:var(--display);font-weight:700;font-size:48px;line-height:.6;height:22px;color:var(--apricot)}
.review__by{display:flex;flex-direction:column;gap:2px;font-size:var(--ts);color:var(--ink-2)}
.review__by b{color:var(--ink);font-weight:600}
@media (min-width:900px){.reviews__list{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));overflow:visible;margin-inline:0;padding-inline:0}}

/* Карта в контактах */
.map{margin-top:clamp(36px,5vw,72px);border-radius:clamp(14px,1.4vw,22px);overflow:hidden;background:rgba(255,255,255,.12);aspect-ratio:16/7}
.map__frame{display:block;width:100%;height:100%;border:0}
@media (max-width:767px){.map{aspect-ratio:4/5}}

/* Кнопка WhatsApp — всегда под рукой */
.wa-float{position:fixed;z-index:41;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));width:56px;height:56px;border-radius:999px;display:grid;place-items:center;background:#128c4a;color:#fff;box-shadow:0 10px 30px -10px rgba(0,0,0,.55);transition:transform .2s var(--ease),opacity .25s var(--ease),visibility .25s}
.wa-float:active{transform:scale(.92)}
@media (hover:hover){.wa-float:hover{transform:scale(1.06)}}
.wa-float:focus-visible{outline:3px solid var(--apricot);outline-offset:3px}
@media (max-width:767px){html:not(.at-hero):not(.past-contacts) .wa-float{bottom:calc(84px + env(safe-area-inset-bottom,0px))}.wa-float{transition:transform .2s var(--ease),bottom .35s var(--ease),opacity .25s var(--ease),visibility .25s}}
html.menu-open .wa-float{display:none}
/* в «Контактах» свои кнопки WhatsApp — плавающая не нужна и не закрывает текст */
html.past-contacts .wa-float{opacity:0;visibility:hidden;pointer-events:none}

.search{background:var(--ground);padding:clamp(56px,7vw,112px) 0 clamp(72px,9vw,140px)}
.search .h3{max-width:24ch;color:var(--ink)}
.search__offer{margin:12px 0 clamp(20px,2.4vw,32px);color:var(--ink-2);font-size:var(--tb)}
/* Поиск дат — своя форма в стиле сайта; ведёт в модуль бронирования Exely с выбранными датами */
.sf{display:grid;grid-template-columns:1fr 1fr auto auto auto;align-items:end;gap:16px 20px;padding:clamp(20px,2.4vw,32px);border-radius:clamp(14px,1.4vw,22px);background:var(--paper);box-shadow:0 1px 0 var(--line)}
.sf__field{display:flex;flex-direction:column;gap:8px;min-width:0}
.sf__label{font-size:var(--tl);font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-2)}
.sf__input{height:56px;width:100%;padding:0 16px;border:1.5px solid var(--line);border-radius:14px;background:var(--ground);font:500 var(--tb)/1 var(--text);color:var(--ink);-webkit-appearance:none;appearance:none;transition:border-color .2s var(--ease),background-color .2s var(--ease)}
.sf__input:hover{border-color:rgba(30,33,39,.35)}
.sf__input:focus-visible{outline:none;border-color:var(--cobalt);background:#fff}
.sf__input[aria-invalid="true"]{border-color:#C2410C}
.sf__stepper{display:flex;align-items:center;height:56px;border:1.5px solid var(--line);border-radius:14px;background:var(--ground)}
.sf__step{width:48px;height:100%;border:0;background:none;font:500 22px/1 var(--text);color:var(--ink);cursor:pointer;border-radius:12px;transition:background-color .2s var(--ease),transform .15s ease-out}
.sf__step:active{transform:scale(.92)}
.sf__step:disabled{opacity:.3;cursor:default}
@media (hover:hover){.sf__step:not(:disabled):hover{background:rgba(30,33,39,.07)}}
.sf__num{min-width:28px;text-align:center;font:600 var(--tb)/1 var(--text);color:var(--ink)}
.sf__go{height:56px;min-height:56px;padding:0 30px}
.sf__ages{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:12px 16px}
.sf__ages[hidden]{display:none}
.sf__ages .sf__field{width:160px}
.sf__ages select.sf__input{background-image:linear-gradient(45deg,transparent 50%,var(--ink) 50%),linear-gradient(135deg,var(--ink) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
.sf__note{grid-column:1/-1;min-height:1.4em;font-size:var(--ts);color:var(--ink-2)}
.sf__note.is-err{color:#C2410C}
@media (max-width:1023px){.sf{grid-template-columns:1fr 1fr}.sf__ages{order:1}.sf__go{order:2;grid-column:1/-1;width:100%}.sf__note{order:3}}
@media (max-width:420px){.sf{grid-template-columns:1fr}.sf__field--count .sf__stepper{justify-content:space-between}}
.contacts{background:var(--cobalt);color:#fff;padding:clamp(72px,9vw,140px) 0}
.contacts__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,88px)}
.contacts__grid>*{min-width:0}
.addr{margin-top:clamp(24px,3vw,40px);font-family:var(--display);font-weight:600;font-size:var(--t3);line-height:1.3;letter-spacing:-.025em}
.dist{margin-top:16px;display:flex;flex-direction:column;color:rgba(255,255,255,.88)}
.contacts .copy__acts{margin-top:28px}
.clist{border-top:1.5px solid rgba(255,255,255,.45);align-self:start}
.clist li{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:14px 0;border-bottom:1px solid rgba(255,255,255,.28)}
.clist__num{font-family:var(--display);font-weight:600;font-size:var(--t3);letter-spacing:-.01em}
.clist__acts{display:flex;flex-wrap:wrap;gap:8px}
.clist li.clist__phone{flex-direction:column;align-items:flex-start;gap:12px;padding:18px 0}
.chip{display:inline-flex;align-items:center;min-height:44px;padding:0 16px;border-radius:999px;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6);font-weight:600;font-size:var(--ts)}
@media (hover:hover){.chip:hover{background:#fff;color:var(--cobalt)}}
.clist li>span{color:rgba(255,255,255,.85);font-size:var(--ts)}
.clist__link{font-weight:600;font-size:var(--tb);overflow-wrap:anywhere}
@media (hover:hover){.clist__link:hover{text-decoration:underline;text-underline-offset:.2em}}
@media (max-width:899px){.contacts__grid{grid-template-columns:1fr}}
.ft{background:var(--ink);color:#fff;padding:clamp(56px,7vw,96px) 0 calc(28px + env(safe-area-inset-bottom,0px))}
.ft .wrap{container-type:inline-size}
.ft__top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px}
.ft__top p{color:var(--on-dark-2);font-size:var(--tb)}
.wordmark--ft{color:var(--apricot);margin-top:clamp(36px,6vw,80px);font-size:14.6cqi;margin-left:0}
.ft__bottom{margin-top:clamp(24px,3vw,40px);color:rgba(255,255,255,.66);font-size:var(--ts)}
@media (max-width:767px){.ft{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}}

/* Кнопка брони внизу на телефоне */
.dock{display:none}
@media (max-width:767px){
  .dock{display:block;position:fixed;z-index:40;left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));transform:translateY(160%);transition:transform .35s var(--ease)}
  .dock.is-on{transform:none}
  .dock .btn{width:100%;min-height:56px;box-shadow:0 10px 30px -8px rgba(31,43,179,.6)}
}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important}
}

/* Страница бронирования */
.page-book{background:var(--ground)}
.book{padding:calc(110px + env(safe-area-inset-top,0px)) 0 clamp(56px,7vw,112px);min-height:80vh}
.book__title{color:var(--ink);margin-bottom:clamp(20px,3vw,40px)}
.book__form{min-height:480px;border-radius:clamp(14px,1.4vw,22px);background:var(--paper);overflow:hidden}
