/* Full-width artwork with the established inset for readable content. */
:root {
  --campus-frame-width: 100%;
  --campus-content-inset: 24px;
}
@media (min-width: 1240px) {
  :root { --campus-frame-width: max(1180px, 80%); }
}
.frame {
  width: 100%;
  max-width: none;
  margin-inline: auto;
}
.frame .wrap,
.frame .shell {
  width: calc(var(--campus-frame-width) - 2 * var(--campus-content-inset));
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
}
.nav .nav-inner {
  width: calc(var(--campus-frame-width) - 2 * var(--campus-content-inset));
  max-width: none;
  margin-inline: auto;
  padding-inline: 0;
}
.nav .nav-links { margin-left: auto; }
.nav .nav-links a[aria-current="page"] { color: #EAEDFF; }
/* The image scales uniformly within its frame; never stretch either axis. */
.frame .hero-bg { background-size: cover; }
.frame .solar-hero .sun-image {
  object-fit: cover;
  object-position: center top;
}
@media (min-width: 1475px) {
  :root { --campus-content-inset: 1.63vw; }
  .frame .hero { min-height: 53.55vw; }
  .frame .solar-hero .hero-shell { min-height: 51.53vw; }
  .frame .hero .giant,
  .frame .hero-copy h1 { font-size: 5.9864vw; }
  .frame .hero .sub { font-size: 1.9048vw; }
  .frame .hero-text { max-width: none; }
  .frame .hero .lead,
  .frame .hero-copy > p:not(.eyebrow) { font-size: 1.4vw; }
  .frame .hero-copy { max-width: 40.136vw; }
  .frame .hero-copy > p:not(.eyebrow) { max-width: 30.61vw; }
}
@media (max-width: 760px) {
  :root { --campus-content-inset: 18px; }
}

/* Major sections breathe through spacing and background transitions. */
.frame{border-inline-color:transparent}
.frame > section,.frame > .hero,.frame main > section,.frame .competition-notes,.frame .chapter-invitation,.frame .manual-section{border-block:0}
.frame > section::before,.frame > section::after,.frame footer.fomo-footer::before,.frame footer.fomo-footer::after{content:none}
.frame footer.fomo-footer,.frame .fomo-footer .foot-legal,.frame .fomo-footer .foot-bottom{border-top:0}
.nav{border-bottom-color:transparent}
.frame .chapter-index{border-block:0}
.frame .chapter-invitation .invitation-member{border-top:0;padding-top:0}
/* Align the two campus-team introductions to one spacing rhythm. */
.frame .apply{align-items:start;row-gap:40px}
.frame .apply .eyebrow,.frame .apply .team-kicker{font-size:12px;line-height:18px;letter-spacing:.12em;margin:0 0 18px}
.frame .apply-text h2{max-width:13ch;line-height:1.12}
.frame .team-entry h3{margin-top:0;line-height:1.12}
.frame .apply-lead,.frame .team-entry>p:not(.team-kicker){margin-top:20px;line-height:1.6}
@media(max-width:760px){.frame .apply{row-gap:36px}.frame .apply .eyebrow,.frame .apply .team-kicker{margin-bottom:14px}.frame .apply-lead,.frame .team-entry>p:not(.team-kicker){margin-top:16px}}

/* Hero artwork reaches the viewport edges; text keeps its existing alignment. */
.frame{border-inline-width:0}
