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

/* --- первый экран услуги ------------------------------------------------ */
.srvp-hero{position:relative;overflow:hidden;background:#0B1420;padding:clamp(104px,10vw,148px) 0 0}
.srvp-hero__glow{position:absolute;inset:0;background:
  radial-gradient(38% 38% at 70% 46%,rgba(129,97,62,.14) 0%,rgba(11,20,32,0) 68%),
  radial-gradient(110% 95% at 70% 46%,rgba(11,20,32,.6) 0%,#0B1420 62%)}
.srvp-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,720px) minmax(0,1fr);column-gap:clamp(24px,3vw,50px);align-items:end}
.srvp-hero__body{padding-bottom:clamp(56px,7vw,104px)}
.srvp-hero__photo{align-self:end;justify-self:end;height:clamp(420px,50vw,730px);width:auto;max-width:none;
  filter:sepia(.12) saturate(.94) contrast(1.04) brightness(1.04);
  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%)}
.srvp-h1{margin:22px 0 0;font-family:var(--font-d);font-size:clamp(42px,6vw,78px);line-height:1.06;
  letter-spacing:.04em;text-transform:uppercase;color:var(--ecru)}
.srvp-h1 span{color:var(--bronze)}
.srvp-hero__facts{margin-top:clamp(26px,3vw,34px)}
.srvp-hero__btns{margin-top:clamp(28px,3.4vw,38px);display:flex;flex-wrap:wrap;align-items:center;gap:clamp(18px,2.4vw,30px)}
.srvp-hero__link{font-size:12.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(244,235,219,.72);padding-bottom:6px;border-bottom:1px solid rgba(185,138,84,.45)}
.srvp-hero__link:hover{color:var(--ecru);border-bottom-color:var(--terra)}

/* --- карточки-плитки ---------------------------------------------------- */
.tiles{position:relative;z-index:1;margin-top:clamp(36px,4.6vw,62px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,1.7vw,24px)}
.tile{padding:clamp(26px,3vw,40px);border-radius:8px;background:rgba(185,138,84,.1);border:1px solid rgba(185,138,84,.28);
  transition:background-color .25s ease,border-color .25s ease}
.tile:hover{background:rgba(185,138,84,.16);border-color:rgba(185,138,84,.5)}
.tile__t{font-family:var(--font-d);font-size:clamp(27px,3vw,40px);line-height:1.05;letter-spacing:.04em;text-transform:uppercase;color:var(--ecru)}
.tile__ln{width:56px;height:1px;background:rgba(185,138,84,.8);margin:clamp(16px,2vw,22px) 0}
.tile p{font-size:clamp(16px,1.35vw,18px);line-height:1.55;color:rgba(244,235,219,.82)}
.tile--accent{background:rgba(176,83,47,.15);border-color:rgba(176,83,47,.5);display:flex;flex-direction:column;justify-content:center}
.tile--accent:hover{background:rgba(176,83,47,.24);border-color:rgba(176,83,47,.7)}
.tile--accent p{font-size:clamp(18px,1.7vw,22px);font-weight:500;color:var(--ecru)}

/* --- метод и подход ----------------------------------------------------- */
.method{position:relative;z-index:1;margin-top:clamp(38px,4.8vw,64px);display:grid;
  grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:clamp(28px,4.4vw,64px);align-items:start}
.method__photo{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 20%;border-radius:8px;
  filter:sepia(.14) saturate(.92) contrast(1.04) brightness(1.02)}
.method__body{display:flex;flex-direction:column;gap:clamp(24px,2.6vw,34px);padding-top:6px}
.method__body p{font-size:clamp(16px,1.5vw,19px);line-height:1.6;color:rgba(244,235,219,.8)}
.method__lead{font-size:clamp(19px,1.9vw,23px)!important;line-height:1.55!important;color:var(--ecru)!important}
.method__rule{height:1px;background:linear-gradient(to right,rgba(185,138,84,.6),rgba(185,138,84,0))}
.tags{display:flex;flex-wrap:wrap;gap:12px}
.tag{padding:13px 20px;border-radius:8px;background:rgba(185,138,84,.15);font-size:clamp(12px,1.05vw,14px);
  font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--ecru)}

/* --- почему именно я ---------------------------------------------------- */
.why{position:relative;z-index:1;margin-top:clamp(38px,5vw,66px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,1.7vw,24px)}
.why__card{display:flex;flex-direction:column;padding:clamp(28px,3.2vw,44px) clamp(24px,2.8vw,40px);border-radius:8px;
  background:rgba(185,138,84,.1);border:1px solid rgba(185,138,84,.28);transition:background-color .25s ease,border-color .25s ease}
.why__card:hover{background:rgba(185,138,84,.16);border-color:rgba(185,138,84,.5)}
.why__num{display:flex;align-items:center;justify-content:center;flex:none;width:66px;height:66px;border-radius:50%;
  border:2px solid rgba(185,138,84,.6);font-family:var(--font-d);font-size:28px;line-height:1;letter-spacing:.04em;color:var(--bronze)}
.why__t{margin-top:26px;font-family:var(--font-d);font-size:clamp(26px,2.7vw,38px);line-height:1.05;letter-spacing:.04em;text-transform:uppercase;color:var(--ecru)}
.why__ln{width:56px;height:1px;background:rgba(185,138,84,.8);margin:clamp(18px,2.2vw,24px) 0}
.why__card p{font-size:clamp(16px,1.35vw,18px);line-height:1.6;color:rgba(244,235,219,.82)}

/* --- стоимость ---------------------------------------------------------- */
.price{position:relative;z-index:1;margin-top:clamp(38px,5vw,66px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,1.7vw,24px)}
.price__card{display:flex;flex-direction:column;padding:clamp(30px,3.4vw,48px) clamp(26px,3.2vw,44px);border-radius:8px;
  background:rgba(185,138,84,.1);border:1px solid rgba(185,138,84,.28)}
.price__label{font-size:12px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:rgba(185,138,84,.95)}
.price__val{margin-top:22px;display:flex;align-items:baseline;gap:14px}
.price__num{font-family:var(--font-d);font-size:clamp(54px,7vw,84px);line-height:.9;letter-spacing:.03em;color:var(--ecru);white-space:nowrap}
.price__cur{font-size:clamp(15px,1.4vw,17px);font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:rgba(185,138,84,.95)}
.price__ln{width:56px;height:1px;background:rgba(185,138,84,.8);margin:clamp(20px,2.6vw,28px) 0}
.price__card p{font-size:clamp(16px,1.35vw,18px);line-height:1.6;color:rgba(244,235,219,.84)}
.price__meta{display:flex;flex-wrap:wrap;gap:clamp(18px,2.4vw,28px);margin:26px 0 clamp(28px,3.4vw,42px);font-size:13.5px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;color:rgba(244,235,219,.62)}
.price__card .btn{margin-top:auto;align-self:flex-start}

/* --- другие форматы (строки как в услугах на главной) ------------------- */
.other{position:relative;z-index:1;margin-top:clamp(48px,6vw,74px)}
.other__label{font-size:12.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:rgba(185,138,84,.95)}
.other .srv{margin-top:clamp(22px,2.6vw,28px)}
.other .srv__row{grid-template-columns:minmax(0,1fr) auto}
.other__name{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px 22px}
.other__name .srv__name{font-size:clamp(26px,3.2vw,44px)}
.other__note{font-size:clamp(15px,1.3vw,17px);color:rgba(244,235,219,.7)}

/* --- лид под заголовком ------------------------------------------------- */
.srvp-lead{position:relative;z-index:1;margin-top:clamp(30px,3.6vw,52px);max-width:660px;
  font-size:clamp(18px,1.9vw,23px);line-height:1.55;color:rgba(244,235,219,.82)}

/* --- адаптив ------------------------------------------------------------ */
@media (max-width:1200px){
  .srvp-hero{padding-top:clamp(96px,13vw,126px)}
  .srvp-hero__inner{grid-template-columns:minmax(0,1fr);grid-template-areas:"body" "photo";row-gap:0}
  .srvp-hero__body{grid-area:body;padding-bottom:0;text-align:center}
  .srvp-hero__photo{grid-area:photo;justify-self:center;height:auto;width:min(470px,86%);margin-top:clamp(14px,3vw,34px)}
  .srvp-hero__facts{max-width:520px;margin-left:auto;margin-right:auto;text-align:left}
  .srvp-hero__btns{justify-content:center}
  .srvp-lead{margin-left:auto;margin-right:auto}
  .method{grid-template-columns:minmax(0,1fr);gap:clamp(24px,3.4vw,36px)}
  .method__photo{aspect-ratio:4/3;max-height:560px;object-position:50% 0}
  .why{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
  .why__t{font-size:clamp(22px,3.4vw,30px)}
}

@media (max-width:900px){
  .tiles{grid-template-columns:minmax(0,1fr)}
  .why{grid-template-columns:minmax(0,1fr)}
  .price{grid-template-columns:minmax(0,1fr)}
  .other .srv__row{grid-template-columns:minmax(0,1fr);row-gap:10px}
  .other .srv__act{justify-self:start}
}

@media (max-width:640px){
  .srvp-h1{font-size:clamp(38px,10vw,54px)}
  .srvp-hero__btns .btn{width:100%}
  .srvp-hero__link{align-self:center}
  .price__card .btn{width:100%}
}

/* --- плитка с надзаголовком (широкие карточки) -------------------------- */
.tile__label{font-size:11.5px;font-weight:600;letter-spacing:.24em;text-transform:uppercase;color:rgba(185,138,84,.95)}
.tile--wide p{font-size:clamp(17px,1.7vw,21px);line-height:1.55;color:rgba(244,235,219,.86)}
.tile--wide.tile--accent p{color:var(--ecru)}

/* --- список запросов с бронзовым ромбом --------------------------------- */
.qlist{position:relative;z-index:1;margin-top:clamp(38px,5vw,66px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(28px,4vw,56px);row-gap:clamp(18px,2vw,24px)}
.q{display:grid;grid-template-columns:34px minmax(0,1fr);gap:clamp(14px,1.6vw,22px);align-items:start;
  padding-bottom:clamp(18px,2vw,24px);border-bottom:1px solid rgba(185,138,84,.28)}
.q::before{content:'';width:14px;height:14px;margin:12px 0 0 6px;background:var(--bronze);transform:rotate(45deg)}
.q__t{font-family:var(--font-d);font-size:clamp(24px,2.5vw,34px);line-height:1.05;letter-spacing:.04em;text-transform:uppercase;color:var(--ecru)}
.q p{margin-top:12px;font-size:clamp(16px,1.35vw,18px);line-height:1.55;color:rgba(244,235,219,.82)}

/* --- плашка-сноска ------------------------------------------------------ */
.note-plate{position:relative;z-index:1;margin-top:clamp(30px,3.6vw,44px);padding:clamp(24px,2.8vw,34px) clamp(24px,3.2vw,40px);
  border-radius:8px;background:rgba(176,83,47,.15);border:1px solid rgba(176,83,47,.5)}
.note-plate p{max-width:1020px;font-size:clamp(17px,1.6vw,20px);line-height:1.55;color:var(--ecru)}

/* --- аккордеон «частые вопросы» ----------------------------------------- */
.faq{position:relative;z-index:1;margin-top:clamp(36px,4.6vw,62px);display:flex;flex-direction:column;border-bottom:1px solid rgba(185,138,84,.34)}
.faq__item{border-top:1px solid rgba(185,138,84,.34)}
.faq__q{display:flex;align-items:baseline;justify-content:space-between;gap:clamp(20px,3vw,40px);width:100%;
  padding:clamp(22px,2.6vw,30px) 0;border:0;background:transparent;cursor:pointer;text-align:left;
  font-family:var(--font-d);font-size:clamp(22px,2.6vw,36px);line-height:1.05;letter-spacing:.04em;text-transform:uppercase;color:var(--ecru);
  transition:color .25s ease}
.faq__q:hover{color:var(--bronze)}
.faq__sign{flex:none;font-family:var(--font-t);font-size:clamp(24px,2.2vw,30px);font-weight:300;line-height:1;color:var(--bronze);
  transition:transform .4s cubic-bezier(.4,0,.2,1)}
.faq__item.is-open .faq__sign{transform:rotate(135deg)}
.faq__a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .42s cubic-bezier(.4,0,.2,1),opacity .3s ease;opacity:0}
.faq__item.is-open .faq__a{grid-template-rows:1fr;opacity:1}
.faq__a > div{overflow:hidden}
.faq__a p{padding-bottom:clamp(26px,3vw,34px);max-width:1060px;font-size:clamp(16px,1.35vw,18px);line-height:1.6;color:rgba(244,235,219,.82)}
@media (prefers-reduced-motion:reduce){.faq__a,.faq__sign{transition:none}}

/* --- вторая строка под CTA первого экрана ------------------------------- */
.srvp-hero__aside{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px;margin-top:18px;
  font-size:12.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(244,235,219,.72)}
.srvp-hero__aside a{color:var(--bronze);padding-bottom:5px;border-bottom:1px solid rgba(185,138,84,.55)}
.srvp-hero__aside a:hover{border-bottom-color:var(--terra);color:var(--bronze)}

@media (max-width:900px){
  .qlist{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:1200px){
  .srvp-hero__aside{justify-content:center}
}

/* --- ситуации: 3 колонки + пара карточек-выводов ------------------------ */
.tiles--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.tiles--sum{margin-top:clamp(16px,1.7vw,24px)}
@media (max-width:1100px){.tiles--3{grid-template-columns:repeat(2,minmax(0,1fr))}.tiles--3 .tile:last-child{grid-column:1/-1}}
@media (max-width:900px){.tiles--3{grid-template-columns:minmax(0,1fr)}}

/* --- вступление в две колонки (супервизия) ------------------------------ */
.dual{position:relative;z-index:1;margin-top:clamp(36px,4.8vw,72px);display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(30px,5vw,80px);align-items:start}
.dual__rule{width:64px;height:2px;background:var(--bronze)}
.dual__rule--dim{background:rgba(185,138,84,.4)}
.dual__lead{margin-top:clamp(22px,2.4vw,30px);font-size:clamp(20px,2.3vw,26px);line-height:1.5;color:var(--ecru)}
.dual__body{margin-top:clamp(22px,2.4vw,30px);font-size:clamp(16px,1.6vw,19px);line-height:1.7;color:rgba(244,235,219,.84)}

/* --- индикатор ---------------------------------------------------------- */
.indicator{position:relative;z-index:1;margin-top:clamp(40px,5.6vw,84px);display:grid;grid-template-columns:360px minmax(0,1fr);
  border-radius:8px;overflow:hidden;border:1px solid rgba(176,83,47,.5)}
.indicator__mark{display:flex;align-items:center;justify-content:center;min-height:250px}
.indicator__mark span{display:flex;align-items:center;justify-content:center;width:112px;height:112px;border-radius:50%;
  border:2px solid rgba(176,83,47,.75);font-family:var(--font-d);font-size:82px;line-height:.9;color:var(--terra)}
.indicator__body{padding:clamp(28px,3.4vw,44px) clamp(26px,3.6vw,46px);background:rgba(176,83,47,.15)}
.indicator__body p{margin-top:18px;font-size:clamp(18px,1.9vw,22px);line-height:1.55;color:var(--ecru)}

/* --- шаги (4 карточки) -------------------------------------------------- */
.why--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.why--4 .why__card{padding:clamp(28px,3.2vw,44px) clamp(22px,2.4vw,32px)}
.why--4 .why__t{font-size:clamp(24px,2.4vw,32px)}
.note-plate .tile__label{display:block;margin-bottom:18px}

/* --- почему рекомендуют (строки) ---------------------------------------- */
.reco{position:relative;z-index:1;margin-top:clamp(36px,4.6vw,62px);display:flex;flex-direction:column;border-bottom:1px solid rgba(185,138,84,.34)}
.reco__row{display:grid;grid-template-columns:34px minmax(0,340px) minmax(0,1fr);gap:clamp(18px,3vw,40px);align-items:start;
  padding:clamp(24px,3vw,34px) 0;border-top:1px solid rgba(185,138,84,.34)}
.reco__row::before{content:'';width:14px;height:14px;margin:12px 0 0 6px;background:var(--bronze);transform:rotate(45deg)}
.reco__t{font-family:var(--font-d);font-size:clamp(24px,2.5vw,34px);line-height:1.05;letter-spacing:.04em;text-transform:uppercase;color:var(--ecru)}
.reco__row p{font-size:clamp(16px,1.6vw,19px);line-height:1.6;color:rgba(244,235,219,.84)}

/* --- карточка «для команд» ---------------------------------------------- */
.team{position:relative;z-index:1;margin-top:clamp(16px,1.7vw,24px);display:grid;grid-template-columns:minmax(0,1fr) auto;
  gap:clamp(26px,4vw,56px);align-items:center;padding:clamp(30px,3.2vw,44px);border-radius:8px;
  background:rgba(185,138,84,.1);border:1px solid rgba(185,138,84,.28)}
.team p{margin-top:20px;max-width:900px;font-size:clamp(17px,1.6vw,20px);line-height:1.55;color:rgba(244,235,219,.84)}
.team__side{display:flex;flex-direction:column;gap:22px;align-items:flex-start}
.team__price{font-family:var(--font-d);font-size:clamp(32px,3.6vw,44px);line-height:.9;letter-spacing:.03em;text-transform:uppercase;color:var(--ecru);white-space:nowrap}

@media (max-width:1100px){
  .why--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1000px){
  .dual{grid-template-columns:minmax(0,1fr);gap:clamp(24px,3.4vw,36px)}
  .reco__row{grid-template-columns:34px minmax(0,1fr);row-gap:12px}
  .reco__row p{grid-column:2}
}
@media (max-width:900px){
  .indicator{grid-template-columns:minmax(0,1fr)}
  .indicator__mark{min-height:0;padding:34px 0 6px}
  .why--4{grid-template-columns:minmax(0,1fr)}
  .team{grid-template-columns:minmax(0,1fr)}
  .team__side{width:100%}
  .team__side .btn{width:100%}
}

/* --- 404 ---------------------------------------------------------------- */
.nf{position:relative;overflow:hidden;background:#0B1420;min-height:100svh;display:grid;align-items:center;
  padding:clamp(120px,14vw,170px) 0 clamp(56px,7vw,96px)}
.nf__glow{position:absolute;inset:0;background:
  radial-gradient(40% 40% at 50% 46%,rgba(129,97,62,.14) 0%,rgba(11,20,32,0) 68%),
  radial-gradient(110% 95% at 50% 46%,rgba(11,20,32,.6) 0%,#0B1420 62%)}
.nf__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start}
.nf__num{font-family:var(--font-d);font-size:clamp(120px,22vw,300px);line-height:.82;letter-spacing:.04em;color:var(--bronze)}
.nf__t{margin-top:clamp(18px,2.4vw,30px);font-family:var(--font-d);font-size:clamp(34px,5vw,72px);line-height:.96;
  letter-spacing:.05em;text-transform:uppercase;color:var(--ecru)}
.nf__lead{margin-top:clamp(18px,2vw,26px);max-width:620px;font-size:clamp(17px,1.8vw,22px);line-height:1.55;color:rgba(244,235,219,.78)}
.nf__btns{margin-top:clamp(28px,3.4vw,42px);display:flex;flex-wrap:wrap;gap:18px}
.nf__links{margin-top:clamp(38px,4.6vw,60px);padding-top:clamp(22px,2.6vw,30px);border-top:1px solid rgba(185,138,84,.4);
  display:flex;flex-wrap:wrap;gap:16px 34px;font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,235,219,.72)}
.nf__links a:hover{color:var(--bronze)}
@media (max-width:640px){
  .nf__btns{width:100%}
  .nf__btns .btn{width:100%}
}
