/* Таёжный — мобильная раскладка (макет 390). Включается классом html.is-m (см. <head>).
   Единица --u = 1/390 ширины экрана, на планшете не больше 1.5px — поэтому
   десктопные классы (.lbl, .h3, .slice, .wobble-btn…) внутри #m сами переходят в мобильный масштаб. */

#m{display:none}
html.is-m,html.is-m body{height:auto;overflow-x:hidden;overflow-y:auto}
html.is-m body{overflow:visible;cursor:auto;-webkit-tap-highlight-color:transparent}
html.is-m #pages,html.is-m #hdr,html.is-m #prog,html.is-m #cnt,html.is-m #quick,html.is-m #menu,html.is-m #cur,html.is-m #port,html.is-m #veil,html.is-m #ofollow{display:none!important}

html.is-m #m{display:block;position:relative;z-index:1;overflow-x:hidden;
  --u:min(calc(100vw / 390),1.5px);--ux:var(--u);--uy:var(--u);--pad:calc(22*var(--u))}
html.is-m #m button{-webkit-appearance:none;appearance:none;text-align:inherit}

/* прелоадер и модалки живут вне #m — даём им тот же масштаб */
html.is-m #pre,html.is-m .modal{--u:min(calc(100vw / 390),1.5px);--ux:var(--u);--uy:var(--u)}
html.is-m #pre .pc{width:calc(210*var(--u));height:calc(210*var(--u))}
html.is-m #pre img{width:calc(96*var(--u))}
html.is-m #pre .pn{font-size:calc(14*var(--u))}
html.is-m .modal .close{right:calc(10*var(--u));top:calc(10*var(--u));width:calc(48*var(--u));height:calc(48*var(--u));z-index:2}
html.is-m #book .box{width:calc(100vw - 32px);max-width:460px;padding:calc(34*var(--u)) calc(24*var(--u)) calc(30*var(--u))}
html.is-m #book .h3{font-size:calc(28*var(--u))}
html.is-m #book .chips{flex-wrap:wrap;gap:calc(8*var(--u))}
html.is-m #book .chips span{padding:calc(9*var(--u)) calc(14*var(--u));font-size:calc(10.5*var(--u))}
html.is-m #book .fld{font-size:calc(15*var(--u))}
html.is-m #lb .box img{max-width:100vw;max-height:78vh}
html.is-m #lb .lbnav{top:auto;bottom:calc(28*var(--u));transform:none;width:calc(52*var(--u));height:calc(52*var(--u))}
html.is-m #lb #lbPrev{left:calc(50% - 64*var(--u))!important}
html.is-m #lb #lbNext{right:calc(50% - 64*var(--u))!important}
html.is-m #vid .box{width:92vw!important}

/* ---------- общая типографика ---------- */
#m .lbl{font-size:calc(10.5*var(--u))}
#m .h3{font-size:calc(22*var(--u))}
#m .card{font-size:calc(17*var(--u))}
#m .small{font-size:calc(13.5*var(--u))}
#m .num{font-size:calc(34*var(--u))}
.mh1{font-family:var(--serif);font-weight:400;font-size:calc(46*var(--u));line-height:.98;letter-spacing:.04em;text-transform:uppercase;color:var(--cream);margin-top:calc(16*var(--u))}
.mh2{font-family:var(--serif);font-weight:400;font-size:calc(36*var(--u));line-height:1.02;letter-spacing:.05em;text-transform:uppercase;color:var(--cream);margin-top:calc(12*var(--u))}
.mit{font-family:var(--serif);font-style:italic;font-size:calc(38*var(--u));line-height:1.05;margin-top:calc(2*var(--u))}
.mbody{font-size:calc(15*var(--u));line-height:1.55}
.c{text-align:center}
.mhead{padding:0 var(--pad);position:relative;z-index:2}
.mhead.c{text-align:center}

/* ---------- кнопки-кольца и спилы в потоке ---------- */
#m .wobble-btn{position:relative;display:inline-block;vertical-align:middle;-webkit-tap-highlight-color:transparent}
#m .wobble-btn:active span{letter-spacing:.18em}
.mslw{position:relative;width:calc(var(--d)*var(--u));height:calc(var(--d)*var(--u));flex:none;transition:transform .2s linear}
.mcomp{position:relative;height:calc(360*var(--u));margin:calc(10*var(--u)) auto 0;width:calc(390*var(--u))}

/* экраны вне видимости стоят на паузе */
#m .ms.off *{animation-play-state:paused!important}

/* ---------- секции ---------- */
.ms{position:relative;padding:calc(92*var(--u)) 0;overflow:hidden}
.mbg{position:absolute;inset:-12% 0;overflow:hidden;will-change:transform}
.mph{position:absolute;inset:0;background-size:cover;background-position:center}
.mph.kb{animation:kb 22s ease-in-out infinite alternate}

/* шапка */
#mh{position:fixed;left:0;right:0;top:0;z-index:30;height:calc(64*var(--u));display:flex;align-items:center;gap:calc(10*var(--u));padding:0 calc(14*var(--u)) 0 var(--pad);
  transition:transform .6s var(--ease),background .5s,border-color .5s;border-bottom:1px solid transparent}
#mh.solid{background:rgba(12,11,10,.62);backdrop-filter:blur(16px) saturate(1.2);-webkit-backdrop-filter:blur(16px) saturate(1.2);border-color:rgba(255,255,255,.06)}
#mh.hide{transform:translateY(-100%)}
.mlogo{width:calc(112*var(--u));margin-right:auto}
.mlogo img{width:100%}
.mic{width:calc(44*var(--u));height:calc(44*var(--u));border-radius:calc(6*var(--u));display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.mic svg{width:calc(16*var(--u));height:calc(16*var(--u));fill:var(--milk)}
.mburg{width:calc(44*var(--u));height:calc(44*var(--u));border-radius:calc(6*var(--u));position:relative;background:rgba(255,255,255,.07)!important;border:1px solid rgba(255,255,255,.08)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.mburg i{position:absolute;left:30%;right:30%;height:1px;background:var(--milk);transition:transform .6s var(--ease),top .6s var(--ease)}
.mburg i:nth-child(1){top:42%}.mburg i:nth-child(2){top:58%}
body.mm-open .mburg i:nth-child(1){top:50%;transform:rotate(45deg)}
body.mm-open .mburg i:nth-child(2){top:50%;transform:rotate(-45deg)}
#mprog{position:fixed;left:0;right:0;top:0;height:2px;z-index:31;background:var(--amber);transform-origin:0 50%;transform:scaleX(0);opacity:.85}

/* 01 hero */
.ms-hero{height:100vh;height:100svh;min-height:calc(620*var(--u));padding:0;display:flex;flex-direction:column;justify-content:flex-end}
.mhero-in{position:relative;z-index:2;padding:0 var(--pad) calc(86*var(--u));text-align:center;will-change:transform,opacity}
.mhero-in .mbody{margin:calc(18*var(--u)) auto 0;max-width:calc(320*var(--u));opacity:.86}
.mbtns{display:flex;justify-content:center;margin-top:calc(14*var(--u));gap:calc(2*var(--u))}
.maddr{position:absolute;z-index:2;left:0;right:0;bottom:calc(28*var(--u));display:flex;align-items:center;justify-content:center;gap:calc(8*var(--u));letter-spacing:.14em;text-transform:none;opacity:.6}
.maddr svg{width:calc(12*var(--u));height:calc(12*var(--u));fill:currentColor;flex:none}

/* карточка программ */
.mpcard{position:relative;z-index:3;margin:calc(-8*var(--u)) var(--pad) 0;border-radius:calc(8*var(--u));background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);overflow:hidden}
.mpc-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.mpc-track::-webkit-scrollbar{display:none}
.mpc{flex:0 0 100%;scroll-snap-align:start;display:flex;gap:calc(16*var(--u));padding:calc(12*var(--u));align-items:center}
.mpc-ph{flex:none;width:calc(96*var(--u));height:calc(110*var(--u));border-radius:calc(6*var(--u));background-size:cover;background-position:center}
.mpc-t{font-family:var(--serif);font-size:calc(17*var(--u));letter-spacing:.08em;text-transform:uppercase;color:var(--cream);line-height:1.1}
.mpc-d{font-size:calc(12.5*var(--u));line-height:1.45;opacity:.62;margin-top:calc(8*var(--u))}
.mpc-bar{display:flex;align-items:center;justify-content:space-between;padding:0 calc(16*var(--u)) calc(14*var(--u)) calc(124*var(--u))}
.mpc-dots{display:flex;gap:calc(8*var(--u))}
.mpc-dots i{width:6px;height:6px;border-radius:50%;background:var(--cream);opacity:.35;transition:opacity .5s;cursor:pointer}
.mpc-dots i.on{opacity:1}
.mmore{display:flex;align-items:center;gap:calc(8*var(--u));font-size:calc(10*var(--u));letter-spacing:.14em;text-transform:uppercase;color:var(--cream)}
.mmore svg{width:calc(16*var(--u));height:calc(10*var(--u));stroke:currentColor;fill:none;stroke-width:1.2}

/* 02 about */
.mtags{display:flex;align-items:center;justify-content:center;gap:calc(14*var(--u));margin-top:calc(18*var(--u));padding:0 var(--pad);flex-wrap:wrap}
.mtags i{width:calc(24*var(--u));height:1px;background:rgba(248,240,234,.35)}
.mread{font-size:calc(17*var(--u));line-height:1.55;text-align:center;padding:0 var(--pad);margin:calc(26*var(--u)) auto calc(26*var(--u));max-width:calc(390*var(--u))}
.mread .rw{opacity:.2;transition:opacity .25s linear}

/* 03 бани */
.mcount{display:flex;align-items:baseline;justify-content:space-between;padding:0 var(--pad);margin-top:calc(18*var(--u))}
.mrail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;position:relative}
.mrail::-webkit-scrollbar{display:none}
.mbani{padding:calc(70*var(--u)) calc(50vw - 75*var(--u)) calc(10*var(--u));margin-top:calc(-20*var(--u))}
.mri{flex:0 0 calc(150*var(--u));min-width:0;scroll-snap-align:center;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center}
.mri .mslw{transform-origin:50% 60%}
.mri-m{margin-top:calc(44*var(--u));white-space:nowrap;width:calc(300*var(--u))}
.mri-m .h3{font-size:calc(26*var(--u))}
.mri-m .lbl{margin-top:calc(10*var(--u))}
.mri-m .lbl.cream{margin-top:calc(6*var(--u))}
.mri .bpick{position:absolute!important;right:calc(-62*var(--u));top:calc(132*var(--u));opacity:0;pointer-events:none;transition:opacity .5s}
.mri.on .bpick{opacity:1;pointer-events:auto}
.mdots{display:flex;justify-content:center;gap:calc(4*var(--u));margin-top:calc(26*var(--u));padding:0 var(--pad);position:relative}
.mdots:before{content:"";position:absolute;left:var(--pad);right:var(--pad);top:0;height:1px;background:linear-gradient(90deg,rgba(248,240,234,0),rgba(248,240,234,.35),rgba(248,240,234,0))}
.mdots span{flex:1;position:relative;height:calc(36*var(--u));cursor:pointer}
.mdots i{position:absolute;left:50%;top:0;width:5px;height:5px;margin:-2.5px 0 0 -2.5px;border-radius:50%;background:var(--milk);opacity:.4;transition:opacity .5s}
.mdots span:after{content:"";position:absolute;left:50%;top:0;width:16px;height:16px;margin:-8px 0 0 -8px;border-radius:50%;border:1px solid rgba(248,240,234,.8);transform:scale(0);transition:transform .7s var(--ease)}
.mdots b{position:absolute;left:50%;top:calc(14*var(--u));transform:translateX(-50%);white-space:nowrap;font-weight:400;font-size:calc(9*var(--u));opacity:.45;transition:opacity .5s}
.mdots span.on i,.mdots span.on b{opacity:1}
.mdots span.on:after{transform:scale(1)}

/* 04 видео */
.ms-video{height:calc(560*var(--u));padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer}
.ms-video .wobble-btn{z-index:2}
.mplay{position:absolute;left:47%;top:35%;width:calc(12*var(--u));height:calc(15*var(--u));fill:none;stroke:#FDF7EC}
.mvcap{position:absolute;z-index:2;left:var(--pad);right:var(--pad);bottom:calc(64*var(--u));display:flex;justify-content:space-between;gap:calc(12*var(--u))}

/* 05 программы */
.mpbg{position:absolute;inset:-60px;background-size:cover;background-position:center;filter:blur(22px) brightness(.42) saturate(.9);opacity:.6;transition:background-image .8s}
.mhint{padding:0 var(--pad);margin-top:calc(16*var(--u));position:relative}
.mheat{position:relative;margin-top:calc(26*var(--u))}
.mheat .glow{filter:blur(70px)}
.mheat-sl{position:relative;display:flex;justify-content:center;padding-top:calc(60*var(--u));height:calc(276*var(--u))}
.mheat-sl:after{content:"";position:absolute;left:50%;bottom:calc(-30*var(--u));width:1px;height:calc(44*var(--u));background:linear-gradient(180deg,rgba(253,247,236,0),rgba(253,247,236,.7))}
.mheat-ends{display:flex;justify-content:space-between;padding:0 var(--pad);font-size:calc(15*var(--u));opacity:.5;margin-top:calc(-20*var(--u));position:relative}
.mheat-row{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:calc(22*var(--u)) calc(50vw - 60*var(--u)) calc(6*var(--u));position:relative;
  background:linear-gradient(90deg,rgba(253,247,236,.06),rgba(253,247,236,.4) 30%,rgba(201,138,74,.85) 80%,rgba(201,138,74,.2)) local no-repeat 0 calc(22*var(--u))/100% 1.5px,
             repeating-linear-gradient(90deg,rgba(253,247,236,.3) 0 1px,transparent 1px calc(12*var(--u))) local no-repeat 0 calc(12*var(--u))/100% calc(10*var(--u))}
.mheat-row::-webkit-scrollbar{display:none}
.mpi{flex:0 0 calc(120*var(--u));scroll-snap-align:center;display:flex;flex-direction:column;align-items:center;gap:calc(8*var(--u));padding-top:0;color:inherit;text-align:center!important}
.mpi i{width:7px;height:7px;border-radius:50%;background:var(--cream);margin-top:-3.5px;transition:transform .5s var(--ease)}
.mpi .lbl{margin-top:calc(10*var(--u));font-size:calc(9.5*var(--u));white-space:nowrap;transition:color .4s}
.mpi em{font-family:var(--serif);font-style:italic;font-size:calc(15*var(--u));opacity:.65}
.mpi.on i{transform:scale(1.8)}
.mpi.on .lbl{color:var(--cream)}
.mpanel{position:relative;margin:calc(30*var(--u)) var(--pad) 0;padding:calc(26*var(--u)) calc(22*var(--u)) calc(24*var(--u));background:rgba(12,11,10,.55);border:1px solid rgba(255,255,255,.07);border-radius:calc(8*var(--u));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.mpanel>*{transition:opacity .5s var(--ease),transform .7s var(--ease)}
.mpanel.swap>*:not(.mpanel-btn){opacity:0;transform:translateY(8px)}
.mpanel-top{display:flex;justify-content:space-between;align-items:center;opacity:.9}
.mpanel-top .card{opacity:.6;font-size:calc(15*var(--u))!important}
#m .mpanel .h3{font-size:calc(26*var(--u));margin-top:calc(16*var(--u))}
.mprice{font-size:calc(26*var(--u));margin-top:calc(4*var(--u))}
.mpanel .small{margin-top:calc(14*var(--u));opacity:.72;max-width:calc(250*var(--u))}
.mpanel #mpTag{margin-top:calc(12*var(--u));max-width:calc(230*var(--u))}
.mpanel-btn{position:absolute;right:calc(4*var(--u));bottom:calc(4*var(--u))}
#m .dots5 i{width:calc(9*var(--u));height:calc(9*var(--u));margin-left:calc(6*var(--u))}

/* 06 дома */
.mhbg{position:absolute;inset:0}
.mhbg .mph{opacity:0;transition:opacity 1.2s var(--ease);height:62%}
.mhbg .mph.on{opacity:1}
.mthumbs{display:flex;gap:calc(14*var(--u));overflow-x:auto;scrollbar-width:none;padding:calc(46*var(--u)) var(--pad) calc(20*var(--u));position:relative;z-index:2}
.mthumbs::-webkit-scrollbar{display:none}
.mth{flex:none;width:calc(96*var(--u));display:flex;flex-direction:column;align-items:center;gap:calc(34*var(--u));opacity:.55;transition:opacity .5s}
.mth .mslw{transition:transform .8s var(--ease)}
.mth.on{opacity:1}
.mth.on .mslw{transform:scale(1.18)}
.mth .lbl{font-size:calc(9*var(--u));text-align:center;line-height:1.35}
.mth.on .lbl{color:var(--cream)}
.mhcard{position:relative;z-index:2;margin:calc(4*var(--u)) var(--pad) 0;background:rgba(12,11,10,.86);padding:calc(26*var(--u)) calc(22*var(--u)) calc(24*var(--u));border-radius:calc(4*var(--u))}
.mhtop{display:flex;align-items:center;justify-content:space-between;gap:calc(10*var(--u))}
#m .mhtop .h3{font-size:calc(24*var(--u))}
.mharr{display:flex;gap:calc(8*var(--u));flex:none}
.mca{width:calc(42*var(--u));height:calc(42*var(--u));border-radius:50%!important;border:1px solid rgba(248,240,234,.25)!important;display:flex;align-items:center;justify-content:center}
.mca svg{width:calc(14*var(--u));height:calc(9*var(--u));stroke:var(--milk);fill:none}
.mfade{transition:opacity .45s var(--ease),transform .6s var(--ease)}
.mfade.out{opacity:0;transform:translateY(8px)}
.mspecs{display:grid;grid-template-columns:1fr 1fr;gap:calc(14*var(--u)) calc(16*var(--u));margin-top:calc(20*var(--u))}
.mspecs .card{margin-top:calc(6*var(--u));font-size:calc(18*var(--u))!important}
.mhph{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-top:calc(22*var(--u));height:calc(190*var(--u))}
.mhph::-webkit-scrollbar{display:none}
.mhph div{flex:0 0 100%;scroll-snap-align:start;background-size:cover;background-position:center}
.mhdots{display:flex;justify-content:center;gap:calc(10*var(--u));margin-top:calc(10*var(--u))}
.mhdots i{width:6px;height:6px;border-radius:50%;background:var(--cream);opacity:.35;transition:opacity .5s}
.mhdots i.on{opacity:1}
#m .hrow{font-size:calc(14*var(--u));padding:calc(10*var(--u)) 0}
.mhprice{display:flex;align-items:center;justify-content:space-between;gap:calc(8*var(--u));margin-top:calc(18*var(--u))}
.mprice2{font-family:var(--serif);font-size:calc(26*var(--u));letter-spacing:.06em;text-transform:uppercase;color:var(--cream)}
.mhprice .lbl{max-width:calc(180*var(--u))}
.mhprice .wobble-btn{margin-right:calc(-14*var(--u))}
.mcount2{position:absolute;right:calc(22*var(--u));top:calc(-30*var(--u));opacity:.6;font-size:calc(15*var(--u))!important}

/* 07 галерея */
.mpile{margin:calc(30*var(--u)) 0 calc(30*var(--u));display:flex;flex-direction:column;gap:calc(2*var(--u))}
.mprow{overflow:hidden;padding:calc(6*var(--u)) 0}
.mtrack{display:flex;gap:calc(10*var(--u));width:max-content;animation:mmarq var(--dur) linear infinite}
.mprow.rev .mtrack{animation-direction:reverse}
@keyframes mmarq{to{transform:translateX(-50%)}}
.mlog{flex:none;padding:0;transition:transform .5s var(--ease)}
.mlog:active{transform:scale(1.1)}

/* 08 ресторан */
.mrest{height:calc(370*var(--u))}
.mdish{position:absolute;transform:translateX(-50%);white-space:nowrap;font-size:calc(14*var(--u))!important}
.ms-rest .mbody{padding:0 calc(34*var(--u));margin-top:calc(12*var(--u))}

/* 09 афиша */
.mfilt{display:flex;gap:calc(8*var(--u));overflow-x:auto;scrollbar-width:none;padding:0 var(--pad);margin-top:calc(26*var(--u));justify-content:center}
.mfilt::-webkit-scrollbar{display:none}
.mfilt span{flex:none;padding:calc(9*var(--u)) calc(14*var(--u));border:1px solid rgba(248,240,234,.22);border-radius:100px;cursor:pointer;transition:all .4s;opacity:.7}
.mfilt span.on{background:var(--cream);color:var(--ink);opacity:1}
.mev{padding:calc(24*var(--u)) calc(50vw - 150*var(--u)) 0;gap:calc(12*var(--u))}
.mevc{flex:0 0 calc(300*var(--u));scroll-snap-align:center;transition:transform .2s linear}
.mevph{position:relative;height:calc(200*var(--u));background-size:cover;background-position:center}
.mevph .tag{position:absolute;left:calc(10*var(--u));top:calc(10*var(--u));padding:calc(7*var(--u)) calc(9*var(--u));background:rgba(12,11,10,.6)}
.mevrow{display:flex;justify-content:space-between;align-items:baseline;gap:calc(10*var(--u));margin:calc(16*var(--u)) 0 calc(8*var(--u))}
#m .mevrow .h3{font-size:calc(19*var(--u))}
.mevrow .ital{font-size:calc(17*var(--u));white-space:nowrap;flex:none}
.mevprog{position:relative;height:1px;margin:calc(26*var(--u)) auto 0;width:calc(240*var(--u));background:rgba(248,240,234,.25)}
.mevprog i{position:absolute;left:0;top:-.5px;height:2px;background:var(--cream);transition:transform .8s var(--ease),width .5s}

/* 10 мероприятия */
.ms-events{min-height:calc(600*var(--u));display:flex;align-items:center;justify-content:center;text-align:center}
.mev-in{position:relative;z-index:2;padding:0 var(--pad)}
.mev-in .mh2{font-size:calc(38*var(--u));margin:calc(14*var(--u)) 0 calc(18*var(--u))}

/* 11 предложения */
.morows{margin-top:calc(30*var(--u));border-top:1px solid rgba(248,240,234,.16)}
.morow{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:calc(14*var(--u));width:100%;padding:calc(20*var(--u)) var(--pad);border-bottom:1px solid rgba(248,240,234,.16)!important;color:inherit}
.morow .mslw{margin:0 calc(4*var(--u))}
#m .morow .h3{font-size:calc(17*var(--u));line-height:1.15;color:var(--cream)}
.morow .small{margin-top:calc(6*var(--u));opacity:.55;font-size:calc(12.5*var(--u))!important;line-height:1.4}
.morow-b{align-self:start;color:var(--cream)}
#m .morow .card{font-size:calc(13*var(--u))}
.morow:active{background:rgba(253,247,236,.04)}

/* 12 подвал */
.ms-foot{background:var(--cedar);padding:calc(64*var(--u)) 0 calc(110*var(--u));text-align:center}
.mrings{position:absolute;left:50%;top:40%;width:260vw;height:260vw;transform:translate(-50%,-50%);pointer-events:none}
.mrings svg{width:100%;height:100%}
.mfsoc{position:relative;display:flex;justify-content:center;flex-wrap:wrap;gap:calc(12*var(--u)) calc(22*var(--u));padding:0 var(--pad)}
.mfph{position:relative;width:calc(240*var(--u));height:calc(300*var(--u));margin:calc(40*var(--u)) auto 0;overflow:hidden}
.mfword{position:relative;font-family:var(--serif);font-size:calc(52*var(--u));letter-spacing:.06em;text-transform:uppercase;line-height:1;margin-top:calc(-34*var(--u));z-index:2}
.mfcta{position:relative;display:flex;justify-content:center;align-items:center;gap:calc(18*var(--u));margin-top:calc(34*var(--u));font-family:var(--serif);font-size:calc(17*var(--u));letter-spacing:.06em;white-space:nowrap;text-transform:uppercase}
.mfcta i{width:1px;height:calc(30*var(--u));background:rgba(253,247,236,.5)}
.mfaddr{position:relative;font-size:calc(12.5*var(--u));letter-spacing:.04em;line-height:1.7;margin-top:calc(34*var(--u))}
.mflinks{position:relative;display:flex;flex-direction:column;gap:calc(14*var(--u));align-items:center;margin-top:calc(28*var(--u));opacity:.85}
.mflegal{position:relative;margin-top:calc(28*var(--u));opacity:.6;line-height:1.6}

/* нижняя панель действий */
#mcta{position:fixed;z-index:29;left:50%;bottom:calc(14*var(--u) + env(safe-area-inset-bottom));transform:translate(-50%,140%);display:flex;align-items:center;gap:calc(6*var(--u));padding:calc(6*var(--u));
  border-radius:calc(10*var(--u));background:rgba(21,19,15,.72);border:1px solid rgba(255,255,255,.08);backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);transition:transform .7s var(--ease)}
#mcta.on{transform:translate(-50%,0)}
#mcta .mic{background:rgba(255,255,255,.06);backdrop-filter:none}
.mcta-b{height:calc(44*var(--u));padding:0 calc(26*var(--u));display:flex;align-items:center;border-radius:calc(6*var(--u));background:var(--cream);color:var(--ink);font-size:calc(11*var(--u));letter-spacing:.14em;text-transform:uppercase}

/* меню */
#mm{position:fixed;inset:0;z-index:25;background:var(--night);visibility:hidden;clip-path:circle(0% at 90% 4%);overflow-y:auto}
.mmbg{position:absolute;inset:-60px;background-size:cover;background-position:center;opacity:.22;filter:blur(40px);transition:background-image .8s}
.mmsh{position:absolute;inset:0;background:linear-gradient(180deg,rgba(12,11,10,.4),rgba(12,11,10,.85))}
.mm-in{position:relative;min-height:100%;padding:calc(92*var(--u)) var(--pad) calc(30*var(--u));display:flex;flex-direction:column}
.mmi{display:flex;flex-direction:column}
.mmi a{display:grid;grid-template-columns:calc(34*var(--u)) 1fr;align-items:baseline;padding:calc(11*var(--u)) 0;border-bottom:1px solid rgba(248,240,234,.1)}
.mmi em{font-style:normal;font-size:calc(10*var(--u));letter-spacing:.12em;opacity:.45}
.mmi span{font-family:var(--serif);font-size:calc(28*var(--u));letter-spacing:.06em;text-transform:uppercase;color:var(--cream);line-height:1.05}
.mmi small{grid-column:2;font-size:calc(14*var(--u));opacity:.55;margin-top:calc(3*var(--u))}
.mmsub{display:flex;flex-wrap:wrap;gap:calc(10*var(--u)) calc(18*var(--u));margin-top:calc(22*var(--u))}
.mmfoot{display:flex;align-items:center;gap:calc(14*var(--u));margin-top:auto;padding-top:calc(24*var(--u))}
.mmtel{font-family:var(--serif);font-size:calc(20*var(--u));letter-spacing:.06em;color:var(--cream)}
.mmsoc{display:flex;flex-wrap:wrap;gap:calc(8*var(--u)) calc(14*var(--u));margin-top:calc(12*var(--u))}

/* планшет: шире полей, контент по центру */
@media (min-width:600px){
  html.is-m #m{--pad:max(calc(22*var(--u)),calc(50vw - 300px))}
  .mcomp{width:calc(390*var(--u))}
}
