body{margin:0;background:#FCFAF8;color:#3E4D61;font-family:'Involve','Manrope',system-ui,-apple-system,sans-serif;font-weight:300;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:#3E4D61;text-decoration:none}
a:hover{color:#C9A36A}
::selection{background:#C9A36A;color:#0C0F13}
input::placeholder{color:rgba(245,246,247,.4)}
@keyframes heroIn{from{opacity:0;transform:translateY(44px)}to{opacity:1;transform:none}}
::placeholder{color:rgba(62,77,97,.45);opacity:1}
section ::placeholder{color:rgba(245,246,247,.45)}
@keyframes mFade{from{opacity:0}to{opacity:1}}
@keyframes mUp{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:none}}
@keyframes preImg{from{opacity:0;transform:translateY(60px) scale(.92)}to{opacity:1;transform:none}}
@keyframes drawRidge{from{stroke-dashoffset:1600}to{stroke-dashoffset:0}}
@keyframes slowZoom{from{transform:scale(1.14)}to{transform:scale(1)}}
@keyframes scrollCue{0%{top:-40%}70%{top:110%}100%{top:110%}}
.disp{font-weight:200}
.bleedl{margin-left:calc(50% - 50vw) !important;border-radius:0 6px 6px 0 !important}
.bleed{margin-left:calc(50% - 50vw) !important;margin-right:calc(50% - 50vw) !important;border-radius:0 !important}
.cols2p{columns:2;column-gap:72px}
@media (max-width:900px){.cols2p{columns:1}}
.res-media .res-hover{opacity:0;transition:opacity .5s ease}
.res-media:hover .res-hover{opacity:1}
.menu-list:has(a:hover) a:not(:hover){color:rgba(245,246,247,.28) !important}
@media (max-width:900px){.menu-panel{display:none !important}}
.mcard img,.mcard image-slot{transition:transform 1.2s cubic-bezier(.19,1,.22,1)}
.mcard:hover img,.mcard:hover image-slot{transform:scale(1.07)}
.mp-pl{transition:transform .35s ease,background .35s ease}
.mp-pl:hover{transform:translate(-50%,-50%) scale(1.12) !important;background:#FFFFFF !important}
.mp-pl:hover svg{stroke:#C9A36A}
.rl .rl-l{display:inline-block;overflow:hidden;height:1.25em;vertical-align:top}
.rl .rl-l > span{display:block;height:1.25em;line-height:1.25em;transition:transform .55s cubic-bezier(.77,0,.18,1);transition-delay:calc(var(--i)*20ms)}
.rl:hover .rl-l > span,.rl:focus-visible .rl-l > span{transform:translateY(-1.25em)}
.cur-dot,.cur-ring{position:fixed;left:0;top:0;border-radius:50%;pointer-events:none;z-index:300;will-change:transform}
.cur-dot{width:6px;height:6px;background:#C9A36A;margin:-3px 0 0 -3px}
.cur-ring{width:38px;height:38px;border:1px solid rgba(201,163,106,.55);margin:-19px 0 0 -19px;transition:width .35s ease,height .35s ease,margin .35s ease,border-color .35s ease,background .35s ease}
.cur-ring.on{width:64px;height:64px;margin:-32px 0 0 -32px;border-color:rgba(201,163,106,.9);background:rgba(201,163,106,.08)}
@media (pointer:coarse){.cur-dot,.cur-ring{display:none !important}}
.swp{position:relative;overflow:hidden;z-index:0;background:transparent !important}
.swp::after{content:'';position:absolute;inset:0;background:#C9A36A;z-index:-2;border-radius:inherit}
.swp::before{content:'';position:absolute;inset:0;background:#B8905A;transform:translateY(102%);transition:transform .5s cubic-bezier(.77,0,.18,1);z-index:-1;border-radius:inherit}
.swp:hover::before{transform:translateY(0)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media (max-width:1024px){
[data-r="head"]{grid-template-columns:1fr !important;gap:28px !important}
[data-r="cols4"]{grid-template-columns:repeat(2,1fr) !important}
[data-r="side"],[data-r="in"]{padding-left:36px !important;padding-right:36px !important}
}
@media (max-width:640px){
[data-r="side"]{padding-left:22px !important;padding-right:22px !important;padding-top:130px !important}
[data-r="in"]{padding-left:22px !important;padding-right:22px !important}
[data-r="cols2"],[data-r="cols3"],[data-r="cols4"]{grid-template-columns:1fr !important;column-gap:0 !important;row-gap:44px !important}
[data-r="stag"]{margin-top:0 !important}
[data-r="hdcta"]{display:none !important}
[data-r="form"]{grid-template-columns:1fr !important}
[data-r="hd"]{padding:12px 14px !important}
[data-r="menu"]{padding:0 22px !important}
}
@media (prefers-reduced-motion: no-preference){
  .whm .whm-route{stroke-dasharray:1;stroke-dashoffset:1}
  .whm .whm-f{opacity:0}
  .whm.whm-on .whm-route{animation:whmDraw 1.15s cubic-bezier(.4,0,.2,1) forwards}
  .whm.whm-on .whm-r2{animation-delay:.95s}
  .whm.whm-on .whm-r3{animation-delay:1.35s}
  .whm.whm-on .whm-f{animation:whmFade .7s ease forwards}
  .whm.whm-on .whm-f1{animation-delay:1s}
  .whm.whm-on .whm-f2{animation-delay:1.7s}
  .whm.whm-on .whm-f3{animation-delay:2.1s}
  .whm.whm-on .whm-ring{animation:whmPulse 3.6s ease-out 2.4s infinite}
}
.whm-ring{opacity:0}
@keyframes whmDraw{to{stroke-dashoffset:0}}
@keyframes whmFade{to{opacity:1}}
@keyframes whmPulse{0%{transform:scale(1);opacity:.55}100%{transform:scale(2.2);opacity:0}}
@media (max-width:1023px){
  .whm text{font-size:12px}
  .whm .whm-name{letter-spacing:1.4px}
}
@media (max-width:767px){
  .whm .whm-svc{display:none}
  .whm-mob{display:block !important}
  .whm .whm-title{font-size:16px;letter-spacing:3.5px}
  .whm.whm-on .whm-route{animation-duration:.8s}
  .whm.whm-on .whm-r2{animation-delay:.665s}
  .whm.whm-on .whm-r3{animation-delay:.945s}
  .whm.whm-on .whm-f1{animation-delay:.7s}
  .whm.whm-on .whm-f2{animation-delay:1.19s}
  .whm.whm-on .whm-f3{animation-delay:1.47s}
}

.wh-map{
  position:relative;
  margin-top:72px;
  border-radius:6px;
  overflow:hidden;
  border:1px solid rgba(62,77,97,.12);
  background:#141922;
  aspect-ratio:21/11;
  min-height:460px;
  isolation:isolate;
}
.wh-map__canvas,
.wh-map__canvas iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  display:block;
}
.wh-map__veil{
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  box-shadow:inset 0 0 0 1px rgba(201,163,106,.18);
}
.wh-map__plaque{
  display:none;
}
.wh-map__plaque img{
  display:block;
  height:42px;
  width:auto;
  filter:invert(1) brightness(1.05);
  flex:none;
}
.wh-map__plaque strong{
  display:block;
  font-weight:200;
  font-size:20px;
  letter-spacing:.04em;
  line-height:1.1;
}
.wh-map__plaque span{
  display:block;
  margin-top:5px;
  font-size:11px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(245,246,247,.62);
}
.wh-map__coords{color:#C9A36A !important;letter-spacing:.18em !important}
.wh-map__tools{
  position:absolute;
  top:18px;
  right:18px;
  z-index:3;
  display:flex;
  flex-direction:column;
  gap:6px;
}
.wh-map__tool{
  appearance:none;
  border:1px solid rgba(201,163,106,.45);
  background:rgba(12,15,19,.7);
  color:#F5F6F7;
  width:42px;
  height:42px;
  border-radius:4px;
  font:inherit;
  font-size:20px;
  font-weight:200;
  line-height:1;
  cursor:pointer;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:background .3s ease,border-color .3s ease,color .3s ease;
}
.wh-map__tool--wide{
  width:auto;
  padding:0 14px;
  font-size:10px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:500;
}
.wh-map__tool:hover{
  background:#C9A36A;
  border-color:#C9A36A;
  color:#0C0F13;
}
.wh-map__canvas{
  z-index:0;
}
.wh-map .leaflet-container{
  font-family:inherit;
  background:#141922;
  width:100%;
  height:100%;
}
.wh-map .leaflet-div-icon.wh-map__marker,
.wh-map .leaflet-marker-icon{
  background:none !important;
  border:none !important;
  overflow:visible !important;
  pointer-events:none;
}
.wh-map .leaflet-control-attribution{
  background:rgba(12,15,19,.5);
  color:rgba(245,246,247,.42);
  font-size:9px;
  letter-spacing:.03em;
  margin:0;
  padding:3px 8px;
}
.wh-map .leaflet-control-attribution a{color:rgba(201,163,106,.75)}
.wh-map__tools{z-index:5}
.wh-map__route{z-index:5}
.wh-map__route{
  position:absolute;
  right:18px;
  bottom:22px;
  z-index:3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:0 18px;
  border:1px solid #C9A36A;
  border-radius:4px;
  background:rgba(12,15,19,.7);
  color:#F5F6F7;
  font-size:10px;
  letter-spacing:.2em;
  text-transform:uppercase;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  transition:background .3s ease,color .3s ease;
}
.wh-map__route:hover{background:#C9A36A;color:#0C0F13}
.wh-pin{
  position:absolute;
  width:86px;
  transform:translate(-50%,-100%);
  z-index:2;
  pointer-events:auto;
  filter:drop-shadow(0 16px 28px rgba(12,15,19,.45));
}
.wh-pin__pulse,
.wh-pin__pulse2{
  position:absolute;
  left:50%;
  top:36px;
  width:18px;
  height:18px;
  margin:-9px 0 0 -9px;
  border-radius:50%;
  border:1px solid rgba(201,163,106,.85);
  animation:whPinPulse 2.8s ease-out infinite;
}
.wh-pin__pulse2{animation-delay:1.1s}
.wh-pin__mark{
  position:relative;
  z-index:2;
  width:80px;
  height:80px;
  margin:0 auto;
  border-radius:50%;
  overflow:hidden;
  background:radial-gradient(circle at 35% 30%,#F5E6C8,#C9A36A 58%,#9A7544);
  border:2px solid rgba(255,255,255,.45);
  display:flex;
  align-items:center;
  justify-content:center;
}
.wh-pin__mark img{
  display:block;
  width:50px !important;
  max-width:50px !important;
  height:auto !important;
}
.wh-pin__tip{
  width:16px;
  height:16px;
  margin:-9px auto 0;
  background:#C9A36A;
  transform:rotate(45deg);
  border-right:1px solid rgba(255,255,255,.18);
  border-bottom:1px solid rgba(255,255,255,.18);
}
.wh-pin__card{
  position:absolute;
  top:calc(100% + 10px);
  left:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  width:max-content;
  max-width:200px;
  padding:8px 14px 10px;
  background:rgba(12,15,19,.9);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(201,163,106,.5);
  border-radius:4px;
  color:#F5F6F7;
  box-shadow:0 14px 32px rgba(12,15,19,.4);
  pointer-events:auto;
  transform:translateX(-50%);
  text-align:center;
  z-index:3;
}
.wh-pin__card::after{
  content:'';
  position:absolute;
  left:50%;
  top:-5px;
  width:9px;
  height:9px;
  margin-left:-4.5px;
  background:rgba(12,15,19,.9);
  border-left:1px solid rgba(201,163,106,.5);
  border-top:1px solid rgba(201,163,106,.5);
  transform:rotate(45deg);
}
.wh-pin__card strong{
  display:block;
  font-weight:200;
  font-size:16px;
  letter-spacing:.04em;
  line-height:1.1;
}
.wh-pin__card span{
  display:block;
  margin-top:4px;
  font-size:10px;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:rgba(245,246,247,.62);
}
.wh-air{
  position:absolute;
  width:36px;
  height:36px;
  transform:translate(-50%,-50%);
  z-index:1;
  pointer-events:auto;
  color:#F5F6F7;
  text-decoration:none;
}
.wh-air--n{
  transform:translate(calc(-50% - 44px),-50%);
}
.wh-air__ico{
  display:flex;
  align-items:center;
  justify-content:center;
  width:36px;
  height:36px;
  border-radius:50%;
  background:rgba(12,15,19,.88);
  border:1px solid rgba(201,163,106,.55);
  color:#C9A36A;
  box-shadow:0 8px 18px rgba(12,15,19,.35);
}
.wh-air__ico svg{
  display:block;
  width:16px;
  height:16px;
}
.wh-air__tip{
  position:absolute;
  top:50%;
  left:calc(100% + 8px);
  transform:translateY(-50%);
  min-width:max-content;
  padding:8px 12px 9px;
  background:rgba(12,15,19,.92);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(201,163,106,.4);
  border-radius:4px;
  box-shadow:0 12px 28px rgba(12,15,19,.35);
  line-height:1.15;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .2s ease,visibility .2s ease;
}
.wh-air--n .wh-air__tip{
  top:auto;
  left:auto;
  right:calc(100% + 8px);
  bottom:4px;
  transform:none;
  text-align:right;
}
.wh-air__tip strong{
  display:block;
  font-weight:500;
  font-size:12px;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.wh-air__tip em{
  display:block;
  margin-top:3px;
  font-style:normal;
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:rgba(245,246,247,.58);
}
.wh-air.is-open .wh-air__tip{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.wh-air.is-open .wh-air__ico,
.wh-air:hover .wh-air__ico{
  background:#C9A36A;
  color:#0C0F13;
  border-color:#C9A36A;
}
@media (hover:hover) and (pointer:fine){
  .wh-air:hover .wh-air__tip,
  .wh-air:focus-visible .wh-air__tip{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
}
@keyframes whCardIn{
  from{opacity:0;transform:translateX(12px)}
  to{opacity:1;transform:none}
}
@keyframes whPinPulse{
  0%{transform:scale(1);opacity:.7}
  100%{transform:scale(5.4);opacity:0}
}
.wh-map .gm-style-cc,
.wh-map .gmnoprint a,
.wh-map .gm-style-cc a{opacity:.7}
@media (max-width:900px){
  .wh-map{
    aspect-ratio:3/4;
    min-height:340px;
    max-height:min(70svh,560px);
    margin-top:36px;
    margin-left:0;
    margin-right:0;
    width:100%;
    max-width:100%;
  }
  .wh-map__tools{top:10px;right:10px;gap:5px;align-items:flex-end}
  .wh-map__tool{width:38px;height:38px;font-size:18px}
  .wh-map__tool--wide{width:auto;height:32px;padding:0 10px;font-size:9px;letter-spacing:.12em}
  .wh-map__route{
    left:auto;
    right:10px;
    bottom:92px;
    min-height:36px;
    padding:0 14px;
    font-size:9px;
  }
  .wh-map__plaque{
    display:flex;
    align-items:center;
    gap:12px;
    position:absolute;
    left:10px;
    right:10px;
    bottom:10px;
    z-index:5;
    max-width:none;
    padding:12px 14px 12px 12px;
    background:rgba(12,15,19,.88);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
    border:1px solid rgba(201,163,106,.45);
    border-radius:6px;
    color:#F5F6F7;
  }
  .wh-pin{width:52px}
  .wh-pin__mark{width:48px;height:48px}
  .wh-pin__mark img{width:30px !important;max-width:30px !important}
  .wh-pin__tip{width:12px;height:12px;margin:-7px auto 0}
  .wh-pin__pulse,
  .wh-pin__pulse2{top:22px;width:12px;height:12px;margin:-6px 0 0 -6px}
  .wh-pin__card{display:none !important}
  .wh-air{width:32px;height:32px}
  .wh-air__ico{width:32px;height:32px}
  .wh-air__ico svg{width:14px;height:14px}
  .wh-air__tip strong{font-size:11px}
  .wh-air__tip em{font-size:9px}
  .wh-map .leaflet-control-attribution{display:none}
  #location [data-r="cols3"]{grid-template-columns:1fr !important;gap:28px !important;margin-top:44px !important}
  .wh-map__plaque > div{min-width:0}
  .wh-map__plaque span{white-space:normal;line-height:1.35}
}
@media (max-width:640px){
  .wh-map{
    aspect-ratio:4/5;
    min-height:320px;
    max-height:min(62svh,480px);
    margin-top:24px;
    border-radius:4px;
  }
  .wh-map__plaque{padding:10px 12px;gap:10px}
  .wh-map__plaque img{height:32px}
  .wh-map__plaque strong{font-size:17px}
  .wh-map__plaque span{font-size:10px;letter-spacing:.08em}
  .wh-map__route{bottom:88px}
}

/* Расположение: графическая карта по умолчанию, интерактивная — по кнопке */
.wh-loc{margin-top:72px}
.wh-loc .wh-map{margin-top:0;display:none}
.wh-loc.is-live .wh-map{display:block}
.wh-loc.is-live .wh-loc__art{display:none}
.wh-loc__art{display:block;border-radius:6px;overflow:hidden;border:1px solid rgba(62,77,97,.12);background:#fff;cursor:zoom-in}
.wh-loc__art img{display:block;width:100%;height:auto}
.wh-loc__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;margin-top:20px}
.wh-loc__btn{appearance:none;display:inline-flex;align-items:center;gap:12px;border:1px solid #C9A36A;background:transparent;color:#3E4D61;font:inherit;font-size:11px;font-weight:500;letter-spacing:.24em;text-transform:uppercase;padding:15px 26px;border-radius:999px;cursor:pointer;transition:background .25s,color .25s}
.wh-loc__btn::before{content:"";width:8px;height:8px;border-radius:50%;background:#C9A36A}
.wh-loc__btn:hover,.wh-loc__btn:focus-visible{background:#C9A36A;color:#0C0F13}
.wh-loc__btn:hover::before,.wh-loc__btn:focus-visible::before{background:#0C0F13}
.wh-loc__off{display:none}
.wh-loc.is-live .wh-loc__on{display:none}
.wh-loc.is-live .wh-loc__off{display:inline}
.wh-loc__link{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:rgba(62,77,97,.7);text-decoration:none;border-bottom:1px solid rgba(201,163,106,.5);padding-bottom:4px}
.wh-loc__link:hover{color:#C9A36A}
@media (max-width:900px){
  .wh-loc{margin-top:40px}
  .wh-loc__bar{margin-top:14px;gap:12px}
}
@media (max-width:640px){
  .wh-loc__btn{width:100%;justify-content:center;padding:14px 18px;letter-spacing:.18em}
}
