.cc-skip{
  position:fixed;
  top:-6rem;
  left:1rem;
  z-index:110;
  padding:.75rem 1rem;
  border-radius:.1875rem;
  background:#fff;
  color:var(--cc-navy);
  font:500 .875rem/1 var(--cc-font);
  text-decoration:none;
}
.cc-skip:focus{top:1rem}

.cc-header{
  --cc-nav-hover:.35s;
  --cc-nav-open:.6s;
  --cc-nav-close:.4s;
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:90;
  color:var(--cc-navy);
  font-family:var(--cc-font);
  pointer-events:none;
}
.cc-header .cc-header__bar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:1.5rem;
  padding-top:clamp(1rem,.9rem + .5vw,1.5rem);
}
.cc-header .cc-header__bar > *{pointer-events:auto}

.cc-header .cc-header__logo{position:relative;display:block;margin-top:.25rem;line-height:0}
.cc-header .cc-header__logo img{
  display:block;
  width:auto;
  max-width:none;
  height:clamp(1.75rem,1.5rem + .9vw,2.5rem);
  transition:opacity var(--cc-nav-close) var(--cc-ease);
}
.cc-header .cc-header__logo .cc-header__logo-light{position:absolute;top:0;left:0;opacity:0}
.cc-header.is-on-dark .cc-header__logo-light{opacity:1}
.cc-header.is-on-dark .cc-header__logo-navy{opacity:0}

.cc-header .cc-header__micro{
  flex:none;
  width:16rem;
  border:1px solid rgba(255,255,255,.2);
  border-radius:.3125rem;
  background:rgba(19,41,61,.66);
  -webkit-backdrop-filter:blur(60px);
  backdrop-filter:blur(60px);
  color:#fff;
}
.cc-header .cc-header__toggle,
.cc-header .cc-header__toggle:focus,
.cc-header .cc-header__toggle:hover{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  width:100%;
  height:3.5rem;
  margin:0;
  padding:0 1.25rem;
  border:0;
  border-radius:.3125rem;
  background:none;
  color:inherit;
  font:400 1rem/1 var(--cc-font);
  letter-spacing:0;
  text-transform:none;
  cursor:pointer;
}
.cc-header .cc-header__plus,
.cc-menu .cc-menu__x{position:relative;flex:none;width:.875rem;height:.875rem;transition:transform var(--cc-nav-open) var(--cc-ease)}
.cc-header .cc-header__plus::before,
.cc-header .cc-header__plus::after,
.cc-menu .cc-menu__x::before,
.cc-menu .cc-menu__x::after{content:"";position:absolute;top:50%;left:0;width:100%;height:1px;margin-top:-.5px;background:currentColor}
.cc-header .cc-header__plus::after,
.cc-menu .cc-menu__x::after{transform:rotate(90deg)}
.cc-header .cc-header__label{display:grid;justify-items:end}
.cc-header .cc-header__label > span{grid-area:1 / 1;white-space:nowrap;transition:opacity var(--cc-nav-hover) var(--cc-ease)}
.cc-header .cc-header__label-open{opacity:0}
.cc-header .cc-header__teaser{
  display:grid;
  grid-template-rows:0fr;
  visibility:hidden;
  transition:grid-template-rows var(--cc-nav-close) var(--cc-ease),visibility 0s var(--cc-nav-close);
}
.cc-header .cc-header__teaser-in{min-height:0;overflow:hidden}
.cc-header .cc-header__teaser-list{
  margin:0;
  padding:2.25rem 1.25rem 1rem;
  list-style:none;
  opacity:0;
  transition:opacity var(--cc-nav-close) var(--cc-ease);
}
.cc-header .cc-header__teaser-link,
.cc-header .cc-header__teaser-link:visited{
  display:block;
  padding:.5rem 0;
  color:#fff;
  font:400 1rem/1.2 var(--cc-font);
  text-decoration:none;
  transition:opacity var(--cc-nav-hover) var(--cc-ease);
}
.cc-header a:focus-visible,
.cc-header button:focus-visible{outline:2px solid var(--cc-teal-bright);outline-offset:2px}
@media (min-width:992px){
  .cc-header.is-expanded .cc-header__teaser,
  .cc-header .cc-header__micro:has(:focus-visible) .cc-header__teaser{
    grid-template-rows:1fr;
    visibility:visible;
    transition:grid-template-rows var(--cc-nav-open) var(--cc-ease),visibility 0s;
  }
  .cc-header.is-expanded .cc-header__teaser-list,
  .cc-header .cc-header__micro:has(:focus-visible) .cc-header__teaser-list{opacity:1;transition-duration:var(--cc-nav-open)}
  .cc-header.is-expanded .cc-header__label-menu,
  .cc-header .cc-header__micro:has(:focus-visible) .cc-header__label-menu{opacity:0}
  .cc-header.is-expanded .cc-header__label-open,
  .cc-header .cc-header__micro:has(:focus-visible) .cc-header__label-open{opacity:1}
}
@media (min-width:992px) and (hover:hover) and (pointer:fine){
  .cc-header .cc-header__micro:hover .cc-header__teaser{
    grid-template-rows:1fr;
    visibility:visible;
    transition:grid-template-rows var(--cc-nav-open) var(--cc-ease),visibility 0s;
  }
  .cc-header .cc-header__micro:hover .cc-header__teaser-list{opacity:1;transition-duration:var(--cc-nav-open)}
  .cc-header .cc-header__micro:hover .cc-header__label-menu{opacity:0}
  .cc-header .cc-header__micro:hover .cc-header__label-open{opacity:1}
  .cc-header .cc-header__toggle:hover .cc-header__plus{transform:rotate(45deg)}
  .cc-header .cc-header__teaser-list:has(.cc-header__teaser-link:hover) .cc-header__teaser-link:not(:hover){opacity:.5}
  .cc-header .cc-header__teaser-link:hover{color:#fff}
}

.cc-menu{
  --cc-nav-hover:.35s;
  --cc-nav-open:.6s;
  --cc-nav-close:.4s;
  --cc-menu-top:clamp(1rem,.9rem + .5vw,1.5rem);
  --cc-menu-side:max(var(--cc-margin),calc((100% - 150rem) / 2));
  position:fixed;
  inset:0;
  z-index:100;
  visibility:hidden;
  font-family:var(--cc-font);
  transition:visibility 0s var(--cc-nav-close);
}
.cc-menu.is-open{visibility:visible;transition:none}
.cc-menu .cc-menu__veil{
  position:absolute;
  inset:0;
  background:rgba(19,41,61,.18);
  -webkit-backdrop-filter:blur(40px);
  backdrop-filter:blur(40px);
  opacity:0;
  cursor:pointer;
  transition:opacity var(--cc-nav-close) var(--cc-ease);
}
.cc-menu.is-open .cc-menu__veil{opacity:1;transition-duration:var(--cc-nav-open)}
.cc-menu .cc-menu__no{
  position:absolute;
  left:var(--cc-menu-side);
  bottom:var(--cc-margin);
  color:#fff;
  font-size:clamp(6rem,2.5rem + 11vw,18rem);
  font-weight:200;
  line-height:.78;
  letter-spacing:-.04em;
  opacity:0;
  pointer-events:none;
  transition:opacity var(--cc-nav-hover) var(--cc-ease);
}
.cc-menu .cc-menu__no.is-on{opacity:1}
.cc-menu .cc-menu__panel{
  position:absolute;
  top:var(--cc-menu-top);
  right:var(--cc-menu-side);
  bottom:var(--cc-margin);
  width:calc((100% - var(--cc-menu-side) * 2 - var(--cc-gutter)) / 2);
  border-radius:.3125rem;
  background:#fff;
  color:var(--cc-navy);
  clip-path:inset(0 0 100% 50% round .3125rem);
  transition:clip-path var(--cc-nav-close) var(--cc-ease-inout);
}
.cc-menu.is-open .cc-menu__panel{clip-path:inset(0 round .3125rem);transition:clip-path .9s var(--cc-ease)}
.cc-menu .cc-menu__close,
.cc-menu .cc-menu__close:focus,
.cc-menu .cc-menu__close:hover{
  position:absolute;
  top:0;
  right:0;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  width:16rem;
  height:3.5rem;
  margin:0;
  padding:0 1.25rem;
  border:0;
  background:none;
  color:var(--cc-navy);
  font:400 1rem/1 var(--cc-font);
  letter-spacing:0;
  text-transform:none;
  cursor:pointer;
}
.cc-menu .cc-menu__x{transform:rotate(45deg)}
.cc-menu .cc-menu__body{display:flex;flex-direction:column;height:100%;overflow-y:auto;overscroll-behavior:contain}
.cc-menu .cc-menu__nav{flex:1 0 auto;padding:clamp(.75rem,.6rem + .5vw,1.25rem) 1.75rem 2.5rem}
.cc-menu .cc-menu__list{margin:0;padding:0;list-style:none}
.cc-menu .cc-menu__item{margin:0}
.cc-menu .cc-menu__link,
.cc-menu .cc-menu__link:visited{
  display:inline-flex;
  align-items:center;
  gap:.75rem;
  padding:0 0 .25em;
  color:var(--cc-navy);
  font-family:inherit;
  font-size:clamp(2.25rem,2.08rem + .87vw,3.375rem);
  font-weight:400;
  line-height:1.05;
  letter-spacing:-.02em;
  text-decoration:none;
  transition:opacity var(--cc-nav-hover) var(--cc-ease),transform var(--cc-nav-close) var(--cc-ease);
}
.cc-menu .cc-menu__link[aria-current="page"]::after{content:"";flex:none;width:.5rem;height:.5rem;border-radius:50%;background:var(--cc-teal)}
.cc-menu .cc-menu__more{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(3,auto);
  grid-auto-flow:column;
  gap:1rem 1.25rem;
  margin:0;
  padding:1.25rem 1.75rem 1.5rem;
  list-style:none;
}
.cc-menu .cc-menu__small,
.cc-menu .cc-menu__small:visited{
  color:var(--cc-navy);
  font:400 1rem/1.3 var(--cc-font);
  text-decoration:none;
  opacity:.5;
  transition:opacity var(--cc-nav-hover) var(--cc-ease);
}
.cc-menu .cc-menu__small[aria-current="page"]{opacity:1}
.cc-menu .cc-menu__buttons{display:flex;gap:.625rem;padding:1.25rem;border-top:1px solid var(--cc-line)}
.cc-menu .cc-menu__btn,
.cc-menu .cc-menu__btn:visited{
  flex:1 1 0;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:1rem;
  height:clamp(4.25rem,3.75rem + 2.5vw,7.5rem);
  padding:1rem;
  border-radius:.1875rem;
  background:var(--cc-tint-navy);
  color:var(--cc-navy);
  font:500 1rem/1.2 var(--cc-font);
  text-decoration:none;
  transition:background-color var(--cc-nav-hover) var(--cc-ease),color var(--cc-nav-hover) var(--cc-ease);
}
.cc-menu .cc-menu__btn svg{flex:none;width:.75rem;height:.75rem;transition:transform var(--cc-nav-hover) var(--cc-ease)}
.cc-menu .cc-menu__btn:active{background:var(--cc-navy);color:#fff}
.cc-menu a:focus-visible,
.cc-menu button:focus-visible{outline:2px solid var(--cc-teal);outline-offset:3px}
@media (hover:hover) and (pointer:fine){
  .cc-menu .cc-menu__close:hover .cc-menu__x{transform:rotate(135deg)}
  .cc-menu .cc-menu__list:has(.cc-menu__link:hover) .cc-menu__link:not(:hover){opacity:.45}
  .cc-menu .cc-menu__link:hover{transform:translateX(1rem);color:var(--cc-navy)}
  .cc-menu .cc-menu__small:hover{opacity:1;color:var(--cc-navy)}
  .cc-menu .cc-menu__btn:hover{background:var(--cc-navy);color:#fff}
  .cc-menu .cc-menu__btn:hover svg{transform:translate(3px,-3px)}
}
@media (prefers-reduced-motion:no-preference){
  .cc-menu.is-open .cc-menu__item{animation:cc-rise 1.1s var(--cc-ease) backwards;animation-delay:calc(220ms + var(--i,0) * 80ms)}
}
html.cc-menu-open{overflow:hidden}

@media (max-width:991px){
  .cc-header .cc-header__micro{width:auto;min-width:8rem}
  .cc-header .cc-header__toggle,
  .cc-header .cc-header__toggle:focus,
  .cc-header .cc-header__toggle:hover{gap:1.25rem;height:3rem;padding:0 1rem}
  .cc-header .cc-header__teaser{display:none}
  .cc-menu .cc-menu__panel{left:var(--cc-menu-side);width:auto}
  .cc-menu .cc-menu__no{display:none}
  .cc-menu .cc-menu__close,
  .cc-menu .cc-menu__close:focus,
  .cc-menu .cc-menu__close:hover{width:auto;min-width:8rem;gap:1.25rem;height:3rem;padding:0 1rem}
  .cc-menu .cc-menu__nav{padding:4.5rem 1.25rem 2rem}
  .cc-menu .cc-menu__more{padding:1.25rem}
  .cc-menu .cc-menu__buttons{flex-direction:column}
  .cc-menu .cc-menu__btn,
  .cc-menu .cc-menu__btn:visited{flex:none;height:5rem}
}
@media (prefers-reduced-motion:reduce){
  .cc-header,
  .cc-header *,
  .cc-menu,
  .cc-menu *{transition-duration:.01ms !important}
}
