/* IT-Код final component polish. Typography and component rules only. */

/* Typography scale */
.itkod-site .site-navigation a{
  font-size:16px!important;
}

.home-page main>section:not(.hero-section):not(#contacts) .section-label,
.home-page main>section:not(.hero-section):not(#contacts) .eyebrow{
  color:#FEB249!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.35!important;
}

.home-page main>section:not(.hero-section):not(#contacts) .button-primary,
.home-page #mod-custom137 .button,
.home-page .final-business #mod-custom113 .button{
  box-sizing:border-box;
  min-height:44px;
  padding:11px 20px!important;
  border:1px solid #FEB249!important;
  border-radius:0!important;
  background:#FEB249!important;
  color:#002447!important;
  font-size:15px!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-decoration:none!important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease!important;
}

.home-page main>section:not(.hero-section):not(#contacts) .button-primary *,
.home-page #mod-custom137 .button *,
.home-page .final-business #mod-custom113 .button *{
  background:transparent!important;
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
}

.home-page main>section:not(.hero-section):not(#contacts) .button-primary:hover,
.home-page main>section:not(.hero-section):not(#contacts) .button-primary:focus-visible,
.home-page #mod-custom137 .button:hover,
.home-page #mod-custom137 .button:focus-visible,
.home-page .final-business #mod-custom113 .button:hover,
.home-page .final-business #mod-custom113 .button:focus-visible{
  border-color:#53D3D1!important;
  background:#53D3D1!important;
  color:#002447!important;
}

.home-page h1,
.home-page h2{
  font-family:var(--font-main);
  font-size:clamp(34px,3vw,42px)!important;
  font-weight:700;
  line-height:1.13;
}

#services #mod-custom123>p,
#partners .partner-solutions-heading>p:last-child{
  font-size:18px!important;
  line-height:1.5;
}

.home-page #mod-custom110>p,
.home-page .hero-aside>div p{
  font-size:16px!important;
  line-height:1.5!important;
}

#services .service-card p,
#support .support-cta p,
#support .support-cta__tasks li,
#partners .partner-card>p:not(.section-label),
#partners .partner-card li,
#advantages .feature-card p,
#advantages .work-step,
.home-page #mod-custom137 p,
#contacts .contacts-section>p,
#contacts .contact-data,
#contacts .contact-action-item,
#contacts .contact-channel p,
.site-footer p,
.site-footer a{
  font-size:15px!important;
  line-height:1.5;
}

#services .service-card h3,
#advantages .feature-card h3,
#advantages .work-step h3{
  font-size:17px!important;
  font-weight:700;
}

/* Topbar personal messenger links, with equal visual icon mass. */
#mod-custom119 .top-contact-location{
  display:flex;
  align-items:center;
  gap:24px;
}

#mod-custom119 .top-contact-location>a{
  order:2;
  color:rgba(0,36,71,.64)!important;
  font-weight:400!important;
}

#mod-custom119 .top-contact-russia{
  order:1;
  position:relative;
  margin-left:0!important;
  padding-left:14px;
  color:var(--brand-navy)!important;
  font-weight:700!important;
}

#mod-custom119 .top-contact-russia::before{
  content:"";
  position:absolute;
  left:0;
  top:50%;
  width:6px;
  height:6px;
  background:var(--brand-teal);
  transform:translateY(-50%);
}

#mod-custom119 .top-contact-actions a[href*="wa.me"],
#mod-custom119 .top-contact-actions a[href*="max.ru/u/"]{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 32px;
  width:32px;
  height:32px;
  overflow:hidden;
  font-size:0;
  line-height:0;
}

#mod-custom119 .top-contact-actions a[href*="wa.me"]::before,
#mod-custom119 .top-contact-actions a[href*="max.ru/u/"]::before{
  content:"";
  display:block;
  width:28px;
  height:28px;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
}

#mod-custom119 .top-contact-actions a[href*="wa.me"]::before{
  background-image:url("../images/whatsapp-square.svg");
}

#mod-custom119 .top-contact-actions a[href*="max.ru/u/"]::before{
  background-image:url("../images/max-square.svg");
}

/* Contacts: information, direct actions, business groups, final note. */
#contacts .contact-data{
  margin-top:24px;
}

#contacts .contact-data>div{
  display:grid;
  gap:5px;
}

#contacts .contact-data a[href^="tel:"],
#contacts .contact-data a[href^="mailto:"]{
  color:var(--brand-navy);
  text-decoration:none;
  transition:color .18s ease;
}

#contacts .contact-data a[href^="tel:"]:hover,
#contacts .contact-data a[href^="mailto:"]:hover,
#contacts .contact-data a[href^="tel:"]:focus-visible,
#contacts .contact-data a[href^="mailto:"]:focus-visible{
  color:#168f91;
}

#contacts .contact-remote-note{
  max-width:440px;
  margin:7px 0 0;
  color:var(--text-secondary);
  font-size:13px;
  line-height:1.55;
}

#contacts .contact-communication{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:18px;
  margin-top:26px;
}

#contacts .contact-channel{
  min-width:0;
  padding:20px;
  border:1px solid var(--border-neutral);
  background:#fff;
}

#contacts .contact-channel h3{
  margin:0 0 14px;
  color:var(--brand-navy);
  font-size:17px;
}

#contacts .contact-channel--groups>p{
  margin:0 0 14px;
  color:var(--text-secondary);
}

#contacts .contact-actions,
#contacts .contact-group-actions{
  display:flex!important;
  align-items:center!important;
  flex-wrap:wrap!important;
  gap:10px!important;
  margin:0;
}

#contacts .contact-action-item{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-width:0;
  min-height:44px;
  padding:5px 12px 5px 5px;
  border:1px solid var(--border-neutral);
  border-radius:0;
  background:#fff;
  color:var(--brand-navy);
  font-weight:600;
  text-decoration:none;
  transition:border-color .18s ease,background-color .18s ease;
}

#contacts .contact-action-item:hover,
#contacts .contact-action-item:focus-visible{
  border-color:var(--brand-teal);
  background:var(--surface-light);
}

#contacts .contact-action-item__icon{
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 32px;
  width:32px;
  height:32px;
  background-position:center;
  background-repeat:no-repeat;
  background-size:24px 24px;
}

#contacts .contact-action-item--phone .contact-action-item__icon{
  background-image:url("../images/contact-phone.svg");
}

#contacts .contact-action-item--email .contact-action-item__icon{
  background-image:url("../images/contact-email.svg");
}

#contacts .contact-action-item--whatsapp .contact-action-item__icon{
  background-image:url("../images/whatsapp-square.svg");
  background-size:26px 26px;
}

#contacts .contact-action-item--max .contact-action-item__icon{
  background-image:url("../images/max-square.svg");
  background-size:26px 26px;
}

#contacts .contact-phone-action{
  justify-self:start;
  margin-top:7px;
}

@media (max-width:767px){
  .home-page h1,
  .home-page h2{
    font-size:28px!important;
  }

  #contacts .contact-data,
  #contacts .contact-communication{
    grid-template-columns:1fr;
  }

  #contacts .contact-communication{
    gap:14px;
    margin-top:22px;
  }

  #contacts .contact-channel{
    padding:18px 16px;
  }

  #contacts .contact-actions,
  #contacts .contact-group-actions{
    align-items:stretch!important;
    flex-direction:column;
  }

  #contacts .contact-action-item{
    width:100%;
  }
}

@media (prefers-reduced-motion:reduce){
  #contacts .contact-action-item{
    transition:none;
  }
}

/* Cookie consent, cookie settings and scroll-to-top controls. */
.cookie-banner[hidden],
.cookie-settings[hidden],
.scroll-top[hidden]{display:none;}

.cookie-banner{
  box-sizing:border-box;
  position:fixed;
  z-index:1000;
  left:50%;
  bottom:16px;
  display:flex;
  width:min(760px,calc(100% - 32px));
  min-height:52px;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:6px 10px 6px 16px;
  transform:translateX(-50%);
  border:1px solid rgba(0,36,71,.2);
  border-left:4px solid var(--brand-teal);
  border-radius:0;
  background:#fff;
  box-shadow:0 8px 24px rgba(0,36,71,.14);
  color:var(--brand-navy);
  font-family:Manrope,Arial,sans-serif;
  font-size:14px;
  line-height:1.4;
}

.cookie-banner__text{min-width:0;}
.cookie-banner__text a{
  color:var(--brand-navy);
  font-weight:700;
  text-underline-offset:3px;
}
.cookie-banner__text a:hover{color:#006f75;}

.cookie-banner__actions{
  display:flex;
  flex:0 0 auto;
  align-items:center;
  gap:8px;
}

.cookie-button{
  box-sizing:border-box;
  min-height:38px;
  padding:0 15px;
  border:1px solid transparent;
  border-radius:0;
  font:700 13px/1 Manrope,Arial,sans-serif;
  cursor:pointer;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease;
}
.cookie-button--primary{background:var(--brand-amber);color:var(--brand-navy);}
.cookie-button--primary:hover{background:#f6a72c;}
.cookie-button--secondary{border-color:var(--border-neutral);background:#fff;color:var(--brand-navy);}
.cookie-button--secondary:hover{border-color:var(--brand-teal);background:#f7fbfb;}
.cookie-button:focus-visible,
.cookie-settings__close:focus-visible,
.cookie-switch input:focus-visible + span,
.scroll-top:focus-visible{
  outline:3px solid var(--brand-amber);
  outline-offset:3px;
}

.cookie-settings{
  position:fixed;
  z-index:1100;
  inset:0;
  display:grid;
  place-items:center;
  padding:24px;
  background:rgba(0,36,71,.62);
}

.cookie-settings__dialog{
  box-sizing:border-box;
  position:relative;
  width:min(560px,100%);
  max-height:calc(100vh - 48px);
  overflow:auto;
  padding:30px;
  border:1px solid rgba(83,211,209,.65);
  border-top:4px solid var(--brand-teal);
  border-radius:0;
  background:#fff;
  box-shadow:0 18px 48px rgba(0,36,71,.26);
  color:var(--brand-navy);
  font-family:Manrope,Arial,sans-serif;
}

.cookie-settings__dialog h2{
  max-width:calc(100% - 44px);
  margin:0 0 10px;
  color:var(--brand-navy);
  font-size:25px;
  line-height:1.2;
}
.cookie-settings__dialog>p{margin:0 0 22px;color:var(--text-secondary);font-size:14px;line-height:1.55;}
.cookie-settings__close{
  box-sizing:border-box;
  position:absolute;
  top:16px;
  right:16px;
  width:40px;
  height:40px;
  padding:0;
  border:1px solid var(--border-neutral);
  border-radius:0;
  background:#fff;
  color:var(--brand-navy);
  font:400 28px/1 Manrope,Arial,sans-serif;
  cursor:pointer;
}
.cookie-settings__close:hover{border-color:var(--brand-teal);background:#f7fbfb;}
.cookie-settings__options{border-top:1px solid var(--border-neutral);}
.cookie-settings__option{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:20px;
  padding:18px 0;
  border-bottom:1px solid var(--border-neutral);
  cursor:pointer;
}
.cookie-settings__option:has(input:disabled){cursor:default;}
.cookie-settings__copy{display:grid;gap:5px;}
.cookie-settings__copy strong{font-size:15px;}
.cookie-settings__copy span{color:var(--text-secondary);font-size:13px;line-height:1.5;}
.cookie-settings__copy small{color:#006f75;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;}
.cookie-switch{position:relative;display:inline-flex;}
.cookie-switch input{position:absolute;width:1px;height:1px;overflow:hidden;opacity:0;}
.cookie-switch span{
  position:relative;
  display:block;
  width:46px;
  height:24px;
  border:1px solid #aab6c1;
  background:#dce3ea;
  transition:background-color .18s ease,border-color .18s ease;
}
.cookie-switch span::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:16px;
  height:16px;
  background:#fff;
  transition:transform .18s ease;
}
.cookie-switch input:checked + span{border-color:var(--brand-teal);background:var(--brand-teal);}
.cookie-switch input:checked + span::after{transform:translateX(22px);}
.cookie-switch input:disabled + span{opacity:.72;}
.cookie-settings__actions{display:flex;justify-content:flex-end;padding-top:20px;}

body.cookie-settings-open{overflow:hidden;}

.scroll-top{
  box-sizing:border-box;
  position:fixed;
  z-index:900;
  right:16px;
  bottom:20px;
  display:grid;
  width:46px;
  height:46px;
  place-items:center;
  padding:0;
  border:1px solid #2baead;
  border-radius:0;
  background:var(--brand-teal);
  color:var(--brand-navy);
  font:700 24px/1 Manrope,Arial,sans-serif;
  cursor:pointer;
  opacity:0;
  transform:translateY(8px);
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,background-color .18s ease,bottom .18s ease;
}
.scroll-top.is-visible{opacity:1;transform:none;pointer-events:auto;}
.scroll-top:hover{background:#35bfbd;}
.cookie-banner-visible .scroll-top{bottom:var(--cookie-banner-offset,88px);}

.site-footer #mod-custom120 p,
.site-footer #mod-custom120 address{color:rgba(255,255,255,.78);}
.site-footer #mod-custom120 a{color:#fff;}
.site-footer .footer-navigation-links,
.site-footer .footer-legal-links{line-height:1.65;}

@media (max-width:600px){
  .cookie-banner{
    align-items:stretch;
    flex-direction:column;
    gap:9px;
    width:calc(100% - 24px);
    bottom:12px;
    padding:12px;
  }
  .cookie-banner__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
  .cookie-button{min-width:0;padding-inline:10px;}
  .cookie-settings{padding:12px;}
  .cookie-settings__dialog{max-height:calc(100vh - 24px);padding:24px 18px 18px;}
  .cookie-settings__dialog h2{font-size:21px;}
  .cookie-settings__close{top:12px;right:12px;}
  .cookie-settings__option{gap:12px;}
  .cookie-settings__actions .cookie-button{width:100%;min-height:42px;}
  .scroll-top{right:12px;bottom:12px;width:44px;height:44px;}
}

@media (prefers-reduced-motion:reduce){
  .cookie-button,
  .cookie-switch span,
  .cookie-switch span::after,
  .scroll-top{transition:none;}
}

/* Hero: desktop imagery and restrained side-card feedback. */
@media (min-width:768px){
  .hero-slider>.mod-custom{
    background-color:var(--brand-navy)!important;
    background-position:center,right center!important;
    background-repeat:no-repeat!important;
    background-size:cover!important;
  }

  .hero-slider>.hero-frame--kassa{
    background-image:linear-gradient(90deg,#002447 0%,#002447 41%,rgba(0,36,71,.96) 53%,rgba(0,36,71,.48) 100%),url("../images/visuals/hero-kassa.jpg")!important;
  }
  .hero-slider>.hero-frame--mark{
    background-image:linear-gradient(90deg,#002447 0%,#002447 41%,rgba(0,36,71,.96) 53%,rgba(0,36,71,.48) 100%),url("../images/visuals/hero-marking.jpg")!important;
  }
  .hero-slider>.hero-frame--start{
    background-image:linear-gradient(90deg,#002447 0%,#002447 41%,rgba(0,36,71,.96) 53%,rgba(0,36,71,.48) 100%),url("../images/visuals/hero-start.jpg")!important;
  }
  .hero-slider>.hero-frame--oneC{
    background-image:linear-gradient(90deg,#002447 0%,#002447 41%,rgba(0,36,71,.96) 53%,rgba(0,36,71,.48) 100%),url("../images/visuals/hero-automation.jpg")!important;
  }
  .hero-slider>.hero-frame--piot{
    background-image:linear-gradient(90deg,#002447 0%,#002447 41%,rgba(0,36,71,.96) 53%,rgba(0,36,71,.48) 100%),url("../images/visuals/hero-piot.jpg")!important;
  }

  .hero-slider>.mod-custom .hero-slide{
    box-sizing:border-box;
    width:68%;
    text-align:center;
  }

  .hero-aside>div{
    transition:transform .2s ease,background-color .2s ease,border-color .2s ease;
  }

  .hero-aside>div:hover{
    transform:translateX(-3px);
    background:#F7F9FA!important;
  }

  .hero-aside>#mod-custom134:hover{border-left-width:6px!important;}
  .hero-aside>#mod-custom136:hover{border-left-width:6px!important;}
  .hero-aside>#mod-custom135:hover{border-left-width:6px!important;}
}

.hero-aside>#mod-custom135{order:1;}
.hero-aside>#mod-custom136{order:2;}
.hero-aside>#mod-custom134{order:3;}

/* Services: icon/title row and controlled hover. */
#services .service-card{
  min-height:184px;
  padding:20px 18px 18px!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  overflow:hidden;
  transition:transform .2s ease,background-color .2s ease,border-color .2s ease;
}

#services .service-card::before{
  top:19px!important;
  left:18px!important;
  width:32px!important;
  height:32px!important;
}

#services .service-card::after{
  display:none!important;
  content:none!important;
}

#services .service-card h3{
  box-sizing:border-box;
  display:flex;
  align-items:center;
  min-height:34px;
  margin:0 0 13px;
  padding:0 0 0 44px;
  border-bottom:0;
  line-height:1.28;
}

#services .service-card h3::after{
  display:none;
  content:none;
}

@media (hover:hover) and (pointer:fine){
  #services .service-card:hover{
    transform:translateY(-2px);
    border-color:var(--brand-teal)!important;
    background:#F7FAFB!important;
  }
}

/* Support CTA keeps an amber, high-contrast hover. */
#support .support-cta .button:hover,
#support .support-cta .button:focus-visible{
  background:var(--brand-amber)!important;
  border-color:var(--brand-amber)!important;
  color:var(--brand-navy)!important;
}

/* Partner solutions: official logos are the primary identity cue. */
#partners .partner-card{
  border-radius:0!important;
  overflow:hidden;
  transition:transform .2s ease,background-color .2s ease,border-color .2s ease;
}

#partners .partner-card::before,
#partners .partner-card::after{
  display:none!important;
}

#partners .partner-card .section-label{
  display:flex;
  align-items:center;
  min-height:34px;
  margin:0 0 17px;
}

#partners .partner-card__logo{
  display:block;
  width:auto;
  max-width:190px;
  height:32px;
  object-fit:contain;
  object-position:left center;
}

#partners .partner-card--evotor .partner-card__logo{
  height:30px;
}

#partners .partner-card li::before{
  width:5px!important;
  height:5px!important;
  border-radius:0!important;
  background:var(--brand-teal)!important;
}

#partners .partner-card::selection{background:rgba(83,211,209,.25);}

@media (hover:hover) and (pointer:fine){
  #partners .partner-card:hover{
    transform:translateY(-2px);
    border-color:var(--brand-teal)!important;
    background:#F7F9FA!important;
  }
}

/* Why IT-Код: one connected technical network, not six boxed cards. */
#advantages .why-section{
  position:relative;
}

#advantages .feature-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0!important;
  margin-top:28px;
  border-top:1px solid var(--border-neutral);
  border-bottom:1px solid var(--border-neutral);
  background:
    linear-gradient(90deg,transparent 33.28%,rgba(83,211,209,.22) 33.33%,transparent 33.38%,transparent 66.61%,rgba(83,211,209,.22) 66.66%,transparent 66.71%),
    linear-gradient(0deg,transparent 49.9%,rgba(83,211,209,.22) 50%,transparent 50.1%);
}

#advantages .feature-card{
  position:relative;
  min-height:154px;
  padding:25px 22px 22px 72px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  transition:background-color .18s ease;
}

#advantages .feature-card::before{
  display:none!important;
  content:none!important;
}

#advantages .feature-icon{
  position:absolute!important;
  left:22px!important;
  top:25px!important;
  width:34px!important;
  height:34px!important;
  margin:0!important;
  border:1px solid rgba(83,211,209,.65);
  border-radius:0!important;
  background:rgba(83,211,209,.08)!important;
  font-size:0!important;
}

#advantages .feature-icon::after{
  content:"";
  display:block;
  width:20px;
  height:20px;
  margin:6px;
  background:var(--brand-teal)!important;
  clip-path:none!important;
  mask:var(--why-icon) center/contain no-repeat;
  -webkit-mask:var(--why-icon) center/contain no-repeat;
}

#advantages .feature-card[data-icon="all"]{--why-icon:url("../images/icons/service-one-c.svg");}
#advantages .feature-card[data-icon="check"]{--why-icon:url("../images/icons/service-piot.svg");}
#advantages .feature-card[data-icon="setup"]{--why-icon:url("../images/icons/service-kkt.svg");}
#advantages .feature-card[data-icon="support"]{--why-icon:url("../images/contact-phone.svg");}
#advantages .feature-card[data-icon="russia"]{--why-icon:url("../images/icons/service-mercury.svg");}
#advantages .feature-card[data-icon="docs"]{--why-icon:url("../images/icons/service-signature.svg");}

#advantages .feature-card h3{
  margin:0 0 8px!important;
}

#advantages .feature-card p{
  margin:0;
}

@media (hover:hover) and (pointer:fine){
  #advantages .feature-card:hover{
    background:rgba(83,211,209,.055)!important;
  }
  #advantages .feature-card:hover .feature-icon::after{
    background:var(--brand-amber)!important;
  }
}

/* How we work: directed desktop chain with semantic icons. */
#advantages .how-section{
  margin-top:38px;
  padding-top:34px;
}

#advantages .work-steps{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:0;
  margin-top:24px;
}

#advantages .work-steps::before{
  left:12.5%!important;
  right:12.5%!important;
  top:22px!important;
  height:2px!important;
  background:var(--brand-teal)!important;
}

#advantages .work-step{
  position:relative;
  display:grid;
  justify-items:center;
  gap:12px;
  padding:0 18px 16px!important;
  text-align:center;
  transition:background-color .18s ease;
}

#advantages .work-step strong{
  z-index:2;
  display:grid;
  place-items:center;
  width:44px!important;
  height:44px!important;
  border:2px solid var(--brand-teal);
  border-radius:0!important;
  background:var(--brand-navy)!important;
  color:#fff!important;
}

#advantages .work-step:not(:last-child)::after{
  content:"";
  position:absolute;
  z-index:3;
  top:17px;
  right:-4px;
  width:9px;
  height:9px;
  border-top:2px solid var(--brand-teal);
  border-right:2px solid var(--brand-teal);
  transform:rotate(45deg);
}

#advantages .work-step__content{
  display:grid;
  justify-items:center;
  gap:8px;
}

#advantages .work-step__icon{
  display:block;
  width:24px;
  height:24px;
  background:var(--brand-teal);
  mask:var(--process-icon) center/contain no-repeat;
  -webkit-mask:var(--process-icon) center/contain no-repeat;
}

#advantages .work-step__icon--message{--process-icon:url("../images/contact-email.svg");}
#advantages .work-step__icon--selection{--process-icon:url("../images/icons/service-one-c.svg");}
#advantages .work-step__icon--setup{--process-icon:url("../images/icons/service-piot.svg");}
#advantages .work-step__icon--support{--process-icon:url("../images/contact-phone.svg");}

#advantages .work-step__title{
  display:block;
  font-size:15px;
  font-weight:700;
  line-height:1.35;
}

@media (hover:hover) and (pointer:fine){
  #advantages .work-step:hover{background:rgba(83,211,209,.05);}
  #advantages .work-step:hover strong{border-color:var(--brand-amber);}
  #advantages .work-step:hover .work-step__icon{background:var(--brand-amber);}
}

/* Compact automation: copy on the left, the existing photo on the right. */
.home-page #mod-custom137 h2,
.home-page #mod-custom137 h2 *{
  background:transparent!important;
  color:#002447!important;
}

.home-page #mod-custom137 .section-label,
.home-page #mod-custom137 .section-label *{
  background:transparent!important;
  color:#FEB249!important;
  font-size:15px!important;
  font-weight:700!important;
}

.home-page #mod-custom137 .automation-grid>div:first-child>p:not(.section-label):not(:has(.button)),
.home-page #mod-custom137 .automation-grid>div:first-child>p:not(.section-label):not(:has(.button)) *{
  background:transparent!important;
  color:#002447!important;
}

.home-page #mod-custom137 .button,
.home-page #mod-custom137 .button *{
  background-color:transparent!important;
  color:var(--brand-navy)!important;
}

.home-page #mod-custom137 .button{
  background:var(--brand-amber)!important;
}

.home-page #mod-custom137 .automation-grid{
  grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr)!important;
  gap:34px!important;
  align-items:center;
}

.home-page #mod-custom137 .automation-visual{
  overflow:hidden;
  aspect-ratio:3/1.55;
  background:#fff;
}

.home-page #mod-custom137 .automation-visual img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.home-page #mod-custom137 .automation-directions{
  max-width:510px;
  margin:18px 0;
  color:#002447!important;
  font-size:15px!important;
  font-weight:600;
  line-height:1.6!important;
}

/* One final business section: solutions, business start and direct contact. */
.home-page .final-business{
  padding:46px 0!important;
  border:0;
  background:#002447!important;
  color:#fff!important;
}

.home-page .final-business>.site-shell{
  width:min(1200px,calc(100% - 40px))!important;
  max-width:1200px!important;
}

.home-page .final-business__main{
  display:grid;
  grid-template-columns:minmax(0,3fr) minmax(360px,2fr);
  grid-template-areas:
    "title startup"
    "subtitle startup"
    "solutions startup";
  gap:8px 42px;
  align-items:start;
}

.home-page .final-business #mod-custom122,
.home-page .final-business #mod-custom122 .solution-block{
  display:contents;
}

.home-page .final-business #mod-custom122 h2{
  grid-area:title;
  margin:0;
  max-width:660px;
  color:#fff!important;
  font-size:36px!important;
}
.home-page .final-business #mod-custom122 h2 *{
  background:transparent!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

.home-page .final-business #mod-custom122 h2+p{
  grid-area:subtitle;
  max-width:650px;
  margin:0 0 12px;
  color:rgba(255,255,255,.82)!important;
  font-size:16px!important;
}
.home-page .final-business #mod-custom122 h2+p *{
  background:transparent!important;
  color:rgba(255,255,255,.82)!important;
  -webkit-text-fill-color:rgba(255,255,255,.82)!important;
}

.home-page .final-business #mod-custom122 .solution-extra,
.home-page .final-business #mod-custom122 .solution-block>p:last-child{
  display:none;
}

.home-page .final-business #mod-custom122 .solution-chain{
  grid-area:solutions;
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-content:start;
  gap:0 26px!important;
  max-width:none!important;
  margin:0!important;
  padding:2px 0 0!important;
}

.home-page .final-business #mod-custom122 .solution-chain li{
  position:relative;
  display:block!important;
  min-height:0!important;
  padding:7px 0 7px 18px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  color:#fff!important;
  font-size:15px!important;
  font-weight:600;
}
.home-page .final-business #mod-custom122 .solution-chain li *{
  background:transparent!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

.home-page .final-business #mod-custom122 .solution-chain li::before{
  content:"";
  position:absolute;
  left:0;
  top:15px;
  width:6px;
  height:6px;
  background:var(--brand-teal);
}

.home-page .final-business #mod-custom122 .solution-chain li::after{display:none!important;content:none!important;}

.home-page .final-business #mod-custom113{grid-area:startup;}
.home-page .final-business #mod-custom113 .registration-cta{
  box-sizing:border-box;
  height:auto;
  min-height:0;
  align-items:flex-start;
  flex-direction:column;
  justify-content:flex-start;
  gap:12px;
  padding:30px 30px 28px;
  border:0!important;
  border-radius:0!important;
  background:#002447!important;
  box-shadow:none!important;
}

.home-page .final-business #mod-custom113 .registration-cta .section-label{
  color:#FEB249!important;
  font-size:15px!important;
}
.home-page .final-business #mod-custom113 .registration-cta h2{
  margin-bottom:8px;
  color:#fff!important;
  font-size:28px!important;
}
.home-page .final-business #mod-custom113 .registration-cta h2 *{color:#fff!important;background:transparent!important;}
.home-page .final-business #mod-custom113 .registration-cta p:not(.section-label){color:rgba(255,255,255,.82)!important;}
.home-page .final-business #mod-custom113 .registration-cta .button{
  margin-top:6px;
  background:#FEB249!important;
  color:#002447!important;
}
.home-page .final-business #mod-custom113 .registration-cta .button *{color:inherit!important;background:transparent!important;}

@media (min-width:768px) and (max-width:1023px){
  .home-page #mod-custom137 .automation-grid{grid-template-columns:1fr!important;}
  .home-page .final-business__main{
    grid-template-columns:minmax(0,3fr) minmax(320px,2fr);
    gap-inline:30px;
  }
}

@media (max-width:768px){
  .hero-slider>.mod-custom{
    background-image:none!important;
    background-color:var(--brand-navy)!important;
  }

  .hero-slider>.mod-custom .hero-slide{
    width:100%;
  }
}

@media (max-width:767px){

  #services .service-card{
    padding:18px 16px!important;
  }
  #services .service-card::before{top:18px!important;left:16px!important;}
  #services .service-card h3{padding-left:44px;}

  #advantages .feature-grid{
    grid-template-columns:1fr!important;
    background:linear-gradient(90deg,rgba(83,211,209,.22),rgba(83,211,209,.22)) 38px 0/1px 100% no-repeat;
  }
  #advantages .feature-card{
    min-height:0!important;
    padding:20px 18px 20px 68px!important;
    border-bottom:1px solid var(--border-neutral)!important;
  }
  #advantages .feature-card:last-child{border-bottom:0!important;}
  #advantages .feature-icon{left:18px!important;top:20px!important;}

  #advantages .work-steps{
    grid-template-columns:1fr!important;
    gap:0!important;
  }
  #advantages .work-steps::before{
    left:21px!important;
    right:auto!important;
    top:22px!important;
    bottom:22px!important;
    width:2px!important;
    height:auto!important;
  }
  #advantages .work-step{
    grid-template-columns:44px 1fr!important;
    justify-items:start!important;
    align-items:center;
    gap:15px!important;
    padding:0 0 24px!important;
    text-align:left;
  }
  #advantages .work-step:last-child{padding-bottom:0!important;}
  #advantages .work-step:not(:last-child)::after{
    top:auto;
    right:auto;
    bottom:8px;
    left:17px;
    transform:rotate(135deg);
  }
  #advantages .work-step__content{
    justify-items:start;
    grid-template-columns:26px 1fr;
    align-items:center;
  }

  .home-page #mod-custom137 .automation-grid{
    grid-template-columns:1fr!important;
  }
  .home-page #mod-custom137 .automation-visual{
    display:block;
  }
  .home-page #mod-custom137 .automation-directions{
    margin:15px 0;
    font-size:15px!important;
  }

  .home-page .final-business{
    padding:36px 0!important;
  }
  .home-page .final-business__main{
    grid-template-columns:1fr;
    grid-template-areas:
      "title"
      "subtitle"
      "solutions"
      "startup";
    gap:10px;
  }
  .home-page .final-business #mod-custom122 h2+p{
    margin-bottom:16px;
  }
  .home-page .final-business #mod-custom122 .solution-chain{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 20px!important;
    margin-bottom:22px!important;
  }
  .home-page .final-business #mod-custom113 .registration-cta{
    padding:24px 20px;
  }

}

@media (max-width:768px){
  .home-page .final-business{
    padding:36px 0!important;
  }
  .home-page .final-business__main{
    grid-template-columns:1fr;
    grid-template-areas:
      "title"
      "subtitle"
      "solutions"
      "startup";
    gap:10px;
  }
  .home-page .final-business #mod-custom122 h2+p{margin-bottom:16px;}
  .home-page .final-business #mod-custom122 .solution-chain{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:0 20px!important;
    margin-bottom:26px!important;
  }
  .home-page .final-business #mod-custom113 .registration-cta{padding:24px 20px;}
}

@media (max-width:480px){
  .home-page .final-business #mod-custom122 .solution-chain{grid-template-columns:1fr;}
}

@media (prefers-reduced-motion:reduce){
  .hero-aside>div,
  #services .service-card,
  #partners .partner-card,
  #advantages .feature-card,
  #advantages .work-step{
    transition:none!important;
    transform:none!important;
  }
}

/* Joomla article /kontakty. The existing contacts module remains the data source. */
.inner-page .contact-page{
  box-sizing:border-box;
  padding:30px 0 64px;
  color:var(--brand-navy);
}

.inner-page .contact-page__breadcrumbs{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:8px;
  margin:0 0 30px;
  color:var(--text-secondary);
  font-size:14px;
  line-height:1.5;
}

.inner-page .contact-page__breadcrumbs a{
  color:var(--brand-navy);
  text-decoration:none;
}

.inner-page .contact-page__breadcrumbs a:hover,
.inner-page .contact-page__breadcrumbs a:focus-visible{
  color:#168f91;
}

.inner-page .contact-page__header{
  max-width:800px;
  margin:0 0 36px;
}

.inner-page .contact-page__header .section-label{
  margin:0 0 10px;
  color:var(--brand-amber);
  font-size:15px;
  font-weight:700;
  line-height:1.35;
}

.inner-page .contact-page__header h1{
  margin:0 0 14px;
  color:var(--brand-navy);
  font-family:var(--font-main);
  font-size:clamp(36px,4vw,52px);
  font-weight:700;
  line-height:1.1;
}

.inner-page .contact-page__header>p:last-child{
  margin:0;
  color:var(--text-secondary);
  font-size:18px;
  line-height:1.55;
}

.inner-page .contact-page__content,
.inner-page .contact-page__content .contacts-section{
  margin:0;
}

.inner-page .contact-page__content .contacts-section>.section-label:first-child{
  display:none;
}

.inner-page .contact-page__content a[href^="tel:"],
.inner-page .contact-page__content a[href^="mailto:"]{
  color:var(--brand-navy);
  text-decoration:none;
}

.home-page a.is-static-card-link[aria-disabled="true"]{
  cursor:default;
  pointer-events:none;
}

@media (max-width:767px){
  .inner-page .contact-page{
    padding:22px 0 44px;
  }

  .inner-page .contact-page__breadcrumbs{
    margin-bottom:22px;
  }

  .inner-page .contact-page__header{
    margin-bottom:28px;
  }

  .inner-page .contact-page__header h1{
    font-size:34px;
  }

  .inner-page .contact-page__header>p:last-child{
    font-size:16px;
  }
}

/* Homepage partner marquee: complete brand set with optical logo sizing. */
body.home-page .brand-marquee{
  overflow:hidden;
  background:#fff!important;
}
body.home-page .brand-marquee-track{
  align-items:center;
  gap:48px!important;
  --brand-gap:48px;
  --brand-duration:48s!important;
}
body.home-page .brand-marquee .brand-logo{
  display:flex;
  flex:0 0 auto!important;
  align-items:center;
  justify-content:center;
  width:auto!important;
  height:46px!important;
  min-height:0!important;
  padding:0!important;
  background:transparent!important;
}
body.home-page .brand-marquee .brand-logo img{
  display:block;
  width:auto!important;
  height:var(--partner-logo-height,34px)!important;
  max-width:var(--partner-logo-width,160px)!important;
  object-fit:contain!important;
  object-position:center!important;
  filter:none!important;
  mix-blend-mode:normal!important;
}
body.home-page .brand-logo--atol{--partner-logo-height:36px;--partner-logo-width:134px;}
body.home-page .brand-logo--platforma-ofd{--partner-logo-height:34px;--partner-logo-width:154px;}
body.home-page .brand-logo--one-c{--partner-logo-height:48px;--partner-logo-width:80px;}
body.home-page .brand-logo--mindeo{--partner-logo-height:32px;--partner-logo-width:150px;}
body.home-page .brand-logo--sber{--partner-logo-height:43px;--partner-logo-width:166px;}
body.home-page .brand-logo--poscenter{--partner-logo-height:37px;--partner-logo-width:142px;}
body.home-page .brand-logo--kaluga-astral{--partner-logo-height:32px;--partner-logo-width:158px;}
body.home-page .brand-logo--mertech{--partner-logo-height:29px;--partner-logo-width:160px;}
body.home-page .brand-logo--evotor{--partner-logo-height:34px;--partner-logo-width:160px;}
body.home-page .brand-logo--one-ofd{--partner-logo-height:40px;--partner-logo-width:132px;}
body.home-page .brand-logo--shtrih-m{--partner-logo-height:44px;--partner-logo-width:110px;}
body.home-page .brand-logo--aqsi{--partner-logo-height:39px;--partner-logo-width:94px;}
body.home-page .brand-logo--rr-electro{--partner-logo-height:32px;--partner-logo-width:158px;}
body.home-page .brand-logo--neva-kkt{--partner-logo-height:38px;--partner-logo-width:154px;}

@media (max-width:767px){
  body.home-page .brand-marquee-track{
    gap:34px!important;
    --brand-gap:34px;
    --brand-duration:40s!important;
  }
  body.home-page .brand-marquee .brand-logo{
    height:40px!important;
  }
  body.home-page .brand-marquee .brand-logo img{
    height:min(var(--partner-logo-height,32px),36px)!important;
    max-width:min(var(--partner-logo-width,138px),138px)!important;
  }
}

/* Why IT-Код: compact icon-title rows without introducing boxed cards. */
body.home-page #advantages .feature-card{
  display:grid!important;
  grid-template-columns:32px minmax(0,1fr);
  grid-template-areas:
    "icon title"
    ". text";
  align-content:start;
  align-items:center;
  column-gap:12px;
  row-gap:6px;
  min-height:136px;
  padding:22px!important;
  transition:background-color .2s ease,transform .2s ease;
}
body.home-page #advantages .feature-icon{
  position:static!important;
  grid-area:icon;
  box-sizing:border-box;
  width:32px!important;
  height:32px!important;
  border:1px solid var(--brand-teal)!important;
  background:rgba(83,211,209,.1)!important;
}
body.home-page #advantages .feature-icon::after{
  width:22px;
  height:22px;
  margin:4px;
  background:var(--brand-navy)!important;
}
body.home-page #advantages .feature-card h3{
  grid-area:title;
  align-self:center;
  margin:0!important;
}
body.home-page #advantages .feature-card p{
  grid-area:text;
  margin:0!important;
}
@media (hover:hover) and (pointer:fine){
  body.home-page #advantages .feature-card:hover{
    transform:translateY(-2px);
    background:#F7F9FA!important;
  }
  body.home-page #advantages .feature-card:hover .feature-icon{
    border-color:#2BAEAD!important;
    background:rgba(83,211,209,.16)!important;
  }
  body.home-page #advantages .feature-card:hover .feature-icon::after{
    background:var(--brand-navy)!important;
  }
}

/* Shared contact-module media: true 16:9 map/photo pair, stacked on mobile. */
#contacts .contact-photo{
  border:0!important;
  background:transparent!important;
}
@media (min-width:769px){
  #contacts .contact-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  #contacts .contact-map,
  #contacts .contact-photo{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16 / 9!important;
  }
  #contacts .contact-map-frame,
  #contacts .contact-map iframe,
  #contacts .contact-photo img{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
  }
  #contacts .contact-photo img{
    display:block;
    object-fit:cover!important;
    object-position:center center!important;
  }
}

/* Approved dark logo closes the existing Documents column in the footer. */
.site-footer #mod-custom127 .footer-brand-logo{
  display:inline-flex;
  width:160px;
  max-width:100%;
  margin-top:22px;
  line-height:0;
}
.site-footer #mod-custom127 .footer-brand-logo img{
  display:block;
  width:100%;
  height:auto;
}

@media (max-width:768px){
  body.home-page #advantages .feature-card{
    grid-template-columns:32px minmax(0,1fr);
    min-height:0!important;
    padding:18px!important;
  }
  body.home-page #advantages .feature-icon{
    left:auto!important;
    top:auto!important;
  }
  #contacts .contact-grid{
    grid-template-columns:1fr!important;
  }
  #contacts .contact-map,
  #contacts .contact-photo{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16 / 9!important;
  }
  #contacts .contact-map-frame,
  #contacts .contact-map iframe,
  #contacts .contact-photo img{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
  }
  #contacts .contact-photo img{
    display:block;
    height:auto!important;
    aspect-ratio:16 / 9!important;
    object-fit:cover!important;
    object-position:center center!important;
  }
  .site-footer #mod-custom127 .footer-brand-logo{
    display:flex;
    width:140px;
    margin:22px auto 0;
  }
}

/* Homepage major headings share the stable News scale; component titles stay untouched. */
.home-page #mod-custom110>h1,
.home-page #services #mod-custom123>h2,
.home-page #support .support-cta h2,
.home-page #partners #mod-custom139 h2,
.home-page #advantages .why-section>h2,
.home-page #advantages .how-section>h2,
.home-page #mod-custom137 h2,
.home-page .final-business #mod-custom122 h2,
.home-page #contacts .contacts-section>h2{
  font-size:34px!important;
  font-weight:700!important;
  line-height:1.18!important;
}

@media (max-width:1023px){
  .home-page #mod-custom110>h1,
  .home-page #services #mod-custom123>h2,
  .home-page #support .support-cta h2,
  .home-page #partners #mod-custom139 h2,
  .home-page #advantages .why-section>h2,
  .home-page #advantages .how-section>h2,
  .home-page #mod-custom137 h2,
  .home-page .final-business #mod-custom122 h2,
  .home-page #contacts .contacts-section>h2{
    font-size:30px!important;
  }
}

@media (max-width:767px){
  .home-page #mod-custom110>h1,
  .home-page #services #mod-custom123>h2,
  .home-page #support .support-cta h2,
  .home-page #partners #mod-custom139 h2,
  .home-page #advantages .why-section>h2,
  .home-page #advantages .how-section>h2,
  .home-page #mod-custom137 h2,
  .home-page .final-business #mod-custom122 h2,
  .home-page #contacts .contacts-section>h2{
    font-size:26px!important;
  }
}
