/* ТСЕ — АО «Техносервис СК». Стиль — по презентации компании: графит, лайм, тёплый белый. */

@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/montserrat-cyrillic-700.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/montserrat-latin-700.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/montserrat-cyrillic-800.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url(fonts/montserrat-latin-800.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Onest';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/onest-cyrillic-400.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/onest-latin-400.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Onest';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/onest-cyrillic-500.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/onest-latin-500.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Onest';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/onest-cyrillic-600.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Onest';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/onest-latin-600.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
  --graphite:#1E2120;
  --graphite-deep:#181A19;
  --paper:#F6F6F4;
  --white:#FDFDFB;
  --lime:#90C818;
  --lime-hover:#A3DB2B;
  --ink:#232624;
  --ink-soft:#3B403D;
  --muted:#5C615E;
  --line:#CDD0D8;
  --line-dark:rgba(255,255,255,.14);
  --on-dark-muted:rgba(255,255,255,.74);
  --head:'Montserrat',Arial,sans-serif;
  --text:'Onest','Segoe UI',Roboto,Arial,sans-serif;
  --pad:clamp(16px,4.5vw,72px);
  --max:1240px;
  --sec:clamp(64px,8.5vw,124px);
  --top:68px;
}

*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font:400 18px/1.55 var(--text);-webkit-font-smoothing:antialiased}
img,svg{display:block}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.22em}
h1,h2,h3,p,ul,dl,dd,figure{margin:0}
ul{padding:0;list-style:none}
:focus-visible{outline:2px solid var(--lime);outline-offset:3px;border-radius:2px}
.paper :focus-visible,.white :focus-visible{outline-color:var(--ink)}
.sprite{position:absolute;width:0;height:0;overflow:hidden}

.skip{position:absolute;left:12px;top:-64px;z-index:30;background:var(--lime);color:#141714;padding:12px 18px;font-weight:600;text-decoration:none;border-radius:4px}
.skip:focus{top:12px}

.wrap{width:100%;max-width:calc(var(--max) + 2 * var(--pad));margin:0 auto;padding:0 var(--pad)}
.sec{padding:var(--sec) 0;scroll-margin-top:var(--top)}
.dark{background:var(--graphite);color:#fff}
.paper{background:var(--paper)}
.white{background:var(--white)}

/* Подпись раздела с лаймовой чертой — как на слайдах */
.label{display:flex;align-items:center;gap:18px;margin-bottom:clamp(18px,2.2vw,28px);font:500 13px/1.3 var(--text);letter-spacing:.14em;text-transform:uppercase}
.label::after{content:"";flex:none;width:64px;height:2px;background:var(--lime)}
@media (max-width:399px){.label{gap:12px;letter-spacing:.1em}.label::after{width:40px}}

h1,h2,h3{font-family:var(--head);font-weight:800;letter-spacing:-.02em}
h1{font-size:clamp(36px,4.7vw,70px);line-height:1.04}
h2{font-size:clamp(30px,4vw,58px);line-height:1.07;max-width:16em}
h3{font-weight:700;letter-spacing:-.01em;font-size:clamp(19px,1.6vw,23px);line-height:1.25}
.sub{margin-top:.3em;font:400 clamp(20px,2.4vw,34px)/1.25 var(--text);letter-spacing:-.01em;color:var(--on-dark-muted)}
.lime{color:var(--lime)}
.nw{white-space:nowrap}
@media (min-width:900px){.keep{white-space:nowrap}}
.caption{margin-top:12px;font:400 14px/1.4 var(--text);color:var(--muted)}
.dark .caption{color:rgba(255,255,255,.62)}

.ic{width:44px;height:44px;flex:none;fill:none;stroke:var(--lime);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.logo{width:66px;height:40px;flex:none;color:#fff}

/* Кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 26px;border-radius:4px;font:600 16px/1.1 var(--text);text-decoration:none;white-space:nowrap;transition:background-color .15s,border-color .15s}
.btn--lime{background:var(--lime);color:#141714}
.btn--lime:hover{background:var(--lime-hover)}
.btn--ghost{border:1.5px solid rgba(255,255,255,.55);color:#fff}
.btn--ghost:hover{border-color:#fff}
.btn--sm{min-height:44px;padding:0 18px;font-size:15px}

/* Шапка */
.top{position:sticky;top:0;z-index:10;background:rgba(24,26,25,.95);color:#fff;border-bottom:1px solid var(--line-dark)}
@supports ((-webkit-backdrop-filter:blur(8px)) or (backdrop-filter:blur(8px))){.top{background:rgba(24,26,25,.84);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}}
.top__in{display:flex;align-items:center;gap:clamp(16px,2.4vw,36px);height:var(--top)}
.brand{display:flex;align-items:center;gap:16px;flex:none;text-decoration:none;color:#fff}
.brand__name{padding-left:16px;border-left:1px solid rgba(255,255,255,.35);font:400 15px/1.2 var(--text);white-space:nowrap}
.nav{display:flex;gap:clamp(16px,2vw,30px);margin-left:auto}
.nav a{display:inline-flex;align-items:center;min-height:44px;font:500 15px/1 var(--text);text-decoration:none;color:rgba(255,255,255,.82)}
.nav a:hover{color:#fff}
.top__phone{display:inline-flex;align-items:center;min-height:44px;font:600 15px/1 var(--text);text-decoration:none;white-space:nowrap}
.top__phone:hover{color:var(--lime)}
@media (max-width:1180px){.top__phone{display:none}}
@media (max-width:1023px){.nav{display:none}.top .btn{margin-left:auto}}
@media (max-width:479px){.brand__name{display:none}}

/* Первый экран — как обложка презентации */
.hero{position:relative;display:flex;align-items:center;min-height:min(calc(100vh - var(--top)),840px);overflow:hidden;background:var(--graphite-deep);color:#fff}
.hero__media{position:absolute;top:0;right:0;bottom:0;width:56%}
.hero__media img{width:100%;height:100%;object-fit:cover;object-position:35% 50%}
.hero__media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--graphite-deep) 0%,rgba(24,26,25,.86) 24%,rgba(24,26,25,.35) 54%,rgba(24,26,25,0) 80%)}
.hero__in{position:relative;z-index:1;padding-top:clamp(56px,7vw,96px);padding-bottom:clamp(48px,6vw,88px)}
.hero h1{max-width:15em}
.hero__sub{margin-top:clamp(18px,2vw,28px);font:400 clamp(18px,1.9vw,27px)/1.35 var(--text);color:rgba(255,255,255,.88)}
.rule{display:block;width:clamp(96px,10vw,168px);height:3px;margin:clamp(24px,2.6vw,36px) 0;background:var(--lime)}
.hero__cta{display:flex;flex-wrap:wrap;gap:14px}
.hero__place{margin-top:clamp(40px,6vw,88px);font-size:16px;line-height:1.4;color:rgba(255,255,255,.8)}
@media (max-width:899px){
  .hero{align-items:flex-end;min-height:calc(100vh - var(--top))}
  @supports (height:100svh){.hero{min-height:calc(100svh - var(--top))}}
  .hero__media{width:100%}
  .hero__media img{object-position:50% 30%}
  .hero__media::after{background:linear-gradient(180deg,rgba(24,26,25,.1) 0%,rgba(24,26,25,.5) 34%,var(--graphite-deep) 66%)}
  .hero__in{padding-top:36vh}
}

/* О компании */
.company__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:clamp(32px,5vw,72px);align-items:start;margin-top:clamp(28px,3.6vw,48px)}
.prose p{max-width:34em;font-size:clamp(18px,1.55vw,21px);line-height:1.55}
.prose p+p{margin-top:1em}
.prose b{font-family:var(--head);font-weight:700;letter-spacing:-.01em}
.strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:clamp(40px,5vw,72px);padding-top:clamp(24px,2.6vw,36px);border-top:1px solid var(--line)}
.strip li{display:flex;align-items:center;gap:18px;padding:0 clamp(12px,2vw,28px);font:500 clamp(17px,1.4vw,20px)/1.3 var(--text)}
.strip li:first-child{padding-left:0}
.strip li+li{border-left:1px solid var(--line)}
@media (max-width:899px){.company__grid{grid-template-columns:1fr}}
@media (max-width:699px){.strip{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:24px}.strip li{padding:0}.strip li+li{border-left:0}}

/* ККХ и сети: иллюстрация уходит к левому краю экрана, как на слайде */
.infra{display:grid;grid-template-columns:minmax(var(--pad),1fr) minmax(0,calc(var(--max) * .56)) minmax(0,calc(var(--max) * .44)) minmax(var(--pad),1fr);align-items:center;margin-top:clamp(28px,4vw,56px)}
.infra__img{position:relative;grid-column:1 / 3;grid-row:1}
.infra__img::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,var(--graphite) 0%,rgba(30,33,32,0) 14%,rgba(30,33,32,0) 80%,var(--graphite) 100%),linear-gradient(90deg,rgba(30,33,32,0) 78%,var(--graphite) 100%)}
.infra__img img{width:100%}
.infra__cap{grid-column:2 / 3;grid-row:2}
.infra__text{grid-column:3 / 4;grid-row:1 / span 2;padding-left:clamp(24px,4vw,64px)}
.infra__note{margin-bottom:clamp(14px,1.8vw,22px);font-size:16px;color:var(--on-dark-muted)}
@media (max-width:899px){
  .infra{grid-template-columns:var(--pad) minmax(0,1fr) var(--pad)}
  .infra__img{grid-column:1 / -1}
  .infra__cap{grid-column:2}
  .infra__text{grid-column:2;grid-row:auto;padding-left:0;margin-top:32px}
}

/* Списки с лаймовой чертой */
.dash li{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:20px;padding:clamp(10px,1.2vw,16px) 0;font:400 clamp(19px,1.75vw,25px)/1.35 var(--text)}
.dash li::before{content:"";width:34px;height:4px;margin-top:.62em;background:var(--lime)}

/* Услуги */
.services{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,5vw,80px);margin-top:clamp(28px,3.6vw,48px)}
.services li{display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;column-gap:clamp(18px,2.4vw,32px);padding:clamp(18px,2.2vw,28px) 0;border-bottom:1px solid var(--line);font:500 clamp(18px,1.6vw,23px)/1.3 var(--text)}
.services .ic{width:52px;height:52px}
@media (max-width:767px){.services{grid-template-columns:1fr}}

/* AIFM */
.mega{font-size:clamp(52px,7.4vw,108px);line-height:1;letter-spacing:-.03em}
.aifm{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:clamp(32px,4.5vw,72px);align-items:center;margin-top:clamp(28px,3.6vw,48px)}
.shot img{width:100%;border:1px solid rgba(255,255,255,.12);border-radius:10px;background:#fff}
.aifm__more{margin-top:clamp(20px,2.4vw,32px)}
.aifm__more a{font:600 17px/1.4 var(--text);color:var(--lime);text-decoration-color:rgba(144,200,24,.55)}
.aifm__more a:hover{text-decoration-color:var(--lime)}
.aifm__by{margin-top:10px;font-size:15px;color:rgba(255,255,255,.62)}
@media (max-width:899px){.aifm{grid-template-columns:1fr}}

/* Направления */
.lead{max-width:38em;margin-top:clamp(16px,1.8vw,24px);font-size:clamp(18px,1.55vw,21px);color:var(--ink-soft)}
.dirs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3.2vw,48px);margin-top:clamp(32px,4vw,56px)}
.dir::before{content:"";display:block;width:64px;height:6px;margin-bottom:22px;background:var(--lime)}
.dir h3{min-height:3.75em}
.dir ul{margin-top:18px;border-top:1px solid var(--line)}
.dir li{padding:12px 0;border-bottom:1px solid var(--line);font-size:16.5px;line-height:1.4;color:var(--ink-soft)}
.dir li b{font-weight:600;color:var(--ink)}
@media (max-width:899px){.dirs{grid-template-columns:1fr}.dir h3{min-height:0}}

/* Руководитель */
.leader{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(32px,5vw,80px);align-items:end;border-bottom:1px solid var(--line)}
.leader__text{padding-bottom:clamp(28px,3.4vw,48px)}
.role{max-width:24em;margin-top:clamp(14px,1.6vw,20px);font:700 clamp(19px,1.8vw,26px)/1.3 var(--head);letter-spacing:-.01em}
.facts{display:grid;gap:clamp(20px,2.4vw,30px);margin:clamp(28px,3.4vw,44px) 0 0}
.facts div{padding-left:clamp(16px,1.8vw,24px);border-left:4px solid var(--lime)}
.facts dt{font:700 clamp(18px,1.6vw,22px)/1.3 var(--head);letter-spacing:-.01em}
.facts dd{margin-top:6px;font-size:clamp(16px,1.35vw,19px);line-height:1.5;color:var(--ink-soft)}
.portrait img{width:100%;max-width:560px;margin-left:auto}
@media (max-width:899px){.leader{grid-template-columns:1fr;gap:28px}.portrait{order:-1}.portrait img{max-width:400px;margin-left:0}}

/* Контакты */
.contacts{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(32px,5vw,80px);align-items:end}
.who{margin-top:clamp(14px,1.6vw,20px);font-size:clamp(17px,1.4vw,19px);color:var(--on-dark-muted)}
.reach{display:grid;gap:clamp(14px,1.6vw,20px);margin-top:clamp(24px,3vw,40px)}
.reach li{display:flex;align-items:center;gap:18px;min-width:0}
.reach .ic{width:36px;height:36px}
.reach a{font:500 clamp(22px,2.7vw,38px)/1.2 var(--text);letter-spacing:-.01em;text-decoration:none;overflow-wrap:anywhere}
.reach a:hover{color:var(--lime)}
.reach span{font-size:clamp(17px,1.5vw,20px);color:var(--on-dark-muted)}
.tg{display:grid;justify-items:center;gap:18px}
.qr{width:208px;padding:16px;border-radius:6px;background:#fff}
.qr svg{width:100%;height:auto}
@media (max-width:767px){.contacts{grid-template-columns:1fr}.qr{display:none}.tg{justify-items:start}}

/* Подвал */
.foot{padding:28px 0;background:var(--graphite-deep);color:rgba(255,255,255,.7);font-size:14px}
.foot__in{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px}
.foot .logo{width:50px;height:30px}
.foot a{color:#fff}
.foot__ai{margin-left:auto}
@media (max-width:599px){.foot__ai{margin-left:0}}

/* Страница 404 */
.nf h1{margin-top:40px}
.nf__back{margin-top:32px}
