/* ===== ТОРИОН ДОМ, tor-ion.ru: слой оформления поверх блоков лендинга =====
   Файлы блоков в /t/ общие с tor-energy.ru и здесь не правятся. Всё, что отличает вид этого сайта, — в этом файле:
   больше воздуха и крупнее заголовки, мягкие многослойные тени, подъём карточек при наведении, блики и стрелки на кнопках,
   плавное появление, растущие шкалы, движение фоновых фото при прокрутке. Удалить файл — блоки вернутся к исходному виду. */

::selection{background:#FF7A2B;color:#0B1626}

/* ---------- для проверочных снимков: адрес с #still показывает страницу без анимации появления ---------- */
html.t-still .trv,html.t-still .trv.is-wait{opacity:1!important;transform:none!important;transition:none!important}
html.t-still .tfl span{animation:none!important;background-position:0 0!important}
html.t-still .tln-m u{transform:none!important;transition:none!important}
html.t-still .tgn-row > div{opacity:1!important;transform:none!important}
html.t-still .tpage.tpage [class*="-eyebrow"]::before{width:28px!important;transition:none!important}

/* ---------- одинаковое расстояние между блоками ----------
   Между содержимым соседних блоков всегда два шага --tp: шаг снизу у верхнего блока и шаг сверху у нижнего.
   Тёмная полоса с вопросом в начале калькулятора считается отдельным блоком: по шагу над текстом, под текстом и до калькулятора */
.tpage{--tp:clamp(32px,4.17vw,64px)}
.tpage.tpage .thb{padding-bottom:var(--tp)}
.tpage.tpage .tcb > .tfl{padding-top:var(--tp)!important;padding-bottom:var(--tp)!important;margin-bottom:var(--tp)!important}
.tpage.tpage .tcb{padding-bottom:var(--tp)}
.tpage.tpage .tln-main{padding-top:var(--tp);padding-bottom:var(--tp)}
.tpage.tpage .tkb,.tpage.tpage .tgn,.tpage.tpage .tst,.tpage.tpage .tmk,.tpage.tpage .tfq,.tpage.tpage .tff{padding-top:var(--tp);padding-bottom:var(--tp)}

/* ---------- воздух и заголовки (только широкие экраны: на телефоне плотность блоков не меняется) ---------- */
@media (min-width:992px){
  .tpage.tpage section:not(.tff) h2{font-size:clamp(30px,2.9vw,44px);line-height:1.12;letter-spacing:-.024em}
  .tpage.tpage .tln-head,.tpage.tpage .tkb-head,.tpage.tpage .tgn-head,.tpage.tpage .tst-head,.tpage.tpage .tfq-head{margin-bottom:clamp(24px,2.4vw,40px)}
}

/* надзаголовок: тонкая линия перед текстом, вырастает при появлении блока */
.tpage.tpage section:not(.tff) [class*="-eyebrow"]{display:flex;align-items:center;gap:12px;letter-spacing:.14em}
.tpage.tpage section:not(.tff) [class*="-eyebrow"]::before{content:"";flex:none;width:28px;height:1px;background:currentColor;transition:width .9s cubic-bezier(.16,1,.3,1) .25s}
.tpage.tpage section:not(.tff) .is-wait [class*="-eyebrow"]::before,.tpage.tpage section:not(.tff) .is-wait[class*="-eyebrow"]::before{width:0}

/* ---------- появление: чуть дальше и с лёгким увеличением ---------- */
.tpage.tpage .trv.is-wait{transform:translateY(34px) scale(.985)}

/* ---------- карточки: мягкая многослойная тень, подъём при наведении ---------- */
.tpage.tpage .tln-card,.tpage.tpage .tkb-card,.tpage.tpage .tst-step,.tpage.tpage .tfq-item,.tpage.tpage .tgn-ask,.tpage.tpage .tln-ask,.tpage.tpage .tst-perks{
  box-shadow:0 0 0 1px rgba(15,37,71,.05),0 2px 4px rgba(15,37,71,.03),0 14px 28px -14px rgba(15,37,71,.14),0 44px 80px -44px rgba(15,37,71,.3)}
/* рекомендованная модель сохраняет оранжевую рамку */
.tpage.tpage .tln-card.is-reco{box-shadow:0 0 0 2px #FF7A2B,0 14px 28px -14px rgba(255,122,43,.22),0 44px 80px -44px rgba(255,122,43,.5)}
@media (hover:hover){
  .tpage.tpage .tln-card:not(.is-wait):hover,.tpage.tpage .tkb-card:not(.is-wait):hover,.tpage.tpage .tst-step:not(.is-wait):hover{
    transform:translateY(-6px);transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s cubic-bezier(.16,1,.3,1);
    box-shadow:0 0 0 1px rgba(15,37,71,.06),0 4px 8px rgba(15,37,71,.04),0 24px 40px -18px rgba(15,37,71,.2),0 60px 100px -48px rgba(15,37,71,.42)}
  .tpage.tpage .tln-card.is-reco:not(.is-wait):hover{box-shadow:0 0 0 2px #FF7A2B,0 24px 40px -18px rgba(255,122,43,.3),0 60px 100px -48px rgba(15,37,71,.42)}
  .tpage.tpage .tfq-item:not(.is-wait):hover{box-shadow:inset 2px 0 0 #FF7A2B,0 0 0 1px rgba(15,37,71,.06),0 20px 36px -18px rgba(15,37,71,.2),0 50px 90px -48px rgba(15,37,71,.36)}
  /* сценарии калькулятора */
  .tpage.tpage .tcb-scen button{transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s,border-color .3s,background .3s}
  .tpage.tpage .tcb-scen button:hover{transform:translateY(-3px);box-shadow:0 18px 30px -18px rgba(15,37,71,.35)}
  /* фото в карточках приближается */
  .tpage.tpage .tln-top img,.tpage.tpage .tst-step__img img,.tpage.tpage .tkb-photo img,.tpage.tpage .tcb-res__img img{transition:transform 1.1s cubic-bezier(.16,1,.3,1)}
  .tpage.tpage .tln-card:hover .tln-top img{transform:scale(1.05) translateY(-3px)}
  .tpage.tpage .tst-step:hover .tst-step__img img{transform:scale(1.06)}
  .tpage.tpage .tkb-photo:hover img{transform:scale(1.035)}
  .tpage.tpage .tcb-res:hover .tcb-res__img img{transform:scale(1.05) translateY(-3px)}
  /* номер шага */
  .tpage.tpage .tst-step__h i{transition:transform .45s cubic-bezier(.16,1,.3,1),box-shadow .45s}
  .tpage.tpage .tst-step:hover .tst-step__h i{transform:scale(1.1);box-shadow:0 10px 22px -8px rgba(255,122,43,.8)}
  /* строки сравнения с генератором */
  .tpage.tpage .tgn-row > div{transition:background .3s}
  .tpage.tpage .tgn-row:hover > .tgn-a,.tpage.tpage .tgn-row:hover > .tgn-b{background:#fff}
  /* преимущества */
  .tpage.tpage .tmk-feats li > i,.tpage.tpage .tst-perks li > i,.tpage.tpage .tkb-perks li > i{transition:transform .45s cubic-bezier(.16,1,.3,1)}
  .tpage.tpage .tmk-feats li:hover > i,.tpage.tpage .tst-perks li:hover > i,.tpage.tpage .tkb-perks li:hover > i{transform:translateY(-3px) scale(1.06)}
}

/* ---------- кнопки: стрелка сдвигается, по оранжевым пробегает блик ---------- */
.tpage.tpage button > svg.ic,.tpage.tpage .tfq-more em svg{transition:transform .4s cubic-bezier(.16,1,.3,1)}
.tpage.tpage .tln-btn--fill,.tpage.tpage .tcb-btn,.tpage.tpage .tgn-btn,.tpage.tpage .tst-btn,.tpage.tpage .tff-btn,.tpage.tpage .thb-btn{position:relative;overflow:hidden}
.tpage.tpage .tln-btn--fill::after,.tpage.tpage .tcb-btn::after,.tpage.tpage .tgn-btn::after,.tpage.tpage .tst-btn::after,.tpage.tpage .tff-btn::after,.tpage.tpage .thb-btn::after{content:"";position:absolute;top:0;bottom:0;left:0;width:46%;pointer-events:none;
  background:linear-gradient(100deg,rgba(255,255,255,0) 0,rgba(255,255,255,.42) 50%,rgba(255,255,255,0) 100%);transform:translateX(-130%) skewX(-12deg)}
@media (hover:hover){
  .tpage.tpage button:hover > svg.ic,.tpage.tpage .tfq-more:hover em svg{transform:translateX(5px)}
  .tpage.tpage .tln-cmp-btn:hover > svg.ic{transform:none}
  .tpage.tpage .tln-btn--fill:hover::after,.tpage.tpage .tcb-btn:hover::after,.tpage.tpage .tgn-btn:hover::after,.tpage.tpage .tst-btn:hover::after,.tpage.tpage .tff-btn:hover::after,.tpage.tpage .thb-btn:hover::after{transform:translateX(330%) skewX(-12deg);transition:transform .8s cubic-bezier(.2,.7,.2,1)}
}

/* ---------- шкалы в карточках моделей вырастают, когда карточка появилась ---------- */
.tpage.tpage .tln-m u{transform-origin:0 50%;transition:transform 1.5s cubic-bezier(.16,1,.3,1) .45s}
.tpage.tpage .tln-card.is-wait .tln-m u{transform:scaleX(0)}

/* ---------- тёмные блоки: стекло и свечение ---------- */
.tpage.tpage .thb-panel{background:linear-gradient(180deg,rgba(255,255,255,.075) 0,rgba(255,255,255,.02) 100%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 40px 80px -40px rgba(0,0,0,.7),inset 0 1px 0 rgba(255,255,255,.08)}
.tpage.tpage .thb-hours strong,.tpage.tpage .tcb-hours strong{text-shadow:0 0 34px rgba(255,122,43,.45)}
.tpage.tpage .thb-status li{transition:background .35s,border-color .35s,transform .45s cubic-bezier(.16,1,.3,1)}
@media (hover:hover){.tpage.tpage .thb-status li:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.26);transform:translateY(-2px)}}
.tpage.tpage .tcb-res{box-shadow:0 0 0 1px rgba(255,255,255,.06) inset,0 30px 60px -30px rgba(7,15,29,.75),0 70px 120px -60px rgba(7,15,29,.6)}
.tpage.tpage .tff-box{box-shadow:0 0 0 1px rgba(15,37,71,.08),0 40px 80px -40px rgba(7,15,29,.6),0 90px 140px -70px rgba(7,15,29,.5)}

/* ---------- вопросы: ответ раскрывается плавно ---------- */
@keyframes tp-open{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.tpage.tpage .tfq-item[open] > .tfq-a{animation:tp-open .55s cubic-bezier(.16,1,.3,1)}
.tpage.tpage .tfq-item summary svg{transition:transform .45s cubic-bezier(.16,1,.3,1)}

/* ---------- поля формы ---------- */
.tpage.tpage .tff-f input{transition:border-color .3s,box-shadow .3s,background .3s}
.tpage.tpage .tff-f input:focus{box-shadow:0 0 0 4px rgba(25,68,115,.12)}

/* ---------- фоновое фото блока моделей едет медленнее страницы ---------- */
@keyframes tp-drift{from{transform:translateY(-5%) scale(1.12)}to{transform:translateY(5%) scale(1.12)}}
@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){
  .tpage.tpage .tln-bg img{animation:tp-drift linear both;animation-timeline:view();animation-range:entry 0% exit 100%}
}}

/* на телефоне кнопка «Посмотреть сертификаты» выходила за правый край экрана */
@media (max-width:767px){
  .tpage.tpage .tmk-btn{max-width:100%;padding-left:12px;padding-right:12px;gap:8px;white-space:normal;font-size:14px}
}

@media (prefers-reduced-motion:reduce){
  .tpage.tpage .trv.is-wait{transform:none}
  .tpage.tpage .tln-m u,.tpage.tpage [class*="-eyebrow"]::before{transition:none!important}
  .tpage.tpage .tfq-item[open] > .tfq-a{animation:none}
  .tpage.tpage .tln-card:hover,.tpage.tpage .tkb-card:hover,.tpage.tpage .tst-step:hover{transform:none!important}
}
