.logo{min-width:max-content}
.logo-mark{width:54px;height:54px;object-fit:contain;display:block}
.site-header nav a{position:relative}
.site-header nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:3px;background:var(--lime);transition:right .18s ease}
.site-header nav a:hover::after,.site-header nav a:focus-visible::after{right:0}

@media(max-width:850px){
  .site-header nav a{background:transparent;border-radius:0}
}

@media(max-width:520px){
  .site-header{display:grid;grid-template-columns:42px minmax(0,1fr) auto;gap:8px;padding:8px 12px;min-height:64px}
  .site-header .logo{min-width:0}
  .site-header .logo-mark{width:42px;height:42px}
  .site-header .logo>span{display:none}
  .site-header nav{display:flex!important;order:initial;grid-column:auto;flex-basis:auto;border:0;padding:0;margin:0;justify-content:center;gap:2px;overflow:visible}
  .site-header nav a{font-size:.7rem;padding:8px 5px}
  .site-header nav a::after{bottom:1px}
  .site-header .header-cta{margin:0;padding:9px 8px;font-size:.69rem;white-space:nowrap}
}

@media(max-width:365px){
  .site-header{grid-template-columns:36px minmax(0,1fr) auto;padding-inline:8px;gap:5px}
  .site-header .logo-mark{width:36px;height:36px}
  .site-header nav a{font-size:.66rem;padding-inline:3px}
  .site-header .header-cta{font-size:.64rem;padding-inline:6px}
}
