/* Public website chrome only. Keep the frozen design sources intact. */
html { scroll-padding-top: 88px; }
body:has(> .site-header), body:has(> .op-page > .site-header) { padding-top: 72px; }
.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  max-width: none;
  height: 72px;
  margin-inline: auto;
  z-index: 50;
  border: 0;
  border-bottom: 1px solid rgba(225, 220, 239, .8);
  border-radius: 0;
  background: #fff;
  box-shadow: none;
}
.site-header .header-inner {
  width: 100%;
  max-width: 1440px;
  padding-inline: 28px;
  gap: 36px;
}
.skip, .op-skip, .page-skip { z-index: 100; }
@media (max-width: 1050px) {
  .site-header .header-inner { padding-inline: 20px; gap: 20px; }
}
@media (max-width: 850px) {
  .site-header .navigation {
    top: calc(100% + 10px);
    left: 12px;
    right: 12px;
    margin: 0;
    max-height: calc(100dvh - 94px);
    overflow-y: auto;
  }
}
@media (max-width: 600px) {
  html { scroll-padding-top: 80px; }
  body:has(> .site-header), body:has(> .op-page > .site-header) { padding-top: 64px; }
  .site-header { height: 64px; }
  .site-header .header-inner { padding-inline: 12px; gap: 5px; }
  .site-header .brand, .site-header .brand img { width: 140px; }
  .site-header .header-actions { gap: 6px; }
  .site-header .navigation { max-height: calc(100dvh - 86px); }
}
@media (max-width: 360px) {
  .site-header .header-inner { padding-inline: 8px; }
  .site-header .brand, .site-header .brand img { width: 118px; }
  .site-header .header-actions { gap: 4px; }
}
