/* Shared visitor navigation: Home, Subject, Feedback. */
.site-nav{position:relative;z-index:30;display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:16px 0;color:#2e1a6e;font-family:Nunito,ui-rounded,system-ui,sans-serif}
.site-nav .brand{display:inline-flex;align-items:center;margin-right:auto}
.site-nav .brand img{display:block;width:auto;height:50px}
.site-nav .links{display:flex;align-items:center;gap:20px;flex-wrap:wrap;font-size:.95rem;font-weight:800}
.site-nav .links>a,.site-nav .subject-menu>summary{display:inline-flex;align-items:center;gap:7px;padding:5px 0;border:0;border-bottom:3px solid transparent;color:#2e1a6e;text-decoration:none;line-height:1.4;cursor:pointer;background:none}
.site-nav .links>a:hover,.site-nav .links>a[aria-current],.site-nav .subject-menu>summary:hover,.site-nav .subject-menu>summary.current,.site-nav .subject-menu[open]>summary{border-bottom-color:#d92d27}
.site-nav .subject-menu{position:relative}
.site-nav .subject-menu>summary{list-style:none}
.site-nav .subject-menu>summary::-webkit-details-marker{display:none}
.site-nav .subject-menu>summary::after{content:'▾';font-size:.85em;transition:transform .15s}
.site-nav .subject-menu[open]>summary::after{transform:rotate(180deg)}
.site-nav .subject-list{position:absolute;right:0;top:calc(100% + 6px);min-width:215px;display:grid;gap:2px;padding:8px;border:2px solid #2e1a6e;border-radius:16px;background:#fffdf7;box-shadow:5px 5px 0 #2e1a6e}
.site-nav .subject-list a{display:block;padding:9px 12px;border-radius:9px;color:#2e1a6e;text-decoration:none;font-weight:800;white-space:nowrap}
.site-nav .subject-list a:hover,.site-nav .subject-list a:focus-visible,.site-nav .subject-list a[aria-current]{background:#ffe7b0}
.site-nav a:focus-visible,.site-nav summary:focus-visible{outline:3px solid #2f80ed;outline-offset:3px}
.site-menu-band{background-color:#fff6df;background-image:radial-gradient(rgba(46,26,110,.07) 1px,transparent 1.2px);background-size:14px 14px}
.site-menu-band .site-nav{max-width:1240px;margin:auto;padding:16px}
@media(max-width:650px){.site-nav{gap:6px 14px;padding:12px 0}.site-nav .brand{width:100%}.site-nav .brand img{height:42px}.site-nav .links{gap:6px 18px}.site-nav .subject-list{left:0;right:auto}.site-menu-band .site-nav{padding:12px 16px}}
