/* 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:flex;align-items:center;gap:10px;flex:0 0 176px;width:176px;height:46px}
.brand img{display:block;height:auto}
.brand__image--alfaline{flex:0 0 106px;width:106px}
.brand__image--npo{flex:0 0 60px;width:60px;max-width:60px}
.nav-brand{display:none}
.footer-brand{display:inline-flex;align-items:center}
.footer-brand--dual{gap:10px;width:176px;height:46px}
.footer-brand__image{display:block;height:auto}
.footer-brand__image--alfaline{flex:0 0 106px;width:106px}
.footer-brand__image--npo{flex:0 0 60px;width:60px;max-width:60px}
.brand:focus-visible,.nav-brand:focus-visible,.footer-brand:focus-visible{outline:2px solid var(--color-primary);outline-offset:4px;border-radius:4px}
.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{position:relative;display:flex;align-items:center;gap:26px;width:calc(100% - 2px);height:43px;margin-top:15px;margin-left:.5px;box-sizing:border-box}
.main-nav{position:relative;display:flex;align-items:center;flex:1 1 auto;gap:8px;min-width:0;height:27px;margin:0;padding:0;list-style:none;font-size:15px;font-weight:500;line-height:19px;text-transform:uppercase;white-space:nowrap}
.main-nav>li{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:0;color:inherit}
.nav-item--has-children>a{padding-right:19px}
.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-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;left:0;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 .nav-item{position:relative}
.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>li:hover>.nav-link,.main-nav>li:hover>.nav-submenu-toggle,.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)}
}
.main-nav>.current-menu-item>.nav-link,.main-nav>.current-menu-ancestor>.nav-link,.main-nav>.current-menu-parent>.nav-link,.nav-item:has(>.nav-submenu-toggle[aria-expanded="true"])>.nav-link,.nav-item:has(>.nav-submenu-toggle[aria-expanded="true"])>.nav-submenu-toggle{color:var(--color-lime)}
.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-menu{display:grid;gap:15px;margin:0;padding:0;list-style:none}.footer-menu li{margin:0}
.footer-contacts{display:grid;gap:15px;font-style:normal}
.footer-contacts a{display: flex;align-items:center;gap:8px;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){
  .nav-row{display:grid;grid-template-columns:minmax(0,1fr) 203px;gap:26px}
  .main-nav{
    display:flex;align-items:center;justify-content:flex-start;flex:none;gap:0;min-width:0;width:100%;height:27px;font-size:16px
  }
  .main-nav>li{min-width:0;width:auto;margin:0;padding:0}
  .main-nav>li+li{position:relative;margin-left:7px;padding-left:7px}
  .main-nav>li+li::before{content:"";position:absolute;left:0;top:4px;width:1px;height:19px;background:rgba(41,115,124,.13)}
  .main-nav>li+li>.nav-submenu{left:7px}
  .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 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-menu{gap:15px}
  .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}
}


@media (min-width:1200px){
  /* Product mega menu: two second-level sections side by side with their products visible. */
  .main-nav>li>.nav-submenu:has(>.nav-item--has-children){
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    width:min(700px,calc(100vw - 48px));
    min-width:580px;
    max-width:none;
    padding:10px;
    border-radius:10px
  }
  .main-nav>li>.nav-submenu:has(>.nav-item--has-children):not([hidden]){display:grid}
  .main-nav>li>.nav-submenu:has(>.nav-item--has-children)>.nav-item{
    display:block;
    min-width:0;
    padding:8px;
    border:1px solid rgba(41,115,124,.10);
    border-radius:8px;
    background:rgba(41,115,124,.025)
  }
  .main-nav>li>.nav-submenu:has(>.nav-item--has-children)>.nav-item+.nav-item{border-top:1px solid rgba(41,115,124,.10)}
  .main-nav>li>.nav-submenu:has(>.nav-item--has-children)>.nav-item--has-children>.nav-link{
    padding:10px 12px 8px!important;
    font-size:15px;
    line-height:1.3;
    font-weight:700;
    color:var(--color-primary-dark)
  }
  .main-nav>li>.nav-submenu:has(>.nav-item--has-children)>.nav-item--has-children>.nav-submenu-toggle{display:none}
  .main-nav>li>.nav-submenu:has(>.nav-item--has-children)>.nav-item--has-children>.nav-submenu{
    position:static;
    display:block;
    width:100%;
    min-width:0;
    max-width:none;
    margin:2px 0 0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
    box-shadow:none
  }
  .main-nav>li>.nav-submenu:has(>.nav-item--has-children)>.nav-item--has-children>.nav-submenu .nav-item{display:block}
  .main-nav>li>.nav-submenu:has(>.nav-item--has-children)>.nav-item--has-children>.nav-submenu .nav-item+.nav-item{border-top:1px solid rgba(41,115,124,.07)}
  .main-nav>li>.nav-submenu:has(>.nav-item--has-children)>.nav-item--has-children>.nav-submenu a{
    padding:9px 12px!important;
    font-size:14px;
    line-height:1.35;
    font-weight:500
  }

  /* Three product groups: compact groups left, professional cleaning products right. */
  .main-nav>li>.nav-submenu:has(>.nav-item--has-children:nth-child(3)){
    grid-template-areas:
      "product-core professional"
      "technical professional";
    grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
    grid-template-rows:var(--mega-left-row-1,max-content) var(--mega-left-row-2,max-content);
    align-items:start;
    align-content:start
  }
  .main-nav>li>.nav-submenu:has(>.nav-item--has-children:nth-child(3))>.nav-item--has-children:nth-child(1){
    grid-area:product-core
  }
  .main-nav>li>.nav-submenu:has(>.nav-item--has-children:nth-child(3))>.nav-item--has-children:nth-child(2){
    grid-area:professional;
    align-self:stretch;
    display:flex;
    flex-direction:column;
    min-height:0;
    overflow:hidden
  }
  .main-nav>li>.nav-submenu:has(>.nav-item--has-children:nth-child(3))>.nav-item--has-children:nth-child(2)>.nav-link{
    flex:0 0 auto
  }
  .main-nav>li>.nav-submenu:has(>.nav-item--has-children:nth-child(3))>.nav-item--has-children:nth-child(2)>.nav-submenu{
    flex:1 1 auto;
    min-height:0;
    max-height:none;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable
  }
  .main-nav>li>.nav-submenu:has(>.nav-item--has-children:nth-child(3))>.nav-item--has-children:nth-child(3){
    grid-area:technical
  }

  /* Keep the product mega menu at one viewport position before and after sticky activation.
     site.js updates --mega-menu-top from the actual bottom edge of .nav-row. */
  .main-nav>li>.nav-submenu:has(>.nav-item--has-children){
    position:fixed;
    top:var(--mega-menu-top,125px);
    left:50vw;
    transform:translateX(-50%)
  }
  .site-header:has(.main-nav>li>.nav-submenu:not([hidden])) .nav-row>nav{animation:none}

  /* Only genuinely long product lists scroll. Short groups keep their natural height. */
  .main-nav>li>.nav-submenu:has(>.nav-item--has-children)>.nav-item--has-children>.nav-submenu:has(>.nav-item:nth-child(8)){
    max-height:min(320px,calc(100vh - 210px));
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
    scrollbar-width:thin;
    scrollbar-color:rgba(41,115,124,.42) transparent
  }
  .main-nav>li>.nav-submenu:has(>.nav-item--has-children)>.nav-item--has-children>.nav-submenu:has(>.nav-item:nth-child(8))::-webkit-scrollbar{width:6px}
  .main-nav>li>.nav-submenu:has(>.nav-item--has-children)>.nav-item--has-children>.nav-submenu:has(>.nav-item:nth-child(8))::-webkit-scrollbar-track{background:transparent}
  .main-nav>li>.nav-submenu:has(>.nav-item--has-children)>.nav-item--has-children>.nav-submenu:has(>.nav-item:nth-child(8))::-webkit-scrollbar-thumb{
    border:1px solid transparent;
    border-radius:6px;
    background:rgba(41,115,124,.42);
    background-clip:padding-box
  }
  .main-nav>li>.nav-submenu:has(>.nav-item--has-children)>.nav-item--has-children>.nav-submenu:has(>.nav-item:nth-child(8))::-webkit-scrollbar-thumb:hover{background:rgba(41,115,124,.62)}
}

/* 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:161px;height:42px;flex-basis:161px;gap:10px}
  .brand__image--alfaline{flex-basis:96px;width:96px}
  .brand__image--npo{flex-basis:55px;width:55px;max-width:55px}
  .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) 190px;gap:18px;width:100%;height:auto;margin:10px 0 0}
  .main-nav{display:flex;width:100%;height:auto;gap:0;font-size:clamp(14px,1.08vw,15px);line-height:19px}
  .main-nav>li{position:relative;min-height:38px;padding:9px 6px;border-right:1px solid rgba(41,115,124,.10)}
  .main-nav>li:first-child{padding-left:0}
  .main-nav>li:last-child{border-right:0}
  .nav-item>a{padding-right:0}
  .nav-item--has-children>a{padding-right:19px}
  .nav-submenu-toggle{right:4px;height:38px}
  .main-nav>li+li::before{display:none}
  .main-nav .nav-chevron{position:static!important}
  .callback-link{width:190px;min-height:40px;padding:9px 14px;font-size:14px}
  .nav-submenu{top:46px}
  .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}
  .main-nav>li{position:relative;width:100%;min-height:44px;padding:11px 42px 11px 10px;border-bottom:1px solid rgba(41,115,124,.10)}
  .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}
  .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:repeat(3,minmax(0,1fr))}
  .footer-column:nth-of-type(3){grid-column:2}
  .footer-contacts{grid-column:3;grid-row:2}
  .footer-bottom{margin-top:52px}
}

/* Tablet footer: balanced columns and vertically centered contact icons. */
@media (min-width:768px) and (max-width:1199px){
  .footer-about,.footer-column,.footer-contacts{min-width:0}
  .footer-contacts a,.footer-contacts span{display:flex;align-items:center;gap:8px}
  .footer-contacts img,.footer-contacts span img{flex:0 0 auto;margin-top:0}
}

@media (min-width:1025px) and (max-width:1199px){
  .footer-main{grid-template-columns:1.1fr repeat(3,minmax(0,1fr))}
}

/* 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}
  .main-nav>li{position:relative;width:100%;min-height:44px;padding:11px 42px 11px 10px;border-bottom:1px solid rgba(41,115,124,.10)}
  .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}
  .nav-submenu a{padding:9px 14px!important}
  .callback-link{justify-self:start;width:min(220px,100%);min-height:42px}
}

@media (max-width:1199px){
  .main-nav>li{display:block}
  .nav-submenu-toggle{top:0;transform:none}
  .main-nav>li>.nav-submenu{margin-top:8px}
  .nav-submenu>.nav-item--has-children>.nav-link{padding-right:42px!important;font-weight:700;color:var(--color-primary-dark)}
  .nav-submenu .nav-submenu{
    margin:4px 0 6px!important;
    padding:4px 0 4px 12px!important;
    border:0!important;
    border-left:2px solid rgba(125,200,4,.34)!important;
    background:transparent!important;
    box-shadow:none!important
  }
  .nav-submenu .nav-submenu a{padding:9px 12px!important;font-size:14px!important;line-height:19px!important;font-weight:500}
}

/* Mobile off-canvas navigation. The desktop menu remains in normal flow. */
@media (max-width:1199px){
  html.site-js.mobile-menu-open{overflow:hidden}
  html.site-js .header-top{position:relative;z-index:102}
  html.site-js .nav-row{
    position:fixed;
    z-index:101;
    inset:0 auto 0 0;
    display:grid;
    grid-template-rows:minmax(0,1fr) auto;
    align-items:stretch;
    width:100vw;
    height:100dvh;
    margin:0;
    padding:92px 20px 24px;
    overflow:hidden;
    background:#fff;
    box-shadow:18px 0 36px rgb(4 5 5 / .14);
    opacity:0;
    transform:translateX(-100%);
    transition:transform 240ms cubic-bezier(.22,.61,.36,1),opacity 180ms ease;
  }
  html.site-js .nav-row[hidden]{display:none}
  html.site-js .nav-row.is-mobile-menu-open{opacity:1;transform:translateX(0)}
  html.site-js .nav-row>nav{
    min-width:0;
    min-height:0;
    padding:0 4px 8px 0;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
  }
  html.site-js .nav-row .main-nav{font-size:16px;line-height:22px}
  html.site-js .nav-row .main-nav>li{min-height:58px;padding:17px 48px 17px 0}
  html.site-js .nav-row .nav-submenu-toggle{right:0;height:58px}
  html.site-js .nav-row .nav-submenu{margin:12px 0 8px;padding:6px 12px 10px;background:rgb(41 115 124 / .05)}
  html.site-js .nav-row .nav-submenu a{padding:11px 12px!important;font-size:15px;line-height:20px}
  html.site-js .nav-row .callback-link{align-self:end;justify-self:stretch;width:100%;min-height:48px}
}
@media (prefers-reduced-motion:reduce){
  html.site-js .nav-row{transition:none}
}

.has-swipe-hint{position:relative}
.swipe-hint{position:absolute;z-index:5;right:0;top:-42px;display:grid;place-items:center;width:34px;height:34px;border:1px solid rgba(41,115,124,.32);border-radius:50%;background:rgba(255,255,255,.94);box-shadow:0 3px 12px rgba(14,56,59,.16);color:var(--color-primary);pointer-events:none;animation:swipe-hint-pulse 1.9s cubic-bezier(.4,0,.2,1) infinite}
.swipe-hint svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6;transition:transform 220ms cubic-bezier(.4,0,.2,1)}
.swipe-hint.is-reversed{animation-name:swipe-hint-pulse-reverse}.swipe-hint.is-reversed svg{transform:rotate(180deg)}
@keyframes swipe-hint-pulse{0%,100%{translate:0 0;opacity:.74}50%{translate:4px 0;opacity:1}}
@keyframes swipe-hint-pulse-reverse{0%,100%{translate:0 0;opacity:.74}50%{translate:-4px 0;opacity:1}}
@media (min-width:768px){.swipe-hint{display:none!important}}
@media (prefers-reduced-motion:reduce){.swipe-hint{animation:none}.swipe-hint svg{transition:none}}

@media (max-width:767px){
  .brand{width:152px;flex-basis:152px;gap:8px}
  .brand__image--alfaline{flex-basis:92px;width:92px}
  .brand__image--npo{flex-basis:52px;width:52px;max-width:52px}
  .footer-brand--dual{gap:8px;width:152px;height:46px}
  .footer-brand__image--alfaline{flex-basis:92px;width:92px}
  .footer-brand__image--npo{flex-basis:52px;width:52px;max-width:52px}
  .callback-link{width:100%}
  .site-footer{padding-top:44px;text-align:center}
  .footer-main{grid-template-columns:repeat(3,minmax(0,1fr));column-gap:16px;row-gap:34px;justify-items:center;text-align:center}
  .footer-about{display:grid;grid-column:1/-1;grid-row:auto;justify-items:center}
  .footer-column{min-width:0;justify-items:center;text-align:center}
  .footer-menu{justify-items: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}
}


@media (min-width:1200px){
  .nav-brand{
    position:absolute;
    left:0;
    top:50%;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:6px;
    width:91px;
    height:30px;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate(-5px,-50%);
    transition:opacity .18s ease,transform .18s ease,visibility .18s ease
  }
  .nav-brand img{display:block;height:auto}
  .nav-brand__image--alfaline{width:54px}
  .nav-brand__image--npo{width:31px;max-width:31px}
  .site-header.is-nav-logo-visible .nav-row{padding-left:101px}
  .site-header.is-nav-logo-visible .nav-brand{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate(0,-50%)
  }
}
@media (hover:hover){
  .brand,.nav-brand,.footer-brand{transition:opacity var(--transition-fast)}
  .brand:hover,.nav-brand:hover,.footer-brand:hover{opacity:.82}
}

/* 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{padding:0}
  .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 1px 0 rgba(41,115,124,.08)}
.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}
}

/* Sticky navigation refinement: larger mark, taller bar, centered menu. */
.header-top .brand[data-scroll-top]{cursor:default}
@media (hover:hover){
  .header-top .brand[data-scroll-top]:hover{opacity:1}
}

@media (min-width:1200px){
  .nav-row{z-index:0}
  .site-header.is-nav-logo-visible .nav-row{
    min-height:46px;
    padding-left:101px;
    transition:padding-left .3s cubic-bezier(.22,.61,.36,1),height .3s cubic-bezier(.22,.61,.36,1)
  }
  .site-header.is-nav-logo-visible .nav-row::after{
    content:"";
    position:absolute;
    z-index:-1;
    left:0;
    top:0;
    width:100%;
    height:100%;
    background:#fff;
    box-shadow:none;
    border-bottom:1px solid rgba(41,115,124,.08);
    pointer-events:none
  }
  .site-header.is-nav-logo-visible .nav-brand{
    width:91px;
    height:32px;
    transform:translate(0,-50%) scale(1)
  }
  .site-header.is-nav-logo-visible .nav-brand__image--alfaline{width:54px}
  .site-header.is-nav-logo-visible .nav-brand__image--npo{width:31px;max-width:31px}
  .site-header.is-nav-logo-visible .nav-row>nav{
    display:flex;
    min-width:0;
    width:100%;
    justify-content:center;
    animation:sticky-nav-settle .32s cubic-bezier(.22,.61,.36,1)
  }
  .site-header.is-nav-logo-visible .main-nav{justify-content:center}
  .site-header.is-nav-logo-visible .callback-link{
    align-self:center;
    animation:sticky-button-settle .32s cubic-bezier(.22,.61,.36,1)
  }
}

@media (min-width:1360px){
  .site-header.is-nav-logo-visible .nav-row{
    height:50px;
    min-height:50px;
    padding-left:112px
  }
  .site-header.is-nav-logo-visible .nav-brand{
    width:101px;
    height:34px
  }
  .site-header.is-nav-logo-visible .nav-brand__image--alfaline{width:60px}
  .site-header.is-nav-logo-visible .nav-brand__image--npo{width:35px;max-width:35px}
  .site-header.is-nav-logo-visible .callback-link{
    min-height:42px;
    padding-block:10px
  }
}

@keyframes sticky-nav-settle{
  from{transform:translateY(3px);opacity:.94}
  to{transform:translateY(0);opacity:1}
}
@keyframes sticky-button-settle{
  from{transform:translateY(2px) scale(.985)}
  to{transform:translateY(0) scale(1)}
}

@media (prefers-reduced-motion:reduce){
  .site-header.is-nav-logo-visible .nav-row,
  .site-header.is-nav-logo-visible .nav-brand,
  .site-header.is-nav-logo-visible .nav-row>nav,
  .site-header.is-nav-logo-visible .callback-link{transition:none;animation:none}
}

/* Active item inside dropdown / mega menu. */
.nav-submenu .current-menu-item>.nav-link{
  background:rgba(125,200,4,.12)!important;
  color:var(--color-primary-dark)!important
}

/* Sticky desktop header: keep all three parts inside the grid instead of reserving logo space with padding. */
@media (min-width:1200px){
  .site-header.is-nav-logo-visible .nav-row{
    grid-template-columns:91px minmax(0,1fr) 190px;
    column-gap:12px;
    padding-left:0;
    max-width:100%;
  }
  .site-header.is-nav-logo-visible .nav-row::after{display:none}
  .site-header.is-nav-logo-visible .nav-brand{
    position:static;
    align-self:center;
    justify-self:start;
    width:91px;
    height:32px;
    transform:none;
  }
  .site-header.is-nav-logo-visible .nav-row>nav{
    min-width:0;
    width:auto;
  }
}
@media (min-width:1360px){
  .site-header.is-nav-logo-visible .nav-row{
    grid-template-columns:101px minmax(0,1fr) 203px;
    column-gap:12px;
    padding-left:0;
  }
  .site-header.is-nav-logo-visible .nav-brand{
    width:101px;
    height:34px;
  }
}
