/* PureTech - Header (global). Self-contained: no theme variables required. */
.cc-hdr,.cc-hdr *,.cc-hdr *::before,.cc-hdr *::after{box-sizing:border-box}
.cc-hdr{
  --h-bg:#FFFFFF;--h-ink:#09242E;--h-text:#4A5F68;--h-muted:#4A5F68;--h-line:#E6ECEF;
  --h-panel:#FFFFFF;--h-hover:#F4F6F8;--h-link-hover:#126989;
  --h-cta-bg:#126989;--h-cta-bg-h:#0E5570;--h-cta-ink:#FFFFFF;--h-cta-sep:rgba(255,255,255,.28);
  --h-grad-a:#40C6F0;--h-grad-b:#126989;--h-cyan:#40C6F0;--h-util-bg:#09242E;--h-util-ink:#C6DBEC;
  --h-bar:80px;--h-util:40px;--h-ease:cubic-bezier(.2,.7,.2,1);
  position:relative;z-index:1000;min-height:var(--cc-h,0px);
  font-size:16px;line-height:1.4;color:var(--h-ink);
}
.cc-hdr--dark{
  --h-bg:#09242E;--h-ink:#FFFFFF;--h-text:#C6DBEC;--h-muted:#8FA9B3;--h-line:rgba(255,255,255,.14);
  --h-panel:#0C2C38;--h-hover:rgba(255,255,255,.07);--h-link-hover:#7ED7F0;
  --h-cta-bg:#40C6F0;--h-cta-bg-h:#7ED7F0;--h-cta-ink:#09242E;--h-cta-sep:rgba(9,36,46,.25);
  --h-util-bg:#041319;
}

/* resets, so theme link/list/button styles can't leak in */
.cc-hdr ul{list-style:none;margin:0;padding:0}
.cc-hdr li{list-style:none;margin:0;padding:0}
.cc-hdr li::before{content:none}
.cc-hdr a{text-decoration:none}
.cc-hdr a,.cc-hdr a:hover,.cc-hdr a:focus,.cc-hdr a:visited{color:var(--a,var(--h-ink)) !important}
.cc-hdr button{font:inherit}
.cc-hdr b{font-weight:600}
.cc-hdr :focus-visible{outline:2px solid var(--h-cyan);outline-offset:2px}

.cc-hdr__skip{position:absolute;left:12px;top:-64px;z-index:3000;padding:10px 16px;border-radius:0 0 10px 10px;background:var(--h-cta-bg);font-weight:700}
.cc-hdr a.cc-hdr__skip{--a:var(--h-cta-ink)}
.cc-hdr__skip:focus{top:0}
.cc-hdr__sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* utility bar */
.cc-hdr__util{position:relative;z-index:3;background:var(--h-util-bg);color:var(--h-util-ink);font-size:15px}
.cc-hdr__utilbar{display:flex;align-items:center;justify-content:space-between;gap:20px;height:var(--h-util)}
.cc-hdr .cc-hdr__util a{--a:var(--h-util-ink)}
.cc-hdr .cc-hdr__util a:hover{--a:#FFFFFF}
.cc-hdr__phone{display:inline-flex;align-items:center;gap:8px;font-weight:600}
.cc-hdr__utillinks{display:flex;align-items:center;gap:22px}
.cc-hdr__li{display:inline-flex}

/* main bar */
.cc-hdr__main{position:relative;z-index:2;background:var(--h-bg);border-bottom:1px solid var(--h-line)}
.cc-hdr__bar{position:relative;display:flex;align-items:stretch;gap:36px;height:var(--h-bar);transition:height .2s var(--h-ease)}
.cc-hdr.is-stuck{--h-bar:68px}
.cc-hdr--sticky.is-stuck .cc-hdr__main{position:fixed;top:0;left:0;right:0;border-bottom-color:transparent;box-shadow:0 10px 30px rgba(9,36,46,.10)}

.cc-hdr__logo{display:flex;align-items:center;flex:none}
.cc-hdr__logo img{display:block;height:40px;width:auto;max-width:230px;transition:height .2s var(--h-ease)}
.cc-hdr.is-stuck .cc-hdr__logo img{height:34px}
.cc-hdr__wordmark{font-size:21px;font-weight:700;letter-spacing:-.02em;color:var(--h-ink)}
.cc-hdr__wordmark span{font-weight:400;color:var(--h-link-hover)}

/* top-level nav */
.cc-hdr__nav{display:flex;align-items:stretch;margin-right:auto}
.cc-hdr__list{display:flex;align-items:stretch;gap:26px}
.cc-hdr__item{display:flex;align-items:stretch;position:static}
.cc-hdr a.cc-hdr__top{position:relative;display:flex;align-items:center;padding:0 2px;--a:var(--h-ink);font-size:16px;font-weight:600}
.cc-hdr__top::after{content:"";position:absolute;left:2px;right:2px;bottom:0;height:3px;border-radius:3px 3px 0 0;background:linear-gradient(90deg,var(--h-grad-a),var(--h-grad-b));transform:scaleX(0);transform-origin:left;transition:transform .25s var(--h-ease)}
.cc-hdr__item:not(.cc-hdr__item--has-menu):hover .cc-hdr__top::after,.cc-hdr__top[aria-current]::after{transform:scaleX(1)}
.cc-hdr__item--has-menu.is-open .cc-hdr__top::after{transform:scaleX(0)}
.cc-hdr .cc-hdr__item:hover a.cc-hdr__top,.cc-hdr .cc-hdr__item.is-open a.cc-hdr__top{--a:var(--h-link-hover)}
.cc-hdr .cc-hdr__caret{display:flex;align-items:center;justify-content:center;width:22px;margin-left:-2px;padding:0;border:0;background:none;color:var(--h-muted);cursor:pointer;transition:color .15s}
.cc-hdr__caret svg,.cc-hdr__ctacaret svg{transition:transform .2s}
.cc-hdr .cc-hdr__caret[aria-expanded=true]{color:var(--h-link-hover)}
.cc-hdr__caret[aria-expanded=true] svg,.cc-hdr__ctacaret[aria-expanded=true] svg{transform:rotate(180deg)}

/* actions: search, button, burger */
.cc-hdr__actions{display:flex;align-items:center;gap:12px;flex:none}
.cc-hdr .cc-hdr__searchbtn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:none;color:var(--h-ink);cursor:pointer;transition:background .15s,color .15s}
.cc-hdr .cc-hdr__searchbtn:hover,.cc-hdr .cc-hdr__searchbtn[aria-expanded=true]{background:var(--h-hover);color:var(--h-link-hover)}
.cc-hdr__ctawrap{position:relative;display:flex;align-items:stretch}
.cc-hdr a.cc-hdr__cta{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 26px;border-radius:999px;background:var(--h-cta-bg);--a:var(--h-cta-ink);font-size:16px;font-weight:700;white-space:nowrap;transition:background .15s}
.cc-hdr a.cc-hdr__cta:hover{background:var(--h-cta-bg-h)}
.cc-hdr__ctawrap--has-menu a.cc-hdr__cta{padding:0 16px 0 24px;border-radius:999px 0 0 999px}
.cc-hdr .cc-hdr__ctacaret{display:flex;align-items:center;justify-content:center;width:42px;height:44px;padding:0;border:0;border-left:1px solid var(--h-cta-sep);border-radius:0 999px 999px 0;background:var(--h-cta-bg);color:var(--h-cta-ink);cursor:pointer;transition:background .15s}
.cc-hdr .cc-hdr__ctacaret:focus-visible{outline-offset:-4px}
.cc-hdr .cc-hdr__ctacaret:hover,.cc-hdr .cc-hdr__ctacaret[aria-expanded=true]{background:var(--h-cta-bg-h)}
.cc-hdr .cc-hdr__burger{display:none;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:44px;height:44px;padding:0;border:1px solid var(--h-line);border-radius:50%;background:none;cursor:pointer}
.cc-hdr__burger span{display:block;width:18px;height:2px;border-radius:2px;background:var(--h-ink)}

/* dropdown panels */
.cc-hdr__panel{position:absolute;top:100%;z-index:5;background:var(--h-panel);border:1px solid var(--h-line);border-top:0;border-radius:0 0 18px 18px;box-shadow:0 36px 60px -20px rgba(9,36,46,.28);animation:cc-drop .18s var(--h-ease)}
.cc-hdr__panel[hidden]{display:none}
.cc-hdr__panel::after{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:linear-gradient(90deg,var(--h-grad-a),var(--h-grad-b))}
.cc-hdr__panel--mega{left:0;display:grid;gap:28px;padding:32px 34px 34px;grid-template-columns:repeat(var(--cols,1),minmax(0,1fr));width:min(100%,calc(var(--cols,1)*250px + (var(--cols,1) - 1)*28px + 68px))}
.cc-hdr__panel--mega.has-feat{grid-template-columns:repeat(var(--cols,1),minmax(0,1fr)) 260px;width:min(100%,calc(var(--cols,1)*250px + var(--cols,1)*28px + 260px + 68px))}
.cc-hdr__panel--list{min-width:270px;padding:22px 16px 16px}
.cc-hdr__panel--cta{left:auto;right:0;top:calc(100% + 10px);min-width:240px;padding:20px 12px 12px;border-top:1px solid var(--h-line);border-radius:14px}
.cc-hdr__panel--cta::before{content:"";position:absolute;left:0;right:0;top:-12px;height:12px}
.cc-hdr__panel--cta::after{border-radius:14px 14px 0 0}

.cc-hdr__col{display:flex;flex-direction:column;min-width:0}
.cc-hdr__colhead{margin-bottom:8px;padding-bottom:12px;border-bottom:1px solid var(--h-line)}
@supports (grid-template-rows:subgrid){
  .cc-hdr__panel--mega{grid-template-rows:auto 1fr}
  .cc-hdr__panel--mega .cc-hdr__col{display:grid;grid-row:span 2;grid-template-rows:subgrid;row-gap:0}
  .cc-hdr__panel--mega .cc-hdr__colhead{grid-row:1}
  .cc-hdr__panel--mega .cc-hdr__links{grid-row:2}
  .cc-hdr__panel--mega a.cc-hdr__feat{grid-column:-2 / -1;grid-row:1 / span 2}
}
.cc-hdr__colh{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:16px;font-weight:700;line-height:1.25;color:var(--h-ink)}
.cc-hdr a.cc-hdr__colh{--a:var(--h-ink)}
.cc-hdr a.cc-hdr__colh:hover,.cc-hdr a.cc-hdr__colh:focus-visible{--a:var(--h-link-hover)}
.cc-hdr__colh svg{flex:none;opacity:0;transform:translateX(-4px);transition:opacity .15s,transform .2s var(--h-ease)}
.cc-hdr__colh:hover svg,.cc-hdr__colh:focus-visible svg{opacity:1;transform:none}
.cc-hdr__colsub{margin-top:4px;font-size:15px;line-height:1.4;color:var(--h-muted)}
.cc-hdr__links{display:flex;flex-direction:column;gap:2px}
.cc-hdr a.cc-hdr__link{display:block;margin:0 -10px;padding:8px 10px;border-radius:10px;--a:var(--h-ink);transition:background .15s}
.cc-hdr__link b{display:block;font-size:16px;font-weight:600;line-height:1.3;transition:color .15s}
.cc-hdr__link span{display:block;margin-top:3px;font-size:15px;line-height:1.4;color:var(--h-muted)}
.cc-hdr a.cc-hdr__link:hover,.cc-hdr a.cc-hdr__link:focus-visible{background:var(--h-hover)}
.cc-hdr a.cc-hdr__link:hover b,.cc-hdr a.cc-hdr__link:focus-visible b{color:var(--h-link-hover)}

/* feature card inside mega menus */
.cc-hdr a.cc-hdr__feat{position:relative;display:flex;flex-direction:column;gap:10px;padding:24px 22px 26px;overflow:hidden;border-radius:14px;--a:#FFFFFF;background:radial-gradient(120% 90% at 85% -10%,rgba(45,120,190,.5),transparent 55%),linear-gradient(160deg,#0A3D66,#063047);transition:transform .2s var(--h-ease),box-shadow .2s}
.cc-hdr--dark a.cc-hdr__feat{box-shadow:inset 0 0 0 1px rgba(255,255,255,.14)}
.cc-hdr__feat::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,#40C6F0,#7ED7F0)}
.cc-hdr a.cc-hdr__feat:hover{transform:translateY(-2px);box-shadow:0 18px 30px -14px rgba(6,48,71,.6)}
.cc-hdr__feat-e{font-size:15px;font-weight:700;color:#7ED7F0}
.cc-hdr__feat b{font-size:20px;font-weight:800;line-height:1.2;letter-spacing:-.01em;color:#FFFFFF}
.cc-hdr__feat-t{font-size:15px;line-height:1.5;color:#C6DBEC}
.cc-hdr__feat em{margin-top:auto;padding-top:6px;font-size:16px;font-style:normal;font-weight:700;color:#FFFFFF}

/* search panel */
.cc-hdr__search{position:absolute;left:0;right:0;top:100%;z-index:4;padding:20px 0 22px;background:var(--h-panel);border-bottom:1px solid var(--h-line);box-shadow:0 30px 50px -22px rgba(9,36,46,.25);animation:cc-drop .18s var(--h-ease)}
.cc-hdr__search[hidden]{display:none}
.cc-hdr__searchform{display:flex;gap:10px}
.cc-hdr__searchform input{flex:1;min-width:0;height:50px;padding:0 24px;border:1.5px solid var(--h-line);border-radius:999px;background:var(--h-bg);color:var(--h-ink);font:inherit;font-size:16px}
.cc-hdr__searchform input:focus{outline:0;border-color:var(--h-cyan);box-shadow:0 0 0 4px rgba(64,198,240,.2)}
.cc-hdr .cc-hdr__searchgo{height:50px;padding:0 30px;border:0;border-radius:999px;background:var(--h-cta-bg);color:var(--h-cta-ink);font-weight:700;cursor:pointer}
.cc-hdr .cc-hdr__searchgo:hover{background:var(--h-cta-bg-h)}

/* mobile overlay */
.cc-hdr__mob{position:fixed;inset:0;z-index:2000;display:flex;flex-direction:column;background:var(--h-bg);color:var(--h-ink)}
.cc-hdr__mob[hidden]{display:none}
.cc-hdr__mobbar{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;border-bottom:1px solid var(--h-line)}
.cc-hdr__mobbar img{height:30px;width:auto}
.cc-hdr .cc-hdr__close{display:flex;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:1px solid var(--h-line);border-radius:50%;background:none;color:var(--h-ink);cursor:pointer}
.cc-hdr__mobnav{flex:1;overflow-y:auto;padding:6px 24px;-webkit-overflow-scrolling:touch}
.cc-hdr__mi{border-bottom:1px solid var(--h-line)}
.cc-hdr .cc-hdr__mt{display:flex;align-items:center;justify-content:space-between;width:100%;padding:18px 0;border:0;background:none;color:var(--h-ink);--a:var(--h-ink);font-size:22px;font-weight:700;line-height:1.15;letter-spacing:-.01em;text-align:left;cursor:pointer}
.cc-hdr .cc-hdr__mt[aria-expanded=true]{color:var(--h-link-hover)}
.cc-hdr__mt span{font-size:18px;font-weight:500;color:var(--h-muted)}
.cc-hdr__mt i{position:relative;flex:none;width:16px;height:16px}
.cc-hdr__mt i::before,.cc-hdr__mt i::after{content:"";position:absolute;left:0;top:7px;width:16px;height:2px;border-radius:2px;background:currentColor;transition:transform .2s}
.cc-hdr__mt i::after{transform:rotate(90deg)}
.cc-hdr__mt[aria-expanded=true] i::after{transform:rotate(0)}
.cc-hdr__ms{display:flex;flex-direction:column;padding:0 0 16px}
.cc-hdr__ms[hidden]{display:none}
.cc-hdr .cc-hdr__ms a{display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:9px 0;--a:var(--h-text);font-size:16px}
.cc-hdr .cc-hdr__ms a:hover{--a:var(--h-link-hover)}
.cc-hdr__ms a span{color:var(--h-muted)}
.cc-hdr .cc-hdr__ms a.cc-hdr__all,.cc-hdr .cc-hdr__ms a.cc-hdr__mh--link{--a:var(--h-ink);font-weight:700}
.cc-hdr__mh{margin-top:12px;padding:8px 0 2px;font-size:16px;font-weight:700;color:var(--h-muted)}
.cc-hdr__ms a.cc-hdr__mh{margin-top:12px}
.cc-hdr__mobfoot{display:flex;flex-direction:column;gap:14px;padding:18px 24px 26px;border-top:1px solid var(--h-line)}
.cc-hdr a.cc-hdr__cta--block{width:100%;height:52px;font-size:16px}
.cc-hdr__mobcontact{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}
.cc-hdr .cc-hdr__mobcontact a{padding:7px 0;--a:var(--h-text);font-size:16px}
.cc-hdr a.cc-hdr__mobphone{padding:6px 0;text-align:center;--a:var(--h-ink);font-weight:700}
body.cc-locked{overflow:hidden}

/* Landing pages: logo only, like POWER's landing page header (no menu, search or button).
   The override partial wraps the module in .pt-hdr--lp on landing pages. Not sticky either. */
.pt-hdr--lp .cc-hdr .cc-hdr__util,
.pt-hdr--lp .cc-hdr .cc-hdr__nav,
.pt-hdr--lp .cc-hdr .cc-hdr__actions,
.pt-hdr--lp .cc-hdr .cc-hdr__search,
.pt-hdr--lp .cc-hdr .cc-hdr__mob{display:none !important}
.pt-hdr--lp .cc-hdr--sticky.is-stuck .cc-hdr__main{position:relative !important;box-shadow:none !important;border-bottom-color:var(--h-line) !important}

@keyframes cc-drop{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

@media (max-width:1080px){
  .cc-hdr{--h-bar:68px}
  .cc-hdr.is-stuck{--h-bar:60px}
  .cc-hdr__bar{gap:12px}
  .cc-hdr__util,.cc-hdr__nav,.cc-hdr__ctawrap{display:none}
  .cc-hdr__actions{margin-left:auto}
  .cc-hdr .cc-hdr__burger{display:flex}
  .cc-hdr__logo img,.cc-hdr.is-stuck .cc-hdr__logo img{height:30px}
}
/* 16px nav text needs a little less air between items on narrow desktops */
@media (min-width:1081px) and (max-width:1240px){
  .cc-hdr__bar{gap:22px}
  .cc-hdr__list{gap:16px}
  .cc-hdr a.cc-hdr__cta{padding-left:20px}
  .cc-hdr__ctawrap--has-menu a.cc-hdr__cta{padding:0 14px 0 20px}
}
@media (min-width:1081px){.cc-hdr__mob{display:none !important}}
@media (prefers-reduced-motion:reduce){.cc-hdr *,.cc-hdr *::before,.cc-hdr *::after{animation:none !important;transition:none !important}}
