:root{
  --paper:#f3f0e9;
  --paper2:#ebe6db;
  --card:#fbfaf6;
  --ink:#1c1d1a;
  --ink2:#45463f;
  --mute:#7f7c72;
  --line:#d9d3c6;
  --deep:#1f2924;
  --deep-ink:#ece7dc;
  --deep-mute:#a3a89c;
  --bubble:#e3eedc;
  --wa:#25d366;
  --wa-h:#1fb457;
  --err:#9b3b28;
  --hh:60px;
  --serif:"Cormorant Garamond", "Times New Roman", serif;
  --sans:"Manrope", system-ui, -apple-system, "Segoe UI", sans-serif;
  --ease:cubic-bezier(.22,1,.36,1);
  --wrap:1240px;
  --gut:16px;
}
@media (min-width:768px){ :root{ --gut:32px; --hh:72px } }
@media (min-width:1280px){ :root{ --gut:48px } }

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{
  margin:0;background:var(--paper);color:var(--ink);
  font:400 16px/1.55 var(--sans);
  overflow-x:clip;overflow-anchor:none;
  -webkit-font-smoothing:antialiased;
}
img{display:block;max-width:100%;height:auto;-webkit-user-drag:none;user-select:none}
a{color:inherit}
button{font:inherit;color:inherit}
h1,h2,h3{margin:0;font-weight:500}
p{margin:0}
*{scrollbar-width:none}
*::-webkit-scrollbar{width:0;height:0}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px;border-radius:4px}

/* ---------- появление ---------- */
.js .rv{opacity:0;transform:translate3d(0,18px,0);transition:opacity .7s var(--ease),transform .9s var(--ease);transition-delay:var(--d,0s)}
.js .rv.in{opacity:1;transform:none}

/* ---------- кнопки ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:0 22px;border-radius:999px;border:0;
  font:600 15px/1 var(--sans);text-decoration:none;cursor:pointer;
  transition:transform .25s var(--ease),opacity .25s;
  -webkit-tap-highlight-color:transparent;
}
.btn:active{transform:scale(.98)}
.btn svg{width:20px;height:20px;flex:none}
.btn--ink{background:var(--ink);color:#f6f3ec}
.btn--wa{background:var(--wa);color:#fff;position:relative;overflow:hidden;isolation:isolate}
.btn--wa::after{content:"";position:absolute;inset:0;background:var(--wa-h);opacity:0;transition:opacity .25s;z-index:-1}
.btn--wa:hover::after{opacity:1}
.btn--ink:hover{opacity:.88}
.btn--full{width:100%;min-height:56px;font-size:16px}

/* ---------- шапка ---------- */
.hdr{position:fixed;inset:0 0 auto;z-index:50;height:var(--hh);background:var(--paper)}
.hdr::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--line);opacity:0;transition:opacity .3s}
.hdr.is-scrolled::after{opacity:1}
.hdr__in{max-width:var(--wrap);height:100%;margin:0 auto;padding:0 var(--gut);display:flex;align-items:center;gap:24px}
.logo{display:flex;align-items:baseline;gap:10px;text-decoration:none}
.logo__name{font:600 22px/1 var(--serif);letter-spacing:.01em}
.logo__city{font:500 12px/1 var(--sans);color:var(--mute);letter-spacing:.04em}
.nav{display:none;margin-left:auto;gap:28px}
.nav a{font-size:14px;font-weight:500;text-decoration:none;color:var(--ink2);position:relative}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}
.nav a:hover::after{transform:scaleX(1)}
.hdr__cta{margin-left:auto;font:600 14px/1 var(--sans);text-decoration:none;padding:11px 16px;border:1px solid var(--ink);border-radius:999px;transition:opacity .2s}
.hdr__cta:hover{opacity:.7}
@media (min-width:900px){ .nav{display:flex} .hdr__cta{margin-left:8px} }

/* ---------- первый экран ---------- */
.hero{
  min-height:100vh;min-height:100svh;
  padding:calc(var(--hh) + 14px) var(--gut) 18px;
  display:flex;flex-direction:column;gap:14px;
  max-width:var(--wrap);margin:0 auto;
}
.hero__text,.hero__main{display:contents}
.hero__svc{display:none}
.only-wide{display:none}
@media (min-width:600px){ .only-wide{display:inline} }
.hero__title{order:1;font:500 clamp(36px,10.4vw,44px)/1.02 var(--serif);letter-spacing:-.01em;text-wrap:balance}
.hero__title em{font-style:italic;color:var(--ink2)}
.hero__lead{order:2;font-size:15px;line-height:1.5;color:var(--ink2);max-width:36em}
.hero__media{order:3;flex:1 1 auto;min-height:220px;margin:0;position:relative;border-radius:6px;overflow:hidden;background:var(--paper2)}
.hero__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%}
.hero__btns{order:4;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hero__btns .btn{padding:0 12px;font-size:14px;min-height:50px}
.hero__facts{order:5;display:flex;flex-wrap:wrap;gap:4px 14px;font-size:12.5px;color:var(--mute)}

.hero__bubble{
  position:absolute;left:12px;bottom:12px;max-width:min(78%,300px);
  background:var(--card);border-radius:14px 14px 14px 4px;padding:10px 12px 8px;
  box-shadow:0 10px 30px rgba(20,22,18,.18);
  font-size:13.5px;line-height:1.4;
  opacity:0;transform:translate3d(0,14px,0) scale(.97);transform-origin:0 100%;
  transition:opacity .6s var(--ease) .9s,transform .8s var(--ease) .9s;
}
.hero.is-ready .hero__bubble{opacity:1;transform:none}
.hero__bubble-time{display:block;text-align:right;font-size:11px;color:var(--mute);margin-top:2px}

@media (min-width:600px) and (max-width:1023px){
  .hero__btns{grid-template-columns:auto auto;justify-content:start}
  .hero__btns .btn{padding:0 24px}
}
@media (min-width:1024px){
  .hero{
    display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:56px;align-items:stretch;
    height:100vh;height:100svh;min-height:600px;max-height:980px;
    padding:calc(var(--hh) + 28px) var(--gut) 40px;
  }
  .hero__text{display:flex;flex-direction:column;justify-content:space-between;gap:32px;padding-bottom:8px}
  .hero__main{display:flex;flex-direction:column;gap:26px}
  .hero__svc{display:block;padding-top:4px}
  .hero__svc-t{font-size:12.5px;color:var(--mute);letter-spacing:.04em;margin-bottom:10px}
  .hero__svc ul{list-style:none;margin:0;padding:0;max-width:400px;border-top:1px solid var(--line)}
  .hero__svc li{border-bottom:1px solid var(--line)}
  .hero__svc a{display:flex;justify-content:space-between;align-items:center;padding:9px 0;text-decoration:none;font:500 21px/1.2 var(--serif);color:var(--ink2);transition:color .25s}
  .hero__svc a::after{content:"→";font:400 14px/1 var(--sans);color:var(--mute);transform:translate3d(-6px,0,0);opacity:0;transition:transform .35s var(--ease),opacity .3s}
  .hero__svc a:hover{color:var(--ink)}
  .hero__svc a:hover::after{transform:none;opacity:1}
  .hero__title{font-size:clamp(48px,4.4vw,64px);line-height:1}
  .hero__lead{font-size:17px;max-width:30em}
  .hero__btns{display:flex;gap:10px}
  .hero__btns .btn{padding:0 26px;font-size:15px;min-height:54px}
  .hero__facts{font-size:13.5px;margin-top:6px}
  .hero__media{min-height:0;height:100%}
  .hero__bubble{left:20px;bottom:20px;font-size:14.5px;padding:12px 14px 9px}
}

/* ---------- общие заголовки секций ---------- */
section{scroll-margin-top:var(--hh)}
.sec-head{display:grid;gap:10px;margin-bottom:28px}
.h2{font:500 clamp(38px,9vw,64px)/1 var(--serif);letter-spacing:-.01em}
.sec-head__note{font-size:14.5px;color:var(--mute);max-width:34em}
.sec-head__note a{color:var(--ink2)}
@media (min-width:1024px){
  .sec-head{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:end;margin-bottom:48px}
  .sec-head__note{justify-self:end;text-align:right;font-size:15px}
}

/* ---------- запись ---------- */
.book,.prices,.works{max-width:var(--wrap);margin:0 auto;padding:72px var(--gut) 24px}
@media (min-width:1024px){ .book,.prices,.works{padding-top:120px} }
.book__grid{display:grid;gap:8px}
@media (min-width:1024px){
  .book__grid{grid-template-columns:minmax(0,1fr) 400px;gap:64px;align-items:start}
  .sum{position:sticky;top:calc(var(--hh) + 24px)}
}

.steps{display:grid}
.step{border:0;margin:0;padding:26px 0 30px;border-top:1px solid var(--line);min-width:0}
.step__h{float:left;width:100%;padding:0;margin:0 0 18px;display:flex;align-items:baseline;gap:14px;font:500 27px/1.1 var(--serif)}
.step__h + *{clear:both}
.step__n{font:600 12px/1 var(--sans);color:var(--mute);letter-spacing:.08em;font-variant-numeric:tabular-nums;transform:translateY(-4px)}
.step__sub{clear:both;font-size:13px;color:var(--mute);margin:4px 0 10px}
.step__sub:empty{display:none}
@media (min-width:768px){ .step__h{font-size:32px} .step{padding:34px 0 38px} }

/* услуги */
.svc{display:grid;border-top:1px solid var(--line)}
.opt{
  display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:4px 14px;align-items:start;
  text-align:left;background:none;border:0;border-bottom:1px solid var(--line);
  padding:16px 4px;cursor:pointer;position:relative;-webkit-tap-highlight-color:transparent;
}
.opt::before{content:"";position:absolute;inset:0 -8px;background:var(--card);border-radius:8px;opacity:0;transition:opacity .3s;z-index:-1}
.opt{isolation:isolate}
.opt.is-on::before{opacity:1}
.opt:last-child{border-bottom:0}
.opt__dot{width:18px;height:18px;border-radius:50%;border:1.5px solid var(--ink2);margin-top:2px;position:relative}
.opt__dot::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--ink);transform:scale(0);transition:transform .3s var(--ease)}
.opt.is-on .opt__dot::after{transform:scale(1)}
.opt__name{font-weight:600;font-size:16px;line-height:1.3}
.opt__desc{grid-column:2/4;font-size:13.5px;color:var(--mute);line-height:1.45}
.opt__price{font-size:13.5px;color:var(--ink2);white-space:nowrap;font-variant-numeric:tabular-nums;padding-top:2px}

/* сегменты */
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:22px}
.seg[hidden]{display:none}
.chip{
  min-height:46px;padding:0 12px;border:1px solid var(--line);border-radius:999px;background:transparent;
  font-size:14.5px;font-weight:500;cursor:pointer;position:relative;isolation:isolate;overflow:hidden;
  -webkit-tap-highlight-color:transparent;transition:color .25s,border-color .25s;
}
.chip::before{content:"";position:absolute;inset:0;background:var(--ink);opacity:0;transition:opacity .25s;z-index:-1}
.chip.is-on{color:#f6f3ec;border-color:var(--ink)}
.chip.is-on::before{opacity:1}
.chip:disabled{opacity:.35;cursor:default}

/* площадь */
.area[hidden]{display:none}
.area__top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.area__label{font-size:15px;font-weight:500}
.stepper{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;background:var(--card)}
.stepper__b{width:44px;height:44px;border:0;background:none;font-size:20px;line-height:1;cursor:pointer;border-radius:50%;-webkit-tap-highlight-color:transparent}
.stepper__b:active{transform:scale(.92)}
.stepper__v{min-width:76px;text-align:center;font-weight:600;font-variant-numeric:tabular-nums}
.stepper--sm .stepper__b{width:40px;height:40px}
.stepper--sm .stepper__v{min-width:34px}

input[type=range]{
  -webkit-appearance:none;appearance:none;width:100%;height:28px;background:transparent;margin:0;cursor:pointer;
  --p:15%;
}
input[type=range]::-webkit-slider-runnable-track{height:2px;background:linear-gradient(to right,var(--ink) var(--p),var(--line) var(--p))}
input[type=range]::-moz-range-track{height:2px;background:var(--line)}
input[type=range]::-moz-range-progress{height:2px;background:var(--ink)}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:26px;height:26px;border-radius:50%;background:var(--ink);border:4px solid var(--paper);margin-top:-12px;box-shadow:0 0 0 1px var(--ink)}
input[type=range]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:var(--ink);border:4px solid var(--paper);box-shadow:0 0 0 1px var(--ink)}
.area__scale{display:flex;justify-content:space-between;font-size:11.5px;color:var(--mute);margin-top:6px;font-variant-numeric:tabular-nums}

/* счётчики (окна, мебель) */
.counts{display:grid}
.counts:empty{display:none}
.cnt{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.cnt:first-child{border-top:1px solid var(--line)}
.cnt__name{font-size:15px;font-weight:500;line-height:1.3}
.cnt__price{display:block;font-size:12.5px;color:var(--mute);font-weight:400;margin-top:2px}

/* доп. опции */
.extras{display:grid;gap:18px}
.ex-group__t{font-size:13px;color:var(--mute);margin-bottom:10px}
.ex-chips{display:flex;flex-wrap:wrap;gap:8px}
.ex-chips .chip{min-height:42px;font-size:14px;padding:0 16px}
.ex-chips .chip small{font-weight:400;opacity:.7;margin-left:6px}

/* даты */
.days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:18px}
.day{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;
  min-height:60px;padding:6px 0;border:1px solid var(--line);border-radius:12px;background:transparent;cursor:pointer;
  position:relative;isolation:isolate;overflow:hidden;-webkit-tap-highlight-color:transparent;transition:color .25s,border-color .25s;
}
.day::before{content:"";position:absolute;inset:0;background:var(--ink);opacity:0;transition:opacity .25s;z-index:-1}
.day small{font-size:11px;color:var(--mute);line-height:1;transition:color .25s}
.day b{font-size:17px;font-weight:600;line-height:1;font-variant-numeric:tabular-nums}
.day.is-on{color:#f6f3ec;border-color:var(--ink)}
.day.is-on::before{opacity:1}
.day.is-on small{color:#c9c5ba}
.times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.times .chip{border-radius:12px;font-variant-numeric:tabular-nums}
@media (min-width:768px){
  .day{min-height:68px}
  .times{grid-template-columns:repeat(6,minmax(0,1fr))}
}

/* поля */
.fields{display:grid;gap:14px}
.fld{display:grid;gap:6px}
.fld__l{font-size:13px;color:var(--mute)}
.fld__l i{font-style:normal;opacity:.75}
.fld input{
  width:100%;height:50px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--card);
  font:500 16px/1 var(--sans);color:var(--ink);transition:border-color .2s;
}
.fld input::placeholder{color:#aaa69b;font-weight:400}
.fld input:focus{outline:none;border-color:var(--ink)}
.fld.is-bad input{border-color:var(--err)}
@media (min-width:768px){ .fields{grid-template-columns:1fr 1fr} .fld--wide{grid-column:1/-1} }

/* ---------- сводка: пузырь ---------- */
.sum{display:grid;gap:16px;padding-top:26px;border-top:1px solid var(--line);scroll-margin-top:calc(var(--hh) + 12px)}
@media (min-width:1024px){ .sum{border-top:0;padding-top:0} }
.chat{border-radius:16px;overflow:hidden;background:var(--paper2);border:1px solid var(--line)}
.chat__bar{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--card);border-bottom:1px solid var(--line)}
.chat__ava{width:36px;height:36px;border-radius:50%;background:var(--deep);color:var(--deep-ink);display:grid;place-items:center;font:600 13px/1 var(--sans);letter-spacing:.02em}
.chat__who{display:grid;line-height:1.25}
.chat__who b{font-size:14.5px}
.chat__who small{font-size:12px;color:var(--mute)}
.chat__body{padding:18px 14px 20px;display:flex;justify-content:flex-end}
.msg{
  background:var(--bubble);border-radius:14px 14px 4px 14px;padding:12px 14px 8px;max-width:100%;width:100%;
  font-size:14.5px;line-height:1.5;box-shadow:0 1px 0 rgba(20,22,18,.06);
}
.msg__lines{display:grid;gap:1px}
.ml{opacity:1;transform:none;overflow-wrap:anywhere}
.ml b{font-weight:600}
.ml--gap{margin-top:8px}
.ml--empty{color:#8d978a}
.ml.flash{animation:mlIn .55s var(--ease)}
@keyframes mlIn{from{opacity:0;transform:translate3d(0,6px,0)}to{opacity:1;transform:none}}
.msg__time{display:block;text-align:right;font-size:11px;color:#7f8a7c;margin-top:4px}

.sum__total{display:grid;gap:2px}
.sum__lbl{font-size:13px;color:var(--mute)}
.sum__val{font:500 40px/1.05 var(--serif);font-variant-numeric:lining-nums tabular-nums;display:inline-block}
.sum__val.flash{animation:mlIn .5s var(--ease)}
.sum__hint{font-size:12.5px;color:var(--mute);line-height:1.45;max-width:34em}
.sum__err{font-size:13.5px;color:var(--err);min-height:0}
.sum__err:empty{display:none}
.sum__foot{font-size:12.5px;color:var(--mute);line-height:1.45}

/* ---------- мобильная плашка ---------- */
.dock{
  position:fixed;left:12px;right:12px;bottom:calc(12px + env(safe-area-inset-bottom));z-index:40;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  min-height:60px;padding:8px 8px 8px 18px;border-radius:16px;background:var(--ink);color:#f6f3ec;text-decoration:none;
  box-shadow:0 12px 30px rgba(20,22,18,.25);
  transform:translate3d(0,140%,0);transition:transform .5s var(--ease);
}
.dock.is-on{transform:none}
.dock__l{display:grid;line-height:1.2}
.dock__l small{font-size:11.5px;color:#b9b5aa}
.dock__l b{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums}
.dock__r{background:var(--wa);color:#fff;border-radius:12px;padding:0 16px;min-height:44px;display:grid;place-items:center;font-size:14px;font-weight:600}
@media (min-width:1024px){ .dock{display:none} }

/* ---------- прайс ---------- */
.acc{border-top:1px solid var(--line)}
.acc__item{border-bottom:1px solid var(--line)}
.acc__btn{
  width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:22px 0;background:none;border:0;cursor:pointer;text-align:left;
  font:500 25px/1.15 var(--serif);-webkit-tap-highlight-color:transparent;
}
.acc__ico{width:16px;height:16px;position:relative;flex:none;transition:transform .45s var(--ease)}
.acc__ico::before,.acc__ico::after{content:"";position:absolute;left:0;right:0;top:50%;height:1.5px;margin-top:-.75px;background:var(--ink)}
.acc__ico::after{transform:rotate(90deg)}
.acc__item.is-open .acc__ico{transform:rotate(45deg)}
.acc__panel{padding:0 0 22px}
.acc__panel[hidden]{display:none}
.acc__panel.enter{opacity:0;transform:translate3d(0,-8px,0)}
.acc__panel.enter.go{opacity:1;transform:none;transition:opacity .45s var(--ease) .08s,transform .52s var(--ease)}
.plist{margin:0;display:grid}
.plist div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;padding:11px 0;border-top:1px dashed var(--line);align-items:baseline}
.plist div:first-child{border-top:0}
.plist dt{font-size:15px;color:var(--ink2);line-height:1.4}
.plist dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.flip{transition:transform .52s var(--ease)}
@media (min-width:768px){
  .acc__btn{font-size:30px;padding:26px 0}
  .plist{grid-template-columns:1fr 1fr;column-gap:56px}
  .plist div:nth-child(2){border-top:0}
}

/* ---------- работы ---------- */
.gal{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 10px}
.gal__b{display:block;width:100%;padding:0;border:0;background:var(--paper2);border-radius:6px;overflow:hidden;aspect-ratio:4/5;cursor:zoom-in;-webkit-tap-highlight-color:transparent}
.gal__b img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.gal__b:hover img{transform:scale(1.03)}
.gal__c{display:block;font-size:13px;color:var(--ink2);margin-top:9px;line-height:1.35}
@media (min-width:900px){ .gal{grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 16px} }

/* ---------- отзывы ---------- */
.revs{background:var(--deep);color:var(--deep-ink);margin-top:48px;padding:72px var(--gut) 80px}
.revs .sec-head,.revs .quotes{max-width:calc(var(--wrap) - 2*var(--gut));margin-left:auto;margin-right:auto}
.revs .sec-head{margin-bottom:28px}
.revs .sec-head__note{color:var(--deep-mute)}
.revs .sec-head__note a{color:var(--deep-ink)}
.quotes{display:grid}
.q{margin:0;padding:24px 0;border-top:1px solid rgba(236,231,220,.16)}
.q blockquote{margin:0;font:italic 500 25px/1.25 var(--serif)}
.q figcaption{margin-top:12px;font-size:13px;color:var(--deep-mute)}
@media (min-width:1024px){
  .revs{margin-top:120px;padding:120px var(--gut)}
  .revs .sec-head{margin-bottom:48px}
  .quotes{grid-template-columns:1fr 1fr;column-gap:64px}
  .q{padding:34px 0}
  .q blockquote{font-size:30px}
}

/* ---------- подвал ---------- */
.foot{background:var(--paper2);padding:56px var(--gut) calc(96px + env(safe-area-inset-bottom))}
.foot__in{max-width:calc(var(--wrap) - 2*var(--gut));margin:0 auto;display:grid;gap:28px}
.foot__brand p{margin-top:10px;font-size:14px;color:var(--ink2);max-width:22em}
.foot__dl{margin:0;display:grid;gap:14px}
.foot__dl div{display:grid;gap:2px;align-content:start}
.foot__dl dt{font-size:12px;color:var(--mute)}
.foot__dl dd{margin:0;font-size:14.5px}
.foot__dl a{text-decoration:none}
.foot__links{display:flex;gap:20px;font-size:14px;font-weight:600}
.foot__links a{text-decoration:none;border-bottom:1px solid var(--line);padding-bottom:2px}
@media (min-width:1024px){
  .foot{padding:72px var(--gut)}
  .foot__in{grid-template-columns:1.1fr 2fr auto;align-items:start;gap:56px}
  .foot__dl{grid-template-columns:1fr 1fr;gap:18px 40px}
}

/* ---------- просмотрщик ---------- */
.lb{position:fixed;inset:0;z-index:100;background:rgba(15,16,14,.95);color:#f1ede4;opacity:0;transition:opacity .35s var(--ease)}
.lb[hidden]{display:none}
.lb.is-on{opacity:1}
.lb__stage{position:absolute;inset:56px 0 64px;display:grid;place-items:center;padding:0 12px;touch-action:none}
.lb__stage img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;border-radius:4px;transform:scale(.97);opacity:0;transition:transform .45s var(--ease),opacity .35s}
.lb__stage img.is-on{transform:none;opacity:1}
.lb__cap{position:absolute;left:16px;right:16px;bottom:18px;display:flex;justify-content:space-between;gap:16px;font-size:14px}
.lb__cnt{color:#a7a397;font-variant-numeric:tabular-nums}
.lb__x{position:absolute;top:8px;right:8px;width:48px;height:48px;border:0;background:none;color:inherit;font-size:30px;line-height:1;cursor:pointer}
.lb__nav{position:absolute;top:50%;width:48px;height:48px;margin-top:-24px;border:1px solid rgba(241,237,228,.3);border-radius:50%;background:rgba(15,16,14,.5);color:inherit;font-size:20px;cursor:pointer;display:none}
.lb__nav--p{left:16px}.lb__nav--n{right:16px}
@media (min-width:768px){ .lb__nav{display:block} .lb__stage{padding:0 80px} }
