/* Header, navigation, mega menu, progress bar and mobile drawer */
/* utility strip */#util{max-height:38px;overflow:hidden;transition:max-height .35s;background:var(--navy-d);color:#c9d8f2;font-size:13.5px}
  .scrolled #util{max-height:0}
  .tag{background:var(--or);color:#fff;font-weight:700;padding:.5rem 2.2rem .5rem 1rem;clip-path:polygon(0 0,100% 0,calc(100% - 16px) 100%,0 100%)}

  /* main bar */
  #bar{height:78px;transition:height .3s}
  .scrolled #bar{height:64px}
  #logo{height:50px;width:auto;transition:height .3s}
  .scrolled #logo{height:42px}

  /* slanted ribbon indicator (brochure headline shape) */
  #ribbon{position:absolute;top:50%;left:0;height:42px;margin-top:-21px;background:var(--navy);opacity:0;
    clip-path:polygon(12px 0,100% 0,calc(100% - 12px) 100%,0 100%);
    transition:transform .45s cubic-bezier(.65,0,.25,1),width .45s cubic-bezier(.65,0,.25,1),background .25s,opacity .2s}
  #ribbon.hov{background:var(--or)}
  .nl{position:relative;z-index:1;display:flex;align-items:center;gap:6px;height:42px;padding:0 1.15rem;font-weight:600;font-size:16.5px;color:var(--navy-d);transition:color .2s}
  .nl.lit{color:#fff}

  /* scroll progress: route line with chevron head */
  #prog{position:absolute;inset:auto 0 0 0;height:3px;background:#e1e9f5}
  #pf{position:absolute;inset:0 auto 0 0;width:0;background:linear-gradient(90deg,var(--navy),var(--or))}
  #ph{position:absolute;top:-6px;left:0;width:26px;height:15px;background:var(--or);transform:translateX(-65%);
      clip-path:polygon(0 0,62% 0,100% 50%,62% 100%,0 100%,38% 50%)}

  /* CTA */
  .cta{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 1.9rem;background:var(--or);color:#fff;font-weight:700;
       clip-path:polygon(14px 0,100% 0,calc(100% - 14px) 100%,0 100%);transition:background .25s}
  .cta:hover{background:var(--navy)}
  .cta::after{content:"";position:absolute;top:0;bottom:0;width:26px;left:-40px;background:rgba(255,255,255,.35);transform:skewX(-24deg);transition:left .55s}
  .cta:hover::after{left:calc(100% + 20px)}

  /* mega menu */
  #mega{position:absolute;left:1rem;right:1rem;top:100%;opacity:0;visibility:hidden;transform:translateY(10px);transition:.28s}
  #mega.show{opacity:1;visibility:visible;transform:none}
  .side{background:linear-gradient(160deg,var(--navy) 0,var(--navy-d) 100%);clip-path:polygon(0 0,100% 0,calc(100% - 30px) 100%,0 100%)}
  .svc{display:flex;gap:.85rem;padding:.8rem;border-radius:.9rem;transition:background .2s}
  .svc:hover{background:#eef3fb}
  .svc .bx{display:grid;place-items:center;flex:none;width:2.7rem;height:2.7rem;border-radius:.75rem;background:#e6eefb;color:var(--navy);transition:.25s}
  .svc:hover .bx{background:var(--or);color:#fff;transform:rotate(-6deg)}
  .chip{padding:.3rem .85rem;font-size:14px;font-weight:600;color:var(--navy);background:#eef3fb;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%);transition:.2s}
  .chip:hover{background:var(--navy);color:#fff}

  /* mobile drawer */
  #veil{opacity:0;visibility:hidden;transition:.35s}
  #drawer{transform:translateX(102%);transition:transform .5s cubic-bezier(.7,0,.2,1)}
  body.menu #veil{opacity:1;visibility:visible}
  body.menu #drawer{transform:none}
  .mob{display:block;padding:.65rem 1rem;font-size:1.5rem;font-weight:700;color:var(--navy-d);border-left:4px solid transparent}
  .mob.lit{border-color:var(--or);color:var(--navy);background:linear-gradient(90deg,#fdebd9,transparent)}

  a:focus-visible,button:focus-visible{outline:2px solid var(--or);outline-offset:3px}
  @media (prefers-reduced-motion:reduce){*{transition-duration:.01s!important}html{scroll-behavior:auto}}
