/* Раздел «Стоимость» — конфигуратор: слева фото уровня с составом работ, справа тёмная панель из трёх шагов и итог. */
.prices{background:var(--paper)}
.cfg{width:100vw;margin-left:calc(50% - 50vw);display:grid;grid-template-columns:minmax(0,1.32fr) minmax(400px,.68fr);min-height:min(92vh,880px);background:var(--ink);color:var(--bone)}

/* фото уровня */
.cfg__img{position:relative;margin:0;overflow:hidden;background:#0b1e2a}
.cfg__img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.07);transition:opacity 1.1s var(--ease),transform 7s var(--ease)}
.cfg__img img.is-on{opacity:1;transform:scale(1)}
.cfg__img::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,23,34,.92) 0%,rgba(7,23,34,.55) 34%,rgba(7,23,34,0) 62%),linear-gradient(90deg,rgba(7,23,34,0) 70%,rgba(7,23,34,.45));pointer-events:none}
.cfg__viz{position:absolute;z-index:2;top:26px;left:var(--pad);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:rgba(244,241,236,.55)}
.cfg__over{position:absolute;z-index:2;left:var(--pad);right:clamp(30px,4vw,70px);bottom:clamp(34px,5vw,70px)}
.cfg__info{display:none}
.cfg__info.is-on{display:block;animation:cfgIn .8s var(--ease)}
@keyframes cfgIn{from{opacity:0;transform:translateY(16px)}}
.cfg__lvl{margin:0 0 14px;display:flex;align-items:center;gap:14px;font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--rose)}
.cfg__lvl::before{content:"";width:40px;height:1px;background:var(--rose)}
.cfg__info h3{font-size:clamp(46px,5vw,84px);line-height:1;margin:0 0 14px}
.cfg__desc{margin:0 0 26px;max-width:46ch;font-weight:300;font-size:clamp(16px,1.15vw,19px);color:rgba(244,241,236,.8)}
.cfg__list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 28px;border-top:1px solid rgba(244,241,236,.2)}
.cfg__list li{padding:13px 0;border-bottom:1px solid rgba(244,241,236,.12);font-size:14px;font-weight:300;color:rgba(244,241,236,.85)}

/* панель шагов */
.cfg__side{display:flex;flex-direction:column;padding:clamp(36px,4vw,64px) clamp(28px,3.4vw,60px);border-left:1px solid rgba(244,241,236,.1)}
.cfg__step{padding:0 0 26px;margin-bottom:26px;border-bottom:1px solid rgba(244,241,236,.12)}
.cfg__k{margin:0 0 16px;display:flex;align-items:baseline;gap:14px;font-size:11px;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:rgba(244,241,236,.62)}
.cfg__k i{font-style:normal;font-family:var(--serif);font-size:15px;letter-spacing:0;color:var(--rose)}
.cfg__k output{margin-left:auto;font-family:var(--serif);font-size:28px;letter-spacing:0;text-transform:none;color:var(--bone)}
.cfg__tiers{display:grid;gap:8px}
.cfg__tier{all:unset;box-sizing:border-box;cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:15px 18px;border:1px solid rgba(244,241,236,.16);transition:border-color .35s,background .35s}
.cfg__tier b{font-family:var(--serif);font-weight:400;font-size:21px}
.cfg__tier span{font-size:12.5px;letter-spacing:.06em;color:rgba(244,241,236,.55)}
.cfg__tier:hover{border-color:rgba(244,241,236,.4)}
.cfg__tier.is-on{border-color:var(--rose);background:rgba(231,163,181,.08)}
.cfg__tier.is-on span{color:var(--rose)}
.cfg__seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid rgba(244,241,236,.16)}
.cfg__seg button{all:unset;cursor:pointer;text-align:center;padding:13px 6px;font-size:11.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,241,236,.62);transition:background .3s,color .3s}
.cfg__seg button + button{border-left:1px solid rgba(244,241,236,.16)}
.cfg__seg button:hover{color:var(--bone)}
.cfg__seg button.is-on{background:var(--bone);color:var(--ink)}
.cfg__tier:focus-visible,.cfg__seg button:focus-visible{outline:1px solid var(--rose);outline-offset:2px}
/* ползунок: тонкая линия, розовая заливка до бегунка */
.cfg__range{-webkit-appearance:none;appearance:none;width:100%;height:2px;margin:12px 0 10px;background:linear-gradient(90deg,var(--rose) var(--p,19%),rgba(244,241,236,.2) var(--p,19%));outline:0;cursor:pointer}
.cfg__range::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:var(--bone);border:5px solid var(--ink);box-shadow:0 0 0 1px var(--rose);transition:transform .2s}
.cfg__range:active::-webkit-slider-thumb{transform:scale(1.15)}
.cfg__range::-moz-range-thumb{width:12px;height:12px;border-radius:50%;background:var(--bone);border:4px solid var(--ink);box-shadow:0 0 0 1px var(--rose)}
.cfg__range:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 3px var(--rose)}
.cfg__scale{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.12em;color:rgba(244,241,236,.4)}
/* итог */
.cfg__result{margin-top:auto;padding-top:4px}
.cfg__result .cfg__k{margin-bottom:10px}
.cfg__result b{display:block;font-family:var(--serif);font-weight:400;font-size:clamp(44px,4vw,68px);line-height:1;white-space:nowrap;transition:color .3s}
.cfg__result b.tick{color:var(--rose)}
.cfg__result span{display:block;margin-top:10px;font-size:13px;color:rgba(244,241,236,.55)}
.cfg__cta{margin-top:28px;display:flex;justify-content:space-between;align-items:center;padding:22px 26px;background:var(--rose);color:var(--ink);text-decoration:none;font-size:13px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;transition:background .35s}
.cfg__cta i{font-style:normal;font-size:18px;transition:transform .4s var(--ease)}
.cfg__cta:hover{background:var(--bone)}
.cfg__cta:hover i{transform:translateX(6px)}
.cfg__fine{margin:14px 0 0;font-size:12px;color:rgba(244,241,236,.42);text-align:center}

.pr__note{margin-top:40px;text-align:center;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}

@media (max-width:1100px){
  .cfg{grid-template-columns:minmax(0,1fr)}
  .cfg__img{min-height:min(80vh,680px)}
  .cfg__side{border-left:0}
  .cfg__list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:640px){
  .cfg__img{min-height:560px}
  .cfg__over{right:var(--pad);bottom:28px}
  .cfg__list{grid-template-columns:minmax(0,1fr)}
  .cfg__list li{padding:10px 0;font-size:13.5px}
  .cfg__side{padding:32px var(--pad) 36px}
  .cfg__tier{padding:13px 14px}
  .cfg__tier b{font-size:19px}
  .cfg__seg button{font-size:10.5px;letter-spacing:.08em}
  .cfg__result b{font-size:44px}
  .cfg__cta{padding:20px}
}
/* плотнее, чтобы конфигуратор целиком помещался в экран ноутбука */
.cfg{min-height:0}
.cfg__img{min-height:min(84vh,820px)}
.cfg__side{padding-top:clamp(28px,3vw,48px);padding-bottom:clamp(28px,3vw,44px)}
.cfg__step{padding-bottom:20px;margin-bottom:20px}
.cfg__k{margin-bottom:12px}
.cfg__tiers{gap:6px}
.cfg__tier{padding:12px 16px}
.cfg__cta{margin-top:22px;padding:19px 24px}
.cfg__result b{font-size:clamp(42px,3.6vw,60px)}
@media (max-width:1100px){ .cfg__img{min-height:min(80vh,680px)} }
/* телефон: описание уровня под фото, а не поверх */
@media (max-width:640px){
  .cfg__img{min-height:0;padding-top:300px}
  .cfg__img img{height:300px;bottom:auto}
  .cfg__img::after{bottom:auto;height:300px;background:linear-gradient(0deg,var(--ink) 0%,rgba(7,23,34,0) 45%)}
  .cfg__over{position:relative;left:auto;right:auto;bottom:auto;padding:4px var(--pad) 8px}
  .cfg__info h3{font-size:44px}
  .cfg__desc{margin-bottom:18px;font-size:15.5px}
}

/* ── v2: конфигуратор ровно в высоту экрана под шапкой; контролы справа контрастнее и крупнее ── */
.cfg{height:calc(100svh - 68px);min-height:620px;max-height:960px}
.cfg__img{min-height:0}
.cfg__side{justify-content:space-between;gap:0;padding:clamp(22px,3.4vh,44px) clamp(26px,3vw,54px)}
.cfg__step{margin:0;padding:0 0 clamp(14px,2.4vh,26px);border-bottom:1px solid rgba(244,241,236,.14)}
.cfg__k{margin-bottom:clamp(10px,1.6vh,16px);font-size:12px;color:rgba(244,241,236,.8)}
.cfg__k i{font-size:16px}
/* уровни — три карточки в ряд: название и цена друг под другом */
.cfg__tiers{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.cfg__tier{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px;padding:clamp(12px,1.8vh,18px) 14px;border:1px solid rgba(244,241,236,.28)}
.cfg__tier b{font-size:clamp(18px,1.4vw,22px);color:var(--bone)}
.cfg__tier span{font-size:12.5px;letter-spacing:.02em;color:rgba(244,241,236,.72)}
.cfg__tier:hover{border-color:rgba(244,241,236,.6);background:rgba(244,241,236,.04)}
.cfg__tier.is-on{background:var(--bone);border-color:var(--bone)}
.cfg__tier.is-on b{color:var(--ink)}
.cfg__tier.is-on span{color:var(--rose-ink)}
/* тип объекта */
.cfg__seg{border-color:rgba(244,241,236,.28)}
.cfg__seg button{padding:clamp(12px,1.7vh,15px) 6px;font-size:12.5px;letter-spacing:.12em;color:rgba(244,241,236,.85)}
.cfg__seg button + button{border-left-color:rgba(244,241,236,.28)}
.cfg__seg button:hover{background:rgba(244,241,236,.06)}
.cfg__seg button.is-on{background:var(--bone);color:var(--ink);font-weight:500}
/* площадь */
.cfg__k output{font-size:clamp(24px,2vw,30px)}
.cfg__range{height:3px;margin:8px 0 10px}
.cfg__range::-webkit-slider-thumb{width:24px;height:24px;border-width:6px}
.cfg__scale{font-size:12px;color:rgba(244,241,236,.6)}
/* итог и кнопка */
.cfg__result{margin-top:0;padding-top:clamp(4px,1vh,10px)}
.cfg__result b{font-size:clamp(40px,min(3.6vw,6.4vh),62px)}
.cfg__result span{margin-top:8px;font-size:13.5px;color:rgba(244,241,236,.7)}
.cfg__cta{margin-top:clamp(14px,2vh,22px);padding:clamp(16px,2.2vh,21px) 24px;font-size:13.5px}
.cfg__fine{margin-top:10px;font-size:12px;color:rgba(244,241,236,.55)}
@media (max-height:760px) and (min-width:1101px){ .cfg__fine{display:none} .cfg__scale{display:none} }
@media (max-width:1100px){ .cfg{height:auto;max-height:none} .cfg__img{min-height:min(76vh,640px)} .cfg__side{gap:22px} }
@media (max-width:640px){ .cfg__img{min-height:0} .cfg__tiers{gap:6px} .cfg__tier{padding:12px 10px} .cfg__tier b{font-size:17px} .cfg__tier span{font-size:11px} }
/* без заголовка: конфигуратор сразу после бегущей строки */
.prices.sec{padding:0 0 clamp(50px,6vw,90px)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
