.u-header {
  position: sticky;
  z-index: 6;
  top: 0;
  color: #f0f6ff;
  background: #06132a;
  background: linear-gradient(104deg, #08192e 15%, #102a53 58%, #07172d 92%);
  border-block-end: 1px solid #7fa8ec44;
  box-shadow: 0 9px 25px #07132628;
}
.u-header-grid {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  column-gap: clamp(16px, 3vw, 43px);
  min-height: 76px;
}
.u-header-mark {
  display: inline-flex;
  align-items: center;
  padding: 9px 13px;
  border-radius: 11px;
  background: #f5f9ff;
  box-shadow: 0 2px 12px #0003;
}
.u-header-mark img { width: clamp(120px, 13vw, 166px); height: auto; }
.u-header-nav { display: flex; justify-content: center; gap: clamp(12px, 2.4vw, 32px); }
.u-header-nav a {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 76px;
  font-size: .88rem;
  font-weight: 500;
  white-space: nowrap;
  color: #d3e2fa;
  transition: color .2s ease;
}
.u-header-nav a::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 2px;
  border-radius: 4px;
  background: #9ecaff;
  transform: scaleX(0);
  transition: transform .24s ease;
}
.u-header-nav a:is(:hover, [aria-current]) { color: white; }
.u-header-nav a:is(:hover, [aria-current])::after { transform: scaleX(1); }
.u-header-actions { display: flex; align-items: center; gap: clamp(10px, 1.5vw, 20px); }
.u-header-phone { color: #c2d9fb; font-size: .94rem; font-weight: 700; }
.u-header-book {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #0b2952;
  background: #d3e7ff;
  border-radius: 99px;
  padding: 8px 15px;
  white-space: nowrap;
  font-size: .86rem;
  font-weight: 700;
  transition: background .2s ease;
}
.u-header-book:hover { background: #fff; }
.u-header :focus-visible { outline: 2px solid #c6e3ff; outline-offset: 4px; }
.u-header ~ main .universal [id] { scroll-margin-top: 92px; }
@media (max-width: 740px) {
  .u-header-grid {
    grid-template-columns: 1fr auto;
    padding-top: 10px;
  }
  .u-header-mark { justify-self: start; padding: 7px 9px; }
  .u-header-mark img { width: 124px; }
  .u-header-nav {
    grid-row: 2;
    grid-column: 1/-1;
    justify-content: space-between;
    gap: 7px;
  }
  .u-header-nav a { min-height: 41px; font-size: clamp(.65rem, 3.1vw, .83rem); }
  .u-header-actions { justify-self: end; gap: 9px; }
  .u-header-book { padding: 6px 10px; font-size: .76rem; }
  .u-header-phone { font-size: .8rem; }
  .u-header ~ main .universal [id] { scroll-margin-top: 108px; }
}
@media (prefers-reduced-motion: reduce) {
  .u-header-nav a, .u-header-nav a::after, .u-header-book { transition: none; }
}
