.site-header {
  position: sticky;
  z-index: 40;
  top: 0;
  height: auto;
  padding: 0;
  border-bottom: 1px solid rgb(216 222 232 / 86%);
  background: rgb(255 255 255 / 92%);
  backdrop-filter: blur(18px);
}
.site-header .shell, .site-footer .shell { width: min(1180px, calc(100% - 40px)); max-width: none; margin: 0 auto; }
.site-header .nav-row { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.site-header .brand { display: inline-flex; flex: 0 0 auto; color: #172033; }
.site-header .brand img { display: block; width: 192px; height: 40px; object-fit: contain; object-position: left center; }
.site-header .primary-nav { position: static; inset: auto; z-index: auto; width: auto; height: auto; overflow: visible; padding: 0; border: 0; background: transparent; box-shadow: none; display: flex; flex-direction: row; align-items: center; gap: 1.75rem; transition: none; }
.site-header .primary-nav a { min-height: 44px; display: inline-flex; align-items: center; padding: 0; border-radius: 0; background: transparent; color: #5d687a; font-weight: 650; text-decoration: none; }
.site-header .primary-nav a:hover, .site-header .primary-nav a:focus, .site-header .primary-nav a[aria-current="page"] { background: transparent; color: #176b87; box-shadow: none; }
.site-header .primary-nav a[aria-current="page"] { box-shadow: inset 0 -3px 0 #176b87; }
.site-header .nav-actions { display: flex; align-items: center; gap: .7rem; }
.site-header .button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; padding: .72rem 1.15rem; border: 1px solid #d8dee8; border-radius: 8px; background: white; color: #172033; font-weight: 750; text-decoration: none; }
.site-header .button.primary { border-color: #176b87; background: #176b87; color: white; }
.site-header .button.primary:hover { border-color: #12566d; background: #12566d; }
.site-header .button.small { min-height: 40px; padding: .55rem .85rem; font-size: .92rem; }
.site-footer { padding: 34px 0; border-top: 1px solid #d8dee8; background: white; }
.site-footer .footer-row { display: flex; align-items: center; justify-content: space-between; gap: 2rem; color: #5d687a; font-size: .83rem; }
.site-footer .footer-brand { display: inline-flex; }
.site-footer .footer-brand img { display: block; width: 155px; height: 32px; object-fit: contain; object-position: left center; }
.site-footer .footer-links { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: .8rem 1.25rem; }
.site-footer .footer-links a, .site-footer .cookie-settings-link { min-height: 32px; height: 32px; display: inline-flex; align-items: center; margin: 0; padding: 0; border: 0; background: transparent; color: #5d687a; font: inherit; line-height: 1.2; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
@media (max-width: 1050px) {
  .site-header .nav-row { flex-wrap: wrap; gap: .35rem 1rem; padding: .65rem 0; }
  .site-header .primary-nav { order: 3; width: 100%; justify-content: center; gap: .35rem 1.25rem; border-top: 1px solid #eef1f5; }
  .site-header .primary-nav a { min-height: 42px; }
}
@media (max-width: 760px) {
  .site-header .shell, .site-footer .shell { width: min(100% - 28px, 1180px); }
  .site-header .nav-row { min-height: 66px; gap: .5rem; }
  .site-header .brand img { width: 132px; height: 34px; }
  .site-footer .footer-row { align-items: flex-start; flex-direction: column; }
  .site-footer .footer-links { justify-content: flex-start; }
}
@media (max-width: 520px) {
  .site-header .primary-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 .75rem; }
  .site-header .primary-nav a { justify-content: center; text-align: center; }
}
