/* v102 — v101 + точное выравнивание первого блока домов как у квартир */
.sp-v101-process,.sp-v101-video{padding:96px 0;border-top:1px solid rgba(183,130,49,.34)}
.sp-v101-process *,.sp-v101-video *{box-sizing:border-box}
.sp-v101-process__grid,.sp-v101-video__grid{display:grid;grid-template-columns:minmax(0,1.32fr) minmax(320px,.78fr);gap:clamp(38px,5vw,76px);align-items:center}
.sp-v101-process__media,.sp-v101-video__media{min-width:0}
.sp-v101-process__frame{position:relative;overflow:hidden;background:#15110d;min-height:520px}
.sp-v101-process__frame img{display:block;width:100%;height:clamp(430px,48vw,680px);object-fit:cover;object-position:center;transition:opacity .22s ease,transform .24s ease}
.sp-v101-process__frame img.is-changing{opacity:.28;transform:scale(1.006)}
.sp-v101-process__caption{position:absolute;left:0;right:0;bottom:0;display:flex;gap:12px;align-items:center;padding:52px 22px 20px;color:#fff;background:linear-gradient(180deg,transparent,rgba(12,9,6,.84));font-family:Georgia,serif;letter-spacing:.04em}
.sp-v101-process__caption span{color:#d3a04a;font-size:18px}.sp-v101-process__caption b{font-size:18px}
.sp-v101-process__image-count{position:absolute;right:16px;top:15px;z-index:4;padding:7px 10px;border:1px solid rgba(209,158,76,.45);background:rgba(12,9,6,.72);color:#ead7b1;font:12px/1 Arial,sans-serif;letter-spacing:.12em}
.sp-v101-process__image-arrow{position:absolute;top:50%;z-index:5;display:grid;place-items:center;width:48px;height:48px;padding:0;transform:translateY(-50%);border:1px solid #d4a24f;border-radius:50%;background:rgba(15,12,9,.76);color:#e5bb73;font-size:20px;cursor:pointer;transition:background .2s,color .2s,transform .2s}
.sp-v101-process__image-arrow:hover{background:#c99139;color:#111;transform:translateY(-50%) scale(1.05)}
.sp-v101-process__image-arrow.is-prev{left:15px}.sp-v101-process__image-arrow.is-next{right:15px}.sp-v101-process__image-arrow[hidden]{display:none}
.sp-v101-process__gold-line{height:1px;margin-top:16px;background:linear-gradient(90deg,#c28a31 0 24%,rgba(194,138,49,.28) 24% 100%)}

/* Премиальная полоса этапов: без стандартного скролла и без тяжёлых прямоугольных ячеек. */
.sp-v101-stage-rail{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;align-items:center;margin-top:14px;padding:10px 0;border-top:1px solid rgba(183,125,37,.2);border-bottom:1px solid rgba(183,125,37,.2)}
.sp-v101-stage-rail:not(.is-overflowing){grid-template-columns:minmax(0,1fr)}
.sp-v101-stage-rail:not(.is-overflowing) .sp-v101-stage-rail__arrow{display:none}
.sp-v101-stage-rail__viewport{min-width:0;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth;overscroll-behavior-x:contain;touch-action:pan-x pan-y;cursor:grab;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%);mask-image:linear-gradient(90deg,transparent 0,#000 18px,#000 calc(100% - 18px),transparent 100%)}
.sp-v101-stage-rail__viewport::-webkit-scrollbar{display:none;width:0;height:0}
.sp-v101-stage-rail__viewport.is-dragging{cursor:grabbing;scroll-behavior:auto;user-select:none}
.sp-v101-stage-rail__track{display:flex;width:max-content;min-width:100%;gap:10px;padding:3px 18px}
.sp-v101-stage-rail__track.is-fit{width:100%;justify-content:space-between}
.sp-v101-stage-rail__item{position:relative;display:flex;flex:0 0 66px;min-width:66px;height:54px;align-items:center;justify-content:center;padding:0;border:1px solid rgba(183,125,37,.35);border-radius:999px;background:rgba(255,252,247,.4);color:#8b6a37;cursor:pointer;box-shadow:0 6px 16px rgba(62,43,21,.04);transition:transform .2s,background .2s,color .2s,border-color .2s,box-shadow .2s}
.sp-v101-stage-rail__item:hover{border-color:#c28a31;background:rgba(255,251,244,.92);transform:translateY(-2px)}
.sp-v101-stage-rail__item.is-active{border-color:#c99139;background:#17120d;color:#e6bd78;box-shadow:0 10px 24px rgba(30,20,10,.2);transform:translateY(-2px)}
.sp-v101-stage-rail__item.is-active::after{content:"";position:absolute;left:50%;bottom:-8px;width:24px;height:2px;transform:translateX(-50%);background:#c99139}
.sp-v101-stage-rail__item span{font:18px/1 Georgia,serif;letter-spacing:.02em}
.sp-v101-stage-rail__item b{display:none}
.sp-v101-stage-rail.is-with-titles .sp-v101-stage-rail__item{flex-basis:154px;min-width:154px;height:66px;border-radius:14px;align-items:flex-start;justify-content:center;flex-direction:column;gap:7px;padding:10px 14px;text-align:left}
.sp-v101-stage-rail.is-with-titles .sp-v101-stage-rail__item span{font-size:15px;color:#b77d25}
.sp-v101-stage-rail.is-with-titles .sp-v101-stage-rail__item b{display:block;font:700 11px/1.22 Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;overflow-wrap:anywhere}
.sp-v101-stage-rail__arrow{display:grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(194,138,49,.55);border-radius:50%;background:rgba(22,17,12,.94);color:#d8a956;font-size:18px;cursor:pointer;transition:.2s;z-index:2}
.sp-v101-stage-rail__arrow:hover:not(:disabled){background:#c99139;color:#17120d;transform:scale(1.04)}
.sp-v101-stage-rail__arrow:disabled{opacity:.24;cursor:default}

.sp-v101-process__copy .eyebrow,.sp-v101-video__copy .eyebrow{margin:0 0 19px;color:#b77d25;font:700 12px/1.2 Arial,sans-serif;letter-spacing:.18em}
.sp-v101-process__copy h2,.sp-v101-video__copy h2{max-width:13ch;margin:0 0 26px;font:clamp(38px,4vw,56px)/.98 Georgia,serif}
.sp-v101-process__lead,.sp-v101-video__copy>p:last-child{max-width:36em;margin:0;color:#2c261f;font:clamp(18px,1.35vw,21px)/1.62 Georgia,serif}
.sp-v101-process__active-copy{margin-top:30px;padding-top:23px;border-top:1px solid rgba(183,130,49,.34)}
.sp-v101-process__active-copy>span{display:block;width:72px;height:2px;margin-bottom:18px;background:#c28a31}
.sp-v101-process__active-copy h3{margin:0 0 8px;font:26px/1.08 Georgia,serif;text-transform:uppercase}
.sp-v101-process__active-copy p{margin:0;color:#71675d;font:16px/1.55 Arial,sans-serif}

.sp-v101-video{padding:76px 0}.sp-v101-video__grid{grid-template-columns:minmax(0,1.18fr) minmax(320px,.82fr)}
.sp-v101-video__media{display:flex;align-items:center;justify-content:center;overflow:hidden;background:transparent;line-height:0}
.sp-v101-video__media video,.sp-v101-video__media iframe{display:block;border:0;margin:0;background:transparent;object-fit:cover}
.sp-v101-video.is-horizontal .sp-v101-video__media video,.sp-v101-video.is-horizontal .sp-v101-video__media iframe{width:100%;height:auto;aspect-ratio:16/9;max-height:620px}
.sp-v101-video.is-vertical .sp-v101-video__grid{grid-template-columns:minmax(250px,430px) minmax(320px,1fr);justify-content:center}
.sp-v101-video.is-vertical .sp-v101-video__media{width:min(100%,430px);justify-self:center}
.sp-v101-video.is-vertical .sp-v101-video__media video,.sp-v101-video.is-vertical .sp-v101-video__media iframe{width:100%;height:auto;aspect-ratio:9/16;max-height:min(76vh,760px)}

/* Первый экран направлений сохраняет широкую фотографию и рабочие стрелки v97. */
.sp-v101-hero,.sp-v101-hero *{box-sizing:border-box}
.sp-v101-hero .service-story__hero-grid,.sp-v101-hero .inner-hero__grid{display:grid!important;align-items:center!important;gap:clamp(34px,4.5vw,74px)!important}
.sp-v101-hero.is-media-first .service-story__hero-grid,.sp-v101-hero.is-media-first .inner-hero__grid{grid-template-columns:minmax(0,1.16fr) minmax(320px,.84fr)!important}
.sp-v101-hero.is-text-first .service-story__hero-grid,.sp-v101-hero.is-text-first .inner-hero__grid{grid-template-columns:minmax(320px,.84fr) minmax(0,1.16fr)!important}
.sp-v101-hero .service-story__hero-grid>*,.sp-v101-hero .inner-hero__grid>*{min-width:0!important;max-width:100%!important}
.sp-v101-hero .service-story__hero-media,.sp-v101-hero .service-story__hero-slider,.sp-v101-hero .service-story__hero-slides,.sp-v101-hero [data-service-hero-slider],.sp-v101-hero .inner-hero__grid>img,.sp-v101-hero .inner-hero__grid>picture{position:relative!important;display:block!important;width:100%!important;max-width:100%!important;overflow:hidden!important;line-height:0!important;background:transparent!important}
.sp-v101-hero .service-story__hero-slide{width:100%!important;max-width:100%!important;min-width:0!important;flex:0 0 100%!important}
.sp-v101-hero .service-story__hero-media img,.sp-v101-hero .service-story__hero-slide img,.sp-v101-hero .inner-hero__grid>img,.sp-v101-hero .inner-hero__grid>picture img{display:block!important;width:100%!important;max-width:100%!important;height:clamp(500px,49vw,730px)!important;object-fit:cover!important;object-position:center!important;border:0!important;box-shadow:none!important}
.sp-v101-hero .v98-hero-nav,.sp-v101-hero .service-story__hero-dots,.sp-v101-hero .service-story__hero-pagination,.sp-v101-hero .service-story__hero-indicators,.sp-v101-hero [class*="hero-dot"],.sp-v101-hero [class*="hero-pagination"],.sp-v101-hero [class*="hero-indicator"],.sp-v101-hero .v98-hero-open,.sp-v101-hero .service-story__hero-open,.sp-v101-hero [data-gallery-open],.sp-v101-hero [class*="open-full"],.sp-v101-hero [class*="fullscreen"]{display:none!important}
.sp-v101-hero .v97-hero-arrow{z-index:30!important}

@media(max-width:1000px){
  .sp-v101-process,.sp-v101-video{padding:72px 0}
  .sp-v101-process__grid,.sp-v101-video__grid,.sp-v101-video.is-vertical .sp-v101-video__grid{grid-template-columns:1fr;gap:32px}
  .sp-v101-process__copy,.sp-v101-video__copy{order:-1}
  .sp-v101-video.is-vertical .sp-v101-video__media{width:min(84vw,390px)}
  .sp-v101-hero .service-story__hero-grid,.sp-v101-hero .inner-hero__grid{grid-template-columns:1fr!important;gap:30px!important}
  .sp-v101-hero .service-story__hero-media img,.sp-v101-hero .service-story__hero-slide img,.sp-v101-hero .inner-hero__grid>img,.sp-v101-hero .inner-hero__grid>picture img{height:clamp(390px,92vw,620px)!important}
}
@media(max-width:640px){
  .sp-v101-process,.sp-v101-video{padding:52px 0}
  .sp-v101-process__frame{min-height:340px}
  .sp-v101-process__frame img{height:clamp(330px,108vw,520px)}
  .sp-v101-process__caption{padding:38px 14px 14px}
  .sp-v101-process__caption span,.sp-v101-process__caption b{font-size:14px}
  .sp-v101-process__image-arrow{width:40px;height:40px}
  .sp-v101-process__image-arrow.is-prev{left:8px}.sp-v101-process__image-arrow.is-next{right:8px}
  .sp-v101-stage-rail{grid-template-columns:38px minmax(0,1fr) 38px;gap:7px}
  .sp-v101-stage-rail__arrow{width:38px;height:38px;font-size:16px}
  .sp-v101-stage-rail__track{gap:8px;padding:3px 12px}
  .sp-v101-stage-rail__item{flex-basis:58px;min-width:58px;height:48px}
  .sp-v101-stage-rail.is-with-titles .sp-v101-stage-rail__item{flex-basis:138px;min-width:138px;height:62px;padding:9px 11px}
  .sp-v101-video.is-vertical .sp-v101-video__media{width:min(90vw,360px)}
  .sp-v101-hero .service-story__hero-media img,.sp-v101-hero .service-story__hero-slide img,.sp-v101-hero .inner-hero__grid>img,.sp-v101-hero .inner-hero__grid>picture img{height:clamp(320px,108vw,520px)!important}
  .sp-v101-hero .v97-hero-arrow{width:44px!important;height:44px!important;font-size:22px!important}
  .sp-v101-hero .v97-hero-arrow.is-prev{left:10px!important}.sp-v101-hero .v97-hero-arrow.is-next{right:10px!important}
}


/* v102: первый экран — явное назначение колонок, без зависимости от order старых шаблонов. */
.sp-v102-hero,.sp-v102-hero *{box-sizing:border-box}
.sp-v102-hero .sp-v102-hero-grid{display:grid!important;width:100%!important;max-width:none!important;align-items:center!important;gap:clamp(38px,4.6vw,76px)!important}
.sp-v102-hero .sp-v102-hero-grid>*{min-width:0!important;max-width:none!important;margin-left:0!important;margin-right:0!important}
.sp-v102-hero .sp-v102-hero-media{position:relative!important;display:block!important;width:100%!important;max-width:none!important;min-width:0!important;justify-self:stretch!important;align-self:stretch!important;overflow:hidden!important;line-height:0!important;background:transparent!important}
.sp-v102-hero .sp-v102-hero-copy{width:100%!important;max-width:none!important;min-width:0!important;align-self:center!important}

/* Дом: фото слева и занимает такую же широкую колонку, как фото справа у квартиры. */
.sp-v102-hero--house-finishing .sp-v102-hero-grid{grid-template-columns:minmax(0,1.16fr) minmax(340px,.84fr)!important}
.sp-v102-hero--house-finishing .sp-v102-hero-media{grid-column:1!important;grid-row:1!important;order:0!important}
.sp-v102-hero--house-finishing .sp-v102-hero-copy{grid-column:2!important;grid-row:1!important;order:0!important}

/* Квартира: сохраняем эталонное расположение — текст слева, широкое фото справа. */
.sp-v102-hero--apartment-renovation .sp-v102-hero-grid{grid-template-columns:minmax(340px,.84fr) minmax(0,1.16fr)!important}
.sp-v102-hero--apartment-renovation .sp-v102-hero-copy{grid-column:1!important;grid-row:1!important;order:0!important}
.sp-v102-hero--apartment-renovation .sp-v102-hero-media{grid-column:2!important;grid-row:1!important;order:0!important}

/* Снимаем старые ограничения ширины со всех вложенных оболочек слайдера. */
.sp-v102-hero .sp-v102-hero-media>.service-story__hero-media,
.sp-v102-hero .sp-v102-hero-media>.service-story__hero-slider,
.sp-v102-hero .sp-v102-hero-media>.service-story__hero-slides,
.sp-v102-hero .sp-v102-hero-media>[data-service-hero-slider],
.sp-v102-hero .sp-v102-hero-media>.v98-hero-media,
.sp-v102-hero .sp-v102-hero-media .service-story__hero-media,
.sp-v102-hero .sp-v102-hero-media .service-story__hero-slider,
.sp-v102-hero .sp-v102-hero-media .service-story__hero-slides,
.sp-v102-hero .sp-v102-hero-media [data-service-hero-slider],
.sp-v102-hero .sp-v102-hero-media .v98-hero-media,
.sp-v102-hero .sp-v102-hero-media .v97-hero-slider{position:relative!important;display:block!important;width:100%!important;max-width:none!important;min-width:0!important;height:100%!important;margin:0!important;padding:0!important;overflow:hidden!important;justify-self:stretch!important}
.sp-v102-hero .sp-v102-hero-media .service-story__hero-slide,
.sp-v102-hero .sp-v102-hero-media [data-service-hero-slide]{display:block!important;width:100%!important;max-width:none!important;min-width:0!important;height:100%!important;flex:0 0 100%!important;margin:0!important;padding:0!important}
.sp-v102-hero .sp-v102-hero-media img,
.sp-v102-hero .sp-v102-hero-media picture,
.sp-v102-hero .sp-v102-hero-media picture img{display:block!important;width:100%!important;max-width:none!important;min-width:100%!important;height:clamp(540px,48vw,740px)!important;margin:0!important;padding:0!important;border:0!important;object-fit:cover!important;object-position:center!important;box-shadow:none!important}
.sp-v102-hero .sp-v102-hero-media .v97-hero-arrow{top:50%!important}

@media(max-width:1000px){
  .sp-v102-hero .sp-v102-hero-grid,.sp-v102-hero--house-finishing .sp-v102-hero-grid,.sp-v102-hero--apartment-renovation .sp-v102-hero-grid{grid-template-columns:1fr!important;gap:30px!important}
  .sp-v102-hero .sp-v102-hero-copy,.sp-v102-hero .sp-v102-hero-media{grid-column:1!important;order:0!important}
  .sp-v102-hero--house-finishing .sp-v102-hero-media{grid-row:1!important}
  .sp-v102-hero--house-finishing .sp-v102-hero-copy{grid-row:2!important}
  .sp-v102-hero--apartment-renovation .sp-v102-hero-copy{grid-row:1!important}
  .sp-v102-hero--apartment-renovation .sp-v102-hero-media{grid-row:2!important}
  .sp-v102-hero .sp-v102-hero-media img,.sp-v102-hero .sp-v102-hero-media picture img{height:clamp(390px,78vw,620px)!important}
}
@media(max-width:640px){
  .sp-v102-hero .sp-v102-hero-media img,.sp-v102-hero .sp-v102-hero-media picture img{height:clamp(330px,104vw,520px)!important}
}
