/* Global site shell: shared by all pages. Desktop source geometry is exact at >=1360px. */
.site-header{position:relative;z-index:50;height:125px;padding-top:21px;background:#fff}
.header-shell{height:104px}
.header-top{display:flex;align-items:center;justify-content:space-between;height:46px}
.brand{display:block;flex:0 0 106px;width:106px;height:46px}
.brand img{width:100%;height:auto}
.header-contacts{display:flex;font-style:normal;align-items:center;gap:22px;width:424px;height:20px;color:rgba(41,115,124,.60);font-size:15px;line-height:19px}
.header-contacts a,.header-contacts span{display:flex;align-items:center;gap:4px;white-space:nowrap}
.header-contacts a{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.header-contacts img{flex:0 0 auto}
.header-contacts a:nth-child(1){width:151px}
.header-contacts a:nth-child(2){width:139px}
.header-contacts span{width:90px}

.nav-row{display:flex;align-items:center;gap:26px;width:calc(100% - 2px);height:43px;margin-top:15px;margin-left:.5px}
.main-nav{position:relative;display:flex;align-items:center;gap:8px;width:1065px;height:27px;font-size:15px;font-weight:500;line-height:19px;text-transform:uppercase;white-space:nowrap}
.main-nav>a,.main-nav>.nav-item{display:flex;align-items:center;flex:0 0 auto;min-width:0;color:inherit;transition:color var(--transition-fast)}
.nav-item{position:relative}
.nav-item>a{display:block;min-width:0;padding-right:19px;color:inherit}
.nav-submenu-toggle{position:absolute;right:0;top:50%;display:grid;width:18px;height:27px;padding:0;border:0;background:transparent;transform:translateY(-50%);color:inherit;cursor:pointer}
.nav-submenu-toggle .nav-chevron{place-self:center}
.nav-separator{display:block;width:9px;height:27px;color:rgba(41,115,124,.13);font-family:Arial,sans-serif;font-size:24px;font-weight:700;line-height:27px;text-align:center}
.nav-chevron{display:block;width:7px;height:4px;object-fit:fill}
.callback-link{flex:0 0 203px;width:203px;min-height:43px;padding:10px 18px;border-radius:5px;font-size:15px;font-weight:600;line-height:19px;text-align:center}
.menu-toggle{display:none}

.nav-submenu{
  position:absolute;z-index:80;top:35px;min-width:230px;max-width:360px;margin:0;padding:8px;
  list-style:none;border:1px solid rgba(41,115,124,.12);border-radius:5px;background:#fff;
  box-shadow:var(--submenu-shadow);text-transform:none;white-space:normal
}
.nav-submenu li+li{border-top:1px solid rgba(41,115,124,.08)}
.nav-submenu a{
  display:block!important;min-height:0!important;padding:10px 12px!important;border:0!important;border-radius:4px;
  font-size:14px;line-height:1.35;font-weight:500;text-transform:none;color:var(--color-primary);
  transition:background-color var(--transition-fast),color var(--transition-fast)
}
@media (hover:hover){
  .main-nav>a:hover,.main-nav>.nav-item:hover,.header-contacts a:hover,.footer-column a:hover,.footer-contacts a:hover{color:var(--color-lime)}
  .nav-submenu a:hover{background:rgba(125,200,4,.10);color:var(--color-primary-dark)}
}
.nav-item:has(.nav-submenu-toggle[aria-expanded="true"]){color:var(--color-primary-hover)}
.nav-submenu-toggle[aria-expanded="true"] .nav-chevron{transform:rotate(180deg)!important}

.menu-toggle{
  width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;
  padding:0;border:1px solid rgba(41,115,124,.18);border-radius:5px;background:#fff;color:var(--color-primary);cursor:pointer
}
.menu-toggle span{display:block;width:20px;height:2px;background:currentColor;transition:transform var(--transition-fast),opacity var(--transition-fast)}
.menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

.site-footer{min-height:409px;padding:72px 0 0;background:var(--color-surface);color:rgba(4,5,5,.8)}
.footer-main{display:grid;grid-template-columns:404px 104px 158px 158px 1fr;gap:36px;align-items:start}
.footer-about p{margin:16px 0 0;max-width:404px}
.footer-column{display:grid;gap:15px;opacity:.6}
.footer-contacts{display:grid;gap:15px;font-style:normal}
.footer-contacts a{text-decoration:underline;text-underline-offset:2px}
.footer-bottom{display:flex;justify-content:center;margin-top:81px;padding-top:31px;border-top:1px solid rgba(4,5,5,.12);font-size:14px}

@media (min-width:1360px){
  .main-nav{
    display:grid;
    grid-template-columns:104px 8px 9px 8px 116px 1px 9px 8px 358px 1px 9px 8px 188px 1px 9px 8px 114px 8px 9px 8px 81px;
    gap:0;width:1065px;height:27px
  }
  .main-nav>a,.main-nav>.nav-item,.main-nav>.nav-separator{min-width:0;width:auto;margin:0;padding:0}
  .main-nav>.nav-link--about{grid-column:1}
  .main-nav>.nav-separator--about{grid-column:3}
  .main-nav>.nav-item--products{grid-column:5}
  .main-nav>.nav-separator--products{grid-column:7}
  .main-nav>.nav-item--cleaning{grid-column:9}
  .main-nav>.nav-separator--cleaning{grid-column:11}
  .main-nav>.nav-item--applications{grid-column:13}
  .main-nav>.nav-separator--applications{grid-column:15}
  .main-nav>.nav-link--certificates{grid-column:17}
  .main-nav>.nav-separator--certificates{grid-column:19}
  .main-nav>.nav-link--contacts{grid-column:21}
  .nav-separator{position:relative;font-size:0;color:transparent}
  .nav-separator::before{content:"";position:absolute;left:4px;top:3px;width:1px;height:21px;background:rgba(41,115,124,.13)}
  .main-nav .nav-chevron{
    display:block!important;
    width:7px!important;height:4px!important;margin:0!important;padding:0!important;border:0!important;
    background:none!important;object-fit:fill!important
  }

  .site-footer{height:409px;min-height:0;margin-top:75px;padding:72px 0 0;background:#f7f9fc;color:rgba(4,5,5,.8)}
  .footer-main{display:grid;grid-template-columns:396px 104px 158px 158px 288px;column-gap:36px;row-gap:28px;width:1248px;height:160px;margin:0 auto;align-items:start}
  .footer-about{width:404px}
  .footer-about img{width:106px;height:46px}
  .footer-about p{margin:16px 0 0;font-size:16px;line-height:20px;color:#040505}
  .footer-about p:last-child{margin-top:16px}
  .footer-column{display:grid;align-content:start;gap:15px;font-size:16px;line-height:20px;color:rgba(4,5,5,.8);opacity:1}
  .footer-contacts{display:grid;align-content:start;gap:15px;font-size:15px;line-height:19px;font-style:normal;color:rgba(4,5,5,.8)}
  .footer-contacts a,.footer-contacts span{display:flex;align-items:flex-start;gap:4px}
  .footer-contacts img{flex:0 0 auto;width:15px;height:15px;margin-top:2px;opacity:.8}
  .footer-contacts span img{width:20px;height:20px;margin-top:0}
  .footer-bottom{display:flex;align-items:flex-start;justify-content:center;width:1248px;height:50px;margin:81px auto 0;padding-top:31px;border-top:1px solid rgba(4,5,5,.12);font-size:14px;line-height:18px}
}

/* Compact desktop: retains the desktop information architecture without source-fixed widths. */
@media (min-width:1025px) and (max-width:1359px){
  .site-header{height:auto;padding:18px 0 12px}
  .header-shell{height:auto}
  .header-top{height:42px}
  .brand{width:96px;height:auto;flex-basis:96px}
  .header-contacts{width:auto;gap:14px;font-size:13px}
  .header-contacts a:nth-child(1),.header-contacts a:nth-child(2),.header-contacts span{width:auto}
  .nav-row{display:grid;grid-template-columns:minmax(0,1fr) 170px;gap:16px;width:100%;height:auto;margin:10px 0 0}
  .main-nav{display:flex;width:100%;height:auto;gap:0;font-size:12px;line-height:16px}
  .main-nav>a,.main-nav>.nav-item{position:relative;min-height:34px;padding:8px 10px;border-right:1px solid rgba(41,115,124,.10)}
  .main-nav>a:first-child{padding-left:0}
  .main-nav>a:last-of-type{border-right:0}
  .nav-item>a{padding-right:19px}
  .nav-submenu-toggle{right:6px;height:34px}
  .nav-separator{display:none}
  .main-nav .nav-chevron{position:static!important}
  .callback-link{width:170px;min-height:38px;padding:8px 12px;font-size:13px}
  .nav-submenu{top:42px}
  .site-footer{height:auto;margin-top:56px;padding:54px 0 28px}
  .footer-main{grid-template-columns:1.4fr repeat(3,1fr);gap:28px}
  .footer-about{grid-row:span 2}
  .footer-contacts{grid-column:2/-1}
  .footer-bottom{margin-top:52px}
}

@media (max-width:1024px){
  .site-header{height:auto;padding:14px 0}
  .header-shell{height:auto}
  .header-top{height:46px}
  .header-contacts{display:none}
  html.site-js .menu-toggle{display:inline-flex}
  html.site-js .nav-row{display:none;width:100%;height:auto;margin:10px 0 0;gap:10px}
  html.site-js .site-header:has(.menu-toggle[aria-expanded="true"]) .nav-row{display:grid}
  .main-nav{display:flex;flex-direction:column;width:100%;height:auto;gap:0;font-size:13px;white-space:normal}
  .nav-separator{display:none}
  .main-nav>a,.main-nav>.nav-item{position:relative;order:var(--nav-order,0);width:100%;min-height:44px;padding:11px 42px 11px 10px;border-bottom:1px solid rgba(41,115,124,.10)}
  .main-nav>.nav-link--about{--nav-order:10}.main-nav>.nav-item--products{--nav-order:20}.main-nav>.nav-item--cleaning{--nav-order:30}.main-nav>.nav-item--applications{--nav-order:40}.main-nav>.nav-link--certificates{--nav-order:50}.main-nav>.nav-link--contacts{--nav-order:60}
  .nav-item>a{padding-right:0}
  .nav-submenu-toggle{right:10px;height:44px}
  .main-nav .nav-chevron{position:static!important}
  .nav-submenu{position:static;min-width:0;max-width:none;width:100%;padding:4px 10px 8px;border:0;border-bottom:1px solid rgba(41,115,124,.10);border-radius:0;box-shadow:none;background:#f8fbfb}
  #submenu-products{order:21}
  #submenu-cleaning{order:31}
  #submenu-applications{order:41}
  .nav-submenu a{padding:9px 14px!important}
  .callback-link{width:220px;min-height:42px}
  .site-footer{height:auto;margin-top:48px;padding:44px 0 32px}
  .footer-main{grid-template-columns:1.5fr 1fr 1fr}
  .footer-column:nth-of-type(3){grid-column:2}
  .footer-contacts{grid-column:3;grid-row:2}
  .footer-bottom{margin-top:52px}
}

/* Tablet keeps the compact logo + menu interaction through the Hero's two-column range. */
@media (min-width:1025px) and (max-width:1199px){
  .site-header{height:auto;padding:14px 0;position:sticky;top:0;z-index:100;box-shadow:0 1px 0 rgba(41,115,124,.08)}
  .header-shell{height:auto}
  .header-top{height:46px}
  .header-contacts{display:none}
  html.site-js .menu-toggle{display:inline-flex}
  html.site-js .nav-row{display:none;grid-template-columns:minmax(0,1fr);width:100%;height:auto;margin:10px 0 0;gap:10px}
  html.site-js .site-header:has(.menu-toggle[aria-expanded="true"]) .nav-row{display:grid}
  .main-nav{display:flex;flex-direction:column;width:100%;height:auto;gap:0;font-size:13px;white-space:normal}
  .nav-separator{display:none}
  .main-nav>a,.main-nav>.nav-item{position:relative;order:var(--nav-order,0);width:100%;min-height:44px;padding:11px 42px 11px 10px;border-bottom:1px solid rgba(41,115,124,.10)}
  .main-nav>.nav-link--about{--nav-order:10}.main-nav>.nav-item--products{--nav-order:20}.main-nav>.nav-item--cleaning{--nav-order:30}.main-nav>.nav-item--applications{--nav-order:40}.main-nav>.nav-link--certificates{--nav-order:50}.main-nav>.nav-link--contacts{--nav-order:60}
  .nav-item>a{padding-right:0}
  .nav-submenu-toggle{right:10px;height:44px}
  .main-nav .nav-chevron{position:static!important}
  .nav-submenu{position:static;min-width:0;max-width:none;width:100%;padding:4px 10px 8px;border:0;border-bottom:1px solid rgba(41,115,124,.10);border-radius:0;box-shadow:none;background:#f8fbfb}
  #submenu-products{order:21}
  #submenu-cleaning{order:31}
  #submenu-applications{order:41}
  .nav-submenu a{padding:9px 14px!important}
  .callback-link{justify-self:start;width:min(220px,100%);min-height:42px}
}

@media (max-width:767px){
  .brand{width:92px;flex-basis:92px}
  .brand img{width:92px}
  .callback-link{width:100%}
  .site-footer{padding-top:44px;text-align:center}
  .footer-main{grid-template-columns:1fr 1fr;justify-items:center;text-align:center}
  .footer-about{display:grid;grid-column:1/-1;grid-row:auto;justify-items:center}
  .footer-column{justify-items:center;text-align:center}
  .footer-column:nth-of-type(3),.footer-contacts{grid-column:auto;grid-row:auto}
  .footer-contacts{display:grid;grid-column:1/-1;justify-items:center;width:100%;text-align:center}
  .footer-contacts a,.footer-contacts span{display:flex;align-items:center;justify-content:center;gap:8px;text-align:center}
  .footer-contacts img,.footer-contacts span img{margin-top:0}
  .footer-bottom{align-items:center;margin-top:40px;padding-block:24px;text-align:center}
}
@media (max-width:420px){
  .footer-main{grid-template-columns:1fr}
  .footer-contacts{grid-column:auto}
}

/* Sticky navigation and resilient submenu hover. */
@media (min-width:1360px){
  .site-header{
    position:sticky;
    top:-82px;
    z-index:100;
  }
  .site-header.is-nav-stuck .callback-link{min-height:37px;padding-block:9px}
}
@media (min-width:1025px) and (max-width:1359px){
  .site-header{
    position:sticky;
    top:-70px;
    z-index:100;
  }
  .site-header.is-nav-stuck .nav-row{min-height:38px}
  .site-header.is-nav-stuck .callback-link{min-height:34px}
}
@media (max-width:1024px){
  .site-header{
    position:sticky;
    top:0;
    z-index:100;
    box-shadow:0 1px 0 rgba(41,115,124,.08);
  }
}
@media (min-width:1025px) and (max-width:1199px){
  .site-header{top:0}
}
.site-header.is-nav-stuck{box-shadow:0 7px 22px rgba(0,0,0,.07)}
.nav-submenu::before{
  content:"";
  position:absolute;
  left:-1px;
  right:-1px;
  top:-10px;
  height:10px;
}
.footer-bottom{
  flex-direction:column;
  align-items:center;
  gap:14px;
}
.footer-developer{
  display:inline-flex;
  width:28px;
  height:28px;
  align-items:center;
  justify-content:center;
  opacity:.82;
  transition:opacity var(--transition-fast),transform var(--transition-fast);
}
.footer-developer img{display:block;width:28px;height:28px}
@media (hover:hover){
  .footer-developer:hover{opacity:1;transform:translateY(-1px)}
}
.footer-developer:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:3px}
@media (min-width:1360px){
  .site-footer{height:auto;min-height:453px}
  .footer-bottom{height:auto;min-height:92px;padding-bottom:18px}
}
