/* Shared navigation for the institution homepage and its separate service pages. */
.header .wrap { max-width: 1440px; }
.header .brand { flex-shrink: 0; }
.header-inner { gap: 24px; }
#navigation { gap: 17px; font-size: .84rem; }
#navigation > a { white-space: nowrap; }
#navigation > a[aria-current="page"] { color: var(--purple); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 6px; }
#navigation .nav-contact { padding: 10px 17px; }
.menu-toggle { cursor: pointer; }
.service-breadcrumb { display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap; padding-top: 22px; padding-bottom: 22px; color: var(--muted); font-size: .85rem; }
.service-breadcrumb a { color: var(--purple); text-decoration: underline; text-underline-offset: 3px; min-height: 44px; display: inline-flex; align-items: center; }
.service-page h1 { font-size: clamp(2rem, 3.5vw, 3rem); line-height: 1.2; letter-spacing: -1.3px; margin: 0; color: var(--deep); }
.service-subtitle { font-size: 1.25rem; line-height: 1.5; margin: 20px 0 0; color: var(--purple); }
.service-page .online-section { padding-top: 48px; }
.service-page .free-documents-section { padding-top: 48px; }
.service-page .digital-section { padding-top: 34px; padding-bottom: 72px; }
@media (max-width: 1400px) {
  .menu-toggle { display: flex; align-items: center; gap: 12px; background: transparent; border: 1px solid var(--line); padding: 9px 14px; border-radius: 6px; color: var(--purple); font-size: .9rem; min-height: 44px; }
  #navigation { display: none; position: absolute; top: 113px; left: 0; right: 0; background: #fff; padding: 12px 28px 20px; border-bottom: 1px solid var(--line); align-items: stretch; gap: 4px; max-height: calc(100vh - 113px); max-height: calc(100dvh - 113px); overflow-y: auto; overscroll-behavior: contain; }
  #navigation.open { display: flex; flex-direction: column; }
  #navigation > a { white-space: normal; padding-block: 7px; }
  #navigation .nav-contact { justify-content: center; }
}
@media (max-width: 760px) {
  #navigation { top: 95px; padding-inline: 23px; max-height: calc(100vh - 95px); max-height: calc(100dvh - 95px); }
  .service-breadcrumb { padding-top: 10px; padding-bottom: 10px; font-size: .8rem; }
  .service-page h1 { font-size: 2rem; letter-spacing: -.8px; }
  .service-page .online-section, .service-page .free-documents-section { padding-top: 32px; }
  .service-page .digital-section { padding-top: 24px; padding-bottom: 42px; }
  .service-subtitle { font-size: 1.1rem; margin-top: 15px; }
}
