:root {
  --unext-navy: #071f5c;
  --unext-navy-strong: #041742;
  --unext-blue: #16549b;
  --unext-teal: #20c8d4;
  --unext-teal-dark: #087d91;
  --unext-ink: #143252;
  --unext-muted: #52677b;
  --unext-line: #d8e6f0;
  --unext-surface: #ffffff;
  --unext-surface-soft: #eef7fb;
  --unext-focus: #087da3;
  --unext-radius-sm: .5rem;
  --unext-radius-md: .75rem;
  --unext-radius-lg: 1rem;
  --unext-shadow: 0 16px 40px rgba(7, 31, 92, .1);
  --unext-space-1: .5rem;
  --unext-space-2: .75rem;
  --unext-space-3: 1rem;
  --unext-space-4: 1.5rem;
  --unext-space-5: 2rem;
  --unext-space-6: 3rem;
  --unext-content: 1180px;
  --unext-font: Inter, ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
}

html { scroll-padding-top: 10rem; }
body { font-family: var(--unext-font) !important; color: var(--unext-ink); }
body, button, input, select, textarea { font-family: var(--unext-font) !important; }
body > main { min-height: 42vh; }

.skip-link {
  position: fixed !important;
  z-index: 10000;
  left: 1rem;
  top: 1rem;
  transform: translateY(-160%);
  padding: .75rem 1rem;
  border-radius: var(--unext-radius-sm);
  background: var(--unext-navy-strong);
  color: #fff !important;
  font-weight: 750;
}
.skip-link:focus { transform: translateY(0); }

:where(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid var(--unext-focus) !important;
  outline-offset: 3px !important;
}

.v1-header {
  position: sticky;
  z-index: 100;
  top: 0;
  width: 100%;
  background: rgba(255, 255, 255, .98) !important;
  color: var(--unext-ink) !important;
  border-bottom: 1px solid var(--unext-line);
  box-shadow: 0 5px 18px rgba(7, 31, 92, .05);
  padding: 0 !important;
}
.v1-header__top,
.v1-header__nav {
  width: min(var(--unext-content), 92%);
  margin-inline: auto;
}
.v1-header__top {
  min-height: 76px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
}
.v1-brand {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  color: var(--unext-ink) !important;
  text-decoration: none !important;
}
.v1-brand img {
  display: block;
  width: 168px;
  height: 52px;
  object-fit: contain;
  object-position: left center;
}
.v1-header__actions { display: flex; align-items: center; gap: .75rem; }
.v1-search,
.v1-menu,
.v1-counsellor {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--unext-radius-sm);
  font-size: .9rem;
  font-weight: 750;
  text-decoration: none !important;
}
.v1-search {
  color: var(--unext-blue) !important;
  padding: .65rem .8rem;
  border: 1px solid var(--unext-line);
  background: #fff;
}
.v1-counsellor {
  color: #062b48 !important;
  background: var(--unext-teal) !important;
  padding: .65rem 1rem;
  border: 1px solid transparent;
}
.v1-menu {
  display: none;
  color: var(--unext-navy) !important;
  background: #fff;
  border: 1px solid var(--unext-line);
  padding: .65rem .8rem;
  cursor: pointer;
}
.v1-header__nav {
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  gap: .15rem;
  border-top: 1px solid #edf3f7;
}
.v1-header__nav a {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  padding: .65rem .58rem;
  color: var(--unext-ink) !important;
  font-size: .82rem;
  font-weight: 680;
  line-height: 1.25;
  text-decoration: none !important;
  border-bottom: 3px solid transparent;
}
.v1-header__nav a:hover,
.v1-header__nav a[aria-current="page"] {
  color: var(--unext-blue) !important;
  border-bottom-color: var(--unext-teal);
}

.v1-footer {
  margin-top: 0;
  padding: 3rem 0 1.25rem !important;
  background: var(--unext-navy-strong) !important;
  color: #e7f0f7 !important;
  border: 0 !important;
}
.v1-footer__inner,
.v1-footer__bottom {
  width: min(var(--unext-content), 92%);
  margin-inline: auto;
}
.v1-footer__inner {
  display: grid;
  grid-template-columns: 1.2fr repeat(5, minmax(0, 1fr));
  gap: 2rem;
}
.v1-footer .v1-brand img { width: 150px; height: 50px; background: #fff; border-radius: .4rem; padding: .25rem; }
.v1-footer__intro p { margin: .75rem 0 0; color: #c7d9e7 !important; font-size: .92rem; }
.v1-footer h2 {
  margin: 0 0 .8rem;
  color: #fff !important;
  font-size: .82rem;
  line-height: 1.3;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.v1-footer nav { display: grid; gap: .2rem; }
.v1-footer a:not(.v1-brand) {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  width: fit-content;
  color: #e7f0f7 !important;
  font-size: .88rem;
  text-decoration: none !important;
}
.v1-footer a:not(.v1-brand):hover { color: #76e7ec !important; text-decoration: underline !important; }
.v1-footer__bottom {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 2rem;
  padding-top: 1.15rem;
  border-top: 1px solid rgba(255,255,255,.16);
}
.v1-footer__bottom p { margin: 0; color: #bcd0df !important; font-size: .82rem; }

.v1-destination-map {
  margin: 2rem 0;
  padding: 1.5rem;
  border: 1px solid var(--unext-line);
  border-radius: var(--unext-radius-lg);
  background: var(--unext-surface-soft);
}
.v1-destination-map h2 { margin-top: 0; }
.v1-destination-map__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: .75rem; }
.v1-destination-map__grid a {
  display: block;
  min-height: 74px;
  padding: .85rem 1rem;
  border: 1px solid var(--unext-line);
  border-radius: var(--unext-radius-md);
  background: #fff;
  color: var(--unext-ink) !important;
  text-decoration: none !important;
}
.v1-destination-map__grid strong,
.v1-destination-map__grid span { display: block; }
.v1-destination-map__grid span { margin-top: .2rem; color: var(--unext-muted); font-size: .86rem; }

.v1-route-shell { width: min(860px, 90%); margin-inline: auto; padding: 4rem 0 5rem; }
.v1-route-shell .eyebrow { color: var(--unext-teal-dark); }
.v1-route-shell h1 { max-width: 780px; }
.v1-route-shell__notice {
  margin-top: 2rem;
  padding: 1.25rem;
  border-left: 4px solid var(--unext-teal);
  background: var(--unext-surface-soft);
  color: var(--unext-muted);
}
.v1-route-shell__actions { display: flex; gap: .75rem; flex-wrap: wrap; margin-top: 1.5rem; }
.home-page .path-grid { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }

@media (max-width: 980px) {
  .v1-header__top { min-height: 70px; }
  .v1-brand img { width: 145px; height: 48px; }
  .v1-menu { display: inline-flex; }
  .v1-header__nav {
    display: none;
    max-height: calc(100vh - 70px);
    overflow-y: auto;
    padding: .5rem 0 1rem;
    border-top: 1px solid var(--unext-line);
  }
  .v1-header__nav[data-open="true"] { display: grid; grid-template-columns: 1fr 1fr; }
  .v1-header__nav a { min-height: 48px; padding: .7rem .85rem; border: 0; border-radius: var(--unext-radius-sm); }
  .v1-header__nav a:hover,
  .v1-header__nav a[aria-current="page"] { background: var(--unext-surface-soft); }
  .v1-footer__inner { grid-template-columns: 1.4fr 1fr 1fr; }
  .v1-footer__intro { grid-row: span 2; }
}

@media (max-width: 680px) {
  html { scroll-padding-top: 5rem; }
  .v1-header__top { width: 92%; }
  .v1-brand img { width: 128px; height: 44px; }
  .v1-search { width: 44px; padding: 0; font-size: 0; }
  .v1-search::before { content: "⌕"; font-size: 1.35rem; line-height: 1; }
  .v1-counsellor { display: none; }
  .v1-menu { font-size: .82rem; }
  .v1-header__nav[data-open="true"] { grid-template-columns: 1fr; }
  .v1-footer { padding-top: 2.25rem !important; }
  .v1-footer__inner { grid-template-columns: 1fr 1fr; gap: 1.5rem 1rem; }
  .v1-footer__intro { grid-column: 1 / -1; grid-row: auto; }
  .v1-footer__bottom { display: block; }
  .v1-footer__bottom p + p { margin-top: .5rem; }
  .v1-destination-map__grid { grid-template-columns: 1fr; }
  .home-page .path-grid { grid-template-columns: 1fr 1fr !important; }
}

@media (max-width: 390px) {
  .v1-footer__inner { grid-template-columns: 1fr; }
  .home-page .path-grid { grid-template-columns: 1fr !important; }
}
