/* ==========================================================================
   tovpsiholog.ru — главная страница (тёмная тема).
   Подключается после style.css. Все блоки — только для body.home.
   ========================================================================== */

.home{background:#0B1420;color:var(--ecru)}
.home .ftr{background:#0B1420}
.home ::selection{background:var(--terra);color:var(--ecru)}

/* тёмная шапка */
.home .hdr__nav{color:rgba(244,235,219,.72)}
.home .hdr__nav a.is-active{color:var(--bronze)}
.home .hdr__burger{border-color:rgba(185,138,84,.6)}
.home .hdr__burger span{background:var(--ecru)}
.home .btn--ghost{border-color:rgba(185,138,84,.75);color:var(--ecru)}
.home .btn--ghost:hover{background:rgba(185,138,84,.2);color:var(--ecru)}
.home .hdr.is-open .hdr__nav{background:#16222F;box-shadow:0 18px 44px rgba(0,0,0,.5)}

/* общие элементы тёмных секций */
.home .h2{color:var(--ecru)}
.home-sec{position:relative;padding:clamp(64px,7.6vw,110px) 0;overflow:hidden}
.home-head{display:flex;align-items:baseline;gap:clamp(16px,1.8vw,26px);position:relative;z-index:1}
.home-head__num{flex:none;font-family:var(--font-d);font-size:clamp(38px,4.2vw,60px);line-height:1;color:rgba(185,138,84,.9)}
.home-kicker{font-size:clamp(11px,1vw,12.5px);font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:rgba(185,138,84,.95)}
.home-head .h2{margin-top:12px;font-size:clamp(40px,6.2vw,88px);letter-spacing:.05em}

.home-list{display:flex;flex-direction:column;gap:15px}
.home-list li{display:grid;grid-template-columns:20px 1fr;gap:16px;align-items:start;font-size:clamp(16px,1.3vw,18px);line-height:1.5;color:rgba(244,235,219,.88)}
.home-list li::before{content:'';width:14px;height:1px;background:rgba(185,138,84,.85);margin-top:13px}
.home-list b{font-weight:600;color:var(--ecru)}

/* --- первый экран ------------------------------------------------------- */
.home-hero{position:relative;overflow:hidden;background:#0B1420;padding:clamp(96px,9vw,140px) 0 0}
.home-hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:44% 24%;filter:blur(110px) saturate(.35) brightness(.16)}
.home-hero__veil{position:absolute;inset:0;background:
  radial-gradient(40% 40% at 30% 40%,rgba(129,97,62,.16) 0%,rgba(11,20,32,0) 68%),
  radial-gradient(110% 95% at 30% 42%,rgba(11,20,32,.72) 0%,#0B1420 62%)}

.home-hero__inner{position:relative;z-index:1;width:100%;max-width:var(--maxw);margin:0 auto;padding:0 var(--pad);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,620px);grid-template-areas:"photo top" "photo body";
  column-gap:clamp(24px,3vw,50px);align-items:end}
.home-hero__photo{grid-area:photo;align-self:end;justify-self:start;height:clamp(500px,57vw,816px);width:auto;max-width:none;
  filter:sepia(.16) saturate(.9) contrast(1.05) brightness(1.02);
  mask-image:linear-gradient(to bottom,#000 62%,rgba(0,0,0,.55) 88%,transparent 100%);
  -webkit-mask-image:linear-gradient(to bottom,#000 62%,rgba(0,0,0,.55) 88%,transparent 100%)}
.home-hero__top{grid-area:top;align-self:end}
.home-hero__body{grid-area:body;align-self:end;padding-bottom:clamp(56px,7vw,110px)}
.home-hero__name{margin:22px 0 0;font-family:var(--font-d);font-size:clamp(54px,8vw,116px);line-height:.92;letter-spacing:.05em;text-transform:uppercase;color:var(--ecru)}
.home-hero__name span{color:var(--bronze)}
.home-hero__about{display:flex;align-items:flex-start;gap:22px;margin-top:clamp(26px,3vw,44px)}
.home-hero__about::before{content:'';flex:none;width:58px;height:1px;background:rgba(185,138,84,.8);margin-top:14px}
.home-hero__role{font-size:clamp(15px,1.3vw,17px);font-weight:500;line-height:1.5;color:rgba(244,235,219,.95)}
.home-hero__lead{margin-top:14px;font-size:clamp(18px,1.8vw,23px);line-height:1.5;color:rgba(244,235,219,.72)}
.home-hero__cta{margin-top:clamp(30px,3.4vw,48px)}

/* вертикальный рейл соцсетей */
.home-rail{position:absolute;left:clamp(10px,1.4vw,34px);top:0;bottom:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:30px}
.home-rail::before,.home-rail::after{content:'';width:1px;height:96px;background:linear-gradient(to bottom,rgba(185,138,84,0),rgba(185,138,84,.7))}
.home-rail::after{background:linear-gradient(to top,rgba(185,138,84,0),rgba(185,138,84,.7))}
.home-rail a{writing-mode:vertical-rl;transform:rotate(180deg);font-size:11.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:rgba(244,235,219,.68)}
.home-rail a:hover{color:var(--bronze)}
.home-hero__soc{display:none}

/* --- 02 обо мне -------------------------------------------------------- */
.home-about__photo{position:absolute;right:clamp(-90px,-4vw,0px);top:clamp(180px,17vw,240px);width:min(720px,52%);z-index:0;
  filter:sepia(.14) saturate(.92) contrast(1.04) brightness(1.01);
  mask-image:linear-gradient(to bottom,#000 90%,rgba(0,0,0,.5) 97%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 90%,rgba(0,0,0,.5) 97%,transparent 100%)}
.home-about__body{position:relative;z-index:1;width:min(790px,100%);margin-top:clamp(40px,5vw,64px);display:flex;flex-direction:column;gap:clamp(30px,3.4vw,42px)}
.home-group{display:grid;grid-template-columns:186px minmax(0,1fr);gap:clamp(18px,2.4vw,32px);align-items:start}
.home-group__label{font-size:12px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(185,138,84,.9);line-height:1.5;padding-top:5px}

/* --- 03 услуги ---------------------------------------------------------- */
.srv{margin-top:clamp(40px,5vw,64px);display:flex;flex-direction:column}
.srv__row{display:grid;grid-template-columns:104px minmax(0,1fr) auto;gap:clamp(16px,2.4vw,32px);align-items:center;
  padding:clamp(20px,2.2vw,26px) clamp(14px,1.8vw,24px);margin:0 calc(-1 * clamp(14px,1.8vw,24px));
  border-top:1px solid rgba(185,138,84,.34);color:var(--ecru);
  transition:background-color .25s ease,border-color .25s ease,color .25s ease}
.srv__row:last-child{border-bottom:1px solid rgba(185,138,84,.34)}
.srv__row:hover{border-top-color:var(--bronze);color:var(--ecru);background:rgba(185,138,84,.12)}
.srv__row:hover .srv__num{color:var(--bronze)}
.srv__row:hover .srv__act{color:var(--bronze)}
.srv__row--book:hover{background:rgba(176,83,47,.26)}
.srv__row--book:hover .srv__num,.srv__row--book:hover .srv__act{color:var(--terra)}
.srv__num,.srv__act{transition:color .25s ease}
.srv__num{font-family:var(--font-d);font-size:clamp(26px,2.6vw,34px);letter-spacing:.06em;color:rgba(185,138,84,.85)}
.srv__name{font-family:var(--font-d);font-size:clamp(30px,4vw,52px);line-height:1;letter-spacing:.04em;text-transform:uppercase}
.srv__act{font-size:11.5px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(244,235,219,.55);white-space:nowrap}
.srv__row--book{background:rgba(176,83,47,.15)}
.srv__row--book .srv__num{color:var(--terra)}
.srv__row--book .srv__act{color:rgba(244,235,219,.72)}

/* --- 04 СМИ ------------------------------------------------------------- */
.media__lead{display:grid;grid-template-columns:3px minmax(0,1fr);gap:clamp(16px,2vw,26px);align-items:start;
  margin-top:clamp(36px,4.4vw,58px);max-width:1000px}
.media__lead::before{content:'';height:100%;min-height:60px;background:var(--terra)}
.media__lead p{font-size:clamp(19px,2.2vw,26px);font-weight:500;line-height:1.4;letter-spacing:.04em;color:var(--bronze)}
.media__grid{margin-top:clamp(34px,4vw,50px);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid rgba(185,138,84,.4)}
.media__grid span:nth-child(5n+1){border-left:0}
.media__grid span{display:flex;align-items:center;justify-content:center;text-align:center;
  border-bottom:1px solid rgba(185,138,84,.4);border-left:1px solid rgba(185,138,84,.4);
  padding:clamp(16px,1.8vw,22px) 10px;font-size:clamp(14px,1.5vw,19px);font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ecru)}

/* --- 05 контакты -------------------------------------------------------- */
.home-contacts{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:clamp(36px,5vw,80px);align-items:start;margin-top:clamp(40px,5vw,64px)}
.home-contacts p{font-size:clamp(21px,2.5vw,30px);line-height:1.4;color:var(--ecru);max-width:660px}
.home-contacts__soc{display:flex;flex-direction:column;gap:18px}
.home-contacts__soc-t{font-size:11.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:rgba(185,138,84,.9)}
.home-contacts__soc a{font-size:clamp(15px,1.5vw,18px);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(244,235,219,.9);padding-bottom:12px;border-bottom:1px solid rgba(185,138,84,.35)}
.home-contacts__soc a:hover{border-bottom-color:var(--terra);color:var(--ecru)}

/* --- адаптив ------------------------------------------------------------ */
@media (max-width:1200px){
  .home-rail{display:none}
  .home-hero__soc{display:flex;flex-wrap:wrap;justify-content:center;gap:16px 26px;margin-top:34px;
    font-size:11.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:rgba(244,235,219,.7)}
  .home-hero__soc a{padding-bottom:7px;border-bottom:1px solid rgba(185,138,84,.4)}
  .home-hero__soc a:hover{border-bottom-color:var(--terra);color:var(--ecru)}

  .home-hero{padding-top:clamp(96px,13vw,126px)}
  .home-hero__inner{grid-template-columns:minmax(0,1fr);grid-template-areas:"top" "photo" "body";row-gap:0}
  .home-hero__top{text-align:center}
  .home-hero__photo{justify-self:center;height:auto;width:min(470px,86%);margin-top:clamp(-30px,-4vw,-10px)}
  .home-hero__body{padding-bottom:clamp(48px,7vw,72px);text-align:center;margin-top:clamp(-40px,-6vw,-20px)}
  .home-hero__about{justify-content:center;text-align:left;max-width:560px;margin-left:auto;margin-right:auto}
  .home-hero__cta{display:inline-flex}

  .home-about__photo{display:none}
  .home-about__body{width:100%}
  .home-contacts{grid-template-columns:minmax(0,1fr)}
  .media__grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .media__grid span:nth-child(5n+1){border-left:1px solid rgba(185,138,84,.4)}
  .media__grid span:nth-child(3n+1){border-left:0}
}

@media (max-width:900px){
  .home-group{grid-template-columns:minmax(0,1fr);gap:14px}
  .home-group__label{padding-top:0}
  .srv__row{grid-template-columns:64px minmax(0,1fr);row-gap:8px}
  .srv__act{grid-column:2;justify-self:start}
}

@media (max-width:640px){
  .home-hero__about{flex-direction:column;align-items:center;gap:14px;text-align:center}
  .home-hero__about::before{margin-top:4px}
  .home-hero__name{margin-top:16px}
  .home-hero__photo{width:min(400px,92%)}
  .home-hero__cta{width:100%}
  .media__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .media__grid span:nth-child(3n+1){border-left:1px solid rgba(185,138,84,.4)}
  .media__grid span:nth-child(odd){border-left:0}
  .home-head{flex-direction:column;align-items:flex-start;gap:10px}
  .srv__row{grid-template-columns:52px minmax(0,1fr)}
}
