/* Графитовая версия: первый экран, услуги, лента работ. После styles-graphite.css */
:root{--hair:rgba(230,231,232,.14);--sweep:linear-gradient(105deg,transparent 42%,rgba(255,255,255,.95) 50%,transparent 58%)}

/* ---------- первый экран ---------- */
.hero{background:
  radial-gradient(38% 55% at 78% 30%,rgba(255,255,255,.07),transparent 70%),
  radial-gradient(90% 60% at 62% 8%,#2c2d2f 0%,rgba(17,18,19,0) 62%),
  linear-gradient(180deg,#171819 0%,#111213 70%)}
.hero__title{background:var(--sweep),var(--chrome);background-size:300% 100%,100% 100%;background-position:120% 0,0 0;
  -webkit-background-clip:text;background-clip:text;color:transparent;animation:hero-sweep 2.4s .9s cubic-bezier(.3,.6,.2,1) both}
@keyframes hero-sweep{from{background-position:120% 0,0 0}to{background-position:-20% 0,0 0}}
.hero__wheel img{-webkit-box-reflect:below -2px linear-gradient(transparent 78%,rgba(255,255,255,.10))}
.hero__floor{height:4vh;background:linear-gradient(180deg,rgba(255,255,255,.035),transparent 40%),linear-gradient(#18191a,var(--ink));border-top:1px solid rgba(255,255,255,.08)}
.hero__lead{letter-spacing:-.02em}
.hero__proof{border-top-color:var(--hair)}
@media (max-width:767px){.hero__floor{display:none}.hero__wheel img{-webkit-box-reflect:unset}}

/* одноразовый блик на заголовках секций */
.services h2,.reel h2,.reviews h2,.care h2,.booking h2,.contacts h2{background:var(--sweep),var(--chrome);background-size:300% 100%,100% 100%;background-position:120% 0,0 0;-webkit-background-clip:text;background-clip:text;color:transparent}
.is-shined{animation:hero-sweep 1.8s cubic-bezier(.3,.6,.2,1) both}

/* ---------- услуги: прайс + большое фото ---------- */
.services{padding:96px var(--gut) 72px}
.services__heading{display:flex;justify-content:space-between;align-items:end;gap:32px;margin-bottom:48px}
.svc{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(32px,5vw,88px);align-items:start}
.svc__media{position:sticky;top:6vh}
.svc__frame{position:relative;aspect-ratio:4/5;border-radius:16px;overflow:hidden;background:#18191a;box-shadow:0 0 0 1px var(--hair)}
.svc__frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 70%;clip-path:inset(100% 0 0 0);transform:scale(1.08);
  transition:clip-path .9s cubic-bezier(.7,0,.2,1),transform 1.4s cubic-bezier(.2,.7,.2,1);z-index:1}
.svc__frame img.is-leaving{clip-path:inset(0);transform:scale(1);z-index:0;transition:none}
.svc__frame img.is-active{clip-path:inset(0);transform:scale(1);z-index:2}
.svc__frame::after{content:'';position:absolute;inset:0;z-index:3;pointer-events:none;background:linear-gradient(180deg,transparent 60%,rgba(10,10,11,.55))}
.svc__count{position:absolute;z-index:4;left:20px;bottom:18px;font:900 italic 15px/1 Montserrat,Arial,sans-serif;letter-spacing:.04em;color:#e9e9e8}
.svc__list{list-style:none;margin:0;padding:0;border-bottom:1px solid var(--hair)}
.svc__item{border-top:1px solid var(--hair)}
.svc__row{all:unset;box-sizing:border-box;width:100%;cursor:pointer;display:grid;grid-template-columns:44px 1fr auto 28px;align-items:center;gap:16px;padding:26px 6px;transition:padding .4s cubic-bezier(.2,.7,.2,1)}
.svc__row:focus-visible{outline:2px solid #e9e9e8;outline-offset:4px;border-radius:6px}
.svc__num{font:900 italic 14px/1 Montserrat,Arial,sans-serif;color:var(--steel)}
.svc__name{font:800 italic clamp(22px,2.1vw,32px)/1.05 Montserrat,Arial,sans-serif;letter-spacing:-.03em;color:#8f9194;transition:color .35s}
.svc__price{font:800 italic clamp(18px,1.5vw,22px)/1 Montserrat,Arial,sans-serif;color:#8f9194;white-space:nowrap;transition:color .35s}
.svc__price small{font:500 13px Montserrat,Arial,sans-serif;color:var(--steel);margin-right:4px}
.svc__plus{position:relative;width:16px;height:16px;justify-self:end}
.svc__plus::before,.svc__plus::after{content:'';position:absolute;left:0;right:0;top:50%;height:2px;margin-top:-1px;background:#77797c;transition:transform .4s,background .3s}
.svc__plus::after{transform:rotate(90deg)}
.svc__item.is-open .svc__plus::after{transform:rotate(0)}
.svc__item.is-open .svc__plus::before,.svc__item.is-open .svc__plus::after{background:#e9e9e8}
.svc__row:hover .svc__name,.svc__item.is-open .svc__name{background:var(--chrome);-webkit-background-clip:text;background-clip:text;color:transparent}
.svc__row:hover .svc__price,.svc__item.is-open .svc__price{color:#ecebe8}
.svc__more{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s cubic-bezier(.2,.7,.2,1)}
.svc__item.is-open .svc__more{grid-template-rows:1fr}
.svc__more-inner{overflow:hidden;display:flex;align-items:center;gap:28px;padding:0 6px 0 66px}
.svc__item.is-open .svc__more-inner{padding-bottom:26px}
.svc__more p{margin:0;max-width:32em;color:var(--mist);font-size:15px;line-height:1.55}
.svc__more .button{flex:none;min-height:46px;padding:0 24px;font-size:14px;margin:0}
.svc__mobile-shot{display:none}
@media (max-width:899px){
  .services{padding:72px var(--gut) 56px}
  .services__heading{display:block;margin-bottom:28px}.services__heading p{margin-top:12px}
  .svc{display:block}.svc__media{display:none}
  .svc__row{grid-template-columns:30px 1fr auto 18px;gap:10px;padding:20px 0}
  .svc__name{font-size:19px}.svc__price{font-size:16px}
  .svc__more-inner{display:block;padding:0}
  .svc__mobile-shot{display:block;width:100%;height:auto;aspect-ratio:16/11;object-fit:cover;object-position:50% 72%;border-radius:12px;margin-bottom:14px}
  .svc__more p{font-size:14px}
  .svc__more .button{width:100%;margin-top:14px}
  .svc__item.is-open .svc__more-inner{padding-bottom:22px}
}

/* ---------- лента работ ---------- */
.reel{position:relative;background:#111213}
.reel__sticky{padding:88px 0 64px}
.reel__head{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:0 var(--gut);margin-bottom:36px}
.reel h2{margin:0;font:900 italic clamp(40px,5.4vw,78px)/1.05 Montserrat,Arial,sans-serif;letter-spacing:-.06em;text-transform:uppercase}
.reel__head p{margin:14px 0 0;color:var(--mist);font-size:16px}
.reel__meta{display:flex;align-items:center;gap:18px;min-width:220px}
.reel__counter{font:900 italic 15px/1 Montserrat,Arial,sans-serif;color:#e9e9e8;white-space:nowrap}
.reel__bar{flex:1;height:2px;background:var(--hair);overflow:hidden}
.reel__bar i{display:block;height:100%;background:linear-gradient(90deg,#9ea1a4,#fff);transform-origin:0 50%;transform:scaleX(.04)}
.reel__track{display:flex;align-items:flex-start;gap:clamp(18px,2vw,32px);padding:0 var(--gut);will-change:transform}
.reel__card{flex:none;display:block;color:inherit;text-decoration:none;width:min(46vh,30vw);transition:opacity .5s,transform .6s cubic-bezier(.2,.7,.2,1);opacity:.5;transform:scale(.95)}
.reel__card--wide{width:min(92vh,58vw)}
.reel__card.is-near{opacity:1;transform:none}
.reel__media{position:relative;aspect-ratio:3/4;border-radius:14px;overflow:hidden;background:#18191a;box-shadow:0 0 0 1px var(--hair)}
.reel__card--wide .reel__media{aspect-ratio:16/10.6}
.reel__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:translateX(var(--shift,0)) scale(1.14);transition:transform .2s linear}
.reel__media::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.14) 48%,transparent 60%);background-size:260% 100%;background-position:130% 0;transition:background-position 1.1s cubic-bezier(.3,.6,.2,1)}
.reel__card:hover .reel__media::after,.reel__card.is-near .reel__media::after{background-position:-30% 0}
.reel__cap{display:grid;grid-template-columns:auto 1fr;column-gap:14px;align-items:baseline;padding-top:18px}
.reel__idx{font:900 italic 13px/1 Montserrat,Arial,sans-serif;color:var(--steel)}
.reel__cap h3{margin:0;font:800 italic clamp(20px,1.6vw,26px)/1.1 Montserrat,Arial,sans-serif;letter-spacing:-.03em}
.reel__cap ul{grid-column:2;list-style:none;margin:10px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.reel__cap li{font-size:12.5px;line-height:1;padding:7px 10px;border:1px solid var(--hair);border-radius:999px;color:var(--mist)}
.reel__end{flex:none;align-self:stretch;width:min(36vh,22vw);aspect-ratio:3/4;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;padding:24px;border-radius:14px;border:1px solid var(--hair);color:#ecebe8;text-decoration:none;position:relative;transition:background .3s}
.reel__end:hover{background:#18191a}
.reel__end span{color:var(--mist);font-size:14px}
.reel__end b{font:800 italic 24px/1.1 Montserrat,Arial,sans-serif;letter-spacing:-.03em}
.reel__end i{position:absolute;top:22px;right:24px;font-style:normal;font-size:26px}
/* закреплённый режим (компьютер) */
.reel.is-pinned .reel__sticky{position:sticky;top:0;height:100vh;padding:0;display:flex;flex-direction:column;justify-content:center;overflow:hidden}
.reel.is-pinned .reel__card{width:min(52vh,30vw)}
.reel.is-pinned .reel__card--wide{width:min(98vh,58vw)}
/* телефон: листается пальцем */
@media (max-width:899px){
  .reel__sticky{padding:72px 0 48px}
  .reel__head{display:block;margin-bottom:24px}.reel__meta{margin-top:18px;min-width:0}
  .reel__track{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding-bottom:6px;scroll-padding:0 var(--gut)}
  .reel__track::-webkit-scrollbar{display:none}
  .reel__card{width:76vw;scroll-snap-align:center;opacity:.6;transform:scale(.96)}
  .reel__card--wide{width:86vw}
  .reel__end{width:60vw;scroll-snap-align:center}
}
@media (prefers-reduced-motion:reduce){
  .hero__title,.is-shined{animation:none}
  .svc__frame img,.reel__card,.reel__media img,.svc__more{transition:none}
  .reel__track{overflow-x:auto}
}

/* фото в «Блеске» и контактах — апскейл */
.care__background,.contacts__photo{image-rendering:auto}

/* без параллакса на первом экране: слои стоят на месте, колесо только поворачивается при скролле */
.hero [data-depth]{transform:none}
.hero .hero__wheel{transform:rotate(var(--wheel-turn,0deg))}
.services__heading,.services__foot{padding-left:0;padding-right:0}

/* правки 01.10: прайс по центру фото, медленная смена фото, карточки работ одного размера */
.svc{align-items:center}
.svc__media{position:relative;top:auto}
.svc__frame img{transition:clip-path 1.5s cubic-bezier(.65,0,.25,1),transform 2.4s cubic-bezier(.2,.6,.2,1),opacity 1.5s ease}
.svc__frame img.is-leaving{opacity:.35;transform:scale(1.03);transition:opacity 1.5s ease,transform 2.4s ease}
:root{--card-w:min(46vh,30vw)}
.reel__card,.reel__card--wide,.reel.is-pinned .reel__card,.reel.is-pinned .reel__card--wide{width:var(--card-w);transform:none}
.reel.is-pinned{--card-w:min(50vh,28vw)}
.reel__card .reel__media,.reel__card--wide .reel__media{aspect-ratio:3/4}
.reel__card.is-near{transform:none}
.reel__end{width:var(--card-w);aspect-ratio:3/4;align-self:flex-start}
@media (max-width:899px){
  .reel,.reel.is-pinned{--card-w:76vw}
  .reel__card,.reel__card--wide{transform:none}
}
.reel__track::after{content:'';flex:none;width:1px}.reel__end{margin-right:calc(var(--gut) - 1px)}
