/* linko-lab: первая волна улучшений (оффер, путь гостя, языки, заказ до официанта, отчёт, тарифы, подвал, отклик кнопок) */
.tnum{font-variant-numeric:tabular-nums}
.sm-only{display:none}
@media (max-width:600px){.lg-only{display:none}.sm-only{display:inline}}

/* отклик кнопок: подъём и тень только у мыши, нажатие у всех */
.btn{transition:background .3s var(--ease),transform .2s var(--ease),box-shadow .2s var(--ease),color .3s,border-color .3s}
.btn:hover{transform:none}
.btn .ar{width:18px;height:18px;transition:transform .2s var(--ease)}
.btn:active{transform:scale(.97);transition-duration:.1s}
@media (hover:hover) and (pointer:fine){
  .btn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(200,164,107,.25)}
  .btn.line:hover{box-shadow:0 8px 24px rgba(0,0,0,.35)}
  .btn:hover .ar{transform:translateX(3px)}
  .btn:active{transform:translateY(0) scale(.97)}
  .tile:hover,.pc:hover{transform:translateY(-3px);border-color:rgba(243,237,228,.22)}
}
.tile:hover{transform:none}
@media (hover:hover) and (pointer:fine){.tile:hover{transform:translateY(-3px)}}
:focus-visible{outline:2px solid var(--gold-l);outline-offset:3px}
.btn.sm{padding:12px 20px;font-size:14px}

/* бейдж «Пример» */
.ex{position:absolute;z-index:6;top:14px;left:50%;transform:translateX(-50%);font:500 10.5px/1 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:#120F0B;background:var(--gold-l);padding:6px 10px;border-radius:99px;white-space:nowrap;pointer-events:none}
.ex.st{position:static;transform:none;display:inline-block}

/* шапка на телефоне */
@media (max-width:600px){.top .w{min-height:64px}.top .btn{padding:11px 16px;font-size:14px}.top .btn .ic{width:16px;height:16px}}

/* первый экран: оффер */
.hero{padding-block:clamp(104px,12vw,150px) clamp(60px,7vw,100px)}
.hero-t{gap:22px}
.offer{display:flex;flex-wrap:wrap;align-items:stretch;gap:10px}
.offer>span{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:12px 16px;border-radius:16px;border:1px solid var(--line2);background:rgba(200,164,107,.07)}
.offer b{font:500 18px/1.15 var(--sans);color:var(--ink)}
.offer small{font-size:13px;color:var(--soft);line-height:1.3}
.offer .free b{color:var(--gold-l)}
.hero .scene .ex{top:-12px;left:auto;right:calc(6% + clamp(110px,11vw,140px));transform:translateX(50%)}
@media (max-width:600px){
  .hero{padding-top:88px}
  .hero h1{font-size:clamp(38px,11vw,46px)}
  .hero .lead{font-size:16px}
  .hero-t{gap:18px}
  .offer>span{flex:1 1 140px;padding:10px 12px}
  .offer b{font-size:16px}
  .hero .ctas .btn{flex:1 1 100%;justify-content:center}
  .perks{display:none}
}
@media (max-width:420px){.hero .scene .ex{right:100px}}

/* 3D-зал: короче, подпись не заходит под шапку */
.hall{height:320vh}
@media (max-width:760px){.hall{height:290vh}}
.hall-cap{bottom:clamp(72px,12vh,120px)}

/* путь гостя: слайды — телефон и панель шага закреплены, шаг меняется целиком */
.gp-track{position:relative;height:calc(100vh + 3 * 75vh)}
.gp-pin{position:sticky;top:72px;height:calc(100vh - 72px);display:flex;align-items:center}
.gp-g{width:100%;display:grid;grid-template-columns:auto minmax(0,460px);justify-content:center;gap:clamp(40px,7vw,110px);align-items:center}
.gp-stage{display:flex;justify-content:center}
.gp-an.an{width:min(300px,calc((100vh - 72px - 64px) * .4865));gap:0}
.gp-an .an-dev{filter:drop-shadow(0 40px 50px rgba(0,0,0,.6))}
.gp-an .an-cap{display:none}
.gp-an.an-chg .a-scr{animation:gpin .4s cubic-bezier(.2,.7,.2,1)}
@keyframes gpin{from{opacity:.25;transform:translateY(16px)}}
.gp-panel{display:flex;flex-direction:column;gap:22px;min-width:0}
.gp-tabs{position:relative;display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line)}
.gp-tabs button{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:10px 4px;border:0;background:none;cursor:pointer;
  font:500 14px/1 var(--sans);color:var(--soft);transition:color .3s}
.gp-tabs button span{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;border:1px solid var(--line2);font-size:11.5px;transition:background .3s,color .3s,border-color .3s}
.gp-tabs button[aria-selected="true"]{color:var(--ink)}
.gp-tabs button[aria-selected="true"] span{background:var(--gold);border-color:var(--gold);color:var(--on,#120F0B)}
.gp-bar{position:absolute;left:0;bottom:-1px;width:25%;height:2px;background:var(--gold);transform:translateX(calc(var(--k,0) * 100%));transition:transform .45s cubic-bezier(.65,0,.35,1)}
.gp-slides{display:grid}
.gp-sl{grid-area:1/1;display:flex;flex-direction:column;gap:12px;opacity:0;visibility:hidden;transform:translateY(14px);
  transition:opacity .35s cubic-bezier(.4,0,1,1),transform .35s cubic-bezier(.4,0,1,1),visibility 0s .35s}
.gp-sl.on{opacity:1;visibility:visible;transform:none;transition:opacity .5s cubic-bezier(.2,.7,.2,1) .12s,transform .6s cubic-bezier(.2,.7,.2,1) .12s,visibility 0s}
.gp-sl .st-n{font:500 clamp(46px,5vw,72px)/.9 var(--serif);color:transparent;-webkit-text-stroke:1px var(--line2)}
.gp-sl .k{font:500 12px/1 var(--sans);letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}
.gp-sl h3{font-size:clamp(24px,2.4vw,32px)}
.gp-sl p{color:var(--soft);max-width:44ch}
.gp-nav{display:flex;align-items:center;gap:14px}
.gp-nav button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;min-width:44px;padding:0 18px;border-radius:99px;border:1px solid var(--line2);
  background:none;color:var(--ink);font:500 14px/1 var(--sans);cursor:pointer;transition:border-color .3s,background .3s,transform .2s,opacity .3s}
.gp-nav .gp-prev{padding:0}
.gp-nav button:disabled{opacity:.35;cursor:default}
.gp-nav button:active{transform:scale(.96)}
.gp-nav .ic{width:18px;height:18px}
.gp-num{font-size:14px;color:var(--soft);font-variant-numeric:tabular-nums;margin-right:auto}
.gp-num b{color:var(--ink);font-weight:500}
@media (hover:hover) and (pointer:fine){.gp-nav button:not(:disabled):hover{border-color:var(--gold)}.gp-tabs button:hover{color:var(--ink)}}
@media (max-width:860px){
  .gp-track{height:calc(100svh + 3 * 70svh)}
  .gp-pin{top:64px;height:calc(100svh - 64px);align-items:flex-start;padding-top:10px}
  .gp-g{grid-template-columns:minmax(0,1fr);gap:12px;justify-items:center}
  .gp-an.an{width:min(210px,calc((100svh - 64px - 340px) * .4865))}
  .gp-panel{width:100%;gap:12px}
  .gp-tabs button{gap:6px;font-size:13px;min-height:42px;padding:8px 2px}
  .gp-tabs button span{width:20px;height:20px}
  .gp-sl{gap:6px}
  .gp-sl .st-n,.gp-sl .tags{display:none}
  .gp-sl h3{font-size:21px}
  .gp-sl p{font-size:15px;line-height:1.5}
  .gp-nav button{min-height:42px}
}
@media (max-width:860px) and (max-height:700px){.gp-sl .k{display:none}}
@media (prefers-reduced-motion:reduce){.gp-track{height:auto}.gp-pin{position:relative;top:0;height:auto;padding-block:10px 0}}
/* экран «принят» в телефоне: кнопки и смена статуса */
.an .a-ok .a-act{display:flex;flex-direction:column;gap:8px;width:100%;margin-top:22px}
.an .a-ok .a-act span{height:46px;border-radius:14px;border:1px solid var(--l);background:var(--p);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;color:var(--i);transition:background .3s,color .3s}
.an.is-called .a-ok .a-call{background:var(--a);color:var(--on);border-color:var(--a)}
.an.is-st2 .a-stp span:nth-child(2){background:var(--as);color:var(--a);border-color:var(--a)}
.an .a-otoast{position:absolute;left:50%;bottom:46px;transform:translate(-50%,12px);opacity:0;background:rgba(20,20,20,.9);color:#fff;font-size:13px;padding:10px 16px;border-radius:12px;white-space:nowrap;transition:opacity .3s,transform .35s}
.an.is-called .a-otoast{opacity:1;transform:translate(-50%,0)}
.an .a-cam-bg{background:radial-gradient(80% 60% at 50% 40%,#5a3d22,#1d140c 70%)}
.an .a-it.a-np .a-r-t b{font-size:15px}

/* меню на 5 языках */
.lm-g{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:center}
.lm{position:relative;max-width:460px;width:100%;justify-self:center;display:flex;flex-direction:column;gap:16px}
.lm-tabs{position:relative;display:flex;gap:2px;padding:4px;border-radius:99px;background:var(--surf);border:1px solid var(--line);align-self:center}
.lm-tabs button{position:relative;z-index:1;border:0;background:none;color:var(--soft);font:500 14px/1 var(--sans);padding:11px 14px;border-radius:99px;cursor:pointer;min-height:40px;transition:color .3s;
  font-family:var(--sans),"PingFang SC","Noto Sans SC","Apple SD Gothic Neo","Noto Sans KR",sans-serif}
.lm-tabs button[aria-selected="true"]{color:#120F0B}
.lm-pill{position:absolute;z-index:0;top:4px;bottom:4px;left:0;width:40px;border-radius:99px;background:var(--gold);transition:transform .3s cubic-bezier(.3,1.25,.4,1),width .3s cubic-bezier(.3,1.25,.4,1)}
.lm-card{position:relative;border-radius:26px;background:linear-gradient(170deg,var(--surf2),var(--surf));border:1px solid var(--line);padding:22px 22px 10px;
  font-family:var(--sans),"PingFang SC","Noto Sans SC","Apple SD Gothic Neo","Noto Sans KR",sans-serif}
.lm-card .ex{left:auto;right:18px;top:18px;transform:none}
.lm-h{font:500 13px/1 var(--sans);letter-spacing:.28em;text-transform:uppercase;color:var(--gold);height:16px;overflow:hidden;margin-bottom:8px;font-family:inherit}
.lm-r{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:14px;align-items:center;padding:14px 0;border-top:1px solid var(--line)}
.lm-r:first-of-type{border-top:0}
.lm-r img{width:56px;height:56px;border-radius:14px;object-fit:cover;background:var(--surf2)}
.lm-t{display:flex;flex-direction:column;gap:4px;min-width:0}
.lm-x{display:block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.lm-x>span{display:inline-block;transition:transform .16s cubic-bezier(.4,0,1,1),opacity .16s}
.lm-x.out>span{transform:translateY(-110%);opacity:0}
.lm-x.pre>span{transform:translateY(110%);opacity:0;transition:none}
.lm-x.inn>span{transition:transform .16s cubic-bezier(.2,.7,.2,1),opacity .16s}
.lm-n{font-size:16px;font-weight:500;color:var(--ink);height:22px;line-height:22px}
.lm-d{font-size:13px;color:var(--soft);height:18px;line-height:18px}
.lm-p{font-size:15px;font-weight:500;color:var(--gold-l);white-space:nowrap}
.lm-f{font-size:13px;color:var(--faint);text-align:center}
@media (max-width:860px){.lm-g{grid-template-columns:minmax(0,1fr)}}
@media (max-width:420px){.lm-tabs button{padding:10px 10px;font-size:13.5px}.lm-card{padding:18px 16px 6px}.lm-r{grid-template-columns:48px minmax(0,1fr) auto;gap:12px}.lm-r img{width:48px;height:48px}}

/* заказ до Telegram официанта + переход-заливка */
.route{position:relative;height:250vh}
.route-pin{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:flex;align-items:center}
.route-w{width:100%;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(28px,5vw,72px);align-items:center;padding-top:60px}
.rt{position:relative;display:grid;grid-template-columns:1.1fr .7fr 1.1fr;gap:clamp(28px,4vw,56px);align-items:center}
.rt-svg{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:0}
.rt-base{fill:none;stroke:var(--line);stroke-width:1.5;stroke-dasharray:3 6}
.rt-line{fill:none;stroke:var(--gold);stroke-width:1.5}
.rt-dot{fill:var(--gold-l)}
.rt-n{position:relative;z-index:1;border-radius:22px;background:var(--surf);border:1px solid var(--line);padding:16px;display:flex;flex-direction:column;gap:8px;transition:opacity .4s var(--ease),transform .4s var(--ease)}
.rt-n .lb{font:500 11px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--soft)}
.rt-g .row{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:var(--soft)}
.rt-g .row b{font-weight:500;color:var(--ink)}
.rt-btn{display:flex;align-items:center;justify-content:center;height:44px;border-radius:14px;background:var(--gold);color:#120F0B;font-weight:500;font-size:14.5px;margin-top:4px}
.rt-st{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--soft);height:20px}
.rt-st i{width:8px;height:8px;border-radius:50%;background:var(--faint);transition:background .3s}
.rt.done .rt-st i{background:#6BC88A}
.rt.done .rt-st{color:var(--ink)}
.rt-st .rt-s-b{display:none}.rt.done .rt-st .rt-s-a{display:none}.rt.done .rt-st .rt-s-b{display:inline}
.rt-l{align-items:center;text-align:center;border-radius:50%;aspect-ratio:1;justify-content:center;padding:10px;background:radial-gradient(circle at 30% 25%,rgba(200,164,107,.22),var(--surf) 70%);border-color:var(--line2)}
.rt-l svg{width:40px;height:25px;fill:none;stroke:var(--gold);stroke-width:1.6}
.rt-l b{font:500 12px/1 var(--sans);letter-spacing:.32em}
.rt-l small{font-size:11.5px;color:var(--soft);line-height:1.3}
.rt-w{padding:0;overflow:hidden;background:#17201A}
.rt-w .hd{display:flex;align-items:center;gap:10px;padding:12px 14px;background:rgba(255,255,255,.04);border-bottom:1px solid var(--line)}
.rt-w .av{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#120F0B;font-weight:600;font-size:13px;font-style:normal}
.rt-w .hd b{display:block;font-size:13.5px;font-weight:500}.rt-w .hd small{font-size:11.5px;color:var(--soft)}
.rt-w .bd{padding:14px;min-height:118px}
.rt-msg{background:#22302A;border-radius:14px 14px 14px 4px;padding:10px 12px;font-size:13.5px;line-height:1.45;transition:opacity .3s var(--ease),transform .3s var(--ease)}
.rt-msg b{font-weight:500}
.rt-acc{margin-top:8px;display:inline-flex;padding:7px 12px;border-radius:10px;background:rgba(107,200,138,.16);color:#9FE0B4;font-size:12.5px;font-weight:500;transition:background .3s}
.rt.done .rt-acc{background:#6BC88A;color:#0E1A12}
/* до запуска (класс ставит JS): узлы и сообщение спрятаны, без JS всё видно */
.rt.pre .rt-n{opacity:0;transform:translateY(14px)}
.rt.pre .rt-msg{opacity:0;transform:translateY(12px)}
.rt.pre .rt-line{stroke-dashoffset:var(--L,1000)}
.rt .rt-n.on{opacity:1;transform:none}
.rt .rt-msg.on{opacity:1;transform:none}
.rt-note{font-size:13px;color:var(--faint)}
.fill{position:absolute;inset:0;z-index:5;pointer-events:none;background:var(--gold);clip-path:circle(0px at 50% 50%);will-change:clip-path}
@media (max-width:900px){
  .route{height:240vh}
  .route-w{grid-template-columns:minmax(0,1fr);gap:18px;padding-top:56px}
  .route .head{margin-bottom:0;gap:10px}
  .route .head h2{font-size:clamp(28px,8vw,40px)}
  .route .lead{font-size:15px}
  .rt{grid-template-columns:minmax(0,1fr);gap:22px;max-width:360px;width:100%;justify-self:center}
  .rt-n{padding:12px 14px;gap:6px}
  .rt-g .row:nth-of-type(n+3){display:none}
  .rt-l{aspect-ratio:auto;border-radius:18px;flex-direction:row;gap:12px;padding:10px 14px;justify-content:flex-start;text-align:left}
  .rt-l svg{width:30px;height:19px}
  .rt-w .bd{min-height:96px;padding:10px 12px}
  .rt-w .hd{padding:9px 12px}
  .rt-note{display:none}
}
@media (max-height:700px) and (max-width:900px){.route .lead{display:none}}

/* отчёт по понедельникам */
.rep{background:var(--em);position:relative}
.rep-g{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,6vw,90px);align-items:center}
.rep-c{position:relative;border-radius:26px;padding:24px;background:rgba(10,9,8,.55);border:1px solid rgba(243,237,228,.12);display:flex;flex-direction:column;gap:18px}
.rep-h{display:flex;align-items:center;gap:12px}
.rep-h i{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#120F0B;font:600 13px/1 var(--sans);font-style:normal}
.rep-h b{display:block;font-weight:500;font-size:15px}.rep-h span{font-size:12.5px;color:var(--soft)}
.rep-h .ex{position:static;transform:none;margin-left:auto}
.rep-k{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.rep-k div{padding:14px 16px;border-radius:16px;background:rgba(243,237,228,.04);border:1px solid rgba(243,237,228,.08);display:flex;flex-direction:column;gap:4px}
.rep-k b{font:500 clamp(26px,3vw,36px)/1.05 var(--sans);font-variant-numeric:tabular-nums;color:var(--gold-l);white-space:nowrap}
.rep-k span{font-size:13px;color:var(--soft)}
.rep-b{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;align-items:end;height:110px}
.rep-b i{display:block;height:calc(var(--h)*100%);border-radius:6px 6px 2px 2px;background:linear-gradient(180deg,var(--gold-l),rgba(200,164,107,.3));transform-origin:bottom;transition:transform .9s cubic-bezier(.16,1,.3,1)}
.rep-b i.mx{background:linear-gradient(180deg,#fff3d6,var(--gold))}
html.js .rep-c:not(.in) .rep-b i{transform:scaleY(.04)}
.rep-c.in .rep-b i:nth-child(2){transition-delay:.06s}.rep-c.in .rep-b i:nth-child(3){transition-delay:.12s}.rep-c.in .rep-b i:nth-child(4){transition-delay:.18s}
.rep-c.in .rep-b i:nth-child(5){transition-delay:.24s}.rep-c.in .rep-b i:nth-child(6){transition-delay:.3s}.rep-c.in .rep-b i:nth-child(7){transition-delay:.36s}
.rep-d{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;font-size:12px;color:var(--soft);text-align:center;margin-top:-10px}
.rep-best{font-size:14px;color:var(--soft)}.rep-best b{color:var(--ink);font-weight:500}
@media (max-width:860px){.rep-g{grid-template-columns:minmax(0,1fr)}.rep-c{padding:18px}}

/* тарифы строками */
.tar{display:flex;flex-direction:column;border-top:1px solid var(--line);margin-bottom:clamp(56px,7vw,96px)}
.tr{border-bottom:1px solid var(--line)}
.tr summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:minmax(0,1fr) 220px 150px;gap:24px;align-items:center;padding:24px 4px}
.tr summary::-webkit-details-marker{display:none}
.tr-n{display:flex;flex-direction:column;gap:6px}
.tr-n b{font:500 clamp(20px,1.9vw,25px)/1.2 var(--serif)}
.tr-n small{font-size:14.5px;color:var(--soft)}
.tr-n .best{align-self:flex-start;font:500 11px/1 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:#120F0B;background:var(--gold);padding:6px 10px;border-radius:99px}
.tr-p{display:flex;flex-direction:column;gap:4px;text-align:right}
.tr-p b{font:500 clamp(22px,2vw,28px)/1 var(--sans);font-variant-numeric:tabular-nums;color:var(--gold-l);white-space:nowrap}
.tr-p small{font-size:13.5px;color:var(--soft)}
.tr-x{justify-self:end;display:inline-flex;align-items:center;gap:10px;font-size:14px;color:var(--ink);padding:10px 16px;border-radius:99px;border:1px solid var(--line2);white-space:nowrap;transition:background .3s,border-color .3s}
.tr-x::after{content:"+";font-size:18px;line-height:1;color:var(--gold);transition:transform .3s var(--ease)}
.tr[open] .tr-x::after{transform:rotate(45deg)}
@media (hover:hover){.tr summary:hover .tr-x{border-color:var(--gold)}}
.tr.hot{background:linear-gradient(90deg,rgba(200,164,107,.08),transparent 70%)}
.tr-b{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px 40px;align-items:end;padding:0 4px 26px}
.tr-l{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 28px}
.tr-l li{position:relative;padding-left:24px;font-size:15px;color:var(--soft)}
.tr-l li::before{content:"";position:absolute;left:2px;top:.55em;width:10px;height:6px;border-left:1.5px solid var(--gold);border-bottom:1.5px solid var(--gold);transform:rotate(-45deg)}
.tar-f{font-size:14px;color:var(--soft);margin-top:18px}
.tar-f b{color:var(--gold-l);font-weight:500}
.calc-h{margin:0 0 22px;font-size:clamp(24px,2.6vw,34px)}
@media (max-width:860px){
  .tr summary{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"n n" "p x";gap:14px 16px;padding:20px 2px}
  .tr-n{grid-area:n}.tr-p{grid-area:p;text-align:left}.tr-x{grid-area:x;align-self:end}
  .tr-b{grid-template-columns:minmax(0,1fr)}
  .tr-l{grid-template-columns:minmax(0,1fr)}
  .tr-b .btn{justify-content:center}
}

/* цены в плитках сервисов */
.tile .pz{margin-top:2px;font-size:14px;color:var(--gold-l);font-variant-numeric:tabular-nums}

/* заявка: вторая кнопка — Telegram с черновиком */
.f-acts{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.f-note{font-size:13px;color:var(--faint);max-width:52ch}

/* подвал */
.foot{padding-block:clamp(56px,7vw,90px) calc(40px + env(safe-area-inset-bottom,0px))}
.ft{display:grid;grid-template-columns:minmax(0,1.2fr) repeat(2,minmax(0,1fr));gap:32px 48px}
.ft-b{display:flex;flex-direction:column;gap:14px}
.ft-b p{color:var(--soft);font-size:14.5px;max-width:36ch}
.ft h4{margin:0 0 14px;font:500 12px/1 var(--sans);letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.ft ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.ft a{text-decoration:none;color:var(--ink);font-size:15px}
.ft a:hover{color:var(--gold-l)}
.ft-c{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;border-top:1px solid var(--line);font-size:13px;color:var(--faint)}
@media (max-width:760px){.ft{grid-template-columns:1fr 1fr}.ft-b{grid-column:1/-1}.foot{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}}

/* меньше движения: статичные кадры */
@media (prefers-reduced-motion:reduce){
  .route{height:auto}.route-pin{position:relative;height:auto;padding-block:110px 90px}.fill{display:none}
  .rep-b i{transform:none!important}
}

/* без горизонтальной прокрутки на телефоне */
.works,.rep,.hero,#langs{overflow-x:clip}
.rep-h{flex-wrap:wrap}
@media (max-width:600px){.rep-h .ex{margin-left:52px}}
.fill2{background:var(--em);z-index:6}
@media (min-width:901px){.route-w{grid-template-columns:minmax(0,.62fr) minmax(0,1.38fr)}.rt{grid-template-columns:1.15fr .6fr 1.15fr}}
.lm-h{padding-right:96px;white-space:nowrap;text-overflow:ellipsis}
.rep{padding-top:clamp(48px,6vw,90px)}
@media (max-width:900px){.route{height:215vh}.rt{gap:16px}.rt-w .bd{min-height:0}.rt-acc{margin-top:6px}}
.rt-dot{opacity:0}
.foot .ft{display:grid;align-items:start;justify-content:stretch}
.rep-h .ex{color:#120F0B;font-size:10.5px}
