/* ---------- Nav state ---------- */

.nav-list a[aria-current="page"] {
  position: relative;
  color: var(--blue);
}
.nav-list a[aria-current="page"]::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -3px;
  width: 20px;
  height: 7px;
  margin-left: -10px;
  border: 2px solid var(--navy);
  border-radius: 4px;
  background: var(--aqua);
}
.menu-list a[aria-current="page"] { color: var(--blue); }

/* ---------- Page hero ---------- */

html.subpage { scroll-behavior: auto; }

.page-hero {
  --cw: 1200px;
  --ch: 195px;
  --sky-clear: 92px;
  --lane-w: clamp(84px, 8.6vw, 124px);
  position: relative;
  padding: calc(var(--sky-clear) + var(--lane-w) / 1.95 + 18px) 0 calc(var(--ch) + 136px);
  text-align: center;
}
.page-sky { --nav-clear: 92px; }
.page-sky .sky-a { --w: var(--lane-w); }
.page-sky .sky-c {
  --w: clamp(180px, 18vw, 280px);
  bottom: calc(var(--ch) * 0.95);
}
.clouds--page {
  bottom: -1px;
  z-index: 1;
}
.page-hero-inner {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.pg1 { --x: 3%; --top: calc(var(--nav-clear) + 34px); --w: clamp(200px, 19vw, 300px); --dur: 9s; --delay: 0.6s; }
.pg2 { --x: 76%; --top: calc(var(--nav-clear) + 18px); --w: clamp(200px, 19vw, 300px); --dur: 10.5s; --delay: 2.4s; }
.pg3 { --x: 6%; --top: 54%; --w: clamp(180px, 15vw, 240px); --dur: 9.5s; --delay: 4.2s; }
.pg4 { --x: 77%; --top: 58%; --w: clamp(180px, 15vw, 240px); --dur: 11s; --delay: 6s; }

.page-title {
  position: relative;
  margin: 0;
  line-height: 0;
}
.page-title img {
  width: clamp(300px, 36vw, 540px);
  height: auto;
}
.page-lead {
  max-width: 32.25em;
  margin-top: clamp(18px, 2vw, 26px);
  font-size: clamp(16.5px, 1.35vw, 19px);
  font-weight: 600;
  line-height: 1.55;
  color: var(--navy);
}

.page-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 14px;
  margin-top: clamp(20px, 2.2vw, 28px);
}
.page-actions .btn {
  min-height: 60px;
  padding: 0 28px 0 22px;
  font-size: 19px;
  font-weight: 700;
}

/* the 404 page: words where the other pages have a title picture */
.notfound-page .page-hero { padding-bottom: calc(var(--ch) + 48px); }
.page-code {
  font: 800 clamp(96px, 14vw, 168px)/0.95 "Bricolage Grotesque", var(--font-display);
  letter-spacing: 0.02em;
  color: var(--cloud);
  -webkit-text-stroke: 6px var(--navy);
  paint-order: stroke fill;
  text-shadow: 0 8px 0 var(--navy);
}
.page-title--text {
  margin-top: 10px;
  font: 800 clamp(30px, 3.4vw, 44px)/1.1 "Bricolage Grotesque", var(--font-display);
  color: var(--navy);
}
.page-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px 6px;
  margin-top: clamp(16px, 1.8vw, 22px);
}
.page-links a {
  display: inline-block;
  padding: 6px 10px;
  font: 600 17px/1.2 var(--font-display);
  color: var(--navy);
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 2px;
}
.page-links a:hover { color: var(--blue); }

/* ---------- Responsive ---------- */

@media (max-width: 1199px) {
  .pg3,
  .pg4 { display: none; }
  .pg1 { --x: 2%; --w: clamp(180px, 17vw, 240px); }
  .pg2 { --x: 79%; --w: clamp(180px, 17vw, 240px); }
}

@media (max-width: 979px) {
  .page-sky { --nav-clear: 84px; }
  .page-hero {
    --sky-clear: 84px;
    padding-bottom: calc(var(--ch) + 64px);
  }
  .pg1 { --x: -6%; --top: calc(var(--nav-clear) + 6px); --w: 30vw; }
  .pg2 { --x: 77%; --top: calc(var(--nav-clear) + 2px); --w: 30vw; }
}

@media (max-width: 759px) {
  .page-hero {
    --cw: 640px;
    --ch: 104px;
    padding-bottom: calc(var(--ch) + 44px);
  }
  .page-title img { width: min(88vw, 400px); }
  .page-actions .btn { flex: 1 1 auto; }
  .pg1,
  .pg2 { display: none; }
}
