@charset "UTF-8";

html{--ys-header-height:calc(100vw / 19.2);--ys-admin-bar-height:0px;scroll-padding-top:calc(var(--ys-header-height) + var(--ys-admin-bar-height) + 16px)}
html:has(body.admin-bar){--ys-admin-bar-height:32px}
body .site-header{position:sticky;top:var(--ys-admin-bar-height);z-index:50}
body main :target{overflow-anchor:none}

/* Equal icon slots keep every navigation label on the same baseline. */
body .site-navigation .nav-icon{display:flex;align-items:center;justify-content:center;flex:none;width:37px;height:33px}
body .site-navigation .nav-icon>img{display:block;width:auto;height:auto;max-width:100%;max-height:100%}
body .site-navigation .nav-label{display:block;flex:none;height:1em;line-height:1;white-space:nowrap}
body .site-navigation .nav-link:is(:hover,:focus-visible){color:var(--green);opacity:1}
body .site-navigation .nav-link:is(:hover,:focus-visible) .nav-icon>img{filter:url('../images/header-green-filter.svg#green')}
body .site-navigation :is(.nav-entry,.nav-recruit):is(:hover,:focus-visible){background:#fff;box-shadow:inset 0 0 0 2px var(--green)}
@media(min-width:1101px){
 body .site-navigation .nav-icon{width:calc(37 * 100vw / 1920);height:calc(33 * 100vw / 1920)}
}
@media(max-width:1100px){
 html{--ys-header-height:80px}
 body .site-navigation{max-height:calc(100dvh - var(--ys-header-height) - var(--ys-admin-bar-height))}
 body .site-navigation .nav-icon{height:28px}
}
@media(max-width:782px){
 html:has(body.admin-bar){--ys-admin-bar-height:46px}
}
@media(max-width:767px){
 html{--ys-header-height:60px}
}
@media(max-width:600px){
 html:has(body.admin-bar){--ys-admin-bar-height:0px}
}
