/*
 * ACC Store Header v141 FINAL — isolated component
 * Section-level implementation for the ACC Store website.
 */
:root {
  --acc-h-blue:#087ad0;
  --acc-h-blue2:#36afe5;
  --acc-h-red:#e52431;
  --acc-h-gray:#555b62;
  --acc-h-navy:#0a2035;
  --acc-h-text:#172535;
  --acc-h-line:#dbe5ec;
  --acc-h-header-h:96px;
  --acc-h-header-mobile-h:78px;
  --acc-h-container:1400px;
}

.acc-header {
  position: sticky;
  top: 0;
  z-index: 90;
  width: 100%;
  padding: 0;
  margin: 0;
  background: rgba(255,255,255,.97);
  backdrop-filter: blur(18px) saturate(125%);
  -webkit-backdrop-filter: blur(18px) saturate(125%);
  border-bottom: 1px solid rgba(214,226,235,.86);
  box-shadow: 0 3px 14px rgba(16,47,72,.035);
  transition: box-shadow .25s ease, background .25s ease;
}
.acc-header.is-scrolled {
  background: rgba(255,255,255,.985);
  box-shadow: 0 7px 20px rgba(16,47,72,.075);
}

.acc-header__shell {
  position: relative;
  isolation: isolate;
  width: min(calc(100% - 48px), var(--acc-h-container));
  min-height: var(--acc-h-header-h);
  margin: 0 auto;
  padding: 0;
  display: grid;
  grid-template-columns: 210px minmax(500px, 1fr) auto;
  align-items: center;
  gap: clamp(24px, 2.3vw, 42px);
  background: transparent;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.acc-header.is-scrolled .acc-header__shell { min-height: 88px; }

/* Brand airflow is intentionally kept only inside the original ACC Store logo. */
.acc-header__logo {
  position: relative;
  z-index: 2;
  width: 184px;
  display: block;
}
.acc-header__logo > img {
  width: 100%;
  height: auto;
  display: block;
}

.acc-header__nav {
  min-width: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: clamp(20px, 2vw, 36px);
}
.acc-header__nav a {
  position: relative;
  padding: 15px 1px 13px;
  color: var(--acc-h-text);
  font: 600 1.02rem/1.2 Manrope, system-ui, sans-serif;
  white-space: nowrap;
  letter-spacing: -.016em;
  transition: color .2s ease, transform .2s ease;
  outline: none;
}
/* Modern drawn underline. No dots, circles or badges. */
.acc-header__nav a::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 5px;
  height: 2px;
  border-radius: 999px;
  background: linear-gradient(90deg, rgba(54,175,229,.22) 0%, var(--acc-h-blue2) 22%, var(--acc-h-blue) 78%, rgba(8,122,208,.20) 100%);
  transform: scaleX(0);
  transform-origin: left center;
  opacity: .85;
  transition: transform .34s cubic-bezier(.22,.8,.2,1), opacity .2s ease;
}
.acc-header__nav a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 4px;
  width: 22%;
  height: 4px;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.98), transparent);
  opacity: 0;
  transform: translateX(-30%);
  pointer-events: none;
}
.acc-header__nav a:hover,
.acc-header__nav a:focus-visible,
.acc-header__nav a.is-active,
.acc-header__nav a[aria-current="page"] {
  color: #075f9f;
  transform: translateY(-1px);
}
.acc-header__nav a:hover::before,
.acc-header__nav a:focus-visible::before,
.acc-header__nav a.is-active::before,
.acc-header__nav a[aria-current="page"]::before {
  transform: scaleX(1);
  opacity: 1;
}
.acc-header__nav a:hover::after,
.acc-header__nav a:focus-visible::after {
  opacity: .75;
  animation: accNavShine .64s ease-out both;
}
@keyframes accNavShine {
  from { transform: translateX(-35%); opacity: 0; }
  35% { opacity: .72; }
  to { transform: translateX(360%); opacity: 0; }
}

.acc-header__actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
}
.acc-header__actions .acc-header-btn--quote { min-width: 166px; }
.acc-header__actions .acc-header-btn--service { min-width: 178px; }
.acc-header-btn {
  min-height: 48px;
  padding: 0 17px;
  border-radius: 7px;
  border: 1px solid transparent;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  font: 650 .85rem/1 Manrope, system-ui, sans-serif;
  letter-spacing: -.01em;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease, filter .2s ease;
  white-space: nowrap;
}
.acc-header-btn img { width: 19px; height: 19px; flex: 0 0 auto; }
.acc-header-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 5px 13px rgba(15,53,82,.085);
}
.acc-header-btn:active { transform: translateY(0); box-shadow: 0 2px 7px rgba(15,53,82,.07); }
.acc-header-btn--phone { color:#14283a; background:#fff; border-color:#bdcbd6; }
.acc-header-btn--phone:hover { border-color:#9fb3c2; background:#fbfdff; }
.acc-header-btn--primary { color:#fff; background:linear-gradient(135deg,#0787e3,#0870c9); }
.acc-header-btn--primary:hover { filter:brightness(1.035); }
.acc-header-btn--service { color:#fff; background:linear-gradient(135deg,#0d2942,#081b2c); }
.acc-header-btn--service:hover { filter:brightness(1.06); }
.acc-header-btn--primary img,
.acc-header-btn--service img { filter:brightness(0) invert(1); }
.acc-header-btn--phone:hover img { animation:accPhone .45s ease; }
.acc-header-btn--primary:hover .acc-header-btn__arrow { animation:accArrow .55s ease; }
.acc-header-btn--quote:hover .acc-header-btn__quote { animation:accQuote .62s ease; }
.acc-header-btn--service:hover .acc-header-btn__headset { animation:accHeadset .62s ease; }
@keyframes accPhone { 0%,100%{transform:rotate(0)} 35%{transform:rotate(-7deg)} 70%{transform:rotate(5deg)} }
@keyframes accArrow { 0%,100%{transform:translateX(0)} 45%{transform:translateX(5px)} }
@keyframes accQuote { 0%,100%{transform:translateY(0) rotate(0)} 38%{transform:translateY(-1.5px) rotate(-2deg)} 72%{transform:translateY(.5px) rotate(1deg)} }
@keyframes accHeadset { 0%,100%{transform:translateY(0)} 40%{transform:translateY(-1.5px) rotate(-1.5deg)} 70%{transform:translateY(.5px) rotate(1.5deg)} }

/* Hamburger occupies the exact same coordinates as the animated X. */
.acc-header-menu {
  display: none;
  position: relative;
  z-index: 120;
  width: 48px;
  height: 48px;
  padding: 10px 8px;
  border: 0;
  background: transparent;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
.acc-header-menu:focus-visible {
  outline:3px solid rgba(8,122,208,.28);
  outline-offset:2px;
  border-radius:7px;
}
.acc-header-menu__line {
  position: absolute;
  right: 8px;
  display: block;
  height: 2.5px;
  border-radius: 999px;
  transform-origin: center;
  transition: top .30s cubic-bezier(.2,.8,.2,1), transform .34s cubic-bezier(.2,.8,.2,1), opacity .18s ease, width .30s ease, background .28s ease, filter .3s ease;
}
.acc-header-menu__line--red { top:13px; width:29px; background:var(--acc-h-red); }
.acc-header-menu__line--gray { top:22px; width:19px; background:var(--acc-h-gray); }
.acc-header-menu__line--blue { top:31px; width:29px; background:var(--acc-h-blue); }
.acc-header-menu[aria-expanded="true"] .acc-header-menu__line { filter: drop-shadow(0 0 3px rgba(8,122,208,.13)); }
.acc-header-menu[aria-expanded="true"] .acc-header-menu__line--red {
  top:22px;
  width:29px;
  transform:rotate(45deg);
  background:linear-gradient(90deg,var(--acc-h-red),var(--acc-h-gray));
}
.acc-header-menu[aria-expanded="true"] .acc-header-menu__line--gray {
  top:22px;
  width:29px;
  opacity:0;
  transform:scaleX(.12) translateX(8px);
}
.acc-header-menu[aria-expanded="true"] .acc-header-menu__line--blue {
  top:22px;
  width:29px;
  transform:rotate(-45deg);
  background:linear-gradient(90deg,var(--acc-h-gray),var(--acc-h-blue));
}
/* tiny airflow-like pulse while drawing the X */
.acc-header-menu[aria-expanded="true"]::after {
  content:"";
  position:absolute;
  right:3px;
  top:20px;
  width:38px;
  height:7px;
  border-radius:999px;
  background:linear-gradient(90deg,transparent,rgba(54,175,229,.22),transparent);
  animation:accMenuBreath .46s ease-out both;
  pointer-events:none;
}
@keyframes accMenuBreath {
  from { opacity:0; transform:translateX(-10px) scaleX(.65); }
  40% { opacity:.8; }
  to { opacity:0; transform:translateX(10px) scaleX(1.08); }
}

.acc-mobile-menu {
  box-sizing:border-box;
  position: fixed;
  inset: 0;
  z-index: 80;
  width:100%;
  height:100%;
  height:100dvh;
  padding: 0;
  overflow:hidden;
  overscroll-behavior:none;
  background: rgba(255,255,255,.94);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .20s ease, visibility .20s ease;
}
.acc-mobile-menu.is-open { opacity:1; visibility:visible; pointer-events:auto; }

/* One-shot opening gesture: the menu feels as if a cool HVAC breeze sweeps
   through the interface. It is intentionally brief and low-contrast. */
.acc-mobile-menu::before,
.acc-mobile-menu::after {
  content:"";
  position:fixed;
  z-index:3;
  right:-62vw;
  pointer-events:none;
  opacity:0;
  transform:translate3d(0,0,0) rotate(-4deg);
  will-change:transform,opacity;
}
.acc-mobile-menu::before {
  top:22%;
  width:118vw;
  height:128px;
  border-radius:50%;
  background:
    radial-gradient(ellipse at center, rgba(118,218,255,.22) 0%, rgba(74,181,237,.10) 36%, rgba(255,255,255,0) 72%),
    linear-gradient(90deg, transparent 0%, rgba(155,230,255,.08) 22%, rgba(56,174,232,.20) 49%, rgba(255,255,255,.08) 67%, transparent 100%);
  filter:blur(13px);
}
.acc-mobile-menu::after {
  top:40%;
  width:104vw;
  height:72px;
  border-radius:50%;
  background:
    linear-gradient(90deg, transparent 0%, rgba(94,204,249,.04) 13%, rgba(66,181,235,.20) 44%, rgba(224,248,255,.18) 60%, transparent 91%);
  filter:blur(8px);
}
.acc-mobile-menu.is-air-opening::before { animation:accMenuCoolGust .36s cubic-bezier(.2,.72,.22,1) both; }
.acc-mobile-menu.is-air-opening::after { animation:accMenuCoolGustThin .32s .02s cubic-bezier(.2,.72,.22,1) both; }
@keyframes accMenuCoolGust {
  0%   { opacity:0; transform:translate3d(0,9px,0) rotate(-4deg) scaleX(.84) scaleY(.78); }
  24%  { opacity:.24; }
  58%  { opacity:.16; }
  100% { opacity:0; transform:translate3d(-168vw,-14px,0) rotate(-1deg) scaleX(1.14) scaleY(1.05); }
}
@keyframes accMenuCoolGustThin {
  0%   { opacity:0; transform:translate3d(8vw,0,0) rotate(2deg) scaleX(.82); }
  30%  { opacity:.19; }
  100% { opacity:0; transform:translate3d(-158vw,18px,0) rotate(-2deg) scaleX(1.1); }
}
.acc-mobile-menu__panel {
  box-sizing:border-box;
  position: relative;
  z-index:1;
  width: 100%;
  height:100%;
  height:100dvh;
  min-height:0;
  padding:
    calc(var(--acc-h-header-mobile-h) + 30px + env(safe-area-inset-top,0px))
    clamp(24px,7vw,46px)
    calc(38px + env(safe-area-inset-bottom,0px));
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior-y:contain;
  -webkit-overflow-scrolling:touch;
  touch-action:pan-y;
  background: linear-gradient(180deg,#fff 0%,#fbfdff 70%,#f4f9fc 100%);
  transform: translateY(-8px);
  transition: transform .24s cubic-bezier(.2,.8,.2,1);
}
.acc-mobile-menu.is-open .acc-mobile-menu__panel { transform:translateY(0); }
.acc-mobile-menu.is-air-opening .acc-mobile-menu__panel {
  animation:accMenuWindPanel .28s cubic-bezier(.2,.78,.2,1) both;
}
@keyframes accMenuWindPanel {
  0%   { transform:translate3d(8px,-4px,0); }
  100% { transform:translate3d(0,0,0); }
}
.acc-mobile-menu.is-air-opening .acc-mobile-menu__nav > * {
  animation:accMenuWindItem .24s cubic-bezier(.2,.8,.2,1) both;
}
.acc-mobile-menu.is-air-opening .acc-mobile-menu__nav > *:nth-child(1) { animation-delay:.01s; }
.acc-mobile-menu.is-air-opening .acc-mobile-menu__nav > *:nth-child(2) { animation-delay:.025s; }
.acc-mobile-menu.is-air-opening .acc-mobile-menu__nav > *:nth-child(3) { animation-delay:.04s; }
.acc-mobile-menu.is-air-opening .acc-mobile-menu__nav > *:nth-child(4) { animation-delay:.055s; }
.acc-mobile-menu.is-air-opening .acc-mobile-menu__nav > *:nth-child(5) { animation-delay:.07s; }
.acc-mobile-menu.is-air-opening .acc-mobile-menu__nav > *:nth-child(6) { animation-delay:.085s; }
.acc-mobile-menu.is-air-opening .acc-mobile-menu__cta {
  animation:accMenuWindItem .24s .10s cubic-bezier(.2,.8,.2,1) both;
}
@keyframes accMenuWindItem {
  0%   { opacity:0; transform:translate3d(7px,0,0); }
  100% { opacity:1; transform:translate3d(0,0,0); }
}

.acc-mobile-menu__nav { display:grid; }
.acc-mobile-menu__nav a {
  min-height: 59px;
  border-bottom: 1px solid #e2e9ef;
  display: flex;
  align-items: center;
  justify-content: space-between;
  color: #172535;
  font: 600 1.16rem/1 Manrope, system-ui, sans-serif;
  transition: color .2s ease, padding-left .2s ease, border-color .2s ease;
}
.acc-mobile-menu__nav a img {
  width:18px;
  height:18px;
  opacity:.5;
  transition:transform .2s ease, opacity .2s ease;
}
.acc-mobile-menu__nav a:hover,
.acc-mobile-menu__nav a:focus-visible,
.acc-mobile-menu__nav a.is-active,
.acc-mobile-menu__nav a[aria-current="page"] {
  color: var(--acc-h-blue);
  border-color: rgba(8,122,208,.22);
}
.acc-mobile-menu__nav a:hover { padding-left:4px; }
.acc-mobile-menu__nav a:hover img { transform:translateX(4px); opacity:1; }
.acc-mobile-menu__nav a:focus-visible,
.acc-mobile-menu__group-trigger:focus-visible,
.acc-mobile-menu__cta .acc-header-btn:focus-visible {
  outline:2px solid rgba(8,122,208,.34);
  outline-offset:-2px;
  border-radius:5px;
}

.acc-mobile-menu__cta { margin-top:28px; display:grid; gap:10px; }
.acc-mobile-menu__cta .acc-header-btn { width:100%; min-height:54px; justify-content:flex-start; padding-inline:18px; }
.acc-mobile-menu__cta .acc-header-btn img:last-child { margin-left:auto; }
.acc-mobile-menu__waves {
  margin: 34px -46px -10px;
  height: 68px;
  background: url('../svg/brand-airflow.svg') center / 120% 100% no-repeat;
  opacity: .82;
  animation: accMenuAir 4.2s ease-in-out infinite alternate;
}
@keyframes accMenuAir { from{transform:translateX(-7px) scaleX(.96)} to{transform:translateX(7px) scaleX(1.03)} }
body.acc-menu-open { overflow:hidden; overscroll-behavior:none; }
body.acc-menu-open .acc-header {
  position:fixed;
  inset:0 0 auto;
}

@media (max-width:1420px) {
  .acc-header__shell {
    width:min(calc(100% - 48px), var(--acc-h-container));
    grid-template-columns:190px 1fr auto;
    gap:20px;
    padding-inline:0;
  }
  .acc-header__logo { width:160px; }
  .acc-header__nav { gap:18px; }
  .acc-header__nav a { font-size:.98rem; }
  .acc-header__actions .acc-header-btn { padding-inline:13px; }
}
@media (max-width:1120px) {
  .acc-header { box-shadow:0 3px 12px rgba(16,47,72,.045); }
  .acc-header__shell {
    width:100%;
    margin:0;
    min-height:var(--acc-h-header-mobile-h);
    grid-template-columns:1fr auto;
    gap:12px;
    padding:0 18px;
  }
  .acc-header.is-scrolled .acc-header__shell { min-height:var(--acc-h-header-mobile-h); }
  .acc-header__logo { width:130px; }
  .acc-header__nav,.acc-header__actions { display:none; }
  .acc-header-menu { display:block; }
}
@media (max-width:520px) {
  .acc-header__shell { padding-inline:16px; }
  .acc-header__logo { width:126px; }
  .acc-mobile-menu__panel { padding-left:22px; padding-right:22px; }
  .acc-mobile-menu__waves { margin-inline:-22px; }
}
@media (prefers-reduced-motion:reduce) {
  .acc-header *, .acc-mobile-menu *, .acc-mobile-menu::before, .acc-mobile-menu::after { animation-duration:.001ms!important; animation-iteration-count:1!important; transition-duration:.001ms!important; }
}

/* =========================================================
   v75 — premium navigation architecture / mega menu
   ========================================================= */
@media (min-width:1121px) {
  .acc-header__nav {
    position: static;
    gap: clamp(12px,1.15vw,22px);
  }

  .acc-header__nav-item { position: static; }

  .acc-header__nav-trigger,
  .acc-header__nav-link {
    position: relative;
    min-height: 48px;
    padding: 15px 1px 13px;
    border: 0;
    background: transparent;
    color: var(--acc-h-text);
    font: 600 .98rem/1.2 Manrope,system-ui,sans-serif;
    letter-spacing: -.016em;
    white-space: nowrap;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    gap: 7px;
    text-decoration: none;
    transition: color .2s ease,transform .2s ease;
  }

  .acc-header__nav-trigger::before,
  .acc-header__nav-link::before {
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:5px;
    height:2px;
    border-radius:999px;
    background:linear-gradient(90deg,rgba(54,175,229,.22),var(--acc-h-blue2) 22%,var(--acc-h-blue) 78%,rgba(8,122,208,.20));
    transform:scaleX(0);
    transform-origin:left center;
    opacity:.85;
    transition:transform .34s cubic-bezier(.22,.8,.2,1),opacity .2s ease;
  }

  .acc-header__nav-trigger:hover,
  .acc-header__nav-trigger:focus-visible,
  .acc-header__nav-trigger.is-active,
  .acc-header__nav-link:hover,
  .acc-header__nav-link:focus-visible,
  .acc-header__nav-link.is-active {
    color:#075f9f;
    transform:translateY(-1px);
  }

  .acc-header__nav-trigger:hover::before,
  .acc-header__nav-trigger:focus-visible::before,
  .acc-header__nav-trigger[aria-expanded="true"]::before,
  .acc-header__nav-trigger.is-active::before,
  .acc-header__nav-link:hover::before,
  .acc-header__nav-link:focus-visible::before,
  .acc-header__nav-link.is-active::before {
    transform:scaleX(1);
    opacity:1;
  }

  .acc-header__nav-chevron {
    width:7px;
    height:7px;
    border-right:1.6px solid currentColor;
    border-bottom:1.6px solid currentColor;
    transform:translateY(-2px) rotate(45deg);
    transition:transform .22s ease;
  }
  .acc-header__nav-trigger[aria-expanded="true"] .acc-header__nav-chevron {
    transform:translateY(2px) rotate(225deg);
  }

  .acc-header-mega {
    position:absolute;
    z-index:96;
    top:calc(100% - 5px);
    left:50%;
    width:min(1040px,calc(100vw - 56px));
    padding:10px;
    border:1px solid rgba(24,64,96,.10);
    border-radius:22px;
    background:rgba(255,255,255,.985);
    box-shadow:0 24px 70px rgba(13,44,71,.15);
    backdrop-filter:blur(18px) saturate(120%);
    -webkit-backdrop-filter:blur(18px) saturate(120%);
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translate(-50%,12px) scale(.992);
    transform-origin:top center;
    transition:opacity .19s ease,transform .24s cubic-bezier(.2,.8,.2,1),visibility .19s linear;
  }
  .acc-header__nav-item.is-open .acc-header-mega {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:translate(-50%,0) scale(1);
  }

  .acc-header-mega__inner {
    display:grid;
    grid-template-columns:minmax(250px,.78fr) minmax(0,1.55fr);
    gap:12px;
  }
  .acc-header-mega__intro {
    padding:26px 28px;
    border-radius:16px;
    background:linear-gradient(145deg,#f2f9fe 0%,#fbfdff 62%,#eef7fd 100%);
    border:1px solid rgba(8,122,208,.08);
  }
  .acc-header-mega__eyebrow {
    display:block;
    margin-bottom:9px;
    color:#087ad0;
    font:760 .68rem/1.2 Manrope,system-ui,sans-serif;
    text-transform:uppercase;
    letter-spacing:.12em;
  }
  .acc-header-mega__intro strong {
    display:block;
    color:#10263a;
    font:700 1.45rem/1.12 Manrope,system-ui,sans-serif;
    letter-spacing:-.035em;
  }
  .acc-header-mega__intro p {
    margin:11px 0 19px;
    color:#637586;
    font:500 .84rem/1.55 Manrope,system-ui,sans-serif;
  }
  .acc-header__nav .acc-header-mega__intro a {
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:0;
    color:#087ad0;
    font:720 .82rem/1 Manrope,system-ui,sans-serif;
    letter-spacing:-.01em;
    text-decoration:none;
  }
  .acc-header__nav .acc-header-mega__intro a img { width:17px;height:17px;transition:transform .2s ease; }
  .acc-header__nav .acc-header-mega__intro a:hover img { transform:translateX(4px); }

  .acc-header-mega__links {
    padding:8px;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    align-content:start;
    gap:4px;
  }
  .acc-header-mega__links--services { grid-template-columns:repeat(2,minmax(0,1fr)); }

  .acc-header__nav .acc-header-mega__links a {
    min-height:72px;
    padding:13px 15px;
    border-radius:13px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    color:#182b3d;
    text-decoration:none;
    background:transparent;
    transition:background .2s ease,transform .2s ease,color .2s ease;
  }
  .acc-header__nav .acc-header-mega__links a:hover,
  .acc-header__nav .acc-header-mega__links a:focus-visible {
    background:#f4f9fd;
    color:#076fb9;
    transform:translateX(2px);
  }
  .acc-header__nav .acc-header-mega__links a span {
    font:680 .91rem/1.2 Manrope,system-ui,sans-serif;
    letter-spacing:-.018em;
  }
  .acc-header__nav .acc-header-mega__links a small {
    margin-top:5px;
    color:#7a8997;
    font:520 .70rem/1.3 Manrope,system-ui,sans-serif;
  }

  /* Neutralize the legacy top-nav anchor decoration inside mega panels. */
  .acc-header__nav .acc-header-mega a::before,
  .acc-header__nav .acc-header-mega a::after { display:none!important;content:none!important; }
  .acc-header__nav .acc-header-mega a:hover { transform:none; }
  .acc-header__nav .acc-header-mega__links a:hover { transform:translateX(2px); }

  .acc-header-mega--compact { width:min(940px,calc(100vw - 56px)); }
}

/* Mobile hierarchy: top-level accordions for Oferta / Realizacje / Firma. */
@media (max-width:1120px) {
  .acc-mobile-menu__group { border-bottom:1px solid #e2e9ef; }
  .acc-mobile-menu__group-trigger {
    position:relative;
    width:100%;
    min-height:59px;
    padding:0;
    border:0;
    background:transparent;
    display:flex;
    align-items:center;
    justify-content:space-between;
    color:#172535;
    font:600 1.16rem/1 Manrope,system-ui,sans-serif;
    cursor:pointer;
    text-align:left;
    touch-action:manipulation;
    transition:color .18s ease,background-color .18s ease;
  }
  .acc-mobile-menu__group-trigger:hover,
  .acc-mobile-menu__group-trigger:focus-visible,
  .acc-mobile-menu__group-trigger.is-active,
  .acc-mobile-menu__group-trigger[aria-current="location"] {
    color:#075f9f;
  }
  .acc-mobile-menu__group-trigger.is-active .acc-mobile-menu__group-plus::before,
  .acc-mobile-menu__group-trigger.is-active .acc-mobile-menu__group-plus::after {
    background:#075f9f;
  }
  .acc-mobile-menu__group-plus {
    position:relative;
    width:20px;
    height:20px;
    flex:0 0 auto;
  }
  .acc-mobile-menu__group-plus::before,
  .acc-mobile-menu__group-plus::after {
    content:"";
    position:absolute;
    left:50%;top:50%;
    width:12px;height:1.6px;
    border-radius:999px;
    background:#087ad0;
    transform:translate(-50%,-50%);
    transition:transform .22s ease,opacity .18s ease;
  }
  .acc-mobile-menu__group-plus::after { transform:translate(-50%,-50%) rotate(90deg); }
  .acc-mobile-menu__group.is-open .acc-mobile-menu__group-plus::after { transform:translate(-50%,-50%) rotate(0);opacity:0; }

  .acc-mobile-menu__submenu {
    display:grid;
    max-height:var(--acc-mobile-submenu-height,0px);
    overflow:hidden;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    padding:0 0 0 12px;
    transition:max-height .26s cubic-bezier(.2,.8,.2,1),opacity .18s ease,padding-bottom .22s ease,visibility .18s linear;
  }
  .acc-mobile-menu__group.is-open .acc-mobile-menu__submenu {
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    padding-bottom:10px;
  }
  .acc-mobile-menu__submenu a {
    min-height:47px;
    border-bottom:0;
    padding:0 6px;
    color:#647586;
    font:570 .89rem/1.25 Manrope,system-ui,sans-serif;
  }
  .acc-mobile-menu__simple { min-height:59px!important; touch-action:manipulation; }
  .acc-mobile-menu__simple.is-active img,
  .acc-mobile-menu__simple[aria-current="location"] img { opacity:1; }
}

/* =========================================================
   v76 — desktop menu refinement + bespoke service SVG icons
   ========================================================= */
@media (min-width:1121px) {
  /* Więcej oddechu pomiędzy głównymi pozycjami nawigacji. */
  .acc-header__nav {
    gap: clamp(22px, 1.85vw, 34px);
  }

  /* Mega-menu: bardziej architektoniczne, mniej "tabletowe" zaokrąglenie. */
  .acc-header-mega {
    width: min(1120px, calc(100vw - 64px));
    padding: 8px;
    border-radius: 12px;
    box-shadow: 0 22px 62px rgba(13,44,71,.145);
  }

  .acc-header-mega--compact {
    width: min(940px, calc(100vw - 64px));
  }

  .acc-header-mega__inner {
    grid-template-columns: minmax(270px,.82fr) minmax(0,1.75fr);
    gap: 8px;
  }

  .acc-header-mega__intro {
    padding: 25px 27px;
    border-radius: 9px;
  }

  .acc-header__nav .acc-header-mega__links a {
    border-radius: 8px;
  }

  /* Oferta: autorski zestaw ikon SVG HVAC o wspólnej geometrii. */
  .acc-header-mega__links--services {
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 5px;
    padding: 7px;
  }

  .acc-header__nav .acc-header-mega__links a.acc-header-mega__service {
    min-height: 88px;
    padding: 12px 13px;
    display: grid;
    grid-template-columns: 48px minmax(0,1fr);
    align-items: center;
    justify-content: stretch;
    gap: 12px;
  }

  .acc-header-mega__service-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(8,122,208,.115);
    border-radius: 10px;
    background: linear-gradient(145deg,#fbfdff 0%,#f1f9fe 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.92);
    transition: transform .22s ease, border-color .22s ease, background .22s ease, box-shadow .22s ease;
  }

  .acc-header-mega__service-icon img {
    width: 38px;
    height: 38px;
    display: block;
  }

  .acc-header-mega__service-copy {
    min-width: 0;
    display: block;
    font: inherit!important;
  }

  .acc-header-mega__service-copy strong {
    display: block;
    color: #172b3e;
    font: 690 .90rem/1.18 Manrope,system-ui,sans-serif;
    letter-spacing: -.018em;
    transition: color .2s ease;
  }

  .acc-header-mega__service-copy small {
    display: block;
    margin-top: 5px!important;
    color: #7a8997;
    font: 520 .68rem/1.32 Manrope,system-ui,sans-serif!important;
  }

  .acc-header__nav .acc-header-mega__links a.acc-header-mega__service:hover,
  .acc-header__nav .acc-header-mega__links a.acc-header-mega__service:focus-visible {
    background: #f5faff;
    transform: translateY(-1px)!important;
  }

  .acc-header__nav .acc-header-mega__links a.acc-header-mega__service:hover .acc-header-mega__service-icon,
  .acc-header__nav .acc-header-mega__links a.acc-header-mega__service:focus-visible .acc-header-mega__service-icon {
    transform: translateY(-1px);
    border-color: rgba(8,122,208,.22);
    background: #fff;
    box-shadow: 0 8px 20px rgba(8,85,139,.07), inset 0 1px 0 rgba(255,255,255,.95);
  }

  .acc-header__nav .acc-header-mega__links a.acc-header-mega__service:hover .acc-header-mega__service-copy strong,
  .acc-header__nav .acc-header-mega__links a.acc-header-mega__service:focus-visible .acc-header-mega__service-copy strong {
    color: #076fb9;
  }
}

@media (min-width:1121px) and (max-width:1260px) {
  .acc-header__nav { gap: 20px; }
  .acc-header__nav-trigger,
  .acc-header__nav-link { font-size: .94rem; }
  .acc-header-mega { width: min(1040px, calc(100vw - 42px)); }
  .acc-header-mega__links--services { grid-template-columns: repeat(2,minmax(0,1fr)); }
}


/* =========================================================
   v79 — desktop navigation motion / performance polish
   ========================================================= */
@media (min-width:1121px) {
  /* No vertical movement of labels/cards on hover — prevents the perceived jump. */
  .acc-header__nav-trigger,
  .acc-header__nav-link {
    transform:none!important;
    transition:color .16s ease!important;
  }
  .acc-header__nav-trigger:hover,
  .acc-header__nav-trigger:focus-visible,
  .acc-header__nav-trigger.is-active,
  .acc-header__nav-link:hover,
  .acc-header__nav-link:focus-visible,
  .acc-header__nav-link.is-active {
    transform:none!important;
  }

  /* Keep all dropdowns on the same visual plane and avoid scale-based rasterization. */
  .acc-header-mega {
    min-height:254px;
    background:rgba(255,255,255,.995);
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    transform:translate3d(-50%,7px,0);
    will-change:opacity,transform;
    backface-visibility:hidden;
    contain:layout paint;
    transition:opacity .15s ease,transform .19s cubic-bezier(.2,.78,.2,1),visibility .15s linear;
  }
  .acc-header__nav-item.is-open .acc-header-mega {
    transform:translate3d(-50%,0,0);
  }
  .acc-header-mega__inner {
    min-height:234px;
  }

  /* Hover feedback stays premium but does not physically move content. */
  .acc-header__nav .acc-header-mega__links a,
  .acc-header__nav .acc-header-mega__links a.acc-header-mega__service,
  .acc-header-mega__service-icon {
    transform:none!important;
    transition:background-color .15s ease,border-color .15s ease,color .15s ease,box-shadow .17s ease!important;
  }
  .acc-header__nav .acc-header-mega__links a:hover,
  .acc-header__nav .acc-header-mega__links a:focus-visible,
  .acc-header__nav .acc-header-mega__links a.acc-header-mega__service:hover,
  .acc-header__nav .acc-header-mega__links a.acc-header-mega__service:focus-visible,
  .acc-header__nav .acc-header-mega__links a.acc-header-mega__service:hover .acc-header-mega__service-icon,
  .acc-header__nav .acc-header-mega__links a.acc-header-mega__service:focus-visible .acc-header-mega__service-icon {
    transform:none!important;
  }

  /* SVGs keep a reserved box from the first paint, so decoding cannot move the menu. */
  .acc-header-mega__service-icon img {
    width:38px!important;
    height:38px!important;
    aspect-ratio:1/1;
    object-fit:contain;
  }
}

/* =========================================================
   v80 — sharp desktop mega-menu rendering
   Fixes GPU/compositing haze while preserving fast opening.
   ========================================================= */
@media (min-width:1121px) {
  .acc-header-mega {
    background:#fff!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    transform:translate(-50%,0)!important;
    will-change:auto!important;
    backface-visibility:visible!important;
    contain:none!important;
    opacity:0;
    filter:none!important;
    -webkit-font-smoothing:antialiased;
    text-rendering:geometricPrecision;
    transition:opacity .14s ease,visibility .14s linear!important;
    box-shadow:0 22px 58px rgba(13,44,71,.14)!important;
  }

  .acc-header__nav-item.is-open .acc-header-mega {
    opacity:1;
    transform:translate(-50%,0)!important;
  }

  .acc-header-mega__inner,
  .acc-header-mega__intro,
  .acc-header-mega__links,
  .acc-header-mega__service,
  .acc-header-mega__service-copy,
  .acc-header-mega__service-icon,
  .acc-header-mega__service-icon img {
    filter:none!important;
    -webkit-filter:none!important;
    backface-visibility:visible!important;
  }

  .acc-header-mega__intro {
    background:linear-gradient(145deg,#f4f9fd 0%,#ffffff 62%,#f3f8fc 100%)!important;
  }
}
