.academy-page {
  --academy-ink: #151515;
  --academy-muted: #62625e;
  --academy-line: #d9d9d5;
  --academy-soft-line: #ecece8;
  color: var(--academy-ink);
  background: #fff;
}

.academy-page *,
.academy-page *::before,
.academy-page *::after {
  box-sizing: border-box;
}

.academy-wrap {
  width: min(1160px, calc(100% - 64px));
  margin-inline: auto;
}

.academy-page h1,
.academy-page h2,
.academy-page h3,
.academy-page p,
.academy-page dl,
.academy-page dd,
.academy-page ul {
  margin: 0;
}

.academy-eyebrow {
  color: #666662;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .145em;
  line-height: 1.4;
  text-transform: uppercase;
}

.academy-skip {
  position: fixed;
  top: 12px;
  left: 12px;
  z-index: 2000;
  padding: 10px 14px;
  color: #fff !important;
  background: #111;
  font-size: 11px;
  transform: translateY(-180%);
}

.academy-skip:focus { transform: translateY(0); }

.academy-hero {
  padding: clamp(84px, 11vw, 158px) 0 clamp(76px, 9vw, 126px);
  background: #fff;
  border-bottom: 1px solid var(--academy-line);
}

.academy-hero__grid {
  display: grid;
  grid-template-columns: minmax(180px, .42fr) minmax(0, 1.58fr);
  gap: clamp(42px, 9vw, 134px);
  align-items: start;
}

.academy-hero__identity {
  display: grid;
  gap: 28px;
}

.academy-hero__identity dl {
  display: grid;
  border-top: 1px solid var(--academy-line);
}

.academy-hero__identity dl > div {
  padding: 10px 0;
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr);
  gap: 12px;
  border-bottom: 1px solid var(--academy-line);
}

.academy-hero__identity dt {
  color: #8b8b86;
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.academy-hero__identity dd {
  color: #50504c;
  font-size: 10px;
}

.academy-hero h1 {
  max-width: 820px;
  font-family: var(--pub-display);
  font-size: clamp(46px, 5.6vw, 74px);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: .98;
}

.academy-hero h1 + p {
  max-width: 720px;
  margin-top: 30px;
  color: #3f3f3b;
  font-family: var(--pub-display);
  font-size: clamp(18px, 1.75vw, 23px);
  line-height: 1.55;
}

.academy-principles {
  background: #fff;
  border-bottom: 1px solid var(--academy-line);
}

.academy-principles > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.academy-principles article {
  min-height: 176px;
  padding: 38px 34px 34px;
  border-left: 1px solid var(--academy-line);
}

.academy-principles article:last-child { border-right: 1px solid var(--academy-line); }

.academy-principles span {
  color: #777773;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.academy-principles strong {
  display: block;
  margin-top: 20px;
  font-family: var(--pub-display);
  font-size: 24px;
  font-weight: 400;
  line-height: 1.15;
}

.academy-principles p {
  margin-top: 9px;
  color: var(--academy-muted);
  font-size: 12px;
  line-height: 1.55;
}

.academy-layout {
  padding: clamp(86px, 10vw, 148px) 0;
  display: grid;
  grid-template-columns: minmax(180px, .39fr) minmax(0, 1.61fr);
  gap: clamp(48px, 9vw, 134px);
  align-items: start;
}

.academy-index {
  position: sticky;
  top: 28px;
}

.academy-index > p {
  padding-bottom: 14px;
  color: #777773;
  border-bottom: 1px solid var(--academy-line);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.academy-index nav { display: grid; }

.academy-index a {
  padding: 13px 0;
  display: grid;
  grid-template-columns: 29px 1fr;
  gap: 9px;
  color: #50504c;
  border-bottom: 1px solid var(--academy-line);
  font-size: 12px;
}

.academy-index a:hover { color: #000; }
.academy-index small { color: #9b9b95; }

.academy-article {
  min-width: 0;
  max-width: 830px;
}

.academy-article > section {
  padding-bottom: clamp(70px, 8vw, 112px);
  scroll-margin-top: 30px;
}

.academy-article > section + section {
  padding-top: clamp(70px, 8vw, 112px);
  border-top: 1px solid var(--academy-line);
}

.academy-article h2 {
  max-width: 700px;
  margin-top: 15px;
  font-family: var(--pub-display);
  font-size: clamp(29px, 3.25vw, 42px);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.08;
}

.academy-copy-columns {
  margin-top: 38px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 38px;
}

.academy-copy-columns p,
.academy-privacy {
  color: #444440;
  font-size: 14px;
  line-height: 1.75;
}

.academy-process {
  margin-top: 45px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--academy-line);
}

.academy-process article {
  min-height: 190px;
  padding: 26px 26px 29px 0;
  border-bottom: 1px solid var(--academy-line);
}

.academy-process article:nth-child(odd) {
  padding-right: 36px;
  border-right: 1px solid var(--academy-line);
}

.academy-process article:nth-child(even) { padding-left: 36px; }

.academy-process span {
  color: #91918b;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .12em;
}

.academy-process h3 {
  margin-top: 24px;
  font-family: var(--pub-display);
  font-size: 24px;
  font-weight: 400;
}

.academy-process p {
  margin-top: 10px;
  color: #555550;
  font-size: 13px;
  line-height: 1.65;
}

.academy-eligibility {
  margin-top: 44px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 54px;
}

.academy-eligibility h3 {
  padding-bottom: 17px;
  border-bottom: 1px solid var(--academy-ink);
  font-family: var(--pub-display);
  font-size: 22px;
  font-weight: 400;
}

.academy-eligibility ul {
  padding: 0;
  list-style: none;
}

.academy-eligibility li {
  padding: 17px 0;
  color: #444440;
  border-bottom: 1px solid var(--academy-line);
  font-size: 13px;
  line-height: 1.6;
}

.academy-rule {
  margin-top: 43px !important;
  padding: 26px 0 0;
  color: #262624;
  border-top: 1px solid var(--academy-ink);
  font-family: var(--pub-display);
  font-size: 19px;
  line-height: 1.55;
}

.academy-definitions {
  margin-top: 43px !important;
  border-top: 1px solid var(--academy-line);
}

.academy-definitions > div {
  padding: 24px 0;
  display: grid;
  grid-template-columns: minmax(170px, .55fr) minmax(0, 1.45fr);
  gap: 38px;
  border-bottom: 1px solid var(--academy-line);
}

.academy-definitions dt {
  font-family: var(--pub-display);
  font-size: 18px;
  line-height: 1.35;
}

.academy-definitions dd {
  color: #4c4c48;
  font-size: 13px;
  line-height: 1.68;
}

.academy-method {
  margin-top: 46px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--academy-line);
  border-bottom: 1px solid var(--academy-line);
}

.academy-method > div {
  min-height: 166px;
  padding: 28px 22px;
  display: flex;
  flex-direction: column;
  border-left: 1px solid var(--academy-line);
}

.academy-method > div:last-child { border-right: 1px solid var(--academy-line); }

.academy-method strong {
  font-family: var(--pub-display);
  font-size: 44px;
  font-weight: 400;
  letter-spacing: -.04em;
}

.academy-method span {
  max-width: 150px;
  margin-top: auto;
  color: #5b5b57;
  font-size: 11px;
  line-height: 1.5;
}

.academy-method-link {
  width: fit-content;
  margin-top: 32px;
  padding-bottom: 7px;
  display: inline-flex;
  gap: 36px;
  border-bottom: 1px solid var(--academy-ink);
  font-size: 11px;
}

.academy-editions {
  margin-top: 43px;
  display: grid;
  border-top: 1px solid var(--academy-line);
}

.academy-editions > a {
  position: relative;
  padding: 26px 56px 26px 0;
  border-bottom: 1px solid var(--academy-line);
}

.academy-editions > a > span {
  color: #777773;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.academy-editions h3 {
  margin-top: 8px;
  font-family: var(--pub-display);
  font-size: 27px;
  font-weight: 400;
}

.academy-editions p {
  margin-top: 7px;
  color: var(--academy-muted);
  font-size: 12px;
}

.academy-editions i {
  position: absolute;
  top: 50%;
  right: 6px;
  font-style: normal;
  transform: translateY(-50%);
}

.academy-editions > a:hover i { transform: translate(5px, -50%); }

.academy-empty { padding: 28px 0; color: var(--academy-muted); }

.academy-privacy {
  max-width: 690px;
  margin-top: 28px !important;
  font-size: 12px;
}

.academy-privacy a { border-bottom: 1px solid; }

.academy-contact {
  padding: clamp(72px, 9vw, 120px) 0;
  background: #fff;
  border-top: 1px solid var(--academy-line);
}

.academy-contact > div {
  display: grid;
  grid-template-columns: .55fr 1.1fr .75fr;
  gap: 42px;
  align-items: end;
}

.academy-contact h2 {
  font-family: var(--pub-display);
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 400;
  letter-spacing: -.03em;
  line-height: 1.08;
}

.academy-contact a {
  padding-bottom: 9px;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--academy-ink);
  font-size: 12px;
}

.academy-contact > div > p {
  color: var(--academy-muted);
  font-size: 13px;
  line-height: 1.65;
}

.academy-contact > div > div {
  display: grid;
  gap: 12px;
}

.academy-landing-hero {
  padding: clamp(56px, 6.5vw, 82px) 0;
  border-bottom: 1px solid var(--academy-line);
}

.academy-landing-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  gap: clamp(48px, 7vw, 92px);
  align-items: center;
}

.academy-landing-hero h1 {
  max-width: 700px;
  margin-top: 16px;
  font-family: var(--pub-display);
  font-size: clamp(38px, 4.2vw, 52px);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: 1;
}

.academy-landing-hero__intro > p:first-child {
  color: #41413d;
  font-family: var(--pub-display);
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.55;
}

.academy-landing-hero__intro > a {
  width: fit-content;
  margin-top: 28px;
  padding-bottom: 7px;
  display: inline-flex;
  gap: 40px;
  border-bottom: 1px solid var(--academy-ink);
  font-size: 13px;
}

.academy-origin {
  margin-top: 20px;
  color: #74746f;
  font-family: var(--pub-body);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .055em;
  line-height: 1.55;
}

.academy-origin strong {
  color: #41413d;
  font-weight: 650;
}

.academy-origin a {
  padding-bottom: 2px;
  border-bottom: 1px solid #b9b9b3;
}

.academy-open-ballots {
  padding: clamp(52px, 6vw, 76px) 0;
  border-bottom: 1px solid var(--academy-line);
}

.academy-open-ballots > div > header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .68fr);
  gap: 70px;
  align-items: end;
}

.academy-open-ballots h2,
.academy-section-heading h2,
.academy-voting-choice h2,
.academy-common-method h2,
.academy-category-guide h2,
.academy-shared-rules h2 {
  max-width: 690px;
  margin-top: 13px;
  font-family: var(--pub-display);
  font-size: clamp(27px, 2.75vw, 37px);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.08;
}

.academy-open-ballots > div > header > p {
  color: #50504c;
  font-size: 14px;
  line-height: 1.7;
}

.academy-ballot-cards {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--academy-ink);
  border-bottom: 1px solid var(--academy-line);
}

.academy-ballot-cards > article {
  min-height: 0;
  padding: 22px 24px 24px;
  display: flex;
  flex-direction: column;
  border-left: 1px solid var(--academy-line);
}

.academy-edition-banner {
  width: 100%;
  display: block;
  overflow: hidden;
  background: #111;
}

.academy-edition-banner img {
  width: 100%;
  height: auto;
  display: block;
}

.academy-ballot-cards__banner {
  width: calc(100% + 48px);
  margin: -22px -24px 0;
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #111;
}

.academy-ballot-cards__banner .academy-edition-banner,
.academy-ballot-cards__banner img {
  height: 100%;
}

.academy-ballot-cards__banner img {
  object-fit: cover;
}

.academy-ballot-cards > article:last-child {
  border-right: 1px solid var(--academy-line);
}

.academy-ballot-cards > article > span {
  margin-top: 19px;
  color: #9a9a94;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
}

.academy-ballot-cards > article > p {
  margin-top: 26px;
  color: #73736e;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.academy-ballot-cards h3 {
  margin-top: 10px;
  font-family: var(--pub-display);
  font-size: clamp(23px, 2vw, 27px);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1.08;
}

.academy-ballot-cards > article > div {
  margin-top: auto;
}

.academy-ballot-cards > article > div > p {
  color: #555550;
  font-size: 14px;
  line-height: 1.55;
}

.academy-ballot-cards > article > div > a:not(.academy-ballot-cards__method) {
  margin-top: 18px;
  padding-bottom: 8px;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--academy-ink);
  font-size: 13px;
}

.academy-ballot-cards__method {
  width: fit-content;
  margin-top: 13px;
  display: block;
  color: #73736e;
  font-size: 12px;
}

.academy-process-map {
  padding: clamp(56px, 6.5vw, 84px) 0;
  border-bottom: 1px solid var(--academy-line);
}

.academy-process-map__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .7fr);
  gap: clamp(50px, 9vw, 132px);
  align-items: end;
}

.academy-process-map h2 {
  max-width: 690px;
  margin-top: 13px;
  font-family: var(--pub-display);
  font-size: clamp(27px, 2.75vw, 37px);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.08;
}

.academy-process-map__header > p {
  max-width: 540px;
  color: #50504c;
  font-size: 14px;
  line-height: 1.7;
}

.academy-scope-line {
  margin-top: 30px;
  padding: 15px 0;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  border-top: 1px solid var(--academy-ink);
  border-bottom: 1px solid var(--academy-line);
}

.academy-scope-line span {
  padding: 0 17px;
  color: #666661;
  border-left: 1px solid var(--academy-line);
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .105em;
  text-align: center;
  text-transform: uppercase;
}

.academy-scope-line span:last-child {
  border-right: 1px solid var(--academy-line);
}

.academy-process-axis {
  position: relative;
  margin: 36px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  list-style: none;
}

.academy-process-axis::before {
  position: absolute;
  top: 37px;
  right: 0;
  left: 0;
  height: 1px;
  background: #cfcfc9;
  content: "";
}

.academy-process-axis li {
  position: relative;
  min-height: 204px;
  padding: 0 25px 28px 0;
}

.academy-process-axis li::before {
  position: absolute;
  top: 32px;
  left: 0;
  z-index: 1;
  width: 11px;
  height: 11px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--academy-ink);
  box-shadow: 0 0 0 1px var(--academy-ink);
  content: "";
}

.academy-process-axis li > span {
  display: block;
  height: 76px;
  color: #85857f;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
}

.academy-process-axis h3 {
  max-width: 140px;
  font-family: var(--pub-display);
  font-size: 18px;
  font-weight: 400;
  letter-spacing: -.015em;
  line-height: 1.16;
}

.academy-process-axis p {
  max-width: 150px;
  margin-top: 10px;
  color: #5a5a55;
  font-size: 12px;
  line-height: 1.58;
}

.academy-authority-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--academy-ink);
  border-bottom: 1px solid var(--academy-line);
}

.academy-authority-grid > div {
  min-height: 126px;
  padding: 22px 24px;
  border-left: 1px solid var(--academy-line);
}

.academy-authority-grid > div:last-child {
  border-right: 1px solid var(--academy-line);
}

.academy-authority-grid h3 {
  font-family: var(--pub-display);
  font-size: 17px;
  font-weight: 400;
  line-height: 1.2;
}

.academy-authority-grid p {
  margin-top: 12px;
  color: #5b5b56;
  font-size: 12px;
  line-height: 1.58;
}

.academy-reader-sections {
  max-width: 1000px;
  padding: clamp(56px, 6.5vw, 84px) 0;
}

.academy-reader-sections > section {
  padding-bottom: clamp(48px, 5.5vw, 68px);
}

.academy-reader-sections > section + section {
  padding-top: clamp(48px, 5.5vw, 68px);
  border-top: 1px solid var(--academy-line);
}

.academy-reader-columns {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 44px;
}

.academy-reader-columns h3 {
  padding-bottom: 15px;
  border-bottom: 1px solid var(--academy-ink);
  font-family: var(--pub-display);
  font-size: 20px;
  font-weight: 400;
}

.academy-reader-columns ul {
  padding: 0;
  list-style: none;
}

.academy-reader-columns li {
  padding: 16px 0;
  color: #464642;
  border-bottom: 1px solid var(--academy-line);
  font-size: 13.5px;
  line-height: 1.65;
}

.academy-simple-steps {
  margin: 28px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--academy-line);
  list-style: none;
}

.academy-simple-steps li {
  min-height: 132px;
  padding: 21px 26px 22px 0;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 14px;
  border-bottom: 1px solid var(--academy-line);
}

.academy-simple-steps li:nth-child(odd) {
  padding-right: 34px;
  border-right: 1px solid var(--academy-line);
}

.academy-simple-steps li:nth-child(even) {
  padding-left: 34px;
}

.academy-simple-steps li > span {
  padding-top: 4px;
  color: #979791;
  font-size: 12px;
  font-weight: 700;
}

.academy-simple-steps h3 {
  font-family: var(--pub-display);
  font-size: 19px;
  font-weight: 400;
}

.academy-simple-steps p,
.academy-reader-copy p {
  margin-top: 8px;
  color: #4f4f4b;
  font-size: 13.5px;
  line-height: 1.68;
}

.academy-reader-copy {
  max-width: 760px;
  margin-top: 28px;
}

.academy-reader-copy p + p {
  margin-top: 17px;
}

.academy-reader-copy a {
  border-bottom: 1px solid;
}

.academy-voting-hero {
  padding: clamp(56px, 6.5vw, 82px) 0;
  border-bottom: 1px solid var(--academy-line);
}

.academy-voting-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(380px, 1.1fr);
  gap: clamp(54px, 10vw, 148px);
  align-items: end;
}

.academy-voting-hero h1 {
  max-width: 620px;
  margin-top: 16px;
  font-family: var(--pub-display);
  font-size: clamp(38px, 4.2vw, 52px);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: 1;
}

.academy-voting-hero__intro > p:first-child {
  max-width: 600px;
  color: #3f3f3b;
  font-family: var(--pub-display);
  font-size: clamp(18px, 1.8vw, 22px);
  line-height: 1.55;
}

.academy-voting-hero__intro > a {
  width: fit-content;
  margin-top: 28px;
  padding-bottom: 7px;
  display: inline-flex;
  gap: 38px;
  border-bottom: 1px solid var(--academy-ink);
  font-size: 13px;
}

.academy-method-scope {
  max-width: 650px;
  margin-top: 20px;
  color: #555550;
  font-size: 14px;
  line-height: 1.7;
}

.academy-voting-choice {
  padding: clamp(52px, 6vw, 76px) 0;
  border-bottom: 1px solid var(--academy-line);
}

.academy-voting-choice > div > div {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--academy-ink);
  border-bottom: 1px solid var(--academy-line);
}

.academy-voting-choice > div > div > a {
  position: relative;
  min-height: 238px;
  padding: 25px 48px 28px 26px;
  display: flex;
  flex-direction: column;
  border-left: 1px solid var(--academy-line);
}

.academy-voting-choice > div > div > a:last-child {
  border-right: 1px solid var(--academy-line);
}

.academy-voting-choice a > span,
.academy-common-method article > span {
  color: #969690;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
}

.academy-voting-choice a > p {
  margin-top: 25px;
  color: #70706b;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.academy-voting-choice h3 {
  margin-top: 9px;
  font-family: var(--pub-display);
  font-size: 24px;
  font-weight: 400;
}

.academy-voting-choice small {
  margin-top: auto;
  color: #555550;
  font-size: 13.5px;
  line-height: 1.58;
}

.academy-voting-choice i {
  position: absolute;
  right: 22px;
  bottom: 28px;
  font-style: normal;
}

.academy-common-method {
  padding: clamp(52px, 6vw, 76px) 0;
}

.academy-common-method__grid {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-top: 1px solid var(--academy-line);
}

.academy-common-method article {
  min-height: 132px;
  padding: 24px 30px 27px 0;
  border-bottom: 1px solid var(--academy-line);
}

.academy-common-method article:nth-child(odd) {
  border-right: 1px solid var(--academy-line);
}

.academy-common-method article:nth-child(even) {
  padding-left: 30px;
}

.academy-common-method h3 {
  margin-top: 20px;
  font-family: var(--pub-display);
  font-size: 19px;
  font-weight: 400;
}

.academy-common-method article p {
  margin-top: 8px;
  color: #555550;
  font-size: 13.5px;
  line-height: 1.62;
}

.academy-category-voting-hero {
  padding: clamp(52px, 6vw, 76px) 0;
  border-bottom: 1px solid var(--academy-line);
}

.academy-category-voting-hero > div {
  max-width: 920px;
}

.academy-category-voting-hero h1 {
  max-width: 720px;
  margin-top: 15px;
  font-family: var(--pub-display);
  font-size: clamp(36px, 4vw, 50px);
  font-weight: 400;
  letter-spacing: -.045em;
  line-height: 1;
}

.academy-category-voting-hero h1 + p {
  max-width: 720px;
  margin-top: 26px;
  color: #444440;
  font-family: var(--pub-display);
  font-size: clamp(17px, 1.7vw, 21px);
  line-height: 1.55;
}

.academy-category-voting-body {
  max-width: 1000px;
  padding: clamp(54px, 6.5vw, 82px) 0;
}

.academy-category-guide > header {
  max-width: 760px;
}

.academy-category-guide > header > p:last-child {
  max-width: 720px;
  margin-top: 25px;
  color: #484844;
  font-size: 14px;
  line-height: 1.72;
}

.academy-category-guide__facts {
  margin-top: 28px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--academy-ink);
  border-bottom: 1px solid var(--academy-line);
}

.academy-category-guide__facts > div {
  min-height: 104px;
  padding: 20px;
  display: flex;
  flex-direction: column;
  border-left: 1px solid var(--academy-line);
}

.academy-category-guide__facts > div:last-child {
  border-right: 1px solid var(--academy-line);
}

.academy-category-guide__facts strong {
  font-family: var(--pub-display);
  font-size: 26px;
  font-weight: 400;
}

.academy-category-guide__facts span {
  margin-top: auto;
  color: #64645f;
  font-size: 12px;
  line-height: 1.5;
}

.academy-category-guide__body {
  margin-top: 32px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 44px;
}

.academy-category-guide__body h3 {
  padding-bottom: 15px;
  border-bottom: 1px solid var(--academy-ink);
  font-family: var(--pub-display);
  font-size: 20px;
  font-weight: 400;
}

.academy-category-guide__body ul {
  padding: 0;
  list-style: none;
}

.academy-category-guide__body li {
  padding: 15px 0;
  color: #484844;
  border-bottom: 1px solid var(--academy-line);
  font-size: 13.5px;
  line-height: 1.65;
}

.academy-category-guide__body p {
  margin-top: 17px;
  color: #484844;
  font-size: 13.5px;
  line-height: 1.7;
}

.academy-category-guide__body a {
  width: fit-content;
  margin-top: 22px;
  padding-bottom: 7px;
  display: inline-flex;
  align-items: center;
  gap: 32px;
  border-bottom: 1px solid var(--academy-ink);
  font-size: 12.5px;
}

.academy-category-guide--compact {
  display: grid;
  grid-template-columns: minmax(250px, .72fr) minmax(0, 1.28fr);
  gap: clamp(42px, 6vw, 72px);
  padding-bottom: clamp(46px, 5vw, 64px);
  border-bottom: 1px solid var(--academy-line);
}

.academy-category-guide--compact > header {
  align-self: start;
}

.academy-category-guide--compact .academy-category-guide__body {
  margin-top: 0;
  gap: 32px;
}

.academy-category-guide--compact + .academy-ballot-form {
  margin-top: clamp(46px, 5vw, 64px);
}

.academy-shared-rules {
  margin-top: clamp(52px, 6vw, 76px);
  padding-top: clamp(52px, 6vw, 76px);
  border-top: 1px solid var(--academy-line);
}

.academy-shared-rules ol {
  margin: 28px 0 0;
  padding: 0;
  border-top: 1px solid var(--academy-line);
  list-style: none;
}

.academy-shared-rules li {
  padding: 18px 0;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  border-bottom: 1px solid var(--academy-line);
}

.academy-shared-rules li > span {
  color: #969690;
  font-size: 12px;
  font-weight: 700;
}

.academy-shared-rules li > p {
  color: #444440;
  font-size: 13.5px;
  line-height: 1.65;
}

.academy-voting-nav {
  border-bottom: 1px solid var(--academy-line);
}

.academy-voting-nav > div {
  display: flex;
  gap: clamp(22px, 4vw, 54px);
  overflow-x: auto;
}

.academy-voting-nav a {
  padding: 17px 0 15px;
  color: #5c5c57;
  border-bottom: 1px solid transparent;
  font-size: 12px;
  letter-spacing: .04em;
  white-space: nowrap;
}

.academy-voting-nav a:hover {
  color: #111;
  border-color: #111;
}

.academy-voting-facts {
  border-bottom: 1px solid var(--academy-line);
}

.academy-voting-facts > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.academy-voting-facts article {
  min-height: 126px;
  padding: 27px 24px;
  display: flex;
  flex-direction: column;
  border-left: 1px solid var(--academy-line);
}

.academy-voting-facts article:last-child {
  border-right: 1px solid var(--academy-line);
}

.academy-voting-facts strong {
  font-family: var(--pub-display);
  font-size: 31px;
  font-weight: 400;
  letter-spacing: -.025em;
}

.academy-voting-facts span {
  margin-top: auto;
  color: var(--academy-muted);
  font-size: 12px;
  line-height: 1.4;
}

.academy-voting-layout {
  padding: clamp(82px, 9vw, 130px) 0;
  display: grid;
  grid-template-columns: minmax(180px, .39fr) minmax(0, 1.61fr);
  gap: clamp(48px, 9vw, 134px);
  align-items: start;
}

.academy-voting-content {
  min-width: 0;
  max-width: 830px;
}

.academy-voting-content > section {
  padding-bottom: clamp(68px, 7vw, 98px);
  scroll-margin-top: 28px;
}

.academy-voting-content > section + section {
  padding-top: clamp(68px, 7vw, 98px);
  border-top: 1px solid var(--academy-line);
}

.academy-voting-content h2 {
  max-width: 700px;
  margin-top: 15px;
  font-family: var(--pub-display);
  font-size: clamp(29px, 3.25vw, 42px);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.08;
}

.academy-voting-lead {
  max-width: 680px;
  margin-top: 30px !important;
  color: #444440;
  font-size: 14px;
  line-height: 1.75;
}

.academy-voting-stages {
  margin-top: 38px;
  border-top: 1px solid var(--academy-line);
}

.academy-voting-stages > article {
  padding: 20px 0;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 14px;
  border-bottom: 1px solid var(--academy-line);
}

.academy-voting-stages > article > span,
.academy-voting-rules li > span {
  padding-top: 3px;
  color: #92928d;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .12em;
}

.academy-voting-stages h3 {
  font-family: var(--pub-display);
  font-size: 18px;
  font-weight: 400;
}

.academy-voting-stages p {
  margin-top: 6px;
  color: #555550;
  font-size: 12px;
  line-height: 1.62;
}

.academy-voting-columns {
  margin-top: 38px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 52px;
}

.academy-voting-columns h3 {
  padding-bottom: 15px;
  border-bottom: 1px solid var(--academy-ink);
  font-family: var(--pub-display);
  font-size: 20px;
  font-weight: 400;
}

.academy-voting-columns p {
  margin-top: 20px;
  color: #464642;
  font-size: 13px;
  line-height: 1.72;
}

.academy-voting-rules {
  margin: 38px 0 0;
  padding: 0;
  border-top: 1px solid var(--academy-line);
  list-style: none;
}

.academy-voting-rules li {
  padding: 18px 0;
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr);
  gap: 14px;
  border-bottom: 1px solid var(--academy-line);
}

.academy-voting-rules p {
  color: #3f3f3b;
  font-size: 13px;
  line-height: 1.65;
}

.academy-voting-note {
  margin-top: 30px !important;
  padding: 23px 0 0;
  color: #50504c;
  border-top: 1px solid var(--academy-ink);
  font-size: 12px;
  line-height: 1.7;
}

.academy-voting-count {
  margin-top: 40px;
  display: grid;
  grid-template-columns: minmax(240px, .72fr) minmax(0, 1.28fr);
  gap: 58px;
}

.academy-voting-count table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}

.academy-voting-count caption {
  padding-bottom: 14px;
  border-bottom: 1px solid var(--academy-ink);
  font-family: var(--pub-display);
  font-size: 18px;
  text-align: left;
}

.academy-voting-count th,
.academy-voting-count td {
  padding: 10px 0;
  border-bottom: 1px solid var(--academy-line);
  font-weight: 400;
  text-align: left;
}

.academy-voting-count th {
  color: #7d7d78;
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.academy-voting-count th:last-child,
.academy-voting-count td:last-child {
  text-align: right;
}

.academy-voting-count__copy h3 {
  font-family: var(--pub-display);
  font-size: 20px;
  font-weight: 400;
}

.academy-voting-count__copy h3:not(:first-child) {
  margin-top: 31px;
  padding-top: 26px;
  border-top: 1px solid var(--academy-line);
}

.academy-voting-count__copy p {
  margin-top: 13px;
  color: #464642;
  font-size: 13px;
  line-height: 1.72;
}

.academy-voting-controls {
  margin-top: 40px !important;
  border-top: 1px solid var(--academy-line);
}

.academy-voting-controls > div {
  padding: 22px 0;
  display: grid;
  grid-template-columns: minmax(150px, .5fr) minmax(0, 1.5fr);
  gap: 38px;
  border-bottom: 1px solid var(--academy-line);
}

.academy-voting-controls dt {
  font-family: var(--pub-display);
  font-size: 17px;
}

.academy-voting-controls dd {
  color: #4a4a46;
  font-size: 13px;
  line-height: 1.65;
}

.academy-voting-footer {
  padding: clamp(48px, 5.5vw, 70px) 0;
  border-top: 1px solid var(--academy-line);
}

.academy-voting-footer > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 64px;
  align-items: end;
}

.academy-voting-footer h2 {
  max-width: 580px;
  margin-top: 12px;
  font-family: var(--pub-display);
  font-size: clamp(27px, 3vw, 38px);
  font-weight: 400;
  letter-spacing: -.03em;
  line-height: 1.1;
}

.academy-voting-footer h2 + p {
  max-width: 600px;
  margin-top: 20px;
  color: #5b5b57;
  font-size: 13.5px;
  line-height: 1.65;
}

.academy-voting-footer a {
  min-width: 230px;
  padding-bottom: 9px;
  display: flex;
  justify-content: space-between;
  border-bottom: 1px solid var(--academy-ink);
  font-size: 13px;
}

.academy-ballot-hero {
  padding: clamp(44px, 5.5vw, 68px) 0 0;
  color: #fff;
  background: #111;
  border-bottom: 0;
}

.academy-ballot-hero--hotel {
  background: linear-gradient(125deg, #111 0%, #111 58%, #1c211f 100%);
}

.academy-ballot-hero--restaurant {
  background: linear-gradient(125deg, #111 0%, #111 58%, #211d18 100%);
}

.academy-ballot-hero--bar {
  background: linear-gradient(125deg, #111 0%, #111 58%, #1c1921 100%);
}

.academy-visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
}

.academy-ballot-hero--media {
  padding: 0;
  background: #111;
}

.academy-ballot-hero__media-frame {
  width: min(1120px, 100%);
  margin-inline: auto;
}

.academy-ballot-hero__image {
  aspect-ratio: 16 / 9;
}

.academy-ballot-hero__image img {
  height: 100%;
  object-fit: cover;
}

.academy-ballot-hero__media-summary {
  padding: 23px 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr);
  gap: 50px;
  align-items: center;
  border-top: 1px solid #3b3b39;
  border-bottom: 1px solid #3b3b39;
}

.academy-ballot-hero__media-summary .academy-ballot-hero__meta {
  padding-bottom: 0;
  border-bottom: 0;
}

.academy-ballot-hero__media-summary > p {
  color: #dededa;
  font-size: 14px;
  line-height: 1.58;
}

.academy-ballot-hero__media-origin .academy-origin {
  margin: 17px 0;
}

.academy-ballot-hero__meta {
  padding-bottom: 17px;
  display: flex;
  gap: 10px 28px;
  border-bottom: 1px solid #3b3b39;
  color: #bdbdb8;
  font-size: 12px;
  font-weight: 650;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.academy-ballot-hero__grid {
  padding: clamp(36px, 4.5vw, 54px) 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(44px, 8vw, 112px);
  align-items: end;
}

.academy-ballot-hero .academy-eyebrow {
  color: #bdbdb8;
}

.academy-ballot-hero h1 {
  margin-top: 12px;
  font-family: var(--pub-display);
  font-size: clamp(38px, 4.3vw, 54px);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: 1.02;
}

.academy-ballot-hero__grid > p {
  max-width: 520px;
  color: #e3e3df;
  font-family: var(--pub-display);
  font-size: 19px;
  line-height: 1.55;
}

.academy-ballot-hero .academy-origin {
  color: #a7a7a2;
}

.academy-ballot-hero .academy-origin strong {
  color: #fff;
}

.academy-ballot-hero .academy-origin a {
  border-color: #666662;
}

.academy-ballot-hero__facts {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid #3b3b39;
}

.academy-ballot-hero__facts > div {
  min-height: 88px;
  padding: 18px 20px 20px;
  display: flex;
  flex-direction: column;
  border-left: 1px solid #3b3b39;
}

.academy-ballot-hero__facts > div:last-child {
  border-right: 1px solid #3b3b39;
}

.academy-ballot-hero__facts dd {
  font-family: var(--pub-display);
  font-size: 24px;
  line-height: 1;
}

.academy-ballot-hero__facts dt {
  margin-top: auto;
  color: #bdbdb8;
  font-size: 12px;
  line-height: 1.35;
}

.academy-ballot-shell {
  padding: clamp(50px, 6vw, 78px) 0;
}

.academy-ballot-form {
  max-width: 1040px;
  margin-inline: auto;
}

.academy-form-intro {
  padding-bottom: 28px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .75fr);
  gap: 54px;
  align-items: end;
  border-bottom: 1px solid var(--academy-ink);
}

.academy-form-intro h2 {
  margin-top: 12px;
  font-family: var(--pub-display);
  font-size: clamp(28px, 3vw, 38px);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.06;
}

.academy-form-intro dl {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.academy-form-intro dl > div {
  padding-left: 17px;
  border-left: 1px solid var(--academy-line);
}

.academy-form-intro dt {
  color: #777773;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .11em;
  text-transform: uppercase;
}

.academy-form-intro dd {
  margin-top: 6px;
  font-family: var(--pub-display);
  font-size: 17px;
}

.academy-form-notice {
  max-width: 780px;
  padding: 28px 0;
  color: #454541;
  font-size: 14px;
  line-height: 1.7;
}

.academy-ballot-form fieldset {
  margin: 0;
  padding: clamp(42px, 5vw, 62px) 0;
  border: 0;
  border-top: 1px solid var(--academy-line);
}

.academy-ballot-form legend {
  width: 100%;
  padding: 0;
  display: flex;
  gap: 24px;
  align-items: baseline;
  font-family: var(--pub-display);
  font-size: clamp(24px, 2.35vw, 29px);
}

.academy-ballot-form legend span {
  color: #92928d;
  font-family: var(--pub-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .13em;
}

.academy-field-grid {
  margin-top: 28px;
  display: grid;
  gap: 20px 26px;
}

.academy-field-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.academy-ballot-form label > span {
  display: block;
  color: #444440;
  font-size: 13px;
  line-height: 1.45;
}

.academy-ballot-form label small {
  color: #858580;
  font-size: 12px;
  font-weight: 400;
}

.academy-ballot-form input:not([type="checkbox"]),
.academy-ballot-form select,
.academy-ballot-form textarea {
  width: 100%;
  min-height: 47px;
  margin-top: 8px;
  padding: 11px 0;
  color: var(--academy-ink);
  background: #fff;
  border: 0;
  border-bottom: 1px solid #a6a6a0;
  border-radius: 0;
  outline: 0;
  font: inherit;
  font-size: 14px;
}

.academy-ballot-form textarea {
  min-height: 124px;
  padding: 12px;
  border: 1px solid #a6a6a0;
  resize: vertical;
}

.academy-ballot-form input:focus,
.academy-ballot-form select:focus,
.academy-ballot-form textarea:focus {
  border-color: #111;
  box-shadow: 0 1px 0 #111;
}

.academy-field-wide {
  margin-top: 30px;
  display: block;
}

.academy-fieldset-copy {
  max-width: 760px;
  margin-top: 25px !important;
  color: #51514d;
  font-size: 14px;
  line-height: 1.7;
}

.academy-nominations {
  margin-top: 28px;
  display: grid;
  border-top: 1px solid var(--academy-line);
}

.academy-nomination {
  padding: 20px 0;
  display: grid;
  grid-template-columns: 42px minmax(190px, 1.3fr) repeat(2, minmax(120px, .7fr)) minmax(150px, .9fr);
  gap: 18px;
  align-items: end;
  border-bottom: 1px solid var(--academy-line);
}

.academy-nomination__rank {
  align-self: center;
  color: #858580;
  font-family: var(--pub-display);
  font-size: 19px;
}

.academy-nomination--official {
  grid-template-columns: 42px repeat(2, minmax(0, 1fr));
  align-items: start;
}

.academy-nomination--official .academy-field-wide {
  grid-column: 2 / -1;
}

.academy-official-confirm {
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
}

.academy-nomination-controls {
  padding-top: 20px;
  display: flex;
  gap: 24px;
  align-items: center;
  justify-content: space-between;
}

.academy-nomination-controls > p {
  color: #767671;
  font-size: 12px;
}

.academy-nomination-controls > div {
  display: flex;
  gap: 8px;
}

.academy-nomination-controls button {
  min-height: 38px;
  padding: 9px 12px;
  color: var(--academy-ink);
  background: #fff;
  border: 1px solid var(--academy-line);
  font-size: 12px;
  cursor: pointer;
}

.academy-nomination-controls button:last-child {
  border-color: var(--academy-ink);
}

.academy-declarations {
  margin-top: 36px;
  border-top: 1px solid var(--academy-line);
}

.academy-declarations label,
.academy-interest {
  padding: 18px 0;
  display: grid;
  grid-template-columns: 18px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  border-bottom: 1px solid var(--academy-line);
}

.academy-declarations input,
.academy-interest input {
  width: 16px;
  height: 16px;
  margin: 2px 0 0;
  accent-color: #111;
}

.academy-declarations label > span,
.academy-interest > span {
  color: #3f3f3b;
  font-size: 13.5px;
  line-height: 1.6;
}

.academy-declarations a,
.academy-submit-row a,
.academy-voting-footer p a {
  border-bottom: 1px solid;
}

.academy-interest {
  margin-top: 36px;
  padding: 24px;
  border: 1px solid var(--academy-ink);
}

.academy-interest strong {
  display: block;
  margin-bottom: 5px;
  font-family: var(--pub-display);
  font-size: 19px;
  font-weight: 400;
}

.academy-honeypot {
  position: absolute;
  left: -10000px;
  width: 1px;
  height: 1px;
  overflow: hidden;
}

.academy-form-error {
  margin: 0 0 24px !important;
  padding: 14px 16px;
  color: #7d2925;
  border: 1px solid #c9a39f;
  font-size: 12px;
}

.academy-turnstile {
  margin-bottom: 34px;
  padding: 24px 0;
  display: grid;
  gap: 14px;
  border-top: 1px solid var(--academy-line);
}

.academy-turnstile > div {
  width: min(100%, 420px);
  min-height: 65px;
}

.academy-turnstile > p:last-child {
  max-width: 520px;
  color: #686863;
  font-size: 12.5px;
  line-height: 1.55;
}

.academy-submit-row {
  padding-top: 30px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 50px;
  align-items: end;
  border-top: 1px solid var(--academy-ink);
}

.academy-submit-row p {
  max-width: 600px;
  color: #656560;
  font-size: 13px;
  line-height: 1.65;
}

.academy-submit-row button {
  min-width: 265px;
  min-height: 54px;
  padding: 15px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  color: #fff;
  background: #111;
  border: 1px solid #111;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .04em;
  cursor: pointer;
}

.academy-submit-row button:disabled { cursor: wait; opacity: .55; }

.academy-confirmation {
  max-width: 760px;
  min-height: 420px;
  margin-inline: auto;
  padding: clamp(54px, 8vw, 92px) 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border-top: 1px solid var(--academy-ink);
  border-bottom: 1px solid var(--academy-line);
}

.academy-confirmation h2 {
  max-width: 680px;
  margin-top: 15px;
  font-family: var(--pub-display);
  font-size: clamp(31px, 3.8vw, 46px);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.06;
}

.academy-confirmation > p:not(.academy-eyebrow) {
  max-width: 640px;
  margin-top: 24px;
  color: #494945;
  font-size: 14px;
  line-height: 1.75;
}

.academy-confirmation a {
  width: fit-content;
  margin-top: 32px;
  padding-bottom: 7px;
  display: inline-flex;
  align-items: center;
  gap: 24px;
  border-bottom: 1px solid;
  font-size: 13px;
}

@media (max-width: 980px) {
  .academy-nomination {
    grid-template-columns: 36px repeat(2, minmax(0, 1fr));
  }

  .academy-nomination label:first-of-type {
    grid-column: 2 / -1;
  }

  .academy-nomination label:last-child {
    grid-column: 2 / -1;
  }
}

@media (max-width: 760px) {
  .academy-wrap { width: min(100% - 36px, 1160px); }

  .academy-hero__grid,
  .academy-layout,
  .academy-landing-hero__grid,
  .academy-open-ballots > div > header,
  .academy-process-map__header,
  .academy-voting-hero__grid,
  .academy-voting-layout,
  .academy-voting-footer > div,
  .academy-ballot-hero__grid,
  .academy-category-guide--compact,
  .academy-form-intro,
  .academy-contact > div {
    grid-template-columns: 1fr;
  }

  .academy-hero { padding-top: 66px; }
  .academy-hero h1 { font-size: clamp(40px, 12vw, 56px); }
  .academy-hero h1 + p { margin-top: 26px; }

  .academy-principles > div {
    width: 100%;
    grid-template-columns: 1fr;
  }

  .academy-principles article {
    min-height: 0;
    padding: 27px 18px;
    border-right: 0;
    border-bottom: 1px solid var(--academy-line);
  }

  .academy-principles article:last-child { border-right: 0; border-bottom: 0; }
  .academy-index { position: static; }
  .academy-layout { gap: 70px; }

  .academy-copy-columns,
  .academy-process,
  .academy-eligibility,
  .academy-method,
  .academy-ballot-cards,
  .academy-scope-line,
  .academy-process-axis,
  .academy-authority-grid,
  .academy-reader-columns,
  .academy-simple-steps,
  .academy-voting-choice > div > div,
  .academy-common-method__grid,
  .academy-category-guide__facts,
  .academy-category-guide__body,
  .academy-voting-facts > div,
  .academy-voting-columns,
  .academy-voting-count,
  .academy-field-grid--two {
    grid-template-columns: 1fr;
  }

  .academy-process article:nth-child(odd) {
    padding-right: 0;
    border-right: 0;
  }

  .academy-process article:nth-child(even) { padding-left: 0; }
  .academy-process article { min-height: 0; }
  .academy-method > div { min-height: 130px; border-right: 1px solid var(--academy-line); }

  .academy-definitions > div { grid-template-columns: 1fr; gap: 10px; }
  .academy-contact { text-align: left; }
  .academy-contact > div { align-items: start; }
  .academy-landing-hero { padding-top: 48px; }
  .academy-landing-hero__grid { gap: 32px; }
  .academy-landing-hero h1 { font-size: clamp(35px, 10vw, 46px); }
  .academy-open-ballots > div > header { gap: 24px; }
  .academy-ballot-cards > article {
    min-height: 270px;
    border-right: 1px solid var(--academy-line);
    border-bottom: 1px solid var(--academy-line);
  }
  .academy-ballot-cards > article:last-child { border-bottom: 0; }
  .academy-scope-line {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .academy-scope-line span {
    min-height: 44px;
    padding: 13px 8px;
    border-right: 1px solid var(--academy-line);
    border-bottom: 1px solid var(--academy-line);
  }
  .academy-scope-line span:last-child { border-bottom: 0; }
  .academy-process-axis {
    margin-top: 32px;
    gap: 0;
  }
  .academy-process-axis::before {
    top: 5px;
    right: auto;
    bottom: 38px;
    left: 5px;
    width: 1px;
    height: auto;
  }
  .academy-process-axis li {
    min-height: 0;
    padding: 0 0 30px 36px;
  }
  .academy-process-axis li::before { top: 0; }
  .academy-process-axis li > span { height: auto; margin-bottom: 10px; }
  .academy-process-axis h3,
  .academy-process-axis p { max-width: 580px; }
  .academy-authority-grid > div {
    min-height: 0;
    border-right: 1px solid var(--academy-line);
    border-bottom: 1px solid var(--academy-line);
  }
  .academy-authority-grid > div:last-child { border-bottom: 0; }
  .academy-simple-steps li,
  .academy-simple-steps li:nth-child(odd),
  .academy-simple-steps li:nth-child(even) {
    min-height: 0;
    padding: 22px 0;
    border-right: 0;
  }
  .academy-voting-choice > div > div > a {
    min-height: 218px;
    border-right: 1px solid var(--academy-line);
    border-bottom: 1px solid var(--academy-line);
  }
  .academy-voting-choice > div > div > a:last-child { border-bottom: 0; }
  .academy-common-method article,
  .academy-common-method article:nth-child(odd),
  .academy-common-method article:nth-child(even) {
    min-height: 0;
    padding: 23px 0;
    border-right: 0;
  }
  .academy-category-voting-hero h1 { font-size: clamp(34px, 10vw, 46px); }
  .academy-category-guide__facts > div {
    min-height: 100px;
    border-right: 1px solid var(--academy-line);
    border-bottom: 1px solid var(--academy-line);
  }
  .academy-category-guide__facts > div:last-child { border-bottom: 0; }
  .academy-nomination-controls {
    align-items: stretch;
    flex-direction: column;
  }
  .academy-nomination-controls > div { flex-wrap: wrap; }
  .academy-voting-hero { padding-top: 64px; }
  .academy-voting-hero__grid { gap: 30px; }
  .academy-voting-hero h1 { font-size: clamp(35px, 10vw, 46px); }
  .academy-voting-facts article {
    min-height: 96px;
    padding: 20px 18px;
    border-right: 1px solid var(--academy-line);
    border-bottom: 1px solid var(--academy-line);
  }
  .academy-voting-facts article:last-child { border-bottom: 0; }
  .academy-voting-layout { gap: 66px; }
  .academy-voting-count { gap: 44px; }
  .academy-voting-controls > div { grid-template-columns: 1fr; gap: 9px; }
  .academy-voting-footer > div { gap: 34px; }
  .academy-ballot-hero {
    padding-top: 34px;
  }
  .academy-ballot-hero__meta {
    flex-wrap: wrap;
  }
  .academy-ballot-hero__grid { gap: 32px; }
  .academy-ballot-hero h1 { font-size: clamp(36px, 10vw, 48px); }
  .academy-ballot-hero__media-frame {
    width: 100%;
  }
  .academy-ballot-hero__media-summary {
    grid-template-columns: 1fr;
    gap: 15px;
  }
  .academy-ballot-hero__facts {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .academy-ballot-hero__facts > div {
    min-height: 84px;
    border-right: 1px solid #3b3b39;
    border-bottom: 1px solid #3b3b39;
  }
  .academy-category-guide--compact {
    gap: 34px;
  }
  .academy-category-guide--compact .academy-category-guide__body {
    margin-top: 0;
  }
  .academy-form-intro dl { margin-top: 12px; }

  .academy-nomination {
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 15px;
  }

  .academy-nomination label,
  .academy-nomination label:first-of-type,
  .academy-nomination label:last-child {
    grid-column: 2 / -1;
  }

  .academy-nomination__rank { grid-row: 1 / span 4; align-self: start; padding-top: 25px; }

  .academy-submit-row { grid-template-columns: 1fr; gap: 25px; }
  .academy-submit-row button { width: 100%; min-width: 0; }
}

@media (max-width: 480px) {
  .academy-form-intro dl { grid-template-columns: 1fr; }
  .academy-form-intro dl > div { padding: 11px 0; border-left: 0; border-bottom: 1px solid var(--academy-line); }
  .academy-interest { padding: 20px 16px; }
}

@media (prefers-reduced-motion: reduce) {
  .academy-page * { scroll-behavior: auto !important; }
}

/* Academy edition directory */
.academy-regions {
  padding: clamp(56px, 7vw, 92px) 0 clamp(46px, 6vw, 76px);
}

.academy-regions__header,
.academy-region-programme > header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .68fr);
  gap: clamp(42px, 8vw, 108px);
  align-items: end;
}

.academy-regions h2,
.academy-region-programme h2 {
  max-width: 680px;
  margin-top: 12px;
  font-family: var(--pub-display);
  font-size: clamp(28px, 2.8vw, 38px);
  font-weight: 400;
  letter-spacing: -.035em;
  line-height: 1.08;
}

.academy-regions__header > p,
.academy-region-programme > header > p {
  max-width: 520px;
  color: #565651;
  font-size: 14px;
  line-height: 1.72;
}

.academy-region-index {
  margin-top: clamp(36px, 4.5vw, 54px);
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 34px clamp(28px, 4vw, 58px);
}

.academy-region-index__item {
  min-height: 105px;
  color: #a1a19b;
}

.academy-region-index__item span {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.academy-region-index__item h3 {
  margin-top: 11px;
  font-family: var(--pub-display);
  font-size: clamp(24px, 2.2vw, 31px);
  font-weight: 400;
  letter-spacing: -.025em;
  line-height: 1;
}

.academy-region-index__item p {
  margin-top: 10px;
  font-size: 12px;
  line-height: 1.45;
}

.academy-region-index__item.is-open {
  color: var(--academy-ink);
}

.academy-open-ballots {
  padding: 0 0 clamp(66px, 8vw, 108px);
  border-bottom: 0;
}

.academy-region-programme + .academy-region-programme {
  margin-top: clamp(70px, 8vw, 104px);
}

.academy-ballot-cards {
  margin-top: clamp(28px, 3.5vw, 44px);
  gap: clamp(24px, 2.5vw, 36px);
  border: 0;
}

.academy-ballot-cards > article,
.academy-ballot-cards > article:last-child {
  min-height: 0;
  padding: 0;
  border: 0;
}

.academy-ballot-cards__banner {
  width: 100%;
  margin: 0;
}

.academy-ballot-cards > article > span {
  margin-top: 18px;
}

.academy-ballot-cards > article > p {
  margin-top: 20px;
}

.academy-ballot-cards h3 {
  margin-top: 9px;
  font-size: clamp(24px, 2.15vw, 29px);
}

.academy-ballot-cards > article > div {
  margin-top: 22px;
}

.academy-ballot-cards > article > div > a:not(.academy-ballot-cards__method) {
  width: fit-content;
  padding: 0;
  gap: 42px;
  border: 0;
  font-weight: 650;
}

.academy-ballot-cards__method {
  margin-top: 12px;
}

/* Editorial ballot introduction */
.academy-ballot-hero__title {
  padding: clamp(48px, 5.5vw, 72px) 0 clamp(34px, 4vw, 50px);
  text-align: center;
}

.academy-ballot-hero__year {
  width: fit-content;
  margin: 0 auto 20px;
  padding: 9px 12px;
  display: block;
  color: #111;
  background: #fff;
  font-size: 12px;
  font-weight: 750;
  letter-spacing: .06em;
}

.academy-ballot-hero__title .academy-eyebrow {
  color: #a9a9a4;
}

.academy-ballot-hero__title h1 {
  max-width: 920px;
  margin: 14px auto 0;
  font-size: clamp(38px, 4.8vw, 60px);
  letter-spacing: -.045em;
  line-height: .98;
}

.academy-ballot-hero__title > p:last-child {
  max-width: 650px;
  margin: 20px auto 0;
  color: #d5d5d1;
  font-size: 14px;
  line-height: 1.65;
}

.academy-ballot-hero__media-frame {
  width: min(1120px, calc(100% - 44px));
}

.academy-ballot-hero__credit {
  max-width: 760px;
  margin: 0 auto;
  padding: 22px 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: center;
  justify-items: center;
  gap: 24px;
  color: #aaa9a4;
  font-size: 11px;
  letter-spacing: .045em;
}

.academy-ballot-hero__credit p,
.academy-ballot-hero__credit > a {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  line-height: 1.4;
}

.academy-ballot-hero__credit strong {
  color: #fff;
}

.academy-ballot-hero__credit a {
  color: #fff;
}

.academy-ballot-page .academy-ballot-hero__facts {
  width: 100%;
  max-width: 900px;
  margin-inline: auto;
  gap: 24px;
  border: 0;
}

.academy-ballot-hero__facts > div,
.academy-ballot-hero__facts > div:last-child {
  min-height: 92px;
  padding: 20px 0 24px;
  align-items: center;
  justify-content: center;
  border: 0;
  text-align: center;
}

.academy-ballot-hero__facts dt {
  width: 100%;
  margin-top: 10px;
}

.academy-ballot-hero__facts dd {
  width: 100%;
}

.academy-ballot-share {
  padding: 8px 0 36px;
  display: flex;
  justify-content: center;
}

.academy-ballot-shell {
  max-width: 1080px;
  padding-top: 0;
}

.academy-ballot-editorial {
  max-width: 980px;
  margin: 0 auto;
  padding: clamp(64px, 7.5vw, 96px) 0 clamp(58px, 7vw, 88px);
  text-align: center;
}

.academy-ballot-editorial h2 {
  max-width: 760px;
  margin: 15px auto 0;
  font-family: var(--pub-display);
  font-size: clamp(24px, 2.6vw, 32px);
  font-weight: 400;
  letter-spacing: -.04em;
  line-height: 1.04;
}

.academy-ballot-editorial__copy {
  margin-top: clamp(34px, 4vw, 48px);
  color: #50504c;
  font-family: var(--pub-body);
  font-size: clamp(16px, 1.55vw, 19px);
  line-height: 1.85;
}

.academy-ballot-editorial__copy p + p {
  margin-top: 22px;
}

.academy-ballot-editorial__lead::first-letter {
  margin: .08em .13em 0 0;
  float: left;
  color: var(--academy-ink);
  font-family: var(--pub-display);
  font-size: 4.5em;
  line-height: .72;
}

.academy-ballot-page .academy-category-guide--compact {
  max-width: 940px;
  margin-inline: auto;
  display: block;
}

.academy-ballot-page .academy-category-guide--compact > header {
  max-width: 760px;
  margin-inline: auto;
  text-align: center;
}

.academy-ballot-page .academy-category-guide--compact .academy-category-guide__body {
  margin-top: 42px;
}

@media (max-width: 760px) {
  .academy-regions__header,
  .academy-region-programme > header {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .academy-region-index {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 30px 22px;
  }

  .academy-region-index__item {
    min-height: 94px;
  }

  .academy-ballot-cards {
    gap: 52px;
  }

  .academy-ballot-cards > article,
  .academy-ballot-cards > article:last-child {
    min-height: 0;
    border: 0;
  }

  .academy-ballot-hero,
  .academy-ballot-hero--media {
    padding-top: 0;
  }

  .academy-ballot-hero__title {
    padding: 42px 0 30px;
  }

  .academy-ballot-hero__title h1 {
    font-size: clamp(36px, 11vw, 48px);
  }

  .academy-ballot-hero__media-frame {
    width: 100%;
  }

  .academy-ballot-hero__credit {
    align-items: center;
    grid-template-columns: 1fr;
    text-align: center;
  }

  .academy-ballot-hero__facts {
    gap: 0;
  }

  .academy-ballot-hero__facts > div,
  .academy-ballot-hero__facts > div:last-child {
    min-height: 78px;
    padding: 15px 4px 19px;
    border: 0;
  }

  .academy-ballot-share {
    padding: 5px 0 30px;
  }

  .academy-ballot-editorial {
    padding: 58px 0 64px;
  }

  .academy-ballot-editorial__copy {
    text-align: left;
  }

  .academy-ballot-page .academy-category-guide--compact .academy-category-guide__body {
    margin-top: 34px;
  }
}
