@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../fonts/open-sans-400.woff2") format("woff2");
}

/* Reusable Gutenberg components and the prototype style guide. */
.standard-page__content h4 {
  font-size: 1.3rem;
}

.standard-page__content h5 {
  font-size: 1.05rem;
}

.standard-page__content h6 {
  font-size: 0.82rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

/* Gutenberg emits a later two-column rule for these fixed homepage grids.
   Force the intended single-card mobile flow for both compositions. */
@media (max-width: 680px) {
  .ilsf-homepage-missions .mission-grid,
  .ilsf-homepage-events .event-showcase {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .ilsf-homepage-missions .mission-grid > *,
  .ilsf-homepage-events .event-showcase > * {
    width: 100%;
    min-width: 0;
  }
}

/* August 2026 private content-page refreshes. */
.standard-page__content > .ilsf-refresh.alignfull {
  width: 100vw;
  max-width: none;
  padding-block: clamp(3rem, 7vw, 6rem);
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 50%;
  transform: translateX(-50%);
  background: var(--ilsf-sky);
  color: var(--ilsf-ocean);
}

.standard-page__content .ilsf-refresh__inner.alignwide {
  width: var(--ilsf-page-canvas);
  max-width: var(--ilsf-wide-content);
  margin-inline: auto;
}

/*
 * Gutenberg's constrained Group layout otherwise pulls structural children
 * back to the 760px prose measure, even when their parent is alignwide.
 */
.standard-page__content .ilsf-refresh__inner.alignwide > :is(
  .ilsf-refresh-grid,
  .ilsf-refresh-panel,
  .ilsf-refresh__section-title,
  .ilsf-academy-team,
  .ilsf-webinars-grid,
  .ilsf-wdpd-news,
  .ilsf-honouree-section
) {
  width: 100%;
  max-width: none;
}

.standard-page__content .ilsf-refresh__inner > :first-child,
.standard-page__content .ilsf-refresh-panel > :first-child,
.standard-page__content .ilsf-refresh-card > :first-child {
  margin-top: 0;
}

.standard-page__content .ilsf-refresh__inner > :last-child,
.standard-page__content .ilsf-refresh-panel > :last-child,
.standard-page__content .ilsf-refresh-card > :last-child {
  margin-bottom: 0;
}

.standard-page__content .ilsf-refresh__lead {
  max-width: 800px;
  margin: 0 auto clamp(2rem, 4vw, 3.5rem);
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  line-height: 1.6;
  text-align: center;
}

.standard-page__content .ilsf-refresh__section-title {
  margin: clamp(3rem, 6vw, 5rem) 0 clamp(1.5rem, 3vw, 2.5rem);
  color: var(--ilsf-ocean);
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.08;
  text-transform: uppercase;
}

.standard-page__content .ilsf-refresh-panel,
.standard-page__content .ilsf-refresh-card {
  overflow: hidden;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-radius: var(--ilsf-radius-small);
  background: var(--ilsf-white);
  box-shadow: 0 18px 45px rgb(3 47 84 / 8%);
}

.standard-page__content .ilsf-refresh-panel--document {
  padding: clamp(2rem, 5vw, 4.5rem);
}

.standard-page__content .ilsf-refresh-grid {
  display: grid;
  align-items: stretch;
  gap: clamp(1.25rem, 2.5vw, 2rem);
}

.standard-page__content .ilsf-refresh-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* Legacy navigation rendered as a readable, responsive site map. */
.standard-page__content .ilsf-refresh--site-map .ilsf-refresh__lead {
  max-width: 900px;
}

.standard-page__content .ilsf-site-map-panel {
  width: 100%;
  max-width: none;
  padding: clamp(1.5rem, 3vw, 3rem);
}

.standard-page__content .ilsf-site-map,
.standard-page__content .ilsf-site-map ul {
  width: 100%;
  max-width: none;
}

.standard-page__content .ilsf-site-map ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

.standard-page__content .ilsf-site-map__menu {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: clamp(1.25rem, 2.5vw, 2rem);
}

.standard-page__content .ilsf-site-map__menu > li {
  min-width: 0;
  padding: clamp(1.25rem, 2.5vw, 2rem);
  border-top: 6px solid var(--ilsf-yellow);
  border-radius: var(--ilsf-radius-small);
  background: var(--ilsf-mist);
}

.standard-page__content .ilsf-site-map a {
  color: var(--ilsf-ocean);
  font-weight: 650;
  overflow-wrap: anywhere;
  text-decoration: none;
}

.standard-page__content .ilsf-site-map a:hover,
.standard-page__content .ilsf-site-map a:focus-visible {
  color: var(--ilsf-red);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.2em;
}

.standard-page__content .ilsf-site-map__menu > li > a {
  display: inline-block;
  margin-bottom: 0.85rem;
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  font-weight: 850;
  line-height: 1.15;
  text-transform: uppercase;
}

.standard-page__content .ilsf-site-map .sub-menu {
  display: grid;
  gap: 0.55rem;
  padding-left: 1rem;
  border-left: 2px solid rgb(3 47 84 / 18%);
}

.standard-page__content .ilsf-site-map .sub-menu .sub-menu {
  gap: 0.4rem;
  padding-top: 0.45rem;
  margin-top: 0.45rem;
}

.standard-page__content .ilsf-site-map .sub-menu .sub-menu a {
  font-size: 0.92em;
  font-weight: 500;
}

@media (max-width: 980px) {
  .standard-page__content .ilsf-site-map__menu {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .standard-page__content .ilsf-site-map__menu {
    grid-template-columns: minmax(0, 1fr);
  }
}

.standard-page__content .ilsf-refresh-card {
  border-top: 8px solid var(--ilsf-yellow);
}

.standard-page__content .ilsf-refresh-card h2 {
  margin: 0 0 1.25rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.15;
  text-transform: uppercase;
}

.standard-page__content .ilsf-refresh-card a:not(.wp-block-button__link) {
  color: var(--ilsf-ocean);
}

/* Lifesaving Webinar Series. */
.standard-page__content .ilsf-webinars-intro {
  border-top: 8px solid var(--ilsf-sky-strong);
  text-align: center;
}

.standard-page__content .ilsf-webinars-intro h2 {
  margin: 0 0 1rem;
  color: var(--ilsf-red);
  font-size: clamp(1.8rem, 3vw, 2.75rem);
  line-height: 1.08;
  text-transform: uppercase;
}

.standard-page__content .ilsf-webinars-intro .ilsf-refresh__lead {
  margin-bottom: 1.25rem;
}

.standard-page__content .ilsf-webinars-intro > p:not(.ilsf-refresh__lead) {
  max-width: 900px;
  margin: 0 auto clamp(1.5rem, 3vw, 2.25rem);
  line-height: 1.7;
}

.standard-page__content .ilsf-webinars-focus {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 0.85rem;
  width: min(100%, 760px);
  max-width: none;
  margin: 0 auto;
}

.standard-page__content .ilsf-webinars-focus p {
  padding: 0.8rem 1rem;
  border-radius: 999px;
  margin: 0;
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
  font-size: 0.82rem;
  font-weight: 850;
  letter-spacing: 0.05em;
  line-height: 1.2;
  text-transform: uppercase;
}

.standard-page__content .ilsf-webinars-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch;
  gap: clamp(1.25rem, 2.5vw, 2rem);
}

.standard-page__content .ilsf-webinar-card {
  box-sizing: border-box;
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
  border-top: 8px solid var(--ilsf-yellow);
  border-radius: var(--ilsf-radius-small);
  margin: 0;
  background: var(--ilsf-white);
  box-shadow: 0 18px 45px rgb(3 47 84 / 10%);
}

.standard-page__content .ilsf-webinar-card__video.wp-block-embed {
  width: 100%;
  margin: 0;
  background: var(--ilsf-ocean-deep);
}

.standard-page__content .ilsf-webinar-card__video .wp-block-embed__wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 0;
  overflow: hidden;
  font-size: 0;
  line-height: 0;
}

.standard-page__content .ilsf-webinar-card__video iframe {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.standard-page__content .ilsf-webinar-card__content {
  box-sizing: border-box;
  display: flex;
  width: 100%;
  max-width: none;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  padding: clamp(1.5rem, 3vw, 2.25rem);
}

.standard-page__content .ilsf-webinar-card__content > :first-child {
  margin-top: 0;
}

.standard-page__content .ilsf-webinar-card__eyebrow {
  margin: 0 0 0.75rem;
  color: var(--ilsf-red);
  font-size: 0.75rem;
  font-weight: 850;
  letter-spacing: 0.045em;
  line-height: 1.35;
  text-transform: uppercase;
}

.standard-page__content .ilsf-webinar-card h2 {
  margin: 0 0 1.15rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.12;
  text-transform: uppercase;
}

.standard-page__content .ilsf-webinar-card p:not(.ilsf-webinar-card__eyebrow),
.standard-page__content .ilsf-webinar-card li {
  line-height: 1.6;
}

.standard-page__content .ilsf-webinar-card .wp-block-list {
  padding-left: 1.2rem;
  margin-bottom: 1.5rem;
}

.standard-page__content .ilsf-webinar-card li::marker {
  color: var(--ilsf-red);
}

.standard-page__content .ilsf-webinar-card__actions {
  padding-top: 0.5rem;
  margin: auto 0 0;
}

@media (max-width: 1050px) {
  .standard-page__content .ilsf-webinars-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .standard-page__content .ilsf-webinar-card {
    display: grid;
    grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.2fr);
  }
}

@media (max-width: 720px) {
  .standard-page__content .ilsf-webinars-focus,
  .standard-page__content .ilsf-webinar-card {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/* Public Education. */
.standard-page__content .ilsf-refresh--public-education .ilsf-refresh-grid > :last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

.standard-page__content .ilsf-refresh--public-education .ilsf-refresh-card ol {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.8rem;
  padding: 0;
  margin: 0;
  counter-reset: safety-tip;
  list-style: none;
}

.standard-page__content .ilsf-refresh--public-education .ilsf-refresh-card li {
  position: relative;
  min-height: 2.25rem;
  padding-left: 2.6rem;
  margin: 0;
  counter-increment: safety-tip;
}

.standard-page__content .ilsf-refresh--public-education .ilsf-refresh-card li::before {
  position: absolute;
  top: -0.1rem;
  left: 0;
  display: grid;
  width: 2rem;
  height: 2rem;
  place-items: center;
  border-radius: 50%;
  background: var(--ilsf-red);
  color: var(--ilsf-white);
  content: counter(safety-tip);
  font-size: 0.78rem;
  font-weight: 850;
}

/* ILS Academy. */
.standard-page__content .ilsf-refresh--academy {
  background: linear-gradient(to bottom, var(--ilsf-sky) 0 42%, var(--ilsf-ocean) 42% 100%);
}

.standard-page__content .ilsf-refresh--academy .ilsf-refresh-panel h2 {
  margin: 0 0 1.25rem;
  color: var(--ilsf-red);
  font-size: clamp(1.8rem, 3vw, 2.75rem);
  text-transform: uppercase;
}

.standard-page__content .ilsf-academy-team {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem, 3vw, 2.25rem);
}

.standard-page__content .ilsf-refresh--academy .ilsf-refresh__section-title {
  color: var(--ilsf-ocean);
}

.standard-page__content .ilsf-academy-person {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto 1fr;
  align-content: start;
  overflow: hidden;
  border-radius: var(--ilsf-radius-small);
  background: var(--ilsf-white);
  box-shadow: 0 18px 45px rgb(0 0 0 / 12%);
}

.standard-page__content .ilsf-academy-person__image {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 4 / 3;
  margin: 0;
  background: var(--ilsf-mist);
}

.standard-page__content .ilsf-academy-person__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: top center;
}

.standard-page__content .ilsf-academy-person h3,
.standard-page__content .ilsf-academy-person > p {
  grid-column: 1;
  padding-inline: clamp(1.25rem, 2vw, 2rem);
}

.standard-page__content .ilsf-academy-person h3 {
  margin: clamp(1.25rem, 2vw, 2rem) 0 0.75rem;
  font-size: clamp(1.3rem, 2vw, 1.65rem);
  line-height: 1.15;
  text-transform: uppercase;
}

.standard-page__content .ilsf-academy-person > p {
  padding-bottom: clamp(1.25rem, 2vw, 2rem);
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.58;
}

/* Honourees and award-recipient directories. */
.standard-page__content .ilsf-refresh--honouree-directory {
  background: var(--ilsf-sky);
}

.standard-page__content .ilsf-honouree-intro h2,
.standard-page__content .ilsf-honouree-section > h2 {
  color: var(--ilsf-ocean);
  text-transform: uppercase;
}

.standard-page__content .ilsf-honouree-intro h2 {
  margin: 0 0 1.25rem;
  font-size: clamp(1.8rem, 3vw, 2.75rem);
}

.standard-page__content .ilsf-honouree-section {
  margin-top: clamp(3rem, 7vw, 6rem);
}

/*
 * Keep the heading, qualification panel and directory grid on the same wide
 * contained canvas. Gutenberg's constrained layout otherwise gives these
 * three children separate 760px/960px measures.
 */
.standard-page__content .ilsf-honouree-section > :is(
  h2,
  .ilsf-honouree-qualification,
  .ilsf-honouree-grid
) {
  width: 100%;
  max-width: none;
}

.standard-page__content .ilsf-honouree-section > h2 {
  margin: 0 0 1.25rem;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.08;
}

.standard-page__content .ilsf-honouree-qualification {
  padding: clamp(1.25rem, 2.5vw, 2rem);
  border-left: 6px solid var(--ilsf-signal-red, #ff0000);
  border-radius: 0 var(--ilsf-radius-small) var(--ilsf-radius-small) 0;
  margin: 0 0 clamp(1.75rem, 3vw, 2.75rem);
  background: rgb(255 255 255 / 72%);
}

.standard-page__content .ilsf-honouree-qualification p {
  max-width: 1100px;
  margin: 0;
}

.standard-page__content .ilsf-honouree-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(1rem, 2vw, 1.75rem);
  margin: 0;
}

.standard-page__content .ilsf-honouree-card {
  display: flex;
  overflow: hidden;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  padding: 0;
  border-top: 7px solid var(--ilsf-yellow);
  border-radius: var(--ilsf-radius-small);
  margin: 0;
  background: var(--ilsf-white);
  box-shadow: 0 18px 45px rgb(3 47 84 / 9%);
}

.standard-page__content .ilsf-honouree-card__portrait {
  width: 100%;
  aspect-ratio: 4 / 3;
  margin: 0;
  background: var(--ilsf-mist);
}

.standard-page__content .ilsf-honouree-card__portrait img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.standard-page__content .ilsf-honouree-card__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: clamp(1.15rem, 2vw, 1.65rem);
}

.standard-page__content .ilsf-honouree-card__identity {
  display: flex;
  width: 100%;
  min-height: 11rem;
  max-width: none;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.standard-page__content .ilsf-honouree-card__identity > * {
  width: 100%;
  max-width: none;
}

.standard-page__content .ilsf-honouree-card h3 {
  overflow-wrap: anywhere;
  margin: 0 0 0.65rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1rem, 1.25vw, 1.25rem);
  line-height: 1.22;
  text-align: center;
  text-transform: none;
}

.standard-page__content .ilsf-honouree-card__country {
  margin: 0 0 0.45rem;
  color: rgb(11 76 124 / 76%);
  font-size: 0.78rem;
  font-weight: 650;
  line-height: 1.35;
  text-align: center;
}

.standard-page__content .ilsf-honouree-card__status {
  margin: 0 0 0.8rem;
  color: rgb(11 76 124 / 62%);
  font-size: 0.78rem;
  font-style: italic;
  line-height: 1.35;
  text-align: center;
}

.standard-page__content .ilsf-honouree-card__year {
  margin: 0 0 0.65rem;
  color: var(--ilsf-signal-red, #ff0000);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-align: center;
  text-transform: uppercase;
}

.standard-page__content .ilsf-honouree-card__context,
.standard-page__content .ilsf-honouree-card__detail {
  margin: auto 0 0;
  color: var(--ilsf-ocean);
  font-size: 0.9rem;
  line-height: 1.45;
}

.standard-page__content .ilsf-honouree-card__detail {
  padding-top: 0.45rem;
  margin-top: 0;
}

.standard-page__content .ilsf-honouree-actions {
  margin-top: clamp(2.5rem, 5vw, 4rem);
}

@media (max-width: 1280px) {
  .standard-page__content .ilsf-honouree-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 980px) {
  .standard-page__content .ilsf-honouree-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .standard-page__content .ilsf-honouree-card__identity {
    min-height: 9rem;
  }

  .standard-page__content .ilsf-honouree-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 460px) {
  .standard-page__content .ilsf-honouree-card__identity {
    min-height: 0;
  }

  .standard-page__content .ilsf-honouree-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* WDPD and its category-filtered Latest News pattern. */
.standard-page__content .ilsf-wdpd-intro .wp-block-image {
  max-width: 900px;
  margin: 0 auto clamp(1.5rem, 3vw, 2.5rem);
}

.standard-page__content .ilsf-wdpd-intro p {
  max-width: 960px;
  margin-inline: auto;
}

.standard-page__content .ilsf-wdpd-news {
  padding: clamp(3rem, 6vw, 5rem) 0 0;
  background: transparent;
}

.standard-page__content .ilsf-wdpd-news .section-heading,
.standard-page__content .ilsf-wdpd-news .ilsf-homepage-news__grid,
.standard-page__content .ilsf-wdpd-news .ilsf-news-index-actions {
  width: 100%;
  max-width: none;
}

.standard-page__content .ilsf-wdpd-news .eyebrow {
  color: var(--ilsf-ocean);
  font-size: clamp(1.4rem, 2vw, 2rem);
  letter-spacing: 0;
}

/*
 * Reusable WDPD news variant: retain the Latest News composition while
 * matching the water-blue top rule used by the WDPD cards and omitting the
 * visible section label.
 */
.wp-block-group.is-style-ilsf-wdpd-news > .section-heading {
  display: none;
}

.wp-block-group.is-style-ilsf-wdpd-news :is(
  .ilsf-featured-post-preview__card,
  .ilsf-post-card__card
) {
  border-top: 6px solid var(--wp--preset--color--water-blue);
}

/* Conference, championships and World Games document panels. */
.standard-page__content :is(.ilsf-refresh--conference, .ilsf-refresh--championships, .ilsf-refresh--world-games) .ilsf-refresh-panel--document > h2 {
  padding-top: clamp(2rem, 4vw, 3.5rem);
  border-top: 8px solid var(--ilsf-yellow);
  margin-top: clamp(2.5rem, 5vw, 4rem);
  color: var(--ilsf-red);
  font-size: clamp(1.8rem, 3vw, 2.65rem);
  text-transform: uppercase;
}

.standard-page__content :is(.ilsf-refresh--conference, .ilsf-refresh--championships, .ilsf-refresh--world-games) .ilsf-refresh-panel--document > h3 {
  margin-top: 2rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  text-transform: uppercase;
}

/* Championships: turn the long source document into a scannable pathway. */
.standard-page__content .ilsf-refresh--championships .ilsf-refresh__inner.alignwide > :is(
  .ilsf-championships-intro,
  .ilsf-championships__grid,
  .ilsf-championship-feature,
  .ilsf-championships__multisport-intro,
  .ilsf-championships__multisport-grid
) {
  width: 100%;
  max-width: none;
}

.standard-page__content .ilsf-championships-intro {
  border-top: 8px solid var(--ilsf-sky-strong);
  text-align: center;
}

.standard-page__content .ilsf-championships-intro p {
  max-width: 920px;
  margin: 0 auto;
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  line-height: 1.65;
}

.standard-page__content .ilsf-championship-card {
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
}

.standard-page__content .ilsf-championship-card p {
  margin: 0 0 1rem;
  line-height: 1.65;
}

.standard-page__content .ilsf-championship-card p:last-child {
  margin-bottom: 0;
}

.standard-page__content .ilsf-championship-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(280px, 0.55fr);
  gap: clamp(2rem, 4vw, 4rem);
  padding: clamp(2rem, 5vw, 4.5rem);
  border-top: 8px solid var(--ilsf-yellow);
  border-radius: var(--ilsf-radius-small);
  background: var(--ilsf-ocean);
  box-shadow: 0 20px 50px rgb(3 47 84 / 16%);
  color: var(--ilsf-white);
}

.standard-page__content .ilsf-championship-feature > * {
  width: 100%;
  max-width: none;
}

.standard-page__content .ilsf-championship-feature h2 {
  margin: 0 0 1.25rem;
  color: var(--ilsf-white);
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1;
  text-transform: uppercase;
}

.standard-page__content .ilsf-championship-feature__copy p {
  color: var(--ilsf-white);
  line-height: 1.68;
}

.standard-page__content .ilsf-championship-feature__copy .wp-block-buttons {
  margin-top: 2rem;
}

.standard-page__content .ilsf-championship-facts {
  display: grid;
  align-content: start;
  gap: 1rem;
}

.standard-page__content .ilsf-championship-fact {
  padding: 1.25rem 1.35rem;
  border-left: 5px solid var(--ilsf-red);
  border-radius: 0 10px 10px 0;
  background: rgb(255 255 255 / 10%);
}

.standard-page__content .ilsf-championship-fact p {
  margin: 0;
  color: var(--ilsf-white);
}

.standard-page__content .ilsf-championship-fact__label {
  margin-bottom: 0.35rem !important;
  color: var(--ilsf-yellow) !important;
  font-size: 0.75rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.standard-page__content .ilsf-championship-fact__value {
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 800;
  line-height: 1.25;
}

.standard-page__content .ilsf-championship-fact__detail {
  margin-top: 0.35rem !important;
  font-size: 0.9rem;
  line-height: 1.45;
}

.standard-page__content .ilsf-championships__multisport-intro {
  max-width: 900px !important;
  margin: 0 auto clamp(2rem, 4vw, 3rem);
  font-size: clamp(1.05rem, 2vw, 1.25rem);
  line-height: 1.65;
  text-align: center;
}

.standard-page__content .ilsf-championships__multisport-grid {
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
}

@media (max-width: 980px) {
  .standard-page__content .ilsf-championship-feature {
    grid-template-columns: minmax(0, 1fr);
  }

  .standard-page__content .ilsf-championship-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .standard-page__content .ilsf-championship-facts {
    grid-template-columns: minmax(0, 1fr);
  }
}

.standard-page__content .ilsf-refresh--conference li > a[href$=".pdf"],
.standard-page__content .ilsf-refresh--conference li > a[href$=".docx"],
.standard-page__content .ilsf-refresh--conference li > a[href$=".xlsx"] {
  display: block;
  padding: 0.9rem 1.1rem;
  border-radius: 8px;
  background: var(--ilsf-mist);
  color: var(--ilsf-ocean);
  font-weight: 750;
  text-decoration: none;
}

.standard-page__content .ilsf-refresh--conference li > a[href$=".pdf"]:hover,
.standard-page__content .ilsf-refresh--conference li > a[href$=".docx"]:hover,
.standard-page__content .ilsf-refresh--conference li > a[href$=".xlsx"]:hover {
  box-shadow: inset 0 -4px 0 var(--ilsf-yellow);
}

.standard-page__content .ilsf-refresh--world-games .wp-block-image {
  max-width: 420px;
  margin: 0 auto 2rem;
}

.standard-page__content .ilsf-refresh--world-games .wp-block-list {
  padding: 1.25rem 1.5rem 1.25rem 2.75rem;
  border-radius: var(--ilsf-radius-small);
  background: var(--ilsf-mist);
}

/* Lifesaving Sport Events: wide, scannable discipline card directory. */
.standard-page__content .ilsf-refresh--disciplines .ilsf-refresh__inner.alignwide > :is(
  .ilsf-disciplines-intro,
  .ilsf-discipline-section
) {
  width: 100%;
  max-width: none;
}

.standard-page__content .ilsf-disciplines-intro {
  border-top: 8px solid var(--ilsf-sky-strong);
  text-align: center;
}

.standard-page__content .ilsf-disciplines-intro p {
  max-width: 900px;
  margin: 0 auto 1rem;
  font-size: clamp(1.05rem, 2vw, 1.3rem);
  line-height: 1.65;
}

.standard-page__content .ilsf-disciplines-intro p:last-child {
  margin-bottom: 0;
}

.standard-page__content .ilsf-discipline-section {
  margin-top: clamp(3.5rem, 7vw, 6rem);
}

.standard-page__content .ilsf-discipline-section__title {
  width: 100%;
  max-width: none;
  margin: 0 0 clamp(1.5rem, 3vw, 2.5rem);
  color: var(--ilsf-ocean);
  font-size: clamp(1.8rem, 3.5vw, 2.75rem);
  line-height: 1.05;
  text-transform: uppercase;
}

.standard-page__content .ilsf-discipline-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(1.25rem, 2.5vw, 2rem);
  width: 100%;
  max-width: none;
}

.standard-page__content .ilsf-discipline-grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.standard-page__content .ilsf-discipline-card {
  box-sizing: border-box;
  display: flex;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  padding: clamp(1.5rem, 2.5vw, 2.25rem);
  border-top: 8px solid var(--ilsf-yellow);
  border-radius: var(--ilsf-radius-small);
  background: var(--ilsf-white);
  box-shadow: 0 18px 45px rgb(3 47 84 / 9%);
}

.standard-page__content .ilsf-discipline-card > :first-child {
  margin-top: 0;
}

.standard-page__content .ilsf-discipline-card > :last-child {
  margin-bottom: 0;
}

.standard-page__content .ilsf-discipline-card h3 {
  width: 100%;
  max-width: none;
  margin: 0 0 1rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  line-height: 1.15;
  text-transform: uppercase;
}

.standard-page__content .ilsf-discipline-card p:not(.ilsf-discipline-card__category) {
  width: 100%;
  max-width: none;
  margin: 0 0 0.85rem;
  color: var(--ilsf-ocean);
  font-size: 0.98rem;
  line-height: 1.62;
}

.standard-page__content .ilsf-discipline-card__category {
  width: 100%;
  max-width: none;
  margin: 0 0 0.6rem;
  color: var(--ilsf-red);
  font-size: 0.73rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

@media (max-width: 1100px) {
  .standard-page__content .ilsf-discipline-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .standard-page__content .ilsf-discipline-grid,
  .standard-page__content .ilsf-discipline-grid--two {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Long official disciplines and rules pages. */
.standard-page__content :is(.ilsf-refresh--disciplines, .ilsf-refresh--rules) .ilsf-refresh-panel--document > h3 {
  padding-top: clamp(2rem, 5vw, 4rem);
  border-top: 8px solid var(--ilsf-yellow);
  margin-top: clamp(3rem, 6vw, 5rem);
  color: var(--ilsf-red);
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  text-transform: uppercase;
}

.standard-page__content .ilsf-refresh--disciplines .ilsf-refresh-panel--document > h4 {
  padding: 1rem 1.25rem;
  border-top: 6px solid var(--ilsf-yellow);
  border-radius: var(--ilsf-radius-small) var(--ilsf-radius-small) 0 0;
  margin: 1.5rem 0 0;
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
  font-size: 1.08rem;
  text-transform: uppercase;
}

.standard-page__content .ilsf-refresh--disciplines .ilsf-refresh-panel--document > h4 + p {
  padding: 1.15rem 1.25rem 1.35rem;
  border-radius: 0 0 var(--ilsf-radius-small) var(--ilsf-radius-small);
  margin: 0;
  background: var(--ilsf-mist);
}

.standard-page__content .ilsf-refresh--rules .wp-block-file {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  border-radius: 8px;
  background: var(--ilsf-mist);
}

.standard-page__content .ilsf-refresh--rules .wp-block-table,
.standard-page__content .ilsf-refresh--anti-doping .wp-block-table {
  overflow-x: auto;
}

/* WADA page: only the surrounding canvas changes; source order/layout stays intact. */
.standard-page__content .ilsf-refresh--anti-doping .ilsf-refresh-panel--document {
  max-width: 1100px;
  margin-inline: auto;
}

.standard-page__content .ilsf-refresh--anti-doping .ilsf-refresh-panel--document > :first-child {
  margin-top: 0;
}

@media (max-width: 1100px) {
  .standard-page__content .ilsf-refresh__inner.alignwide {
    width: var(--ilsf-page-canvas);
  }

  .standard-page__content .ilsf-academy-team {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 780px) {
  .standard-page__content .ilsf-refresh-grid--two,
  .standard-page__content .ilsf-academy-team {
    grid-template-columns: 1fr;
  }

  .standard-page__content .ilsf-refresh--public-education .ilsf-refresh-grid > :last-child:nth-child(odd) {
    grid-column: auto;
  }

  .standard-page__content .ilsf-refresh--public-education .ilsf-refresh-card ol {
    grid-template-columns: 1fr;
  }

  .standard-page__content .ilsf-academy-person {
    grid-template-columns: 1fr;
  }

  .standard-page__content .ilsf-academy-person__image,
  .standard-page__content .ilsf-academy-person h3,
  .standard-page__content .ilsf-academy-person > p {
    grid-column: 1;
    grid-row: auto;
  }

  .standard-page__content .ilsf-academy-person__image {
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 3;
  }

  .standard-page__content .ilsf-refresh-panel--document {
    padding: 1.5rem;
  }

  .standard-page__content .ilsf-refresh--rules .wp-block-file {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* Member federation directory and organisation profiles. */
.member-federations-page__intro {
  padding-block: clamp(3rem, 6vw, 5rem);
}

.member-federations-page__intro a {
  color: var(--ilsf-ocean);
  font-weight: 750;
}

.member-directory {
  padding-block: clamp(3.5rem, 7vw, 6rem);
  background: var(--ilsf-sky);
  color: var(--ilsf-ocean);
}

.member-directory__heading {
  display: block;
  margin-bottom: 1.5rem;
}

.member-directory__heading h2,
.member-directory__heading p {
  margin: 0;
}

.member-directory__heading h2 {
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  text-transform: uppercase;
}

.member-directory__heading p {
  color: var(--ilsf-muted);
  font-size: 0.92rem;
  font-weight: 700;
}

.member-directory__table-wrap {
  overflow: hidden;
  border-top: 8px solid var(--ilsf-yellow);
  border-radius: var(--ilsf-radius-small);
  background: var(--ilsf-white);
  box-shadow: 0 18px 42px rgb(3 47 84 / 10%);
}

.member-directory__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 0.95rem;
  line-height: 1.45;
}

.member-directory__table th,
.member-directory__table td {
  padding: 1rem 1.1rem;
  border: 0;
  border-bottom: 1px solid var(--ilsf-border);
  text-align: left;
  vertical-align: top;
}

.member-directory__table th {
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
  font-family: var(--ilsf-font-heading);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.member-directory__sort {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  font: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  text-align: left;
  text-transform: inherit;
}

.member-directory__sort-indicator {
  flex: 0 0 auto;
  color: var(--ilsf-yellow);
  font-size: 1rem;
  line-height: 1;
}

.member-directory__sort:hover,
.member-directory__sort:focus-visible {
  color: var(--ilsf-yellow);
}

.member-directory__sort:focus-visible {
  outline: 2px solid var(--ilsf-yellow);
  outline-offset: 4px;
}

.member-directory__table th:nth-child(1) {
  width: 18%;
}

.member-directory__table th:nth-child(2) {
  width: 40%;
}

.member-directory__table th:nth-child(3),
.member-directory__table th:nth-child(4) {
  width: 21%;
}

.member-directory__table tbody tr:nth-child(even) {
  background: color-mix(in srgb, var(--ilsf-sky) 38%, var(--ilsf-white));
}

.member-directory__table tbody tr:last-child td {
  border-bottom: 0;
}

.member-directory__table a {
  color: var(--ilsf-ocean);
  font-weight: inherit;
  text-decoration: none;
}

.member-directory__table a:hover,
.member-directory__table a:focus-visible {
  color: var(--ilsf-red);
}

.member-directory__empty {
  padding: 2rem;
  border-radius: var(--ilsf-radius-small);
  margin: 0;
  background: var(--ilsf-white);
  text-align: center;
}

.organisation-profile .page-hero h1 {
  font-size: clamp(2.5rem, 5vw, 4.5rem);
}

.organisation-profile__body {
  padding-block: clamp(3.5rem, 7vw, 6rem);
  background: var(--ilsf-sky);
  color: var(--ilsf-ocean);
}

.organisation-profile__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.75fr);
  align-items: start;
  gap: clamp(1.5rem, 4vw, 3rem);
}

.organisation-profile__main,
.organisation-profile__details {
  overflow: hidden;
  border-top: 8px solid var(--ilsf-yellow);
  border-radius: var(--ilsf-radius-small);
  background: var(--ilsf-white);
  box-shadow: 0 18px 42px rgb(3 47 84 / 10%);
}

.organisation-profile__main {
  padding: clamp(1.5rem, 4vw, 3rem);
}

.organisation-profile__logo {
  display: grid;
  min-height: 180px;
  place-items: center;
  padding-bottom: clamp(1.5rem, 4vw, 2.5rem);
  border-bottom: 1px solid var(--ilsf-border);
  margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
}

.organisation-profile__logo img {
  width: auto;
  max-width: min(100%, 540px);
  max-height: 260px;
  object-fit: contain;
}

.organisation-profile__content > :first-child {
  margin-top: 0;
}

.organisation-profile__content > :last-child {
  margin-bottom: 0;
}

.organisation-profile__content h2,
.organisation-profile__content h3,
.organisation-profile__content h4 {
  margin-top: 1.5em;
}

.organisation-profile__details {
  padding: clamp(1.5rem, 3vw, 2.25rem);
}

.organisation-profile__details h2 {
  margin-bottom: 1.25rem;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  text-transform: uppercase;
}

.organisation-profile__details dl {
  margin: 0;
}

.organisation-profile__details dl > div {
  padding-block: 1rem;
  border-top: 1px solid var(--ilsf-border);
}

.organisation-profile__details dt {
  margin-bottom: 0.2rem;
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.organisation-profile__details dd {
  margin: 0;
  overflow-wrap: anywhere;
}

.organisation-profile__details a {
  color: var(--ilsf-ocean);
  font-weight: 750;
}

.organisation-profile__details a:hover,
.organisation-profile__details a:focus-visible {
  color: var(--ilsf-red);
}

.organisation-profile__updated {
  padding-top: 1rem;
  border-top: 1px solid var(--ilsf-border);
  margin: 0;
  color: var(--ilsf-muted);
  font-size: 0.82rem;
}

.organisation-profile__back {
  margin-top: 2rem;
}

.organisation-profile__back a {
  display: inline-flex;
  padding: 0.7rem 1.2rem;
  border-radius: 999px;
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
  font-weight: 800;
  text-decoration: none;
}

.organisation-profile__back a:hover,
.organisation-profile__back a:focus-visible {
  box-shadow: inset 0 -4px 0 var(--ilsf-yellow);
  color: var(--ilsf-white);
}

@media (max-width: 900px) {
  .organisation-profile__layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 780px) {
  .member-directory__heading {
    display: block;
  }

  .member-directory__heading p {
    margin-top: 0.5rem;
  }

  .member-directory__table-wrap {
    overflow: visible;
    border-top: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .member-directory__table,
  .member-directory__table tbody,
  .member-directory__table tr,
  .member-directory__table td {
    display: block;
    width: 100%;
  }

  .member-directory__table {
    table-layout: auto;
  }

  .member-directory__table thead {
    display: block;
    width: 100%;
    margin-bottom: 0.75rem;
  }

  .member-directory__table thead tr {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.5rem;
    width: 100%;
  }

  .member-directory__table thead th {
    display: block;
    width: auto !important;
    padding: 0.7rem 0.8rem;
    border: 0;
    border-radius: 7px;
    font-size: 0.7rem;
  }

  .member-directory__table tbody tr,
  .member-directory__table tbody tr:nth-child(even) {
    overflow: hidden;
    border-top: 7px solid var(--ilsf-yellow);
    border-radius: var(--ilsf-radius-small);
    margin-bottom: 1rem;
    background: var(--ilsf-white);
    box-shadow: 0 12px 30px rgb(3 47 84 / 9%);
  }

  .member-directory__table td {
    display: grid;
    grid-template-columns: minmax(7.5rem, 0.8fr) minmax(0, 1.4fr);
    gap: 1rem;
    padding: 0.85rem 1rem;
    border-bottom: 1px solid var(--ilsf-border);
  }

  .member-directory__table td::before {
    content: attr(data-label);
    color: var(--ilsf-ocean);
    font-size: 0.72rem;
    font-weight: 850;
    letter-spacing: 0.07em;
    text-transform: uppercase;
  }
}

@media (max-width: 480px) {
  .member-directory__table td {
    grid-template-columns: 1fr;
    gap: 0.2rem;
  }

  .organisation-profile__main,
  .organisation-profile__details {
    padding: 1.25rem;
  }
}

/* Native News landing page. */
.ilsf-news-page {
  background: var(--ilsf-sky);
}

.news-shell {
  width: var(--ilsf-page-canvas);
  margin-inline: auto;
}

.news-hero {
	min-height: 226px;
	display: block;
	padding: 0;
	color: var(--ilsf-white);
	background: var(--ilsf-ocean);
	text-align: center;
}

.news-hero__inner {
	width: min(80%, 1080px);
	padding: 1.5rem 0 0;
}

.news-hero__inner.is-page-title-animation-ready,
.page-hero__inner.is-page-title-animation-ready {
	opacity: 0;
	transform: scale3d(0.5, 0.5, 0.5);
	will-change: opacity, transform;
}

@keyframes ilsf-page-title-fade-in-from-centre {
	to {
		opacity: 1;
		transform: scale3d(1, 1, 1);
	}
}

.news-hero__inner.is-page-title-animation-ready.is-page-title-animating,
.page-hero__inner.is-page-title-animation-ready.is-page-title-animating {
	animation-name: ilsf-page-title-fade-in-from-centre;
	animation-duration: 1000ms;
	animation-fill-mode: both;
	animation-timing-function: ease-in-out;
}

.news-hero__inner.is-page-title-animation-complete,
.page-hero__inner.is-page-title-animation-complete {
	opacity: 1;
	transform: none;
	will-change: auto;
}

@media (prefers-reduced-motion: reduce) {
	.news-hero__inner.is-page-title-animation-ready,
	.page-hero__inner.is-page-title-animation-ready {
		opacity: 1;
		transform: none;
		animation: none;
	}
}

.news-hero h1 {
	margin: 0;
	padding-bottom: 10px;
	color: var(--ilsf-white);
	font-family: var(--ilsf-font-heading);
	font-size: 5rem;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
}

.news-main {
  padding: 96px 0 120px;
  background: var(--ilsf-sky);
}

.news-section-label {
  margin: 0 0 16px;
  color: var(--ilsf-ocean);
  font-size: 0.82rem;
  font-weight: 800;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.news-section-label--light {
  color: var(--ilsf-yellow);
}

.news-featured {
  margin-bottom: 80px;
}

.news-card {
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: var(--ilsf-white);
  border-top: 8px solid var(--ilsf-yellow);
  border-radius: 12px;
  box-shadow: 0 18px 42px rgb(3 47 84 / 10%);
  animation: ilsf-news-card-in 0.55s both;
}

.news-card--featured {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.85fr);
}

.news-card__image {
  display: block;
  min-height: 260px;
  overflow: hidden;
  background: var(--ilsf-mist);
}

.news-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.news-card:not(.news-card--featured) .news-card__image {
  min-height: 0;
  aspect-ratio: 16 / 10;
}

.news-card--featured .news-card__image {
  min-height: 480px;
}

.news-card__image-placeholder {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 260px;
  background: linear-gradient(135deg, var(--ilsf-ocean), var(--ilsf-sky));
}

.news-card__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: 30px 28px 32px;
}

.news-card--featured .news-card__content {
  justify-content: center;
  padding: 52px 46px;
}

.news-card__date {
  margin-bottom: 14px;
  color: var(--ilsf-red);
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.news-card__title {
  margin: 0 0 18px;
  color: var(--ilsf-ocean);
  font-family: var(--ilsf-font-heading);
  font-size: clamp(1.45rem, 2vw, 2rem);
  font-weight: 800;
  line-height: 1.02;
  text-transform: uppercase;
}

.news-card--featured .news-card__title {
  font-size: clamp(2rem, 3vw, 2.5rem);
}

.news-card__title a {
  color: inherit;
  text-decoration: none;
}

.news-card__excerpt {
  margin: 0 0 24px;
  color: var(--ilsf-ink);
  font-size: 1rem;
  line-height: 1.65;
}

.news-card:not(.news-card--featured) .news-card__excerpt {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.news-card__read-more {
  margin-top: auto;
  color: var(--ilsf-red);
  font-size: 1rem;
  font-weight: 800;
  text-decoration: none;
  text-transform: lowercase;
}

.news-card__read-more:hover,
.news-card__read-more:focus-visible {
  color: var(--ilsf-ocean);
}

.news-search {
  display: grid;
  grid-template-columns: minmax(220px, 0.65fr) minmax(0, 1.35fr);
  align-items: end;
  gap: 40px;
  margin-bottom: 90px;
  padding: 46px 50px;
  background: var(--ilsf-ocean);
  border-radius: 12px;
  color: var(--ilsf-white);
}

.news-search h2 {
  margin: 0;
  color: var(--ilsf-white);
  font-family: var(--ilsf-font-heading);
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1;
  text-transform: uppercase;
}

.news-search__form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
}

.news-search__form input {
  box-sizing: border-box;
  min-width: 0;
  height: 56px;
  padding: 0 20px;
  border: 2px solid transparent;
  border-radius: 999px;
  background: var(--ilsf-white);
  color: var(--ilsf-ink);
  font: inherit;
}

.news-search__form input:focus {
  border-color: var(--ilsf-yellow);
  outline: 3px solid rgb(255 222 23 / 25%);
}

.news-search__form button,
.news-load-more {
  border: 0;
  border-radius: 999px;
  background: var(--ilsf-yellow);
  color: var(--ilsf-ocean);
  font-family: var(--ilsf-font-heading);
  font-size: 1rem;
  font-weight: 800;
  text-transform: uppercase;
  cursor: pointer;
}

.news-search__form button {
  min-height: 56px;
  padding: 0 28px;
}

.news-results__heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 30px;
  margin-bottom: 38px;
}

.news-results__heading h2 {
  margin: 0;
  color: var(--ilsf-ocean);
  font-family: var(--ilsf-font-heading);
  font-size: clamp(2.3rem, 4vw, 3.5rem);
  line-height: 1;
  text-transform: uppercase;
}

.news-results__heading p {
  margin: 0;
  color: var(--ilsf-ocean);
  font-weight: 700;
}

.news-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 34px;
}

.news-results__empty {
  grid-column: 1 / -1;
  padding: 30px;
  background: var(--ilsf-white);
  border-radius: 12px;
  color: var(--ilsf-ocean);
  font-weight: 700;
  text-align: center;
}

.news-load-more {
  display: block;
  min-width: 220px;
  margin: 52px auto 0;
  padding: 17px 32px;
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
  transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.news-load-more:hover,
.news-load-more:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 5px 0 var(--ilsf-yellow);
}

.news-load-more:disabled {
  cursor: wait;
  opacity: 0.72;
}

.news-load-more.is-hidden {
  display: none;
}

.news-scroll-sentinel {
  display: grid;
  width: 100%;
  min-height: 48px;
  margin-top: 28px;
  place-items: center;
}

.news-scroll-sentinel::before {
  width: 24px;
  height: 24px;
  border: 3px solid rgb(6 66 115 / 20%);
  border-top-color: var(--ilsf-ocean);
  border-radius: 50%;
  content: "";
  opacity: 0;
}

.news-scroll-sentinel.is-loading::before {
  animation: ilsf-news-loading 0.7s linear infinite;
  opacity: 1;
}

.news-scroll-sentinel.is-hidden {
  display: none;
}

@keyframes ilsf-news-loading {
  to {
    transform: rotate(360deg);
  }
}

@keyframes ilsf-news-card-in {
  from {
    opacity: 0;
    transform: translateY(22px);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@media (max-width: 1100px) {
  .news-shell {
    width: 90%;
  }

	.news-hero__inner {
		width: min(80%, 1080px);
	}

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

  .news-card--featured {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 980px) {
  .news-hero {
    min-height: 0;
  }

  .news-hero__inner {
		padding: 2.5rem 0 1rem;
  }

  .news-hero h1 {
    font-size: 3rem;
  }
}

@media (max-width: 760px) {
  .news-hero__inner {
		padding: 3.5rem 0 0;
  }

  .news-hero h1 {
    font-size: 3rem;
  }

  .news-main {
    padding: 60px 0 80px;
  }

  .news-featured {
    margin-bottom: 52px;
  }

  .news-card--featured {
    display: flex;
  }

  .news-card--featured .news-card__image {
    min-height: 250px;
    aspect-ratio: 16 / 10;
  }

  .news-card--featured .news-card__content {
    padding: 30px 26px 34px;
  }

  .news-search {
    grid-template-columns: 1fr;
    gap: 24px;
    margin-bottom: 58px;
    padding: 32px 24px;
  }

  .news-search__form {
    grid-template-columns: 1fr;
  }

  .news-search__form button {
    width: 100%;
  }

  .news-results__heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
  }

  .news-grid {
    grid-template-columns: 1fr;
    gap: 26px;
  }

  .news-card__content {
    padding: 26px 24px 30px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .news-card {
    animation: none;
  }

  .news-load-more {
    transition: none;
  }

  .news-scroll-sentinel.is-loading::before {
    animation: none;
  }
}

/*
 * Editable homepage masthead.
 *
 * The Cover block owns the replaceable video and poster. These rules recreate
 * the approved Divi callout without making its content dependent on Divi.
 */
.wp-block-cover.ilsf-homepage-masthead.hero {
  box-sizing: border-box;
  display: flex;
  min-height: 704px;
  padding: 0;
  background-image: none;
}

.wp-block-cover.ilsf-homepage-masthead.hero::after {
  z-index: 2;
  background: none;
  content: none;
  pointer-events: none;
}

.ilsf-homepage-masthead .wp-block-cover__background {
  background: transparent;
  opacity: 0;
}

.ilsf-homepage-masthead .wp-block-cover__inner-container {
  z-index: 1;
  display: grid;
  width: 100%;
  place-items: center;
}

.ilsf-home-hero-card.wp-block-group {
  box-sizing: border-box;
  width: min(600px, 90%);
  padding: 1rem 0 2rem;
  border-top: 6px solid var(--ilsf-yellow);
  border-radius: 20px;
  margin: 0 auto;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.7);
  box-shadow: none;
  color: var(--ilsf-ocean);
  text-align: center;
}

.ilsf-home-hero-card .ilsf-home-hero-card__title {
  padding: 20px 6rem;
  margin: 0;
  color: var(--ilsf-ocean);
  font-family: "interstate", sans-serif;
  font-size: 48px;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: normal;
  text-transform: uppercase;
}

.ilsf-home-hero-card__primary,
.ilsf-home-hero-card__secondary {
  display: block;
}

.ilsf-home-hero-card__secondary {
  color: #ff0000;
}

.ilsf-home-hero-card .ilsf-home-hero-card__actions {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  gap: 3rem;
  margin: 0;
}

.ilsf-home-hero-card__button.wp-block-button {
  margin: 0;
  will-change: opacity, transform;
}

.ilsf-home-hero-card__actions.is-style-ilsf-opposing-slide .ilsf-home-hero-card__button--left {
  animation: ilsf-home-hero-button-from-left 700ms ease-in-out 0ms both;
}

.ilsf-home-hero-card__actions.is-style-ilsf-opposing-slide .ilsf-home-hero-card__button--right {
  animation: ilsf-home-hero-button-from-right 700ms ease-in-out 0ms both;
}

.ilsf-home-hero-card__button .wp-block-button__link {
  box-sizing: border-box;
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 0.45em 1em 0.5em;
  border: 0;
  border-radius: 999px;
  background: var(--ilsf-ocean);
  box-shadow: 0 0 0 var(--ilsf-yellow);
  color: var(--ilsf-white);
  font-family: "interstate", sans-serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
  transition: background-color 300ms ease, box-shadow 300ms ease, color 300ms ease;
}

.ilsf-home-hero-card__button .wp-block-button__link::after {
  margin-left: 0.3em;
  color: #ff0000;
  content: "›";
  font-size: 1.35em;
  line-height: 0;
}

.ilsf-home-hero-card__button .wp-block-button__link:hover,
.ilsf-home-hero-card__button .wp-block-button__link:focus-visible {
  background: var(--ilsf-ocean-deep);
  box-shadow: 0 4px 0 var(--ilsf-yellow);
  color: var(--ilsf-white);
}

@keyframes ilsf-home-hero-button-from-left {
  from {
    opacity: 0;
    transform: translateX(-100%);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes ilsf-home-hero-button-from-right {
  from {
    opacity: 0;
    transform: translateX(100%);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Keep the component stable while it is being edited in Gutenberg. */
.editor-styles-wrapper .ilsf-home-hero-card__button {
  animation: none;
}

@media (max-width: 980px) {
  .wp-block-cover.ilsf-homepage-masthead.hero {
    min-height: 620px !important;
    padding: 0;
  }

  .ilsf-home-hero-card.wp-block-group {
    width: min(500px, 90%);
  }

  .ilsf-home-hero-card .ilsf-home-hero-card__title {
    padding-right: 2rem;
    padding-left: 2rem;
  }
}

@media (max-width: 680px) {
  .wp-block-cover.ilsf-homepage-masthead.hero {
    min-height: 560px !important;
    padding: 0;
  }

  .ilsf-home-hero-card.wp-block-group {
    width: 90%;
    padding: 1rem 0 2rem;
  }

  .ilsf-home-hero-card .ilsf-home-hero-card__title {
    padding: 0.75rem 1rem 1.25rem;
    font-size: 40px;
    line-height: 1.05;
  }

  .ilsf-home-hero-card .ilsf-home-hero-card__actions {
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
  }

  .ilsf-home-hero-card__button .wp-block-button__link {
    min-height: 44px;
    font-size: 18px;
  }
}

.wp-block-group.is-style-ilsf-panel,
.wp-block-group.is-style-ilsf-panel-sky,
.wp-block-group.is-style-ilsf-panel-ocean,
.wp-block-group.is-style-ilsf-panel-signal {
  padding: clamp(1.4rem, 3vw, 2.25rem);
  border-radius: 12px;
  margin-block: 2rem;
}

.wp-block-group.is-style-ilsf-panel {
  border: 1px solid var(--ilsf-border);
  background: var(--ilsf-mist);
}

.wp-block-group.is-style-ilsf-panel-sky {
  background: var(--ilsf-sky);
}

.wp-block-group.is-style-ilsf-panel-ocean {
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
}

.wp-block-group.is-style-ilsf-panel-ocean h2,
.wp-block-group.is-style-ilsf-panel-ocean h3,
.wp-block-group.is-style-ilsf-panel-ocean h4,
.wp-block-group.is-style-ilsf-panel-ocean h5,
.wp-block-group.is-style-ilsf-panel-ocean h6,
.wp-block-group.is-style-ilsf-panel-ocean a {
  color: var(--ilsf-white);
}

.wp-block-group.is-style-ilsf-panel-signal {
  background: var(--ilsf-yellow);
  color: var(--ilsf-ocean-deep);
}

.wp-block-group.is-style-ilsf-panel > :first-child,
.wp-block-group.is-style-ilsf-panel-sky > :first-child,
.wp-block-group.is-style-ilsf-panel-ocean > :first-child,
.wp-block-group.is-style-ilsf-panel-signal > :first-child {
  margin-top: 0;
}

.wp-block-group.is-style-ilsf-panel > :last-child,
.wp-block-group.is-style-ilsf-panel-sky > :last-child,
.wp-block-group.is-style-ilsf-panel-ocean > :last-child,
.wp-block-group.is-style-ilsf-panel-signal > :last-child {
  margin-bottom: 0;
}

/* Reusable Ocean card with the red top rule used on the About page. */
.wp-block-group.is-style-ilsf-ocean-card-red-top {
  width: 100%;
  min-width: 0;
  padding: 2rem;
  border-top: 6px solid var(--wp--preset--color--signal-red, #ff0000);
  border-radius: 12px;
  margin-block: 0;
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
}

.wp-block-group.is-style-ilsf-ocean-card-red-top > :first-child {
  margin-top: 0;
}

.wp-block-group.is-style-ilsf-ocean-card-red-top > :last-child {
  margin-bottom: 0;
}

.wp-block-group.is-style-ilsf-ocean-card-red-top h2,
.wp-block-group.is-style-ilsf-ocean-card-red-top h3,
.wp-block-group.is-style-ilsf-ocean-card-red-top h4,
.wp-block-group.is-style-ilsf-ocean-card-red-top h5,
.wp-block-group.is-style-ilsf-ocean-card-red-top h6,
.wp-block-group.is-style-ilsf-ocean-card-red-top p,
.wp-block-group.is-style-ilsf-ocean-card-red-top li,
.wp-block-group.is-style-ilsf-ocean-card-red-top a {
  color: var(--ilsf-white);
}

.wp-block-group.is-style-ilsf-ocean-card-red-top h2,
.wp-block-group.is-style-ilsf-ocean-card-red-top h3 {
  margin-bottom: 1.5rem;
  font-size: clamp(1.75rem, 2.5vw, 2.25rem);
  line-height: 1.1;
}

.wp-block-group.is-style-ilsf-ocean-card-red-top li::marker {
  color: var(--wp--preset--color--signal-red, #ff0000);
}

/* Reusable leadership profile card. */
.ilsf-leadership-section.wp-block-group {
  margin-block: 0;
}

.ilsf-leadership-grid.wp-block-group {
  display: grid;
  grid-auto-rows: 1fr;
  gap: clamp(1.25rem, 2vw, 2rem);
  align-items: stretch;
  margin-block: 0;
}

.ilsf-leadership-grid > .wp-block-group {
  min-width: 0;
  height: 100%;
  margin-block: 0;
}

.wp-block-group.is-style-ilsf-leadership-person-card {
  overflow: hidden;
  width: 100%;
  min-width: 0;
  padding: 0;
  border-radius: 12px;
  margin-block: 0;
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
  text-align: center;
}

.is-style-ilsf-leadership-person-card .ilsf-leadership-person-card__portrait.wp-block-image {
  width: 100%;
  aspect-ratio: 1;
  margin: 0;
}

.is-style-ilsf-leadership-person-card .ilsf-leadership-person-card__portrait img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.is-style-ilsf-leadership-person-card .ilsf-leadership-person-card__content.wp-block-group {
  min-height: 255px;
  padding: 2.5rem 1rem 3rem;
}

.is-style-ilsf-leadership-person-card .ilsf-leadership-person-card__content > :first-child {
  margin-top: 0;
}

.is-style-ilsf-leadership-person-card .ilsf-leadership-person-card__content > :last-child {
  margin-bottom: 0;
}

.entry-content .wp-block-group.is-style-ilsf-leadership-person-card h3.wp-block-heading,
.editor-styles-wrapper .wp-block-group.is-style-ilsf-leadership-person-card h3.wp-block-heading {
  margin: 0 0 1rem;
  color: var(--ilsf-ocean);
  font-size: 1.1rem;
  line-height: 1.15;
  text-transform: uppercase;
}

.is-style-ilsf-leadership-person-card .ilsf-leadership-person-card__role {
  margin: 0 0 0.5rem;
  color: var(--wp--preset--color--signal-red, #ff0000);
  font-size: clamp(0.75rem, 0.8vw, 0.875rem);
  font-weight: 700;
  line-height: 1.35;
}

.is-style-ilsf-leadership-person-card .ilsf-leadership-person-card__location {
  margin: 0;
  color: var(--ilsf-ocean);
}

@media (max-width: 1024px) {
  .ilsf-leadership-grid.wp-block-group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 600px) {
  .ilsf-leadership-grid.wp-block-group {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Reusable Governance commission / committee card. */
.wp-block-group.is-style-ilsf-commission-card {
  box-sizing: border-box;
  container-type: inline-size;
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  padding: clamp(1.5rem, 7%, 3rem);
  border-radius: 12px;
  margin-block: 0;
  background: var(--ilsf-sky);
  color: var(--ilsf-ocean);
}

.wp-block-group.is-style-ilsf-commission-card > :first-child {
  margin-top: 0;
}

.wp-block-group.is-style-ilsf-commission-card > :last-child {
  margin-bottom: 0;
}

.wp-block-group.is-style-ilsf-commission-card h3.wp-block-heading {
  width: 100%;
  max-width: none;
  margin: 0 0 clamp(1.5rem, 5cqi, 2.25rem);
  color: var(--ilsf-ocean);
  font-size: clamp(1.15rem, 4cqi, 1.5rem);
  line-height: 1.15;
  text-transform: uppercase;
}

.wp-block-group.is-style-ilsf-commission-card p {
  width: 100%;
  max-width: none;
  margin: 0 0 clamp(1rem, 3cqi, 1.5rem);
  color: var(--ilsf-ocean);
  font-size: clamp(0.95rem, 2.6cqi, 1.125rem);
  line-height: 1.55;
}

.wp-block-group.is-style-ilsf-commission-card strong,
.wp-block-group.is-style-ilsf-commission-card a {
  font-weight: 800;
}

.wp-block-group.is-style-ilsf-commission-card .ilsf-commission-card__more {
  padding-top: 0.25rem;
  margin-top: auto;
}

.wp-block-group.is-style-ilsf-commission-card a {
  color: var(--ilsf-ocean);
  text-decoration: none;
}

.wp-block-group.is-style-ilsf-commission-card a:hover {
  color: var(--ilsf-red);
}

/* Reusable Governance key document / policy card. */
.ilsf-resource-cards-section.wp-block-group {
  margin-block: 0;
}

.wp-block-group.is-style-ilsf-key-document-card {
  box-sizing: border-box;
  container-type: inline-size;
  display: flex;
  width: 100%;
  height: 100%;
  flex-direction: column;
  padding: clamp(2rem, 7%, 3.25rem) clamp(1rem, 5%, 2rem);
  border-radius: 12px;
  margin-block: 0;
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
  text-align: center;
}

.wp-block-group.is-style-ilsf-key-document-card > :first-child {
  margin-top: 0;
}

.wp-block-group.is-style-ilsf-key-document-card > :last-child {
  margin-bottom: 0;
}

.wp-block-group.is-style-ilsf-key-document-card .ilsf-key-document-card__icon.wp-block-image {
  width: clamp(2.5rem, 12cqi, 4rem);
  margin: 0 auto clamp(1.5rem, 6cqi, 2.5rem);
}

.wp-block-group.is-style-ilsf-key-document-card .ilsf-key-document-card__icon img {
  display: block;
  width: 100%;
  height: auto;
}

.wp-block-group.is-style-ilsf-key-document-card h3.wp-block-heading {
  width: 100%;
  max-width: none;
  margin: 0 auto clamp(1.5rem, 6cqi, 2.5rem);
  color: var(--ilsf-ocean);
  font-size: clamp(1.2rem, 6cqi, 1.75rem);
  line-height: 1.15;
  text-transform: uppercase;
}

.wp-block-group.is-style-ilsf-key-document-card > p {
  width: 100%;
  max-width: none;
  margin: 0;
  color: var(--ilsf-ocean);
  font-size: clamp(1rem, 3.5cqi, 1.2rem);
  line-height: 1.55;
}

.wp-block-group.is-style-ilsf-key-document-card .ilsf-key-document-card__actions {
  width: 100%;
  margin-top: auto;
  padding-top: clamp(2rem, 8cqi, 3.5rem);
}

.wp-block-group.is-style-ilsf-key-document-card .wp-block-button__link {
  padding: 0.65em 1.25em;
  border-color: var(--ilsf-ocean);
  background: var(--ilsf-ocean);
  box-shadow: 0 0 0 var(--ilsf-yellow);
  color: var(--ilsf-white);
  font-size: clamp(1rem, 4cqi, 1.25rem);
  transition: background-color 300ms ease, border-color 300ms ease, box-shadow 300ms ease, transform 300ms ease;
}

.wp-block-group.is-style-ilsf-key-document-card .wp-block-button__link:hover,
.wp-block-group.is-style-ilsf-key-document-card .wp-block-button__link:focus-visible {
  border-color: var(--ilsf-ocean-deep);
  background: var(--ilsf-ocean-deep);
  box-shadow: 0 5px 0 var(--ilsf-yellow);
  color: var(--ilsf-white);
  transform: translateY(-2px);
}

/* Editable image-led impact card used on Drowning Prevention. */
.wp-block-group.is-style-ilsf-impact-card {
  box-sizing: border-box;
  container-type: inline-size;
  display: flex;
  overflow: hidden;
  width: 100%;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  padding: 0 clamp(0.9rem, 4cqi, 1.5rem) clamp(1.75rem, 6cqi, 2.5rem);
  border-radius: 12px;
  margin-block: 0;
  background: var(--ilsf-sky);
  color: var(--ilsf-ocean);
  text-align: center;
}

.entry-content .wp-block-group.is-style-ilsf-impact-card > h3.wp-block-heading,
.editor-styles-wrapper .wp-block-group.is-style-ilsf-impact-card > h3.wp-block-heading {
  box-sizing: border-box;
  display: flex;
  width: 100%;
  min-height: clamp(8rem, 32cqi, 12rem);
  align-items: center;
  justify-content: center;
  padding: 1.5rem 0.5rem;
  margin: 0;
  color: var(--ilsf-ocean);
  font-size: clamp(1.25rem, 6cqi, 2rem);
  line-height: 1.15;
  text-align: center;
  text-transform: uppercase;
}

.wp-block-group.is-style-ilsf-impact-card > .wp-block-image {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1280 / 947;
  margin: 0;
}

.wp-block-group.is-style-ilsf-impact-card > .wp-block-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wp-block-group.is-style-ilsf-impact-card > p {
  width: 100%;
  max-width: none;
  margin: 1.25rem 0 0;
  color: var(--ilsf-ocean);
  font-size: clamp(1rem, 4cqi, 1.2rem);
  line-height: 1.55;
  text-align: center;
}

.wp-block-group.is-style-ilsf-impact-card > .wp-block-buttons {
  width: 100%;
  justify-content: center;
  padding-top: clamp(2rem, 8cqi, 3.5rem);
  margin-top: auto;
  margin-bottom: 0;
}

.wp-block-button.is-style-ilsf-card-action .wp-block-button__link {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.35rem;
  border: 2px solid transparent;
  border-radius: 999px;
  background: var(--ilsf-ocean);
  box-shadow: 0 0 0 var(--ilsf-yellow);
  color: var(--ilsf-white);
  font-size: clamp(1rem, 4cqi, 1.25rem);
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition: background-color 180ms ease, box-shadow 180ms ease, color 180ms ease, transform 180ms ease;
}

.wp-block-button.is-style-ilsf-card-action .wp-block-button__link::after {
  margin-left: 0.55rem;
  color: var(--ilsf-red);
  content: "›";
  font-size: 1.35em;
  line-height: 0;
}

.wp-block-button.is-style-ilsf-card-action .wp-block-button__link:hover,
.wp-block-button.is-style-ilsf-card-action .wp-block-button__link:focus-visible {
  background: var(--ilsf-ocean-deep);
  box-shadow: 0 5px 0 var(--ilsf-yellow);
  color: var(--ilsf-white);
  transform: translateY(-2px);
}

/* Editable split feature used for the Drowning Prevention programme highlight. */
.ilsf-program-of-month-section.wp-block-group {
  margin-block: 0;
}

.entry-content .ilsf-program-of-month-section > h3.wp-block-heading,
.editor-styles-wrapper .ilsf-program-of-month-section > h3.wp-block-heading {
  margin-top: 0;
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
  color: var(--ilsf-ocean);
  font-size: clamp(1.1rem, 1.5vw, 1.5rem);
  line-height: 1.15;
  text-transform: uppercase;
}

.wp-block-group.is-style-ilsf-program-feature {
  display: grid;
  overflow: hidden;
  width: 100%;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border-radius: 12px;
  margin-block: 0;
}

.wp-block-group.is-style-ilsf-program-feature > .ilsf-program-feature__content {
  box-sizing: border-box;
  display: flex;
  min-width: 0;
  min-height: clamp(32rem, 41vw, 46rem);
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  padding: clamp(2rem, 4vw, 4rem);
  border-radius: 0;
  color: var(--ilsf-white);
}

.wp-block-group.is-style-ilsf-program-feature > .ilsf-program-feature__content > * {
  width: 100%;
  max-width: none;
}

.entry-content .wp-block-group.is-style-ilsf-program-feature h2.wp-block-heading,
.editor-styles-wrapper .wp-block-group.is-style-ilsf-program-feature h2.wp-block-heading {
  margin: 0 0 1rem;
  color: var(--ilsf-white);
  font-size: clamp(1.8rem, 2.5vw, 3rem);
  line-height: 1.08;
  text-transform: uppercase;
}

.wp-block-group.is-style-ilsf-program-feature .ilsf-program-feature__lead {
  margin: 0 0 1rem;
  color: var(--ilsf-white);
  font-size: clamp(1.05rem, 1.45vw, 1.4rem);
  font-weight: 800;
  line-height: 1.25;
}

.wp-block-group.is-style-ilsf-program-feature .ilsf-program-feature__copy {
  margin: 0;
  color: var(--ilsf-white);
  font-size: clamp(1rem, 1.25vw, 1.2rem);
  line-height: 1.55;
}

.wp-block-group.is-style-ilsf-program-feature .ilsf-program-feature__actions {
  margin-top: auto;
  padding-top: 2rem;
}

.wp-block-group.is-style-ilsf-program-feature > .ilsf-program-feature__image {
  width: 100%;
  height: 100%;
  min-height: clamp(32rem, 41vw, 46rem);
  margin: 0;
}

.wp-block-group.is-style-ilsf-program-feature > .ilsf-program-feature__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wp-block-button.is-style-ilsf-light-action .wp-block-button__link {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.35rem;
  border: 2px solid transparent;
  border-radius: 999px;
  background: var(--ilsf-white);
  box-shadow: 0 0 0 var(--ilsf-yellow);
  color: var(--ilsf-ocean);
  font-size: clamp(1rem, 1.4vw, 1.25rem);
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition: box-shadow 180ms ease, color 180ms ease, transform 180ms ease;
}

.wp-block-button.is-style-ilsf-light-action .wp-block-button__link::after {
  margin-left: 0.55rem;
  color: var(--ilsf-red);
  content: "›";
  font-size: 1.35em;
  line-height: 0;
}

.wp-block-button.is-style-ilsf-light-action .wp-block-button__link:hover,
.wp-block-button.is-style-ilsf-light-action .wp-block-button__link:focus-visible {
  box-shadow: 0 5px 0 var(--ilsf-yellow);
  color: var(--ilsf-ocean-deep);
  transform: translateY(-2px);
}

@media (max-width: 781px) {
  .ilsf-program-of-month-section.wp-block-group {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }

  .wp-block-group.is-style-ilsf-program-feature {
    grid-template-columns: minmax(0, 1fr);
  }

  .wp-block-group.is-style-ilsf-program-feature > .ilsf-program-feature__content {
    min-height: 0;
    order: 2;
    padding: 2rem 1.5rem 2.5rem;
  }

  .wp-block-group.is-style-ilsf-program-feature > .ilsf-program-feature__image {
    min-height: 0;
    aspect-ratio: 16 / 10;
    order: 1;
  }
}

/* Shorter reuse of the split feature for the Lifesaving Sport closing banner. */
.ilsf-journey-section.wp-block-group {
  margin-block: 0;
}

.wp-block-group.is-style-ilsf-program-feature.ilsf-journey-feature > .ilsf-program-feature__content,
.wp-block-group.is-style-ilsf-program-feature.ilsf-journey-feature > .ilsf-program-feature__image {
  min-height: clamp(20rem, 30vw, 23rem);
}

.wp-block-group.is-style-ilsf-program-feature.ilsf-journey-feature > .ilsf-program-feature__content {
  padding: clamp(2rem, 3vw, 3rem);
}

@media (min-width: 1200px) {
  .wp-block-group.is-style-ilsf-program-feature.ilsf-journey-feature {
    height: 21rem;
  }

  .wp-block-group.is-style-ilsf-program-feature.ilsf-journey-feature > .ilsf-program-feature__content,
  .wp-block-group.is-style-ilsf-program-feature.ilsf-journey-feature > .ilsf-program-feature__image {
    height: 100%;
    min-height: 0;
  }
}

@media (max-width: 781px) {
  .ilsf-journey-section.wp-block-group {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }

  .wp-block-group.is-style-ilsf-program-feature.ilsf-journey-feature > .ilsf-program-feature__content {
    min-height: 0;
  }

  .wp-block-group.is-style-ilsf-program-feature.ilsf-journey-feature > .ilsf-program-feature__image {
    min-height: 0;
  }
}

/* Editable Road to Brisbane section and four responsive benefit cards. */
.ilsf-brisbane-section.wp-block-group {
  margin-block: 0;
}

.entry-content .ilsf-brisbane-section > h2.wp-block-heading,
.editor-styles-wrapper .ilsf-brisbane-section > h2.wp-block-heading {
  margin-top: 0;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
  color: var(--ilsf-white);
  font-size: clamp(1.5rem, 2vw, 2rem);
  line-height: 1.15;
  text-transform: uppercase;
}

.wp-block-group.ilsf-brisbane-grid {
  gap: clamp(1.5rem, 2.5vw, 2.5rem);
  margin-block: 0;
}

.wp-block-group.is-style-ilsf-brisbane-card {
  box-sizing: border-box;
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 13.75rem;
  height: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding: 2rem 1.5rem;
  border-radius: 12px;
  margin-block: 0;
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
  text-align: center;
}

.wp-block-group.is-style-ilsf-brisbane-card::before {
  display: grid;
  width: 3.1rem;
  height: 3.1rem;
  flex: 0 0 3.1rem;
  place-items: center;
  border-radius: 50%;
  margin-bottom: 1.5rem;
  background: var(--ilsf-red);
  color: var(--ilsf-white);
  content: "✓";
  font-size: 2rem;
  font-weight: 800;
  line-height: 1;
}

.entry-content .wp-block-group.is-style-ilsf-brisbane-card > h3.wp-block-heading,
.editor-styles-wrapper .wp-block-group.is-style-ilsf-brisbane-card > h3.wp-block-heading {
  width: 100%;
  margin: 0 0 0.75rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1.1rem, 1.5vw, 1.25rem);
  line-height: 1.15;
  text-align: center;
  text-transform: none;
}

.wp-block-group.is-style-ilsf-brisbane-card > p {
  width: 100%;
  margin: 0;
  color: var(--ilsf-ocean);
  font-size: 1rem;
  line-height: 1.5;
  text-align: center;
}

.wp-block-buttons.ilsf-brisbane-actions {
  justify-content: center;
  margin-top: clamp(2.5rem, 5vw, 4rem);
  margin-bottom: 0;
}

@media (max-width: 781px) {
  .ilsf-brisbane-section.wp-block-group {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }

  .wp-block-group.is-style-ilsf-brisbane-card {
    min-height: 12rem;
  }
}

/* Editable Faces of Lifesaving Sport section and athlete cards. */
.ilsf-athletes-section.wp-block-group {
  margin-block: 0;
}

.entry-content .ilsf-athletes-section > h2.wp-block-heading,
.editor-styles-wrapper .ilsf-athletes-section > h2.wp-block-heading {
  margin-top: 0;
  margin-bottom: 1rem;
  color: var(--ilsf-red);
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.08;
  text-transform: uppercase;
}

.ilsf-athletes-section > .ilsf-athletes-intro {
  margin-top: 0;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
  color: var(--ilsf-ocean);
  font-size: 1rem;
  line-height: 1.55;
}

.wp-block-group.ilsf-athletes-grid {
  gap: clamp(1.5rem, 2.75vw, 2.75rem);
  margin-block: 0;
}

.wp-block-group.is-style-ilsf-athlete-card {
  box-sizing: border-box;
  display: flex;
  overflow: hidden;
  width: 100%;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  padding: 0;
  border-top: 6px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin-block: 0;
  background: var(--ilsf-mist);
  color: var(--ilsf-ocean);
}

.wp-block-group.is-style-ilsf-athlete-card > .ilsf-athlete-card__image {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1024 / 757;
  margin: 0;
}

.wp-block-group.is-style-ilsf-athlete-card > .ilsf-athlete-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wp-block-group.is-style-ilsf-athlete-card > .ilsf-athlete-card__content {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  flex: 1;
  padding: clamp(1.5rem, 2.5vw, 2rem);
}

.wp-block-group.is-style-ilsf-athlete-card > .ilsf-athlete-card__content > * {
  max-width: none;
}

.entry-content .wp-block-group.is-style-ilsf-athlete-card h3.wp-block-heading,
.editor-styles-wrapper .wp-block-group.is-style-ilsf-athlete-card h3.wp-block-heading {
  margin: 0 0 1rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1.5rem, 2vw, 1.75rem);
  line-height: 1.08;
  text-transform: uppercase;
}

.wp-block-group.is-style-ilsf-athlete-card .ilsf-athlete-card__role {
  margin: 0 0 1rem;
  color: var(--ilsf-red);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.4;
}

.wp-block-group.is-style-ilsf-athlete-card .ilsf-athlete-card__facts {
  margin: 0;
  color: var(--ilsf-ocean);
  font-size: 1rem;
  line-height: 1.7;
}

.wp-block-group.is-style-ilsf-athlete-card .ilsf-athlete-card__bio {
  margin: 1.25rem 0 0;
  color: var(--ilsf-ocean);
  font-size: 1rem;
  line-height: 1.55;
}

@media (max-width: 781px) {
  .ilsf-athletes-section.wp-block-group {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
}

/* Full-width decorative video from the approved Lifesaving Sport page. */
.wp-block-cover.ilsf-sport-video {
  box-sizing: border-box;
  min-height: 36.5rem;
  padding: 0 !important;
  border-radius: 0 !important;
  margin-block: 0;
  overflow: hidden;
}

.wp-block-cover.ilsf-sport-video .wp-block-cover__video-background {
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  margin: 0 !important;
  object-fit: cover;
}

.wp-block-cover.ilsf-sport-video .wp-block-cover__background {
  position: absolute;
  inset: 0;
  margin: 0 !important;
  background-color: transparent !important;
  background-image: linear-gradient(0deg, rgb(0 0 0 / 21%) 0%, transparent 37%) !important;
  opacity: 1 !important;
}

.wp-block-cover.ilsf-sport-video .wp-block-cover__inner-container {
  margin: 0 !important;
}

@media (max-width: 980px) {
  .wp-block-cover.ilsf-sport-video {
    min-height: 24.5rem !important;
  }
}

@media (max-width: 767px) {
  .wp-block-cover.ilsf-sport-video {
    min-height: 21.5rem !important;
  }
}

/* Editable introduction to pool and ocean lifesaving competition. */
.ilsf-sport-intro-section.wp-block-group {
  margin-block: 0;
}

.entry-content .ilsf-sport-intro-section > h2.wp-block-heading,
.editor-styles-wrapper .ilsf-sport-intro-section > h2.wp-block-heading {
  margin-top: 0;
  margin-bottom: 1rem;
  color: var(--ilsf-red);
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.08;
  text-transform: uppercase;
}

.ilsf-sport-intro-section > .ilsf-sport-intro {
  margin-top: 0;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
  color: var(--ilsf-ocean);
  font-size: 1rem;
  line-height: 1.55;
}

.wp-block-group.ilsf-competition-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(1.5rem, 3vw, 3rem);
  margin-block: 0;
}

.wp-block-group.is-style-ilsf-competition-card {
  box-sizing: border-box;
  display: flex;
  overflow: hidden;
  width: 100%;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  padding: clamp(1.5rem, 3vw, 3rem);
  border-top: 6px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin-block: 0;
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
}

.wp-block-group.is-style-ilsf-competition-card > .ilsf-competition-card__image {
  overflow: hidden;
  width: 100%;
  aspect-ratio: 1280 / 947;
  margin: 0;
}

.wp-block-group.is-style-ilsf-competition-card > .ilsf-competition-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.entry-content .wp-block-group.is-style-ilsf-competition-card > h3.wp-block-heading,
.editor-styles-wrapper .wp-block-group.is-style-ilsf-competition-card > h3.wp-block-heading {
  position: relative;
  z-index: 1;
  margin: -3.2rem 0 0;
  padding: 0 clamp(1rem, 2vw, 2rem);
  color: var(--ilsf-white);
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.08;
  text-shadow: 0 1px 2px rgb(0 0 0 / 20%);
  text-transform: uppercase;
}

.wp-block-group.is-style-ilsf-competition-card > p {
  margin: clamp(2rem, 3vw, 3rem) clamp(1rem, 2vw, 2rem) 0;
  color: var(--ilsf-white);
  font-size: 1rem;
  line-height: 1.55;
}

@media (max-width: 781px) {
  .ilsf-sport-intro-section.wp-block-group {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }

  .wp-block-group.ilsf-competition-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .wp-block-group.is-style-ilsf-competition-card {
    padding: 1.25rem;
  }

  .entry-content .wp-block-group.is-style-ilsf-competition-card > h3.wp-block-heading,
  .editor-styles-wrapper .wp-block-group.is-style-ilsf-competition-card > h3.wp-block-heading {
    margin-top: -2.6rem;
  }
}

/* Editable Events & Disciplines section and icon cards. */
.ilsf-disciplines-section.wp-block-group {
  margin-block: 0;
}

.entry-content .ilsf-disciplines-section > h2.wp-block-heading,
.editor-styles-wrapper .ilsf-disciplines-section > h2.wp-block-heading {
  margin-top: 0;
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
  color: var(--ilsf-red);
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 1.08;
  text-transform: uppercase;
}

.wp-block-group.ilsf-disciplines-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
  gap: clamp(1.5rem, 3vw, 3rem);
  margin-block: 0;
}

.wp-block-group.is-style-ilsf-discipline-card {
  box-sizing: border-box;
  display: flex;
  overflow: hidden;
  width: 100%;
  min-width: 0;
  height: 100%;
  flex-direction: column;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-top: 6px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin-block: 0;
  background: var(--ilsf-sky);
  color: var(--ilsf-ocean);
}

.wp-block-group.is-style-ilsf-discipline-card > .ilsf-discipline-card__icon {
  box-sizing: border-box;
  display: grid;
  width: 100%;
  aspect-ratio: 1;
  place-items: center;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border-radius: 8px;
  margin: 0 0 1.5rem;
  background: var(--ilsf-ocean);
}

.wp-block-group.is-style-ilsf-discipline-card > .ilsf-discipline-card__icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.entry-content .wp-block-group.is-style-ilsf-discipline-card > h3.wp-block-heading,
.editor-styles-wrapper .wp-block-group.is-style-ilsf-discipline-card > h3.wp-block-heading {
  margin: 0 0 0.75rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1.25rem, 1.7vw, 1.5rem);
  line-height: 1.15;
  text-transform: uppercase;
}

.wp-block-group.is-style-ilsf-discipline-card > p {
  margin: 0;
  color: var(--ilsf-ocean);
  font-size: 1rem;
  line-height: 1.55;
}

.wp-block-buttons.ilsf-disciplines-actions {
  justify-content: center;
  margin-top: clamp(2.5rem, 5vw, 4rem);
  margin-bottom: 0;
}

@media (max-width: 980px) {
  .wp-block-group.ilsf-disciplines-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .ilsf-disciplines-section.wp-block-group {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }

  .wp-block-group.ilsf-disciplines-grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Editable drowning statistics section, built from the reusable stat cards. */
.ilsf-drowning-stats-section.wp-block-group {
  margin-block: 0;
}

.entry-content .ilsf-drowning-stats-section > h2.wp-block-heading,
.editor-styles-wrapper .ilsf-drowning-stats-section > h2.wp-block-heading {
  max-width: 58rem;
  margin-top: 0;
  margin-bottom: clamp(2.5rem, 5vw, 4.5rem);
  color: var(--ilsf-white);
  font-size: clamp(1.1rem, 1.8vw, 1.5rem);
  line-height: 1.15;
  text-align: center;
  text-transform: uppercase;
}

.wp-block-group.ilsf-drowning-stats-grid {
  gap: clamp(1.5rem, 3vw, 3rem);
  margin-block: 0;
}

.ilsf-drowning-stats-section .wp-block-group.is-style-ilsf-stat-card {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-height: clamp(15rem, 22vw, 18rem);
  padding: clamp(2rem, 4vw, 3rem) clamp(1.25rem, 3vw, 2.5rem);
  border-top: 6px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin: 0;
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
}

.ilsf-drowning-stats-section .wp-block-group.is-style-ilsf-stat-card .ilsf-stat-card__value {
  color: var(--ilsf-red);
  font-size: clamp(2.8rem, 4vw, 4rem);
  line-height: 1;
}

.entry-content .ilsf-drowning-stats-section .wp-block-group.is-style-ilsf-stat-card .ilsf-stat-card__label,
.editor-styles-wrapper .ilsf-drowning-stats-section .wp-block-group.is-style-ilsf-stat-card .ilsf-stat-card__label {
  margin-top: 1.5rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1.05rem, 1.6vw, 1.5rem);
  line-height: 1.08;
  text-align: center;
}

.wp-block-group.ilsf-drowning-stats-source {
  padding-top: clamp(2rem, 4vw, 3.5rem);
  margin-block: 0;
}

.wp-block-group.ilsf-drowning-stats-source > p {
  max-width: 60rem;
  margin: 0 auto;
  color: var(--ilsf-ocean);
  font-size: clamp(0.9rem, 1.2vw, 1.1rem);
  line-height: 1.45;
  text-align: center;
}

@media (max-width: 781px) {
  .ilsf-drowning-stats-section.wp-block-group {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }

  .ilsf-drowning-stats-section .wp-block-group.is-style-ilsf-stat-card {
    min-height: 13rem;
  }
}

/* Editable World Drowning Prevention Day feature and matching cards. */
.ilsf-wdpd-section.wp-block-group {
  margin-block: 0;
}

/*
 * The private WDPD preview reuses the finished WDPD feature immediately
 * before its news section. Remove the stacked section padding so the
 * vertical gap matches the gap between the two feature cards.
 */
body.page-id-18769 .standard-page__content > .ilsf-wdpd-section {
  padding-bottom: 0 !important;
}

body.page-id-18769 .standard-page__content > .ilsf-refresh--wdpd {
  padding-top: 0;
}

body.page-id-18769 .standard-page__content .ilsf-wdpd-news {
  padding-top: clamp(1.5rem, 3vw, 3rem);
}

.wp-block-group.ilsf-wdpd-date-banner {
  box-sizing: border-box;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border-top: 6px solid var(--wp--preset--color--water-blue);
  border-radius: 12px;
  margin-block: 0;
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
  text-align: center;
}

.entry-content .wp-block-group.ilsf-wdpd-date-banner h2.wp-block-heading,
.editor-styles-wrapper .wp-block-group.ilsf-wdpd-date-banner h2.wp-block-heading {
  margin: 0;
  color: var(--ilsf-ocean);
  font-size: clamp(2.5rem, 4vw, 4rem);
  line-height: 1;
  text-align: center;
  text-transform: uppercase;
}

.wp-block-group.ilsf-wdpd-date-banner h2 sup {
  font-size: 0.48em;
}

.entry-content .wp-block-group.ilsf-wdpd-date-banner h3.wp-block-heading,
.editor-styles-wrapper .wp-block-group.ilsf-wdpd-date-banner h3.wp-block-heading {
  margin: 1rem 0 0;
  color: var(--ilsf-ocean);
  font-size: clamp(1.1rem, 1.5vw, 1.5rem);
  line-height: 1.15;
  text-align: center;
  text-transform: uppercase;
}

.wp-block-group.ilsf-wdpd-intro {
  padding-block: clamp(2rem, 4vw, 3.5rem);
  margin-block: 0;
  color: var(--ilsf-ocean);
  text-align: center;
}

.wp-block-group.ilsf-wdpd-intro > p {
  max-width: 58rem;
  margin: 0 auto 1.25rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1rem, 1.35vw, 1.25rem);
  line-height: 1.5;
  text-align: center;
}

.wp-block-group.ilsf-wdpd-intro > p:last-child {
  margin-bottom: 0;
}

.wp-block-group.ilsf-wdpd-grid {
  display: grid;
  align-items: stretch;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 3rem);
  margin-block: 0;
}

.wp-block-group.is-style-ilsf-wdpd-card {
  box-sizing: border-box;
  display: flex;
  overflow: hidden;
  min-width: 0;
  height: 100%;
  min-height: clamp(32rem, 42vw, 44rem);
  flex-direction: column;
  align-items: flex-start;
  padding: clamp(2rem, 4vw, 3.5rem);
  border-top: 6px solid var(--wp--preset--color--water-blue);
  border-radius: 12px;
  margin-block: 0;
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
}

.wp-block-group.is-style-ilsf-wdpd-card > * {
  width: 100%;
  max-width: none;
}

.wp-block-group.is-style-ilsf-wdpd-card > .ilsf-wdpd-card__logo {
  width: min(56%, 22rem);
  margin: 0 0 clamp(2rem, 4vw, 3rem);
}

.wp-block-group.is-style-ilsf-wdpd-card > .ilsf-wdpd-card__logo img {
  display: block;
  width: 100%;
  height: auto;
}

.entry-content .wp-block-group.is-style-ilsf-wdpd-card > h3.wp-block-heading,
.editor-styles-wrapper .wp-block-group.is-style-ilsf-wdpd-card > h3.wp-block-heading {
  margin: 0 0 1.5rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1.35rem, 1.8vw, 2rem);
  line-height: 1.08;
  text-transform: uppercase;
}

.wp-block-group.is-style-ilsf-wdpd-card > p {
  margin: 0 0 1.25rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1rem, 1.3vw, 1.2rem);
  line-height: 1.55;
}

.wp-block-group.is-style-ilsf-wdpd-card > .ilsf-wdpd-card__actions {
  margin-top: auto;
  padding-top: 1.5rem;
}

/* Keep this page's reusable CTA on the donor page's 32px content-title scale. */
body.page-drowning-prevention .standard-page__content .wp-block-heading.has-signal-red-color {
  font-size: clamp(1.6rem, 2.5vw, 2rem) !important;
}

@media (max-width: 781px) {
  .ilsf-wdpd-section.wp-block-group {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }

  .wp-block-group.ilsf-wdpd-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .wp-block-group.is-style-ilsf-wdpd-card {
    min-height: 0;
    padding: 2rem 1.5rem 2.5rem;
  }
}

/* About page vision, mission and values cards. */
.ilsf-about-principles-section.wp-block-group {
  margin-block: 0;
}

.ilsf-about-principles.wp-block-columns {
  align-items: stretch;
  gap: clamp(1.5rem, 2.5vw, 3rem);
  margin-block: 0;
}

.ilsf-about-principles > .wp-block-column {
  display: flex;
  min-width: 0;
}

.wp-block-group.is-style-ilsf-panel-ocean.ilsf-about-principles__card {
  display: flex;
  width: 100%;
  min-width: 0;
  flex-direction: column;
  padding: 2rem;
  border-top: 6px solid var(--wp--preset--color--signal-red, #ff0000);
  border-radius: 12px;
  margin-block: 0;
}

.ilsf-about-principles__card h2 {
  margin: 0 0 1.5rem;
  color: var(--ilsf-white);
  font-size: clamp(1.75rem, 2.5vw, 2.25rem);
  line-height: 1.1;
}

.ilsf-about-principles__card p,
.ilsf-about-principles__card li {
  color: var(--ilsf-white);
}

.ilsf-about-principles__card ul {
  padding-left: 1.35rem;
  margin-block: 0;
}

.ilsf-about-principles__card li + li {
  margin-top: 0.2rem;
}

.ilsf-about-principles__card li::marker {
  color: var(--wp--preset--color--signal-red, #ff0000);
}

.ilsf-about-principles__logo.wp-block-image {
  width: 96px;
  margin: 0 0 3rem;
}

.ilsf-about-principles__logo img {
  width: 100%;
  height: auto;
}

@media (max-width: 781px) {
  .ilsf-about-principles.wp-block-columns {
    gap: 1.5rem;
  }
}

/* Editable About-page history timeline. */
.ilsf-timeline-section.wp-block-group {
  box-sizing: border-box;
  padding: clamp(3rem, 6vw, 6rem) clamp(1.25rem, 4vw, 3rem);
  margin-block: 0;
}

.ilsf-timeline-section > .wp-block-heading {
  margin-top: 0;
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
  color: var(--ilsf-ocean);
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  line-height: 1.15;
  text-transform: uppercase;
}

.ilsf-timeline.wp-block-group {
  position: relative;
  box-sizing: border-box;
  overflow: hidden;
  padding: clamp(1.75rem, 4vw, 3rem);
  border-radius: 12px;
  margin-block: 0;
  background: var(--ilsf-sky);
}

.ilsf-timeline__content.wp-block-group {
  position: relative;
  margin-block: 0;
}

.ilsf-timeline__content.wp-block-group::before {
  position: absolute;
  top: clamp(0.75rem, 1vw, 1rem);
  bottom: clamp(0.75rem, 1vw, 1rem);
  left: 50%;
  width: 3px;
  background: var(--ilsf-ocean);
  content: "";
  transform: translateX(-50%);
}

/* Divi's 50% slide intensity calculates to a 100% starting translation. The
   static .ilsf-timeline wrapper remains visible and supplies the trigger. */
.ilsf-timeline__content.is-home-reveal--bottom {
  translate: 0 100%;
}

.ilsf-timeline__item.wp-block-group {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  gap: clamp(3.5rem, 7vw, 7rem);
  padding-block: clamp(1.25rem, 2.5vw, 2.25rem);
  margin-block: 0;
}

.ilsf-timeline__item.wp-block-group::before {
  position: absolute;
  top: clamp(1.75rem, 3vw, 2.75rem);
  left: 50%;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--wp--preset--color--signal-red, #ff0000);
  content: "";
  transform: translate(-50%, -50%);
}

.ilsf-timeline__date {
  grid-column: 1;
  grid-row: 1;
  margin: 0;
  color: var(--ilsf-ocean);
  font-size: clamp(1.2rem, 2.2vw, 1.75rem);
  font-weight: 700;
  line-height: 1.15;
  text-align: right;
}

.ilsf-timeline__card.wp-block-group {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  padding: clamp(1.25rem, 2.5vw, 2rem);
  border-radius: 0;
  margin-block: 0;
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
}

.ilsf-timeline__card.wp-block-group::before {
  position: absolute;
  top: 1.1rem;
  left: -14px;
  width: 0;
  height: 0;
  border-top: 12px solid transparent;
  border-right: 14px solid var(--ilsf-white);
  border-bottom: 12px solid transparent;
  content: "";
}

.ilsf-timeline__item:nth-child(even) .ilsf-timeline__date {
  grid-column: 2;
  text-align: left;
}

.ilsf-timeline__item:nth-child(even) .ilsf-timeline__card {
  grid-column: 1;
}

.ilsf-timeline__item:nth-child(even) .ilsf-timeline__card::before {
  right: -14px;
  left: auto;
  border-right: 0;
  border-left: 14px solid var(--ilsf-white);
}

.ilsf-timeline__card > :first-child {
  margin-top: 0;
}

.ilsf-timeline__card > :last-child {
  margin-bottom: 0;
}

.entry-content .ilsf-timeline__card h3.wp-block-heading,
.editor-styles-wrapper .ilsf-timeline__card h3.wp-block-heading {
  margin: 0 0 0.75rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1rem, 1.4vw, 1.2rem);
  line-height: 1.25;
}

.ilsf-timeline__card p,
.ilsf-timeline__card li {
  color: var(--ilsf-ocean);
  font-size: clamp(0.9rem, 1.15vw, 1rem);
  line-height: 1.5;
}

.ilsf-timeline__card ul {
  padding-left: 1.3rem;
  margin-block: 0;
}

.ilsf-timeline__card li + li {
  margin-top: 0.25rem;
}

.ilsf-timeline__card li::marker {
  color: var(--wp--preset--color--signal-red, #ff0000);
}

.ilsf-timeline__image.wp-block-image {
  margin: 0 0 1rem;
}

.ilsf-timeline__image img {
  display: block;
  width: 100%;
  height: auto;
}

.ilsf-timeline__image--logo.wp-block-image {
  max-width: 260px;
  margin-right: auto;
  margin-bottom: 1.5rem;
  margin-left: auto;
}

@media (max-width: 781px) {
  .ilsf-timeline-section.wp-block-group {
    padding-right: 20px;
    padding-left: 20px;
  }

  .ilsf-timeline.wp-block-group {
    padding: 1.5rem 1rem;
  }

  .ilsf-timeline__content.wp-block-group::before {
    top: 1.75rem;
    bottom: 1.75rem;
    left: 0.5rem;
  }

  .ilsf-timeline__item.wp-block-group {
    display: block;
    padding: 1.25rem 0 1.25rem 3rem;
  }

  .ilsf-timeline__item.wp-block-group::before {
    top: 1.8rem;
    left: 0.5rem;
  }

  .ilsf-timeline__date,
  .ilsf-timeline__item:nth-child(even) .ilsf-timeline__date {
    margin: 0 0 0.75rem;
    text-align: left;
  }

  .ilsf-timeline__card.wp-block-group,
  .ilsf-timeline__item:nth-child(even) .ilsf-timeline__card {
    width: 100%;
  }

  .ilsf-timeline__card.wp-block-group::before,
  .ilsf-timeline__item:nth-child(even) .ilsf-timeline__card::before {
    top: 1.05rem;
    right: auto;
    left: -12px;
    border-top: 10px solid transparent;
    border-right: 12px solid var(--ilsf-white);
    border-bottom: 10px solid transparent;
    border-left: 0;
  }
}

.standard-page__content .wp-block-button.is-style-ilsf-signal .wp-block-button__link {
  border-color: var(--ilsf-yellow);
  background: var(--ilsf-yellow);
  color: var(--ilsf-ocean-deep);
}

.standard-page__content .wp-block-button.is-style-ilsf-signal .wp-block-button__link:hover {
  border-color: var(--ilsf-ocean);
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
}

/* Reusable yellow section accent. Add this class to any Gutenberg block. */
.ilsf-yellow-top-border {
  border-top: 6px solid var(--ilsf-yellow) !important;
}

/* Fluid partnership / recognition card pattern. */
.ilsf-grid-3-2-1.wp-block-group {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
}

.ilsf-grid-4-2-1.wp-block-group {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
}

@media (max-width: 980px) {
  .ilsf-grid-3-2-1.wp-block-group,
  .ilsf-grid-4-2-1.wp-block-group {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .ilsf-grid-3-2-1.wp-block-group,
  .ilsf-grid-4-2-1.wp-block-group {
    grid-template-columns: minmax(0, 1fr);
  }
}

.wp-block-group.is-style-ilsf-recognition-card {
  box-sizing: border-box;
  container-type: inline-size;
  display: flex;
  overflow: hidden;
  width: 100%;
  max-width: none;
  height: 100%;
  flex-direction: column;
  padding: clamp(1.25rem, 8%, 3.25rem);
  border: 1px solid var(--ilsf-border);
  border-top: 12px solid var(--ilsf-yellow);
  border-radius: 24px;
  margin-block: 0;
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
  text-align: center;
}

.wp-block-group.is-style-ilsf-recognition-card > :first-child {
  margin-top: 0;
}

.wp-block-group.is-style-ilsf-recognition-card > :last-child {
  margin-bottom: 0;
}

.wp-block-group.is-style-ilsf-recognition-card .ilsf-recognition-card__logo {
  width: 100%;
  margin: 0 auto clamp(1.5rem, 8cqi, 6rem);
}

.wp-block-group.is-style-ilsf-recognition-card .ilsf-recognition-card__logo img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.wp-block-group.is-style-ilsf-recognition-card h3 {
  max-width: 700px;
  margin: 0 auto clamp(1rem, 5cqi, 3.25rem);
  color: var(--ilsf-ocean);
  font-family: "interstate", sans-serif;
  font-size: clamp(1rem, 6cqi, 3rem);
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
}

.wp-block-group.is-style-ilsf-recognition-card p {
  max-width: 760px;
  margin-inline: auto;
  color: var(--ilsf-ocean);
  font-size: clamp(0.875rem, 3.2cqi, 1.55rem);
  line-height: 1.55;
}

.wp-block-group.is-style-ilsf-recognition-card > p:last-child:has(a),
.wp-block-group.is-style-ilsf-recognition-card > .wp-block-buttons:last-child {
  margin-top: auto;
  padding-top: clamp(1.5rem, 7cqi, 3.5rem);
}

.standard-page--style-guide .style-guide-section > .is-style-ilsf-recognition-card {
  width: 100%;
  max-width: 860px;
  margin-right: auto;
  margin-left: auto;
}

@media (max-width: 680px) {
  .wp-block-group.is-style-ilsf-recognition-card {
    padding: 2.75rem 1.25rem 3rem;
    border-top-width: 8px;
    border-radius: 18px;
  }

  .wp-block-group.is-style-ilsf-recognition-card .ilsf-recognition-card__logo {
    margin-bottom: 2.75rem;
  }
}

/* Compact Olympic recognition strip. This is intentionally distinct from the
   large institutional recognition card used in page content. */
.wp-block-group.is-style-ilsf-recognition-strip {
  box-sizing: border-box;
  display: grid;
  width: min(80%, 700px);
  grid-template-columns: 116px minmax(0, 1fr);
  align-items: center;
  gap: 2.125rem;
  padding: 2rem 4rem;
  border-radius: 999px;
  margin: 2rem auto;
  background: var(--ilsf-white);
  box-shadow: 0 2px 18px rgba(6, 66, 115, 0.39);
  color: var(--ilsf-ocean);
}

.wp-block-group.is-style-ilsf-recognition-strip > * {
  margin-block: 0;
}

.wp-block-group.is-style-ilsf-recognition-strip .ilsf-recognition-strip__logo {
  width: 100%;
  max-width: 116px;
}

.wp-block-group.is-style-ilsf-recognition-strip .ilsf-recognition-strip__logo img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 55px;
  object-fit: contain;
}

.wp-block-group.is-style-ilsf-recognition-strip .ilsf-recognition-strip__text {
  color: var(--ilsf-ocean);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
}

.recognition > .wp-block-group.is-style-ilsf-recognition-strip {
  position: relative;
  z-index: 2;
  margin-top: 0;
  margin-bottom: -120px;
  transform: translateY(-135px);
}

@media (max-width: 680px) {
  .wp-block-group.is-style-ilsf-recognition-strip {
    width: 90%;
    grid-template-columns: 80px minmax(0, 1fr);
    gap: 1rem;
    padding: 1rem 2rem;
    border-radius: 40px;
  }

  .wp-block-group.is-style-ilsf-recognition-strip .ilsf-recognition-strip__text {
    font-size: 0.72rem;
  }

  .recognition > .wp-block-group.is-style-ilsf-recognition-strip {
    margin-bottom: -70px;
    transform: translateY(-82px);
  }
}

/* Mission card pattern. */
.wp-block-group.is-style-ilsf-mission-card {
  --ilsf-mission-content-inset: 2rem;

  box-sizing: border-box;
  overflow: hidden;
  width: 100%;
  max-width: 680px;
  padding: 2rem 3rem 3rem;
  border-top: 6px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin-block: 2rem;
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
}

.ilsf-about-missions__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: clamp(2rem, 2.85vw, 2.5rem);
}

.ilsf-about-missions > .shell {
	width: min(calc(100% - 2.375rem), var(--ilsf-shell));
}

.ilsf-about-missions__grid > .wp-block-column {
	display: flex;
	min-width: 0;
}

.ilsf-about-missions__grid > .wp-block-column > .wp-block-group.is-style-ilsf-mission-card {
	width: 100%;
	max-width: none;
	height: 100%;
	margin-block: 0;
}

@media (max-width: 781px) {
	.ilsf-about-missions > .shell {
		width: min(calc(100% - 2rem), 680px);
	}

	.ilsf-about-missions__grid {
		grid-template-columns: minmax(0, 1fr);
		gap: 1.5rem;
	}

	.ilsf-about-missions__grid > .wp-block-column {
		width: 100%;
	}
}

.wp-block-group.is-style-ilsf-mission-card > * {
  margin-block-start: 0;
  margin-block-end: 0;
}

.wp-block-group.is-style-ilsf-mission-card .ilsf-mission-card__image {
  width: 100%;
  margin: 0;
}

.wp-block-group.is-style-ilsf-mission-card .ilsf-mission-card__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2560 / 1893;
  object-fit: cover;
}

.wp-block-group.is-style-ilsf-mission-card h3 {
  position: relative;
  z-index: 1;
  max-width: 9em;
  /* Anchor the bottom of the first title line to the image edge. Using an
     em-based overlap keeps that relationship intact as the heading scales. */
  margin-top: -0.84em;
  margin-bottom: 1.5rem;
  /* Gutenberg's constrained layout gives heading blocks automatic inline
     margins. Pin both text blocks to the same card inset instead. */
  margin-right: var(--ilsf-mission-content-inset) !important;
  margin-left: var(--ilsf-mission-content-inset) !important;
  color: var(--ilsf-white);
  font-family: "interstate", sans-serif;
  font-size: clamp(2.5rem, 3vw, 4rem);
  font-weight: 700;
  line-height: 1.05;
  text-shadow: 0 0 0.3em rgba(0, 0, 0, 0.4);
  text-transform: uppercase;
}

.wp-block-group.is-style-ilsf-mission-card > p {
  max-width: none;
  margin-top: 0;
  margin-right: var(--ilsf-mission-content-inset) !important;
  margin-bottom: 0;
  margin-left: var(--ilsf-mission-content-inset) !important;
  color: var(--ilsf-white);
  font-size: 1rem;
  line-height: 1.6;
}

.wp-block-group.is-style-ilsf-mission-card .ilsf-mission-card__actions {
  margin: 2rem 0 0;
}

.wp-block-group.is-style-ilsf-mission-card .wp-block-button__link {
  border-color: var(--ilsf-white);
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
}

.wp-block-group.is-style-ilsf-mission-card .wp-block-button__link::after {
  margin-left: 0.75rem;
  color: var(--ilsf-red);
  content: "›";
  font-size: 1.35em;
  line-height: 0;
}

.wp-block-group.is-style-ilsf-mission-card .wp-block-button__link:hover,
.wp-block-group.is-style-ilsf-mission-card .wp-block-button__link:focus-visible {
  border-color: var(--ilsf-white);
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
}

.standard-page--style-guide .style-guide-section > .is-style-ilsf-mission-card {
  width: 100%;
  max-width: 680px;
  margin-right: auto;
  margin-left: auto;
}

@media (max-width: 680px) {
  .wp-block-group.is-style-ilsf-mission-card {
    --ilsf-mission-content-inset: 1rem;

    padding: 1rem 1rem 2rem;
    border-radius: 12px;
  }

  .wp-block-group.is-style-ilsf-mission-card h3 {
    margin-top: -0.84em;
    margin-bottom: 1.5rem;
    font-size: 2.5rem;
  }

  .wp-block-group.is-style-ilsf-mission-card .ilsf-mission-card__actions {
    justify-content: center;
    margin-top: 2rem;
  }
}

.ilsf-homepage-missions .mission-grid > .wp-block-group.is-style-ilsf-mission-card {
  max-width: none;
  margin-block: 0;
}

/* One-time homepage reveals matching the delivered Divi animation settings.
   Classes are added only when JavaScript and motion preferences allow them,
   so content remains visible without scripting and in the block editor. */
.is-home-reveal-ready {
  opacity: 0;
  transition:
    opacity var(--ilsf-home-reveal-duration, 700ms) ease-in-out,
    translate var(--ilsf-home-reveal-duration, 700ms) ease-in-out,
    scale var(--ilsf-home-reveal-duration, 700ms) ease-in-out;
  will-change: opacity, translate, scale;
}

.is-home-reveal--left {
  translate: -50% 0;
}

.is-home-reveal--right {
  translate: 50% 0;
}

.is-home-reveal--bottom {
  translate: 0 50%;
}

.is-home-reveal--centre {
  scale: 0.5;
}

.is-home-reveal--horizontal {
  scale: 0.5 1;
}

.is-home-reveal-ready.is-home-reveal-visible {
  opacity: 1;
  translate: 0 0;
  scale: 1;
}

/* Article teaser card pattern. */
.wp-block-group.is-style-ilsf-article-teaser-card {
  box-sizing: border-box;
  display: flex;
  overflow: hidden;
  width: 100%;
  max-width: 520px;
  min-height: 100%;
  flex-direction: column;
  padding: 2rem 2rem 3rem;
  border: 0;
  border-top: 6px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin-block: 2rem;
  background: var(--ilsf-sky);
  color: var(--ilsf-ocean);
}

.wp-block-group.is-style-ilsf-article-teaser-card > * {
  margin-block-start: 0;
  margin-block-end: 0;
}

.wp-block-group.is-style-ilsf-article-teaser-card .ilsf-article-teaser-card__image {
  width: 100%;
  margin: 0;
}

.wp-block-group.is-style-ilsf-article-teaser-card .ilsf-article-teaser-card__image img {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.wp-block-group.is-style-ilsf-article-teaser-card h3 {
  margin: 1rem 0 0;
  color: var(--ilsf-ocean);
  font-family: "interstate", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
}

.wp-block-group.is-style-ilsf-article-teaser-card h3 a {
  color: inherit;
  text-decoration: none;
}

.wp-block-group.is-style-ilsf-article-teaser-card .ilsf-article-teaser-card__actions {
  justify-content: center;
  margin: auto 0 0;
  padding-top: 2rem;
}

.wp-block-group.is-style-ilsf-article-teaser-card .wp-block-button__link,
.wp-block-group.is-style-ilsf-article-teaser-card .wp-block-read-more {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  padding: 0.7rem 1.35rem;
  border: 2px solid var(--ilsf-white);
  border-radius: 999px;
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
  font-family: "interstate", sans-serif;
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

.wp-block-group.is-style-ilsf-article-teaser-card .wp-block-button__link::after,
.wp-block-group.is-style-ilsf-article-teaser-card .wp-block-read-more::after {
  margin-left: 0.75rem;
  color: var(--ilsf-red);
  content: "›";
  font-size: 1.35em;
  line-height: 0;
}

.wp-block-group.is-style-ilsf-article-teaser-card .wp-block-button__link:hover,
.wp-block-group.is-style-ilsf-article-teaser-card .wp-block-button__link:focus-visible,
.wp-block-group.is-style-ilsf-article-teaser-card .wp-block-read-more:hover,
.wp-block-group.is-style-ilsf-article-teaser-card .wp-block-read-more:focus-visible {
  border-color: var(--ilsf-sky);
  background: var(--ilsf-sky);
  color: var(--ilsf-ocean);
}

.standard-page--style-guide .style-guide-section > .is-style-ilsf-article-teaser-card {
  width: 100%;
  max-width: 520px;
  margin-right: auto;
  margin-left: auto;
}

@media (max-width: 680px) {
  .wp-block-group.is-style-ilsf-article-teaser-card {
    min-height: 0;
    padding: 1rem 1rem 2rem;
    border-radius: 12px;
  }

  .wp-block-group.is-style-ilsf-article-teaser-card .ilsf-article-teaser-card__actions {
    padding-top: 2rem;
  }
}

.ilsf-homepage-community .community-grid > .wp-block-group.is-style-ilsf-article-teaser-card,
.ilsf-homepage-community .community-grid > li > .wp-block-group.is-style-ilsf-article-teaser-card {
  max-width: none;
  margin-block: 0;
}

.ilsf-homepage-community .community-grid.wp-block-post-template {
  align-items: stretch;
  padding: 0;
  margin-block: 0;
  list-style: none;
}

.ilsf-homepage-community .community-grid.wp-block-post-template > li {
  display: flex;
  min-width: 0;
}

/* Major-event card pattern. Its longer editorial body needs a distinct
   structure from the compact article teaser above. */
.wp-block-group.is-style-ilsf-event-card {
  box-sizing: border-box;
  display: flex;
  overflow: hidden;
  width: 100%;
  max-width: 680px;
  min-height: 100%;
  flex-direction: column;
  padding: 2rem 3rem 3rem;
  border: 0;
  border-top: 6px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin-block: 2rem;
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
}

.wp-block-group.is-style-ilsf-event-card > * {
  margin-block-start: 0;
  margin-block-end: 0;
}

.wp-block-group.is-style-ilsf-event-card .ilsf-event-card__image {
  width: 100%;
  margin: 0;
}

.wp-block-group.is-style-ilsf-event-card .ilsf-event-card__image img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2560 / 1893;
  object-fit: cover;
}

.wp-block-group.is-style-ilsf-event-card .ilsf-event-card__content {
  box-sizing: border-box;
  display: flex;
  width: 100%;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.5rem 2rem 0;
}

.wp-block-group.is-style-ilsf-event-card .ilsf-event-card__content > * {
  margin-block-start: 0;
}

.wp-block-group.is-style-ilsf-event-card h3 {
  margin: 0 0 1.25rem;
  color: var(--ilsf-ocean);
  font-family: "interstate", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
}

.wp-block-group.is-style-ilsf-event-card p {
  margin: 0 0 1rem;
  color: var(--ilsf-ocean);
  font-size: 1rem;
  line-height: 1.6;
}

.wp-block-group.is-style-ilsf-event-card .ilsf-event-card__actions {
  width: 100%;
  justify-content: flex-end;
  margin: auto 0 0;
  padding-top: 1rem;
}

.wp-block-group.is-style-ilsf-event-card .wp-block-button__link {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  padding: 0.7rem 1.35rem;
  border: 2px solid var(--ilsf-ocean);
  border-radius: 999px;
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
  font-family: "interstate", sans-serif;
  font-size: 0.94rem;
  font-weight: 700;
  line-height: 1;
  text-decoration: none;
}

.wp-block-group.is-style-ilsf-event-card .wp-block-button__link::after {
  margin-left: 0.75rem;
  color: var(--ilsf-red);
  content: "›";
  font-size: 1.35em;
  line-height: 0;
}

.wp-block-group.is-style-ilsf-event-card .wp-block-button__link:hover,
.wp-block-group.is-style-ilsf-event-card .wp-block-button__link:focus-visible {
  border-color: var(--ilsf-ocean-deep);
  background: var(--ilsf-ocean-deep);
  color: var(--ilsf-white);
}

.standard-page--style-guide .style-guide-section > .is-style-ilsf-event-card {
  width: 100%;
  max-width: 680px;
  margin-right: auto;
  margin-left: auto;
}

.ilsf-homepage-events .event-showcase > .wp-block-group.is-style-ilsf-event-card {
  max-width: none;
  margin-block: 0;
}

@media (max-width: 680px) {
  .wp-block-group.is-style-ilsf-event-card {
    min-height: 0;
    padding: 1rem 1rem 2rem;
  }

  .wp-block-group.is-style-ilsf-event-card .ilsf-event-card__content {
    padding: 1.25rem 1rem 0;
  }
}

/* Statistic cards. The non-numerical statement is a separate pattern, while
   sharing the measured surface, top rule and dimensions. */
.wp-block-group.is-style-ilsf-stat-card,
.wp-block-group.is-style-ilsf-stat-statement-card {
  display: flex;
  overflow: hidden;
  width: 100%;
  max-width: 520px;
  min-height: 278px;
  aspect-ratio: 1.87 / 1;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: clamp(1.5rem, 4vw, 2.5rem);
  border-top: 8px solid #38688f;
  border-radius: 12px;
  margin-block: 2rem;
  background: #1f5581;
  color: var(--ilsf-white);
  text-align: center;
}

.wp-block-group.is-style-ilsf-stat-card .ilsf-stat-card__value {
  margin: 0;
  color: var(--ilsf-white);
  font-family: "interstate", sans-serif;
  font-size: 48px;
  font-weight: 700;
  letter-spacing: -1px;
  line-height: 1.15;
}

.wp-block-group.is-style-ilsf-stat-card .ilsf-stat-card__label {
  margin: 1.5rem 0 0;
  color: var(--ilsf-white);
  font-family: "interstate", sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: -1px;
  line-height: 1.15;
  text-transform: uppercase;
}

.wp-block-group.is-style-ilsf-stat-card .ilsf-stat-card__statement,
.wp-block-group.is-style-ilsf-stat-statement-card .ilsf-stat-card__statement {
  margin: 0;
  color: var(--ilsf-white);
  font-family: "interstate", sans-serif;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: -1px;
  line-height: 1.15;
  text-transform: uppercase;
}

@media (max-width: 680px) {
  .wp-block-group.is-style-ilsf-stat-card,
  .wp-block-group.is-style-ilsf-stat-statement-card {
    min-height: 0;
    border-top-width: 8px;
    border-radius: 12px;
  }
}

/* Dynamic featured-post preview pattern. */
.wp-block-query.is-style-ilsf-featured-post-preview,
.wp-block-query.is-style-ilsf-post-card {
  width: 100%;
  margin-block: 2rem;
}

.wp-block-query.is-style-ilsf-featured-post-preview .wp-block-post-template,
.wp-block-query.is-style-ilsf-post-card .wp-block-post-template {
  display: block;
  padding: 0;
  margin: 0;
  list-style: none;
}

.wp-block-query.is-style-ilsf-featured-post-preview .wp-block-post,
.wp-block-query.is-style-ilsf-post-card .wp-block-post {
  margin: 0;
}

.ilsf-featured-post-preview__card,
.ilsf-post-card__card {
  overflow: hidden;
  width: 100%;
  background: #f5f5f5;
  box-shadow: 0 10px 35px rgba(3, 47, 84, 0.09);
}

.ilsf-featured-post-preview__card {
  border-top: 6px solid var(--ilsf-yellow);
  border-radius: 20px;
}

.ilsf-post-card__card {
  border-radius: 20px;
}

.ilsf-featured-post-preview__image,
.ilsf-post-card__image {
  width: 100%;
  margin: 0;
}

.ilsf-featured-post-preview__image img,
.ilsf-post-card__image img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: cover;
}

.ilsf-featured-post-preview__image img {
  aspect-ratio: 8 / 5;
}

.ilsf-post-card__image img {
  aspect-ratio: 4 / 3;
}

.ilsf-featured-post-preview__content {
  padding: 1.6rem;
}

.ilsf-post-card__content {
  padding: 1.6rem;
}

.ilsf-featured-post-preview__content .wp-block-post-title,
.ilsf-post-card__content .wp-block-post-title {
  margin: 0;
  color: var(--ilsf-ocean);
  font-family: "interstate", sans-serif;
  font-weight: 700;
  line-height: 1.08;
  text-transform: uppercase;
}

.ilsf-featured-post-preview__content .wp-block-post-title {
  font-size: 1.5rem;
}

.ilsf-post-card__content .wp-block-post-title {
  font-size: 1.5rem;
}

.ilsf-featured-post-preview__content .wp-block-post-title a,
.ilsf-post-card__content .wp-block-post-title a {
  color: inherit;
  text-decoration: none;
}

.ilsf-featured-post-preview__content .wp-block-post-date {
  margin-top: 1rem;
  color: var(--ilsf-red);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.ilsf-featured-post-preview__content .wp-block-post-excerpt {
  margin: 1rem 0 0;
  color: var(--ilsf-muted);
  font-size: 1rem;
  line-height: 1.6;
}

.ilsf-featured-post-preview__content .wp-block-post-excerpt__more-link,
.ilsf-post-card__content .wp-block-read-more {
  display: inline-block;
  margin-top: 1.5rem;
  color: var(--ilsf-red);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  text-transform: none;
}

.ilsf-featured-post-preview__content .wp-block-post-excerpt__more-link:hover,
.ilsf-featured-post-preview__content .wp-block-post-excerpt__more-link:focus-visible,
.ilsf-post-card__content .wp-block-read-more:hover,
.ilsf-post-card__content .wp-block-read-more:focus-visible {
  color: var(--ilsf-ocean);
}

/* Homepage news composition: one featured card and two compact cards. */
.wp-block-group.ilsf-homepage-news__grid {
  display: grid;
  /* Match Divi's explicit 2/3 + 1/3 columns and 5.5% gutter. */
  grid-template-columns: minmax(0, 64.833fr) minmax(260px, 29.667fr);
  align-items: stretch;
  gap: 5.5%;
}

.ilsf-homepage-news__grid > .wp-block-query,
.ilsf-homepage-news__secondary > .wp-block-query {
  margin-block: 0;
}

.ilsf-homepage-news__secondary {
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  gap: 1.5rem;
}

.ilsf-homepage-news__grid .wp-block-query,
.ilsf-homepage-news__grid .wp-block-post-template,
.ilsf-homepage-news__grid .wp-block-post,
.ilsf-homepage-news__grid .ilsf-featured-post-preview__card,
.ilsf-homepage-news__grid .ilsf-post-card__card {
  height: 100%;
}

.ilsf-homepage-news__grid .ilsf-featured-post-preview__card,
.ilsf-homepage-news__grid .ilsf-post-card__card {
  display: flex;
  flex-direction: column;
}

.ilsf-homepage-news__grid .ilsf-featured-post-preview__content,
.ilsf-homepage-news__grid .ilsf-post-card__content {
  flex: 1;
}

.ilsf-homepage-news__actions {
  display: flex;
  justify-content: flex-end;
  margin-top: 2rem;
}

.ilsf-homepage-news__actions .ilsf-news-index-actions {
  width: 29.6%;
  margin: 0;
}

.wp-block-button.is-style-ilsf-news-wide,
.wp-block-button.is-style-ilsf-news-wide .wp-block-button__link {
  width: 100%;
}

.wp-block-button.is-style-ilsf-news-wide .wp-block-button__link {
  display: flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  padding: 0.75rem 1.5rem;
  border: 0;
  border-radius: 999px;
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
}

.wp-block-button.is-style-ilsf-news-wide .wp-block-button__link::after {
  margin-left: 0.65rem;
  color: var(--ilsf-red);
  content: "›";
  font-size: 1.35em;
  line-height: 0;
}

.wp-block-button.is-style-ilsf-news-wide .wp-block-button__link:hover,
.wp-block-button.is-style-ilsf-news-wide .wp-block-button__link:focus-visible {
  background: var(--ilsf-ocean-deep);
  color: var(--ilsf-white);
}

@media (max-width: 680px) {
  .wp-block-group.ilsf-homepage-news__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }

  .ilsf-homepage-news__secondary {
    display: contents;
  }

  .ilsf-homepage-news__grid .ilsf-featured-post-preview__content,
  .ilsf-homepage-news__grid .ilsf-post-card__content {
    padding: 1rem;
  }

  .ilsf-homepage-news__grid .ilsf-featured-post-preview__content .wp-block-post-title,
  .ilsf-homepage-news__grid .ilsf-post-card__content .wp-block-post-title {
    font-size: 1.12rem;
  }

  .ilsf-homepage-news__grid .ilsf-featured-post-preview__content .wp-block-post-excerpt {
    font-size: 0.9rem;
  }

  .ilsf-homepage-news__actions .ilsf-news-index-actions {
    width: 100%;
  }
}

.standard-page__content .wp-block-button.is-style-ilsf-news-wide {
  width: 100%;
}

.standard-page__content .wp-block-button.is-style-ilsf-news-wide .wp-block-button__link {
  display: flex;
  width: 100%;
  min-height: 74px;
  align-items: center;
  justify-content: center;
  padding: 1rem 2rem;
  border: 0;
  border-radius: 999px;
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
  font-size: clamp(1.25rem, 3vw, 2rem);
  font-weight: 700;
}

.standard-page__content .wp-block-button.is-style-ilsf-news-wide .wp-block-button__link::after {
  margin-left: 1rem;
  color: var(--ilsf-red);
  content: "›";
  font-size: 1.5em;
  line-height: 0;
}

.standard-page__content .wp-block-button.is-style-ilsf-news-wide .wp-block-button__link:hover,
.standard-page__content .wp-block-button.is-style-ilsf-news-wide .wp-block-button__link:focus-visible {
  background: var(--ilsf-ocean-deep);
}

/* Compact catalogue presentation for the reusable card patterns. */
.style-guide-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-items: start;
  gap: 1.5rem;
  width: 100%;
  margin-block: 2rem;
}

.style-guide-card-grid > * {
  width: 100%;
  max-width: none;
  margin-block: 0;
}

.style-guide-card-grid > .is-style-ilsf-featured-post-preview {
  grid-column: span 2;
}

.style-guide-card-grid > .ilsf-news-index-actions {
  grid-column: 1 / -1;
}

.style-guide-card-grid .is-style-ilsf-recognition-card {
  padding: 3rem 1.5rem;
  border-top-width: 8px;
  border-radius: 18px;
}

.style-guide-card-grid .is-style-ilsf-recognition-card .ilsf-recognition-card__logo {
  margin-bottom: 2.5rem;
}

.style-guide-card-grid .is-style-ilsf-recognition-card h3 {
  margin-bottom: 1.5rem;
  font-size: 2rem;
}

.style-guide-card-grid .is-style-ilsf-recognition-card p {
  font-size: 1rem;
}

.style-guide-card-grid .is-style-ilsf-stat-card {
  min-height: 0;
}

.style-guide-card-grid .is-style-ilsf-stat-statement-card {
  min-height: 0;
}

.style-guide-card-grid .is-style-ilsf-stat-card .ilsf-stat-card__value {
  font-size: 48px;
}

.style-guide-card-grid .is-style-ilsf-stat-card .ilsf-stat-card__label {
  font-size: 1.5rem;
}

@media (max-width: 1100px) {
  .style-guide-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .style-guide-card-grid {
    grid-template-columns: 1fr;
  }

  .style-guide-card-grid > .is-style-ilsf-featured-post-preview {
    grid-column: span 1;
  }
}

.style-guide-intro {
  font-size: 1.2rem;
  line-height: 1.65;
}

.style-guide-index {
  width: 100%;
  max-width: 1100px;
  padding: clamp(1.25rem, 3vw, 2rem);
  border-left: 7px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin: 1rem auto 2rem;
  background: var(--ilsf-mist);
}

.style-guide-index h2 {
  margin: 0 0 1rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1.5rem, 2.5vw, 2rem);
}

.standard-page__content .style-guide-index ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.65rem 1.5rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.standard-page__content .style-guide-index li,
.standard-page__content .style-guide-index li + li {
  margin: 0;
}

.style-guide-index a {
  color: var(--ilsf-ocean);
  font-weight: 700;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.2em;
}

.style-guide-index a:hover,
.style-guide-index a:focus-visible {
  color: var(--ilsf-red);
}

.style-guide-section {
  padding-block: clamp(1rem, 3vw, 2.25rem);
  border-bottom: 1px solid var(--ilsf-border);
}

.style-guide-section > h2[id] {
  scroll-margin-top: 2rem;
}

.style-guide-section:last-child {
  border-bottom: 0;
}

.style-guide-label {
  margin-bottom: 0.65rem;
  color: var(--ilsf-red);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.style-guide-swatches {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  margin-block: 2rem;
}

.style-guide-swatch {
  overflow: hidden;
  margin-block: 0;
  border: 1px solid var(--ilsf-border);
  border-radius: 12px;
  background: var(--ilsf-white);
}

.style-guide-swatch__colour {
  min-height: 96px;
}

.style-guide-swatch__colour--ocean {
  background: var(--ilsf-ocean);
}

.style-guide-swatch__colour--ocean-deep {
  background: var(--ilsf-ocean-deep);
}

.style-guide-swatch__colour--red {
  background: var(--ilsf-red);
}

.style-guide-swatch__colour--yellow {
  background: var(--ilsf-yellow);
}

.style-guide-swatch__colour--sky {
  background: var(--ilsf-sky);
}

.style-guide-swatch__colour--mist {
  background: var(--ilsf-mist);
}

.style-guide-swatch__colour--ink {
  background: var(--ilsf-ink);
}

.style-guide-swatch__colour--white {
  background: var(--ilsf-white);
}

.style-guide-swatch__meta {
  padding: 0.9rem 1rem 1rem;
}

.style-guide-swatch__meta strong,
.style-guide-swatch__meta code {
  display: block;
}

.style-guide-swatch__meta code {
  margin-top: 0.15rem;
  color: var(--ilsf-muted);
  font-size: 0.78rem;
}

.style-guide-heading-sample {
  padding-block: 1rem;
  border-bottom: 1px solid var(--ilsf-border);
}

.style-guide-heading-sample:last-child {
  border-bottom: 0;
}

.style-guide-heading-sample .style-guide-label {
  margin-bottom: 0.35rem;
}

.style-guide-component-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  margin-block: 2rem;
}

.style-guide-component-grid > .wp-block-group {
  height: 100%;
  margin-block: 0;
}

@media (max-width: 900px) {
  .style-guide-swatches {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .style-guide-swatches,
  .style-guide-component-grid {
    grid-template-columns: 1fr;
  }

  .standard-page__content .style-guide-index ul {
    grid-template-columns: 1fr;
  }
}

/* Default Gutenberg page template. */
.standard-page .page-hero {
  padding-block: 1.5rem 5.375rem;
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
  text-align: center;
}

.standard-page .page-hero__inner {
  max-width: 800px;
}

.standard-page .page-hero h1 {
  max-width: none;
  margin: 0;
  color: var(--ilsf-white);
  font-family: "interstate", sans-serif;
  font-size: 5rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -1px;
  text-transform: uppercase;
}

.page-hero__summary {
  max-width: 800px;
  margin: 0.625rem auto 0;
  color: var(--ilsf-white);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.6;
}

.page-hero__summary > :last-child {
  margin-bottom: 0;
}

.page-featured-media {
  width: min(calc(100% - 3rem), 1120px);
  margin-top: clamp(2.5rem, 5vw, 4.5rem);
}

.page-featured-media__image {
  width: 100%;
  max-height: 680px;
  object-fit: cover;
  border-radius: 12px;
}

.page-featured-media figcaption,
.standard-page__content figcaption {
  margin-top: 0.65rem;
  color: var(--ilsf-muted);
  font-size: 0.85rem;
  line-height: 1.45;
  text-align: center;
}

.standard-page__content {
  color: var(--ilsf-ocean);
  font-size: 1.0625rem;
}

.standard-page__content > :first-child {
  margin-top: 0;
}

.standard-page__content > :last-child {
  margin-bottom: 0;
}

.standard-page__content h2 {
  margin-top: 1.75em;
  font-size: clamp(2rem, 4vw, 3rem);
}

.standard-page__content h3 {
  margin-top: 1.65em;
  font-size: clamp(1.5rem, 3vw, 2rem);
}

.standard-page__content h4,
.standard-page__content h5,
.standard-page__content h6 {
  margin-top: 1.5em;
  font-size: 1.1rem;
  letter-spacing: 0;
}

.standard-page__content ul,
.standard-page__content ol {
  padding-left: 1.4em;
  margin-top: 0;
  margin-bottom: 1.5rem;
}

.standard-page__content li + li {
  margin-top: 0.4rem;
}

.standard-page__content hr,
.standard-page__content .wp-block-separator {
  height: 1px;
  border: 0;
  margin-block: 3rem;
  background: var(--ilsf-border);
}

.standard-page__content .wp-block-image,
.standard-page__content .wp-block-gallery,
.standard-page__content .wp-block-video,
.standard-page__content .wp-block-embed,
.standard-page__content .wp-block-table {
  margin-block: 2rem;
}

.standard-page__content .wp-block-video video,
.standard-page__content .wp-block-embed__wrapper,
.standard-page__content .wp-block-cover {
  border-radius: 12px;
}

.standard-page__content .wp-block-image img {
  border-radius: 0;
}

.standard-page__content .wp-block-table {
  overflow-x: auto;
}

.standard-page__content table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.95rem;
}

.standard-page__content th,
.standard-page__content td {
  padding: 0.8rem 0.9rem;
  border: 1px solid var(--ilsf-border);
  text-align: left;
  vertical-align: top;
}

.standard-page__content th {
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
  font-weight: 750;
}

.standard-page__content tbody tr:nth-child(even) {
  background: var(--ilsf-mist);
}

.standard-page__content .wp-block-quote {
  padding: 1.25rem 1.5rem;
  border-left: 6px solid var(--ilsf-yellow);
  margin-block: 2rem;
  background: var(--ilsf-mist);
  color: var(--ilsf-ocean);
}

.standard-page__content .wp-block-quote cite {
  display: block;
  margin-top: 0.8rem;
  font-size: 0.85rem;
  font-style: normal;
  font-weight: 700;
}

.standard-page__content .wp-block-button__link,
.standard-page__content .wp-block-file__button {
  padding: 0.75rem 1.35rem;
  border: 2px solid var(--ilsf-ocean);
  border-radius: 999px;
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
  font-size: 0.95rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
}

.standard-page__content .wp-block-button__link:hover,
.standard-page__content .wp-block-file__button:hover {
  border-color: var(--ilsf-ocean-deep);
  background: var(--ilsf-ocean-deep);
  color: var(--ilsf-white);
}

.standard-page__content .is-style-outline > .wp-block-button__link {
  background: transparent;
  color: var(--ilsf-ocean);
}

.standard-page__content .is-style-outline > .wp-block-button__link:hover {
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
}

.standard-page__content .wp-block-columns {
  gap: clamp(1.5rem, 4vw, 3rem);
  margin-block: 2.5rem;
}

.standard-page__content .wp-block-group.has-background,
.standard-page__content .wp-block-cover {
  padding: clamp(1.5rem, 4vw, 3rem);
}

.standard-page__content .page-links {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-top: 3rem;
  font-weight: 750;
}

@media (max-width: 680px) {
  .standard-page .page-hero {
    padding-block: 3.5rem 3rem;
    border-top: 6px solid var(--ilsf-yellow);
  }

  .standard-page .page-hero h1 {
    font-size: 3rem;
  }

  .page-hero__summary {
    margin-top: 0.625rem;
    font-size: 1rem;
  }

  .page-featured-media {
    width: 90%;
  }

  .standard-page__content {
    font-size: 1rem;
  }

  .standard-page__content .wp-block-columns {
    gap: 1.5rem;
  }
}

/* Native Contact page. */
:is(.page-contact-us, .page-contact-us-2026-preview) .standard-page__content.shell--content {
  width: 100%;
  max-width: none;
  padding-block: clamp(3rem, 5vw, 5rem);
}

:is(.page-contact-us, .page-contact-us-2026-preview) .standard-page__content > .ilsf-contact-layout {
  width: var(--ilsf-page-canvas);
  max-width: var(--ilsf-wide-content);
  margin: 0 auto;
  transform: none;
}

.ilsf-contact-layout {
  align-items: stretch;
  gap: 3%;
}

.ilsf-contact-card.wp-block-group {
  min-width: 0;
  height: 100%;
  padding: 3rem;
  border-radius: 12px;
  margin: 0;
}

.ilsf-contact-card > :first-child {
  margin-top: 0;
}

.ilsf-contact-card > :last-child {
  margin-bottom: 0;
}

.ilsf-contact-card h2,
.ilsf-contact-card h3 {
  margin-top: 0;
  margin-bottom: 1rem;
  font-family: var(--ilsf-font-heading);
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0;
  line-height: 1.2;
  text-transform: uppercase;
}

.ilsf-contact-card p {
  margin-top: 0;
  margin-bottom: 1.25rem;
  font-size: 0.9rem;
  line-height: 1.55;
}

.ilsf-contact-card a {
  font-weight: 700;
}

.ilsf-contact-card .wp-block-separator {
  height: 2px;
  margin-block: 1.5rem;
  opacity: 1;
}

.ilsf-contact-card--primary {
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
}

.ilsf-contact-card--primary h2,
.ilsf-contact-card--primary h3,
.ilsf-contact-card--primary a {
  color: var(--ilsf-white);
}

.ilsf-contact-card--primary .wp-block-separator {
  background: var(--ilsf-sky-strong);
}

.ilsf-contact-card__logo.wp-block-image {
  width: 25%;
  margin: 0 0 1rem;
}

.ilsf-contact-card__logo img {
  display: block;
  width: 100%;
  height: auto;
}

.ilsf-contact-social.wp-block-social-links {
  gap: 0.5rem;
  padding: 1rem 0;
  margin: 0 0 1rem;
}

.ilsf-contact-social .wp-social-link {
  margin: 0;
}

.ilsf-contact-social .wp-social-link a {
  padding: 0.4em;
}

.ilsf-contact-card--enquiries {
  background: var(--ilsf-sky);
  color: var(--ilsf-ocean);
}

.ilsf-contact-card--enquiries a {
  color: var(--ilsf-ocean);
}

.ilsf-contact-route.wp-block-group {
  padding: 0 0 1.5rem;
  border-bottom: 2px solid var(--ilsf-ocean);
  margin: 0 0 1.5rem;
}

.ilsf-contact-route.wp-block-group:last-child {
  padding-bottom: 0;
  border-bottom: 0;
  margin-bottom: 0;
}

.ilsf-contact-route > :first-child {
  margin-top: 0;
}

.ilsf-contact-route > :last-child {
  margin-bottom: 0;
}

@media (max-width: 900px) {
  :is(.page-contact-us, .page-contact-us-2026-preview) .standard-page__content > .ilsf-contact-layout {
    width: 90%;
  }

  .ilsf-contact-layout.is-layout-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row;
    gap: 2rem;
  }

  .ilsf-contact-layout > .wp-block-group {
    width: 100%;
    min-width: 0;
  }

  .ilsf-contact-card.wp-block-group {
    padding: clamp(2rem, 8vw, 3rem);
  }
}

@media (max-width: 680px) {
  :is(.page-contact-us, .page-contact-us-2026-preview) .standard-page__content.shell--content {
    padding-block: 2.5rem 4rem;
  }

  .ilsf-contact-card__logo.wp-block-image {
    width: 80px;
  }
}

/* Membership options: an editable two-path section for Get Involved. */
.ilsf-membership-options.wp-block-group {
  box-sizing: border-box;
  padding-block: clamp(3.5rem, 7vw, 6rem);
  margin-block: 0;
  background: var(--ilsf-sky);
  color: var(--ilsf-ocean);
}

.ilsf-membership-options__inner.wp-block-group {
  box-sizing: border-box;
  width: var(--ilsf-page-canvas);
  max-width: var(--ilsf-wide-content);
  padding: 0;
  margin: 0 auto;
}

.ilsf-membership-options__intro {
  width: min(100%, 960px);
  margin: 0 auto clamp(2.5rem, 5vw, 4rem);
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.7;
  text-align: center;
}

.ilsf-membership-options__grid.wp-block-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
  gap: clamp(1.5rem, 3vw, 3rem);
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}

.ilsf-membership-card.wp-block-group {
  box-sizing: border-box;
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  padding: clamp(2rem, 4vw, 3.5rem);
  border-top: 7px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin: 0;
  background: var(--ilsf-white);
  box-shadow: 0 18px 42px rgb(3 47 84 / 10%);
}

.ilsf-membership-card > :first-child {
  margin-top: 0;
}

.standard-page__content .ilsf-membership-card h2 {
  margin: 0 0 1.25rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  line-height: 1.05;
  text-transform: uppercase;
}

.ilsf-membership-card__lead {
  margin: 0 0 2rem;
  font-size: 1rem;
  line-height: 1.65;
}

.standard-page__content .ilsf-membership-card h3 {
  margin: 0 0 1rem;
  color: var(--ilsf-red);
  font-size: 0.9rem;
  letter-spacing: 0.06em;
  line-height: 1.3;
  text-transform: uppercase;
}

.standard-page__content .ilsf-membership-card .wp-block-list {
  margin: 0 0 2rem;
  padding-left: 1.25rem;
}

.ilsf-membership-card .wp-block-list li + li {
  margin-top: 0.55rem;
}

.ilsf-membership-card .wp-block-list li::marker {
  color: var(--ilsf-red);
}

.ilsf-membership-card a:not(.wp-block-button__link) {
  color: var(--ilsf-ocean);
  font-weight: 700;
}

.ilsf-membership-card__actions.wp-block-buttons {
  padding-top: 1rem;
  margin-top: auto;
  margin-bottom: 0;
}

@media (max-width: 900px) {
  .ilsf-membership-options__inner.wp-block-group {
    width: 90%;
  }

  .ilsf-membership-options__grid.is-layout-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row;
  }

  .ilsf-membership-card.wp-block-group {
    width: 100%;
    min-height: 0;
  }
}

@media (max-width: 680px) {
  .ilsf-membership-options.wp-block-group {
    padding-block: 3rem;
  }

  .ilsf-membership-options__intro {
    margin-bottom: 2rem;
    text-align: left;
  }

  .ilsf-membership-card.wp-block-group {
    padding: 2rem 1.5rem;
  }
}

/* Individual membership donor tiers: one transferable Gutenberg system. */
.standard-page__content > .ilsf-donor-page.alignfull {
  --ilsf-donor-accent: var(--ilsf-sky-strong);
  box-sizing: border-box;
  width: 100vw;
  max-width: none;
  padding-block: clamp(3rem, 7vw, 6rem);
  margin: 0 0 0 50%;
  transform: translateX(-50%);
  background: var(--ilsf-sky);
  color: var(--ilsf-ocean);
}

.standard-page__content .ilsf-donor-page--diamond {
  --ilsf-donor-accent: #8bd8ee;
}

.standard-page__content .ilsf-donor-page--ruby {
  --ilsf-donor-accent: var(--ilsf-red);
}

.standard-page__content .ilsf-donor-page--platinum {
  --ilsf-donor-accent: #b9c8cf;
}

.standard-page__content .ilsf-donor-page--gold {
  --ilsf-donor-accent: var(--ilsf-yellow);
}

.standard-page__content .ilsf-donor-page--silver {
  --ilsf-donor-accent: #94a7b0;
}

.standard-page__content .ilsf-donor-page--bronze {
  --ilsf-donor-accent: #b87333;
}

.standard-page__content .ilsf-donor-page__inner.alignwide {
  box-sizing: border-box;
  width: var(--ilsf-page-canvas);
  max-width: var(--ilsf-wide-content);
  padding: 0;
  margin: 0 auto;
}

/* Prevent Gutenberg's constrained layout from pulling sections back to prose width. */
.standard-page__content .ilsf-donor-page__inner.alignwide > :is(
  .ilsf-donor-overview,
  .ilsf-donor-info-grid,
  .ilsf-donor-panel,
  .ilsf-donor-actions,
  .ilsf-donor-tier-nav
) {
  width: 100%;
  max-width: none;
}

.standard-page__content .ilsf-donor-overview,
.standard-page__content .ilsf-donor-panel,
.standard-page__content .ilsf-donor-actions {
  box-sizing: border-box;
  padding: clamp(2rem, 4vw, 4rem);
  border-radius: var(--ilsf-radius-small);
  margin: 0 0 clamp(1.5rem, 3vw, 2.5rem);
  background: var(--ilsf-white);
  box-shadow: 0 18px 45px rgb(3 47 84 / 8%);
}

.standard-page__content .ilsf-donor-overview {
  border-top: 8px solid var(--ilsf-donor-accent);
  text-align: center;
}

.standard-page__content .ilsf-donor-overview__eyebrow {
  margin: 0 0 0.75rem;
  color: var(--ilsf-red);
  font-size: 0.88rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.standard-page__content .ilsf-donor-overview h2,
.standard-page__content .ilsf-donor-actions h2,
.standard-page__content .ilsf-donor-tier-nav h2 {
  margin: 0 0 1rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1.8rem, 3vw, 2.75rem);
  line-height: 1.08;
  text-transform: uppercase;
}

.standard-page__content .ilsf-donor-overview__lead {
  max-width: 760px;
  margin: 0 auto clamp(2rem, 4vw, 3rem);
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.65;
}

.standard-page__content .ilsf-donor-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(1rem, 2vw, 1.5rem);
  width: min(100%, 920px);
  max-width: none;
  margin: 0 auto;
}

.standard-page__content .ilsf-donor-fact {
  box-sizing: border-box;
  padding: clamp(1.25rem, 3vw, 2rem);
  border: 2px solid var(--ilsf-sky);
  border-bottom: 6px solid var(--ilsf-donor-accent);
  border-radius: 10px;
  background: var(--ilsf-mist);
}

.standard-page__content .ilsf-donor-fact__label {
  margin: 0 0 0.4rem;
  color: var(--ilsf-ocean);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.standard-page__content .ilsf-donor-fact__value {
  margin: 0;
  color: var(--ilsf-ocean);
  font-family: "interstate", sans-serif;
  font-size: clamp(2rem, 4vw, 3.5rem);
  font-weight: 800;
  line-height: 1;
}

.standard-page__content .ilsf-donor-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: stretch;
  gap: clamp(1.5rem, 3vw, 2.5rem);
  margin: 0 0 clamp(1.5rem, 3vw, 2.5rem);
}

.standard-page__content .ilsf-donor-info-grid .ilsf-donor-panel {
  min-width: 0;
  min-height: 100%;
  margin: 0;
}

.standard-page__content .ilsf-donor-panel {
  border-left: 7px solid var(--ilsf-donor-accent);
}

.standard-page__content .ilsf-donor-panel h2 {
  margin: 0 0 1.25rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1.45rem, 2.5vw, 2.15rem);
  line-height: 1.12;
  text-transform: uppercase;
}

.standard-page__content .ilsf-donor-panel > :first-child,
.standard-page__content .ilsf-donor-actions > :first-child,
.standard-page__content .ilsf-donor-tier-nav > :first-child {
  margin-top: 0;
}

.standard-page__content .ilsf-donor-panel > :last-child,
.standard-page__content .ilsf-donor-actions > :last-child,
.standard-page__content .ilsf-donor-tier-nav > :last-child {
  margin-bottom: 0;
}

.standard-page__content .ilsf-donor-panel p {
  line-height: 1.7;
}

.standard-page__content .ilsf-donor-benefits__list {
  max-width: 1080px;
  padding-left: 1.35rem;
  margin: 0;
}

.standard-page__content .ilsf-donor-benefits__list > li {
  padding-left: 0.35rem;
  line-height: 1.6;
}

.standard-page__content .ilsf-donor-benefits__list li + li {
  margin-top: 0.85rem;
}

.standard-page__content .ilsf-donor-benefits__list li::marker {
  color: var(--ilsf-red);
}

.standard-page__content .ilsf-donor-benefits__list ul {
  padding-left: 1.35rem;
  margin: 0.75rem 0 0;
}

.standard-page__content .ilsf-donor-actions {
  border-top: 8px solid var(--ilsf-donor-accent);
  text-align: center;
}

.standard-page__content .ilsf-donor-actions > p {
  max-width: 760px;
  margin: 0 auto 1.5rem;
  line-height: 1.65;
}

.standard-page__content .ilsf-donor-actions .wp-block-buttons {
  gap: 0.85rem;
  margin: 0;
}

.standard-page__content .ilsf-donor-tier-nav {
  box-sizing: border-box;
  padding-top: clamp(1.5rem, 3vw, 2.5rem);
  text-align: center;
}

.standard-page__content .ilsf-donor-tier-nav__grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 0.75rem;
  width: 100%;
  max-width: none;
  margin: 1.75rem 0 0;
}

.standard-page__content .ilsf-donor-tier-link {
  --ilsf-tier-accent: var(--ilsf-sky-strong);
  min-width: 0;
  margin: 0;
}

.standard-page__content .ilsf-donor-tier-link--diamond {
  --ilsf-tier-accent: #8bd8ee;
}

.standard-page__content .ilsf-donor-tier-link--ruby {
  --ilsf-tier-accent: var(--ilsf-red);
}

.standard-page__content .ilsf-donor-tier-link--platinum {
  --ilsf-tier-accent: #b9c8cf;
}

.standard-page__content .ilsf-donor-tier-link--gold {
  --ilsf-tier-accent: var(--ilsf-yellow);
}

.standard-page__content .ilsf-donor-tier-link--silver {
  --ilsf-tier-accent: #94a7b0;
}

.standard-page__content .ilsf-donor-tier-link--bronze {
  --ilsf-tier-accent: #b87333;
}

.standard-page__content .ilsf-donor-tier-link a {
  box-sizing: border-box;
  display: grid;
  min-height: 72px;
  padding: 1rem 0.65rem;
  border-top: 6px solid var(--ilsf-tier-accent);
  border-radius: 9px;
  place-items: center;
  background: var(--ilsf-white);
  box-shadow: 0 10px 28px rgb(3 47 84 / 8%);
  color: var(--ilsf-ocean);
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
}

.standard-page__content .ilsf-donor-tier-link a:hover,
.standard-page__content .ilsf-donor-tier-link a:focus-visible,
.standard-page__content .ilsf-donor-tier-link.is-current a {
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
}

body:is(
  .page-governor,
  .page-senator,
  .page-protector,
  .page-25-years,
  .page-10-years,
  .page-5-years,
  .page-2-years,
  .page-governor-2026-preview,
  .page-senator-2026-preview,
  .page-protector-2026-preview,
  .page-25-years-2026-preview,
  .page-10-years-2026-preview,
  .page-5-years-2026-preview,
  .page-2-years-2026-preview
) .page-hero__inner {
  max-width: 1200px;
}

body:is(
  .page-governor,
  .page-senator,
  .page-protector,
  .page-25-years,
  .page-10-years,
  .page-5-years,
  .page-2-years,
  .page-governor-2026-preview,
  .page-senator-2026-preview,
  .page-protector-2026-preview,
  .page-25-years-2026-preview,
  .page-10-years-2026-preview,
  .page-5-years-2026-preview,
  .page-2-years-2026-preview
) .page-hero h1 {
  font-size: clamp(3rem, 5vw, 5rem);
  text-wrap: balance;
}

@media (max-width: 1100px) {
  .standard-page__content .ilsf-donor-tier-nav__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 800px) {
  .standard-page__content .ilsf-donor-page__inner.alignwide {
    width: 90%;
  }

  .standard-page__content .ilsf-donor-info-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .standard-page__content .ilsf-donor-tier-nav__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 520px) {
  .standard-page__content .ilsf-donor-facts,
  .standard-page__content .ilsf-donor-tier-nav__grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .standard-page__content .ilsf-donor-overview,
  .standard-page__content .ilsf-donor-panel,
  .standard-page__content .ilsf-donor-actions {
    padding: 2rem 1.5rem;
  }
}

/* Donate page: bank details and individual-giving paths. */
.ilsf-donate-section.wp-block-group {
  box-sizing: border-box;
  padding-block: clamp(3.5rem, 7vw, 6rem);
  margin-block: 0;
  background: var(--ilsf-sky);
  color: var(--ilsf-ocean);
}

.ilsf-donate-section__inner.wp-block-group {
  box-sizing: border-box;
  width: var(--ilsf-page-canvas);
  max-width: var(--ilsf-wide-content);
  padding: 0;
  margin: 0 auto;
}

.ilsf-donate-intro.wp-block-group {
  width: min(100%, 960px);
  padding: 0;
  margin: 0 auto clamp(2.5rem, 5vw, 4rem);
  text-align: center;
}

.standard-page__content .ilsf-donate-intro h2 {
  margin: 0 0 1rem;
  color: var(--ilsf-red);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  text-transform: uppercase;
}

.ilsf-donate-intro p {
  margin: 0;
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.7;
}

.ilsf-donate-grid.wp-block-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
  gap: clamp(1.5rem, 3vw, 3rem);
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}

.ilsf-donate-card.wp-block-group {
  box-sizing: border-box;
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  padding: clamp(2rem, 4vw, 3.5rem);
  border-top: 7px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin: 0;
  box-shadow: 0 18px 42px rgb(3 47 84 / 10%);
}

.ilsf-donate-card--bank {
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
}

.ilsf-donate-card--membership {
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
}

.standard-page__content .ilsf-donate-card h2 {
  margin: 0 0 2rem;
  color: inherit;
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  line-height: 1.05;
  text-transform: uppercase;
}

.standard-page__content .ilsf-donate-card h3 {
  margin: 1.5rem 0 0.65rem;
  color: var(--ilsf-red);
  font-size: 0.9rem;
  letter-spacing: 0.06em;
  line-height: 1.3;
  text-transform: uppercase;
}

.ilsf-donate-card p {
  margin-top: 0;
  margin-bottom: 1.25rem;
  line-height: 1.65;
}

.ilsf-donate-card--bank a:not(.wp-block-button__link) {
  color: var(--ilsf-white);
}

.ilsf-donate-card__account {
  overflow-wrap: anywhere;
}

.ilsf-donate-card .wp-block-separator {
  width: 100%;
  height: 2px;
  margin-block: 1rem 0;
  background: var(--ilsf-sky-strong);
  opacity: 1;
}

.ilsf-donate-card__lead {
  font-size: 1.05rem;
}

.ilsf-donate-card__actions.wp-block-buttons {
  gap: 0.8rem;
  padding-top: 1rem;
  margin-top: auto;
  margin-bottom: 0;
}

.ilsf-donate-privacy.wp-block-group {
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border-radius: 10px;
  margin: clamp(2.5rem, 5vw, 4rem) 0 0;
  background: var(--ilsf-sky);
}

.standard-page__content .ilsf-donate-privacy h3 {
  margin-top: 0;
}

.ilsf-donate-privacy > :last-child {
  margin-bottom: 0;
}

@media (max-width: 900px) {
  .ilsf-donate-section__inner.wp-block-group {
    width: 90%;
  }

  .ilsf-donate-grid.is-layout-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-flow: row;
  }

  .ilsf-donate-card.wp-block-group {
    width: 100%;
    min-height: 0;
  }
}

@media (max-width: 680px) {
  .ilsf-donate-section.wp-block-group {
    padding-block: 3rem;
  }

  .ilsf-donate-intro.wp-block-group {
    margin-bottom: 2rem;
    text-align: left;
  }

  .ilsf-donate-card.wp-block-group {
    padding: 2rem 1.5rem;
  }

  .ilsf-donate-card__actions .wp-block-button,
  .ilsf-donate-card__actions .wp-block-button__link {
    width: 100%;
  }
}

/* Your Support page: responsive context, workplace and legacy-giving cards. */
.ilsf-support-section.wp-block-group {
  box-sizing: border-box;
  padding-block: clamp(3.5rem, 7vw, 6rem);
  margin-block: 0;
  background: var(--ilsf-sky);
  color: var(--ilsf-ocean);
}

.ilsf-support-section__inner.wp-block-group {
  box-sizing: border-box;
  width: var(--ilsf-page-canvas);
  max-width: var(--ilsf-wide-content);
  padding: 0;
  margin: 0 auto;
}

.standard-page__content .ilsf-support-section__heading {
  width: 100%;
  max-width: none;
  margin: 0 0 1rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  text-transform: uppercase;
}

.standard-page__content .ilsf-support-section__lead {
  max-width: 900px;
  margin: 0 0 2rem;
  font-size: 1.05rem;
  line-height: 1.65;
}

.ilsf-support-grid.wp-block-group {
  gap: clamp(1.25rem, 2.5vw, 2.25rem);
  width: 100%;
  max-width: none;
  margin: 0;
}

.ilsf-support-grid--contexts.wp-block-group {
  margin-bottom: clamp(4rem, 8vw, 7rem);
}

.ilsf-support-grid--workplace.wp-block-group {
  margin-bottom: clamp(4rem, 8vw, 7rem);
}

.ilsf-support-card.wp-block-group {
  box-sizing: border-box;
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  padding: clamp(1.75rem, 3vw, 2.5rem);
  border-top: 7px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin: 0;
  box-shadow: 0 18px 42px rgb(3 47 84 / 9%);
}

.ilsf-support-card--context {
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
}

.ilsf-support-card--workplace {
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
}

.standard-page__content .ilsf-support-card h3 {
  margin: 0 0 1.25rem;
  color: inherit;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  line-height: 1.15;
  text-transform: uppercase;
}

.standard-page__content .ilsf-support-card--workplace h3 {
  color: var(--ilsf-red);
  font-size: clamp(1.1rem, 1.5vw, 1.35rem);
}

.ilsf-support-card p {
  margin: 0;
  line-height: 1.65;
}

.ilsf-support-card p + p {
  margin-top: 1rem;
}

.ilsf-support-legacy.wp-block-group {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding: clamp(2rem, 5vw, 4.5rem);
  border-top: 7px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin: 0;
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
}

.standard-page__content .ilsf-support-legacy > h2 {
  margin: 0 0 1rem;
  color: var(--ilsf-white);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  text-transform: uppercase;
}

.ilsf-support-legacy__lead {
  max-width: 900px;
  margin: 0 0 2rem;
  font-size: 1.05rem;
  line-height: 1.65;
}

.ilsf-support-will-grid.wp-block-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(1.25rem, 2.5vw, 2.25rem);
  margin: 0 0 2rem;
}

.ilsf-support-will-card.wp-block-group,
.ilsf-support-gift-types.wp-block-group {
  box-sizing: border-box;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border-radius: 10px;
  margin: 0;
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
}

.standard-page__content .ilsf-support-will-card h3,
.standard-page__content .ilsf-support-gift-types h3,
.standard-page__content .ilsf-support-legacy__contact-heading {
  margin: 0 0 1rem;
  color: var(--ilsf-red);
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.3;
  text-transform: uppercase;
}

.ilsf-support-will-card > :last-child,
.ilsf-support-gift-types > :last-child {
  margin-bottom: 0;
}

.ilsf-support-gift-types.wp-block-group {
  margin-bottom: 2.5rem;
  background: var(--ilsf-sky);
}

.standard-page__content .ilsf-support-gift-types .wp-block-list {
  margin: 0;
}

.standard-page__content .ilsf-support-legacy__contact-heading {
  margin-top: 0;
  color: var(--ilsf-white);
}

.ilsf-support-legacy__actions.wp-block-buttons {
  margin: 1.5rem 0 0;
}

@media (max-width: 980px) {
  .ilsf-support-section__inner.wp-block-group {
    width: 90%;
  }
}

@media (max-width: 767px) {
  .ilsf-support-section.wp-block-group {
    padding-block: 3rem;
  }

  .ilsf-support-will-grid.is-layout-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .ilsf-support-legacy.wp-block-group {
    padding: 2rem 1.5rem;
  }

  .ilsf-support-legacy__actions .wp-block-button,
  .ilsf-support-legacy__actions .wp-block-button__link {
    width: 100%;
  }
}

/* Certification FAQs: native Gutenberg Details blocks styled as accordions. */
.ilsf-faq-section.wp-block-group {
  box-sizing: border-box;
  padding-block: clamp(3.5rem, 7vw, 6rem);
  margin-block: 0;
  background: var(--ilsf-sky);
  color: var(--ilsf-ocean);
}

.ilsf-faq-section__inner.wp-block-group {
  box-sizing: border-box;
  width: var(--ilsf-page-canvas);
  max-width: var(--ilsf-wide-content);
  padding: 0;
  margin: 0 auto;
}

.ilsf-faq-intro.wp-block-group {
  width: min(100%, 880px);
  padding: 0;
  margin: 0 auto clamp(2.5rem, 5vw, 4rem);
  text-align: center;
}

.standard-page__content .ilsf-faq-intro h2 {
  margin: 0 0 1rem;
  color: var(--ilsf-red);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  text-transform: uppercase;
}

.ilsf-faq-intro p {
  margin: 0;
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.7;
}

.ilsf-faq-list.wp-block-group {
  display: grid;
  gap: 1.25rem;
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0;
}

.ilsf-faq-item.wp-block-details {
  box-sizing: border-box;
  overflow: hidden;
  width: 100%;
  padding: 0;
  border: 0;
  border-top: 6px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin: 0;
  background: var(--ilsf-white);
  box-shadow: 0 14px 32px rgb(3 47 84 / 9%);
  color: var(--ilsf-ocean);
}

.ilsf-faq-item > summary {
  box-sizing: border-box;
  display: flex;
  min-height: 78px;
  align-items: center;
  justify-content: space-between;
  gap: 1.25rem;
  padding: 1.35rem 1.6rem;
  color: var(--ilsf-ocean);
  cursor: pointer;
  font-family: "interstate", sans-serif;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 700;
  line-height: 1.25;
  list-style: none;
}

.ilsf-faq-item > summary::-webkit-details-marker {
  display: none;
}

.ilsf-faq-item > summary::after {
  display: grid;
  width: 2.15rem;
  height: 2.15rem;
  flex: 0 0 2.15rem;
  border-radius: 50%;
  background: var(--ilsf-red);
  color: var(--ilsf-white);
  content: "+";
  font-family: Arial, sans-serif;
  font-size: 1.65rem;
  font-weight: 400;
  line-height: 1;
  place-items: center;
}

.ilsf-faq-item[open] > summary {
  border-bottom: 1px solid rgb(6 66 115 / 16%);
}

.ilsf-faq-item[open] > summary::after {
  background: var(--ilsf-ocean);
  content: "\2212";
}

.ilsf-faq-item > :not(summary) {
  margin-right: clamp(1.5rem, 4vw, 3rem);
  margin-left: clamp(1.5rem, 4vw, 3rem);
}

.ilsf-faq-item > :nth-child(2) {
  margin-top: clamp(1.5rem, 3vw, 2.25rem);
}

.ilsf-faq-item > :last-child {
  margin-bottom: clamp(1.5rem, 3vw, 2.25rem);
}

.ilsf-faq-item p,
.standard-page__content .ilsf-faq-item .wp-block-list {
  line-height: 1.7;
}

.standard-page__content .ilsf-faq-item .wp-block-list {
  padding-left: 1.4rem;
}

.ilsf-faq-item .wp-block-list li + li {
  margin-top: 0.8rem;
}

.ilsf-faq-item a {
  color: var(--ilsf-ocean);
  font-weight: 700;
}

.ilsf-faq-contact.wp-block-group {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding: clamp(2rem, 5vw, 4rem);
  border-top: 6px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin: clamp(3rem, 6vw, 5rem) 0 0;
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
  text-align: center;
}

.standard-page__content .ilsf-faq-contact h2 {
  margin: 0 0 1rem;
  color: var(--ilsf-white);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  text-transform: uppercase;
}

.ilsf-faq-contact p {
  width: min(100%, 720px);
  margin: 0 auto 1.75rem;
  line-height: 1.65;
}

.ilsf-faq-contact .wp-block-buttons {
  margin: 0;
}

@media (max-width: 980px) {
  .ilsf-faq-section__inner.wp-block-group {
    width: 90%;
  }
}

@media (max-width: 680px) {
  .ilsf-faq-section.wp-block-group {
    padding-block: 3rem;
  }

  .ilsf-faq-intro.wp-block-group {
    margin-bottom: 2rem;
    text-align: left;
  }

  .ilsf-faq-item > summary {
    min-height: 0;
    gap: 1rem;
    padding: 1.15rem 1.25rem;
    font-size: 1.05rem;
  }

  .ilsf-faq-item > summary::after {
    width: 1.85rem;
    height: 1.85rem;
    flex-basis: 1.85rem;
    font-size: 1.35rem;
  }

  .ilsf-faq-item > :not(summary) {
    margin-right: 1.25rem;
    margin-left: 1.25rem;
  }

  .ilsf-faq-contact.wp-block-group {
    padding: 2rem 1.5rem;
  }

  .ilsf-faq-contact .wp-block-button,
  .ilsf-faq-contact .wp-block-button__link {
    width: 100%;
  }
}

/* ISA/ILS Surf and SUP Water Safety Course page. */
.ilsf-water-safety-course.wp-block-group {
  box-sizing: border-box;
  padding-block: clamp(3.5rem, 7vw, 6rem);
  margin-block: 0;
  background: var(--ilsf-sky);
  color: var(--ilsf-ocean);
}

.ilsf-water-safety-course__inner.wp-block-group {
  box-sizing: border-box;
  width: var(--ilsf-page-canvas);
  max-width: var(--ilsf-wide-content);
  padding: 0;
  margin: 0 auto;
}

.ilsf-water-safety-course__intro.wp-block-group {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding: clamp(2rem, 5vw, 4.5rem);
  border-top: 7px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin: 0 0 clamp(2rem, 4vw, 3.5rem);
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
  text-align: center;
}

.ilsf-water-safety-course__eyebrow {
  margin: 0 0 1rem;
  color: var(--ilsf-yellow);
  font-family: "interstate", sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.standard-page__content .ilsf-water-safety-course__intro h2 {
  width: min(100%, 950px);
  margin: 0 auto 1.25rem;
  color: var(--ilsf-white);
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 1.05;
  text-transform: uppercase;
}

.ilsf-water-safety-course__intro > p:last-child {
  width: min(100%, 900px);
  margin: 0 auto;
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.7;
}

.ilsf-water-safety-course__grid.wp-block-group {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
  gap: clamp(1.25rem, 2.5vw, 2.25rem);
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0 0 clamp(3.5rem, 7vw, 6rem);
}

.ilsf-water-safety-course__card.wp-block-group {
  box-sizing: border-box;
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  padding: clamp(1.75rem, 3vw, 2.5rem);
  border-top: 7px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin: 0;
  background: var(--ilsf-white);
  box-shadow: 0 18px 42px rgb(3 47 84 / 9%);
}

.ilsf-water-safety-course__number {
  margin: 0 0 1rem;
  color: var(--ilsf-red);
  font-family: "interstate", sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
}

.standard-page__content .ilsf-water-safety-course__card h3 {
  margin: 0 0 1.25rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1.3rem, 2vw, 1.7rem);
  line-height: 1.15;
  text-transform: uppercase;
}

.ilsf-water-safety-course__card > :last-child {
  margin-bottom: 0;
}

.ilsf-water-safety-course__card p {
  line-height: 1.65;
}

.ilsf-water-safety-course__purpose.wp-block-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(1.5rem, 3vw, 3rem);
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0 0 clamp(3.5rem, 7vw, 6rem);
}

.ilsf-water-safety-course__purpose-copy.wp-block-group,
.ilsf-water-safety-course__notice.wp-block-group {
  box-sizing: border-box;
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  padding: clamp(2rem, 4vw, 3.5rem);
  border-radius: 12px;
  margin: 0;
}

.ilsf-water-safety-course__purpose-copy.wp-block-group {
  border-top: 7px solid var(--ilsf-yellow);
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
}

.standard-page__content .ilsf-water-safety-course__purpose-copy h2,
.standard-page__content .ilsf-water-safety-course__notice h2 {
  margin: 0 0 1.25rem;
  font-size: clamp(1.7rem, 3vw, 2.5rem);
  line-height: 1.05;
  text-transform: uppercase;
}

.standard-page__content .ilsf-water-safety-course__purpose-copy h2 {
  color: var(--ilsf-white);
}

.ilsf-water-safety-course__purpose-copy p,
.ilsf-water-safety-course__notice p {
  line-height: 1.65;
}

.ilsf-water-safety-course__purpose-copy .wp-block-buttons {
  padding-top: 1rem;
  margin-top: auto;
}

.ilsf-water-safety-course__notice.wp-block-group {
  border: 3px solid var(--ilsf-red);
  border-top-width: 7px;
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
}

.ilsf-water-safety-course__notice-label {
  margin: 0 0 1rem;
  color: var(--ilsf-red);
  font-family: "interstate", sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.standard-page__content .ilsf-water-safety-course__notice h2 {
  color: var(--ilsf-red);
}

.ilsf-water-safety-course__notice > :last-child {
  margin-bottom: 0;
}

.ilsf-water-safety-course__instructor.wp-block-group {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding: clamp(2rem, 5vw, 4rem);
  border-top: 7px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin: 0;
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
  text-align: center;
}

.standard-page__content .ilsf-water-safety-course__instructor h2 {
  margin: 0 0 1rem;
  color: var(--ilsf-red);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  text-transform: uppercase;
}

.ilsf-water-safety-course__instructor p {
  width: min(100%, 760px);
  margin: 0 auto 1.75rem;
  line-height: 1.65;
}

.ilsf-water-safety-course__instructor .wp-block-buttons {
  margin: 0;
}

@media (max-width: 980px) {
  .ilsf-water-safety-course__inner.wp-block-group {
    width: 90%;
  }

  .ilsf-water-safety-course__purpose.is-layout-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 680px) {
  .ilsf-water-safety-course.wp-block-group {
    padding-block: 3rem;
  }

  .ilsf-water-safety-course__intro.wp-block-group,
  .ilsf-water-safety-course__instructor.wp-block-group {
    padding: 2rem 1.5rem;
    text-align: left;
  }

  .ilsf-water-safety-course__purpose-copy.wp-block-group,
  .ilsf-water-safety-course__notice.wp-block-group {
    padding: 2rem 1.5rem;
  }

  .ilsf-water-safety-course__instructor p {
    margin-left: 0;
  }

  .ilsf-water-safety-course__instructor .wp-block-buttons {
    justify-content: flex-start;
  }

  .ilsf-water-safety-course__instructor .wp-block-button,
  .ilsf-water-safety-course__instructor .wp-block-button__link {
    width: 100%;
  }
}

/* Equivalency Tables: instructions plus a searchable live PDF directory. */
.ilsf-equivalency-page.wp-block-group {
  box-sizing: border-box;
  padding-block: clamp(3.5rem, 7vw, 6rem);
  margin-block: 0;
  background: var(--ilsf-sky);
  color: var(--ilsf-ocean);
}

.ilsf-equivalency-page__inner.wp-block-group {
  box-sizing: border-box;
  width: var(--ilsf-page-canvas);
  max-width: var(--ilsf-wide-content);
  padding: 0;
  margin: 0 auto;
}

.ilsf-equivalency-intro.wp-block-group {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding: clamp(2rem, 5vw, 4.5rem);
  border-top: 7px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin: 0 0 clamp(2rem, 4vw, 3.5rem);
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
  text-align: center;
}

.ilsf-equivalency-intro__eyebrow {
  margin: 0 0 1rem;
  color: var(--ilsf-yellow);
  font-family: "interstate", sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.standard-page__content .ilsf-equivalency-intro h2 {
  margin: 0 0 1.25rem;
  color: var(--ilsf-white);
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 1.05;
  text-transform: uppercase;
}

.ilsf-equivalency-intro > p:last-child {
  width: min(100%, 880px);
  margin: 0 auto;
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.7;
}

.ilsf-equivalency-intro a {
  color: var(--ilsf-white);
  font-weight: 700;
}

.ilsf-equivalency-steps.wp-block-group {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
  gap: clamp(1.25rem, 2.5vw, 2.25rem);
  width: 100%;
  max-width: none;
  padding: 0;
  margin: 0 0 clamp(3rem, 6vw, 5rem);
}

.ilsf-equivalency-step.wp-block-group {
  box-sizing: border-box;
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  padding: clamp(1.75rem, 3vw, 2.5rem);
  border-top: 7px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin: 0;
  background: var(--ilsf-white);
  box-shadow: 0 18px 42px rgb(3 47 84 / 9%);
}

.ilsf-equivalency-step__number {
  margin: 0 0 1rem;
  color: var(--ilsf-red);
  font-family: "interstate", sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
}

.standard-page__content .ilsf-equivalency-step h3 {
  margin: 0 0 1.25rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1.3rem, 2vw, 1.7rem);
  line-height: 1.15;
  text-transform: uppercase;
}

.ilsf-equivalency-step p {
  line-height: 1.65;
}

.ilsf-equivalency-step > :last-child {
  margin-bottom: 0;
}

.ilsf-equivalency-rules.wp-block-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(1.25rem, 2.5vw, 2.25rem);
  width: 100%;
  max-width: none;
  margin: 0 0 clamp(3rem, 6vw, 5rem);
}

.ilsf-equivalency-rule.wp-block-group {
  box-sizing: border-box;
  min-width: 0;
  min-height: 100%;
  padding: clamp(1.75rem, 3vw, 2.5rem);
  border: 3px solid var(--ilsf-ocean);
  border-top-width: 7px;
  border-radius: 12px;
  margin: 0;
  background: var(--ilsf-white);
}

.ilsf-equivalency-rule--important.wp-block-group {
  border-color: var(--ilsf-red);
}

.standard-page__content .ilsf-equivalency-rule h3 {
  margin: 0 0 1rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1.2rem, 2vw, 1.55rem);
  line-height: 1.15;
  text-transform: uppercase;
}

.standard-page__content .ilsf-equivalency-rule--important h3 {
  color: var(--ilsf-red);
}

.ilsf-equivalency-rule p {
  margin: 0;
  line-height: 1.65;
}

.ilsf-equivalency-directory.wp-block-group {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding: clamp(2rem, 5vw, 4rem);
  border-radius: 12px;
  margin: 0 0 clamp(3rem, 6vw, 5rem);
  background: var(--ilsf-white);
  box-shadow: 0 18px 42px rgb(3 47 84 / 9%);
}

.standard-page__content .ilsf-equivalency-directory h2 {
  margin: 0 0 0.75rem;
  color: var(--ilsf-red);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  text-transform: uppercase;
}

.ilsf-equivalency-directory__lead {
  max-width: 820px;
  margin: 0 0 2rem;
  font-size: 1.05rem;
  line-height: 1.65;
}

.ilsf-equivalency-filter {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 0.5rem 1rem;
  padding: 1.25rem;
  border-radius: 10px;
  margin: 0 0 2rem;
  background: var(--ilsf-sky);
}

.ilsf-equivalency-filter__label {
  grid-column: 1 / -1;
  color: var(--ilsf-ocean);
  font-family: "interstate", sans-serif;
  font-size: 0.88rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ilsf-equivalency-filter__input {
  box-sizing: border-box;
  width: 100%;
  min-height: 52px;
  padding: 0.75rem 1rem;
  border: 2px solid var(--ilsf-ocean);
  border-radius: 8px;
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
  font: inherit;
}

.ilsf-equivalency-filter__input:focus {
  outline: 3px solid var(--ilsf-yellow);
  outline-offset: 2px;
}

.ilsf-equivalency-filter__status {
  min-width: 12rem;
  margin: 0;
  color: var(--ilsf-ocean);
  font-size: 0.92rem;
  font-weight: 700;
  text-align: right;
}

.ils-equivalency-pdf-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: stretch;
  gap: 1rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.ils-equivalency-pdf-list > li {
  display: flex;
  min-width: 0;
  margin: 0;
}

.ils-equivalency-pdf-list > li[hidden] {
  display: none;
}

.ils-equivalency-pdf-list a {
  box-sizing: border-box;
  display: flex;
  width: 100%;
  min-height: 100%;
  align-items: center;
  gap: 0.9rem;
  padding: 1rem;
  border: 2px solid var(--ilsf-sky);
  border-bottom: 5px solid var(--ilsf-ocean);
  border-radius: 9px;
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  transition: border-color 180ms ease, background-color 180ms ease;
}

.ils-equivalency-pdf-list a::before {
  display: grid;
  width: 2.2rem;
  height: 2.2rem;
  flex: 0 0 2.2rem;
  border-radius: 5px;
  background: var(--ilsf-red);
  color: var(--ilsf-white);
  content: "PDF";
  font-family: Arial, sans-serif;
  font-size: 0.62rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  place-items: center;
}

.ils-equivalency-pdf-list a:hover,
.ils-equivalency-pdf-list a:focus-visible {
  border-bottom-color: var(--ilsf-yellow);
  background: var(--ilsf-sky);
}

.ilsf-equivalency-missing.wp-block-group {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding: clamp(2rem, 5vw, 4rem);
  border-top: 7px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin: 0;
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
  text-align: center;
}

.standard-page__content .ilsf-equivalency-missing > h2 {
  margin: 0 0 1rem;
  color: var(--ilsf-white);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  text-transform: uppercase;
}

.ilsf-equivalency-missing > p {
  width: min(100%, 850px);
  margin: 0 auto 1.75rem;
  line-height: 1.65;
}

.ilsf-equivalency-missing__details.wp-block-details {
  overflow: hidden;
  width: min(100%, 900px);
  padding: 0;
  border: 0;
  border-radius: 9px;
  margin: 0 auto 2rem;
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
  text-align: left;
}

.ilsf-equivalency-missing__details > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.25rem;
  cursor: pointer;
  font-family: "interstate", sans-serif;
  font-weight: 700;
  list-style: none;
}

.ilsf-equivalency-missing__details > summary::-webkit-details-marker {
  display: none;
}

.ilsf-equivalency-missing__details > summary::after {
  color: var(--ilsf-red);
  content: "+";
  font-size: 1.5rem;
}

.ilsf-equivalency-missing__details[open] > summary::after {
  content: "\2212";
}

.ilsf-equivalency-missing__details > p {
  padding: 0 1.25rem 1.25rem;
  margin: 0;
  line-height: 1.65;
}

.ilsf-equivalency-missing .wp-block-buttons {
  margin: 0;
}

@media (max-width: 980px) {
  .ilsf-equivalency-page__inner.wp-block-group {
    width: 90%;
  }

  .ilsf-equivalency-rules.is-layout-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 680px) {
  .ilsf-equivalency-page.wp-block-group {
    padding-block: 3rem;
  }

  .ilsf-equivalency-intro.wp-block-group,
  .ilsf-equivalency-missing.wp-block-group {
    padding: 2rem 1.5rem;
    text-align: left;
  }

  .ilsf-equivalency-directory.wp-block-group {
    padding: 2rem 1.25rem;
  }

  .ilsf-equivalency-filter {
    grid-template-columns: minmax(0, 1fr);
  }

  .ilsf-equivalency-filter__status {
    min-width: 0;
    text-align: left;
  }

  .ilsf-equivalency-missing > p,
  .ilsf-equivalency-missing__details {
    margin-left: 0;
  }

  .ilsf-equivalency-missing .wp-block-buttons {
    justify-content: flex-start;
  }

  .ilsf-equivalency-missing .wp-block-button,
  .ilsf-equivalency-missing .wp-block-button__link {
    width: 100%;
  }
}

/* Members Area guideline pages and horizontal document downloads. */
.ilsf-guideline-page.wp-block-group {
  box-sizing: border-box;
  padding-block: clamp(3.5rem, 7vw, 6rem);
  margin-block: 0;
  background: var(--ilsf-sky);
  color: var(--ilsf-ocean);
}

.ilsf-guideline-page__inner.wp-block-group {
  box-sizing: border-box;
  width: var(--ilsf-page-canvas);
  max-width: var(--ilsf-wide-content);
  padding: 0;
  margin: 0 auto;
}

.ilsf-guideline-intro.wp-block-group {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding: clamp(2rem, 5vw, 4.5rem);
  border-top: 7px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin: 0 0 clamp(3rem, 6vw, 5rem);
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
  text-align: center;
}

.ilsf-guideline-intro__eyebrow {
  margin: 0 0 1rem;
  color: var(--ilsf-yellow);
  font-family: "interstate", sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.standard-page__content .ilsf-guideline-intro h2 {
  width: min(100%, 1000px);
  margin: 0 auto 1.25rem;
  color: var(--ilsf-white);
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 1.05;
  text-transform: uppercase;
}

.ilsf-guideline-intro > p:last-child {
  width: min(100%, 920px);
  margin: 0 auto;
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.7;
}

.standard-page__content .ilsf-guideline-section-heading {
  width: 100%;
  max-width: none;
  margin: 0 0 1.5rem;
  color: var(--ilsf-red);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  text-transform: uppercase;
}

.ilsf-guideline-purpose.wp-block-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
  gap: clamp(1.5rem, 3vw, 3rem);
  width: 100%;
  max-width: none;
  margin: 0 0 clamp(3.5rem, 7vw, 6rem);
}

.ilsf-guideline-purpose__card.wp-block-group {
  box-sizing: border-box;
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  padding: clamp(2rem, 4vw, 3.5rem);
  border-top: 7px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin: 0;
  background: var(--ilsf-white);
  box-shadow: 0 18px 42px rgb(3 47 84 / 9%);
}

.ilsf-guideline-purpose__number {
  margin: 0 0 1rem;
  color: var(--ilsf-red);
  font-family: "interstate", sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
}

.standard-page__content .ilsf-guideline-purpose__card h3 {
  margin: 0 0 1.25rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.15;
  text-transform: uppercase;
}

.ilsf-guideline-purpose__card p {
  line-height: 1.65;
}

.ilsf-guideline-purpose__card > :last-child {
  margin-bottom: 0;
}

.ilsf-guideline-documents.wp-block-group {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding: clamp(2rem, 5vw, 4rem);
  border-radius: 12px;
  margin: 0 0 clamp(3.5rem, 7vw, 6rem);
  background: var(--ilsf-white);
  box-shadow: 0 18px 42px rgb(3 47 84 / 9%);
}

.standard-page__content .ilsf-guideline-documents > h2 {
  margin: 0 0 0.75rem;
  color: var(--ilsf-red);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  text-transform: uppercase;
}

.ilsf-guideline-documents__lead {
  margin: 0 0 2rem;
  font-size: 1.05rem;
  line-height: 1.65;
}

.ilsf-guideline-documents__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1rem;
}

.ilsf-guideline-document.wp-block-group {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 1.5rem;
  width: 100%;
  max-width: none;
  padding: clamp(1.25rem, 2.5vw, 2rem);
  border: 2px solid var(--ilsf-sky);
  border-bottom: 5px solid var(--ilsf-ocean);
  border-radius: 10px;
  margin: 0;
  background: var(--ilsf-white);
}

.ilsf-guideline-document__copy.wp-block-group {
  min-width: 0;
  padding: 0;
  margin: 0;
}

.ilsf-guideline-document__format {
  display: inline-block;
  padding: 0.3rem 0.55rem;
  border-radius: 5px;
  margin: 0 0 0.75rem;
  background: var(--ilsf-red);
  color: var(--ilsf-white);
  font-family: "interstate", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}

.standard-page__content .ilsf-guideline-document h3 {
  margin: 0 0 0.5rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  line-height: 1.2;
}

.ilsf-guideline-document__copy > p:last-child {
  margin: 0;
  line-height: 1.55;
}

.ilsf-guideline-document__actions.wp-block-buttons {
  min-width: max-content;
  margin: 0;
}

.ilsf-guideline-contact.wp-block-group {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding: clamp(2rem, 5vw, 4rem);
  border-top: 7px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin: 0;
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
  text-align: center;
}

.standard-page__content .ilsf-guideline-contact h2 {
  margin: 0 0 1rem;
  color: var(--ilsf-white);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  text-transform: uppercase;
}

.ilsf-guideline-contact p {
  width: min(100%, 800px);
  margin: 0 auto 1.75rem;
  line-height: 1.65;
}

.ilsf-guideline-contact .wp-block-buttons {
  margin: 0;
}

@media (max-width: 980px) {
  .ilsf-guideline-page__inner.wp-block-group {
    width: 90%;
  }
}

@media (max-width: 760px) {
  .ilsf-guideline-purpose.is-layout-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .ilsf-guideline-document.wp-block-group {
    grid-template-columns: minmax(0, 1fr);
  }

  .ilsf-guideline-document__actions.wp-block-buttons {
    justify-content: flex-start;
    min-width: 0;
  }
}

@media (max-width: 680px) {
  .ilsf-guideline-page.wp-block-group {
    padding-block: 3rem;
  }

  .ilsf-guideline-intro.wp-block-group,
  .ilsf-guideline-contact.wp-block-group {
    padding: 2rem 1.5rem;
    text-align: left;
  }

  .ilsf-guideline-documents.wp-block-group {
    padding: 2rem 1.25rem;
  }

  .ilsf-guideline-contact p {
    margin-left: 0;
  }

  .ilsf-guideline-contact .wp-block-buttons {
    justify-content: flex-start;
  }

  .ilsf-guideline-document__actions .wp-block-button,
  .ilsf-guideline-document__actions .wp-block-button__link,
  .ilsf-guideline-contact .wp-block-button,
  .ilsf-guideline-contact .wp-block-button__link {
    width: 100%;
  }
}

/* ILS International Certificates page. */
.ilsf-certificates-page.wp-block-group {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding-block: clamp(3.5rem, 7vw, 6rem);
  margin-block: 0;
  background: var(--ilsf-sky);
  color: var(--ilsf-ocean);
}

.ilsf-certificates-page__inner.wp-block-group {
  box-sizing: border-box;
  width: var(--ilsf-page-canvas);
  max-width: var(--ilsf-wide-content);
  padding: 0;
  margin: 0 auto;
}

.ilsf-certificates-intro.wp-block-group {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding: clamp(2.25rem, 5vw, 4.5rem);
  border-top: 7px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin: 0 0 clamp(3rem, 6vw, 5rem);
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
  text-align: center;
}

.ilsf-certificates-intro__eyebrow {
  margin: 0 0 1rem;
  color: var(--ilsf-yellow);
  font-family: "interstate", sans-serif;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.standard-page__content .ilsf-certificates-intro h2 {
  width: min(100%, 1000px);
  margin: 0 auto 1.25rem;
  color: var(--ilsf-white);
  font-size: clamp(2rem, 4vw, 3.2rem);
  line-height: 1.08;
  text-transform: uppercase;
}

.ilsf-certificates-intro > p:not(.ilsf-certificates-intro__eyebrow) {
  width: min(100%, 920px);
  margin: 0 auto 1.75rem;
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  line-height: 1.7;
}

.ilsf-certificates-intro .wp-block-buttons {
  gap: 0.8rem;
  margin: 0;
}

.ilsf-certificates-route.wp-block-group {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
  gap: clamp(1.5rem, 3vw, 3rem);
  width: 100%;
  max-width: none;
  margin: 0 0 clamp(3rem, 6vw, 5rem);
}

.ilsf-certificates-route__card.wp-block-group {
  box-sizing: border-box;
  min-width: 0;
  min-height: 100%;
  padding: clamp(2rem, 4vw, 3.25rem);
  border-top: 7px solid var(--ilsf-red);
  border-radius: 12px;
  margin: 0;
  background: var(--ilsf-white);
  box-shadow: 0 18px 42px rgb(3 47 84 / 9%);
}

.ilsf-certificates-route__card--steps.wp-block-group {
  border-top-color: var(--ilsf-yellow);
}

.ilsf-certificates-route__number {
  margin: 0 0 1rem;
  color: var(--ilsf-red);
  font-family: "interstate", sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
}

.standard-page__content .ilsf-certificates-route__card h2 {
  margin: 0 0 1.5rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1.65rem, 2.5vw, 2.25rem);
  text-transform: uppercase;
}

.ilsf-certificates-check-list,
.ilsf-certificates-steps {
  padding: 0;
  margin: 0;
  list-style: none;
  counter-reset: certificate-step;
}

.ilsf-certificates-check-list li,
.ilsf-certificates-steps li {
  position: relative;
  padding: 1rem 0 1rem 3rem;
  border-bottom: 1px solid rgb(6 78 127 / 20%);
  margin: 0;
  line-height: 1.55;
}

.ilsf-certificates-check-list li:last-child,
.ilsf-certificates-steps li:last-child {
  border-bottom: 0;
}

.ilsf-certificates-check-list li::before {
  position: absolute;
  top: 0.85rem;
  left: 0;
  display: grid;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: var(--ilsf-red);
  color: var(--ilsf-white);
  content: "✓";
  font-weight: 700;
  place-items: center;
}

.ilsf-certificates-steps li {
  counter-increment: certificate-step;
}

.ilsf-certificates-steps li::before {
  position: absolute;
  top: 0.85rem;
  left: 0;
  display: grid;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
  content: counter(certificate-step);
  font-family: "interstate", sans-serif;
  font-weight: 700;
  place-items: center;
}

.ilsf-certificates-notice.wp-block-group {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding: clamp(2rem, 4vw, 3.5rem);
  border-top: 7px solid var(--ilsf-red);
  border-radius: 12px;
  margin: 0 0 clamp(3rem, 6vw, 5rem);
  background: var(--ilsf-white);
  box-shadow: 0 18px 42px rgb(3 47 84 / 9%);
}

.standard-page__content .ilsf-certificates-notice h2 {
  margin: 0 0 1rem;
  color: var(--ilsf-red);
  font-size: clamp(1.65rem, 2.5vw, 2.25rem);
  text-transform: uppercase;
}

.ilsf-certificates-notice p {
  margin: 0 0 1rem;
  line-height: 1.65;
}

.ilsf-certificates-notice > :last-child {
  margin-bottom: 0;
}

.ilsf-certificates-standards.wp-block-group {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding: clamp(2rem, 5vw, 4rem);
  border-radius: 12px;
  margin: 0 0 clamp(3rem, 6vw, 5rem);
  background: var(--ilsf-white);
  box-shadow: 0 18px 42px rgb(3 47 84 / 9%);
}

.standard-page__content .ilsf-certificates-standards > h2 {
  margin: 0 0 0.75rem;
  color: var(--ilsf-red);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  text-transform: uppercase;
}

.ilsf-certificates-standards__lead {
  margin: 0 0 2rem;
  font-size: 1.05rem;
  line-height: 1.6;
}

.ilsf-certificates-standard-grid.wp-block-group {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
  gap: clamp(1rem, 2vw, 1.5rem);
  width: 100%;
  max-width: none;
  margin: 0;
}

.ilsf-certificates-standard-panel.wp-block-group {
  box-sizing: border-box;
  min-width: 0;
  min-height: 100%;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border-top: 7px solid var(--ilsf-yellow);
  border-radius: 10px;
  margin: 0;
  background: var(--ilsf-sky);
}

.standard-page__content .ilsf-certificates-standard-panel h3 {
  margin: 0 0 1.25rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1.25rem, 2vw, 1.6rem);
  line-height: 1.15;
  text-transform: uppercase;
}

.ilsf-certificates-standard-list {
  display: grid;
  gap: 0.65rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.ilsf-certificates-standard-list li {
  padding: 0;
  margin: 0;
}

.ilsf-certificates-standard-list a {
  display: grid;
  gap: 0.25rem;
  padding: 0.9rem 1rem;
  border-bottom: 4px solid var(--ilsf-ocean);
  border-radius: 7px;
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
  font-weight: 600;
  line-height: 1.35;
  text-decoration: none;
  transition: border-color 160ms ease, transform 160ms ease;
}

.ilsf-certificates-standard-list a:hover,
.ilsf-certificates-standard-list a:focus-visible {
  border-bottom-color: var(--ilsf-yellow);
  transform: translateY(-2px);
}

.ilsf-certificates-standard-list small {
  color: var(--ilsf-red);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.ilsf-certificates-package.wp-block-group {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding: clamp(2rem, 5vw, 4rem);
  border-top: 7px solid var(--ilsf-yellow);
  border-radius: 12px;
  margin: 0 0 clamp(3rem, 6vw, 5rem);
  background: var(--ilsf-ocean);
}

.standard-page__content .ilsf-certificates-package > h2 {
  margin: 0 0 2rem;
  color: var(--ilsf-white);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  text-transform: uppercase;
}

.ilsf-certificates-package__grid.wp-block-group {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-auto-rows: 1fr;
  align-items: stretch;
  gap: clamp(1rem, 2vw, 1.5rem);
  width: 100%;
  max-width: none;
  margin: 0;
}

.ilsf-certificates-package__card.wp-block-group {
  box-sizing: border-box;
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  padding: clamp(1.5rem, 3vw, 2.25rem);
  border-radius: 9px;
  margin: 0;
  background: var(--ilsf-white);
}

.ilsf-certificates-package__number {
  margin: 0 0 1rem;
  color: var(--ilsf-red);
  font-family: "interstate", sans-serif;
  font-size: 1.15rem;
  font-weight: 700;
}

.standard-page__content .ilsf-certificates-package__card h3 {
  margin: 0 0 1rem;
  color: var(--ilsf-ocean);
  font-size: clamp(1.2rem, 2vw, 1.5rem);
  line-height: 1.15;
  text-transform: uppercase;
}

.ilsf-certificates-package__card > p:not(.ilsf-certificates-package__number):not(.ilsf-certificates-package__link) {
  margin: 0 0 1rem;
  line-height: 1.55;
}

.ilsf-certificates-package__link {
  margin: auto 0 0;
}

.ilsf-certificates-package__link a {
  color: var(--ilsf-ocean);
  font-weight: 700;
  text-decoration-thickness: 2px;
  text-decoration-color: var(--ilsf-red);
  text-underline-offset: 0.22em;
}

.ilsf-certificates-contact.wp-block-group {
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  padding: clamp(2rem, 5vw, 4rem);
  border-radius: 12px;
  margin: 0;
  background: var(--ilsf-white);
  text-align: center;
  box-shadow: 0 18px 42px rgb(3 47 84 / 9%);
}

.standard-page__content .ilsf-certificates-contact h2 {
  margin: 0 0 1rem;
  color: var(--ilsf-red);
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  text-transform: uppercase;
}

.ilsf-certificates-contact p {
  width: min(100%, 800px);
  margin: 0 auto 1.75rem;
  line-height: 1.65;
}

.ilsf-certificates-contact .wp-block-buttons {
  margin: 0;
}

@media (max-width: 1050px) {
  .ilsf-certificates-page__inner.wp-block-group {
    width: 90%;
  }

  .ilsf-certificates-standard-grid.is-layout-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .ilsf-certificates-package__grid.is-layout-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .ilsf-certificates-route.is-layout-grid,
  .ilsf-certificates-package__grid.is-layout-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@media (max-width: 680px) {
  .ilsf-certificates-page.wp-block-group {
    padding-block: 3rem;
  }

  .ilsf-certificates-intro.wp-block-group,
  .ilsf-certificates-standards.wp-block-group,
  .ilsf-certificates-package.wp-block-group,
  .ilsf-certificates-contact.wp-block-group {
    padding: 2rem 1.25rem;
  }

  .ilsf-certificates-intro.wp-block-group,
  .ilsf-certificates-contact.wp-block-group {
    text-align: left;
  }

  .ilsf-certificates-intro > p:not(.ilsf-certificates-intro__eyebrow),
  .ilsf-certificates-contact p {
    margin-left: 0;
  }

  .ilsf-certificates-intro .wp-block-buttons,
  .ilsf-certificates-contact .wp-block-buttons {
    justify-content: flex-start;
  }

  .ilsf-certificates-intro .wp-block-button,
  .ilsf-certificates-intro .wp-block-button__link,
  .ilsf-certificates-contact .wp-block-button,
  .ilsf-certificates-contact .wp-block-button__link {
    width: 100%;
  }
}

@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../fonts/open-sans-600.woff2") format("woff2");
}

@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../fonts/open-sans-700.woff2") format("woff2");
}

@font-face {
  font-family: "Open Sans";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../fonts/open-sans-800.woff2") format("woff2");
}

:root {
  --ilsf-ocean: #064273;
  --ilsf-ocean-deep: #032f54;
  --ilsf-ocean-bright: #0879b9;
  --ilsf-red: #e31b23;
  --ilsf-yellow: #ffde17;
  --ilsf-sky: #d2eef9;
  --ilsf-sky-strong: #a6def4;
  --ilsf-mist: #f3f6f8;
  --ilsf-ink: #17202a;
  --ilsf-muted: #5b6670;
  --ilsf-white: #fff;
  --ilsf-border: #dce3e8;
  --ilsf-shadow: 0 24px 70px rgba(3, 47, 84, 0.18);
  --ilsf-radius: 18px;
  --ilsf-radius-small: 10px;
  --ilsf-shell: 1240px;
  --ilsf-wide-content: 1400px;
  --ilsf-content: 760px;
  --ilsf-page-canvas: min(var(--ilsf-wide-content), calc(100vw - 3rem));
  --ilsf-font: "Open Sans", Arial, sans-serif;
  --ilsf-font-heading: "interstate", Arial, sans-serif;
}

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

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  overflow-x: hidden;
  background: var(--ilsf-white);
  color: var(--ilsf-ink);
  font-family: var(--ilsf-font);
  font-size: 1rem;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}

body.admin-bar .site-header {
  top: 32px;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

figure {
  margin: 0;
}

a {
  color: var(--ilsf-ocean);
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.2em;
}

a:hover {
  color: var(--ilsf-red);
}

button,
input,
textarea,
select {
  font: inherit;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 0.6em;
  color: var(--ilsf-ocean);
  font-family: var(--ilsf-font-heading);
  font-weight: 850;
  line-height: 1.08;
  letter-spacing: -0.035em;
  text-wrap: balance;
}

h1 {
  font-size: clamp(2.7rem, 7vw, 5.75rem);
}

h2 {
  font-size: clamp(2.15rem, 4.7vw, 4.15rem);
}

h3 {
  font-size: clamp(1.35rem, 2.5vw, 2rem);
}

p {
  margin: 0 0 1.25rem;
}

address {
  font-style: normal;
}

::selection {
  background: var(--ilsf-yellow);
  color: var(--ilsf-ocean-deep);
}

:focus-visible {
  outline: 3px solid var(--ilsf-yellow);
  outline-offset: 4px;
}

.screen-reader-text {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.screen-reader-text:focus {
  position: fixed !important;
  z-index: 100000;
  top: 1rem;
  left: 1rem;
  width: auto;
  height: auto;
  padding: 0.8rem 1rem;
  clip: auto;
  overflow: visible;
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
  font-weight: 800;
}

.shell {
  width: min(calc(100% - 3rem), var(--ilsf-shell));
  margin-inline: auto;
}

.shell--content {
  max-width: var(--ilsf-content);
}

/*
 * The page template must not constrain the Gutenberg canvas itself.
 * Ordinary unaligned children retain the readable content measure below,
 * while alignwide and alignfull blocks can use their declared widths.
 */
.standard-page__content.shell--content {
  width: 100%;
  max-width: none;
}

.site-main {
  min-height: 50vh;
}

.eyebrow {
  margin: 0 0 0.8rem;
  color: var(--ilsf-ocean);
  font-size: 0.78rem;
  font-weight: 850;
  letter-spacing: 0.16em;
  line-height: 1.3;
  text-transform: uppercase;
}

.eyebrow--light {
  color: var(--ilsf-sky);
}

.eyebrow--signal {
  color: var(--ilsf-yellow);
}

.button-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
  margin-top: 1.8rem;
}

.button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.35rem;
  border: 2px solid transparent;
  border-radius: 999px;
  font-size: 0.94rem;
  font-weight: 800;
  line-height: 1;
  text-align: center;
  text-decoration: none;
  transition: transform 180ms ease, background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

/* Preserve the homepage entrance transition when the animated element is also
   a button. This follows the base .button rule so its hover transition cannot
   replace Divi-style opacity/translate animation. */
.button.is-home-reveal-ready {
  transition:
    opacity var(--ilsf-home-reveal-duration, 700ms) ease-in-out,
    translate var(--ilsf-home-reveal-duration, 700ms) ease-in-out,
    scale var(--ilsf-home-reveal-duration, 700ms) ease-in-out,
    transform 180ms ease,
    background-color 180ms ease,
    border-color 180ms ease,
    color 180ms ease;
}

.button:hover {
  transform: translateY(-2px);
}

.button--primary {
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
}

.button--primary:hover {
  background: var(--ilsf-ocean-deep);
  color: var(--ilsf-white);
}

.button--outline {
  border-color: var(--ilsf-ocean);
  color: var(--ilsf-ocean);
}

.button--outline:hover {
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
}

.button--signal {
  background: var(--ilsf-yellow);
  color: var(--ilsf-ocean-deep);
}

.button--signal:hover {
  background: var(--ilsf-white);
  color: var(--ilsf-ocean-deep);
}

.button--outline-light {
  border-color: rgba(255, 255, 255, 0.72);
  color: var(--ilsf-white);
}

.button--outline-light:hover {
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
}

.text-link {
  display: inline-flex;
  align-items: center;
  color: var(--ilsf-ocean);
  font-weight: 800;
  text-decoration: none;
}

.text-link span {
  margin-left: 0.25rem;
  transition: transform 180ms ease;
}

.text-link:hover span {
  transform: translateX(0.25rem);
}

.text-link--light {
  color: var(--ilsf-white);
}

/* Header */
.site-header {
  position: relative;
  z-index: 1000;
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
}

.site-header__brand {
  display: flex;
  min-height: 126px;
  align-items: center;
  justify-content: center;
  padding-block: 0.75rem;
}

.site-logo {
  display: block;
  width: 98px;
  height: 98px;
  flex: 0 0 auto;
  border-radius: 50%;
}

.site-logo:hover {
  transform: scale(1.02);
}

.site-logo__image,
.site-logo img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.site-header__nav-wrap {
  border-top: 0;
  background: var(--ilsf-ocean-deep);
}

.site-header__nav-inner {
  display: flex;
  min-height: 64px;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}

.primary-navigation .menu,
.primary-navigation .sub-menu,
.site-header__member-menu .menu,
.site-header__member-menu .sub-menu,
.footer-menu,
.site-footer .menu {
  padding: 0;
  margin: 0;
  list-style: none;
}

.primary-navigation > .menu {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.8rem, 2.1vw, 2rem);
}

.primary-navigation .menu-item {
  position: relative;
}

.primary-navigation a {
  display: flex;
  min-height: 44px;
  align-items: center;
  color: var(--ilsf-white);
  font-size: 0.9rem;
  font-weight: 750;
  text-decoration: none;
}

.primary-navigation > .menu > .menu-item > a,
.site-header__member-link {
  font-family: sans-serif;
  font-size: 15px;
  font-weight: 700;
  text-transform: uppercase;
}

.primary-navigation a:hover,
.primary-navigation .current-menu-item > a,
.primary-navigation .current-menu-ancestor > a {
  color: var(--ilsf-yellow);
}

.primary-navigation .sub-menu {
  position: absolute;
  z-index: 20;
  top: calc(100% - 0.15rem);
  left: -1rem;
  display: none;
  min-width: 230px;
  padding: 0.6rem;
  border-radius: var(--ilsf-radius-small);
  background: var(--ilsf-white);
  box-shadow: 0 18px 50px rgba(3, 47, 84, 0.25);
}

.primary-navigation .sub-menu a {
  min-height: auto;
  padding: 0.7rem 0.8rem;
  border-radius: 6px;
  color: var(--ilsf-ocean);
}

.primary-navigation .sub-menu a:hover {
  background: var(--ilsf-mist);
  color: var(--ilsf-red);
}

.primary-navigation .menu-item:hover > .sub-menu,
.primary-navigation .menu-item:focus-within > .sub-menu {
  display: block;
}

.site-header__member-link {
  min-height: 40px;
  margin-left: 0.25rem;
  padding-inline: 1.15rem;
  white-space: nowrap;
}

.site-header__member-link:hover,
.site-header__member-link:focus-visible {
  transform: none;
}

.menu-toggle {
  display: none;
  min-height: 48px;
  align-items: center;
  gap: 0.75rem;
  padding: 0.6rem 0.85rem;
  border: 1px solid rgba(255, 255, 255, 0.45);
  border-radius: 999px;
  background: transparent;
  color: var(--ilsf-white);
  cursor: pointer;
}

.menu-toggle__label {
  font-size: 0.85rem;
  font-weight: 800;
}

.menu-toggle__icon {
  display: grid;
  width: 19px;
  gap: 4px;
}

.menu-toggle__icon span {
  display: block;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  transition: transform 180ms ease, opacity 180ms ease;
}

/* Homepage hero */
.hero {
  position: relative;
  isolation: isolate;
  min-height: clamp(610px, 72vw, 790px);
  display: grid;
  align-items: center;
  overflow: hidden;
  background-color: #b7d8e8;
  background-image: var(--hero-image);
  background-position: center;
  background-size: cover;
}

.hero::after {
  position: absolute;
  z-index: -1;
  inset: auto 0 0;
  height: 8px;
  background: linear-gradient(90deg, var(--ilsf-yellow) 0 35%, var(--ilsf-red) 35% 52%, var(--ilsf-ocean) 52%);
  content: "";
}

.hero__shade {
  position: absolute;
  z-index: -2;
  inset: 0;
  background: linear-gradient(90deg, rgba(3, 47, 84, 0.22), transparent 56%);
}

.hero__inner {
  display: flex;
  align-items: center;
  padding-block: 4.5rem;
}

.hero__card {
  position: relative;
  width: min(740px, 60%);
  padding: clamp(2rem, 4vw, 4rem);
  border-top: 9px solid var(--ilsf-yellow);
  border-radius: 0 0 var(--ilsf-radius) var(--ilsf-radius);
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--ilsf-shadow);
  backdrop-filter: blur(8px);
}

.hero__card h1 {
  margin: 0;
  font-size: clamp(3rem, 4.2vw, 4.25rem);
  text-transform: uppercase;
}

.hero__card h1 span,
.hero__card h1 strong {
  display: block;
  font-weight: 900;
  white-space: nowrap;
}

.hero__card h1 strong {
  color: var(--ilsf-red);
}

.hero__intro {
  max-width: 48ch;
  margin: 1.3rem 0 0;
  color: #384652;
  font-size: clamp(1rem, 1.6vw, 1.15rem);
}

/* Impact */
.impact {
  padding-block: 4rem;
  background: var(--ilsf-ocean-deep);
  color: var(--ilsf-white);
}

.impact__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.impact__item {
  display: flex;
  min-height: 140px;
  flex-direction: column;
  justify-content: center;
  padding: 1.5rem clamp(1rem, 2.3vw, 2rem);
  border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.impact__item:first-child {
  border-left: 0;
}

.impact__item strong {
  color: var(--ilsf-yellow);
  font-size: clamp(2.3rem, 5vw, 4.25rem);
  font-weight: 900;
  letter-spacing: -0.06em;
  line-height: 1;
}

.impact__item span {
  margin-top: 0.5rem;
  color: var(--ilsf-white);
  font-size: 0.88rem;
  font-weight: 750;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.impact__item--statement strong {
  color: var(--ilsf-white);
  font-size: clamp(1.9rem, 3.4vw, 3.1rem);
}

.impact__item--statement span {
  color: var(--ilsf-yellow);
  font-size: 1rem;
}

/* General sections */
.section {
  padding-block: clamp(5rem, 9vw, 8.5rem);
}

.section--mist {
  background: var(--ilsf-mist);
}

.split-heading,
.section-heading {
  display: grid;
  align-items: end;
  gap: 2rem;
}

.split-heading {
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, 0.7fr);
  margin-bottom: 3rem;
}

.split-heading h2 {
  max-width: 14ch;
  margin-bottom: 0;
}

.split-heading > p {
  max-width: 43ch;
  margin-bottom: 0.35rem;
  color: var(--ilsf-muted);
  font-size: 1.1rem;
}

.section-heading {
  grid-template-columns: 1fr auto;
  margin-bottom: 2.5rem;
}

.section-heading h2 {
  margin: 0;
}

.section-heading--centered {
  display: block;
  text-align: center;
}

/* Recognition and partner organisations */
.recognition {
  padding-top: clamp(4rem, 7vw, 6rem);
}

.recognition__intro {
  display: grid;
  grid-template-columns: minmax(180px, 320px) minmax(0, 1fr);
  align-items: center;
  gap: clamp(2rem, 7vw, 7rem);
  padding-bottom: clamp(4rem, 7vw, 6rem);
  border-bottom: 1px solid var(--ilsf-border);
}

.recognition__intro img {
  width: 100%;
  max-height: 140px;
  object-fit: contain;
}

.recognition__intro p {
  max-width: 28ch;
  margin: 0;
  color: var(--ilsf-ocean);
  font-size: clamp(1.55rem, 3vw, 2.55rem);
  font-weight: 850;
  line-height: 1.2;
}

.partners {
  padding-top: clamp(3.5rem, 6vw, 5rem);
}

.partners h2 {
  margin-bottom: 2.25rem;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
  text-align: center;
}

.partners__grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1rem;
}

.partner-logo {
  min-height: 120px;
  display: grid;
  place-items: center;
  padding: 0.8rem;
  border: 1px solid var(--ilsf-border);
  border-radius: var(--ilsf-radius-small);
  background: var(--ilsf-white);
}

.partner-logo img {
  width: 100%;
  height: 88px;
  object-fit: contain;
}

/* Two missions */
.mission-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
}

.mission-card {
  position: relative;
  isolation: isolate;
  min-height: 470px;
  display: flex;
  align-items: flex-end;
  overflow: hidden;
  padding: clamp(2rem, 4vw, 3.5rem);
  border-radius: var(--ilsf-radius);
}

.mission-card__number {
  position: absolute;
  z-index: -1;
  top: -0.2em;
  right: 0.02em;
  font-size: clamp(8rem, 19vw, 15rem);
  font-weight: 900;
  letter-spacing: -0.1em;
  line-height: 1;
  opacity: 0.09;
}

.mission-card__content {
  max-width: 480px;
}

.mission-card h3 {
  font-size: clamp(2.2rem, 4vw, 3.6rem);
}

.mission-card p:not(.eyebrow) {
  max-width: 45ch;
  font-size: 1.05rem;
}

.mission-card--prevention {
  background: var(--ilsf-sky);
  color: var(--ilsf-ocean-deep);
}

.mission-card--prevention::before,
.mission-card--prevention::after {
  position: absolute;
  z-index: -1;
  border: 1px solid rgba(6, 66, 115, 0.19);
  border-radius: 50%;
  content: "";
}

.mission-card--prevention::before {
  width: 260px;
  height: 260px;
  top: -80px;
  left: -70px;
}

.mission-card--prevention::after {
  width: 360px;
  height: 360px;
  top: -130px;
  left: -120px;
}

.mission-card--sport {
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
}

.mission-card--sport::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: linear-gradient(140deg, transparent 55%, rgba(255, 222, 23, 0.14));
  content: "";
}

.mission-card--sport h3 {
  color: var(--ilsf-white);
}

.mission-card--image {
  min-height: 680px;
  color: var(--ilsf-white);
  background-color: var(--ilsf-ocean-deep);
  background-image: linear-gradient(0deg, rgba(3, 47, 84, 0.98) 0%, rgba(3, 47, 84, 0.78) 42%, rgba(3, 47, 84, 0.08) 75%), var(--mission-image);
  background-position: center;
  background-size: cover;
}

.mission-card--image::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  border-top: 8px solid var(--ilsf-yellow);
  content: "";
}

.mission-card--image-sport::before {
  border-top-color: var(--ilsf-red);
}

.mission-card--image h3 {
  color: var(--ilsf-white);
}

.mission-card--image .mission-card__content {
  max-width: 54ch;
}

.mission-card--image .button {
  margin-top: 0.5rem;
  background: var(--ilsf-yellow);
  color: var(--ilsf-ocean-deep);
}

.mission-card--image .button:hover {
  background: var(--ilsf-white);
}

/* Olympic bid */
.olympic {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: var(--ilsf-ocean-deep);
  color: var(--ilsf-white);
}

.olympic::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  background: radial-gradient(circle at 78% 30%, rgba(8, 121, 185, 0.4), transparent 35%);
  content: "";
}

.olympic__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
  align-items: center;
  gap: 4rem;
}

.olympic__copy {
  max-width: 760px;
}

.olympic h2 {
  color: var(--ilsf-white);
}

.olympic__copy > p:not(.eyebrow) {
  max-width: 62ch;
  color: rgba(255, 255, 255, 0.78);
  font-size: 1.1rem;
}

.olympic__mark {
  position: relative;
  width: min(100%, 400px);
  aspect-ratio: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  justify-self: end;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 50%;
  color: var(--ilsf-white);
}

.olympic__mark::before,
.olympic__mark::after {
  position: absolute;
  border: 1px solid rgba(255, 222, 23, 0.42);
  border-radius: 50%;
  content: "";
}

.olympic__mark::before {
  inset: 9%;
}

.olympic__mark::after {
  inset: 20%;
}

.olympic__mark span,
.olympic__mark strong {
  position: relative;
  z-index: 1;
}

.olympic__mark span {
  color: var(--ilsf-yellow);
  font-size: 0.85rem;
  font-weight: 850;
  letter-spacing: 0.25em;
  text-transform: uppercase;
}

.olympic__mark strong {
  font-size: clamp(3.6rem, 8vw, 6.7rem);
  font-weight: 900;
  letter-spacing: -0.08em;
  line-height: 1;
}

.olympic__rings {
  position: absolute;
  z-index: -1;
  right: -150px;
  bottom: -180px;
  display: flex;
  opacity: 0.08;
}

.olympic__rings i {
  width: 240px;
  height: 240px;
  margin-left: -55px;
  border: 28px solid var(--ilsf-white);
  border-radius: 50%;
}

/* Events */
.event-showcase {
  display: grid;
  gap: 2rem;
}

.event-feature {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  overflow: hidden;
  border-radius: var(--ilsf-radius);
  background: var(--ilsf-mist);
}

.event-feature--reverse .event-feature__image {
  order: 2;
}

.event-feature__image {
  width: 100%;
  height: 100%;
  min-height: 510px;
  object-fit: cover;
}

.event-feature__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(2rem, 5vw, 4.5rem);
}

.event-feature__content h3 {
  font-size: clamp(2rem, 4vw, 3.6rem);
}

.event-feature__content p {
  color: var(--ilsf-muted);
}

.event-feature__content .button {
  margin-top: 0.5rem;
}

.event-grid {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr 0.85fr;
  gap: 1.25rem;
}

.event-card {
  position: relative;
  min-height: 390px;
  display: flex;
  flex-direction: column;
  padding: clamp(1.6rem, 3vw, 2.5rem);
  overflow: hidden;
  border: 1px solid var(--ilsf-border);
  border-top: 8px solid var(--ilsf-yellow);
  border-radius: 0 0 var(--ilsf-radius) var(--ilsf-radius);
  background: var(--ilsf-white);
  box-shadow: 0 12px 35px rgba(3, 47, 84, 0.08);
}

.event-card::after {
  position: absolute;
  right: -50px;
  bottom: -70px;
  width: 180px;
  height: 180px;
  border: 26px solid rgba(6, 66, 115, 0.06);
  border-radius: 50%;
  content: "";
}

.event-card--featured {
  border-top-color: var(--ilsf-sky);
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
}

.event-card--red {
  border-top-color: var(--ilsf-red);
}

.event-card__type {
  color: var(--ilsf-ocean-bright);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.13em;
  text-transform: uppercase;
}

.event-card--featured .event-card__type {
  color: var(--ilsf-yellow);
}

.event-card h3 {
  font-size: clamp(1.65rem, 3vw, 2.6rem);
}

.event-card--featured h3 {
  color: var(--ilsf-white);
}

.event-card > p:not(.event-card__type) {
  color: var(--ilsf-muted);
}

.event-card--featured > p:not(.event-card__type) {
  color: rgba(255, 255, 255, 0.78);
}

.event-card > a {
  position: relative;
  z-index: 2;
  margin-top: auto;
  color: var(--ilsf-ocean);
  font-weight: 800;
  text-decoration: none;
}

.event-card--featured > a {
  color: var(--ilsf-white);
}

/* News cards */
.post-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

.post-card {
  overflow: hidden;
  border-radius: var(--ilsf-radius);
  background: var(--ilsf-white);
  box-shadow: 0 10px 35px rgba(3, 47, 84, 0.09);
}

.post-card__image {
  position: relative;
  min-height: 220px;
  display: block;
  overflow: hidden;
  background: linear-gradient(135deg, var(--ilsf-ocean), var(--ilsf-sky));
}

.post-card__image::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(0deg, rgba(3, 47, 84, 0.3), transparent 60%);
  content: "";
}

.post-card__image img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  transition: transform 400ms ease;
}

.post-card:hover .post-card__image img {
  transform: scale(1.035);
}

.post-card__body {
  padding: 1.6rem;
}

.post-card__meta {
  margin-bottom: 0.65rem;
  color: var(--ilsf-red);
  font-size: 0.76rem;
  font-weight: 850;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.post-card h3 {
  margin-bottom: 0.7rem;
  font-size: 1.45rem;
}

.post-card h3 a {
  color: inherit;
  text-decoration: none;
}

.post-card__body > p:not(.post-card__meta) {
  color: var(--ilsf-muted);
}

.post-card--placeholder:nth-child(2) .post-card__image {
  background: linear-gradient(135deg, var(--ilsf-red), #fb706f);
}

.post-card--placeholder:nth-child(3) .post-card__image {
  background: linear-gradient(135deg, #0b719d, var(--ilsf-yellow));
}

/* Community stories */
.community-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

.community-card {
  overflow: hidden;
  border: 1px solid var(--ilsf-border);
  border-radius: var(--ilsf-radius);
  background: var(--ilsf-white);
}

.community-card > img {
  width: 100%;
  height: 270px;
  object-fit: cover;
}

.community-card > div {
  padding: 1.6rem;
}

.community-card h3 {
  font-size: 1.35rem;
}

/* Call to action */
.get-involved {
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
}

.get-involved__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 4rem;
}

.get-involved h2 {
  max-width: 16ch;
  color: var(--ilsf-white);
}

.get-involved p:not(.eyebrow) {
  max-width: 60ch;
  color: rgba(255, 255, 255, 0.78);
  font-size: 1.08rem;
}

.get-involved__actions {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}

/* Content templates */
.page-hero,
.article-header {
  padding-block: clamp(4rem, 8vw, 7rem);
  background: var(--ilsf-sky);
}

.page-hero__inner h1,
.article-header h1 {
  max-width: 15ch;
  margin-bottom: 0;
}

.article-header__meta,
.archive-description {
  color: var(--ilsf-muted);
}

.content-layout,
.post-navigation {
  padding-block: clamp(3.5rem, 7vw, 6rem);
}

.entry-content {
  padding-block: 0;
}

.featured-media {
  margin-top: clamp(2rem, 5vw, 4rem);
}

.featured-media img {
  width: 100%;
  max-height: 720px;
  object-fit: cover;
  border-radius: var(--ilsf-radius);
}

/* Single news posts follow the approved Divi hierarchy: image, title, content. */
.single-post {
  padding-top: 0;
}

.single-post__featured-band {
  width: 100%;
  padding-block: 0;
  background: var(--ilsf-sky);
}

.single-post .featured-media,
.single-post .article-header__inner,
.single-post .single-post__content,
.single-post__navigation {
  width: min(calc(100% - 3rem), 1080px);
  margin-inline: auto;
}

.single-post .featured-media {
  margin-top: 0;
}

.single-post .featured-media img {
  width: 100%;
  height: auto;
  max-height: none;
  border-radius: 0;
}

.single-post .featured-media figcaption {
  margin-top: 0.65rem;
  color: var(--ilsf-muted);
  font-size: 0.85rem;
}

.single-post .article-header {
  padding: clamp(2rem, 4vw, 3rem) 0 clamp(1.5rem, 3vw, 2.25rem);
  background: transparent;
}

.single-post .article-header h1 {
  max-width: none;
  margin-bottom: 0.35em;
  font-size: clamp(2.25rem, 4vw, 3.75rem);
  line-height: 1.08;
  text-transform: none;
}

.single-post .article-header__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.6rem;
  margin: 0;
  color: var(--ilsf-muted);
}

.single-post .article-header__terms,
.single-post .article-header__terms a {
  color: inherit;
  font-weight: 700;
}

.single-post .single-post__content {
  padding: 0 0 clamp(3rem, 6vw, 5rem);
}

.single-post .single-post__content > * {
  max-width: none;
}

.single-post__navigation {
  padding-top: 0;
}

@media (max-width: 767px) {
  .single-post .featured-media,
  .single-post .article-header__inner,
  .single-post .single-post__content,
  .single-post__navigation {
    width: min(calc(100% - 2rem), 1080px);
  }

}

.entry-content > * {
  max-width: var(--ilsf-content);
  margin-left: auto;
  margin-right: auto;
}

.entry-content > .alignwide {
  width: min(var(--ilsf-wide-content), calc(100vw - 3rem));
  max-width: var(--ilsf-wide-content);
  margin-left: 50%;
  transform: translateX(-50%);
}

.entry-content > .alignfull {
  width: 100vw;
  max-width: none;
  margin-left: 50%;
  transform: translateX(-50%);
}

.entry-content h2,
.entry-content h3 {
  margin-top: 1.5em;
}

.entry-content a {
  font-weight: 650;
}

.entry-content blockquote {
  padding: 0.5rem 0 0.5rem 1.5rem;
  border-left: 6px solid var(--ilsf-yellow);
  color: var(--ilsf-ocean);
  font-size: 1.25rem;
  font-weight: 650;
}

.post-grid--archive {
  margin-bottom: 3rem;
}

.nav-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1rem;
}

.nav-links a,
.page-numbers {
  font-weight: 750;
}

.not-found {
  padding-block: clamp(6rem, 13vw, 11rem);
  text-align: center;
}

.not-found h1 {
  font-size: clamp(2.5rem, 6vw, 5rem);
}

/* Footer */
.site-footer {
  position: relative;
  background: var(--ilsf-ocean-deep);
  color: rgba(255, 255, 255, 0.74);
}

.site-footer__accent {
  height: 8px;
  background: linear-gradient(90deg, var(--ilsf-yellow) 0 40%, var(--ilsf-red) 40% 58%, var(--ilsf-ocean-bright) 58%);
}

.site-footer__grid {
  display: grid;
  grid-template-columns: 0.65fr repeat(4, minmax(0, 1fr));
  gap: clamp(1.5rem, 4vw, 4rem);
  padding-block: 5rem;
}

.site-footer__brand img {
  width: 98px;
  margin-bottom: 1.5rem;
}

.site-footer__brand p {
  max-width: 37ch;
}

.site-footer h2 {
  margin-bottom: 1.1rem;
  color: var(--ilsf-white);
  font-size: 1rem;
  letter-spacing: 0;
}

.site-footer a {
  color: var(--ilsf-white);
  text-decoration: none;
}

.site-footer a:hover {
  color: var(--ilsf-yellow);
}

.footer-menu li,
.site-footer .menu li {
  margin-bottom: 0.5rem;
}

.site-footer__social-heading {
  margin-top: 2rem;
}

.footer-social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 0;
  margin: 0;
  list-style: none;
}

.footer-social a {
  font-size: 0.82rem;
  font-weight: 750;
}

.site-footer__legal {
  border-top: 1px solid rgba(255, 255, 255, 0.13);
}

.site-footer__legal .shell {
  display: flex;
  min-height: 76px;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
}

.site-footer__legal p {
  margin: 0;
  font-size: 0.8rem;
}

@media (max-width: 1100px) {
  .site-header__nav-inner {
    gap: 1rem;
  }

  .primary-navigation > .menu {
    gap: 0.85rem;
  }

  .primary-navigation a {
    font-size: 0.82rem;
  }

  .event-grid {
    grid-template-columns: 1fr 1fr;
  }

  .event-card--featured {
    grid-column: 1 / -1;
  }
}

@media (max-width: 980px) {
  body.admin-bar .site-header {
    top: 46px;
  }

  .site-header__brand {
    min-height: 86px;
    justify-content: space-between;
    padding-block: 0.5rem;
  }

  .site-logo {
    width: 67px;
    height: 67px;
  }

  .menu-toggle {
    display: inline-flex;
  }

  .site-header__nav-wrap {
    display: none;
    border-top-color: rgba(255, 255, 255, 0.18);
  }

  .site-header.is-menu-open .site-header__nav-wrap {
    display: block;
  }

  .site-header__nav-inner {
    display: block;
    padding-block: 0.75rem 1.25rem;
  }

  .primary-navigation > .menu {
    display: block;
  }

  .primary-navigation a {
    min-height: 48px;
    padding-inline: 0.35rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
    font-size: 1rem;
  }

  .primary-navigation .sub-menu {
    position: static;
    display: block;
    padding: 0 0 0.5rem 1rem;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .primary-navigation .sub-menu a {
    color: rgba(255, 255, 255, 0.82);
  }

  .primary-navigation .sub-menu a:hover {
    background: transparent;
    color: var(--ilsf-yellow);
  }

  .site-header__member-link {
    width: 100%;
    margin: 1rem 0 0;
  }

  .hero {
    min-height: 720px;
    align-items: end;
    background-position: 62% center;
  }

  .hero__shade {
    background: linear-gradient(0deg, rgba(3, 47, 84, 0.55), transparent 58%);
  }

  .hero__inner {
    align-items: flex-end;
    padding-block: 3rem;
  }

  .hero__card {
    width: min(650px, 90%);
  }

  .impact__grid {
    grid-template-columns: 1fr 1fr;
  }

  .impact__item:nth-child(3) {
    border-left: 0;
  }

  .impact__item:nth-child(n + 3) {
    border-top: 1px solid rgba(255, 255, 255, 0.2);
  }

  .mission-grid,
  .olympic__inner {
    grid-template-columns: 1fr;
  }

  .mission-card {
    min-height: 420px;
  }

  .mission-card--image {
    min-height: 640px;
  }

  .partners__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .event-feature {
    grid-template-columns: 1fr;
  }

  .event-feature--reverse .event-feature__image {
    order: initial;
  }

  .event-feature__image {
    min-height: auto;
    aspect-ratio: 16 / 10;
  }

  .olympic__mark {
    width: min(320px, 75vw);
    justify-self: start;
  }

  .post-grid {
    grid-template-columns: 1fr 1fr;
  }

  .post-card:last-child {
    grid-column: 1 / -1;
  }

  .get-involved__inner {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .get-involved__actions {
    max-width: 280px;
  }

  .site-footer__grid {
    grid-template-columns: 1fr 1fr;
  }

  .site-footer__brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 680px) {
  .shell {
    width: min(calc(100% - 2rem), var(--ilsf-shell));
  }

  h1 {
    font-size: clamp(2.45rem, 13vw, 4.2rem);
  }

  h2 {
    font-size: clamp(2rem, 10vw, 3.15rem);
  }

  .hero {
    min-height: 690px;
    background-position: 66% center;
  }

  .hero__inner {
    padding-block: 2rem;
  }

  .hero__card {
    width: 100%;
    padding: 1.65rem;
    border-top-width: 7px;
  }

  .hero__card h1 {
    font-size: clamp(2.45rem, 12vw, 3.8rem);
    letter-spacing: -0.055em;
  }

  .hero__card h1 span,
  .hero__card h1 strong {
    white-space: normal;
  }

  .hero__intro {
    font-size: 0.97rem;
  }

  .button-group {
    display: grid;
    grid-template-columns: 1fr;
  }

  .button-group .button {
    width: 100%;
  }

  .impact {
    padding-block: 3rem;
  }

  .impact__grid {
    grid-template-columns: 1fr;
  }

  .impact__item,
  .impact__item:nth-child(3) {
    min-height: 115px;
    padding-inline: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    border-left: 0;
  }

  .impact__item:first-child {
    border-top: 0;
  }

  .split-heading,
  .section-heading {
    grid-template-columns: 1fr;
    align-items: start;
    gap: 1rem;
  }

  .mission-card {
    min-height: 450px;
    padding: 1.6rem;
  }

  .mission-card--image {
    min-height: 660px;
  }

  .recognition__intro {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .recognition__intro img,
  .recognition__intro p {
    margin-inline: auto;
  }

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

  .event-grid,
  .post-grid,
  .community-grid,
  .site-footer__grid {
    grid-template-columns: 1fr;
  }

  .event-card--featured,
  .post-card:last-child,
  .site-footer__brand {
    grid-column: auto;
  }

  .event-card {
    min-height: 340px;
  }

  .site-footer__grid {
    padding-block: 4rem;
  }

  .site-footer__legal .shell {
    min-height: 100px;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 0.3rem;
  }

  .entry-content > .alignwide {
    width: calc(100vw - 2rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* Faithful composition of the approved Kinsta homepage. */
.button > span {
  margin-left: 0.55rem;
  color: var(--ilsf-red);
  font-size: 1.35em;
  line-height: 0;
}

.button--light {
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
}

.button--light:hover {
  background: var(--ilsf-yellow);
  color: var(--ilsf-ocean-deep);
}

.site-header__nav-wrap {
  background: var(--ilsf-ocean);
}

.primary-navigation .menu-item-has-children > a::after,
.site-header__member-link::after {
  margin-left: 0.4rem;
  color: currentColor;
  content: "⌄";
  font-size: 0.8em;
}

.hero {
  min-height: clamp(570px, 55vw, 700px);
  place-items: center;
  background-position: center;
}

.hero__video {
  position: absolute;
  z-index: -3;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero__shade {
  background: rgba(3, 47, 84, 0.08);
}

.hero__inner {
  justify-content: center;
  padding-block: 3rem;
}

.hero__card {
  width: min(500px, calc(100% - 2rem));
  padding: 2.4rem 2.8rem;
  border-top: 5px solid var(--ilsf-yellow);
  border-radius: var(--ilsf-radius);
  text-align: center;
}

.hero__card h1 {
  font-size: clamp(2.7rem, 4vw, 4rem);
  letter-spacing: -0.045em;
}

.hero__card h1 span,
.hero__card h1 strong {
  white-space: nowrap;
}

.hero__card .button-group {
  justify-content: center;
}

.impact {
  padding-block: 3.2rem 5rem;
  border-bottom: 5px solid var(--ilsf-yellow);
  background: var(--ilsf-ocean);
}

.impact__grid {
  gap: 2rem;
  border: 0;
}

.impact__item,
.impact__item:first-child,
.impact__item:nth-child(n + 3) {
  min-height: 145px;
  align-items: center;
  padding: 1.25rem;
  border: 0;
  border-top: 5px solid #4b82aa;
  border-radius: 8px;
  background: #245f8b;
  text-align: center;
}

.impact__item strong {
  font-size: clamp(2.3rem, 4vw, 3.7rem);
}

.impact__item--statement strong {
  max-width: 10ch;
  font-size: clamp(1.45rem, 2.4vw, 2.15rem);
  letter-spacing: -0.04em;
  text-transform: uppercase;
}

.site-footer__accordion-toggle {
  display: none;
}

.recognition {
  margin-top: -48px;
  padding-top: 0;
  background: var(--ilsf-white);
}

.recognition__intro {
  position: relative;
  z-index: 2;
  width: min(calc(100% - 3rem), 620px);
  grid-template-columns: 120px minmax(0, 1fr);
  gap: 1.5rem;
  padding: 1.4rem 2.2rem;
  border: 0;
  border-radius: 999px;
  background: var(--ilsf-white);
  box-shadow: 0 12px 30px rgba(3, 47, 84, 0.2);
}

.recognition__intro img {
  max-height: 70px;
}

.recognition__intro p {
  max-width: none;
  color: var(--ilsf-ocean);
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.45;
}

.partners {
  padding-top: 4rem;
}

.partners h2 {
  font-size: 1.45rem;
  text-transform: uppercase;
}

.partners__grid {
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1.35rem;
}

.partner-logo {
  min-height: 140px;
  border: 0;
  border-radius: 0;
}

.dual-mission {
  background: var(--ilsf-white);
}

.dual-mission .section-heading--centered {
  text-align: left;
}

.mission-card {
  min-height: 0;
  display: block;
  padding: 1.75rem;
  border-top: 5px solid var(--ilsf-yellow);
  border-radius: var(--ilsf-radius-small);
  background: var(--ilsf-ocean);
  color: var(--ilsf-white);
}

.mission-card::before,
.mission-card::after {
  display: none;
}

.mission-card__image {
  width: 100%;
  height: 330px;
  object-fit: cover;
}

.mission-card__content {
  max-width: none;
  padding: 1.5rem 1.1rem 0.8rem;
}

.mission-card h3 {
  color: var(--ilsf-white);
  font-size: clamp(2.2rem, 4vw, 3.6rem);
  text-transform: uppercase;
}

.mission-card p:not(.eyebrow) {
  max-width: none;
  color: rgba(255, 255, 255, 0.86);
}

.olympic {
  background: var(--ilsf-sky);
  color: var(--ilsf-ocean);
}

.olympic::before,
.olympic__rings,
.olympic__mark {
  display: none;
}

.olympic > .shell > .eyebrow {
  margin-bottom: 3rem;
}

.olympic__copy {
  max-width: 880px;
  margin-inline: auto;
  text-align: center;
}

.olympic h2 {
  color: var(--ilsf-red);
  font-size: clamp(2.25rem, 4.4vw, 4rem);
  text-transform: uppercase;
}

.olympic__copy > p:not(.eyebrow) {
  max-width: 72ch;
  margin-inline: auto;
  color: var(--ilsf-ocean);
}

.olympic__video {
  width: min(100%, 1000px);
  display: block;
  aspect-ratio: 16 / 9;
  margin: 3rem auto 2rem;
  border-radius: var(--ilsf-radius-small);
  background: var(--ilsf-ocean-deep);
}

.olympic__action {
  text-align: center;
}

.events {
  background: var(--ilsf-ocean);
}

.events .eyebrow {
  color: var(--ilsf-white);
}

.event-showcase {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2rem;
}

.event-card,
.event-card--featured,
.event-card--red {
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding: 1.6rem;
  border: 0;
  border-top: 5px solid var(--ilsf-yellow);
  border-radius: var(--ilsf-radius-small);
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
  box-shadow: none;
}

.event-card::after {
  display: none;
}

.event-card__image {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.event-card__content {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: 1.5rem 1.1rem 0.6rem;
}

.event-card__content h3,
.event-card--featured h3 {
  color: var(--ilsf-ocean);
  font-size: clamp(1.8rem, 3vw, 2.7rem);
  text-transform: uppercase;
}

.event-card__content p {
  color: var(--ilsf-ocean);
}

.event-card__content .button {
  margin-top: auto;
  align-self: flex-end;
}

.news .post-grid {
  grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
  grid-template-rows: repeat(2, minmax(0, 1fr));
  align-items: stretch;
}

.news .post-card:first-child {
  grid-row: 1 / 3;
}

.news .post-card:first-child .post-card__image,
.news .post-card:first-child .post-card__image img {
  min-height: 430px;
  height: 430px;
}

.news .post-card:not(:first-child) {
  display: grid;
  grid-template-rows: minmax(150px, 1fr) auto;
}

.news .post-card:not(:first-child) .post-card__image,
.news .post-card:not(:first-child) .post-card__image img {
  min-height: 0;
  height: 100%;
}

.news .post-card:not(:first-child) .post-card__meta,
.news .post-card:not(:first-child) .post-card__body > p:not(.post-card__meta) {
  display: none;
}

.community-card {
  border: 0;
  border-top: 5px solid var(--ilsf-yellow);
  border-radius: var(--ilsf-radius-small);
  background: var(--ilsf-sky);
}

.community-card > div {
  min-height: 225px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.community-card .text-link {
  margin-top: auto;
  align-self: center;
  padding: 0.6rem 1rem;
  border-radius: 999px;
  background: var(--ilsf-white);
}

.get-involved {
  padding-block: clamp(4rem, 7vw, 6rem);
  border-bottom: 5px solid var(--ilsf-yellow);
  background: var(--ilsf-ocean);
}

.get-involved__panel {
  padding: clamp(2.3rem, 5vw, 4rem);
  border-radius: var(--ilsf-radius-small);
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
  text-align: center;
}

.get-involved__panel h2 {
  color: var(--ilsf-red);
  font-size: clamp(2rem, 4vw, 3.4rem);
  text-transform: uppercase;
}

.get-involved__panel h3 {
  margin-bottom: 0.8rem;
  font-size: clamp(1.1rem, 2vw, 1.5rem);
}

.get-involved .get-involved__panel p:not(.eyebrow) {
  max-width: 75ch;
  margin-inline: auto;
  color: var(--ilsf-ocean);
}

@media (max-width: 959px) {
  .hero__card {
    width: min(500px, calc(100% - 2rem));
  }

  .partners__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .event-showcase {
    grid-template-columns: 1fr;
  }

  .news .post-grid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }

  .news .post-card:first-child {
    grid-row: auto;
    grid-column: 1 / -1;
  }

  .news .post-card:not(:first-child) {
    display: block;
  }

  .news .post-card:not(:first-child) .post-card__image,
  .news .post-card:not(:first-child) .post-card__image img {
    height: 220px;
  }
}

@media (max-width: 680px) {
  .hero {
    min-height: 620px;
    align-items: center;
  }

  .hero__inner {
    align-items: center;
  }

  .hero__card {
    padding: 1.75rem 1.25rem;
  }

  .hero__card h1 {
    font-size: clamp(2.35rem, 11vw, 3rem);
  }

  .hero__card h1 span,
  .hero__card h1 strong {
    white-space: nowrap;
  }

  .hero__card .button-group {
    grid-template-columns: 1fr;
  }

  .impact__grid {
    grid-template-columns: 1fr 1fr;
    gap: 0.8rem;
  }

  .impact__item,
  .impact__item:first-child,
  .impact__item:nth-child(n + 3) {
    min-height: 120px;
    padding: 0.8rem;
  }

  .impact__item strong {
    font-size: 2.15rem;
  }

  .impact__item--statement strong {
    font-size: 1.25rem;
  }

  .impact__item span {
    font-size: 0.66rem;
  }

  .recognition {
    margin-top: -38px;
  }

  .recognition__intro {
    width: calc(100% - 2rem);
    grid-template-columns: 85px minmax(0, 1fr);
    gap: 0.8rem;
    padding: 1rem 1.2rem;
    border-radius: var(--ilsf-radius);
    text-align: left;
  }

  .recognition__intro img {
    margin: 0;
  }

  .recognition__intro p {
    margin: 0;
    font-size: 0.78rem;
    text-align: left;
  }

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

  .partner-logo {
    min-height: 110px;
  }

  .mission-card {
    min-height: 0;
    padding: 1.1rem;
  }

  .mission-card__image {
    height: 240px;
  }

  .mission-card__content {
    padding: 1.3rem 0.5rem 0.5rem;
  }

  .mission-card h3 {
    font-size: 2.25rem;
  }

  .olympic > .shell > .eyebrow {
    margin-bottom: 2rem;
  }

  .olympic__video {
    margin-top: 2rem;
  }

  .event-card {
    padding: 1rem;
  }

  .news .post-grid {
    grid-template-columns: 1fr;
  }

  .news .post-card:first-child {
    grid-column: auto;
  }

  .news .post-card:first-child .post-card__image,
  .news .post-card:first-child .post-card__image img {
    min-height: 0;
    height: 260px;
  }

  .community-card > div {
    min-height: 0;
  }
}

/* Measured fidelity pass: values follow the approved Kinsta build. */
:root {
  --ilsf-radius: 20px;
  --ilsf-radius-small: 12px;
  --ilsf-shell: 1440px;
}

.shell {
  width: min(80%, var(--ilsf-shell));
}

.section {
  padding-block: 4%;
}

.site-header__brand {
  min-height: 190px;
}

.site-logo {
  width: 120px;
  height: 120px;
}

.site-header__nav-inner {
  min-height: 64px;
}

@media (min-width: 960px) {
  .site-header__brand {
    min-height: calc(120px + 4vw);
  }

  .site-header__nav-inner {
    min-height: 66px;
    align-items: flex-start;
    gap: 0;
    transform: translateY(calc(32px - 2vw));
  }

  .primary-navigation > .menu {
    gap: 0;
  }

  .primary-navigation > .menu > .menu-item {
    padding-inline: 11px;
    margin-top: 8px;
  }

  .primary-navigation > .menu > .menu-item > a {
    position: relative;
    display: block;
    min-height: 0;
    padding: 0 20px 8px 0;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: normal;
    line-height: 18px;
    transition: opacity 0.4s ease-in-out;
  }

  .site-header__member-menu {
    display: flex;
    align-items: center;
    padding-inline: 11px;
    margin-top: 8px;
  }

  .site-header__member-link {
    position: relative;
    z-index: 0;
    height: 33.5px;
    min-height: 0;
    padding: 7.5px 15px;
    border: 0;
    margin: -7.5px 0 0;
    gap: 4.5px;
    line-height: 12px;
  }

  .site-header__member-link::before {
    position: absolute;
    z-index: -1;
    inset: 0 -10px 0 0;
    border-radius: 50px;
    background: var(--ilsf-yellow);
    content: "";
  }

  .primary-navigation .menu-item-has-children > a::after,
  .site-header__member-link::after {
    position: absolute;
    top: 1px;
    right: 0;
    width: 16px;
    height: 18px;
    margin-left: 0;
    background: currentColor;
    content: "";
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 8.75px 4.5px no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 8.75px 4.5px no-repeat;
  }

  .site-header__member-link::after {
    top: 16px;
    height: 12px;
    transform: translateY(-50%);
  }
}

.primary-navigation > .menu > .menu-item > a:hover,
.primary-navigation > .menu > .menu-item:hover > a,
.primary-navigation > .menu > .menu-item:focus-within > a {
  color: var(--ilsf-white);
  opacity: 0.7;
}

.primary-navigation .sub-menu,
.site-header__member-menu .sub-menu {
  width: 240px;
  min-width: 240px;
  padding: 20px 0 20px 21px;
  border-top: 3px solid var(--ilsf-sky);
  border-radius: 12px;
  background: var(--ilsf-sky);
}

.primary-navigation .sub-menu {
  top: calc(100% - 1px);
  left: 0;
}

.primary-navigation .sub-menu > .menu-item,
.site-header__member-menu .sub-menu > li {
  display: inline-block;
  width: 200px;
}

.primary-navigation .sub-menu a,
.site-header__member-menu .sub-menu a {
  position: relative;
  display: block;
  width: 200px;
  min-height: 0;
  padding: 6px 20px;
  border-bottom: 0 solid currentColor;
  border-radius: 0;
  color: var(--ilsf-ocean);
  font-family: sans-serif;
  font-size: 15px;
  font-weight: 700;
  line-height: 18px;
  text-decoration: none;
  text-transform: uppercase;
  transition: opacity 0.4s ease-in-out;
}

.primary-navigation .sub-menu a:hover,
.primary-navigation .sub-menu a:focus-visible,
.site-header__member-menu .sub-menu a:hover,
.site-header__member-menu .sub-menu a:focus-visible {
  border-bottom: 4px solid var(--ilsf-red);
  background: var(--ilsf-sky);
  color: var(--ilsf-ocean);
  opacity: 0.7;
  transition:
    border-bottom-width 0.4s ease-in-out,
    border-bottom-color 0.4s ease-in-out,
    opacity 0.4s ease-in-out;
}

@media (min-width: 981px) {
  .site-header__member-menu .sub-menu a:hover,
  .site-header__member-menu .sub-menu a:focus-visible {
    border-bottom-color: var(--ilsf-yellow);
  }
}

.site-header__member-menu {
  position: relative;
}

.site-header__member-menu > .menu > .menu-item {
  position: relative;
  display: flex;
  align-items: center;
  list-style: none;
}

.site-header__member-menu .sub-menu {
  position: absolute;
  z-index: 20;
  top: 100%;
  right: 0;
  display: none;
  margin: 0;
  list-style: none;
  box-shadow: 0 18px 50px rgba(3, 47, 84, 0.25);
}

.site-header__member-menu:hover .sub-menu,
.site-header__member-menu:focus-within .sub-menu {
  display: block;
}

.hero {
  min-height: 704px;
}

.hero__card {
  width: min(600px, 90%);
  padding: 1rem 6rem 2rem;
  border-top-width: 6px;
}

.hero__card h1 {
  padding-block: 1.25rem;
  font-size: 4rem;
  line-height: 1.05;
}

.hero__card .button-group {
  margin-top: 0;
}

.impact {
  padding-block: 4rem calc(3rem + 4%);
  border-bottom: 0;
}

.impact__grid {
  width: 80%;
  max-width: 1400px !important;
  gap: 3%;
  margin-block-start: 0;
}

.impact .wp-block-group.is-style-ilsf-stat-card,
.impact .wp-block-group.is-style-ilsf-stat-statement-card {
  width: 100%;
  max-width: none;
  min-height: 170px;
  aspect-ratio: auto;
  padding: 1.5rem 1rem;
  border: 0;
  border-top: 8px solid rgba(255, 255, 255, 0.2);
  border-radius: 12px;
  margin: 0;
  background: rgba(255, 255, 255, 0.1);
}

.impact .wp-block-group.is-style-ilsf-stat-card .ilsf-stat-card__value {
  font-size: 48px;
}

.impact .wp-block-group.is-style-ilsf-stat-card .ilsf-stat-card__label {
  font-size: 1.5rem;
}

.impact .wp-block-group.is-style-ilsf-stat-statement-card .ilsf-stat-card__statement {
  font-size: 2rem;
}

.impact__item,
.impact__item:first-child,
.impact__item:nth-child(n + 3) {
  min-height: 170px;
  padding: 1.5rem 1rem;
  border-top-width: 8px;
  background: rgba(255, 255, 255, 0.1);
}

.impact__item strong,
.impact__item--statement strong {
  color: var(--ilsf-white);
  font-size: 48px;
}

.impact__item--statement strong {
  font-size: 2rem;
}

.impact__item--statement span {
  color: var(--ilsf-white);
}

.recognition {
  margin-top: 0;
  padding-top: 4%;
  padding-bottom: calc(4% + 3rem);
  border-top: 6px solid var(--ilsf-yellow);
  background: #f5f5f5;
}

.recognition__intro {
  width: min(80%, 700px);
  grid-template-columns: minmax(100px, 1fr) minmax(0, 3fr);
  gap: 2rem;
  padding: 2rem 4rem;
  margin-bottom: -120px;
  border-radius: 999px;
  transform: translateY(-135px);
}

.recognition__intro img {
  max-height: 76px;
}

.recognition__intro p {
  font-size: 1rem;
}

.partners {
  padding-top: 1rem;
}

.partners h2 {
  margin-bottom: 3rem;
  font-size: 1.5rem;
}

.partners__grid {
  display: flex;
  gap: 30px;
  transition-property: transform;
  transition-duration: 2000ms;
  transition-timing-function: linear;
  will-change: transform;
}

.partners__carousel {
  position: relative;
}

.partners__viewport {
  overflow: hidden;
}

.partner-logo {
  flex: 0 0 calc((100% - 150px) / 6);
  min-height: 150px;
  padding: 0;
  border: 0;
  background: var(--ilsf-white);
}

.partner-logo img {
  width: 100%;
  height: auto;
  aspect-ratio: 1000 / 739;
  object-fit: contain;
}

.dual-mission .section-heading {
  margin-bottom: 1rem;
}

.dual-mission {
  padding-block: calc(4% + 1rem);
}

.mission-grid,
.event-showcase {
  gap: 2.8%;
}

.mission-card {
  padding: 2rem 3rem 3rem;
  border-top-width: 6px;
  border-radius: 12px;
}

.mission-card__image {
  height: auto;
  aspect-ratio: 2560 / 1893;
  object-fit: cover;
}

.mission-card__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0 2rem;
}

.mission-card h3 {
  position: relative;
  margin-top: -4rem;
  margin-bottom: 1.5rem;
  color: var(--ilsf-white);
  font-size: 4rem;
  line-height: 1.05;
  text-shadow: 0 0 0.3em rgba(0, 0, 0, 0.4);
}

.mission-card p:not(.eyebrow) {
  font-size: 1rem;
}

.mission-card .button {
  align-self: flex-end;
  margin-top: 1rem;
}

.olympic__copy {
  max-width: 800px;
}

.olympic h2 {
  font-size: 4rem;
  line-height: 1.15;
}

.olympic__video {
  width: 100%;
  max-width: none;
  margin-top: 3rem;
  border-radius: 12px;
}

.events .section-heading {
  margin-bottom: 2rem;
}

.event-card,
.event-card--featured,
.event-card--red {
  padding: 2rem 3rem 3rem;
  border-top-width: 6px;
  border-radius: 12px;
}

.event-card__image {
  height: auto;
  aspect-ratio: 2560 / 1893;
}

.event-card__content {
  padding: 1.5rem 2rem 0;
}

.event-card__content h3,
.event-card--featured h3 {
  font-size: 2rem;
  line-height: 1.15;
}

.news .section-heading,
.community .section-heading {
  margin-bottom: 2rem;
}

/*
 * Homepage section labels mirror the delivered Divi build. Most labels are
 * plain 16px h3 elements. The Mission and centred Partners titles are the
 * exceptions: Divi gives them the larger, bold h3 treatment reproduced below.
 */
.ilsf-homepage-missions .section-heading,
.ilsf-homepage-events .section-heading,
.ilsf-homepage-news .section-heading,
.ilsf-homepage-community .section-heading {
  text-align: left;
}

.ilsf-homepage-missions .section-heading .eyebrow,
.ilsf-homepage-events .section-heading .eyebrow,
.ilsf-homepage-news .section-heading .eyebrow,
.ilsf-homepage-community .section-heading .eyebrow,
.olympic > .shell > .eyebrow {
  margin-top: 0;
  color: var(--ilsf-ocean);
  font-size: 1rem;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1;
  text-align: left;
}

.ilsf-homepage-events .section-heading .eyebrow {
  color: var(--ilsf-white);
}

@media (min-width: 681px) {
  .ilsf-homepage-missions .section-heading > .wp-block-group,
  .ilsf-homepage-events .section-heading > .wp-block-group,
  .ilsf-homepage-news .section-heading > .wp-block-group,
  .ilsf-homepage-community .section-heading > .wp-block-group {
    width: 100%;
    max-width: none !important;
    margin-inline: 0 !important;
  }

  .ilsf-homepage-missions .section-heading > .wp-block-group > *,
  .ilsf-homepage-events .section-heading > .wp-block-group > *,
  .ilsf-homepage-news .section-heading > .wp-block-group > *,
  .ilsf-homepage-community .section-heading > .wp-block-group > * {
    width: 100%;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .ilsf-homepage-missions .section-heading .eyebrow,
  .ilsf-homepage-events .section-heading .eyebrow,
  .ilsf-homepage-news .section-heading .eyebrow,
  .ilsf-homepage-community .section-heading .eyebrow,
  .olympic > .shell > .eyebrow {
    display: block;
    width: 100%;
    font-family: var(--ilsf-font-heading);
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
    text-align: left;
    text-transform: uppercase;
  }

  .ilsf-homepage-missions .section-heading .eyebrow,
  .ilsf-homepage-events .section-heading .eyebrow,
  .ilsf-homepage-news .section-heading .eyebrow,
  .ilsf-homepage-community .section-heading .eyebrow {
    margin: 0;
  }
}

.partners h2 {
  color: var(--ilsf-ocean);
  font-family: var(--ilsf-font-heading);
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
}

.news,
.community {
  padding-block: calc(4% + 1.25rem);
}

/* Do not double the full section spacing where homepage News hands directly
   into Community. The cards and headings retain their internal rhythm. */
.ilsf-homepage-news {
  padding-bottom: 2rem;
}

.ilsf-homepage-news + .ilsf-homepage-community {
  padding-top: 2rem;
}

.news .post-grid {
  grid-template-columns: minmax(0, 2.2fr) minmax(260px, 1fr);
  gap: 5.5%;
}

.news .post-card {
  border-radius: 20px;
  background: #f5f5f5;
}

.news .post-card:first-child .post-card__image,
.news .post-card:first-child .post-card__image img {
  min-height: 0;
  height: auto;
  aspect-ratio: 8 / 5;
}

.news .post-card h3 {
  font-size: 1.5rem;
  line-height: 1.15;
  text-transform: uppercase;
}

.news__all {
  display: flex;
  justify-content: flex-end;
  margin-top: 1.5rem;
}

.news__all .button {
  width: 29.6%;
}

.community-grid {
  gap: 2.8%;
}

.community-card {
  padding: 2rem 2rem 3rem;
  border-top-width: 6px;
  border-radius: 12px;
}

.community-card > img {
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
}

.community-card > div {
  min-height: 255px;
  padding: 1rem 0 0;
}

.community-card h3 {
  font-size: 1.5rem;
  line-height: 1.15;
  text-transform: uppercase;
}

.get-involved {
  padding-block: 2.25rem;
  border-bottom-width: 0;
}

.get-involved__panel {
  padding: 2.5rem 2rem 3rem;
  border-radius: 12px;
}

.get-involved__panel h2 {
  font-size: 3rem;
}

.get-involved__panel h3,
.get-involved .get-involved__panel p:not(.eyebrow) {
  max-width: 800px;
  margin-inline: auto;
}

/* Reusable CTA button. The surrounding layout uses native block settings. */
.wp-block-button.ilsf-cta-button .wp-block-button__link,
.wp-block-button.ilsf-cta-panel__button .wp-block-button__link {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0.7rem 1.35rem;
  border: 2px solid transparent;
  border-radius: 999px;
  background: var(--ilsf-ocean);
  box-shadow: 0 0 0 var(--ilsf-yellow);
  color: var(--ilsf-white);
  font-size: 0.94rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  transition: background-color 180ms ease, box-shadow 180ms ease, color 180ms ease, transform 180ms ease;
}

.wp-block-button.ilsf-cta-button .wp-block-button__link::after,
.wp-block-button.ilsf-cta-panel__button .wp-block-button__link::after {
  margin-left: 0.55rem;
  color: var(--ilsf-red);
  content: "›";
  font-size: 1.35em;
  line-height: 0;
}

.wp-block-button.ilsf-cta-button .wp-block-button__link:hover,
.wp-block-button.ilsf-cta-button .wp-block-button__link:focus-visible,
.wp-block-button.ilsf-cta-panel__button .wp-block-button__link:hover,
.wp-block-button.ilsf-cta-panel__button .wp-block-button__link:focus-visible {
  background: var(--ilsf-ocean-deep);
  box-shadow: 0 5px 0 var(--ilsf-yellow);
  color: var(--ilsf-white);
  transform: translateY(-2px);
}

/* Light CTA variant for Ocean and other dark panels. It intentionally keeps
 * every measurement and interaction from the standard CTA above. */
.wp-block-button.ilsf-cta-button--light .wp-block-button__link {
  background: var(--ilsf-white);
  color: var(--ilsf-ocean);
}

.wp-block-button.ilsf-cta-button--light .wp-block-button__link:hover,
.wp-block-button.ilsf-cta-button--light .wp-block-button__link:focus-visible {
  background: var(--ilsf-white);
  color: var(--ilsf-ocean-deep);
}

/* Match the pattern's yellow hover edge on the existing PHP homepage CTA. */
.get-involved__panel .button--primary:hover,
.get-involved__panel .button--primary:focus-visible {
  box-shadow: 0 5px 0 var(--ilsf-yellow);
}

.site-footer {
  background: var(--ilsf-ocean);
}

.site-footer__accent {
  height: 6px;
  background: var(--ilsf-yellow);
}

.site-footer__grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5.5%;
  padding-block: 6.5rem;
}

.site-footer__logo {
  display: block;
  width: fit-content;
}

.site-footer__logo.is-footer-reveal-ready,
.footer-social.is-footer-reveal-ready {
  opacity: 0;
  transition: opacity 700ms ease-in-out, transform 700ms ease-in-out;
}

.site-footer__logo.is-footer-reveal-ready {
  transform: translate3d(-100%, 0, 0);
}

.footer-social.is-footer-reveal-ready {
  transform: translate3d(100%, 0, 0);
}

.site-footer__logo.is-footer-reveal-visible,
.footer-social.is-footer-reveal-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

.site-footer__brand .site-footer__logo-image {
  width: 140px;
  height: 140px;
  margin-bottom: 2.5rem;
  object-fit: contain;
}

.site-footer h2 {
  margin-bottom: 1.25rem;
  color: var(--ilsf-white);
  font-family: var(--ilsf-font-heading);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.15;
  text-transform: uppercase;
}

.site-footer h2 a,
.site-footer h2 a:hover {
  color: inherit;
}

.footer-menu li,
.site-footer .menu li {
  margin-bottom: 20px;
}

.footer-menu a,
.site-footer .menu a {
  color: var(--ilsf-sky);
  font-family: var(--ilsf-font-heading);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.15;
}

.footer-social a {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--ilsf-red);
  color: var(--ilsf-white);
  font-size: 0;
}

.footer-social svg {
  width: 16px;
  height: 16px;
  fill: currentColor;
}

.site-footer__legal {
  border-top: 0;
  background: var(--ilsf-sky);
  color: var(--ilsf-ocean);
}

.site-footer__legal .shell {
  justify-content: center;
  gap: 0;
  min-height: 40px;
  text-align: center;
}

.site-footer__legal a {
  color: var(--ilsf-ocean);
}

.site-footer__legal p {
  font-size: 14px;
}

/* Divi Supreme uses six, three and two centred slides at these breakpoints. */
@media (max-width: 980px) {
  .partner-logo {
    flex-basis: calc((100% - 60px) / 3);
  }
}

@media (max-width: 959px) {
  .shell {
    width: 90%;
  }

  .site-header__brand {
    min-height: 112px;
  }

  .site-logo {
    width: 80px;
    height: 80px;
  }

  .primary-navigation .sub-menu {
    padding-left: 1rem;
    background: transparent;
  }

  .primary-navigation .sub-menu a {
    color: rgba(255, 255, 255, 0.86);
  }

  .site-header__member-menu .sub-menu {
    position: static;
    display: block;
    background: transparent;
    box-shadow: none;
  }

  .site-header__member-menu .sub-menu a {
    color: rgba(255, 255, 255, 0.86);
  }

  .partner-logo {
    flex-basis: calc((100% - 60px) / 3);
  }

  .hero {
    min-height: 0;
    padding-block: 6rem;
  }

  .hero__card {
    width: min(500px, 90%);
  }

  .section {
    padding-block: 3.5rem;
  }

  .mission-card h3 {
    font-size: 3.25rem;
  }

  .olympic h2 {
    font-size: 3.25rem;
  }

  .event-card__content h3,
  .event-card--featured h3 {
    font-size: 2rem;
  }

  .site-footer__grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767px) {
  .partner-logo {
    flex-basis: calc((100% - 30px) / 2);
  }
}

@media (max-width: 680px) {
  .site-header__brand {
    min-height: 88px;
  }

  .site-logo {
    width: 64px;
    height: 64px;
  }

  .hero {
    min-height: 0;
    padding-block: 3rem 6rem;
  }

  .hero__inner {
    padding-block: 0;
  }

  .hero__card {
    width: 90%;
    padding: 1rem 1rem 2rem;
    border-top-width: 6px;
  }

  .hero__card h1 {
    padding-block: 0.75rem 1.25rem;
    font-size: 2.5rem;
    line-height: 1.05;
  }

  .hero__card h1 span,
  .hero__card h1 strong {
    white-space: normal;
  }

  .impact {
    padding-block: 2rem;
  }

  .impact__grid {
    width: min(calc(100% - 2rem), 1400px);
    gap: 0.8rem;
  }

  .impact .wp-block-group.is-style-ilsf-stat-card,
  .impact .wp-block-group.is-style-ilsf-stat-statement-card {
    min-height: 120px;
    padding: 1rem 0.6rem;
  }

  .impact .wp-block-group.is-style-ilsf-stat-card .ilsf-stat-card__value {
    font-size: 2.35rem;
  }

  .impact .wp-block-group.is-style-ilsf-stat-card .ilsf-stat-card__label {
    margin-top: 0.65rem;
    font-size: 0.75rem;
  }

  .impact .wp-block-group.is-style-ilsf-stat-statement-card .ilsf-stat-card__statement {
    font-size: 1.25rem;
  }

  .impact__item,
  .impact__item:first-child,
  .impact__item:nth-child(n + 3) {
    min-height: 120px;
    padding: 1rem 0.6rem;
    border-top-width: 8px;
  }

  .impact__item strong {
    font-size: 2.35rem;
  }

  .impact__item--statement strong {
    font-size: 1.25rem;
  }

  .recognition__intro {
    width: 90%;
    grid-template-columns: 80px minmax(0, 1fr);
    gap: 1rem;
    padding: 1rem 2rem;
    margin-bottom: -70px;
    border-radius: 40px;
    transform: translateY(-82px);
  }

  .recognition__intro p {
    font-size: 0.72rem;
  }

  .partners {
    width: 100%;
    padding-top: 3rem;
  }

  .partners h2 {
    width: 90%;
    margin-bottom: 2rem;
    margin-inline: auto;
    font-size: 1rem;
  }

  .partners__grid {
    display: flex;
    gap: 30px;
  }

  .partner-logo {
    flex-basis: calc((100% - 30px) / 2);
    min-height: 120px;
  }

  .dual-mission .section-heading {
    margin-bottom: 1rem;
  }

  .mission-grid,
  .event-showcase {
    gap: 2rem;
  }

  .mission-card,
  .event-card,
  .event-card--featured,
  .event-card--red {
    padding: 1rem 1rem 2rem;
    border-top-width: 6px;
  }

  .mission-card__content,
  .event-card__content {
    padding-inline: 1rem;
  }

  .mission-card h3 {
    margin-top: -3rem;
    font-size: 2.5rem;
  }

  .mission-card .button {
    align-self: center;
  }

  .olympic h2 {
    font-size: 2.5rem;
  }

  .event-card__content h3,
  .event-card--featured h3 {
    font-size: 2rem;
  }

  .news .post-grid {
    gap: 1.5rem;
  }

  .news .post-card:first-child .post-card__image,
  .news .post-card:first-child .post-card__image img {
    height: auto;
    aspect-ratio: 8 / 5;
  }

  .news__all .button {
    width: 100%;
  }

  .community-grid {
    gap: 1.5rem;
  }

  .community-card {
    padding: 1rem 1rem 2rem;
  }

  .community-card > div {
    min-height: 0;
  }

  .get-involved__panel {
    padding: 2rem 1rem;
  }

  .get-involved__panel h2 {
    font-size: 2rem;
  }

  .site-footer__grid {
    grid-template-columns: 1fr;
    gap: 0;
    padding-block: 3rem;
  }

  .site-footer__brand .site-footer__logo-image {
    width: 112px;
    height: 112px;
    margin-bottom: 2rem;
    margin-inline: auto;
  }

  .site-footer__logo {
    margin-inline: auto;
  }

  .site-footer__menu-heading {
    padding: 0;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
    margin: 0;
  }

  .site-footer__column:nth-child(4) .site-footer__menu-heading {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  }

  .site-footer__menu-title {
    display: none;
  }

  .site-footer__accordion-toggle {
    box-sizing: border-box;
    display: flex;
    width: 100%;
    min-height: 60px;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    padding: 17px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--ilsf-white);
    font: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    text-align: left;
    text-transform: inherit;
    cursor: pointer;
  }

  .site-footer__accordion-toggle:hover,
  .site-footer__accordion-toggle:focus-visible {
    background: transparent;
    color: var(--ilsf-yellow);
  }

  .site-footer__accordion-toggle svg {
    width: 16px;
    height: 10px;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2;
    transition: transform 180ms ease;
  }

  .site-footer__accordion-toggle[aria-expanded="true"] svg {
    transform: rotate(180deg);
  }

  .site-footer .footer-menu {
    padding: 0.35rem 0 1.4rem;
    margin: 0;
    text-align: left;
  }

  .site-footer .footer-menu[hidden] {
    display: none;
  }

  .site-footer .footer-menu li {
    margin: 0;
  }

  .site-footer .footer-menu a {
    display: block;
    padding: 0.5rem 0;
    font-size: 16px;
    line-height: 1.35;
  }

  .site-footer__social-heading {
    margin: 2.5rem 0 1.25rem;
    text-align: center;
  }

  .footer-social {
    justify-content: center;
  }

  .site-footer__legal .shell {
    min-height: 72px;
    align-items: center;
    text-align: center;
  }
}

/* Mobile header fidelity: mirrors the approved Divi menu without depending on Divi. */
@media (max-width: 980px) {
  .site-header {
    min-height: 244px;
  }

  .site-header__brand.shell {
    position: relative;
    display: block;
    width: 95%;
    min-height: 244px;
    padding: 0;
  }

  .site-logo {
    position: absolute;
    top: 30px;
    left: 50%;
    width: 120px;
    height: 120px;
    transform: translateX(-50%);
  }

  .site-logo:hover {
    transform: translateX(-50%);
  }

  .menu-toggle {
    position: absolute;
    top: 184px;
    left: 50%;
    display: block;
    width: 40px;
    min-height: 32px;
    padding: 7px 10px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--ilsf-sky);
    transform: translateX(-50%);
    z-index: 101;
  }

  .site-header.is-menu-open .menu-toggle {
    top: 177.5px;
  }

  .site-header.is-menu-open,
  .site-header.is-menu-open .site-header__brand.shell {
    min-height: 237.5px;
  }

  .site-header.is-menu-open .site-logo {
    top: 24px;
  }

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

  .menu-toggle__icon {
    display: grid;
    width: 20px;
    gap: 4px;
  }

  .menu-toggle__icon span {
    height: 2px;
    background: var(--ilsf-sky);
  }

  .site-header__nav-wrap {
    position: absolute;
    z-index: 100;
    top: 207px;
    left: 2.5%;
    display: none;
    width: 95%;
    border-top: 3px solid var(--ilsf-red);
    background: var(--ilsf-ocean);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
  }

  .site-header.is-menu-open .site-header__nav-wrap {
    display: block;
  }

  .site-header__nav-inner.shell {
    display: block;
    width: 100%;
    min-height: 0;
    padding: 41px 5% 5%;
    background: var(--ilsf-ocean);
    gap: 0;
    transform: none;
  }

  .primary-navigation > .menu,
  .site-header__member-menu > .menu {
    display: block;
  }

  .primary-navigation .menu-item,
  .site-header__member-menu .menu-item {
    position: static;
  }

  .primary-navigation > .menu > .menu-item {
    padding: 0;
    margin: 0;
  }

  .primary-navigation a,
  .site-header__member-menu a,
  .primary-navigation .sub-menu a,
  .site-header__member-menu .sub-menu a {
    box-sizing: border-box;
    display: block;
    width: 100%;
    min-height: 0;
    padding: 10px 5%;
    border: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.03);
    border-radius: 0;
    color: var(--ilsf-white);
    font-family: sans-serif;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    text-transform: uppercase;
    transition: opacity 0.2s ease-in-out, background-color 0.2s ease-in-out;
  }

  .primary-navigation > .menu > .menu-item > a,
  .site-header__member-menu > .menu > .menu-item > a,
  .site-header__member-link {
    width: 100%;
    min-height: 0;
    padding: 10px 5%;
    margin: 0;
    background: rgba(0, 0, 0, 0.03);
    color: var(--ilsf-white);
    line-height: 18px;
  }

  .primary-navigation .sub-menu,
  .site-header__member-menu .sub-menu {
    position: static;
    display: block;
    width: auto;
    min-width: 0;
    padding: 0 0 0 23px;
    border: 0;
    border-radius: 0;
    margin: 0;
    background: transparent;
    box-shadow: none;
  }

  .primary-navigation .sub-menu > .menu-item,
  .site-header__member-menu .sub-menu > .menu-item {
    display: block;
    width: auto;
    padding-left: 5%;
  }

  .primary-navigation .sub-menu a,
  .site-header__member-menu .sub-menu a {
    color: var(--ilsf-white);
  }

  .primary-navigation a:hover,
  .primary-navigation a:focus-visible,
  .primary-navigation .sub-menu a:hover,
  .primary-navigation .sub-menu a:focus-visible,
  .site-header__member-menu a:hover,
  .site-header__member-menu a:focus-visible {
    border-bottom: 4px solid var(--ilsf-red);
    background: var(--ilsf-sky);
    color: var(--ilsf-ocean);
    opacity: 1;
  }

  /* Override the desktop parent-link fade so mobile parents remain legible. */
  .primary-navigation > .menu > .menu-item > a:hover,
  .primary-navigation > .menu > .menu-item > a:focus-visible,
  .primary-navigation > .menu > .menu-item:hover > a,
  .primary-navigation > .menu > .menu-item:focus-within > a,
  .site-header__member-menu > .menu > .menu-item > a:hover,
  .site-header__member-menu > .menu > .menu-item > a:focus-visible,
  .site-header__member-menu > .menu > .menu-item:hover > a,
  .site-header__member-menu > .menu > .menu-item:focus-within > a {
    border-bottom: 4px solid var(--ilsf-red);
    background: var(--ilsf-sky);
    color: var(--ilsf-ocean);
    opacity: 1;
  }

  .site-header__member-menu {
    position: static;
    display: block;
    padding: 0;
    margin: 0;
  }

  .site-header__member-menu > .menu > .menu-item {
    display: block;
  }

  .site-header__member-link {
    height: auto;
    gap: 0;
    justify-content: flex-start;
    text-align: left;
  }

  .site-header__member-menu > .menu > .menu-item > a:hover,
  .site-header__member-menu > .menu > .menu-item > a:focus-visible,
  .site-header__member-menu > .menu > .menu-item:hover > a,
  .site-header__member-menu > .menu > .menu-item:focus-within > a,
  .site-header__member-menu .sub-menu a:hover,
  .site-header__member-menu .sub-menu a:focus-visible {
    border-bottom-color: var(--ilsf-yellow);
  }

  .site-header__member-link::before,
  .site-header__member-link::after,
  .primary-navigation .menu-item-has-children > a::after {
    content: none;
  }
}

/* Final type specimens intentionally override the shared small-heading rule. */
.standard-page__content .style-guide-display-heading {
  margin: 0;
  color: var(--ilsf-ocean);
  font-family: "interstate", sans-serif;
  font-size: 5rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: -1px;
  text-transform: uppercase;
  text-wrap: balance;
}

@media (max-width: 680px) {
  .standard-page__content .style-guide-display-heading {
    font-size: 3rem;
  }
}

/* The component catalogue uses Kinsta's standard 80% / 1400px row canvas. */
.standard-page--style-guide .standard-page__content.shell--content {
  width: var(--ilsf-page-canvas);
  max-width: var(--ilsf-wide-content);
}

.standard-page--style-guide .standard-page__content > * {
  max-width: none;
}

.standard-page--style-guide .standard-page__content > .style-guide-intro,
.standard-page--style-guide .style-guide-section > h2,
.standard-page--style-guide .style-guide-section > p,
.standard-page--style-guide .style-guide-heading-sample,
.standard-page--style-guide .style-guide-section > .wp-block-buttons {
  width: 100%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

.standard-page--style-guide .style-guide-section > .style-guide-swatches,
.standard-page--style-guide .style-guide-section > .style-guide-component-grid,
.standard-page--style-guide .style-guide-section > .style-guide-card-grid {
  width: 100%;
  max-width: none;
}

.standard-page--style-guide .style-guide-section > .wp-block-columns,
.standard-page--style-guide .style-guide-section > .wp-block-quote,
.standard-page--style-guide .style-guide-section > .wp-block-table,
.standard-page--style-guide .style-guide-section > .wp-block-image {
  width: 100%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 980px) {
  .standard-page--style-guide .standard-page__content.shell--content {
    width: 90%;
  }
}

.standard-page__content h4 {
  font-size: 1.3rem;
}

.standard-page__content h5 {
  font-size: 1.05rem;
}

.standard-page__content h6 {
  font-size: 0.82rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}
