:root{
 --hts-coral:#F15B5A;
 --hts-ink:#25252b;
 --hts-purple:#4B286D;
}

.hts-nav{
 --hts-nav-text:var(--hts-ink);
 --hts-nav-muted:#666;
 --hts-nav-surface:#fff;
 --hts-nav-panel-surface:#fff;
 --hts-nav-border:#ddd;
 --hts-nav-accent:var(--hts-coral);
 --hts-nav-focus:var(--hts-purple);
 --hts-nav-start-text:#fff;
 --hts-nav-font-size:inherit;
 --hts-nav-primary-weight:700;
 --hts-nav-link-weight:400;
 --hts-nav-group-gap:1.5rem;
 --hts-nav-control-pad-y:.75rem;
 --hts-nav-control-pad-x:.25rem;
 --hts-nav-submenu-pad-y:1rem;
 --hts-nav-submenu-pad-x:1.25rem;
 --hts-nav-submenu-width:20rem;
 --hts-nav-radius:0px;
 --hts-nav-mobile-panel-width:30rem;
 --hts-nav-shadow:0 8px 24px rgba(0,0,0,.08);
 position:relative;
 color:var(--hts-nav-text);
 font:inherit;
}

.hts-nav--custom{
 background:var(--hts-nav-surface);
 font-size:var(--hts-nav-font-size);
}

.hts-nav a{
 color:inherit;
 text-decoration:none;
}

.hts-nav__toggle{
 display:none;
}

.hts-nav__panel,
.hts-nav__groups{
 display:flex;
 align-items:center;
 gap:var(--hts-nav-group-gap);
}

.hts-nav__start{
 font-weight:600;
}

.hts-nav--start-pill .hts-nav__start{
 display:inline-flex;
 align-items:center;
 padding:calc(var(--hts-nav-control-pad-y) * .7) calc(var(--hts-nav-control-pad-x) + .7rem);
 border-radius:999px;
 background:var(--hts-nav-accent);
 color:var(--hts-nav-start-text);
}

.hts-nav--start-outline .hts-nav__start{
 display:inline-flex;
 align-items:center;
 padding:calc(var(--hts-nav-control-pad-y) * .7) calc(var(--hts-nav-control-pad-x) + .7rem);
 border:1px solid var(--hts-nav-accent);
 border-radius:999px;
 color:var(--hts-nav-accent);
 background:transparent;
}

.hts-nav__group-button{
 background:none;
 border:0;
 padding:var(--hts-nav-control-pad-y) var(--hts-nav-control-pad-x);
 font:inherit;
 font-weight:var(--hts-nav-primary-weight);
 cursor:pointer;
 color:inherit;
}

.hts-nav__group-button span{
 margin-left:.35rem;
 color:var(--hts-nav-accent);
}

.hts-nav__submenu{
 display:none;
 position:absolute;
 top:100%;
 left:0;
 min-width:var(--hts-nav-submenu-width);
 max-width:42rem;
 padding:var(--hts-nav-submenu-pad-y) var(--hts-nav-submenu-pad-x);
 background:var(--hts-nav-panel-surface);
 border-top:2px solid var(--hts-nav-accent);
 border-radius:var(--hts-nav-radius);
 box-shadow:var(--hts-nav-shadow);
 z-index:100;
}

.hts-nav__group-button[aria-expanded="true"]+.hts-nav__submenu{
 display:block;
}

.hts-nav__submenu p{
 margin:0 0 .75rem;
 color:var(--hts-nav-muted);
}

.hts-nav__submenu ul{
 list-style:none;
 margin:0;
 padding:0;
 display:grid;
 grid-template-columns:repeat(2,minmax(10rem,1fr));
 gap:.25rem 1rem;
}

.hts-nav__submenu a{
 display:block;
 padding:.5rem 0;
}

.hts-nav--custom .hts-nav__submenu a{
 font-weight:var(--hts-nav-link-weight);
}

.hts-nav a:focus-visible,
.hts-nav button:focus-visible{
 outline:3px solid var(--hts-nav-focus);
 outline-offset:3px;
}

@media(max-width:820px){
 .hts-nav__toggle{
  display:inline-block;
  background:none;
  border:1px solid var(--hts-nav-border);
  border-radius:var(--hts-nav-radius);
  padding:.65rem .8rem;
  color:inherit;
 }

 .hts-nav__panel{
  display:none;
  position:absolute;
  right:0;
  top:100%;
  width:min(92vw,var(--hts-nav-mobile-panel-width));
  max-height:80vh;
  overflow:auto;
  background:var(--hts-nav-panel-surface);
  padding:1rem;
  border-radius:var(--hts-nav-radius);
  box-shadow:var(--hts-nav-shadow);
  z-index:100;
 }

 .hts-nav__toggle[aria-expanded="true"]+.hts-nav__panel{
  display:block;
 }

 .hts-nav__panel,
 .hts-nav__groups{
  align-items:stretch;
 }

 .hts-nav__groups{
  display:block;
 }

 .hts-nav__start{
  display:block;
  padding:.8rem 0;
  border-bottom:1px solid var(--hts-nav-border);
 }

 .hts-nav--start-pill .hts-nav__start,
 .hts-nav--start-outline .hts-nav__start{
  display:flex;
  width:max-content;
  margin-bottom:.5rem;
  border-bottom:1px solid var(--hts-nav-accent);
 }

 .hts-nav__group{
  border-bottom:1px solid var(--hts-nav-border);
 }

 .hts-nav__group-button{
  width:100%;
  min-height:44px;
  display:flex;
  justify-content:space-between;
  align-items:center;
 }

 .hts-nav__submenu{
  position:static;
  min-width:0;
  max-width:none;
  padding:.25rem 0 1rem;
  border:0;
  border-radius:0;
  box-shadow:none;
 }

 .hts-nav__submenu ul{
  display:block;
 }

 .hts-nav__submenu a{
  min-height:44px;
  display:flex;
  align-items:center;
 }
}

@media(prefers-reduced-motion:reduce){
 .hts-nav *{
  scroll-behavior:auto!important;
  transition:none!important;
 }
}
