/* ОБЪЕКТ — страница «Стоимость» (objcost-*): первый экран с прямым ответом, карточки направлений,
   «Что влияет на цену» + «Что входит в смету». Ориентир — objekt-estimate.css, форма — objekt-razbor.css.
   main.css обнуляет рамки и отступы у всего внутри .page — поэтому селекторы из двух классов. */
.objcost,
.objcost *{box-sizing:border-box;}
body.objcost-page{overflow-x:visible;overflow-x:clip;}
.objcost{
  --objcost-w:calc(100% - 32px);
  display:block;background:var(--objekt-color-bg);color:var(--objekt-color-cream);font-family:var(--objekt-font-body);
}
.objcost .objcost-wrap{width:var(--objcost-w);margin:0 auto;}
@media (min-width:390px){ .objcost{--objcost-w:calc(100% - 40px);} }
@media (min-width:600px){ .objcost{--objcost-w:calc(100% - 64px);} }
@media (min-width:1200px){ .objcost{--objcost-w:min(81.77083vw, 1600px);} }

.objcost .objcost-eyebrow{display:flex;align-items:center;gap:16px;margin:0 0 clamp(14px, 1.4vw, 22px);font-size:var(--objekt-fs-caption);letter-spacing:.24em;text-transform:uppercase;color:var(--objekt-color-accent);}
.objcost .objcost-eyebrow span{flex-shrink:0;}
.objcost .objcost-eyebrow i{display:block;flex:1 1 auto;max-width:320px;min-width:32px;height:1px;background:var(--objekt-color-line-strong);}
.objcost .objcost-h2{margin:0 0 clamp(24px, 2.4vw, 40px);font-family:var(--objekt-font-heading);font-weight:500;font-size:clamp(30px, 2.6vw, 52px);line-height:1.1;letter-spacing:var(--objekt-tracking-heading);color:var(--objekt-color-cream);}

.objcost .objcost-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:clamp(56px, 3.4vw, 64px);padding:0 clamp(28px, 2.2vw, 40px);margin:0;
  border:1px solid var(--objekt-color-accent);border-radius:0;background:var(--objekt-color-accent);color:var(--objekt-color-bg);
  font-family:inherit;font-size:var(--objekt-fs-button);font-weight:500;text-decoration:none;transition:background-color .2s ease, border-color .2s ease;
}
.objcost .objcost-btn svg{width:22px;height:22px;transition:transform .2s ease;}
.objcost .objcost-btn:hover{background:var(--objekt-color-accent-hover);border-color:var(--objekt-color-accent-hover);color:var(--objekt-color-bg);}
.objcost .objcost-btn:hover svg{transform:translateX(3px);}
.objcost .objcost-btn:focus-visible,
.objcost .objcost-other:focus-visible,
.objcost .objcost-card:focus-visible{outline:2px solid var(--objekt-color-accent) !important;outline-offset:3px;}

/* ---------- первый экран ---------- */
.objcost .objcost-hero{position:relative;display:flex;flex-direction:column;}
.objcost .objcost-hero__media{position:relative;width:100%;aspect-ratio:4/3;max-height:62svh;overflow:hidden;}
.objcost .objcost-hero__media picture{display:block;width:100%;height:100%;}
.objcost .objcost-hero__img{display:block;width:100%;height:100%;object-fit:cover;object-position:60% 50%;}
.objcost .objcost-hero__media::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(to bottom, rgba(28,26,26,0) 45%, rgba(28,26,26,0.7) 80%, var(--objekt-color-bg) 100%);}
.objcost .objcost-hero__inner{position:relative;z-index:1;margin-top:-28px;padding-bottom:clamp(40px, 4vw, 72px);}
.objcost .objcost-hero__title{margin:0;font-family:var(--objekt-font-heading);font-weight:500;font-size:clamp(40px, 4vw, 80px);line-height:1.04;letter-spacing:var(--objekt-tracking-display);color:var(--objekt-color-cream);}
.objcost .objcost-hero__answer{margin:clamp(14px, 1.4vw, 24px) 0 0;font-size:clamp(20px, 1.5vw, 30px);line-height:1.35;color:var(--objekt-color-cream);}
.objcost .objcost-hero__line{display:block;}
.objcost .objcost-hp{font-family:var(--objekt-font-heading);color:var(--objekt-color-accent);white-space:nowrap;font-variant-numeric:lining-nums;}
.objcost .objcost-hero__sub{margin:clamp(12px, 1.1vw, 18px) 0 0;max-width:30em;font-size:clamp(16px, 1.05vw, 20px);line-height:1.55;color:rgba(245,242,237,0.7);}
.objcost .objcost-hero .objcost-btn{margin-top:clamp(24px, 2.2vw, 36px);}
@media (max-width:599px){
  .objcost .objcost-hero .objcost-btn{display:flex;width:100%;}
}
@media (min-width:1024px){
  .objcost .objcost-hero{min-height:clamp(520px, 38vw, 820px);justify-content:center;}
  .objcost .objcost-hero__media{position:absolute;top:0;right:0;bottom:0;width:60%;max-height:none;aspect-ratio:auto;}
  .objcost .objcost-hero__media::after{background:
    linear-gradient(to right, var(--objekt-color-bg) 0, rgba(28,26,26,0.75) 14%, rgba(28,26,26,0) 42%),
    linear-gradient(to bottom, rgba(28,26,26,0) 60%, rgba(28,26,26,0.7) 86%, var(--objekt-color-bg) 100%);}
  .objcost .objcost-hero__inner{margin-top:0;padding:clamp(48px, 4vw, 96px) 0;}
  .objcost .objcost-hero__inner > *{max-width:min(46%, 760px);}
}

/* ---------- направления ---------- */
.objcost .objcost-dirs{padding:clamp(16px, 2vw, 40px) 0 0;}
.objcost .objcost-cards{display:grid;grid-template-columns:repeat(2, minmax(0, 1fr));gap:12px;}
.objcost .objcost-cards--n1{grid-template-columns:minmax(0, 1fr);}
.objcost .objcost-card{
  position:relative;display:flex;flex-direction:column;min-height:100%;padding:clamp(16px, 1.8vw, 32px);
  border:1px solid rgba(169,150,125,0.4);color:var(--objekt-color-cream);text-decoration:none;
  transition:border-color .25s ease, background-color .25s ease;
}
.objcost .objcost-card:hover{border-color:var(--objekt-color-accent);background:rgba(169,150,125,0.04);}
.objcost .objcost-card__icon{display:block;width:48px;height:48px;color:var(--objekt-color-accent);transition:transform .3s ease;}
.objcost .objcost-card__icon svg{display:block;width:100%;height:100%;}
.objcost .objcost-card:hover .objcost-card__icon{transform:translateY(-4px);}
.objcost .objcost-card__name{display:block;margin:clamp(12px, 1.3vw, 22px) 0 0;font-family:var(--objekt-font-heading);font-weight:500;font-size:clamp(17px, 1.45vw, 28px);line-height:1.15;color:var(--objekt-color-cream);}
.objcost .objcost-card__full{display:none;}
.objcost .objcost-card__desc{display:none;margin:10px 0 0;font-size:clamp(14px, 0.9vw, 17px);line-height:1.5;color:rgba(245,242,237,0.7);}
.objcost .objcost-card__foot{display:block;margin-top:auto;padding-top:clamp(12px, 1.6vw, 32px);}
.objcost .objcost-cp{display:block;font-family:var(--objekt-font-heading);font-size:clamp(22px, 2.4vw, 46px);line-height:1.1;color:var(--objekt-color-accent);white-space:nowrap;font-variant-numeric:lining-nums;}
.objcost .objcost-cp__from,
.objcost .objcost-cp__unit{font-size:.68em;}
.objcost .objcost-card__price2{display:block;margin-top:8px;font-size:13px;line-height:1.4;color:rgba(245,242,237,0.6);}
.objcost .objcost-other{display:inline-flex;align-items:center;gap:10px;margin-top:clamp(20px, 2vw, 32px);padding-bottom:2px;border-bottom:1px solid rgba(169,150,125,0.55);font-size:clamp(15px, 1vw, 18px);color:var(--objekt-color-accent);text-decoration:none;transition:color .2s ease, border-color .2s ease;}
.objcost .objcost-other svg{width:20px;height:20px;transition:transform .2s ease;}
.objcost .objcost-other:hover{color:var(--objekt-color-accent-hover);border-color:var(--objekt-color-accent-hover);}
.objcost .objcost-other:hover svg{transform:translateX(3px);}
.objcost .objcost-other-wrap{padding-bottom:8px;}
@media (min-width:768px){
  .objcost .objcost-card__full{display:inline;}
  .objcost .objcost-card__short{display:none;}
  .objcost .objcost-card__desc{display:block;}
}
@media (min-width:1024px){
  .objcost .objcost-cards{grid-template-columns:repeat(4, minmax(0, 1fr));gap:clamp(12px, 1vw, 20px);}
  .objcost .objcost-cards--n3{grid-template-columns:repeat(3, minmax(0, 1fr));}
  .objcost .objcost-cards--n2{grid-template-columns:repeat(2, minmax(0, 1fr));}
  .objcost .objcost-cards--n1{grid-template-columns:minmax(0, 1fr);}
}
@media (max-width:767px){
  .objcost .objcost-card__icon{width:40px;height:40px;}
}

/* появление карточек по очереди (только когда работает скрипт) */
.objcost.is-js [data-objcost-cards] .objcost-card{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease, border-color .25s ease, background-color .25s ease;transition-delay:calc(var(--i) * 120ms), calc(var(--i) * 120ms), 0s, 0s;}
.objcost.is-js [data-objcost-cards].is-in .objcost-card{opacity:1;transform:none;}
.objcost.is-js .objcost-rv{opacity:0;transform:translateY(12px);transition:opacity .7s ease, transform .7s ease;}
.objcost.is-js .objcost-hero.is-in .objcost-rv{opacity:1;transform:none;}
.objcost.is-js .objcost-hero.is-in .objcost-rv:nth-child(2){transition-delay:.06s;}
.objcost.is-js .objcost-hero.is-in .objcost-rv:nth-child(3){transition-delay:.12s;}
.objcost.is-js .objcost-hero.is-in .objcost-rv:nth-child(4){transition-delay:.18s;}
.objcost.is-js .objcost-hero.is-in .objcost-rv:nth-child(5){transition-delay:.24s;}

/* ---------- ориентир ---------- */
.objcost .objest{width:var(--objcost-w);margin:clamp(48px, 4.6vw, 88px) auto 0;scroll-margin-top:96px;}

/* ---------- что влияет / что входит ---------- */
.objcost .objcost-info{padding:clamp(48px, 4.6vw, 88px) 0 0;}
.objcost .objcost-info__cols{display:grid;grid-template-columns:minmax(0, 1fr);gap:clamp(40px, 4vw, 64px);}
.objcost .objcost-factors{margin:0;padding:0;list-style:none;}
.objcost .objcost-factors li{display:flex;align-items:center;gap:clamp(20px, 2vw, 36px);min-height:clamp(56px, 3.6vw, 68px);padding:10px 0;border-bottom:1px solid var(--objekt-color-line);font-size:clamp(16px, 1.05vw, 19px);line-height:1.4;color:var(--objekt-color-cream);}
.objcost .objcost-factors li:last-child{border-bottom:none;}
.objcost .objcost-factors__n{flex-shrink:0;min-width:1.6em;font-family:var(--objekt-font-heading);font-size:clamp(24px, 1.8vw, 34px);line-height:1;color:var(--objekt-color-accent);font-variant-numeric:lining-nums;}
.objcost .objcost-incl{margin:0;padding:0;list-style:none;}
.objcost .objcost-incl li{display:flex;align-items:center;gap:14px;padding:7px 0;font-size:clamp(16px, 1.05vw, 19px);line-height:1.4;color:var(--objekt-color-cream);}
.objcost .objcost-incl__ico{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;border-radius:50%;background:var(--objekt-color-accent);color:var(--objekt-color-bg);}
.objcost .objcost-incl__ico svg{width:18px;height:18px;}
.objcost .objcost-incl__ico--ring{background:transparent;border:1px solid rgba(169,150,125,0.7);}
.objcost .objcost-incl--sep li{color:rgba(245,242,237,0.8);}
.objcost .objcost-incl__sub{margin:clamp(20px, 1.8vw, 28px) 0 6px;font-family:var(--objekt-font-heading);font-size:clamp(19px, 1.3vw, 24px);line-height:1.2;color:var(--objekt-color-cream);}
.objcost .objcost-notes{margin-top:clamp(28px, 2.6vw, 44px);padding-top:clamp(16px, 1.4vw, 22px);border-top:1px solid var(--objekt-color-line);}
.objcost .objcost-notes p{margin:0;font-size:14px;line-height:1.6;color:rgba(245,242,237,0.7);}
.objcost .objcost-notes p + p{margin-top:4px;}
@media (min-width:1024px){
  .objcost .objcost-info__cols{grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);gap:0;}
  .objcost .objcost-info__col:first-child{padding-right:clamp(40px, 4vw, 80px);}
  .objcost .objcost-info__col + .objcost-info__col{padding-left:clamp(40px, 4vw, 80px);border-left:1px solid var(--objekt-color-line);}
  /* строки про договор и выезд — продолжают сетку колонок: каждая под своей колонкой */
  .objcost .objcost-notes{display:grid;grid-template-columns:minmax(0, 1fr) minmax(0, 1fr);}
  .objcost .objcost-notes p{font-size:15px;}
  .objcost .objcost-notes p:first-child{padding-right:clamp(40px, 4vw, 80px);}
  .objcost .objcost-notes p + p{margin-top:0;padding-left:clamp(40px, 4vw, 80px);}
}

/* форма в конце — отступ сверху как у остальных блоков */
.objcost .objr{scroll-margin-top:96px;}

@media (prefers-reduced-motion:reduce){
  .objcost.is-js [data-objcost-cards] .objcost-card,
  .objcost.is-js .objcost-rv{opacity:1;transform:none;transition:none;}
}
