.u-footer {
  background: radial-gradient(ellipse at 82% 0%, #172e59, transparent 58%), #080f20;
  color: #d7e3f6;
  border-block-start: 1px solid #263854;
  position: relative;
}
.u-footer::before {
  content: "";
  display: block;
  height: 1px;
  background: linear-gradient(90deg, transparent 10%, #9fc6f7aa 50%, transparent 90%);
}
.u-footer-inner {
  width: min(1180px, calc(100% - 56px));
  margin-inline: auto;
  padding-block: clamp(40px, 5.5vw, 78px) 22px;
}
.u-footer-main {
  display: grid;
  grid-template-columns: minmax(210px, 1.2fr) minmax(140px, .85fr) minmax(190px, 1fr);
  align-items: start;
  gap: clamp(22px, 5.2vw, 70px);
  padding-bottom: 36px;
}
.u-footer h2 { font-size: 1.03rem; font-weight: 650; color: #f8fbff; margin: 0 0 12px; letter-spacing: 0 }
.u-footer a { color: inherit; text-decoration: none }
.u-footer a:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px }
.u-footer a:focus-visible { outline: 2px solid #a9caff; outline-offset: 4px; border-radius: 2px }
.u-footer .u-footer-logo {
  display: inline-flex;
  padding: 12px 17px;
  background: linear-gradient(135deg, #fcfdff, #e7eef9);
  border-radius: 11px;
  align-items: center;
  width: fit-content;
  min-height: 59px;
}
.u-footer-logo img { display: block; max-width: 100%; width: 170px; height: auto }
.u-footer-identity p { margin: 13px 0 0; font-size: .93rem; color: #b6c6e1 }
.u-footer-nav ul { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none }
.u-footer-nav a { display: inline-flex; align-items: center; min-height: 28px; font-size: .94rem }
.u-footer-contact a { width: fit-content; display: flex; align-items: center; gap: 7px }
.u-footer-contact .u-footer-hotline {
  margin: 0 0 5px;
  font-size: clamp(2.3rem, 4.3vw, 3.7rem);
  font-weight: 750;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.07em;
  line-height: 1.03;
  color: #f3f8ff;
}
.u-footer-contact .u-footer-whatsapp { min-height: 34px; font-size: .94rem }
.u-footer-contact .u-footer-book { min-height: 32px; color: #a6cbff; font-size: .92rem }
.u-footer-meta {
  border-block-start: 1px solid #425574;
  padding-top: 17px;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: baseline;
  color: #b8c8e0;
  font-size: .82rem;
}
.u-footer-meta p { margin: 0 }
.u-footer-meta a { white-space: nowrap; color: #d8e7ff }
.u-footer-meta a span { margin-inline-start: 4px }
@media (max-width: 680px) {
  .u-footer-inner { width: calc(100% - 32px) }
  .u-footer-main { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 23px 14px; padding-bottom: 24px }
  .u-footer-identity { grid-column: 1 / -1 }
  .u-footer-meta { flex-direction: column; align-items: start }
  .u-footer-contact a { gap: 4px }
  .u-footer-contact .u-footer-whatsapp { flex-wrap: wrap; font-size: .86rem }
}
.u-footer-meta-links { display: flex; flex-wrap: wrap; gap: 8px 20px; }
