/* ===== КОНДОРЭНЕРГОСТРОЙ — стили сайта поверх brand.css ===== */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  margin:0;background:var(--ke-bg);color:var(--ke-text);
  font-family:var(--ke-font);font-size:17px;line-height:1.6;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
h1,h2,h3,h4{margin:0;line-height:1.15;font-weight:700;letter-spacing:-.01em;color:var(--ke-navy)}
h1{font-size:clamp(1.9rem,4.2vw,3.2rem);letter-spacing:-.02em}
h2{font-size:clamp(1.5rem,3vw,2.3rem)}
h3{font-size:clamp(1.05rem,1.6vw,1.3rem)}
p{margin:0 0 1em}
.wrap{width:min(100% - 40px,var(--ke-container));margin-inline:auto}
.section{padding:clamp(52px,7vw,96px) 0}
.section--alt{background:var(--ke-row-alt)}
.section--dark{background:var(--ke-navy);color:#fff}
.section--dark h2,.section--dark h3{color:#fff}
.lead{font-size:clamp(1rem,1.4vw,1.14rem);color:var(--ke-text-muted);max-width:68ch}
.section--dark .lead{color:var(--ke-grey-blue-light)}

/* заголовок секции: плашка капсом из фирменного стиля */
.sec-head{max-width:800px;margin-bottom:46px}
.sec-head--center{margin-inline:auto;text-align:center}
.sec-head h2{margin:16px 0 14px}
.section--dark .ke-section-label{background:#fff;color:var(--ke-navy)}

/* ===== Кнопки ===== */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:15px 30px;border:1.5px solid transparent;border-radius:var(--ke-radius);
  font:700 .95rem/1 var(--ke-font);letter-spacing:.02em;cursor:pointer;
  transition:background .2s,color .2s,border-color .2s;white-space:nowrap;
}
.btn--primary{background:var(--ke-navy);color:#fff}
.btn--primary:hover{background:var(--ke-navy-700)}
.btn--outline{border-color:var(--ke-line);color:var(--ke-navy);background:#fff}
.btn--outline:hover{border-color:var(--ke-navy);background:var(--ke-fill)}
.btn--ghost{border-color:rgba(255,255,255,.35);color:#fff}
.btn--ghost:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.btn--lg{padding:18px 36px;font-size:1rem}
/* на тёмном фоне основная кнопка светлая */
.hero .btn--primary,.page-hero .btn--primary,.section--dark .btn--primary,.cta .btn--primary{background:#fff;color:var(--ke-navy)}
.hero .btn--primary:hover,.page-hero .btn--primary:hover,.section--dark .btn--primary:hover,.cta .btn--primary:hover{background:var(--ke-fill)}
.form-card .btn--primary{background:var(--ke-navy);color:#fff}
.form-card .btn--primary:hover{background:var(--ke-navy-700)}

/* ===== Шапка ===== */
.header{position:sticky;top:0;z-index:100;background:#fff;border-bottom:var(--ke-rule) solid var(--ke-navy)}
.header__bar{display:flex;align-items:center;gap:26px;min-height:92px;padding:12px 0}
.logo{display:flex;align-items:center;flex-shrink:0}
.logo img{height:52px;width:auto}
.nav{display:flex;align-items:center;gap:22px;margin-left:auto}
.nav a{font-size:.9rem;font-weight:700;color:var(--ke-navy);padding:8px 0;border-bottom:2px solid transparent;transition:border-color .2s}
.nav a:hover,.nav a.is-active{border-bottom-color:var(--ke-navy)}
.header__cta{display:flex;align-items:center;gap:18px;flex-shrink:0}
.header__phone{font-weight:700;font-size:1.02rem;white-space:nowrap;color:var(--ke-navy)}
.header__phone small{display:block;font-size:.68rem;font-weight:400;color:var(--ke-text-muted);letter-spacing:.04em;margin-top:2px}
.burger{display:none;width:46px;height:46px;border:1px solid var(--ke-line);background:#fff;border-radius:var(--ke-radius);cursor:pointer;margin-left:auto;align-items:center;justify-content:center;padding:0}
.burger span{display:block;width:20px;height:2px;background:var(--ke-navy);position:relative;transition:.2s}
.burger span::before,.burger span::after{content:"";position:absolute;left:0;width:20px;height:2px;background:var(--ke-navy);transition:.2s}
.burger span::before{top:-6px}.burger span::after{top:6px}
.burger.is-open span{background:transparent}
.burger.is-open span::before{top:0;transform:rotate(45deg)}
.burger.is-open span::after{top:0;transform:rotate(-45deg)}

/* ===== Фото на тёмных экранах ===== */
.media-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.media-bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.media-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(11,34,54,.97) 0%,rgba(11,34,54,.93) 42%,rgba(11,34,54,.62) 100%);
}
@media (max-width:900px){
  .media-bg::after{background:linear-gradient(180deg,rgba(11,34,54,.94) 0%,rgba(11,34,54,.9) 60%,rgba(11,34,54,.97) 100%)}
}
/* фото внутри светлых секций */
.photo{border:1px solid var(--ke-line);background:var(--ke-fill);overflow:hidden}
.photo img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:16/9}
.photo figcaption{padding:12px 16px;font-size:.8rem;color:var(--ke-text-muted);border-top:1px solid var(--ke-line);background:#fff}

/* ===== Первый экран ===== */
.hero{position:relative;background:var(--ke-navy);color:#fff;overflow:hidden;padding:clamp(56px,7vw,104px) 0}
.hero__bg{position:absolute;inset:0;opacity:.14;pointer-events:none;display:flex;align-items:center;justify-content:flex-end}
.hero__bg img{height:130%;width:auto;filter:grayscale(1)}
.hero__inner{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:start}
.hero h1{color:#fff;margin-bottom:22px}
.hero__sub{font-size:clamp(1rem,1.5vw,1.16rem);color:var(--ke-grey-blue-light);max-width:58ch;margin-bottom:32px}
.hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:44px}
.hero__facts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;border-top:1px solid rgba(255,255,255,.18);padding-top:28px}
.fact__num{font-size:clamp(1.3rem,2vw,1.75rem);font-weight:700;line-height:1.1;color:#fff}
.fact__label{font-size:.82rem;color:var(--ke-grey-blue-light);margin-top:8px;line-height:1.4}

/* ===== Формы ===== */
.form-card{background:#fff;color:var(--ke-text);padding:30px;border-radius:var(--ke-radius)}
.form-card h3{margin-bottom:8px}
.form-card p{color:var(--ke-text-muted);font-size:.9rem;margin-bottom:18px}
.form{display:grid;gap:11px}
.form input,.form textarea,.form select{
  width:100%;padding:14px 15px;border:1px solid var(--ke-line);border-radius:var(--ke-radius);
  background:#fff;color:var(--ke-text);font:400 .95rem var(--ke-font);transition:border-color .15s,box-shadow .15s;
}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--ke-navy);box-shadow:0 0 0 3px rgba(11,34,54,.1)}
.form textarea{resize:vertical;min-height:92px}
.form__note{font-size:.72rem;color:var(--ke-text-muted);line-height:1.45;margin:0}
.form__note a{text-decoration:underline}
.form__status{font-size:.88rem;font-weight:700;padding:11px 14px;border-radius:var(--ke-radius);display:none}
.form__status.is-ok{display:block;background:#E8F2EA;color:#1F7A3D;border:1px solid #BFDCC7}
.form__status.is-err{display:block;background:#FBEAEA;color:#A83232;border:1px solid #EFC9C9}

/* ===== Акцентная полоса ===== */
.accent{background:var(--ke-navy);color:#fff;padding:clamp(40px,5vw,64px) 0;border-top:var(--ke-rule) solid #fff}
.accent h2{color:#fff;margin:16px 0 18px}
.accent__inner{display:grid;grid-template-columns:1.25fr .75fr;gap:48px;align-items:start}
.accent p{color:var(--ke-grey-blue-light)}
.accent strong{color:#fff;font-weight:700}
.accent__points{display:grid;gap:1px;background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.2)}
.accent__point{background:var(--ke-navy);padding:20px 22px}
.accent__point h3{font-size:.98rem;margin-bottom:7px;color:#fff}
.accent__point p{font-size:.86rem;margin:0}
@media (max-width:900px){.accent__inner{grid-template-columns:1fr;gap:28px}}

/* ===== Карточки направлений ===== */
.grid{display:grid;gap:1px;background:var(--ke-line)}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}
.card{background:#fff;padding:34px 30px;position:relative;transition:background .2s}
.card:hover{background:var(--ke-fill)}
.card__num{font-size:.75rem;font-weight:700;letter-spacing:.15em;color:var(--ke-grey-blue);margin-bottom:16px}
.card h3{margin-bottom:12px}
.card p{color:var(--ke-text-muted);font-size:.94rem;margin-bottom:0}
.card__link{display:inline-block;margin-top:18px;font-weight:700;font-size:.88rem;color:var(--ke-navy);border-bottom:1px solid var(--ke-line);padding-bottom:2px}
.card:hover .card__link{border-bottom-color:var(--ke-navy)}
.card--plain{background:var(--ke-row-alt)}

/* ===== Этапы ===== */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--ke-line);border:1px solid var(--ke-line)}
.step{background:#fff;padding:28px 24px}
.section--dark .steps{background:rgba(255,255,255,.18);border-color:rgba(255,255,255,.18)}
.section--dark .step{background:var(--ke-navy)}
.step__num{font-size:.72rem;font-weight:700;letter-spacing:.18em;color:var(--ke-grey-blue);margin-bottom:14px}
.section--dark .step__num{color:var(--ke-grey-blue-light)}
.step h3{font-size:1rem;margin-bottom:9px}
.step p{font-size:.88rem;color:var(--ke-text-muted);margin:0}
.section--dark .step p{color:var(--ke-grey-blue-light)}

/* ===== Таблицы ===== */
.table-wrap{overflow-x:auto;border:1px solid var(--ke-line);background:#fff}
table{width:100%;border-collapse:collapse;min-width:540px}
th,td{padding:14px 20px;text-align:left;border-bottom:1px solid var(--ke-line);font-size:.93rem}
th{background:var(--ke-navy);color:#fff;font-weight:700;font-size:.76rem;letter-spacing:.1em;text-transform:uppercase}
tbody tr:nth-child(even){background:var(--ke-row-alt)}
tbody tr:last-child td{border-bottom:none}
td strong{font-weight:700}

/* ===== Список с маркерами-линиями ===== */
.ticks{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.ticks li{padding-left:26px;position:relative;font-size:.96rem;color:var(--ke-text-muted)}
.ticks li::before{content:"";position:absolute;left:0;top:.62em;width:14px;height:2px;background:var(--ke-navy)}
.section--dark .ticks li{color:var(--ke-grey-blue-light)}
.section--dark .ticks li::before{background:var(--ke-grey-blue-light)}

/* ===== Реквизиты ===== */
.req{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.req__block{border:1px solid var(--ke-line);background:#fff}
.req__head{background:var(--ke-navy);color:#fff;padding:15px 22px;font:700 .78rem/1 var(--ke-font);letter-spacing:.14em;text-transform:uppercase}
.req__body{padding:6px 22px 18px}
.req__row{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--ke-line);font-size:.92rem}
.req__row:last-child{border-bottom:none}
.req__row dt{color:var(--ke-text-muted);flex-shrink:0}
.req__row dd{margin:0;font-weight:700;text-align:right;word-break:break-word}

/* ===== Полоса-призыв ===== */
.cta{background:var(--ke-navy);color:#fff;padding:clamp(34px,4.5vw,56px)}
.cta__inner{display:grid;grid-template-columns:1.3fr .7fr;gap:40px;align-items:center}
.cta h2{margin-bottom:12px;color:#fff}
.cta p{color:var(--ke-grey-blue-light);margin:0}
.cta__actions{display:flex;flex-direction:column;gap:12px}

/* ===== Подвал ===== */
.footer{background:var(--ke-navy-900);color:#fff;padding:62px 0 0}
.footer__top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.1fr;gap:40px;padding-bottom:44px}
.footer__logo img{height:76px;width:auto;margin-bottom:18px}
.footer__about{font-size:.88rem;color:var(--ke-grey-blue-light);max-width:36ch;margin:0}
.footer h4{font:700 .74rem/1 var(--ke-font);letter-spacing:.16em;text-transform:uppercase;color:#fff;margin:0 0 18px}
.footer ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.footer ul a{font-size:.89rem;color:var(--ke-grey-blue-light)}
.footer ul a:hover{color:#fff}
.footer__contact{font-size:.89rem;color:var(--ke-grey-blue-light);display:grid;gap:12px}
.footer__contact a{color:#fff;font-weight:700;font-size:1rem}
.footer__bottom{border-top:1px solid rgba(255,255,255,.14);padding:22px 0;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;font-size:.78rem;color:var(--ke-grey-blue-light)}
.footer__bottom a:hover{color:#fff}

/* ===== Внутренние страницы ===== */
.page-hero{background:var(--ke-navy);color:#fff;padding:0 0 clamp(40px,5vw,66px);position:relative;overflow:hidden}
.crumbs{font-size:.8rem;color:var(--ke-grey-blue-light);padding:18px 0 26px;display:flex;gap:8px;flex-wrap:wrap}
.crumbs a:hover{color:#fff}
.crumbs span{opacity:.5}
.page-hero h1{color:#fff;margin-bottom:16px;max-width:20ch}
.page-hero .lead{color:var(--ke-grey-blue-light)}

/* ===== Текстовые блоки ===== */
.cols{display:grid;grid-template-columns:repeat(2,1fr);gap:46px}
.prose h3{margin:28px 0 12px}
.prose h3:first-child{margin-top:0}
.prose p{color:var(--ke-text-muted)}
.note{border-left:3px solid var(--ke-navy);padding:4px 0 4px 20px;color:var(--ke-text-muted);font-size:.95rem}

/* ===== Появление ===== */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .5s ease,transform .5s ease}
.reveal.is-in{opacity:1;transform:none}

/* ===== Кнопка звонка на телефоне ===== */
.fab{position:fixed;right:18px;bottom:18px;z-index:90;display:none;width:56px;height:56px;border-radius:50%;
  background:var(--ke-navy);align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(7,23,37,.4)}
.fab svg{width:24px;height:24px;stroke:#fff;fill:none;stroke-width:2}

/* ===== Доступность ===== */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{
  outline:3px solid var(--ke-navy);outline-offset:3px;
}
.section--dark a:focus-visible,.hero a:focus-visible,.page-hero a:focus-visible,.footer a:focus-visible,.cta a:focus-visible{outline-color:#fff}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important;transition-duration:.01ms !important}
  .reveal{opacity:1 !important;transform:none !important}
}

/* ===== Адаптив ===== */
@media (max-width:1180px){
  .hero__inner{grid-template-columns:1fr;gap:40px}
  .grid--4{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .footer__top{grid-template-columns:repeat(2,1fr);gap:32px}
  .nav{gap:16px}
  .nav a{font-size:.84rem}
}
@media (max-width:900px){
  .logo img{height:40px}
  .header__bar{min-height:76px;gap:14px}
  .nav{inset:80px 0 auto}
  .nav{
    position:fixed;inset:95px 0 auto;background:#fff;flex-direction:column;align-items:stretch;gap:0;
    padding:10px 20px 24px;border-bottom:1px solid var(--ke-line);transform:translateY(-130%);
    transition:transform .28s ease;margin-left:0;box-shadow:0 18px 40px rgba(7,23,37,.14);
  }
  .nav.is-open{transform:none}
  .nav a{padding:15px 0;border-bottom:1px solid var(--ke-line);font-size:1rem}
  .nav a:hover,.nav a.is-active{border-bottom-color:var(--ke-line)}
  .burger{display:flex}
  .header__cta{display:none}
  .cta__inner,.cols,.req{grid-template-columns:1fr}
  .fab{display:flex}
}
@media (max-width:620px){
  body{font-size:16px}
  .logo img{height:30px}
  .header__bar{min-height:66px}
  .nav{inset:70px 0 auto}
  .burger{width:42px;height:42px}
  .grid--3,.grid--4,.grid--2{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr}
  .footer__top{grid-template-columns:1fr}
  .hero__facts{grid-template-columns:1fr;gap:18px}
  .hero__actions .btn{width:100%}
  .card{padding:28px 24px}
}

/* ===== Движение и интерактив ===== */
.read-bar{
  position:fixed;left:0;top:0;height:3px;width:100%;z-index:200;
  background:var(--ke-navy);transform:scaleX(0);transform-origin:0 50%;
  transition:transform .1s linear;
}
.header{transition:box-shadow .25s ease}
.header.is-scrolled{box-shadow:0 10px 30px rgba(7,23,37,.12)}

.will-reveal{opacity:0;transform:translateY(12px);transition:opacity .4s ease,transform .4s ease}
.will-reveal.is-in{opacity:1;transform:none}

.media-bg img{transition:transform .1s linear;will-change:transform}

/* схема в разрезе */
.scheme{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
.scheme__canvas{background:var(--ke-row-alt);border:1px solid var(--ke-line);padding:26px}
.scheme__canvas svg{width:100%;height:auto;display:block}
.scheme [data-part]{cursor:pointer;transition:opacity .2s ease}
.scheme [data-part] .fillable{transition:fill .2s ease}
.scheme [data-part].is-active .fillable{fill:var(--ke-navy)}
.scheme [data-part].is-active text{fill:var(--ke-navy);font-weight:700}
.scheme__notes{display:grid;gap:1px;background:var(--ke-line);border:1px solid var(--ke-line)}
.scheme__note{background:#fff;padding:18px 20px;cursor:default;transition:background .2s ease,border-left-color .2s ease;border-left:3px solid transparent}
.scheme__note.is-active{background:var(--ke-fill);border-left-color:var(--ke-navy)}
.scheme__note h3{font-size:1rem;margin-bottom:6px}
.scheme__note p{font-size:.88rem;color:var(--ke-text-muted);margin:0}

/* карта регионов */
.regions{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.regions__map{background:var(--ke-navy);padding:28px;border:1px solid rgba(255,255,255,.14)}
.regions__map svg{width:100%;height:auto;display:block}
.regions__map .reg{fill:rgba(255,255,255,.12);stroke:rgba(255,255,255,.5);stroke-width:1.5;transition:fill .25s ease}
.regions__map .reg.base{fill:rgba(255,255,255,.28)}
.regions__map .reg:hover{fill:rgba(255,255,255,.42)}
.regions__map text{fill:#fff;font:700 13px var(--ke-font)}
.regions__map .sub{fill:var(--ke-grey-blue-light);font-weight:400;font-size:11px}
.regions__list{display:grid;gap:1px;background:var(--ke-line);border:1px solid var(--ke-line)}
.regions__item{background:#fff;padding:16px 20px;display:flex;justify-content:space-between;gap:16px;align-items:baseline}
.regions__item b{font-size:.96rem}
.regions__item span{font-size:.82rem;color:var(--ke-text-muted)}

@media (max-width:900px){
  .scheme,.regions{grid-template-columns:1fr;gap:26px}
}
@media (prefers-reduced-motion:reduce){
  .will-reveal{opacity:1 !important;transform:none !important}
  .media-bg img{transform:none !important}
  .read-bar{display:none}
}
