/* Politics24 Editorial — category, article and supporting templates -------- */

body.p24-theme-active {
  margin: 0;
  overflow-x: hidden;
  color: var(--p24-ink);
  background: var(--p24-paper);
}

body.admin-bar .p24-navwrap {
  top: 32px;
}

.p24-interior-page {
  min-height: 100vh;
}

.p24-interior-header .p24-masthead-row {
  min-height: 104px;
}

.p24-interior-header .p24-brand {
  font-size: clamp(2.4rem, 4.6vw, 4.5rem);
}

.p24-interior-header .p24-navwrap {
  position: sticky;
  z-index: 500;
  top: 0;
  background: rgba(245, 243, 238, .96);
  backdrop-filter: blur(14px);
  box-shadow: 0 8px 28px rgba(7, 17, 31, .055);
}

.p24-int-social {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid var(--p24-line);
  border-radius: 50%;
  font-family: var(--p24-condensed);
  font-size: .78rem;
  font-weight: 900;
  transition: color .2s ease, border-color .2s ease, background .2s ease;
}

.p24-int-social:hover,
.p24-int-social:focus-visible {
  color: white;
  border-color: var(--p24-blue);
  background: var(--p24-blue);
}

.p24-int-main {
  --p24-section-accent: var(--p24-blue);
  min-height: 60vh;
}

.p24-int-main a:focus-visible,
.p24-interior-footer a:focus-visible {
  outline: 3px solid color-mix(in srgb, var(--p24-section-accent), white 35%);
  outline-offset: 4px;
}

/* Shared editorial language --------------------------------------------- */

.p24-int-breadcrumb {
  min-width: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .55rem;
  color: var(--p24-muted);
  font-family: var(--p24-condensed);
  font-size: .72rem;
  letter-spacing: .04em;
}

.p24-int-breadcrumb a:hover,
.p24-int-breadcrumb a:focus-visible {
  color: var(--p24-section-accent);
}

.p24-int-breadcrumb span {
  color: var(--p24-section-accent);
}

.p24-int-breadcrumb b {
  max-width: min(70vw, 760px);
  overflow: hidden;
  font-weight: 800;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.p24-int-kicker {
  display: inline-flex;
  align-items: center;
  gap: .7rem;
  color: var(--p24-section-accent);
  font-family: var(--p24-condensed);
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .15em;
  text-transform: uppercase;
}

.p24-int-kicker::before {
  content: "";
  width: 38px;
  height: 3px;
  background: currentColor;
}

.p24-int-meta {
  min-width: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .55rem;
  color: var(--p24-muted);
  font-family: var(--p24-condensed);
  font-size: .72rem;
  font-weight: 750;
}

.p24-int-meta i {
  width: 3px;
  height: 3px;
  display: block;
  border-radius: 50%;
  background: var(--p24-section-accent);
}

.p24-int-meta > b {
  margin-left: auto;
  color: var(--p24-section-accent);
  font-size: 1rem;
}

.p24-int-section-title {
  min-height: 76px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 20px;
  padding-bottom: .8rem;
  border-bottom: 3px solid var(--p24-ink);
}

.p24-int-section-title span {
  display: block;
  margin-bottom: .2rem;
  color: var(--p24-section-accent);
  font-family: var(--p24-condensed);
  font-size: .68rem;
  font-weight: 950;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.p24-int-section-title h2 {
  margin: 0;
  font-family: var(--p24-serif);
  font-size: clamp(1.65rem, 2.5vw, 2.6rem);
  line-height: 1;
  letter-spacing: -.04em;
}

.p24-int-section-title > b {
  color: var(--p24-section-accent);
  font-family: var(--p24-condensed);
  font-size: 2.7rem;
  font-weight: 950;
  letter-spacing: -.07em;
  line-height: .8;
}

/* Category mast --------------------------------------------------------- */

.p24-int-category-mast {
  position: relative;
  isolation: isolate;
  min-height: 390px;
  overflow: hidden;
  color: white;
  background:
    radial-gradient(circle at 82% 12%, color-mix(in srgb, var(--p24-section-accent), transparent 44%), transparent 25%),
    linear-gradient(118deg, #07111f 0 58%, color-mix(in srgb, var(--p24-section-accent), #07111f 64%) 100%);
}

.p24-int-category-mast::before {
  content: "24";
  position: absolute;
  z-index: -1;
  right: -1.5vw;
  bottom: -7rem;
  color: rgba(255, 255, 255, .045);
  font-family: var(--p24-condensed);
  font-size: clamp(18rem, 34vw, 35rem);
  font-weight: 950;
  letter-spacing: -.14em;
  line-height: .72;
}

.p24-int-mast-grid {
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .6;
  background:
    linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px);
  background-size: 48px 48px;
  mask-image: linear-gradient(105deg, #000, transparent 74%);
}

.p24-int-category-mast-inner {
  min-height: 390px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-block: 2.2rem 5.6rem;
}

.p24-int-category-mast .p24-int-breadcrumb {
  margin-bottom: 2.35rem;
  color: rgba(255, 255, 255, .55);
}

.p24-int-category-mast .p24-int-breadcrumb b {
  color: white;
}

.p24-int-category-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 2rem;
}

.p24-int-category-heading > div:first-child {
  flex: 1 1 auto;
  min-width: 0;
}

.p24-int-category-heading .p24-int-kicker {
  color: color-mix(in srgb, var(--p24-section-accent), white 35%);
}

.p24-int-category-heading h1 {
  max-width: min(100%, 900px);
  margin: .55rem 0 0;
  color: white !important;
  font-family: var(--p24-serif);
  font-size: clamp(2.05rem, 5.1vw, 4.9rem);
  line-height: .88;
  letter-spacing: -.055em;
  overflow-wrap: anywhere;
}

.p24-int-category-mast-inner > p {
  max-width: 680px;
  margin: 1.45rem 0 0;
  color: rgba(255, 255, 255, .62);
  font-family: var(--p24-serif);
  font-size: .98rem;
  line-height: 1.55;
}

.p24-int-category-stat {
  flex: 0 0 auto;
  min-width: 190px;
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  gap: .75rem;
  padding-bottom: .5rem;
}

.p24-int-category-stat strong {
  color: color-mix(in srgb, var(--p24-section-accent), white 32%);
  font-family: var(--p24-condensed);
  font-size: clamp(3rem, 5vw, 5.2rem);
  font-weight: 950;
  letter-spacing: -.08em;
  line-height: .7;
}

.p24-int-category-stat span {
  color: rgba(255, 255, 255, .5);
  font-family: var(--p24-condensed);
  font-size: .66rem;
  font-weight: 850;
  letter-spacing: .08em;
  line-height: 1.3;
  text-transform: uppercase;
}

/* Category lead stage --------------------------------------------------- */

.p24-int-category-stage {
  height: 650px;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(330px, .62fr);
  gap: 18px;
  margin-top: -56px;
  position: relative;
  z-index: 2;
}

.p24-int-category-stage.is-solo {
  grid-template-columns: minmax(0, 1fr);
}

.p24-int-category-stage.has-one-feature .p24-int-feature-stack {
  grid-template-rows: minmax(0, 1fr);
}

.p24-int-category-lead,
.p24-int-feature-stack article,
.p24-int-card-media,
.p24-int-related-media {
  background:
    linear-gradient(0deg, rgba(5, 14, 27, .98), rgba(5, 14, 27, .08) 76%),
    var(--p24-card-image) center / cover no-repeat,
    var(--p24-ink-2);
}

.p24-int-category-lead {
  min-width: 0;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: white;
  box-shadow: 0 28px 68px rgba(7, 17, 31, .22);
}

.p24-int-category-lead::after,
.p24-int-feature-stack article::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, .18);
  pointer-events: none;
}

.p24-int-category-lead > a {
  min-height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: clamp(1.5rem, 3vw, 3rem);
}

.p24-int-lead-number {
  align-self: flex-end;
  color: rgba(255, 255, 255, .32);
  font-family: var(--p24-condensed);
  font-size: clamp(4rem, 8vw, 8rem);
  font-weight: 950;
  letter-spacing: -.1em;
  line-height: .7;
}

.p24-int-lead-copy {
  max-width: 850px;
}

.p24-int-lead-copy > span {
  display: inline-flex;
  margin-bottom: .8rem;
  padding: .35rem .55rem;
  color: var(--p24-ink);
  background: color-mix(in srgb, var(--p24-section-accent), white 22%);
  font-family: var(--p24-condensed);
  font-size: .68rem;
  font-weight: 950;
  letter-spacing: .1em;
}

.p24-int-lead-copy h2 {
  max-width: 840px;
  margin: 0 0 .8rem;
  color: white !important;
  font-family: var(--p24-serif);
  font-size: clamp(1.25rem, 2vw, 2.2rem);
  line-height: 1.08;
  letter-spacing: -.035em;
}

.p24-int-lead-copy p {
  max-width: 650px;
  margin-bottom: 1.15rem;
  color: rgba(255, 255, 255, .7);
  font-family: var(--p24-serif);
  font-size: .95rem;
}

.p24-int-category-lead .p24-int-meta {
  max-width: 650px;
  color: rgba(255, 255, 255, .58);
}

.p24-int-category-lead .p24-int-meta > b {
  color: white;
}

.p24-int-feature-stack {
  min-width: 0;
  display: grid;
  grid-template-rows: 1.08fr .92fr;
  gap: 18px;
}

.p24-int-feature-stack article {
  min-height: 0;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: white;
}

.p24-int-feature-stack article:nth-child(2) {
  width: 91%;
  justify-self: end;
}

.p24-int-feature-stack article > a {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 1.35rem;
}

.p24-int-feature-stack article > a > span {
  align-self: flex-end;
  color: rgba(255, 255, 255, .45);
  font-family: var(--p24-condensed);
  font-size: 2.8rem;
  font-weight: 950;
  letter-spacing: -.08em;
  line-height: .8;
}

.p24-int-feature-stack small {
  color: color-mix(in srgb, var(--p24-section-accent), white 38%);
  font-family: var(--p24-condensed);
  font-size: .67rem;
  font-weight: 800;
}

.p24-int-feature-stack h2 {
  margin: .55rem 0 0;
  color: white !important;
  font-family: var(--p24-serif);
  font-size: clamp(.96rem, 1.08vw, 1.18rem);
  line-height: 1.17;
  letter-spacing: -.025em;
}

.p24-int-feature-stack div > b {
  position: absolute;
  top: 1rem;
  left: 1rem;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  color: var(--p24-ink);
  background: white;
}

.p24-int-briefs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 18px;
  border-top: 1px solid var(--p24-line);
  border-bottom: 1px solid var(--p24-line);
}

.p24-int-briefs > a {
  min-height: 138px;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr) 32px;
  gap: 1.2rem;
  align-items: center;
  padding: 1.35rem 1.5rem;
  border-right: 1px solid var(--p24-line);
}

.p24-int-briefs > a:last-child {
  border-right: 0;
}

.p24-int-briefs > a > span {
  align-self: start;
  color: var(--p24-section-accent);
  font-family: var(--p24-condensed);
  font-size: 2rem;
  font-weight: 950;
  letter-spacing: -.06em;
  line-height: 1;
}

.p24-int-briefs small {
  color: var(--p24-muted);
  font-family: var(--p24-condensed);
  font-size: .68rem;
}

.p24-int-briefs h2 {
  margin: .35rem 0 0;
  font-family: var(--p24-serif);
  font-size: clamp(.92rem, 1vw, 1.05rem);
  line-height: 1.28;
}

.p24-int-briefs > a > b {
  color: var(--p24-section-accent);
  font-size: 1.1rem;
}

.p24-int-briefs > a:hover,
.p24-int-briefs > a:focus-visible {
  background: white;
}

/* Archive grid and live rail -------------------------------------------- */

.p24-int-archive-area {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 338px;
  gap: clamp(2rem, 4vw, 4.6rem);
  align-items: start;
  margin-top: 82px;
  margin-bottom: 92px;
}

.p24-int-archive-column {
  min-width: 0;
}

.p24-int-archive-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.p24-int-archive-card {
  min-width: 0;
  display: grid;
  grid-template-rows: auto 1fr;
  border: 1px solid var(--p24-line);
  background: rgba(255, 255, 255, .48);
  transition: transform .22s ease, background .22s ease, box-shadow .22s ease;
}

.p24-int-archive-card:hover {
  transform: translateY(-5px);
  background: white;
  box-shadow: 0 20px 50px rgba(7, 17, 31, .1);
}

.p24-int-archive-card.is-wide {
  grid-column: 1 / -1;
  grid-template-columns: minmax(280px, .95fr) minmax(0, 1.05fr);
  grid-template-rows: 1fr;
}

.p24-int-card-media {
  min-height: 230px;
  position: relative;
  display: block;
  overflow: hidden;
}

.p24-int-archive-card.is-wide .p24-int-card-media {
  min-height: 330px;
}

.p24-int-card-media::after,
.p24-int-related-media::after {
  content: "";
  position: absolute;
  inset: 0;
  border: 1px solid rgba(255, 255, 255, .15);
}

.p24-int-card-media > span {
  position: absolute;
  z-index: 1;
  right: .8rem;
  bottom: .65rem;
  color: white;
  font-family: var(--p24-condensed);
  font-size: 2rem;
  font-weight: 950;
  letter-spacing: -.06em;
  line-height: .8;
}

.p24-int-card-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: 1.25rem;
}

.p24-int-archive-card.is-wide .p24-int-card-copy {
  justify-content: center;
  padding: clamp(1.5rem, 3vw, 2.5rem);
}

.p24-int-card-copy > small {
  margin-bottom: .65rem;
  color: var(--p24-section-accent);
  font-family: var(--p24-condensed);
  font-size: .66rem;
  font-weight: 950;
  letter-spacing: .1em;
}

.p24-int-card-copy h3,
.p24-int-standard-card h2 {
  margin: 0 0 .75rem;
  font-family: var(--p24-serif);
  font-size: clamp(.98rem, 1.08vw, 1.16rem);
  line-height: 1.23;
  letter-spacing: -.025em;
}

.p24-int-archive-card.is-wide h3 {
  font-size: clamp(1.08rem, 1.35vw, 1.4rem);
  line-height: 1.18;
  letter-spacing: -.025em;
}

.p24-int-card-copy h3 a:hover,
.p24-int-card-copy h3 a:focus-visible {
  color: var(--p24-section-accent);
}

.p24-int-card-copy > p {
  margin-bottom: 1.2rem;
  color: var(--p24-muted);
  font-family: var(--p24-serif);
  font-size: .9rem;
  line-height: 1.48;
}

.p24-int-card-copy .p24-int-meta {
  margin-top: auto;
}

.p24-int-now {
  position: sticky;
  top: 92px;
  color: white;
  background: var(--p24-ink);
  border-top: 4px solid var(--p24-section-accent);
  box-shadow: 0 22px 54px rgba(7, 17, 31, .14);
}

.p24-int-now > header {
  min-height: 104px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.15rem 1.25rem;
  border-bottom: 1px solid rgba(255, 255, 255, .13);
}

.p24-int-now > header span {
  display: flex;
  align-items: center;
  gap: .5rem;
  color: color-mix(in srgb, var(--p24-section-accent), white 34%);
  font-family: var(--p24-condensed);
  font-size: .65rem;
  font-weight: 950;
  letter-spacing: .14em;
}

.p24-int-now > header span i {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--p24-section-accent);
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--p24-section-accent), transparent 78%);
}

.p24-int-now > header h2 {
  margin: .45rem 0 0;
  color: white !important;
  font-family: var(--p24-serif);
  font-size: 1.65rem;
  line-height: 1;
}

.p24-int-now-list > a {
  min-height: 92px;
  display: grid;
  grid-template-columns: 43px minmax(0, 1fr);
  gap: .8rem;
  align-items: center;
  padding: .8rem 1rem;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
}

.p24-int-now-list > a:hover,
.p24-int-now-list > a:focus-visible {
  background: rgba(255, 255, 255, .06);
}

.p24-int-now-list > a > b {
  color: var(--p24-section-accent);
  font-family: var(--p24-condensed);
  font-size: 1.55rem;
  font-weight: 950;
  letter-spacing: -.06em;
}

.p24-int-now-list span {
  min-width: 0;
}

.p24-int-now-list small {
  display: block;
  margin-bottom: .25rem;
  color: rgba(255, 255, 255, .45);
  font-family: var(--p24-condensed);
  font-size: .62rem;
}

.p24-int-now-list strong {
  display: -webkit-box;
  overflow: hidden;
  color: white;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-family: var(--p24-serif);
  font-size: .9rem;
  font-weight: 750;
  line-height: 1.28;
}

.p24-int-now-all {
  min-height: 54px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .85rem 1rem;
  color: rgba(255, 255, 255, .6);
  font-family: var(--p24-condensed);
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.p24-int-now-all span {
  color: var(--p24-section-accent);
}

/* Pagination ------------------------------------------------------------ */

.p24-int-pagination {
  margin-top: 2.2rem;
  padding-top: 1.4rem;
  border-top: 1px solid var(--p24-line);
}

.p24-int-pagination ul {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p24-int-pagination a,
.p24-int-pagination span {
  min-width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding-inline: .7rem;
  border: 1px solid var(--p24-line);
  background: rgba(255, 255, 255, .44);
  font-family: var(--p24-condensed);
  font-size: .72rem;
  font-weight: 850;
}

.p24-int-pagination .current,
.p24-int-pagination a:hover {
  color: white;
  border-color: var(--p24-section-accent);
  background: var(--p24-section-accent);
}

/* Single article -------------------------------------------------------- */

.p24-int-single-main {
  padding-top: clamp(2.4rem, 5vw, 5.5rem);
}

.p24-int-article-head {
  max-width: 1280px;
}

.p24-int-article-head .p24-int-breadcrumb {
  margin-bottom: clamp(2rem, 4vw, 3.6rem);
}

.p24-int-article-category {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  margin-bottom: 1.1rem;
  padding: .4rem .6rem;
  color: white;
  background: var(--p24-section-accent);
  font-family: var(--p24-condensed);
  font-size: .68rem;
  font-weight: 950;
  letter-spacing: .1em;
}

.p24-int-article-category::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: white;
}

.p24-int-article-head h1 {
  max-width: 1220px;
  margin: 0;
  font-family: var(--p24-serif);
  font-size: clamp(1.65rem, 3vw, 3.1rem);
  line-height: 1.06;
  letter-spacing: -.04em;
  text-wrap: balance;
}

.p24-int-article-deck {
  max-width: 900px;
  margin: 1.4rem 0 0;
  color: var(--p24-muted);
  font-family: var(--p24-serif);
  font-size: clamp(1.05rem, 1.45vw, 1.35rem);
  line-height: 1.48;
}

.p24-int-article-byline {
  min-height: 70px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin-top: 2rem;
  padding-block: 1rem;
  border-top: 1px solid var(--p24-line);
  border-bottom: 1px solid var(--p24-line);
}

.p24-int-article-byline > span {
  color: var(--p24-muted);
  font-family: var(--p24-condensed);
  font-size: .68rem;
}

.p24-int-article-hero {
  margin-top: clamp(1.8rem, 3vw, 3rem);
}

.p24-int-article-hero-frame {
  position: relative;
  isolation: isolate;
  max-height: 820px;
  overflow: hidden;
  background: var(--p24-ink-2);
  box-shadow: 0 26px 64px rgba(7, 17, 31, .16);
}

.p24-int-article-hero-frame::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  bottom: 0;
  left: 0;
  width: 9px;
  background: var(--p24-section-accent);
}

.p24-int-article-hero-frame::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(0deg, rgba(7, 17, 31, .2), transparent 42%);
  pointer-events: none;
}

.p24-int-article-hero img {
  width: 100%;
  max-height: 820px;
  display: block;
  object-fit: cover;
}

.p24-int-hero-mark {
  position: absolute;
  z-index: 3;
  right: 1.2rem;
  bottom: 1rem;
  color: rgba(255, 255, 255, .68);
  font-family: var(--p24-condensed);
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .12em;
}

.p24-int-article-hero figcaption {
  margin-top: .65rem;
  padding-left: 1rem;
  color: var(--p24-muted);
  border-left: 3px solid var(--p24-section-accent);
  font-family: var(--p24-condensed);
  font-size: .72rem;
}

.p24-int-article-layout {
  display: grid;
  grid-template-columns: 60px minmax(0, 800px) minmax(280px, 330px);
  gap: clamp(1.4rem, 3.2vw, 3.6rem);
  align-items: start;
  justify-content: center;
  margin-top: clamp(3rem, 6vw, 6rem);
  margin-bottom: 86px;
}

.p24-int-share {
  position: sticky;
  top: 104px;
  display: grid;
  justify-items: center;
  gap: .55rem;
}

.p24-int-share > span {
  margin-bottom: .3rem;
  color: var(--p24-muted);
  font-family: var(--p24-condensed);
  font-size: .57rem;
  font-weight: 950;
  letter-spacing: .13em;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
}

.p24-int-share a {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  color: var(--p24-ink);
  border: 1px solid var(--p24-line);
  border-radius: 50%;
  background: rgba(255, 255, 255, .48);
  font-family: var(--p24-condensed);
  font-size: .72rem;
  font-weight: 950;
}

.p24-int-share a:hover {
  color: white;
  border-color: var(--p24-section-accent);
  background: var(--p24-section-accent);
}

.p24-int-article-content {
  min-width: 0;
}

.p24-int-content-rule {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 2rem;
  padding-bottom: .8rem;
  border-bottom: 3px solid var(--p24-ink);
  color: var(--p24-section-accent);
  font-family: var(--p24-condensed);
  font-size: .68rem;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.p24-int-content-rule b {
  color: var(--p24-ink);
  font-size: 1.4rem;
  letter-spacing: -.04em;
}

.p24-int-prose {
  color: #15202d;
  font-family: var(--p24-serif);
  font-size: clamp(1.08rem, 1.25vw, 1.22rem);
  line-height: 1.82;
}

.p24-int-prose > p:first-child::first-letter {
  float: left;
  margin: .08em .13em 0 0;
  color: var(--p24-section-accent);
  font-size: 4.3em;
  font-weight: 850;
  line-height: .72;
}

.p24-int-prose p,
.p24-int-prose ul,
.p24-int-prose ol,
.p24-int-prose blockquote,
.p24-int-prose figure,
.p24-int-prose table,
.p24-int-prose .wp-block-embed {
  margin-top: 0;
  margin-bottom: 1.65em;
}

.p24-int-prose h2,
.p24-int-prose h3,
.p24-int-prose h4 {
  color: var(--p24-ink);
  font-family: var(--p24-serif);
  letter-spacing: -.035em;
  line-height: 1.12;
}

.p24-int-prose h2 {
  margin: 2.1em 0 .7em;
  padding-top: .6em;
  border-top: 4px solid var(--p24-section-accent);
  font-size: clamp(1.75rem, 3vw, 2.75rem);
}

.p24-int-prose h3 {
  margin: 1.8em 0 .65em;
  font-size: clamp(1.4rem, 2.1vw, 2rem);
}

/* Gutenberg cover titles always sit on imagery and need guaranteed contrast. */
.p24-int-prose .wp-block-cover,
.p24-int-prose .wp-block-cover h1,
.p24-int-prose .wp-block-cover h2,
.p24-int-prose .wp-block-cover h3,
.p24-int-prose .wp-block-cover h4,
.p24-int-prose .wp-block-cover h5,
.p24-int-prose .wp-block-cover h6,
.p24-int-prose .wp-block-cover p,
.p24-int-prose .wp-block-cover a {
  color: white !important;
}

.p24-int-prose .wp-block-cover h2,
.p24-int-prose .wp-block-cover h3,
.p24-int-prose .wp-block-cover h4 {
  border-top: 0;
}

.p24-int-prose a {
  color: color-mix(in srgb, var(--p24-section-accent), #07111f 18%);
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--p24-section-accent), transparent 48%);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

.p24-int-prose blockquote {
  position: relative;
  margin-inline: 0;
  padding: 1.5rem 1.5rem 1.5rem 2.1rem;
  color: var(--p24-ink);
  border-left: 7px solid var(--p24-section-accent);
  background: white;
  box-shadow: 0 16px 38px rgba(7, 17, 31, .08);
  font-size: 1.18em;
  font-style: italic;
  line-height: 1.55;
}

.p24-int-prose blockquote::before {
  content: "“";
  position: absolute;
  top: -.2rem;
  right: 1rem;
  color: color-mix(in srgb, var(--p24-section-accent), transparent 72%);
  font-size: 5rem;
  line-height: 1;
}

.p24-int-prose img {
  max-width: 100%;
  height: auto;
}

.p24-int-prose .alignwide {
  width: min(1050px, calc(100vw - 48px));
  max-width: none;
  margin-left: 50%;
  transform: translateX(-50%);
}

.p24-int-prose .alignfull {
  width: 100vw;
  max-width: none;
  margin-left: 50%;
  transform: translateX(-50%);
}

.p24-int-prose figcaption,
.p24-int-prose .wp-caption-text {
  padding-left: .8rem;
  color: var(--p24-muted);
  border-left: 3px solid var(--p24-section-accent);
  font-family: var(--p24-condensed);
  font-size: .72rem;
  line-height: 1.4;
}

.p24-int-prose table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--p24-sans);
  font-size: .86rem;
  line-height: 1.45;
}

.p24-int-prose th,
.p24-int-prose td {
  padding: .75rem;
  border: 1px solid var(--p24-line);
  text-align: left;
}

.p24-int-prose th {
  color: white;
  background: var(--p24-ink);
}

.p24-int-prose tr:nth-child(even) td {
  background: rgba(255, 255, 255, .5);
}

.p24-int-follow-box {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2rem;
  align-items: center;
  margin: 3.2rem 0 2rem;
  padding: clamp(1.4rem, 3vw, 2.3rem);
  color: white;
  border-left: 7px solid var(--p24-section-accent);
  background: var(--p24-ink);
}

.p24-int-follow-box span,
.p24-int-tags > span {
  color: color-mix(in srgb, var(--p24-section-accent), white 32%);
  font-family: var(--p24-condensed);
  font-size: .65rem;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.p24-int-follow-box h2 {
  margin: .35rem 0 .4rem;
  color: white !important;
  font-family: var(--p24-serif);
  font-size: clamp(1.5rem, 2.5vw, 2.4rem);
  line-height: 1;
}

.p24-int-follow-box p {
  max-width: 520px;
  margin: 0;
  color: rgba(255, 255, 255, .58);
  font-family: var(--p24-serif);
  font-size: .9rem;
}

.p24-int-follow-box > div:last-child {
  display: grid;
  gap: .55rem;
}

.p24-int-follow-box a {
  min-width: 128px;
  padding: .65rem .8rem;
  color: var(--p24-ink);
  background: white;
  font-family: var(--p24-condensed);
  font-size: .68rem;
  font-weight: 900;
  text-align: center;
}

.p24-int-tags {
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
  align-items: center;
  margin-top: 2rem;
  padding-top: 1.2rem;
  border-top: 1px solid var(--p24-line);
}

.p24-int-tags > span {
  margin-right: .5rem;
  color: var(--p24-muted);
}

.p24-int-tags a {
  padding: .4rem .6rem;
  border: 1px solid var(--p24-line);
  background: rgba(255, 255, 255, .44);
  font-family: var(--p24-condensed);
  font-size: .7rem;
}

.p24-int-tags a:hover {
  color: white;
  border-color: var(--p24-section-accent);
  background: var(--p24-section-accent);
}

.p24-int-post-nav {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 90px;
  border-top: 1px solid var(--p24-line);
  border-bottom: 1px solid var(--p24-line);
}

.p24-int-post-nav a {
  min-height: 142px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 1.4rem;
}

.p24-int-post-nav a:first-of-type {
  border-right: 1px solid var(--p24-line);
}

.p24-int-post-nav .is-next {
  text-align: right;
}

.p24-int-post-nav a:hover {
  background: white;
}

.p24-int-post-nav span {
  margin-bottom: .45rem;
  color: var(--p24-section-accent);
  font-family: var(--p24-condensed);
  font-size: .68rem;
  font-weight: 900;
}

.p24-int-post-nav strong {
  font-family: var(--p24-serif);
  font-size: clamp(1rem, 1.35vw, 1.3rem);
  line-height: 1.2;
}

.p24-int-related {
  margin-bottom: 94px;
}

.p24-int-related-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

.p24-int-related-grid article {
  min-width: 0;
}

.p24-int-related-grid article:nth-child(even) {
  margin-top: 28px;
}

.p24-int-related-media {
  min-height: 190px;
  position: relative;
  display: block;
  margin-bottom: 1rem;
  overflow: hidden;
}

.p24-int-related-media span {
  position: absolute;
  z-index: 1;
  right: .65rem;
  bottom: .55rem;
  color: white;
  font-family: var(--p24-condensed);
  font-size: 1.7rem;
  font-weight: 950;
  line-height: .8;
}

.p24-int-related-grid article > small {
  color: var(--p24-section-accent);
  font-family: var(--p24-condensed);
  font-size: .63rem;
  font-weight: 950;
  letter-spacing: .09em;
}

.p24-int-related-grid h3 {
  margin: .5rem 0 .8rem;
  font-family: var(--p24-serif);
  font-size: clamp(.9rem, .95vw, 1.02rem);
  line-height: 1.3;
}

.p24-int-related-grid h3 a:hover {
  color: var(--p24-section-accent);
}

/* Generic archives, pages and 404 -------------------------------------- */

.p24-int-simple-mast {
  min-height: 330px;
  display: flex;
  align-items: center;
  color: white;
  background:
    radial-gradient(circle at 78% 25%, rgba(23, 105, 255, .46), transparent 26%),
    linear-gradient(120deg, #07111f, #10213a);
}

.p24-int-simple-mast .p24-int-breadcrumb {
  margin-bottom: 2rem;
  color: rgba(255, 255, 255, .55);
}

.p24-int-simple-mast .p24-int-kicker {
  color: var(--p24-cyan);
}

.p24-int-simple-mast h1 {
  margin: .5rem 0 0;
  color: white !important;
  font-family: var(--p24-serif);
  font-size: clamp(2.8rem, 7vw, 6.5rem);
  line-height: .88;
  letter-spacing: -.065em;
}

.p24-int-simple-mast p {
  max-width: 720px;
  margin: 1rem 0 0;
  color: rgba(255, 255, 255, .6);
  font-family: var(--p24-serif);
}

.p24-int-standard-grid {
  display: grid;
  gap: 18px;
}

.p24-int-standard-card {
  min-height: 250px;
  display: grid;
  grid-template-columns: minmax(250px, .78fr) minmax(0, 1.22fr);
  border: 1px solid var(--p24-line);
  background: rgba(255, 255, 255, .46);
}

.p24-int-standard-card .p24-int-card-media {
  min-height: 250px;
}

.p24-int-standard-card .p24-int-card-media span {
  right: auto;
  bottom: .7rem;
  left: .7rem;
  padding: .35rem .5rem;
  color: var(--p24-ink);
  background: white;
  font-size: .62rem;
  letter-spacing: .08em;
}

.p24-int-standard-card h2 {
  font-size: clamp(1rem, 1.12vw, 1.22rem);
}

.p24-int-page-main {
  padding-block: clamp(3rem, 6vw, 6rem) 90px;
}

.p24-int-page {
  max-width: 980px;
}

.p24-int-page > header .p24-int-breadcrumb {
  margin-bottom: 2.8rem;
}

.p24-int-page > header h1 {
  margin: .55rem 0 2.2rem;
  font-family: var(--p24-serif);
  font-size: clamp(2.5rem, 6vw, 5.5rem);
  line-height: .95;
  letter-spacing: -.055em;
}

.p24-int-page > figure {
  margin: 0 0 2.5rem;
}

.p24-int-page > figure img {
  width: 100%;
  height: auto;
  display: block;
}

.p24-int-page > .p24-int-prose {
  max-width: 800px;
}

.p24-int-empty {
  padding: 4rem 0;
}

.p24-int-empty > span {
  color: var(--p24-section-accent);
  font-family: var(--p24-condensed);
  font-size: 5rem;
  font-weight: 950;
  letter-spacing: -.08em;
  line-height: .8;
}

.p24-int-empty h2 {
  margin: 1rem 0;
  font-family: var(--p24-serif);
  font-size: clamp(1.6rem, 3vw, 2.8rem);
}

.p24-int-empty a {
  color: var(--p24-section-accent);
  font-family: var(--p24-condensed);
  font-size: .75rem;
  font-weight: 900;
}

.p24-int-error-main {
  padding-block: clamp(4rem, 9vw, 9rem);
}

.p24-int-error {
  min-height: 470px;
  display: grid;
  grid-template-columns: 1.2fr .8fr;
  gap: clamp(2rem, 6vw, 7rem);
  align-items: center;
  padding: clamp(2rem, 5vw, 5rem);
  color: white;
  background:
    radial-gradient(circle at 84% 12%, rgba(23, 105, 255, .5), transparent 27%),
    var(--p24-ink);
}

.p24-int-error > div > span {
  color: var(--p24-blue);
  font-family: var(--p24-condensed);
  font-size: clamp(5rem, 12vw, 12rem);
  font-weight: 950;
  letter-spacing: -.1em;
  line-height: .65;
}

.p24-int-error h1 {
  margin: 1.5rem 0 .8rem;
  color: white !important;
  font-family: var(--p24-serif);
  font-size: clamp(2rem, 4vw, 4rem);
  line-height: .95;
}

.p24-int-error p {
  color: rgba(255, 255, 255, .6);
}

.p24-int-error > div > a {
  display: inline-flex;
  gap: 1rem;
  margin-top: 1rem;
  padding-bottom: .3rem;
  border-bottom: 1px solid white;
  font-family: var(--p24-condensed);
  font-size: .75rem;
  font-weight: 900;
}

.p24-int-error form {
  padding: 1.4rem;
  border: 1px solid rgba(255, 255, 255, .15);
  background: rgba(255, 255, 255, .04);
}

.p24-int-error label,
.p24-int-searchform label {
  display: block;
  margin-bottom: .65rem;
  font-family: var(--p24-condensed);
  font-size: .72rem;
  font-weight: 900;
}

.p24-int-error form div,
.p24-int-searchform div {
  display: grid;
  grid-template-columns: 1fr auto;
}

.p24-int-error input,
.p24-int-searchform input {
  min-width: 0;
  padding: .85rem;
  border: 0;
}

.p24-int-error button,
.p24-int-searchform button {
  padding: .85rem 1rem;
  color: white;
  border: 0;
  background: var(--p24-blue);
  cursor: pointer;
  font-weight: 850;
}

.p24-int-page-links {
  margin-top: 2rem;
  font-family: var(--p24-condensed);
}

.p24-int-footer-socials {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
  margin-top: 1rem;
}

.p24-int-footer-socials a {
  color: var(--p24-cyan);
  font-family: var(--p24-condensed) !important;
  font-size: .7rem !important;
  font-weight: 850;
}

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

@media (max-width: 1180px) {
  .p24-int-category-stage {
    height: 600px;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  }

  .p24-int-article-layout {
    grid-template-columns: 52px minmax(0, 1fr) 292px;
    gap: 1.5rem;
  }

  .p24-int-related-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .p24-int-related-grid article:nth-child(even) {
    margin-top: 0;
  }
}

@media (max-width: 1024px) {
  body.admin-bar .p24-navwrap {
    top: 32px;
  }

  .p24-int-social {
    display: none;
  }

  .p24-int-archive-area,
  .p24-int-article-layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .p24-int-share {
    position: static;
    display: flex;
    justify-content: flex-start;
  }

  .p24-int-share > span {
    margin: 0 .5rem 0 0;
    writing-mode: initial;
    transform: none;
  }

  .p24-int-now {
    position: static;
    display: grid;
    grid-template-columns: 230px minmax(0, 1fr);
  }

  .p24-int-now > header {
    min-height: 100%;
    border-right: 1px solid rgba(255, 255, 255, .13);
    border-bottom: 0;
  }

  .p24-int-now-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .p24-int-now-list > a:nth-child(odd) {
    border-right: 1px solid rgba(255, 255, 255, .1);
  }

  .p24-int-now-all {
    grid-column: 1 / -1;
    border-top: 1px solid rgba(255, 255, 255, .1);
  }

  .p24-int-article-layout .p24-int-now {
    grid-column: 1;
  }
}

@media (max-width: 900px) {
  .p24-int-category-mast,
  .p24-int-category-mast-inner {
    min-height: 330px;
  }

  .p24-int-category-mast-inner {
    padding-bottom: 4.5rem;
  }

  .p24-int-category-stat {
    display: none;
  }

  .p24-int-category-stage {
    height: auto;
    grid-template-columns: 1fr;
  }

  .p24-int-category-lead > a {
    min-height: 560px;
  }

  .p24-int-feature-stack {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: none;
  }

  .p24-int-feature-stack article,
  .p24-int-feature-stack article:nth-child(2) {
    width: 100%;
    min-height: 300px;
  }

  .p24-int-article-head h1 {
    font-size: clamp(1.45rem, 3.6vw, 2.2rem);
  }

  .p24-int-archive-card.is-wide {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }
}

@media (max-width: 782px) {
  body.admin-bar .p24-navwrap {
    top: 46px;
  }
}

@media (max-width: 700px) {
  .p24-shell {
    width: min(100% - 28px, 1440px);
  }

  .p24-interior-header .p24-masthead-row {
    min-height: 84px;
  }

  .p24-int-category-mast .p24-int-breadcrumb {
    margin-bottom: 1.6rem;
  }

  .p24-int-category-heading h1 {
    font-size: clamp(1.85rem, 10.8vw, 3.5rem);
  }

  .p24-int-category-mast-inner > p {
    font-size: .9rem;
  }

  .p24-int-category-stage {
    margin-top: -38px;
  }

  .p24-int-category-lead > a {
    min-height: 470px;
  }

  .p24-int-lead-copy h2 {
    font-size: clamp(1.15rem, 4.6vw, 1.4rem);
  }

  .p24-int-lead-copy p {
    display: none;
  }

  .p24-int-feature-stack,
  .p24-int-briefs,
  .p24-int-archive-grid,
  .p24-int-related-grid,
  .p24-int-post-nav,
  .p24-int-error {
    grid-template-columns: 1fr;
  }

  .p24-int-feature-stack article,
  .p24-int-feature-stack article:nth-child(2) {
    min-height: 280px;
  }

  .p24-int-briefs > a {
    border-right: 0;
    border-bottom: 1px solid var(--p24-line);
  }

  .p24-int-briefs > a:last-child {
    border-bottom: 0;
  }

  .p24-int-archive-area {
    margin-top: 60px;
  }

  .p24-int-archive-card.is-wide,
  .p24-int-standard-card {
    display: grid;
    grid-template-columns: 1fr;
  }

  .p24-int-archive-card.is-wide .p24-int-card-media,
  .p24-int-card-media,
  .p24-int-standard-card .p24-int-card-media {
    min-height: 250px;
  }

  .p24-int-now {
    display: block;
  }

  .p24-int-now > header {
    min-height: 92px;
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, .13);
  }

  .p24-int-now-list {
    display: block;
  }

  .p24-int-now-list > a:nth-child(odd) {
    border-right: 0;
  }

  .p24-int-single-main {
    padding-top: 2.4rem;
  }

  .p24-int-article-head .p24-int-breadcrumb {
    margin-bottom: 2rem;
  }

  .p24-int-article-head h1 {
    font-size: clamp(1.35rem, 6vw, 1.8rem);
    line-height: 1.08;
  }

  .p24-int-article-deck {
    font-size: 1rem;
  }

  .p24-int-article-byline {
    display: grid;
    gap: .7rem;
  }

  .p24-int-article-hero {
    width: 100%;
  }

  .p24-int-article-hero-frame::before {
    width: 6px;
  }

  .p24-int-article-layout {
    margin-top: 3.2rem;
  }

  .p24-int-share {
    overflow-x: auto;
  }

  .p24-int-prose {
    font-size: 1.06rem;
    line-height: 1.76;
  }

  .p24-int-prose .alignwide,
  .p24-int-prose .alignfull {
    width: calc(100vw - 28px);
  }

  .p24-int-follow-box {
    grid-template-columns: 1fr;
  }

  .p24-int-follow-box > div:last-child {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .p24-int-post-nav a:first-of-type {
    border-right: 0;
    border-bottom: 1px solid var(--p24-line);
  }

  .p24-int-related-media {
    min-height: 240px;
  }

  .p24-int-error {
    padding: 2rem 1.2rem;
  }

  .p24-int-error form div,
  .p24-int-searchform div {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .p24-int-archive-card,
  .p24-int-social {
    transition: none;
  }
}
