/* Keep the header inset stronger than the full-width page reset. */
.cover-page .cover-header {
  width: 100%;
  max-width: none;
  margin: 0;
  align-self: stretch;
  padding-inline: clamp(24px, 4.45vw, 84px);
  position: relative;
}
.cover-header nav { gap: clamp(16px, 2vw, 34px); }
.cover-header nav a { white-space: nowrap; }
.cover-footer { grid-template-columns: 1fr; }
.cover-portrait {
  background-image: url('/arb-finance-hockey-cover.png');
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-color: transparent;
  filter: grayscale(1);
}
@media (min-width: 761px) and (max-width: 1200px) {
  .cover-page .cover-header { height: auto; min-height: 112px; flex-wrap: wrap; gap: 12px; padding-block: 18px; }
  .cover-header nav { width: 100%; justify-content: space-between; gap: 12px; font-size: 14px; }
}
@media (max-width: 760px) {
  .cover-page .cover-header { padding-inline: 24px; }
  .cover-portrait { background-size: contain; background-position: center; }
}

/* Only the homepage uses a viewport-sized composition. Keep natural overflow
   available for enlarged text and exceptionally small viewports. */
.cover-page {
  height: 100vh;
  height: 100svh;
  min-height: 0;
  display: flex;
  flex-direction: column;
}
.cover-page .cover-header {
  height: clamp(72px, 10svh, 96px);
  min-height: 0;
  flex-shrink: 0;
}
.cover-page .cover-main {
  container-type: size;
  flex: 1;
  min-height: 0;
  width: 100%;
  margin: 0;
}
.cover-page .arb-cover {
  height: 100%;
  min-height: 0;
  grid-template-columns: minmax(0, var(--portrait-start, 50%)) minmax(0, 1fr);
  grid-template-rows: minmax(min-content, 1fr);
}
.cover-copy {
  padding-inline: clamp(24px, 4.45vw, 84px);
  padding-block: clamp(20px, 4svh, 48px);
  min-width: 0;
}
.cover-kicker { font-size: .75rem; letter-spacing: .2em; }
.cover-mark { margin-top: clamp(18px, 4svh, 42px); }
.cover-mark h1 {
  font-size: clamp(5rem, min(13.7vw, 20svh), 13rem);
  line-height: .85;
  letter-spacing: -.055em;
}
.cover-mark p {
  margin-top: clamp(14px, 2.4svh, 24px);
  font-size: clamp(.75rem, 1vw, 1rem);
  letter-spacing: .35em;
}
.cover-intro { margin-top: clamp(18px, 3svh, 32px); }
.intro-line { margin-bottom: clamp(14px, 2.4svh, 24px); }
.cover-intro h2 {
  font-size: clamp(1.5rem, min(2.55vw, 4.5svh), 2.9rem);
  line-height: 1.17;
  letter-spacing: -.035em;
}
.cover-intro p { font-size: clamp(1rem, 2.3svh, 1.2rem); margin-top: 10px; }
.cover-actions { margin-top: clamp(16px, 2.8svh, 28px); }
.cover-button { min-width: 0; width: min(45%, 204px); height: clamp(44px, 6svh, 57px); font-size: 1rem; }
.cover-footer { padding-top: clamp(14px, 2.5svh, 28px); }
.cover-footer p { font-size: .75rem; line-height: 1.3; letter-spacing: .2em; }
.cover-portrait {
  min-height: 0;
  width: 100%;
  height: 100%;
  aspect-ratio: auto;
  align-self: stretch;
}
@media (min-width: 761px) and (max-width: 1200px) {
  .cover-page .cover-header { height: 112px; padding-block: 14px; }
}
@media (max-width: 760px) {
  .cover-page { height: auto; min-height: 100svh; }
  .cover-page .cover-main { container-type: normal; flex: none; }
  .cover-page .cover-header { height: 76px; }
  .cover-page .arb-cover {
    height: auto;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: auto auto;
  }
  .cover-copy { padding: 16px 24px; }
  .cover-kicker { font-size: .75rem; letter-spacing: .1em; }
  .cover-mark { margin-top: 16px; }
  .cover-mark h1 { font-size: clamp(4rem, min(24vw, 12svh), 7rem); }
  .cover-mark p { margin-top: 12px; font-size: .75rem; }
  .cover-intro { margin-top: 16px; }
  .intro-line { margin-bottom: 12px; }
  .cover-intro h2 { font-size: clamp(1.3rem, 3.1svh, 1.75rem); }
  .cover-intro h2 br { display: none; }
  .cover-intro p { margin-top: 8px; }
  .cover-actions { margin-top: 14px; }
  .cover-button { width: auto; height: 44px; }
  .cover-portrait {
    background-position: center;
    width: 100%;
    height: auto;
    aspect-ratio: 1182 / 1330;
    max-width: 100%;
    justify-self: center;
  }
  .portrait-quote { font-size: .75rem; bottom: 16px; }
}
