/* SalesSphere global header and footer — stable WordPress shell v1.4 */
:root{
  --ss-shell:min(1280px,calc(100vw - 48px));
  --ss-header-height:76px;
  --ss-nav-gap:clamp(14px,1.35vw,22px);
  --ss-grid-gap:clamp(22px,2.35vw,32px);
  --ss-ink:#141716;
  --ss-muted:#626965;
  --ss-line:#d9d8d4;
  --ss-paper:#fff;
  --ss-accent:#159567;
  --ss-accent-dark:#0e6f4c;
  --ss-footer:#111714;
  --ss-font:"Segoe UI",Arial,"Helvetica Neue",sans-serif;
}
.ss-shell{width:var(--ss-shell);margin-inline:auto}
.ss-site-header,.ss-site-footer{font-family:var(--ss-font)}
.ss-site-header *,.ss-site-footer *{box-sizing:border-box}
.ss-site-header a,.ss-site-footer a{color:inherit;text-decoration:none}
.ss-site-header button{font:inherit;color:inherit}
body.ss-nav-locked{overflow:hidden}

/* Header */
.ss-site-header{
  position:sticky;z-index:100;top:0;height:var(--ss-header-height);
  border-bottom:1px solid rgba(217,216,212,.9);
  background:rgba(255,255,255,.97);backdrop-filter:blur(14px);
}
.ss-header-inner{
  position:relative;display:grid;height:100%;grid-template-columns:210px minmax(0,1fr) auto;
  align-items:center;gap:20px;
}
.ss-brand{
  display:inline-flex;width:max-content;min-height:44px;align-items:center;
  font-size:1.12rem;font-weight:780;line-height:1;letter-spacing:-.035em;white-space:nowrap;
}
.ss-desktop-nav{min-width:0;height:100%}
.ss-primary-menu,.ss-primary-menu ul,.ss-mobile-menu,.ss-footer-legal-menu{margin:0;padding:0;list-style:none}
.ss-primary-menu{display:flex;height:100%;align-items:stretch;justify-content:flex-end;gap:var(--ss-nav-gap)}
.ss-primary-menu>.menu-item{position:static;display:flex;min-width:0;align-items:stretch}
.ss-primary-menu>.menu-item>.ss-nav-row{display:flex;min-width:0;align-items:stretch}
.ss-primary-menu>.menu-item>.ss-nav-row>a{
  position:relative;display:inline-flex;min-height:44px;align-items:center;padding:0;
  color:var(--ss-ink);font-size:.94rem;font-weight:590;line-height:1;letter-spacing:-.012em;white-space:nowrap;
}
.ss-primary-menu>.menu-item>.ss-nav-row>a::after{
  content:"";position:absolute;right:0;bottom:0;left:0;height:2px;
  transform:scaleX(0);transform-origin:left;background:var(--ss-accent);transition:transform .16s ease;
}
.ss-primary-menu>.menu-item.is-section-active>.ss-nav-row>a,
.ss-primary-menu>.menu-item>.ss-nav-row>a:hover,
.ss-primary-menu>.menu-item.is-open>.ss-nav-row>a{color:var(--ss-accent-dark)}
.ss-primary-menu>.menu-item.is-section-active>.ss-nav-row>a::after{transform:scaleX(1)}
.ss-nav-toggle{
  display:inline-grid;width:26px;min-width:26px;min-height:44px;place-items:center;
  padding:0;border:0;background:transparent;cursor:pointer;
}
.ss-nav-toggle::before{
  content:"";width:7px;height:7px;transform:translateY(-2px) rotate(45deg);
  border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transition:transform .16s ease;
}
.ss-nav-toggle[aria-expanded="true"]::before{transform:translateY(2px) rotate(225deg)}
.ss-header-actions{display:flex;align-items:center;justify-content:flex-end}
.ss-header-cta{
  display:inline-flex;min-height:44px;align-items:center;justify-content:center;padding:0 17px;
  border:1px solid var(--ss-ink);border-radius:4px;background:transparent;
  font-size:.86rem;font-weight:680;line-height:1;white-space:nowrap;
  transition:color .16s ease,background .16s ease,border-color .16s ease;
}
.ss-header-cta:hover{color:#fff;border-color:var(--ss-ink);background:var(--ss-ink)}
.ss-mobile-toggle{display:none;width:44px;height:44px;padding:0;border:0;background:transparent;cursor:pointer}
.ss-mobile-toggle span{display:block;width:23px;height:1px;margin:6px auto;background:currentColor;transition:transform .2s ease}
.ss-mobile-toggle[aria-expanded="true"] span:first-child{transform:translateY(3.5px) rotate(45deg)}
.ss-mobile-toggle[aria-expanded="true"] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}

/* Desktop dropdowns. They are anchored to the header shell, not to the menu label. */
.ss-primary-menu>.menu-item-has-children{
  --ss-panel-accent:var(--ss-accent);--ss-panel-accent-dark:var(--ss-accent-dark);--ss-panel-tint:#f1f8f5;
}
.ss-primary-menu>.ss-nav-item--recruitment{--ss-panel-accent:#159567;--ss-panel-accent-dark:#0e6f4c;--ss-panel-tint:#f0f8f4}
.ss-primary-menu>.ss-nav-item--teams{--ss-panel-accent:#315f8a;--ss-panel-accent-dark:#234766;--ss-panel-tint:#f1f5f8}
.ss-primary-menu>.ss-nav-item--company{--ss-panel-accent:#98563a;--ss-panel-accent-dark:#743e29;--ss-panel-tint:#faf3ef}
.ss-primary-menu>.menu-item>.ss-nav-panel{
  position:absolute!important;z-index:120;top:100%!important;left:50%!important;right:auto!important;
  display:grid;visibility:hidden;width:min(920px,calc(100vw - 32px));max-height:calc(100vh - var(--ss-header-height) - 24px);
  overflow:auto;margin:0!important;padding:34px 36px 38px!important;pointer-events:none;
  transform:translate(-50%,-6px)!important;opacity:0;border:1px solid var(--ss-line)!important;
  background:linear-gradient(180deg,var(--ss-panel-tint) 0,rgba(255,255,255,0) 64px),var(--ss-paper)!important;
  box-shadow:0 18px 42px rgba(20,23,22,.08)!important;list-style:none;
  transition:opacity .14s ease,transform .14s ease,visibility .14s!important;
}
.ss-primary-menu>.menu-item.is-open>.ss-nav-panel{
  visibility:visible;pointer-events:auto;transform:translate(-50%,0)!important;opacity:1;
}
.ss-nav-panel::before{
  content:"";position:absolute;top:-1px;left:35px;width:96px;height:4px;
  transform:scaleX(.28);transform-origin:left;opacity:0;background:var(--ss-panel-accent);
  transition:transform .16s ease,opacity .16s ease;
}
.ss-primary-menu>.menu-item.is-open>.ss-nav-panel::before{transform:scaleX(1);opacity:1}
.ss-nav-item--compact>.ss-nav-panel::before{left:29px;width:72px}
.ss-primary-menu>.ss-nav-item--mega-3>.ss-nav-panel{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:38px}
.ss-primary-menu>.ss-nav-item--mega-2>.ss-nav-panel{width:min(650px,calc(100vw - 32px));grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:38px}
.ss-primary-menu>.ss-nav-item--compact>.ss-nav-panel{width:min(360px,calc(100vw - 32px));grid-template-columns:1fr!important;gap:10px;padding:26px 30px 30px!important}
.ss-primary-menu>.ss-nav-item--company>.ss-nav-panel{width:min(390px,calc(100vw - 32px))}
.ss-nav-panel>.menu-item{min-width:0;margin:0;padding:0;list-style:none}
.ss-nav-panel>.menu-item.ss-menu-group>span,
.ss-nav-panel>.menu-item.ss-menu-group>a{
  display:block;margin:0 0 13px;color:var(--ss-panel-accent-dark);font-size:.73rem;font-weight:720;
  line-height:1.25;letter-spacing:.085em;text-transform:uppercase;
}
.ss-primary-menu .ss-nav-panel .sub-menu{
  position:static!important;display:grid!important;visibility:visible!important;width:auto!important;gap:10px;
  margin:0!important;padding:0!important;transform:none!important;opacity:1!important;border:0!important;
  background:transparent!important;box-shadow:none!important;list-style:none;
}
.ss-nav-panel .sub-menu a,.ss-nav-item--compact>.ss-nav-panel>li>a{
  display:block;margin-inline:-10px;padding:5px 10px;color:var(--ss-ink);border-radius:3px;
  font-size:.96rem;font-weight:540;line-height:1.45;
}
.ss-nav-panel a:hover,.ss-nav-panel a:focus-visible{color:var(--ss-panel-accent-dark);background:var(--ss-panel-tint)}

/* Mobile navigation */
.ss-mobile-panel{position:absolute;z-index:110;inset:auto 0 auto;top:100%;height:calc(100dvh - var(--ss-header-height));overflow:auto;background:var(--ss-paper);overscroll-behavior:contain}
.ss-mobile-panel[hidden],.ss-mobile-submenu[hidden]{display:none!important}
.ss-mobile-panel__inner{display:flex;min-height:100%;flex-direction:column;padding-top:18px;padding-bottom:32px}
.ss-mobile-menu{margin:0;padding:0;list-style:none;border-top:1px solid var(--ss-line)}
.ss-mobile-menu>.menu-item{margin:0;border-bottom:1px solid var(--ss-line);list-style:none}
.ss-mobile-row{display:grid;grid-template-columns:minmax(0,1fr) 48px;align-items:stretch}
.ss-mobile-row>a{display:flex;min-height:60px;align-items:center;padding:8px 0;color:var(--ss-ink);font-size:1.08rem;font-weight:630;letter-spacing:-.015em}
.ss-mobile-row>a[aria-current="page"],.ss-mobile-menu>.is-section-active>.ss-mobile-row>a{color:var(--ss-accent-dark)}
.ss-mobile-accordion-toggle{display:grid;width:48px;min-height:48px;place-items:center;padding:0;border:0;background:transparent;cursor:pointer}
.ss-mobile-accordion-toggle::before{content:"+";font-size:1.38rem;font-weight:350;line-height:1}
.ss-mobile-accordion-toggle[aria-expanded="true"]::before{content:"−"}
.ss-mobile-menu .ss-mobile-submenu{
  position:static!important;display:grid;visibility:visible!important;width:auto!important;gap:22px;margin:0!important;
  padding:0 0 26px!important;transform:none!important;opacity:1!important;border:0!important;background:transparent!important;
  box-shadow:none!important;list-style:none;
}
.ss-mobile-submenu>.menu-item{list-style:none}
.ss-mobile-submenu>.menu-item.ss-menu-group>span,
.ss-mobile-submenu>.menu-item.ss-menu-group>a{display:block;margin-bottom:8px;color:var(--ss-muted);font-size:.73rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.ss-mobile-menu .ss-mobile-group-links{position:static!important;display:grid!important;visibility:visible!important;width:auto!important;gap:9px;margin:0!important;padding:0!important;transform:none!important;opacity:1!important;border:0!important;background:transparent!important;box-shadow:none!important;list-style:none}
.ss-mobile-group-links a,.ss-mobile-submenu>.menu-item:not(.ss-menu-group)>a{display:block;padding:3px 0;color:var(--ss-ink);font-size:.96rem;font-weight:500;line-height:1.45}
.ss-mobile-panel__cta{display:flex;min-height:48px;align-items:center;justify-content:center;margin-top:28px;border-radius:4px;color:#fff!important;background:var(--ss-accent-dark);font-size:.94rem;font-weight:700}

/* Footer */
.ss-site-footer{padding:64px 0 0;color:#d8dfda;background:var(--ss-footer)}
.ss-footer-layout{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ss-grid-gap);align-items:start;padding-bottom:38px}
.ss-footer-brand-block{grid-column:1;display:grid;min-width:0;align-content:start;gap:17px}
.ss-footer-brand{display:block;width:fit-content;color:#fff!important;font-size:clamp(1.55rem,2.3vw,2.15rem);font-weight:760;line-height:1;letter-spacing:-.055em}
.ss-footer-description{max-width:285px;margin:0;color:#aeb8b2;font-size:.98rem;line-height:1.55}
.ss-footer-contact-stack{display:grid;max-width:285px;gap:7px;padding-top:9px;font-size:.93rem;line-height:1.48}
.ss-footer-contact-stack::before{content:"";width:44px;height:1px;margin-bottom:6px;background:rgba(127,240,189,.62)}
.ss-footer-contact-stack a{width:fit-content;color:#e3e8e5}.ss-footer-contact-stack span{color:#94a099}.ss-footer-contact-stack a:hover{color:#fff}
.ss-footer-directory{grid-column:2/span 3;min-width:0}
.ss-footer-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ss-grid-gap);align-items:start}
.ss-footer-column{display:flex;min-width:0;flex-direction:column;gap:34px;margin:0;padding:0;list-style:none}
.ss-footer-column>.menu-item{min-width:0;margin:0;list-style:none}
.ss-site-footer .ss-footer-heading{display:block;width:fit-content;margin-bottom:14px;color:#7ff0bd;font-size:.76rem;font-weight:720;line-height:1.25;letter-spacing:.075em;text-transform:uppercase}
a.ss-footer-heading:hover{color:#fff}
.ss-footer-column .ss-footer-links{display:grid;gap:9px;margin:0;padding:0;list-style:none}
.ss-footer-links li{list-style:none}.ss-footer-links a{color:#c4cec8;font-size:.9rem;line-height:1.45}.ss-footer-links a:hover{color:#fff}
.ss-footer-bottom{
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--ss-grid-gap);align-items:center;
  padding:22px 0 24px;border-top:1px solid rgba(255,255,255,.14);color:#8e9b93;font-size:.78rem;line-height:1.5;
}
.ss-footer-copyright{grid-column:1;white-space:nowrap}
.ss-footer-legal{grid-column:2/-1;min-width:0}
.ss-footer-legal-menu{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 22px;margin:0;padding:0;list-style:none}
.ss-footer-legal-menu li{margin:0;list-style:none}.ss-footer-legal a:hover,.ss-footer-legal-menu a:hover{color:#fff}

.ss-site-header :focus-visible,.ss-site-footer :focus-visible{outline:3px solid rgba(21,149,103,.34);outline-offset:3px}
body.admin-bar .ss-site-header{top:32px}
body.admin-bar .ss-primary-menu>.menu-item>.ss-nav-panel{max-height:calc(100vh - var(--ss-header-height) - 56px)}
@media(max-width:782px){body.admin-bar .ss-site-header{top:46px}}

@media(max-width:1220px) and (min-width:1041px){
  .ss-header-inner{grid-template-columns:178px minmax(0,1fr) 136px;gap:12px}
  .ss-brand{font-size:1rem}
  .ss-primary-menu{gap:10px}
  .ss-primary-menu>.menu-item>.ss-nav-row>a{font-size:.84rem}
  .ss-nav-toggle{width:22px;min-width:22px}
  .ss-header-cta{padding-inline:12px;font-size:.76rem}
}
@media(max-width:1040px){
  :root{--ss-shell:min(100% - 36px,880px)}
  .ss-header-inner{display:flex;gap:16px}.ss-desktop-nav,.ss-header-cta{display:none}.ss-header-actions{margin-left:auto}.ss-mobile-toggle{display:block}
  .ss-footer-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:44px 30px}
  .ss-footer-brand-block,.ss-footer-directory{grid-column:1/-1}
  .ss-footer-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 30px}.ss-footer-column{display:contents}
  .ss-footer-bottom{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 30px}.ss-footer-copyright{grid-column:1}.ss-footer-legal{grid-column:2}
}
@media(max-width:620px){
  :root{--ss-shell:min(100% - 28px,560px)}
  .ss-site-footer{padding-top:52px}.ss-footer-layout{grid-template-columns:1fr;gap:38px;padding-bottom:32px}
  .ss-footer-brand-block,.ss-footer-directory{grid-column:1}.ss-footer-columns{grid-template-columns:1fr;row-gap:32px}
  .ss-footer-bottom{grid-template-columns:1fr;gap:14px;padding-block:20px}.ss-footer-copyright,.ss-footer-legal{grid-column:1}.ss-footer-copyright{white-space:normal}.ss-footer-legal-menu{justify-content:flex-start}
}
@media(prefers-reduced-motion:reduce){.ss-site-header *,.ss-site-footer *{scroll-behavior:auto!important;transition:none!important}}

/* ============================================================
   v1.5 — global consistency layer.
   The theme owns navigation, H1 weight and breadcrumb geometry.
   These rules intentionally use !important because some legacy
   page bodies still contain later inline page CSS.
   ============================================================ */

/* One H1 weight across every public SalesSphere page system. */
body.ss-site main h1,
body.ss-site .ss-raw-page-content h1,
body.ss-site .blog-main h1,
body.ss-site .article-main h1,
body.ss-site .case-main h1,
body.ss-site .case-article-main h1,
body.ss-site .ssg-main h1 {
  font-weight:600!important;
}

/* Breadcrumbs: teams page is the canonical geometry. */
body.ss-site :is(
  .breadcrumbs,
  .ss-breadcrumbs,
  .blog-breadcrumbs,
  .article-breadcrumbs,
  .case-breadcrumbs,
  .ca-breadcrumbs,
  .ssg-breadcrumbs
){
  box-sizing:border-box!important;
  display:flex!important;
  height:54px!important;
  min-height:54px!important;
  align-items:flex-end!important;
  gap:10px!important;
  margin-top:0!important;
  margin-bottom:0!important;
  padding-top:0!important;
  padding-bottom:8px!important;
  color:#626965!important;
  font-size:.82rem!important;
  font-weight:400!important;
  line-height:1.25!important;
  white-space:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none;
}
body.ss-site :is(.breadcrumbs,.ss-breadcrumbs,.blog-breadcrumbs,.article-breadcrumbs,.case-breadcrumbs,.ca-breadcrumbs,.ssg-breadcrumbs)::-webkit-scrollbar{display:none}
body.ss-site :is(.breadcrumbs,.ss-breadcrumbs,.blog-breadcrumbs,.article-breadcrumbs,.case-breadcrumbs,.ca-breadcrumbs,.ssg-breadcrumbs) :is(i,span[aria-hidden="true"]){font-style:normal!important;color:#a4aaa6!important}

@media(max-width:1040px){
  /* Mobile navigation is a viewport layer and cannot be clipped by page CSS. */
  .ss-site-header{overflow:visible!important}
  .ss-site-header .ss-desktop-nav,
  .ss-site-header .ss-header-cta{display:none!important}
  .ss-site-header .ss-header-actions{display:flex!important;margin-left:auto!important}
  .ss-site-header .ss-mobile-toggle{
    position:relative!important;z-index:1003!important;display:block!important;visibility:visible!important;
    width:44px!important;height:44px!important;min-width:44px!important;opacity:1!important;pointer-events:auto!important;
  }
  .ss-mobile-panel{
    position:fixed!important;z-index:1001!important;top:var(--ss-header-height)!important;right:0!important;bottom:0!important;left:0!important;
    display:block!important;width:100%!important;height:auto!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;
    margin:0!important;padding:0!important;transform:none!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;
    border:0!important;background:#fff!important;box-shadow:none!important;overscroll-behavior:contain!important;
  }
  .ss-mobile-panel[hidden]{display:none!important;visibility:hidden!important;pointer-events:none!important}
  .ss-mobile-panel__inner{display:flex!important;width:var(--ss-shell)!important;min-height:100%!important;flex-direction:column!important;margin-inline:auto!important;padding:18px 0 32px!important}
  .ss-mobile-menu{display:block!important;width:100%!important;margin:0!important;padding:0!important;list-style:none!important;border-top:1px solid var(--ss-line)!important}
  .ss-mobile-menu>.menu-item{display:block!important;width:100%!important;margin:0!important;border-bottom:1px solid var(--ss-line)!important}
  .ss-mobile-row{display:grid!important;width:100%!important;grid-template-columns:minmax(0,1fr) 48px!important}
  .ss-mobile-row>a{display:flex!important;min-width:0!important;min-height:60px!important;align-items:center!important;padding:8px 0!important;font-size:1.08rem!important;line-height:1.25!important}
  .ss-mobile-accordion-toggle{display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}
  body.ss-nav-locked{overflow:hidden!important;touch-action:none}
  body.admin-bar .ss-mobile-panel{top:calc(var(--ss-header-height) + 32px)!important}
}

@media(max-width:782px){
  body.admin-bar .ss-mobile-panel{top:calc(var(--ss-header-height) + 46px)!important}
}

@media(max-width:760px){
  /* Canonical mobile breadcrumb geometry from /komandy-i-otdely/. */
  body.ss-site :is(
    .breadcrumbs,
    .ss-breadcrumbs,
    .blog-breadcrumbs,
    .article-breadcrumbs,
    .case-breadcrumbs,
    .ca-breadcrumbs,
    .ssg-breadcrumbs
  ){
    height:46px!important;
    min-height:46px!important;
    padding-bottom:6px!important;
    font-size:.76rem!important;
  }

  /* Common shells must always fit the viewport, including plugin-owned sections. */
  body.ss-site :is(.ss-shell,.shell,.blog-shell,.article-shell,.case-shell,.ca-shell,.ssg-shell){
    width:calc(100% - 28px)!important;
    max-width:none!important;
    margin-inline:auto!important;
  }

  /* Safety net for the top-level page grids. Detailed component rules remain in their page CSS. */
  body.ss-site :is(
    .ss-teams-page .page-hero__grid,
    .ss-service-page .grid4,
    .ss-leaders-page .grid4,
    .ss-mass-page .grid4,
    .ss-engineers-page .grid4,
    .ss-executive-page .grid4,
    .ss-outsourcing-page .grid4,
    .ss-production-page .grid4,
    .blog-grid4,
    .case-grid4,
    .ca-grid4,
    .ssg-hero-grid,
    .ssg-layout,
    .ssg-term-layout,
    .ssg-article-grid,
    .ssg-article-layout
  ){
    grid-template-columns:minmax(0,1fr)!important;
  }

  body.ss-site main img,
  body.ss-site main video,
  body.ss-site main iframe,
  body.ss-site main table{max-width:100%!important}
}
