.site-header { position: sticky; top: 0; z-index: 20; background: #f6f8fcf5; border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
.header-inner { min-height: 82px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.brand { display: inline-flex; align-items: center; gap: .7rem; font-size: 1.45rem; font-weight: 800; letter-spacing: -.05em; text-decoration: none; }
.brand img { width: 34px; height: 34px; }
.brand small { display: block; margin-left: .5rem; padding-left: .8rem; border-left: 1px solid var(--line); color: var(--muted); font: .7rem/1.4 var(--mono); letter-spacing: .04em; }
.main-nav { display: flex; align-items: center; gap: 1.6rem; }
.main-nav a { font-size: .875rem; font-weight: 600; text-decoration: none; padding-block: .5rem; border-bottom: 2px solid transparent; }
.main-nav a:hover, .main-nav a[aria-current='page'] { color: var(--blue); border-bottom-color: var(--blue); }
.menu-toggle { display: none; padding: .5rem .9rem; border: 1px solid var(--line); background: white; border-radius: .5rem; color: var(--ink); }
.site-footer { background: var(--deep); color: #dde6f3; padding: 3.5rem 0 1.8rem; }
.footer-top { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 3rem; }
.footer-top p { font-size: .94rem; margin-top: 1rem; max-width: 360px; color: #b3c3d8; }
.footer-top h3 { font-size: .85rem; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 1rem; color: white; }
.footer-links { list-style: none; margin: 0; padding: 0; font-size: .95rem; }
.footer-links a { text-decoration: none; }
.footer-links a:hover { color: var(--cyan); }
.footer-bottom { margin-top: 3rem; padding-top: 1.5rem; border-top: 1px solid #ffffff24; display: flex; justify-content: space-between; gap: 1rem; font-size: .8rem; color: #b3c3d8; }
.institution { display: flex; align-items: center; gap: 1rem; margin-top: 1.2rem; }
.institution img { width: 52px; height: 58px; object-fit: contain; background: white; border-radius: 8px; padding: 3px; }
.institution span { font-size: .86rem; }
.page-main { min-height: 65vh; }
@media (max-width: 1060px) { .brand small { display: none; } .main-nav { gap: 1rem; } }
@media (max-width: 800px) {
  .header-inner { min-height: 72px; flex-wrap: wrap; gap: 0; }
  .js .menu-toggle { display: block; }
  .main-nav { width: 100%; display: flex; align-items: stretch; flex-direction: column; gap: 0; padding-block: .5rem 1rem; }
  .js .main-nav { display: none; }
  .js .main-nav.is-open { display: flex; }
  .main-nav a { padding: .8rem .25rem; }
  .footer-top { grid-template-columns: 1fr; gap: 2rem; }
  .footer-bottom { flex-direction: column; }
}
